xiexiang 1 anno fa
parent
commit
86bbde10ef

+ 11 - 2
src/main/java/cn/cslg/pas/common/dto/business/TaskAuditResultDTO.java

@@ -1,7 +1,9 @@
 package cn.cslg.pas.common.dto.business;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -10,17 +12,19 @@ import java.util.List;
  * @Date 2023/11/22
  */
 @Data
-public class TaskAuditResultDTO {
+public class TaskHandleResultDTO {
     /**
      * 审核结果
      */
-    private String auditResult;
+    private String handleResult;
 
     /**
      * 描述/说明
      */
     private String description;
 
+    private Date deadLineTime;
+
     /**
      * 下一个审核人
      */
@@ -32,6 +36,11 @@ public class TaskAuditResultDTO {
     private Boolean ifInner;
 
     /**
+     * 是否通过
+     */
+    private Boolean ifBack;
+
+    /**
      * 任务id
      */
     private Integer taskId;

+ 10 - 0
src/main/java/cn/cslg/pas/common/vo/business/TaskHandleResultVO.java

@@ -32,11 +32,21 @@ public class TaskHandleResultVO {
     private String nextAuditor;
 
     /**
+     * 下一个审核人名称
+     */
+    private String nextAuditorName;
+
+    /**
      * 是否内部人员
      */
     private Boolean ifInner;
 
     /**
+     * 是否通过
+     */
+    private Boolean ifBack;
+
+    /**
      * 任务id
      */
     private Integer taskId;

+ 2 - 4
src/main/java/cn/cslg/pas/controller/ProjectTaskController.java

@@ -5,12 +5,10 @@ import cn.cslg.pas.common.dto.business.*;
 import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.model.request.StringRequest;
 import cn.cslg.pas.common.utils.Response;
-import cn.cslg.pas.common.vo.business.AssoTaskFileVO;
 import cn.cslg.pas.common.vo.business.GetHandleResultFileVO;
 import cn.cslg.pas.common.vo.business.TaskDetailsVO;
 import cn.cslg.pas.factorys.businessFactory.Business;
 import cn.cslg.pas.factorys.businessFactory.BusinessFactory;
-import cn.cslg.pas.service.business.AssoTaskFileService;
 import cn.cslg.pas.service.business.ProjectTaskService;
 import cn.cslg.pas.service.business.TaskHandleResultService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -58,8 +56,8 @@ public class ProjectTaskController {
 
     @Operation(summary = "添加任务处理结果")
     @PostMapping("/addTaskAuditResult")
-    public Response addTaskAuditResult(@RequestBody TaskAuditResultDTO taskAuditResultDTO) throws Exception {
-        Integer id = taskHandleResultService.addTaskAuditResult(taskAuditResultDTO);
+    public Response addTaskAuditResult(@RequestBody TaskHandleResultDTO taskHandleResultDTO) throws Exception {
+        Integer id = taskHandleResultService.addTaskAuditResult(taskHandleResultDTO);
         return Response.success(id);
     }
 

+ 6 - 0
src/main/java/cn/cslg/pas/domain/business/TaskHandleResult.java

@@ -40,6 +40,12 @@ public class TaskHandleResult extends BaseEntity<TaskHandleResult> {
     private Boolean ifInner;
 
     /**
+     * 是否通过
+     */
+    @TableField(value = "if_back")
+    private Boolean ifBack;
+
+    /**
      * 任务id
      */
     @TableField(value = "task_id")

+ 87 - 53
src/main/java/cn/cslg/pas/service/business/ProjectTaskService.java

@@ -109,14 +109,20 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
         if (name == null || name.equals("")) {
             throw new XiaoShiException("任务名称不能为空!");
         }
+        //根据assoTaskId查询processId
+        if (projectTaskDTO.getAssoTaskId() != null) {
+            LambdaQueryWrapper<ProjectTask> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(ProjectTask::getId, projectTaskDTO.getAssoTaskId());
+            List<ProjectTask> projectTasks = this.list(queryWrapper);
+            if (projectTasks != null && projectTasks.size() != 0) {
+                ProjectTask projectTask = projectTasks.get(0);
+                projectTaskDTO.setProcessId(projectTask.getProcessId());
+            }
+        }
         ProjectTask projectTask = new ProjectTask();
         BeanUtils.copyProperties(projectTaskDTO, projectTask);
         //任务状态置为处理中
         projectTask.setStatus(2);
-        //任务类型为审核任务
-        if (projectTaskDTO.getType() == 5) {
-            projectTask.setType(5);
-        }
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
         try {
@@ -127,10 +133,8 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
         //设置任务的发起人
         projectTask.setCreateId(personnelVO.getId());
         projectTask.insert();
-        //如果新建的任务没有assoTaskId,那么将他的id设为assoTaskId
-        if (projectTask.getAssoTaskId() == null) {
+        if (projectTask.getAssoTaskId() == null && projectTask.getType() == 6) {
             projectTask.setAssoTaskId(projectTask.getId());
-            projectTask.updateById();
         }
         //新增任务可能会上传附件,如果附件不为空,则添加任务与附件关联
         if (projectTaskDTO.getFileGuids() != null) {
@@ -139,6 +143,17 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
             assoTaskFileDTO.setFileGuids(projectTaskDTO.getFileGuids());
             assoTaskFileService.addTaskFile(assoTaskFileDTO);
         }
+        //根据新增的审核任务的lastTaskId,将上一级任务状态改为审核中
+        if (projectTask.getLastTaskId() != null) {
+            LambdaQueryWrapper<ProjectTask> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(ProjectTask::getId, projectTask.getLastTaskId());
+            List<ProjectTask> projectTasks = this.list(queryWrapper);
+            if (projectTasks != null && projectTasks.size() != 0) {
+                ProjectTask projectTask1 = projectTasks.get(0);
+                projectTask1.setStatus(1);
+                projectTask1.updateById();
+            }
+        }
         return projectTask.getId();
     }
 
@@ -201,7 +216,7 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
         for (ProjectTaskVO projectTaskVO : projectTaskVOS) {
             //装载人员信息
             Personnel personnel = personnels.stream().filter(item -> item.getId().equals(projectTaskVO.getCreateId())).findFirst().orElse(null);
-            Personnel personnel2 =  personnels2.stream().filter(item -> item.getId().equals(projectTaskVO.getHandler())).findFirst().orElse(null);
+            Personnel personnel2 = personnels2.stream().filter(item -> item.getId().equals(projectTaskVO.getHandler())).findFirst().orElse(null);
             if(personnel != null){
                 projectTaskVO.setCreateName(personnel.getPersonnelName());
                 projectTaskVO.setHandlerName(personnel2.getPersonnelName());
@@ -222,7 +237,11 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
         //根据taskId查询此条任务详情
         LambdaQueryWrapper<ProjectTask> currentTaskWrapper = new LambdaQueryWrapper<>();
         currentTaskWrapper.eq(ProjectTask::getId, taskId);
-        ProjectTask currentTask = this.list(currentTaskWrapper).get(0);
+        List<ProjectTask> currentTasks = this.list(currentTaskWrapper);
+        ProjectTask currentTask = new ProjectTask();
+        if (currentTasks != null && currentTasks.size() != 0) {
+            currentTask = currentTasks.get(0);
+        }
         //根据此条任务详情获取assoTaskId
         Integer assoTaskId = currentTask.getAssoTaskId();
         List<ProjectTask> allProjectTasks = new ArrayList<>();
@@ -249,7 +268,6 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
                    //任务详情VO
                    ProjectTaskVO auditHistoryTaskVO = new ProjectTaskVO();
                    BeanUtils.copyProperties(item, auditHistoryTaskVO);
-                   auditHistoryVO.setProjectTaskVO(auditHistoryTaskVO);
                    //处理结果VO
                    TaskHandleResultVO taskHandleResultVO = new TaskHandleResultVO();
                    LambdaQueryWrapper<TaskHandleResult> queryWrapper = new LambdaQueryWrapper<>();
@@ -259,20 +277,24 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
                        TaskHandleResult taskHandleResult = taskHandleResults.get(0);
                        if (taskHandleResult != null) {
                            BeanUtils.copyProperties(taskHandleResult, taskHandleResultVO);
+                           auditHistoryVO.setProjectTaskVO(auditHistoryTaskVO);
+                           auditHistoryVO.setTaskHandleResultVO(taskHandleResultVO);
                        }
                    }
-                   auditHistoryVO.setTaskHandleResultVO(taskHandleResultVO);
                    auditHistoryVOS.add(auditHistoryVO);
                }
             }
             taskDetailsVO.setAuditHistoryVOS(auditHistoryVOS);
         }
-
         //全部的文件信息(获取所有的任务的id,查出所有的结果id)
         List<Integer> allTaskIds = allProjectTasks.stream().map(ProjectTask::getId).collect(Collectors.toList());
         LambdaQueryWrapper<TaskHandleResult> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.in(TaskHandleResult::getTaskId, allTaskIds);
-        List<Integer> resultIds = taskHandleResultService.list(queryWrapper).stream().map(TaskHandleResult::getId).collect(Collectors.toList());
+        List<TaskHandleResult> taskHandleResults = taskHandleResultService.list(queryWrapper);
+        List<Integer> resultIds = new ArrayList<>();
+        if (taskHandleResults != null && taskHandleResults.size() != 0) {
+            resultIds = taskHandleResults.stream().map(TaskHandleResult::getId).collect(Collectors.toList());
+        }
         List<HandleResultFileVO> handleResultFileVOS = new ArrayList<>();
         //根据所有的结果ids查询所有fileGuids
         if (resultIds != null) {
@@ -355,14 +377,18 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
         //添加审查历史中的人员id
         taskDetailsVO.getAuditHistoryVOS().forEach(
                 item -> {
-                    if (item.getProjectTaskVO().getCreateId() != null) {
-                        createIds.add(item.getProjectTaskVO().getCreateId());
+                    if (item.getProjectTaskVO() != null) {
+                        if (item.getProjectTaskVO().getCreateId() != null) {
+                            createIds.add(item.getProjectTaskVO().getCreateId());
+                        }
+                        if (item.getProjectTaskVO().getHandler() != null) {
+                            createIds.add(item.getProjectTaskVO().getHandler());
+                        }
                     }
-                    if (item.getProjectTaskVO().getHandler() != null) {
-                        createIds.add(item.getProjectTaskVO().getHandler());
-                    }
-                    if (item.getTaskHandleResultVO().getCreateId() != null) {
-                        createIds.add(item.getTaskHandleResultVO().getCreateId());
+                    if (item.getTaskHandleResultVO() != null) {
+                        if (item.getTaskHandleResultVO().getCreateId() != null) {
+                            createIds.add(item.getTaskHandleResultVO().getCreateId());
+                        }
                     }
                 }
         );
@@ -375,47 +401,55 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
         }
         //装载人员信息
         //分配任务的创建人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 (personnel1 != null) {
-            taskDetailsVO.getProjectTaskVO().setHandlerName(personnel1.getPersonnelName());
-        } else {
-            throw new XiaoShiException("未获取到分配任务的负责人id信息");
+        if (taskDetailsVO.getProjectTaskVO() != null) {
+            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 (personnel1 != 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 (personnel2 != null) {
-                handleResultFileVO.setCreateName(personnel2.getPersonnelName());
-            } else {
-                throw new XiaoShiException("未获取到分配任务的负责人id信息");
+            if (handleResultFileVO != null) {
+                Personnel personnel2 = personnels.stream().filter(item -> item.getId().equals(handleResultFileVO.getCreateId())).findFirst().orElse(null);
+                if (personnel2 != 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 (personnel3 != 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 (personnel4 != null) {
-                auditHistoryVO.getProjectTaskVO().setHandlerName(personnel4.getPersonnelName());
-            } else {
-                throw new XiaoShiException("未获取到分配任务的负责人id信息");
+            if (auditHistoryVO.getProjectTaskVO() != null) {
+                Personnel personnel3 = personnels.stream().filter(item -> item.getId().equals(auditHistoryVO.getProjectTaskVO().getCreateId())).findFirst().orElse(null);
+                if (personnel3 != 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 (personnel4 != null) {
+                    auditHistoryVO.getProjectTaskVO().setHandlerName(personnel4.getPersonnelName());
+                } else {
+                    throw new XiaoShiException("未获取到分配任务的负责人id信息");
+                }
             }
-            Personnel personnel5 = personnels.stream().filter(item -> item.getId().equals(auditHistoryVO.getTaskHandleResultVO().getCreateId())).findFirst().orElse(null);
-            if (personnel5 != null) {
-                auditHistoryVO.getTaskHandleResultVO().setCreateName(personnel5.getPersonnelName());
-            } else {
-                throw new XiaoShiException("未获取到分配任务的负责人id信息");
+            if (auditHistoryVO.getTaskHandleResultVO() != null) {
+                Personnel personnel5 = personnels.stream().filter(item -> item.getId().equals(auditHistoryVO.getTaskHandleResultVO().getCreateId())).findFirst().orElse(null);
+                if (personnel5 != null) {
+                    auditHistoryVO.getTaskHandleResultVO().setCreateName(personnel5.getPersonnelName());
+                } else {
+                    throw new XiaoShiException("未获取到分配任务的负责人id信息");
+                }
             }
         }
 

+ 105 - 42
src/main/java/cn/cslg/pas/service/business/TaskHandleResultService.java

@@ -1,16 +1,14 @@
 package cn.cslg.pas.service.business;
 
 import cn.cslg.pas.common.dto.business.ProjectTaskDTO;
-import cn.cslg.pas.common.dto.business.TaskAuditResultDTO;
+import cn.cslg.pas.common.dto.business.TaskHandleResultDTO;
 import cn.cslg.pas.common.model.cronModel.PersonnelVO;
 import cn.cslg.pas.common.model.cronModel.SystemFile;
 import cn.cslg.pas.common.utils.CacheUtils;
 import cn.cslg.pas.common.utils.LoginUtils;
-import cn.cslg.pas.common.vo.business.AssoTaskFileVO;
 import cn.cslg.pas.common.vo.business.GetHandleResultFileVO;
 import cn.cslg.pas.common.vo.business.HandleResultFileVO;
 import cn.cslg.pas.domain.business.AssoHandleResultFile;
-import cn.cslg.pas.domain.business.AssoTaskFile;
 import cn.cslg.pas.domain.business.ProjectTask;
 import cn.cslg.pas.domain.business.TaskHandleResult;
 import cn.cslg.pas.exception.UnLoginException;
@@ -56,15 +54,17 @@ public class TaskHandleResultService extends ServiceImpl<TaskHandleResultMapper,
 
     /**
      * 添加任务处理结果
-     * @param taskAuditResultDTO
+     * @param taskHandleResultDTO
      * @return
      */
-    public Integer addTaskAuditResult(TaskAuditResultDTO taskAuditResultDTO){
+    public Integer addTaskAuditResult(TaskHandleResultDTO taskHandleResultDTO){
+        //新建入表实体类
         TaskHandleResult taskHandleResult = new TaskHandleResult();
-        if (taskAuditResultDTO.getTaskId() == null) {
+        //判空
+        if (taskHandleResultDTO.getTaskId() == null) {
             throw new XiaoShiException("任务id不能为空");
         }
-        BeanUtils.copyProperties(taskAuditResultDTO, taskHandleResult);
+        BeanUtils.copyProperties(taskHandleResultDTO, taskHandleResult);
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
         try {
@@ -75,8 +75,8 @@ public class TaskHandleResultService extends ServiceImpl<TaskHandleResultMapper,
         taskHandleResult.setCreateId(personnelVO.getId());
         //任务处理结果入库
         taskHandleResult.insert();
-        //如果任务处理结果中文件集合不为空,则需要将文件与处理结果关联
-        List<String> fileGuids = taskAuditResultDTO.getFileGuids();
+        //如果任务处理结果中 文件集合不为空,则需要将文件与处理结果关联
+        List<String> fileGuids = taskHandleResultDTO.getFileGuids();
         Integer taskAuditResultId = taskHandleResult.getId();
         if (fileGuids != null && fileGuids.size() != 0) {
             List<AssoHandleResultFile> assoHandleResultFiles = new ArrayList<>();
@@ -85,27 +85,88 @@ public class TaskHandleResultService extends ServiceImpl<TaskHandleResultMapper,
                 AssoHandleResultFile assoHandleResultFile = new AssoHandleResultFile();
                 assoHandleResultFile.setTaskHandleResultId(taskAuditResultId);
                 assoHandleResultFile.setFileGuid(item);
-                assoHandleResultFile.setCreateId(personnelVO.getId());
+                //TODO
+                assoHandleResultFile.setCreateId("328");
                 assoHandleResultFiles.add(assoHandleResultFile);
             }
             assoHandleResultFileService.saveBatch(assoHandleResultFiles);
         }
-        //如果下一个审核人不为空,则需要新建一个审核任务
-        if (taskHandleResult.getNextAuditor() != null && taskHandleResult.getNextAuditor() != "") {
-            Integer taskId = taskHandleResult.getTaskId();
-            ProjectTask projectTask = projectTaskService.getById(taskId);
-            ProjectTaskDTO projectTaskDTO = new ProjectTaskDTO();
-            projectTaskDTO.setName(projectTask.getName() + "-审核任务");
-            projectTaskDTO.setProjectId(projectTask.getProjectId());
-            projectTaskDTO.setType(5);
-            if (taskHandleResult.getIfInner() == true) {
-                projectTaskDTO.setHandlerType(0);
+        //根据处理结果id查询对应的任务id
+        TaskHandleResult taskHandleResult1 = this.getById(taskAuditResultId);
+        Integer currentTaskId = taskHandleResult1.getTaskId();
+        //根据任务id查询任务类型
+        ProjectTask currentProjectTask = projectTaskService.getById(currentTaskId);
+        //如果当前处理的是审核任务,进入以下流程
+        if (currentProjectTask.getType() == 5) {
+            //如果下一个审核人不为空,则需要新建一个审核任务
+            if (taskHandleResult.getNextAuditor() != null && taskHandleResult.getNextAuditor() != "") {
+                Integer taskId = taskHandleResult.getTaskId();
+                ProjectTask projectTask = projectTaskService.getById(taskId);
+                ProjectTaskDTO projectTaskDTO = new ProjectTaskDTO();
+                //下一个审核任务的名称
+                projectTaskDTO.setName(projectTask.getName() + "-审核任务");
+                //所属挖掘项目id
+                projectTaskDTO.setProjectId(projectTask.getProjectId());
+                //审核任务
+                projectTaskDTO.setType(5);
+                //所属流程
+                projectTaskDTO.setProcessId(projectTask.getProcessId());
+                //审核人
+                projectTaskDTO.setHandler(taskHandleResult.getNextAuditor());
+                //是否内部人员
+                if (taskHandleResult.getIfInner() == true) {
+                    projectTaskDTO.setHandlerType(0);
+                } else {
+                    projectTaskDTO.setHandlerType(1);
+                }
+                //截止时间
+                projectTaskDTO.setDeadLineTime(taskHandleResultDTO.getDeadLineTime());
+                //上一级任务id
+                projectTaskDTO.setLastTaskId(taskId);
+                //被审核的任务id
+                projectTaskDTO.setAssoTaskId(projectTask.getAssoTaskId());
+                Integer id = projectTaskService.addTask(projectTaskDTO);
+                //新建审核任务完成之后,需要将审核任务的状态置为完成
+                if (id != null) {
+                    //根据处理结果中的任务id,将此条任务id查询出来
+                    //设置为完成
+                    currentProjectTask.setStatus(3);
+                    currentProjectTask.updateById();
+                }
             } else {
-                projectTaskDTO.setHandlerType(1);
+                //下一个审核人为空
+                ProjectTask projectTask = projectTaskService.getById(taskHandleResultDTO.getTaskId());
+                Integer assoTaskId = projectTask.getAssoTaskId();
+                //如果是返回修改,则分配任务状态设置为处理中,当前审核任务的状态设置为已完成
+                if (taskHandleResult.getIfBack() == true) {
+                    ProjectTask projectTask1 = projectTaskService.getById(assoTaskId);
+                    projectTask1.setStatus(2);
+                    projectTask1.updateById();
+                    currentProjectTask.setStatus(3);
+                    currentProjectTask.updateById();
+                } else {
+                    //直接点击确定
+                    //将所有关联任务的状态设置为完成
+                    LambdaQueryWrapper<ProjectTask> queryWrapper = new LambdaQueryWrapper<>();
+                    queryWrapper.eq(ProjectTask::getAssoTaskId, assoTaskId);
+                    List<ProjectTask> projectTasks = projectTaskService.list(queryWrapper);
+                    if (projectTasks != null && projectTasks.size() != 0) {
+                        projectTasks.forEach(
+                                item -> {
+                                    item.setStatus(3);
+                                }
+                        );
+                        projectTaskService.updateBatchById(projectTasks);
+                    }
+                }
             }
-            projectTaskDTO.setLastTaskId(taskId);
-            projectTaskDTO.setAssoTaskId(projectTask.getAssoTaskId());
-            projectTaskService.addTask(projectTaskDTO);
+        } else {
+            //当前处理的任务是分配任务
+            //将分配任务的状态设置为审核中
+            //根据处理结果中的任务id,将此条任务id查询出来
+            //设置为完成
+            currentProjectTask.setStatus(2);
+            currentProjectTask.updateById();
         }
         return taskHandleResult.getId();
     }
@@ -127,7 +188,7 @@ public class TaskHandleResultService extends ServiceImpl<TaskHandleResultMapper,
         queryWrapper.eq(TaskHandleResult::getTaskId, taskId);
         List<TaskHandleResult> taskHandleResults = this.list(queryWrapper);
         List<AssoHandleResultFile> assoHandleResultFiles = new ArrayList<>();
-        if (taskHandleResults != null) {
+        if (taskHandleResults != null && taskHandleResults.size() != 0) {
             TaskHandleResult taskHandleResult = taskHandleResults.get(0);
             //任务的说明字段装载
             getHandleResultFileVO.setDescription(taskHandleResult.getDescription());
@@ -140,26 +201,28 @@ public class TaskHandleResultService extends ServiceImpl<TaskHandleResultMapper,
             if (assoHandleResultFiles != null && assoHandleResultFiles.size() != 0) {
                 fileGuids = assoHandleResultFiles.stream().map(AssoHandleResultFile::getFileGuid).collect(Collectors.toList());
             }
-        }
-        //调用FMS系统查询文件详情
-        if (fileGuids.size() != 0) {
-            String res = fileManagerService.getSystemFileFromFMS(fileGuids);
-            systemFiles = JSONObject.parseArray(res, SystemFile.class);
-        }
-        if (systemFiles.size() != 0) {
-            //遍历装载数据
-            for (AssoHandleResultFile assoHandleResultFile : assoHandleResultFiles) {
-                HandleResultFileVO handleResultFileVO = new HandleResultFileVO();
-                SystemFile systemFile = systemFiles.stream().filter(item -> item.getGuid().equals(assoHandleResultFile.getFileGuid())).findFirst().orElse(null);
-                if (systemFile != null) {
-                    BeanUtils.copyProperties(assoHandleResultFile, handleResultFileVO);
-                    handleResultFileVO.setType(systemFile.getType());
-                    handleResultFileVO.setOriginalName(systemFile.getOriginalName());
-                    handleResultFileVOS.add(handleResultFileVO);
+            //调用FMS系统查询文件详情
+            if (fileGuids.size() != 0) {
+                String res = fileManagerService.getSystemFileFromFMS(fileGuids);
+                systemFiles = JSONObject.parseArray(res, SystemFile.class);
+            }
+            if (systemFiles.size() != 0) {
+                //遍历装载数据
+                for (AssoHandleResultFile assoHandleResultFile : assoHandleResultFiles) {
+                    HandleResultFileVO handleResultFileVO = new HandleResultFileVO();
+                    SystemFile systemFile = systemFiles.stream().filter(item -> item.getGuid().equals(assoHandleResultFile.getFileGuid())).findFirst().orElse(null);
+                    if (systemFile != null) {
+                        BeanUtils.copyProperties(assoHandleResultFile, handleResultFileVO);
+                        handleResultFileVO.setType(systemFile.getType());
+                        handleResultFileVO.setOriginalName(systemFile.getOriginalName());
+                        handleResultFileVOS.add(handleResultFileVO);
+                    }
                 }
             }
+            getHandleResultFileVO.setSystemFileList(handleResultFileVOS);
+        } else {
+
         }
-        getHandleResultFileVO.setSystemFileList(handleResultFileVOS);
         return getHandleResultFileVO;
     }
 

+ 34 - 3
src/main/resources/jsons/projectTask.json

@@ -44,7 +44,7 @@
   },
   {
     "name": "任务类型",
-    "type": "Integer",
+    "type": "Array",
     "value": "type",
     "field": "type",
     "sqlField": "type",
@@ -53,10 +53,27 @@
     "groupClass": "getComGroup",
     "ifSearch": "true",
     "ifGroup": "false",
+    "ifShow": "false",
+    "defaultHidden": "false",
+    "ifAsCondition": "false"
+  },
+  {
+    "name": "任务类型",
+    "type": "Integer",
+    "value": "type",
+    "field": "type",
+    "sqlField": "type",
+    "sqlClass": "getComSql",
+    "orderClass": "getComOrder",
+    "groupClass": "getComGroup",
+    "ifSearch": "false",
+    "ifGroup": "false",
     "ifShow": "true",
     "defaultHidden": "true",
     "ifAsCondition": "true"
-  },{
+  },
+
+  {
   "name": "处理人",
   "type": "String",
   "value": "handlerName",
@@ -137,7 +154,7 @@
   },
   {
     "name": "任务状态",
-    "type": "Integer",
+    "type": "Array",
     "value": "status",
     "field": "status",
     "sqlField": "status",
@@ -146,6 +163,20 @@
     "groupClass": "getComGroup",
     "ifSearch": "true",
     "ifGroup": "false",
+    "ifShow": "false",
+    "ifAsCondition": "false"
+  },
+  {
+    "name": "任务状态",
+    "type": "Integer",
+    "value": "status",
+    "field": "status",
+    "sqlField": "status",
+    "sqlClass": "getComSql",
+    "orderClass": "getComOrder",
+    "groupClass": "getComGroup",
+    "ifSearch": "false",
+    "ifGroup": "false",
     "ifShow": "true",
     "ifAsCondition": "true"
   },

+ 12 - 0
src/test/java/cn/cslg/pas/service/ProjectTaskServiceTests.java

@@ -39,4 +39,16 @@ public class ProjectTaskServiceTests {
         System.out.println(response.getData());
     }
 
+    @Test
+        void addHandleResult(){
+//        "handleResult": "处理审核结果",
+//                "description": "描述",
+//                "nextAuditor": "328",
+//                "ifInner": "true",
+//                "ifPass": "true",
+//                "taskId": 15,
+//                "fileGuids": ["7c5881556d9a43cc88a9cb963caaae26"]
+//        Response response = projectTaskController.addTaskAuditResult();
+    }
+
 }