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-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 118 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 79 insertions(+), 39 deletions(-) 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); -- Gitblit v1.8.0