From b6fa58652c12f0c61409cc44dfd8ad78f821b6c6 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Wed, 11 Sep 2024 01:19:25 +0800
Subject: [PATCH] 1、流程bug修复

---
 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java       |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java                |  118 ++++++++----
 dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConstsEnum.java             |    2 
 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java                    |  191 +++++++++++++++++---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java   |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java                |   27 ++
 dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/SyTimeLimitDTO.java                          |   78 ++++++++
 dyh-service/dyh-base/src/main/java/cn/huge/module/sys/constant/TimeUnitConsts.java                     |    2 
 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java       |    2 
 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java                    |   52 +---
 dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java |   26 --
 11 files changed, 363 insertions(+), 139 deletions(-)

diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConstsEnum.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConstsEnum.java
index ac3507c..e085d80 100644
--- a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConstsEnum.java
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConstsEnum.java
@@ -17,7 +17,7 @@
     CASE_CANAL_2("22_00001-2", "线上来访"),
 
     /**
-     * 事项来源,22_00001-1:大厅来访,22_00001-2:线上来访
+     * 来访形式,24_00002-1:来访,22_024_000020001-2:线上
      */
     VISIT_WAY_1("24_00002-1", "来访"),
     VISIT_WAY_2("24_00002-2", "线上"),
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/consts/TimeUnitConsts.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/constant/TimeUnitConsts.java
similarity index 97%
rename from dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/consts/TimeUnitConsts.java
rename to dyh-service/dyh-base/src/main/java/cn/huge/module/sys/constant/TimeUnitConsts.java
index b82c659..f6a800d 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/consts/TimeUnitConsts.java
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/constant/TimeUnitConsts.java
@@ -1,4 +1,4 @@
-package cn.huge.module.sy.consts;
+package cn.huge.module.sys.constant;
 
 /**
  * @title: 时间单位常量类
diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/SyTimeLimitDTO.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/SyTimeLimitDTO.java
new file mode 100644
index 0000000..534f096
--- /dev/null
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/SyTimeLimitDTO.java
@@ -0,0 +1,78 @@
+package cn.huge.module.sys.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: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-04 16:48:57
+ * @version 1.0.0
+ */
+@Data
+public class SyTimeLimitDTO {
+
+    /**
+    * 主键编号
+    */
+    private String id;
+
+    /**
+    * 时限类型
+    */
+    private String limitType;
+
+    /**
+    * 时限名称
+    */
+    private String limitTypeName;
+
+    /**
+    * 时限对应表
+    */
+    private String limitTable;
+
+    /**
+    * 期限
+    */
+    private Integer timeTerm;
+
+    /**
+    * 期限单位
+    */
+    private String termUnit;
+
+    /**
+    * 操作人编号
+    */
+    private String operUserId;
+
+    /**
+    * 操作人名称
+    */
+    private String operUserName;
+
+    /**
+    * 删除状态,0:未删除,1:已删除
+    */
+    @TableLogic
+    private Integer deleteStatus;
+
+    /**
+    * 创建时间
+    */
+    private Date createTime;
+
+    /**
+    * 状态时间
+    */
+    private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
index 19521e6..c769797 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
@@ -368,7 +368,7 @@
     }
 
     /**
-     * 选择组织
+     * 交办-选择组织
      * @url {ctx}/api/web/ctUnit/unitChoose
      * @return Object
      */
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java
index 182f0b2..e6f18f7 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java
@@ -388,7 +388,7 @@
     public Object userChoose(@CurrentUser String userId) {
         try {
             String roleCode = request.getParameter("roleCode");
-            SelectTermDTO unitSelectTerms = service.userChoose(userId, roleCode);
+            List<SelectTermDTO> unitSelectTerms = service.userChoose(userId, roleCode);
             return ReturnSucUtils.getRepInfo(unitSelectTerms);
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo(e.getMessage());
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
index f7cbd97..d212a5e 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
@@ -15,6 +15,7 @@
 import cn.huge.module.ctuser.domain.po.CtUserole;
 import cn.huge.module.ctuser.dto.CtUnitWeChatCountDTO;
 import cn.huge.module.cust.constant.RoleBaseEnum;
+import cn.huge.module.cust.constant.UserBaseConsts;
 import cn.huge.module.cust.dto.CtUserDTO;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -303,47 +304,167 @@
     }
 
     /**
-     * 按条件分页查询
-     *
-     * @param userId  分页对象
-     * @return Page
+     * 交办-选择组织
+     * @param userId
+     * @return
      */
     public List<SelectTermDTO> unitChoose(String userId) {
         // 获取当前登录用户
         CtUserDTO loginUser = ctUserService.clientGetUserAll(userId);
-        // 组织条件
-        List<CtUnit> ctUnitList = mapper.listAllChild(loginUser.getUnitId());
-        List<SelectTermDTO> unitSelectTerms = new ArrayList<>();
-
-        // 部门条件
-        QueryWrapper<CtDept> ctDeptQueryWrapper = new QueryWrapper<>();
-        ctDeptQueryWrapper.eq("unit_id", loginUser.getUnitId()).select("id", "unit_id", "name", "parent_id");
-        List<CtDept> ctDeptList = ctDeptService.list(ctDeptQueryWrapper);
-
-        for(CtUnit ctUnit: ctUnitList){
-            SelectTermDTO unitSelectTerm = new SelectTermDTO();
-            unitSelectTerm.setValue(ctUnit.getId());
-            unitSelectTerm.setLabel(ctUnit.getUnitName());
-            unitSelectTerm.setParentId(ctUnit.getParentId());
-            unitSelectTerm.setCheckable(true);
-            List<SelectTermDTO> deptSelectTerms = new ArrayList<>();
-            if(loginUser.getUnitId().equals(ctUnit.getId())){
-                for(CtDept ctDept : ctDeptList){
-                    if(ctUnit.getId().equals(ctDept.getUnitId())){
-                        SelectTermDTO deptSelectTerm = new SelectTermDTO();
-                        deptSelectTerm.setValue(ctDept.getId());
-                        deptSelectTerm.setLabel(ctDept.getName());
-                        deptSelectTerm.setParentId(ctDept.getParentId());
-                        deptSelectTerm.setCheckable(true);
-
-                        deptSelectTerms.add(deptSelectTerm);
-                    }
-                    List<SelectTermDTO> depts = SelectTermUtils.createTreeByRoot(deptSelectTerms);
-                    unitSelectTerm.setChildren(depts);
+        // 获取当前登录用户的部门
+        CtUnit loginUnit = mapper.selectById(loginUser.getUnitId());
+        // 市级交办
+        if (UserBaseConsts.UNIT_GRADE_1 == loginUnit.getUnitGrade()){
+            QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
+            ctUnitQueryWrapper.eq("parent_id", loginUnit.getId());
+            List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
+            // 定义市直部门数组
+            List<SelectTermDTO> szbmList = new ArrayList<>();
+            // 定义区综治中心数组
+            List<SelectTermDTO> qzzzxList = new ArrayList<>();
+            for (CtUnit ctUnit: ctUnitList){
+                SelectTermDTO unitSelectTerm = new SelectTermDTO();
+                unitSelectTerm.setValue(ctUnit.getId());
+                unitSelectTerm.setLabel(ctUnit.getUnitName());
+                unitSelectTerm.setParentId(ctUnit.getParentId());
+                unitSelectTerm.setCheckable(true);
+                if (UserBaseConsts.UNIT_TYPE_1 == ctUnit.getUnitType()){
+                    szbmList.add(unitSelectTerm);
+                }
+                if (UserBaseConsts.UNIT_TYPE_2 == ctUnit.getUnitType()){
+                    qzzzxList.add(unitSelectTerm);
                 }
             }
-            unitSelectTerms.add(unitSelectTerm);
+            // 封装返回数据
+            List<SelectTermDTO> result = new ArrayList<>();
+            // 创建第一级
+            SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
+            firstSelectTermDTO.setValue(loginUser.getUnitId());
+            firstSelectTermDTO.setLabel(loginUser.getUnitName());
+            firstSelectTermDTO.setCheckable(false);
+            List<SelectTermDTO> firstChildren = new ArrayList<>();
+            // 市直部门
+            SelectTermDTO szbmSelectTermDTO = new SelectTermDTO();
+            szbmSelectTermDTO.setValue("szbm");
+            szbmSelectTermDTO.setLabel("市直部门");
+            szbmSelectTermDTO.setCheckable(false);
+            szbmSelectTermDTO.setChildren(szbmList);
+            firstChildren.add(szbmSelectTermDTO);
+            // 区综治中心
+            SelectTermDTO qzzzxSelectTermDTO = new SelectTermDTO();
+            qzzzxSelectTermDTO.setValue("qzzzx");
+            qzzzxSelectTermDTO.setLabel("区综治中心");
+            qzzzxSelectTermDTO.setCheckable(false);
+            qzzzxSelectTermDTO.setChildren(qzzzxList);
+            firstChildren.add(qzzzxSelectTermDTO);
+            // 第一级子级
+            firstSelectTermDTO.setChildren(firstChildren);
+            result.add(firstSelectTermDTO);
+            return result;
+        }else if (UserBaseConsts.UNIT_GRADE_2 == loginUnit.getUnitGrade()){
+            // 区级交办
+            QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
+            ctUnitQueryWrapper.eq("parent_id", loginUnit.getId());
+            List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
+            // 定义市区直部门数组
+            List<SelectTermDTO> qzbmList = new ArrayList<>();
+            // 定义镇街综治中心数组
+            List<SelectTermDTO> zjzzzxList = new ArrayList<>();
+            for (CtUnit ctUnit: ctUnitList){
+                SelectTermDTO unitSelectTerm = new SelectTermDTO();
+                unitSelectTerm.setValue(ctUnit.getId());
+                unitSelectTerm.setLabel(ctUnit.getUnitName());
+                unitSelectTerm.setParentId(ctUnit.getParentId());
+                unitSelectTerm.setCheckable(true);
+                if (UserBaseConsts.UNIT_TYPE_2 == ctUnit.getUnitType()){
+                    qzbmList.add(unitSelectTerm);
+                }
+                if (UserBaseConsts.UNIT_TYPE_3 == ctUnit.getUnitType()){
+                    zjzzzxList.add(unitSelectTerm);
+                }
+            }
+            // 封装返回数据
+            List<SelectTermDTO> result = new ArrayList<>();
+            // 创建第一级
+            SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
+            firstSelectTermDTO.setValue(loginUser.getUnitId());
+            firstSelectTermDTO.setLabel(loginUser.getUnitName());
+            firstSelectTermDTO.setCheckable(false);
+            List<SelectTermDTO> firstChildren = new ArrayList<>();
+            // 市直部门
+            SelectTermDTO qzzbmSelectTermDTO = new SelectTermDTO();
+            qzzbmSelectTermDTO.setValue("qzbm");
+            qzzbmSelectTermDTO.setLabel("区直部门");
+            qzzbmSelectTermDTO.setCheckable(false);
+            qzzbmSelectTermDTO.setChildren(qzbmList);
+            firstChildren.add(qzzbmSelectTermDTO);
+            // 区综治中心
+            SelectTermDTO zjzzzxSelectTermDTO = new SelectTermDTO();
+            zjzzzxSelectTermDTO.setValue("zjzzzx");
+            zjzzzxSelectTermDTO.setLabel("街(镇)综治中心");
+            zjzzzxSelectTermDTO.setCheckable(false);
+            zjzzzxSelectTermDTO.setChildren(zjzzzxList);
+            firstChildren.add(zjzzzxSelectTermDTO);
+            // 第一级子级
+            firstSelectTermDTO.setChildren(firstChildren);
+            result.add(firstSelectTermDTO);
+            return result;
+        }else if (UserBaseConsts.UNIT_GRADE_3 == loginUnit.getUnitGrade()){
+            // 镇街交办
+            // 查询镇街部门数组
+            QueryWrapper<CtDept> ctDeptQueryWrapper = new QueryWrapper<>();
+            ctDeptQueryWrapper.eq("unit_id", loginUnit.getId());
+            List<CtDept> deptList = ctDeptService.list(ctDeptQueryWrapper);
+            List<SelectTermDTO> zjbmList = new ArrayList<>();
+            for (CtDept ctDept: deptList){
+                SelectTermDTO unitSelectTerm = new SelectTermDTO();
+                unitSelectTerm.setValue(ctDept.getId());
+                unitSelectTerm.setLabel(ctDept.getName());
+                unitSelectTerm.setParentId(loginUnit.getId());
+                unitSelectTerm.setCheckable(true);
+                zjbmList.add(unitSelectTerm);
+            }
+            // 查询村社数组
+            QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
+            ctUnitQueryWrapper.eq("parent_id", loginUnit.getId());
+            List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
+            List<SelectTermDTO> csList = new ArrayList<>();
+            for (CtUnit ctUnit: ctUnitList){
+                SelectTermDTO unitSelectTerm = new SelectTermDTO();
+                unitSelectTerm.setValue(ctUnit.getId());
+                unitSelectTerm.setLabel(ctUnit.getUnitName());
+                unitSelectTerm.setParentId(ctUnit.getParentId());
+                unitSelectTerm.setCheckable(true);
+                csList.add(unitSelectTerm);
+            }
+            // 封装返回数据
+            List<SelectTermDTO> result = new ArrayList<>();
+            // 创建第一级
+            SelectTermDTO firstSelectTermDTO = new SelectTermDTO();
+            firstSelectTermDTO.setValue(loginUser.getUnitId());
+            firstSelectTermDTO.setLabel(loginUser.getUnitName());
+            firstSelectTermDTO.setCheckable(false);
+            List<SelectTermDTO> firstChildren = new ArrayList<>();
+            // 村社
+            SelectTermDTO zjbmSelectTermDTO = new SelectTermDTO();
+            zjbmSelectTermDTO.setValue("zjbm");
+            zjbmSelectTermDTO.setLabel("街(镇)部门");
+            zjbmSelectTermDTO.setCheckable(false);
+            zjbmSelectTermDTO.setChildren(zjbmList);
+            firstChildren.add(zjbmSelectTermDTO);
+            // 区综治中心
+            SelectTermDTO csSelectTermDTO = new SelectTermDTO();
+            csSelectTermDTO.setValue("cs");
+            csSelectTermDTO.setLabel("村(社)");
+            csSelectTermDTO.setCheckable(false);
+            csSelectTermDTO.setChildren(csList);
+            firstChildren.add(csSelectTermDTO);
+            // 第一级子级
+            firstSelectTermDTO.setChildren(firstChildren);
+            result.add(firstSelectTermDTO);
+            return result;
+        }else {
+            return new ArrayList<>();
         }
-        return SelectTermUtils.createTreeByFirst(unitSelectTerms, loginUser.getUnitId());
     }
 }
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java
index 941365f..1055308 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java
@@ -603,58 +603,40 @@
     }
 
     /**
-     * 按条件分页查询
-     *
-     * @param userId  分页对象
-     * @param roleCode 条件
-     * @return Page
+     * 选择人员
+     * @param userId
+     * @param roleCode
+     * @return
      */
-    public SelectTermDTO userChoose(String userId, String roleCode) {
+    public List<SelectTermDTO> userChoose(String userId, String roleCode) {
         try {
             // 获取当前登录用户
             CtUserDTO loginUser = clientGetUserAll(userId);
-            List<SelectTermDTO> unitSelectTerms = new ArrayList<>();
-
+            List<SelectTermDTO> result = new ArrayList<>();
             // 人员条件
             List<CtUser> ctUsers = null;
             if (StringUtils.isNotEmpty(roleCode)){
                 ctUsers = listUserByDeptRoleList(loginUser.getUnitId(), roleCode);
             }else {
                 QueryWrapper<CtUser> ctUserQueryWrapper = new QueryWrapper<>();
-                ctUserQueryWrapper.in("unit_id", loginUser.getUnitId()).select("id", "true_name", "dept_id");
+                ctUserQueryWrapper.in("unit_id", loginUser.getUnitId()).select("id", "true_name");
                 ctUsers = this.list(ctUserQueryWrapper);
             }
-            List<String> userIdList = ctUsers.stream().map(CtUser::getId).collect(Collectors.toList());
-            QueryWrapper<CtUserole> ctUserQueryWrapper = new QueryWrapper<>();
-            ctUserQueryWrapper.in("user_id", userIdList).select("user_id", "role_name");
-            List<CtUserole> roleList = ctUseroleService.list(ctUserQueryWrapper);
-
             SelectTermDTO unitSelectTerm = new SelectTermDTO();
             unitSelectTerm.setValue(loginUser.getUnitId());
             unitSelectTerm.setLabel(loginUser.getUnitName());
             unitSelectTerm.setCheckable(false);
-            List<SelectTermDTO> deptSelectTerms = new ArrayList<>();
-            if (CollectionUtils.isNotEmpty(ctUsers)) {
-                List<SelectTermDTO> userSelectTerms = new ArrayList<>();
-                for(CtUser ctUser : ctUsers){
-                    List<CtUserole> ctUseroleList = new ArrayList<>();
-                    for(CtUserole ctUserole: roleList){
-                        if(ctUser.getId().equals(ctUserole.getUserId())){
-                            ctUseroleList.add(ctUserole);
-                        }
-                    }
-                    SelectTermDTO userSelectTerm = new SelectTermDTO();
-                    userSelectTerm.setValue(ctUser.getId());
-                    userSelectTerm.setCheckable(true);
-                    String roleName = ctUseroleList.stream().map(CtUserole::getRoleName).collect(Collectors.joining(","));
-                    userSelectTerm.setLabel(ctUser.getTrueName()+"("+roleName+")");
-                    userSelectTerms.add(userSelectTerm);
-
-                }
-                List<SelectTermDTO> users = SelectTermUtils.createTreeByRoot(userSelectTerms);
-                unitSelectTerm.setChildren(users);
+            List<SelectTermDTO> userSelectTerms = new ArrayList<>();
+            for(CtUser ctUser : ctUsers){
+                SelectTermDTO userSelectTerm = new SelectTermDTO();
+                userSelectTerm.setValue(ctUser.getId());
+                userSelectTerm.setCheckable(true);
+                userSelectTerm.setLabel(ctUser.getTrueName());
+                userSelectTerms.add(userSelectTerm);
             }
-            return unitSelectTerm;
+            unitSelectTerm.setChildren(userSelectTerms);
+            result.add(unitSelectTerm);
+            return result;
         }catch (Exception e) {
             log.error("[CtUserService.userChoose]调用失败,异常信息:" + e, e);
             throw new ServiceException("CtUserService.userChoose", e);
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
index c582dbd..ed50839 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
@@ -555,7 +555,7 @@
      * @url {ctx}/api/web/caseTask/pageMyTaskBl
      * @param page 页码
      * @param size 每页数量
-     * @param status 状态,1:结案申请,2:已结案
+     * @param status 状态,0:结案申请,1:已结案
      * @param sortType 排序方式(1:正序;2:倒序)
      * @param sortColmn 排序字段(1:结案申请时间;2:事项等级)
      * @return
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 413fce8..e5d82f0 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
@@ -393,20 +393,25 @@
     public Map<String, Object> webListCaseFlow(String caseId, String userId){
         try{
             Map<String, Object> result = Maps.newHashMap();
-            List<CaseFlowDTO> handleCaseFlowList = new LinkedList<>();
+            LinkedList<CaseFlowDTO> handleCaseFlowList = new LinkedList<>();
             // 首节点
             CaseFlowDTO lfdj = new CaseFlowDTO();
             CaseInfo caseInfo = caseInfoService.getById(caseId);
-            lfdj.setNodeShowName("来访登记");
+            if (CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())){
+                lfdj.setNodeShowName("来访登记");
+                lfdj.setHandleUserName(caseInfo.getInputUserName());
+            }else {
+                lfdj.setNodeShowName(caseInfo.getCanalName());
+                lfdj.setHandleUserName(caseInfo.getInputUserName()+"(当事人)");
+            }
             lfdj.setHandleUnitName(caseInfo.getInputUnitName());
-            lfdj.setHandleUserName(caseInfo.getInputUserName());
             lfdj.setTaskType(CaseTaskConsts.TASK_TYPE_1);
             lfdj.setStatus(CaseTaskConsts.TASK_STATUS_2);
             lfdj.setHandleTime(new Date());
             handleCaseFlowList.add(lfdj);
             // 查询承办组织任务
             QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>();
-            caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_1).orderByDesc("create_time");
+            caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_1).orderByAsc("create_time");
             List<CaseTask> handleCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
 
             for (CaseTask caseTask: handleCaseTaskList){
@@ -425,18 +430,21 @@
                     if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) {
                         caseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
                         caseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
+                        caseFlowDTO.setTaskType(caseTask.getTaskType());
                     }
                     if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) {
                         caseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex());
                         caseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes());
+                        caseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2);
                     }
+                    caseFlowDTO.setStatus(caseTask.getStatus());
                 }
                 handleCaseFlowList.add(caseFlowDTO);
             }
             result.put("handleCaseFlowList", handleCaseFlowList);
 
             // 查询配合组织流程
