Browse Source

任务查看数量问题

liuyc 1 year ago
parent
commit
03c72bc210

+ 4 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/TaskQueryVO.java

@@ -21,7 +21,10 @@ public class TaskQueryVO {
     @ApiModelProperty("上报批次")
     private String batch;
 
-    @ApiModelProperty("合同段ID")
+    @ApiModelProperty("当前登陆用户选择的项目合同段ID")
+    private String currentContractId;
+
+    @ApiModelProperty("选择框的合同段ID")
     private String contractId;
 
     @ApiModelProperty("开始时间")

+ 114 - 32
blade-service/blade-business/src/main/java/org/springblade/business/controller/TaskController.java

@@ -24,6 +24,7 @@ import org.springblade.common.utils.CommonUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.sms.model.SmsResponse;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.jackson.JsonUtil;
@@ -34,12 +35,15 @@ import org.springblade.flow.core.entity.BladeFlow;
 import org.springblade.flow.core.feign.NewFlowClient;
 import org.springblade.flow.core.vo.SendPageVO;
 import org.springblade.manager.entity.ContractInfo;
+import org.springblade.manager.entity.ContractRelationJlyz;
 import org.springblade.manager.feign.ContractClient;
 import org.springblade.resource.feign.CommonFileClient;
 import org.springblade.resource.feign.NewISmsClient;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.feign.IDictBizClient;
 import org.springframework.beans.BeanUtils;
+import org.springframework.jdbc.core.BeanPropertyRowMapper;
+import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -53,6 +57,7 @@ import java.time.Duration;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ThreadPoolExecutor;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -67,6 +72,8 @@ import java.util.stream.Collectors;
 @Api(value = "任务审核主表", tags = "任务审核主表接口")
 public class TaskController extends BladeController {
 
+    private final JdbcTemplate jdbcTemplate;
+
     private final ITaskService taskService;
 
     private final ITaskParallelService taskParallelService;
@@ -208,14 +215,24 @@ public class TaskController extends BladeController {
     @ApiOperationSupport(order = 9)
     @ApiOperation(value = "获取发起")
     public R<IPage<TaskVO>> queryUserStartFlow(TaskQueryVO queryVO) {
+        //获取所有合同段信息Maps
+        Map<Long, ContractInfo> contractInfoMaps = jdbcTemplate.query("select id,contract_type from m_contract_info where is_deleted = 0 and status = 1", new BeanPropertyRowMapper<>(ContractInfo.class)).stream().collect(Collectors.toMap(ContractInfo::getId, Function.identity()));
         //获取发起,只需要查询主表
         //先查询符合条件的流程
         LambdaQueryWrapper<Task> wrapper = Wrappers.<Task>lambdaQuery().eq(Task::getProjectId, queryVO.getProjectId()).eq(Task::getReportUser, AuthUtil.getUserId().toString());
+
         //设置查询参数
-        this.integrationMethod(wrapper, queryVO);
+        this.integrationMethod(wrapper, queryVO, contractInfoMaps);
+
         //获取主流程
         List<Task> masterTaskList = this.taskService.list(wrapper);
         if (masterTaskList != null && masterTaskList.size() > 0) {
+
+            //封装获取主流程下所有相关的审批人相关map
+            Map<String, List<TaskParallel>> taskParallelMaps = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery()
+                    .select(TaskParallel::getProcessInstanceId, TaskParallel::getTaskUserName, TaskParallel::getEVisaStatus, TaskParallel::getStatus, TaskParallel::getInitiative))
+                    .stream().filter(f -> ObjectUtil.isNotEmpty(f.getProcessInstanceId())).collect(Collectors.groupingBy(TaskParallel::getProcessInstanceId));
+
             //获取集合
             List<String> processInstanceIds = masterTaskList.stream().map(Task::getProcessInstanceId).distinct().collect(Collectors.toList());
             //设置主表map,方便获取
@@ -250,8 +267,10 @@ public class TaskController extends BladeController {
                     vo.setTypeValue(new Integer("1").equals(vo.getType()) ? "普通任务" : new Integer("2").equals(vo.getType()) ? "验收任务" : "移交任务");
                     vo.setTaskId(flow.getTaskId());
                     vo.setTaskStatus(new Integer("1").equals(task.getStatus()) ? "待审批" : new Integer("2").equals(task.getStatus()) ? "已审批" : "已废除", task.getStatus());
+
                     //查询分支流程信息
-                    List<TaskParallel> linkList = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getProcessInstanceId, task.getProcessInstanceId()));
+                    //List<TaskParallel> linkList = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getProcessInstanceId, task.getProcessInstanceId()));
+                    List<TaskParallel> linkList = taskParallelMaps.get(task.getProcessInstanceId());
                     if (linkList != null && !linkList.isEmpty()) {
                         this.integrationMethod(vo, linkList);
                     }
@@ -393,7 +412,7 @@ public class TaskController extends BladeController {
     @ApiOperationSupport(order = 6)
     @ApiOperation(value = "获取任务类型或任务状态")
     public R<List<DictBiz>> queryTaskTypeOrStatus(String typeOrStatus) {
-        return this.dictBizClient.getList(typeOrStatus, "notRoot");
+        return R.data(jdbcTemplate.query("select dict_key, dict_value from blade_dict_biz where code = '" + typeOrStatus + "' and parent_id > 0 and is_sealed = 0 and is_deleted = 0 order by sort", new BeanPropertyRowMapper<>(DictBiz.class)));
     }
 
     /**
@@ -407,14 +426,17 @@ public class TaskController extends BladeController {
         Map<String, Task> masterTaskMap = new HashMap<>();
         Map<String, TaskParallel> parallelMap = new HashMap<>();
         List<String> parallelProcessInstanceIds = new ArrayList<>();
+
         //统合查询方法
         this.integrationMethod(queryVO, masterTaskMap, parallelMap, parallelProcessInstanceIds, "2,3");
-        if (masterTaskMap.size() == 0 || parallelMap.size() == 0) {
+
+        if (masterTaskMap.size() == 0 && parallelMap.size() == 0) {
             return R.data(null);
         }
 
-        //获取已办(基于原生已办)
+        //获取待办(基于原生待办,原生待办是指的系统上报的,不是数字化上传生成的)
         R<Object> rObject = this.newFlowClient.selectDonePage(queryVO.getCurrent(), queryVO.getSize(), queryVO.getOrdType() == null ? 1 : queryVO.getOrdType(), String.join(",", parallelProcessInstanceIds));
+
         //处理参数
         return this.integrationMethod(queryVO, rObject, masterTaskMap, parallelMap, false);
     }
@@ -450,33 +472,84 @@ public class TaskController extends BladeController {
     @GetMapping("/user-to-do-task-list")
     @ApiOperationSupport(order = 3)
     @ApiOperation(value = "获取当前用户待办流程")
-    public R<IPage<TaskVO>> todoUserApprovalTask(TaskQueryVO queryVO) {
+    public R<IPage<TaskVO>> todoUserApprovalTask(TaskQueryVO queryVO) throws IOException {
         //设置获取参数
         Map<String, Task> masterTaskMap = new HashMap<>();
         Map<String, TaskParallel> parallelMap = new HashMap<>();
         List<String> parallelProcessInstanceIds = new ArrayList<>();
+
         //统合查询方法
         this.integrationMethod(queryVO, masterTaskMap, parallelMap, parallelProcessInstanceIds, "1");
-        if (masterTaskMap.size() == 0 || parallelMap.size() == 0) {
+
+        //如果为空直接返回
+        if (masterTaskMap.size() == 0 && parallelMap.size() == 0) {
+            this.sendsWebSocketCount(null, 2, queryVO);
             return R.data(null);
         }
-        //获取待办(基于原生待办)
+
+        //获取待办(基于原生待办,原生待办是指的系统上报的,不是数字化上传生成的)
         R<Object> rObject = this.newFlowClient.selectTodoPage(queryVO.getCurrent(), queryVO.getSize(), queryVO.getOrdType() == null ? 1 : queryVO.getOrdType(), String.join(",", parallelProcessInstanceIds));
+
         //处理参数
-        return this.integrationMethod(queryVO, rObject, masterTaskMap, parallelMap, true);
+        R<IPage<TaskVO>> iPageR = this.integrationMethod(queryVO, rObject, masterTaskMap, parallelMap, true);
+
+        //推送
+        if (ObjectUtil.isNotEmpty(iPageR.getData()) && ObjectUtil.isNotEmpty(iPageR.getData().getRecords())) {
+            this.sendsWebSocketCount(iPageR, 1, queryVO);
+        } else {
+            this.sendsWebSocketCount(null, 2, queryVO);
+        }
+        return iPageR;
+    }
+
+    /**
+     * 推送消息
+     *
+     * @param iPageR
+     * @param type
+     * @param queryVO
+     * @throws IOException
+     */
+    @Async
+    public void sendsWebSocketCount(R<IPage<TaskVO>> iPageR, int type, TaskQueryVO queryVO) throws IOException {
+        if (type == 1) {
+            Map<String, String> stringMap = iTaskService.getTaskCount(queryVO.getProjectId(), queryVO.getCurrentContractId(), SecureUtil.getUserId().toString());
+            stringMap.put("taskCount", String.valueOf(iPageR.getData().getTotal()));
+            long messageCount = Long.parseLong(stringMap.get("messageCount"));
+            long taskCount = Long.parseLong(stringMap.get("taskCount"));
+            stringMap.put("allCount", String.valueOf(messageCount + taskCount));
+            webSocket.sendMessageByUserId(AuthUtil.getUserId().toString(), JSON.toJSONString(stringMap));
+        } else if (type == 2) {
+            Map<String, String> stringMap = iTaskService.getTaskCount(queryVO.getProjectId(), queryVO.getCurrentContractId(), SecureUtil.getUserId().toString());
+            stringMap.put("taskCount", "0");
+            long messageCount = Long.parseLong(stringMap.get("messageCount"));
+            long taskCount = Long.parseLong(stringMap.get("taskCount"));
+            stringMap.put("allCount", String.valueOf(messageCount + taskCount));
+            webSocket.sendMessageByUserId(AuthUtil.getUserId().toString(), JSON.toJSONString(stringMap));
+        }
     }
 
     /**
      * 统合查询方法
+     *
+     * @param queryVO                    入参vo
+     * @param masterTaskMap              所有符合条件的任务Map,key=getProcessInstanceId,value=task
+     * @param parallelMap
+     * @param parallelProcessInstanceIds
+     * @param status
      */
     private void integrationMethod(TaskQueryVO queryVO, Map<String, Task> masterTaskMap, Map<String, TaskParallel> parallelMap, List<String> parallelProcessInstanceIds, String status) {
+        //获取所有合同段信息Maps
+        Map<Long, ContractInfo> contractInfoMaps = jdbcTemplate.query("select id,contract_type from m_contract_info where is_deleted = 0 and status = 1", new BeanPropertyRowMapper<>(ContractInfo.class)).stream().collect(Collectors.toMap(ContractInfo::getId, Function.identity()));
         //先查询符合条件的流程
         LambdaQueryWrapper<Task> wrapper = Wrappers.<Task>lambdaQuery().eq(Task::getIsDeleted, 0)
                 .eq(Task::getProjectId, queryVO.getProjectId()).eq(StringUtils.isNotBlank(queryVO.getBatch()), Task::getBatch, queryVO.getBatch());
-        this.integrationMethod(wrapper, queryVO);
+        //封装wrapper
+        this.integrationMethod(wrapper, queryVO, contractInfoMaps);
 
-        //符合条件的集合
+        //符合条件的集合(获取当前查询的任务,还未分页)
         List<Task> masterTaskList = this.taskService.list(wrapper);
+
         //根据主表获取附表且当前用户的记录
         List<String> processInstanceIds = new ArrayList<>();
         masterTaskList.forEach(task -> {
@@ -485,7 +558,9 @@ public class TaskController extends BladeController {
         });
 
         if (processInstanceIds.size() > 0) {
-            List<TaskParallel> parallelTaskList = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().in(TaskParallel::getProcessInstanceId, processInstanceIds).eq(TaskParallel::getTaskUser, AuthUtil.getUserId().toString()).eq(TaskParallel::getIsDeleted, 0).in(TaskParallel::getStatus, Arrays.asList(status.split(","))));
+            List<TaskParallel> parallelTaskList = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().in(TaskParallel::getProcessInstanceId, processInstanceIds)
+                    .eq(TaskParallel::getTaskUser, AuthUtil.getUserId().toString()).eq(TaskParallel::getIsDeleted, 0)
+                    .in(TaskParallel::getStatus, Arrays.asList(status.split(","))));
             parallelTaskList.forEach(parallel -> {
                 parallelMap.put(parallel.getParallelProcessInstanceId(), parallel);
                 parallelProcessInstanceIds.add(parallel.getParallelProcessInstanceId());
@@ -493,7 +568,7 @@ public class TaskController extends BladeController {
         }
     }
 
-    private void integrationMethod(LambdaQueryWrapper<Task> wrapper, TaskQueryVO queryVO) {
+    private void integrationMethod(LambdaQueryWrapper<Task> wrapper, TaskQueryVO queryVO, Map<Long, ContractInfo> contractInfoMaps) {
         //任务类型
         if (StringUtils.isNotEmpty(queryVO.getTaskType())) {
             wrapper.eq(Task::getType, queryVO.getTaskType());
@@ -504,7 +579,8 @@ public class TaskController extends BladeController {
         }
         //合同段ID
         if (StringUtils.isNotEmpty(queryVO.getContractId())) {
-            ContractInfo contractInfo = contractClient.getContractById(Long.valueOf(queryVO.getContractId()));
+            //ContractInfo contractInfo = contractClient.getContractById(Long.valueOf(queryVO.getContractId()));
+            ContractInfo contractInfo = contractInfoMaps.get(Long.valueOf(queryVO.getContractId()));
             if (contractInfo.getContractType() == 2) {
                 wrapper.eq(Task::getProjectId, queryVO.getProjectId());
             } else {
@@ -539,6 +615,12 @@ public class TaskController extends BladeController {
             List<BladeFlow> result = JSONArray.parseArray(JSONObject.toJSONString(flowIPage.getRecords()), BladeFlow.class);
 
             if (result != null && result.size() > 0) {
+
+                //封装获取主流程下所有相关的审批人相关map
+                Map<String, List<TaskParallel>> taskParallelMaps = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery()
+                        .select(TaskParallel::getProcessInstanceId, TaskParallel::getTaskUserName, TaskParallel::getEVisaStatus, TaskParallel::getStatus, TaskParallel::getInitiative))
+                        .stream().filter(f -> ObjectUtil.isNotEmpty(f.getProcessInstanceId())).collect(Collectors.groupingBy(TaskParallel::getProcessInstanceId));
+
                 //获取相关信息
                 result.forEach(flow -> {
                     TaskParallel taskParallel = parallelMap.get(flow.getProcessInstanceId());
@@ -555,7 +637,7 @@ public class TaskController extends BladeController {
                             vo.setParallelProcessInstanceId(flow.getProcessInstanceId());
                             vo.setTaskId(flow.getTaskId());
                             vo.setTaskStatus(new Integer("1").equals(task.getStatus()) ? "待审批" : new Integer("2").equals(task.getStatus()) ? "已审批" : "已废除", task.getStatus());
-//                            vo.setEVisaContent(taskParallel.getEVisaContent());
+                            //vo.setEVisaContent(taskParallel.getEVisaContent());
                             if (task.getStatus() == 3) {
                                 vo.setEVisaContent("废除成功");
                             } else {
@@ -563,7 +645,8 @@ public class TaskController extends BladeController {
                             }
 
                             //获取主流程下所有相关的审批人
-                            List<TaskParallel> linkList = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getProcessInstanceId, task.getProcessInstanceId()).eq(TaskParallel::getIsDeleted, 0));
+                            //List<TaskParallel> linkList = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().eq(TaskParallel::getProcessInstanceId, task.getProcessInstanceId()).eq(TaskParallel::getIsDeleted, 0));
+                            List<TaskParallel> linkList = taskParallelMaps.get(task.getProcessInstanceId());
                             if (linkList != null && linkList.size() > 0) {
                                 this.integrationMethod(vo, linkList);
                             }
@@ -573,24 +656,23 @@ public class TaskController extends BladeController {
                         }
                     }
                 });
-
-//				//待办的原生方法并没有对数据做分页,所以需要在这里进行手动分页,而已办的原生方法已经做了分页处理
-//				if(!isToDo){
-//					//result是一个总的集合,需要手动进行分组分页
-//					List<List<TaskVO>> groupResult = CommonUtil.getBatchSize(finalResult, query.getSize());
-//					//获取当前页数据
-//					List<TaskVO> finalFlowList;
-//					if(groupResult.size() > 0){
-//						finalFlowList = groupResult.get(query.getCurrent() - 1);
-//					} else {
-//						finalFlowList = new ArrayList<>();
-//					}
-//					//最终分页数据
-//					return this.getIPageR(query, flowIPage, finalFlowList);
-//				} else {
+				/*//待办的原生方法并没有对数据做分页,所以需要在这里进行手动分页,而已办的原生方法已经做了分页处理
+				if(!isToDo){
+					//result是一个总的集合,需要手动进行分组分页
+					List<List<TaskVO>> groupResult = CommonUtil.getBatchSize(finalResult, query.getSize());
+					//获取当前页数据
+					List<TaskVO> finalFlowList;
+					if(groupResult.size() > 0){
+						finalFlowList = groupResult.get(query.getCurrent() - 1);
+					} else {
+						finalFlowList = new ArrayList<>();
+					}
+					//最终分页数据
+					return this.getIPageR(query, flowIPage, finalFlowList);
+				} else {*/
                 //最终分页数据
                 return this.getIPageR(query, flowIPage, finalResult);
-//				}
+                //}
             }
         }
         return R.data(null);

+ 62 - 62
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java

@@ -366,8 +366,8 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
         //修改主流程状态为3
         this.update(Wrappers.<Task>lambdaUpdate().set(Task::getStatus, 3).eq(Task::getId, task.getId()));
         //修改业务数据状态为未上报
-       // this.updateBusinessDataByFormDataId(task, 0, null);
-        this.updateBusinessDataByFormDataId(task, 0, null,-1L);
+        // this.updateBusinessDataByFormDataId(task, 0, null);
+        this.updateBusinessDataByFormDataId(task, 0, null, -1L);
 
         return true;
     }
@@ -376,41 +376,40 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
     public Map<String, String> getTaskCount(String projectId, String contractId, String userId) {
         if (StringUtils.isNotEmpty(projectId) && StringUtils.isNotEmpty(contractId)) {
             List<Task> tasks = this.baseMapper.selectList(Wrappers.<Task>lambdaQuery()
+                    .select(Task::getProcessInstanceId)
                     .eq(Task::getProjectId, projectId)
                     .eq(Task::getContractId, contractId)
-                    .eq(Task::getStatus, 1));
-
-            List<String> collect = tasks.stream().map(Task::getProcessInstanceId).collect(Collectors.toList());
-
-            long aLong = 0L;
-            if (collect.size() > 0) {
-                for (String id : collect) {
-                    Long row = taskParallelService.getBaseMapper().selectCount(Wrappers.<TaskParallel>lambdaQuery()
-                            .eq(TaskParallel::getProcessInstanceId, id)
-                            .eq(TaskParallel::getStatus, 1)
-                            .eq(TaskParallel::getTaskUser, userId)
-                    );
-                    if (row == 1) {
-                        aLong++;
-                    }
-                }
+                    .eq(Task::getStatus, 1)); //只获取待办任务数量
+
+            //任务主表相关数量
+            List<String> taskCountIds = tasks.stream().map(Task::getProcessInstanceId).collect(Collectors.toList());
+
+            //任务附表中当前用户的相关任务数量
+            long taskAllCount = 0;
+            if (taskCountIds.size() > 0) {
+                taskAllCount = taskParallelService.getBaseMapper().selectCount(Wrappers.<TaskParallel>lambdaQuery()
+                        .in(TaskParallel::getProcessInstanceId, taskCountIds)
+                        .eq(TaskParallel::getTaskUser, userId)
+                        .eq(TaskParallel::getStatus, 1));
             }
 
+            //未读消息提醒数量
             List<MessageWarning> messageWarnings = messageWarningService.getBaseMapper().selectList(Wrappers.<MessageWarning>lambdaQuery()
+                    .select(MessageWarning::getType)
                     .eq(MessageWarning::getProjectId, projectId)
                     .eq(MessageWarning::getContractId, contractId)
                     .eq(MessageWarning::getPushUser, userId)
                     .eq(MessageWarning::getIsRead, 0)
             );
+
             long messageCount1 = messageWarnings.stream().filter(f -> f.getType().equals(1)).count();
             long messageCount2 = messageWarnings.stream().filter(f -> f.getType().equals(2)).count();
             long messageCount3 = messageWarnings.stream().filter(f -> f.getType().equals(3)).count();
             long messageCount4 = messageWarnings.stream().filter(f -> f.getType().equals(4)).count();
             long messageCount5 = messageWarnings.stream().filter(f -> f.getType().equals(5)).count();
-
             Map<String, String> map = new HashMap<>();
-            map.put("allCount", String.valueOf(aLong + messageWarnings.size()));//任务管理
-            map.put("taskCount", String.valueOf(aLong));//任务查看
+            map.put("allCount", String.valueOf(taskAllCount + messageWarnings.size()));//任务管理
+            map.put("taskCount", String.valueOf(taskAllCount));//任务查看
             map.put("messageCount", String.valueOf(messageWarnings.size()));//消息提醒
             map.put("messageCount_1", String.valueOf(messageCount1));//任务催办
             map.put("messageCount_2", String.valueOf(messageCount2));//监测预警
@@ -622,14 +621,14 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                         //修改主流程状态为已完成
                         this.update(Wrappers.<Task>lambdaUpdate().set(Task::getStatus, 2).set(Task::getUpdateTime, new Date()).eq(Task::getId, masterTask.getId()));
                         //修改对应的业务数据状态为已审批
-                        this.updateBusinessDataByFormDataId(masterTask, 2, finalPdfUrl,taskApprovalVO.getUserId());
+                        this.updateBusinessDataByFormDataId(masterTask, 2, finalPdfUrl, taskApprovalVO.getUserId());
 
                         //返回电签成功的pdf路径,给试验用
                         return finalPdfUrl;
                     }
                 } else {
                     //只更新PDF路径
-                    this.updateBusinessDataByFormDataId(masterTask, 1, eVisaStatus.contains("@@@@") ? eVisaStatus.split("@@@@")[1] : null,taskApprovalVO.getUserId());
+                    this.updateBusinessDataByFormDataId(masterTask, 1, eVisaStatus.contains("@@@@") ? eVisaStatus.split("@@@@")[1] : null, taskApprovalVO.getUserId());
                     return eVisaStatus.contains("@@@@") ? eVisaStatus.split("@@@@")[1] : null;
                 }
             } else if ("eVisaError".equals(eVisaStatus) || eVisaStatus.contains("eVisaError")) {
@@ -700,7 +699,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
             }
             this.update(Wrappers.<Task>lambdaUpdate().set(Task::getStatus, 3).set(Task::getUpdateTime, new Date()).eq(Task::getProcessInstanceId, masterProcessInstanceId));
             //修改对应的业务数据状态为已废除
-            this.updateBusinessDataByFormDataId(this.getOne(Wrappers.<Task>lambdaQuery().eq(Task::getProcessInstanceId, masterProcessInstanceId)), 3, null,taskApprovalVO.getUserId());
+            this.updateBusinessDataByFormDataId(this.getOne(Wrappers.<Task>lambdaQuery().eq(Task::getProcessInstanceId, masterProcessInstanceId)), 3, null, taskApprovalVO.getUserId());
 
             //任务废除通知
             this.abolishMessage(masterTask, currentLink, comment);
@@ -942,11 +941,11 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
     /**
      * 修改业务数据状态
      */
-    private void updateBusinessDataByFormDataId(Task task, Integer status, String newFileUrl,Long UserId) {
+    private void updateBusinessDataByFormDataId(Task task, Integer status, String newFileUrl, Long UserId) {
         switch (task.getApprovalType()) {
             case 1:
                 //资料填报
-                this.updateWriteBusinessDataStatus(task.getFormDataId(), status, newFileUrl,UserId);
+                this.updateWriteBusinessDataStatus(task.getFormDataId(), status, newFileUrl, UserId);
                 break;
             case 2:
                 //工程文件
@@ -977,50 +976,50 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
      * 资料填报
      */
     @Transactional
-    public void updateWriteBusinessDataStatus(String formDataId, Integer status, String newFileUrl,Long userId) {
-        String pdfPage ="";
-        Long pdfSize =0L;
+    public void updateWriteBusinessDataStatus(String formDataId, Integer status, String newFileUrl, Long userId) {
+        String pdfPage = "";
+        Long pdfSize = 0L;
         String dateInfo = "";
         try {
             System.out.println("----- 电签成功--------");
             pdfPage = commonFileClient.getPdfNum(newFileUrl);
             pdfSize = CommonUtil.getResourceLength(newFileUrl);
-            System.out.println("----- 电签成功--------==pdfPage"+pdfPage);
-            System.out.println("----- 电签成功--------==pdfSize"+pdfSize);
+            System.out.println("----- 电签成功--------==pdfPage" + pdfPage);
+            System.out.println("----- 电签成功--------==pdfSize" + pdfSize);
             List<String> list = Arrays.asList(formDataId.split(","));
-            for(String iId : list){
+            for (String iId : list) {
                 //获取
                 InformationQuery queryinfo = informationQueryService.getById(iId);
 
-                List<AppWbsTreeContractVO> WbsTreeContract = wbsTreeContractClient.searchNodeAllTableInfo(queryinfo.getWbsId() + "", queryinfo.getClassify() + "", queryinfo.getContractId() + "", queryinfo.getProjectId() + "",userId);
+                List<AppWbsTreeContractVO> WbsTreeContract = wbsTreeContractClient.searchNodeAllTableInfo(queryinfo.getWbsId() + "", queryinfo.getClassify() + "", queryinfo.getContractId() + "", queryinfo.getProjectId() + "", userId);
                 List<String> collect = new ArrayList<>();
-                Map<String,String> idMap = new HashMap<>();
-                for(AppWbsTreeContractVO appWbsTreeContractVO : WbsTreeContract){
+                Map<String, String> idMap = new HashMap<>();
+                for (AppWbsTreeContractVO appWbsTreeContractVO : WbsTreeContract) {
                     collect.add(appWbsTreeContractVO.getInitTableName());
-                    idMap.put(appWbsTreeContractVO.getInitTableName(),appWbsTreeContractVO.getPKeyId()+"");
+                    idMap.put(appWbsTreeContractVO.getInitTableName(), appWbsTreeContractVO.getPKeyId() + "");
                 }
                 List<TabBusstimeInfo> tabussTimeInfo = informationQueryService.getTabussTimeInfo(collect);
-                if(tabussTimeInfo!=null && tabussTimeInfo.size()>=1){
+                if (tabussTimeInfo != null && tabussTimeInfo.size() >= 1) {
                     TabBusstimeInfo tabBusstimeInfo = tabussTimeInfo.get(0);
-                    String querySql = "select "+tabBusstimeInfo.getColKey()+" from "+tabBusstimeInfo.getTabEnName()+" where p_key_id="+idMap.get(tabBusstimeInfo.getTabEnName());
+                    String querySql = "select " + tabBusstimeInfo.getColKey() + " from " + tabBusstimeInfo.getTabEnName() + " where p_key_id=" + idMap.get(tabBusstimeInfo.getTabEnName());
                     Map<String, Object> maps = jdbcTemplate.queryForMap(querySql);
-                    if(maps!=null){
-                      String  keyData = maps.get(tabBusstimeInfo.getColKey())+"";
-                        if(StringUtils.isNotEmpty(keyData)){
+                    if (maps != null) {
+                        String keyData = maps.get(tabBusstimeInfo.getColKey()) + "";
+                        if (StringUtils.isNotEmpty(keyData)) {
                             dateInfo = keyData.split("_\\^_")[0];
-                            if(dateInfo.indexOf("年")>=0){
-                                dateInfo = dateInfo.replace("年","-");
+                            if (dateInfo.indexOf("年") >= 0) {
+                                dateInfo = dateInfo.replace("年", "-");
                             }
-                            if(dateInfo.indexOf("月")>=0){
-                                dateInfo = dateInfo.replace("月","-");
+                            if (dateInfo.indexOf("月") >= 0) {
+                                dateInfo = dateInfo.replace("月", "-");
                             }
-                            if(dateInfo.indexOf("日")>=0){
-                                dateInfo = dateInfo.replace("日","");
+                            if (dateInfo.indexOf("日") >= 0) {
+                                dateInfo = dateInfo.replace("日", "");
                             }
                         }
                     }
                 }
-                System.out.println("----- 电签成功--------==修改---="+dateInfo);
+                System.out.println("----- 电签成功--------==修改---=" + dateInfo);
                 this.informationQueryService.update(Wrappers.<InformationQuery>lambdaUpdate().set(InformationQuery::getStatus, status)
                         .set(InformationQuery::getEVisaPdfUrl, newFileUrl)
                         .set(InformationQuery::getReportNumber, null)
@@ -1030,7 +1029,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                         .set(InformationQuery::getBusinessTime, dateInfo)
                         .in(InformationQuery::getId, Arrays.asList(formDataId.split(","))));
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             this.informationQueryService.update(Wrappers.<InformationQuery>lambdaUpdate().set(InformationQuery::getStatus, status)
                     .set(InformationQuery::getEVisaPdfUrl, newFileUrl)
                     .set(InformationQuery::getReportNumber, null)
@@ -1042,7 +1041,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
         }
 
         //关联原生电子文件到归档
-        handleArchiveFileBusinessData(formDataId,status);
+        handleArchiveFileBusinessData(formDataId, status);
     }
 
     /**
@@ -1060,11 +1059,11 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
 
     /**
      * 关联原生电子文件到归档
+     *
      * @param formDataId
-     * @param status 任务状态
+     * @param status     任务状态
      */
-    public void handleArchiveFileBusinessData(String formDataId, Integer status)
-    {
+    public void handleArchiveFileBusinessData(String formDataId, Integer status) {
         InformationQuery query = this.informationQueryService.getById(formDataId);
         if (query != null) {
             ArchiveProjectConfig archiveProjectConfig = archiveAutoClient.getByProjectIdOrNew(query.getProjectId());
@@ -1107,7 +1106,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
         //Long fileSize = FileUtils.getOssFileSizeCount(listFiles);
 
         if (archiveFiles != null && archiveFiles.size() > 0) {
-            for (ArchiveFile archiveFile: archiveFiles) {
+            for (ArchiveFile archiveFile : archiveFiles) {
                 archiveFile.setEVisaFile(query.getEVisaPdfUrl());
                 archiveFile.setPdfFileUrl(query.getEVisaPdfUrl()); // 这里将pdfFileUrl也更新了,因为需求中没有限制只能更新eVisaFile属性
                 archiveFile.setFileSize(query.getEVisaPdfSize());
@@ -1116,23 +1115,23 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
         } else {
             Date createTime = null;
             WbsTreeContract wbsTreeContract = wbsTreeContractClient.getContractNodeByPrimaryKeyId(keyId.toString());
-            if (wbsTreeContract!= null ) {
+            if (wbsTreeContract != null) {
                 createTime = wbsTreeContract.getCreateTime();
             }
-            ArchiveFile newArchiveFile = getArchiveFile(query,nodeId,keyId,query.getEVisaPdfSize(),contractIndfo.archivesUnit(),createTime);
+            ArchiveFile newArchiveFile = getArchiveFile(query, nodeId, keyId, query.getEVisaPdfSize(), contractIndfo.archivesUnit(), createTime);
             this.archiveFileService.save(newArchiveFile);
         }
     }
 
-    public ArchiveFile getArchiveFile(InformationQuery query,Long nodeId,Long keyId,Long fileSize,String unit,Date createTime) {
+    public ArchiveFile getArchiveFile(InformationQuery query, Long nodeId, Long keyId, Long fileSize, String unit, Date createTime) {
         ArchiveFile archiveFile = new ArchiveFile();
         archiveFile.setNodeId(nodeId.toString());
         archiveFile.setNodeExtId(keyId);
-        archiveFile.setProjectId(query.getProjectId() == null?"":query.getProjectId().toString());
+        archiveFile.setProjectId(query.getProjectId() == null ? "" : query.getProjectId().toString());
         archiveFile.setContractId(query.getContractId().toString());
         archiveFile.setStatus(2); // 这里是新增归档文件,所以状态为1(已完成)
         //TODO 文件题名规则,待补充
-        fillFileNameAndTime(archiveFile,query);
+        fillFileNameAndTime(archiveFile, query);
         archiveFile.setSourceType(1);
         archiveFile.setIsArchive(0);
 
@@ -1154,7 +1153,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
     }
 
 
-    public  void fillFileNameAndTime(ArchiveFile archiveFile,InformationQuery info) {
+    public void fillFileNameAndTime(ArchiveFile archiveFile, InformationQuery info) {
         archiveFile.setFileName(info.getName());
         archiveFile.setFileTime(info.getBusinessTime());
 
@@ -1164,16 +1163,17 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
 
     /**
      * 废除任务时删除原生电子文件数据
+     *
      * @param projectId
      * @param wbsId
      */
-    public void delArchiveFileBusinessData(Long projectId,Long wbsId) {
+    public void delArchiveFileBusinessData(Long projectId, Long wbsId) {
         List<ArchiveFile> archiveFiles = this.archiveFileService.list(Wrappers.<ArchiveFile>lambdaQuery()
                 .eq(ArchiveFile::getProjectId, projectId)
                 .eq(ArchiveFile::getNodeExtId, wbsId)
                 .eq(ArchiveFile::getIsDeleted, 0));
 
-        if (archiveFiles!= null && archiveFiles.size() > 0) {
+        if (archiveFiles != null && archiveFiles.size() > 0) {
             List<Long> ids = archiveFiles.stream()
                     .map(ArchiveFile::getId)
                     .collect(Collectors.toList());