xiexiang 1 jaar geleden
bovenliggende
commit
8c7e33148d

+ 106 - 14
src/main/java/cn/cslg/pas/service/business/ProjectTaskService.java

@@ -223,18 +223,21 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
         ProjectTask currentTask = this.list(currentTaskWrapper).get(0);
         //根据此条任务详情获取assoTaskId
         Integer assoTaskId = currentTask.getAssoTaskId();
-        //根据assoTaskId获取最初任务的详情
-        LambdaQueryWrapper<ProjectTask> assoTaskWrapper = new LambdaQueryWrapper<>();
-        assoTaskWrapper.eq(ProjectTask::getId, assoTaskId);
-        ProjectTask assoTask = this.list(assoTaskWrapper).get(0);
-        //装载最初任务详情
-        ProjectTaskVO projectTaskVO = new ProjectTaskVO();
-        BeanUtils.copyProperties(assoTask, projectTaskVO);
-        taskDetailsVO.setProjectTaskVO(projectTaskVO);
-        //根据assoTaskId查询所有任务的id
-        LambdaQueryWrapper<ProjectTask> allTaskWrapper = new LambdaQueryWrapper<>();
-        allTaskWrapper.eq(ProjectTask::getAssoTaskId, assoTaskId);
-        List<ProjectTask> allProjectTasks = this.list(allTaskWrapper);
+        List<ProjectTask> allProjectTasks = new ArrayList<>();
+        if (assoTaskId != null) {
+            //根据assoTaskId获取最初任务的详情
+            LambdaQueryWrapper<ProjectTask> assoTaskWrapper = new LambdaQueryWrapper<>();
+            assoTaskWrapper.eq(ProjectTask::getId, assoTaskId);
+            ProjectTask assoTask = this.list(assoTaskWrapper).get(0);
+            //装载最初任务详情
+            ProjectTaskVO projectTaskVO = new ProjectTaskVO();
+            BeanUtils.copyProperties(assoTask, projectTaskVO);
+            taskDetailsVO.setProjectTaskVO(projectTaskVO);
+            //根据assoTaskId查询所有任务的id
+            LambdaQueryWrapper<ProjectTask> allTaskWrapper = new LambdaQueryWrapper<>();
+            allTaskWrapper.eq(ProjectTask::getAssoTaskId, assoTaskId);
+            allProjectTasks = this.list(allTaskWrapper);
+        }
         //新建审核历史返回VO以及集合
         List<AuditHistoryVO> auditHistoryVOS = new ArrayList<>();
         AuditHistoryVO auditHistoryVO = new AuditHistoryVO();
@@ -249,8 +252,13 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
                    TaskHandleResultVO taskHandleResultVO = new TaskHandleResultVO();
                    LambdaQueryWrapper<TaskHandleResult> queryWrapper = new LambdaQueryWrapper<>();
                    queryWrapper.eq(TaskHandleResult::getTaskId, item.getId());
-                   TaskHandleResult taskHandleResult = taskHandleResultService.list(queryWrapper).get(0);
-                   BeanUtils.copyProperties(taskHandleResult, taskHandleResultVO);
+                   List<TaskHandleResult> taskHandleResults = taskHandleResultService.list(queryWrapper);
+                   if (taskHandleResults.size() != 0) {
+                       TaskHandleResult taskHandleResult = taskHandleResults.get(0);
+                       if (taskHandleResult != null) {
+                           BeanUtils.copyProperties(taskHandleResult, taskHandleResultVO);
+                       }
+                   }
                    auditHistoryVO.setTaskHandleResultVO(taskHandleResultVO);
                    auditHistoryVOS.add(auditHistoryVO);
                }
@@ -292,9 +300,93 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
             }
         }
         taskDetailsVO.setSystemFileList(handleResultFileVOS);
+        //装载名称
+        this.loadTaskDetails(taskDetailsVO);
         return taskDetailsVO;
     }
 
