From fd3d6d30afb9041c2cc3099833b7683e12c7daff Mon Sep 17 00:00:00 2001
From: wangwh <2397901735@qq.com>
Date: Sun, 22 Sep 2024 10:00:36 +0800
Subject: [PATCH] 督办信息兼容新需求 查询待办任务-督办 首页-督办-我发起的 功能兼容 添加督办逻辑修改 新增全部签收接口 首页-待审核-我申请的 新增接口 办理反馈新增承办/配合部门判断 新增查询督办详情接口 查询时限接口bug修复

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java |  415 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 264 insertions(+), 151 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 156d9b8..296fe16 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
@@ -97,15 +97,8 @@
     private CaseEvaluateService caseEvaluateService;
     @Autowired
     private CaseAssistInfoService caseAssistInfoService;
-
     @Autowired
-    private CaseWindupApplyMapper caseWindupApplyMapper;
-    @Autowired
-    private CaseReturnMapper caseReturnMapper;
-    @Autowired
-    private CaseAppearMapper caseAppearMapper;
-    @Autowired
-    private CaseAssistApplyMapper caseAssistApplyMapper;
+    private CaseDismissService caseDismissService;
 
     /**
     * 更新对象
@@ -198,6 +191,20 @@
     }
 
     /**
+     * 根据纠纷编号查询进行中的配合部门任务
+     * @param caseId
+     * @return
+     */
+    public List<CaseTask> listAssistTasking(String caseId){
+        // 查询配合部门的任务
+        QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>();
+        caseTaskQueryWrapper.eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).eq("case_id", caseId)
+                .eq("status", CaseTaskConsts.TASK_STATUS_1);
+        List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
+       return assistCaseTaskList;
+    }
+
+    /**
      * web端-任务出来页面-初始化tab和按钮
      * @param caseTaskId
      * @return
@@ -274,134 +281,142 @@
             // 根据流程显示button
             List<TabButtonInfoDTO> buttonList = new LinkedList<>();
             if (ObjectUtils.isNotEmpty(caseTask)) {
-                if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId())) {
-                    tabList.add(dslxq);
+                // 不予受理
+                if (CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){
+                    tabList.add(daxx);
                     tabList.add(sqjl);
 
-                    buttonList.add(zxsl);
-                    buttonList.add(jb);
-                    buttonList.add(sb);
-                    buttonList.add(bysl);
-                }
-                if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId())) {
-                    tabList.add(dslxq);
-                    tabList.add(sqjl);
-
-                    buttonList.add(sl);
-                    buttonList.add(ht);
-                    buttonList.add(bysl);
-                }
-                if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId())) {
-                    sxxq.setName("详情");
-                    tabList.add(sxxq);
-                    tabList.add(sqjl);
-                    tabList.add(htsh);
-                }
-                if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId())) {
-                    sxxq.setName("详情");
-                    tabList.add(sxxq);
-                    tabList.add(sqjl);
-                    tabList.add(sbsh);
-                }
-                if (FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(caseTask.getNodeId())) {
-                    tabList.add(dslxq);
-                    tabList.add(sqjl);
-
-                    buttonList.add(zxsl);
-                    buttonList.add(jb);
-                    buttonList.add(sb);
-                    buttonList.add(bysl);
-                }
-                if (FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId())) {
-                    tabList.add(dslxq);
-                    tabList.add(sqjl);
-
-                    buttonList.add(sl);
-                    buttonList.add(ht);
-                    buttonList.add(bysl);
-                }
-                if (FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex().equals(caseTask.getNodeId())) {
-                    sxxq.setName("详情");
-                    tabList.add(sxxq);
-                    tabList.add(sqjl);
-                    tabList.add(htsh);
-                }
-                if (FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex().equals(caseTask.getNodeId())) {
-                    sxxq.setName("详情");
-                    tabList.add(sxxq);
-                    tabList.add(sqjl);
-                    tabList.add(sbsh);
-                }
-                if (FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) {
-                    tabList.add(dslxq);
-                    tabList.add(sqjl);
-
-                    buttonList.add(zxsl);
-                    buttonList.add(jb);
-                    buttonList.add(bysl);
-                }
-                if (FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) {
-                    tabList.add(dslxq);
-                    tabList.add(sqjl);
-
-                    buttonList.add(sl);
-                    buttonList.add(ht);
-                    buttonList.add(bysl);
-                }
-                if (FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex().equals(caseTask.getNodeId())) {
-                    sxxq.setName("详情");
-                    tabList.add(sxxq);
-                    tabList.add(sqjl);
-                    tabList.add(htsh);
-                }
-                if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) {
-                    if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) {
-                        tabList.add(sxxq);
-                        tabList.add(sxbl);
-                        tabList.add(lcdb);
+                }else {
+                    // 正常流程
+                    if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId())) {
+                        tabList.add(dslxq);
                         tabList.add(sqjl);
 
-                        buttonList.add(tjbljl);
-                        buttonList.add(lhczsq);
-                        buttonList.add(jasq);
-                        buttonList.add(db);
-                    }else {
-                        tabList.add(sxxq);
-                        tabList.add(sxbl);
-                        tabList.add(lcdb);
-                        tabList.add(sqjl);
-
-                        buttonList.add(tjbljl);
+                        buttonList.add(zxsl);
+                        buttonList.add(jb);
+                        buttonList.add(sb);
+                        buttonList.add(bysl);
                     }
-                }
-                if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) {
-                    tabList.add(sxxq);
-                    tabList.add(sqjl);
-                    tabList.add(jash);
-                }
-                if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(caseTask.getNodeId())) {
-                    daxx.setName("信息");
-                    tabList.add(daxx);
-                    tabList.add(lcdb);
-                    tabList.add(sqjl);
-                }
-                if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(caseTask.getNodeId())) {
-                    tabList.add(daxx);
-                    tabList.add(lcdb);
-                    tabList.add(sqjl);
-                }
-                if (FlowNodeEnum.FLOW_NODE_DSL.getIndex().equals(caseTask.getNodeId())) {
-                    tabList.add(dslxq);
-                    tabList.add(sqjl);
+                    if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId())) {
+                        tabList.add(dslxq);
+                        tabList.add(sqjl);
 
-                    buttonList.add(sl);
-                    buttonList.add(ht);
-                }
-                if (FlowNodeEnum.FLOW_NODE_HTSH.getIndex().equals(caseTask.getNodeId())) {
-                    sxxq.setName("详情");
-                    tabList.add(sxxq);
-                    tabList.add(sqjl);
-                    tabList.add(htsh);
+                        buttonList.add(sl);
+                        buttonList.add(ht);
+                        buttonList.add(bysl);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId())) {
+                        sxxq.setName("详情");
+                        tabList.add(sxxq);
+                        tabList.add(sqjl);
+                        tabList.add(htsh);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId())) {
+                        sxxq.setName("详情");
+                        tabList.add(sxxq);
+                        tabList.add(sqjl);
+                        tabList.add(sbsh);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(caseTask.getNodeId())) {
+                        tabList.add(dslxq);
+                        tabList.add(sqjl);
+
+                        buttonList.add(zxsl);
+                        buttonList.add(jb);
+                        buttonList.add(sb);
+                        buttonList.add(bysl);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId())) {
+                        tabList.add(dslxq);
+                        tabList.add(sqjl);
+
+                        buttonList.add(sl);
+                        buttonList.add(ht);
+                        buttonList.add(bysl);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex().equals(caseTask.getNodeId())) {
+                        sxxq.setName("详情");
+                        tabList.add(sxxq);
+                        tabList.add(sqjl);
+                        tabList.add(htsh);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex().equals(caseTask.getNodeId())) {
+                        sxxq.setName("详情");
+                        tabList.add(sxxq);
+                        tabList.add(sqjl);
+                        tabList.add(sbsh);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) {
+                        tabList.add(dslxq);
+                        tabList.add(sqjl);
+
+                        buttonList.add(zxsl);
+                        buttonList.add(jb);
+                        buttonList.add(bysl);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) {
+                        tabList.add(dslxq);
+                        tabList.add(sqjl);
+
+                        buttonList.add(sl);
+                        buttonList.add(ht);
+                        buttonList.add(bysl);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex().equals(caseTask.getNodeId())) {
+                        sxxq.setName("详情");
+                        tabList.add(sxxq);
+                        tabList.add(sqjl);
+                        tabList.add(htsh);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) {
+                        if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) {
+                            tabList.add(sxxq);
+                            tabList.add(sxbl);
+                            tabList.add(lcdb);
+                            tabList.add(sqjl);
+
+                            buttonList.add(tjbljl);
+                            buttonList.add(lhczsq);
+                            buttonList.add(jasq);
+                            buttonList.add(db);
+                        } else {
+                            tabList.add(sxxq);
+                            tabList.add(sxbl);
+                            tabList.add(lcdb);
+                            tabList.add(sqjl);
+
+                            buttonList.add(tjbljl);
+                        }
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) {
+                        tabList.add(sxxq);
+                        tabList.add(sqjl);
+                        tabList.add(jash);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(caseTask.getNodeId())) {
+                        daxx.setName("信息");
+                        tabList.add(daxx);
+                        tabList.add(lcdb);
+                        tabList.add(sqjl);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(caseTask.getNodeId())) {
+                        tabList.add(daxx);
+                        tabList.add(lcdb);
+                        tabList.add(sqjl);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_DSL.getIndex().equals(caseTask.getNodeId())) {
+                        tabList.add(dslxq);
+                        tabList.add(sqjl);
+
+                        buttonList.add(sl);
+                        buttonList.add(ht);
+                    }
+                    if (FlowNodeEnum.FLOW_NODE_HTSH.getIndex().equals(caseTask.getNodeId())) {
+                        sxxq.setName("详情");
+                        tabList.add(sxxq);
+                        tabList.add(sqjl);
+                        tabList.add(htsh);
+                    }
                 }
             }else {
                 tabList.add(sxxq);
@@ -532,6 +547,12 @@
                             // 临时加上
                             webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName());
                         }
+                    }
+                    // 不予受理
+                    if (CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){
+                        webCaseFlowDTO.setNodeShowName("不予受理");
+                        webCaseFlowDTO.setHandleNotes(null);
+                        webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_4);
                     }
                     handleCaseFlowList.add(webCaseFlowDTO);
                 }else {
@@ -876,14 +897,11 @@
      * @param terms 条件
      * @return Page
      */
