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