From bc684a5f99b82ff46b0dc87cc4917ca1b4b88fe1 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Mon, 09 Sep 2024 22:20:12 +0800
Subject: [PATCH] 1、流程优化

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseFlowDTO.java       |    2 
 /dev/null                                                                                    |   27 ---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java      |  334 ++++++++++++++++++++++++++++++-----------------
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml |    8 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseTask.java           |   12 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java      |    5 
 6 files changed, 235 insertions(+), 153 deletions(-)

diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
index 1072d59..61bd449 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
@@ -5,7 +5,7 @@
  * @description: 自定义sql,请自行实现业务逻辑
  * @company: hugeinfo
  * @author: liyj
- * @time:2024-09-08 18:27:35
+ * @time:2024-09-09 22:10:33
  * @version 1.0.0
 -->
 <mapper namespace="cn.huge.module.cases.dao.mapper.CaseTaskMapper">
@@ -45,6 +45,7 @@
             <result property="handleUserName" column="handle_user_name"/>
             <result property="handleResult" column="handle_result"/>
             <result property="handleContent" column="handle_content"/>
+            <result property="handleIllust" column="handle_illust"/>
             <result property="handleTime" column="handle_time"/>
             <result property="deleteStatus" column="delete_status"/>
             <result property="custId" column="cust_id"/>
@@ -89,6 +90,7 @@
         handle_user_name,
         handle_result,
         handle_content,
+        handle_illust,
         handle_time,
         delete_status,
         cust_id,
@@ -130,6 +132,7 @@
             <if test="entity.handleUserName != null">handle_user_name = #{entity.handleUserName},</if>
             <if test="entity.handleResult != null">handle_result = #{entity.handleResult},</if>
             <if test="entity.handleContent != null">handle_content = #{entity.handleContent},</if>
+            <if test="entity.handleIllust != null">handle_illust = #{entity.handleIllust},</if>
             <if test="entity.handleTime != null">handle_time = #{entity.handleTime},</if>
             <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
             <if test="entity.custId != null">cust_id = #{entity.custId},</if>
@@ -242,6 +245,9 @@
                 <if test="terms.handleContent != null and terms.handleContent !=''">
                     and handle_content = #{terms.handleContent}
                 </if>