-            List<CaseFlowDTO> assistCaseFlowList = new LinkedList<>();
+            LinkedList<CaseFlowDTO> assistCaseFlowList = new LinkedList<>();
             caseTaskQueryWrapper.clear();
             caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByDesc("create_time");
             List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
@@ -705,6 +713,10 @@
                         // 系统给综治中心分派,不需要签收
                         dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                         dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                        // 任务处理时限
+                        if (firstFlowNode.getExpire() != 0) {
+                            dfpCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire()));
+                        }
                         dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                         dfpCaseTask.setCustId(caseInfo.getCustId());
                         dfpCaseTask.setCreateTime(caseInfo.getCreateTime());
@@ -739,7 +751,7 @@
                         dfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
                         // 系统给综治中心分派,不需要签收
                         dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
-                        dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                        dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                         dfpCaseTask.setHandleUnitName("系统派单");
                         dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
                         dfpCaseTask.setHandleIllust("派单至:"+caseDispBaseDTO.getTargetName());
@@ -773,6 +785,10 @@
                         // 系统调度给调解组织,需要签收
                         sdlCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
                         sdlCaseTask.setSignExpireTime(sysClient.getExpireTime(caseInfo.getCreateTime(), SyTimeEnum.SY_TIME_2.getIndex()));
