Browse Source

Merge branch 'develop' of http://132.232.206.88:3000/lift-manager/lift-server into feature-bieao

别傲 5 years ago
parent
commit
3c359f8786

+ 19 - 15
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectLiftRelevanceService.java

@@ -1,11 +1,11 @@
 package cn.com.ty.lift.business.project.service;
 
 import cn.com.ty.lift.business.capital.dao.mapper.CommonMapper;
+import cn.com.ty.lift.business.framework.BusinessBasicException;
 import cn.com.ty.lift.business.framework.util.MessageUtils;
 import cn.com.ty.lift.business.library.dao.entity.Lift;
 import cn.com.ty.lift.business.library.dao.entity.model.request.LiftRequest;
 import cn.com.ty.lift.business.library.service.LiftService;
-import cn.com.ty.lift.business.library.service.PlatformCompanyLiftRelevanceService;
 import cn.com.ty.lift.business.maintenance.dao.entity.MaintenancePlan;
 import cn.com.ty.lift.business.maintenance.service.MaintenancePlanService;
 import cn.com.ty.lift.business.project.dao.entity.ProjectLiftRelevance;
@@ -29,6 +29,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.jms.core.JmsMessagingTemplate;
 import org.springframework.stereotype.Service;
@@ -304,23 +305,26 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
     @Transactional(rollbackFor = Exception.class)
     public RestResponse batchModify(ProjectRequest request) {
         Long newWorkerId = request.getWorkerId();
-        List<ProjectLiftRelevance> list = request.getList();
-        list.forEach(entry -> entry.setWorkerId(request.getWorkerId()));
-        boolean result = updateBatchById(list);
+        //获取项目电梯关联信息
+        List<ProjectLiftRelevance> projectLiftRelevances = request.getList();
+        projectLiftRelevances.forEach(entry -> entry.setWorkerId(request.getWorkerId()));
+        boolean result = this.updateBatchById(projectLiftRelevances);
         if (!result) return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
-        for (ProjectLiftRelevance entry : list) {
+        for (ProjectLiftRelevance entry : projectLiftRelevances) {
             sendMessage(entry.getProjectId(), entry.getMtCompanyId(), entry.getLiftId(), entry.getWorkerId(), newWorkerId);
         }
         //查询未完成的维保任务
-        List<Long> liftIdList = list.stream().map(ProjectLiftRelevance::getLiftId).collect(Collectors.toList());
+        List<Long> liftIdList = projectLiftRelevances.stream().map(ProjectLiftRelevance::getLiftId).collect(Collectors.toList());
         if (CollUtil.isNotEmpty(liftIdList)) {
             List<MaintenancePlan> planList = maintenancePlanService.getPlanList(request.getMtCompanyId(), liftIdList);
             //修改未完成的维保计划为新的维保负责人
             planList.forEach(entry -> entry.setWorkerId(newWorkerId));
-            boolean planResult = maintenancePlanService.updateBatchById(planList);
-            if (!planResult) {
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+            if (planList.size() > 0) {
+                boolean planResult = maintenancePlanService.updateBatchById(planList);
+                if (!planResult) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+                }
             }
         }
         return RestResponse.success(null, MessageUtils.get("msg.modify.success"));
@@ -351,9 +355,9 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
     }
 
     /**
-     * @param projectId 项目id
+     * @param projectId   项目id
      * @param mtCompanyId 公司id
-     * @param userList 维保工列表
+     * @param userList    维保工列表
      * @return 关联电梯列表
      * @description 根据项目id和公司id,维保工列表查询关联电梯列表
      * @date 2020/6/15 11:19 上午
@@ -410,10 +414,10 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
             return RestResponse.fail("用户存在关联电梯,无法取消");
         }
         boolean removeFlag = projectUserService.remove(new QueryWrapper<ProjectUser>()
-              .eq("project_id", request.getProjectId())
-              .eq("user_id", request.getWorkerId())
+                .eq("project_id", request.getProjectId())
+                .eq("user_id", request.getWorkerId())
         );
-        if(!removeFlag) {
+        if (!removeFlag) {
             return RestResponse.fail("取消关联失败");
         }
         return RestResponse.success(ApiConstants.RESULT_SUCCESS, "操作成功");

+ 1 - 0
lift-common/src/main/java/cn.com.ty.lift.common/constants/SqlConstants.java

@@ -147,6 +147,7 @@ public interface SqlConstants {
                     "     , r.province_code provinceCode" +
                     "     , r.clerk         clerk" +
                     "     , r.mt_company_id mtCompanyId" +
+                    "     , r.user_id       userId" +
                     "     , ui.name         name" +
                     "     , r.id            id" +
                     "   from region r" +

+ 1 - 0
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/region/dao/entity/model/RegionResponse.java

@@ -12,6 +12,7 @@ public class RegionResponse {
     private String provinceCode;
     private String clerk;
     private Long mtCompanyId;
+    private Long userId;
     private String name;
     private String provinceName;
     private String cityName;

+ 5 - 1
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/region/service/impl/RegionServiceImpl.java

@@ -18,6 +18,7 @@ import org.springframework.jms.core.JmsMessagingTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -181,10 +182,13 @@ public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> impleme
     @Transactional(rollbackFor = Exception.class)
     public RestResponse<?> updateByRegionId(Region region) {
         Region byId = this.getById(region);
+        region.setUpdateTime(LocalDateTime.now());
         //如果区域主管更改了,发推送消息,修改project_user表内的区域主管信息
         if (!byId.getUserId().equals(region.getUserId())) {
             List<Long> projects = baseMapper.selectProjectIdByRegionDirectorId(byId.getUserId(), byId.getMtCompanyId());
-            baseMapper.updateRegionDirector(projects, region.getUserId(), byId.getMtCompanyId());
+            if (projects != null && projects.size() > 0) {
+                baseMapper.updateRegionDirector(projects, region.getUserId(), byId.getMtCompanyId());
+            }
             String oldUser = baseMapper.selectNameByUserId(byId.getUserId());
             String newUser = baseMapper.selectNameByUserId(region.getUserId());
             String areaName = byId.getAreaName();

+ 24 - 7
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/MtCompanyUserService.java

@@ -71,18 +71,35 @@ public class MtCompanyUserService extends ServiceImpl<MtCompanyUserMapper, MtCom
     public RestResponse assignRole(MtCompanyUserRequest mtCompanyUserRequest) {
         //获取用户是否已有mtCompanyUser信息。
         MtCompanyUser mtCompanyUser = this.getById(mtCompanyUserRequest.getId());
-        //保存职业信息
-        mtCompanyUser.setJob(mtCompanyUserRequest.getJob());
-        this.updateById(mtCompanyUser);
         //保存用户角色关联信息
         Long roleId = mtCompanyUserRequest.getRoleId();
         Long userId = mtCompanyUser.getUserId();
         Long companyId = mtCompanyUser.getMtCompanyId();
+        //获取用户原来关联的角色信息
+        UserRole userRole = userRoleService.getOne(new QueryWrapper<UserRole>()
+                .eq("company_id", companyId)
+                .eq("user_id", userId)
+        );
+        if (userRole != null) {
+            //获取用户的角色信息
+            Role role = roleService.getById(userRole.getRoleId());
+            if (role != null) {
+                //若角色为区域主管,判断角色是否有关联的信息
+                if (CommonEnum.DefaultRole.REGION_DIRECTOR.getCode().equals(role.getCode())) {
+                    Map<String, String> judgeMsg = projectService.judgeKickOutTeam(new ProjectUser(userId, companyId));
+                    if (ApiConstants.RESULT_ERROR.equals(judgeMsg.get(CommonConstants.RETURN_CODE_FIELD))) {
+                        return RestResponse.fail(ApiConstants.RESULT_ERROR, "区域主管存在关联项目无法更改角色信息");
+                    }
+                }
+            }
+        }
+        //保存职业信息
+        mtCompanyUser.setJob(mtCompanyUserRequest.getJob());
+        if (!this.updateById(mtCompanyUser)) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return RestResponse.fail(ApiConstants.RESULT_ERROR, "更新职业信息失败");
+        }
         if (roleId != null) {
-            UserRole userRole = userRoleService.getOne(new QueryWrapper<UserRole>()
-                    .eq("company_id", companyId)
-                    .eq("user_id", userId)
-            );
             if (userRole != null) {
                 //删除原有的关联关系
                 boolean deleteUserRoleFlag = userRoleService.removeById(userRole.getId());

+ 12 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/ProjectService.java

@@ -78,7 +78,18 @@ public class ProjectService implements IProjectService {
 
     @Override
     public List<ProjectUser> getProjectUserList(PropertyUserRequest propertyUserRequest) {
-        return userAccountMapper.getProjectUserList(propertyUserRequest);
+        PropertyUserRequest queryPropertyUserRequest = new PropertyUserRequest();
+        queryPropertyUserRequest.setCompanyId(propertyUserRequest.getCompanyId());
+        queryPropertyUserRequest.setProjectId(propertyUserRequest.getProjectId());
+        queryPropertyUserRequest.setUserId(propertyUserRequest.getUserId());
+        queryPropertyUserRequest.setQueryCondition(propertyUserRequest.getQueryCondition());
+        queryPropertyUserRequest.setUserIdList(propertyUserRequest.getUserIdList());
+        queryPropertyUserRequest.setPageSize(propertyUserRequest.getPageSize());
+        long pageNum = propertyUserRequest.getPageNum();
+        if (pageNum > 0) {
+            queryPropertyUserRequest.setPageNum(pageNum - 1);
+        }
+        return userAccountMapper.getProjectUserList(queryPropertyUserRequest);
     }
 
     @Override

+ 4 - 4
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/PropertyUserService.java

@@ -16,6 +16,7 @@ import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author huangyuan
@@ -47,11 +48,10 @@ public class PropertyUserService implements IPropertyUserService {
         IPage propertyUserPage = new Page(propertyUserRequest.getPageNum(), propertyUserRequest.getPageSize());
         if (projectUserList != null && projectUserList.size() > 0) {
             //获取用户信息
-            List<Long> userIdList = ProjectUtils.getAttrList(projectUserList, "userId", null);
+            List<Long> userIdList = projectUserList.stream().map(ProjectUser::getUserId).collect(Collectors.toList());
             Map<Long, UserResponse> userIdToUserResponse = userService.getUserResponseByUserIdList(userIdList);
             //获取项目信息
-            List<Long> projectIdList = ProjectUtils.getAttrList(projectUserList,
-                    "projectId", null);
+            List<Long> projectIdList = projectUserList.stream().map(ProjectUser::getProjectId).collect(Collectors.toList());
             Map<Long, ProjectInfo> projectIdToProjectInfo = projectService.getProjectIdToProjectByProjectIdList(projectIdList);
             List<PropertyUserResponse> propertyUserResponseList = new ArrayList<>();
             for (ProjectUser projectUser : projectUserList) {
@@ -84,7 +84,7 @@ public class PropertyUserService implements IPropertyUserService {
     @Override
     public RestResponse cancelPermission(PropertyUserRequest propertyUserRequest) {
         Long deleteCount = projectService.deleteProjectUser(propertyUserRequest);
-        if(deleteCount == 0){
+        if (deleteCount == 0) {
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "操作失败");
         }
         return RestResponse.success(ApiConstants.RESULT_SUCCESS, "操作成功");

+ 1 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/UserApplicationService.java

@@ -86,6 +86,7 @@ public class UserApplicationService extends ServiceImpl<UserApplicationMapper, U
         List<UserApplication> userApplications = this.list(new QueryWrapper<UserApplication>()
                 .eq("mt_company_id", companyId)
                 .eq("user_id", applyUserId)
+                .eq(userApplyRequest.getProjectId() != null, "project_id", userApplyRequest.getProjectId())
                 //去掉申请未通过的判断
                 .ne("status", ApiConstants.ApplicationConstants.APPLY_FAIL)
                 .orderByDesc("apply_date")
@@ -100,7 +101,6 @@ public class UserApplicationService extends ServiceImpl<UserApplicationMapper, U
         //设置前校验
 
         //校验通过设置审核信息
-
         UserApplication userApplication = new UserApplication();
         userApplication.setUserId(applyUserId);
         userApplication.setMtCompanyId(companyId);

+ 18 - 16
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/UserService.java

@@ -293,23 +293,25 @@ public class UserService implements IUserService {
 
     @Override
     public List<Long> getIdListByQueryCondition(String queryCondition) {
-        List<UserAccount> userAccountList = userAccountService.list(new QueryWrapper<UserAccount>()
-                .select("user_id")
-                //通过手机号模糊查找
-                .like("mobile", queryCondition));
-        List<UserInfo> userInfoList = userInfoService.list(new QueryWrapper<UserInfo>()
-                .select("user_id")
-                //通过用户名模糊查找
-                .like("name", queryCondition)
+        //通过手机号模糊查找
+        List<UserAccount> userAccountList = userAccountService.list(new QueryWrapper<UserAccount>().
+                select("user_id").like("mobile", queryCondition)
         );
-        //获取通过手机号模糊查询出来的用户id
-        List<Long> accountUserIdList = ProjectUtils.getAttrList(userAccountList, "userId", null);
-        //获取通过用户名模糊查询出来的用户id
-        List<Long> infoUserIdList = ProjectUtils.getAttrList(userInfoList, "userId", null);
-        //合并去重
-        accountUserIdList.addAll(infoUserIdList);
-        ProjectUtils.removeDuplicateWithOrder(accountUserIdList);
-        return accountUserIdList;
+        //通过用户名称模糊查找用户信息
+        List<UserInfo> userInfoList = userInfoService.list(new QueryWrapper<UserInfo>().
+                select("user_id").like("name", queryCondition)
+        );
+        List<Long> userIdList = new ArrayList<>();
+        //将用户id封装到集合中
+        if (userAccountList != null && userAccountList.size() > 0) {
+            userIdList.addAll(userAccountList.stream().map(UserAccount::getUserId)
+                    .collect(Collectors.toList()));
+        }
+        if (userInfoList != null && userInfoList.size() > 0) {
+            userIdList.addAll(userInfoList.stream().map(UserInfo::getUserId)
+                    .collect(Collectors.toList()));
+        }
+        return userIdList;
     }
 
     @Override

+ 1 - 1
lift-system-service/src/main/resources/application.yml

@@ -12,7 +12,7 @@ spring:
   application:
     name: lift-system-service
   profiles:
-    active: web
+    active: prod
 
 #自动添加createTime、isDelete 等字段
 xwy: