From 592c8a2dcc33fd6eb32dbcfbaed4a16aab31d28d Mon Sep 17 00:00:00 2001
From: liyj <15602261488@163.com>
Date: Mon, 14 Oct 2024 18:02:15 +0800
Subject: [PATCH] 1、线上来访、来访登记、自行排查流程优化 2、任务新增处理耗时、是否超时、超时小时记录

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistInfoMapper.xml     |    6 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseReturn.java                   |   25 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java                     |    8 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowableConsts.java                   |   43 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java                | 1235 +++++++++++++++++--------
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseReturnMapper.xml         |   22 
 dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_JB_LFDJ_V1.bpmn20.xml                       |  116 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/EvaluatePersonDTO.java           |   26 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebCaseFlowDTO.java              |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java                |    8 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java                     |    6 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistApplyMapper.xml    |   24 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAppearMapper.xml         |   22 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java         |   30 
 dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConsts.java                 |   13 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml           |  154 +-
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseWindupApplyMapper.xml    |   22 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/CustClient.java                        |    9 
 dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_JB_ZXPC_V1.bpmn20.xml                       |  115 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAppear.java                   |   20 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java              |   38 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseUrgingMapper.xml         |   22 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseUrging.java                   |   32 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseWindupApply.java              |   20 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java                |   39 
 dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_ZXPC_V1.bpmn20.xml                     |  139 ++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseTask.java                     |   74 +
 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/client/CtUnitClientController.java |   15 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml           |    6 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml      |   27 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/utils/TaskUsetimeUtils.java                 |   82 +
 dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LHCZ_V1.bpmn20.xml                          |   30 
 /dev/null                                                                                              |   85 -
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java               |   22 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java            |  126 +-
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/consts/CaseTaskConsts.java                  |   20 
 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java                    |   30 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistInfo.java               |    6 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistApply.java              |   29 
 dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_LFDJ_V1.bpmn20.xml                     |  150 +++
 40 files changed, 2,102 insertions(+), 796 deletions(-)

diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConsts.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConsts.java
index 4790bd8..0ab7634 100644
--- a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConsts.java
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConsts.java
@@ -11,6 +11,19 @@
 public class CaseBaseConsts {
 
     /**
+     * 是否自行受理,0:否,1:是
+     */
+    public static final int ZXSL_STATUS_0 = 0;
+    public static final int ZXSL_STATUS_1 = 1;
+
+    /**
+     * 事项等级,1:一级,2:二级,3:三级
+     */
+    public static final int CASE_LEVEL_1 = 1;
+    public static final int CASE_LEVEL_2 = 2;
+    public static final int CASE_LEVEL_3 = 3;
+
+    /**
      * 登记方式,1:正常登记,2:案件导入
      */
     public static final int INPUT_WAY_1 = 1;
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/client/CtUnitClientController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/client/CtUnitClientController.java
index cf3f1ab..d894f94 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/client/CtUnitClientController.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/client/CtUnitClientController.java
@@ -97,6 +97,21 @@
         }
     }
 
+    /**
+     * 获取本级综治中心
+     * @url {ctx}/api/client/ctUnit/getBjZzzx
+     * @param unitId 组织编号
+     * @return Object
+     */
+    @GetMapping("/getBjZzzx")
+    public Object getBjZzzx(@RequestParam(value = "unitId")  String unitId) {
+        try {
+            return ReturnSucUtils.getRepInfo(service.getBjZzzx(unitId));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo(e.getMessage());
+        }
+    }
+
     @Autowired
     private SyRegionGridService syRegionGridService;
     /**
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
index 787bcb9..1595bb1 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
@@ -655,11 +655,9 @@
      */
     public CtUnitDTO getParentZzzx(String unitId){
         try{
+            CtUnit loginCtUnit = mapper.selectById(unitId);
             // 查询当前单位的上级综治中心
             QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
-            ctUnitQueryWrapper.eq("id", unitId).select("parent_id");
-            CtUnit loginCtUnit = mapper.selectOne(ctUnitQueryWrapper);
-            ctUnitQueryWrapper.clear();
             ctUnitQueryWrapper.eq("id", loginCtUnit.getParentId()).eq("unit_type", UserBaseConsts.UNIT_TYPE_1);
             CtUnit zzzxCtUnit = mapper.selectOne(ctUnitQueryWrapper);
             CtUnitDTO ctUnitDTO = new CtUnitDTO();
@@ -670,4 +668,30 @@
             throw new ServiceException("CtUnitService.getParentZzzx", e);
         }
     }
+
+    /**
+     * 获取本级综治中心
+     * @param unitId 当前单位编号
+     * @return
+     */
+    public CtUnitDTO getBjZzzx(String unitId){
+        try{
+            CtUnitDTO ctUnitDTO = new CtUnitDTO();
+            // 查询自己是否是综治中心
+            CtUnit loginCtUnit = mapper.selectById(unitId);
+            if (UserBaseConsts.UNIT_TYPE_1 == loginCtUnit.getUnitType()){
+                BeanUtils.copyProperties(loginCtUnit, ctUnitDTO);
+            }else {
+                // 查询当前单位的上级综治中心
+                QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
+                ctUnitQueryWrapper.eq("id", loginCtUnit.getParentId()).eq("unit_type", UserBaseConsts.UNIT_TYPE_1);
+                CtUnit zzzxCtUnit = mapper.selectOne(ctUnitQueryWrapper);
+                BeanUtils.copyProperties(zzzxCtUnit, ctUnitDTO);
+            }
+            return ctUnitDTO;
+        }catch (Exception e){
+            log.error("[CtUnitService.getParentZzzx]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CtUnitService.getParentZzzx", e);
+        }
+    }
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/consts/CaseTaskConsts.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/consts/CaseTaskConsts.java
index a6e413d..c667566 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/consts/CaseTaskConsts.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/consts/CaseTaskConsts.java
@@ -11,15 +11,6 @@
 public class CaseTaskConsts {
 
     /**
-     * 任务类型,1:正常流转,2:回退申请,3:上报申请
-     */
-    public static final int TASK_TYPE_1 = 1;
-    public static final int TASK_TYPE_2 = 2;
-    public static final int TASK_TYPE_3 = 3;
-    // 用于流程展示,4:不予受理
-    public static final int TASK_TYPE_4 = 4;
-
-    /**
      * 纠纷任务类型,1:承办,2:配合
      */
     public static final int CASE_TASK_TYPE_1 = 1;
@@ -47,11 +38,14 @@
     public static final int TASK_STATUS_2 = 2;
 
     /**
-     * 处理结果,1:通过,2:不通过,3:不予受理
+     * 处理结果,0:正常流转,1:审核通过,2:审核不通过,3:不予受理,4:回退,5:上报
      */
+    public static final int HANDLE_RESULT_0 = 0;
     public static final int HANDLE_RESULT_1 = 1;
     public static final int HANDLE_RESULT_2 = 2;
     public static final int HANDLE_RESULT_3 = 3;
+    public static final int HANDLE_RESULT_4 = 4;
+    public static final int HANDLE_RESULT_5 = 5;
 
     /**
      * 配合状态,0:配合,1:回退
@@ -64,6 +58,12 @@
      */
     public static final int HANDLE_TYPE_1 = 1;
     public static final int HANDLE_TYPE_2 = 2;
+
+    /**
+     * 任务超时状态,0:未超时,1:已超时
+     */
+    public static final int OVERTIME_STATUS_0 = 0;
+    public static final int OVERTIME_STATUS_1 = 1;
 }
 /**
  * -------------------_ooOoo_-------------------
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAppearMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAppearMapper.xml
index b4e01c1..f6e292f 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAppearMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAppearMapper.xml
@@ -5,7 +5,7 @@
  * @description: 自定义sql,请自行实现业务逻辑
  * @company: hugeinfo
  * @author: liyj
- * @time:2024-09-07 00:06:20
+ * @time:2024-10-14 14:23:35
  * @version 1.0.0
 -->
 <mapper namespace="cn.huge.module.cases.dao.mapper.CaseAppearMapper">
@@ -29,6 +29,9 @@
             <result property="auditResult" column="audit_result"/>
             <result property="auditResultName" column="audit_result_name"/>
             <result property="auditContent" column="audit_content"/>
+            <result property="usetimeHour" column="usetime_hour"/>
+            <result property="overtimeStatus" column="overtime_status"/>
+            <result property="overtimeHour" column="overtime_hour"/>
             <result property="deleteStatus" column="delete_status"/>
             <result property="custId" column="cust_id"/>
             <result property="createTime" column="create_time"/>
@@ -56,6 +59,9 @@
         audit_result,
         audit_result_name,
         audit_content,
+        usetime_hour,
+        overtime_status,
+        overtime_hour,
         delete_status,
         cust_id,
         create_time,
@@ -80,6 +86,9 @@
             <if test="entity.auditResult != null">audit_result = #{entity.auditResult},</if>
             <if test="entity.auditResultName != null">audit_result_name = #{entity.auditResultName},</if>
             <if test="entity.auditContent != null">audit_content = #{entity.auditContent},</if>
+            <if test="entity.usetimeHour != null">usetime_hour = #{entity.usetimeHour},</if>
+            <if test="entity.overtimeStatus != null">overtime_status = #{entity.overtimeStatus},</if>
+            <if test="entity.overtimeHour != null">overtime_hour = #{entity.overtimeHour},</if>
             <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
             <if test="entity.custId != null">cust_id = #{entity.custId},</if>
             <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
@@ -142,6 +151,15 @@
                 </if>
                 <if test="terms.auditContent != null and terms.auditContent !=''">
                     and audit_content = #{terms.auditContent}
+                </if>
+                <if test="terms.usetimeHour != null and terms.usetimeHour !=''">
+                    and usetime_hour = #{terms.usetimeHour}
+                </if>
+                <if test="terms.overtimeStatus != null and terms.overtimeStatus !=''">
+                    and overtime_status = #{terms.overtimeStatus}
+                </if>
+                <if test="terms.overtimeHour != null and terms.overtimeHour !=''">
+                    and overtime_hour = #{terms.overtimeHour}
                 </if>
                 <if test="terms.deleteStatus = null and terms.deleteStatus =''">
                     and delete_status = 0
@@ -312,4 +330,4 @@
         </if>
         limit #{page.offset}, #{page.size}
     </select>
-</mapper> 
\ No newline at end of file
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistApplyMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistApplyMapper.xml
index 459aaa8..fac6e33 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistApplyMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistApplyMapper.xml
@@ -4,8 +4,8 @@
  * @title: 联合处置申请信息表
  * @description: 自定义sql,请自行实现业务逻辑
  * @company: hugeinfo
- * @author: wangwh
- * @time:2024-09-05 17:25:04
+ * @author: liyj
+ * @time:2024-10-14 14:23:35
  * @version 1.0.0
 -->
 <mapper namespace="cn.huge.module.cases.dao.mapper.CaseAssistApplyMapper">
@@ -30,6 +30,9 @@
             <result property="auditResult" column="audit_result"/>
             <result property="auditResultName" column="audit_result_name"/>
             <result property="auditContent" column="audit_content"/>
+            <result property="usetimeHour" column="usetime_hour"/>
+            <result property="overtimeStatus" column="overtime_status"/>
+            <result property="overtimeHour" column="overtime_hour"/>
             <result property="deleteStatus" column="delete_status"/>
             <result property="custId" column="cust_id"/>
             <result property="createTime" column="create_time"/>
@@ -58,6 +61,9 @@
         audit_result,
         audit_result_name,
         audit_content,
+        usetime_hour,
+        overtime_status,
+        overtime_hour,
         delete_status,
         cust_id,
         create_time,
@@ -83,6 +89,9 @@
             <if test="entity.auditResult != null">audit_result = #{entity.auditResult},</if>
             <if test="entity.auditResultName != null">audit_result_name = #{entity.auditResultName},</if>
             <if test="entity.auditContent != null">audit_content = #{entity.auditContent},</if>
+            <if test="entity.usetimeHour != null">usetime_hour = #{entity.usetimeHour},</if>
+            <if test="entity.overtimeStatus != null">overtime_status = #{entity.overtimeStatus},</if>
+            <if test="entity.overtimeHour != null">overtime_hour = #{entity.overtimeHour},</if>
             <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
             <if test="entity.custId != null">cust_id = #{entity.custId},</if>
             <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
@@ -148,6 +157,15 @@
                 </if>
                 <if test="terms.auditContent != null and terms.auditContent !=''">
                     and audit_content = #{terms.auditContent}
+                </if>
+                <if test="terms.usetimeHour != null and terms.usetimeHour !=''">
+                    and usetime_hour = #{terms.usetimeHour}
+                </if>
+                <if test="terms.overtimeStatus != null and terms.overtimeStatus !=''">
+                    and overtime_status = #{terms.overtimeStatus}
+                </if>
+                <if test="terms.overtimeHour != null and terms.overtimeHour !=''">
+                    and overtime_hour = #{terms.overtimeHour}
                 </if>
                 <if test="terms.deleteStatus = null and terms.deleteStatus =''">
                     and delete_status = 0
@@ -318,4 +336,4 @@
         </if>
         limit #{page.offset}, #{page.size}
     </select>
-</mapper> 
\ No newline at end of file
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistInfoMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistInfoMapper.xml
index df8765a..664e815 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistInfoMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAssistInfoMapper.xml
@@ -13,6 +13,7 @@
     <resultMap id="dataResult" type="cn.huge.module.cases.domain.po.CaseAssistInfo">
             <result property="id" column="id"/>
             <result property="caseId" column="case_id"/>
+            <result property="processInstanceId" column="process_instance_id"/>
             <result property="caseTaskId" column="case_task_id"/>
             <result property="applyId" column="apply_id"/>
             <result property="assistUnitId" column="assist_unit_id"/>
@@ -31,6 +32,7 @@
     <sql id="column-part">
         id,
         case_id,
+        process_instance_id,
         case_task_id,
         apply_id,
         assist_unit_id,
@@ -46,6 +48,7 @@
     <!-- 更新实体字段 -->
     <sql id="set-part">
             <if test="entity.caseId != null">case_id = #{entity.caseId},</if>
+            <if test="entity.processInstanceId != null">process_instance_id = #{entity.processInstanceId},</if>
             <if test="entity.caseTaskId != null">case_task_id = #{entity.caseTaskId},</if>
             <if test="entity.applyId != null">apply_id = #{entity.applyId},</if>
             <if test="entity.assistUnitId != null">assist_unit_id = #{entity.assistUnitId},</if>
@@ -68,6 +71,9 @@
                 <if test="terms.caseId != null and terms.caseId !=''">
                     and case_id = #{terms.caseId}
                 </if>
+                <if test="terms.processInstanceId != null and terms.processInstanceId !=''">
+                    and process_instance_id = #{terms.processInstanceId}
+                </if>
                 <if test="terms.caseTaskId != null and terms.caseTaskId !=''">
                     and case_task_id = #{terms.caseTaskId}
                 </if>
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
index 68ae3d9..ea18c9a 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
@@ -48,6 +48,7 @@
         <result property="canalName" column="canal_name"/>
         <result property="visitWay" column="visit_way"/>
         <result property="visitWayName" column="visit_way_name"/>
+        <result property="zxslStatus" column="zxsl_status"/>
         <result property="caseDes" column="case_des"/>
         <result property="caseClaim" column="case_claim"/>
         <result property="majorStatus" column="major_status"/>
@@ -186,6 +187,7 @@
         canal_name,
         visit_way,
         visit_way_name,
+        zxsl_status,
         case_des,
         case_claim,
         major_status,
@@ -258,6 +260,7 @@
         <if test="entity.canalName != null">canal_name = #{entity.canalName},</if>
         <if test="entity.visitWay != null">visit_way = #{entity.visitWay},</if>
         <if test="entity.visitWayName != null">visit_way_name = #{entity.visitWayName},</if>
+        <if test="entity.zxslStatus != null">zxsl_status = #{entity.zxslStatus},</if>
         <if test="entity.caseDes != null">case_des = #{entity.caseDes},</if>
         <if test="entity.caseClaim != null">case_claim = #{entity.caseClaim},</if>
         <if test="entity.majorStatus != null">major_status = #{entity.majorStatus},</if>
@@ -527,6 +530,9 @@
                 <if test="terms.visitWayName != null and terms.visitWayName !=''">
                     and visit_way_name = #{terms.visitWayName}
                 </if>
+                <if test="terms.zxslStatus != null and terms.zxslStatus !=''">
+                    and zxsl_status = #{terms.zxslStatus}
+                </if>
                 <if test="terms.caseDes != null and terms.caseDes !=''">
                     and case_des = #{terms.caseDes}
                 </if>
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseReturnMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseReturnMapper.xml
index 41b1db9..80470bc 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseReturnMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseReturnMapper.xml
@@ -5,7 +5,7 @@
  * @description: 自定义sql,请自行实现业务逻辑
  * @company: hugeinfo
  * @author: liyj
- * @time:2024-09-07 00:06:20
+ * @time:2024-10-14 14:23:35
  * @version 1.0.0
 -->
 <mapper namespace="cn.huge.module.cases.dao.mapper.CaseReturnMapper">
@@ -30,6 +30,9 @@
             <result property="auditResult" column="audit_result"/>
             <result property="auditResultName" column="audit_result_name"/>
             <result property="auditContent" column="audit_content"/>
+            <result property="usetimeHour" column="usetime_hour"/>
+            <result property="overtimeStatus" column="overtime_status"/>
+            <result property="overtimeHour" column="overtime_hour"/>
             <result property="deleteStatus" column="delete_status"/>
             <result property="custId" column="cust_id"/>
             <result property="createTime" column="create_time"/>
@@ -58,6 +61,9 @@
         audit_result,
         audit_result_name,
         audit_content,
+        usetime_hour,
+        overtime_status,
+        overtime_hour,
         delete_status,
         cust_id,
         create_time,
@@ -83,6 +89,9 @@
             <if test="entity.auditResult != null">audit_result = #{entity.auditResult},</if>
             <if test="entity.auditResultName != null">audit_result_name = #{entity.auditResultName},</if>
             <if test="entity.auditContent != null">audit_content = #{entity.auditContent},</if>
+            <if test="entity.usetimeHour != null">usetime_hour = #{entity.usetimeHour},</if>
+            <if test="entity.overtimeStatus != null">overtime_status = #{entity.overtimeStatus},</if>
+            <if test="entity.overtimeHour != null">overtime_hour = #{entity.overtimeHour},</if>
             <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
             <if test="entity.custId != null">cust_id = #{entity.custId},</if>
             <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
@@ -148,6 +157,15 @@
                 </if>
                 <if test="terms.auditContent != null and terms.auditContent !=''">
                     and audit_content = #{terms.auditContent}
+                </if>
+                <if test="terms.usetimeHour != null and terms.usetimeHour !=''">
+                    and usetime_hour = #{terms.usetimeHour}
+                </if>
+                <if test="terms.overtimeStatus != null and terms.overtimeStatus !=''">
+                    and overtime_status = #{terms.overtimeStatus}
+                </if>
+                <if test="terms.overtimeHour != null and terms.overtimeHour !=''">
+                    and overtime_hour = #{terms.overtimeHour}
                 </if>
                 <if test="terms.deleteStatus = null and terms.deleteStatus =''">
                     and delete_status = 0
@@ -319,4 +337,4 @@
         </if>
         limit #{page.offset}, #{page.size}
     </select>
-</mapper> 
\ No newline at end of file
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
index 25b641f..2dccff9 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
@@ -4,8 +4,8 @@
  * @title: 纠纷督办信息表
  * @description: 自定义sql,请自行实现业务逻辑
  * @company: hugeinfo
- * @author: wangwh
- * @time:2024-09-03 10:53:01
+ * @author: liyj
+ * @time:2024-10-14 14:23:35
  * @version 1.0.0
 -->
 <mapper namespace="cn.huge.module.cases.dao.mapper.CaseSuperviseMapper">
@@ -27,6 +27,9 @@
             <result property="replyUserId" column="reply_user_id"/>
             <result property="replyUserName" column="reply_user_name"/>
             <result property="replyTime" column="reply_time"/>
+            <result property="usetimeHour" column="usetime_hour"/>
+            <result property="overtimeStatus" column="overtime_status"/>
+            <result property="overtimeHour" column="overtime_hour"/>
             <result property="deleteStatus" column="delete_status"/>
             <result property="custId" column="cust_id"/>
             <result property="createTime" column="create_time"/>
@@ -52,6 +55,9 @@
         reply_user_id,
         reply_user_name,
         reply_time,
+        usetime_hour,
+        overtime_status,
+        overtime_hour,
         delete_status,
         cust_id,
         create_time,
@@ -74,6 +80,9 @@
             <if test="entity.replyUserId != null">reply_user_id = #{entity.replyUserId},</if>
             <if test="entity.replyUserName != null">reply_user_name = #{entity.replyUserName},</if>
             <if test="entity.replyTime != null">reply_time = #{entity.replyTime},</if>
+            <if test="entity.usetimeHour != null">usetime_hour = #{entity.usetimeHour},</if>
+            <if test="entity.overtimeStatus != null">overtime_status = #{entity.overtimeStatus},</if>
+            <if test="entity.overtimeHour != null">overtime_hour = #{entity.overtimeHour},</if>
             <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
             <if test="entity.custId != null">cust_id = #{entity.custId},</if>
             <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
@@ -131,14 +140,20 @@
                 <if test="terms.replyTime != null and terms.replyTime !=''">
                     and reply_time = #{terms.replyTime}
                 </if>
+                <if test="terms.usetimeHour != null and terms.usetimeHour !=''">
+                    and usetime_hour = #{terms.usetimeHour}
+                </if>
+                <if test="terms.overtimeStatus != null and terms.overtimeStatus !=''">
+                    and overtime_status = #{terms.overtimeStatus}
+                </if>
+                <if test="terms.overtimeHour != null and terms.overtimeHour !=''">
+                    and overtime_hour = #{terms.overtimeHour}
+                </if>
                 <if test="terms.deleteStatus = null and terms.deleteStatus =''">
                     and delete_status = 0
                 </if>
                 <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
                     and delete_status = #{terms.deleteStatus}
-                </if>
-                <if test="terms.deleteStatus == null or terms.deleteStatus ==''">
-                    and delete_status = '0'
                 </if>
                 <if test="terms.custId != null and terms.custId !=''">
                     and cust_id = #{terms.custId}
@@ -354,4 +369,4 @@
         and sup_status = #{supStatus}
         and quilt_unit_id = #{quiltUnitId}
     </select>
-</mapper> 
\ No newline at end of file
+</mapper>
\ No newline at end of file
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 adc75c3..7e77673 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-09 22:10:33
+ * @time:2024-10-10 10:45:06
  * @version 1.0.0
 -->
 <mapper namespace="cn.huge.module.cases.dao.mapper.CaseTaskMapper">
@@ -16,14 +16,12 @@
             <result property="flowableId" column="flowable_id"/>
             <result property="processInstanceId" column="process_instance_id"/>
             <result property="processTaskId" column="process_task_id"/>
-            <result property="taskType" column="task_type"/>
             <result property="nodeType" column="node_type"/>
             <result property="nodeId" column="node_id"/>
             <result property="nodeName" column="node_name"/>
             <result property="flowId" column="flow_id"/>
             <result property="nodeShowName" column="node_show_name"/>
             <result property="caseTaskType" column="case_task_type"/>
-            <result property="candeType" column="cande_type"/>
             <result property="candeUnitId" column="cande_unit_id"/>
             <result property="candeUnitName" column="cande_unit_name"/>
             <result property="candeDeptId" column="cande_dept_id"/>
@@ -35,18 +33,25 @@
             <result property="signStatus" column="sign_status"/>
             <result property="signExpireTime" column="sign_expire_time"/>
             <result property="signTime" column="sign_time"/>
+            <result property="signUnitId" column="sign_unit_id"/>
+            <result property="signUnitName" column="sign_unit_name"/>
             <result property="signUserId" column="sign_user_id"/>
             <result property="signUserName" column="sign_user_name"/>
             <result property="expireTime" column="expire_time"/>
             <result property="status" column="status"/>
             <result property="handleUnitId" column="handle_unit_id"/>
             <result property="handleUnitName" column="handle_unit_name"/>
+            <result property="handleDeptId" column="handle_dept_id"/>
+            <result property="handleDeptName" column="handle_dept_name"/>
             <result property="handleUserId" column="handle_user_id"/>
             <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="usetimeHour" column="usetime_hour"/>
+            <result property="overtimeStatus" column="overtime_status"/>
+            <result property="overtimeHour" column="overtime_hour"/>
             <result property="deleteStatus" column="delete_status"/>
             <result property="custId" column="cust_id"/>
             <result property="createTime" column="create_time"/>
@@ -61,14 +66,12 @@
         flowable_id,
         process_instance_id,
         process_task_id,
-        task_type,
         node_type,
         node_id,
         node_name,
         flow_id,
         node_show_name,
         case_task_type,
-        cande_type,
         cande_unit_id,
         cande_unit_name,
         cande_dept_id,
@@ -80,18 +83,25 @@
         sign_status,
         sign_expire_time,
         sign_time,
+        sign_unit_id,
+        sign_unit_name,
         sign_user_id,
         sign_user_name,
         expire_time,
         status,
         handle_unit_id,
         handle_unit_name,
+        handle_dept_id,
+        handle_dept_name,
         handle_user_id,
         handle_user_name,
         handle_result,
         handle_content,
         handle_illust,
         handle_time,
+        usetime_hour,
+        overtime_status,
+        overtime_hour,
         delete_status,
         cust_id,
         create_time,
@@ -103,14 +113,12 @@
             <if test="entity.flowableId != null">flowable_id = #{entity.flowableId},</if>
             <if test="entity.processInstanceId != null">process_instance_id = #{entity.processInstanceId},</if>
             <if test="entity.processTaskId != null">process_task_id = #{entity.processTaskId},</if>
-            <if test="entity.taskType != null">task_type = #{entity.taskType},</if>
             <if test="entity.nodeType != null">node_type = #{entity.nodeType},</if>
             <if test="entity.nodeId != null">node_id = #{entity.nodeId},</if>
             <if test="entity.nodeName != null">node_name = #{entity.nodeName},</if>
             <if test="entity.flowId != null">flow_id = #{entity.flowId},</if>
             <if test="entity.nodeShowName != null">node_show_name = #{entity.nodeShowName},</if>
             <if test="entity.caseTaskType != null">case_task_type = #{entity.caseTaskType},</if>
-            <if test="entity.candeType != null">cande_type = #{entity.candeType},</if>
             <if test="entity.candeUnitId != null">cande_unit_id = #{entity.candeUnitId},</if>
             <if test="entity.candeUnitName != null">cande_unit_name = #{entity.candeUnitName},</if>
             <if test="entity.candeDeptId != null">cande_dept_id = #{entity.candeDeptId},</if>
@@ -122,18 +130,25 @@
             <if test="entity.signStatus != null">sign_status = #{entity.signStatus},</if>
             <if test="entity.signExpireTime != null">sign_expire_time = #{entity.signExpireTime},</if>
             <if test="entity.signTime != null">sign_time = #{entity.signTime},</if>
+            <if test="entity.signUnitId != null">sign_unit_id = #{entity.signUnitId},</if>
+            <if test="entity.signUnitName != null">sign_unit_name = #{entity.signUnitName},</if>
             <if test="entity.signUserId != null">sign_user_id = #{entity.signUserId},</if>
             <if test="entity.signUserName != null">sign_user_name = #{entity.signUserName},</if>
             <if test="entity.expireTime != null">expire_time = #{entity.expireTime},</if>
             <if test="entity.status != null">status = #{entity.status},</if>
             <if test="entity.handleUnitId != null">handle_unit_id = #{entity.handleUnitId},</if>
             <if test="entity.handleUnitName != null">handle_unit_name = #{entity.handleUnitName},</if>
+            <if test="entity.handleDeptId != null">handle_dept_id = #{entity.handleDeptId},</if>
+            <if test="entity.handleDeptName != null">handle_dept_name = #{entity.handleDeptName},</if>
             <if test="entity.handleUserId != null">handle_user_id = #{entity.handleUserId},</if>
             <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.usetimeHour != null">usetime_hour = #{entity.usetimeHour},</if>
+            <if test="entity.overtimeStatus != null">overtime_status = #{entity.overtimeStatus},</if>
+            <if test="entity.overtimeHour != null">overtime_hour = #{entity.overtimeHour},</if>
             <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
             <if test="entity.custId != null">cust_id = #{entity.custId},</if>
             <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
@@ -158,9 +173,6 @@
                 <if test="terms.processTaskId != null and terms.processTaskId !=''">
                     and process_task_id = #{terms.processTaskId}
                 </if>
-                <if test="terms.taskType != null and terms.taskType !=''">
-                    and task_type = #{terms.taskType}
-                </if>
                 <if test="terms.nodeType != null and terms.nodeType !=''">
                     and node_type = #{terms.nodeType}
                 </if>
@@ -178,9 +190,6 @@
                 </if>
                 <if test="terms.caseTaskType != null and terms.caseTaskType !=''">
                     and case_task_type = #{terms.caseTaskType}
-                </if>
-                <if test="terms.candeType != null and terms.candeType !=''">
-                    and cande_type = #{terms.candeType}
                 </if>
                 <if test="terms.candeUnitId != null and terms.candeUnitId !=''">
                     and cande_unit_id = #{terms.candeUnitId}
@@ -215,6 +224,12 @@
                 <if test="terms.signTime != null and terms.signTime !=''">
                     and sign_time = #{terms.signTime}
                 </if>
+                <if test="terms.signUnitId != null and terms.signUnitId !=''">
+                    and sign_unit_id = #{terms.signUnitId}
+                </if>
+                <if test="terms.signUnitName != null and terms.signUnitName !=''">
+                    and sign_unit_name = #{terms.signUnitName}
+                </if>
                 <if test="terms.signUserId != null and terms.signUserId !=''">
                     and sign_user_id = #{terms.signUserId}
                 </if>
@@ -233,6 +248,12 @@
                 <if test="terms.handleUnitName != null and terms.handleUnitName !=''">
                     and handle_unit_name = #{terms.handleUnitName}
                 </if>
+                <if test="terms.handleDeptId != null and terms.handleDeptId !=''">
+                    and handle_dept_id = #{terms.handleDeptId}
+                </if>
+                <if test="terms.handleDeptName != null and terms.handleDeptName !=''">
+                    and handle_dept_name = #{terms.handleDeptName}
+                </if>
                 <if test="terms.handleUserId != null and terms.handleUserId !=''">
                     and handle_user_id = #{terms.handleUserId}
                 </if>
@@ -250,6 +271,15 @@
                 </if>
                 <if test="terms.handleTime != null and terms.handleTime !=''">
                     and handle_time = #{terms.handleTime}
+                </if>
+                <if test="terms.usetimeHour != null and terms.usetimeHour !=''">
+                    and usetime_hour = #{terms.usetimeHour}
+                </if>
+                <if test="terms.overtimeStatus != null and terms.overtimeStatus !=''">
+                    and overtime_status = #{terms.overtimeStatus}
+                </if>
+                <if test="terms.overtimeHour != null and terms.overtimeHour !=''">
+                    and overtime_hour = #{terms.overtimeHour}
                 </if>
                 <if test="terms.deleteStatus = null and terms.deleteStatus =''">
                     and delete_status = 0
@@ -288,22 +318,6 @@
             id = #{entity.id}
         </where>
     </update>
-
-    <!-- 批量对象 -->
-    <update id="updateCaseTaskList">
-        update
-        <include refid="table-name"/>
-        <set>
-            <include refid="set-part"/>
-        </set>
-        <where>
-            id IN
-            <foreach item="id" collection="taskIdList" open="(" separator="," close=")">
-                #{id}
-            </foreach>
-        </where>
-    </update>
-
     <!-- 条件更新对象 -->
     <update id="updateCaseTaskTerms">
         update
@@ -365,7 +379,7 @@
         select
         count(case when (node_id = 'ZJ_DFP' or  node_id = 'QJ_DFP' or  node_id = 'SJ_DFP' or  node_id = 'DFP') and sign_status != 1 then id end) as waitDisp,
         count(case when sign_status = 1 then id end) as waitSign,
-        count(case when (node_id = 'ZJ_DSL' or  node_id = 'QJ_DSL' or  node_id = 'SJ_DSL' or  node_id = 'DSL') and sign_status != 1 and (handle_result != 3 or handle_result is null) then id end) as waitAccept,
+        count(case when (node_id = 'ZJ_DSL' or  node_id = 'QJ_DSL' or  node_id = 'SJ_DSL' or  node_id = 'DSL') and sign_status != 1 then id end) as waitAccept,
         count(case when node_id = 'BLFK' then id end) as Processing
         from
         <include refid="table-name" />
@@ -679,46 +693,46 @@
     <select id="pageMyTaskShWSQD" resultType="cn.huge.module.cases.domain.dto.FrontPageListWSQDDTO">
         select t1.*,t2.case_level as caseGrade, t2.canal_name as caseSource, concat(t2.case_type_first_name, '/' ,t2.case_type_name) as caseType,
         concat(t2.plaintiffs, t2.pagents) as plaintiffs, concat(t2.defendants, t2.dagents) as defendants
-            from
-            (
-            SELECT case_id as caseId, id as ownerId, return_time as turnaroundTime, '回退' as applyType,
-            audit_unit_name as auditUnit, return_status as auditStatus, audit_result_name as auditResult,
-            audit_time as auditTime, create_time, audit_result
-            FROM dyh_case_return
-            WHERE return_unit_id = #{terms.applyUnitId}
-            union all
-            SELECT case_id as caseId, id as ownerId, apply_time as turnaroundTime, '结案' as applyType,
-            audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditResult,
-            audit_time as auditTime, create_time, audit_result
-            FROM dyh_case_windup_apply
-            WHERE apply_unit_id = #{terms.applyUnitId}
-            union all
-            SELECT case_id as caseId, id as ownerId, appear_time as turnaroundTime, '上报' as applyType,
-            audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditResult,
-            audit_time as auditTime, create_time, audit_result
-            FROM dyh_case_appear
-            WHERE appear_unit_id = #{terms.applyUnitId}
-            union all
-            SELECT case_id as caseId, id as ownerId, apply_time as turnaroundTime, '联合处置' as applyType,
-            audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditStatus,
-            audit_time as auditTime, create_time, audit_result
-            FROM dyh_case_assist_apply
-            WHERE apply_unit_id = #{terms.applyUnitId}
-            )t1 left join dyh_case_info t2 on t1.caseId = t2.id
+        from
+        (
+        SELECT case_id as caseId, id as ownerId, return_time as turnaroundTime, '回退' as applyType,
+        audit_unit_name as auditUnit, return_status as auditStatus, audit_result_name as auditResult,
+        audit_time as auditTime, create_time, audit_result
+        FROM dyh_case_return
+        WHERE return_unit_id = #{terms.applyUnitId}
+        union all
+        SELECT case_id as caseId, id as ownerId, apply_time as turnaroundTime, '结案' as applyType,
+        audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditResult,
+        audit_time as auditTime, create_time, audit_result
+        FROM dyh_case_windup_apply
+        WHERE apply_unit_id = #{terms.applyUnitId}
+        union all
+        SELECT case_id as caseId, id as ownerId, appear_time as turnaroundTime, '上报' as applyType,
+        audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditResult,
+        audit_time as auditTime, create_time, audit_result
+        FROM dyh_case_appear
+        WHERE appear_unit_id = #{terms.applyUnitId}
+        union all
+        SELECT case_id as caseId, id as ownerId, apply_time as turnaroundTime, '联合处置' as applyType,
+        audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditStatus,
+        audit_time as auditTime, create_time, audit_result
+        FROM dyh_case_assist_apply
+        WHERE apply_unit_id = #{terms.applyUnitId}
+        )t1 left join dyh_case_info t2 on t1.caseId = t2.id
         <where>
-        <if test="terms.applyType != null and terms.applyType !=''">
-            and t1.applyType = #{terms.applyType}
-        </if>
-        <if test="terms.auditStatus != null and terms.auditStatus !=''">
-            and t1.audit_result = #{terms.auditResult}
-        </if>
-        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
-            and (DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
-            and DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
-        </if>
-        <if test="terms.partyName != null and terms.partyName !=''">
-            and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
-        </if>
+            <if test="terms.applyType != null and terms.applyType !=''">
+                and t1.applyType = #{terms.applyType}
+            </if>
+            <if test="terms.auditStatus != null and terms.auditStatus !=''">
+                and t1.audit_result = #{terms.auditResult}
+            </if>
+            <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
+                and (DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
+                and DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
+            </if>
+            <if test="terms.partyName != null and terms.partyName !=''">
+                and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
+            </if>
         </where>
         <if test="page.sort != null">
             <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
@@ -800,4 +814,4 @@
         limit #{page.offset}, #{page.size}
     </select>
 
-</mapper>
\ No newline at end of file
+</mapper> 
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseUrgingMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseUrgingMapper.xml
index e49e847..76f52af 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseUrgingMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseUrgingMapper.xml
@@ -4,8 +4,8 @@
  * @title: 纠纷催办信息表
  * @description: 自定义sql,请自行实现业务逻辑
  * @company: hugeinfo
- * @author: zhouxt
- * @time:2024-09-08 10:39:38
+ * @author: liyj
+ * @time:2024-10-14 14:23:35
  * @version 1.0.0
 -->
 <mapper namespace="cn.huge.module.cases.dao.mapper.CaseUrgingMapper">
@@ -23,6 +23,9 @@
             <result property="replyUserId" column="reply_user_id"/>
             <result property="replyUserName" column="reply_user_name"/>
             <result property="replyTime" column="reply_time"/>
+            <result property="usetimeHour" column="usetime_hour"/>
+            <result property="overtimeStatus" column="overtime_status"/>
+            <result property="overtimeHour" column="overtime_hour"/>
             <result property="deleteStatus" column="delete_status"/>
             <result property="custId" column="cust_id"/>
             <result property="createTime" column="create_time"/>
@@ -44,6 +47,9 @@
         reply_user_id,
         reply_user_name,
         reply_time,
+        usetime_hour,
+        overtime_status,
+        overtime_hour,
         delete_status,
         cust_id,
         create_time,
@@ -62,6 +68,9 @@
             <if test="entity.replyUserId != null">reply_user_id = #{entity.replyUserId},</if>
             <if test="entity.replyUserName != null">reply_user_name = #{entity.replyUserName},</if>
             <if test="entity.replyTime != null">reply_time = #{entity.replyTime},</if>
+            <if test="entity.usetimeHour != null">usetime_hour = #{entity.usetimeHour},</if>
+            <if test="entity.overtimeStatus != null">overtime_status = #{entity.overtimeStatus},</if>
+            <if test="entity.overtimeHour != null">overtime_hour = #{entity.overtimeHour},</if>
             <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
             <if test="entity.custId != null">cust_id = #{entity.custId},</if>
             <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
@@ -107,6 +116,15 @@
                 <if test="terms.replyTime != null and terms.replyTime !=''">
                     and reply_time = #{terms.replyTime}
                 </if>
+                <if test="terms.usetimeHour != null and terms.usetimeHour !=''">
+                    and usetime_hour = #{terms.usetimeHour}
+                </if>
+                <if test="terms.overtimeStatus != null and terms.overtimeStatus !=''">
+                    and overtime_status = #{terms.overtimeStatus}
+                </if>
+                <if test="terms.overtimeHour != null and terms.overtimeHour !=''">
+                    and overtime_hour = #{terms.overtimeHour}
+                </if>
                 <if test="terms.deleteStatus = null and terms.deleteStatus =''">
                     and delete_status = 0
                 </if>
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseWindupApplyMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseWindupApplyMapper.xml
index 3038f5f..078e0ad 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseWindupApplyMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseWindupApplyMapper.xml
@@ -5,7 +5,7 @@
  * @description: 自定义sql,请自行实现业务逻辑
  * @company: hugeinfo
  * @author: liyj
- * @time:2024-09-06 23:57:02
+ * @time:2024-10-14 14:23:35
  * @version 1.0.0
 -->
 <mapper namespace="cn.huge.module.cases.dao.mapper.CaseWindupApplyMapper">
@@ -35,6 +35,9 @@
             <result property="auditResult" column="audit_result"/>
             <result property="auditResultName" column="audit_result_name"/>
             <result property="auditContent" column="audit_content"/>
+            <result property="usetimeHour" column="usetime_hour"/>
+            <result property="overtimeStatus" column="overtime_status"/>
+            <result property="overtimeHour" column="overtime_hour"/>
             <result property="deleteStatus" column="delete_status"/>
             <result property="custId" column="cust_id"/>
             <result property="createTime" column="create_time"/>
@@ -68,6 +71,9 @@
         audit_result,
         audit_result_name,
         audit_content,
+        usetime_hour,
+        overtime_status,
+        overtime_hour,
         delete_status,
         cust_id,
         create_time,
@@ -98,6 +104,9 @@
             <if test="entity.auditResult != null">audit_result = #{entity.auditResult},</if>
             <if test="entity.auditResultName != null">audit_result_name = #{entity.auditResultName},</if>
             <if test="entity.auditContent != null">audit_content = #{entity.auditContent},</if>
+            <if test="entity.usetimeHour != null">usetime_hour = #{entity.usetimeHour},</if>
+            <if test="entity.overtimeStatus != null">overtime_status = #{entity.overtimeStatus},</if>
+            <if test="entity.overtimeHour != null">overtime_hour = #{entity.overtimeHour},</if>
             <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
             <if test="entity.custId != null">cust_id = #{entity.custId},</if>
             <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
@@ -178,6 +187,15 @@
                 </if>
                 <if test="terms.auditContent != null and terms.auditContent !=''">
                     and audit_content = #{terms.auditContent}
+                </if>
+                <if test="terms.usetimeHour != null and terms.usetimeHour !=''">
+                    and usetime_hour = #{terms.usetimeHour}
+                </if>
+                <if test="terms.overtimeStatus != null and terms.overtimeStatus !=''">
+                    and overtime_status = #{terms.overtimeStatus}
+                </if>
+                <if test="terms.overtimeHour != null and terms.overtimeHour !=''">
+                    and overtime_hour = #{terms.overtimeHour}
                 </if>
                 <if test="terms.deleteStatus = null and terms.deleteStatus =''">
                     and delete_status = 0
@@ -417,4 +435,4 @@
         </if>
         limit #{page.offset}, #{page.size}
     </select>
-</mapper> 
\ No newline at end of file
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/EvaluatePersonDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/EvaluatePersonDTO.java
new file mode 100644
index 0000000..68a1d1e
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/EvaluatePersonDTO.java
@@ -0,0 +1,26 @@
+package cn.huge.module.cases.domain.dto;
+
+import cn.huge.module.cases.domain.po.CaseInfo;
+import lombok.Data;
+
+/**
+ * @title: 当事人评价人信息
+ * @description: 当事人评价人信息
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-03-11 11:43:25
+ * @version: 1.0.0
+ * @see CaseInfo
+ */
+@Data
+public class EvaluatePersonDTO {
+    /**
+     * 姓名/企业/机构名称
+     */
+    private String id;
+
+    /**
+     * 联系方式
+     */
+    private String name;
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebCaseFlowDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebCaseFlowDTO.java
index 2509ec1..a32578b 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebCaseFlowDTO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebCaseFlowDTO.java
@@ -70,7 +70,7 @@
     private String mediResultName;
 
     /**
-     * 任务类型,1:正常流转,2:回退申请,3:上报申请
+     * 流程标签展示,1:正常流转(√),2:回退申请(←),3:上报申请(↑),4:不予受理(x)
      */
     private Integer taskType;
 
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAppear.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAppear.java
index b9c83b0..066fd73 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAppear.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAppear.java
@@ -13,7 +13,7 @@
  * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
  * @company:hugeinfo
  * @author: liyj
- * @time: 2024-09-07 00:06:20
+ * @time: 2024-10-14 10:03:57
  * @version 1.0.0
  */
 @TableName(value = "dyh_case_appear")
@@ -129,6 +129,24 @@
     private String auditContent;
 
     /**
+    * 上报审核耗时,单位:小时
+    */
+    @TableField(value = "usetime_hour")
+    private Integer usetimeHour;
+
+    /**
+    * 上报审核超时状态,0:未超时,1:已超时
+    */
+    @TableField(value = "overtime_status")
+    private Integer overtimeStatus;
+
+    /**
+    * 上报审核超时,单位:小时
+    */
+    @TableField(value = "overtime_hour")
+    private Integer overtimeHour;
+
+    /**
     * 删除状态,0:未删除,1:已删除
     */
     @TableLogic
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistApply.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistApply.java
index d98f656..68a7a94 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistApply.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistApply.java
@@ -1,7 +1,6 @@
 package cn.huge.module.cases.domain.po;
 
 import cn.huge.module.sys.dto.FileInfoBaseDTO;
-import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
@@ -15,8 +14,8 @@
  * @title: 联合处置申请信息表数据库对应关系类
  * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
  * @company:hugeinfo
- * @author: wangwh
- * @time: 2024-09-05 17:25:04
+ * @author: liyj
+ * @time: 2024-10-14 10:03:57
  * @version 1.0.0
  */
 @TableName(value = "dyh_case_assist_apply")
@@ -84,7 +83,7 @@
     private Date applyTime;
 
     /**
-    * 申请状态,0:待审核,1:已审核,2:异常结束
+    * 申请状态,0:待审核,1:已审核
     */
     @TableField(value = "apply_status")
     private Integer applyStatus;
@@ -138,6 +137,24 @@
     private String auditContent;
 
     /**
+    * 审核耗时,单位:小时
+    */
+    @TableField(value = "usetime_hour")
+    private Integer usetimeHour;
+
+    /**
+    * 审核超时状态,0:未超时,1:已超时
+    */
+    @TableField(value = "overtime_status")
+    private Integer overtimeStatus;
+
+    /**
+    * 审核超时,单位:小时
+    */
+    @TableField(value = "overtime_hour")
+    private Integer overtimeHour;
+
+    /**
     * 删除状态,0:未删除,1:已删除
     */
     @TableLogic
@@ -162,6 +179,10 @@
     @TableField(value = "update_time")
     private Date updateTime;
 
+    /**
+     * 附件列表
+     */
     @TableField(exist = false)
     private List<FileInfoBaseDTO> fileInfoBaseDTOList;
+
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistInfo.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistInfo.java
index 8f3a610..03d86b7 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistInfo.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAssistInfo.java
@@ -33,6 +33,12 @@
     private String caseId;
 
     /**
+     * 工作流流程实例编号
+     */
+    @TableField(value = "process_instance_id")
+    private String processInstanceId;
+
+    /**
     * 办理反馈任务编号
     */
     @TableField(value = "case_task_id")
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java
index bd8ae3f..c607b99 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java
@@ -246,6 +246,12 @@
     private String visitWayName;
 
     /**
+    * 是否自行受理,0:否,1:是
+    */
+    @TableField(value = "zxsl_status")
+    private Integer zxslStatus;
+
+    /**
     * 事项概况
     */
     @TableField(value = "case_des")
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseReturn.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseReturn.java
index e5a30d7..332c97d 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseReturn.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseReturn.java
@@ -1,7 +1,6 @@
 package cn.huge.module.cases.domain.po;
 
 import cn.huge.module.sys.dto.FileInfoBaseDTO;
-import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
@@ -16,7 +15,7 @@
  * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
  * @company:hugeinfo
  * @author: liyj
- * @time: 2024-09-07 00:06:20
+ * @time: 2024-10-14 10:03:57
  * @version 1.0.0
  */
 @TableName(value = "dyh_case_return")
@@ -84,8 +83,8 @@
     private String caseTaskId;
 
     /**
-     * 纠纷任务类型,1:承办,2:配合
-     */
+    * 回退审核纠纷任务类型,1:承办,2:配合
+    */
     @TableField(value = "case_task_type")
     private Integer caseTaskType;
 
@@ -138,6 +137,24 @@
     private String auditContent;
 
     /**
+    * 回退审核耗时,单位:小时
+    */
+    @TableField(value = "usetime_hour")
+    private Integer usetimeHour;
+
+    /**
+    * 回退审核超时状态,0:未超时,1:已超时
+    */
+    @TableField(value = "overtime_status")
+    private Integer overtimeStatus;
+
+    /**
+    * 回退审核超时,单位:小时
+    */
+    @TableField(value = "overtime_hour")
+    private Integer overtimeHour;
+
+    /**
     * 删除状态,0:未删除,1:已删除
     */
     @TableLogic
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java
index cbf3199..4bc3ce7 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java
@@ -16,8 +16,8 @@
  * @title: 纠纷督办信息表数据库对应关系类
  * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
  * @company:hugeinfo
- * @author: wangwh
- * @time: 2024-09-03 10:53:01
+ * @author: liyj
+ * @time: 2024-10-14 10:03:57
  * @version 1.0.0
  */
 @TableName(value = "dyh_case_supervise")
@@ -43,14 +43,14 @@
     private String supContent;
 
     /**
-     * 督办人编号
-     */
+    * 督办组织编号
+    */
     @TableField(value = "sup_unit_id")
     private String supUnitId;
 
     /**
-     * 督办人名称
-     */
+    * 督办组织名称
+    */
     @TableField(value = "sup_unit_name")
     private String supUnitName;
 
@@ -74,14 +74,14 @@
     private Date supTime;
 
     /**
-     * 被督办组织编号
-     */
+    * 被督办组织编号
+    */
     @TableField(value = "quilt_unit_id")
     private String quiltUnitId;
 
     /**
-     * 被督办组织名称
-     */
+    * 被督办组织名称
+    */
     @TableField(value = "quilt_unit_name")
     private String quiltUnitName;
 
@@ -121,6 +121,24 @@
     @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8")
     @TableField(value = "reply_time")
     private Date replyTime;
+
+    /**
+    * 回复耗时,单位:小时
+    */
+    @TableField(value = "usetime_hour")
+    private Integer usetimeHour;
+
+    /**
+    * 回复超时状态,0:未超时,1:已超时
+    */
+    @TableField(value = "overtime_status")
+    private Integer overtimeStatus;
+
+    /**
+    * 回复超时,单位:小时
+    */
+    @TableField(value = "overtime_hour")
+    private Integer overtimeHour;
 
     /**
     * 删除状态,0:未删除,1:已删除
@@ -173,4 +191,5 @@
     @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8")
     @TableField(exist = false)
     private Date timeLimit;
+
 }
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 ac17ac3..d1c4e6d 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-09 22:10:33
+ * @time: 2024-10-10 10:45:05
  * @version 1.0.0
  */
 @TableName(value = "dyh_case_task")
@@ -49,12 +49,6 @@
     */
     @TableField(value = "process_task_id")
     private String processTaskId;
-
-    /**
-    * 任务类型,1:正常流转,2:回退申请,3:上报申请
-    */
-    @TableField(value = "task_type")
-    private Integer taskType;
 
     /**
     * 工作流节点类型,1:首节点,2:普通节点,3:结束节点
@@ -93,55 +87,49 @@
     private Integer caseTaskType;
 
     /**
-    * 任务候选执行者类型:1:所有人,2:上一步骤选择,3:上一步骤执行者,4:自定义指定(单位部门角色人组合)
-    */
-    @TableField(value = "cande_type")
-    private Integer candeType;
-
-    /**
-    * 任务候选执行组织编号
+    * 任务所属组织编号
     */
     @TableField(value = "cande_unit_id")
     private String candeUnitId;
 
     /**
-    * 任务候选执行组织名称
+    * 任务所属组织名称
     */
     @TableField(value = "cande_unit_name")
     private String candeUnitName;
 
     /**
-    * 任务候选执行部门编号
+    * 任务所属部门编号
     */
     @TableField(value = "cande_dept_id")
     private String candeDeptId;
 
     /**
-    * 任务候选执行部门名称
+    * 任务所属部门名称
     */
     @TableField(value = "cande_dept_name")
     private String candeDeptName;
 
     /**
-    * 任务候选执行角色代码编号
+    * 任务所属角色编号
     */
     @TableField(value = "cande_role_code")
     private String candeRoleCode;
 
     /**
-    * 任务候选执行角色名称
+    * 任务所属角色名称
     */
     @TableField(value = "cande_role_name")
     private String candeRoleName;
 
     /**
-    * 任务候选执行人员编号
+    * 任务所属人员编号
     */
     @TableField(value = "cande_user_id")
     private String candeUserId;
 
     /**
-    * 任务候选执行人员名称
+    * 任务所属人员名称
     */
     @TableField(value = "cande_user_name")
     private String candeUserName;
@@ -163,6 +151,18 @@
     */
     @TableField(value = "sign_time")
     private Date signTime;
+
+    /**
+    * 任务签收单位编号
+    */
+    @TableField(value = "sign_unit_id")
+    private String signUnitId;
+
+    /**
+    * 任务签收单位名称
+    */
+    @TableField(value = "sign_unit_name")
+    private String signUnitName;
 
     /**
     * 任务签收人编号
@@ -201,6 +201,18 @@
     private String handleUnitName;
 
     /**
+    * 任务处理部门编号
+    */
+    @TableField(value = "handle_dept_id")
+    private String handleDeptId;
+
+    /**
+    * 任务处理部门名称
+    */
+    @TableField(value = "handle_dept_name")
+    private String handleDeptName;
+
+    /**
     * 任务处理人编号
     */
     @TableField(value = "handle_user_id")
@@ -213,7 +225,7 @@
     private String handleUserName;
 
     /**
-    * 处理结果,1:通过,2:不通过,3:不予受理
+    * 处理结果,0:正常流转,1:审核通过,2:审核不通过,3:不予受理,4:回退,5:上报
     */
     @TableField(value = "handle_result")
     private Integer handleResult;
@@ -237,6 +249,24 @@
     private Date handleTime;
 
     /**
+    * 任务处理耗时,单位:小时
+    */
+    @TableField(value = "usetime_hour")
+    private Integer usetimeHour;
+
+    /**
+    * 任务超时状态,0:未超时,1:已超时
+    */
+    @TableField(value = "overtime_status")
+    private Integer overtimeStatus;
+
+    /**
+    * 任务处理超时,单位:小时
+    */
+    @TableField(value = "overtime_hour")
+    private Integer overtimeHour;
+
+    /**
     * 删除状态,0:未删除,1:已删除
     */
     @TableLogic
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseUrging.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseUrging.java
index 821d5f8..92f9725 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseUrging.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseUrging.java
@@ -12,8 +12,8 @@
  * @title: 纠纷催办信息表数据库对应关系类
  * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
  * @company:hugeinfo
- * @author: zhouxt
- * @time: 2024-09-08 10:39:38
+ * @author: liyj
+ * @time: 2024-10-14 10:03:57
  * @version 1.0.0
  */
 @TableName(value = "dyh_case_urging")
@@ -57,13 +57,13 @@
     private Date urgingTime;
 
     /**
-    * 催办状态
+    * 催办状态,0:未回复,1:已回复
     */
     @TableField(value = "urging_status")
     private Integer urgingStatus;
 
     /**
-    * 回复期限
+    * 回复期限,单位:小时
     */
     @TableField(value = "reply_term")
     private Integer replyTerm;
@@ -90,17 +90,35 @@
     * 回复时间
     */
     @TableField(value = "reply_time")
-    private String replyTime;
+    private Date replyTime;
 
     /**
-    * 删除状态
+    * 回复耗时,单位:小时
+    */
+    @TableField(value = "usetime_hour")
+    private Integer usetimeHour;
+
+    /**
+    * 回复超时状态,0:未超时,1:已超时
+    */
+    @TableField(value = "overtime_status")
+    private Integer overtimeStatus;
+
+    /**
+    * 回复超时,单位:小时
+    */
+    @TableField(value = "overtime_hour")
+    private Integer overtimeHour;
+
+    /**
+    * 删除状态,0:未删除,1:已删除
     */
     @TableLogic
     @TableField(value = "delete_status")
     private Integer deleteStatus;
 
     /**
-    * 客户编号
+    * 顾客编号
     */
     @TableField(value = "cust_id")
     private String custId;
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseWindupApply.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseWindupApply.java
index a36276b..cb157e8 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseWindupApply.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseWindupApply.java
@@ -13,7 +13,7 @@
  * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
  * @company:hugeinfo
  * @author: liyj
- * @time: 2024-09-06 23:57:02
+ * @time: 2024-10-14 10:03:57
  * @version 1.0.0
  */
 @TableName(value = "dyh_case_windup_apply")
@@ -165,6 +165,24 @@
     private String auditContent;
 
     /**
+    * 结案审核耗时,单位:小时
+    */
+    @TableField(value = "usetime_hour")
+    private Integer usetimeHour;
+
+    /**
+    * 结案审核超时状态,0:未超时,1:已超时
+    */
+    @TableField(value = "overtime_status")
+    private Integer overtimeStatus;
+
+    /**
+    * 结案审核超时,单位:小时
+    */
+    @TableField(value = "overtime_hour")
+    private Integer overtimeHour;
+
+    /**
     * 删除状态,0:未删除,1:已删除
     */
     @TableLogic
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java
index 1385ee0..013fddc 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java
@@ -213,32 +213,33 @@
                     String unitId = unitIdList[i];
                     String unitName = unitNameList[i];
                     // 启动联合处置工作流
-                    FlowNode dfpFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LHCZ, caseAssistApplyPO.getCaseId());
-                    // 新建并完成配合部门待分派任务
+                    FlowNode dfpFlowNode = flowInfoService.startFlow(FlowableConsts.GZDYH_LHCZ_V1, caseAssistApplyPO.getCaseId());
+                    // 新建并完成配合组织待分派节点任务
                     CaseTask dfpCaseTask = new CaseTask();
                     dfpCaseTask.setId(utilsClient.getNewTimeId());
                     dfpCaseTask.setCaseId(caseAssistApplyPO.getCaseId());
                     dfpCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
                     dfpCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
                     dfpCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());
