From bc531bac2ad8aeb15723b2ee16fac5b74827f2b6 Mon Sep 17 00:00:00 2001
From: wangwh <2397901735@qq.com>
Date: Sun, 15 Sep 2024 13:33:14 +0800
Subject: [PATCH] 联合处置查询组织接口 首页查询-待分派接口修改 案件登记接口添加默认属地 申请记录接口添加附件查询

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java |  176 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 97 insertions(+), 79 deletions(-)

diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
index 123daa6..290d35e 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -34,6 +34,7 @@
 import cn.huge.module.flow.service.FlowInfoService;
 import cn.huge.module.mediate.constant.*;
 import cn.huge.module.sys.constant.SyTimeEnum;
+import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -644,6 +645,7 @@
                         if(frontPageListDTO.getCaseId().equals(unfold.getId())){
                             frontPageListDTO.setOrganizingUnit(unfold.getMediateUnitName());
                             frontPageListDTO.setCooperatingUnit(unfold.getAssistUnitName());
+                            frontPageListDTO.setManager(unfold.getMediator());
                         }
                     }
                 }
@@ -742,12 +744,31 @@
             caseAssistApplyQueryWrapper.eq("case_id", caseId);
             List<CaseAssistApply>caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper);
             List<SortUtilDTO> sortUtilDTOList = new ArrayList<>();
+
+            String ids = new String();
+            ids += caseReturnList.stream().map(CaseReturn:: getId).collect(Collectors.joining(","));
+            ids += caseAppearList.stream().map(CaseAppear:: getId).collect(Collectors.joining(","));
+            ids += caseWindupApplyList.stream().map(CaseWindupApply:: getId).collect(Collectors.joining(","));
+            ids += caseAssistApplyList.stream().map(CaseAssistApply:: getId).collect(Collectors.joining(","));
+            List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = new ArrayList<>();
+            if(StringUtils.isNotBlank(ids)){
+                Map terms = new HashMap();
+                terms.put("mainId", caseId);
+                terms.put("ownerIds", "," + ids + ",");
+                fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(terms);
+            }
+
             for(CaseReturn caseReturn: caseReturnList){
                 SortUtilDTO sortUtilDTO = new SortUtilDTO();
                 sortUtilDTO.setObject(caseReturn);
                 sortUtilDTO.setDate(caseReturn.getCreateTime());
                 sortUtilDTO.setType("回退申请");
                 sortUtilDTOList.add(sortUtilDTO);
+                for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){
+                    if(caseReturn.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){
+                        sortUtilDTO.setFileList(fileIdTypeInfoBaseDTO.getFileList());
+                    }
+                }
             }
             for(CaseAppear caseAppear: caseAppearList){
                 SortUtilDTO sortUtilDTO = new SortUtilDTO();
@@ -755,6 +776,11 @@
                 sortUtilDTO.setDate(caseAppear.getCreateTime());
                 sortUtilDTO.setType("上报申请");
                 sortUtilDTOList.add(sortUtilDTO);
+                for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){
+                    if(caseAppear.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){
+                        sortUtilDTO.setFileList(fileIdTypeInfoBaseDTO.getFileList());
+                    }
+                }
             }
             for(CaseWindupApply caseWindupApply: caseWindupApplyList){
                 SortUtilDTO sortUtilDTO = new SortUtilDTO();
@@ -762,6 +788,11 @@
                 sortUtilDTO.setDate(caseWindupApply.getCreateTime());
                 sortUtilDTO.setType("结案申请");
                 sortUtilDTOList.add(sortUtilDTO);
+                for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){
+                    if(caseWindupApply.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){
+                        sortUtilDTO.setFileList(fileIdTypeInfoBaseDTO.getFileList());
+                    }
+                }
             }
             for(CaseAssistApply caseAssistApply: caseAssistApplyList){
                 SortUtilDTO sortUtilDTO = new SortUtilDTO();
@@ -769,6 +800,11 @@
                 sortUtilDTO.setDate(caseAssistApply.getCreateTime());
                 sortUtilDTO.setType("联合处置申请");
                 sortUtilDTOList.add(sortUtilDTO);
+                for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){
+                    if(caseAssistApply.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){
+                        sortUtilDTO.setFileList(fileIdTypeInfoBaseDTO.getFileList());
+                    }
+                }
             }
             sortUtilDTOList.sort(Comparator.comparing(SortUtilDTO::getDate));
             List<Object> resultList = new ArrayList<>();
@@ -777,8 +813,8 @@
             }
             return resultList;
         }catch (Exception e) {
-            log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e);
-            throw new ServiceException("CaseTaskService.pageMyTaskQs", e);
+            log.error("[CaseTaskService.listMyApplyRecord]调用失败,异常信息:" + e, e);
+            throw new ServiceException("CaseTaskService.listMyApplyRecord", e);
         }
     }
 