+                <if test="terms.handleIllust != null and terms.handleIllust !=''">
+                    and handle_illust = #{terms.handleIllust}
+                </if>
                 <if test="terms.handleTime != null and terms.handleTime !=''">
                     and handle_time = #{terms.handleTime}
                 </if>
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseFlowDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseFlowDTO.java
index 3caefc3..a4fb608 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseFlowDTO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseFlowDTO.java
@@ -60,7 +60,7 @@
     private String auditResultName;
 
     /**
-     * 流程节点类型,1:正常,2:退回;3:上报
+     * 任务类型,1:正常流转,2:回退申请,3:上报申请
      */
     private Integer taskType;
 
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseAppear.json b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseAppear.json
deleted file mode 100644
index 40d90cc..0000000
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseAppear.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "id": "主键编号",
-    "caseId": "纠纷编号",
-    "appearUnitId": "上报组织编号",
-    "appearUnitName": "上报组织名称",
-    "appearUserId": "上报人编号",
-    "appearUserName": "上报人名称",
-    "appearContent": "上报理由",
-    "appearTime": "上报时间",
-    "caseTaskId": "上报审核纠纷任务编号",
-    "applyStatus": 0,
-    "auditUnitId": "上报审核组织编号",
-    "auditUnitName": "上报审核组织名称",
-    "auditUserId": "上报审核人编号",
-    "auditUserName": "上报审核人名称",
-    "auditTime": "上报审核时间",
-    "auditResult": "上报审核结果",
-    "auditResultName": "上报审核结果名称",
-    "audit_content": "上报审核理由",
-    "custId": "顾客编号",
-}
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseReturn.json b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseReturn.json
deleted file mode 100644
index 2c4bf0d..0000000
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseReturn.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "id": "主键编号",
-    "caseId": "纠纷编号",
-    "returnUnitId": "回退组织编号",
-    "returnUnitName": "回退组织名称",
-    "returnUserId": "回退人编号",
-    "returnUserName": "回退人名称",
-    "returnContent": "回退理由",
-    "returnTime": "回退时间",
-    "returnStatus": 0,
-    "caseTaskId": "回退审核纠纷任务编号",
-    "auditUnitId": "回退审核组织编号",
-    "auditUnitName": "回退审核组织名称",
-    "auditUserId": "回退审核人编号",
-    "auditUserName": "回退审核人名称",
-    "auditTime": "回退审核时间",
-    "auditResult": "回退审核结果",
-    "auditResultName": "回退审核结果名称",
-    "audit_content": "回退审核理由",
-    "custId": "顾客编号",
-}
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseUrging.json b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseUrging.json
deleted file mode 100644
index 22b5de9..0000000
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseUrging.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-    "id": "主键编号",
-    "caseId": "纠纷编号",
-    "urgingContent": "催办意见",
-    "urgingUserId": "催办人编号",
-    "urgingUserName": "催办人名称",
-    "urgingTime": "催办时间",
-    "urgingStatus": 0,
-    "replyTerm": 0,
-    "replyContent": "回复内容",
-    "replyUserId": "回复人编号",
-    "replyUserName": "回复人名称",
-    "replyTime": "回复时间",
-    "custId": "客户编号",
-}
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseWindupApply.json b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseWindupApply.json
deleted file mode 100644
index b09def2..0000000
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseWindupApply.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-    "id": "主键编号",
-    "caseId": "纠纷编号",
-    "applyUnitId": "结案申请组织编号",
-    "applyUnitName": "结案申请组织名称",
-    "applyUserId": "结案申请人编号",
-    "applyUserName": "结案申请人名称",
-    "applyTime": "结案申请时间",
-    "applyStatus": 0,
-    "mediResult": "调解结果",
-    "mediResultName": "调解结果名称",
-    "agreeType": "达成协议类型",
-    "agreeTypeName": "达成协议类型名称",
-    "agreeContent": "协议要点/已达成协议",
-    "failReason": "无法化解理由",
-    "windupContent": "结案意见",
-    "caseTaskId": "结案审核纠纷任务编号",
-    "auditUnitId": "结案审核组织编号",
-    "auditUnitName": "结案审核组织名称",
-    "auditUserId": "结案审核人编号",
-    "auditUserName": "结案审核人名称",
-    "auditTime": "结案审核时间",
-    "auditResult": "结案审核结果",
-    "auditResultName": "结案审核结果名称",
-    "audit_content": "结案审核理由",
-    "custId": "顾客编号",
-}
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseTask.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseTask.java
index b0902a1..21476e9 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseTask.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseTask.java
@@ -13,7 +13,7 @@
  * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
  * @company:hugeinfo
  * @author: liyj
- * @time: 2024-09-08 18:27:35
+ * @time: 2024-09-09 22:10:33
  * @version 1.0.0
  */
 @TableName(value = "dyh_case_task")
@@ -213,18 +213,24 @@
     private String handleUserName;
 
     /**
-    * 处理结果,1:通过,2:不通过
+    * 处理结果,1:通过,2:回退
     */
     @TableField(value = "handle_result")
     private Integer handleResult;
 
     /**
-    * 处理说明
+    * 任务处理意见
     */
     @TableField(value = "handle_content")
     private String handleContent;
 
     /**
+    * 任务处理系统说明
+    */
+    @TableField(value = "handle_illust")
+    private String handleIllust;
+
+    /**
     * 任任务处理时间
     */
     @TableField(value = "handle_time")
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
index da5f4a4..a10be52 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -566,9 +566,10 @@
             caseInfo.setPagents(pagents.toString());
             caseInfo.setDefendants(defendants.toString());
             caseInfo.setDagents(dagents.toString());
-            //todo 流程接口修改status、status_name、process、process_name
-
             this.saveOrUpdate(caseInfo);
+
+            // 启动工作流-自动调度流程
+            caseTaskService.webStartFlowLFDJ(caseInfo);
             return registerSaveDTO.getId();
         }catch (Exception e){
             log.error("service方法[CaseInfoService.caseRegisterWechat]调用异常:"+e, e);
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 ad778e5..63e49c9 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
@@ -5,15 +5,12 @@
 import cn.huge.base.common.utils.IdUtils;
 import cn.huge.base.common.utils.ObjectUtils;
 import cn.huge.module.cases.domain.dto.*;
-import cn.huge.module.cases.domain.po.CaseInfo;
-import cn.huge.module.cases.domain.po.CaseInfoUnfold;
-import cn.huge.module.cases.domain.po.CaseWindupApply;
+import cn.huge.module.cases.domain.po.*;
 import cn.huge.module.client.api.impl.CustClientImpl;
 import cn.huge.module.client.api.impl.DispClientImpl;
 import cn.huge.module.client.api.impl.SysClientImpl;
 import cn.huge.module.client.api.impl.UtilsClientImpl;
 import cn.huge.module.cases.dao.mapper.CaseTaskMapper;
-import cn.huge.module.cases.domain.po.CaseTask;
 import cn.huge.module.constant.BaseConsts;
 import cn.huge.module.cust.constant.UserBaseConsts;
 import cn.huge.module.cust.dto.CtUnitDTO;
@@ -176,105 +173,180 @@
      */
     public TabButtonDTO webGetTabButton(String caseTaskId, String userId){
         try{
-            // 临时给前端联调数据
-            TabButtonDTO tabButtonDTO = new TabButtonDTO();
-            List<TabButtonInfoDTO> tabList = new LinkedList<>();
+            // 查询当前任务信息
+            CaseTask caseTask = mapper.selectById(caseTaskId);
+            // 定义tab
             TabButtonInfoDTO sxxq = new TabButtonInfoDTO();
             sxxq.setId("sxxq");
             sxxq.setName("事项详情");
-            tabList.add(sxxq);
-
             TabButtonInfoDTO dslxq = new TabButtonInfoDTO();
             dslxq.setId("dslxq");
             dslxq.setName("详情");
-            tabList.add(dslxq);
-
             TabButtonInfoDTO sxbl = new TabButtonInfoDTO();
             sxbl.setId("sxbl");
             sxbl.setName("事项办理");
-            tabList.add(sxbl);
-
             TabButtonInfoDTO sqjl = new TabButtonInfoDTO();
             sqjl.setId("sqjl");
             sqjl.setName("申请记录");
-            tabList.add(sqjl);
-
             TabButtonInfoDTO htsh = new TabButtonInfoDTO();
             htsh.setId("htsh");
             htsh.setName("回退审核");
-            tabList.add(htsh);
-
             TabButtonInfoDTO sbsh = new TabButtonInfoDTO();
             sbsh.setId("sbsh");
             sbsh.setName("上报审核");
-            tabList.add(sbsh);
-
             TabButtonInfoDTO jash = new TabButtonInfoDTO();
             jash.setId("jash");
             jash.setName("结案审核");
-            tabList.add(jash);
-
             TabButtonInfoDTO lhczsh = new TabButtonInfoDTO();
             lhczsh.setId("lhczsh");
             lhczsh.setName("联合处置申请审核");
-            tabList.add(lhczsh);
-
             TabButtonInfoDTO lcdb = new TabButtonInfoDTO();
             lcdb.setId("lcdb");
             lcdb.setName("流程督办");
-            tabList.add(lcdb);
-
             TabButtonInfoDTO daxx = new TabButtonInfoDTO();
             daxx.setId("daxx");
             daxx.setName("档案信息");
-            tabList.add(daxx);
-            tabButtonDTO.setTabList(tabList);
 
-            List<TabButtonInfoDTO> buttonList = new LinkedList<>();
+            // 定义button
             TabButtonInfoDTO tjbljl = new TabButtonInfoDTO();
             tjbljl.setId("tjbljl");
             tjbljl.setName("添加办理记录");
-            buttonList.add(tjbljl);
-
             TabButtonInfoDTO lhczsq = new TabButtonInfoDTO();
             lhczsq.setId("lhczsq");
             lhczsq.setName("联合处置申请");
-            buttonList.add(lhczsq);
-
             TabButtonInfoDTO jasq = new TabButtonInfoDTO();
             jasq.setId("jasq");
             jasq.setName("结案申请");
-            buttonList.add(jasq);
-
             TabButtonInfoDTO db = new TabButtonInfoDTO();
             db.setId("db");
             db.setName("督办");
-            buttonList.add(db);
-
             TabButtonInfoDTO sl = new TabButtonInfoDTO();
             sl.setId("sl");
             sl.setName("受理");
-            buttonList.add(sl);
-
             TabButtonInfoDTO ht = new TabButtonInfoDTO();
             ht.setId("ht");
             ht.setName("回退");
-            buttonList.add(ht);
-
             TabButtonInfoDTO zxsl = new TabButtonInfoDTO();
             zxsl.setId("zxsl");
             zxsl.setName("自行受理");
-            buttonList.add(zxsl);
-
             TabButtonInfoDTO jb = new TabButtonInfoDTO();
             jb.setId("jb");
             jb.setName("交办");
-            buttonList.add(jb);
-
             TabButtonInfoDTO sb = new TabButtonInfoDTO();
             sb.setId("sb");
             sb.setName("上报");
-            buttonList.add(sb);
+            // 根据流程显示tab
+            List<TabButtonInfoDTO> tabList = new LinkedList<>();
+            // 根据流程显示button
+            List<TabButtonInfoDTO> buttonList = new LinkedList<>();
+            if (ObjectUtils.isNotEmpty(caseTask)) {
+                if (FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) {
+                    tabList.add(dslxq);
+                    tabList.add(sqjl);
+
+                    buttonList.add(zxsl);
+                    buttonList.add(jb);
+                    buttonList.add(sb);
+                }
+                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_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);
+                }
+                if (FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId())) {
+                    tabList.add(dslxq);
+                    tabList.add(sqjl);
+
+                    buttonList.add(sl);
+                    buttonList.add(ht);
+                }
+                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);
+                }
+                if (FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) {
+                    tabList.add(dslxq);
+                    tabList.add(sqjl);
+
+                    buttonList.add(sl);
+                    buttonList.add(ht);
+                }
+                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())) {
+                    tabList.add(sxxq);
+                    tabList.add(sxbl);
+                    tabList.add(sqjl);
+
+                    buttonList.add(tjbljl);
+                    buttonList.add(lhczsq);
+                    buttonList.add(jasq);
+                }
+                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);
+                }
+            }else {
+                tabList.add(sxxq);
+                tabList.add(sqjl);
+                tabList.add(lhczsh);
+            }
+            // 封装数据
+            TabButtonDTO tabButtonDTO = new TabButtonDTO();
+            tabButtonDTO.setTabList(tabList);
             tabButtonDTO.setButtonList(buttonList);
             return tabButtonDTO;
         }catch (Exception e){
@@ -290,76 +362,64 @@
      */
     public Map<String, Object> webListCaseFlow(String caseId, String userId){
         try{
-            // 临时给前端联调数据
             Map<String, Object> result = Maps.newHashMap();
-
             List<CaseFlowDTO> handleCaseFlowList = new LinkedList<>();
+            // 首节点
             CaseFlowDTO lfdj = new CaseFlowDTO();
+            CaseInfo caseInfo = caseInfoService.getById(caseId);
             lfdj.setNodeShowName("来访登记");
-            lfdj.setHandleUnitName("白云区新市综治中心");
-            lfdj.setHandleUserName("李晓明");
-            lfdj.setTaskType(1);
-            lfdj.setStatus(2);
+            lfdj.setHandleUnitName(caseInfo.getInputUnitName());
+            lfdj.setHandleUserName(caseInfo.getInputUserName());
+            lfdj.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+            lfdj.setStatus(CaseTaskConsts.TASK_STATUS_2);
             lfdj.setHandleTime(new Date());
             handleCaseFlowList.add(lfdj);
+            // 查询承办组织任务
+            QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>();
+            caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_1).orderByDesc("create_time");
+            List<CaseTask> handleCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
 
-            CaseFlowDTO xtpd = new CaseFlowDTO();
-            xtpd.setNodeShowName("事件流转");
-            xtpd.setHandleUnitName("系统派单");
-            xtpd.setHandleTime(new Date());
-            xtpd.setHandleNotes("派单至:白云区新市司法所");
-            xtpd.setTaskType(1);
-            xtpd.setStatus(2);
-            handleCaseFlowList.add(xtpd);
-
-            CaseFlowDTO sjlz = new CaseFlowDTO();
-            sjlz.setNodeShowName("事件流转");
-            sjlz.setHandleUnitName("白云区新市司法所");
-            sjlz.setHandleUserName("赵菲菲");
-            sjlz.setHandleTime(new Date());
-            sjlz.setHandleNotes("已签收");
-            sjlz.setTaskType(1);
-            sjlz.setStatus(2);
-            handleCaseFlowList.add(sjlz);
-
-            CaseFlowDTO sjht = new CaseFlowDTO();
-            sjht.setNodeShowName("事件回退");
-            sjht.setHandleUnitName("白云区新市司法所");
-            sjht.setHandleUserName("赵菲菲");
-            sjht.setHandleTime(new Date());
-            sjht.setTaskType(2);
-            sjht.setStatus(2);
-            handleCaseFlowList.add(sjht);
-
-            CaseFlowDTO htsh = new CaseFlowDTO();
-            htsh.setNodeShowName("回退审核");
-            htsh.setHandleUnitName("白云区新市综治中心");
-            htsh.setHandleUserName("李晓明");
-            htsh.setHandleTime(new Date());
-            htsh.setAuditResult("24_00004-1");
-            htsh.setAuditResultName("通过");
-            htsh.setHandleTime(new Date());
-            htsh.setTaskType(1);
-            htsh.setStatus(2);
-            handleCaseFlowList.add(htsh);
-
-            CaseFlowDTO dsl = new CaseFlowDTO();
-            dsl.setProcessName("待受理");
-            dsl.setHandleUnitName("白云区新市综治中心");
-            dsl.setTaskType(1);
-            dsl.setStatus(1);
-            handleCaseFlowList.add(dsl);
+            for (CaseTask caseTask: handleCaseTaskList){
+                CaseFlowDTO caseFlowDTO = new CaseFlowDTO();
+                if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){
+                    caseFlowDTO.setProcessName(caseInfo.getProcessName());
+                    caseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
+                    caseFlowDTO.setTaskType(caseTask.getTaskType());
+                    caseFlowDTO.setStatus(caseTask.getStatus());
+                }else {
+                    caseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+                    caseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
+                    caseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
+                    caseFlowDTO.setHandleTime(caseTask.getHandleTime());
+                    caseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
+                    if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) {
+                        caseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
+                        caseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
+                    }
+                    if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) {
+                        caseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex());
+                        caseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes());
+                    }
+                }
+                handleCaseFlowList.add(caseFlowDTO);
+            }
             result.put("handleCaseFlowList", handleCaseFlowList);
 