-                    dfpCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                     dfpCaseTask.setNodeType(dfpFlowNode.getNodeType());
                     dfpCaseTask.setNodeId(dfpFlowNode.getNodeId());
                     dfpCaseTask.setNodeName(dfpFlowNode.getNodeName());
                     dfpCaseTask.setFlowId(dfpFlowNode.getFlowId());
                     dfpCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName());
                     dfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
-                    // 通过调度的,任务候选执行者类型是上一步骤选择
-                    dfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                    dfpCaseTask.setCandeUnitId(unitId);
-                    dfpCaseTask.setCandeUnitName(unitName);
-                    // 不需要签收
+                    // 任务所属单位:联合处置审核组织
+                    dfpCaseTask.setCandeUnitId(loginUser.getUnitId());
+                    dfpCaseTask.setCandeUnitName(loginUser.getUnitName());
+                    // 联合处置审核任务,不需要签收
                     dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                     dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                     dfpCaseTask.setHandleUnitId(loginUser.getUnitId());
                     dfpCaseTask.setHandleUnitName(loginUser.getUnitName());
+                    dfpCaseTask.setHandleDeptId(loginUser.getDeptId());
+                    dfpCaseTask.setHandleDeptName(loginUser.getDeptName());
                     dfpCaseTask.setHandleUserId(loginUser.getId());
                     dfpCaseTask.setHandleUserName(loginUser.getTrueName());
+                    dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
                     dfpCaseTask.setHandleContent(caseAssistApplyPO.getAuditContent());
                     dfpCaseTask.setHandleIllust("交办至:"+caseAssistApplyPO.getApplyAssistUnitName());
                     // 任务处理时限
@@ -250,35 +251,33 @@
                     dfpCaseTask.setCreateTime(now);
                     dfpCaseTask.setUpdateTime(now);
                     caseTaskService.save(dfpCaseTask);
-                    // 完成待分派任务
+                    // 完成待分派节点任务,进入待受理节点
                     FlowNode dslFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(),
                             FlowableConsts.OPERATION_forward, loginUser.getId());
-                    // 创建配合部门待受理任务
+                    // 创建待受理节点任务
                     CaseTask dslCaseTask = new CaseTask();
                     dslCaseTask.setId(utilsClient.getNewTimeId());
                     dslCaseTask.setCaseId(caseAssistApplyPO.getCaseId());
                     dslCaseTask.setFlowableId(dslFlowNode.getFlowableId());
                     dslCaseTask.setProcessInstanceId(dslFlowNode.getProcessInstanceId());
                     dslCaseTask.setProcessTaskId(dslFlowNode.getProcessTaskId());
-                    dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                     dslCaseTask.setNodeType(dslFlowNode.getNodeType());
                     dslCaseTask.setNodeId(dslFlowNode.getNodeId());
                     dslCaseTask.setNodeName(dslFlowNode.getNodeName());
                     dslCaseTask.setFlowId(dslFlowNode.getFlowId());
                     dslCaseTask.setNodeShowName(dslFlowNode.getNodeShowName());
                     dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
-                    // 通过调度的,任务候选执行者类型是上一步骤选择
-                    dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                    // 任务所属组织:联合处置组织
                     CtUnitDTO ctUnitDTO = custClient.getUnitById(unitId);
                     dslCaseTask.setCandeUnitId(ctUnitDTO.getId());
                     dslCaseTask.setCandeUnitName(ctUnitDTO.getUnitName());
-                    // 需要签收
+                    // 待受理任务,需要签收
                     dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
-                    dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                     // 任务处理时限
                     if (dslFlowNode.getExpire() != 0) {
                         dslCaseTask.setExpireTime(DateUtils.addDay(now, dslFlowNode.getExpire()));
                     }
+                    dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                     dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                     dslCaseTask.setCustId(caseAssistApplyPO.getCustId());
                     dslCaseTask.setCreateTime(now);
@@ -288,6 +287,7 @@
                     CaseAssistInfo caseAssistInfoPO = new CaseAssistInfo();
                     caseAssistInfoPO.setId(utilsClient.getNewTimeId());
                     caseAssistInfoPO.setCaseId(dslCaseTask.getCaseId());
+                    caseAssistInfoPO.setProcessInstanceId(dslCaseTask.getProcessInstanceId());
                     caseAssistInfoPO.setAssistUnitId(unitId);
                     caseAssistInfoPO.setAssistUnitName(unitName);
                     caseAssistInfoPO.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_0);
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java
index 32c1c62..29b9c33 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java
@@ -172,52 +172,60 @@
             caseEvaluate.setCustId(loginUser.getCustId());
             caseEvaluate.setUpdateTime(nowDate);
             this.saveOrUpdate(caseEvaluate);
-            // 查询当事人评价任务
+            // 查询当事人评价节点任务
             QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>();
-            caseTaskQueryWrapper.eq("case_id", caseEvaluate.getCaseId()).eq("node_id", FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex());
+            caseTaskQueryWrapper.eq("case_id", caseEvaluate.getCaseId())
+                    .eq("node_id", FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())
+                    .eq("status", CaseTaskConsts.TASK_STATUS_1);
             CaseTask dsrpjCaseTask = caseTaskService.getOne(caseTaskQueryWrapper);
-            // 完成当前当事人评价任务
+            // 完成当前当事人评价节点任务
             dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
             dsrpjCaseTask.setHandleUnitId(dsrpjCaseTask.getCandeUnitId());
             dsrpjCaseTask.setHandleUnitName(dsrpjCaseTask.getCandeUnitName());
             dsrpjCaseTask.setHandleUserId(loginUser.getId());
             dsrpjCaseTask.setHandleUserName(loginUser.getTrueName()+"(当事人)");
-            dsrpjCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+            dsrpjCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
             dsrpjCaseTask.setHandleTime(nowDate);
             dsrpjCaseTask.setUpdateTime(nowDate);
             caseTaskService.updateCaseTask(dsrpjCaseTask);