-    public Page<FrontPageListDTO> pageMyTaskShWSQD(PageRequest page, int type, Map<String, Object> terms){
+    public Page<FrontPageListWSQDDTO> pageMyTaskShWSQD(PageRequest page, Map<String, Object> terms){
         try {
-            long total = 0;
-            List<FrontPageListDTO> frontPageListDTOList = new ArrayList<>();
-            total = mapper.countMyTaskShWSQD(terms);
-            frontPageListDTOList = mapper.pageMyTaskShWSQD(page,terms);
-
-            return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total);
+            long total = mapper.countMyTaskShWSQD(terms);
+            List<FrontPageListWSQDDTO> frontPageListWSQDDTOList = mapper.pageMyTaskShWSQD(page,terms);
+            return new PageImpl<FrontPageListWSQDDTO>(frontPageListWSQDDTOList, page, total);
         }catch (Exception e) {
             log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e);
             throw new ServiceException("CaseTaskService.pageMyTaskQs", e);
@@ -914,16 +932,18 @@
             List<CaseAssistApply>caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper);
             List<SortUtilDTO> sortUtilDTOList = new ArrayList<>();
 
+            List<String> idList = 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(","));
+            idList.addAll(caseReturnList.stream().map(CaseReturn:: getId).collect(Collectors.toList()));
+            idList.addAll(caseAppearList.stream().map(CaseAppear:: getId).collect(Collectors.toList()));
+            idList.addAll(caseWindupApplyList.stream().map(CaseWindupApply:: getId).collect(Collectors.toList()));
+            idList.addAll(caseAssistApplyList.stream().map(CaseAssistApply:: getId).collect(Collectors.toList()));
+            ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','"));
             List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = new ArrayList<>();
             if(StringUtils.isNotBlank(ids)){
                 Map terms = new HashMap();
                 terms.put("mainId", caseId);
-                terms.put("ownerIds", "," + ids + ",");
+                terms.put("ownerIds", "'" + ids + "'");
                 fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(terms);
             }
 