+            // 查询配合组织流程
             List<CaseFlowDTO> assistCaseFlowList = new LinkedList<>();
-            CaseFlowDTO xtpd2 = new CaseFlowDTO();
-            xtpd2.setNodeShowName("事件流转");
-            xtpd2.setHandleUnitName("联合处置申请");
-            xtpd2.setHandleTime(new Date());
-            xtpd2.setHandleNotes("联合处置申请:白云区永平司法所");
-            xtpd2.setTaskType(1);
-            xtpd2.setStatus(2);
-            assistCaseFlowList.add(xtpd2);
+            caseTaskQueryWrapper.clear();
+            caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByDesc("create_time");
+            List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
+            for (CaseTask caseTask: assistCaseTaskList){
+                CaseFlowDTO caseFlowDTO = new CaseFlowDTO();
+                caseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+                caseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
+                caseFlowDTO.setHandleTime(caseTask.getHandleTime());
+                caseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
+                caseFlowDTO.setTaskType(caseTask.getTaskType());
+                caseFlowDTO.setStatus(caseTask.getStatus());
+                assistCaseFlowList.add(caseFlowDTO);
+            }
             result.put("assistCaseFlowList", assistCaseFlowList);
             return result;
         }catch (Exception e){
@@ -486,7 +546,7 @@
                         dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                         dfpCaseTask.setHandleUnitName("系统派单");
                         dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
-                        dfpCaseTask.setHandleContent("派单至:"+caseDispBaseDTO.getTargetName());
+                        dfpCaseTask.setHandleIllust("派单至:"+caseDispBaseDTO.getTargetName());
                         dfpCaseTask.setHandleTime(caseInfo.getCreateTime());
                         dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                         dfpCaseTask.setCustId(caseInfo.getCustId());
@@ -577,6 +637,8 @@
             dfpCaseTaskPO.setHandleUserId(loginUser.getId());
             dfpCaseTaskPO.setHandleUserName(loginUser.getTrueName());
             dfpCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+            dfpCaseTaskPO.setHandleContent(assignTaskDTO.getAssignContent());
+            dfpCaseTaskPO.setHandleIllust("派单至:"+assignTaskDTO.getHandleUnitName());
             dfpCaseTaskPO.setHandleTime(nowDate);
             dfpCaseTaskPO.setUpdateTime(nowDate);
             mapper.updateCaseTask(dfpCaseTaskPO);
@@ -647,21 +709,54 @@
             caseInfoService.updateCaseInfo(caseInfoPO);
             // 分派配合组织
             if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){
+                // 拼接配合组织编号和名称
+                String assistUnitId = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId).
+                        collect(Collectors.joining(BaseConsts.COMMA));
+                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.getIndex());
-                    assistCaseTask.setFlowId(newFlowNode.getFlowId());
+                    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()));
@@ -672,12 +767,12 @@
                     assistCaseTask.setUpdateTime(nowDate);
                     mapper.insert(assistCaseTask);
                 }
