From 80cc7fd5df68a78df4921379a4909a8025febdfc Mon Sep 17 00:00:00 2001
From: xusd <hugeinfo123>
Date: Sun, 27 Oct 2024 16:09:03 +0800
Subject: [PATCH] Merge branch 'gzdyh_test' into gzdyh_grid

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/po/SyCause.java                   |   71 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java                 |   13 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/controller/web/SyCauseWebController.java |  175 ++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/controller/SyncBydyhController.java      |   45 
 dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/service/CaseInfoService.java             |  284 +++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/client/api/SyncBydyhClient.java          |   18 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/po/ThirdCause.java                |   83 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java               |    6 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/client/api/impl/SyncBydyhClientImpl.java |   53 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/bo/ThirdCauseBO.java              |   17 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml            |    7 
 dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/domain/dto/GZCaseDTO.java                |    3 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/dto/GZCaseDTO.java                |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/ThirdCauseMapper.java         |   64 
 dyh-service/dyh-disp/src/main/java/cn/huge/module/client/api/CustClient.java                            |    9 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/dto/ByCaseTaskDTO.java            |  317 ++++
 dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/dao/mapper/xml/CaseInfoMapper.xml        |    5 
 dyh-service/dyh-disp/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java                   |   23 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/xml/ThirdCauseMapper.xml      |  157 ++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/SyCauseMapper.java            |   64 
 dyh-service/dyh-disp/src/main/java/cn/huge/module/casedisp/service/SysDispService.java                  |    6 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/bo/SyCauseBO.java                 |   17 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/SyCauseService.java              |  133 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ByToGzCaseTaskService.java       | 2199 ++++++++++++++++++++++++++++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ThirdCauseService.java           |  113 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ByToGzService.java               |  215 ++
 dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/controller/SyncCaseController.java       |   37 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/xml/SyCauseMapper.xml         |  145 ++
 28 files changed, 4,257 insertions(+), 24 deletions(-)

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 8311cfd..5a7fefe 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
@@ -11,6 +11,7 @@
 import cn.huge.module.client.api.impl.UtilsClientImpl;
 import cn.huge.module.constant.BaseConsts;
 import cn.huge.module.cust.constant.UserBaseConsts;
+import cn.huge.module.cust.dto.CtUnitDTO;
 import cn.huge.module.disp.constant.DispBaseConsts;
 import cn.huge.module.disp.constant.DispBaseConstsEnum;
 import cn.huge.module.disp.dto.CaseDispBaseDTO;
@@ -50,6 +51,8 @@
 
     @Autowired
     private UtilsClientImpl utilsClient;
+    @Autowired
+    private CustClientImpl custClient;
 
     /**
      * 系统自动调度
@@ -109,6 +112,9 @@
                 caseDisp.setTargetTypeName(DispBaseConstsEnum.TARGET_TYPE_1.getDes());
                 caseDisp.setTargetId(dispCaseBaseDTO.getWantUnitId());
                 caseDisp.setTargetName(dispCaseBaseDTO.getWantUnitName());
+                CtUnitDTO ctUnitDTO = custClient.getUnitById(dispCaseBaseDTO.getWantUnitId());
+                caseDisp.setTargetUnitGrade(ctUnitDTO.getUnitGrade());
+                caseDisp.setTargetUnitType(ctUnitDTO.getUnitType());
             }
             caseDispService.save(caseDisp);
             return caseDisp;
diff --git a/dyh-service/dyh-disp/src/main/java/cn/huge/module/client/api/CustClient.java b/dyh-service/dyh-disp/src/main/java/cn/huge/module/client/api/CustClient.java
index e3380e9..51cb455 100644
--- a/dyh-service/dyh-disp/src/main/java/cn/huge/module/client/api/CustClient.java
+++ b/dyh-service/dyh-disp/src/main/java/cn/huge/module/client/api/CustClient.java
@@ -43,4 +43,13 @@
     @GetMapping("/api/client/paUser/clientGetUserAll")
     ReturnBO paclientGetUser(@RequestParam("userId") String userId);
 
+    /**
+     * 根据id查询组织信息
+     * @url {ctx}/api/client/ctUnit/getUnitById
+     * @param unitId 组织编号
+     * @return Object
+     */
+    @GetMapping("/api/client/ctUnit/getUnitById")
+    ReturnBO getUnitById(@RequestParam("unitId") String unitId);
+
 }
diff --git a/dyh-service/dyh-disp/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java b/dyh-service/dyh-disp/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java
index 5f5609c..6611471 100644
--- a/dyh-service/dyh-disp/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java
+++ b/dyh-service/dyh-disp/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java
@@ -5,6 +5,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 com.fasterxml.jackson.databind.ObjectMapper;
@@ -99,4 +100,26 @@
         }
     }
 
+    /**
+     * 根据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/cases/dao/mapper/CaseTaskMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java
index b1d4bf8..12e290f 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseTaskMapper.java
@@ -173,4 +173,10 @@
      */
     List<FrontPageListYBDTO> pageMyTaskYb(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
 
+    /**
+     * 根据编号物理删除
+     * @param caseId
+     */
+    void deleteByCaseId(@Param("caseId") String caseId);
+
 }
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 32e04b0..66804ba 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
@@ -817,4 +817,11 @@
         limit #{page.offset}, #{page.size}
     </select>
 
+    <!--  根据编号物理删除  -->
+    <delete id="deleteByCaseId">
+        delete from
+        <include refid="table-name" />
+        where case_id = #{caseId}
+    </delete>
+
 </mapper> 
\ No newline at end of file
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 510d94f..fb758dd 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
@@ -3319,6 +3319,19 @@
         }
     }
 
+    /**
+     * 根据编号物理删除
+     * @param caseId
+     */
+    public void deleteByCaseId(String caseId){
+        try{
+            mapper.deleteByCaseId(caseId);
+        }catch (Exception e){
+            log.error("[CaseTaskService.deleteByCaseId]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.deleteByCaseId", e);
+        }
+    }
+
     public void deleteGridTodo(CaseTask caseTask) {
         try {
             //删除网格待办任务
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/client/api/SyncBydyhClient.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/client/api/SyncBydyhClient.java
index 2e577cd..703e8de 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/client/api/SyncBydyhClient.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/client/api/SyncBydyhClient.java
@@ -34,4 +34,22 @@
     @GetMapping("/api/client/syncCase/countEndCase")
     ReturnBO countEndCase();
 
+    /**
+     * 数据割接-进行中的纠纷案件信息
+     * @url {ctx}/api/client/syncCase/byToGzTodoCase
+     * @param page
+     * @param size
+     * @return
+     */
+    @GetMapping("/api/client/syncCase/byToGzTodoCase")
+    ReturnBO byToGzTodoCase(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size);
+
+    /**
+     * 数据割接-统计进行中的纠纷案件信息
+     * @url {ctx}/api/client/syncCase/countTodoCase
+     * @return
+     */
+    @GetMapping("/api/client/syncCase/countTodoCase")
+    ReturnBO countTodoCase();
+
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/client/api/impl/SyncBydyhClientImpl.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/client/api/impl/SyncBydyhClientImpl.java
index daaaacf..2f2583c 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/client/api/impl/SyncBydyhClientImpl.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/client/api/impl/SyncBydyhClientImpl.java
@@ -44,7 +44,7 @@
 
     /**
      * 数据割接-已结束的纠纷案件信息
-     * @url {ctx}/api/client/syncCust/byToGzCtUnit
+     * @url {ctx}/api/client/syncCust/byToGzEndCase
      * @return Object
      */
     public List<GZCaseDTO> byToGzEndCase(int page, int size){
@@ -93,4 +93,55 @@
         return 0;
     }
 
+    /**
+     * 数据割接-进行中的纠纷案件信息
+     * @url {ctx}/api/client/syncCust/byToGzTodoCase
+     * @return Object
+     */
+    public List<GZCaseDTO> byToGzTodoCase(int page, int size){
+        List<GZCaseDTO> resultList = new ArrayList<>();
+        try{
+            ReturnBO returnBo = syncBydyhClient.byToGzTodoCase(page, size);
+            if (ReturnConsts.OK == returnBo.getCode()){
+                if (ObjectUtils.isNotEmpty(returnBo.getData())){
+                    List<LinkedHashMap> list = (List<LinkedHashMap>) returnBo.getData();
+                    for (LinkedHashMap map : list) {
+                        GZCaseDTO result = JSON.parseObject(JSON.toJSONString(map), GZCaseDTO.class);
+                        resultList.add(result);
+                    }
+                }
+            }else{
+                log.error("Client外服务接口[SyncBydyhClient.byToGzTodoCase]请求异常:" + returnBo.getMsg(), returnBo.getMsg());
+                throw new ClientException("SyncBydyhClient.byToGzTodoCase", returnBo.getMsg());
+            }
+        }catch (Exception e){
+            log.error("service方法[SyncBydyhClient.byToGzTodoCase]调用异常:"+e, e);
+        }
+        return resultList;
+    }
+
+    /**
+     * 数据割接-统计进行中的纠纷案件信息
+     * @url {ctx}/api/client/syncCust/countTodoCase
+     * @return Object
+     */
+    public int countTodoCase(){
+        try{
+            ReturnBO returnBo = syncBydyhClient.countTodoCase();
+            if (ReturnConsts.OK == returnBo.getCode()) {
+                if (ObjectUtils.isNotEmpty(returnBo.getData())){
+                    return (Integer) returnBo.getData();
+                }else {
+                    return 0;
+                }
+            } else {
+                log.error("Client外服务接口[SyncBydyhClient.countTodoCase]请求异常:" + returnBo.getMsg(), returnBo.getMsg());
+                throw new ClientException("SyncBydyhClient.countTodoCase", returnBo.getMsg());
+            }
+        }catch (Exception e){
+            log.error("service方法[SyncBydyhClient.countTodoCase]调用异常:"+e, e);
+        }
+        return 0;
+    }
+
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/controller/SyncBydyhController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/controller/SyncBydyhController.java
index 5f15a75..d530f57 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/controller/SyncBydyhController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/controller/SyncBydyhController.java
@@ -44,4 +44,49 @@
             return ReturnFailUtils.getRepInfo();
         }
     }
