From 9b540b646aa7171d3d3ba707457b86445dc71dc7 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Mon, 09 Sep 2024 20:04:23 +0800
Subject: [PATCH] 1、事件流转相关接口优化

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java                     |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/SignTaskDTO.java                     |   29 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowableConsts.java                       |   71 +
 dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/dao/mapper/xml/CaseDispMapper.xml               |   16 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java                    |  823 +++++++++++++++++++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/AssignTaskDTO.java                   |    6 
 dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LFDJ_3LEVEL_V1.bpmn20.xml                       |  343 +++++++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java                    |   31 
 dyh-service/dyh-mediate/src/test/java/cn/huge/module/BuildCodeServiceTest.java                             |    3 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java                    |   27 
 dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/controller/web/CaseDispWebController.java       |   14 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml               |   15 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java                             |   11 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowInfoService.java                     |  144 +++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/CustClient.java                            |    9 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseInfoUnfoldBO.java                 |    4 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/FlowNodeMapper.java                   |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseWindupApplyService.java             |   13 
 dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml                       |   96 ++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseWindupApply.java                  |    8 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfoUnfold.java                   |   24 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/controller/web/FlowNodeWebController.java        |   12 
 dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/dao/mapper/xml/DispNormCauseMapper.xml          |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java                   |   25 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/bo/FlowableNodeBO.java                    |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/consts/CaseTaskConsts.java                      |    5 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/xml/FlowableNodeMapper.xml            |   26 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/xml/FlowNodeMapper.xml                |   14 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java                         |   20 
 dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/po/CaseDisp.java                         |   14 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/po/FlowNode.java                          |   26 
 dyh-service/dyh-base/src/main/java/cn/huge/module/cust/dto/CtUnitDTO.java                                  |   25 
 dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/dto/ZzzxUnitDTO.java                     |   10 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/controller/web/FlowableNodeWebController.java    |   22 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java |   74 -
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoUnfoldMapper.xml         |   52 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowableNodeService.java                 |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/AcceptTaskDTO.java                   |   26 
 dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/service/SysDispService.java                     |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java       |   71 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseTask.java                         |   18 
 dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseProcessBaseConstsEnum.java          |   32 
 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/client/CtUnitClientController.java     |   27 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/po/FlowableNode.java                      |   26 
 dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/bo/CaseDispBO.java                       |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowNodeService.java                     |   15 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/bo/FlowNodeBO.java                        |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/buildcode/service/BuildCodeService.java               |    8 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/FlowableNodeMapper.java               |    2 
 dyh-service/dyh-sys/src/test/java/cn/huge/module/BuildCodeServiceTest.java                                 |    5 
 50 files changed, 2,017 insertions(+), 241 deletions(-)

diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/cust/dto/CtUnitDTO.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/cust/dto/CtUnitDTO.java
index 84bee4e..95d6bab 100644
--- a/dyh-service/dyh-base/src/main/java/cn/huge/module/cust/dto/CtUnitDTO.java
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/cust/dto/CtUnitDTO.java
@@ -195,5 +195,30 @@
      */
     private Date updateTime;
 
+    /**
+     * 邮政编码
+     */
+    private String postalCode;
+
+    /**
+     * 联系电话
+     */
+    private String telephone;
+
+    /**
+     * 办公时间,周
+     */
+    private String workTimeWeek;
+
+    /**
+     * 办公时间,上午
+     */
+    private String workTimeAm;
+
+    /**
+     * 办公时间,下午
+     */
+    private String workTimePm;
+
 
 }
diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseProcessBaseConstsEnum.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseProcessBaseConstsEnum.java
index 7c50ae0..61ce4ff 100644
--- a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseProcessBaseConstsEnum.java
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseProcessBaseConstsEnum.java
@@ -85,4 +85,36 @@
         return 0;
     }
 
+    /**
+     * 根据事项状态获取事项进度
+     * @param caseStatus 事项状态
+     * @return
+     */
+    public static CaseProcessBaseConstsEnum getByStatus(int caseStatus) {
+        if (CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex() == caseStatus){
+            return CaseProcessBaseConstsEnum.CASE_PROCESS_2;
+
+        }else if (CaseStatusBaseConstsEnum.CASE_STATUS_2.getIndex() == caseStatus){
+            return CaseProcessBaseConstsEnum.CASE_PROCESS_2;
+
+        }if (CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex() == caseStatus){
+            return CaseProcessBaseConstsEnum.CASE_PROCESS_2;
+
+        }if (CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex() == caseStatus){
+            return CaseProcessBaseConstsEnum.CASE_PROCESS_3;
+
+        }if (CaseStatusBaseConstsEnum.CASE_STATUS_5.getIndex() == caseStatus){
+            return CaseProcessBaseConstsEnum.CASE_PROCESS_4;
+
+        }if (CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex() == caseStatus){
+            return CaseProcessBaseConstsEnum.CASE_PROCESS_5;
+
+        }if (CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex() == caseStatus){
+            return CaseProcessBaseConstsEnum.CASE_PROCESS_6;
+
+        }else {
+            return null;
+        }
+    }
+
 }
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 a25a9fe..64837de 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
@@ -1,11 +1,16 @@
 package cn.huge.module.ctuser.controller.client;
 
+import cn.huge.base.common.utils.ObjectUtils;
 import cn.huge.base.common.utils.ReturnFailUtils;
 import cn.huge.base.common.utils.ReturnSucUtils;
 import cn.huge.module.ctuser.domain.po.CtUnit;
+import cn.huge.module.ctuser.domain.po.CtUser;
 import cn.huge.module.ctuser.service.CtUnitService;
 import cn.huge.module.ctuser.service.CtUserService;
+import cn.huge.module.cust.dto.CtUnitDTO;
+import cn.huge.module.cust.dto.CtUserDTO;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -48,4 +53,26 @@
             return ReturnFailUtils.getRepInfo();
         }
     }
+
+    /**
+     * 根据id查询组织信息
+     * @url {ctx}/api/client/ctUnit/getUnitById
+     * @param unitId 组织编号
+     * @return Object
+     */
+    @GetMapping("/getUnitById")
+    public Object getUnitById(@RequestParam(value = "unitId") String unitId) {
+        try {
+            CtUnit ctUnit = service.getById(unitId);
+            if (ObjectUtils.isNotEmpty(ctUnit)){
+                CtUnitDTO ctUnitDTO = new CtUnitDTO();
+                BeanUtils.copyProperties(ctUnit, ctUnitDTO);
+                return ReturnSucUtils.getRepInfo(ctUnitDTO);
+            }else {
+                return ReturnFailUtils.getRepInfo("查询组织不存在!");
+            }
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
 }
diff --git a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/controller/web/CaseDispWebController.java b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/controller/web/CaseDispWebController.java
index aab61b7..8bf8d8a 100644
--- a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/controller/web/CaseDispWebController.java
+++ b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/controller/web/CaseDispWebController.java
@@ -15,13 +15,15 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * @title: 纠纷调度单表接口api-web端
  * @description: 纠纷调度单表接口api-web端
  * @company: hugeinfo
  * @author: liyj
- * @time: 2024-09-03 10:20:49
+ * @time: 2024-09-08 15:33:39
  * @version: 1.0.0
  */
 @Slf4j
@@ -111,6 +113,16 @@
         if (StringUtils.isNotBlank(targetName)){
             terms.put("targetName", targetName);
         }
+        // 调度目标组织级别,1:市级,2:区级,3:镇街级,4:村居级
+        String targetUnitGrade = request.getParameter("targetUnitGrade");
+        if (StringUtils.isNotBlank(targetUnitGrade)){
+            terms.put("targetUnitGrade", targetUnitGrade);
+        }
+        // 调度目标组织类型,0:政法委,1:综治中心,2:直属部门,3:法院,4:行专业调委会,5:企事业调委会,6:演示测试,9:其他
+        String targetUnitType = request.getParameter("targetUnitType");
+        if (StringUtils.isNotBlank(targetUnitType)){
+            terms.put("targetUnitType", targetUnitType);
+        }
         // 调度时间
         String dispTime = request.getParameter("dispTime");
         if (StringUtils.isNotBlank(dispTime)){
diff --git a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/dao/mapper/xml/CaseDispMapper.xml b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/dao/mapper/xml/CaseDispMapper.xml
index 35044aa..e4edf22 100644
--- a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/dao/mapper/xml/CaseDispMapper.xml
+++ b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/dao/mapper/xml/CaseDispMapper.xml
@@ -5,10 +5,10 @@
  * @description: 自定义sql,请自行实现业务逻辑
  * @company: hugeinfo
  * @author: liyj
- * @time:2024-09-03 10:20:49
+ * @time:2024-09-08 15:33:39
  * @version 1.0.0
 -->
-<mapper namespace="cn.huge.module.disp.dao.mapper.CaseDispMapper">
+<mapper namespace="cn.huge.module.casedisp.dao.mapper.CaseDispMapper">
     <!-- 结果集 -->
     <resultMap id="dataResult" type="cn.huge.module.casedisp.domain.po.CaseDisp">
             <result property="id" column="id"/>
@@ -25,6 +25,8 @@
             <result property="targetTypeName" column="target_type_name"/>
             <result property="targetId" column="target_id"/>
             <result property="targetName" column="target_name"/>
+            <result property="targetUnitGrade" column="target_unit_grade"/>
+            <result property="targetUnitType" column="target_unit_type"/>
             <result property="dispTime" column="disp_time"/>
             <result property="dispStatus" column="disp_status"/>
             <result property="custId" column="cust_id"/>
@@ -50,6 +52,8 @@
         target_type_name,
         target_id,
         target_name,
+        target_unit_grade,
+        target_unit_type,
         disp_time,
         disp_status,
         cust_id,
@@ -72,6 +76,8 @@
             <if test="entity.targetTypeName != null">target_type_name = #{entity.targetTypeName},</if>
             <if test="entity.targetId != null">target_id = #{entity.targetId},</if>
             <if test="entity.targetName != null">target_name = #{entity.targetName},</if>
+            <if test="entity.targetUnitGrade != null">target_unit_grade = #{entity.targetUnitGrade},</if>
+            <if test="entity.targetUnitType != null">target_unit_type = #{entity.targetUnitType},</if>
             <if test="entity.dispTime != null">disp_time = #{entity.dispTime},</if>
             <if test="entity.dispStatus != null">disp_status = #{entity.dispStatus},</if>
             <if test="entity.custId != null">cust_id = #{entity.custId},</if>
@@ -125,6 +131,12 @@
                 <if test="terms.targetName != null and terms.targetName !=''">
                     and target_name = #{terms.targetName}
                 </if>
+                <if test="terms.targetUnitGrade != null and terms.targetUnitGrade !=''">
+                    and target_unit_grade = #{terms.targetUnitGrade}
+                </if>
+                <if test="terms.targetUnitType != null and terms.targetUnitType !=''">
+                    and target_unit_type = #{terms.targetUnitType}
+                </if>
                 <if test="terms.dispTime != null and terms.dispTime !=''">
                     and disp_time = #{terms.dispTime}
                 </if>
diff --git a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/dao/mapper/xml/DispNormCauseMapper.xml b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/dao/mapper/xml/DispNormCauseMapper.xml
index 4aca136..dfdad1d 100644
--- a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/dao/mapper/xml/DispNormCauseMapper.xml
+++ b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/dao/mapper/xml/DispNormCauseMapper.xml
@@ -164,7 +164,7 @@
     <!--  根据条件获取对应综治中心组织  -->
     <select id="getZzzxUnitByTerms" resultType="cn.huge.module.casedisp.domain.dto.ZzzxUnitDTO">
         SELECT
-        id as 'unitId', unit_name as 'unitName'
+        id as unitId, unit_name as unitName, unit_grade as unitGrade, unit_type as unitType
         FROM dyh_ct_unit
         where unit_type = 1
         <include refid="getZzzxUnitByTerms-where-part"/>
diff --git a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/bo/CaseDispBO.java b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/bo/CaseDispBO.java
index 68ba1dc..cc66460 100644
--- a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/bo/CaseDispBO.java
+++ b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/bo/CaseDispBO.java
@@ -7,7 +7,7 @@
  * @description: 纠纷调度单表业务扩展类
  * @company: hugeinfo
  * @author: liyj
- * @time: 2024-09-03 10:20:49
+ * @time: 2024-09-08 15:33:39
  * @version: 1.0.0
  * @see cn.huge.module.casedisp.domain.po.CaseDisp
  */
diff --git a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/dto/ZzzxUnitDTO.java b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/dto/ZzzxUnitDTO.java
index c88b2d9..6d699b0 100644
--- a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/dto/ZzzxUnitDTO.java
+++ b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/dto/ZzzxUnitDTO.java
@@ -26,4 +26,14 @@
     */
     private String unitName;
 
+    /**
+     * 组织级别
+     */
+    private Integer unitGrade;
+
+    /**
+     * 组织类型
+     */
+    private Integer unitType;
+
 }
diff --git a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/po/CaseDisp.java b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/po/CaseDisp.java
index 41b41a6..03c9704 100644
--- a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/po/CaseDisp.java
+++ b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/domain/po/CaseDisp.java
@@ -13,7 +13,7 @@
  * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
  * @company:hugeinfo
  * @author: liyj
- * @time: 2024-09-03 10:20:49
+ * @time: 2024-09-08 15:35:07
  * @version 1.0.0
  */
 @TableName(value = "dyh_case_disp")
@@ -105,6 +105,18 @@
     private String targetName;
 
     /**
+    * 调度目标组织级别,1:市级,2:区级,3:镇街级,4:村居级
+    */
+    @TableField(value = "target_unit_grade")
+    private Integer targetUnitGrade;
+
+    /**
+    * 调度目标组织类型,0:政法委,1:综治中心,2:直属部门,3:法院,4:行专业调委会,5:企事业调委会,6:演示测试,9:其他
+    */
+    @TableField(value = "target_unit_type")
+    private Integer targetUnitType;
+
+    /**
     * 调度时间
     */
     @TableField(value = "disp_time")
diff --git a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/service/SysDispService.java b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/service/SysDispService.java
index 6e98c3f..8311cfd 100644
--- a/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/service/SysDispService.java
+++ b/dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/service/SysDispService.java
@@ -193,6 +193,8 @@
                 caseDisp.setTargetTypeName(DispBaseConstsEnum.TARGET_TYPE_1.getDes());
                 caseDisp.setTargetId(zzzxUnitDTO.getUnitId());
                 caseDisp.setTargetName(zzzxUnitDTO.getUnitName());
+                caseDisp.setTargetUnitGrade(zzzxUnitDTO.getUnitGrade());
+                caseDisp.setTargetUnitType(zzzxUnitDTO.getUnitType());
             }
             caseDispService.save(caseDisp);
             return caseDisp;
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/buildcode/service/BuildCodeService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/buildcode/service/BuildCodeService.java
index 79cc023..79fa234 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/buildcode/service/BuildCodeService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/buildcode/service/BuildCodeService.java
@@ -111,13 +111,13 @@
             // 必须
             this.buildPo(tplData);
             this.buildBo(tplData);
-            this.buildDaoMapper(tplData);
+//            this.buildDaoMapper(tplData);
             this.buildDaoMapperXml(tplData);
-            this.buildService(tplData);
+//            this.buildService(tplData);
             this.buildWebController(tplData);
             // 可选
-            this.buildWechatController(tplData);
-            this.buildJson(tplData);
+//            this.buildWechatController(tplData);
+//            this.buildJson(tplData);
 //            this.buildJsForm(tplData);
         } catch (TemplateNotFoundException e) {
             log.error("TemplateNotFoundException");
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 0c35092..d0fa312 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,7 +11,7 @@
 public class CaseTaskConsts {
 
     /**
-     * 任务类型,1:正常任务,2:回退审核任务,3:上报审核任务
+     * 任务类型,1:正常流转,2:回退申请,3:上报申请
      */
     public static final int TASK_TYPE_1 = 1;
     public static final int TASK_TYPE_2 = 2;
@@ -45,11 +45,10 @@
     public static final int TASK_STATUS_2 = 2;
 
     /**
-     * 处理结果,1:通过,2:回退,3:上报
+     * 处理结果,1:通过,2:不通过
      */
     public static final int HANDLE_RESULT_1 = 1;
     public static final int HANDLE_RESULT_2 = 2;
-    public static final int HANDLE_RESULT_3 = 3;
 }
 /**
  * -------------------_ooOoo_-------------------
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
index e181220..d920290 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
@@ -2,7 +2,6 @@
 
 import cn.huge.base.common.utils.ReturnFailUtils;
 import cn.huge.base.common.utils.ReturnSucUtils;
-import cn.huge.base.config.CurrentUser;
 import cn.huge.module.cases.domain.po.CaseInfoUnfold;
 import cn.huge.module.cases.service.CaseInfoUnfoldService;
 import com.google.common.collect.Maps;
@@ -23,8 +22,8 @@
  * @title: 纠纷信息扩展表接口api-web端
  * @description: 纠纷信息扩展表接口api-web端
  * @company: hugeinfo
- * @author: wangwh
- * @time: 2024-08-27 20:36:04
+ * @author: liyj
+ * @time: 2024-09-09 19:58:25
  * @version: 1.0.0
  */
 @Slf4j
@@ -44,15 +43,15 @@
     */
     private Map<String, Object> getParameter(){
         Map<String, Object> terms = Maps.newHashMap();
-        // 主键编号
+        // 纠纷编号
         String id = request.getParameter("id");
         if (StringUtils.isNotBlank(id)){
             terms.put("id", id);
         }
-        // 纠纷编号
-        String caseId = request.getParameter("caseId");
-        if (StringUtils.isNotBlank(caseId)){
-            terms.put("caseId", caseId);
+        // 受理时间
+        String acceptTime = request.getParameter("acceptTime");
+        if (StringUtils.isNotBlank(acceptTime)){
+            terms.put("acceptTime", acceptTime);
         }
         // 实际调解组织编号
         String mediateUnitId = request.getParameter("mediateUnitId");
@@ -88,6 +87,16 @@
         String mediatorMobile = request.getParameter("mediatorMobile");
         if (StringUtils.isNotBlank(mediatorMobile)){
             terms.put("mediatorMobile", mediatorMobile);
+        }
+        // 配合组织,多个用,隔开
+        String assistUnitId = request.getParameter("assistUnitId");
+        if (StringUtils.isNotBlank(assistUnitId)){
+            terms.put("assistUnitId", assistUnitId);
+        }
+        // 配合组织名称,多个用、隔开
+        String assistUnitName = request.getParameter("assistUnitName");
+        if (StringUtils.isNotBlank(assistUnitName)){
+            terms.put("assistUnitName", assistUnitName);
         }
         // 调解开始时间
         String mediStartTime = request.getParameter("mediStartTime");
@@ -153,6 +162,11 @@
         String courtName = request.getParameter("courtName");
         if (StringUtils.isNotBlank(courtName)){
             terms.put("courtName", courtName);
+        }
+        // 办结时间
+        String closeTime = request.getParameter("closeTime");
+        if (StringUtils.isNotBlank(closeTime)){
+            terms.put("closeTime", closeTime);
         }
         // 是否申请司法确认,0:未申请,1:已申请
         String judicApply = request.getParameter("judicApply");
@@ -268,20 +282,6 @@
             terms.put("updateStart", updateStart);
             terms.put("updateEnd", updateEnd);
         }
-        // 更新时间区间
-        String acceptTimeStart = request.getParameter("acceptTimeStart");
-        String acceptTimeEnd = request.getParameter("acceptTimeEnd");
-        if(StringUtils.isNotBlank(acceptTimeStart) && StringUtils.isNotBlank(acceptTimeEnd)) {
-            terms.put("acceptTimeStart", acceptTimeStart);
-            terms.put("acceptTimeEnd", acceptTimeEnd);
-        }
-        // 更新时间区间
-        String closeTimeStart = request.getParameter("closeTimeStart");
-        String closeTimeEnd = request.getParameter("closeTimeEnd");
-        if(StringUtils.isNotBlank(closeTimeStart) && StringUtils.isNotBlank(closeTimeEnd)) {
-            terms.put("closeTimeStart", closeTimeStart);
-            terms.put("closeTimeEnd", closeTimeEnd);
-        }
         return terms;
     }
 
@@ -367,34 +367,4 @@
         }
     }
 
-    /**
-     * PC端-选择经办人
-     * @url {ctx}/api/web/caseInfoUnfold/choosePrincipal?
-     * @param caseId 纠纷编号
-     * @return Object
-     */
-    @GetMapping("/choosePrincipal")
-    public Object choosePrincipal(@RequestParam(value = "caseId") String caseId, @RequestParam(value = "userId") String userId) {
-        try {
-            service.choosePrincipal(caseId, userId);
-            return ReturnSucUtils.getRepInfo();
-        } catch (Exception e) {
-            return ReturnFailUtils.getRepInfo(e.getMessage());
-        }
-    }
-
-    /**
-     * 查询办理结果
-     * @url {ctx}/api/web/caseInfoUnfold/getTransactResult
-     * @param caseId 事项ID
-     * @return Object
-     */
-    @GetMapping("/getTransactResult")
-    public Object getTransactResult(@RequestParam(value = "caseId") String caseId) {
-        try {
-            return ReturnSucUtils.getRepInfo(service.getTransactResult(caseId));
-        } catch (Exception e) {
-            return ReturnFailUtils.getRepInfo();
-        }
-    }
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
index 2b86a93..53aeb99 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
@@ -1,9 +1,12 @@
 package cn.huge.module.cases.controller.web;
 
+import cn.huge.base.common.utils.ObjectUtils;
 import cn.huge.base.common.utils.ReturnFailUtils;
 import cn.huge.base.common.utils.ReturnSucUtils;
 import cn.huge.base.config.CurrentUser;
+import cn.huge.module.cases.domain.dto.AcceptTaskDTO;
 import cn.huge.module.cases.domain.dto.AssignTaskDTO;
+import cn.huge.module.cases.domain.dto.SignTaskDTO;
 import cn.huge.module.cases.domain.po.CaseAppear;
 import cn.huge.module.cases.domain.po.CaseReturn;
 import cn.huge.module.cases.domain.po.CaseTask;