@@ -932,36 +968,36 @@
                         FlowNode secondFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(),
                                 FlowableConsts.OPERATION_jb_zszz, "系统派单");
                         // 进入第2个节点-镇街级组织待受理
-                        CaseTask sdlCaseTask = new CaseTask();
-                        sdlCaseTask.setId(utilsClient.getNewTimeId());
-                        sdlCaseTask.setCaseId(caseInfo.getId());
-                        sdlCaseTask.setFlowableId(secondFlowNode.getFlowableId());
-                        sdlCaseTask.setProcessInstanceId(secondFlowNode.getProcessInstanceId());
-                        sdlCaseTask.setProcessTaskId(secondFlowNode.getProcessTaskId());
-                        sdlCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
-                        sdlCaseTask.setNodeType(secondFlowNode.getNodeType());
-                        sdlCaseTask.setNodeId(secondFlowNode.getNodeId());
-                        sdlCaseTask.setNodeName(secondFlowNode.getNodeName());
-                        sdlCaseTask.setFlowId(secondFlowNode.getFlowId());
-                        sdlCaseTask.setNodeShowName(secondFlowNode.getNodeShowName());
-                        sdlCaseTask.setCaseTaskType(dfpCaseTask.getCaseTaskType());
+                        CaseTask dslCaseTask = new CaseTask();
+                        dslCaseTask.setId(utilsClient.getNewTimeId());
+                        dslCaseTask.setCaseId(caseInfo.getId());
+                        dslCaseTask.setFlowableId(secondFlowNode.getFlowableId());
+                        dslCaseTask.setProcessInstanceId(secondFlowNode.getProcessInstanceId());
+                        dslCaseTask.setProcessTaskId(secondFlowNode.getProcessTaskId());
+                        dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+                        dslCaseTask.setNodeType(secondFlowNode.getNodeType());
+                        dslCaseTask.setNodeId(secondFlowNode.getNodeId());
+                        dslCaseTask.setNodeName(secondFlowNode.getNodeName());
+                        dslCaseTask.setFlowId(secondFlowNode.getFlowId());
+                        dslCaseTask.setNodeShowName(secondFlowNode.getNodeShowName());
+                        dslCaseTask.setCaseTaskType(dfpCaseTask.getCaseTaskType());
                         // 通过调度的,任务候选执行者类型是上一步骤选择
-                        sdlCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                        sdlCaseTask.setCandeUnitId(caseDispBaseDTO.getTargetId());
-                        sdlCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName());
+                        dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                        dslCaseTask.setCandeUnitId(caseDispBaseDTO.getTargetId());
+                        dslCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName());
                         // 系统调度给调解组织,需要签收
-                        sdlCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
-                        sdlCaseTask.setSignExpireTime(sysClient.getExpireTime(caseInfo.getCreateTime(), SyTimeEnum.SY_TIME_2.getIndex()));
+                        dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
+                        dslCaseTask.setSignExpireTime(sysClient.getExpireTime(caseInfo.getCreateTime(), SyTimeEnum.SY_TIME_2.getIndex()));
                         // 任务处理时限
                         if (firstFlowNode.getExpire() != 0) {
-                            sdlCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire()));
+                            dslCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire()));
                         }
-                        sdlCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
-                        sdlCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-                        sdlCaseTask.setCustId(caseInfo.getCustId());
-                        sdlCaseTask.setCreateTime(caseInfo.getCreateTime());
-                        sdlCaseTask.setUpdateTime(caseInfo.getUpdateTime());
-                        mapper.insert(sdlCaseTask);
+                        dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                        dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                        dslCaseTask.setCustId(caseInfo.getCustId());
+                        dslCaseTask.setCreateTime(caseInfo.getCreateTime());
+                        dslCaseTask.setUpdateTime(caseInfo.getUpdateTime());
+                        mapper.insert(dslCaseTask);
                         // 更新纠纷信息
                         CaseInfo caseInfoPO = new CaseInfo();
                         caseInfoPO.setId(caseInfo.getId());
@@ -986,7 +1022,7 @@
      * @param caseInfo
      * @param loginUser
      */
-    public void webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){
+    public String webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){
         try{
             // 启动自行受理工作流,进入待受理节点
             FlowNode dslFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_ZXSL, caseInfo.getId());
@@ -1077,6 +1113,7 @@
             caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId());
             caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName());
             caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+            return dslCaseTask.getId();
         }catch (Exception e){
             log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e);
             throw new ServiceException("CaseTaskService.webStartFlowZXSL", e);