+
+    /**
+     * 白云区矛盾纠纷多元化解平台数据割接-进行中的纠纷案件信息
+     * @url {ctx}/api/syncBydyh/byToGzTodoCase
+     * @return Object
+     */
+    @GetMapping("/byToGzTodoCase")
+    public Object byToGzTodoCase() {
+        try {
+            service.byToGzTodoCase();
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * 白云区矛盾纠纷多元化解平台数据割接-更新纠纷类型
+     * @url {ctx}/api/syncBydyh/upThirdCause
+     * @return Object
+     */
+    @GetMapping("/upThirdCause")
+    public Object upThirdCause() {
+        try {
+            service.upThirdCause();
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+     * 白云区矛盾纠纷多元化解平台数据割接-更新问题属地的村级社区
+     * @url {ctx}/api/syncBydyh/upThirdCause
+     * @return Object
+     */
+    @GetMapping("/upQueAddr")
+    public Object upQueAddr() {
+        try {
+            service.upQueAddr();
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/controller/web/SyCauseWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/controller/web/SyCauseWebController.java
new file mode 100644
index 0000000..7021a1c
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/controller/web/SyCauseWebController.java
@@ -0,0 +1,175 @@
+package cn.huge.module.syncbydyh.controller.web;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.syncbydyh.domain.po.SyCause;
+import cn.huge.module.syncbydyh.service.SyCauseService;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.web.bind.annotation.*;
+
+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-10-21 22:18:51
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/web/syCause")
+public class SyCauseWebController {
+
+    @Autowired(required = false)
+    private HttpServletRequest request;
+
+    @Autowired
+    private SyCauseService service;
+
+    /**
+    * 获取请求URL参数
+    * @return Map<String, Object>
+    */
+    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 name = request.getParameter("name");
+        if (StringUtils.isNotBlank(name)){
+            terms.put("name", name);
+        }
+        // 层级
+        String level = request.getParameter("level");
+        if (StringUtils.isNotBlank(level)){
+            terms.put("level", level);
+        }
+        // 父级编码
+        String parentId = request.getParameter("parentId");
+        if (StringUtils.isNotBlank(parentId)){
+            terms.put("parentId", parentId);
+        }
+        // 调解类型
+        String issueId = request.getParameter("issueId");
+        if (StringUtils.isNotBlank(issueId)){
+            terms.put("issueId", issueId);
+        }
+        // 展示图标
+        String icon = request.getParameter("icon");
+        if (StringUtils.isNotBlank(icon)){
+            terms.put("icon", icon);
+        }
+        // 创建时间区间
+        String createStart = request.getParameter("createStart");
+        String createEnd = request.getParameter("createEnd");
+        if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+            terms.put("createStart", createStart);
+            terms.put("createEnd", createEnd);
+        }
+        // 更新时间区间
+        String updateStart = request.getParameter("updateStart");
+        String updateEnd = request.getParameter("updateEnd");
+        if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) {
+            terms.put("updateStart", updateStart);
+            terms.put("updateEnd", updateEnd);
+        }
+        return terms;
+    }
+
+    /**
+    * 条件查询多个
+    * @url {ctx}/api/web/syCause/listQuery
+    * @return Object
+    */
+    @GetMapping("/listQuery")
+    public Object listQuery() {
+        try {
+            Map<String, Object> terms = getParameter();
+            return ReturnSucUtils.getRepInfo(service.listTerms(terms));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+    * 条件分页查询
+    * @url {ctx}/api/web/syCause/pageQuery
+    * @param page 页码
+    * @param size 每页数量
+    * @return Object
+    */
+    @GetMapping("/pageQuery")
+    public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+        try {
+            Map<String, Object> terms = getParameter();
+            Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+            PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+            Page<SyCause> syCausePage = service.pageQuery(pageRequest, terms);
+            return ReturnSucUtils.getRepInfo( "处理成功", syCausePage);
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+    * 根据编号查询单个
+    * @url {ctx}/api/web/syCause/getById
+    * @param id 主键编号
+    * @return Object
+    */
+    @GetMapping("/getById")
+    public Object getById(@RequestParam(value = "id") String id) {
+        try {
+            return ReturnSucUtils.getRepInfo(service.getById(id));
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+    * 根据主键单个
+    * @url {ctx}/api/web/syCause/deleteById
+    * @param id 主键编号
+    * @return Object
+    */
+    @GetMapping("/deleteById")
+    public Object deleteById(@RequestParam(value = "id") String id) {
+        try {
+            service.removeById(id);
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+    /**
+    * 新增或更新对象
+    * @url {ctx}/api/web/syCause/saveSyCause
+    * @param syCause 实体对象
+    * @return Object
+    */
+    @PostMapping("/saveSyCause")
+    public Object saveSyCause(@RequestBody SyCause syCause) {
+        try {
+            service.saveSyCause(syCause);
+            return ReturnSucUtils.getRepInfo();
+        } catch (Exception e) {
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/SyCauseMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/SyCauseMapper.java
new file mode 100644
index 0000000..ec2cea6
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/SyCauseMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.syncbydyh.dao.mapper;
+
+import cn.huge.module.syncbydyh.domain.po.SyCause;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 纠纷类型信息表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: liyj
+* @time: 2024-10-21 22:18:51
+* @version 1.0.0
+*/
+@Repository
+public interface SyCauseMapper extends BaseMapper<SyCause>{
+
+    /**
+    * 更新对象
+    * @param entity 对象
+    */
+    void updateSyCause(@Param("entity") SyCause entity);
+
+    /**
+    * 条件更新对象
+    * @param entity 对象
+    * @param terms 条件
+    */
+    void updateSyCauseTerms(@Param("entity") SyCause entity, @Param("terms") Map<String, Object> terms);
+
+    /**
+    * 根据编号物理删除
+    * @param id 查询条件集合
+    */
+    void deleteSyCause(@Param("id") String id);
+
+    /**
+    * 按条件查询结果集
+    * @param terms 查询条件集合
+    * @return List<SyCause>
+    */
+    List<SyCause> listTerms(@Param("terms") Map<String, Object> terms);
+
+    /**
+    * 按条件查询实体总数
+    * @param terms 查询条件集合
+    * @return long
+    */
+    long countTerms(@Param("terms") Map<String, Object> terms);
+
+    /**
+    * 按条件查询实体分页结果集
+    * @param page 分页对象
+    * @param terms 查询条件集合
+    * @return List<SyCause>
+    */
+    List<SyCause> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/ThirdCauseMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/ThirdCauseMapper.java
new file mode 100644
index 0000000..3afe3c8
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/ThirdCauseMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.syncbydyh.dao.mapper;
+
+import cn.huge.module.syncbydyh.domain.po.ThirdCause;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 第三方纠纷类型映射表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: liyj
+* @time: 2024-10-21 22:04:49
+* @version 1.0.0
+*/
+@Repository
+public interface ThirdCauseMapper extends BaseMapper<ThirdCause>{
+
+    /**
+    * 更新对象
+    * @param entity 对象
+    */
+    void updateThirdCause(@Param("entity") ThirdCause entity);
+
+    /**
+    * 条件更新对象
+    * @param entity 对象
+    * @param terms 条件
+    */
+    void updateThirdCauseTerms(@Param("entity") ThirdCause entity, @Param("terms") Map<String, Object> terms);
+
+    /**
+    * 根据编号物理删除
+    * @param id 查询条件集合
+    */
+    void deleteThirdCause(@Param("id") String id);
+
+    /**
+    * 按条件查询结果集
+    * @param terms 查询条件集合
+    * @return List<ThirdCause>
+    */
+    List<ThirdCause> listTerms(@Param("terms") Map<String, Object> terms);
+
+    /**
+    * 按条件查询实体总数
+    * @param terms 查询条件集合
+    * @return long
+    */
+    long countTerms(@Param("terms") Map<String, Object> terms);
+
+    /**
+    * 按条件查询实体分页结果集
+    * @param page 分页对象
+    * @param terms 查询条件集合
+    * @return List<ThirdCause>
+    */
+    List<ThirdCause> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/xml/SyCauseMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/xml/SyCauseMapper.xml
new file mode 100644
index 0000000..36bfcbe
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/xml/SyCauseMapper.xml
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!-- 
+ * @title: 纠纷类型信息表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: liyj
+ * @time:2024-10-21 22:18:51
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.syncbydyh.dao.mapper.SyCauseMapper">
+    <!-- 结果集 -->
+    <resultMap id="dataResult" type="cn.huge.module.syncbydyh.domain.po.SyCause">
+            <result property="id" column="id"/>
+            <result property="name" column="name"/>
+            <result property="level" column="level"/>
+            <result property="parentId" column="parent_id"/>
+            <result property="issueId" column="issue_id"/>
+            <result property="createTime" column="create_time"/>
+            <result property="updateTime" column="update_time"/>
+            <result property="icon" column="icon"/>
+    </resultMap>
+    <!-- 表 -->
+    <sql id='table-name'>dyh_sy_cause</sql>
+    <!-- 字段 -->
+    <sql id="column-part">
+        id,
+        name,
+        level,
+        parent_id,
+        issue_id,
+        create_time,
+        update_time,
+        icon
+    </sql>
+    <!-- 更新实体字段 -->
+    <sql id="set-part">
+            <if test="entity.name != null">name = #{entity.name},</if>
+            <if test="entity.level != null">level = #{entity.level},</if>
+            <if test="entity.parentId != null">parent_id = #{entity.parentId},</if>
+            <if test="entity.issueId != null">issue_id = #{entity.issueId},</if>
+            <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+            <if test="entity.updateTime != null">update_time = #{entity.updateTime},</if>
+            <if test="entity.icon != null">icon = #{entity.icon}</if>
+    </sql>
+    <!-- 条件 -->
+    <sql id="where-part">
+        <if test="terms != null">
+            <where>
+                <if test="terms.id != null and terms.id !=''">
+                    and id = #{terms.id}
+                </if>
+                <if test="terms.name != null and terms.name !=''">
+                    and name = #{terms.name}
+                </if>
+                <if test="terms.level != null and terms.level !=''">
+                    and level = #{terms.level}
+                </if>
+                <if test="terms.parentId != null and terms.parentId !=''">
+                    and parent_id = #{terms.parentId}
+                </if>
+                <if test="terms.issueId != null and terms.issueId !=''">
+                    and issue_id = #{terms.issueId}
+                </if>
+                <if test="terms.createTime != null and terms.createTime !=''">
+                    and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+                </if>
+                <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+                    and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+                        and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+                </if>
+                <if test="terms.updateTime != null and terms.updateTime !=''">
+                    and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+                </if>
+                <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.icon != null and terms.icon !=''">
+                    and icon = #{terms.icon}
+                </if>
+            </where>
+        </if>
+    </sql>
+    <!-- 更新对象 -->
+    <update id="updateSyCause">
+        update
+        <include refid="table-name"/>
+        <set>
+            <include refid="set-part"/>
+        </set>
+        <where>
+            id = #{entity.id}
+        </where>
+    </update>
+    <!-- 条件更新对象 -->
+    <update id="updateSyCauseTerms">
+        update
+        <include refid="table-name"/>
+        <set>
+            <include refid="set-part"/>
+        </set>
+        <include refid="where-part"/>
+    </update>
+    <!--  根据编号物理删除  -->
+    <delete id="deleteSyCause">
+        delete from
+        <include refid="table-name" />
+        where id = #{id}
+    </delete>
+    <!--  根据条件查询  -->
+    <select id="listTerms" resultMap="dataResult">
+        select
+        <include refid="column-part"/>
+        from
+        <include refid="table-name" />
+        <include refid="where-part"/>
+    </select>
+    <!--  根据条件统计  -->
+    <select id="countTerms" resultType="java.lang.Long">
+        select
+        COUNT(1)
+        from
+        <include refid="table-name" />
+        <include refid="where-part"/>
+    </select>
+    <!--  根据条件分页查询  -->
+    <select id="pageTerms" resultMap="dataResult">
+        SELECT
+        <include refid="column-part"/>
+        FROM
+        <include refid="table-name" />
+        <include refid="where-part"/>
+        <if test="page.sort != null">
+            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+                isnull(${s.property}), ${s.property} ${s.direction}
+            </foreach>
+        </if>
+        <if test="page.sort == null">
+            order by isnull(create_time), create_time desc
+        </if>
+        limit #{page.offset}, #{page.size}
+    </select>
+
+</mapper> 
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/xml/ThirdCauseMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/xml/ThirdCauseMapper.xml
new file mode 100644
index 0000000..03e7f31
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/dao/mapper/xml/ThirdCauseMapper.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!-- 
+ * @title: 第三方纠纷类型映射表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: liyj
+ * @time:2024-10-21 22:04:49
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.syncbydyh.dao.mapper.ThirdCauseMapper">
+    <!-- 结果集 -->
+    <resultMap id="dataResult" type="cn.huge.module.syncbydyh.domain.po.ThirdCause">
+            <result property="id" column="id"/>
+            <result property="thirdSysId" column="third_sys_id"/>
+            <result property="thirdSysName" column="third_sys_name"/>
+            <result property="thirdCode" column="third_code"/>
+            <result property="thirdName" column="third_name"/>
+            <result property="thirdParentCode" column="third_parent_code"/>
+            <result property="causeCode" column="cause_code"/>
+            <result property="level" column="level"/>
+            <result property="createTime" column="create_time"/>
+            <result property="updateTime" column="update_time"/>
+    </resultMap>
+    <!-- 表 -->
+    <sql id='table-name'>dyh_th_third_cause</sql>
+    <!-- 字段 -->
+    <sql id="column-part">
+        id,
+        third_sys_id,
+        third_sys_name,
+        third_code,
+        third_name,
+        third_parent_code,
+        cause_code,
+        level,
+        create_time,
+        update_time
+    </sql>
+    <!-- 更新实体字段 -->
+    <sql id="set-part">
+            <if test="entity.thirdSysId != null">third_sys_id = #{entity.thirdSysId},</if>
+            <if test="entity.thirdSysName != null">third_sys_name = #{entity.thirdSysName},</if>
+            <if test="entity.thirdCode != null">third_code = #{entity.thirdCode},</if>
+            <if test="entity.thirdName != null">third_name = #{entity.thirdName},</if>
+            <if test="entity.thirdParentCode != null">third_parent_code = #{entity.thirdParentCode},</if>
+            <if test="entity.causeCode != null">cause_code = #{entity.causeCode},</if>
+            <if test="entity.level != null">level = #{entity.level},</if>
+            <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+            <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+    </sql>
+    <!-- 条件 -->
+    <sql id="where-part">
+        <if test="terms != null">
+            <where>
+                <if test="terms.id != null and terms.id !=''">
+                    and id = #{terms.id}
+                </if>
+                <if test="terms.thirdSysId != null and terms.thirdSysId !=''">
+                    and third_sys_id = #{terms.thirdSysId}
+                </if>
+                <if test="terms.thirdSysName != null and terms.thirdSysName !=''">
+                    and third_sys_name = #{terms.thirdSysName}
+                </if>
+                <if test="terms.thirdCode != null and terms.thirdCode !=''">
+                    and third_code = #{terms.thirdCode}
+                </if>
+                <if test="terms.thirdName != null and terms.thirdName !=''">
+                    and third_name = #{terms.thirdName}
+                </if>
+                <if test="terms.thirdParentCode != null and terms.thirdParentCode !=''">
+                    and third_parent_code = #{terms.thirdParentCode}
+                </if>
+                <if test="terms.causeCode != null and terms.causeCode !=''">
+                    and cause_code = #{terms.causeCode}
+                </if>
+                <if test="terms.level != null and terms.level !=''">
+                    and level = #{terms.level}
+                </if>
+                <if test="terms.createTime != null and terms.createTime !=''">
+                    and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+                </if>
+                <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+                    and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+                        and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+                </if>
+                <if test="terms.updateTime != null and terms.updateTime !=''">
+                    and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+                </if>
+                <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>
+            </where>
+        </if>
+    </sql>
+    <!-- 更新对象 -->
+    <update id="updateThirdCause">
+        update
+        <include refid="table-name"/>
+        <set>
+            <include refid="set-part"/>
+        </set>
+        <where>
+            id = #{entity.id}
+        </where>
+    </update>
+    <!-- 条件更新对象 -->
+    <update id="updateThirdCauseTerms">
+        update
+        <include refid="table-name"/>
+        <set>
+            <include refid="set-part"/>
+        </set>
+        <include refid="where-part"/>
+    </update>
+    <!--  根据编号物理删除  -->
+    <delete id="deleteThirdCause">
+        delete from
+        <include refid="table-name" />
+        where id = #{id}
+    </delete>
+    <!--  根据条件查询  -->
+    <select id="listTerms" resultMap="dataResult">
+        select
+        <include refid="column-part"/>
+        from
+        <include refid="table-name" />
+        <include refid="where-part"/>
+    </select>
+    <!--  根据条件统计  -->
+    <select id="countTerms" resultType="java.lang.Long">
+        select
+        COUNT(1)
+        from
+        <include refid="table-name" />
+        <include refid="where-part"/>
+    </select>
+    <!--  根据条件分页查询  -->
+    <select id="pageTerms" resultMap="dataResult">
+        SELECT
+        <include refid="column-part"/>
+        FROM
+        <include refid="table-name" />
+        <include refid="where-part"/>
+        <if test="page.sort != null">
+            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+                isnull(${s.property}), ${s.property} ${s.direction}
+            </foreach>
+        </if>
+        <if test="page.sort == null">
+            order by isnull(create_time), create_time desc
+        </if>
+        limit #{page.offset}, #{page.size}
+    </select>
+
+</mapper> 
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/bo/SyCauseBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/bo/SyCauseBO.java
new file mode 100644
index 0000000..a23022b
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/bo/SyCauseBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.syncbydyh.domain.bo;
+
+import cn.huge.module.syncbydyh.domain.po.SyCause;
+
+/**
+ * @title: 纠纷类型信息表业务扩展类
+ * @description: 纠纷类型信息表业务扩展类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2024-10-21 22:18:51
+ * @version: 1.0.0
+ * @see cn.huge.module.syncbydyh.domain.po.SyCause
+ */
+public class SyCauseBO extends SyCause {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/bo/ThirdCauseBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/bo/ThirdCauseBO.java
new file mode 100644
index 0000000..13d614b
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/bo/ThirdCauseBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.syncbydyh.domain.bo;
+
+import cn.huge.module.syncbydyh.domain.po.ThirdCause;
+
+/**
+ * @title: 第三方纠纷类型映射表业务扩展类
+ * @description: 第三方纠纷类型映射表业务扩展类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2024-10-21 22:04:49
+ * @version: 1.0.0
+ * @see cn.huge.module.syncbydyh.domain.po.ThirdCause
+ */
+public class ThirdCauseBO extends ThirdCause {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/dto/ByCaseTaskDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/dto/ByCaseTaskDTO.java
new file mode 100644
index 0000000..294689c
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/dto/ByCaseTaskDTO.java
@@ -0,0 +1,317 @@
+package cn.huge.module.syncbydyh.domain.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 白云区矛盾纠纷多元化解平台-纠纷任务
+ * @description: 白云区矛盾纠纷多元化解平台-纠纷任务
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2024-10-21 08:46:40
+ * @version 1.0.0
+ */
+@Data
+public class ByCaseTaskDTO {
+
+    /**
+    * 纠纷任务编号
+    */
+    private String id;
+
+    /**
+    * 纠纷编号
+    */
+    private String caseId;
+
+    /**
+    * 系列案状态,1:正常案件,2:系列案
+    */
+    private String serieStatus;
+
+    /**
+    * 流程编号
+    */
+    private String flowId;
+
+    /**
+    * 流程实例编号
+    */
+    private String processInstanceId;
+
+    /**
+    * 当前流程任务编号
+    */
+    private String processTaskId;
+
+    /**
+    * 任务节点
+    */
+    private String taskNode;
+
+    /**
+    * 任务节点名称
+    */
+    private String taskNodeName;
+
+    /**
+    * 任务节点类型,1:首节点,2:普通节点,3:结束节点
+    */
+    private String taskNodeType;
+
+    /**
+    * 任务类型,1:正常任务,2:退回任务
+    */
+    private String taskType;
+
+    /**
+    * 经办人组织编号
+    */
+    private String handlerUnitId;
+
+    /**
+    * 经办人组织名称
+    */
+    private String handlerUnitName;
+
+    /**
+    * 经办人部门编号
+    */
+    private String handlerDeptId;
+
+    /**
+    * 经办人部门名称
+    */
+    private String handlerDeptName;
+
+    /**
+    * 经办人角色代码编号
+    */
+    private String handlerRoleCode;
+
+    /**
+    * 经办人角色名称
+    */
+    private String handlerRoleName;
+
+    /**
+    * 经办人编号
+    */
+    private String handlerUserId;
+
+    /**
+    * 经办人名称
+    */
+    private String handlerUserName;
+
+    /**
+    * 到期时间
+    */
+    private Date expireTime;
+
+    /**
+    * 任务进度,1:进行中,2:已完成
+    */
+    private String status;
+
+    /**
+    * 处理结果,1:通过,2:退回,3:终止流程
+    */
+    private String handleResult;
+
+    /**
+    * 异常原因(退回、终止流程是异常)
+    */
+    private String errorCause;
+
+    /**
+    * 异常原因名称
+    */
+    private String errorCauseName;
+
+    /**
+    * 处理说明
+    */
+    private String handleContent;
+
+    /**
+    * 任务完成时间,进度为已完成才有
+    */
+    private Date finishTime;
+
+    /**
+    * 调解结果
+    */
+    private String mediResult;
+
+    /**
+    * 调解结果名称
+    */
+    private String mediResultName;
+
+    /**
+    * 履行情况,22_00008-1:未履行,22_00008-2:当场履行,22_00008-3:分期履行
+    */
+    private String fulfilSitu;
+
+    /**
+    * 履行情况名称
+    */
+    private String fulfilSituName;
+
+    /**
+    * 已达成协议
+    */
+    private String agreeContent;
+
+    /**
+    * 调解不成功原因,22_00019-1:当事人未能就调解协议达成一致,22_00019-2:当事人拒绝调解,22_00019-3:提前终止调解,22_00019-4:当事人撤销调解请求
+    */
+    private String mediFalse;
+
+    /**
+    * 调解不成功原因名称
+    */
+    private String mediFalseName;
+
+    /**
+    * 是否转诉讼案件(调解不成功才有),1:不转诉讼,2:转诉讼
+    */
+    private String civilStatus;
+
+    /**
+    * 诉讼案号
+    */
+    private String civilNo;
+
+    /**
+    * 诉讼法院编号
+    */
+    private String courtId;
+
+    /**
+    * 诉讼法院名称
+    */
+    private String courtName;
+
+    /**
+    * 民诉前调号
+    */
+    private String mediateNo;
+
+    /**
+    * 民诉前调书号
+    */
+    private String mediateBookNo;
+
+    /**
+    * 档案年度
+    */
+    private String fileYear;
+
+    /**
+    * 档案卷名
+    */
+    private String fileBookName;
+
+    /**
+    * 档案卷号
+    */
+    private String fileBookNo;
+
+    /**
+    * 档案编号
+    */
+    private String fileNo;
+
+    /**
+    * 档案保管年限,单位:年
+    */
+    private Integer fileLimitYear;
+
+    /**
+    * 档案存档位置
+    */
+    private String fileAddr;
+
+    /**
+    * 卷宗情况说明
+    */
+    private String fileContent;
+
+    /**
+    * 删除状态,1:未删除(默认值),99:已删除
+    */
+    private String deleteStatus;
+
+    /**
+    * 顾客编号
+    */
+    private String custId;
+
+    /**
+    * 创建时间
+    */
+    private Date createTime;
+
+    /**
+    * 更新时间
+    */
+    private Date updateTime;
+
+    /**
+    * 下一级处理人编号,已完成才有,冗余显示
+    */
+    private String nextUserId;
+
+    /**
+    * 下一级处理人名称,已完成才有,冗余显示
+    */
+    private String nextUserName;
+
+    /**
+    * 上一任务编号,冗余显示
+    */
+    private String lastTaskId;
+
+    /**
+    * 上一任务经办单位编号,冗余显示
+    */
+    private String lastUnitId;
+
+    /**
+    * 上一任务经办单位名称,冗余显示
+    */
+    private String lastUnitName;
+
+    /**
+    * 上一任务经办部门编号,冗余显示
+    */
+    private String lastDeptId;
+
+    /**
+    * 上一任务经办部门名称,冗余显示
+    */
+    private String lastDeptName;
+
+    /**
+    * 上一任务经办人编号,冗余显示
+    */
+    private String lastUserId;
+
+    /**
+    * 上一任务经办人名称,冗余显示
+    */
+    private String lastUserName;
+
+    /**
+    * 上一任务处理说明,冗余显示
+    */
+    private String lastContent;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/dto/GZCaseDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/dto/GZCaseDTO.java
index 30f5530..6558600 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/dto/GZCaseDTO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/dto/GZCaseDTO.java
@@ -26,4 +26,6 @@
 
     private List<CaseTask> gzCaseTaskDTOList;
 
+    private List<ByCaseTaskDTO> byCaseTaskDTOList;
+
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/po/SyCause.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/po/SyCause.java
new file mode 100644
index 0000000..964e76b
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/po/SyCause.java
@@ -0,0 +1,71 @@
+package cn.huge.module.syncbydyh.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 纠纷类型信息表数据库对应关系类
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2024-10-21 22:18:51
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_sy_cause")
+@Data
+public class SyCause {
+
+    /**
+    * 编码
+    */
+    @TableId(value = "id")
+    private String id;
+
+    /**
+    * 名称
+    */
+    @TableField(value = "name")
+    private String name;
+
+    /**
+    * 层级
+    */
+    @TableField(value = "level")
+    private Integer level;
+
+    /**
+    * 父级编码
+    */
+    @TableField(value = "parent_id")
+    private String parentId;
+
+    /**
+    * 调解类型
+    */
+    @TableField(value = "issue_id")
+    private String issueId;
+
+    /**
+    * 创建时间
+    */
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    /**
+    * 更新时间
+    */
+    @TableField(value = "update_time")
+    private Date updateTime;
+
+    /**
+    * 展示图标
+    */
+    @TableField(value = "icon")
+    private String icon;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/po/ThirdCause.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/po/ThirdCause.java
new file mode 100644
index 0000000..9dd4b7b
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/domain/po/ThirdCause.java
@@ -0,0 +1,83 @@
+package cn.huge.module.syncbydyh.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 第三方纠纷类型映射表数据库对应关系类
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2024-10-21 22:04:49
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_th_third_cause")
+@Data
+public class ThirdCause {
+
+    /**
+    * 主键编号
+    */
+    @TableId(value = "id")
+    private Integer id;
+
+    /**
+    * 第三方平台编号
+    */
+    @TableField(value = "third_sys_id")
+    private String thirdSysId;
+
+    /**
+    * 第三方平台名称
+    */
+    @TableField(value = "third_sys_name")
+    private String thirdSysName;
+
+    /**
+    * 第三方纠纷类型代码
+    */
+    @TableField(value = "third_code")
+    private String thirdCode;
+
+    /**
+    * 第三方纠纷类型名称
+    */
+    @TableField(value = "third_name")
+    private String thirdName;
+
+    /**
+    * 第三方纠纷类型父级代码
+    */
+    @TableField(value = "third_parent_code")
+    private String thirdParentCode;
+
+    /**
+    * 本平台纠纷类型代码
+    */
+    @TableField(value = "cause_code")
+    private String causeCode;
+
+    /**
+    * 层级
+    */
+    @TableField(value = "level")
+    private Integer level;
+
+    /**
+    * 创建时间
+    */
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    /**
+    * 状态时间
+    */
+    @TableField(value = "update_time")
+    private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ByToGzCaseTaskService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ByToGzCaseTaskService.java
new file mode 100644
index 0000000..282b407
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ByToGzCaseTaskService.java
@@ -0,0 +1,2199 @@
+package cn.huge.module.syncbydyh.service;
+
+import cn.huge.base.common.exception.ServiceException;
+import cn.huge.base.common.utils.DateUtils;
+import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.module.cases.consts.CaseTaskConsts;
+import cn.huge.module.cases.dao.mapper.CaseTaskMapper;
+import cn.huge.module.cases.domain.dto.*;
+import cn.huge.module.cases.domain.po.*;
+import cn.huge.module.cases.service.*;
+import cn.huge.module.cases.utils.TaskUsetimeUtils;
+import cn.huge.module.client.api.impl.CustClientImpl;
+import cn.huge.module.client.api.impl.DispClientImpl;
+import cn.huge.module.client.api.impl.SysClientImpl;
+import cn.huge.module.client.api.impl.UtilsClientImpl;
+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.disp.constant.DispBaseConstsEnum;
+import cn.huge.module.disp.dto.CaseDispBaseDTO;
+import cn.huge.module.disp.dto.DispCaseBaseDTO;
+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.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.BeanUtils;
+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.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @title: 纠纷任务表业务逻辑处理
+ * @Description 纠纷任务表业务逻辑处理
+ * @company hugeinfo
+ * @author liyj
+ * @Time 2024-09-06 15:50:06
+ * @version 1.0.0
+ */
+@Slf4j
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class ByToGzCaseTaskService {
+
+    @Autowired
+    private CaseTaskMapper mapper;
+    @Autowired
+    private UtilsClientImpl utilsClient;
+    @Autowired
+    private CustClientImpl custClient;
+    @Autowired
+    private DispClientImpl dispClient;
+    @Autowired
+    private FlowInfoService flowInfoService;
+    @Autowired
+    private CaseInfoService caseInfoService;
+    @Autowired
+    private SysClientImpl sysClient;
+    @Autowired
+    private CaseInfoUnfoldService caseInfoUnfoldService;
+    @Autowired
+    private CaseWindupApplyService caseWindupApplyService;
+    @Autowired
+    private CaseAssistApplyService caseAssistApplyService;
+    @Autowired
+    private CaseAppearService caseAppearService;
+    @Autowired
+    private CaseReturnService caseReturnService;
+    @Autowired
+    private CaseAssistInfoService caseAssistInfoService;
+    @Autowired
+    private CaseDismissService caseDismissService;
+    @Autowired
+    private CasePersonService casePersonService;
+
+    /**
+     * 根据纠纷编号查询进行中的配合组织任务
+     * @param caseId
+     * @return
+     */
+    public List<CaseTask> listAssistTasking(String caseId){
+        // 查询配合组织的任务
+        QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>();
+        caseTaskQueryWrapper.eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).eq("case_id", caseId)
+                .eq("status", CaseTaskConsts.TASK_STATUS_1);
+        List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
+        return assistCaseTaskList;
+    }
+
+    /**
+     * web端大厅来访登记-提交纠纷事件-通过自动调度启动工作流
+     * @param caseInfo
+     */
+    public String webStartFlowLFDJ(CaseInfo caseInfo, DispCaseBaseDTO dispCaseBaseDTO){
+        try{
+            String caseTaskId = null;
+            CaseDispBaseDTO caseDispBaseDTO = dispClient.sysDisp(dispCaseBaseDTO);
+            log.info(JSON.toJSONString(caseDispBaseDTO));
+            // 目前平台只能调度给组织
+            if (DispBaseConstsEnum.TARGET_TYPE_1.getIndex().equals(caseDispBaseDTO.getTargetType())) {
+                // 目前平台只做镇街、村居级别的调度,
+                // 启动来访登记工作流
+                FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.getJbFlow(caseInfo.getCanal()), caseInfo.getId());
+                if (UserBaseConsts.UNIT_TYPE_101 == 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.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.setCandeUnitId(caseDispBaseDTO.getTargetId());
+                    dfpCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName());
+                    // 系统调度给镇街综治中心,不需要签收
+                    dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (firstFlowNode.getExpire() != 0) {
+                        dfpCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire()));
+                    }
+                    dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    dfpCaseTask.setCustId(caseInfo.getCustId());
+                    dfpCaseTask.setCreateTime(caseInfo.getCreateTime());
+                    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);
+                    caseTaskId = dfpCaseTask.getId();
+                }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.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.setCandeUnitName("系统派单");
+                    // 调度给调解组织,不需要签收
+                    dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (firstFlowNode.getExpire() != 0) {
+                        dfpCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire()));
+                    }
+                    dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                    dfpCaseTask.setHandleUnitName("系统派单");
+                    dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
+                    dfpCaseTask.setHandleIllust("派单至:"+caseDispBaseDTO.getTargetName());
+                    dfpCaseTask.setHandleTime(caseInfo.getCreateTime());
+                    dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    dfpCaseTask.setCustId(caseInfo.getCustId());
+                    dfpCaseTask.setCreateTime(caseInfo.getCreateTime());
+                    dfpCaseTask.setUpdateTime(caseInfo.getCreateTime());
+                    // 计算任务耗时、是否超时、超时多少
+                    dfpCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(dfpCaseTask.getHandleTime(), dfpCaseTask.getCreateTime()));
+                    dfpCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(dfpCaseTask.getHandleTime(), dfpCaseTask.getExpireTime()));
+                    dfpCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(dfpCaseTask.getHandleTime(), dfpCaseTask.getExpireTime()));
+                    mapper.insert(dfpCaseTask);
+                    // 完成第1个工作流节点任务,进入第2个节点任务
+                    FlowNode secondFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_jb_zszz, "系统派单");
+                    // 创建第2个节点任务-调解组织待受理
+                    CaseTask dslCaseTask = new CaseTask();
+                    dslCaseTask.setId(utilsClient.getNewTimeId());
+                    dslCaseTask.setCaseId(caseInfo.getId());
+                    dslCaseTask.setFlowableId(secondFlowNode.getFlowableId());
+                    dslCaseTask.setProcessInstanceId(secondFlowNode.getProcessInstanceId());
+                    dslCaseTask.setProcessTaskId(secondFlowNode.getProcessTaskId());
+                    dslCaseTask.setNodeType(secondFlowNode.getNodeType());
+                    dslCaseTask.setNodeId(secondFlowNode.getNodeId());
+                    dslCaseTask.setNodeName(secondFlowNode.getNodeName());
+                    dslCaseTask.setFlowId(secondFlowNode.getFlowId());
+                    dslCaseTask.setNodeShowName(secondFlowNode.getNodeShowName());
+                    dslCaseTask.setCaseTaskType(dfpCaseTask.getCaseTaskType());
+                    // 任务所属组织:调度目标
+                    dslCaseTask.setCandeUnitId(caseDispBaseDTO.getTargetId());
+                    dslCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName());
+                    // 系统调度给调解组织,需要签收
+                    dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
+                    dslCaseTask.setSignExpireTime(sysClient.getExpireTime(caseInfo.getCreateTime(), SyTimeEnum.SY_TIME_2.getIndex()));
+                    // 任务处理时限
+                    if (firstFlowNode.getExpire() != 0) {
+                        dslCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire()));
+                    }
+                    dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    dslCaseTask.setCustId(caseInfo.getCustId());
+                    dslCaseTask.setCreateTime(caseInfo.getCreateTime());
+                    dslCaseTask.setUpdateTime(caseInfo.getUpdateTime());
+                    mapper.insert(dslCaseTask);
+                    // 更新纠纷信息
+                    CaseInfo caseInfoPO = new CaseInfo();
+                    caseInfoPO.setId(caseInfo.getId());
+                    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);
+                    caseTaskId = dslCaseTask.getId();
+                }
+            }
+            return caseTaskId;
+        }catch (Exception e){
+            log.error("[CaseTaskService.webStartFlowLFDJ]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webStartFlowLFDJ", e);
+        }
+    }
+
+    /**
+     * web端大厅来访登记-自行受理-启动自行受理流程
+     * @param caseInfo
+     * @param loginUser
+     */
+    public String webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){
+        try{
+            // 启动自行受理工作流,进入待受理任务节点
+            FlowNode dslFlowNode = flowInfoService.startFlow(FlowableConsts.getZxslFlow(caseInfo.getCanal()), caseInfo.getId());
+            // 创建并完成待受理节点任务
+            CaseTask dslCaseTask = new CaseTask();
+            dslCaseTask.setId(utilsClient.getNewTimeId());
+            dslCaseTask.setCaseId(caseInfo.getId());
+            dslCaseTask.setFlowableId(dslFlowNode.getFlowableId());
+            dslCaseTask.setProcessInstanceId(dslFlowNode.getProcessInstanceId());
+            dslCaseTask.setProcessTaskId(dslFlowNode.getProcessTaskId());
+            dslCaseTask.setNodeType(dslFlowNode.getNodeType());
+            dslCaseTask.setNodeId(dslFlowNode.getNodeId());
+            dslCaseTask.setNodeName(dslFlowNode.getNodeName());
+            dslCaseTask.setFlowId(dslFlowNode.getFlowId());
+            dslCaseTask.setNodeShowName(dslFlowNode.getNodeShowName());
+            dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+            // 任务所属组织:当前登记组织
+            dslCaseTask.setCandeUnitId(loginUser.getUnitId());
+            dslCaseTask.setCandeUnitName(loginUser.getUnitName());
+            // 自行受理,不需要签收
+            dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+            // 任务处理时限
+            if (dslFlowNode.getExpire() != 0) {
+                dslCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), dslFlowNode.getExpire()));
+            }
+            dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+            dslCaseTask.setHandleUnitId(loginUser.getUnitId());
+            dslCaseTask.setHandleUnitName(loginUser.getUnitName());
+            dslCaseTask.setHandleDeptId(loginUser.getDeptId());
+            dslCaseTask.setHandleDeptName(loginUser.getDeptName());
+            dslCaseTask.setHandleUserId(loginUser.getId());
+            dslCaseTask.setHandleUserName(loginUser.getTrueName());
+            dslCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
+            dslCaseTask.setHandleIllust("自行受理");
+            dslCaseTask.setHandleTime(caseInfo.getCreateTime());
+            dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            dslCaseTask.setCustId(caseInfo.getCustId());
+            dslCaseTask.setCreateTime(caseInfo.getCreateTime());
+            dslCaseTask.setUpdateTime(caseInfo.getCreateTime());
+            // 计算任务耗时、是否超时、超时多少
+            dslCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(dslCaseTask.getHandleTime(), dslCaseTask.getCreateTime()));
+            dslCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(dslCaseTask.getHandleTime(), dslCaseTask.getExpireTime()));
+            dslCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(dslCaseTask.getHandleTime(), dslCaseTask.getExpireTime()));
+            mapper.insert(dslCaseTask);
+            // 完成待受理工作流节点任务,进入办理反馈任务节点
+            FlowNode blfkFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(),
+                    FlowableConsts.OPERATION_forward, loginUser.getId());
+            // 创建办理反馈节点任务
+            CaseTask blfkCaseTask = new CaseTask();
+            blfkCaseTask.setId(utilsClient.getNewTimeId());
+            blfkCaseTask.setCaseId(caseInfo.getId());
+            blfkCaseTask.setFlowableId(blfkFlowNode.getFlowableId());
+            blfkCaseTask.setProcessInstanceId(blfkFlowNode.getProcessInstanceId());
+            blfkCaseTask.setProcessTaskId(blfkFlowNode.getProcessTaskId());
+            blfkCaseTask.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.setCandeUnitId(loginUser.getUnitId());
+            blfkCaseTask.setCandeUnitName(loginUser.getUnitName());
+            // 受理后的节点任务节点,不需要签收
+            blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+            // 任务处理时限
+            if (blfkFlowNode.getExpire() != 0) {
+                blfkCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), blfkFlowNode.getExpire()));
+            }
+            blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+            blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            blfkCaseTask.setCustId(caseInfo.getCustId());
+            blfkCaseTask.setCreateTime(caseInfo.getCreateTime());
+            blfkCaseTask.setUpdateTime(caseInfo.getUpdateTime());
+            mapper.insert(blfkCaseTask);
+            // 更新纠纷信息
+            CaseInfo caseInfoPO = new CaseInfo();
+            caseInfoPO.setId(caseInfo.getId());
+            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(blfkCaseTask.getCreateTime());
+            caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId());
+            caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName());
+            caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+            return blfkCaseTask.getId();
+        }catch (Exception e){
+            log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webStartFlowZXSL", e);
+        }
+    }
+
+    /**
+     * web端任务处理-不予受理
+     * @param caseDismiss 不予受理表单
+     * @param userId 当前登录用户
+     */
+    public void webDismiss(CaseDismiss caseDismiss, String userId){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            // 查询当前节点任务
+            CaseTask caseTask = mapper.selectById(caseDismiss.getCaseTaskId());
+            // 结束当前节点任务
+            CaseTask caseTaskPO = new CaseTask();
+            caseTaskPO.setId(caseDismiss.getCaseTaskId());
+            caseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+            caseTaskPO.setHandleUnitId(loginUser.getUnitId());
+            caseTaskPO.setHandleUnitName(loginUser.getUnitName());
+            caseTaskPO.setHandleUserId(loginUser.getId());
+            caseTaskPO.setHandleDeptId(loginUser.getDeptId());
+            caseTaskPO.setHandleDeptName(loginUser.getDeptName());
+            caseTaskPO.setHandleUserName(loginUser.getTrueName());
+            caseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_3);
+            caseTaskPO.setHandleContent(caseDismiss.getDisContent());
+            caseTaskPO.setHandleTime(nowDate);
+            caseTaskPO.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            caseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(caseTaskPO.getHandleTime(), caseTask.getCreateTime()));
+            caseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(caseTaskPO.getHandleTime(), caseTask.getExpireTime()));
+            caseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(caseTaskPO.getHandleTime(), caseTask.getExpireTime()));
+            mapper.updateCaseTask(caseTaskPO);
+            // 结束当前工作流
+            flowInfoService.endFlow(caseTask.getProcessInstanceId());
+            // 更新纠纷信息
+            CaseInfo caseInfoPO = new CaseInfo();
+            caseInfoPO.setId(caseTask.getCaseId());
+            caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex());
+            caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.getDes());
+            caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
+            caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
+            caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
+            caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
+            caseInfoPO.setUpdateTime(nowDate);
+            caseInfoService.updateCaseInfo(caseInfoPO);
+            // 有配合组织,也结束配合组织工作流
+            List<CaseTask> assistCaseTaskList = this.listAssistTasking(caseDismiss.getCaseId());
+            for (CaseTask assistCaseTask: assistCaseTaskList){
+                // 完成配合组织当前节点任务
+                assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                assistCaseTask.setHandleUnitId(loginUser.getUnitId());
+                assistCaseTask.setHandleUnitName(loginUser.getUnitName()+"(承办部门)");
+                assistCaseTask.setHandleDeptId(loginUser.getDeptId());
+                assistCaseTask.setHandleDeptName(loginUser.getDeptName()+"(承办部门)");
+                assistCaseTask.setHandleUserId(loginUser.getId());
+                assistCaseTask.setHandleUserName(loginUser.getTrueName()+"(承办部门)");
+                assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_3);
+                assistCaseTask.setHandleTime(nowDate);
+                assistCaseTask.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                assistCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getCreateTime()));
+                assistCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime()));
+                assistCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime()));
+                mapper.updateCaseTask(assistCaseTask);
+                // 结束配合组织当前工作流
+                flowInfoService.endFlow(assistCaseTask.getProcessInstanceId());
+            }
+            // 新增不予受理信息
+            caseDismiss.setCaseTaskTime(caseTask.getCreateTime());
+            caseDismiss.setDisUnitId(loginUser.getUnitId());
+            caseDismiss.setDisUnitName(loginUser.getUnitName());
+            caseDismiss.setDisUserId(loginUser.getId());
+            caseDismiss.setDisUserName(loginUser.getTrueName());
+            caseDismiss.setDisTime(nowDate);
+            caseDismiss.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            caseDismiss.setCustId(caseTask.getCustId());
+            caseDismiss.setCreateTime(nowDate);
+            caseDismiss.setUpdateTime(nowDate);
+            caseDismissService.save(caseDismiss);
+        }catch (Exception e){
+            log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webAssign", e);
+        }
+    }
+
+    /**
+     * web端任务处理-交办
+     * @param assignTaskDTO 交办任务表单
+     * @param userId 当前登录用户
+     */
+    public void webAssign(AssignTaskDTO assignTaskDTO, String userId){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            // 查询交办的组织信息
+            CtUnitDTO dslUnitDTO = custClient.getUnitById(assignTaskDTO.getHandleUnitId());
+            // 查询当前待分派节点任务
+            CaseTask dfpCaseTask = mapper.selectById(assignTaskDTO.getCaseTaskId());
+            // 完成当前待分派节点任务
+            CaseTask dfpCaseTaskPO = new CaseTask();
+            dfpCaseTaskPO.setId(assignTaskDTO.getCaseTaskId());
+            dfpCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+            dfpCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
+            dfpCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+            dfpCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+            dfpCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+            dfpCaseTaskPO.setHandleUserId(loginUser.getId());
+            dfpCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+            dfpCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
+            dfpCaseTaskPO.setHandleContent(assignTaskDTO.getAssignContent());
+            dfpCaseTaskPO.setHandleIllust("派单至:"+assignTaskDTO.getHandleUnitName());
+            dfpCaseTaskPO.setHandleTime(nowDate);
+            dfpCaseTaskPO.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            dfpCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(dfpCaseTaskPO.getHandleTime(), dfpCaseTask.getCreateTime()));
+            dfpCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(dfpCaseTaskPO.getHandleTime(), dfpCaseTask.getExpireTime()));
+            dfpCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(dfpCaseTaskPO.getHandleTime(), dfpCaseTask.getExpireTime()));
+            mapper.updateCaseTask(dfpCaseTaskPO);
+            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 dslCaseTask = new CaseTask();
+            dslCaseTask.setId(utilsClient.getNewTimeId());
+            dslCaseTask.setCaseId(dfpCaseTask.getCaseId());
+            dslCaseTask.setFlowableId(newFlowNode.getFlowableId());
+            dslCaseTask.setProcessInstanceId(newFlowNode.getProcessInstanceId());
+            dslCaseTask.setProcessTaskId(newFlowNode.getProcessTaskId());
+            dslCaseTask.setNodeType(newFlowNode.getNodeType());
+            dslCaseTask.setNodeId(newFlowNode.getNodeId());
+            dslCaseTask.setNodeName(newFlowNode.getNodeName());
+            dslCaseTask.setFlowId(newFlowNode.getFlowId());
+            dslCaseTask.setNodeShowName(newFlowNode.getNodeShowName());
+            dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+            // 任务所属组织:交办的组织
+            dslCaseTask.setCandeUnitId(dslUnitDTO.getId());
+            dslCaseTask.setCandeUnitName(dslUnitDTO.getUnitName());
+            // 交办的待受理节点任务,需要签收
+            dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
+            dslCaseTask.setSignExpireTime(sysClient.getExpireTime(nowDate, SyTimeEnum.SY_TIME_2.getIndex()));
+            // 任务处理时限
+            if (newFlowNode.getExpire() != 0) {
+                dslCaseTask.setExpireTime(DateUtils.addDay(nowDate, newFlowNode.getExpire()));
+            }
+            dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+            dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            dslCaseTask.setCustId(dfpCaseTask.getCustId());
+            dslCaseTask.setCreateTime(nowDate);
+            dslCaseTask.setUpdateTime(nowDate);
+            mapper.insert(dslCaseTask);
+            // 更新纠纷信息
+            CaseInfo caseInfoPO = new CaseInfo();
+            caseInfoPO.setId(dslCaseTask.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);
+
+            // 交办配合组织
+            if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){
+                // 拼接配合组织编号和名称
+                String assistUnitId = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId).
+                        collect(Collectors.joining(BaseConsts.COMMA));
+                String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitName).
+                        collect(Collectors.joining(BaseConsts.COMMA));
+                for (AssignAssistUnitDTO assignAssistUnitDTO: assignTaskDTO.getAssistUnitList()){
+                    // 启动联合处置工作流
+                    FlowNode lhczdfpFlowNode = flowInfoService.startFlow(FlowableConsts.GZDYH_LHCZ_V1, dfpCaseTask.getCaseId());
+                    // 新建并完成待分派节点任务
+                    CaseTask lhczdfpCaseTask = new CaseTask();
+                    lhczdfpCaseTask.setId(utilsClient.getNewTimeId());
+                    lhczdfpCaseTask.setCaseId(dfpCaseTask.getCaseId());
+                    lhczdfpCaseTask.setFlowableId(lhczdfpFlowNode.getFlowableId());
+                    lhczdfpCaseTask.setProcessInstanceId(lhczdfpFlowNode.getProcessInstanceId());
+                    lhczdfpCaseTask.setProcessTaskId(lhczdfpFlowNode.getProcessTaskId());
+                    lhczdfpCaseTask.setNodeType(lhczdfpFlowNode.getNodeType());
+                    lhczdfpCaseTask.setNodeId(lhczdfpFlowNode.getNodeId());
+                    lhczdfpCaseTask.setNodeName(lhczdfpFlowNode.getNodeName());
+                    lhczdfpCaseTask.setFlowId(lhczdfpFlowNode.getFlowId());
+                    lhczdfpCaseTask.setNodeShowName(lhczdfpFlowNode.getNodeShowName());
+                    lhczdfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
+                    // 任务所属单位:当前操作组织
+                    lhczdfpCaseTask.setCandeUnitId(loginUser.getUnitId());
+                    lhczdfpCaseTask.setCandeUnitName(loginUser.getUnitName());
+                    // 待分派节点任务,不需要签收
+                    lhczdfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    lhczdfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                    lhczdfpCaseTask.setHandleUnitId(loginUser.getUnitId());
+                    lhczdfpCaseTask.setHandleUnitName(loginUser.getUnitName());
+                    lhczdfpCaseTask.setHandleDeptId(loginUser.getDeptId());
+                    lhczdfpCaseTask.setHandleDeptName(loginUser.getDeptName());
+                    lhczdfpCaseTask.setHandleUserId(loginUser.getId());
+                    lhczdfpCaseTask.setHandleUserName(loginUser.getTrueName());
+                    lhczdfpCaseTask.setHandleContent(assignTaskDTO.getAssignContent());
+                    lhczdfpCaseTask.setHandleIllust("交办至:"+assistUnitName);
+                    // 任务处理时限
+                    if (lhczdfpFlowNode.getExpire() != 0) {
+                        lhczdfpCaseTask.setExpireTime(DateUtils.addDay(nowDate, lhczdfpFlowNode.getExpire()));
+                    }
+                    lhczdfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    lhczdfpCaseTask.setCustId(dfpCaseTask.getCustId());
+                    lhczdfpCaseTask.setCreateTime(nowDate);
+                    lhczdfpCaseTask.setUpdateTime(nowDate);
+                    mapper.insert(lhczdfpCaseTask);
+                    // 完成待分派节点任务,进去待受理节点
+                    FlowNode lhczdslFlowNode = flowInfoService.completeTask(lhczdfpCaseTask.getFlowableId(), lhczdfpCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_forward, loginUser.getId());
+                    // 创建待受理节点任务
+                    CaseTask lhczdslCaseTask = new CaseTask();
+                    lhczdslCaseTask.setId(utilsClient.getNewTimeId());
+                    lhczdslCaseTask.setCaseId(lhczdfpCaseTask.getCaseId());
+                    lhczdslCaseTask.setFlowableId(lhczdslFlowNode.getFlowableId());
+                    lhczdslCaseTask.setProcessInstanceId(lhczdslFlowNode.getProcessInstanceId());
+                    lhczdslCaseTask.setProcessTaskId(lhczdslFlowNode.getProcessTaskId());
+                    lhczdslCaseTask.setNodeType(lhczdslFlowNode.getNodeType());
+                    lhczdslCaseTask.setNodeId(lhczdslFlowNode.getNodeId());
+                    lhczdslCaseTask.setNodeName(lhczdslFlowNode.getNodeName());
+                    lhczdslCaseTask.setFlowId(lhczdslFlowNode.getFlowId());
+                    lhczdslCaseTask.setNodeShowName(lhczdslFlowNode.getNodeShowName());
+                    lhczdslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
+                    // 任务所属单位:交办的配合组织
+                    lhczdslCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId());
+                    lhczdslCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName());
+                    // 交办的待受理节点任务,需要签收
+                    lhczdslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
+                    lhczdslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    // 任务处理时限
+                    if (lhczdslFlowNode.getExpire() != 0) {
+                        lhczdslCaseTask.setExpireTime(DateUtils.addDay(nowDate, lhczdslFlowNode.getExpire()));
+                    }
+                    lhczdslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    lhczdslCaseTask.setCustId(lhczdfpCaseTask.getCustId());
+                    lhczdslCaseTask.setCreateTime(nowDate);
+                    lhczdslCaseTask.setUpdateTime(nowDate);
+                    mapper.insert(lhczdslCaseTask);
+                    // 新增联合处置信息
+                    CaseAssistInfo caseAssistInfoPO = new CaseAssistInfo();
+                    caseAssistInfoPO.setId(utilsClient.getNewTimeId());
+                    caseAssistInfoPO.setCaseId(lhczdslCaseTask.getCaseId());
+                    caseAssistInfoPO.setProcessInstanceId(lhczdslCaseTask.getProcessInstanceId());
+                    caseAssistInfoPO.setAssistUnitId(assignAssistUnitDTO.getUitId());
+                    caseAssistInfoPO.setAssistUnitName(assignAssistUnitDTO.getUitName());
+                    caseAssistInfoPO.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_0);
+                    caseAssistInfoPO.setCustId(lhczdslCaseTask.getCustId());
+                    caseAssistInfoPO.setCreateTime(nowDate);
+                    caseAssistInfoPO.setUpdateTime(nowDate);
+                    caseAssistInfoService.save(caseAssistInfoPO);
+                }
+                // 更新纠纷扩展信息
+                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
+                caseInfoUnfoldPO.setId(dslCaseTask.getCaseId());
+                caseInfoUnfoldPO.setAssistUnitId(assistUnitId);
+                caseInfoUnfoldPO.setAssistUnitName(assistUnitName);
+                caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+            }
+        }catch (Exception e){
+            log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webAssign", e);
+        }
+    }
+
+    /**
+     * web端任务处理-签收
+     * @param signTaskDTOList 签收任务表单
+     * @param userId 当前登录用户
+     */
+    public void webSign(List<SignTaskDTO> signTaskDTOList, String userId){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            for (SignTaskDTO signTaskDTO: signTaskDTOList){
+                CaseTask qsCaseTask = mapper.selectById(signTaskDTO.getCaseTaskId());
+                // 更新纠纷任务信息
+                CaseTask caseTaskPO = new CaseTask();
+                caseTaskPO.setId(qsCaseTask.getId());
+                caseTaskPO.setSignStatus(CaseTaskConsts.SIGN_STATUS_2);
+                caseTaskPO.setSignTime(nowDate);
+                caseTaskPO.setSignUserId(loginUser.getId());
+                caseTaskPO.setSignUserName(loginUser.getTrueName());
+                caseTaskPO.setHandleIllust("已签收");
+                caseTaskPO.setUpdateTime(nowDate);
+                mapper.updateCaseTask(caseTaskPO);
+                // 承办组织签收才更新纠纷信息
+                if (CaseTaskConsts.CASE_TASK_TYPE_1 ==  qsCaseTask.getCaseTaskType()) {
+                    // 更新纠纷信息
+                    CaseInfo caseInfoPO = new CaseInfo();
+                    caseInfoPO.setId(qsCaseTask.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 String webAccept(AcceptTaskDTO acceptTaskDTO, String userId, Date nowDate){
+        try{
+            // 获取当前登录用户
+            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.setHandleDeptId(loginUser.getDeptId());
+            dslCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+            dslCaseTaskPO.setHandleUserId(loginUser.getId());;
+            dslCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+            dslCaseTaskPO.setHandleIllust("已受理");
+            dslCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+            dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
+            dslCaseTaskPO.setHandleTime(nowDate);
+            dslCaseTaskPO.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            dslCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(dslCaseTaskPO.getHandleTime(), dslCaseTask.getCreateTime()));
+            dslCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(dslCaseTaskPO.getHandleTime(), dslCaseTask.getExpireTime()));
+            dslCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(dslCaseTaskPO.getHandleTime(), dslCaseTask.getExpireTime()));
+            mapper.updateCaseTask(dslCaseTaskPO);
+            // 完成当前待受理工作流节点任务,机内办理反馈节点
+            String operation = FlowableConsts.OPERATION_sl;
+            if (CaseTaskConsts.CASE_TASK_TYPE_2 ==  dslCaseTask.getCaseTaskType()) {
+                // 配合组织受理条件改为通过
+                operation = FlowableConsts.OPERATION_forward;
+            }
+            FlowNode newFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(),
+                    operation, userId);
+            // 新建办理反馈节点任务
+            CaseTask blfkCaseTask = new CaseTask();
+            blfkCaseTask.setId(utilsClient.getNewTimeId());
+            blfkCaseTask.setCaseId(dslCaseTask.getCaseId());
+            blfkCaseTask.setFlowableId(newFlowNode.getFlowableId());
+            blfkCaseTask.setProcessInstanceId(newFlowNode.getProcessInstanceId());
+            blfkCaseTask.setProcessTaskId(newFlowNode.getProcessTaskId());
+            blfkCaseTask.setNodeType(newFlowNode.getNodeType());
+            blfkCaseTask.setNodeId(newFlowNode.getNodeId());
+            blfkCaseTask.setNodeName(newFlowNode.getNodeName());
+            blfkCaseTask.setFlowId(newFlowNode.getFlowId());
+            blfkCaseTask.setNodeShowName(newFlowNode.getNodeShowName());
+            blfkCaseTask.setCaseTaskType(dslCaseTask.getCaseTaskType());
+            // 任务所属单位:当前受理单位
+            blfkCaseTask.setCandeUnitId(loginUser.getUnitId());
+            blfkCaseTask.setCandeUnitName(loginUser.getUnitName());
+            // 受理后的节点任务,不需要签收
+            blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+            blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+            // 任务处理时限
+            if (newFlowNode.getExpire() != 0) {
+                blfkCaseTask.setExpireTime(DateUtils.addDay(nowDate, newFlowNode.getExpire()));
+            }
+            blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            blfkCaseTask.setCustId(dslCaseTask.getCustId());
+            blfkCaseTask.setCreateTime(nowDate);
+            blfkCaseTask.setUpdateTime(nowDate);
+            mapper.insert(blfkCaseTask);
+            // 承办组织受理才更新纠纷信息
+            if (CaseTaskConsts.CASE_TASK_TYPE_1 ==  dslCaseTask.getCaseTaskType()) {
+                // 更新纠纷信息
+                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.setAcceptTime(nowDate);
+                caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId());
+                caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName());
+                caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+            }else {
+                // 更新配合组织联合处置信息
+                QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>();
+                caseAssistInfoQueryWrapper.eq("case_id", blfkCaseTask.getCaseId())
+                        .eq("assist_unit_id", loginUser.getUnitId()).eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0);
+                CaseAssistInfo caseAssistInfoPO = caseAssistInfoService.getOne(caseAssistInfoQueryWrapper);
+                caseAssistInfoPO.setCaseTaskId(blfkCaseTask.getId());
+                caseAssistInfoPO.setAcceptTime(nowDate);
+                caseAssistInfoService.updateCaseAssistInfo(caseAssistInfoPO);
+            }
+            return blfkCaseTask.getId();
+        }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.getId());
+            caseWindupApply.setApplyUserName(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.setHandleDeptId(loginUser.getDeptId());
+            blfkCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+            blfkCaseTaskPO.setHandleUserId(loginUser.getId());
+            blfkCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+            blfkCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
+            blfkCaseTaskPO.setHandleTime(nowDate);
+            blfkCaseTaskPO.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            blfkCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(blfkCaseTaskPO.getHandleTime(), blfkCaseTask.getCreateTime()));
+            blfkCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(blfkCaseTaskPO.getHandleTime(), blfkCaseTask.getExpireTime()));
+            blfkCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(blfkCaseTaskPO.getHandleTime(), blfkCaseTask.getExpireTime()));
+            mapper.updateCaseTask(blfkCaseTaskPO);
+            // 完成当前待受理工作流节点任务,进入结案申请节点
+            FlowNode jasqFlowNode = flowInfoService.completeTask(blfkCaseTask.getFlowableId(), blfkCaseTask.getProcessTaskId(),
+                    FlowableConsts.OPERATION_forward, userId);
+            // 新建并自动完成结案申请节点任务
+            CaseTask jasqCaseTask = new CaseTask();
+            jasqCaseTask.setId(utilsClient.getNewTimeId());
+            jasqCaseTask.setCaseId(blfkCaseTask.getCaseId());
+            jasqCaseTask.setFlowableId(jasqFlowNode.getFlowableId());
+            jasqCaseTask.setProcessInstanceId(jasqFlowNode.getProcessInstanceId());
+            jasqCaseTask.setProcessTaskId(jasqFlowNode.getProcessTaskId());
+            jasqCaseTask.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.setCandeUnitId(loginUser.getUnitId());
+            jasqCaseTask.setCandeUnitName(loginUser.getUnitName());
+            // 受理后的节点任务,不需要签收
+            jasqCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+            // 任务处理时限
+            if (jasqFlowNode.getExpire() != 0) {
+                jasqCaseTask.setExpireTime(DateUtils.addDay(nowDate, jasqFlowNode.getExpire()));
+            }
+            jasqCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+            jasqCaseTask.setHandleUnitId(loginUser.getUnitId());
+            jasqCaseTask.setHandleUnitName(loginUser.getUnitName());
+            jasqCaseTask.setHandleDeptId(loginUser.getDeptId());
+            jasqCaseTask.setHandleDeptName(loginUser.getDeptName());
+            jasqCaseTask.setHandleUserId(loginUser.getId());
+            jasqCaseTask.setHandleUserName(loginUser.getTrueName());
+            jasqCaseTask.setHandleContent(caseWindupApply.getWindupContent());
+            jasqCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
+            jasqCaseTask.setHandleTime(nowDate);
+            jasqCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            jasqCaseTask.setCustId(blfkCaseTask.getCustId());
+            jasqCaseTask.setCreateTime(nowDate);
+            jasqCaseTask.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            jasqCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jasqCaseTask.getHandleTime(), jasqCaseTask.getCreateTime()));
+            jasqCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jasqCaseTask.getHandleTime(), jasqCaseTask.getExpireTime()));
+            jasqCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jasqCaseTask.getHandleTime(), jasqCaseTask.getExpireTime()));
+            mapper.insert(jasqCaseTask);
+            // 化解成功,自动结案审核通过
+            if (MediResultBaseConstsEnum.MEDI_RESULT_1.getIndex().equals(caseWindupApply.getMediResult())){
+                // 完成当前结案申请工作流节点任务,走结案审核任务
+                FlowNode jashFlowNode = flowInfoService.completeTask(jasqCaseTask.getFlowableId(), jasqCaseTask.getProcessTaskId(),
+                        FlowableConsts.OPERATION_forward, userId);
+                // 新建并自动完成结案审核任务
+                CaseTask jashCaseTask = new CaseTask();
+                jashCaseTask.setId(utilsClient.getNewTimeId());
+                jashCaseTask.setCaseId(jasqCaseTask.getCaseId());
+                jashCaseTask.setFlowableId(jashFlowNode.getFlowableId());
+                jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId());
+                jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId());
+                jashCaseTask.setNodeType(jashFlowNode.getNodeType());
+                jashCaseTask.setNodeId(jashFlowNode.getNodeId());
+                jashCaseTask.setNodeName(jashFlowNode.getNodeName());
+                jashCaseTask.setFlowId(jashFlowNode.getFlowId());
+                jashCaseTask.setNodeShowName(jashFlowNode.getNodeShowName());
+                jashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                // 任务所属单位:结案申请操作组织
+                jashCaseTask.setCandeUnitId(loginUser.getUnitId());
+                jashCaseTask.setCandeUnitName(loginUser.getUnitName());
+                // 受理后的节点任务,不需要签收
+                jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                // 任务处理时限
+                if (jashFlowNode.getExpire() != 0) {
+                    jashCaseTask.setExpireTime(DateUtils.addDay(nowDate, jashFlowNode.getExpire()));
+                }
+                jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                jashCaseTask.setHandleUnitId(loginUser.getUnitId());
+                jashCaseTask.setHandleUnitName(loginUser.getUnitName());
+                jashCaseTask.setHandleDeptId(loginUser.getDeptId());
+                jashCaseTask.setHandleDeptName(loginUser.getDeptName());
+                jashCaseTask.setHandleUserId(loginUser.getId());
+                jashCaseTask.setHandleUserName(loginUser.getTrueName());
+                jashCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                jashCaseTask.setHandleTime(DateUtils.addMinute(nowDate, 1));
+                jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                jashCaseTask.setCustId(jasqCaseTask.getCustId());
+                jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
+                jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
+                // 计算任务耗时、是否超时、超时多少
+                jashCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getCreateTime()));
+                jashCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime()));
+                jashCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime()));
+                mapper.insert(jashCaseTask);
+                // 完成当前结案审核工作流任务,走下一个节点
+                FlowNode nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                        FlowableConsts.OPERATION_jash_ty, userId);
+                // 下一个节点是当事人评价节点,进入当事人评价节点任务
+                if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){
+                    // 新建当事人评价节点任务
+                    CaseTask dsrpjCaseTask = new CaseTask();
+                    dsrpjCaseTask.setId(utilsClient.getNewTimeId());
+                    dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId());
+                    dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                    dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                    dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                    dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType());
+                    dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId());
+                    dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName());
+                    dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId());
+                    dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                    dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                    // 任务所属人:当事人
+                    EvaluatePersonDTO evaluatePersonDTO = casePersonService.getEvaluatePerson(jashCaseTask.getCaseId());
+                    dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getId());
+                    dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getName());
+                    // 受理后的节点任务,不需要签收
+                    dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (nextFlowNode.getExpire() != 0) {
+                        dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                    }
+                    dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
+                    dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2));
+                    dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2));
+                    mapper.insert(dsrpjCaseTask);
+                    // 更新纠纷信息
+                    CaseInfo caseInfoPO = new CaseInfo();
+                    caseInfoPO.setId(jashCaseTask.getCaseId());
+                    caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex());
+                    caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.getDes());
+                    caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
+                    caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
+                    caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
+                    caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
+                    caseInfoPO.setUpdateTime(nowDate);
+                    caseInfoService.updateCaseInfo(caseInfoPO);
+                }
+                // 下一个节点是结案归档节点,进入结案归档节点任务
+                if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){
+                    // 创建并完成结案归档节点任务
+                    CaseTask jagdCaseTask = new CaseTask();
+                    jagdCaseTask.setId(utilsClient.getNewTimeId());
+                    jagdCaseTask.setCaseId(jashCaseTask.getCaseId());
+                    jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                    jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                    jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                    jagdCaseTask.setNodeType(nextFlowNode.getNodeType());
+                    jagdCaseTask.setNodeId(nextFlowNode.getNodeId());
+                    jagdCaseTask.setNodeName(nextFlowNode.getNodeName());
+                    jagdCaseTask.setFlowId(nextFlowNode.getFlowId());
+                    jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                    jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                    // 任务所属单位:结案申请操作组织
+                    jagdCaseTask.setCandeUnitId(loginUser.getUnitId());
+                    jagdCaseTask.setCandeUnitName(loginUser.getUnitName());
+                    // 受理后的节点任务,不需要签收
+                    jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (nextFlowNode.getExpire() != 0) {
+                        jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                    }
+                    jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                    jashCaseTask.setHandleUnitId(loginUser.getUnitId());
+                    jashCaseTask.setHandleUnitName(loginUser.getUnitName());
+                    jashCaseTask.setHandleDeptId(loginUser.getDeptId());
+                    jashCaseTask.setHandleDeptName(loginUser.getDeptName());
+                    jashCaseTask.setHandleUserId(loginUser.getId());
+                    jashCaseTask.setHandleUserName(loginUser.getTrueName());
+                    jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
+                    jagdCaseTask.setHandleTime(nowDate);
+                    jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    jagdCaseTask.setCustId(jashCaseTask.getCustId());
+                    jagdCaseTask.setCreateTime(nowDate);
+                    jagdCaseTask.setUpdateTime(nowDate);
+                    // 计算任务耗时、是否超时、超时多少
+                    jagdCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getCreateTime()));
+                    jagdCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime()));
+                    jagdCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime()));
+                    mapper.insert(jagdCaseTask);
+                    // 完成结案归档工作流节点任务,结束流程
+                    flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_jb_zszz, loginUser.getId());
+                    // 更新纠纷信息
+                    CaseInfo caseInfoPO = new CaseInfo();
+                    caseInfoPO.setId(jashCaseTask.getCaseId());
+                    caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex());
+                    caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.getDes());
+                    caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
+                    caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
+                    caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
+                    caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
+                    caseInfoPO.setUpdateTime(nowDate);
+                    caseInfoService.updateCaseInfo(caseInfoPO);
+                }
+                // 更新结案申请信息
+                caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1);
+                caseWindupApply.setCaseTaskId(jashCaseTask.getId());
+                caseWindupApply.setAuditUnitId(jashCaseTask.getHandleUnitId());
+                caseWindupApply.setAuditUnitName(jashCaseTask.getHandleUnitName());
+                caseWindupApply.setAuditUserId(jashCaseTask.getHandleUserId());
+                caseWindupApply.setAuditUserName(jashCaseTask.getHandleUserName());
+                caseWindupApply.setAuditTime(nowDate);
+                caseWindupApply.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
+                caseWindupApply.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
+                caseWindupApply.setCustId(jashCaseTask.getCustId());
+                caseWindupApplyService.save(caseWindupApply);
+                // 更新纠纷扩展信息
+                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
+                caseInfoUnfoldPO.setId(jashCaseTask.getCaseId());
+                caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult());
+                caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName());
+                caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType());
+                caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName());
+                caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent());
+                caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent());
+                caseInfoUnfoldPO.setCloseTime(nowDate);
+                caseInfoUnfoldPO.setUpdateTime(nowDate);
+                caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+            }else {// 化解不成功
+                // 完成当前结案申请工作流节点任务
+                FlowNode jashFlowNode = flowInfoService.completeTask(jasqCaseTask.getFlowableId(), jasqCaseTask.getProcessTaskId(),
+                        FlowableConsts.OPERATION_forward, userId);
+                // 判断是否自行受理
+                CaseInfo caseInfo = caseInfoService.getById(jasqCaseTask.getCaseId());
+                if (CaseBaseConsts.ZXSL_STATUS_1 == caseInfo.getZxslStatus()){
+                    // 自行受理,自行完成结案审核节点,直接进入下一个节点
+                    // 新建并自动完成结案审核任务
+                    CaseTask jashCaseTask = new CaseTask();
+                    jashCaseTask.setId(utilsClient.getNewTimeId());
+                    jashCaseTask.setCaseId(jasqCaseTask.getCaseId());
+                    jashCaseTask.setFlowableId(jashFlowNode.getFlowableId());
+                    jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId());
+                    jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId());
+                    jashCaseTask.setNodeType(jashFlowNode.getNodeType());
+                    jashCaseTask.setNodeId(jashFlowNode.getNodeId());
+                    jashCaseTask.setNodeName(jashFlowNode.getNodeName());
+                    jashCaseTask.setFlowId(jashFlowNode.getFlowId());
+                    jashCaseTask.setNodeShowName(jashFlowNode.getNodeShowName());
+                    jashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                    // 任务所属单位:结案申请操作组织
+                    jashCaseTask.setCandeUnitId(loginUser.getUnitId());
+                    jashCaseTask.setCandeUnitName(loginUser.getUnitName());
+                    // 受理后的节点任务,不需要签收
+                    jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (jashFlowNode.getExpire() != 0) {
+                        jashCaseTask.setExpireTime(DateUtils.addDay(nowDate, jashFlowNode.getExpire()));
+                    }
+                    jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                    jashCaseTask.setHandleUnitId(loginUser.getUnitId());
+                    jashCaseTask.setHandleUnitName(loginUser.getUnitName());
+                    jashCaseTask.setHandleDeptId(loginUser.getDeptId());
+                    jashCaseTask.setHandleDeptName(loginUser.getDeptName());
+                    jashCaseTask.setHandleUserId(loginUser.getId());
+                    jashCaseTask.setHandleUserName(loginUser.getTrueName());
+                    jashCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                    jashCaseTask.setHandleTime(DateUtils.addMinute(nowDate, 1));
+                    jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    jashCaseTask.setCustId(jasqCaseTask.getCustId());
+                    jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
+                    jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
+                    // 计算任务耗时、是否超时、超时多少
+                    jashCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getCreateTime()));
+                    jashCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime()));
+                    jashCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jashCaseTask.getHandleTime(), jashCaseTask.getExpireTime()));
+                    mapper.insert(jashCaseTask);
+                    // 完成当前结案审核工作流任务,走下一个节点
+                    FlowNode nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_jash_ty, userId);
+                    // 下一个节点是当事人评价节点,进入当事人评价节点任务
+                    if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){
+                        // 新建当事人评价节点任务
+                        CaseTask dsrpjCaseTask = new CaseTask();
+                        dsrpjCaseTask.setId(utilsClient.getNewTimeId());
+                        dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId());
+                        dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                        dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                        dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                        dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType());
+                        dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId());
+                        dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName());
+                        dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId());
+                        dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                        dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                        // 任务所属人:当事人
+                        EvaluatePersonDTO evaluatePersonDTO = casePersonService.getEvaluatePerson(jashCaseTask.getCaseId());
+                        dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getId());
+                        dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getName());
+                        // 受理后的节点任务,不需要签收
+                        dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                        // 任务处理时限
+                        if (nextFlowNode.getExpire() != 0) {
+                            dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                        }
+                        dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                        dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                        dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
+                        dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2));
+                        dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2));
+                        mapper.insert(dsrpjCaseTask);
+                        // 更新纠纷信息
+                        CaseInfo caseInfoPO = new CaseInfo();
+                        caseInfoPO.setId(jashCaseTask.getCaseId());
+                        caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex());
+                        caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.getDes());
+                        caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
+                        caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
+                        caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
+                        caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
+                        caseInfoPO.setUpdateTime(nowDate);
+                        caseInfoService.updateCaseInfo(caseInfoPO);
+                    }
+                    // 下一个节点是结案归档节点,进入结案归档节点任务
+                    if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){
+                        // 创建并完成结案归档节点任务
+                        CaseTask jagdCaseTask = new CaseTask();
+                        jagdCaseTask.setId(utilsClient.getNewTimeId());
+                        jagdCaseTask.setCaseId(jashCaseTask.getCaseId());
+                        jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                        jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                        jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                        jagdCaseTask.setNodeType(nextFlowNode.getNodeType());
+                        jagdCaseTask.setNodeId(nextFlowNode.getNodeId());
+                        jagdCaseTask.setNodeName(nextFlowNode.getNodeName());
+                        jagdCaseTask.setFlowId(nextFlowNode.getFlowId());
+                        jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                        jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                        // 任务所属单位:结案申请操作组织
+                        jagdCaseTask.setCandeUnitId(loginUser.getUnitId());
+                        jagdCaseTask.setCandeUnitName(loginUser.getUnitName());
+                        // 受理后的节点任务,不需要签收
+                        jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                        // 任务处理时限
+                        if (nextFlowNode.getExpire() != 0) {
+                            jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                        }
+                        jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                        jagdCaseTask.setHandleUnitId(loginUser.getUnitId());
+                        jagdCaseTask.setHandleUnitName(loginUser.getUnitName());
+                        jagdCaseTask.setHandleDeptId(loginUser.getDeptId());
+                        jagdCaseTask.setHandleDeptName(loginUser.getDeptName());
+                        jagdCaseTask.setHandleUserId(loginUser.getId());
+                        jagdCaseTask.setHandleUserName(loginUser.getTrueName());
+                        jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
+                        jagdCaseTask.setHandleTime(nowDate);
+                        jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                        jagdCaseTask.setCustId(jashCaseTask.getCustId());
+                        jagdCaseTask.setCreateTime(nowDate);
+                        jagdCaseTask.setUpdateTime(nowDate);
+                        // 计算任务耗时、是否超时、超时多少
+                        jagdCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getCreateTime()));
+                        jagdCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime()));
+                        jagdCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime()));
+                        mapper.insert(jagdCaseTask);
+                        // 完成结案归档工作流节点任务,结束流程
+                        flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(),
+                                FlowableConsts.OPERATION_jb_zszz, loginUser.getId());
+                        // 更新纠纷信息
+                        CaseInfo caseInfoPO = new CaseInfo();
+                        caseInfoPO.setId(jashCaseTask.getCaseId());
+                        caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex());
+                        caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.getDes());
+                        caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
+                        caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
+                        caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
+                        caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
+                        caseInfoPO.setUpdateTime(nowDate);
+                        caseInfoService.updateCaseInfo(caseInfoPO);
+                    }
+                    // 更新结案申请信息
+                    caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1);
+                    caseWindupApply.setCaseTaskId(jashCaseTask.getId());
+                    caseWindupApply.setAuditUnitId(jashCaseTask.getHandleUnitId());
+                    caseWindupApply.setAuditUnitName(jashCaseTask.getHandleUnitName());
+                    caseWindupApply.setAuditUserId(jashCaseTask.getHandleUserId());
+                    caseWindupApply.setAuditUserName(jashCaseTask.getHandleUserName());
+                    caseWindupApply.setAuditTime(nowDate);
+                    caseWindupApply.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
+                    caseWindupApply.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
+                    caseWindupApply.setCustId(jashCaseTask.getCustId());
+                    caseWindupApplyService.save(caseWindupApply);
+                    // 更新纠纷扩展信息
+                    CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
+                    caseInfoUnfoldPO.setId(jashCaseTask.getCaseId());
+                    caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult());
+                    caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName());
+                    caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType());
+                    caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName());
+                    caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent());
+                    caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent());
+                    caseInfoUnfoldPO.setCloseTime(nowDate);
+                    caseInfoUnfoldPO.setUpdateTime(nowDate);
+                    caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+                }else {
+                    // 正常流程,进入结案审核节点
+                    // 新建结案审核任务
+                    CaseTask jashCaseTask = new CaseTask();
+                    jashCaseTask.setId(utilsClient.getNewTimeId());
+                    jashCaseTask.setCaseId(jasqCaseTask.getCaseId());
+                    jashCaseTask.setFlowableId(jashFlowNode.getFlowableId());
+                    jashCaseTask.setProcessInstanceId(jashFlowNode.getProcessInstanceId());
+                    jashCaseTask.setProcessTaskId(jashFlowNode.getProcessTaskId());
+                    jashCaseTask.setNodeType(jashFlowNode.getNodeType());
+                    jashCaseTask.setNodeId(jashFlowNode.getNodeId());
+                    jashCaseTask.setNodeName(jashFlowNode.getNodeName());
+                    jashCaseTask.setFlowId(jashFlowNode.getFlowId());
+                    jashCaseTask.setNodeShowName(jashFlowNode.getNodeShowName());
+                    jashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                    // 任务所属单位:本级综治中心审核
+                    CtUnitDTO zzzxCtUnitDTO = custClient.getBjZzzx(loginUser.getUnitId());
+                    jashCaseTask.setCandeUnitId(zzzxCtUnitDTO.getId());
+                    jashCaseTask.setCandeUnitName(zzzxCtUnitDTO.getUnitName());
+                    // 受理后的节点任务,不需要签收
+                    jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (jashFlowNode.getExpire() != 0) {
+                        jashCaseTask.setExpireTime(DateUtils.addDay(nowDate, jashFlowNode.getExpire()));
+                    }
+                    jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    jashCaseTask.setCustId(jasqCaseTask.getCustId());
+                    jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
+                    jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
+                    mapper.insert(jashCaseTask);
+                    // 更新结案申请信息
+                    caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0);
+                    caseWindupApply.setCaseTaskId(jashCaseTask.getId());
+                    caseWindupApply.setAuditUnitId(jashCaseTask.getCandeUnitId());
+                    caseWindupApply.setAuditUnitName(jashCaseTask.getCandeUnitName());
+                    caseWindupApply.setCustId(jashCaseTask.getCustId());
+                    caseWindupApplyService.save(caseWindupApply);
+                    // 更新纠纷信息
+                    CaseInfo caseInfoPO = new CaseInfo();
+                    caseInfoPO.setId(jashCaseTask.getCaseId());
+                    caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_5.getIndex());
+                    caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_5.getDes());
+                    caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
+                    caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
+                    caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
+                    caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
+                    caseInfoPO.setUpdateTime(nowDate);
+                    caseInfoService.updateCaseInfo(caseInfoPO);
+                    // 更新纠纷扩展信息
+                    CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
+                    caseInfoUnfoldPO.setId(jashCaseTask.getCaseId());
+                    caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult());
+                    caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName());
+                    caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType());
+                    caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName());
+                    caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent());
+                    caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent());
+                    caseInfoUnfoldPO.setUpdateTime(nowDate);
+                    caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+                }
+            }
+            // 查询联合处置申请单,全部结束申请单
+            QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>();
+            caseAssistApplyQueryWrapper.eq("case_id", jasqCaseTask.getCaseId()).eq("apply_status", AuditBaseConsts.AUDIT_STATUS_0);
+            List<CaseAssistApply> caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper);
+            for (CaseAssistApply caseAssistApply: caseAssistApplyList){
+                caseAssistApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_2);
+                caseAssistApply.setUpdateTime(nowDate);
+                caseAssistApplyService.updateCaseAssistApply(caseAssistApply);
+            }
+            // 查询配合组织的任务,全部结束流程
+            List<CaseTask> assistCaseTaskList = this.listAssistTasking(jasqCaseTask.getCaseId());
+            for (CaseTask assistCaseTask: assistCaseTaskList){
+                // 完成配合组织当前任务
+                assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                assistCaseTask.setHandleUnitId(loginUser.getUnitId());
+                assistCaseTask.setHandleUnitName(loginUser.getUnitName());
+                assistCaseTask.setHandleDeptId(loginUser.getDeptId());
+                assistCaseTask.setHandleDeptName(loginUser.getDeptName());
+                assistCaseTask.setHandleUserId(loginUser.getId());
+                assistCaseTask.setHandleUserName(loginUser.getTrueName());
+                assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
+                assistCaseTask.setHandleTime(nowDate);
+                assistCaseTask.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                assistCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getCreateTime()));
+                assistCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime()));
+                assistCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime()));
+                mapper.updateCaseTask(assistCaseTask);
+                // 结束配合组织当前工作流任务
+                flowInfoService.endFlow(assistCaseTask.getProcessInstanceId());
+            }
+        }catch (Exception e){
+            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 oldCaseWindupApply = caseWindupApplyService.getById(caseWindupApply.getId());
+            // 更新结案申请信息
+            caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1);
+            caseWindupApply.setAuditUserId(loginUser.getId());
+            caseWindupApply.setAuditUserName(loginUser.getTrueName());
+            caseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            caseWindupApply.setCustId(loginUser.getCustId());
+            caseWindupApply.setAuditTime(nowDate);
+            caseWindupApply.setUpdateTime(nowDate);
+            caseWindupApplyService.updateCaseWindupApply(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.setHandleDeptId(loginUser.getDeptId());
+                jashCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+                jashCaseTaskPO.setHandleUserId(loginUser.getId());
+                jashCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+                jashCaseTaskPO.setHandleContent(caseWindupApply.getAuditContent());
+                jashCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                jashCaseTaskPO.setHandleTime(nowDate);
+                jashCaseTaskPO.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                jashCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jashCaseTaskPO.getHandleTime(), jashCaseTask.getCreateTime()));
+                jashCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jashCaseTaskPO.getHandleTime(), jashCaseTask.getExpireTime()));
+                jashCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jashCaseTaskPO.getHandleTime(), jashCaseTask.getExpireTime()));
+                mapper.updateCaseTask(jashCaseTaskPO);
+                // 根据事项等级,判断是否要上级综治中心审核
+                FlowNode nextFlowNode = null;
+                CaseInfo caseInfo = caseInfoService.getById(jashCaseTask.getCaseId());
+                if (CaseBaseConsts.CASE_LEVEL_1 == caseInfo.getCaseLevel()){
+                    // 一级事件,本级+上级+上上级审核
+                    if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(jashCaseTask.getNodeId())){
+                        // 完成本级综治中心审核,进入上级综治中心审核节点
+                        nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                                FlowableConsts.OPERATION_jash_ty_sq, userId);
+
+                    }else if (FlowNodeEnum.FLOW_NODE_JASH_YJ.getIndex().equals(jashCaseTask.getNodeId())){
+                        // 完成上级综治中心审核,进入上上级综治中心审核节点
+                        nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                                FlowableConsts.OPERATION_jash_ty_sq, userId);
+                    }else {
+                        // 完成上上级综治中心审核,审核流程结束,进入下一节点
+                        nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                                FlowableConsts.OPERATION_jash_ty, userId);
+                    }
+
+                }else if (CaseBaseConsts.CASE_LEVEL_2 == caseInfo.getCaseLevel()){
+                    // 二级事件,本级+上级审核
+                    String operation = FlowableConsts.OPERATION_jash_ty;
+                    if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(jashCaseTask.getNodeId())){
+                        // 完成本级综治中心审核,进入上级综治中心审核节点
+                        nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                                FlowableConsts.OPERATION_jash_ty_sq, userId);
+                    }else {
+                        // 完成上级综治中心审核,审核流程结束,进入下一节点
+                        nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                                FlowableConsts.OPERATION_jash_ty, userId);
+                    }
+                }else {
+                    // 三级事件,自办自结,即本级综治中心审核就行,完成本级综治中心审核,审核流程结束,进入下一节点
+                    nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_jash_ty, userId);
+                }
+
+                // 下一个节点是一级结案审核节点,进入一级结案审核节点任务
+                if (FlowNodeEnum.FLOW_NODE_JASH_YJ.getIndex().equals(nextFlowNode.getNodeId())){
+                    // 新建结案审核节点任务
+                    CaseTask yjJashCaseTask = new CaseTask();
+                    yjJashCaseTask.setId(utilsClient.getNewTimeId());
+                    yjJashCaseTask.setCaseId(jashCaseTask.getCaseId());
+                    yjJashCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                    yjJashCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                    yjJashCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                    yjJashCaseTask.setNodeType(nextFlowNode.getNodeType());
+                    yjJashCaseTask.setNodeId(nextFlowNode.getNodeId());
+                    yjJashCaseTask.setNodeName(nextFlowNode.getNodeName());
+                    yjJashCaseTask.setFlowId(nextFlowNode.getFlowId());
+                    yjJashCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                    yjJashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                    // 任务所属单位:上级级综治中心审核
+                    CtUnitDTO zzzxCtUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId());
+                    yjJashCaseTask.setCandeUnitId(zzzxCtUnitDTO.getId());
+                    yjJashCaseTask.setCandeUnitName(zzzxCtUnitDTO.getUnitName());
+                    // 受理后的节点任务,不需要签收
+                    yjJashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (nextFlowNode.getExpire() != 0) {
+                        yjJashCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                    }
+                    yjJashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    yjJashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    yjJashCaseTask.setCustId(jashCaseTask.getCustId());
+                    yjJashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
+                    yjJashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
+                    mapper.insert(yjJashCaseTask);
+                    // 创建新的结案申请记录
+                    CaseWindupApply newCaseWindupApply = new CaseWindupApply();
+                    BeanUtils.copyProperties(oldCaseWindupApply, newCaseWindupApply);
+                    newCaseWindupApply.setId(utilsClient.getNewTimeId());
+                    newCaseWindupApply.setApplyTime(nowDate);
+                    newCaseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0);
+                    newCaseWindupApply.setCaseTaskId(yjJashCaseTask.getId());
+                    newCaseWindupApply.setAuditUnitId(yjJashCaseTask.getCandeUnitId());
+                    newCaseWindupApply.setAuditUnitName(yjJashCaseTask.getCandeUnitName());
+                    newCaseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    newCaseWindupApply.setCreateTime(nowDate);
+                    newCaseWindupApply.setUpdateTime(nowDate);
+                    newCaseWindupApply.setCustId(yjJashCaseTask.getCustId());
+                    caseWindupApplyService.save(newCaseWindupApply);
+                }
+                // 下一个节点是二级结案审核节点,进入二级结案审核节点任务
+                if (FlowNodeEnum.FLOW_NODE_JASH_EJ.getIndex().equals(nextFlowNode.getNodeId())){
+                    // 新建结案审核节点任务
+                    CaseTask ejJashCaseTask = new CaseTask();
+                    ejJashCaseTask.setId(utilsClient.getNewTimeId());
+                    ejJashCaseTask.setCaseId(jashCaseTask.getCaseId());
+                    ejJashCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                    ejJashCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                    ejJashCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                    ejJashCaseTask.setNodeType(nextFlowNode.getNodeType());
+                    ejJashCaseTask.setNodeId(nextFlowNode.getNodeId());
+                    ejJashCaseTask.setNodeName(nextFlowNode.getNodeName());
+                    ejJashCaseTask.setFlowId(nextFlowNode.getFlowId());
+                    ejJashCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                    ejJashCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                    // 任务所属单位:上级级综治中心审核
+                    CtUnitDTO zzzxCtUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId());
+                    ejJashCaseTask.setCandeUnitId(zzzxCtUnitDTO.getId());
+                    ejJashCaseTask.setCandeUnitName(zzzxCtUnitDTO.getUnitName());
+                    // 受理后的节点任务,不需要签收
+                    ejJashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (nextFlowNode.getExpire() != 0) {
+                        ejJashCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                    }
+                    ejJashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    ejJashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    ejJashCaseTask.setCustId(jashCaseTask.getCustId());
+                    ejJashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
+                    ejJashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
+                    mapper.insert(ejJashCaseTask);
+                    // 创建新的结案申请记录
+                    CaseWindupApply newCaseWindupApply = new CaseWindupApply();
+                    BeanUtils.copyProperties(oldCaseWindupApply, newCaseWindupApply);
+                    newCaseWindupApply.setId(utilsClient.getNewTimeId());
+                    newCaseWindupApply.setApplyTime(nowDate);
+                    newCaseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0);
+                    newCaseWindupApply.setCaseTaskId(ejJashCaseTask.getId());
+                    newCaseWindupApply.setAuditUnitId(ejJashCaseTask.getCandeUnitId());
+                    newCaseWindupApply.setAuditUnitName(ejJashCaseTask.getCandeUnitName());
+                    newCaseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    newCaseWindupApply.setCreateTime(nowDate);
+                    newCaseWindupApply.setUpdateTime(nowDate);
+                    newCaseWindupApply.setCustId(ejJashCaseTask.getCustId());
+                    caseWindupApplyService.save(newCaseWindupApply);
+                }
+                // 下一个节点是当事人评价节点,进入当事人评价节点任务
+                if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){
+                    // 新建当事人评价节点任务
+                    CaseTask dsrpjCaseTask = new CaseTask();
+                    dsrpjCaseTask.setId(utilsClient.getNewTimeId());
+                    dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId());
+                    dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                    dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                    dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                    dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType());
+                    dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId());
+                    dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName());
+                    dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId());
+                    dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                    dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                    // 任务所属人:当事人
+                    EvaluatePersonDTO evaluatePersonDTO = casePersonService.getEvaluatePerson(jashCaseTask.getCaseId());
+                    dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getId());
+                    dsrpjCaseTask.setCandeUserId(evaluatePersonDTO.getName());
+                    // 受理后的节点任务,不需要签收
+                    dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (nextFlowNode.getExpire() != 0) {
+                        dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                    }
+                    dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
+                    dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2));
+                    dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2));
+                    mapper.insert(dsrpjCaseTask);
+                    // 更新纠纷信息
+                    CaseInfo caseInfoPO = new CaseInfo();
+                    caseInfoPO.setId(jashCaseTask.getCaseId());
+                    caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex());
+                    caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.getDes());
+                    caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
+                    caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
+                    caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
+                    caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
+                    caseInfoPO.setUpdateTime(nowDate);
+                    caseInfoService.updateCaseInfo(caseInfoPO);
+                }
+                // 下一个节点是结案归档节点,进入结案归档节点任务
+                if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){
+                    // 创建并完成结案归档节点任务
+                    CaseTask jagdCaseTask = new CaseTask();
+                    jagdCaseTask.setId(utilsClient.getNewTimeId());
+                    jagdCaseTask.setCaseId(jashCaseTask.getCaseId());
+                    jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                    jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                    jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                    jagdCaseTask.setNodeType(nextFlowNode.getNodeType());
+                    jagdCaseTask.setNodeId(nextFlowNode.getNodeId());
+                    jagdCaseTask.setNodeName(nextFlowNode.getNodeName());
+                    jagdCaseTask.setFlowId(nextFlowNode.getFlowId());
+                    jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                    jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                    // 任务所属单位:结案申请操作组织
+                    jagdCaseTask.setCandeUnitId(oldCaseWindupApply.getApplyUnitId());
+                    jagdCaseTask.setCandeUnitName(oldCaseWindupApply.getApplyUnitName());
+                    // 受理后的节点任务,不需要签收
+                    jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (nextFlowNode.getExpire() != 0) {
+                        jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                    }
+                    jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                    jashCaseTask.setHandleUnitId(loginUser.getUnitId());
+                    jashCaseTask.setHandleUnitName(loginUser.getUnitName());
+                    jashCaseTask.setHandleDeptId(loginUser.getDeptId());
+                    jashCaseTask.setHandleDeptName(loginUser.getDeptName());
+                    jashCaseTask.setHandleUserId(loginUser.getId());
+                    jashCaseTask.setHandleUserName(loginUser.getTrueName());
+                    jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
+                    jagdCaseTask.setHandleTime(nowDate);
+                    jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    jagdCaseTask.setCustId(jashCaseTask.getCustId());
+                    jagdCaseTask.setCreateTime(nowDate);
+                    jagdCaseTask.setUpdateTime(nowDate);
+                    // 计算任务耗时、是否超时、超时多少
+                    jagdCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getCreateTime()));
+                    jagdCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime()));
+                    jagdCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jagdCaseTask.getHandleTime(), jagdCaseTask.getExpireTime()));
+                    mapper.insert(jagdCaseTask);
+                    // 完成结案归档工作流节点任务,结束流程
+                    flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_jb_zszz, loginUser.getId());
+                    // 更新纠纷信息
+                    CaseInfo caseInfoPO = new CaseInfo();
+                    caseInfoPO.setId(jashCaseTask.getCaseId());
+                    caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex());
+                    caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.getDes());
+                    caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
+                    caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
+                    caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
+                    caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
+                    caseInfoPO.setUpdateTime(nowDate);
+                    caseInfoService.updateCaseInfo(caseInfoPO);
+
+                }
+                // 更新纠纷扩展信息
+                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
+                caseInfoUnfoldPO.setId(jashCaseTask.getCaseId());
+                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.setHandleDeptId(loginUser.getDeptId());
+                jashCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+                jashCaseTaskPO.setHandleUserId(loginUser.getId());
+                jashCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+                jashCaseTaskPO.setHandleContent(caseWindupApply.getAuditContent());
+                jashCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2);
+                jashCaseTaskPO.setHandleTime(nowDate);
+                jashCaseTaskPO.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                jashCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(jashCaseTaskPO.getHandleTime(), jashCaseTask.getCreateTime()));
+                jashCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(jashCaseTaskPO.getHandleTime(), jashCaseTask.getExpireTime()));
+                jashCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(jashCaseTaskPO.getHandleTime(), jashCaseTask.getExpireTime()));
+                mapper.updateCaseTask(jashCaseTaskPO);
+                // 完成当前结案审核工作流节点任务,走办理反馈节点任务
+                FlowNode blfkFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
+                        FlowableConsts.OPERATION_jash_bty, userId);
+                // 新建办理反馈节点任务
+                CaseTask blfkCaseTask = new CaseTask();
+                blfkCaseTask.setId(utilsClient.getNewTimeId());
+                blfkCaseTask.setCaseId(jashCaseTask.getCaseId());
+                blfkCaseTask.setFlowableId(blfkFlowNode.getFlowableId());
+                blfkCaseTask.setProcessInstanceId(blfkFlowNode.getProcessInstanceId());
+                blfkCaseTask.setProcessTaskId(blfkFlowNode.getProcessTaskId());
+                blfkCaseTask.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.setCandeUnitId(oldCaseWindupApply.getApplyUnitId());
+                blfkCaseTask.setCandeUnitName(oldCaseWindupApply.getApplyUnitName());
+                // 受理后的节点任务,不需要签收
+                blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                // 任务处理时限
+                if (blfkFlowNode.getExpire() != 0) {
+                    blfkCaseTask.setExpireTime(DateUtils.addDay(nowDate, blfkFlowNode.getExpire()));
+                }
+                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);
+            }
+        }catch (Exception e){
+            log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webWindupApply", e);
+        }
+    }
+
+    /**
+     * web端任务处理-回退申请
+     * @param caseReturn 回退申请表单
+     * @param userId 当前登录用户
+     */
+    public void webReturnApply(CaseReturn caseReturn, String userId){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            // 创建回退申请信息
+            caseReturn.setReturnUnitId(loginUser.getUnitId());
+            caseReturn.setReturnUnitName(loginUser.getUnitName());
+            caseReturn.setReturnUserId(loginUser.getId());
+            caseReturn.setReturnUserName(loginUser.getTrueName());
+            caseReturn.setReturnTime(nowDate);
+            CtUnitDTO zzzxUnit = custClient.getParentZzzxUnit(loginUser.getUnitId());
+            caseReturn.setAuditUnitId(zzzxUnit.getId());
+            caseReturn.setAuditUnitName(zzzxUnit.getUnitName());
+            caseReturn.setReturnStatus(AuditBaseConsts.AUDIT_STATUS_0);
+            caseReturn.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            caseReturn.setCustId(loginUser.getCustId());
+            caseReturn.setCreateTime(nowDate);
+            caseReturn.setUpdateTime(nowDate);
+            // 查询待节点任务
+            CaseTask thisCaseTask = mapper.selectById(caseReturn.getCaseTaskId());
+            // 完成当前节点任务
+            CaseTask thisCaseTaskPO = new CaseTask();
+            thisCaseTaskPO.setId(caseReturn.getCaseTaskId());
+            thisCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+            thisCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
+            thisCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+            thisCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+            thisCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+            thisCaseTaskPO.setHandleUserId(loginUser.getId());
+            thisCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+            thisCaseTaskPO.setHandleContent(caseReturn.getReturnContent());
+            thisCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_4);
+            thisCaseTaskPO.setHandleTime(nowDate);
+            thisCaseTaskPO.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            thisCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(thisCaseTaskPO.getHandleTime(), thisCaseTask.getCreateTime()));
+            thisCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(thisCaseTaskPO.getHandleTime(), thisCaseTask.getExpireTime()));
+            thisCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(thisCaseTaskPO.getHandleTime(), thisCaseTask.getExpireTime()));
+            mapper.updateCaseTask(thisCaseTaskPO);
+            // 完成当前节点工作流任务,走回退审核任务
+            FlowNode htshFlowNode = flowInfoService.completeTask(thisCaseTask.getFlowableId(), thisCaseTask.getProcessTaskId(),
+                    FlowableConsts.OPERATION_htsq, userId);
+            // 新建回退审核节点任务
+            CaseTask htshCaseTask = new CaseTask();
+            htshCaseTask.setId(utilsClient.getNewTimeId());
+            htshCaseTask.setCaseId(thisCaseTask.getCaseId());
+            htshCaseTask.setFlowableId(htshFlowNode.getFlowableId());
+            htshCaseTask.setProcessInstanceId(htshFlowNode.getProcessInstanceId());
+            htshCaseTask.setProcessTaskId(htshFlowNode.getProcessTaskId());
+            htshCaseTask.setNodeType(htshFlowNode.getNodeType());
+            htshCaseTask.setNodeId(htshFlowNode.getNodeId());
+            htshCaseTask.setNodeName(htshFlowNode.getNodeName());
+            htshCaseTask.setFlowId(htshFlowNode.getFlowId());
+            htshCaseTask.setNodeShowName(htshFlowNode.getNodeShowName());
+            htshCaseTask.setCaseTaskType(thisCaseTask.getCaseTaskType());
+            // 任务所属单位:上级综治中心
+            htshCaseTask.setCandeUnitId(zzzxUnit.getId());
+            htshCaseTask.setCandeUnitName(zzzxUnit.getUnitName());
+            // 受理后的节点任务,不需要签收
+            htshCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+            // 任务处理时限
+            if (htshFlowNode.getExpire() != 0) {
+                htshCaseTask.setExpireTime(DateUtils.addDay(nowDate, htshFlowNode.getExpire()));
+            }
+            htshCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+            htshCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            htshCaseTask.setCustId(htshCaseTask.getCustId());
+            htshCaseTask.setCreateTime(nowDate);
+            htshCaseTask.setUpdateTime(nowDate);
+            mapper.insert(htshCaseTask);
+            // 新增回退申请信息
+            caseReturn.setCaseTaskId(htshCaseTask.getId());
+            caseReturn.setCaseTaskType(htshCaseTask.getCaseTaskType());
+            caseReturnService.save(caseReturn);
+        }catch (Exception e){
+            log.error("[CaseTaskService.webReturnApply]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webReturnApply", e);
+        }
+    }
+
+    /**
+     * web端任务处理-回退审核
+     * @param caseReturn 回退审核表单
+     * @param userId 当前登录用户
+     */
+    public void webReturnAudit(CaseReturn caseReturn, String userId){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            // 更新回退申请信息
+            caseReturn.setReturnStatus(AuditBaseConsts.AUDIT_STATUS_1);
+            caseReturn.setAuditUserId(loginUser.getId());
+            caseReturn.setAuditUserName(loginUser.getTrueName());
+            caseReturn.setAuditTime(nowDate);
+            caseReturn.setUpdateTime(nowDate);
+            caseReturnService.updateCaseReturn(caseReturn);
+            // 查询回退审核节点任务
+            CaseTask htshCaseTask = mapper.selectById(caseReturn.getCaseTaskId());
+            // 审核通过
+            if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseReturn.getAuditResult())){
+                // 完成当前回退审核节点任务
+                CaseTask htshCaseTaskPO = new CaseTask();
+                htshCaseTaskPO.setId(caseReturn.getCaseTaskId());
+                htshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                htshCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
+                htshCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+                htshCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+                htshCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+                htshCaseTaskPO.setHandleUserId(loginUser.getId());
+                htshCaseTaskPO.setHandleContent(caseReturn.getAuditContent());
+                htshCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+                htshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                htshCaseTaskPO.setHandleTime(nowDate);
+                htshCaseTaskPO.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                htshCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(htshCaseTaskPO.getHandleTime(), htshCaseTask.getCreateTime()));
+                htshCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(htshCaseTaskPO.getHandleTime(), htshCaseTask.getExpireTime()));
+                htshCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(htshCaseTaskPO.getHandleTime(), htshCaseTask.getExpireTime()));
+                mapper.updateCaseTask(htshCaseTaskPO);
+                // 完成当前回退审核工作流节点任务,承办组织走待分派节点任务,配合组织结束工作流流程
+                FlowNode nextFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(),
+                        FlowableConsts.OPERATION_htsh_ty, userId);
+                if (CaseTaskConsts.CASE_TASK_TYPE_1 == htshCaseTask.getCaseTaskType()) {
+                    // 新建下一个节点任务
+                    CaseTask nextCaseTask = new CaseTask();
+                    nextCaseTask.setId(utilsClient.getNewTimeId());
+                    nextCaseTask.setCaseId(htshCaseTask.getCaseId());
+                    nextCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                    nextCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                    nextCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                    nextCaseTask.setNodeType(nextFlowNode.getNodeType());
+                    nextCaseTask.setNodeId(nextFlowNode.getNodeId());
+                    nextCaseTask.setNodeName(nextFlowNode.getNodeName());
+                    nextCaseTask.setFlowId(nextFlowNode.getFlowId());
+                    nextCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                    nextCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType());
+                    // 任务所属单位:回退审核操作组织
+                    nextCaseTask.setCandeUnitId(loginUser.getUnitId());
+                    nextCaseTask.setCandeUnitName(loginUser.getUnitName());
+                    // 受理后的节点任务,不需要签收
+                    nextCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (nextFlowNode.getExpire() != 0) {
+                        nextCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                    }
+                    nextCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    nextCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    nextCaseTask.setCustId(nextCaseTask.getCustId());
+                    nextCaseTask.setCreateTime(nowDate);
+                    nextCaseTask.setUpdateTime(nowDate);
+                    mapper.insert(nextCaseTask);
+                    // 更新纠纷信息
+                    CaseInfo caseInfoPO = new CaseInfo();
+                    caseInfoPO.setId(htshCaseTask.getCaseId());
+                    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());
+                    caseInfoPO.setUpdateTime(nowDate);
+                    caseInfoService.updateCaseInfo(caseInfoPO);
+                    // 有配合组织,结束配合组织工作流程
+                    List<CaseTask> assistCaseTaskList = this.listAssistTasking(htshCaseTask.getCaseId());
+                    for (CaseTask assistCaseTask: assistCaseTaskList){
+                        // 完成配合组织当前任务
+                        assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                        assistCaseTask.setHandleUnitId(loginUser.getUnitId());
+                        assistCaseTask.setHandleUnitName(loginUser.getUnitName()+"(承办部门)");
+                        assistCaseTask.setHandleDeptId(loginUser.getDeptId());
+                        assistCaseTask.setHandleDeptName(loginUser.getDeptName()+"(承办部门)");
+                        assistCaseTask.setHandleUserId(loginUser.getId());
+                        assistCaseTask.setHandleUserName(loginUser.getTrueName()+"(承办部门)");
+                        assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0);
+                        assistCaseTask.setHandleTime(nowDate);
+                        assistCaseTask.setUpdateTime(nowDate);
+                        // 计算任务耗时、是否超时、超时多少
+                        assistCaseTask.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getCreateTime()));
+                        assistCaseTask.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime()));
+                        assistCaseTask.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(assistCaseTask.getHandleTime(), assistCaseTask.getExpireTime()));
+                        mapper.updateCaseTask(assistCaseTask);
+                        // 结束配合组织当前工作流任务
+                        flowInfoService.endFlow(assistCaseTask.getProcessInstanceId());
+                        // 更新联合处置信息
+                        UpdateWrapper<CaseAssistInfo> caseAssistInfoUpdateWrapper = new UpdateWrapper<>();
+                        caseAssistInfoUpdateWrapper.eq("case_id", htshCaseTask.getCaseId())
+                                .eq("process_instance_id", assistCaseTask.getProcessInstanceId())
+                                .eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0).set("assist_status", CaseTaskConsts.ASSIST_STATUS_2);
+                        caseAssistInfoService.update(caseAssistInfoUpdateWrapper);
+                    }
+                }else {
+                    // 更新联合处置信息
+                    QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>();
+                    caseAssistInfoQueryWrapper.eq("case_id", htshCaseTask.getCaseId())
+                            .eq("assist_unit_id", htshCaseTask.getCandeUnitId())
+                            .eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0);
+                    CaseAssistInfo caseAssistInfo = caseAssistInfoService.getOne(caseAssistInfoQueryWrapper);
+                    if (ObjectUtils.isNotEmpty(caseAssistInfo)){
+                        caseAssistInfo.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_1);
+                        caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo);
+                    }
+                }
+            }else {
+                // 审核不通过
+                // 完成当前回退审核节点任务
+                CaseTask htshCaseTaskPO = new CaseTask();
+                htshCaseTaskPO.setId(caseReturn.getCaseTaskId());
+                htshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                htshCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
+                htshCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+                htshCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+                htshCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+                htshCaseTaskPO.setHandleUserId(loginUser.getId());
+                htshCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+                htshCaseTaskPO.setHandleContent(caseReturn.getAuditContent());
+                htshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2);
+                htshCaseTaskPO.setHandleTime(nowDate);
+                htshCaseTaskPO.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                htshCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(htshCaseTaskPO.getHandleTime(), htshCaseTask.getCreateTime()));
+                htshCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(htshCaseTaskPO.getHandleTime(), htshCaseTask.getExpireTime()));
+                htshCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(htshCaseTaskPO.getHandleTime(), htshCaseTask.getExpireTime()));
+                mapper.updateCaseTask(htshCaseTaskPO);
+                // 查询回退申请信息
+                CaseReturn btyCaseReturn = caseReturnService.getById(caseReturn.getId());
+                // 查询回退申请组织信息
+                CtUnitDTO returnUnit = custClient.getUnitById(btyCaseReturn.getReturnUnitId());
+                FlowNode nextFlowNode = null;
+                if (UserBaseConsts.UNIT_GRADE_2 == returnUnit.getUnitGrade()){
+                    // 区级组织回退,完成当前回退审核节点任务,进入下一个节点
+                    nextFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_htsh_bty_qj, userId);
+                }else if(UserBaseConsts.UNIT_GRADE_1 == returnUnit.getUnitGrade()){
+                    // 市级组织回退,完成当前回退审核节点任务,进入下一个节点
+                    nextFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_htsh_bty_sj, userId);
+                }else {
+                    // 完成当前回退审核节点任务,进入下一个节点
+                    nextFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_htsh_bty, userId);
+                }
+                // 新建下一个节点任务
+                CaseTask nextCaseTask = new CaseTask();
+                nextCaseTask.setId(utilsClient.getNewTimeId());
+                nextCaseTask.setCaseId(htshCaseTask.getCaseId());
+                nextCaseTask.setFlowableId(nextFlowNode.getFlowableId());
+                nextCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
+                nextCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
+                nextCaseTask.setNodeType(nextFlowNode.getNodeType());
+                nextCaseTask.setNodeId(nextFlowNode.getNodeId());
+                nextCaseTask.setNodeName(nextFlowNode.getNodeName());
+                nextCaseTask.setFlowId(nextFlowNode.getFlowId());
+                nextCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
+                nextCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType());
+                // 任务所属组织:回退申请组织
+                nextCaseTask.setCandeUnitId(btyCaseReturn.getReturnUnitId());
+                nextCaseTask.setCandeUnitName(btyCaseReturn.getReturnUnitName());
+                // 受理后的节点任务,不需要签收
+                nextCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                // 任务处理时限
+                if (nextFlowNode.getExpire() != 0) {
+                    nextCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
+                }
+                nextCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                nextCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                nextCaseTask.setCustId(htshCaseTask.getCustId());
+                nextCaseTask.setCreateTime(nowDate);
+                nextCaseTask.setUpdateTime(nowDate);
+                mapper.insert(nextCaseTask);
+            }
+        }catch (Exception e){
+            log.error("[CaseTaskService.webReturnAudit]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webReturnAudit", e);
+        }
+    }
+
+    /**
+     * web端任务处理-上报
+     * @param caseAppear 上报表单
+     * @param userId 当前登录用户
+     */
+    public void webAppearApply(CaseAppear caseAppear, String userId){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            // 创建上报信息
+            caseAppear.setAppearUnitId(loginUser.getUnitId());
+            caseAppear.setAppearUnitName(loginUser.getUnitName());
+            caseAppear.setAppearUserId(loginUser.getId());
+            caseAppear.setAppearUserName(loginUser.getTrueName());
+            caseAppear.setAppearTime(nowDate);
+            caseAppear.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0);
+            caseAppear.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            caseAppear.setCustId(loginUser.getCustId());
+            caseAppear.setCreateTime(nowDate);
+            caseAppear.setUpdateTime(nowDate);
+            // 查询当前节点任务
+            CaseTask thisCaseTask = mapper.selectById(caseAppear.getCaseTaskId());
+            // 完成当前当前节点任务
+            CaseTask thisCaseTaskPO = new CaseTask();
+            thisCaseTaskPO.setId(caseAppear.getCaseTaskId());
+            thisCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+            thisCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
+            thisCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+            thisCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+            thisCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+            thisCaseTaskPO.setHandleUserId(loginUser.getId());
+            thisCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+            thisCaseTaskPO.setHandleContent(caseAppear.getAppearContent());
+            thisCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_5);
+            thisCaseTaskPO.setHandleTime(nowDate);
+            thisCaseTaskPO.setUpdateTime(nowDate);
+            // 计算任务耗时、是否超时、超时多少
+            thisCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(thisCaseTaskPO.getHandleTime(), thisCaseTask.getCreateTime()));
+            thisCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(thisCaseTaskPO.getHandleTime(), thisCaseTask.getExpireTime()));
+            thisCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(thisCaseTaskPO.getHandleTime(), thisCaseTask.getExpireTime()));
+            mapper.updateCaseTask(thisCaseTaskPO);
+            // 完成当前待受理工作流节点任务,走上报审核任务
+            FlowNode sbshFlowNode = flowInfoService.completeTask(thisCaseTask.getFlowableId(), thisCaseTask.getProcessTaskId(),
+                    FlowableConsts.OPERATION_sb, userId);
+            // 新建上报审核任务
+            CaseTask sbshCaseTask = new CaseTask();
+            sbshCaseTask.setId(utilsClient.getNewTimeId());
+            sbshCaseTask.setCaseId(thisCaseTask.getCaseId());
+            sbshCaseTask.setFlowableId(sbshFlowNode.getFlowableId());
+            sbshCaseTask.setProcessInstanceId(sbshFlowNode.getProcessInstanceId());
+            sbshCaseTask.setProcessTaskId(sbshFlowNode.getProcessTaskId());
+            sbshCaseTask.setNodeType(sbshFlowNode.getNodeType());
+            sbshCaseTask.setNodeId(sbshFlowNode.getNodeId());
+            sbshCaseTask.setNodeName(sbshFlowNode.getNodeName());
+            sbshCaseTask.setFlowId(sbshFlowNode.getFlowId());
+            sbshCaseTask.setNodeShowName(sbshFlowNode.getNodeShowName());
+            sbshCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+            // 任务所属单位,上报审核组织
+            sbshCaseTask.setCandeUnitId(caseAppear.getAuditUnitId());
+            sbshCaseTask.setCandeUnitName(caseAppear.getAuditUnitName());
+            // 受理后的节点任务,不需要签收
+            sbshCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+            // 任务处理时限
+            if (sbshFlowNode.getExpire() != 0) {
+                sbshCaseTask.setExpireTime(DateUtils.addDay(nowDate, sbshFlowNode.getExpire()));
+            }
+            sbshCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+            sbshCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            sbshCaseTask.setCustId(sbshCaseTask.getCustId());
+            sbshCaseTask.setCreateTime(nowDate);
+            sbshCaseTask.setUpdateTime(nowDate);
+            mapper.insert(sbshCaseTask);
+            // 新增上报申请信息
+            caseAppear.setCaseTaskId(sbshCaseTask.getId());
+            caseAppearService.save(caseAppear);
+        }catch (Exception e){
+            log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webAppearApply", e);
+        }
+    }
+
+    /**
+     * web端任务处理-上报审核
+     * @param caseAppear 上报审核表单
+     * @param userId 当前登录用户
+     */
+    public void webAppearAudit(CaseAppear caseAppear, String userId){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 获取当前登录用户
+            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+            // 更新上报信息
+            caseAppear.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1);
+            caseAppear.setAuditUserId(loginUser.getId());
+            caseAppear.setAuditUserName(loginUser.getTrueName());
+            caseAppear.setAuditTime(nowDate);
+            caseAppear.setUpdateTime(nowDate);
+            caseAppearService.updateCaseAppear(caseAppear);
+            // 查询上报审核节点任务
+            CaseTask sbshCaseTask = mapper.selectById(caseAppear.getCaseTaskId());
+            // 审核通过
+            if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseAppear.getAuditResult())){
+                // 完成当前上报审核节点任务
+                CaseTask sbshCaseTaskPO = new CaseTask();
+                sbshCaseTaskPO.setId(caseAppear.getCaseTaskId());
+                sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
+                sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+                sbshCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+                sbshCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+                sbshCaseTaskPO.setHandleUserId(loginUser.getId());
+                sbshCaseTaskPO.setHandleContent(caseAppear.getAuditContent());
+                sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+                sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+                sbshCaseTaskPO.setHandleTime(nowDate);
+                sbshCaseTaskPO.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                sbshCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getCreateTime()));
+                sbshCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getExpireTime()));
+                sbshCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getExpireTime()));
+                mapper.updateCaseTask(sbshCaseTaskPO);
+                // 完成当前上报审核任务,走待分派任务
+                FlowNode dfpFlowNode = flowInfoService.completeTask(sbshCaseTask.getFlowableId(), sbshCaseTask.getProcessTaskId(),
+                        FlowableConsts.OPERATION_sbsh_ty, userId);
+                // 新建待分派任务
+                CaseTask dfphCaseTask = new CaseTask();
+                dfphCaseTask.setId(utilsClient.getNewTimeId());
+                dfphCaseTask.setCaseId(sbshCaseTask.getCaseId());
+                dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
+                dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
+                dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());
+                dfphCaseTask.setNodeType(dfpFlowNode.getNodeType());
+                dfphCaseTask.setNodeId(dfpFlowNode.getNodeId());
+                dfphCaseTask.setNodeName(dfpFlowNode.getNodeName());
+                dfphCaseTask.setFlowId(dfpFlowNode.getFlowId());
+                dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName());
+                dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                // 任务所属单位:上报审核组织
+                dfphCaseTask.setCandeUnitId(loginUser.getUnitId());
+                dfphCaseTask.setCandeUnitName(loginUser.getUnitName());
+                // 受理后的节点任务,不需要签收
+                dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                // 任务处理时限
+                if (dfpFlowNode.getExpire() != 0) {
+                    dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire()));
+                }
+                dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                dfphCaseTask.setCustId(dfphCaseTask.getCustId());
+                dfphCaseTask.setCreateTime(nowDate);
+                dfphCaseTask.setUpdateTime(nowDate);
+                mapper.insert(dfphCaseTask);
+                // 更新纠纷信息
+                CaseInfo caseInfoPO = new CaseInfo();
+                caseInfoPO.setId(sbshCaseTask.getCaseId());
+                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());
+                caseInfoPO.setUpdateTime(nowDate);
+                caseInfoService.updateCaseInfo(caseInfoPO);
+            }else {
+                // 审核不通过
+                // 完成当前上报审核任务
+                CaseTask sbshCaseTaskPO = new CaseTask();
+                sbshCaseTaskPO.setId(caseAppear.getCaseTaskId());
+                sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
+                sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+                sbshCaseTaskPO.setHandleDeptId(loginUser.getDeptId());
+                sbshCaseTaskPO.setHandleDeptName(loginUser.getDeptName());
+                sbshCaseTaskPO.setHandleUserId(loginUser.getId());
+                sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+                sbshCaseTaskPO.setHandleContent(caseAppear.getAuditContent());
+                sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2);
+                sbshCaseTaskPO.setHandleTime(nowDate);
+                sbshCaseTaskPO.setUpdateTime(nowDate);
+                // 计算任务耗时、是否超时、超时多少
+                sbshCaseTaskPO.setUsetimeHour(TaskUsetimeUtils.getUsetimeHour(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getCreateTime()));
+                sbshCaseTaskPO.setOvertimeStatus(TaskUsetimeUtils.getOvertimeStatus(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getExpireTime()));
+                sbshCaseTaskPO.setOvertimeHour(TaskUsetimeUtils.getOvertimeHour(sbshCaseTaskPO.getHandleTime(), sbshCaseTask.getExpireTime()));
+                mapper.updateCaseTask(sbshCaseTaskPO);
+                // 完成当前上报审核任务,走待分派任务
+                FlowNode dfpFlowNode = flowInfoService.completeTask(sbshCaseTask.getFlowableId(), sbshCaseTask.getProcessTaskId(),
+                        FlowableConsts.OPERATION_sbsh_bty, userId);
+                // 新建待分派任务
+                CaseTask dfphCaseTask = new CaseTask();
+                dfphCaseTask.setId(utilsClient.getNewTimeId());
+                dfphCaseTask.setCaseId(sbshCaseTask.getCaseId());
+                dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
+                dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
+                dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());
+                dfphCaseTask.setNodeType(dfpFlowNode.getNodeType());
+                dfphCaseTask.setNodeId(dfpFlowNode.getNodeId());
+                dfphCaseTask.setNodeName(dfpFlowNode.getNodeName());
+                dfphCaseTask.setFlowId(dfpFlowNode.getFlowId());
+                dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName());
+                dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                // 任务所属单位:上报申请组织
+                CaseAppear caseAppearBO = caseAppearService.getById(caseAppear.getId());
+                dfphCaseTask.setCandeUnitId(caseAppearBO.getAppearUnitId());
+                dfphCaseTask.setCandeUnitName(caseAppearBO.getAppearUnitName());
+                // 受理后的节点任务,不需要签收
+                dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                // 任务处理时限
+                if (dfpFlowNode.getExpire() != 0) {
+                    dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire()));
+                }
+                dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                dfphCaseTask.setCustId(dfphCaseTask.getCustId());
+                dfphCaseTask.setCreateTime(nowDate);
+                dfphCaseTask.setUpdateTime(nowDate);
+                mapper.insert(dfphCaseTask);
+            }
+        }catch (Exception e){
+            log.error("[CaseTaskService.webAppearAudit]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webAppearAudit", e);
+        }
+    }
+
+    /**
+     * 按条件查询
+     * @param terms 条件
+     * @return List
+     */
+    public List<SignTaskDTO> listIdByTerms(Map<String, Object> terms){
+        return mapper.listIdByTerms(terms);
+    }
+
+    /**
+     * web端-工作台-已办事项
+     * @param page 分页对象
+     * @param terms 条件
+     * @return Page
+     */
+    public Page<FrontPageListYBDTO> pageMyTaskYb(PageRequest page, Map<String, Object> terms){
+        try {
+            long total = mapper.countMyTaskYb(terms);
+            List<FrontPageListYBDTO> frontPageListYBDTOList = mapper.pageMyTaskYb(page, terms);
+            return new PageImpl<FrontPageListYBDTO>(frontPageListYBDTOList, page, total);
+        }catch (Exception e) {
+            log.error("[CaseTaskService.pageMyTaskYb]调用失败,异常信息:" + e, e);
+            throw new ServiceException("CaseTaskService.pageMyTaskYb", e);
+        }
+    }
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ByToGzService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ByToGzService.java
index 726ba7e..b091d6a 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ByToGzService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ByToGzService.java
@@ -1,27 +1,36 @@
 package cn.huge.module.syncbydyh.service;
 
 import cn.huge.base.common.exception.ServiceException;