-                // 拼接配合组织编号和名称
-                String assistUnitId = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId).
-                        collect(Collectors.joining(BaseConsts.COMMA));
-                String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId).
-                        collect(Collectors.joining(BaseConsts.COMMA));
-
+                // 更新纠纷扩展信息
+                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
+                caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId());
+                caseInfoUnfoldPO.setAssistUnitId(assistUnitId);
+                caseInfoUnfoldPO.setAssistUnitName(assistUnitName);
+                caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
             }
         }catch (Exception e){
             log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e);
@@ -702,6 +797,7 @@
             caseTaskPO.setSignTime(nowDate);
             caseTaskPO.setSignUserId(loginUser.getId());
             caseTaskPO.setSignUserName(loginUser.getTrueName());
+            caseTaskPO.setHandleIllust("已签收");
             caseTaskPO.setUpdateTime(nowDate);
             mapper.updateCaseTask(caseTaskPO);
             // 更新纠纷信息
@@ -926,7 +1022,7 @@
                 dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                 dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                 dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-                dsrpjCaseTask.setCustId(blfkCaseTaskPO.getCustId());
+                dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
                 dsrpjCaseTask.setCreateTime(nowDate);
                 dsrpjCaseTask.setUpdateTime(nowDate);
                 mapper.insert(dsrpjCaseTask);