@@ -1290,6 +1310,78 @@
     }
 
     /**
+     * web端任务处理-不予受理
+     * @param caseDismiss 不予受理表单
+     * @param userId 当前登录用户
+     */
+    public void webDismiss(CaseDismiss caseDismiss, String userId){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            // 查询当前任务
+            CaseTask caseTask = mapper.selectById(caseDismiss.getCaseTaskId());
+            // 结束当前任务
+            CaseTask caseTaskPO = new CaseTask();
+            caseTaskPO.setId(caseDismiss.getCaseTaskId());
+            caseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+            caseTaskPO.setHandleUnitId(loginUser.getUnitId());
+            caseTaskPO.setHandleUnitName(loginUser.getUnitName());
+            caseTaskPO.setHandleUserId(loginUser.getId());
+            caseTaskPO.setHandleUserName(loginUser.getTrueName());
+            caseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_3);
+            caseTaskPO.setHandleContent(caseDismiss.getDisContent());
+            caseTaskPO.setHandleTime(nowDate);
+            caseTaskPO.setUpdateTime(nowDate);
+            mapper.updateCaseTask(caseTaskPO);
+            // 结束当前工作流任务
+            flowInfoService.endFlow(caseTask.getProcessInstanceId());
+            // 更新纠纷信息
+            CaseInfo caseInfoPO = new CaseInfo();
+            caseInfoPO.setId(caseTask.getCaseId());
+            caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex());
+            caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.getDes());
+            caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
+            caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
+            caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
+            caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
+            caseInfoPO.setUpdateTime(nowDate);
+            caseInfoService.updateCaseInfo(caseInfoPO);
+            // 有配合部门,也结束配合部门工作流程
+            List<CaseTask> assistCaseTaskList = this.listAssistTasking(caseDismiss.getCaseId());
+            for (CaseTask assistCaseTask: assistCaseTaskList){
+                // 完成配合部门当前任务
+                assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                assistCaseTask.setHandleUnitId(loginUser.getUnitId());
+                assistCaseTask.setHandleUnitName(loginUser.getUnitName());
+                assistCaseTask.setHandleUserId(loginUser.getId());
+                assistCaseTask.setHandleUserName(loginUser.getTrueName());
+                assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                assistCaseTask.setHandleTime(nowDate);
+                assistCaseTask.setUpdateTime(nowDate);
+                mapper.updateCaseTask(assistCaseTask);
+                // 结束配合部门当前工作流任务
+                flowInfoService.endFlow(assistCaseTask.getProcessInstanceId());
+            }
+            // 新增不予受理信息
+            caseDismiss.setCaseTaskTime(caseTask.getCreateTime());
+            caseDismiss.setDisUnitId(loginUser.getUnitId());
+            caseDismiss.setDisUnitName(loginUser.getUnitName());
+            caseDismiss.setDisUserId(loginUser.getId());
+            caseDismiss.setDisUserName(loginUser.getTrueName());
+            caseDismiss.setDisTime(nowDate);
+            caseDismiss.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            caseDismiss.setCustId(caseTask.getCustId());
+            caseDismiss.setCreateTime(nowDate);
+            caseDismiss.setUpdateTime(nowDate);
+            caseDismissService.save(caseDismiss);
+        }catch (Exception e){
+            log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webAssign", e);
+        }
+    }
+
+    /**
      * web端任务处理-交办
      * @param assignTaskDTO 交办任务表单
      * @param userId 当前登录用户
@@ -1383,6 +1475,7 @@
             caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
             caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
             caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
+            caseInfoPO.setUpdateTime(nowDate);
             caseInfoService.updateCaseInfo(caseInfoPO);
             // 分派配合组织
             if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){
@@ -1605,6 +1698,7 @@
                 caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
                 caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
                 caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
+                caseInfoPO.setUpdateTime(nowDate);
                 caseInfoService.updateCaseInfo(caseInfoPO);
                 // 更新纠纷扩展信息
                 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
@@ -1869,12 +1963,9 @@
                 caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
             }
             // 查询配合部门的任务,全部结束流程
-            QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>();
-            caseTaskQueryWrapper.eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).eq("case_id", jasqCaseTask.getCaseId());
-            List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
+            List<CaseTask> assistCaseTaskList = this.listAssistTasking(jasqCaseTask.getCaseId());
             for (CaseTask assistCaseTask: assistCaseTaskList){
-                // 完成配合部门当前办理反馈任务
-                assistCaseTask.setId(caseWindupApply.getCaseTaskId());
+                // 完成配合部门当前任务
                 assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                 assistCaseTask.setHandleUnitId(loginUser.getUnitId());
                 assistCaseTask.setHandleUnitName(loginUser.getUnitName());
@@ -1884,10 +1975,8 @@
                 assistCaseTask.setHandleTime(nowDate);
                 assistCaseTask.setUpdateTime(nowDate);
                 mapper.updateCaseTask(assistCaseTask);
-                // 完成当前配合部门办理反馈工作流任务
-                flowInfoService.completeTask(assistCaseTask.getFlowableId(), assistCaseTask.getProcessTaskId(),
-                        FlowableConsts.OPERATION_forward, userId);
-
+                // 结束配合部门当前工作流任务
+                flowInfoService.endFlow(assistCaseTask.getProcessInstanceId());
             }
         }catch (Exception e){
             log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e);
@@ -2210,6 +2299,22 @@
                     caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                     caseInfoPO.setUpdateTime(nowDate);
                     caseInfoService.updateCaseInfo(caseInfoPO);
+                    // 有配合部门,也结束配合部门工作流程
+                    List<CaseTask> assistCaseTaskList = this.listAssistTasking(htshCaseTask.getCaseId());
+                    for (CaseTask assistCaseTask: assistCaseTaskList){
+                        // 完成配合部门当前任务
+                        assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                        assistCaseTask.setHandleUnitId(loginUser.getUnitId());
+                        assistCaseTask.setHandleUnitName(loginUser.getUnitName());
+                        assistCaseTask.setHandleUserId(loginUser.getId());
+                        assistCaseTask.setHandleUserName(loginUser.getTrueName());
+                        assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                        assistCaseTask.setHandleTime(nowDate);
+                        assistCaseTask.setUpdateTime(nowDate);
+                        mapper.updateCaseTask(assistCaseTask);
+                        // 结束配合部门当前工作流任务
+                        flowInfoService.endFlow(assistCaseTask.getProcessInstanceId());
+                    }
                 }else {
                     // 更新联合处置信息
                     QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>();
@@ -2496,4 +2601,12 @@
         }
     }
 
+    /**
+     * 按条件查询
+     * @param terms 条件
+     * @return List
+     */
+    public List<SignTaskDTO> listIdByTerms(Map<String, Object> terms){
+        return mapper.listIdByTerms(terms);
+    }
 }

--
Gitblit v1.8.0