-import cn.huge.module.cases.domain.po.CaseAgent;
-import cn.huge.module.cases.domain.po.CaseInfo;
-import cn.huge.module.cases.domain.po.CasePerson;
-import cn.huge.module.cases.domain.po.CaseTask;
+import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.module.cases.domain.dto.AcceptTaskDTO;
+import cn.huge.module.cases.domain.po.*;
 import cn.huge.module.cases.service.*;
+import cn.huge.module.client.api.impl.CustClientImpl;
 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.disp.dto.DispCaseBaseDTO;
 import cn.huge.module.syncbydyh.client.api.impl.SyncBydyhClientImpl;
+import cn.huge.module.syncbydyh.domain.dto.ByCaseTaskDTO;
 import cn.huge.module.syncbydyh.domain.dto.GZCaseDTO;
+import cn.huge.module.syncbydyh.domain.po.SyCause;
+import cn.huge.module.syncbydyh.domain.po.ThirdCause;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
- * @title: 白云数据割接为广州数据的业务逻辑处理
- * @Description 白云数据割接为广州数据的业务逻辑处理
+ * @title: 白云区矛盾纠纷多元化解平台数据割接-公共逻辑处理
+ * @Description 白云区矛盾纠纷多元化解平台数据割接-公共逻辑处理
  * @company hugeinfo
  * @author liyj
  * @Time 2024-08-19 20:04:19
