Browse Source

bug修复(选取电梯,默认指定区域主管)

yang 4 years ago
parent
commit
1c5e4dd4b6

+ 29 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectLiftRelevanceService.java

@@ -145,7 +145,34 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
      * @date 2020/1/2 2:55 下午
      */
     public boolean insertBatch(List<ProjectLiftRelevance> list) {
-        return saveBatch(list, list.size());
+
+        //查询当前项目的区域主管ID
+        if (list.size() == 0) {
+            return false;
+        } else {
+            Long projectId = list.get(0).getProjectId();
+            Long mtCompanyId = list.get(0).getMtCompanyId();
+            ProjectUser projectUser = projectUserService.getBaseMapper().selectOne(
+                    new QueryWrapper<ProjectUser>()
+                            .lambda()
+                            .eq(ProjectUser::getProjectId, projectId)
+                            .eq(ProjectUser::getMtCompanyId, mtCompanyId)
+                            .eq(ProjectUser::getUserRole, "REGION_DIRECTOR")
+                            .select(ProjectUser::getUserId)
+                            .last("limit 1")
+            );
+            if (projectUser.getUserId() == null) {
+                log.info("维保公司ID:{},项目ID:{},下面未查询到对应的区域主管ID",mtCompanyId,projectId);
+                return false;
+            }
+            List<ProjectLiftRelevance> projectLiftRelevances = new ArrayList<>();
+            for (ProjectLiftRelevance projectLiftRelevance : list) {
+                projectLiftRelevance.setWorkerId(projectUser.getUserId());
+                projectLiftRelevances.add(projectLiftRelevance);
+            }
+
+            return saveBatch(projectLiftRelevances, projectLiftRelevances.size());
+        }
     }
 
     /**
@@ -336,7 +363,7 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
                         }
                     });
             //如果用户不存在关联表中且用户应在项目中,就将用户放入待插入列表,并终止循环
-            if ( !hasUser.get()) {
+            if (!hasUser.get()) {
                 ProjectUser pu = new ProjectUser();
                 pu.setProjectId(projectId);
                 pu.setUserId(newWorkerId);