-            // 完成当前当事人评价工作流任务
-            FlowNode dsrpjFlowNode = flowInfoService.completeTask(dsrpjCaseTask.getFlowableId(), dsrpjCaseTask.getProcessTaskId(),
+            // 完成当前当事人评价工作流节点任务,进入结案归档节点
+            FlowNode jagdFlowNode = flowInfoService.completeTask(dsrpjCaseTask.getFlowableId(), dsrpjCaseTask.getProcessTaskId(),
                     FlowableConsts.OPERATION_forward, userId);
-            // 默认完成结案归档任务
+            // 创建并完成结案归档任务
             CaseTask jagdCaseTask = new CaseTask();
             jagdCaseTask.setId(utilsClient.getNewTimeId());
             jagdCaseTask.setCaseId(caseEvaluate.getCaseId());
-            jagdCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId());
-            jagdCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId());
-            jagdCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId());
-            jagdCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
-            jagdCaseTask.setNodeType(dsrpjFlowNode.getNodeType());
-            jagdCaseTask.setNodeId(dsrpjFlowNode.getNodeId());
-            jagdCaseTask.setNodeName(dsrpjFlowNode.getNodeName());
-            jagdCaseTask.setFlowId(dsrpjFlowNode.getFlowId());
-            jagdCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName());
+            jagdCaseTask.setFlowableId(jagdFlowNode.getFlowableId());
+            jagdCaseTask.setProcessInstanceId(jagdFlowNode.getProcessInstanceId());
+            jagdCaseTask.setProcessTaskId(jagdFlowNode.getProcessTaskId());
+            jagdCaseTask.setNodeType(jagdFlowNode.getNodeType());
+            jagdCaseTask.setNodeId(jagdFlowNode.getNodeId());
+            jagdCaseTask.setNodeName(jagdFlowNode.getNodeName());
+            jagdCaseTask.setFlowId(jagdFlowNode.getFlowId());
+            jagdCaseTask.setNodeShowName(jagdFlowNode.getNodeShowName());
             jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-            // 通过调度的,任务候选执行者类型是上一步骤选择
-            jagdCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-            jagdCaseTask.setCandeUnitId(dsrpjCaseTask.getCandeUnitId());
-            jagdCaseTask.setCandeUnitName(dsrpjCaseTask.getCandeUnitName());
-            // 系不需要签收
+            // 任务所属单位:结案申请组织
+            caseTaskQueryWrapper.clear();
+            caseTaskQueryWrapper.eq("case_id", caseEvaluate.getCaseId())
+                    .eq("node_id", FlowNodeEnum.FLOW_NODE_JASQ.getIndex())
+                    .eq("status", CaseTaskConsts.TASK_STATUS_2).orderByDesc("create_time");
+            List<CaseTask> jasqCaseTaskList = caseTaskService.list(caseTaskQueryWrapper);
+            jagdCaseTask.setCandeUnitId(jasqCaseTaskList.get(0).getHandleUnitId());
+            jagdCaseTask.setCandeUnitName(jasqCaseTaskList.get(0).getHandleUnitName());
+            // 受理后的任务,不需要签收
             jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
             jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
             // 任务处理时限
-            if (dsrpjFlowNode.getExpire() != 0) {
-                jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire()));
+            if (jagdFlowNode.getExpire() != 0) {
+                jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, jagdFlowNode.getExpire()));
             }
-            jagdCaseTask.setHandleUnitId(dsrpjCaseTask.getCandeUnitId());
-            jagdCaseTask.setHandleUnitName(dsrpjCaseTask.getCandeUnitName());
-            jagdCaseTask.setHandleUserName("系统自动");
-            jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+            jagdCaseTask.setHandleUnitId(jasqCaseTaskList.get(0).getHandleUnitId());
+            jagdCaseTask.setHandleUnitName(jasqCaseTaskList.get(0).getHandleUnitName());
+            jagdCaseTask.setHandleDeptId(jasqCaseTaskList.get(0).getHandleDeptId());
+            jagdCaseTask.setHandleDeptName(jasqCaseTaskList.get(0).getHandleDeptName());
+            jagdCaseTask.setHandleUserId(jasqCaseTaskList.get(0).getHandleUserId());
+            jagdCaseTask.setHandleUserName(jasqCaseTaskList.get(0).getHandleUserName());
+            jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
             jagdCaseTask.setHandleTime(nowDate);
             jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
             jagdCaseTask.setCustId(dsrpjCaseTask.getCustId());
@@ -226,7 +234,7 @@
             caseTaskService.save(jagdCaseTask);
             // 结束工作流流程
             flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(),
-                    FlowableConsts.OPERATION_jb_zszz, "系统自动");
+                    FlowableConsts.OPERATION_forward, jasqCaseTaskList.get(0).getHandleUserId());
             // 更新纠纷信息
             CaseInfo caseInfoPO = new CaseInfo();
             caseInfoPO.setId(dsrpjCaseTask.getCaseId());
@@ -238,7 +246,6 @@
             caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
             caseInfoPO.setUpdateTime(nowDate);
             caseInfoService.updateCaseInfo(caseInfoPO);
-
         }catch (Exception e){
             log.error("[CaseEvaluateService.saveCaseEvaluateWechat]调用失败,异常信息:"+e, e);
             throw new ServiceException("CaseEvaluateService.saveCaseEvaluateWechat", e);
@@ -258,44 +265,53 @@
             caseTaskQueryWrapper.in("case_id", idList).eq("node_id", FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex());
             List<CaseTask> dsrpjCaseTaskList = caseTaskService.list(caseTaskQueryWrapper);
             for(CaseTask dsrpjCaseTask: dsrpjCaseTaskList){
-                // 完成当前当事人评价任务
+                // 完成当前当事人评价节点任务
                 dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
-//                dsrpjCaseTask.setHandleUserId(loginUser.getId());
-                dsrpjCaseTask.setHandleUserName("系统自动");
-                dsrpjCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                dsrpjCaseTask.setHandleUserId(dsrpjCaseTask.getCandeUserId());
+                dsrpjCaseTask.setHandleUserName(dsrpjCaseTask.getCandeUserName());
+                dsrpjCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
+                dsrpjCaseTask.setHandleIllust("规定时间内未评价");
                 dsrpjCaseTask.setHandleTime(nowDate);
                 dsrpjCaseTask.setUpdateTime(nowDate);
                 caseTaskService.updateCaseTask(dsrpjCaseTask);
-                // 完成当前当事人评价工作流任务
-                FlowNode dsrpjFlowNode = flowInfoService.completeTask(dsrpjCaseTask.getFlowableId(), dsrpjCaseTask.getProcessTaskId(),
+                // 完成当前当事人评价工作流节点任务,进入结案归档节点
+                FlowNode jagdFlowNode = flowInfoService.completeTask(dsrpjCaseTask.getFlowableId(), dsrpjCaseTask.getProcessTaskId(),
                         FlowableConsts.OPERATION_forward, "系统自动");
-                // 默认完成结案归档任务
+                // 创建并完成结案归档任务
                 CaseTask jagdCaseTask = new CaseTask();
                 jagdCaseTask.setId(utilsClient.getNewTimeId());
                 jagdCaseTask.setCaseId(dsrpjCaseTask.getCaseId());
-                jagdCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId());
-                jagdCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId());
-                jagdCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId());
-                jagdCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
-                jagdCaseTask.setNodeType(dsrpjFlowNode.getNodeType());
-                jagdCaseTask.setNodeId(dsrpjFlowNode.getNodeId());
-                jagdCaseTask.setNodeName(dsrpjFlowNode.getNodeName());
-                jagdCaseTask.setFlowId(dsrpjFlowNode.getFlowId());
-                jagdCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName());
+                jagdCaseTask.setFlowableId(jagdFlowNode.getFlowableId());
+                jagdCaseTask.setProcessInstanceId(jagdFlowNode.getProcessInstanceId());
+                jagdCaseTask.setProcessTaskId(jagdFlowNode.getProcessTaskId());
+                jagdCaseTask.setNodeType(jagdFlowNode.getNodeType());
+                jagdCaseTask.setNodeId(jagdFlowNode.getNodeId());
+                jagdCaseTask.setNodeName(jagdFlowNode.getNodeName());
+                jagdCaseTask.setFlowId(jagdFlowNode.getFlowId());
+                jagdCaseTask.setNodeShowName(jagdFlowNode.getNodeShowName());
                 jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-                // 通过调度的,任务候选执行者类型是上一步骤选择
-                jagdCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                jagdCaseTask.setCandeUnitId(dsrpjCaseTask.getCandeUnitId());
-                jagdCaseTask.setCandeUnitName(dsrpjCaseTask.getCandeUnitName());
-                // 系不需要签收
+                // 任务所属单位:结案申请组织
+                caseTaskQueryWrapper.clear();
+                caseTaskQueryWrapper.eq("case_id", dsrpjCaseTask.getCaseId())
+                        .eq("node_id", FlowNodeEnum.FLOW_NODE_JASQ.getIndex())
+                        .eq("status", CaseTaskConsts.TASK_STATUS_2).orderByDesc("create_time");
+                List<CaseTask> jasqCaseTaskList = caseTaskService.list(caseTaskQueryWrapper);
+                jagdCaseTask.setCandeUnitId(jasqCaseTaskList.get(0).getHandleUnitId());
+                jagdCaseTask.setCandeUnitName(jasqCaseTaskList.get(0).getHandleUnitName());
+                // 受理后的任务,不需要签收
                 jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                 jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                 // 任务处理时限
-                if (dsrpjFlowNode.getExpire() != 0) {
-                    jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire()));
+                if (jagdFlowNode.getExpire() != 0) {
+                    jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, jagdFlowNode.getExpire()));
                 }
-                jagdCaseTask.setHandleUnitName("系统自动");
-                jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                jagdCaseTask.setHandleUnitId(jasqCaseTaskList.get(0).getHandleUnitId());
+                jagdCaseTask.setHandleUnitName(jasqCaseTaskList.get(0).getHandleUnitName());
+                jagdCaseTask.setHandleDeptId(jasqCaseTaskList.get(0).getHandleDeptId());
+                jagdCaseTask.setHandleDeptName(jasqCaseTaskList.get(0).getHandleDeptName());
+                jagdCaseTask.setHandleUserId(jasqCaseTaskList.get(0).getHandleUserId());
+                jagdCaseTask.setHandleUserName(jasqCaseTaskList.get(0).getHandleUserName());
+                jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
                 jagdCaseTask.setHandleTime(nowDate);
                 jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                 jagdCaseTask.setCustId(dsrpjCaseTask.getCustId());
@@ -304,7 +320,7 @@
                 caseTaskService.save(jagdCaseTask);
                 // 结束工作流流程
                 flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(),
-                        FlowableConsts.OPERATION_jb_zszz, "系统自动");
+                        FlowableConsts.OPERATION_jb_zszz, jasqCaseTaskList.get(0).getHandleUserId());
                 // 更新纠纷信息
                 CaseInfo caseInfoPO = new CaseInfo();
                 caseInfoPO.setId(dsrpjCaseTask.getCaseId());
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 c063d22..633f0e4 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
@@ -235,6 +235,14 @@
             //复制填装案件表
             CaseInfo caseInfo = new CaseInfo();
             BeanUtils.copyProperties(registerSaveDTO, caseInfo);
+            // 是否自行受理
+            if (1 == registerSaveDTO.getIsSelfAccept()) {
+                // 是
+                caseInfo.setZxslStatus(CaseBaseConsts.ZXSL_STATUS_1);
+            }else {
+                // 否
+                caseInfo.setZxslStatus(CaseBaseConsts.ZXSL_STATUS_0);
+            }
             caseInfo.setUpdateTime(nowDate);
 
             // 常规登记-保存当事人
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java
index b4f686f..6092625 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java
@@ -4,12 +4,15 @@
 import cn.huge.base.common.utils.DateUtils;
 import cn.huge.base.common.utils.IdUtils;
 import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.module.cases.domain.dto.EvaluatePersonDTO;
 import cn.huge.module.cases.domain.po.CaseAgent;
 import cn.huge.module.client.api.impl.UtilsClientImpl;
 import cn.huge.module.cases.dao.mapper.CasePersonMapper;
 import cn.huge.module.cases.domain.po.CasePerson;
+import cn.huge.module.mediate.constant.CaseBaseConstsEnum;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import lombok.extern.slf4j.Slf4j;
@@ -150,4 +153,39 @@
     public List<CasePerson> listByCertiNo(String certiNo){
         return mapper.listByCertiNo(certiNo);
     }
+
+    /**
+     * 根据纠纷编号和当事人类型查询
+     * @param caseId
+     * @param perType
+     * @return List<CasePerson>
+     */
+    public List<CasePerson> listIdByCaseIdAndType(String caseId, String perType){
+        QueryWrapper<CasePerson> casePersonQueryWrapper = new QueryWrapper<>();
+        casePersonQueryWrapper.eq("case_id", caseId).eq("per_type", perType).orderByAsc("create_time");
+        return mapper.selectList(casePersonQueryWrapper);
+    }
+
+
+    /**
+     * 获取当事人评价的人信息
+     * @param caseId
+     * @return
+     */
+    public EvaluatePersonDTO getEvaluatePerson(String caseId){
+        EvaluatePersonDTO evaluatePersonDTO = new EvaluatePersonDTO();
+        QueryWrapper<CasePerson> casePersonQueryWrapper = new QueryWrapper<>();
+        casePersonQueryWrapper.eq("case_id", caseId).eq("per_type", CaseBaseConstsEnum.PERSON_TYPE_1.getIndex()).orderByAsc("create_time");
+        List<CasePerson> casePersonList = mapper.selectList(casePersonQueryWrapper);
+        CasePerson casePerson = casePersonList.get(0);
+        if (StringUtils.isNotEmpty(casePerson.getPartyUserId())){
+            evaluatePersonDTO.setId(casePerson.getId());
+        }
+        if (CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casePerson.getPerClass())){
+            evaluatePersonDTO.setName(casePerson.getTrueName()+"(当事人)");
+        }else {
+            evaluatePersonDTO.setName(casePerson.getDeputy()+"(当事人)");
+        }
+        return evaluatePersonDTO;
+    }
 }
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 d9fad61..1857f72 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
@@ -3,7 +3,6 @@
 import cn.huge.base.common.exception.ServiceException;
 import cn.huge.base.common.utils.DateUtils;
 import cn.huge.base.common.utils.IdUtils;
-import cn.huge.module.cases.dao.mapper.*;
 import cn.huge.module.cases.domain.dto.*;
 import cn.huge.base.common.utils.ObjectUtils;
 import cn.huge.module.cases.domain.dto.WebCaseFlowDTO;
@@ -12,6 +11,7 @@
 import cn.huge.module.cases.domain.po.CaseAssistApply;
 import cn.huge.module.cases.domain.po.CaseInfoUnfold;
 import cn.huge.module.cases.domain.po.*;
+import cn.huge.module.cases.utils.TaskUsetimeUtils;
 import cn.huge.module.client.api.impl.CustClientImpl;
 import cn.huge.module.client.api.impl.DispClientImpl;
 import cn.huge.module.client.api.impl.SysClientImpl;
@@ -22,7 +22,6 @@
 import cn.huge.module.cust.constant.UserBaseConsts;
 import cn.huge.module.cust.dto.CtUnitDTO;
 import cn.huge.module.cust.dto.CtUserDTO;
-import cn.huge.module.draft.domain.po.CasedraftInfo;
 import cn.huge.module.draft.service.CasedraftInfoService;
 import cn.huge.module.mediate.constant.AuditBaseConsts;
 import cn.huge.module.mediate.constant.AuditBaseConstsEnum;
@@ -103,6 +102,8 @@
     private CaseDismissService caseDismissService;
     @Autowired
     private CasedraftInfoService casedraftInfoService;
+    @Autowired
+    private CasePersonService casePersonService;
 
     /**
     * 更新对象
@@ -195,12 +196,12 @@
     }
 
     /**
-     * 根据纠纷编号查询进行中的配合部门任务
+     * 根据纠纷编号查询进行中的配合组织任务
      * @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);
@@ -465,6 +466,12 @@
      */
     public Map<String, Object> webListCaseFlow(String caseId, String userId){
         try{
+            // 流程标签展示,1:正常流转/审核同意(√),2:回退/审核不同意(←),3:上报申请(↑),4:不予受理(x)
+            int SHOW_TASK_TYPE_1 = 1;
+            int SHOW_TASK_TYPE_2 = 2;
+            int SHOW_TASK_TYPE_3 = 3;
+            int SHOW_TASK_TYPE_4 = 4;
+
             Map<String, Object> result = Maps.newHashMap();
             LinkedList<WebCaseFlowDTO> handleCaseFlowList = new LinkedList<>();
             // 首节点
@@ -478,7 +485,7 @@
                 lfdj.setNodeShowName(caseInfo.getCanalName());
                 lfdj.setHandleUnitName(caseInfo.getInputUserName()+"(当事人)");
             }
-            lfdj.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+            lfdj.setTaskType(SHOW_TASK_TYPE_1);
             lfdj.setStatus(CaseTaskConsts.TASK_STATUS_2);
             lfdj.setHandleTime(new Date());
             handleCaseFlowList.add(lfdj);
@@ -494,36 +501,39 @@
                             || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex())
                             || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex())
                             || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){
-                        if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){
+                        if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.HANDLE_RESULT_0 == caseTask.getHandleResult()){
                             WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
                             slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                             slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                             slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName());
                             slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime());
                             slWebCaseFlowDTO.setHandleNotes("已签收");
-                            slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
+                            slWebCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1);
                             slWebCaseFlowDTO.setStatus(caseTask.getStatus());
                             handleCaseFlowList.add(slWebCaseFlowDTO);
                         }
                     }
                     // 普通节点
                     WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
+                    webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1);
                     webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                     webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
                     webCaseFlowDTO.setStatus(caseTask.getStatus());
                     webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
-                    webCaseFlowDTO.setTaskType(caseTask.getTaskType());
                     // 当事人评价/结案归档节点,特殊处理
-                    if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())
-                            || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){
+                    if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                         webCaseFlowDTO.setHandleUserName(null);
                         webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName());
+                    }else if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){
+                        webCaseFlowDTO.setHandleUserName(null);
+                        webCaseFlowDTO.setHandleUnitName("系统自动");
                     }else{
                         webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                         webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                     }
                     // 回退申请节点
-                    if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){
+                    if(CaseTaskConsts.HANDLE_RESULT_4 == caseTask.getHandleResult()){
+                        webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_2);
                         webCaseFlowDTO.setNodeShowName("事件回退");
                         CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType());
                         if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) {
@@ -534,7 +544,8 @@
                         }
                     }
                     // 上报申请节点
-                    if(CaseTaskConsts.TASK_TYPE_3 == caseTask.getTaskType()){
+                    if(CaseTaskConsts.HANDLE_RESULT_5 == caseTask.getHandleResult()){
+                        webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_3);
                         webCaseFlowDTO.setNodeShowName("事件上报");
                         CaseAppear caseAppear = caseAppearService.getNewByCaseId(caseId);
                         if (StringUtils.isNotEmpty(caseAppear.getAppearContent())) {
@@ -550,13 +561,13 @@
                             || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex())
                             || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex())
                             || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex())){
-                        // 处理不通过,任务类型就是回退
+                        // 审核不通过
                         if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) {
+                            webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_2);
                             webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex());
                             webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes());
-                            webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2);
                         }else{
-                            // 处理通过
+                            // 审核通过
                             webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
                             webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
                         }
@@ -575,9 +586,9 @@
                     }
                     // 不予受理
                     if (CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){
+                        webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_4);
                         webCaseFlowDTO.setNodeShowName("不予受理");
                         webCaseFlowDTO.setHandleNotes(null);
-                        webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_4);
                     }
                     handleCaseFlowList.add(webCaseFlowDTO);
                 }else {
@@ -587,14 +598,14 @@
                             || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex())
                             || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex())
                             || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){
-                        if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){
+                        if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.HANDLE_RESULT_0 == caseTask.getHandleResult()){
                             WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
+                            slWebCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1);
                             slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                             slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                             slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName());
                             slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime());
                             slWebCaseFlowDTO.setHandleNotes("已签收");
-                            slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
                             slWebCaseFlowDTO.setStatus(CaseTaskConsts.TASK_STATUS_2);
                             handleCaseFlowList.add(slWebCaseFlowDTO);
                         }
@@ -628,8 +639,23 @@
                         webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName()+"(已回退)");
                     }
                     LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>();
+                    // 首节点
+                    WebCaseFlowDTO lfdjAssist = new WebCaseFlowDTO();
+                    if (CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())){
+                        lfdjAssist.setNodeShowName("来访登记");
+                        lfdjAssist.setHandleUserName(caseInfo.getInputUserName());
+                        lfdjAssist.setHandleUnitName(caseInfo.getInputUnitName());
+                    }else {
+                        lfdjAssist.setNodeShowName(caseInfo.getCanalName());
+                        lfdjAssist.setHandleUnitName(caseInfo.getInputUserName()+"(当事人)");
+                    }
+                    lfdjAssist.setTaskType(SHOW_TASK_TYPE_1);
+                    lfdjAssist.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                    lfdjAssist.setHandleTime(new Date());
+                    caseFlowList.add(lfdjAssist);
+                    // 查询其他节点
                     caseTaskQueryWrapper.clear();
-                    caseTaskQueryWrapper.eq("case_id", caseId).eq("cande_unit_id", caseAssistInfo.getAssistUnitId())
+                    caseTaskQueryWrapper.eq("case_id", caseId).eq("process_instance_id", caseAssistInfo.getProcessInstanceId())
                             .eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByAsc("id");
                     List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
                     for (CaseTask caseTask: assistCaseTaskList){
@@ -640,47 +666,50 @@
                                     || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex())
                                     || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex())
                                     || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){
-                                if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){
+                                if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.HANDLE_RESULT_0 == caseTask.getHandleResult()){
                                     WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
+                                    slWebCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1);
                                     slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                                     slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                                     slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName());
                                     slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime());
                                     slWebCaseFlowDTO.setHandleNotes("已签收");
-                                    slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
                                     slWebCaseFlowDTO.setStatus(caseTask.getStatus());
                                     caseFlowList.add(slWebCaseFlowDTO);
                                 }
                             }
                             // 普通节点
                             WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
+                            webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1);
                             webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                             webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
                             webCaseFlowDTO.setStatus(caseTask.getStatus());
                             webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
-                            webCaseFlowDTO.setTaskType(caseTask.getTaskType());
                             // 当事人评价/结案归档节点,特殊处理
-                            if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())
-                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){
+                            if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                                 webCaseFlowDTO.setHandleUserName(null);
                                 webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName());
+                            }else if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){
+                                webCaseFlowDTO.setHandleUserName(null);
+                                webCaseFlowDTO.setHandleUnitName("系统自动");
                             }else{
                                 webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                                 webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                             }
                             // 回退申请节点
-                            if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){
+                            if(CaseTaskConsts.HANDLE_RESULT_4 == caseTask.getHandleResult()){
+                                webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_2);
                                 webCaseFlowDTO.setNodeShowName("事件回退");
                                 CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType());
                                 if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) {
                                     webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent());
                                 }else {
                                     webCaseFlowDTO.setHandleNotes("回退理由:-");
-
                                 }
                             }
                             // 上报申请节点
-                            if(CaseTaskConsts.TASK_TYPE_3 == caseTask.getTaskType()){
+                            if(CaseTaskConsts.HANDLE_RESULT_5 == caseTask.getHandleResult()){
+                                webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_3);
                                 webCaseFlowDTO.setNodeShowName("事件上报");
                                 CaseAppear caseAppear = caseAppearService.getNewByCaseId(caseId);
                                 if (StringUtils.isNotEmpty(caseAppear.getAppearContent())) {
@@ -696,13 +725,13 @@
                                     || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex())
                                     || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex())
                                     || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex())){
-                                // 处理不通过,任务类型就是回退
+                                // 审核不通过
                                 if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) {
+                                    webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_2);
                                     webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex());
                                     webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes());
-                                    webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2);
                                 }else{
-                                    // 处理通过
+                                    // 审核通过
                                     webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
                                     webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
                                 }
@@ -727,14 +756,14 @@
                                     || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex())
                                     || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex())
                                     || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){
-                                if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){
+                                if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.HANDLE_RESULT_0 == caseTask.getHandleResult()){
                                     WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
                                     slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                                     slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                                     slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName());
                                     slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime());
                                     slWebCaseFlowDTO.setHandleNotes("已签收");
-                                    slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
+                                    slWebCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1);
                                     slWebCaseFlowDTO.setStatus(CaseTaskConsts.TASK_STATUS_2);
                                     caseFlowList.add(slWebCaseFlowDTO);
                                 }
@@ -1116,33 +1145,31 @@
                 // 目前平台只做镇街、村居级别的调度,
                 if (UserBaseConsts.UNIT_GRADE_3 == caseDispBaseDTO.getTargetUnitGrade()) {
                     // 启动来访登记工作流
-                    FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LFDJ, caseInfo.getId());
+                    FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.getJbFlow(caseInfo.getCanal()), caseInfo.getId());
                     if (UserBaseConsts.UNIT_TYPE_1 == caseDispBaseDTO.getTargetUnitType()){
-                        // 调度给镇街综治中心,进入第1个节点-镇街综治中心待分派
+                        // 调度给镇街综治中心,进入第1个任务节点-镇街综治中心待分派
                         CaseTask dfpCaseTask = new CaseTask();
                         dfpCaseTask.setId(utilsClient.getNewTimeId());
                         dfpCaseTask.setCaseId(caseInfo.getId());
                         dfpCaseTask.setFlowableId(firstFlowNode.getFlowableId());
                         dfpCaseTask.setProcessInstanceId(firstFlowNode.getProcessInstanceId());
                         dfpCaseTask.setProcessTaskId(firstFlowNode.getProcessTaskId());
-                        dfpCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                         dfpCaseTask.setNodeType(firstFlowNode.getNodeType());
                         dfpCaseTask.setNodeId(firstFlowNode.getNodeId());
                         dfpCaseTask.setNodeName(firstFlowNode.getNodeName());
                         dfpCaseTask.setFlowId(firstFlowNode.getFlowId());
                         dfpCaseTask.setNodeShowName(firstFlowNode.getNodeShowName());
                         dfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-                        // 通过调度的,任务候选执行者类型是上一步骤选择
-                        dfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                        // 任务所属组织:调度目标
                         dfpCaseTask.setCandeUnitId(caseDispBaseDTO.getTargetId());
                         dfpCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName());
-                        // 系统给综治中心分派,不需要签收
+                        // 系统调度给镇街综治中心,不需要签收
                         dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
-                        dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                         // 任务处理时限
                         if (firstFlowNode.getExpire() != 0) {
                             dfpCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire()));
                         }
+                        dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                         dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                         dfpCaseTask.setCustId(caseInfo.getCustId());
                         dfpCaseTask.setCreateTime(caseInfo.getCreateTime());
@@ -1159,57 +1186,58 @@
                         caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                         caseInfoService.updateCaseInfo(caseInfoPO);
                     }else {
-                        // 调度给调解组织,默认通过第1个节点-镇街综治中心待分派
+                        // 调度给调解组织,默认通过第1个任务节点-镇街综治中心待分派
                         CaseTask dfpCaseTask = new CaseTask();
                         dfpCaseTask.setId(utilsClient.getNewTimeId());
                         dfpCaseTask.setCaseId(caseInfo.getId());
                         dfpCaseTask.setFlowableId(firstFlowNode.getFlowableId());
                         dfpCaseTask.setProcessInstanceId(firstFlowNode.getProcessInstanceId());
                         dfpCaseTask.setProcessTaskId(firstFlowNode.getProcessTaskId());
-                        dfpCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                         dfpCaseTask.setNodeType(firstFlowNode.getNodeType());
                         dfpCaseTask.setNodeId(firstFlowNode.getNodeId());
                         dfpCaseTask.setNodeName(firstFlowNode.getNodeName());
                         dfpCaseTask.setFlowId(firstFlowNode.getFlowId());
                         dfpCaseTask.setNodeShowName(firstFlowNode.getNodeShowName());
                         dfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-                        // 通过调度的,任务候选执行者类型是上一步骤选择
-                        dfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                        // 系统给综治中心分派,不需要签收
+                        // 任务所属组织:系统
+                        dfpCaseTask.setCandeUnitName("系统派单");
+                        // 调度给调解组织,不需要签收
                         dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
-                        dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                         // 任务处理时限
                         if (firstFlowNode.getExpire() != 0) {
                             dfpCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire()));
                         }
+                        dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                         dfpCaseTask.setHandleUnitName("系统派单");
-                        dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                        dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
                         dfpCaseTask.setHandleIllust("派单至:"+caseDispBaseDTO.getTargetName());
                         dfpCaseTask.setHandleTime(caseInfo.getCreateTime());
                         dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                         dfpCaseTask.setCustId(caseInfo.getCustId());
                         dfpCaseTask.setCreateTime(caseInfo.getCreateTime());
                         dfpCaseTask.setUpdateTime(caseInfo.getCreateTime());
+                        // 计算任务耗时、是否超时、超时多少
+                        dfpCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(dfpCaseTask.getHandleTime(), dfpCaseTask.getCreateTime()));
+                        dfpCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(dfpCaseTask.getHandleTime(), dfpCaseTask.getExpireTime()));
+                        dfpCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(dfpCaseTask.getHandleTime(), dfpCaseTask.getExpireTime()));
                         mapper.insert(dfpCaseTask);
-                        // 完成第1个节点任务
+                        // 完成第1个工作流节点任务,进入第2个节点任务
                         FlowNode secondFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(),
                                 FlowableConsts.OPERATION_jb_zszz, "系统派单");
-                        // 进入第2个节点-镇街级组织待受理
+                        // 创建第2个节点任务-调解组织待受理
                         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());
-                        // 通过调度的,任务候选执行者类型是上一步骤选择
-                        dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                        // 任务所属组织:调度目标
                         dslCaseTask.setCandeUnitId(caseDispBaseDTO.getTargetId());
                         dslCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName());
                         // 系统调度给调解组织,需要签收
@@ -1251,73 +1279,75 @@
      */
     public String webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){
         try{
-            // 启动自行受理工作流,进入待受理节点
-            FlowNode dslFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_ZXSL, caseInfo.getId());
-            // 创建并完成待受理任务
+            // 启动自行受理工作流,进入待受理任务节点
+            FlowNode dslFlowNode = flowInfoService.startFlow(FlowableConsts.getZxslFlow(caseInfo.getCanal()), caseInfo.getId());
+            // 创建并完成待受理节点任务
             CaseTask dslCaseTask = new CaseTask();
             dslCaseTask.setId(utilsClient.getNewTimeId());
             dslCaseTask.setCaseId(caseInfo.getId());
             dslCaseTask.setFlowableId(dslFlowNode.getFlowableId());
             dslCaseTask.setProcessInstanceId(dslFlowNode.getProcessInstanceId());
             dslCaseTask.setProcessTaskId(dslFlowNode.getProcessTaskId());
-            dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
             dslCaseTask.setNodeType(dslFlowNode.getNodeType());
             dslCaseTask.setNodeId(dslFlowNode.getNodeId());
             dslCaseTask.setNodeName(dslFlowNode.getNodeName());
             dslCaseTask.setFlowId(dslFlowNode.getFlowId());
             dslCaseTask.setNodeShowName(dslFlowNode.getNodeShowName());
             dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-            // 自行受理,任务候选执行者类型是上一步骤选择
-            dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+            // 任务所属组织:当前登记组织
             dslCaseTask.setCandeUnitId(loginUser.getUnitId());
             dslCaseTask.setCandeUnitName(loginUser.getUnitName());
             // 自行受理,不需要签收
             dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
-            dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
             // 任务处理时限
             if (dslFlowNode.getExpire() != 0) {
                 dslCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), dslFlowNode.getExpire()));
             }
+            dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
             dslCaseTask.setHandleUnitId(loginUser.getUnitId());
             dslCaseTask.setHandleUnitName(loginUser.getUnitName());
+            dslCaseTask.setHandleDeptId(loginUser.getDeptId());
+            dslCaseTask.setHandleDeptName(loginUser.getDeptName());
             dslCaseTask.setHandleUserId(loginUser.getId());
             dslCaseTask.setHandleUserName(loginUser.getTrueName());
-            dslCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+            dslCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
             dslCaseTask.setHandleIllust("自行受理");
             dslCaseTask.setHandleTime(caseInfo.getCreateTime());
             dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
             dslCaseTask.setCustId(caseInfo.getCustId());
             dslCaseTask.setCreateTime(caseInfo.getCreateTime());
             dslCaseTask.setUpdateTime(caseInfo.getCreateTime());