@@ -1186,57 +1223,38 @@
                 String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId).
                         collect(Collectors.joining(BaseConsts.COMMA));
                 for (AssignAssistUnitDTO assignAssistUnitDTO: assignTaskDTO.getAssistUnitList()){
-                    // 创建交办配合组织任务
-                    CaseTask jbAssistCaseTask = new CaseTask();
-                    jbAssistCaseTask.setId(utilsClient.getNewTimeId());
-                    jbAssistCaseTask.setCaseId(dfpCaseTask.getCaseId());
-                    jbAssistCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
-                    jbAssistCaseTask.setNodeName("交办配合部门");
-                    jbAssistCaseTask.setNodeShowName("交办配合部门");
-                    jbAssistCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
-                    // 配合任务,任务候选执行者类型是上一步骤选择
-                    jbAssistCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                    jbAssistCaseTask.setCandeUnitId(loginUser.getUnitId());
-                    jbAssistCaseTask.setCandeUnitName(loginUser.getUnitName());
-                    jbAssistCaseTask.setHandleUnitId(loginUser.getUnitId());
-                    jbAssistCaseTask.setHandleUnitName(loginUser.getUnitId());
-                    jbAssistCaseTask.setHandleUserId(loginUser.getId());
-                    jbAssistCaseTask.setHandleUserName(loginUser.getTrueName());
-                    jbAssistCaseTask.setHandleContent(assignTaskDTO.getAssignContent());
-                    jbAssistCaseTask.setHandleIllust("派单至:"+assignTaskDTO.getHandleUnitName());
-                    jbAssistCaseTask.setHandleTime(nowDate);
-                    // 不需要签收
-                    jbAssistCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
-                    jbAssistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
-                    jbAssistCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-                    jbAssistCaseTask.setCustId(dfpCaseTask.getCustId());
-                    jbAssistCaseTask.setCreateTime(nowDate);
-                    jbAssistCaseTask.setUpdateTime(nowDate);
-                    mapper.insert(jbAssistCaseTask);
-                    // 创建配合组织任务
-                    CaseTask assistCaseTask = new CaseTask();
-                    assistCaseTask.setId(utilsClient.getNewTimeId());
-                    assistCaseTask.setCaseId(dfpCaseTask.getCaseId());
-                    assistCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
-                    assistCaseTask.setNodeId(FlowNodeEnum.FLOW_NODE_BLFK.getIndex());
-                    assistCaseTask.setNodeName(FlowNodeEnum.FLOW_NODE_BLFK.getDes());
-                    assistCaseTask.setNodeShowName(FlowNodeEnum.FLOW_NODE_BLFK.getIndex());
-                    assistCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
-                    // 配合任务,任务候选执行者类型是上一步骤选择
-                    assistCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                    assistCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId());
-                    assistCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName());
-                    assistCaseTask.setHandleUnitId(assignAssistUnitDTO.getUitId());
-                    assistCaseTask.setHandleUnitName(assignAssistUnitDTO.getUitName());
-                    // 分派的任务,需要签收
-                    assistCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
-                    assistCaseTask.setSignExpireTime(sysClient.getExpireTime(nowDate, SyTimeEnum.SY_TIME_2.getIndex()));
-                    assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
-                    assistCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-                    assistCaseTask.setCustId(dfpCaseTask.getCustId());
-                    assistCaseTask.setCreateTime(nowDate);
-                    assistCaseTask.setUpdateTime(nowDate);
-                    mapper.insert(assistCaseTask);
+                    // 启动联合处置工作流
+                    FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LHCZ, dfpCaseTask.getCaseId());
+                    // 创建配合部门待受理任务
+                    CaseTask lhczCaseTask = new CaseTask();
+                    lhczCaseTask.setId(utilsClient.getNewTimeId());
+                    lhczCaseTask.setCaseId(dfpCaseTask.getCaseId());
+                    lhczCaseTask.setFlowableId(firstFlowNode.getFlowableId());
+                    lhczCaseTask.setProcessInstanceId(firstFlowNode.getProcessInstanceId());
+                    lhczCaseTask.setProcessTaskId(firstFlowNode.getProcessTaskId());
+                    lhczCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+                    lhczCaseTask.setNodeType(firstFlowNode.getNodeType());
+                    lhczCaseTask.setNodeId(firstFlowNode.getNodeId());
+                    lhczCaseTask.setNodeName(firstFlowNode.getNodeName());
+                    lhczCaseTask.setFlowId(firstFlowNode.getFlowId());
+                    lhczCaseTask.setNodeShowName(firstFlowNode.getNodeShowName());
+                    lhczCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
+                    // 通过调度的,任务候选执行者类型是上一步骤选择
+                    lhczCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                    lhczCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId());
+                    lhczCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName());
+                    // 需要签收
+                    lhczCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
+                    lhczCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    // 任务处理时限
+                    if (firstFlowNode.getExpire() != 0) {
+                        lhczCaseTask.setExpireTime(DateUtils.addDay(nowDate, firstFlowNode.getExpire()));
+                    }
+                    lhczCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    lhczCaseTask.setCustId(dfpCaseTask.getCustId());
+                    lhczCaseTask.setCreateTime(nowDate);
+                    lhczCaseTask.setUpdateTime(nowDate);
+                    mapper.insert(lhczCaseTask);
                 }
                 // 更新纠纷扩展信息
                 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();

--
Gitblit v1.8.0