From c2bf4ed2478aa57dddf865f440005f0ed133b110 Mon Sep 17 00:00:00 2001 From: liyj <15602261488@163.com> Date: Fri, 27 Sep 2024 12:01:32 +0800 Subject: [PATCH] 1、自行受理流程优化 2、更新组织的地域编码 3、结案归档节点优化 --- dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml | 29 +-- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java | 9 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 323 +++++++++++++++++++++++++++++++--------------- dyh-service/dyh-base/src/main/java/cn/huge/module/cust/constant/UserBaseConsts.java | 2 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/client/CtUnitClientController.java | 50 +++++++ 5 files changed, 284 insertions(+), 129 deletions(-) diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/cust/constant/UserBaseConsts.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/cust/constant/UserBaseConsts.java index 7a2a991..815273f 100644 --- a/dyh-service/dyh-base/src/main/java/cn/huge/module/cust/constant/UserBaseConsts.java +++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/cust/constant/UserBaseConsts.java @@ -68,7 +68,7 @@ */ /** - * 组织级别,0:政法委,1:市级,2:区级,3:镇街级,4:村居级 + * 组织级别,0:省,1:市级,2:区级,3:镇街级,4:村居级 */ public static final int UNIT_GRADE_0 = 0; public static final int UNIT_GRADE_1 = 1; diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/client/CtUnitClientController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/client/CtUnitClientController.java index 5691399..11a3b5e 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/client/CtUnitClientController.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/client/CtUnitClientController.java @@ -8,9 +8,14 @@ import cn.huge.module.ctuser.domain.po.CtUser; import cn.huge.module.ctuser.service.CtUnitService; import cn.huge.module.ctuser.service.CtUserService; +import cn.huge.module.cust.constant.UserBaseConsts; import cn.huge.module.cust.dto.CtUnitDTO; import cn.huge.module.cust.dto.CtUserDTO; +import cn.huge.module.region.domain.po.SyRegionGrid; +import cn.huge.module.region.service.SyRegionGridService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.web.bind.annotation.*; @@ -91,4 +96,49 @@ return ReturnFailUtils.getRepInfo(e.getMessage()); } } + + @Autowired + private SyRegionGridService syRegionGridService; + /** + * 更新组织的地域编码 + * @url {ctx}/api/client/ctUnit/update1 + * @return Object + */ + @GetMapping("/update1") + public Object update1() { + try { + List<CtUnit> ctUnitList = service.list(); + for (CtUnit ctUnit: ctUnitList){ + ctUnit.setArea("440111"); + // 镇街级 + if (StringUtils.isNotEmpty(ctUnit.getRoad())){ + QueryWrapper<SyRegionGrid> syRegionGridQueryWrapper = new QueryWrapper<>(); + syRegionGridQueryWrapper.eq("region_id", ctUnit.getRoad()); + SyRegionGrid syRegionGrid = syRegionGridService.getOne(syRegionGridQueryWrapper); + if (ObjectUtils.isNotEmpty(syRegionGrid)){ + ctUnit.setRoad(syRegionGrid.getThirdCode()); + } + } + // 村社级 + if (UserBaseConsts.UNIT_GRADE_4 == ctUnit.getUnitGrade()){ + try{ + QueryWrapper<SyRegionGrid> syRegionGridQueryWrapper = new QueryWrapper<>(); + String thirdName = ctUnit.getUnitName().replace("居委会", "").replace("人民调解委员会", ""); + syRegionGridQueryWrapper.like("third_name", thirdName); + SyRegionGrid syRegionGrid = syRegionGridService.getOne(syRegionGridQueryWrapper); + if (ObjectUtils.isNotEmpty(syRegionGrid)){ + ctUnit.setVillage(syRegionGrid.getThirdCode()); + ctUnit.setVillageName(syRegionGrid.getThirdName()); + } + }catch (Exception e){ + log.error("报错村社:id-"+ctUnit.getId()+",name-"+ctUnit.getUnitName()); + } + } + service.updateCtUnit(ctUnit); + } + return ReturnSucUtils.getRepInfo(); + } catch (Exception e) { + return ReturnFailUtils.getRepInfo(); + } + } } diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java index ab9dd93..6a4667f 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java @@ -178,9 +178,10 @@ CaseTask dsrpjCaseTask = caseTaskService.getOne(caseTaskQueryWrapper); // 完成当前当事人评价任务 dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + dsrpjCaseTask.setHandleUnitId(dsrpjCaseTask.getCandeUnitId()); + dsrpjCaseTask.setHandleUnitName(dsrpjCaseTask.getCandeUnitName()); dsrpjCaseTask.setHandleUserId(loginUser.getId()); - dsrpjCaseTask.setHandleUserName(loginUser.getTrueName()); - dsrpjCaseTask.setHandleUserName(loginUser.getTrueName()); + dsrpjCaseTask.setHandleUserName(loginUser.getTrueName()+"(当事人)"); dsrpjCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); dsrpjCaseTask.setHandleTime(nowDate); dsrpjCaseTask.setUpdateTime(nowDate); @@ -213,7 +214,9 @@ if (dsrpjFlowNode.getExpire() != 0) { jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire())); } - jagdCaseTask.setHandleUnitName("系统自动"); + jagdCaseTask.setHandleUnitId(dsrpjCaseTask.getCandeUnitId()); + jagdCaseTask.setHandleUnitName(dsrpjCaseTask.getCandeUnitName()); + jagdCaseTask.setHandleUserName("系统自动"); jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); jagdCaseTask.setHandleTime(nowDate); jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); 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 e01eeed..7b6d70e 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 @@ -498,11 +498,19 @@ // 普通节点 WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); webCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); webCaseFlowDTO.setStatus(caseTask.getStatus()); webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); webCaseFlowDTO.setTaskType(caseTask.getTaskType()); + // 当事人评价/结案归档节点,特殊处理 + if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){ + webCaseFlowDTO.setHandleUserName(null); + webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName()); + }else{ + webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); + webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); + } // 回退申请节点 if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){ webCaseFlowDTO.setNodeShowName("事件回退"); @@ -523,15 +531,6 @@ }else { webCaseFlowDTO.setHandleNotes("上报意见:-" ); } - } - // 当事人评价节点,特殊处理 - if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ - webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); - webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName()); - webCaseFlowDTO.setHandleUserName(null); - }else{ - webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); } // 审核节点要判断通过/不通过 if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex()) @@ -594,7 +593,8 @@ webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); webCaseFlowDTO.setStatus(caseTask.getStatus()); // 当事人评价节点,特殊处理 - if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ + if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){ webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); }else{ webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName()); @@ -644,11 +644,19 @@ // 普通节点 WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); webCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); webCaseFlowDTO.setStatus(caseTask.getStatus()); webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); webCaseFlowDTO.setTaskType(caseTask.getTaskType()); + // 当事人评价/结案归档节点,特殊处理 + if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){ + webCaseFlowDTO.setHandleUserName(null); + webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName()); + }else{ + webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); + webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); + } // 回退申请节点 if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){ webCaseFlowDTO.setNodeShowName("事件回退"); @@ -669,13 +677,6 @@ }else { webCaseFlowDTO.setHandleNotes("上报意见:-" ); } - } - // 当事人评价节点,特殊处理 - if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ - webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); - }else{ - webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); } // 审核节点要判断通过/不通过 if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex()) @@ -732,7 +733,8 @@ webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); webCaseFlowDTO.setStatus(caseTask.getStatus()); // 当事人评价节点,特殊处理 - if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ + if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){ webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); }else{ webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName()); @@ -1855,39 +1857,105 @@ jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1)); jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1)); mapper.insert(jashCaseTask); - // 完成当前结案审核工作流任务,走当事人评价任务 - FlowNode dsrpjFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), + // 完成当前结案审核工作流任务,走下一个任务 + FlowNode nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty, userId); - // 新建当事人评价任务 - CaseTask dsrpjCaseTask = new CaseTask(); - dsrpjCaseTask.setId(utilsClient.getNewTimeId()); - dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId()); - dsrpjCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId()); - dsrpjCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId()); - dsrpjCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId()); - dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); - dsrpjCaseTask.setNodeType(dsrpjFlowNode.getNodeType()); - dsrpjCaseTask.setNodeId(dsrpjFlowNode.getNodeId()); - dsrpjCaseTask.setNodeName(dsrpjFlowNode.getNodeName()); - dsrpjCaseTask.setFlowId(dsrpjFlowNode.getFlowId()); - dsrpjCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName()); - dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); - // 受理任务,任务候选执行者类型是上一步骤选择 - dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); - dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId()); - dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName()); - // 受理后的任务,不需要签收 - dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); - dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); - // 任务处理时限 - if (dsrpjFlowNode.getExpire() != 0) { - dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire())); + // 走当事人评价节点 + if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){ + // 新建当事人评价任务 + CaseTask dsrpjCaseTask = new CaseTask(); + dsrpjCaseTask.setId(utilsClient.getNewTimeId()); + dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId()); + dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId()); + dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); + dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); + dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType()); + dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId()); + dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName()); + dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId()); + dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); + dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 受理任务,任务候选执行者类型是上一步骤选择 + dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId()); + dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName()); + // 受理后的任务,不需要签收 + dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); + // 任务处理时限 + if (nextFlowNode.getExpire() != 0) { + dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); + } + dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); + dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2)); + dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2)); + mapper.insert(dsrpjCaseTask); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(jashCaseTask.getCaseId()); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.getDes()); + caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); + caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); + caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); + caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); + caseInfoPO.setUpdateTime(nowDate); + caseInfoService.updateCaseInfo(caseInfoPO); } - dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); - dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); - dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2)); - dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2)); - mapper.insert(dsrpjCaseTask); + // 走结案归档节点 + if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){ + // 默认完成结案归档任务 + CaseTask jagdCaseTask = new CaseTask(); + jagdCaseTask.setId(utilsClient.getNewTimeId()); + jagdCaseTask.setCaseId(jashCaseTask.getCaseId()); + jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId()); + jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); + jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); + jagdCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + jagdCaseTask.setNodeType(nextFlowNode.getNodeType()); + jagdCaseTask.setNodeId(nextFlowNode.getNodeId()); + jagdCaseTask.setNodeName(nextFlowNode.getNodeName()); + jagdCaseTask.setFlowId(nextFlowNode.getFlowId()); + jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); + jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 通过调度的,任务候选执行者类型是上一步骤选择 + jagdCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + jagdCaseTask.setCandeUnitId(loginUser.getUnitId()); + jagdCaseTask.setCandeUnitName(loginUser.getUnitName()); + // 系不需要签收 + jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + // 任务处理时限 + if (nextFlowNode.getExpire() != 0) { + jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); + } + jagdCaseTask.setHandleUnitId(loginUser.getUnitId()); + jagdCaseTask.setHandleUnitName(loginUser.getUnitName()); + jagdCaseTask.setHandleUserName("系统自动"); + jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + jagdCaseTask.setHandleTime(nowDate); + jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + jagdCaseTask.setCustId(jashCaseTask.getCustId()); + jagdCaseTask.setCreateTime(nowDate); + jagdCaseTask.setUpdateTime(nowDate); + mapper.insert(jagdCaseTask); + // 结束工作流流程 + flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_jb_zszz, "系统自动"); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(jashCaseTask.getCaseId()); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.getDes()); + caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); + caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); + caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); + caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); + caseInfoPO.setUpdateTime(nowDate); + caseInfoService.updateCaseInfo(caseInfoPO); + } // 更新结案申请信息 caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1); caseWindupApply.setCaseTaskId(jashCaseTask.getId()); @@ -1900,20 +1968,9 @@ caseWindupApply.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); caseWindupApply.setCustId(jashCaseTask.getCustId()); caseWindupApplyService.save(caseWindupApply); - // 更新纠纷信息 - CaseInfo caseInfoPO = new CaseInfo(); - caseInfoPO.setId(dsrpjCaseTask.getCaseId()); - caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex()); - caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.getDes()); - caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); - caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); - caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); - caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); - caseInfoPO.setUpdateTime(nowDate); - caseInfoService.updateCaseInfo(caseInfoPO); // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); - caseInfoUnfoldPO.setId(dsrpjCaseTask.getCaseId()); + caseInfoUnfoldPO.setId(jashCaseTask.getCaseId()); caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult()); caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName()); caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType()); @@ -2046,52 +2103,108 @@ jashCaseTaskPO.setUpdateTime(nowDate); mapper.updateCaseTask(jashCaseTaskPO); // 完成当前结案审核工作流任务,走当事人评价任务 - FlowNode dsrpjFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), + FlowNode nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty, userId); - // 新建当事人评价任务 - CaseTask dsrpjCaseTask = new CaseTask(); - dsrpjCaseTask.setId(utilsClient.getNewTimeId()); - dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId()); - dsrpjCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId()); - dsrpjCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId()); - dsrpjCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId()); - dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); - dsrpjCaseTask.setNodeType(dsrpjFlowNode.getNodeType()); - dsrpjCaseTask.setNodeId(dsrpjFlowNode.getNodeId()); - dsrpjCaseTask.setNodeName(dsrpjFlowNode.getNodeName()); - dsrpjCaseTask.setFlowId(dsrpjFlowNode.getFlowId()); - dsrpjCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName()); - dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); - // 受理任务,任务候选执行者类型是上一步骤选择 - dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); - dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId()); - dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName()); - // 受理后的任务,不需要签收 - dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); - dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); - // 任务处理时限 - if (dsrpjFlowNode.getExpire() != 0) { - dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire())); + // 走当事人评价节点 + if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){ + // 新建当事人评价任务 + CaseTask dsrpjCaseTask = new CaseTask(); + dsrpjCaseTask.setId(utilsClient.getNewTimeId()); + dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId()); + dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId()); + dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); + dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); + dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType()); + dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId()); + dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName()); + dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId()); + dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); + dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 受理任务,任务候选执行者类型是上一步骤选择 + dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId()); + dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName()); + // 受理后的任务,不需要签收 + dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); + // 任务处理时限 + if (nextFlowNode.getExpire() != 0) { + dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); + } + dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); + dsrpjCaseTask.setCreateTime(nowDate); + dsrpjCaseTask.setUpdateTime(nowDate); + mapper.insert(dsrpjCaseTask); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(jashCaseTask.getCaseId()); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.getDes()); + caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); + caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); + caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); + caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); + caseInfoPO.setUpdateTime(nowDate); + caseInfoService.updateCaseInfo(caseInfoPO); } - dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); - dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); - dsrpjCaseTask.setCreateTime(nowDate); - dsrpjCaseTask.setUpdateTime(nowDate); - mapper.insert(dsrpjCaseTask); - // 更新纠纷信息 - CaseInfo caseInfoPO = new CaseInfo(); - caseInfoPO.setId(dsrpjCaseTask.getCaseId()); - caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex()); - caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.getDes()); - caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); - caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); - caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); - caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); - caseInfoPO.setUpdateTime(nowDate); - caseInfoService.updateCaseInfo(caseInfoPO); + // 走结案归档节点 + if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){ + // 默认完成结案归档任务 + CaseTask jagdCaseTask = new CaseTask(); + jagdCaseTask.setId(utilsClient.getNewTimeId()); + jagdCaseTask.setCaseId(jashCaseTask.getCaseId()); + jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId()); + jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); + jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); + jagdCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + jagdCaseTask.setNodeType(nextFlowNode.getNodeType()); + jagdCaseTask.setNodeId(nextFlowNode.getNodeId()); + jagdCaseTask.setNodeName(nextFlowNode.getNodeName()); + jagdCaseTask.setFlowId(nextFlowNode.getFlowId()); + jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); + jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 通过调度的,任务候选执行者类型是上一步骤选择 + jagdCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + jagdCaseTask.setCandeUnitId(loginUser.getUnitId()); + jagdCaseTask.setCandeUnitName(loginUser.getUnitName()); + // 系不需要签收 + jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + // 任务处理时限 + if (nextFlowNode.getExpire() != 0) { + jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); + } + jagdCaseTask.setHandleUnitId(loginUser.getUnitId()); + jagdCaseTask.setHandleUnitName(loginUser.getUnitName()); + jagdCaseTask.setHandleUserName("系统自动"); + jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + jagdCaseTask.setHandleTime(nowDate); + jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + jagdCaseTask.setCustId(jashCaseTask.getCustId()); + jagdCaseTask.setCreateTime(nowDate); + jagdCaseTask.setUpdateTime(nowDate); + mapper.insert(jagdCaseTask); + // 结束工作流流程 + flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_jb_zszz, "系统自动"); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(jashCaseTask.getCaseId()); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.getDes()); + caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); + caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); + caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); + caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); + caseInfoPO.setUpdateTime(nowDate); + caseInfoService.updateCaseInfo(caseInfoPO); + + } // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); - caseInfoUnfoldPO.setId(dsrpjCaseTask.getCaseId()); + caseInfoUnfoldPO.setId(jashCaseTask.getCaseId()); caseInfoUnfoldPO.setCloseTime(nowDate); caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); diff --git a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml index 428c7bc..ebee147 100644 --- a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml +++ b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml @@ -4,18 +4,11 @@ <documentation>GZDYH_ZXSL_3LEVEL_V1</documentation> <startEvent id="START" name="开始"/> <userTask id="BLFK" name="办理反馈"/> - <userTask id="DSRPJ" name="当事人评价"/> <userTask id="JAGD" name="结案归档"/> <userTask id="JASH" name="结案审核"/> <endEvent id="END" name="结束"/> <userTask id="JASQ" name="结案申请"/> <sequenceFlow id="sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5" sourceRef="JAGD" targetRef="END"/> - <sequenceFlow id="sid-15046AD2-218B-4567-B05A-26B2D0069DE2" name="通过" sourceRef="DSRPJ" targetRef="JAGD"> - <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression> - </sequenceFlow> - <sequenceFlow id="sid-78554576-20C8-4A98-9A33-92DD5542AA27" name="结案审核同意" sourceRef="JASH" targetRef="DSRPJ"> - <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression> - </sequenceFlow> <sequenceFlow id="sid-0AE3E811-3EBD-4891-B2BD-F2E091E41541" name="通过" sourceRef="JASQ" targetRef="JASH"> <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression> </sequenceFlow> @@ -30,6 +23,9 @@ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression> </sequenceFlow> <sequenceFlow id="sid-B9DCA90A-70F1-4D12-90AE-44A0943FA1B3" sourceRef="START" targetRef="DSL"/> + <sequenceFlow id="sid-78554576-20C8-4A98-9A33-92DD5542AA27" name="结案审核同意" sourceRef="JASH" targetRef="JAGD"> + <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_ty'}]]></conditionExpression> + </sequenceFlow> </process> <bpmndi:BPMNDiagram id="BPMNDiagram_GZDYH_ZXSL_3LEVEL_V1"> <bpmndi:BPMNPlane bpmnElement="GZDYH_ZXSL_3LEVEL_V1" id="BPMNPlane_GZDYH_ZXSL_3LEVEL_V1"> @@ -39,17 +35,14 @@ <bpmndi:BPMNShape bpmnElement="BLFK" id="BPMNShape_BLFK"> <omgdc:Bounds height="80.0" width="100.0" x="314.9999953061343" y="134.99999798834327"/> </bpmndi:BPMNShape> - <bpmndi:BPMNShape bpmnElement="DSRPJ" id="BPMNShape_DSRPJ"> - <omgdc:Bounds height="80.0" width="100.0" x="794.9999881535771" y="134.99999798834327"/> - </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="JAGD" id="BPMNShape_JAGD"> - <omgdc:Bounds height="80.0" width="100.0" x="959.9999856948855" y="134.99999798834327"/> + <omgdc:Bounds height="80.0" width="100.0" x="879.9999856948855" y="134.99999798834327"/> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="JASH" id="BPMNShape_JASH"> <omgdc:Bounds height="80.0" width="100.0" x="659.9999901652337" y="134.99999798834327"/> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="END" id="BPMNShape_END"> - <omgdc:Bounds height="28.0" width="28.0" x="1109.9999834597113" y="161.00001205503818"/> + <omgdc:Bounds height="28.0" width="28.0" x="1029.9999834597113" y="161.00001205503818"/> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="JASQ" id="BPMNShape_JASQ"> <omgdc:Bounds height="80.0" width="100.0" x="479.99999284744274" y="134.99998591840347"/> @@ -72,16 +65,12 @@ <omgdi:waypoint x="314.99999530610273" y="175.0000019993631"/> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5" id="BPMNEdge_sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5"> - <omgdi:waypoint x="1059.9499856948855" y="175.00000415177684"/> - <omgdi:waypoint x="1109.999983378599" y="175.0000103275493"/> + <omgdi:waypoint x="979.9499856948854" y="175.00000415177684"/> + <omgdi:waypoint x="1029.999983378599" y="175.0000103275493"/> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="sid-78554576-20C8-4A98-9A33-92DD5542AA27" id="BPMNEdge_sid-78554576-20C8-4A98-9A33-92DD5542AA27"> - <omgdi:waypoint x="759.9499901651751" y="174.99999798834327"/> - <omgdi:waypoint x="794.9999881535146" y="174.99999798834327"/> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge bpmnElement="sid-15046AD2-218B-4567-B05A-26B2D0069DE2" id="BPMNEdge_sid-15046AD2-218B-4567-B05A-26B2D0069DE2"> - <omgdi:waypoint x="894.9499881534662" y="174.99999798834327"/> - <omgdi:waypoint x="959.9999856948592" y="174.99999798834327"/> + <omgdi:waypoint x="759.949990165133" y="174.99999798834327"/> + <omgdi:waypoint x="879.9999856948855" y="174.99999798834327"/> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="sid-0AE3E811-3EBD-4891-B2BD-F2E091E41541" id="BPMNEdge_sid-0AE3E811-3EBD-4891-B2BD-F2E091E41541"> <omgdi:waypoint x="579.9499928474428" y="174.99998600593358"/> -- Gitblit v1.8.0