+            // 计算任务耗时、是否超时、超时多少
+            dslCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(dslCaseTask.getHandleTime(), dslCaseTask.getCreateTime()));
+            dslCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(dslCaseTask.getHandleTime(), dslCaseTask.getExpireTime()));
+            dslCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(dslCaseTask.getHandleTime(), dslCaseTask.getExpireTime()));
             mapper.insert(dslCaseTask);
-            // 完成待受理任务,走办理反馈节点
+            // 完成待受理工作流节点任务,进入办理反馈任务节点
             FlowNode blfkFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(),
                     FlowableConsts.OPERATION_forward, loginUser.getId());
-            // 进入第1个节点-办理反馈
+            // 创建办理反馈节点任务
             CaseTask blfkCaseTask = new CaseTask();
             blfkCaseTask.setId(utilsClient.getNewTimeId());
             blfkCaseTask.setCaseId(caseInfo.getId());
             blfkCaseTask.setFlowableId(blfkFlowNode.getFlowableId());
             blfkCaseTask.setProcessInstanceId(blfkFlowNode.getProcessInstanceId());
             blfkCaseTask.setProcessTaskId(blfkFlowNode.getProcessTaskId());
-            blfkCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
             blfkCaseTask.setNodeType(blfkFlowNode.getNodeType());
             blfkCaseTask.setNodeId(blfkFlowNode.getNodeId());
             blfkCaseTask.setNodeName(blfkFlowNode.getNodeName());
             blfkCaseTask.setFlowId(blfkFlowNode.getFlowId());
             blfkCaseTask.setNodeShowName(blfkFlowNode.getNodeShowName());
             blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-            // 通过调度的,任务候选执行者类型是上一步骤选择
-            blfkCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+            // 任务所属组织:当前登记组织
             blfkCaseTask.setCandeUnitId(loginUser.getUnitId());
             blfkCaseTask.setCandeUnitName(loginUser.getUnitName());
-            // 系统给综治中心分派,不需要签收
+            // 受理后的节点任务节点,不需要签收
             blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
-            blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
             // 任务处理时限
             if (blfkFlowNode.getExpire() != 0) {
                 blfkCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), blfkFlowNode.getExpire()));
             }
+            blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
             blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
             blfkCaseTask.setCustId(caseInfo.getCustId());
             blfkCaseTask.setCreateTime(caseInfo.getCreateTime());
@@ -1357,22 +1387,28 @@
             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.setHandleDeptId(loginUser.getDeptId());
+            caseTaskPO.setHandleDeptName(loginUser.getDeptName());
             caseTaskPO.setHandleUserName(loginUser.getTrueName());
             caseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_3);
             caseTaskPO.setHandleContent(caseDismiss.getDisContent());
             caseTaskPO.setHandleTime(nowDate);
             caseTaskPO.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            caseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(caseTaskPO.getHandleTime(), caseTask.getCreateTime()));
+            caseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(caseTaskPO.getHandleTime(), caseTask.getExpireTime()));
+            caseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(caseTaskPO.getHandleTime(), caseTask.getExpireTime()));
             mapper.updateCaseTask(caseTaskPO);
-            // 结束当前工作流任务
+            // 结束当前工作流
             flowInfoService.endFlow(caseTask.getProcessInstanceId());
             // 更新纠纷信息
             CaseInfo caseInfoPO = new CaseInfo();
@@ -1385,20 +1421,26 @@
             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.setHandleUnitName(loginUser.getUnitName()+"(承办部门)");
+                assistCaseTask.setHandleDeptId(loginUser.getDeptId());
+                assistCaseTask.setHandleDeptName(loginUser.getDeptName()+"(承办部门)");
                 assistCaseTask.setHandleUserId(loginUser.getId());
-                assistCaseTask.setHandleUserName(loginUser.getTrueName());
-                assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                assistCaseTask.setHandleUserName(loginUser.getTrueName()+"(承办部门)");
+                assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_3);
                 assistCaseTask.setHandleTime(nowDate);
                 assistCaseTask.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                assistCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getCreateTime()));
+                assistCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime()));
+                assistCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime()));
                 mapper.updateCaseTask(assistCaseTask);
-                // 结束配合部门当前工作流任务
+                // 结束配合组织当前工作流
                 flowInfoService.endFlow(assistCaseTask.getProcessInstanceId());
             }
             // 新增不予受理信息
@@ -1429,31 +1471,38 @@
             Date nowDate = DateUtils.getNowDate();
             // 获取当前登录用户
             CtUserDTO loginUser = custClient.clientGetUserAll(userId);
-            // 查询当前待分派任务
+            // 查询交办的组织信息
+            CtUnitDTO dslUnitDTO = custClient.getUnitById(assignTaskDTO.getHandleUnitId());
+            // 查询当前待分派节点任务
             CaseTask dfpCaseTask = mapper.selectById(assignTaskDTO.getCaseTaskId());
-            // 完成当前待分派任务
+            // 完成当前待分派节点任务
             CaseTask dfpCaseTaskPO = new CaseTask();
             dfpCaseTaskPO.setId(assignTaskDTO.getCaseTaskId());
             dfpCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
             dfpCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
             dfpCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+            dfpCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+            dfpCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
             dfpCaseTaskPO.setHandleUserId(loginUser.getId());
             dfpCaseTaskPO.setHandleUserName(loginUser.getTrueName());
-            dfpCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+            dfpCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
             dfpCaseTaskPO.setHandleContent(assignTaskDTO.getAssignContent());
             dfpCaseTaskPO.setHandleIllust("派单至:"+assignTaskDTO.getHandleUnitName());
             dfpCaseTaskPO.setHandleTime(nowDate);
             dfpCaseTaskPO.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            dfpCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(dfpCaseTaskPO.getHandleTime(), dfpCaseTask.getCreateTime()));
+            dfpCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(dfpCaseTaskPO.getHandleTime(), dfpCaseTask.getExpireTime()));
+            dfpCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(dfpCaseTaskPO.getHandleTime(), dfpCaseTask.getExpireTime()));
             mapper.updateCaseTask(dfpCaseTaskPO);
-            // 查询承办组织信息
-            CtUnitDTO dslUnitDTO = custClient.getUnitById(assignTaskDTO.getHandleUnitId());
             String flowOperation = null;
-            // 镇街综治中心待分派
+            // 镇街综治中心待分派节点
             if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(dfpCaseTask.getNodeId())){
                 flowOperation = FlowableConsts.OPERATION_jb_zszz;
             }
-            // 区综治中心待分派
+            // 区综治中心待分派节点
             if (FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(dfpCaseTask.getNodeId())){
+                // 查询承办组织信息
                 if (UserBaseConsts.UNIT_GRADE_2 == dslUnitDTO.getUnitGrade()) {
                     flowOperation = FlowableConsts.OPERATION_jb_zszz;
                 }else {
@@ -1461,7 +1510,7 @@
                 }
 
             }
-            // 市综治中心待分派
+            // 市综治中心待分派节点
             if (FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(dfpCaseTask.getNodeId())){
                 if (UserBaseConsts.UNIT_GRADE_1 == dslUnitDTO.getUnitGrade()) {
                     flowOperation = FlowableConsts.OPERATION_jb_zszz;
@@ -1470,35 +1519,33 @@
                 }
 
             }
-            // 完成当前待分派工作流任务
+            // 完成当前待分派工作流节点任务,进入待受理任务节点
             FlowNode newFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(),
                     flowOperation, userId);
-            // 新建待受理任务
+            // 新建待受理节点任务
             CaseTask dslCaseTask = new CaseTask();
             dslCaseTask.setId(utilsClient.getNewTimeId());
             dslCaseTask.setCaseId(dfpCaseTask.getCaseId());
             dslCaseTask.setFlowableId(newFlowNode.getFlowableId());
             dslCaseTask.setProcessInstanceId(newFlowNode.getProcessInstanceId());
             dslCaseTask.setProcessTaskId(newFlowNode.getProcessTaskId());
-            dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
             dslCaseTask.setNodeType(newFlowNode.getNodeType());
             dslCaseTask.setNodeId(newFlowNode.getNodeId());
             dslCaseTask.setNodeName(newFlowNode.getNodeName());
             dslCaseTask.setFlowId(newFlowNode.getFlowId());
             dslCaseTask.setNodeShowName(newFlowNode.getNodeShowName());
             dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-            // 受理任务,任务候选执行者类型是上一步骤选择
-            dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+            // 任务所属组织:交办的组织
             dslCaseTask.setCandeUnitId(dslUnitDTO.getId());
             dslCaseTask.setCandeUnitName(dslUnitDTO.getUnitName());
-            // 分派的任务,需要签收
+            // 交办的待受理节点任务,需要签收
             dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
             dslCaseTask.setSignExpireTime(sysClient.getExpireTime(nowDate, SyTimeEnum.SY_TIME_2.getIndex()));
-            dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
             // 任务处理时限
             if (newFlowNode.getExpire() != 0) {
                 dslCaseTask.setExpireTime(DateUtils.addDay(nowDate, newFlowNode.getExpire()));
             }
+            dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
             dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
             dslCaseTask.setCustId(dfpCaseTask.getCustId());
             dslCaseTask.setCreateTime(nowDate);
@@ -1515,7 +1562,8 @@
             caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
             caseInfoPO.setUpdateTime(nowDate);
             caseInfoService.updateCaseInfo(caseInfoPO);
-            // 分派配合组织
+
+            // 交办配合组织
             if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){
                 // 拼接配合组织编号和名称
                 String assistUnitId = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId).
@@ -1524,30 +1572,30 @@
                         collect(Collectors.joining(BaseConsts.COMMA));
                 for (AssignAssistUnitDTO assignAssistUnitDTO: assignTaskDTO.getAssistUnitList()){
                     // 启动联合处置工作流
-                    FlowNode lhczdfpFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LHCZ, dfpCaseTask.getCaseId());
-                    // 新建并完成配合部门待分派任务
+                    FlowNode lhczdfpFlowNode = flowInfoService.startFlow(FlowableConsts.GZDYH_LHCZ_V1, dfpCaseTask.getCaseId());
+                    // 新建并完成待分派节点任务
                     CaseTask lhczdfpCaseTask = new CaseTask();
                     lhczdfpCaseTask.setId(utilsClient.getNewTimeId());
                     lhczdfpCaseTask.setCaseId(dfpCaseTask.getCaseId());
                     lhczdfpCaseTask.setFlowableId(lhczdfpFlowNode.getFlowableId());
                     lhczdfpCaseTask.setProcessInstanceId(lhczdfpFlowNode.getProcessInstanceId());
                     lhczdfpCaseTask.setProcessTaskId(lhczdfpFlowNode.getProcessTaskId());
-                    lhczdfpCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                     lhczdfpCaseTask.setNodeType(lhczdfpFlowNode.getNodeType());
                     lhczdfpCaseTask.setNodeId(lhczdfpFlowNode.getNodeId());
                     lhczdfpCaseTask.setNodeName(lhczdfpFlowNode.getNodeName());
                     lhczdfpCaseTask.setFlowId(lhczdfpFlowNode.getFlowId());
                     lhczdfpCaseTask.setNodeShowName(lhczdfpFlowNode.getNodeShowName());
                     lhczdfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
-                    // 通过调度的,任务候选执行者类型是上一步骤选择
-                    lhczdfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                    lhczdfpCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId());
-                    lhczdfpCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName());
-                    // 不需要签收
+                    // 任务所属单位:当前操作组织
+                    lhczdfpCaseTask.setCandeUnitId(loginUser.getUnitId());
+                    lhczdfpCaseTask.setCandeUnitName(loginUser.getUnitName());
+                    // 待分派节点任务,不需要签收
                     lhczdfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                     lhczdfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                     lhczdfpCaseTask.setHandleUnitId(loginUser.getUnitId());
                     lhczdfpCaseTask.setHandleUnitName(loginUser.getUnitName());
+                    lhczdfpCaseTask.setHandleDeptId(loginUser.getDeptId());
+                    lhczdfpCaseTask.setHandleDeptName(loginUser.getDeptName());
                     lhczdfpCaseTask.setHandleUserId(loginUser.getId());
                     lhczdfpCaseTask.setHandleUserName(loginUser.getTrueName());
                     lhczdfpCaseTask.setHandleContent(assignTaskDTO.getAssignContent());
@@ -1561,28 +1609,26 @@
                     lhczdfpCaseTask.setCreateTime(nowDate);
                     lhczdfpCaseTask.setUpdateTime(nowDate);
                     mapper.insert(lhczdfpCaseTask);
-                    // 完成待分派任务
+                    // 完成待分派节点任务,进去待受理节点
                     FlowNode lhczdslFlowNode = flowInfoService.completeTask(lhczdfpCaseTask.getFlowableId(), lhczdfpCaseTask.getProcessTaskId(),
                             FlowableConsts.OPERATION_forward, loginUser.getId());
-                    // 创建配合部门待受理任务
+                    // 创建待受理节点任务
                     CaseTask lhczdslCaseTask = new CaseTask();
                     lhczdslCaseTask.setId(utilsClient.getNewTimeId());
                     lhczdslCaseTask.setCaseId(lhczdfpCaseTask.getCaseId());
                     lhczdslCaseTask.setFlowableId(lhczdslFlowNode.getFlowableId());
                     lhczdslCaseTask.setProcessInstanceId(lhczdslFlowNode.getProcessInstanceId());
                     lhczdslCaseTask.setProcessTaskId(lhczdslFlowNode.getProcessTaskId());
-                    lhczdslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                     lhczdslCaseTask.setNodeType(lhczdslFlowNode.getNodeType());
                     lhczdslCaseTask.setNodeId(lhczdslFlowNode.getNodeId());
                     lhczdslCaseTask.setNodeName(lhczdslFlowNode.getNodeName());
                     lhczdslCaseTask.setFlowId(lhczdslFlowNode.getFlowId());
                     lhczdslCaseTask.setNodeShowName(lhczdslFlowNode.getNodeShowName());
                     lhczdslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
-                    // 通过调度的,任务候选执行者类型是上一步骤选择
-                    lhczdslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                    // 任务所属单位:交办的配合组织
                     lhczdslCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId());
                     lhczdslCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName());
-                    // 需要签收
+                    // 交办的待受理节点任务,需要签收
                     lhczdslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
                     lhczdslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                     // 任务处理时限
@@ -1597,11 +1643,12 @@
                     // 新增联合处置信息
                     CaseAssistInfo caseAssistInfoPO = new CaseAssistInfo();
                     caseAssistInfoPO.setId(utilsClient.getNewTimeId());
-                    caseAssistInfoPO.setCaseId(dslCaseTask.getCaseId());
+                    caseAssistInfoPO.setCaseId(lhczdslCaseTask.getCaseId());
+                    caseAssistInfoPO.setProcessInstanceId(lhczdslCaseTask.getProcessInstanceId());
                     caseAssistInfoPO.setAssistUnitId(assignAssistUnitDTO.getUitId());
                     caseAssistInfoPO.setAssistUnitName(assignAssistUnitDTO.getUitName());
                     caseAssistInfoPO.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_0);
-                    caseAssistInfoPO.setCustId(dslCaseTask.getCustId());
+                    caseAssistInfoPO.setCustId(lhczdslCaseTask.getCustId());
                     caseAssistInfoPO.setCreateTime(nowDate);
                     caseAssistInfoPO.setUpdateTime(nowDate);
                     caseAssistInfoService.save(caseAssistInfoPO);
@@ -1641,7 +1688,7 @@
                 caseTaskPO.setHandleIllust("已签收");
                 caseTaskPO.setUpdateTime(nowDate);
                 mapper.updateCaseTask(caseTaskPO);
-                // 承办部门签收才更新纠纷信息
+                // 承办组织签收才更新纠纷信息
                 if (CaseTaskConsts.CASE_TASK_TYPE_1 ==  qsCaseTask.getCaseTaskType()) {
                     // 更新纠纷信息
                     CaseInfo caseInfoPO = new CaseInfo();
@@ -1672,48 +1719,53 @@
             Date nowDate = DateUtils.getNowDate();
             // 获取当前登录用户
             CtUserDTO loginUser = custClient.clientGetUserAll(userId);
-            // 查询当前待受理任务
+            // 查询当前待受理节点任务
             CaseTask dslCaseTask = mapper.selectById(acceptTaskDTO.getCaseTaskId());
-            // 完成当前待受理任务
+            // 完成当前待受理节点任务
             CaseTask dslCaseTaskPO = new CaseTask();
             dslCaseTaskPO.setId(acceptTaskDTO.getCaseTaskId());
             dslCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
             dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
             dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
-            dslCaseTaskPO.setHandleUserId(loginUser.getId());
+            dslCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+            dslCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+            dslCaseTaskPO.setHandleUserId(loginUser.getId());;
+            dslCaseTaskPO.setHandleUserName(loginUser.getTrueName());
             dslCaseTaskPO.setHandleIllust("已受理");
             dslCaseTaskPO.setHandleUserName(loginUser.getTrueName());
-            dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+            dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
             dslCaseTaskPO.setHandleTime(nowDate);
             dslCaseTaskPO.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            dslCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(dslCaseTaskPO.getHandleTime(), dslCaseTask.getCreateTime()));
+            dslCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(dslCaseTaskPO.getHandleTime(), dslCaseTask.getExpireTime()));
+            dslCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(dslCaseTaskPO.getHandleTime(), dslCaseTask.getExpireTime()));
             mapper.updateCaseTask(dslCaseTaskPO);
-            // 完成当前待受理工作流任务
+            // 完成当前待受理工作流节点任务,机内办理反馈节点
             String operation = FlowableConsts.OPERATION_sl;
-            // 配合部门受理条件改为通过
             if (CaseTaskConsts.CASE_TASK_TYPE_2 ==  dslCaseTask.getCaseTaskType()) {
+                // 配合组织受理条件改为通过
                 operation = FlowableConsts.OPERATION_forward;
             }
             FlowNode newFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(),
                     operation, userId);
-            // 新建办理反馈任务
+            // 新建办理反馈节点任务
             CaseTask blfkCaseTask = new CaseTask();
             blfkCaseTask.setId(utilsClient.getNewTimeId());
             blfkCaseTask.setCaseId(dslCaseTask.getCaseId());
             blfkCaseTask.setFlowableId(newFlowNode.getFlowableId());
             blfkCaseTask.setProcessInstanceId(newFlowNode.getProcessInstanceId());
             blfkCaseTask.setProcessTaskId(newFlowNode.getProcessTaskId());
-            blfkCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
             blfkCaseTask.setNodeType(newFlowNode.getNodeType());
             blfkCaseTask.setNodeId(newFlowNode.getNodeId());
             blfkCaseTask.setNodeName(newFlowNode.getNodeName());
             blfkCaseTask.setFlowId(newFlowNode.getFlowId());
             blfkCaseTask.setNodeShowName(newFlowNode.getNodeShowName());
             blfkCaseTask.setCaseTaskType(dslCaseTask.getCaseTaskType());
-            // 受理任务,任务候选执行者类型是上一步骤选择
-            blfkCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+            // 任务所属单位:当前受理单位
             blfkCaseTask.setCandeUnitId(loginUser.getUnitId());
             blfkCaseTask.setCandeUnitName(loginUser.getUnitName());
-            // 受理后的任务,不需要签收
+            // 受理后的节点任务,不需要签收
             blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
             blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
             // 任务处理时限
@@ -1725,7 +1777,7 @@
             blfkCaseTask.setCreateTime(nowDate);
             blfkCaseTask.setUpdateTime(nowDate);
             mapper.insert(blfkCaseTask);
-            // 承办部门签收才更新纠纷信息
+            // 承办组织受理才更新纠纷信息
             if (CaseTaskConsts.CASE_TASK_TYPE_1 ==  dslCaseTask.getCaseTaskType()) {
                 // 更新纠纷信息
                 CaseInfo caseInfoPO = new CaseInfo();
@@ -1746,7 +1798,7 @@
                 caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName());
                 caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
             }else {
-                // 更新配合部门联合处置信息
+                // 更新配合组织联合处置信息
                 QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>();
                 caseAssistInfoQueryWrapper.eq("case_id", blfkCaseTask.getCaseId())
                         .eq("assist_unit_id", loginUser.getUnitId()).eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0);
@@ -1781,59 +1833,73 @@
             caseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
             caseWindupApply.setCreateTime(nowDate);
             caseWindupApply.setUpdateTime(nowDate);
-            // 查询办理反馈任务
+            // 查询办理反馈节点任务
             CaseTask blfkCaseTask = mapper.selectById(caseWindupApply.getCaseTaskId());
-            // 完成当前办理反馈任务
+            // 完成当前办理反馈节点任务
             CaseTask blfkCaseTaskPO = new CaseTask();
             blfkCaseTaskPO.setId(caseWindupApply.getCaseTaskId());
             blfkCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
             blfkCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
             blfkCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+            blfkCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+            blfkCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
             blfkCaseTaskPO.setHandleUserId(loginUser.getId());
             blfkCaseTaskPO.setHandleUserName(loginUser.getTrueName());
-            blfkCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+            blfkCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
             blfkCaseTaskPO.setHandleTime(nowDate);
             blfkCaseTaskPO.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            blfkCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(blfkCaseTaskPO.getHandleTime(), blfkCaseTask.getCreateTime()));
+            blfkCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(blfkCaseTaskPO.getHandleTime(), blfkCaseTask.getExpireTime()));
+            blfkCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(blfkCaseTaskPO.getHandleTime(), blfkCaseTask.getExpireTime()));
             mapper.updateCaseTask(blfkCaseTaskPO);
-            // 完成当前待受理工作流任务,走结案申请任务
+            // 完成当前待受理工作流节点任务,进入结案申请节点
             FlowNode jasqFlowNode = flowInfoService.completeTask(blfkCaseTask.getFlowableId(), blfkCaseTask.getProcessTaskId(),
                     FlowableConsts.OPERATION_forward, userId);
-            // 新建并自动完成结案申请任务
+            // 新建并自动完成结案申请节点任务
             CaseTask jasqCaseTask = new CaseTask();
             jasqCaseTask.setId(utilsClient.getNewTimeId());
             jasqCaseTask.setCaseId(blfkCaseTask.getCaseId());
             jasqCaseTask.setFlowableId(jasqFlowNode.getFlowableId());
             jasqCaseTask.setProcessInstanceId(jasqFlowNode.getProcessInstanceId());
             jasqCaseTask.setProcessTaskId(jasqFlowNode.getProcessTaskId());
-            jasqCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
             jasqCaseTask.setNodeType(jasqFlowNode.getNodeType());
             jasqCaseTask.setNodeId(jasqFlowNode.getNodeId());
             jasqCaseTask.setNodeName(jasqFlowNode.getNodeName());
             jasqCaseTask.setFlowId(jasqFlowNode.getFlowId());
             jasqCaseTask.setNodeShowName(jasqFlowNode.getNodeShowName());
             jasqCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-            // 受理任务,任务候选执行者类型是上一步骤选择
-            jasqCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+            // 任务所属单位:当前结案申请组织
             jasqCaseTask.setCandeUnitId(loginUser.getUnitId());
             jasqCaseTask.setCandeUnitName(loginUser.getUnitName());
-            // 受理后的任务,不需要签收
+            // 受理后的节点任务,不需要签收
             jasqCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+            // 任务处理时限
+            if (jasqFlowNode.getExpire() != 0) {
+                jasqCaseTask.setExpireTime(DateUtils.addDay(nowDate, jasqFlowNode.getExpire()));
+            }
             jasqCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
             jasqCaseTask.setHandleUnitId(loginUser.getUnitId());
             jasqCaseTask.setHandleUnitName(loginUser.getUnitName());
+            jasqCaseTask.setHandleDeptId(loginUser.getDeptId());
+            jasqCaseTask.setHandleDeptName(loginUser.getDeptName());
             jasqCaseTask.setHandleUserId(loginUser.getId());
             jasqCaseTask.setHandleUserName(loginUser.getTrueName());
             jasqCaseTask.setHandleContent(caseWindupApply.getWindupContent());
-            jasqCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+            jasqCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
             jasqCaseTask.setHandleTime(nowDate);
             jasqCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
             jasqCaseTask.setCustId(blfkCaseTask.getCustId());
             jasqCaseTask.setCreateTime(nowDate);
             jasqCaseTask.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            jasqCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jasqCaseTask.getHandleTime(), jasqCaseTask.getCreateTime()));
+            jasqCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jasqCaseTask.getHandleTime(), jasqCaseTask.getExpireTime()));
+            jasqCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jasqCaseTask.getHandleTime(), jasqCaseTask.getExpireTime()));
             mapper.insert(jasqCaseTask);
             // 化解成功,自动结案审核通过
             if (MediResultBaseConstsEnum.MEDI_RESULT_1.getIndex().equals(caseWindupApply.getMediResult())){
-                // 完成当前结案申请工作流任务,走结案审核任务
+                // 完成当前结案申请工作流节点任务,走结案审核任务
                 FlowNode jashFlowNode = flowInfoService.completeTask(jasqCaseTask.getFlowableId(), jasqCaseTask.getProcessTaskId(),
                         FlowableConsts.OPERATION_forward, userId);
                 // 新建并自动完成结案审核任务
@@ -1843,22 +1909,26 @@
                 jashCaseTask.setFlowableId(jashFlowNode.getFlowableId());
                 jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId());
                 jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId());
-                jashCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                 jashCaseTask.setNodeType(jashFlowNode.getNodeType());
                 jashCaseTask.setNodeId(jashFlowNode.getNodeId());
                 jashCaseTask.setNodeName(jashFlowNode.getNodeName());
                 jashCaseTask.setFlowId(jashFlowNode.getFlowId());
                 jashCaseTask.setNodeShowName(jashFlowNode.getNodeShowName());
                 jashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-                // 受理任务,任务候选执行者类型是上一步骤选择
-                jashCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                // 任务所属单位:结案申请操作组织
                 jashCaseTask.setCandeUnitId(loginUser.getUnitId());
                 jashCaseTask.setCandeUnitName(loginUser.getUnitName());
-                // 受理后的任务,不需要签收
+                // 受理后的节点任务,不需要签收
                 jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                // 任务处理时限
+                if (jashFlowNode.getExpire() != 0) {
+                    jashCaseTask.setExpireTime(DateUtils.addDay(nowDate, jashFlowNode.getExpire()));
+                }
                 jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                 jashCaseTask.setHandleUnitId(loginUser.getUnitId());
                 jashCaseTask.setHandleUnitName(loginUser.getUnitName());
+                jashCaseTask.setHandleDeptId(loginUser.getDeptId());
+                jashCaseTask.setHandleDeptName(loginUser.getDeptName());
                 jashCaseTask.setHandleUserId(loginUser.getId());
                 jashCaseTask.setHandleUserName(loginUser.getTrueName());
                 jashCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
@@ -1867,37 +1937,40 @@
                 jashCaseTask.setCustId(jasqCaseTask.getCustId());
                 jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
                 jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
+                // 计算任务耗时、是否超时、超时多少
+                jashCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getCreateTime()));
+                jashCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime()));
+                jashCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime()));
                 mapper.insert(jashCaseTask);
-                // 完成当前结案审核工作流任务,走下一个任务
+                // 完成当前结案审核工作流任务,走下一个节点
                 FlowNode nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
                         FlowableConsts.OPERATION_jash_ty, userId);
-                // 走当事人评价节点
+                // 下一个节点是当事人评价节点,进入当事人评价节点任务
                 if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){
-                    // 新建当事人评价任务
+                    // 新建当事人评价节点任务
                     CaseTask dsrpjCaseTask = new CaseTask();
                     dsrpjCaseTask.setId(utilsClient.getNewTimeId());
                     dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId());
                     dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId());
                     dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
                     dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
-                    dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                     dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType());
                     dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId());
                     dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName());
                     dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId());
                     dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
                     dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-                    // 受理任务,任务候选执行者类型是上一步骤选择
-                    dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                    dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId());
-                    dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName());
-                    // 受理后的任务,不需要签收
+                    // 任务所属人:当事人
+                    EvaluatePersonDTO evaluatePersonDTO = casePersonService.getEvaluatePerson(jashCaseTask.getCaseId());
+                    dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getId());
+                    dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getName());
+                    // 受理后的节点任务,不需要签收
                     dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
-                    dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                     // 任务处理时限
                     if (nextFlowNode.getExpire() != 0) {
                         dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
                     }
+                    dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                     dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                     dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
                     dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2));
@@ -1915,46 +1988,51 @@
                     caseInfoPO.setUpdateTime(nowDate);
                     caseInfoService.updateCaseInfo(caseInfoPO);
                 }
-                // 走结案归档节点
+                // 下一个节点是结案归档节点,进入结案归档节点任务
                 if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){
-                    // 默认完成结案归档任务
+                    // 创建并完成结案归档节点任务
                     CaseTask jagdCaseTask = new CaseTask();
                     jagdCaseTask.setId(utilsClient.getNewTimeId());
                     jagdCaseTask.setCaseId(jashCaseTask.getCaseId());
                     jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId());
                     jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
                     jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
-                    jagdCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                     jagdCaseTask.setNodeType(nextFlowNode.getNodeType());
                     jagdCaseTask.setNodeId(nextFlowNode.getNodeId());
                     jagdCaseTask.setNodeName(nextFlowNode.getNodeName());
                     jagdCaseTask.setFlowId(nextFlowNode.getFlowId());
                     jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
                     jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-                    // 通过调度的,任务候选执行者类型是上一步骤选择
-                    jagdCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                    // 任务所属单位:结案申请操作组织
                     jagdCaseTask.setCandeUnitId(loginUser.getUnitId());
                     jagdCaseTask.setCandeUnitName(loginUser.getUnitName());
-                    // 系不需要签收
+                    // 受理后的节点任务,不需要签收
                     jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
-                    jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                     // 任务处理时限
                     if (nextFlowNode.getExpire() != 0) {
                         jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
                     }
-                    jagdCaseTask.setHandleUnitId(loginUser.getUnitId());
-                    jagdCaseTask.setHandleUnitName(loginUser.getUnitName());
-                    jagdCaseTask.setHandleUserName("系统自动");
-                    jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                    jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                    jashCaseTask.setHandleUnitId(loginUser.getUnitId());
+                    jashCaseTask.setHandleUnitName(loginUser.getUnitName());
+                    jashCaseTask.setHandleDeptId(loginUser.getDeptId());
+                    jashCaseTask.setHandleDeptName(loginUser.getDeptName());
+                    jashCaseTask.setHandleUserId(loginUser.getId());
+                    jashCaseTask.setHandleUserName(loginUser.getTrueName());
+                    jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
                     jagdCaseTask.setHandleTime(nowDate);
                     jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                     jagdCaseTask.setCustId(jashCaseTask.getCustId());
                     jagdCaseTask.setCreateTime(nowDate);
                     jagdCaseTask.setUpdateTime(nowDate);
+                    // 计算任务耗时、是否超时、超时多少
+                    jagdCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getCreateTime()));
+                    jagdCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime()));
+                    jagdCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime()));
                     mapper.insert(jagdCaseTask);
-                    // 结束工作流流程
+                    // 完成结案归档工作流节点任务,结束流程
                     flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(),
-                            FlowableConsts.OPERATION_jb_zszz, "系统自动");
+                            FlowableConsts.OPERATION_jb_zszz, loginUser.getId());
                     // 更新纠纷信息
                     CaseInfo caseInfoPO = new CaseInfo();
                     caseInfoPO.setId(jashCaseTask.getCaseId());
@@ -1991,69 +2069,242 @@
                 caseInfoUnfoldPO.setCloseTime(nowDate);
                 caseInfoUnfoldPO.setUpdateTime(nowDate);
                 caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