+                        // 任务处理时限
+                        if (firstFlowNode.getExpire() != 0) {
+                            sdlCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire()));
+                        }
                         sdlCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                         sdlCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                         sdlCaseTask.setCustId(caseInfo.getCustId());
@@ -867,35 +883,39 @@
             FlowNode newFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(),
                     flowOperation, userId);
             // 新建待受理任务
-            CaseTask blfkCaseTask = new CaseTask();
-            blfkCaseTask.setId(utilsClient.getNewTimeId());
-            blfkCaseTask.setCaseId(dfpCaseTask.getCaseId());
-            blfkCaseTask.setFlowableId(newFlowNode.getFlowableId());
-            blfkCaseTask.setProcessInstanceId(newFlowNode.getProcessInstanceId());
-            blfkCaseTask.setProcessTaskId(newFlowNode.getProcessTaskId());
-            blfkCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
-            blfkCaseTask.setNodeType(newFlowNode.getNodeType());
-            blfkCaseTask.setNodeId(newFlowNode.getNodeId());
-            blfkCaseTask.setNodeName(newFlowNode.getNodeName());
-            blfkCaseTask.setFlowId(newFlowNode.getFlowId());
-            blfkCaseTask.setNodeShowName(newFlowNode.getNodeShowName());
-            blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+            CaseTask dslCaseTask = new CaseTask();
+            dslCaseTask.setId(utilsClient.getNewTimeId());
+            dslCaseTask.setCaseId(dfpCaseTask.getCaseId());
+            dslCaseTask.setFlowableId(newFlowNode.getFlowableId());
+            dslCaseTask.setProcessInstanceId(newFlowNode.getProcessInstanceId());
+            dslCaseTask.setProcessTaskId(newFlowNode.getProcessTaskId());
+            dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+            dslCaseTask.setNodeType(newFlowNode.getNodeType());
+            dslCaseTask.setNodeId(newFlowNode.getNodeId());
+            dslCaseTask.setNodeName(newFlowNode.getNodeName());
+            dslCaseTask.setFlowId(newFlowNode.getFlowId());
+            dslCaseTask.setNodeShowName(newFlowNode.getNodeShowName());
+            dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
             // 受理任务,任务候选执行者类型是上一步骤选择