@@ -972,7 +1068,7 @@
                 // 新建结案审核任务
                 CaseTask jashCaseTask = new CaseTask();
                 jashCaseTask.setId(utilsClient.getNewTimeId());
-                jashCaseTask.setCaseId(blfkCaseTaskPO.getCaseId());
+                jashCaseTask.setCaseId(jasqCaseTask.getCaseId());
                 jashCaseTask.setFlowableId(jashFlowNode.getFlowableId());
                 jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId());
                 jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId());
@@ -991,15 +1087,15 @@
                 jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                 jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                 jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-                jashCaseTask.setCustId(blfkCaseTaskPO.getCustId());
+                jashCaseTask.setCustId(jasqCaseTask.getCustId());
                 jashCaseTask.setCreateTime(nowDate);
                 jashCaseTask.setUpdateTime(nowDate);
                 mapper.insert(jashCaseTask);
                 // 更新结案申请信息
                 caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0);
                 caseWindupApply.setCaseTaskId(jashCaseTask.getId());
-                caseWindupApply.setAuditUnitId(jashCaseTask.getHandleUnitId());
-                caseWindupApply.setAuditUnitName(jashCaseTask.getHandleUnitName());
+                caseWindupApply.setAuditUnitId(jashCaseTask.getCandeUnitId());
+                caseWindupApply.setAuditUnitName(jashCaseTask.getCandeUnitName());
                 caseWindupApply.setCustId(jashCaseTask.getCustId());
                 caseWindupApplyService.save(caseWindupApply);
                 // 更新纠纷信息

--
Gitblit v1.8.0