-            }else {// 化解不成功,走结案审核流程
-                // 完成当前结案申请工作流任务,走结案审核任务
+            }else {// 化解不成功
+                // 完成当前结案申请工作流节点任务
                 FlowNode jashFlowNode = flowInfoService.completeTask(jasqCaseTask.getFlowableId(), jasqCaseTask.getProcessTaskId(),
                         FlowableConsts.OPERATION_forward, userId);
-                // 新建结案审核任务
-                CaseTask jashCaseTask = new CaseTask();
-                jashCaseTask.setId(utilsClient.getNewTimeId());
-                jashCaseTask.setCaseId(jasqCaseTask.getCaseId());
-                jashCaseTask.setFlowableId(jashFlowNode.getFlowableId());
-                jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId());
-                jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId());
-                jashCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
-                jashCaseTask.setNodeType(jashFlowNode.getNodeType());
-                jashCaseTask.setNodeId(jashFlowNode.getNodeId());
-                jashCaseTask.setNodeName(jashFlowNode.getNodeName());
-                jashCaseTask.setFlowId(jashFlowNode.getFlowId());
-                jashCaseTask.setNodeShowName(jashFlowNode.getNodeShowName());
-                jashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-                // 受理任务,任务候选执行者类型是上一步骤选择
-                jashCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                jashCaseTask.setCandeUnitId(loginUser.getUnitId());
-                jashCaseTask.setCandeUnitName(loginUser.getUnitName());
-                // 受理后的任务,不需要签收
-                jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
-                jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
-                // 任务处理时限
-                if (jashFlowNode.getExpire() != 0) {
-                    jashCaseTask.setExpireTime(DateUtils.addDay(nowDate, jashFlowNode.getExpire()));
+                // 判断是否自行受理
+                CaseInfo caseInfo = caseInfoService.getById(jasqCaseTask.getCaseId());
+                if (CaseBaseConsts.ZXSL_STATUS_1 == caseInfo.getZxslStatus()){
+                    // 自行受理,自行完成结案审核节点,直接进入下一个节点
+                    // 新建并自动完成结案审核任务
+                    CaseTask jashCaseTask = new CaseTask();
+                    jashCaseTask.setId(utilsClient.getNewTimeId());
+                    jashCaseTask.setCaseId(jasqCaseTask.getCaseId());
+                    jashCaseTask.setFlowableId(jashFlowNode.getFlowableId());
+                    jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId());
+                    jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId());
+                    jashCaseTask.setNodeType(jashFlowNode.getNodeType());
+                    jashCaseTask.setNodeId(jashFlowNode.getNodeId());
+                    jashCaseTask.setNodeName(jashFlowNode.getNodeName());
+                    jashCaseTask.setFlowId(jashFlowNode.getFlowId());
+                    jashCaseTask.setNodeShowName(jashFlowNode.getNodeShowName());
+                    jashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                    // 任务所属单位:结案申请操作组织
+                    jashCaseTask.setCandeUnitId(loginUser.getUnitId());
+                    jashCaseTask.setCandeUnitName(loginUser.getUnitName());
+                    // 受理后的节点任务,不需要签收
+                    jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (jashFlowNode.getExpire() != 0) {
+                        jashCaseTask.setExpireTime(DateUtils.addDay(nowDate, jashFlowNode.getExpire()));
+                    }
+                    jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                    jashCaseTask.setHandleUnitId(loginUser.getUnitId());
+                    jashCaseTask.setHandleUnitName(loginUser.getUnitName());
+                    jashCaseTask.setHandleDeptId(loginUser.getDeptId());
+                    jashCaseTask.setHandleDeptName(loginUser.getDeptName());
+                    jashCaseTask.setHandleUserId(loginUser.getId());
+                    jashCaseTask.setHandleUserName(loginUser.getTrueName());
+                    jashCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                    jashCaseTask.setHandleTime(DateUtils.addMinute(nowDate, 1));
+                    jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    jashCaseTask.setCustId(jasqCaseTask.getCustId());
+                    jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
+                    jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
+                    // 计算任务耗时、是否超时、超时多少
+                    jashCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getCreateTime()));
+                    jashCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime()));
+                    jashCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime()));
+                    mapper.insert(jashCaseTask);
+                    // 完成当前结案审核工作流任务,走下一个节点
+                    FlowNode nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_jash_ty, userId);
+                    // 下一个节点是当事人评价节点,进入当事人评价节点任务
+                    if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){
+                        // 新建当事人评价节点任务
+                        CaseTask dsrpjCaseTask = new CaseTask();
+                        dsrpjCaseTask.setId(utilsClient.getNewTimeId());
+                        dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId());
+                        dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                        dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                        dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                        dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType());
+                        dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId());
+                        dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName());
+                        dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId());
+                        dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                        dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                        // 任务所属人:当事人
+                        EvaluatePersonDTO evaluatePersonDTO = casePersonService.getEvaluatePerson(jashCaseTask.getCaseId());
+                        dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getId());
+                        dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getName());
+                        // 受理后的节点任务,不需要签收
+                        dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                        // 任务处理时限
+                        if (nextFlowNode.getExpire() != 0) {
+                            dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                        }
+                        dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                        dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                        dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
+                        dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2));
+                        dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2));
+                        mapper.insert(dsrpjCaseTask);
+                        // 更新纠纷信息
+                        CaseInfo caseInfoPO = new CaseInfo();
+                        caseInfoPO.setId(jashCaseTask.getCaseId());
+                        caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex());
+                        caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.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);
+                    }
+                    // 下一个节点是结案归档节点,进入结案归档节点任务
+                    if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){
+                        // 创建并完成结案归档节点任务
+                        CaseTask jagdCaseTask = new CaseTask();
+                        jagdCaseTask.setId(utilsClient.getNewTimeId());
+                        jagdCaseTask.setCaseId(jashCaseTask.getCaseId());
+                        jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                        jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                        jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                        jagdCaseTask.setNodeType(nextFlowNode.getNodeType());
+                        jagdCaseTask.setNodeId(nextFlowNode.getNodeId());
+                        jagdCaseTask.setNodeName(nextFlowNode.getNodeName());
+                        jagdCaseTask.setFlowId(nextFlowNode.getFlowId());
+                        jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                        jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                        // 任务所属单位:结案申请操作组织
+                        jagdCaseTask.setCandeUnitId(loginUser.getUnitId());
+                        jagdCaseTask.setCandeUnitName(loginUser.getUnitName());
+                        // 受理后的节点任务,不需要签收
+                        jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                        // 任务处理时限
+                        if (nextFlowNode.getExpire() != 0) {
+                            jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                        }
+                        jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                        jagdCaseTask.setHandleUnitId(loginUser.getUnitId());
+                        jagdCaseTask.setHandleUnitName(loginUser.getUnitName());
+                        jagdCaseTask.setHandleDeptId(loginUser.getDeptId());
+                        jagdCaseTask.setHandleDeptName(loginUser.getDeptName());
+                        jagdCaseTask.setHandleUserId(loginUser.getId());
+                        jagdCaseTask.setHandleUserName(loginUser.getTrueName());
+                        jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
+                        jagdCaseTask.setHandleTime(nowDate);
+                        jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                        jagdCaseTask.setCustId(jashCaseTask.getCustId());
+                        jagdCaseTask.setCreateTime(nowDate);
+                        jagdCaseTask.setUpdateTime(nowDate);
+                        // 计算任务耗时、是否超时、超时多少
+                        jagdCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getCreateTime()));
+                        jagdCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime()));
+                        jagdCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime()));
+                        mapper.insert(jagdCaseTask);
+                        // 完成结案归档工作流节点任务,结束流程
+                        flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(),
+                                FlowableConsts.OPERATION_jb_zszz, loginUser.getId());
+                        // 更新纠纷信息
+                        CaseInfo caseInfoPO = new CaseInfo();
+                        caseInfoPO.setId(jashCaseTask.getCaseId());
+                        caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex());
+                        caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.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);
+                    }
+                    // 更新结案申请信息
+                    caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1);
+                    caseWindupApply.setCaseTaskId(jashCaseTask.getId());
+                    caseWindupApply.setAuditUnitId(jashCaseTask.getHandleUnitId());
+                    caseWindupApply.setAuditUnitName(jashCaseTask.getHandleUnitName());
+                    caseWindupApply.setAuditUserId(jashCaseTask.getHandleUserId());
+                    caseWindupApply.setAuditUserName(jashCaseTask.getHandleUserName());
+                    caseWindupApply.setAuditTime(nowDate);
+                    caseWindupApply.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
+                    caseWindupApply.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
+                    caseWindupApply.setCustId(jashCaseTask.getCustId());
+                    caseWindupApplyService.save(caseWindupApply);
+                    // 更新纠纷扩展信息
+                    CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
+                    caseInfoUnfoldPO.setId(jashCaseTask.getCaseId());
+                    caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult());
+                    caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName());
+                    caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType());
+                    caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName());
+                    caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent());
+                    caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent());
+                    caseInfoUnfoldPO.setCloseTime(nowDate);
+                    caseInfoUnfoldPO.setUpdateTime(nowDate);
+                    caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+                }else {
+                    // 正常流程,进入结案审核节点
+                    // 新建结案审核任务
+                    CaseTask jashCaseTask = new CaseTask();
+                    jashCaseTask.setId(utilsClient.getNewTimeId());
+                    jashCaseTask.setCaseId(jasqCaseTask.getCaseId());
+                    jashCaseTask.setFlowableId(jashFlowNode.getFlowableId());
+                    jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId());
+                    jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId());
+                    jashCaseTask.setNodeType(jashFlowNode.getNodeType());
+                    jashCaseTask.setNodeId(jashFlowNode.getNodeId());
+                    jashCaseTask.setNodeName(jashFlowNode.getNodeName());
+                    jashCaseTask.setFlowId(jashFlowNode.getFlowId());
+                    jashCaseTask.setNodeShowName(jashFlowNode.getNodeShowName());
+                    jashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                    // 任务所属单位:本级综治中心审核
+                    CtUnitDTO zzzxCtUnitDTO = custClient.getBjZzzx(loginUser.getUnitId());
+                    jashCaseTask.setCandeUnitId(zzzxCtUnitDTO.getId());
+                    jashCaseTask.setCandeUnitName(zzzxCtUnitDTO.getUnitName());
+                    // 受理后的节点任务,不需要签收
+                    jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (jashFlowNode.getExpire() != 0) {
+                        jashCaseTask.setExpireTime(DateUtils.addDay(nowDate, jashFlowNode.getExpire()));
+                    }
+                    jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    jashCaseTask.setCustId(jasqCaseTask.getCustId());
+                    jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
+                    jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
+                    mapper.insert(jashCaseTask);
+                    // 更新结案申请信息
+                    caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0);
+                    caseWindupApply.setCaseTaskId(jashCaseTask.getId());
+                    caseWindupApply.setAuditUnitId(jashCaseTask.getCandeUnitId());
+                    caseWindupApply.setAuditUnitName(jashCaseTask.getCandeUnitName());
+                    caseWindupApply.setCustId(jashCaseTask.getCustId());
+                    caseWindupApplyService.save(caseWindupApply);
+                    // 更新纠纷信息
+                    CaseInfo caseInfoPO = new CaseInfo();
+                    caseInfoPO.setId(jashCaseTask.getCaseId());
+                    caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_5.getIndex());
+                    caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_5.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);
+                    // 更新纠纷扩展信息
+                    CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
+                    caseInfoUnfoldPO.setId(jashCaseTask.getCaseId());
+                    caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult());
+                    caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName());
+                    caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType());
+                    caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName());
+                    caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent());
+                    caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent());
+                    caseInfoUnfoldPO.setUpdateTime(nowDate);
+                    caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
                 }
-                jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-                jashCaseTask.setCustId(jasqCaseTask.getCustId());
-                jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
-                jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
-                mapper.insert(jashCaseTask);
-                // 更新结案申请信息
-                caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0);
-                caseWindupApply.setCaseTaskId(jashCaseTask.getId());
-                caseWindupApply.setAuditUnitId(jashCaseTask.getCandeUnitId());
-                caseWindupApply.setAuditUnitName(jashCaseTask.getCandeUnitName());
-                caseWindupApply.setCustId(jashCaseTask.getCustId());
-                caseWindupApplyService.save(caseWindupApply);
-                // 更新纠纷信息
-                CaseInfo caseInfoPO = new CaseInfo();
-                caseInfoPO.setId(jashCaseTask.getCaseId());
-                caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_5.getIndex());
-                caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_5.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);
-                // 更新纠纷扩展信息
-                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
-                caseInfoUnfoldPO.setId(jashCaseTask.getCaseId());
-                caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult());
-                caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName());
-                caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType());
-                caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName());
-                caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent());
-                caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent());
-                caseInfoUnfoldPO.setUpdateTime(nowDate);
-                caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
             }
             // 查询联合处置申请单,全部结束申请单
             QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>();
@@ -2064,20 +2315,26 @@
                 caseAssistApply.setUpdateTime(nowDate);
                 caseAssistApplyService.updateCaseAssistApply(caseAssistApply);
             }
-            // 查询配合部门的任务,全部结束流程
+            // 查询配合组织的任务,全部结束流程
             List<CaseTask> assistCaseTaskList = this.listAssistTasking(jasqCaseTask.getCaseId());
             for (CaseTask assistCaseTask: assistCaseTaskList){
-                // 完成配合部门当前任务
+                // 完成配合组织当前任务
                 assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                 assistCaseTask.setHandleUnitId(loginUser.getUnitId());
                 assistCaseTask.setHandleUnitName(loginUser.getUnitName());
+                assistCaseTask.setHandleDeptId(loginUser.getDeptId());
+                assistCaseTask.setHandleDeptName(loginUser.getDeptName());
                 assistCaseTask.setHandleUserId(loginUser.getId());
                 assistCaseTask.setHandleUserName(loginUser.getTrueName());
-                assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
                 assistCaseTask.setHandleTime(nowDate);
                 assistCaseTask.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                assistCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getCreateTime()));
+                assistCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime()));
+                assistCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime()));
                 mapper.updateCaseTask(assistCaseTask);
-                // 结束配合部门当前工作流任务
+                // 结束配合组织当前工作流任务
                 flowInfoService.endFlow(assistCaseTask.getProcessInstanceId());
             }
         }catch (Exception e){
@@ -2096,6 +2353,8 @@
             Date nowDate = DateUtils.getNowDate();
             // 获取当前登录用户
             CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            // 查询结案申请信息
+            CaseWindupApply oldCaseWindupApply = caseWindupApplyService.getById(caseWindupApply.getId());
             // 更新结案申请信息
             caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1);
             caseWindupApply.setAuditUserId(loginUser.getId());
@@ -2109,53 +2368,185 @@
             CaseTask jashCaseTask = mapper.selectById(caseWindupApply.getCaseTaskId());
             // 审核通过,
             if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseWindupApply.getAuditResult())){
-                // 完成当前结案审核任务
+                // 完成当前结案审核节点任务
                 CaseTask jashCaseTaskPO = new CaseTask();
                 jashCaseTaskPO.setId(caseWindupApply.getCaseTaskId());
                 jashCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
                 jashCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
                 jashCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+                jashCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+                jashCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
                 jashCaseTaskPO.setHandleUserId(loginUser.getId());
                 jashCaseTaskPO.setHandleUserName(loginUser.getTrueName());
                 jashCaseTaskPO.setHandleContent(caseWindupApply.getAuditContent());
                 jashCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
                 jashCaseTaskPO.setHandleTime(nowDate);
                 jashCaseTaskPO.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                jashCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jashCaseTaskPO.getHandleTime(), jashCaseTask.getCreateTime()));
+                jashCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jashCaseTaskPO.getHandleTime(), jashCaseTask.getExpireTime()));
+                jashCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jashCaseTaskPO.getHandleTime(), jashCaseTask.getExpireTime()));
                 mapper.updateCaseTask(jashCaseTaskPO);
-                // 完成当前结案审核工作流任务,走当事人评价任务
-                FlowNode nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
-                        FlowableConsts.OPERATION_jash_ty, userId);
-                // 走当事人评价节点
+                // 根据事项等级,判断是否要上级综治中心审核
+                FlowNode nextFlowNode = null;
+                CaseInfo caseInfo = caseInfoService.getById(jashCaseTask.getCaseId());
+                if (CaseBaseConsts.CASE_LEVEL_1 == caseInfo.getCaseLevel()){
+                    // 一级事件,本级+上级+上上级审核
+                    if (FlowNodeEnum.FLOW_NODE_JASH.equals(jashCaseTask.getNodeId())){
+                        // 完成本级综治中心审核,进入上级综治中心审核节点
+                        nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                                FlowableConsts.OPERATION_jash_ty_sq, userId);
+
+                    }else if (FlowNodeEnum.FLOW_NODE_JASH_YJ.equals(jashCaseTask.getNodeId())){
+                        // 完成上级综治中心审核,进入上上级综治中心审核节点
+                        nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                                FlowableConsts.OPERATION_jash_ty_sq, userId);
+                    }else {
+                        // 完成上上级综治中心审核,审核流程结束,进入下一节点
+                        nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                                FlowableConsts.OPERATION_jash_ty, userId);
+                    }
+
+                }else if (CaseBaseConsts.CASE_LEVEL_2 == caseInfo.getCaseLevel()){
+                    // 二级事件,本级+上级审核
+                    String operation = FlowableConsts.OPERATION_jash_ty;
+                    if (FlowNodeEnum.FLOW_NODE_JASH.equals(jashCaseTask.getNodeId())){
+                        // 完成本级综治中心审核,进入上级综治中心审核节点
+                        nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                                FlowableConsts.OPERATION_jash_ty_sq, userId);
+                    }else {
+                        // 完成上级综治中心审核,审核流程结束,进入下一节点
+                        nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                                FlowableConsts.OPERATION_jash_ty, userId);
+                    }
+                }else {
+                    // 三级事件,自办自结,即本级综治中心审核就行,完成本级综治中心审核,审核流程结束,进入下一节点
+                    nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_jash_ty, userId);
+                }
+
+                // 下一个节点是一级结案审核节点,进入一级结案审核节点任务
+                if (FlowNodeEnum.FLOW_NODE_JASH_YJ.getIndex().equals(nextFlowNode.getNodeId())){
+                    // 新建结案审核节点任务
+                    CaseTask yjJashCaseTask = new CaseTask();
+                    yjJashCaseTask.setId(utilsClient.getNewTimeId());
+                    yjJashCaseTask.setCaseId(jashCaseTask.getCaseId());
+                    yjJashCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                    yjJashCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                    yjJashCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                    yjJashCaseTask.setNodeType(nextFlowNode.getNodeType());
+                    yjJashCaseTask.setNodeId(nextFlowNode.getNodeId());
+                    yjJashCaseTask.setNodeName(nextFlowNode.getNodeName());
+                    yjJashCaseTask.setFlowId(nextFlowNode.getFlowId());
+                    yjJashCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                    yjJashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                    // 任务所属单位:上级级综治中心审核
+                    CtUnitDTO zzzxCtUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId());
+                    yjJashCaseTask.setCandeUnitId(zzzxCtUnitDTO.getId());
+                    yjJashCaseTask.setCandeUnitName(zzzxCtUnitDTO.getUnitName());
+                    // 受理后的节点任务,不需要签收
+                    yjJashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (nextFlowNode.getExpire() != 0) {
+                        yjJashCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                    }
+                    yjJashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    yjJashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    yjJashCaseTask.setCustId(jashCaseTask.getCustId());
+                    yjJashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
+                    yjJashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
+                    mapper.insert(yjJashCaseTask);
+                    // 创建新的结案申请记录
+                    CaseWindupApply newCaseWindupApply = new CaseWindupApply();
+                    BeanUtils.copyProperties(oldCaseWindupApply, newCaseWindupApply);
+                    newCaseWindupApply.setId(utilsClient.getNewTimeId());
+                    newCaseWindupApply.setApplyTime(nowDate);
+                    newCaseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0);
+                    newCaseWindupApply.setCaseTaskId(yjJashCaseTask.getId());
+                    newCaseWindupApply.setAuditUnitId(yjJashCaseTask.getCandeUnitId());
+                    newCaseWindupApply.setAuditUnitName(yjJashCaseTask.getCandeUnitName());
+                    newCaseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    newCaseWindupApply.setCreateTime(nowDate);
+                    newCaseWindupApply.setUpdateTime(nowDate);
+                    newCaseWindupApply.setCustId(yjJashCaseTask.getCustId());
+                    caseWindupApplyService.save(newCaseWindupApply);
+                }
+                // 下一个节点是二级结案审核节点,进入二级结案审核节点任务
+                if (FlowNodeEnum.FLOW_NODE_JASH_EJ.getIndex().equals(nextFlowNode.getNodeId())){
+                    // 新建结案审核节点任务
+                    CaseTask ejJashCaseTask = new CaseTask();
+                    ejJashCaseTask.setId(utilsClient.getNewTimeId());
+                    ejJashCaseTask.setCaseId(jashCaseTask.getCaseId());
+                    ejJashCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                    ejJashCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                    ejJashCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                    ejJashCaseTask.setNodeType(nextFlowNode.getNodeType());
+                    ejJashCaseTask.setNodeId(nextFlowNode.getNodeId());
+                    ejJashCaseTask.setNodeName(nextFlowNode.getNodeName());
+                    ejJashCaseTask.setFlowId(nextFlowNode.getFlowId());
+                    ejJashCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                    ejJashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                    // 任务所属单位:上级级综治中心审核
+                    CtUnitDTO zzzxCtUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId());
+                    ejJashCaseTask.setCandeUnitId(zzzxCtUnitDTO.getId());
+                    ejJashCaseTask.setCandeUnitName(zzzxCtUnitDTO.getUnitName());
+                    // 受理后的节点任务,不需要签收
+                    ejJashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (nextFlowNode.getExpire() != 0) {
+                        ejJashCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                    }
+                    ejJashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    ejJashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    ejJashCaseTask.setCustId(jashCaseTask.getCustId());
+                    ejJashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
+                    ejJashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
+                    mapper.insert(ejJashCaseTask);
+                    // 创建新的结案申请记录
+                    CaseWindupApply newCaseWindupApply = new CaseWindupApply();
+                    BeanUtils.copyProperties(oldCaseWindupApply, newCaseWindupApply);
+                    newCaseWindupApply.setId(utilsClient.getNewTimeId());
+                    newCaseWindupApply.setApplyTime(nowDate);
+                    newCaseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0);
+                    newCaseWindupApply.setCaseTaskId(ejJashCaseTask.getId());
+                    newCaseWindupApply.setAuditUnitId(ejJashCaseTask.getCandeUnitId());
+                    newCaseWindupApply.setAuditUnitName(ejJashCaseTask.getCandeUnitName());
+                    newCaseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    newCaseWindupApply.setCreateTime(nowDate);
+                    newCaseWindupApply.setUpdateTime(nowDate);
+                    newCaseWindupApply.setCustId(ejJashCaseTask.getCustId());
+                    caseWindupApplyService.save(newCaseWindupApply);
+                }
+                // 下一个节点是当事人评价节点,进入当事人评价节点任务
                 if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){
-                    // 新建当事人评价任务
+                    // 新建当事人评价节点任务
                     CaseTask dsrpjCaseTask = new CaseTask();
                     dsrpjCaseTask.setId(utilsClient.getNewTimeId());
                     dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId());
                     dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId());
                     dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
                     dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
-                    dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                     dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType());
                     dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId());
                     dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName());
                     dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId());
                     dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
                     dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-                    // 受理任务,任务候选执行者类型是上一步骤选择
-                    dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                    dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId());
-                    dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName());
-                    // 受理后的任务,不需要签收
+                    // 任务所属人:当事人
+                    EvaluatePersonDTO evaluatePersonDTO = casePersonService.getEvaluatePerson(jashCaseTask.getCaseId());
+                    dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getId());
+                    dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getName());
+                    // 受理后的节点任务,不需要签收
                     dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
-                    dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                     // 任务处理时限
                     if (nextFlowNode.getExpire() != 0) {
                         dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
                     }
+                    dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                     dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                     dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
-                    dsrpjCaseTask.setCreateTime(nowDate);
-                    dsrpjCaseTask.setUpdateTime(nowDate);
+                    dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2));
+                    dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2));
                     mapper.insert(dsrpjCaseTask);
                     // 更新纠纷信息
                     CaseInfo caseInfoPO = new CaseInfo();
@@ -2169,46 +2560,51 @@
                     caseInfoPO.setUpdateTime(nowDate);
                     caseInfoService.updateCaseInfo(caseInfoPO);
                 }
-                // 走结案归档节点
+                // 下一个节点是结案归档节点,进入结案归档节点任务
                 if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){
-                    // 默认完成结案归档任务
+                    // 创建并完成结案归档节点任务
                     CaseTask jagdCaseTask = new CaseTask();
                     jagdCaseTask.setId(utilsClient.getNewTimeId());
                     jagdCaseTask.setCaseId(jashCaseTask.getCaseId());
                     jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId());
                     jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
                     jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
-                    jagdCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                     jagdCaseTask.setNodeType(nextFlowNode.getNodeType());
                     jagdCaseTask.setNodeId(nextFlowNode.getNodeId());
                     jagdCaseTask.setNodeName(nextFlowNode.getNodeName());
                     jagdCaseTask.setFlowId(nextFlowNode.getFlowId());
                     jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
                     jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-                    // 通过调度的,任务候选执行者类型是上一步骤选择
-                    jagdCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                    jagdCaseTask.setCandeUnitId(loginUser.getUnitId());
-                    jagdCaseTask.setCandeUnitName(loginUser.getUnitName());
-                    // 系不需要签收
+                    // 任务所属单位:结案申请操作组织
+                    jagdCaseTask.setCandeUnitId(oldCaseWindupApply.getApplyUnitId());
+                    jagdCaseTask.setCandeUnitName(oldCaseWindupApply.getApplyUnitName());
+                    // 受理后的节点任务,不需要签收
                     jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
-                    jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                     // 任务处理时限
                     if (nextFlowNode.getExpire() != 0) {
                         jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
                     }
-                    jagdCaseTask.setHandleUnitId(loginUser.getUnitId());
-                    jagdCaseTask.setHandleUnitName(loginUser.getUnitName());
-                    jagdCaseTask.setHandleUserName("系统自动");
-                    jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                    jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                    jashCaseTask.setHandleUnitId(loginUser.getUnitId());
+                    jashCaseTask.setHandleUnitName(loginUser.getUnitName());
+                    jashCaseTask.setHandleDeptId(loginUser.getDeptId());
+                    jashCaseTask.setHandleDeptName(loginUser.getDeptName());
+                    jashCaseTask.setHandleUserId(loginUser.getId());
+                    jashCaseTask.setHandleUserName(loginUser.getTrueName());
+                    jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
                     jagdCaseTask.setHandleTime(nowDate);
                     jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                     jagdCaseTask.setCustId(jashCaseTask.getCustId());
                     jagdCaseTask.setCreateTime(nowDate);
                     jagdCaseTask.setUpdateTime(nowDate);
+                    // 计算任务耗时、是否超时、超时多少
+                    jagdCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getCreateTime()));
+                    jagdCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime()));
+                    jagdCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime()));
                     mapper.insert(jagdCaseTask);
-                    // 结束工作流流程
+                    // 完成结案归档工作流节点任务,结束流程
                     flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(),
-                            FlowableConsts.OPERATION_jb_zszz, "系统自动");
+                            FlowableConsts.OPERATION_jb_zszz, loginUser.getId());
                     // 更新纠纷信息
                     CaseInfo caseInfoPO = new CaseInfo();
                     caseInfoPO.setId(jashCaseTask.getCaseId());
@@ -2229,42 +2625,46 @@
                 caseInfoUnfoldPO.setUpdateTime(nowDate);
                 caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
             }else {
-                // 审核不通过,回退办理反馈任务
-                // 完成当前结案审核任务
+                // 审核不通过,回退办理反馈节点任务
+                // 完成当前结案审核节点任务
                 CaseTask jashCaseTaskPO = new CaseTask();
                 jashCaseTaskPO.setId(caseWindupApply.getCaseTaskId());
                 jashCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
                 jashCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
                 jashCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+                jashCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+                jashCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
                 jashCaseTaskPO.setHandleUserId(loginUser.getId());
                 jashCaseTaskPO.setHandleUserName(loginUser.getTrueName());
                 jashCaseTaskPO.setHandleContent(caseWindupApply.getAuditContent());
                 jashCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2);
                 jashCaseTaskPO.setHandleTime(nowDate);
                 jashCaseTaskPO.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                jashCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jashCaseTaskPO.getHandleTime(), jashCaseTask.getCreateTime()));
+                jashCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jashCaseTaskPO.getHandleTime(), jashCaseTask.getExpireTime()));
+                jashCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jashCaseTaskPO.getHandleTime(), jashCaseTask.getExpireTime()));
                 mapper.updateCaseTask(jashCaseTaskPO);
-                // 完成当前结案审核工作流任务,走办理反馈任务
+                // 完成当前结案审核工作流节点任务,走办理反馈节点任务
                 FlowNode blfkFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
                         FlowableConsts.OPERATION_jash_bty, userId);
-                // 新建办理反馈任务
+                // 新建办理反馈节点任务
                 CaseTask blfkCaseTask = new CaseTask();
                 blfkCaseTask.setId(utilsClient.getNewTimeId());
                 blfkCaseTask.setCaseId(jashCaseTask.getCaseId());
                 blfkCaseTask.setFlowableId(blfkFlowNode.getFlowableId());
                 blfkCaseTask.setProcessInstanceId(blfkFlowNode.getProcessInstanceId());
                 blfkCaseTask.setProcessTaskId(blfkFlowNode.getProcessTaskId());
-                blfkCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                 blfkCaseTask.setNodeType(blfkFlowNode.getNodeType());
                 blfkCaseTask.setNodeId(blfkFlowNode.getNodeId());
                 blfkCaseTask.setNodeName(blfkFlowNode.getNodeName());
                 blfkCaseTask.setFlowId(blfkFlowNode.getFlowId());
                 blfkCaseTask.setNodeShowName(blfkFlowNode.getNodeShowName());
                 blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-                // 受理任务,任务候选执行者类型是上一步骤选择
-                blfkCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                blfkCaseTask.setCandeUnitId(loginUser.getUnitId());
-                blfkCaseTask.setCandeUnitName(loginUser.getUnitName());
-                // 受理后的任务,不需要签收
+                // 任务所属单位:结案申请操作组织
+                blfkCaseTask.setCandeUnitId(oldCaseWindupApply.getApplyUnitId());
+                blfkCaseTask.setCandeUnitName(oldCaseWindupApply.getApplyUnitName());
+                // 受理后的节点任务,不需要签收
                 blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                 blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                 // 任务处理时限
@@ -2318,45 +2718,47 @@
             caseReturn.setCustId(loginUser.getCustId());
             caseReturn.setCreateTime(nowDate);
             caseReturn.setUpdateTime(nowDate);
-            // 查询待受理任务
-            CaseTask dslCaseTask = mapper.selectById(caseReturn.getCaseTaskId());
-            // 完成当前待受理任务
-            CaseTask dslCaseTaskPO = new CaseTask();
-            dslCaseTaskPO.setId(caseReturn.getCaseTaskId());
-            dslCaseTaskPO.setTaskType(CaseTaskConsts.TASK_TYPE_2);
-            dslCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
-            dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
-            dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
-            dslCaseTaskPO.setHandleUserId(loginUser.getId());
-            dslCaseTaskPO.setHandleUserName(loginUser.getTrueName());
-            dslCaseTaskPO.setHandleContent(caseReturn.getReturnContent());
-            dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
-            dslCaseTaskPO.setHandleTime(nowDate);
-            dslCaseTaskPO.setUpdateTime(nowDate);
-            mapper.updateCaseTask(dslCaseTaskPO);
-            // 完成当前待受理工作流任务,走回退审核任务
-            FlowNode htshFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(),
+            // 查询待节点任务
+            CaseTask thisCaseTask = mapper.selectById(caseReturn.getCaseTaskId());
+            // 完成当前节点任务
+            CaseTask thisCaseTaskPO = new CaseTask();
+            thisCaseTaskPO.setId(caseReturn.getCaseTaskId());
+            thisCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+            thisCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
+            thisCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+            thisCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+            thisCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+            thisCaseTaskPO.setHandleUserId(loginUser.getId());
+            thisCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+            thisCaseTaskPO.setHandleContent(caseReturn.getReturnContent());
+            thisCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_4);
+            thisCaseTaskPO.setHandleTime(nowDate);
+            thisCaseTaskPO.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            thisCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(thisCaseTaskPO.getHandleTime(), thisCaseTask.getCreateTime()));
+            thisCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(thisCaseTaskPO.getHandleTime(), thisCaseTask.getExpireTime()));
+            thisCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(thisCaseTaskPO.getHandleTime(), thisCaseTask.getExpireTime()));
+            mapper.updateCaseTask(thisCaseTaskPO);
+            // 完成当前节点工作流任务,走回退审核任务
+            FlowNode htshFlowNode = flowInfoService.completeTask(thisCaseTask.getFlowableId(), thisCaseTask.getProcessTaskId(),
                     FlowableConsts.OPERATION_htsq, userId);