-            blfkCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-            blfkCaseTask.setCandeUnitId(dslUnitDTO.getId());
-            blfkCaseTask.setCandeUnitName(dslUnitDTO.getUnitName());
+            dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+            dslCaseTask.setCandeUnitId(dslUnitDTO.getId());
+            dslCaseTask.setCandeUnitName(dslUnitDTO.getUnitName());
             // 分派的任务,需要签收
-            blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
-            blfkCaseTask.setSignExpireTime(sysClient.getExpireTime(nowDate, SyTimeEnum.SY_TIME_2.getIndex()));
-            blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
-            blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-            blfkCaseTask.setCustId(dfpCaseTask.getCustId());
-            blfkCaseTask.setCreateTime(nowDate);
-            blfkCaseTask.setUpdateTime(nowDate);
-            mapper.insert(blfkCaseTask);
+            dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
+            dslCaseTask.setSignExpireTime(sysClient.getExpireTime(nowDate, SyTimeEnum.SY_TIME_2.getIndex()));
+            dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+            // 任务处理时限
+            if (newFlowNode.getExpire() != 0) {
+                dslCaseTask.setExpireTime(DateUtils.addDay(nowDate, newFlowNode.getExpire()));
+            }
+            dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+            dslCaseTask.setCustId(dfpCaseTask.getCustId());
+            dslCaseTask.setCreateTime(nowDate);
+            dslCaseTask.setUpdateTime(nowDate);
+            mapper.insert(dslCaseTask);
             // 更新纠纷信息
             CaseInfo caseInfoPO = new CaseInfo();
