forked from gzzfw/backEnd/gz-dyh

liyj
2024-09-11 b6fa58652c12f0c61409cc44dfd8ad78f821b6c6
1、流程bug修复
1 files added
1 files renamed
9 files modified
472 ■■■■ changed files
dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConstsEnum.java 2 ●●● patch | view | raw | blame | history
dyh-service/dyh-base/src/main/java/cn/huge/module/sys/constant/TimeUnitConsts.java 2 ●●● patch | view | raw | blame | history
dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/SyTimeLimitDTO.java 78 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java 2 ●●● patch | view | raw | blame | history
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java 2 ●●● patch | view | raw | blame | history
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java 177 ●●●● patch | view | raw | blame | history
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java 40 ●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java 2 ●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java 116 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java 27 ●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java 24 ●●●● patch | view | raw | blame | history
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", "线上"),
dyh-service/dyh-base/src/main/java/cn/huge/module/sys/constant/TimeUnitConsts.java
File was renamed from dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/consts/TimeUnitConsts.java
@@ -1,4 +1,4 @@
package cn.huge.module.sy.consts;
package cn.huge.module.sys.constant;
/**
 * @title: 时间单位常量类
dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/SyTimeLimitDTO.java
New file
@@ -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;
}
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
     */
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());
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);
        // 获取当前登录用户的部门
        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);
            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);
                if (UserBaseConsts.UNIT_TYPE_1 == ctUnit.getUnitType()){
                    szbmList.add(unitSelectTerm);
                    }
                    List<SelectTermDTO> depts = SelectTermUtils.createTreeByRoot(deptSelectTerms);
                    unitSelectTerm.setChildren(depts);
                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);
        }
        return SelectTermUtils.createTreeByFirst(unitSelectTerms, loginUser.getUnitId());
                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<>();
        }
    }
}
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+")");
                userSelectTerm.setLabel(ctUser.getTrueName());
                    userSelectTerms.add(userSelectTerm);
                }
                List<SelectTermDTO> users = SelectTermUtils.createTreeByRoot(userSelectTerms);
                unitSelectTerm.setChildren(users);
            }
            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);
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
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);
            if (CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())){
            lfdj.setNodeShowName("来访登记");
            lfdj.setHandleUnitName(caseInfo.getInputUnitName());
            lfdj.setHandleUserName(caseInfo.getInputUserName());
            }else {
                lfdj.setNodeShowName(caseInfo.getCanalName());
                lfdj.setHandleUserName(caseInfo.getInputUserName()+"(当事人)");
            }
            lfdj.setHandleUnitName(caseInfo.getInputUnitName());
            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);
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){
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;
            SyTimeLimitDTO syTimeLimitDTO = new SyTimeLimitDTO();
            if (ObjectUtils.isNotEmpty(syTimeLimit)){
                if (TimeUnitConsts.TIME_UNIT_1.equals(syTimeLimit.getTermUnit())){
                    expireTime = DateUtils.addYear(computeTime, syTimeLimit.getTimeTerm());
                BeanUtils.copyProperties(syTimeLimit, syTimeLimitDTO);
                }
                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());
                }
            }
            return ReturnSucUtils.getRepInfo(expireTime);
            return ReturnSucUtils.getRepInfo(syTimeLimitDTO);
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo();
        }