-            // 新建回退审核任务
+            // 新建回退审核节点任务
             CaseTask htshCaseTask = new CaseTask();
             htshCaseTask.setId(utilsClient.getNewTimeId());
-            htshCaseTask.setCaseId(dslCaseTask.getCaseId());
+            htshCaseTask.setCaseId(thisCaseTask.getCaseId());
             htshCaseTask.setFlowableId(htshFlowNode.getFlowableId());
             htshCaseTask.setProcessInstanceId(htshFlowNode.getProcessInstanceId());
             htshCaseTask.setProcessTaskId(htshFlowNode.getProcessTaskId());
-            htshCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
             htshCaseTask.setNodeType(htshFlowNode.getNodeType());
             htshCaseTask.setNodeId(htshFlowNode.getNodeId());
             htshCaseTask.setNodeName(htshFlowNode.getNodeName());
             htshCaseTask.setFlowId(htshFlowNode.getFlowId());
             htshCaseTask.setNodeShowName(htshFlowNode.getNodeShowName());
-            htshCaseTask.setCaseTaskType(dslCaseTask.getCaseTaskType());
-            // 受理任务,任务候选执行者类型是上一步骤选择
-            htshCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-//            CtUnitDTO ctUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId());
-            htshCaseTask.setCandeUnitId(loginUser.getUnitId());
-            htshCaseTask.setCandeUnitName(loginUser.getUnitName());
-            // 受理后的任务,不需要签收
+            htshCaseTask.setCaseTaskType(thisCaseTask.getCaseTaskType());
+            // 任务所属单位:上级综治中心
+            htshCaseTask.setCandeUnitId(zzzxUnit.getId());
+            htshCaseTask.setCandeUnitName(zzzxUnit.getUnitName());
+            // 受理后的节点任务,不需要签收
             htshCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
             // 任务处理时限
             if (htshFlowNode.getExpire() != 0) {
@@ -2373,8 +2775,8 @@
             caseReturn.setCaseTaskType(htshCaseTask.getCaseTaskType());
             caseReturnService.save(caseReturn);
         }catch (Exception e){
-            log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e);
-            throw new ServiceException("CaseTaskService.webAppearApply", e);
+            log.error("[CaseTaskService.webReturnApply]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webReturnApply", e);
         }
     }
 
@@ -2395,57 +2797,61 @@
             caseReturn.setAuditTime(nowDate);
             caseReturn.setUpdateTime(nowDate);
             caseReturnService.updateCaseReturn(caseReturn);
-            // 查询回退审核任务
+            // 查询回退审核节点任务
             CaseTask htshCaseTask = mapper.selectById(caseReturn.getCaseTaskId());
             // 审核通过
             if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseReturn.getAuditResult())){
-                // 完成当前回退审核任务
+                // 完成当前回退审核节点任务
                 CaseTask htshCaseTaskPO = new CaseTask();
                 htshCaseTaskPO.setId(caseReturn.getCaseTaskId());
                 htshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
                 htshCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
                 htshCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+                htshCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+                htshCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
                 htshCaseTaskPO.setHandleUserId(loginUser.getId());
                 htshCaseTaskPO.setHandleContent(caseReturn.getAuditContent());
                 htshCaseTaskPO.setHandleUserName(loginUser.getTrueName());
                 htshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
                 htshCaseTaskPO.setHandleTime(nowDate);
                 htshCaseTaskPO.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                htshCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(htshCaseTaskPO.getHandleTime(), htshCaseTask.getCreateTime()));
+                htshCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(htshCaseTaskPO.getHandleTime(), htshCaseTask.getExpireTime()));
+                htshCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(htshCaseTaskPO.getHandleTime(), htshCaseTask.getExpireTime()));
                 mapper.updateCaseTask(htshCaseTaskPO);
-                // 完成当前回退审核任务,承办部门走待分派任务,配合部门结束流程
-                FlowNode dfpFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(),
+                // 完成当前回退审核工作流节点任务,承办组织走待分派节点任务,配合组织结束工作流流程
+                FlowNode nextFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(),
                         FlowableConsts.OPERATION_htsh_ty, userId);
                 if (CaseTaskConsts.CASE_TASK_TYPE_1 == htshCaseTask.getCaseTaskType()) {
-                    // 新建待分派任务
-                    CaseTask dfphCaseTask = new CaseTask();
-                    dfphCaseTask.setId(utilsClient.getNewTimeId());
-                    dfphCaseTask.setCaseId(htshCaseTask.getCaseId());
-                    dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
-                    dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
-                    dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());
-                    dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
-                    dfphCaseTask.setNodeType(dfpFlowNode.getNodeType());
-                    dfphCaseTask.setNodeId(dfpFlowNode.getNodeId());
-                    dfphCaseTask.setNodeName(dfpFlowNode.getNodeName());
-                    dfphCaseTask.setFlowId(dfpFlowNode.getFlowId());
-                    dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName());
-                    dfphCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType());
-                    // 受理任务,任务候选执行者类型是上一步骤选择
-                    dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                    dfphCaseTask.setCandeUnitId(loginUser.getUnitId());
-                    dfphCaseTask.setCandeUnitName(loginUser.getUnitName());
-                    // 受理后的任务,不需要签收
-                    dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 新建下一个节点任务
+                    CaseTask nextCaseTask = new CaseTask();
+                    nextCaseTask.setId(utilsClient.getNewTimeId());
+                    nextCaseTask.setCaseId(htshCaseTask.getCaseId());
+                    nextCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                    nextCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                    nextCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                    nextCaseTask.setNodeType(nextFlowNode.getNodeType());
+                    nextCaseTask.setNodeId(nextFlowNode.getNodeId());
+                    nextCaseTask.setNodeName(nextFlowNode.getNodeName());
+                    nextCaseTask.setFlowId(nextFlowNode.getFlowId());
+                    nextCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                    nextCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType());
+                    // 任务所属单位:回退审核操作组织
+                    nextCaseTask.setCandeUnitId(loginUser.getUnitId());
+                    nextCaseTask.setCandeUnitName(loginUser.getUnitName());
+                    // 受理后的节点任务,不需要签收
+                    nextCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                     // 任务处理时限
-                    if (dfpFlowNode.getExpire() != 0) {
-                        dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire()));
+                    if (nextFlowNode.getExpire() != 0) {
+                        nextCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
                     }
-                    dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
-                    dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-                    dfphCaseTask.setCustId(dfphCaseTask.getCustId());
-                    dfphCaseTask.setCreateTime(nowDate);
-                    dfphCaseTask.setUpdateTime(nowDate);
-                    mapper.insert(dfphCaseTask);
+                    nextCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    nextCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    nextCaseTask.setCustId(nextCaseTask.getCustId());
+                    nextCaseTask.setCreateTime(nowDate);
+                    nextCaseTask.setUpdateTime(nowDate);
+                    mapper.insert(nextCaseTask);
                     // 更新纠纷信息
                     CaseInfo caseInfoPO = new CaseInfo();
                     caseInfoPO.setId(htshCaseTask.getCaseId());
@@ -2457,20 +2863,26 @@
                     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.setHandleUnitName(loginUser.getUnitName()+"(承办部门)");
+                        assistCaseTask.setHandleDeptId(loginUser.getDeptId());
+                        assistCaseTask.setHandleDeptName(loginUser.getDeptName()+"(承办部门)");
                         assistCaseTask.setHandleUserId(loginUser.getId());
-                        assistCaseTask.setHandleUserName(loginUser.getTrueName());
-                        assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                        assistCaseTask.setHandleUserName(loginUser.getTrueName()+"(承办部门)");
+                        assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
                         assistCaseTask.setHandleTime(nowDate);
                         assistCaseTask.setUpdateTime(nowDate);
+                        // 计算任务耗时、是否超时、超时多少
+                        assistCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getCreateTime()));
+                        assistCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime()));
+                        assistCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime()));
                         mapper.updateCaseTask(assistCaseTask);
-                        // 结束配合部门当前工作流任务
+                        // 结束配合组织当前工作流任务
                         flowInfoService.endFlow(assistCaseTask.getProcessInstanceId());
                     }
                 }else {
@@ -2485,61 +2897,71 @@
                 }
             }else {
                 // 审核不通过
-                // 完成当前回退审核任务
+                // 完成当前回退审核节点任务
                 CaseTask htshCaseTaskPO = new CaseTask();
                 htshCaseTaskPO.setId(caseReturn.getCaseTaskId());
                 htshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
                 htshCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
                 htshCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+                htshCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+                htshCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
                 htshCaseTaskPO.setHandleUserId(loginUser.getId());
                 htshCaseTaskPO.setHandleUserName(loginUser.getTrueName());
                 htshCaseTaskPO.setHandleContent(caseReturn.getAuditContent());
                 htshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2);
                 htshCaseTaskPO.setHandleTime(nowDate);
                 htshCaseTaskPO.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                htshCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(htshCaseTaskPO.getHandleTime(), htshCaseTask.getCreateTime()));
+                htshCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(htshCaseTaskPO.getHandleTime(), htshCaseTask.getExpireTime()));
+                htshCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(htshCaseTaskPO.getHandleTime(), htshCaseTask.getExpireTime()));
                 mapper.updateCaseTask(htshCaseTaskPO);
+                // 查询回退申请信息
                 CaseReturn btyCaseReturn = caseReturnService.getById(caseReturn.getId());
+                // 查询回退申请组织信息
                 CtUnitDTO returnUnit = custClient.getUnitById(btyCaseReturn.getReturnUnitId());
-                String operation = FlowableConsts.OPERATION_htsh_bty;
+                FlowNode nextFlowNode = null;
                 if (UserBaseConsts.UNIT_GRADE_2 == returnUnit.getUnitGrade()){
-                    operation = FlowableConsts.OPERATION_htsh_bty_qj;
+                    // 区级组织回退,完成当前回退审核节点任务,进入下一个节点
+                    nextFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_htsh_bty_qj, userId);
+                }else if(UserBaseConsts.UNIT_GRADE_1 == returnUnit.getUnitGrade()){
+                    // 市级组织回退,完成当前回退审核节点任务,进入下一个节点
+                    nextFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_htsh_bty_sj, userId);
+                }else {
+                    // 完成当前回退审核节点任务,进入下一个节点
+                    nextFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_htsh_bty, userId);
                 }
-                if(UserBaseConsts.UNIT_GRADE_1 == returnUnit.getUnitGrade()){
-                    operation = FlowableConsts.OPERATION_htsh_bty_sj;
-                }
-                // 完成当前上报审核任务,走待受理任务
-                FlowNode dslFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(),
-                        operation, userId);
-                // 新建待分派任务
-                CaseTask dslCaseTask = new CaseTask();
-                dslCaseTask.setId(utilsClient.getNewTimeId());
-                dslCaseTask.setCaseId(htshCaseTask.getCaseId());
-                dslCaseTask.setFlowableId(dslFlowNode.getFlowableId());
-                dslCaseTask.setProcessInstanceId(dslFlowNode.getProcessInstanceId());
-                dslCaseTask.setProcessTaskId(dslFlowNode.getProcessTaskId());
-                dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
-                dslCaseTask.setNodeType(dslFlowNode.getNodeType());
-                dslCaseTask.setNodeId(dslFlowNode.getNodeId());
-                dslCaseTask.setNodeName(dslFlowNode.getNodeName());
-                dslCaseTask.setFlowId(dslFlowNode.getFlowId());
-                dslCaseTask.setNodeShowName(dslFlowNode.getNodeShowName());
-                dslCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType());
-                // 受理任务,任务候选执行者类型是上一步骤选择
-                dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                dslCaseTask.setCandeUnitId(btyCaseReturn.getReturnUnitId());
-                dslCaseTask.setCandeUnitName(btyCaseReturn.getReturnUnitName());
-                // 受理后的任务,不需要签收
-                dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                // 新建下一个节点任务
+                CaseTask nextCaseTask = new CaseTask();
+                nextCaseTask.setId(utilsClient.getNewTimeId());
+                nextCaseTask.setCaseId(htshCaseTask.getCaseId());
+                nextCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                nextCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                nextCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                nextCaseTask.setNodeType(nextFlowNode.getNodeType());
+                nextCaseTask.setNodeId(nextFlowNode.getNodeId());
+                nextCaseTask.setNodeName(nextFlowNode.getNodeName());
+                nextCaseTask.setFlowId(nextFlowNode.getFlowId());
+                nextCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                nextCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType());
+                // 任务所属组织:回退申请组织
+                nextCaseTask.setCandeUnitId(btyCaseReturn.getReturnUnitId());
+                nextCaseTask.setCandeUnitName(btyCaseReturn.getReturnUnitName());
+                // 受理后的节点任务,不需要签收
+                nextCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                 // 任务处理时限
-                if (dslFlowNode.getExpire() != 0) {
-                    dslCaseTask.setExpireTime(DateUtils.addDay(nowDate, dslFlowNode.getExpire()));
+                if (nextFlowNode.getExpire() != 0) {
+                    nextCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
                 }
-                dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
-                dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-                dslCaseTask.setCustId(dslCaseTask.getCustId());
-                dslCaseTask.setCreateTime(nowDate);
-                dslCaseTask.setUpdateTime(nowDate);
-                mapper.insert(dslCaseTask);
+                nextCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                nextCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                nextCaseTask.setCustId(htshCaseTask.getCustId());
+                nextCaseTask.setCreateTime(nowDate);
+                nextCaseTask.setUpdateTime(nowDate);
+                mapper.insert(nextCaseTask);
             }
         }catch (Exception e){
             log.error("[CaseTaskService.webReturnAudit]调用失败,异常信息:"+e, e);
@@ -2568,44 +2990,47 @@
             caseAppear.setCustId(loginUser.getCustId());
             caseAppear.setCreateTime(nowDate);
             caseAppear.setUpdateTime(nowDate);
-            // 查询待受理任务
-            CaseTask dslCaseTask = mapper.selectById(caseAppear.getCaseTaskId());
-            // 完成当前待受理任务
-            CaseTask dslCaseTaskPO = new CaseTask();
-            dslCaseTaskPO.setId(caseAppear.getCaseTaskId());
-            dslCaseTaskPO.setTaskType(CaseTaskConsts.TASK_TYPE_3);
-            dslCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
-            dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
-            dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
-            dslCaseTaskPO.setHandleUserId(loginUser.getId());
-            dslCaseTaskPO.setHandleUserName(loginUser.getTrueName());
-            dslCaseTaskPO.setHandleContent(caseAppear.getAppearContent());
-            dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
-            dslCaseTaskPO.setHandleTime(nowDate);
-            dslCaseTaskPO.setUpdateTime(nowDate);
-            mapper.updateCaseTask(dslCaseTaskPO);
-            // 完成当前待受理工作流任务,走上报审核任务
-            FlowNode sbshFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(),
+            // 查询当前节点任务
+            CaseTask thisCaseTask = mapper.selectById(caseAppear.getCaseTaskId());
+            // 完成当前当前节点任务
+            CaseTask thisCaseTaskPO = new CaseTask();
+            thisCaseTaskPO.setId(caseAppear.getCaseTaskId());
+            thisCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+            thisCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
+            thisCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+            thisCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+            thisCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+            thisCaseTaskPO.setHandleUserId(loginUser.getId());
+            thisCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+            thisCaseTaskPO.setHandleContent(caseAppear.getAppearContent());
+            thisCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_5);
+            thisCaseTaskPO.setHandleTime(nowDate);
+            thisCaseTaskPO.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            thisCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(thisCaseTaskPO.getHandleTime(), thisCaseTask.getCreateTime()));
+            thisCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(thisCaseTaskPO.getHandleTime(), thisCaseTask.getExpireTime()));
+            thisCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(thisCaseTaskPO.getHandleTime(), thisCaseTask.getExpireTime()));
+            mapper.updateCaseTask(thisCaseTaskPO);
+            // 完成当前待受理工作流节点任务,走上报审核任务
+            FlowNode sbshFlowNode = flowInfoService.completeTask(thisCaseTask.getFlowableId(), thisCaseTask.getProcessTaskId(),
                     FlowableConsts.OPERATION_sb, userId);
             // 新建上报审核任务
             CaseTask sbshCaseTask = new CaseTask();
             sbshCaseTask.setId(utilsClient.getNewTimeId());
-            sbshCaseTask.setCaseId(dslCaseTask.getCaseId());
+            sbshCaseTask.setCaseId(thisCaseTask.getCaseId());
             sbshCaseTask.setFlowableId(sbshFlowNode.getFlowableId());
             sbshCaseTask.setProcessInstanceId(sbshFlowNode.getProcessInstanceId());
             sbshCaseTask.setProcessTaskId(sbshFlowNode.getProcessTaskId());
-            sbshCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
             sbshCaseTask.setNodeType(sbshFlowNode.getNodeType());
             sbshCaseTask.setNodeId(sbshFlowNode.getNodeId());
             sbshCaseTask.setNodeName(sbshFlowNode.getNodeName());
             sbshCaseTask.setFlowId(sbshFlowNode.getFlowId());
             sbshCaseTask.setNodeShowName(sbshFlowNode.getNodeShowName());
             sbshCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-            // 受理任务,任务候选执行者类型是上一步骤选择
-            sbshCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+            // 任务所属单位,上报审核组织
             sbshCaseTask.setCandeUnitId(caseAppear.getAuditUnitId());
             sbshCaseTask.setCandeUnitName(caseAppear.getAuditUnitName());
-            // 受理后的任务,不需要签收
+            // 受理后的节点任务,不需要签收
             sbshCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
             // 任务处理时限
             if (sbshFlowNode.getExpire() != 0) {
@@ -2643,22 +3068,28 @@
             caseAppear.setAuditTime(nowDate);
             caseAppear.setUpdateTime(nowDate);
             caseAppearService.updateCaseAppear(caseAppear);
-            // 查询上报审核任务
+            // 查询上报审核节点任务
             CaseTask sbshCaseTask = mapper.selectById(caseAppear.getCaseTaskId());
             // 审核通过
             if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseAppear.getAuditResult())){
-                // 完成当前上报审核任务
+                // 完成当前上报审核节点任务
                 CaseTask sbshCaseTaskPO = new CaseTask();
                 sbshCaseTaskPO.setId(caseAppear.getCaseTaskId());
                 sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
                 sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
                 sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+                sbshCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+                sbshCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
                 sbshCaseTaskPO.setHandleUserId(loginUser.getId());
                 sbshCaseTaskPO.setHandleContent(caseAppear.getAuditContent());
                 sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName());
                 sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
                 sbshCaseTaskPO.setHandleTime(nowDate);
                 sbshCaseTaskPO.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                sbshCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getCreateTime()));
+                sbshCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getExpireTime()));
+                sbshCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getExpireTime()));
                 mapper.updateCaseTask(sbshCaseTaskPO);
                 // 完成当前上报审核任务,走待分派任务
                 FlowNode dfpFlowNode = flowInfoService.completeTask(sbshCaseTask.getFlowableId(), sbshCaseTask.getProcessTaskId(),
@@ -2670,18 +3101,16 @@
                 dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
                 dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
                 dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());
-                dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                 dfphCaseTask.setNodeType(dfpFlowNode.getNodeType());
                 dfphCaseTask.setNodeId(dfpFlowNode.getNodeId());
                 dfphCaseTask.setNodeName(dfpFlowNode.getNodeName());
                 dfphCaseTask.setFlowId(dfpFlowNode.getFlowId());
                 dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName());
                 dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-                // 受理任务,任务候选执行者类型是上一步骤选择
-                dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                // 任务所属单位:上报审核组织
                 dfphCaseTask.setCandeUnitId(loginUser.getUnitId());
                 dfphCaseTask.setCandeUnitName(loginUser.getUnitName());
-                // 受理后的任务,不需要签收
+                // 受理后的节点任务,不需要签收
                 dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                 dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                 // 任务处理时限
@@ -2712,12 +3141,18 @@
                 sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
                 sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
                 sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+                sbshCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+                sbshCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
                 sbshCaseTaskPO.setHandleUserId(loginUser.getId());
                 sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName());
                 sbshCaseTaskPO.setHandleContent(caseAppear.getAuditContent());
                 sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2);
                 sbshCaseTaskPO.setHandleTime(nowDate);
                 sbshCaseTaskPO.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                sbshCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getCreateTime()));
+                sbshCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getExpireTime()));
+                sbshCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getExpireTime()));
                 mapper.updateCaseTask(sbshCaseTaskPO);
                 // 完成当前上报审核任务,走待分派任务
                 FlowNode dfpFlowNode = flowInfoService.completeTask(sbshCaseTask.getFlowableId(), sbshCaseTask.getProcessTaskId(),
@@ -2729,19 +3164,17 @@
                 dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
                 dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
                 dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());
-                dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                 dfphCaseTask.setNodeType(dfpFlowNode.getNodeType());
                 dfphCaseTask.setNodeId(dfpFlowNode.getNodeId());
                 dfphCaseTask.setNodeName(dfpFlowNode.getNodeName());
                 dfphCaseTask.setFlowId(dfpFlowNode.getFlowId());
                 dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName());
                 dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-                // 受理任务,任务候选执行者类型是上一步骤选择
-                dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                // 任务所属单位:上报申请组织
                 CaseAppear caseAppearBO = caseAppearService.getById(caseAppear.getId());
                 dfphCaseTask.setCandeUnitId(caseAppearBO.getAppearUnitId());
                 dfphCaseTask.setCandeUnitName(caseAppearBO.getAppearUnitName());
-                // 受理后的任务,不需要签收
+                // 受理后的节点任务,不需要签收
                 dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                 dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                 // 任务处理时限
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/utils/TaskUsetimeUtils.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/utils/TaskUsetimeUtils.java
new file mode 100644
index 0000000..6535b80
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/utils/TaskUsetimeUtils.java
@@ -0,0 +1,82 @@
+package cn.huge.module.cases.utils;
+
+import cn.huge.base.common.utils.DateUtils;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Date;
+
+/**
+ * @title: 任务处理耗时计算攻击类
+ * @description: 任务处理耗时计算攻击类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2021-11-05 16:51:48
+ * @version: 1.0.0
+ */
+public class TaskUsetimeUtils {
+
+    /**
+     * 任务超时状态,0:未超时,1:已超时
+     */
+    public static final int OVER_TIME_STATUS_0 = 0;
+    public static final int OVER_TIME_STATUS_1 = 1;
+
+    /**
+     * 获取任务处理耗时多少小时
+     * @param handleTime 任务处理时间
+     * @param createTime 任务下达时间
+     * @return
+     */
+    public static int getUsetimeHour(Date handleTime, Date createTime) {
+        return DateUtils.getDifferHour(handleTime, createTime);
+    }
+
+    /**
+     * 判断任务处理是否超时
+     * @param handleTime 任务处理时间
+     * @param expireTime 任务处理时限
+     * @return
+     */
+    public static int getOvertimeStatus(Date handleTime, Date expireTime) {
+        int overtimeHour = DateUtils.getDifferHour(handleTime, expireTime);
+        if (overtimeHour > 0) {
+            // 已超时
+            return OVER_TIME_STATUS_1;
+        }else {
+            // 未超时
+            return OVER_TIME_STATUS_0;
+        }
+    }
+
+    /**
+     * 判断任务处理超时多少小时
+     * @param handleTime 任务处理时间
+     * @param expireTime 任务处理时限
+     * @return
+     */
+    public static int getOvertimeHour(Date handleTime, Date expireTime) {
+        return DateUtils.getDifferHour(handleTime, expireTime);
+    }
+}
+/**
+ * -------------------_ooOoo_-------------------
+ * ------------------o8888888o------------------
+ * ------------------88" . "88------------------
+ * ------------------(| -_- |)------------------
+ * ------------------O\  =  /O------------------
+ * ---------------____/`---'\____---------------
+ * -------------.'  \\|     |//  `.-------------
+ * ------------/  \\|||  :  |||//  \------------
+ * -----------/  _||||| -:- |||||-  \-----------
+ * -----------|   | \\\  -  /// |   |-----------
+ * -----------| \_|  ''\---/''  |   |-----------
+ * -----------\  .-\__  `-`  ___/-. /-----------
+ * ---------___`. .'  /--.--\  `. . __----------
+ * ------."" '<  `.___\_<|>_/___.'  >'"".-------
+ * -----| | :  `- \`.;`\ _ /`;.`/ - ` : | |-----
+ * -----\  \ `-.   \_ __\ /__ _/   .-` /  /-----
+ * ======`-.____`-.___\_____/___.-`____.-'======
+ * -------------------`=---='
+ * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ * ---------佛祖保佑---hugeinfo---永无BUG----------
+ */
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/CustClient.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/CustClient.java
index 99b5d6a..738d245 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/CustClient.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/CustClient.java
@@ -75,6 +75,15 @@
     ReturnBO getParentZzzxUnit(@RequestParam(value = "unitId")  String unitId);
 
     /**
+     * 获取本级综治中心
+     * @url {ctx}/api/client/ctUnit/getBjZzzx
+     * @param unitId 组织编号
+     * @return Object
+     */
+    @GetMapping("/api/client/ctUnit/getBjZzzx")
+    ReturnBO getBjZzzx(@RequestParam(value = "unitId")  String unitId);
+
+    /**
      * 查询用户所在的单位信息
      * @url {ctx}/api/client/ctUnit/getUnitByUserId
      * @param userId 用户编号
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java
index 80592ee..0a008b4 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java
@@ -174,6 +174,28 @@
     }
 
     /**
+     * 获取本级综治中心
+     * @url {ctx}/api/client/ctUnit/getBjZzzx
+     * @param unitId 组织编号
+     * @return Object
+     */
+    public CtUnitDTO getBjZzzx(String unitId){
+        try{
+            ReturnBO returnBo = custClient.getBjZzzx(unitId);
+            if (ReturnConsts.OK == returnBo.getCode()){
+                CtUnitDTO ctUnitDTO = objectMapper.convertValue(returnBo.getData(), CtUnitDTO.class);
+                return ctUnitDTO;
+            }else{
+                log.error("Client外服务接口[CustClientImpl.getBjZzzx]请求异常:" + returnBo.getMsg(), returnBo.getMsg());
+                throw new ClientException("CustClientImpl.getBjZzzx", returnBo.getMsg());
+            }
+        }catch (Exception e){
+            log.error("service方法[CustClientImpl.getBjZzzx]请求成功,处理异常:"+e, e);
+            throw new ServiceException("CustClientImpl.getBjZzzx", e);
+        }
+    }
+
+    /**
      * 查询用户所在的单位信息
      * @url {ctx}/api/client/ctUnit/getUnitByUserId
      * @param userId 用户编号
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java
index 3cb9742..1783c8b 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java
@@ -18,7 +18,9 @@
     FLOW_NODE_HTSH("HTSH", "回退审核"),
     FLOW_NODE_BLFK("BLFK", "办理反馈"),
     FLOW_NODE_JASQ("JASQ", "结案申请"),
-    FLOW_NODE_JASH("JASH", "结案审核"),
+    FLOW_NODE_JASH("JASH", "本级结案审核"),
+    FLOW_NODE_JASH_YJ("JASH_YJ", "一级结案审核"),
+    FLOW_NODE_JASH_EJ("JASH_EJ", "二级结案审核"),
     FLOW_NODE_DSRPJ("DSRPJ", "当事人评价"),
     FLOW_NODE_JAGD("JAGD", "结案归档"),
     // 镇街级
@@ -114,6 +116,10 @@
                 return FLOW_NODE_JASQ;
             case "JASH":
                 return FLOW_NODE_JASH;
+            case "JASH_YJ":
+                return FLOW_NODE_JASH_YJ;
+            case "JASH_EJ":
+                return FLOW_NODE_JASH_EJ;
             case "DSRPJ":
                 return FLOW_NODE_DSRPJ;
             case "JAGD":
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowableConsts.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowableConsts.java
index 136cd30..bbd9b09 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowableConsts.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowableConsts.java
@@ -1,5 +1,7 @@
 package cn.huge.module.flow.consts;
 
+import cn.huge.module.mediate.constant.CaseBaseConstsEnum;
+
 /**
  * @title: 用户相关常量类
  * @description: 用户相关常量
@@ -15,9 +17,11 @@
      * 来访登记:GZDYH_LFDJ_3LEVEL_V1
      * 联合处置:GZDYH_LHCZ_3LEVEL_V1
      */
-    public static final String FLOWABLE_ID_LFDJ = "GZDYH_LFDJ_3LEVEL_V1";
-    public static final String FLOWABLE_ID_ZXSL = "GZDYH_ZXSL_3LEVEL_V1";
-    public static final String FLOWABLE_ID_LHCZ = "GZDYH_LHCZ_3LEVEL_V1";
+    public static final String GZDYH_JB_LFDJ_V1 = "GZDYH_JB_LFDJ_V1";
+    public static final String GZDYH_JB_ZXPC_V1 = "GZDYH_JB_ZXPC_V1";
+    public static final String GZDYH_ZXSL_LFDJ_V1 = "GZDYH_ZXSL_LFDJ_V1";
+    public static final String GZDYH_ZXSL_ZXPC_V1 = "GZDYH_ZXSL_ZXPC_V1";
+    public static final String GZDYH_LHCZ_V1 = "GZDYH_LHCZ_V1";
 
     /**
      * 工作流通用任务条件,
@@ -31,9 +35,9 @@
      * 自行受理:zxsl
      * 交办给直属组织:jb_zszz,交办给综治中心:jb_zzzx
      * 受理:sl
-     * 回退申请:htsq,回退审核同意:htsh_ty,回退审核不同意:htsh_bty,htsh_bty_zj,htsh_bty_qj
-     * 上报:sb,上报审核同意:htsq_ty,上报审核不同意:htsq_bty
-     * 结案审核同意:jash_ty,结案审核不同意:jash_bty,htsh_bty_zj,htsh_bty_qj
+     * 回退申请:htsq,回退审核同意:htsh_ty,回退审核不同意:htsh_bty,htsh_bty_qj,htsh_bty_sj
+     * 上报:sb,上报审核同意:sbsh_ty,上报审核不同意:sbsh_bty
+     * 结案审核同意:jash_ty,同意申请上级审核:jash_ty_sq,结案审核不同意:jash_bty,
      */
     public static final String OPERATION_jb_zszz = "jb_zszz";
     public static final String OPERATION_jb_zzzx = "jb_zzzx";
@@ -47,7 +51,34 @@
     public static final String OPERATION_sbsh_ty = "sbsh_ty";
     public static final String OPERATION_sbsh_bty = "sbsh_bty";
     public static final String OPERATION_jash_ty = "jash_ty";
+    public static final String OPERATION_jash_ty_sq = "jash_ty_sq";
     public static final String OPERATION_jash_bty = "jash_bty";