@@ -75,6 +78,54 @@
     }
 
     /**
+     * web端-交办
+     * @url {ctx}/api/web/caseTask/assign
+     * @param assignTaskDTO 交办表单
+     * @return Object
+     */
+    @PostMapping("/assign")
+    public Object assign(@RequestBody AssignTaskDTO assignTaskDTO, @CurrentUser String userId) {
+        try {
+            service.webAssign(assignTaskDTO, userId);
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-签收
+     * @url {ctx}/api/web/caseTask/sign
+     * @param signTaskDTO 签收表单
+     * @return Object
+     */
+    @PostMapping("/sign")
+    public Object sign(@RequestBody SignTaskDTO signTaskDTO, @CurrentUser String userId) {
+        try {
+            service.webSign(signTaskDTO, userId);
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * web端-受理
+     * @url {ctx}/api/web/caseTask/accept
+     * @param acceptTaskDTO 受理表单
+     * @return Object
+     */
+    @PostMapping("/accept")
+    public Object accept(@RequestBody AcceptTaskDTO acceptTaskDTO, @CurrentUser String userId) {
+        try {
+            service.webAccept(acceptTaskDTO, userId);
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
      * web端-结案申请
      * @url {ctx}/api/web/caseTask/windupApply
      * @param caseWindupApply 结案申请表单
@@ -83,6 +134,7 @@
     @PostMapping("/windupApply")
     public Object windupApply(@RequestBody CaseWindupApply caseWindupApply, @CurrentUser String userId) {
         try {
+            service.webWindupApply(caseWindupApply, userId);
             return ReturnSucUtils.getRepInfo();
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
@@ -98,7 +150,8 @@
     @GetMapping("/getWindupApplyInfo")
     public Object getWindupApplyInfo(@RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) {
         try {
-            return ReturnSucUtils.getRepInfo(caseWindupApplyService.getByCaseTaskId(caseTaskId));
+            CaseWindupApply caseWindupApply = caseWindupApplyService.getByCaseTaskId(caseTaskId);
+            return ReturnSucUtils.getRepInfo(caseWindupApply);
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
@@ -113,6 +166,7 @@
     @PostMapping("/windupAudit")
     public Object windupAudit(@RequestBody CaseWindupApply caseWindupApply, @CurrentUser String userId) {
         try {
+            service.webWindupAudit(caseWindupApply, userId);
             return ReturnSucUtils.getRepInfo();
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
@@ -210,21 +264,6 @@
      */
     @PostMapping("/appearAudit")
     public Object appearAudit(@RequestBody CaseAppear caseAppear, @CurrentUser String userId) {
-        try {
-            return ReturnSucUtils.getRepInfo();
-        } catch (Exception e) {
-            return ReturnFailUtils.getRepInfo();
-        }
-    }
-
-    /**
-     * web端-交办
-     * @url {ctx}/api/web/caseTask/assign
-     * @param assignTaskDTO 交办表单
-     * @return Object
-     */
-    @PostMapping("/assign")
-    public Object assign(@RequestBody AssignTaskDTO assignTaskDTO, @CurrentUser String userId) {
         try {
             return ReturnSucUtils.getRepInfo();
         } catch (Exception e) {
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoUnfoldMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoUnfoldMapper.xml
index 0899569..1704778 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoUnfoldMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoUnfoldMapper.xml
@@ -4,14 +4,15 @@
  * @title: 纠纷信息扩展表
  * @description: 自定义sql,请自行实现业务逻辑
  * @company: hugeinfo
- * @author: wangwh
- * @time:2024-08-27 20:36:04
+ * @author: liyj
+ * @time:2024-09-09 19:58:25
  * @version 1.0.0
 -->
 <mapper namespace="cn.huge.module.cases.dao.mapper.CaseInfoUnfoldMapper">
     <!-- 结果集 -->
     <resultMap id="dataResult" type="cn.huge.module.cases.domain.po.CaseInfoUnfold">
             <result property="id" column="id"/>
+            <result property="acceptTime" column="accept_time"/>
             <result property="mediateUnitId" column="mediate_unit_id"/>
             <result property="mediateUnitName" column="mediate_unit_name"/>
             <result property="mediateDeptId" column="mediate_dept_id"/>
@@ -19,6 +20,8 @@
             <result property="mediatorId" column="mediator_id"/>
             <result property="mediator" column="mediator"/>
             <result property="mediatorMobile" column="mediator_mobile"/>
+            <result property="assistUnitId" column="assist_unit_id"/>
+            <result property="assistUnitName" column="assist_unit_name"/>
             <result property="mediStartTime" column="medi_start_time"/>
             <result property="mediEndTime" column="medi_end_time"/>
             <result property="mediResult" column="medi_result"/>
@@ -32,6 +35,7 @@
             <result property="civilStatus" column="civil_status"/>
             <result property="courtId" column="court_id"/>
             <result property="courtName" column="court_name"/>
+            <result property="closeTime" column="close_time"/>
             <result property="judicApply" column="judic_apply"/>
             <result property="judicResult" column="judic_result"/>
             <result property="judicResultName" column="judic_result_name"/>
@@ -54,14 +58,13 @@
             <result property="custId" column="cust_id"/>
             <result property="createTime" column="create_time"/>
             <result property="updateTime" column="update_time"/>
-            <result property="acceptTime" column="accept_time"/>
-            <result property="closeTime" column="close_time"/>
     </resultMap>
     <!-- 表 -->
     <sql id='table-name'>dyh_case_info_unfold</sql>
     <!-- 字段 -->
     <sql id="column-part">
         id,
+        accept_time,
         mediate_unit_id,
         mediate_unit_name,
         mediate_dept_id,
@@ -69,6 +72,8 @@
         mediator_id,
         mediator,
         mediator_mobile,
+        assist_unit_id,
+        assist_unit_name,
         medi_start_time,
         medi_end_time,
         medi_result,
@@ -82,6 +87,7 @@
         civil_status,
         court_id,
         court_name,
+        close_time,
         judic_apply,
         judic_result,
         judic_result_name,
@@ -103,12 +109,11 @@
         party_joy,
         cust_id,
         create_time,
-        update_time,
-        accept_time,
-        close_time
+        update_time
     </sql>
     <!-- 更新实体字段 -->
     <sql id="set-part">
+            <if test="entity.acceptTime != null">accept_time = #{entity.acceptTime},</if>
             <if test="entity.mediateUnitId != null">mediate_unit_id = #{entity.mediateUnitId},</if>
             <if test="entity.mediateUnitName != null">mediate_unit_name = #{entity.mediateUnitName},</if>
             <if test="entity.mediateDeptId != null">mediate_dept_id = #{entity.mediateDeptId},</if>
@@ -116,6 +121,8 @@
             <if test="entity.mediatorId != null">mediator_id = #{entity.mediatorId},</if>
             <if test="entity.mediator != null">mediator = #{entity.mediator},</if>
             <if test="entity.mediatorMobile != null">mediator_mobile = #{entity.mediatorMobile},</if>
+            <if test="entity.assistUnitId != null">assist_unit_id = #{entity.assistUnitId},</if>
+            <if test="entity.assistUnitName != null">assist_unit_name = #{entity.assistUnitName},</if>
             <if test="entity.mediStartTime != null">medi_start_time = #{entity.mediStartTime},</if>
             <if test="entity.mediEndTime != null">medi_end_time = #{entity.mediEndTime},</if>
             <if test="entity.mediResult != null">medi_result = #{entity.mediResult},</if>
@@ -129,6 +136,7 @@
             <if test="entity.civilStatus != null">civil_status = #{entity.civilStatus},</if>
             <if test="entity.courtId != null">court_id = #{entity.courtId},</if>
             <if test="entity.courtName != null">court_name = #{entity.courtName},</if>
+            <if test="entity.closeTime != null">close_time = #{entity.closeTime},</if>
             <if test="entity.judicApply != null">judic_apply = #{entity.judicApply},</if>
             <if test="entity.judicResult != null">judic_result = #{entity.judicResult},</if>
             <if test="entity.judicResultName != null">judic_result_name = #{entity.judicResultName},</if>
@@ -150,9 +158,7 @@
             <if test="entity.partyJoy != null">party_joy = #{entity.partyJoy},</if>
             <if test="entity.custId != null">cust_id = #{entity.custId},</if>
             <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
-            <if test="entity.updateTime != null">update_time = #{entity.updateTime},</if>
-            <if test="entity.acceptTime != null">accept_time = #{entity.acceptTime},</if>
-            <if test="entity.closeTime != null">close_time = #{entity.closeTime},</if>
+            <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
     </sql>
     <!-- 条件 -->
     <sql id="where-part">
@@ -160,6 +166,9 @@
             <where>
                 <if test="terms.id != null and terms.id !=''">
                     and id = #{terms.id}
+                </if>
+                <if test="terms.acceptTime != null and terms.acceptTime !=''">
+                    and accept_time = #{terms.acceptTime}
                 </if>
                 <if test="terms.mediateUnitId != null and terms.mediateUnitId !=''">
                     and mediate_unit_id = #{terms.mediateUnitId}
@@ -181,6 +190,12 @@
                 </if>
                 <if test="terms.mediatorMobile != null and terms.mediatorMobile !=''">
                     and mediator_mobile = #{terms.mediatorMobile}
+                </if>
+                <if test="terms.assistUnitId != null and terms.assistUnitId !=''">
+                    and assist_unit_id = #{terms.assistUnitId}
+                </if>
+                <if test="terms.assistUnitName != null and terms.assistUnitName !=''">
+                    and assist_unit_name = #{terms.assistUnitName}
                 </if>
                 <if test="terms.mediStartTime != null and terms.mediStartTime !=''">
                     and medi_start_time = #{terms.mediStartTime}
@@ -220,6 +235,9 @@
                 </if>
                 <if test="terms.courtName != null and terms.courtName !=''">
                     and court_name = #{terms.courtName}
+                </if>
+                <if test="terms.closeTime != null and terms.closeTime !=''">
+                    and close_time = #{terms.closeTime}
                 </if>
                 <if test="terms.judicApply != null and terms.judicApply !=''">
                     and judic_apply = #{terms.judicApply}
@@ -294,20 +312,6 @@
                 <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
                     and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
                         and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
-                </if>
-                <if test="terms.acceptTime != null and terms.acceptTime !=''">
-                    and DATE_FORMAT(accept_time,'%Y-%m-%d') = #{terms.acceptTime}
-                </if>
-                <if test="terms.acceptTimeStart != null and terms.acceptTimeStart !='' and terms.acceptTimeEnd != null and terms.acceptTimeEnd !=''">
-                    and (DATE_FORMAT(accept_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.acceptTimeStart}
-                    and DATE_FORMAT(accept_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.acceptTimeEnd})
-                </if>
-                <if test="terms.closeTime != null and terms.closeTime !=''">
-                    and DATE_FORMAT(close_time,'%Y-%m-%d') = #{terms.closeTime}
-                </if>
-                <if test="terms.closeTimeStart != null and terms.closeTimeStart !='' and terms.closeTimeEnd != null and terms.closeTimeEnd !=''">
-                    and (DATE_FORMAT(close_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.closeTimeStart}
-                    and DATE_FORMAT(close_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.closeTimeEnd})
                 </if>
             </where>
         </if>
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 a4ccf2c..1072d59 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-06 15:50:06
+ * @time:2024-09-08 18:27:35
  * @version 1.0.0
 -->
 <mapper namespace="cn.huge.module.cases.dao.mapper.CaseTaskMapper">
@@ -39,6 +39,8 @@
             <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="handleUserId" column="handle_user_id"/>
             <result property="handleUserName" column="handle_user_name"/>
             <result property="handleResult" column="handle_result"/>
@@ -81,6 +83,8 @@
         sign_user_name,
         expire_time,
         status,
+        handle_unit_id,
+        handle_unit_name,
         handle_user_id,
         handle_user_name,
         handle_result,
@@ -120,6 +124,8 @@
             <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.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>
@@ -217,6 +223,12 @@
                 </if>
                 <if test="terms.status != null and terms.status !=''">
                     and status = #{terms.status}
+                </if>
+                <if test="terms.handleUnitId != null and terms.handleUnitId !=''">
+                    and handle_unit_id = #{terms.handleUnitId}
+                </if>
+                <if test="terms.handleUnitName != null and terms.handleUnitName !=''">
+                    and handle_unit_name = #{terms.handleUnitName}
                 </if>
                 <if test="terms.handleUserId != null and terms.handleUserId !=''">
                     and handle_user_id = #{terms.handleUserId}
@@ -339,4 +351,5 @@
         and delete_status = '0'
         and status = '1'
     </select>
+
 </mapper> 
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseInfoUnfoldBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseInfoUnfoldBO.java
index d22aa8c..d133db5 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseInfoUnfoldBO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseInfoUnfoldBO.java
@@ -6,8 +6,8 @@
  * @title: 纠纷信息扩展表业务扩展类
  * @description: 纠纷信息扩展表业务扩展类
  * @company: hugeinfo
- * @author: wangwh
- * @time: 2024-08-27 20:36:04
+ * @author: liyj
+ * @time: 2024-09-09 19:58:25
  * @version: 1.0.0
  * @see cn.huge.module.cases.domain.po.CaseInfoUnfold
  */
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/AcceptTaskDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/AcceptTaskDTO.java
new file mode 100644
index 0000000..03ec5da
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/AcceptTaskDTO.java
@@ -0,0 +1,26 @@
+package cn.huge.module.cases.domain.dto;
+
+import cn.huge.module.cases.domain.po.CaseInfo;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @title: 受理任务传输对象
+ * @description: 受理任务传输对象
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-03-11 11:43:25
+ * @version: 1.0.0
+ * @see CaseInfo
+ */
+@Data
+public class AcceptTaskDTO {
+
+    /**
+     * 上报审核纠纷任务编号
+     */
+    private String caseTaskId;
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/AssignTaskDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/AssignTaskDTO.java
index f7cfdaf..6c55d6a 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/AssignTaskDTO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/AssignTaskDTO.java
@@ -4,6 +4,7 @@
 import cn.huge.module.cases.domain.po.CaseInfo;
 import cn.huge.module.cases.domain.po.CasePerson;
 import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 
 import java.util.List;
@@ -21,6 +22,11 @@
 public class AssignTaskDTO {
 
     /**
+     * 上报审核纠纷任务编号
+     */
+    private String caseTaskId;
+
+    /**
      * 承办部门编号
      */
     private String handleUnitId;
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java
index a77bca0..9ec3a88 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java
@@ -16,7 +16,7 @@
      */
     private String id;
     /**
-     * 事项状态,1:待签收,2:待受理,3:办理中,4:结案审核,5:待评价,6:已归档
+     * 事项状态,1:待分派,2:待签收,3:待受理,:4:办理中,5:结案审核,6:待评价,7:已归档
      */
     private Integer status;
 
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/SignTaskDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/SignTaskDTO.java
new file mode 100644
index 0000000..7721103
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/SignTaskDTO.java
@@ -0,0 +1,29 @@
+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 SignTaskDTO {
+
+    /**
+     * 纠纷信息编号
+     */
+    private String caseId;
+
+    /**
+     * 上报审核纠纷任务编号
+     */
+    private String caseTaskId;
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfoUnfold.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfoUnfold.java
index b300dd5..f69440a 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfoUnfold.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfoUnfold.java
@@ -12,8 +12,8 @@
  * @title: 纠纷信息扩展表数据库对应关系类
  * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
  * @company:hugeinfo
- * @author: wangwh
- * @time: 2024-08-27 20:36:04
+ * @author: liyj
+ * @time: 2024-09-09 19:58:25
  * @version 1.0.0
  */
 @TableName(value = "dyh_case_info_unfold")
@@ -27,8 +27,8 @@
     private String id;
 
     /**
-     * 受理时间
-     */
+    * 受理时间
+    */
     @TableField(value = "accept_time")
     private Date acceptTime;
 
@@ -73,6 +73,18 @@
     */
     @TableField(value = "mediator_mobile")
     private String mediatorMobile;
+
+    /**
+    * 配合组织,多个用,隔开
+    */
+    @TableField(value = "assist_unit_id")
+    private String assistUnitId;
+
+    /**
+    * 配合组织名称,多个用、隔开
+    */
+    @TableField(value = "assist_unit_name")
+    private String assistUnitName;
 
     /**
     * 调解开始时间
@@ -153,8 +165,8 @@
     private String courtName;
 
     /**
-     * 办结时间
-     */
+    * 办结时间
+    */
     @TableField(value = "close_time")
     private Date closeTime;
 
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 6183d04..b0902a1 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-06 15:50:06
+ * @time: 2024-09-08 18:27:35
  * @version 1.0.0
  */
 @TableName(value = "dyh_case_task")
@@ -51,7 +51,7 @@
     private String processTaskId;
 
     /**
-    * 工作流任务类型,1:正常任务,2:退回任务;3:上报任务
+    * 任务类型,1:正常流转,2:回退申请,3:上报申请
     */
     @TableField(value = "task_type")
     private Integer taskType;
@@ -189,6 +189,18 @@
     private Integer status;
 
     /**
+    * 任务处理单位编号
+    */
+    @TableField(value = "handle_unit_id")
+    private String handleUnitId;
+
+    /**
+    * 任务处理单位名称
+    */
+    @TableField(value = "handle_unit_name")
+    private String handleUnitName;
+
+    /**
     * 任务处理人编号
     */
     @TableField(value = "handle_user_id")
@@ -201,7 +213,7 @@
     private String handleUserName;
 
     /**
-    * 处理结果,1:通过,2:退回,3:终止流程
+    * 处理结果,1:通过,2:不通过
     */
     @TableField(value = "handle_result")
     private Integer handleResult;
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 2d61a54..86f3d23 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
@@ -144,7 +144,7 @@
     * 结案审核时间
     */
     @TableField(value = "audit_time")
-    private String auditTime;
+    private Date auditTime;
 
     /**
     * 结案审核结果
@@ -189,4 +189,10 @@
     @TableField(value = "update_time")
     private Date updateTime;
 
+    /**
+     * 事项等级
+     */
+    @TableField(exist = false)
+    private Integer caseLevel;
+
 }
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 4bbb026..da5f4a4 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
@@ -75,6 +75,9 @@
     @Autowired
     private SysClientImpl sysClient;
 
+    @Autowired
+    private CaseTaskService caseTaskService;
+
     /**
     * 更新对象
     * @param entity 对象
@@ -204,25 +207,27 @@
                 caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1);
                 caseInfo.setCreateTime(nowDate);
                 caseInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-
-                CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold();
-                caseInfoUnfold.setId(caseInfo.getId());
-                caseInfoUnfold.setCreateTime(nowDate);
-                caseInfoUnfold.setUpdateTime(nowDate);
-
                 // 删除草稿案件
                 if(1 == registerSaveDTO.getIsDraft() ){
                     draftInfoService.removeDraftInfo(registerSaveDTO.getId());
                 }
-
-                //判断是否自行受理
-                if(1 == registerSaveDTO.getIsSelfAccept()){
-                    //todo 流程接口修改status、status_name、process、process_name
-                    caseInfoUnfold.setMediateUnitId(loginUser.getUnitId());
-                    caseInfoUnfold.setMediateUnitName(loginUser.getUnitName());
-                }
+                // 新增纠纷信息
                 this.save(caseInfo);
+                // 新增纠纷信息扩展表
+                CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold();
+                caseInfoUnfold.setId(caseInfo.getId());
+                caseInfoUnfold.setCreateTime(nowDate);
+                caseInfoUnfold.setUpdateTime(nowDate);
                 caseInfoUnfoldService.save(caseInfoUnfold);
+                // 启动工作流
+                // 判断是否自行受理
+                if(1 == registerSaveDTO.getIsSelfAccept()){
+                    // 自行受理流程
+                    caseTaskService.webStartFlowZXSL(caseInfo, loginUser);
+                }else {
+                    // 自动调度流程
+                    caseTaskService.webStartFlowLFDJ(caseInfo);
+                }
             }else if(1 == registerSaveDTO.getOperateType()){
                 this.updateById(caseInfo);
             }
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 a362a4f..ad778e5 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
@@ -4,30 +4,45 @@
 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.CaseFlowDTO;
-import cn.huge.module.cases.domain.dto.TabButtonDTO;
-import cn.huge.module.cases.domain.dto.TabButtonInfoDTO;
+import cn.huge.module.cases.domain.dto.*;
+import cn.huge.module.cases.domain.po.CaseInfo;
+import cn.huge.module.cases.domain.po.CaseInfoUnfold;
+import cn.huge.module.cases.domain.po.CaseWindupApply;
 import cn.huge.module.client.api.impl.CustClientImpl;
+import cn.huge.module.client.api.impl.DispClientImpl;
+import cn.huge.module.client.api.impl.SysClientImpl;
 import cn.huge.module.client.api.impl.UtilsClientImpl;
 import cn.huge.module.cases.dao.mapper.CaseTaskMapper;
 import cn.huge.module.cases.domain.po.CaseTask;
+import cn.huge.module.constant.BaseConsts;
+import cn.huge.module.cust.constant.UserBaseConsts;
+import cn.huge.module.cust.dto.CtUnitDTO;
 import cn.huge.module.cust.dto.CtUserDTO;
-import cn.huge.module.mediate.constant.CaseBaseConsts;
+import cn.huge.module.disp.constant.DispBaseConstsEnum;
+import cn.huge.module.disp.dto.CaseDispBaseDTO;
+import cn.huge.module.disp.dto.DispCaseBaseDTO;
+import cn.huge.module.cases.consts.CaseTaskConsts;
+import cn.huge.module.flow.consts.FlowNodeEnum;
+import cn.huge.module.flow.consts.FlowableConsts;
+import cn.huge.module.flow.domain.po.FlowNode;
+import cn.huge.module.flow.service.FlowInfoService;
+import cn.huge.module.mediate.constant.*;
+import cn.huge.module.sys.constant.SyTimeEnum;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.Maps;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.PostConstruct;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @title: 纠纷任务表业务逻辑处理
@@ -46,13 +61,23 @@
     private CaseTaskMapper mapper;
 
     @Autowired
+    private CaseSuperviseService superviseService;
+    @Autowired
     private UtilsClientImpl utilsClient;
-
     @Autowired
     private CustClientImpl custClient;
-
     @Autowired
-    private CaseSuperviseService superviseService;
+    private DispClientImpl dispClient;
+    @Autowired
+    private FlowInfoService flowInfoService;
+    @Autowired
+    private CaseInfoService caseInfoService;
+    @Autowired
+    private SysClientImpl sysClient;
+    @Autowired
+    private CaseInfoUnfoldService caseInfoUnfoldService;
+    @Autowired
+    private CaseWindupApplyService caseWindupApplyService;
 
     /**
     * 更新对象
@@ -385,4 +410,784 @@
             throw new ServiceException("CaseTaskService.wechatListCaseFlow", e);
         }
     }
+
+    /**
+     * web端大厅来访登记-提交纠纷事件-通过自动调度启动工作流
+     * @param caseInfo
+     */
+    public void webStartFlowLFDJ(CaseInfo caseInfo){
+        try{
+            DispCaseBaseDTO dispCaseBaseDTO = new DispCaseBaseDTO();
+            BeanUtils.copyProperties(caseInfo, dispCaseBaseDTO);
+            dispCaseBaseDTO.setCaseId(caseInfo.getId());
+            CaseDispBaseDTO caseDispBaseDTO = dispClient.sysDisp(dispCaseBaseDTO);
+            // 目前平台只能调度给组织
+            if (DispBaseConstsEnum.TARGET_TYPE_1.getIndex().equals(caseDispBaseDTO.getTargetType())) {
+                // 目前平台只做镇街、村居级别的调度,
+                if (UserBaseConsts.UNIT_GRADE_3 == caseDispBaseDTO.getTargetUnitGrade()) {
+                    // 启动来访登记工作流
+                    FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LFDJ, caseInfo.getId());
+                    if (UserBaseConsts.UNIT_TYPE_1 == caseDispBaseDTO.getTargetUnitType()){
+                        // 调度给镇街综治中心,进入第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);
+                        dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                        dfpCaseTask.setCustId(caseInfo.getCustId());
+                        dfpCaseTask.setCreateTime(caseInfo.getCreateTime());
+                        dfpCaseTask.setUpdateTime(caseInfo.getUpdateTime());
+                        mapper.insert(dfpCaseTask);
+                        // 更新纠纷信息
+                        CaseInfo caseInfoPO = new CaseInfo();
+                        caseInfoPO.setId(caseInfo.getId());
+                        caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex());
+                        caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.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());
+                        caseInfoService.updateCaseInfo(caseInfoPO);
+                    }else {
+                        // 调度给调解组织,默认通过第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.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                        dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                        dfpCaseTask.setHandleUnitName("系统派单");
+                        dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                        dfpCaseTask.setHandleContent("派单至:"+caseDispBaseDTO.getTargetName());
+                        dfpCaseTask.setHandleTime(caseInfo.getCreateTime());
+                        dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                        dfpCaseTask.setCustId(caseInfo.getCustId());
+                        dfpCaseTask.setCreateTime(caseInfo.getCreateTime());
+                        dfpCaseTask.setUpdateTime(caseInfo.getCreateTime());
+                        mapper.insert(dfpCaseTask);
+                        // 完成第1个节点任务
+                        FlowNode secondFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(),
+                                FlowableConsts.OPERATION_jb_zszz, "系统派单");
+                        // 进入第2个节点-镇街级组织待受理
+                        CaseTask sdlCaseTask = new CaseTask();
+                        sdlCaseTask.setId(utilsClient.getNewTimeId());
+                        sdlCaseTask.setCaseId(caseInfo.getId());
+                        sdlCaseTask.setFlowableId(secondFlowNode.getFlowableId());
+                        sdlCaseTask.setProcessInstanceId(secondFlowNode.getProcessInstanceId());
+                        sdlCaseTask.setProcessTaskId(secondFlowNode.getProcessTaskId());
+                        sdlCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+                        sdlCaseTask.setNodeType(secondFlowNode.getNodeType());
+                        sdlCaseTask.setNodeId(secondFlowNode.getNodeId());
+                        sdlCaseTask.setNodeName(secondFlowNode.getNodeName());
+                        sdlCaseTask.setFlowId(secondFlowNode.getFlowId());
+                        sdlCaseTask.setNodeShowName(secondFlowNode.getNodeShowName());
+                        sdlCaseTask.setCaseTaskType(dfpCaseTask.getCaseTaskType());
+                        // 通过调度的,任务候选执行者类型是上一步骤选择
+                        sdlCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                        sdlCaseTask.setCandeUnitId(caseDispBaseDTO.getTargetId());
+                        sdlCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName());
+                        // 系统调度给调解组织,需要签收
+                        sdlCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
+                        sdlCaseTask.setSignExpireTime(sysClient.getExpireTime(caseInfo.getCreateTime(), SyTimeEnum.SY_TIME_2.getIndex()));
+                        sdlCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                        sdlCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                        sdlCaseTask.setCustId(caseInfo.getCustId());
+                        sdlCaseTask.setCreateTime(caseInfo.getCreateTime());
+                        sdlCaseTask.setUpdateTime(caseInfo.getUpdateTime());
+                        mapper.insert(sdlCaseTask);
+                        // 更新纠纷信息
+                        CaseInfo caseInfoPO = new CaseInfo();
+                        caseInfoPO.setId(caseInfo.getId());
+                        caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_2.getIndex());
+                        caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_2.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());
+                        caseInfoService.updateCaseInfo(caseInfoPO);
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("[CaseTaskService.webStartFlowLFDJ]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webStartFlowLFDJ", e);
+        }
+    }
+
+    /**
+     * web端大厅来访登记-自行受理-启动自行受理流程
+     * @param caseInfo
+     * @param loginUser
+     */
+    public void webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){
+        try{
+
+        }catch (Exception e){
+            log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webStartFlowZXSL", e);
+        }
+    }
+
+    /**
+     * web端任务处理-交办
+     * @param assignTaskDTO 交办任务表单
+     * @param userId 当前登录用户
+     */
+    public void webAssign(AssignTaskDTO assignTaskDTO, String userId){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            // 查询当前待分派任务
+            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.setHandleUserId(loginUser.getId());
+            dfpCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+            dfpCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+            dfpCaseTaskPO.setHandleTime(nowDate);
+            dfpCaseTaskPO.setUpdateTime(nowDate);
+            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 {
+                    flowOperation = FlowableConsts.OPERATION_jb_zzzx;
+                }
+
+            }
+            // 市综治中心待分派
+            if (FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(dfpCaseTask.getNodeId())){
+                if (UserBaseConsts.UNIT_GRADE_1 == dslUnitDTO.getUnitGrade()) {
+                    flowOperation = FlowableConsts.OPERATION_jb_zszz;
+                }else {
+                    flowOperation = FlowableConsts.OPERATION_jb_zzzx;
+                }
+
+            }
+            // 完成当前待分派工作流任务
+            FlowNode newFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(),
+                    flowOperation, userId);
+            // 新建待受理任务
+            CaseTask blfkCaseTask = new CaseTask();
+            blfkCaseTask.setId(utilsClient.getNewTimeId());
+            blfkCaseTask.setCaseId(dfpCaseTask.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(CaseTaskConsts.CASE_TASK_TYPE_1);
+            // 受理任务,任务候选执行者类型是上一步骤选择
+            blfkCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+            blfkCaseTask.setCandeUnitId(dslUnitDTO.getId());
+            blfkCaseTask.setCandeUnitName(dslUnitDTO.getUnitName());
+            // 分派的任务,需要签收
+            blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
+            blfkCaseTask.setSignExpireTime(sysClient.getExpireTime(nowDate, SyTimeEnum.SY_TIME_2.getIndex()));
+            blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+            blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            blfkCaseTask.setCustId(dfpCaseTask.getCustId());
+            blfkCaseTask.setCreateTime(nowDate);
+            blfkCaseTask.setUpdateTime(nowDate);
+            mapper.insert(blfkCaseTask);
+            // 更新纠纷信息
+            CaseInfo caseInfoPO = new CaseInfo();
+            caseInfoPO.setId(blfkCaseTask.getCaseId());
+            caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex());
+            caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.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());
+            caseInfoService.updateCaseInfo(caseInfoPO);
+            // 分派配合组织
+            if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){
+                for (AssignAssistUnitDTO assignAssistUnitDTO: assignTaskDTO.getAssistUnitList()){
+                    // 创建配合组织任务
+                    CaseTask assistCaseTask = new CaseTask();
+                    assistCaseTask.setId(utilsClient.getNewTimeId());
+                    assistCaseTask.setCaseId(dfpCaseTask.getCaseId());
+                    assistCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+                    assistCaseTask.setNodeId(FlowNodeEnum.FLOW_NODE_BLFK.getIndex());
+                    assistCaseTask.setNodeName(FlowNodeEnum.FLOW_NODE_BLFK.getIndex());
+                    assistCaseTask.setFlowId(newFlowNode.getFlowId());
+                    assistCaseTask.setNodeShowName(FlowNodeEnum.FLOW_NODE_BLFK.getIndex());
+                    assistCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
+                    // 配合任务,任务候选执行者类型是上一步骤选择
+                    assistCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                    assistCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId());
+                    assistCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName());
+                    // 分派的任务,需要签收
+                    assistCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
+                    assistCaseTask.setSignExpireTime(sysClient.getExpireTime(nowDate, SyTimeEnum.SY_TIME_2.getIndex()));
+                    assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    assistCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    assistCaseTask.setCustId(dfpCaseTask.getCustId());
+                    assistCaseTask.setCreateTime(nowDate);
+                    assistCaseTask.setUpdateTime(nowDate);
+                    mapper.insert(assistCaseTask);
+                }
+                // 拼接配合组织编号和名称
+                String assistUnitId = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId).
+                        collect(Collectors.joining(BaseConsts.COMMA));
+                String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId).
+                        collect(Collectors.joining(BaseConsts.COMMA));
+
+            }
+        }catch (Exception e){
+            log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webAssign", e);
+        }
+    }
+
+    /**
+     * web端任务处理-签收
+     * @param signTaskDTO 签收任务表单
+     * @param userId 当前登录用户
+     */
+    public void webSign(SignTaskDTO signTaskDTO, String userId){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            // 更新纠纷任务信息
+            CaseTask caseTaskPO = new CaseTask();
+            caseTaskPO.setId(signTaskDTO.getCaseTaskId());
+            caseTaskPO.setSignStatus(CaseTaskConsts.SIGN_STATUS_2);
+            caseTaskPO.setSignTime(nowDate);
+            caseTaskPO.setSignUserId(loginUser.getId());
+            caseTaskPO.setSignUserName(loginUser.getTrueName());
+            caseTaskPO.setUpdateTime(nowDate);
+            mapper.updateCaseTask(caseTaskPO);
+            // 更新纠纷信息
+            CaseInfo caseInfoPO = new CaseInfo();
+            caseInfoPO.setId(signTaskDTO.getCaseId());
+            caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex());
+            caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.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);
+        }catch (Exception e){
+            log.error("[CaseTaskService.webSign]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webSign", e);
+        }
+    }
+
+    /**
+     * web端任务处理-受理
+     * @param acceptTaskDTO 受理任务表单
+     * @param userId 当前登录用户
+     */
+    public void webAccept(AcceptTaskDTO acceptTaskDTO, String userId){
+        try{
+            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.setHandleUserName(loginUser.getTrueName());
+            dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+            dslCaseTaskPO.setHandleTime(nowDate);
+            dslCaseTaskPO.setUpdateTime(nowDate);
+            mapper.updateCaseTask(dslCaseTaskPO);
+            // 完成当前待受理工作流任务
+            FlowNode newFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(),
+                    FlowableConsts.OPERATION_sl, 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(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);
+            blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            blfkCaseTask.setCustId(dslCaseTask.getCustId());
+            blfkCaseTask.setCreateTime(nowDate);
+            blfkCaseTask.setUpdateTime(nowDate);
+            mapper.insert(blfkCaseTask);
+            // 更新纠纷信息
+            CaseInfo caseInfoPO = new CaseInfo();
+            caseInfoPO.setId(blfkCaseTask.getCaseId());
+            caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex());
+            caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_4.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());
+            caseInfoService.updateCaseInfo(caseInfoPO);
+            // 更新纠纷扩展信息
+            CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
+            caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId());
+            caseInfoUnfoldPO.setAcceptTime(nowDate);
+            caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId());
+            caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName());
+            caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+        }catch (Exception e){
+            log.error("[CaseTaskService.webAccept]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webAccept", e);
+        }
+    }
+
+    /**
+     * web端任务处理-结案申请
+     * @param caseWindupApply 结案申请表单
+     * @param userId 当前登录用户
+     */
+    public void webWindupApply(CaseWindupApply caseWindupApply, String userId){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            // 新增结案申请信息
+            caseWindupApply.setApplyUnitId(loginUser.getUnitId());
+            caseWindupApply.setApplyUnitName(loginUser.getUnitName());
+            caseWindupApply.setApplyUserId(loginUser.getTrueName());
+            caseWindupApply.setApplyTime(nowDate);
+            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.setHandleUserId(loginUser.getId());
+            blfkCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+            blfkCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+            blfkCaseTaskPO.setHandleTime(nowDate);
+            blfkCaseTaskPO.setUpdateTime(nowDate);
+            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);
+            jasqCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+            jasqCaseTask.setHandleUnitId(loginUser.getUnitId());
+            jasqCaseTask.setHandleUnitName(loginUser.getUnitName());
+            jasqCaseTask.setHandleUserId(loginUser.getId());
+            jasqCaseTask.setHandleUserName(loginUser.getTrueName());
+            jasqCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+            jasqCaseTask.setHandleTime(nowDate);
+            jasqCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            jasqCaseTask.setCustId(blfkCaseTask.getCustId());
+            jasqCaseTask.setCreateTime(nowDate);
+            jasqCaseTask.setUpdateTime(nowDate);
+            mapper.insert(jasqCaseTask);
+            // 化解成功,自动结案审核通过
+            if (MediResultBaseConstsEnum.MEDI_RESULT_1.getIndex().equals(caseWindupApply.getMediResult())){
+                // 完成当前结案申请工作流任务,走结案审核任务
+                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_2);
+                jashCaseTask.setHandleUnitId(loginUser.getUnitId());
+                jashCaseTask.setHandleUnitName(loginUser.getUnitName());
+                jashCaseTask.setHandleUserId(loginUser.getId());
+                jashCaseTask.setHandleUserName(loginUser.getTrueName());
+                jashCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                jashCaseTask.setHandleTime(nowDate);
+                jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                jashCaseTask.setCustId(jasqCaseTask.getCustId());
+                jashCaseTask.setCreateTime(nowDate);
+                jashCaseTask.setUpdateTime(nowDate);
+                mapper.insert(jashCaseTask);
+                // 完成当前结案审核工作流任务,走当事人评价任务
+                FlowNode dsrpjFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                        FlowableConsts.OPERATION_jash_ty, userId);
+                // 新建当事人评价任务
+                CaseTask dsrpjCaseTask = new CaseTask();
+                dsrpjCaseTask.setId(utilsClient.getNewTimeId());
+                dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId());
+                dsrpjCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId());
+                dsrpjCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId());
+                dsrpjCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId());
+                dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+                dsrpjCaseTask.setNodeType(dsrpjFlowNode.getNodeType());
+                dsrpjCaseTask.setNodeId(dsrpjFlowNode.getNodeId());
+                dsrpjCaseTask.setNodeName(dsrpjFlowNode.getNodeName());
+                dsrpjCaseTask.setFlowId(dsrpjFlowNode.getFlowId());
+                dsrpjCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName());
+                dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                // 受理任务,任务候选执行者类型是上一步骤选择
+                dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId());
+                dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName());
+                // 受理后的任务,不需要签收
+                dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                dsrpjCaseTask.setCustId(blfkCaseTaskPO.getCustId());
+                dsrpjCaseTask.setCreateTime(nowDate);
+                dsrpjCaseTask.setUpdateTime(nowDate);
+                mapper.insert(dsrpjCaseTask);
+                // 更新结案申请信息
+                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);
+                // 更新纠纷信息
+                CaseInfo caseInfoPO = new CaseInfo();
+                caseInfoPO.setId(dsrpjCaseTask.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);
+                // 更新纠纷扩展信息
+                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
+                caseInfoUnfoldPO.setId(dsrpjCaseTask.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 {// 化解不成功,走结案审核流程
+                // 完成当前结案申请工作流任务,走结案审核任务
+                FlowNode jashFlowNode = flowInfoService.completeTask(jasqCaseTask.getFlowableId(), jasqCaseTask.getProcessTaskId(),
+                        FlowableConsts.OPERATION_forward, userId);
+                // 新建结案审核任务
+                CaseTask jashCaseTask = new CaseTask();
+                jashCaseTask.setId(utilsClient.getNewTimeId());
+                jashCaseTask.setCaseId(blfkCaseTaskPO.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);
+                jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                jashCaseTask.setCustId(blfkCaseTaskPO.getCustId());
+                jashCaseTask.setCreateTime(nowDate);
+                jashCaseTask.setUpdateTime(nowDate);
+                mapper.insert(jashCaseTask);
+                // 更新结案申请信息
+                caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0);
+                caseWindupApply.setCaseTaskId(jashCaseTask.getId());
+                caseWindupApply.setAuditUnitId(jashCaseTask.getHandleUnitId());
+                caseWindupApply.setAuditUnitName(jashCaseTask.getHandleUnitName());
+                caseWindupApply.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.setCloseTime(nowDate);
+                caseInfoUnfoldPO.setUpdateTime(nowDate);
+                caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+            }
+        }catch (Exception e){
+            log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webWindupApply", e);
+        }
+    }
+
+    /**
+     * web端任务处理-结案审核
+     * @param caseWindupApply 结案审核表单
+     * @param userId 当前登录用户
+     */
+    public void webWindupAudit(CaseWindupApply caseWindupApply, String userId){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            // 更新结案申请信息
+            caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1);
+            caseWindupApply.setAuditUserId(loginUser.getId());
+            caseWindupApply.setAuditUserName(loginUser.getTrueName());
+            caseWindupApply.setAuditTime(nowDate);
+            caseWindupApply.setUpdateTime(nowDate);
+            caseWindupApplyService.saveCaseWindupApply(caseWindupApply);
+            // 查询结案审核任务
+            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.setHandleUserId(loginUser.getId());
+                jashCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+                jashCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                jashCaseTaskPO.setHandleTime(nowDate);
+                jashCaseTaskPO.setUpdateTime(nowDate);
+                mapper.updateCaseTask(jashCaseTaskPO);
+                // 完成当前结案审核工作流任务,走当事人评价任务
+                FlowNode dsrpjFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                        FlowableConsts.OPERATION_jash_ty, userId);
+                // 新建当事人评价任务
+                CaseTask dsrpjCaseTask = new CaseTask();
+                dsrpjCaseTask.setId(utilsClient.getNewTimeId());
+                dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId());
+                dsrpjCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId());
+                dsrpjCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId());
+                dsrpjCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId());
+                dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+                dsrpjCaseTask.setNodeType(dsrpjFlowNode.getNodeType());
+                dsrpjCaseTask.setNodeId(dsrpjFlowNode.getNodeId());
+                dsrpjCaseTask.setNodeName(dsrpjFlowNode.getNodeName());
+                dsrpjCaseTask.setFlowId(dsrpjFlowNode.getFlowId());
+                dsrpjCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName());
+                dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                // 受理任务,任务候选执行者类型是上一步骤选择
+                dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId());
+                dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName());
+                // 受理后的任务,不需要签收
+                dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
+                dsrpjCaseTask.setCreateTime(nowDate);
+                dsrpjCaseTask.setUpdateTime(nowDate);
+                mapper.insert(dsrpjCaseTask);
+                // 更新纠纷信息
+                CaseInfo caseInfoPO = new CaseInfo();
+                caseInfoPO.setId(dsrpjCaseTask.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);
+                // 更新纠纷扩展信息
+                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
+                caseInfoUnfoldPO.setId(dsrpjCaseTask.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 jashCaseTaskPO = new CaseTask();
+                jashCaseTaskPO.setId(caseWindupApply.getCaseTaskId());
+                jashCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                jashCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
+                jashCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+                jashCaseTaskPO.setHandleUserId(loginUser.getId());
+                jashCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+                jashCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2);
+                jashCaseTaskPO.setHandleTime(nowDate);
+                jashCaseTaskPO.setUpdateTime(nowDate);
+                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.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                blfkCaseTask.setCustId(jashCaseTask.getCustId());
+                blfkCaseTask.setCreateTime(nowDate);
+                blfkCaseTask.setUpdateTime(nowDate);
+                mapper.insert(blfkCaseTask);
+                // 更新纠纷信息
+                CaseInfo caseInfoPO = new CaseInfo();
+                caseInfoPO.setId(blfkCaseTask.getCaseId());
+                caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex());
+                caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_4.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(blfkCaseTask.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);
+            }
+        }catch (Exception e){
+            log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webWindupApply", e);
+        }
+    }
+
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseWindupApplyService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseWindupApplyService.java
index 1289d14..3b6f423 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseWindupApplyService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseWindupApplyService.java
@@ -3,6 +3,8 @@
 import cn.huge.base.common.exception.ServiceException;
 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.po.CaseInfo;
 import cn.huge.module.client.api.impl.UtilsClientImpl;
 import cn.huge.module.cases.dao.mapper.CaseWindupApplyMapper;
 import cn.huge.module.cases.domain.po.CaseWindupApply;