+    public void loadTaskDetails(TaskDetailsVO taskDetailsVO) throws IOException {
+        //新建人员id集合
+        List<String> createIds = new ArrayList<>();
+        //添加分配任务的创建人id
+        if (taskDetailsVO.getProjectTaskVO().getCreateId() != null) {
+            createIds.add(taskDetailsVO.getProjectTaskVO().getCreateId());
+        }
+        //添加分配任务的负责人id
+        if (taskDetailsVO.getProjectTaskVO().getHandler() != null) {
+            createIds.add(taskDetailsVO.getProjectTaskVO().getHandler());
+        }
+        //添加文件上传人的id
+        taskDetailsVO.getSystemFileList().forEach(
+                item -> {
+                    if (item.getCreateId() != null) {
+                        createIds.add(item.getCreateId());
+                    }
+                }
+        );
+        //添加审查历史中的人员id
+        taskDetailsVO.getAuditHistoryVOS().forEach(
+                item -> {
+                    if (item.getProjectTaskVO().getCreateId() != null) {
+                        createIds.add(item.getProjectTaskVO().getCreateId());
+                    }
+                    if (item.getProjectTaskVO().getHandler() != null) {
+                        createIds.add(item.getProjectTaskVO().getHandler());
+                    }
+                    if (item.getTaskHandleResultVO().getCreateId() != null) {
+                        createIds.add(item.getTaskHandleResultVO().getCreateId());
+                    }
+                }
+        );
+        List<Personnel> personnels = new ArrayList<>();
+        //查询创建人名称
+        if (createIds.size() != 0) {
+            String res = permissionService.getPersonnelByIdsFromPCS(createIds);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            personnels = JSONObject.parseArray(jsonObject.getString("data"), Personnel.class);
+        }
+        //装载人员信息
+        //分配任务的创建人name
+        Personnel personnel = personnels.stream().filter(item -> item.getId().equals(taskDetailsVO.getProjectTaskVO().getCreateId())).findFirst().orElse(null);
+        if (personnel != null) {
+            taskDetailsVO.getProjectTaskVO().setCreateName(personnel.getPersonnelName());
+        } else {
+            throw new XiaoShiException("未获取到分配任务的创建人id信息");
+        }
+        //分配任务的负责人name
+        Personnel personnel1 = personnels.stream().filter(item -> item.getId().equals(taskDetailsVO.getProjectTaskVO().getHandler())).findFirst().orElse(null);
+        if (personnel != null) {
+            taskDetailsVO.getProjectTaskVO().setHandlerName(personnel1.getPersonnelName());
+        } else {
+            throw new XiaoShiException("未获取到分配任务的负责人id信息");
+        }
+        //装载所有文件的上传人name
+        for (HandleResultFileVO handleResultFileVO : taskDetailsVO.getSystemFileList()) {
+            Personnel personnel2 = personnels.stream().filter(item -> item.getId().equals(handleResultFileVO.getCreateId())).findFirst().orElse(null);
+            if (personnel != null) {
+                handleResultFileVO.setCreateName(personnel2.getPersonnelName());
+            } else {
+                throw new XiaoShiException("未获取到分配任务的负责人id信息");
+            }
+        }
+        //装载所有审查历史中的人员name
+        for (AuditHistoryVO auditHistoryVO : taskDetailsVO.getAuditHistoryVOS()) {
+            Personnel personnel3 = personnels.stream().filter(item -> item.getId().equals(auditHistoryVO.getProjectTaskVO().getCreateId())).findFirst().orElse(null);
+            if (personnel != null) {
+                auditHistoryVO.getProjectTaskVO().setCreateName(personnel3.getPersonnelName());
+            } else {
+                throw new XiaoShiException("未获取到分配任务的负责人id信息");
+            }
+            Personnel personnel4 = personnels.stream().filter(item -> item.getId().equals(auditHistoryVO.getProjectTaskVO().getHandler())).findFirst().orElse(null);
+            if (personnel != null) {
+                auditHistoryVO.getProjectTaskVO().setHandlerName(personnel4.getPersonnelName());
+            } else {
+                throw new XiaoShiException("未获取到分配任务的负责人id信息");
+            }
+        }
+
+    }
+
 
 
     @Override

+ 1 - 1
src/main/java/cn/cslg/pas/service/query/FormatQueryService.java