-            caseInfoPO.setId(blfkCaseTask.getCaseId());
+            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());
@@ -965,7 +985,7 @@
                 }
                 // 更新纠纷扩展信息
                 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
-                caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId());
+                caseInfoUnfoldPO.setId(dslCaseTask.getCaseId());
                 caseInfoUnfoldPO.setAssistUnitId(assistUnitId);
                 caseInfoUnfoldPO.setAssistUnitName(assistUnitName);
                 caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
@@ -1061,6 +1081,10 @@
             // 受理后的任务,不需要签收
             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);
@@ -1187,11 +1211,11 @@
                 jashCaseTask.setHandleUserId(loginUser.getId());
                 jashCaseTask.setHandleUserName(loginUser.getTrueName());
                 jashCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
-                jashCaseTask.setHandleTime(nowDate);
+                jashCaseTask.setHandleTime(DateUtils.addMinute(nowDate, 1));
                 jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                 jashCaseTask.setCustId(jasqCaseTask.getCustId());
-                jashCaseTask.setCreateTime(nowDate);
-                jashCaseTask.setUpdateTime(nowDate);
+                jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
+                jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
                 mapper.insert(jashCaseTask);
                 // 完成当前结案审核工作流任务,走当事人评价任务
                 FlowNode dsrpjFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