@@ -40,6 +42,8 @@
 
     @Autowired
     private UtilsClientImpl utilsClient;
+    @Autowired
+    private CaseInfoService caseInfoService;
 
     /**
     * 更新对象
@@ -140,7 +144,14 @@
         try{
             QueryWrapper<CaseWindupApply> caseWindupApplyQueryWrapper = new QueryWrapper<>();
             caseWindupApplyQueryWrapper.eq("case_task_id", caseTaskId);
-            return mapper.selectOne(caseWindupApplyQueryWrapper);
+            CaseWindupApply caseWindupApply = mapper.selectOne(caseWindupApplyQueryWrapper);
+            if (ObjectUtils.isNotEmpty(caseWindupApply)) {
+                QueryWrapper<CaseInfo> caseInfoQueryWrapper =new QueryWrapper<>();
+                caseInfoQueryWrapper.eq("id", caseWindupApply.getCaseId()).select("case_level");
+                CaseInfo caseInfo = caseInfoService.getOne(caseInfoQueryWrapper);
+                caseWindupApply.setCaseLevel(caseInfo.getCaseLevel());
+            }
+            return caseWindupApply;
         }catch (Exception e){
             log.error("[CaseWindupApplyService.getByCaseTaskId]调用失败,异常信息:"+e, e);
             throw new ServiceException("CaseWindupApplyService.getByCaseTaskId", e);
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 28ab532..199bd24 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
@@ -56,4 +56,13 @@
     @PostMapping("/api/wechat/paUser/bindGetUserId")
     ReturnBO bindGetUserId(@RequestBody WechatBindCaseDTO wechatBindCaseDTO);
 
+    /**
+     * 根据id查询组织信息
+     * @url {ctx}/api/client/ctUnit/getById
+     * @param unitId 组织编号
+     * @return Object
+     */
+    @GetMapping("/api/client/ctUnit/getUnitById")
+    ReturnBO getUnitById(@RequestParam("unitId") String unitId);
+
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java
index 97748da..50e903a 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java
@@ -5,6 +5,7 @@
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -47,6 +48,16 @@
     ReturnBO getTimeLimit(@RequestParam String limitTable, @RequestParam(value = "limitType") String limitType);
 
     /**
+     * 获取时限
+     * @url {ctx}/api/client/syTimeLimit/getExpireTime?ownerIds=
+     * @param computeTime
+     * @param limitType
+     * @return
+     */
+    @GetMapping("/api/client/syTimeLimit/getExpireTime")
+    ReturnBO getExpireTime(@RequestParam(value = "computeTime") Date computeTime, @RequestParam(value = "limitType") String limitType);
+
+    /**
      * 根据条件删除附件关系
      * @url {ctx}/api/v1/fileRelate/removeFileRelate
      * @param fileTypeTermsDTO 条件
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 1907587..879c4c5 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
@@ -6,6 +6,7 @@
 import cn.huge.base.common.exception.ClientException;
 import cn.huge.base.common.exception.ServiceException;
 import cn.huge.module.client.api.CustClient;
+import cn.huge.module.cust.dto.CtUnitDTO;
 import cn.huge.module.cust.dto.CtUserDTO;
 import cn.huge.module.cust.dto.PaUserDTO;
 import cn.huge.module.mediate.dto.WechatBindCaseDTO;
@@ -86,8 +87,6 @@
         }
     }
 
-
-
     /**
      * 当事人-获取登录用户-所有信息
      * @param userId 用户编号
@@ -128,4 +127,26 @@
         }
         return userId;
     }
+
+    /**
+     * 根据id查询组织信息
+     * @url {ctx}/api/client/ctUnit/getUnitById
+     * @param unitId 组织编号
+     * @return Object
+     */
+    public CtUnitDTO getUnitById(String unitId){
+        try{
+            ReturnBO returnBo = custClient.getUnitById(unitId);
+            if (ReturnConsts.OK == returnBo.getCode()){
+                CtUnitDTO ctUnitDTO = objectMapper.convertValue(returnBo.getData(), CtUnitDTO.class);
+                return ctUnitDTO;
+            }else{
+                log.error("Client外服务接口[CustClientImpl.getUnitById]请求异常:" + returnBo.getMsg(), returnBo.getMsg());
+                throw new ClientException("CustClientImpl.getUnitById", returnBo.getMsg());
+            }
+        }catch (Exception e){
+            log.error("service方法[CustClientImpl.getUnitById]调用异常:"+e, e);
+            throw new ServiceException("CustClientImpl.getUnitById", e);
+        }
+    }
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
index 2f0fbfa..459cb2b 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
@@ -14,10 +14,7 @@
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestBody;
 
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @title: 系统公共服务微服务调用接口
@@ -113,6 +110,28 @@
     }
 
     /**
+     * 获取时限
+     * @url {ctx}/api/web/syTimeLimit/getExpireTime
+     * @param computeTime
+     * @param limitType
+     * @return
+     */
+    public Date getExpireTime(Date computeTime, String limitType){
+        Date expireTime = null;
+        try{
+            ReturnBO returnBo = sysClient.getExpireTime(computeTime, limitType);
+            if (ReturnConsts.OK == returnBo.getCode()){
+                if (ObjectUtils.isNotEmpty(returnBo.getData())){
+                    expireTime = (Date) returnBo.getData();
+                }
+            }
+        }catch (Exception e){
+            log.error("service方法[SysClientImpl.getExpireTime]调用异常:"+e, e);
+        }
+        return expireTime;
+    }
+
+    /**
      * 根据条件删除附件关系
      * @param fileTypeTermsDTO 条件
      * @return Object
diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/FlowNodeBaseEnum.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java
similarity index 85%
rename from dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/FlowNodeBaseEnum.java
rename to dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java
index 74738a5..7564edc 100644
--- a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/FlowNodeBaseEnum.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java
@@ -1,4 +1,4 @@
-package cn.huge.module.mediate.constant;
+package cn.huge.module.flow.consts;
 
 /**
  * @title": 工作流节点枚举类
@@ -8,7 +8,7 @@
  * @time": 2021-11-05 16":51":48
  * @version": 1.0.0
  */