@@ -43,49 +52,67 @@
     private CaseAgentService caseAgentService;
     @Autowired
     private CaseTaskService caseTaskService;
+    @Autowired
+    private ThirdCauseService thirdCauseService;
+    @Autowired
+    private SyCauseService syCauseService;
+    @Autowired
+    private CustClientImpl custClient;
+    @Autowired
+    private ByToGzCaseTaskService byToGzCaseTaskService;
 
     /**
      * 白云区矛盾纠纷多元化解平台数据割接-已结束的纠纷案件信息
      */
     public void byToGzEndCase(){
         try{
+            List<CaseInfo> errorCaseList = new ArrayList<>();
             int operSize = 100;
 //            int endCaseCount = 1000;
             int endCaseCount = syncBydyhClient.countEndCase();
             if (endCaseCount > 0) {
-                int allPage = (endCaseCount/operSize);
-//                int allPage = 1;
+//                int allPage = (endCaseCount/operSize);
+                int allPage = 20;
                 for (int operPage=1; operPage<=allPage; operPage++) {
-                    try{
-                        List<GZCaseDTO> byToGzDTOList = syncBydyhClient.byToGzEndCase(operPage, operSize);
-                        for (GZCaseDTO byToGzDTO: byToGzDTOList){
-                            caseInfoService.saveOrUpdate(byToGzDTO.getGzCaseInfoDTO());
-
+                    List<GZCaseDTO> byToGzDTOList = syncBydyhClient.byToGzEndCase(operPage, operSize);
+                    for (GZCaseDTO byToGzDTO: byToGzDTOList){
+                        // 新增案件信息
+                        CaseInfo caseInfo = byToGzDTO.getGzCaseInfoDTO();
+                        try {
+                            if (caseInfo.getCaseClaim().length() > 200) {
+                                caseInfo.setCaseClaim("详见申请材料");
+                            }
+                            if (caseInfo.getCaseDes().length() > 200) {
+                                caseInfo.setCaseDes("详见申请材料");
+                            }
+                            caseInfoService.saveOrUpdate(caseInfo);
+                            // 新增案件扩展信息
                             caseInfoUnfoldService.saveOrUpdate(byToGzDTO.getGzCaseInfoUnfoldDTO());
-
+                            // 新增当事人信息
                             List<CasePerson> casePersonList = byToGzDTO.getGzCasePersonDTOList();
                             if (CollectionUtils.isNotEmpty(casePersonList)) {
                                 for (CasePerson casePerson : casePersonList) {
                                     casePersonService.saveOrUpdate(casePerson);
                                 }
                             }
-
+                            // 新增当事人代理人信息
                             List<CaseAgent> caseAgentList = byToGzDTO.getGzCaseAgentDTOList();
                             if (CollectionUtils.isNotEmpty(caseAgentList)) {
                                 for (CaseAgent caseAgent : caseAgentList) {
                                     caseAgentService.saveOrUpdate(caseAgent);
                                 }
                             }
-
+                            // 新增纠纷任务信息
                             List<CaseTask> caseTaskList = byToGzDTO.getGzCaseTaskDTOList();
                             if (CollectionUtils.isNotEmpty(caseTaskList)) {
                                 for (CaseTask caseTask : caseTaskList) {
                                     caseTaskService.saveOrUpdate(caseTask);
                                 }
                             }
+                        }catch (Exception e){
+                            log.error("[ByToGzService.byToGzEndCase]调用失败,异常信息:"+e, e);
+                            errorCaseList.add(byToGzDTO.getGzCaseInfoDTO());
                         }
-                    }catch (Exception e){
-                        log.error("[ByToGzService.byToGzEndCase]调用失败,异常信息:"+e, e);
                     }
                 }
             }
@@ -94,4 +121,156 @@
             throw new ServiceException("ByToGzService.byToGzEndCase", e);
         }
     }
+
+    /**
+     * 白云区矛盾纠纷多元化解平台数据割接-进行中的纠纷案件信息
+     */
+    public void byToGzTodoCase(){
+        try{
+            int operSize = 100;
+            int endCaseCount = syncBydyhClient.countTodoCase();
+            if (endCaseCount > 0) {
+                int allPage = (endCaseCount/operSize);
+                for (int operPage=1; operPage<=allPage; operPage++) {
+                    List<GZCaseDTO> byToGzDTOList = syncBydyhClient.byToGzTodoCase(operPage, operSize);
+                    for (GZCaseDTO byToGzDTO: byToGzDTOList){
+                        try {
+                            // 新增案件信息
+                            CaseInfo caseInfo = byToGzDTO.getGzCaseInfoDTO();
+                            if (caseInfo.getCaseClaim().length() > 200) {
+                                caseInfo.setCaseClaim("详见申请材料");
+                            }
+                            if (caseInfo.getCaseDes().length() > 200) {
+                                caseInfo.setCaseDes("详见申请材料");
+                            }
+                            caseInfoService.saveOrUpdate(caseInfo);
+                            // 新增案件扩展信息
+                            CaseInfoUnfold caseInfoUnfold = byToGzDTO.getGzCaseInfoUnfoldDTO();
+                            caseInfoUnfoldService.saveOrUpdate(caseInfoUnfold);
+                            // 新增当事人信息
+                            List<CasePerson> casePersonList = byToGzDTO.getGzCasePersonDTOList();
+                            if (CollectionUtils.isNotEmpty(casePersonList)) {
+                                for (CasePerson casePerson : casePersonList) {
+                                    casePersonService.saveOrUpdate(casePerson);
+                                }
+                            }
+                            // 新增当事人代理人信息
+                            List<CaseAgent> caseAgentList = byToGzDTO.getGzCaseAgentDTOList();
+                            if (CollectionUtils.isNotEmpty(caseAgentList)) {
+                                for (CaseAgent caseAgent : caseAgentList) {
+                                    caseAgentService.saveOrUpdate(caseAgent);
+                                }
+                            }
+                            // 启动流程
+                            caseTaskService.deleteByCaseId(caseInfo.getId());
+                            if (StringUtils.isNotEmpty(caseInfoUnfold.getMediateUnitId())
+                                    && StringUtils.isNotEmpty(caseInfo.getWantUnitId())
+                                    && caseInfo.getWantUnitId().equals(caseInfoUnfold.getMediateUnitId())) {
+                                CtUserDTO ctUserDTO = custClient.clientGetUserAll(caseInfo.getInputUserId());
+                                byToGzCaseTaskService.webStartFlowZXSL(caseInfo, ctUserDTO);
+                            } else {
+                                DispCaseBaseDTO dispCaseBaseDTO = new DispCaseBaseDTO();
+                                BeanUtils.copyProperties(caseInfo, dispCaseBaseDTO);
+                                dispCaseBaseDTO.setWantUserId(null);
+                                dispCaseBaseDTO.setWantUserName(null);
+                                if (StringUtils.isNotEmpty(caseInfoUnfold.getMediateUnitId())) {
+                                    dispCaseBaseDTO.setWantUnitId(caseInfoUnfold.getMediateUnitId());
+                                    dispCaseBaseDTO.setWantUnitName(caseInfoUnfold.getMediateUnitName());
+                                    String dslCaseTaskId = byToGzCaseTaskService.webStartFlowLFDJ(caseInfo, dispCaseBaseDTO);
+
+                                    List<ByCaseTaskDTO> byCaseTaskDTOList = byToGzDTO.getByCaseTaskDTOList();
+                                    if (CollectionUtils.isNotEmpty(byCaseTaskDTOList)) {
+                                        for (ByCaseTaskDTO byCaseTaskDTO : byCaseTaskDTOList) {
+                                            if ("F22_00019-2".equals(byCaseTaskDTO.getTaskNode())) {
+                                                AcceptTaskDTO acceptTaskDTO = new AcceptTaskDTO();
+                                                acceptTaskDTO.setCaseTaskId(dslCaseTaskId);
+                                                try {
+                                                    byToGzCaseTaskService.webAccept(acceptTaskDTO, byCaseTaskDTO.getHandlerUserId(), byCaseTaskDTO.getCreateTime());
+                                                } catch (Exception e) {
+                                                    log.error(e.getMessage(), e);
+                                                }
+                                            }
+                                        }
+                                    }
+                                } else {
+                                    byToGzCaseTaskService.webStartFlowLFDJ(caseInfo, dispCaseBaseDTO);
+                                }
+                            }
+                        }catch (Exception e){
+                            log.error("[ByToGzService.byToGzEndCase]调用失败,异常信息:"+e, e);
+                        }
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("[ByToGzService.byToGzEndCase]调用失败,异常信息:"+e, e);
+            throw new ServiceException("ByToGzService.byToGzEndCase", e);
+        }
+    }
+
+    /**
+     * 白云区矛盾纠纷多元化解平台数据割接-更新纠纷类型
+     */
+    public void upThirdCause(){
+        try{
+            List<CaseInfo> caseInfoList = caseInfoService.list();
+            QueryWrapper<ThirdCause> thirdCauseQueryWrapper = new QueryWrapper<>();
+            for (CaseInfo caseInfo: caseInfoList){
+                thirdCauseQueryWrapper.clear();
+                thirdCauseQueryWrapper.eq("third_code", caseInfo.getCaseType());
+                ThirdCause thirdCause = thirdCauseService.getOne(thirdCauseQueryWrapper);
+                if (ObjectUtils.isNotEmpty(thirdCause)){
+                    SyCause syCause = syCauseService.getById(thirdCause.getCauseCode());
+                    if (ObjectUtils.isNotEmpty(syCause)){
+                        // 查询父级
+                        SyCause syCausePanrent = syCauseService.getById(syCause.getParentId());
+                        if (ObjectUtils.isNotEmpty(syCausePanrent)){
+                            try{
+                                CaseInfo caseInfoPO = new CaseInfo();
+                                caseInfoPO.setId(caseInfo.getId());
+                                caseInfoPO.setCaseType(syCause.getId());
+                                caseInfoPO.setCaseTypeName(syCause.getName());
+                                caseInfoPO.setCaseTypeFirst(syCausePanrent.getId());
+                                caseInfoPO.setCaseTypeFirstName(syCausePanrent.getName());
+                                caseInfoService.updateCaseInfo(caseInfoPO);
+                            }catch (Exception e){
+                                log.error("[ByToGzService.upThirdCause]调用失败,异常信息:"+e, e);
+                            }
+                        }
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("[ByToGzService.byToGzEndCase]调用失败,异常信息:"+e, e);
+            throw new ServiceException("ByToGzService.byToGzEndCase", e);
+        }
+
+    }
+
+    /**
+     * 白云区矛盾纠纷多元化解平台数据割接-更新问题属地的村级社区
+     */
+    public void upQueAddr(){
+        try{
+            List<CaseInfoUnfold> caseInfoUnfoldList = caseInfoUnfoldService.list();
+            for (CaseInfoUnfold caseInfoUnfold: caseInfoUnfoldList){
+                if (StringUtils.isNotEmpty(caseInfoUnfold.getMediateUnitId())) {
+                    CtUnitDTO ctUnitDTO = custClient.getUnitById(caseInfoUnfold.getMediateUnitId());
+                    if (ObjectUtils.isNotEmpty(ctUnitDTO)){
+                        if (StringUtils.isNotEmpty(ctUnitDTO.getVillage())) {
+                            CaseInfo caseInfo = new CaseInfo();
+                            caseInfo.setId(caseInfoUnfold.getId());
+                            caseInfo.setQueVillage(ctUnitDTO.getVillage());
+                            caseInfo.setQueVillageName(ctUnitDTO.getVillageName());
+                            caseInfoService.updateCaseInfo(caseInfo);
+                        }
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("[ByToGzService.upQueAddr]调用失败,异常信息:"+e, e);
+            throw new ServiceException("ByToGzService.upQueAddr", e);
+        }
+
+    }
 }
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/SyCauseService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/SyCauseService.java
new file mode 100644
index 0000000..7e08db7
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/SyCauseService.java
@@ -0,0 +1,133 @@
+package cn.huge.module.syncbydyh.service;
+
+import cn.huge.base.common.exception.ServiceException;
+import cn.huge.base.common.utils.DateUtils;
+import cn.huge.base.common.utils.IdUtils;
+import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.syncbydyh.dao.mapper.SyCauseMapper;
+import cn.huge.module.syncbydyh.domain.po.SyCause;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 纠纷类型信息表业务逻辑处理
+ * @Description 纠纷类型信息表业务逻辑处理
+ * @company hugeinfo
+ * @author liyj
+ * @Time 2024-10-21 22:18:51
+ * @version 1.0.0
+ */
+@Slf4j
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class SyCauseService extends ServiceImpl<SyCauseMapper, SyCause>{
+
+    @Autowired
+    private SyCauseMapper mapper;
+
+    @Autowired
+    private UtilsClientImpl utilsClient;
+
+    /**
+    * 更新对象
+    * @param entity 对象
+    */
+    public void updateSyCause(SyCause entity){
+        try{
+            mapper.updateSyCause(entity);
+        }catch (Exception e){
+            log.error("[SyCauseService.updateSyCause]调用失败,异常信息:"+e, e);
+            throw new ServiceException("SyCauseService.updateSyCause", e);
+        }
+    }
+
+    /**
+    * 条件更新对象
+    * @param entity 对象
+    * @param terms 条件
+    */
+    public void updateSyCauseTerms(SyCause entity, Map<String, Object> terms){
+        try{
+            mapper.updateSyCauseTerms(entity, terms);
+        }catch (Exception e){
+            log.error("[SyCauseService.updateSyCauseTerms]调用失败,异常信息:"+e, e);
+            throw new ServiceException("SyCauseService.updateSyCauseTerms", e);
+        }
+    }
+
+    /**
+    * 根据编号物理删除
+    * @param id 查询条件集合
+    */
+    public void deleteSyCause(String id){
+        try{
+            mapper.deleteSyCause(id);
+        }catch (Exception e){
+            log.error("[SyCauseService.deleteSyCause]调用失败,异常信息:"+e, e);
+            throw new ServiceException("SyCauseService.deleteSyCause", e);
+        }
+    }
+
+    /**
+    * 按条件查询
+    * @param terms 条件
+    * @return List
+    */
+    public List<SyCause> listTerms(Map<String, Object> terms){
+        return mapper.listTerms(terms);
+    }
+
+    /**
+    * 按条件统计
+    * @param terms 条件
+    * @return long
+    */
+    public long countTerms(Map<String, Object> terms){
+        return mapper.countTerms(terms);
+    }
+
+    /**
+    * 按条件分页查询
+    * @param page 分页对象
+    * @param terms 条件
+    * @return Page
+    */
+    public Page<SyCause> pageQuery(PageRequest page, Map<String, Object> terms){
+        long total = mapper.countTerms(terms);
+        List<SyCause> content = mapper.pageTerms(page, terms);
+        return new PageImpl<SyCause>(content, page, total);
+    }
+
+    /**
+    * 新增或更新对象
+    * @param syCause 实体对象
+    */
+    public void saveSyCause(SyCause syCause){
+        try{
+            Date nowDate = DateUtils.getNowDate();
+            // 判断是否新增
+            if (IdUtils.checkNewId(syCause.getId())){
+                syCause.setId(utilsClient.getNewTimeId());
+                syCause.setCreateTime(nowDate);
+            }
+            syCause.setUpdateTime(nowDate);
+            this.saveOrUpdate(syCause);
+        }catch (Exception e){
+            log.error("[SyCauseService.saveSyCause]调用失败,异常信息:"+e, e);
+            throw new ServiceException("SyCauseService.saveSyCause", e);
+        }
+    }
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ThirdCauseService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ThirdCauseService.java
new file mode 100644
index 0000000..d18271f
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/syncbydyh/service/ThirdCauseService.java
@@ -0,0 +1,113 @@
+package cn.huge.module.syncbydyh.service;
+
+import cn.huge.base.common.exception.ServiceException;
+import cn.huge.base.common.utils.DateUtils;
+import cn.huge.base.common.utils.IdUtils;
+import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.syncbydyh.dao.mapper.ThirdCauseMapper;
+import cn.huge.module.syncbydyh.domain.po.ThirdCause;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 第三方纠纷类型映射表业务逻辑处理
+ * @Description 第三方纠纷类型映射表业务逻辑处理
+ * @company hugeinfo
+ * @author liyj
+ * @Time 2024-10-21 22:04:49
+ * @version 1.0.0
+ */
+@Slf4j
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class ThirdCauseService extends ServiceImpl<ThirdCauseMapper, ThirdCause>{
+
+    @Autowired
+    private ThirdCauseMapper mapper;
+
+    @Autowired
+    private UtilsClientImpl utilsClient;
+
+    /**
+    * 更新对象
+    * @param entity 对象
+    */
+    public void updateThirdCause(ThirdCause entity){
+        try{
+            mapper.updateThirdCause(entity);
+        }catch (Exception e){
+            log.error("[ThirdCauseService.updateThirdCause]调用失败,异常信息:"+e, e);
+            throw new ServiceException("ThirdCauseService.updateThirdCause", e);
+        }
+    }
+
+    /**
+    * 条件更新对象
+    * @param entity 对象
+    * @param terms 条件
+    */
+    public void updateThirdCauseTerms(ThirdCause entity, Map<String, Object> terms){
+        try{
+            mapper.updateThirdCauseTerms(entity, terms);
+        }catch (Exception e){
+            log.error("[ThirdCauseService.updateThirdCauseTerms]调用失败,异常信息:"+e, e);
+            throw new ServiceException("ThirdCauseService.updateThirdCauseTerms", e);
+        }
+    }
+
+    /**
+    * 根据编号物理删除
+    * @param id 查询条件集合
+    */
+    public void deleteThirdCause(String id){
+        try{
+            mapper.deleteThirdCause(id);
+        }catch (Exception e){
+            log.error("[ThirdCauseService.deleteThirdCause]调用失败,异常信息:"+e, e);
+            throw new ServiceException("ThirdCauseService.deleteThirdCause", e);
+        }
+    }
+
+    /**
+    * 按条件查询
+    * @param terms 条件
+    * @return List
+    */
+    public List<ThirdCause> listTerms(Map<String, Object> terms){
+        return mapper.listTerms(terms);
+    }
+
+    /**
+    * 按条件统计
+    * @param terms 条件
+    * @return long
+    */
+    public long countTerms(Map<String, Object> terms){
+        return mapper.countTerms(terms);
+    }
+
+    /**
+    * 按条件分页查询
+    * @param page 分页对象
+    * @param terms 条件
+    * @return Page
+    */
+    public Page<ThirdCause> pageQuery(PageRequest page, Map<String, Object> terms){
+        long total = mapper.countTerms(terms);
+        List<ThirdCause> content = mapper.pageTerms(page, terms);
+        return new PageImpl<ThirdCause>(content, page, total);
+    }
+
+}
diff --git a/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/controller/SyncCaseController.java b/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/controller/SyncCaseController.java
index fc05648..eb8f350 100644
--- a/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/controller/SyncCaseController.java
+++ b/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/controller/SyncCaseController.java
@@ -45,7 +45,7 @@
     public Object countEndCase() {
         try {
             Map<String, Object> terms = Maps.newHashMap();
-            terms.put("EndProcess", "EndProcess");
+            terms.put("endProcess", "endProcess");
             return ReturnSucUtils.getRepInfo(caseInfoService.countTerms(terms));
         } catch (Exception e) {
             log.error("[SyncCustController.countEndCase]请求失败,异常信息:"+e, e);
@@ -71,4 +71,39 @@
         }
     }
 
+    /**
+     * 数据割接-统计进行中的纠纷案件信息
+     * @url {ctx}/api/client/syncCase/countTodoCase
+     * @return
+     */
+    @GetMapping("/countTodoCase")
+    public Object countTodoCase() {
+        try {
+            Map<String, Object> terms = Maps.newHashMap();
+            terms.put("todoProcess", "todoProcess");
+            return ReturnSucUtils.getRepInfo(caseInfoService.countTerms(terms));
+        } catch (Exception e) {
+            log.error("[SyncCustController.countTodoCase]请求失败,异常信息:"+e, e);
+            return ReturnFailUtils.getRepInfo(e.getMessage());
+        }
+    }
+
+    /**
+     * 数据割接-进行中的纠纷案件信息
+     * @url {ctx}/api/client/syncCase/byToGzTodoCase
+     * @param page
+     * @param size
+     * @return
+     */
+    @GetMapping("/byToGzTodoCase")
+    public Object byToGzTodoCase(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+        try {
+            List<GZCaseDTO> gzCaseDTOList = caseInfoService.byToGzTodoCase(page, size);
+            return ReturnSucUtils.getRepInfo(gzCaseDTOList);
+        } catch (Exception e) {
+            log.error("[SyncCustController.byToGzTodoCase]请求失败,异常信息:"+e, e);
+            return ReturnFailUtils.getRepInfo(e.getMessage());
+        }
+    }
+
 }
diff --git a/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/dao/mapper/xml/CaseInfoMapper.xml b/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/dao/mapper/xml/CaseInfoMapper.xml
index be8b21a..62d84c7 100644
--- a/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/dao/mapper/xml/CaseInfoMapper.xml
+++ b/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/dao/mapper/xml/CaseInfoMapper.xml
@@ -670,9 +670,12 @@
                     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.EndProcess != null and terms.EndProcess !=''">
+                <if test="terms.endProcess != null and terms.endProcess !=''">
                     and process in ('22_00006-4', '22_00006-5', '22_00006-6', '22_00006-7')
                 </if>
+                <if test="terms.todoProcess != null and terms.todoProcess !=''">
+                    and process in ('22_00006-1', '22_00006-2', '22_00006-3')
+                </if>
             </where>
         </if>
     </sql>
diff --git a/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/domain/dto/GZCaseDTO.java b/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/domain/dto/GZCaseDTO.java
index db23953..a6203a7 100644
--- a/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/domain/dto/GZCaseDTO.java
+++ b/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/domain/dto/GZCaseDTO.java
@@ -1,5 +1,6 @@
 package cn.huge.module.bycase.domain.dto;
 
+import cn.huge.module.bycase.domain.po.CaseTask;
 import lombok.Data;
 
 import java.util.List;
@@ -25,4 +26,6 @@
 
     private List<GZCaseTaskDTO> gzCaseTaskDTOList;
 
+    private List<CaseTask> byCaseTaskDTOList;
+
 }
diff --git a/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/service/CaseInfoService.java b/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/service/CaseInfoService.java
index 92cb758..e328a56 100644
--- a/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/service/CaseInfoService.java
+++ b/dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/service/CaseInfoService.java
@@ -133,7 +133,7 @@
     public List<GZCaseDTO> byToGzEndCase(int page, int size){
         List<GZCaseDTO> gzCaseDTOList = new ArrayList<>();
         Map<String, Object> terms = Maps.newHashMap();
-        terms.put("EndProcess", "EndProcess");
+        terms.put("endProcess", "endProcess");
         Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
         PageRequest pageRequest = PageRequest.of(page-1, size, sort);
         Page<CaseInfo> caseInfoPage = this.pageQuery(pageRequest, terms);
@@ -445,7 +445,7 @@
                     }
                     // 结案归档节点
                     if (ByFlowNodeEnum.FLOW_NODE_4.getIndex().equals(caseTask.getTaskNode())
-                            || ByFlowNodeEnum.FLOW_NODE_5.getIndex().equals(caseTask.getTaskNode()) ){
+                            || ByFlowNodeEnum.FLOW_NODE_5.getIndex().equals(caseTask.getTaskNode())){
                         gzCaseTaskDTO.setNodeId(GZFlowNodeEnum.FLOW_NODE_JAGD.getIndex());
                         gzCaseTaskDTO.setNodeName(GZFlowNodeEnum.FLOW_NODE_JAGD.getDes());
                         gzCaseTaskDTO.setNodeShowName("结案归档");
@@ -462,7 +462,7 @@
                     gzCaseTaskDTO.setCandeUserId(caseTask.getHandlerUserId());
                     gzCaseTaskDTO.setCandeUserName(caseTask.getHandlerUserName());
                     // 任务处理
-                    if ("2".equals(caseTask.getStatus())) {
+                    if ("2".equals(caseTask.getStatus())){
                         gzCaseTaskDTO.setStatus(GZCaseTaskConsts.TASK_STATUS_2);
                     }else {
                         gzCaseTaskDTO.setStatus(GZCaseTaskConsts.TASK_STATUS_1);
@@ -502,4 +502,282 @@
         return gzCaseDTOList;
     }
 
+    /**
+     * 数据割接-进行中的纠纷案件信息
+     * @return
+     */
+    public List<GZCaseDTO> byToGzTodoCase(int page, int size){
+        List<GZCaseDTO> gzCaseDTOList = new ArrayList<>();
+        Map<String, Object> terms = Maps.newHashMap();
+        terms.put("todoProcess", "todoProcess");
+        Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+        PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+        Page<CaseInfo> caseInfoPage = this.pageQuery(pageRequest, terms);
+        for (CaseInfo caseInfo: caseInfoPage){
+            if ("2105191835025741".equals(caseInfo.getWantUnitId()) || "2105191835025741".equals(caseInfo.getMediateUnitId())){
+                log.info("过滤演示案件");
+            }else {
+                GZCaseDTO gzCaseDTO = new GZCaseDTO();
+                // 封装案件信息
+                GZCaseInfoDTO gzCaseInfoDTO = new GZCaseInfoDTO();
+                BeanUtils.copyProperties(caseInfo, gzCaseInfoDTO);
+                // 生成事项编号
+                gzCaseInfoDTO.setCaseRef(utilsClient.createCaseRef());
+                // 都是3级事件
+                gzCaseInfoDTO.setCaseLevel(CaseBaseConsts.CASE_LEVEL_3);
+                // 映射来访时间
+                gzCaseInfoDTO.setVisitTime(caseInfo.getAcceptTime());
+                // 映射来访人数
+                gzCaseInfoDTO.setVisitPeopleNum(caseInfo.getPeopleNum());
+                // 映射纠纷类型
+//            gzCaseInfoDTO.setCaseTypeFirst();
+//            gzCaseInfoDTO.setCaseTypeFirstName();
+//            gzCaseInfoDTO.setCaseType();
+//            gzCaseInfoDTO.setCaseTypeName();
+                // 映射问题属地
+                gzCaseInfoDTO.setQueProv(GzRegionEnum.PROV_1.getIndex());
+                gzCaseInfoDTO.setQueProvName(GzRegionEnum.PROV_1.getDes());
+                gzCaseInfoDTO.setQueCity(GzRegionEnum.CITY_1.getIndex());
+                gzCaseInfoDTO.setQueCityName(GzRegionEnum.CITY_1.getDes());
+                gzCaseInfoDTO.setQueArea(GzRegionEnum.AREA_7.getIndex());
+                gzCaseInfoDTO.setQueAreaName(GzRegionEnum.AREA_7.getDes());
+                if (StringUtils.isNotEmpty(caseInfo.getRoad())) {
+                    if (ByRegionEnum.getGZRegion(caseInfo.getRoad()) != null) {
+                        gzCaseInfoDTO.setQueRoad(ByRegionEnum.getGZRegion(caseInfo.getRoad()).getIndex());
+                        gzCaseInfoDTO.setQueRoadName(ByRegionEnum.getGZRegion(caseInfo.getRoad()).getDes());
+                    }
+                }
+                gzCaseInfoDTO.setQueVillage(null);
+                gzCaseInfoDTO.setQueVillageName(null);
+                if ("2".equals(caseInfo.getInputWay())) {
+                    gzCaseInfoDTO.setInputWay(2);
+                } else {
+                    gzCaseInfoDTO.setInputWay(1);
+                }
+                // 映射事项来源、来访形式
+                if (ByCaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())) {
+                    if (caseInfo.getMediateUnitId().equals(caseInfo.getInputUnitId())) {
+                        // 事项来源
+                        gzCaseInfoDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_3.getIndex());
+                        gzCaseInfoDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_3.getDes());
+                        // 来访形式
+                        gzCaseInfoDTO.setVisitWay(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getIndex());
+                        gzCaseInfoDTO.setVisitWayName(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getDes());
+                    } else {
+                        // 事项来源
+                        gzCaseInfoDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_1.getIndex());
+                        gzCaseInfoDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_1.getDes());
+                        // 来访形式
+                        gzCaseInfoDTO.setVisitWay(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getIndex());
+                        gzCaseInfoDTO.setVisitWayName(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getDes());
+                    }
+                } else if (ByCaseConstsEnum.CASE_CANAL_2.getIndex().equals(caseInfo.getCanal())) {
+                    // 事项来源
+                    gzCaseInfoDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_2.getIndex());
+                    gzCaseInfoDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_2.getDes());
+                    // 来访形式
+                    gzCaseInfoDTO.setVisitWay(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getIndex());
+                    gzCaseInfoDTO.setVisitWayName(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getDes());
+                }
+                // 映射是否自行受理
+                gzCaseInfoDTO.setZxslStatus(CaseBaseConsts.ZXSL_STATUS_0);
+                // 是否重大矛盾纠纷
+                gzCaseInfoDTO.setMajorStatus(CaseBaseConsts.MAJOR_STATUS_0);
+                // 映射事项状态、事项进度、对外展示事项进度
+                if (ByCaseConstsEnum.CASE_PROCESS_1.getIndex().equals(caseInfo.getProcess())) {
+                    // 事项状态
+                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex());
+                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes());
+                    // 事项进度
+                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
+                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
+                    // 对外展示事项进度
+                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
+                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
+                } else if (ByCaseConstsEnum.CASE_PROCESS_2.getIndex().equals(caseInfo.getProcess())) {
+                    // 事项状态
+                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex());
+                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes());
+                    // 事项进度
+                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
+                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
+                    // 对外展示事项进度
+                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
+                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
+                } else if (ByCaseConstsEnum.CASE_PROCESS_3.getIndex().equals(caseInfo.getProcess())) {
+                    // 事项状态
+                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex());
+                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_4.getDes());
+                    // 事项进度
+                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
+                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
+                    // 对外展示事项进度
+                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
+                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
+                } else if (ByCaseConstsEnum.CASE_PROCESS_4.getIndex().equals(caseInfo.getProcess())) {
+                    // 事项状态
+                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex());
+                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.getDes());
+                    // 事项进度
+                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
+                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
+                    // 对外展示事项进度
+                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
+                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
+                } else if (ByCaseConstsEnum.CASE_PROCESS_5.getIndex().equals(caseInfo.getProcess())) {
+                    // 事项状态
+                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex());
+                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.getDes());
+                    // 事项进度
+                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
+                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
+                    // 对外展示事项进度
+                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
+                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
+                } else if (ByCaseConstsEnum.CASE_PROCESS_6.getIndex().equals(caseInfo.getProcess())) {
+                    // 事项状态
+                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex());
+                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.getDes());
+                    // 事项进度
+                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
+                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
+                    // 对外展示事项进度
+                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
+                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
+                } else if (ByCaseConstsEnum.CASE_PROCESS_7.getIndex().equals(caseInfo.getProcess())) {
+                    // 事项状态
+                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex());
+                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.getDes());
+                    // 事项进度
+                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
+                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
+                    // 对外展示事项进度
+                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
+                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
+                }
+                // 映射小程序是否可见
+                gzCaseInfoDTO.setPartyShow(CaseBaseConsts.PARTY_SHOW_1);
+                // 映射删除状态
+                if (ByBaseConsts.DELETE_STATUS_99.equals(caseInfo.getDeleteStatus())) {
+                    gzCaseInfoDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_1);
+                } else {
+                    gzCaseInfoDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                }
+                gzCaseDTO.setGzCaseInfoDTO(gzCaseInfoDTO);
+
+                // 封装案件扩展信息
+                GZCaseInfoUnfoldDTO gzCaseInfoUnfoldDTO = new GZCaseInfoUnfoldDTO();
+                BeanUtils.copyProperties(caseInfo, gzCaseInfoUnfoldDTO);
+                // 映射调解结果名称
+                gzCaseInfoUnfoldDTO.setMediResultName(MediResultBaseConstsEnum.getDes(caseInfo.getMediResult()));
+                // 映射达成协议类型
+                if (ByCaseConstsEnum.CASE_PROCESS_4.getIndex().equals(caseInfo.getProcess())) {
+                    // 调解成功
+                    if (ByCaseConstsEnum.MEDI_RESULT_1.getIndex().equals(caseInfo.getMediResult())) {
+                        if (StringUtils.isNotEmpty(caseInfo.getAgreeContent())) {
+                            gzCaseInfoUnfoldDTO.setAgreeType(CaseBaseConstsEnum.AGREE_TYPE_1.getIndex());
+                            gzCaseInfoUnfoldDTO.setAgreeTypeName(CaseBaseConstsEnum.AGREE_TYPE_1.getDes());
+                        } else {
+                            gzCaseInfoUnfoldDTO.setAgreeType(CaseBaseConstsEnum.AGREE_TYPE_2.getIndex());
+                            gzCaseInfoUnfoldDTO.setAgreeTypeName(CaseBaseConstsEnum.AGREE_TYPE_2.getDes());
+                        }
+                    }
+                }
+                // 映射结案意见
+                gzCaseInfoUnfoldDTO.setWindupContent(caseInfo.getMediContent());
+                // 映射是否转诉讼案件
+                if (ByCaseConsts.CIVIL_STATUS_2 == caseInfo.getCivilStatus()) {
+                    gzCaseInfoUnfoldDTO.setCivilStatus(CaseBaseConsts.CIVIL_STATUS_1);
+                } else {
+                    gzCaseInfoUnfoldDTO.setCivilStatus(CaseBaseConsts.CIVIL_STATUS_0);
+                }
+                // 映射办结时间
+                if (ObjectUtils.isNotEmpty(caseInfo.getFileTime())) {
+                    gzCaseInfoUnfoldDTO.setCloseTime(caseInfo.getFileTime());
+                } else if (ObjectUtils.isNotEmpty(caseInfo.getMediEndTime())) {
+                    gzCaseInfoUnfoldDTO.setCloseTime(caseInfo.getMediEndTime());
+                } else {
+                    gzCaseInfoUnfoldDTO.setCloseTime(caseInfo.getUpdateTime());
+                }
+                // 映射是否申请司法确认
+                if (ByCaseConsts.JUDIC_APPLY_2 == caseInfo.getCivilStatus()) {
+                    gzCaseInfoUnfoldDTO.setJudicApply(CaseBaseConsts.JUDIC_APPLY_1);
+                } else {
+                    gzCaseInfoUnfoldDTO.setJudicApply(CaseBaseConsts.JUDIC_APPLY_0);
+                }
+                // 映射是否已归档
+                if (ByCaseConsts.FILE_STATUS_2 == caseInfo.getCivilStatus()) {
+                    gzCaseInfoUnfoldDTO.setFileStatus(CaseBaseConsts.FILE_STATUS_1);
+                } else {
+                    gzCaseInfoUnfoldDTO.setFileStatus(CaseBaseConsts.FILE_STATUS_0);
+                }
+                // 映射是否已回访
+                if (ByCaseConsts.VISIT_STATUS_2 == caseInfo.getCivilStatus()) {
+                    gzCaseInfoUnfoldDTO.setVisitUpStatus(CaseBaseConsts.VISIT_UP_STATUS_1);
+                } else {
+                    gzCaseInfoUnfoldDTO.setVisitUpStatus(CaseBaseConsts.VISIT_UP_STATUS_0);
+                }
+                // 映射当事人是否满意
+                if (ByCaseConsts.PARTY_JOY_2 == caseInfo.getCivilStatus()) {
+                    gzCaseInfoUnfoldDTO.setPartyJoy(CaseBaseConsts.PARTY_JOY_1);
+                } else {
+                    gzCaseInfoUnfoldDTO.setPartyJoy(CaseBaseConsts.PARTY_JOY_0);
+                }
+                gzCaseDTO.setGzCaseInfoUnfoldDTO(gzCaseInfoUnfoldDTO);
+
+                // 封装当事人信息
+                QueryWrapper<CasePerson> casePersonQueryWrapper = new QueryWrapper<>();
+                casePersonQueryWrapper.eq("case_id", caseInfo.getId());
+                List<CasePerson> casePersonList = casePersonService.list(casePersonQueryWrapper);
+                if (CollectionUtils.isNotEmpty(casePersonList)) {
+                    List<GZCasePersonDTO> gzCasePersonDTOList = new ArrayList<>();
+                    for (CasePerson casePerson : casePersonList) {
+                        GZCasePersonDTO gzCasePersonDTO = new GZCasePersonDTO();
+                        BeanUtils.copyProperties(casePerson, gzCasePersonDTO);
+                        // 映射是否有个人极端倾向
+                        gzCasePersonDTO.setExtreme(CaseBaseConsts.EXTREME_0);
+                        // 映射删除状态
+                        if (ByBaseConsts.DELETE_STATUS_99.equals(casePerson.getDeleteStatus())) {
+                            gzCasePersonDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_1);
+                        } else {
+                            gzCasePersonDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                        }
+                        gzCasePersonDTOList.add(gzCasePersonDTO);
+                    }
+                    gzCaseDTO.setGzCasePersonDTOList(gzCasePersonDTOList);
+                }
+
+                // 封装当事人代理人信息
+                QueryWrapper<CaseAgent> caseAgentQueryWrapper = new QueryWrapper<>();
+                caseAgentQueryWrapper.eq("case_id", caseInfo.getId());
+                List<CaseAgent> caseAgentList = caseAgentService.list(caseAgentQueryWrapper);
+                if (CollectionUtils.isNotEmpty(caseAgentList)) {
+                    List<GZCaseAgentDTO> gzCaseAgentDTOList = new ArrayList<>();
+                    for (CaseAgent caseAgent : caseAgentList) {
+                        GZCaseAgentDTO gzCaseAgentDTO = new GZCaseAgentDTO();
+                        BeanUtils.copyProperties(caseAgent, gzCaseAgentDTO);
+                        // 映射是否有个人极端倾向
+                        gzCaseAgentDTO.setExtreme(CaseBaseConsts.EXTREME_0);
+                        // 映射删除状态
+                        if (ByBaseConsts.DELETE_STATUS_99.equals(caseAgent.getDeleteStatus())) {
+                            gzCaseAgentDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_1);
+                        } else {
+                            gzCaseAgentDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                        }
+                        gzCaseAgentDTOList.add(gzCaseAgentDTO);
+                    }
+                    gzCaseDTO.setGzCaseAgentDTOList(gzCaseAgentDTOList);
+                }
+
+                // 封装案件任务信息
+                QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>();
+                caseTaskQueryWrapper.eq("case_id", caseInfo.getId()).orderByAsc("create_time");
+                List<CaseTask> caseTaskList = caseTaskService.list(caseTaskQueryWrapper);
+                gzCaseDTO.setByCaseTaskDTOList(caseTaskList);
+                gzCaseDTOList.add(gzCaseDTO);
+            }
+        }
+        return gzCaseDTOList;
+    }
+
 }

--
Gitblit v1.8.0