@@ -178,7 +178,7 @@ public class FormatQueryService {
                     //判断 参数类型
                     String json = CommonService.readJsonFile(tableName + ".json");
                     List<SqlObject> sqlObjects = JSON.parseArray(json, SqlObject.class);
-                    SqlObject sqlObject = sqlObjects.stream().filter(item -> item.getValue().equals(field) && item.getIfAsCondition().equals(true)).findFirst().orElse(null);
+                    SqlObject sqlObject = sqlObjects.stream().filter(item -> item.getValue().equals(field) &&item.getIfAsCondition()!=null&& item.getIfAsCondition().equals(true)).findFirst().orElse(null);
                     if (sqlObject != null) {
                         getSqlObjectLocal = getSqlFactory.getClass(sqlObject.getSqlClass());
                         sqlObject.setOption(optionName);

+ 19 - 10
src/main/resources/jsons/patentDigProject.json

@@ -8,9 +8,10 @@
     "sqlClass": "getComSql",
     "orderClass": "",
     "groupClass": "",
-    "ifSearch": "true",
+    "ifSearch": "false",
     "ifGroup": "false",
-    "ifShow": "false"
+    "ifShow": "false",
+    "ifAsCondition": "true"
   },
   {
     "name": "挖掘项目名称",
@@ -23,7 +24,8 @@
     "groupClass": "getComGroup",
     "ifSearch": "true",
     "ifGroup": "false",
-    "ifShow": "true"
+    "ifShow": "true",
+    "ifAsCondition": "true"
   },
   {
     "name": "研发项目名称",
@@ -93,7 +95,8 @@
     "ifSearch": "true",
     "ifGroup": "false",
     "ifShow": "true",
-    "defaultHidden": "true"
+    "defaultHidden": "true",
+    "ifAsCondition": "true"
   },
   {
     "name": "委托方",
@@ -121,7 +124,8 @@
     "ifSearch": "true",
     "ifGroup": "false",
     "ifShow": "true",
-    "defaultHidden": "true"
+    "defaultHidden": "true",
+    "ifAsCondition": "true"
   },
   {
     "name": "技术方向",
@@ -232,7 +236,8 @@
     "groupClass": "getComGroup",
     "ifSearch": "true",
     "ifGroup": "false",
-    "ifShow": "true"
+    "ifShow": "true",
+    "ifAsCondition": "true"
   },
   {
     "name": "创建时间",
@@ -245,7 +250,8 @@
     "groupClass": "getTimeGroup",
     "ifSearch": "true",
     "ifGroup": "false",
-    "ifShow": "true"
+    "ifShow": "true",
+    "ifAsCondition": "true"
   },
   {
     "name": "描述",
@@ -283,7 +289,8 @@
     "groupClass": "getScenarioGroup",
     "ifSearch": "true",
     "ifGroup": "false",
-    "ifShow": "false"
+    "ifShow": "false",
+    "ifAsCondition": "true"
   },
   {
     "name": "创建月份",
@@ -310,7 +317,8 @@
     "ifSearch": "true",
     "ifGroup": "true",
     "ifShow": "false",
-    "defaultHidden": "true"
+    "defaultHidden": "true",
+    "ifAsCondition": "true"
   },
   {
     "name": "应用场景",
@@ -323,6 +331,7 @@
     "groupClass": "getScenarioGroup",
     "ifSearch": "true",
     "ifGroup": "true",
-    "ifShow": "true"
+    "ifShow": "true",
+    "ifAsCondition": "true"
   }
 ]

+ 2 - 1
src/main/resources/jsons/patentProject.json

@@ -24,7 +24,8 @@
     "groupClass": "getComGroup",
     "ifSearch": "true",
     "ifGroup": "false",
-    "ifShow": "true"
+    "ifShow": "true",
+    "ifAsCondition": "true"
   },
   {
     "name": "报告数量",

+ 20 - 11
src/main/resources/jsons/projectTask.json

@@ -8,9 +8,10 @@
     "sqlClass": "getComSql",
     "orderClass": "getComOrder",
     "groupClass": "getComGroup",
-    "ifSearch": "true",
+    "ifSearch": "false",
     "ifGroup": "false",
-    "ifShow": "false"
+    "ifShow": "false",
+    "ifAsCondition": "true"
   },
   {
     "name": "任务名称",
@@ -23,7 +24,8 @@
     "groupClass": "getComGroup",
     "ifSearch": "true",
     "ifGroup": "false",
-    "ifShow": "true"
+    "ifShow": "true",
+    "ifAsCondition": "true"
   },
   {
     "name": "项目id",
@@ -34,10 +36,11 @@
     "sqlClass": "getComSql",
     "orderClass": "getComOrder",
     "groupClass": "getComGroup",
-    "ifSearch": "true",
+    "ifSearch": "false",
     "ifGroup": "false",
     "ifShow": "false",
-    "defaultHidden": "true"
+    "defaultHidden": "true",
+    "ifAsCondition": "true"
   },
   {
     "name": "任务类型",
@@ -51,7 +54,8 @@
     "ifSearch": "true",
     "ifGroup": "false",
     "ifShow": "true",
-    "defaultHidden": "true"
+    "defaultHidden": "true",
+    "ifAsCondition": "true"
   },{
   "name": "处理人",
   "type": "String",
@@ -63,7 +67,8 @@
   "groupClass": "getComGroup",
   "ifSearch": "true",
   "ifGroup": "false",
-  "ifShow": "true"
+  "ifShow": "true",
+  "ifAsCondition": "true"
   }, {
     "name": "人员类型",
     "type": "Integer",
@@ -88,7 +93,8 @@
     "groupClass": "getTimeGroup",
     "ifSearch": "true",
     "ifGroup": "false",
-    "ifShow": "true"
+    "ifShow": "true",
+    "ifAsCondition": "true"
   },
   {
     "name": "完成时间",
@@ -140,7 +146,8 @@
     "groupClass": "getComGroup",
     "ifSearch": "true",
     "ifGroup": "false",
-    "ifShow": "true"
+    "ifShow": "true",
+    "ifAsCondition": "true"
   },
   {
     "name": "任务进度",
@@ -179,7 +186,8 @@
     "groupClass": "getComGroup",
     "ifSearch": "true",
     "ifGroup": "false",
-    "ifShow": "true"
+    "ifShow": "true",
+    "ifAsCondition": "true"
   },
   {
     "name": "创建时间",
@@ -192,6 +200,7 @@
     "groupClass": "getTimeGroup",
     "ifSearch": "true",
     "ifGroup": "false",
-    "ifShow": "true"
+    "ifShow": "true",
+    "ifAsCondition": "true"
   }
 ]