@@ -1217,10 +1241,14 @@
                 // 受理后的任务,不需要签收
                 dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                 dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                // 任务处理时限
+                if (dsrpjFlowNode.getExpire() != 0) {
+                    dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire()));
+                }
                 dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                 dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
-                dsrpjCaseTask.setCreateTime(nowDate);
-                dsrpjCaseTask.setUpdateTime(nowDate);
+                dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2));
+                dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2));
                 mapper.insert(dsrpjCaseTask);
                 // 更新结案申请信息
                 caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1);
@@ -1282,10 +1310,14 @@
                 // 受理后的任务,不需要签收
                 jashCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                 jashCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                // 任务处理时限
+                if (jashFlowNode.getExpire() != 0) {
+                    jashCaseTask.setExpireTime(DateUtils.addDay(nowDate, jashFlowNode.getExpire()));
+                }
                 jashCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                 jashCaseTask.setCustId(jasqCaseTask.getCustId());
-                jashCaseTask.setCreateTime(nowDate);
-                jashCaseTask.setUpdateTime(nowDate);
+                jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
+                jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
                 mapper.insert(jashCaseTask);
                 // 更新结案申请信息
                 caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0);
@@ -1381,6 +1413,10 @@
                 // 受理后的任务,不需要签收
                 dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                 dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                // 任务处理时限