-public enum FlowNodeBaseEnum {
+public enum FlowNodeEnum {
 
     /**
      * 节点
@@ -60,7 +60,7 @@
         this.des = des;
     }
 
-    FlowNodeBaseEnum(String index, String des) {
+    FlowNodeEnum(String index, String des) {
         this.index = index;
         this.des = des;
     }
@@ -71,9 +71,9 @@
      * @return
      */
     public static String getDes(String index) {
-        for (FlowNodeBaseEnum flowNodeBaseEnum : FlowNodeBaseEnum.values()) {
-            if (flowNodeBaseEnum.getIndex().equals(index)) {
-                return flowNodeBaseEnum.des;
+        for (FlowNodeEnum flowNodeEnum : FlowNodeEnum.values()) {
+            if (flowNodeEnum.getIndex().equals(index)) {
+                return flowNodeEnum.des;
             }
         }
         return null;
@@ -85,9 +85,9 @@
      * @return
      */
     public static String getIndex(String des) {
-        for (FlowNodeBaseEnum flowNodeBaseEnum : FlowNodeBaseEnum.values()) {
-            if (flowNodeBaseEnum.getDes().equals(des)) {
-                return flowNodeBaseEnum.index;
+        for (FlowNodeEnum flowNodeEnum : FlowNodeEnum.values()) {
+            if (flowNodeEnum.getDes().equals(des)) {
+                return flowNodeEnum.index;
             }
         }
         return null;
@@ -98,7 +98,7 @@
      * @param index
      * @return
      */
-    public static FlowNodeBaseEnum getByIndex(final String index) {
+    public static FlowNodeEnum getByIndex(final String index) {
         switch (index) {
             case "ZXSL":
                 return FLOW_NODE_ZXSL;
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
new file mode 100644
index 0000000..1886d47
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowableConsts.java
@@ -0,0 +1,71 @@
+package cn.huge.module.flow.consts;
+
+/**
+ * @title: 用户相关常量类
+ * @description: 用户相关常量
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2021-11-05 16:51:48
+ * @version: 1.0.0
+ */
+public class FlowableConsts {
+    /**
+     * 两个默认流程定义编号
+     * 自行受理:GZDYH_ZXSL_3LEVEL_V1
+     * 来访登记:GZDYH_LFDJ_3LEVEL_V1
+     */
+    public static final String FLOWABLE_ID_LFDJ = "GZDYH_LFDJ_3LEVEL_V1";
+    public static final String FLOWABLE_ID_ZXSL = "GZDYH_ZXSL_3LEVEL_V1";
+
+    /**
+     * 工作流通用任务条件,
+     * 前进:forward,退回:back,
+     */
+    public static final String OPERATION_forward = "forward";
+    public static final String OPERATION_back = "back";
+
+    /**
+     * 工作流业务任务条件,
+     * 自行受理:zxsl
+     * 交办给直属组织:jb_zszz,交办给综治中心:jb_zzzx
+     * 受理:sl
+     * 回退申请:htsq,回退审核同意:htsh_ty,回退审核不同意:htsh_bty
+     * 上报:sb,上报审核同意:htsq_ty,上报审核不同意:htsq_bty
+     * 结案审核同意:jash_ty,结案审核不同意:jash_bty,htsh_bty_zj,htsh_bty_qj
+     */
+    public static final String OPERATION_jb_zszz = "jb_zszz";
+    public static final String OPERATION_jb_zzzx = "jb_zzzx";
+    public static final String OPERATION_sl = "sl";
+    public static final String OPERATION_htsq = "htsq";
+    public static final String OPERATION_htsh_ty = "htsh_ty";
+    public static final String OPERATION_htsh_bty = "htsh_bty";
+    public static final String OPERATION_htsh_bty_zj = "htsh_bty_zj";
+    public static final String OPERATION_htsh_bty_qj = "htsh_bty_qj";
+    public static final String OPERATION_sb = "sb";
+    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_bty = "jash_bty";
+}
+/**
+ * -------------------_ooOoo_-------------------
+ * ------------------o8888888o------------------
+ * ------------------88" . "88------------------
+ * ------------------(| -_- |)------------------
+ * ------------------O\  =  /O------------------
+ * ---------------____/`---'\____---------------
+ * -------------.'  \\|     |//  `.-------------
+ * ------------/  \\|||  :  |||//  \------------
+ * -----------/  _||||| -:- |||||-  \-----------
+ * -----------|   | \\\  -  /// |   |-----------
+ * -----------| \_|  ''\---/''  |   |-----------
+ * -----------\  .-\__  `-`  ___/-. /-----------
+ * ---------___`. .'  /--.--\  `. . __----------
+ * ------."" '<  `.___\_<|>_/___.'  >'"".-------
+ * -----| | :  `- \`.;`\ _ /`;.`/ - ` : | |-----
+ * -----\  \ `-.   \_ __\ /__ _/   .-` /  /-----
+ * ======`-.____`-.___\_____/___.-`____.-'======
+ * -------------------`=---='
+ * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ * ---------佛祖保佑---hugeinfo---永无BUG----------
+ */
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/controller/web/FlowNodeWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/controller/web/FlowNodeWebController.java
index a7d9cab..668d7d3 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/controller/web/FlowNodeWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/controller/web/FlowNodeWebController.java
@@ -23,7 +23,7 @@
  * @description: 业务流程节点表接口api-web端
  * @company: hugeinfo
  * @author: liyj
- * @time: 2024-09-06 15:50:06
+ * @time: 2024-09-08 15:09:08
  * @version: 1.0.0
  */
 @Slf4j
@@ -98,6 +98,16 @@
         if (StringUtils.isNotBlank(api)){
             terms.put("api", api);
         }
+        // 对应纠纷进度
+        String caseProcess = request.getParameter("caseProcess");
+        if (StringUtils.isNotBlank(caseProcess)){
+            terms.put("caseProcess", caseProcess);
+        }
+        // 对应纠纷进度名称
+        String caseProcessName = request.getParameter("caseProcessName");
+        if (StringUtils.isNotBlank(caseProcessName)){
+            terms.put("caseProcessName", caseProcessName);
+        }
         // 节点处理时限,单位:天
         String expire = request.getParameter("expire");
         if (StringUtils.isNotBlank(expire)){
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/controller/web/FlowableNodeWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/controller/web/FlowableNodeWebController.java
index aeaedf5..dede60a 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/controller/web/FlowableNodeWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/controller/web/FlowableNodeWebController.java
@@ -23,7 +23,7 @@
  * @description: 工作流流程节点信息表接口api-web端
  * @company: hugeinfo
  * @author: liyj
- * @time: 2024-09-06 15:50:06
+ * @time: 2024-09-08 15:09:07
  * @version: 1.0.0
  */
 @Slf4j
@@ -62,26 +62,6 @@
         String icon = request.getParameter("icon");
         if (StringUtils.isNotBlank(icon)){
             terms.put("icon", icon);
-        }
-        // 对应请求接口方式,POST:post请求,GET:get请求,PUT:put请求,DELETE:delete请求
-        String apiType = request.getParameter("apiType");
-        if (StringUtils.isNotBlank(apiType)){
-            terms.put("apiType", apiType);
-        }
-        // 对应请求接口
-        String api = request.getParameter("api");
-        if (StringUtils.isNotBlank(api)){
-            terms.put("api", api);
-        }
-        // 对应纠纷进度
-        String caseProcess = request.getParameter("caseProcess");
-        if (StringUtils.isNotBlank(caseProcess)){
-            terms.put("caseProcess", caseProcess);
-        }
-        // 对应纠纷进度名称
-        String caseProcessName = request.getParameter("caseProcessName");
-        if (StringUtils.isNotBlank(caseProcessName)){
-            terms.put("caseProcessName", caseProcessName);
         }
         // 删除状态,0:未删除,1:已删除
         String deleteStatus = request.getParameter("deleteStatus");
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/FlowNodeMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/FlowNodeMapper.java
index a5835e0..e07c2cb 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/FlowNodeMapper.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/FlowNodeMapper.java
@@ -14,7 +14,7 @@
 * @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
 * @company: hugeinfo
 * @author: liyj
-* @time: 2024-09-06 15:50:06
+* @time: 2024-09-08 15:09:08
 * @version 1.0.0
 */
 @Repository
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/FlowableNodeMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/FlowableNodeMapper.java
index 34d1c10..31768f4 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/FlowableNodeMapper.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/FlowableNodeMapper.java
@@ -14,7 +14,7 @@
 * @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
 * @company: hugeinfo
 * @author: liyj
-* @time: 2024-09-06 15:50:06
+* @time: 2024-09-08 15:09:07
 * @version 1.0.0
 */
 @Repository
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/xml/FlowNodeMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/xml/FlowNodeMapper.xml
index 351cdd4..ab4d572 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/xml/FlowNodeMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/xml/FlowNodeMapper.xml
@@ -5,7 +5,7 @@
  * @description: 自定义sql,请自行实现业务逻辑
  * @company: hugeinfo
  * @author: liyj
- * @time:2024-09-06 15:50:06
+ * @time:2024-09-08 15:09:08
  * @version 1.0.0
 -->
 <mapper namespace="cn.huge.module.flow.dao.mapper.FlowNodeMapper">
@@ -22,6 +22,8 @@
             <result property="nodeIcon" column="node_icon"/>
             <result property="apiType" column="api_type"/>
             <result property="api" column="api"/>
+            <result property="caseProcess" column="case_process"/>
+            <result property="caseProcessName" column="case_process_name"/>
             <result property="expire" column="expire"/>
             <result property="candeType" column="cande_type"/>
             <result property="candeUnitId" column="cande_unit_id"/>
@@ -55,6 +57,8 @@
         node_icon,
         api_type,
         api,
+        case_process,
+        case_process_name,
         expire,
         cande_type,
         cande_unit_id,
@@ -85,6 +89,8 @@
             <if test="entity.nodeIcon != null">node_icon = #{entity.nodeIcon},</if>
             <if test="entity.apiType != null">api_type = #{entity.apiType},</if>
             <if test="entity.api != null">api = #{entity.api},</if>
+            <if test="entity.caseProcess != null">case_process = #{entity.caseProcess},</if>
+            <if test="entity.caseProcessName != null">case_process_name = #{entity.caseProcessName},</if>
             <if test="entity.expire != null">expire = #{entity.expire},</if>
             <if test="entity.candeType != null">cande_type = #{entity.candeType},</if>
             <if test="entity.candeUnitId != null">cande_unit_id = #{entity.candeUnitId},</if>
@@ -140,6 +146,12 @@
                 <if test="terms.api != null and terms.api !=''">
                     and api = #{terms.api}
                 </if>
+                <if test="terms.caseProcess != null and terms.caseProcess !=''">
+                    and case_process = #{terms.caseProcess}
+                </if>
+                <if test="terms.caseProcessName != null and terms.caseProcessName !=''">
+                    and case_process_name = #{terms.caseProcessName}
+                </if>
                 <if test="terms.expire != null and terms.expire !=''">
                     and expire = #{terms.expire}
                 </if>
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/xml/FlowableNodeMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/xml/FlowableNodeMapper.xml
index b0c3436..ada8645 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/xml/FlowableNodeMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/dao/mapper/xml/FlowableNodeMapper.xml
@@ -5,7 +5,7 @@
  * @description: 自定义sql,请自行实现业务逻辑
  * @company: hugeinfo
  * @author: liyj
- * @time:2024-09-06 15:50:06
+ * @time:2024-09-08 15:09:07
  * @version 1.0.0
 -->
 <mapper namespace="cn.huge.module.flow.dao.mapper.FlowableNodeMapper">
@@ -15,10 +15,6 @@
             <result property="name" column="name"/>
             <result property="des" column="des"/>
             <result property="icon" column="icon"/>
-            <result property="apiType" column="api_type"/>
-            <result property="api" column="api"/>
-            <result property="caseProcess" column="case_process"/>
-            <result property="caseProcessName" column="case_process_name"/>
             <result property="deleteStatus" column="delete_status"/>
             <result property="custId" column="cust_id"/>
             <result property="createTime" column="create_time"/>
@@ -32,10 +28,6 @@
         name,
         des,
         icon,
-        api_type,
-        api,
-        case_process,
-        case_process_name,
         delete_status,
         cust_id,
         create_time,
@@ -46,10 +38,6 @@
             <if test="entity.name != null">name = #{entity.name},</if>
             <if test="entity.des != null">des = #{entity.des},</if>
             <if test="entity.icon != null">icon = #{entity.icon},</if>
-            <if test="entity.apiType != null">api_type = #{entity.apiType},</if>
-            <if test="entity.api != null">api = #{entity.api},</if>
-            <if test="entity.caseProcess != null">case_process = #{entity.caseProcess},</if>
-            <if test="entity.caseProcessName != null">case_process_name = #{entity.caseProcessName},</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>
@@ -70,18 +58,6 @@
                 </if>
                 <if test="terms.icon != null and terms.icon !=''">
                     and icon = #{terms.icon}
-                </if>
-                <if test="terms.apiType != null and terms.apiType !=''">
-                    and api_type = #{terms.apiType}
-                </if>
-                <if test="terms.api != null and terms.api !=''">
-                    and api = #{terms.api}
-                </if>
-                <if test="terms.caseProcess != null and terms.caseProcess !=''">
-                    and case_process = #{terms.caseProcess}
-                </if>
-                <if test="terms.caseProcessName != null and terms.caseProcessName !=''">
-                    and case_process_name = #{terms.caseProcessName}
                 </if>
                 <if test="terms.deleteStatus = null and terms.deleteStatus =''">
                     and delete_status = 0
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/bo/FlowNodeBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/bo/FlowNodeBO.java
index 9a39eb4..7e77ad5 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/bo/FlowNodeBO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/bo/FlowNodeBO.java
@@ -7,7 +7,7 @@
  * @description: 业务流程节点表业务扩展类
  * @company: hugeinfo
  * @author: liyj
- * @time: 2024-09-06 15:50:06
+ * @time: 2024-09-08 15:09:08
  * @version: 1.0.0
  * @see cn.huge.module.flow.domain.po.FlowNode
  */
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/bo/FlowableNodeBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/bo/FlowableNodeBO.java
index 40265fc..563a0c7 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/bo/FlowableNodeBO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/bo/FlowableNodeBO.java
@@ -7,7 +7,7 @@
  * @description: 工作流流程节点信息表业务扩展类
  * @company: hugeinfo
  * @author: liyj
- * @time: 2024-09-06 15:50:06
+ * @time: 2024-09-08 15:09:07
  * @version: 1.0.0
  * @see cn.huge.module.flow.domain.po.FlowableNode
  */
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/po/FlowNode.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/po/FlowNode.java
index 6fe1a8c..473d43e 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/po/FlowNode.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/po/FlowNode.java
@@ -13,7 +13,7 @@
  * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
  * @company:hugeinfo
  * @author: liyj
- * @time: 2024-09-06 15:50:06
+ * @time: 2024-09-08 15:09:08
  * @version 1.0.0
  */
 @TableName(value = "dyh_flow_node")
@@ -85,6 +85,18 @@
     */
     @TableField(value = "api")
     private String api;
+
+    /**
+    * 对应纠纷进度
+    */
+    @TableField(value = "case_process")
+    private String caseProcess;
+
+    /**
+    * 对应纠纷进度名称
+    */
+    @TableField(value = "case_process_name")
+    private String caseProcessName;
 
     /**
     * 节点处理时限,单位:天
@@ -189,4 +201,16 @@
     @TableField(value = "update_time")
     private Date updateTime;
 
+    /**
+     * 流程实例编号
+     */
+    @TableField(exist = false)
+    private String processInstanceId;
+
+    /**
+     * 流程实例任务编号
+     */
+    @TableField(exist = false)
+    private String processTaskId;
+
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/po/FlowableNode.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/po/FlowableNode.java
index bb6b456..7b1be77 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/po/FlowableNode.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/domain/po/FlowableNode.java
@@ -13,7 +13,7 @@
  * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
  * @company:hugeinfo
  * @author: liyj
- * @time: 2024-09-06 15:50:06
+ * @time: 2024-09-08 15:09:07
  * @version 1.0.0
  */
 @TableName(value = "dyh_flowable_node")
@@ -43,30 +43,6 @@
     */
     @TableField(value = "icon")
     private String icon;
-
-    /**
-    * 对应请求接口方式,POST:post请求,GET:get请求,PUT:put请求,DELETE:delete请求
-    */
-    @TableField(value = "api_type")
-    private String apiType;
-
-    /**
-    * 对应请求接口
-    */
-    @TableField(value = "api")
-    private String api;
-
-    /**
-    * 对应纠纷进度
-    */
-    @TableField(value = "case_process")
-    private String caseProcess;
-
-    /**
-    * 对应纠纷进度名称
-    */
-    @TableField(value = "case_process_name")
-    private String caseProcessName;
 
     /**
     * 删除状态,0:未删除,1:已删除
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowInfoService.java
index 7cb9355..4ea5a47 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowInfoService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowInfoService.java
@@ -2,11 +2,24 @@
 
 import cn.huge.base.common.exception.ServiceException;
 import cn.huge.base.common.utils.DateUtils;
+import cn.huge.base.common.utils.FieldUtils;
 import cn.huge.base.common.utils.IdUtils;
+import cn.huge.base.common.utils.ObjectUtils;
 import cn.huge.module.client.api.impl.UtilsClientImpl;
 import cn.huge.module.flow.dao.mapper.FlowInfoMapper;
 import cn.huge.module.flow.domain.po.FlowInfo;
+import cn.huge.module.flow.domain.po.FlowNode;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Maps;
+import org.apache.commons.collections.CollectionUtils;
+import org.flowable.engine.HistoryService;
+import org.flowable.engine.RepositoryService;
+import org.flowable.engine.RuntimeService;
+import org.flowable.engine.TaskService;
+import org.flowable.engine.runtime.ProcessInstance;
+import org.flowable.task.api.Task;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import lombok.extern.slf4j.Slf4j;
@@ -38,7 +51,18 @@
     private FlowInfoMapper mapper;
 
     @Autowired
+    private FlowNodeService flowNodeService;
+    @Autowired
     private UtilsClientImpl utilsClient;
+
+    @Autowired
+    private RuntimeService runtimeService;
+    @Autowired
+    private TaskService taskService;
+    @Autowired
+    private HistoryService historyService;
+    @Autowired
+    private RepositoryService repositoryService;
 
     /**
     * 更新对象
@@ -130,4 +154,124 @@
         }
     }
 
+    /**
+     * 封装任务节点
+     * @param flowableId 流程定义编号
+     * @param task 流程任务
+     * @return FlowNodeBaseDTO
+     */
+    public FlowNode getFlowNode(String flowableId, Task task){
+        // 封装任务节点
+        FlowNode flowNode = null;
+        if (ObjectUtils.isNotEmpty(task)) {
+            flowNode = flowNodeService.listByFlowAndNode(flowableId, task.getTaskDefinitionKey());
+            if (ObjectUtils.isNotEmpty(flowNode)) {
+                flowNode.setProcessInstanceId(task.getProcessInstanceId());
+                flowNode.setProcessTaskId(task.getId());
+            }
+        }
+        return flowNode;
+    }
+
+    /**
+     * 单节点业务操作-根据流程编号启动流程
+     * @param flowableId 流程定义编号
+     * @param businessId 业务编号
+     * @return FlowNodeBaseDTO
+     */
+    public FlowNode startFlow(String flowableId, String businessId) {
+        try {
+            // 启动任务
+            ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(flowableId, businessId);
+            Task nextTask = getTaskByProcdefId(processInstance.getId());
+            // 封装任务节点
+            FlowNode flowNode = this.getFlowNode(flowableId, nextTask);
+            return flowNode;
+        }catch (Exception e){
+            log.error("service方法[FlowInfoService.startFlow]调用异常:"+e, e);
+            throw new ServiceException("FlowInfoService.startFlow", e);
+        }
+    }
+
+    /**
+     * 单节点业务操作-通过当前任务编号完成当前任务
+     * @param flowableId 流程定义编号
+     * @param taskId 任务编号
+     * @param operation 操作调解
+     * @param handlerUserId 任务执行者
+     * @return FlowNodeBaseDTO
+     */
+    public FlowNode completeTask(String flowableId, String taskId, String operation, String handlerUserId) {
+        try{
+            Task task = findTaskById(taskId);
+            task.setAssignee(handlerUserId);
+            Map flowParam = Maps.newHashMap();
+            flowParam.put("operation", operation);
+            taskService.complete(task.getId(), flowParam);
+            Task nextTask = getTaskByProcdefId(task.getProcessInstanceId());
+            FlowNode flowNode = this.getFlowNode(flowableId, nextTask);
+            return flowNode;
+        }catch (Exception e){
+            log.error("service方法[FlowInfoService.completeByTaskId]调用异常:"+e, e);
+            throw new ServiceException("FlowInfoService.completeByTaskId", e);
+        }
+    }
+
+    /**
+     * 单节点业务操作-任务指定人员
+     * @param taskId 任务编号
+     * @param handlerUserId 任务候选人
+     */
+    public void appointTaskOwner(String taskId, String handlerUserId) {
+        try{
+            Task task = findTaskById(taskId);
+            taskService.addCandidateUser(task.getId(), handlerUserId);
+        }catch (Exception e){
+            log.error("service方法[FlowInfoService.appointTaskOwner]调用异常:"+e, e);
+            throw new ServiceException("FlowInfoService.appointTaskOwner", e);
+        }
+    }
+
+    /**
+     * 根据流程实例Id获取任务
+     * @param processInstanceId 流程实例Id
+     * @return Task
+     */
+    public Task getTaskByProcdefId(String processInstanceId){
+        Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();
+        return task;
+    }
+
+    /**
+     * 根据任务ID,获取任务
+     * @param taskId 任务ID
+     * @return Task
+     */
+    public Task findTaskById(String taskId) {
+        return taskService.createTaskQuery().taskId(taskId).singleResult();
+    }
+
+    /**
+     * 根据流程实例Id获取当前所有任务
+     * @param processInstanceId 流程示例编号
+     * @return List<Task>
+     */
+    public List<Task> getTaskByProcdefIds(String processInstanceId){
+        List<Task> tasks = taskService.createTaskQuery().processInstanceId(processInstanceId).list();
+        return tasks;
+    }
+
+    /**
+     * 结束流程
+     * @param processInstanceId 流程示例编号
+     */
+    public void endFlow(String processInstanceId) {
+        try{
+            runtimeService.deleteProcessInstance(processInstanceId,"");
+        }catch (Exception e){
+            log.error("service方法[FlowInfoService.endFlow]调用异常:"+e, e);
+            throw new ServiceException("FlowInfoService.endFlow", e);
+        }
+    }
+
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowNodeService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowNodeService.java
index 75f1b0b..0445025 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowNodeService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowNodeService.java
@@ -6,6 +6,7 @@
 import cn.huge.module.client.api.impl.UtilsClientImpl;
 import cn.huge.module.flow.dao.mapper.FlowNodeMapper;
 import cn.huge.module.flow.domain.po.FlowNode;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -26,7 +27,7 @@
  * @Description 业务流程节点表业务逻辑处理
  * @company hugeinfo
  * @author liyj
- * @Time 2024-09-06 15:50:06
+ * @Time 2024-09-08 15:09:08
  * @version 1.0.0
  */
 @Slf4j
@@ -130,4 +131,16 @@
         }
     }
 
+    /**
+     * 根据流程定义编号和节点编号查询
+     * @param flowableId 流程定义编号
+     * @param nodeId 节点编号
+     * @return FlowNode
+     */
+    public FlowNode listByFlowAndNode(String flowableId, String nodeId){
+        QueryWrapper<FlowNode> flowNodeQueryWrapper = new QueryWrapper<>();
+        flowNodeQueryWrapper.eq("flowable_id", flowableId).eq("node_id", nodeId);
+        return mapper.selectOne(flowNodeQueryWrapper);
+    }
+
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowableNodeService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowableNodeService.java
index 7468be9..d4ec4ce 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowableNodeService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowableNodeService.java
@@ -26,7 +26,7 @@
  * @Description 工作流流程节点信息表业务逻辑处理
  * @company hugeinfo
  * @author liyj
- * @Time 2024-09-06 15:50:06
+ * @Time 2024-09-08 15:09:07
  * @version 1.0.0
  */
 @Slf4j
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_LFDJ_3LEVEL_V1.bpmn20.xml
new file mode 100644
index 0000000..68072e6
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LFDJ_3LEVEL_V1.bpmn20.xml
@@ -0,0 +1,343 @@
+<?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>
+    <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="ZJ_HTSH" name="镇街交办回退-镇街综治中心待审核"/>
+    <userTask id="QJ_SBSH" name="镇街上报-区综治中心待审核"/>
+    <userTask id="QJ_DFP" name="区综治中心待分派"/>
+    <userTask id="QJ_DSL" name="区级组织待受理"/>
+    <userTask id="QJ_HTSH" name="区交办回退-区综治中心待审核"/>
+    <sequenceFlow id="sid-BB5A459C-B054-420A-923C-066CEB37F080" name="受理" sourceRef="QJ_DSL" targetRef="BLFK"/>
+    <userTask id="SJ_SBSH" name="区上报-市综治中心待审核"/>
+    <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">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sl'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-7D5F25D3-BFF5-4CCC-BBEE-988340FDBBDC" name="区交办区级组织回退申请" sourceRef="QJ_DSL" targetRef="QJ_HTSH">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsq'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-C180B358-6A35-4378-8CA9-5BAB85FE89F4" name="区上报审核同意" sourceRef="SJ_SBSH" targetRef="SJ_DFP">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sbsh_ty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-0DE15696-ADC0-4E8B-A261-B5B5645FF355" name="市交办区综治中心" sourceRef="SJ_DFP" targetRef="QJ_DFP">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jb_zzzx'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-8719B46B-46EE-4612-95D2-3BEF182D783A" name="受理" sourceRef="QJ_DFP" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sl'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-A4FC5FA9-BF8D-473C-A082-3C57FE12D4F8" name="受理" sourceRef="ZJ_DFP" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sl'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-B67F098E-0836-4721-890A-F97A5261D9E7" name="镇街交办镇街级组织" sourceRef="ZJ_DFP" targetRef="ZJ_DSL">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jb_zszz'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-8652BBA6-729E-43BC-BF51-236C28FF0941" name="镇街交办回退审核不同意" sourceRef="ZJ_HTSH" targetRef="ZJ_DSL">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-A8908233-78BC-453D-B685-D4482C4A844D" name="镇街交办回退申请" sourceRef="ZJ_DSL" targetRef="ZJ_HTSH">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsq'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-98415952-9130-4812-85B7-7AAAFEA61B08" name="镇街交办回退审核同意" sourceRef="ZJ_HTSH" targetRef="ZJ_DFP">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_ty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-D4784E91-83A1-4B03-8A65-218763D689D9" name="受理" sourceRef="ZJ_DSL" targetRef="BLFK">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sl'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-8A779264-9E58-495C-A1E3-118D4099F5FB" name="镇街上报" sourceRef="ZJ_DFP" targetRef="QJ_SBSH">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sb'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-A06559C9-EAA5-4878-80EE-8E7BE802E321" name="镇街上报审核不同意" sourceRef="QJ_SBSH" targetRef="ZJ_DFP">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sbsh_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-B4976622-2E0D-4FB5-8DDC-077B9B556183" name="区交办镇街综治中心回退申请" sourceRef="ZJ_DFP" targetRef="QJ_HTSH">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsq'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-8E3D0F8C-693B-4AE9-9D12-A97EC477C082" name="区交办回退审核同意" sourceRef="QJ_HTSH" targetRef="QJ_DFP">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_ty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-3009265B-2E06-4F4D-9C49-E09F706A8E23" name="区交办区级组织回退审核不同意" sourceRef="QJ_HTSH" targetRef="QJ_DSL">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-0553BC77-9DD8-4E22-857A-7ECD4C467398" name="镇街上报审核同意" sourceRef="QJ_SBSH" targetRef="QJ_DFP">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sbsh_ty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-E5D28687-1705-499F-B14D-93BE28258667" name="区上报审核不同意" sourceRef="SJ_SBSH" targetRef="QJ_DFP">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sbsh_bty'}]]></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_zj'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-84E57742-F82B-4B9B-A71B-ABF25770A9CC" name="市交办区综治中心回退申请" sourceRef="QJ_DFP" targetRef="SJ_HTSH">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsq'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-6F8353BD-DBF4-405E-9CAD-B2CFFD70804C" name="区交办镇街综治中心" sourceRef="QJ_DFP" targetRef="ZJ_DFP">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jb_zzzx'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-9E45208D-BE9B-4656-887D-DD5B989C8072" name="区交办区级组织" sourceRef="QJ_DFP" targetRef="QJ_DSL">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jb_zszz'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-4CA7C483-75FE-48C0-90C3-7FB895B04DC7" name="区上报" sourceRef="QJ_DFP" targetRef="SJ_SBSH">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='sb'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-04A5C662-116F-469A-B85F-4947C7330970" name="市交办区综治中心回退审核不同意" sourceRef="SJ_HTSH" targetRef="QJ_DFP">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_bty_qj'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-F8079D11-8A61-4AF1-89B4-194FE609610C" name="市交办市级组织回退审核不同意" sourceRef="SJ_HTSH" targetRef="SJ_DSL">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_bty'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-4DC80088-03E0-4790-9A32-5F0361EF0583" name="市交办市级组织回退申请" sourceRef="SJ_DSL" targetRef="SJ_HTSH">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsq'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-E51C86AA-C90E-4CB1-8D6E-776DADCBFE49" name="市交办市级组织" sourceRef="SJ_DFP" targetRef="SJ_DSL">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jb_zszz'}]]></conditionExpression>
+    </sequenceFlow>
+    <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>
+  </process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_GZDYH_LFDJ_3LEVEL_V1">
+    <bpmndi:BPMNPlane bpmnElement="GZDYH_LFDJ_3LEVEL_V1" id="BPMNPlane_GZDYH_LFDJ_3LEVEL_V1">
+      <bpmndi:BPMNShape bpmnElement="START" id="BPMNShape_START">
+        <omgdc:Bounds height="30.0" width="30.0" x="14.999999552965178" y="159.99999560415753"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="ZJ_DFP" id="BPMNShape_ZJ_DFP">
+        <omgdc:Bounds height="80.0" width="100.00000000000001" x="89.99999731779103" y="134.99999597668656"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="ZJ_DSL" id="BPMNShape_ZJ_DSL">
+        <omgdc:Bounds height="80.0" width="100.0" x="529.9999853968624" y="29.999998658895528"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="BLFK" id="BPMNShape_BLFK">
+        <omgdc:Bounds height="80.0" width="99.99999999999977" x="922.4999754503378" y="134.99999597668656"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="JASQ" id="BPMNShape_JASQ">
+        <omgdc:Bounds height="80.0" width="100.0" x="1067.4999891966586" y="134.99999798834327"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="JASH" id="BPMNShape_JASH">
+        <omgdc:Bounds height="80.0" width="100.0" x="1212.4999891966586" y="134.99999798834327"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="ZJ_HTSH" id="BPMNShape_ZJ_HTSH">
+        <omgdc:Bounds height="80.0" width="100.00000000000009" x="239.999978542329" y="29.999998658895528"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="QJ_SBSH" id="BPMNShape_QJ_SBSH">
+        <omgdc:Bounds height="80.00000000000006" width="99.99999999999996" x="89.99999731779103" y="459.99998420476953"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="QJ_DFP" id="BPMNShape_QJ_DFP">
+        <omgdc:Bounds height="80.00000000000006" width="100.0" x="314.99998591840307" y="459.9999773502357"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="QJ_DSL" id="BPMNShape_QJ_DSL">
+        <omgdc:Bounds height="80.0" width="100.0" x="539.9999839067463" y="269.9999879300598"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="QJ_HTSH" id="BPMNShape_QJ_HTSH">
+        <omgdc:Bounds height="80.0" width="99.99999999999994" x="314.9999906122686" y="269.9999879300598"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="SJ_SBSH" id="BPMNShape_SJ_SBSH">
+        <omgdc:Bounds height="80.00000000000011" width="99.99999999999999" x="89.9999986588955" y="689.9999897181989"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="SJ_DFP" id="BPMNShape_SJ_DFP">
+        <omgdc:Bounds height="80.00000000000011" width="100.0" x="314.9999906122686" y="689.9999794363981"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="SJ_HTSH" id="BPMNShape_SJ_HTSH">
+        <omgdc:Bounds height="80.0" width="99.99999999999989" x="624.9999861419203" y="569.9999636411679"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="SJ_DSL" id="BPMNShape_SJ_DSL">
+        <omgdc:Bounds height="80.0" width="100.0" x="897.4999653175485" 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"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="END" id="BPMNShape_END">
+        <omgdc:Bounds height="28.0" width="28.0" x="1248.4999705925593" y="564.9999905377625"/>
+      </bpmndi:BPMNShape>
+      <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"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-F8079D11-8A61-4AF1-89B4-194FE609610C" id="BPMNEdge_sid-F8079D11-8A61-4AF1-89B4-194FE609610C">
+        <omgdi:waypoint x="724.9499861417911" y="589.9999635924937"/>
+        <omgdi:waypoint x="897.4999653175485" 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-A06559C9-EAA5-4878-80EE-8E7BE802E321" id="BPMNEdge_sid-A06559C9-EAA5-4878-80EE-8E7BE802E321">
+        <omgdi:waypoint x="139.9999985196551" y="459.99998420476953"/>
+        <omgdi:waypoint x="139.9999973224324" y="214.94999597668658"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-97B79C3A-867D-4057-86E1-58626E22F7E3" id="BPMNEdge_sid-97B79C3A-867D-4057-86E1-58626E22F7E3">
+        <omgdi:waypoint x="1167.4499891966586" y="174.99999798834327"/>
+        <omgdi:waypoint x="1212.4999891966393" y="174.99999798834327"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-B38ABFCE-C643-449F-8AE3-058FE0997A12" id="BPMNEdge_sid-B38ABFCE-C643-449F-8AE3-058FE0997A12">
+        <omgdi:waypoint x="1262.4999891966586" y="134.99999798834327"/>
+        <omgdi:waypoint x="1262.4999891966586" y="68.00000020861626"/>
+        <omgdi:waypoint x="972.4999754503377" y="68.00000020861626"/>
+        <omgdi:waypoint x="972.4999754503377" y="134.99999597668656"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-84E57742-F82B-4B9B-A71B-ABF25770A9CC" id="BPMNEdge_sid-84E57742-F82B-4B9B-A71B-ABF25770A9CC">
+        <omgdi:waypoint x="367.7237370172767" y="539.9499773502358"/>
+        <omgdi:waypoint x="624.9999861419203" y="629.6513046901603"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-7D5F25D3-BFF5-4CCC-BBEE-988340FDBBDC" id="BPMNEdge_sid-7D5F25D3-BFF5-4CCC-BBEE-988340FDBBDC">
+        <omgdi:waypoint x="539.9999839066169" y="329.99998483066406"/>
+        <omgdi:waypoint x="414.9499906122686" y="329.99998790547113"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-3009265B-2E06-4F4D-9C49-E09F706A8E23" id="BPMNEdge_sid-3009265B-2E06-4F4D-9C49-E09F706A8E23">
+        <omgdi:waypoint x="414.9499906122686" y="289.9999879300598"/>
+        <omgdi:waypoint x="539.9999839066215" y="289.9999879300598"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-0DE15696-ADC0-4E8B-A261-B5B5645FF355" id="BPMNEdge_sid-0DE15696-ADC0-4E8B-A261-B5B5645FF355">
+        <omgdi:waypoint x="339.9999903617707" y="689.9999794363981"/>
+        <omgdi:waypoint x="339.999990165234" y="540.6698992893806"/>
+      </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"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-C180B358-6A35-4378-8CA9-5BAB85FE89F4" id="BPMNEdge_sid-C180B358-6A35-4378-8CA9-5BAB85FE89F4">
+        <omgdi:waypoint x="189.94999724572128" y="729.9999874333544"/>
+        <omgdi:waypoint x="314.99998880685246" y="729.9999817189581"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-6F8353BD-DBF4-405E-9CAD-B2CFFD70804C" id="BPMNEdge_sid-6F8353BD-DBF4-405E-9CAD-B2CFFD70804C">
+        <omgdi:waypoint x="337.0279577189482" y="459.9999773502357"/>
+        <omgdi:waypoint x="165.6643329875281" y="214.94999597668658"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-BB5A459C-B054-420A-923C-066CEB37F080" id="BPMNEdge_sid-BB5A459C-B054-420A-923C-066CEB37F080">
+        <omgdi:waypoint x="639.9499839067461" y="292.35292976823126"/>
+        <omgdi:waypoint x="922.4999754503378" y="192.62940708035316"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-04A5C662-116F-469A-B85F-4947C7330970" id="BPMNEdge_sid-04A5C662-116F-469A-B85F-4947C7330970">
+        <omgdi:waypoint x="624.9999861419201" y="592.2580303812292"/>
+        <omgdi:waypoint x="414.94998591840306" y="517.7241686769145"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-E51C86AA-C90E-4CB1-8D6E-776DADCBFE49" id="BPMNEdge_sid-E51C86AA-C90E-4CB1-8D6E-776DADCBFE49">
+        <omgdi:waypoint x="414.94999061226815" y="722.1286382139056"/>
+        <omgdi:waypoint x="897.4999653175482" y="646.1623280576964"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-8719B46B-46EE-4612-95D2-3BEF182D783A" id="BPMNEdge_sid-8719B46B-46EE-4612-95D2-3BEF182D783A">
+        <omgdi:waypoint x="414.9499859180182" y="499.9999773502358"/>
+        <omgdi:waypoint x="947.4999754503378" y="499.9999773502358"/>
+        <omgdi:waypoint x="947.4999754503378" y="214.94999597668658"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-13C1AC7D-ACE2-45AE-8B02-D9A6E5ADF777" id="BPMNEdge_sid-13C1AC7D-ACE2-45AE-8B02-D9A6E5ADF777">
+        <omgdi:waypoint x="1022.4499754503375" y="174.99999666966758"/>
+        <omgdi:waypoint x="1067.4999891966297" y="174.99999729466862"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-E5D28687-1705-499F-B14D-93BE28258667" id="BPMNEdge_sid-E5D28687-1705-499F-B14D-93BE28258667">
+        <omgdi:waypoint x="177.67079992478847" y="689.9999897181989"/>
+        <omgdi:waypoint x="319.1602666546586" y="539.9499773502358"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-0B45B4F0-4106-4B5E-A8F4-EFC9832072F8" id="BPMNEdge_sid-0B45B4F0-4106-4B5E-A8F4-EFC9832072F8">
+        <omgdi:waypoint x="414.9499906111769" y="749.9999794363982"/>
+        <omgdi:waypoint x="1021.4999754503376" y="749.9999794363982"/>
+        <omgdi:waypoint x="1021.4999754503376" 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"/>
+        <omgdi:waypoint x="339.9499785422963" y="49.99999865889553"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-4CA7C483-75FE-48C0-90C3-7FB895B04DC7" id="BPMNEdge_sid-4CA7C483-75FE-48C0-90C3-7FB895B04DC7">
+        <omgdi:waypoint x="314.99998591840307" y="520.8081864151441"/>
+        <omgdi:waypoint x="116.11666517401628" y="689.9999897181989"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-080C79C3-4D90-407B-8451-F88A2C4D9F7A" id="BPMNEdge_sid-080C79C3-4D90-407B-8451-F88A2C4D9F7A">
+        <omgdi:waypoint x="645.1884919069653" y="649.9499636411679"/>
+        <omgdi:waypoint x="414.94999061226855" y="697.8413389092494"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-9E45208D-BE9B-4656-887D-DD5B989C8072" id="BPMNEdge_sid-9E45208D-BE9B-4656-887D-DD5B989C8072">
+        <omgdi:waypoint x="414.94998591840306" y="479.9999773502357"/>
+        <omgdi:waypoint x="589.9999839067463" y="479.9999773502357"/>
+        <omgdi:waypoint x="589.9999839067463" y="349.9499879300598"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-D4784E91-83A1-4B03-8A65-218763D689D9" id="BPMNEdge_sid-D4784E91-83A1-4B03-8A65-218763D689D9">
+        <omgdi:waypoint x="629.9499853968623" y="69.99999865889552"/>
+        <omgdi:waypoint x="947.4999754503378" y="69.99999865889552"/>
+        <omgdi:waypoint x="947.4999754503378" y="134.99999597668656"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-4DC80088-03E0-4790-9A32-5F0361EF0583" id="BPMNEdge_sid-4DC80088-03E0-4790-9A32-5F0361EF0583">
+        <omgdi:waypoint x="897.4999653170802" y="629.9999551937474"/>
+        <omgdi:waypoint x="724.9499830196238" y="629.9999635924936"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-4E2FBB65-5E57-4536-8F84-A754A1E0A546" id="BPMNEdge_sid-4E2FBB65-5E57-4536-8F84-A754A1E0A546">
+        <omgdi:waypoint x="972.4999653418569" y="569.9999551475067"/>
+        <omgdi:waypoint x="972.4999744268235" y="214.94999597668658"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-8E3D0F8C-693B-4AE9-9D12-A97EC477C082" id="BPMNEdge_sid-8E3D0F8C-693B-4AE9-9D12-A97EC477C082">
+        <omgdi:waypoint x="364.9999896240863" y="349.9499879300598"/>
+        <omgdi:waypoint x="364.9999869053501" y="459.9999773502357"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-B4976622-2E0D-4FB5-8DDC-077B9B556183" id="BPMNEdge_sid-B4976622-2E0D-4FB5-8DDC-077B9B556183">
+        <omgdi:waypoint x="186.64687813794717" y="214.94999597668658"/>
+        <omgdi:waypoint x="314.9999906122685" y="329.110560222979"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-8652BBA6-729E-43BC-BF51-236C28FF0941" id="BPMNEdge_sid-8652BBA6-729E-43BC-BF51-236C28FF0941">
+        <omgdi:waypoint x="339.94997854232906" y="89.99999865889554"/>
+        <omgdi:waypoint x="529.9999853968624" y="89.99999865889552"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-B67F098E-0836-4721-890A-F97A5261D9E7" id="BPMNEdge_sid-B67F098E-0836-4721-890A-F97A5261D9E7">
+        <omgdi:waypoint x="189.94999731779103" y="154.99999597668656"/>
+        <omgdi:waypoint x="554.9999853968624" y="154.99999597668656"/>
+        <omgdi:waypoint x="554.9999853968624" y="109.94999865889554"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-98415952-9130-4812-85B7-7AAAFEA61B08" id="BPMNEdge_sid-98415952-9130-4812-85B7-7AAAFEA61B08">
+        <omgdi:waypoint x="239.999978542329" y="69.99999865889552"/>
+        <omgdi:waypoint x="139.999997317791" y="69.99999865889552"/>
+        <omgdi:waypoint x="139.99999731779104" y="134.99999597668656"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-8A779264-9E58-495C-A1E3-118D4099F5FB" id="BPMNEdge_sid-8A779264-9E58-495C-A1E3-118D4099F5FB">
+        <omgdi:waypoint x="114.99999731779104" y="214.94999597668658"/>
+        <omgdi:waypoint x="114.99999731779101" y="459.99998420476953"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-A4FC5FA9-BF8D-473C-A082-3C57FE12D4F8" id="BPMNEdge_sid-A4FC5FA9-BF8D-473C-A082-3C57FE12D4F8">
+        <omgdi:waypoint x="189.94999731771603" y="174.99999597668656"/>
+        <omgdi:waypoint x="922.499975450157" y="174.99999597668656"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-0553BC77-9DD8-4E22-857A-7ECD4C467398" id="BPMNEdge_sid-0553BC77-9DD8-4E22-857A-7ECD4C467398">
+        <omgdi:waypoint x="189.94999731779097" y="499.99998268153973"/>
+        <omgdi:waypoint x="314.99998591792496" y="499.99997887194235"/>
+      </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_3LEVEL_V1.bpmn20.xml b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml
new file mode 100644
index 0000000..c39f0e3
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml
@@ -0,0 +1,96 @@
+<?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="ZXSL_START" name="开始"/>
+    <userTask id="ZXSL" name="自行受理"/>
+    <userTask id="BLFK" name="办理反馈"/>
+    <userTask id="DSRPJ" name="当事人评价"/>
+    <userTask id="JAGD" name="结案归档"/>
+    <userTask id="JASH" name="结案审核"/>
+    <endEvent id="ZXSL_END" name="结束"/>
+    <userTask id="JASQ" name="结案申请"/>
+    <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-E2A63ACD-76CD-4419-A771-C082334A3A11" sourceRef="ZXSL_START" targetRef="ZXSL"/>
+    <sequenceFlow id="sid-6032A3F4-92DC-4CFE-BCE7-404BB56C66C5" name="通过" sourceRef="ZXSL" targetRef="BLFK">
+      <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-0AE3E811-3EBD-4891-B2BD-F2E091E41541" name="通过" sourceRef="JASQ" targetRef="JASH">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></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-15046AD2-218B-4567-B05A-26B2D0069DE2" name="通过" sourceRef="DSRPJ" targetRef="JAGD">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5" sourceRef="JAGD" targetRef="ZXSL_END"/>
+  </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="ZXSL_START" id="BPMNShape_ZXSL_START">
+        <omgdc:Bounds height="30.0" width="30.0" x="75.0" y="160.00001244246837"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="ZXSL" id="BPMNShape_ZXSL">
+        <omgdc:Bounds height="80.0" width="99.99999999999997" x="150.0" y="134.99998591840347"/>
+      </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="794.9999881535771" y="134.99999798834327"/>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="JAGD" id="BPMNShape_JAGD">
+        <omgdc:Bounds height="80.0" width="100.0" x="959.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="ZXSL_END" id="BPMNShape_ZXSL_END">
+        <omgdc:Bounds height="28.0" width="28.0" x="1109.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: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-E2A63ACD-76CD-4419-A771-C082334A3A11" id="BPMNEdge_sid-E2A63ACD-76CD-4419-A771-C082334A3A11">
+        <omgdi:waypoint x="104.94999849155933" y="175.00000882555042"/>
+        <omgdi:waypoint x="150.0" y="174.99999796274022"/>
+      </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-78554576-20C8-4A98-9A33-92DD5542AA27" id="BPMNEdge_sid-78554576-20C8-4A98-9A33-92DD5542AA27">
+        <omgdi:waypoint x="759.9499901651751" y="174.99999798834327"/>
+        <omgdi:waypoint x="794.9999881535146" y="174.99999798834327"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5" id="BPMNEdge_sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5">
+        <omgdi:waypoint x="1059.9499856948855" y="175.00000415177684"/>
+        <omgdi:waypoint x="1109.999983378599" y="175.0000103275493"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-6032A3F4-92DC-4CFE-BCE7-404BB56C66C5" id="BPMNEdge_sid-6032A3F4-92DC-4CFE-BCE7-404BB56C66C5">
+        <omgdi:waypoint x="249.94999986861848" y="174.99998957230352"/>
+        <omgdi:waypoint x="314.9999953060815" y="174.99999433078568"/>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="sid-15046AD2-218B-4567-B05A-26B2D0069DE2" id="BPMNEdge_sid-15046AD2-218B-4567-B05A-26B2D0069DE2">
+        <omgdi:waypoint x="894.9499881534662" y="174.99999798834327"/>
+        <omgdi:waypoint x="959.9999856948592" 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:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/test/java/cn/huge/module/BuildCodeServiceTest.java b/dyh-service/dyh-mediate/src/test/java/cn/huge/module/BuildCodeServiceTest.java
index 609f262..924c0bd 100644
--- a/dyh-service/dyh-mediate/src/test/java/cn/huge/module/BuildCodeServiceTest.java
+++ b/dyh-service/dyh-mediate/src/test/java/cn/huge/module/BuildCodeServiceTest.java
@@ -21,8 +21,7 @@
 
     @Test
     public void buildAllTest() {
-        service.buildAll(basePackage, packageName, "CaseReturn", tableSchema, "dyh_case_return", author, version);
-        service.buildAll(basePackage, packageName, "CaseAppear", tableSchema, "dyh_case_appear", author, version);
+        service.buildAll(basePackage, packageName, "CaseInfoUnfold", tableSchema, "dyh_case_info_unfold", author, version);
 
     }
 
diff --git a/dyh-service/dyh-sys/src/test/java/cn/huge/module/BuildCodeServiceTest.java b/dyh-service/dyh-sys/src/test/java/cn/huge/module/BuildCodeServiceTest.java
index 5e60de0..b9114f9 100644
--- a/dyh-service/dyh-sys/src/test/java/cn/huge/module/BuildCodeServiceTest.java
+++ b/dyh-service/dyh-sys/src/test/java/cn/huge/module/BuildCodeServiceTest.java
@@ -21,7 +21,10 @@
 
     @Test
     public void buildAllTest() {
-        service.buildAll(basePackage, packageName, className, tableSchema, tableName, author, version);
+        service.buildAll(basePackage, "kind", "SyCause", tableSchema, "dyh_sy_cause", author, version);
+        service.buildAll(basePackage, "kind", "SyCauseThird", tableSchema, "dyh_sy_cause_third", author, version);
+        service.buildAll(basePackage, "kind", "SyIssue", tableSchema, "dyh_sy_issue", author, version);
+        service.buildAll(basePackage, "kind", "SyRegion", tableSchema, "dyh_sy_region", author, version);
 
     }
 

--
Gitblit v1.8.0