+
+    /**
+     * 根据事项来源获取交办流程
+     * @param canal
+     * @return
+     */
+    public static String getJbFlow(String canal){
+        if (CaseBaseConstsEnum.CASE_CANAL_3.getIndex().equals(canal)){
+            return GZDYH_JB_ZXPC_V1;
+        }else {
+            return GZDYH_JB_LFDJ_V1;
+        }
+    }
+
+    /**
+     * 根据事项来源获取自行受理流程
+     * @param canal
+     * @return
+     */
+    public static String getZxslFlow(String canal){
+        if (CaseBaseConstsEnum.CASE_CANAL_3.getIndex().equals(canal)){
+            return GZDYH_ZXSL_ZXPC_V1;
+        }else {
+            return GZDYH_ZXSL_LFDJ_V1;
+        }
+    }
 }
 /**
  * -------------------_ooOoo_-------------------
diff --git a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LFDJ_3LEVEL_V1.bpmn20.xml b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_JB_LFDJ_V1.bpmn20.xml
similarity index 82%
copy from dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LFDJ_3LEVEL_V1.bpmn20.xml
copy to dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_JB_LFDJ_V1.bpmn20.xml
index 91e5510..1f91bfa 100644
--- a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LFDJ_3LEVEL_V1.bpmn20.xml
+++ b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_JB_LFDJ_V1.bpmn20.xml
@@ -1,14 +1,14 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
-  <process id="GZDYH_LFDJ_3LEVEL_V1" name="GZDYH_LFDJ_3LEVEL_V1" isExecutable="true">
-    <documentation>GZDYH_LFDJ_3LEVEL_V1</documentation>
+  <process id="GZDYH_JB_LFDJ_V1" name="GZDYH_JB_LFDJ_V1" isExecutable="true">
+    <documentation>GZDYH_JB_LFDJ_V1</documentation>
     <startEvent id="START" name="开始"/>
     <userTask id="ZJ_DFP" name="镇街综治中心待分派"/>
     <sequenceFlow id="sid-B31A9E23-36FD-4F62-B43A-78565EB5F13C" sourceRef="START" targetRef="ZJ_DFP"/>
     <userTask id="ZJ_DSL" name="镇街级组织待受理"/>
     <userTask id="BLFK" name="办理反馈"/>
     <userTask id="JASQ" name="结案申请"/>
-    <userTask id="JASH" name="结案审核"/>
+    <userTask id="JASH" name="本级结案审核"/>
     <userTask id="ZJ_HTSH" name="镇街交办回退-镇街综治中心待审核"/>
     <userTask id="QJ_SBSH" name="镇街上报-区综治中心待审核"/>
     <userTask id="QJ_DFP" name="区综治中心待分派"/>
@@ -22,20 +22,10 @@
     <userTask id="DSRPJ" name="当事人评价"/>
     <userTask id="JAGD" name="结案归档"/>
     <endEvent id="END" name="结束"/>
-    <sequenceFlow id="sid-0BE7C326-1F8B-4223-B72C-06000E33D80C" sourceRef="JAGD" targetRef="END"/>
     <sequenceFlow id="sid-13C1AC7D-ACE2-45AE-8B02-D9A6E5ADF777" name="通过" sourceRef="BLFK" targetRef="JASQ">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
     </sequenceFlow>
     <sequenceFlow id="sid-97B79C3A-867D-4057-86E1-58626E22F7E3" name="通过" sourceRef="JASQ" targetRef="JASH">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="sid-92A3C4E4-5675-4099-BD6C-E0E0D9742620" name="结案审核同意" sourceRef="JASH" targetRef="DSRPJ">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="sid-B38ABFCE-C643-449F-8AE3-058FE0997A12" name="结案审核不同意" sourceRef="JASH" targetRef="BLFK">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="sid-27E60A97-AC85-4978-AC3F-3D1A52A2B3A8" name="通过" sourceRef="DSRPJ" targetRef="JAGD">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
     </sequenceFlow>
     <sequenceFlow id="sid-4E2FBB65-5E57-4536-8F84-A754A1E0A546" name="受理" sourceRef="SJ_DSL" targetRef="BLFK">
@@ -110,9 +100,6 @@
     <sequenceFlow id="sid-080C79C3-4D90-407B-8451-F88A2C4D9F7A" name="市交办回退审核同意" sourceRef="SJ_HTSH" targetRef="SJ_DFP">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_ty'}]]></conditionExpression>
     </sequenceFlow>
-    <sequenceFlow id="sid-0B45B4F0-4106-4B5E-A8F4-EFC9832072F8" name="受理" sourceRef="SJ_DFP" targetRef="BLFK">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sl'}]]></conditionExpression>
-    </sequenceFlow>
     <sequenceFlow id="sid-5A452188-7F4A-4160-A8E1-7426B2E324E5" name="区交办镇街综治中心回退审核不同意" sourceRef="QJ_HTSH" targetRef="ZJ_DFP">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_bty'}]]></conditionExpression>
     </sequenceFlow>
@@ -125,9 +112,42 @@
     <sequenceFlow id="sid-F8079D11-8A61-4AF1-89B4-194FE609610C" name="市交办市级组织回退审核不同意" sourceRef="SJ_HTSH" targetRef="SJ_DSL">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_bty_sj'}]]></conditionExpression>
     </sequenceFlow>
+    <userTask id="JASH_YJ" name="一级结案审核"/>
+    <sequenceFlow id="sid-27E60A97-AC85-4978-AC3F-3D1A52A2B3A8" name="通过" sourceRef="DSRPJ" targetRef="JAGD">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-0BE7C326-1F8B-4223-B72C-06000E33D80C" sourceRef="JAGD" targetRef="END"/>
+    <userTask id="JASH_EJ" name="二级结案审核"/>
+    <sequenceFlow id="sid-608D5E79-D8BE-4EB7-B2AE-C5D950CD7A67" name="同意申请上级审核" sourceRef="JASH" targetRef="JASH_YJ">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty_sq'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-0B45B4F0-4106-4B5E-A8F4-EFC9832072F8" name="受理" sourceRef="SJ_DFP" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sl'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-B38ABFCE-C643-449F-8AE3-058FE0997A12" name="不同意" sourceRef="JASH" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-182D28DC-9E2F-4E19-B83C-88780876884C" name="不同意" sourceRef="JASH_YJ" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-AB67B72C-CA8D-4B66-9F11-36A7814A94A9" name="不同意" sourceRef="JASH_EJ" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-864EDFD5-BE99-4E33-AD81-C323A98B27EF" name="同意申请上级审核" sourceRef="JASH_YJ" targetRef="JASH_EJ">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty_sq'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-92A3C4E4-5675-4099-BD6C-E0E0D9742620" name="同意" sourceRef="JASH" targetRef="DSRPJ">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-AEEF70CC-28C1-4EF0-B390-59943771D037" name="同意" sourceRef="JASH_YJ" targetRef="DSRPJ">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-43BDB415-52F8-4336-9D02-11EFFFD99E80" name="同意" sourceRef="JASH_EJ" targetRef="DSRPJ">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
+    </sequenceFlow>
   </process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_GZDYH_LFDJ_3LEVEL_V1">
-    <bpmndi:BPMNPlane bpmnElement="GZDYH_LFDJ_3LEVEL_V1" id="BPMNPlane_GZDYH_LFDJ_3LEVEL_V1">
+  <bpmndi:BPMNDiagram id="BPMNDiagram_GZDYH_JB_LFDJ_V1">
+    <bpmndi:BPMNPlane bpmnElement="GZDYH_JB_LFDJ_V1" id="BPMNPlane_GZDYH_JB_LFDJ_V1">
       <bpmndi:BPMNShape bpmnElement="START" id="BPMNShape_START">
         <omgdc:Bounds height="30.0" width="30.0" x="14.999999552965178" y="159.99999560415753"/>
       </bpmndi:BPMNShape>
@@ -174,14 +194,25 @@
         <omgdc:Bounds height="80.0" width="100.0" x="897.499951943757" y="569.9999551475067"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape bpmnElement="DSRPJ" id="BPMNShape_DSRPJ">
-        <omgdc:Bounds height="80.0" width="100.0" x="1212.4999728053817" y="279.99999895691855"/>
+        <omgdc:Bounds height="80.0" width="100.0" x="1384.999959319831" y="134.9999959766866"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape bpmnElement="JAGD" id="BPMNShape_JAGD">
-        <omgdc:Bounds height="79.99999999999994" width="100.0" x="1212.4999542012827" y="419.9999874830249"/>
+        <omgdc:Bounds height="79.99999999999994" width="100.0" x="1544.9999539554133" y="134.9999915808443"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape bpmnElement="END" id="BPMNShape_END">
-        <omgdc:Bounds height="28.0" width="28.0" x="1248.4999705925593" y="564.9999905377625"/>
+        <omgdc:Bounds height="28.0" width="28.0" x="1709.999898076062" y="160.99998678267076"/>
       </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="JASH_YJ" id="BPMNShape_JASH_YJ">
+        <omgdc:Bounds height="79.99999999999994" width="100.0" x="1212.4998085200968" y="329.9999901652339"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="JASH_EJ" id="BPMNShape_JASH_EJ">
+        <omgdc:Bounds height="80.0" width="100.0" x="1212.4998085200968" y="524.9999843537812"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge bpmnElement="sid-AEEF70CC-28C1-4EF0-B390-59943771D037" id="BPMNEdge_sid-AEEF70CC-28C1-4EF0-B390-59943771D037">
+        <omgdi:waypoint x="1312.449808519938" y="369.9999901652339"/>
+        <omgdi:waypoint x="1409.999959319831" y="369.9999901652339"/>
+        <omgdi:waypoint x="1409.999959319831" y="214.9499959766866"/>
+      </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-B31A9E23-36FD-4F62-B43A-78565EB5F13C" id="BPMNEdge_sid-B31A9E23-36FD-4F62-B43A-78565EB5F13C">
         <omgdi:waypoint x="44.94999804290022" y="174.99999565478763"/>
         <omgdi:waypoint x="89.99999731779103" y="174.9999958073552"/>
@@ -190,13 +221,13 @@
         <omgdi:waypoint x="724.9499861416448" y="589.9999635924936"/>
         <omgdi:waypoint x="897.499951943757" y="589.9999551937473"/>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="sid-92A3C4E4-5675-4099-BD6C-E0E0D9742620" id="BPMNEdge_sid-92A3C4E4-5675-4099-BD6C-E0E0D9742620">
-        <omgdi:waypoint x="1262.499984674927" y="214.94999798834328"/>
-        <omgdi:waypoint x="1262.499977321461" y="279.99999895691855"/>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-5A452188-7F4A-4160-A8E1-7426B2E324E5" id="BPMNEdge_sid-5A452188-7F4A-4160-A8E1-7426B2E324E5">
         <omgdi:waypoint x="314.9999906122686" y="277.32953442584886"/>
         <omgdi:waypoint x="189.94999731779103" y="195.62073459326655"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-92A3C4E4-5675-4099-BD6C-E0E0D9742620" id="BPMNEdge_sid-92A3C4E4-5675-4099-BD6C-E0E0D9742620">
+        <omgdi:waypoint x="1312.4499891966586" y="174.99999740525425"/>
+        <omgdi:waypoint x="1384.9999593197122" y="174.99999655919248"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-A06559C9-EAA5-4878-80EE-8E7BE802E321" id="BPMNEdge_sid-A06559C9-EAA5-4878-80EE-8E7BE802E321">
         <omgdi:waypoint x="139.99999851965512" y="459.9999773502357"/>
@@ -211,6 +242,14 @@
         <omgdi:waypoint x="1262.4999891966586" y="68.00000020861626"/>
         <omgdi:waypoint x="972.4999617040171" y="68.00000020861626"/>
         <omgdi:waypoint x="972.4999617040171" y="134.99999597668656"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-182D28DC-9E2F-4E19-B83C-88780876884C" id="BPMNEdge_sid-182D28DC-9E2F-4E19-B83C-88780876884C">
+        <omgdi:waypoint x="1212.4998085200968" y="336.37928375289255"/>
+        <omgdi:waypoint x="1022.4499617040169" y="208.5870816826154"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-864EDFD5-BE99-4E33-AD81-C323A98B27EF" id="BPMNEdge_sid-864EDFD5-BE99-4E33-AD81-C323A98B27EF">
+        <omgdi:waypoint x="1262.4998085200968" y="409.9499901652339"/>
+        <omgdi:waypoint x="1262.4998085200968" y="524.9999843537812"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-84E57742-F82B-4B9B-A71B-ABF25770A9CC" id="BPMNEdge_sid-84E57742-F82B-4B9B-A71B-ABF25770A9CC">
         <omgdi:waypoint x="367.723736812224" y="539.9499704957021"/>
@@ -229,12 +268,16 @@
         <omgdi:waypoint x="339.999990165234" y="540.6698924348469"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-27E60A97-AC85-4978-AC3F-3D1A52A2B3A8" id="BPMNEdge_sid-27E60A97-AC85-4978-AC3F-3D1A52A2B3A8">
-        <omgdi:waypoint x="1262.4999674899245" y="359.94999895691853"/>
-        <omgdi:waypoint x="1262.4999595100956" y="419.9999874830249"/>
+        <omgdi:waypoint x="1484.9499592390052" y="174.9999959370844"/>
+        <omgdi:waypoint x="1544.9999539553578" y="174.99999355897342"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-0BE7C326-1F8B-4223-B72C-06000E33D80C" id="BPMNEdge_sid-0BE7C326-1F8B-4223-B72C-06000E33D80C">
-        <omgdi:waypoint x="1262.4999597040683" y="499.94998748302487"/>
-        <omgdi:waypoint x="1262.4999686641738" y="564.9999905377625"/>
+        <omgdi:waypoint x="1644.9499539554017" y="174.9999897210863"/>
+        <omgdi:waypoint x="1709.9998979149514" y="174.99998730154323"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-608D5E79-D8BE-4EB7-B2AE-C5D950CD7A67" id="BPMNEdge_sid-608D5E79-D8BE-4EB7-B2AE-C5D950CD7A67">
+        <omgdi:waypoint x="1262.4999521347984" y="214.94999798834328"/>
+        <omgdi:waypoint x="1262.49984553563" y="329.9999901652339"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-C180B358-6A35-4378-8CA9-5BAB85FE89F4" id="BPMNEdge_sid-C180B358-6A35-4378-8CA9-5BAB85FE89F4">
         <omgdi:waypoint x="189.94999731740805" y="729.9999771515533"/>
@@ -270,9 +313,9 @@
         <omgdi:waypoint x="319.1602665374066" y="539.9499704957021"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-0B45B4F0-4106-4B5E-A8F4-EFC9832072F8" id="BPMNEdge_sid-0B45B4F0-4106-4B5E-A8F4-EFC9832072F8">
-        <omgdi:waypoint x="414.94998591697043" y="749.9999691545976"/>
-        <omgdi:waypoint x="1021.4999617040171" y="749.9999691545976"/>
-        <omgdi:waypoint x="1021.499961704017" y="214.94999597668658"/>
+        <omgdi:waypoint x="414.94998591840306" y="749.9999691545976"/>
+        <omgdi:waypoint x="997.4999617040171" y="749.9999691545976"/>
+        <omgdi:waypoint x="997.4999617040171" y="214.94999597668658"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-A8908233-78BC-453D-B685-D4482C4A844D" id="BPMNEdge_sid-A8908233-78BC-453D-B685-D4482C4A844D">
         <omgdi:waypoint x="529.9999853968442" y="49.99999865889553"/>
@@ -295,6 +338,10 @@
         <omgdi:waypoint x="629.9499853968215" y="69.99999865889552"/>
         <omgdi:waypoint x="947.4999617040171" y="69.99999865889552"/>
         <omgdi:waypoint x="947.4999617040171" y="134.99999597668656"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-AB67B72C-CA8D-4B66-9F11-36A7814A94A9" id="BPMNEdge_sid-AB67B72C-CA8D-4B66-9F11-36A7814A94A9">
+        <omgdi:waypoint x="1233.8313086495225" y="524.9999843537812"/>
+        <omgdi:waypoint x="1011.6146073580152" y="214.94999597668658"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-4DC80088-03E0-4790-9A32-5F0361EF0583" id="BPMNEdge_sid-4DC80088-03E0-4790-9A32-5F0361EF0583">
         <omgdi:waypoint x="897.499951943757" y="629.9999551937474"/>
@@ -338,6 +385,11 @@
         <omgdi:waypoint x="189.94999731779103" y="499.9999758270059"/>
         <omgdi:waypoint x="314.99998591840307" y="499.9999720174086"/>
       </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-43BDB415-52F8-4336-9D02-11EFFFD99E80" id="BPMNEdge_sid-43BDB415-52F8-4336-9D02-11EFFFD99E80">
+        <omgdi:waypoint x="1312.449808520097" y="564.9999843537812"/>
+        <omgdi:waypoint x="1459.999959319831" y="564.9999843537812"/>
+        <omgdi:waypoint x="1459.999959319831" y="214.9499959766866"/>
+      </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 </definitions>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LFDJ_3LEVEL_V1.bpmn20.xml b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_JB_ZXPC_V1.bpmn20.xml
similarity index 83%
rename from dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LFDJ_3LEVEL_V1.bpmn20.xml
rename to dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_JB_ZXPC_V1.bpmn20.xml
index 91e5510..ce2d0ed 100644
--- a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LFDJ_3LEVEL_V1.bpmn20.xml
+++ b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_JB_ZXPC_V1.bpmn20.xml
@@ -1,14 +1,14 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
-  <process id="GZDYH_LFDJ_3LEVEL_V1" name="GZDYH_LFDJ_3LEVEL_V1" isExecutable="true">
-    <documentation>GZDYH_LFDJ_3LEVEL_V1</documentation>
+  <process id="GZDYH_JB_ZXPC_V1" name="GZDYH_JB_ZXPC_V1" isExecutable="true">
+    <documentation>GZDYH_JB_ZXPC_V1</documentation>
     <startEvent id="START" name="开始"/>
     <userTask id="ZJ_DFP" name="镇街综治中心待分派"/>
     <sequenceFlow id="sid-B31A9E23-36FD-4F62-B43A-78565EB5F13C" sourceRef="START" targetRef="ZJ_DFP"/>
     <userTask id="ZJ_DSL" name="镇街级组织待受理"/>
     <userTask id="BLFK" name="办理反馈"/>
     <userTask id="JASQ" name="结案申请"/>
-    <userTask id="JASH" name="结案审核"/>
+    <userTask id="JASH" name="本级结案审核"/>
     <userTask id="ZJ_HTSH" name="镇街交办回退-镇街综治中心待审核"/>
     <userTask id="QJ_SBSH" name="镇街上报-区综治中心待审核"/>
     <userTask id="QJ_DFP" name="区综治中心待分派"/>
@@ -19,23 +19,12 @@
     <userTask id="SJ_DFP" name="市综治中心待分派"/>
     <userTask id="SJ_HTSH" name="市交办回退-市综治中心待审核"/>
     <userTask id="SJ_DSL" name="市级组织待受理"/>
-    <userTask id="DSRPJ" name="当事人评价"/>
     <userTask id="JAGD" name="结案归档"/>
     <endEvent id="END" name="结束"/>
-    <sequenceFlow id="sid-0BE7C326-1F8B-4223-B72C-06000E33D80C" sourceRef="JAGD" targetRef="END"/>
     <sequenceFlow id="sid-13C1AC7D-ACE2-45AE-8B02-D9A6E5ADF777" name="通过" sourceRef="BLFK" targetRef="JASQ">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
     </sequenceFlow>
     <sequenceFlow id="sid-97B79C3A-867D-4057-86E1-58626E22F7E3" name="通过" sourceRef="JASQ" targetRef="JASH">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="sid-92A3C4E4-5675-4099-BD6C-E0E0D9742620" name="结案审核同意" sourceRef="JASH" targetRef="DSRPJ">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="sid-B38ABFCE-C643-449F-8AE3-058FE0997A12" name="结案审核不同意" sourceRef="JASH" targetRef="BLFK">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="sid-27E60A97-AC85-4978-AC3F-3D1A52A2B3A8" name="通过" sourceRef="DSRPJ" targetRef="JAGD">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
     </sequenceFlow>
     <sequenceFlow id="sid-4E2FBB65-5E57-4536-8F84-A754A1E0A546" name="受理" sourceRef="SJ_DSL" targetRef="BLFK">
@@ -110,9 +99,6 @@
     <sequenceFlow id="sid-080C79C3-4D90-407B-8451-F88A2C4D9F7A" name="市交办回退审核同意" sourceRef="SJ_HTSH" targetRef="SJ_DFP">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_ty'}]]></conditionExpression>
     </sequenceFlow>
-    <sequenceFlow id="sid-0B45B4F0-4106-4B5E-A8F4-EFC9832072F8" name="受理" sourceRef="SJ_DFP" targetRef="BLFK">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sl'}]]></conditionExpression>
-    </sequenceFlow>
     <sequenceFlow id="sid-5A452188-7F4A-4160-A8E1-7426B2E324E5" name="区交办镇街综治中心回退审核不同意" sourceRef="QJ_HTSH" targetRef="ZJ_DFP">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_bty'}]]></conditionExpression>
     </sequenceFlow>
@@ -125,9 +111,39 @@
     <sequenceFlow id="sid-F8079D11-8A61-4AF1-89B4-194FE609610C" name="市交办市级组织回退审核不同意" sourceRef="SJ_HTSH" targetRef="SJ_DSL">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_bty_sj'}]]></conditionExpression>
     </sequenceFlow>
+    <userTask id="JASH_YJ" name="一级结案审核"/>
+    <sequenceFlow id="sid-0BE7C326-1F8B-4223-B72C-06000E33D80C" sourceRef="JAGD" targetRef="END"/>
+    <userTask id="JASH_EJ" name="二级结案审核"/>
+    <sequenceFlow id="sid-608D5E79-D8BE-4EB7-B2AE-C5D950CD7A67" name="同意申请上级审核" sourceRef="JASH" targetRef="JASH_YJ">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty_sq'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-0B45B4F0-4106-4B5E-A8F4-EFC9832072F8" name="受理" sourceRef="SJ_DFP" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sl'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-B38ABFCE-C643-449F-8AE3-058FE0997A12" name="不同意" sourceRef="JASH" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-182D28DC-9E2F-4E19-B83C-88780876884C" name="不同意" sourceRef="JASH_YJ" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-AB67B72C-CA8D-4B66-9F11-36A7814A94A9" name="不同意" sourceRef="JASH_EJ" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-864EDFD5-BE99-4E33-AD81-C323A98B27EF" name="同意申请上级审核" sourceRef="JASH_YJ" targetRef="JASH_EJ">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty_sq'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-92A3C4E4-5675-4099-BD6C-E0E0D9742620" name="同意" sourceRef="JASH" targetRef="JAGD">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-AEEF70CC-28C1-4EF0-B390-59943771D037" name="同意" sourceRef="JASH_YJ" targetRef="JAGD">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-43BDB415-52F8-4336-9D02-11EFFFD99E80" name="同意" sourceRef="JASH_EJ" targetRef="JAGD">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
+    </sequenceFlow>
   </process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_GZDYH_LFDJ_3LEVEL_V1">
-    <bpmndi:BPMNPlane bpmnElement="GZDYH_LFDJ_3LEVEL_V1" id="BPMNPlane_GZDYH_LFDJ_3LEVEL_V1">
+  <bpmndi:BPMNDiagram id="BPMNDiagram_GZDYH_JB_ZXPC_V1">
+    <bpmndi:BPMNPlane bpmnElement="GZDYH_JB_ZXPC_V1" id="BPMNPlane_GZDYH_JB_ZXPC_V1">
       <bpmndi:BPMNShape bpmnElement="START" id="BPMNShape_START">
         <omgdc:Bounds height="30.0" width="30.0" x="14.999999552965178" y="159.99999560415753"/>
       </bpmndi:BPMNShape>
@@ -173,15 +189,23 @@
       <bpmndi:BPMNShape bpmnElement="SJ_DSL" id="BPMNShape_SJ_DSL">
         <omgdc:Bounds height="80.0" width="100.0" x="897.499951943757" y="569.9999551475067"/>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="DSRPJ" id="BPMNShape_DSRPJ">
-        <omgdc:Bounds height="80.0" width="100.0" x="1212.4999728053817" y="279.99999895691855"/>
-      </bpmndi:BPMNShape>
       <bpmndi:BPMNShape bpmnElement="JAGD" id="BPMNShape_JAGD">
-        <omgdc:Bounds height="79.99999999999994" width="100.0" x="1212.4999542012827" y="419.9999874830249"/>
+        <omgdc:Bounds height="79.99999999999994" width="100.0" x="1394.9999584257614" y="134.99999396502994"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape bpmnElement="END" id="BPMNShape_END">
-        <omgdc:Bounds height="28.0" width="28.0" x="1248.4999705925593" y="564.9999905377625"/>
+        <omgdc:Bounds height="28.0" width="28.0" x="1559.9999535083784" y="160.99999319016956"/>
       </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="JASH_YJ" id="BPMNShape_JASH_YJ">
+        <omgdc:Bounds height="79.99999999999994" width="100.0" x="1212.4998085200968" y="329.9999901652339"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="JASH_EJ" id="BPMNShape_JASH_EJ">
+        <omgdc:Bounds height="80.0" width="100.0" x="1212.4998085200968" y="524.9999843537812"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge bpmnElement="sid-AEEF70CC-28C1-4EF0-B390-59943771D037" id="BPMNEdge_sid-AEEF70CC-28C1-4EF0-B390-59943771D037">
+        <omgdi:waypoint x="1312.449808520097" y="369.9999901652339"/>
+        <omgdi:waypoint x="1419.9999584257614" y="369.9999901652339"/>
+        <omgdi:waypoint x="1419.9999584257614" y="214.9499939650299"/>
+      </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-B31A9E23-36FD-4F62-B43A-78565EB5F13C" id="BPMNEdge_sid-B31A9E23-36FD-4F62-B43A-78565EB5F13C">
         <omgdi:waypoint x="44.94999804290022" y="174.99999565478763"/>
         <omgdi:waypoint x="89.99999731779103" y="174.9999958073552"/>
@@ -190,13 +214,13 @@
         <omgdi:waypoint x="724.9499861416448" y="589.9999635924936"/>
         <omgdi:waypoint x="897.499951943757" y="589.9999551937473"/>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="sid-92A3C4E4-5675-4099-BD6C-E0E0D9742620" id="BPMNEdge_sid-92A3C4E4-5675-4099-BD6C-E0E0D9742620">
-        <omgdi:waypoint x="1262.499984674927" y="214.94999798834328"/>
-        <omgdi:waypoint x="1262.499977321461" y="279.99999895691855"/>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-5A452188-7F4A-4160-A8E1-7426B2E324E5" id="BPMNEdge_sid-5A452188-7F4A-4160-A8E1-7426B2E324E5">
         <omgdi:waypoint x="314.9999906122686" y="277.32953442584886"/>
         <omgdi:waypoint x="189.94999731779103" y="195.62073459326655"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-92A3C4E4-5675-4099-BD6C-E0E0D9742620" id="BPMNEdge_sid-92A3C4E4-5675-4099-BD6C-E0E0D9742620">
+        <omgdi:waypoint x="1312.4499891966561" y="174.999996481484"/>
+        <omgdi:waypoint x="1394.9999583807491" y="174.99999399366024"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-A06559C9-EAA5-4878-80EE-8E7BE802E321" id="BPMNEdge_sid-A06559C9-EAA5-4878-80EE-8E7BE802E321">
         <omgdi:waypoint x="139.99999851965512" y="459.9999773502357"/>
@@ -211,6 +235,14 @@
         <omgdi:waypoint x="1262.4999891966586" y="68.00000020861626"/>
         <omgdi:waypoint x="972.4999617040171" y="68.00000020861626"/>
         <omgdi:waypoint x="972.4999617040171" y="134.99999597668656"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-182D28DC-9E2F-4E19-B83C-88780876884C" id="BPMNEdge_sid-182D28DC-9E2F-4E19-B83C-88780876884C">
+        <omgdi:waypoint x="1212.4998085200968" y="336.37928375289255"/>
+        <omgdi:waypoint x="1022.4499617040169" y="208.5870816826154"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-864EDFD5-BE99-4E33-AD81-C323A98B27EF" id="BPMNEdge_sid-864EDFD5-BE99-4E33-AD81-C323A98B27EF">
+        <omgdi:waypoint x="1262.4998085200968" y="409.9499901652339"/>
+        <omgdi:waypoint x="1262.4998085200968" y="524.9999843537812"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-84E57742-F82B-4B9B-A71B-ABF25770A9CC" id="BPMNEdge_sid-84E57742-F82B-4B9B-A71B-ABF25770A9CC">
         <omgdi:waypoint x="367.723736812224" y="539.9499704957021"/>
@@ -228,13 +260,13 @@
         <omgdi:waypoint x="339.9999862331806" y="689.9999691545975"/>
         <omgdi:waypoint x="339.999990165234" y="540.6698924348469"/>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="sid-27E60A97-AC85-4978-AC3F-3D1A52A2B3A8" id="BPMNEdge_sid-27E60A97-AC85-4978-AC3F-3D1A52A2B3A8">
-        <omgdi:waypoint x="1262.4999674899245" y="359.94999895691853"/>
-        <omgdi:waypoint x="1262.4999595100956" y="419.9999874830249"/>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-0BE7C326-1F8B-4223-B72C-06000E33D80C" id="BPMNEdge_sid-0BE7C326-1F8B-4223-B72C-06000E33D80C">
-        <omgdi:waypoint x="1262.4999597040683" y="499.94998748302487"/>
-        <omgdi:waypoint x="1262.4999686641738" y="564.9999905377625"/>
+        <omgdi:waypoint x="1494.9499569178465" y="174.99999366469643"/>
+        <omgdi:waypoint x="1559.9999520980195" y="174.99999327396262"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-608D5E79-D8BE-4EB7-B2AE-C5D950CD7A67" id="BPMNEdge_sid-608D5E79-D8BE-4EB7-B2AE-C5D950CD7A67">
+        <omgdi:waypoint x="1262.4999521347984" y="214.94999798834328"/>
+        <omgdi:waypoint x="1262.49984553563" y="329.9999901652339"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-C180B358-6A35-4378-8CA9-5BAB85FE89F4" id="BPMNEdge_sid-C180B358-6A35-4378-8CA9-5BAB85FE89F4">
         <omgdi:waypoint x="189.94999731740805" y="729.9999771515533"/>
@@ -270,9 +302,9 @@
         <omgdi:waypoint x="319.1602665374066" y="539.9499704957021"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-0B45B4F0-4106-4B5E-A8F4-EFC9832072F8" id="BPMNEdge_sid-0B45B4F0-4106-4B5E-A8F4-EFC9832072F8">
-        <omgdi:waypoint x="414.94998591697043" y="749.9999691545976"/>
-        <omgdi:waypoint x="1021.4999617040171" y="749.9999691545976"/>
-        <omgdi:waypoint x="1021.499961704017" y="214.94999597668658"/>
+        <omgdi:waypoint x="414.94998591840306" y="749.9999691545976"/>
+        <omgdi:waypoint x="997.4999617040171" y="749.9999691545976"/>
+        <omgdi:waypoint x="997.4999617040171" y="214.94999597668658"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-A8908233-78BC-453D-B685-D4482C4A844D" id="BPMNEdge_sid-A8908233-78BC-453D-B685-D4482C4A844D">
         <omgdi:waypoint x="529.9999853968442" y="49.99999865889553"/>
@@ -295,6 +327,10 @@
         <omgdi:waypoint x="629.9499853968215" y="69.99999865889552"/>
         <omgdi:waypoint x="947.4999617040171" y="69.99999865889552"/>
         <omgdi:waypoint x="947.4999617040171" y="134.99999597668656"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-AB67B72C-CA8D-4B66-9F11-36A7814A94A9" id="BPMNEdge_sid-AB67B72C-CA8D-4B66-9F11-36A7814A94A9">
+        <omgdi:waypoint x="1233.8313086495225" y="524.9999843537812"/>
+        <omgdi:waypoint x="1011.6146073580152" y="214.94999597668658"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-4DC80088-03E0-4790-9A32-5F0361EF0583" id="BPMNEdge_sid-4DC80088-03E0-4790-9A32-5F0361EF0583">
         <omgdi:waypoint x="897.499951943757" y="629.9999551937474"/>
@@ -338,6 +374,11 @@
         <omgdi:waypoint x="189.94999731779103" y="499.9999758270059"/>
         <omgdi:waypoint x="314.99998591840307" y="499.9999720174086"/>
       </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-43BDB415-52F8-4336-9D02-11EFFFD99E80" id="BPMNEdge_sid-43BDB415-52F8-4336-9D02-11EFFFD99E80">
+        <omgdi:waypoint x="1312.449808520058" y="564.9999843537812"/>
+        <omgdi:waypoint x="1469.9999584257614" y="564.9999843537812"/>
+        <omgdi:waypoint x="1469.9999584257614" y="214.9499939650299"/>
+      </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 </definitions>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LHCZ_3LEVEL_V1.bpmn20.xml b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LHCZ_V1.bpmn20.xml
similarity index 84%
rename from dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LHCZ_3LEVEL_V1.bpmn20.xml
rename to dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LHCZ_V1.bpmn20.xml
index 386c8b8..e178fb3 100644
--- a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LHCZ_3LEVEL_V1.bpmn20.xml
+++ b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LHCZ_V1.bpmn20.xml
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
-  <process id="GZDYH_LHCZ_3LEVEL_V1" name="GZDYH_LHCZ_3LEVEL_V1" isExecutable="true">
-    <documentation>GZDYH_LHCZ_3LEVEL_V1</documentation>
+  <process id="GZDYH_LHCZ_V1" name="GZDYH_LHCZ_V1" isExecutable="true">
+    <documentation>GZDYH_LHCZ_V1</documentation>
     <startEvent id="START" name="开始"/>
     <userTask id="BLFK" name="办理反馈"/>
     <endEvent id="END" name="结束"/>
@@ -21,15 +21,15 @@
     <sequenceFlow id="sid-898E82EA-FC5A-4EAA-AA8C-B5B74B39D826" name="回退申请" sourceRef="DSL" targetRef="HTSH">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsq'}]]></conditionExpression>
     </sequenceFlow>
-    <sequenceFlow id="sid-2B1A0AA4-9560-41A7-9E4D-7C42107ABFCC" name="回退审核同意" sourceRef="HTSH" targetRef="BLFK">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_ty'}]]></conditionExpression>
-    </sequenceFlow>
     <sequenceFlow id="sid-05F6F2B8-9E23-4AAE-82FE-5F33117881D7" name="回退审核不同意" sourceRef="HTSH" targetRef="END">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_bty'}]]></conditionExpression>
     </sequenceFlow>
+    <sequenceFlow id="sid-2B1A0AA4-9560-41A7-9E4D-7C42107ABFCC" name="回退审核同意" sourceRef="HTSH" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_ty'}]]></conditionExpression>
+    </sequenceFlow>
   </process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_GZDYH_LHCZ_3LEVEL_V1">
-    <bpmndi:BPMNPlane bpmnElement="GZDYH_LHCZ_3LEVEL_V1" id="BPMNPlane_GZDYH_LHCZ_3LEVEL_V1">
+  <bpmndi:BPMNDiagram id="BPMNDiagram_GZDYH_LHCZ_V1">
+    <bpmndi:BPMNPlane bpmnElement="GZDYH_LHCZ_V1" id="BPMNPlane_GZDYH_LHCZ_V1">
       <bpmndi:BPMNShape bpmnElement="START" id="BPMNShape_START">
         <omgdc:Bounds height="30.0" width="30.0" x="15.0" y="160.00001244246837"/>
       </bpmndi:BPMNShape>
@@ -46,27 +46,29 @@
         <omgdc:Bounds height="80.0" width="100.0" x="135.0" y="135.00001244246837"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape bpmnElement="HTSH" id="BPMNShape_HTSH">
-        <omgdc:Bounds height="80.0" width="100.0" x="330.0" y="270.0"/>
+        <omgdc:Bounds height="80.0" width="100.0" x="329.99998033046813" y="303.0302910801833"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge bpmnElement="sid-A0580378-38E0-44D8-981B-9D048ED42E97" id="BPMNEdge_sid-A0580378-38E0-44D8-981B-9D048ED42E97">
         <omgdi:waypoint x="594.9499950929594" y="175.00000240740906"/>
         <omgdi:waypoint x="689.9999834597113" y="175.00001081646118"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-05F6F2B8-9E23-4AAE-82FE-5F33117881D7" id="BPMNEdge_sid-05F6F2B8-9E23-4AAE-82FE-5F33117881D7">
-        <omgdi:waypoint x="429.94999999999993" y="289.16666746346476"/>
-        <omgdi:waypoint x="691.0735362274839" y="180.36679574539076"/>
+        <omgdi:waypoint x="429.94998033023165" y="363.0302910801833"/>
+        <omgdi:waypoint x="703.9999834597113" y="363.0302910801833"/>
+        <omgdi:waypoint x="703.9999834597113" y="188.94993684047955"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-295E1BEE-52BD-4CA8-A7E9-654AA5DB7A4D" id="BPMNEdge_sid-295E1BEE-52BD-4CA8-A7E9-654AA5DB7A4D">
         <omgdi:waypoint x="429.95000000000005" y="175.00000806243034"/>
         <omgdi:waypoint x="494.9999953061343" y="175.00000236400123"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-898E82EA-FC5A-4EAA-AA8C-B5B74B39D826" id="BPMNEdge_sid-898E82EA-FC5A-4EAA-AA8C-B5B74B39D826">
-        <omgdi:waypoint x="380.0" y="214.9500124424684"/>
-        <omgdi:waypoint x="380.0" y="270.0"/>
+        <omgdi:waypoint x="379.99999531762205" y="214.9500124424684"/>
+        <omgdi:waypoint x="379.99998500699314" y="303.0302910801833"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-2B1A0AA4-9560-41A7-9E4D-7C42107ABFCC" id="BPMNEdge_sid-2B1A0AA4-9560-41A7-9E4D-7C42107ABFCC">
-        <omgdi:waypoint x="428.82777566115067" y="270.0"/>
-        <omgdi:waypoint x="496.11110853652156" y="214.94999798834328"/>
+        <omgdi:waypoint x="429.9499803304682" y="323.0302910801833"/>
+        <omgdi:waypoint x="544.9999953061342" y="323.0302910801833"/>
+        <omgdi:waypoint x="544.9999953061342" y="214.94999798834328"/>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="sid-97FF5E7D-10E2-45EA-86D6-0653C46C77FF" id="BPMNEdge_sid-97FF5E7D-10E2-45EA-86D6-0653C46C77FF">
         <omgdi:waypoint x="44.94999923927441" y="175.00001244246837"/>
diff --git a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml
deleted file mode 100644
index ebee147..0000000
--- a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
-  <process id="GZDYH_ZXSL_3LEVEL_V1" name="GZDYH_ZXSL_3LEVEL_V1" isExecutable="true">
-    <documentation>GZDYH_ZXSL_3LEVEL_V1</documentation>
-    <startEvent id="START" name="开始"/>
-    <userTask id="BLFK" name="办理反馈"/>
-    <userTask id="JAGD" name="结案归档"/>
-    <userTask id="JASH" name="结案审核"/>
-    <endEvent id="END" name="结束"/>
-    <userTask id="JASQ" name="结案申请"/>
-    <sequenceFlow id="sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5" sourceRef="JAGD" targetRef="END"/>
-    <sequenceFlow id="sid-0AE3E811-3EBD-4891-B2BD-F2E091E41541" name="通过" sourceRef="JASQ" targetRef="JASH">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="sid-A0580378-38E0-44D8-981B-9D048ED42E97" name="通过" sourceRef="BLFK" targetRef="JASQ">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="sid-03DCE158-DCD9-4C4F-803A-FA2795072196" name="结案审核不同意不同意" sourceRef="JASH" targetRef="BLFK">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
-    </sequenceFlow>
-    <userTask id="DSL" name="待受理"/>
-    <sequenceFlow id="sid-6435F238-68D1-434F-8830-9130EE87BE4C" name="通过" sourceRef="DSL" targetRef="BLFK">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
-    </sequenceFlow>
-    <sequenceFlow id="sid-B9DCA90A-70F1-4D12-90AE-44A0943FA1B3" sourceRef="START" targetRef="DSL"/>
-    <sequenceFlow id="sid-78554576-20C8-4A98-9A33-92DD5542AA27" name="结案审核同意" sourceRef="JASH" targetRef="JAGD">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
-    </sequenceFlow>
-  </process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_GZDYH_ZXSL_3LEVEL_V1">
-    <bpmndi:BPMNPlane bpmnElement="GZDYH_ZXSL_3LEVEL_V1" id="BPMNPlane_GZDYH_ZXSL_3LEVEL_V1">
-      <bpmndi:BPMNShape bpmnElement="START" id="BPMNShape_START">
-        <omgdc:Bounds height="30.0" width="30.0" x="40.0" y="160.00001244246837"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="BLFK" id="BPMNShape_BLFK">
-        <omgdc:Bounds height="80.0" width="100.0" x="314.9999953061343" y="134.99999798834327"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="JAGD" id="BPMNShape_JAGD">
-        <omgdc:Bounds height="80.0" width="100.0" x="879.9999856948855" y="134.99999798834327"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="JASH" id="BPMNShape_JASH">
-        <omgdc:Bounds height="80.0" width="100.0" x="659.9999901652337" y="134.99999798834327"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="END" id="BPMNShape_END">
-        <omgdc:Bounds height="28.0" width="28.0" x="1029.9999834597113" y="161.00001205503818"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="JASQ" id="BPMNShape_JASQ">
-        <omgdc:Bounds height="80.0" width="100.0" x="479.99999284744274" y="134.99998591840347"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape bpmnElement="DSL" id="BPMNShape_DSL">
-        <omgdc:Bounds height="80.0" width="100.0" x="135.0" y="135.00001244246837"/>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge bpmnElement="sid-03DCE158-DCD9-4C4F-803A-FA2795072196" id="BPMNEdge_sid-03DCE158-DCD9-4C4F-803A-FA2795072196">
-        <omgdi:waypoint x="684.9999901652337" y="134.99999798834327"/>
-        <omgdi:waypoint x="684.9999901652337" y="105.00000053644179"/>
-        <omgdi:waypoint x="389.9999953061343" y="105.00000053644179"/>
-        <omgdi:waypoint x="389.9999953061343" y="134.99999798834327"/>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="sid-A0580378-38E0-44D8-981B-9D048ED42E97" id="BPMNEdge_sid-A0580378-38E0-44D8-981B-9D048ED42E97">
-        <omgdi:waypoint x="414.94999530600165" y="174.9999943307857"/>
-        <omgdi:waypoint x="479.9999928473666" y="174.99998957230346"/>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="sid-6435F238-68D1-434F-8830-9130EE87BE4C" id="BPMNEdge_sid-6435F238-68D1-434F-8830-9130EE87BE4C">
-        <omgdi:waypoint x="234.95000000000002" y="175.0000084274335"/>
-        <omgdi:waypoint x="314.99999530610273" y="175.0000019993631"/>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5" id="BPMNEdge_sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5">
-        <omgdi:waypoint x="979.9499856948854" y="175.00000415177684"/>
-        <omgdi:waypoint x="1029.999983378599" y="175.0000103275493"/>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="sid-78554576-20C8-4A98-9A33-92DD5542AA27" id="BPMNEdge_sid-78554576-20C8-4A98-9A33-92DD5542AA27">
-        <omgdi:waypoint x="759.949990165133" y="174.99999798834327"/>
-        <omgdi:waypoint x="879.9999856948855" y="174.99999798834327"/>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="sid-0AE3E811-3EBD-4891-B2BD-F2E091E41541" id="BPMNEdge_sid-0AE3E811-3EBD-4891-B2BD-F2E091E41541">
-        <omgdi:waypoint x="579.9499928474428" y="174.99998600593358"/>
-        <omgdi:waypoint x="659.9999901652095" y="174.99999338149593"/>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge bpmnElement="sid-B9DCA90A-70F1-4D12-90AE-44A0943FA1B3" id="BPMNEdge_sid-B9DCA90A-70F1-4D12-90AE-44A0943FA1B3">
-        <omgdi:waypoint x="69.94999891869115" y="175.00001244246837"/>
-        <omgdi:waypoint x="134.99999999999022" y="175.00001244246837"/>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</definitions>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_LFDJ_V1.bpmn20.xml b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_LFDJ_V1.bpmn20.xml
new file mode 100644
index 0000000..a072fd9
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_LFDJ_V1.bpmn20.xml
@@ -0,0 +1,150 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
+  <process id="GZDYH_ZXSL_LFDJ_V1" name="GZDYH_ZXSL_LFDJ_V1" isExecutable="true">
+    <documentation>GZDYH_ZXSL_LFDJ_V1</documentation>
+    <startEvent id="START" name="开始"/>
+    <userTask id="BLFK" name="办理反馈"/>
+    <userTask id="DSRPJ" name="当事人评价"/>
+    <userTask id="JAGD" name="结案归档"/>
+    <userTask id="JASH" name="本级结案审核"/>
+    <endEvent id="END" name="结束"/>
+    <userTask id="JASQ" name="结案申请"/>
+    <sequenceFlow id="sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5" sourceRef="JAGD" targetRef="END"/>
+    <sequenceFlow id="sid-15046AD2-218B-4567-B05A-26B2D0069DE2" name="通过" sourceRef="DSRPJ" targetRef="JAGD">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
+    </sequenceFlow>
+    <userTask id="DSL" name="待受理"/>
+    <sequenceFlow id="sid-6435F238-68D1-434F-8830-9130EE87BE4C" name="通过" sourceRef="DSL" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-B9DCA90A-70F1-4D12-90AE-44A0943FA1B3" sourceRef="START" targetRef="DSL"/>
+    <userTask id="sid-3721279E-D127-4E4F-AA7F-920932BBA2F6" name="一级结案审核"/>
+    <userTask id="sid-027E2C4D-7F66-465E-9CED-FA1DB2E077C8" name="二级结案审核"/>
+    <sequenceFlow id="sid-A0580378-38E0-44D8-981B-9D048ED42E97" name="通过" sourceRef="BLFK" targetRef="JASQ">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-0AE3E811-3EBD-4891-B2BD-F2E091E41541" name="通过" sourceRef="JASQ" targetRef="JASH">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-03DCE158-DCD9-4C4F-803A-FA2795072196" name="不同意" sourceRef="JASH" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-D110DA84-94D5-43CE-82F7-91BB481EFDE3" name="不同意" sourceRef="sid-3721279E-D127-4E4F-AA7F-920932BBA2F6" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-159D170B-A7D9-4C2C-874D-E89F10D4AB91" name="不同意" sourceRef="sid-027E2C4D-7F66-465E-9CED-FA1DB2E077C8" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-78554576-20C8-4A98-9A33-92DD5542AA27" name="同意" sourceRef="JASH" targetRef="DSRPJ">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-CD53206F-D795-4270-A5EE-2C78658236F4" name="同意" sourceRef="sid-027E2C4D-7F66-465E-9CED-FA1DB2E077C8" targetRef="DSRPJ">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-F83371AF-2CC4-4DFF-80DC-EAE2405870B4" name="同意" sourceRef="sid-3721279E-D127-4E4F-AA7F-920932BBA2F6" targetRef="DSRPJ">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-D1729BD5-C137-4160-BDFF-6ED0487F9ECB" name="同意申请上级审核" sourceRef="JASH" targetRef="sid-3721279E-D127-4E4F-AA7F-920932BBA2F6">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty_sq'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-EF1A16DD-5311-457E-BDC0-1F5531AFF089" name="同意申请上级审核" sourceRef="sid-3721279E-D127-4E4F-AA7F-920932BBA2F6" targetRef="sid-027E2C4D-7F66-465E-9CED-FA1DB2E077C8">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty_sq'}]]></conditionExpression>
+    </sequenceFlow>
+  </process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_GZDYH_ZXSL_LFDJ_V1">
+    <bpmndi:BPMNPlane bpmnElement="GZDYH_ZXSL_LFDJ_V1" id="BPMNPlane_GZDYH_ZXSL_LFDJ_V1">
+      <bpmndi:BPMNShape bpmnElement="START" id="BPMNShape_START">
+        <omgdc:Bounds height="30.0" width="30.0" x="40.0" y="160.00001244246837"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="BLFK" id="BPMNShape_BLFK">
+        <omgdc:Bounds height="80.0" width="100.0" x="314.9999953061343" y="134.99999798834327"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="DSRPJ" id="BPMNShape_DSRPJ">
+        <omgdc:Bounds height="80.0" width="100.0" x="814.9999881535771" y="134.99999798834327"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="JAGD" id="BPMNShape_JAGD">
+        <omgdc:Bounds height="80.0" width="100.0" x="979.9999856948855" y="134.99999798834327"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="JASH" id="BPMNShape_JASH">
+        <omgdc:Bounds height="80.0" width="100.0" x="639.9999901652337" y="134.99999798834327"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="END" id="BPMNShape_END">
+        <omgdc:Bounds height="28.0" width="28.0" x="1129.9999834597113" y="161.00001205503818"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="JASQ" id="BPMNShape_JASQ">
+        <omgdc:Bounds height="80.0" width="100.0" x="479.99999284744274" y="134.99998591840347"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="DSL" id="BPMNShape_DSL">
+        <omgdc:Bounds height="80.0" width="100.0" x="135.0" y="135.00001244246837"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-3721279E-D127-4E4F-AA7F-920932BBA2F6" id="BPMNShape_sid-3721279E-D127-4E4F-AA7F-920932BBA2F6">
+        <omgdc:Bounds height="80.0" width="100.0" x="639.9999710917483" y="329.9999919533732"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-027E2C4D-7F66-465E-9CED-FA1DB2E077C8" id="BPMNShape_sid-027E2C4D-7F66-465E-9CED-FA1DB2E077C8">
+        <omgdc:Bounds height="80.0" width="100.0" x="639.9999710917483" y="524.9999746680271"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge bpmnElement="sid-6435F238-68D1-434F-8830-9130EE87BE4C" id="BPMNEdge_sid-6435F238-68D1-434F-8830-9130EE87BE4C">
+        <omgdi:waypoint x="234.95000000000002" y="175.0000084274335"/>
+        <omgdi:waypoint x="314.99999530610273" y="175.0000019993631"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-A0580378-38E0-44D8-981B-9D048ED42E97" id="BPMNEdge_sid-A0580378-38E0-44D8-981B-9D048ED42E97">
+        <omgdi:waypoint x="414.94999530600165" y="174.9999943307857"/>
+        <omgdi:waypoint x="479.9999928473666" y="174.99998957230346"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5" id="BPMNEdge_sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5">
+        <omgdi:waypoint x="1079.9499856948855" y="175.00000415177684"/>
+        <omgdi:waypoint x="1129.999983378599" y="175.0000103275493"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-15046AD2-218B-4567-B05A-26B2D0069DE2" id="BPMNEdge_sid-15046AD2-218B-4567-B05A-26B2D0069DE2">
+        <omgdi:waypoint x="914.9499881534662" y="174.99999798834327"/>
+        <omgdi:waypoint x="979.9999856948592" y="174.99999798834327"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-CD53206F-D795-4270-A5EE-2C78658236F4" id="BPMNEdge_sid-CD53206F-D795-4270-A5EE-2C78658236F4">
+        <omgdi:waypoint x="739.9499710917482" y="564.9999746680271"/>
+        <omgdi:waypoint x="889.9999881535771" y="564.9999746680271"/>
+        <omgdi:waypoint x="889.9999881535771" y="214.94999798834328"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-B9DCA90A-70F1-4D12-90AE-44A0943FA1B3" id="BPMNEdge_sid-B9DCA90A-70F1-4D12-90AE-44A0943FA1B3">
+        <omgdi:waypoint x="69.94999891869115" y="175.00001244246837"/>
+        <omgdi:waypoint x="134.99999999999022" y="175.00001244246837"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-03DCE158-DCD9-4C4F-803A-FA2795072196" id="BPMNEdge_sid-03DCE158-DCD9-4C4F-803A-FA2795072196">
+        <omgdi:waypoint x="664.9999901652337" y="134.99999798834327"/>
+        <omgdi:waypoint x="664.9999901652337" y="85.00000059604643"/>
+        <omgdi:waypoint x="389.9999953061343" y="85.00000059604643"/>
+        <omgdi:waypoint x="389.9999953061343" y="134.99999798834327"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-78554576-20C8-4A98-9A33-92DD5542AA27" id="BPMNEdge_sid-78554576-20C8-4A98-9A33-92DD5542AA27">
+        <omgdi:waypoint x="739.9499901651817" y="174.99999798834327"/>
+        <omgdi:waypoint x="814.9999881535771" y="174.99999798834327"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-F83371AF-2CC4-4DFF-80DC-EAE2405870B4" id="BPMNEdge_sid-F83371AF-2CC4-4DFF-80DC-EAE2405870B4">
+        <omgdi:waypoint x="739.9499710917482" y="369.9999919533732"/>
+        <omgdi:waypoint x="839.9999881535771" y="369.9999919533732"/>
+        <omgdi:waypoint x="839.9999881535771" y="214.94999798834328"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-D110DA84-94D5-43CE-82F7-91BB481EFDE3" id="BPMNEdge_sid-D110DA84-94D5-43CE-82F7-91BB481EFDE3">
+        <omgdi:waypoint x="639.9999710917483" y="369.9999919533732"/>
+        <omgdi:waypoint x="389.9999953061343" y="369.9999919533732"/>
+        <omgdi:waypoint x="389.9999953061343" y="214.94999798834328"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-159D170B-A7D9-4C2C-874D-E89F10D4AB91" id="BPMNEdge_sid-159D170B-A7D9-4C2C-874D-E89F10D4AB91">
+        <omgdi:waypoint x="639.9999710917483" y="564.9999746680271"/>
+        <omgdi:waypoint x="339.99999530613434" y="564.9999746680271"/>
+        <omgdi:waypoint x="339.9999953061343" y="214.94999798834328"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-D1729BD5-C137-4160-BDFF-6ED0487F9ECB" id="BPMNEdge_sid-D1729BD5-C137-4160-BDFF-6ED0487F9ECB">
+        <omgdi:waypoint x="689.9999862527238" y="214.94999798834328"/>
+        <omgdi:waypoint x="689.9999749993676" y="329.9999919533732"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-0AE3E811-3EBD-4891-B2BD-F2E091E41541" id="BPMNEdge_sid-0AE3E811-3EBD-4891-B2BD-F2E091E41541">
+        <omgdi:waypoint x="579.9499925881876" y="174.99998602170473"/>
+        <omgdi:waypoint x="639.9999898334285" y="174.99999255143328"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-EF1A16DD-5311-457E-BDC0-1F5531AFF089" id="BPMNEdge_sid-EF1A16DD-5311-457E-BDC0-1F5531AFF089">
+        <omgdi:waypoint x="689.9999710917483" y="409.9499919533732"/>
+        <omgdi:waypoint x="689.9999710917483" y="524.9999746680271"/>
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_ZXPC_V1.bpmn20.xml b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_ZXPC_V1.bpmn20.xml
new file mode 100644
index 0000000..562fb37
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_ZXPC_V1.bpmn20.xml
@@ -0,0 +1,139 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
+  <process id="GZDYH_ZXSL_ZXPC_V1" name="GZDYH_ZXSL_ZXPC_V1" isExecutable="true">
+    <documentation>GZDYH_ZXSL_ZXPC_V1</documentation>
+    <startEvent id="START" name="开始"/>
+    <userTask id="BLFK" name="办理反馈"/>
+    <userTask id="JAGD" name="结案归档"/>
+    <userTask id="JASH" name="本级结案审核"/>
+    <endEvent id="END" name="结束"/>
+    <userTask id="JASQ" name="结案申请"/>
+    <sequenceFlow id="sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5" sourceRef="JAGD" targetRef="END"/>
+    <userTask id="DSL" name="待受理"/>
+    <sequenceFlow id="sid-6435F238-68D1-434F-8830-9130EE87BE4C" name="通过" sourceRef="DSL" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-B9DCA90A-70F1-4D12-90AE-44A0943FA1B3" sourceRef="START" targetRef="DSL"/>
+    <userTask id="sid-3721279E-D127-4E4F-AA7F-920932BBA2F6" name="一级结案审核"/>
+    <userTask id="sid-027E2C4D-7F66-465E-9CED-FA1DB2E077C8" name="二级结案审核"/>
+    <sequenceFlow id="sid-A0580378-38E0-44D8-981B-9D048ED42E97" name="通过" sourceRef="BLFK" targetRef="JASQ">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-0AE3E811-3EBD-4891-B2BD-F2E091E41541" name="通过" sourceRef="JASQ" targetRef="JASH">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-03DCE158-DCD9-4C4F-803A-FA2795072196" name="不同意" sourceRef="JASH" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-D110DA84-94D5-43CE-82F7-91BB481EFDE3" name="不同意" sourceRef="sid-3721279E-D127-4E4F-AA7F-920932BBA2F6" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-159D170B-A7D9-4C2C-874D-E89F10D4AB91" name="不同意" sourceRef="sid-027E2C4D-7F66-465E-9CED-FA1DB2E077C8" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-CD53206F-D795-4270-A5EE-2C78658236F4" name="同意" sourceRef="sid-027E2C4D-7F66-465E-9CED-FA1DB2E077C8" targetRef="JAGD">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-F83371AF-2CC4-4DFF-80DC-EAE2405870B4" name="同意" sourceRef="sid-3721279E-D127-4E4F-AA7F-920932BBA2F6" targetRef="JAGD">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-D1729BD5-C137-4160-BDFF-6ED0487F9ECB" name="同意申请上级审核" sourceRef="JASH" targetRef="sid-3721279E-D127-4E4F-AA7F-920932BBA2F6">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty_sq'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-EF1A16DD-5311-457E-BDC0-1F5531AFF089" name="同意申请上级审核" sourceRef="sid-3721279E-D127-4E4F-AA7F-920932BBA2F6" targetRef="sid-027E2C4D-7F66-465E-9CED-FA1DB2E077C8">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty_sq'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-78554576-20C8-4A98-9A33-92DD5542AA27" name="同意" sourceRef="JASH" targetRef="JAGD">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression>
+    </sequenceFlow>
+  </process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_GZDYH_ZXSL_ZXPC_V1">
+    <bpmndi:BPMNPlane bpmnElement="GZDYH_ZXSL_ZXPC_V1" id="BPMNPlane_GZDYH_ZXSL_ZXPC_V1">
+      <bpmndi:BPMNShape bpmnElement="START" id="BPMNShape_START">
+        <omgdc:Bounds height="30.0" width="30.0" x="40.0" y="160.00001244246837"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="BLFK" id="BPMNShape_BLFK">
+        <omgdc:Bounds height="80.0" width="100.0" x="314.9999953061343" y="134.99999798834327"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="JAGD" id="BPMNShape_JAGD">
+        <omgdc:Bounds height="80.0" width="100.0" x="809.9999758601195" y="135.0000084191546"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="JASH" id="BPMNShape_JASH">
+        <omgdc:Bounds height="80.0" width="100.0" x="639.9999901652337" y="134.99999798834327"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="END" id="BPMNShape_END">
+        <omgdc:Bounds height="28.0" width="28.0" x="959.9999736249454" y="161.0000224858495"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="JASQ" id="BPMNShape_JASQ">
+        <omgdc:Bounds height="80.0" width="100.0" x="479.99999284744274" y="134.99998591840347"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="DSL" id="BPMNShape_DSL">
+        <omgdc:Bounds height="80.0" width="100.0" x="135.0" y="135.00001244246837"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-3721279E-D127-4E4F-AA7F-920932BBA2F6" id="BPMNShape_sid-3721279E-D127-4E4F-AA7F-920932BBA2F6">
+        <omgdc:Bounds height="80.0" width="100.0" x="639.9999710917483" y="329.9999919533732"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="sid-027E2C4D-7F66-465E-9CED-FA1DB2E077C8" id="BPMNShape_sid-027E2C4D-7F66-465E-9CED-FA1DB2E077C8">
+        <omgdc:Bounds height="80.0" width="100.0" x="639.9999710917483" y="524.9999746680271"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge bpmnElement="sid-6435F238-68D1-434F-8830-9130EE87BE4C" id="BPMNEdge_sid-6435F238-68D1-434F-8830-9130EE87BE4C">
+        <omgdi:waypoint x="234.95000000000002" y="175.0000084274335"/>
+        <omgdi:waypoint x="314.99999530610273" y="175.0000019993631"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-A0580378-38E0-44D8-981B-9D048ED42E97" id="BPMNEdge_sid-A0580378-38E0-44D8-981B-9D048ED42E97">
+        <omgdi:waypoint x="414.94999530600165" y="174.9999943307857"/>
+        <omgdi:waypoint x="479.9999928473666" y="174.99998957230346"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5" id="BPMNEdge_sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5">
+        <omgdi:waypoint x="909.9499757645256" y="175.00001458258814"/>
+        <omgdi:waypoint x="959.999973543833" y="175.00002075836062"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-CD53206F-D795-4270-A5EE-2C78658236F4" id="BPMNEdge_sid-CD53206F-D795-4270-A5EE-2C78658236F4">
+        <omgdi:waypoint x="739.9499710917073" y="564.9999746680271"/>
+        <omgdi:waypoint x="884.9999758601195" y="564.9999746680271"/>
+        <omgdi:waypoint x="884.9999758601195" y="214.9500084191546"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-B9DCA90A-70F1-4D12-90AE-44A0943FA1B3" id="BPMNEdge_sid-B9DCA90A-70F1-4D12-90AE-44A0943FA1B3">
+        <omgdi:waypoint x="69.94999891869115" y="175.00001244246837"/>
+        <omgdi:waypoint x="134.99999999999022" y="175.00001244246837"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-03DCE158-DCD9-4C4F-803A-FA2795072196" id="BPMNEdge_sid-03DCE158-DCD9-4C4F-803A-FA2795072196">
+        <omgdi:waypoint x="664.9999901652337" y="134.99999798834327"/>
+        <omgdi:waypoint x="664.9999901652337" y="85.00000059604643"/>
+        <omgdi:waypoint x="389.9999953061343" y="85.00000059604643"/>
+        <omgdi:waypoint x="389.9999953061343" y="134.99999798834327"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-78554576-20C8-4A98-9A33-92DD5542AA27" id="BPMNEdge_sid-78554576-20C8-4A98-9A33-92DD5542AA27">
+        <omgdi:waypoint x="739.949989804752" y="175.00000194545115"/>
+        <omgdi:waypoint x="809.9999756888376" y="175.00000749490766"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-F83371AF-2CC4-4DFF-80DC-EAE2405870B4" id="BPMNEdge_sid-F83371AF-2CC4-4DFF-80DC-EAE2405870B4">
+        <omgdi:waypoint x="739.9499710917482" y="369.9999919533732"/>
+        <omgdi:waypoint x="834.9999758601195" y="369.9999919533732"/>
+        <omgdi:waypoint x="834.9999758601195" y="214.9500084191546"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-D110DA84-94D5-43CE-82F7-91BB481EFDE3" id="BPMNEdge_sid-D110DA84-94D5-43CE-82F7-91BB481EFDE3">
+        <omgdi:waypoint x="639.9999710917483" y="369.9999919533732"/>
+        <omgdi:waypoint x="389.9999953061343" y="369.9999919533732"/>
+        <omgdi:waypoint x="389.9999953061343" y="214.94999798834328"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-159D170B-A7D9-4C2C-874D-E89F10D4AB91" id="BPMNEdge_sid-159D170B-A7D9-4C2C-874D-E89F10D4AB91">
+        <omgdi:waypoint x="639.9999710917483" y="564.9999746680271"/>
+        <omgdi:waypoint x="339.99999530613434" y="564.9999746680271"/>
+        <omgdi:waypoint x="339.9999953061343" y="214.94999798834328"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-D1729BD5-C137-4160-BDFF-6ED0487F9ECB" id="BPMNEdge_sid-D1729BD5-C137-4160-BDFF-6ED0487F9ECB">
+        <omgdi:waypoint x="689.9999862527238" y="214.94999798834328"/>
+        <omgdi:waypoint x="689.9999749993676" y="329.9999919533732"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-0AE3E811-3EBD-4891-B2BD-F2E091E41541" id="BPMNEdge_sid-0AE3E811-3EBD-4891-B2BD-F2E091E41541">
+        <omgdi:waypoint x="579.9499925881876" y="174.99998602170473"/>
+        <omgdi:waypoint x="639.9999898334285" y="174.99999255143328"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-EF1A16DD-5311-457E-BDC0-1F5531AFF089" id="BPMNEdge_sid-EF1A16DD-5311-457E-BDC0-1F5531AFF089">
+        <omgdi:waypoint x="689.9999710917483" y="409.9499919533732"/>
+        <omgdi:waypoint x="689.9999710917483" y="524.9999746680271"/>
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file

--
Gitblit v1.8.0