+                if (dsrpjFlowNode.getExpire() != 0) {
+                    dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire()));
+                }
                 dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                 dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
                 dsrpjCaseTask.setCreateTime(nowDate);
@@ -1447,6 +1483,10 @@
                 // 受理后的任务,不需要签收
                 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);
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
index a11d3f1..08dbeb3 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
@@ -2,18 +2,16 @@
 
 import cn.huge.base.common.bo.ReturnBO;
 import cn.huge.base.common.constant.ReturnConsts;
-import cn.huge.base.common.exception.ClientException;
-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.client.api.SysClient;
-import cn.huge.module.cust.dto.CtUserDTO;
+import cn.huge.module.sys.constant.TimeUnitConsts;
 import cn.huge.module.sys.dto.*;
 import com.alibaba.fastjson.JSON;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.*;
 
@@ -123,7 +121,26 @@
             ReturnBO returnBo = sysClient.getExpireTime(computeTime, limitType);
             if (ReturnConsts.OK == returnBo.getCode()){
                 if (ObjectUtils.isNotEmpty(returnBo.getData())){
-                    expireTime = (Date) returnBo.getData();
+                    SyTimeLimitDTO syTimeLimitDTO = objectMapper.convertValue(returnBo.getData(), SyTimeLimitDTO.class);
+                    if (ObjectUtils.isNotEmpty(syTimeLimitDTO)){
+                        if (ObjectUtils.isNotEmpty(syTimeLimitDTO)){
+                            if (TimeUnitConsts.TIME_UNIT_1.equals(syTimeLimitDTO.getTermUnit())){
+                                expireTime = DateUtils.addYear(computeTime, syTimeLimitDTO.getTimeTerm());
+                            }
+                            if (TimeUnitConsts.TIME_UNIT_2.equals(syTimeLimitDTO.getTermUnit())){
+                                expireTime = DateUtils.addMonth(computeTime, syTimeLimitDTO.getTimeTerm());
+                            }
+                            if (TimeUnitConsts.TIME_UNIT_3.equals(syTimeLimitDTO.getTermUnit())){
+                                expireTime = DateUtils.addDay(computeTime, syTimeLimitDTO.getTimeTerm());
+                            }
+                            if (TimeUnitConsts.TIME_UNIT_4.equals(syTimeLimitDTO.getTermUnit())){
+                                expireTime = DateUtils.addHour(computeTime, syTimeLimitDTO.getTimeTerm());
+                            }
+                            if (TimeUnitConsts.TIME_UNIT_5.equals(syTimeLimitDTO.getTermUnit())){
+                                expireTime = DateUtils.addMonth(computeTime, syTimeLimitDTO.getTimeTerm());
+                            }
+                        }
+                    }
                 }
             }
         }catch (Exception e){
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java
index 7a39f7e..5accb8c 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java
@@ -1,16 +1,16 @@
 package cn.huge.module.sy.controller.client;
 
-import cn.huge.base.common.utils.DateUtils;
 import cn.huge.base.common.utils.ObjectUtils;
 import cn.huge.base.common.utils.ReturnFailUtils;
 import cn.huge.base.common.utils.ReturnSucUtils;
-import cn.huge.module.sy.consts.TimeUnitConsts;
 import cn.huge.module.sy.domain.po.SyTimeLimit;
 import cn.huge.module.sy.service.SyTimeLimitService;
+import cn.huge.module.sys.dto.SyTimeLimitDTO;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.google.common.collect.Maps;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
@@ -226,25 +226,11 @@
             QueryWrapper<SyTimeLimit> syTimeLimitQueryWrapper = new QueryWrapper<>();
             syTimeLimitQueryWrapper.eq("limit_type", limitType);
             SyTimeLimit syTimeLimit = service.getOne(syTimeLimitQueryWrapper);
-            Date expireTime = null;
-            if (ObjectUtils.isNotEmpty(syTimeLimit)){
-                if (TimeUnitConsts.TIME_UNIT_1.equals(syTimeLimit.getTermUnit())){
-                    expireTime = DateUtils.addYear(computeTime, syTimeLimit.getTimeTerm());
-                }
-                if (TimeUnitConsts.TIME_UNIT_2.equals(syTimeLimit.getTermUnit())){
-                    expireTime = DateUtils.addMonth(computeTime, syTimeLimit.getTimeTerm());
-                }
-                if (TimeUnitConsts.TIME_UNIT_3.equals(syTimeLimit.getTermUnit())){
-                    expireTime = DateUtils.addDay(computeTime, syTimeLimit.getTimeTerm());
-                }
-                if (TimeUnitConsts.TIME_UNIT_4.equals(syTimeLimit.getTermUnit())){
-                    expireTime = DateUtils.addHour(computeTime, syTimeLimit.getTimeTerm());
-                }
-                if (TimeUnitConsts.TIME_UNIT_5.equals(syTimeLimit.getTermUnit())){
-                    expireTime = DateUtils.addMonth(computeTime, syTimeLimit.getTimeTerm());
-                }
+            SyTimeLimitDTO syTimeLimitDTO = new SyTimeLimitDTO();
+            if (ObjectUtils.isNotEmpty(syTimeLimit)) {
+                BeanUtils.copyProperties(syTimeLimit, syTimeLimitDTO);
             }
-            return ReturnSucUtils.getRepInfo(expireTime);
+            return ReturnSucUtils.getRepInfo(syTimeLimitDTO);
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }

--
Gitblit v1.8.0