From 80cc7fd5df68a78df4921379a4909a8025febdfc Mon Sep 17 00:00:00 2001 From: xusd <hugeinfo123> Date: Sun, 27 Oct 2024 16:09:03 +0800 Subject: [PATCH] Merge branch 'gzdyh_test' into gzdyh_grid --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java | 151 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 141 insertions(+), 10 deletions(-) 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 aaa46dd..29b9c33 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 @@ -172,23 +172,69 @@ caseEvaluate.setCustId(loginUser.getCustId()); caseEvaluate.setUpdateTime(nowDate); this.saveOrUpdate(caseEvaluate); - // 结束流程 + // 查询当事人评价节点任务 QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); - caseTaskQueryWrapper.eq("case_id", caseEvaluate.getCaseId()).eq("node_id", FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()); + caseTaskQueryWrapper.eq("case_id", caseEvaluate.getCaseId()) + .eq("node_id", FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()) + .eq("status", CaseTaskConsts.TASK_STATUS_1); 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.setHandleIllust("已受理"); - dsrpjCaseTask.setHandleUserName(loginUser.getTrueName()); - dsrpjCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + dsrpjCaseTask.setHandleUserName(loginUser.getTrueName()+"(当事人)"); + dsrpjCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); dsrpjCaseTask.setHandleTime(nowDate); dsrpjCaseTask.setUpdateTime(nowDate); caseTaskService.updateCaseTask(dsrpjCaseTask); - // 完成当前待受理工作流任务 - flowInfoService.completeTask(dsrpjCaseTask.getFlowableId(), dsrpjCaseTask.getProcessTaskId(), + // 完成当前当事人评价工作流节点任务,进入结案归档节点 + FlowNode jagdFlowNode = flowInfoService.completeTask(dsrpjCaseTask.getFlowableId(), dsrpjCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_forward, userId); + // 创建并完成结案归档任务 + CaseTask jagdCaseTask = new CaseTask(); + jagdCaseTask.setId(utilsClient.getNewTimeId()); + jagdCaseTask.setCaseId(caseEvaluate.getCaseId()); + jagdCaseTask.setFlowableId(jagdFlowNode.getFlowableId()); + jagdCaseTask.setProcessInstanceId(jagdFlowNode.getProcessInstanceId()); + jagdCaseTask.setProcessTaskId(jagdFlowNode.getProcessTaskId()); + jagdCaseTask.setNodeType(jagdFlowNode.getNodeType()); + jagdCaseTask.setNodeId(jagdFlowNode.getNodeId()); + jagdCaseTask.setNodeName(jagdFlowNode.getNodeName()); + jagdCaseTask.setFlowId(jagdFlowNode.getFlowId()); + jagdCaseTask.setNodeShowName(jagdFlowNode.getNodeShowName()); + jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 任务所属单位:结案申请组织 + caseTaskQueryWrapper.clear(); + caseTaskQueryWrapper.eq("case_id", caseEvaluate.getCaseId()) + .eq("node_id", FlowNodeEnum.FLOW_NODE_JASQ.getIndex()) + .eq("status", CaseTaskConsts.TASK_STATUS_2).orderByDesc("create_time"); + List<CaseTask> jasqCaseTaskList = caseTaskService.list(caseTaskQueryWrapper); + jagdCaseTask.setCandeUnitId(jasqCaseTaskList.get(0).getHandleUnitId()); + jagdCaseTask.setCandeUnitName(jasqCaseTaskList.get(0).getHandleUnitName()); + // 受理后的任务,不需要签收 + jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + // 任务处理时限 + if (jagdFlowNode.getExpire() != 0) { + jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, jagdFlowNode.getExpire())); + } + jagdCaseTask.setHandleUnitId(jasqCaseTaskList.get(0).getHandleUnitId()); + jagdCaseTask.setHandleUnitName(jasqCaseTaskList.get(0).getHandleUnitName()); + jagdCaseTask.setHandleDeptId(jasqCaseTaskList.get(0).getHandleDeptId()); + jagdCaseTask.setHandleDeptName(jasqCaseTaskList.get(0).getHandleDeptName()); + jagdCaseTask.setHandleUserId(jasqCaseTaskList.get(0).getHandleUserId()); + jagdCaseTask.setHandleUserName(jasqCaseTaskList.get(0).getHandleUserName()); + jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); + jagdCaseTask.setHandleTime(nowDate); + jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + jagdCaseTask.setCustId(dsrpjCaseTask.getCustId()); + jagdCaseTask.setCreateTime(nowDate); + jagdCaseTask.setUpdateTime(nowDate); + caseTaskService.save(jagdCaseTask); + // 结束工作流流程 + flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_forward, jasqCaseTaskList.get(0).getHandleUserId()); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(dsrpjCaseTask.getCaseId()); @@ -200,11 +246,96 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); - }catch (Exception e){ log.error("[CaseEvaluateService.saveCaseEvaluateWechat]调用失败,异常信息:"+e, e); throw new ServiceException("CaseEvaluateService.saveCaseEvaluateWechat", e); } } + + /** + * 超时跳过评价 + * @param idList 超时事件编号 + */ + public void autoArchive(List<String>idList){ + try{ + Date nowDate = DateUtils.getNowDate(); + // 查询当事人评价任务 + QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); + caseTaskQueryWrapper.in("case_id", idList).eq("node_id", FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()); + List<CaseTask> dsrpjCaseTaskList = caseTaskService.list(caseTaskQueryWrapper); + for(CaseTask dsrpjCaseTask: dsrpjCaseTaskList){ + // 完成当前当事人评价节点任务 + dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + dsrpjCaseTask.setHandleUserId(dsrpjCaseTask.getCandeUserId()); + dsrpjCaseTask.setHandleUserName(dsrpjCaseTask.getCandeUserName()); + dsrpjCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); + dsrpjCaseTask.setHandleIllust("规定时间内未评价"); + dsrpjCaseTask.setHandleTime(nowDate); + dsrpjCaseTask.setUpdateTime(nowDate); + caseTaskService.updateCaseTask(dsrpjCaseTask); + // 完成当前当事人评价工作流节点任务,进入结案归档节点 + FlowNode jagdFlowNode = flowInfoService.completeTask(dsrpjCaseTask.getFlowableId(), dsrpjCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_forward, "系统自动"); + // 创建并完成结案归档任务 + CaseTask jagdCaseTask = new CaseTask(); + jagdCaseTask.setId(utilsClient.getNewTimeId()); + jagdCaseTask.setCaseId(dsrpjCaseTask.getCaseId()); + jagdCaseTask.setFlowableId(jagdFlowNode.getFlowableId()); + jagdCaseTask.setProcessInstanceId(jagdFlowNode.getProcessInstanceId()); + jagdCaseTask.setProcessTaskId(jagdFlowNode.getProcessTaskId()); + jagdCaseTask.setNodeType(jagdFlowNode.getNodeType()); + jagdCaseTask.setNodeId(jagdFlowNode.getNodeId()); + jagdCaseTask.setNodeName(jagdFlowNode.getNodeName()); + jagdCaseTask.setFlowId(jagdFlowNode.getFlowId()); + jagdCaseTask.setNodeShowName(jagdFlowNode.getNodeShowName()); + jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 任务所属单位:结案申请组织 + caseTaskQueryWrapper.clear(); + caseTaskQueryWrapper.eq("case_id", dsrpjCaseTask.getCaseId()) + .eq("node_id", FlowNodeEnum.FLOW_NODE_JASQ.getIndex()) + .eq("status", CaseTaskConsts.TASK_STATUS_2).orderByDesc("create_time"); + List<CaseTask> jasqCaseTaskList = caseTaskService.list(caseTaskQueryWrapper); + jagdCaseTask.setCandeUnitId(jasqCaseTaskList.get(0).getHandleUnitId()); + jagdCaseTask.setCandeUnitName(jasqCaseTaskList.get(0).getHandleUnitName()); + // 受理后的任务,不需要签收 + jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + // 任务处理时限 + if (jagdFlowNode.getExpire() != 0) { + jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, jagdFlowNode.getExpire())); + } + jagdCaseTask.setHandleUnitId(jasqCaseTaskList.get(0).getHandleUnitId()); + jagdCaseTask.setHandleUnitName(jasqCaseTaskList.get(0).getHandleUnitName()); + jagdCaseTask.setHandleDeptId(jasqCaseTaskList.get(0).getHandleDeptId()); + jagdCaseTask.setHandleDeptName(jasqCaseTaskList.get(0).getHandleDeptName()); + jagdCaseTask.setHandleUserId(jasqCaseTaskList.get(0).getHandleUserId()); + jagdCaseTask.setHandleUserName(jasqCaseTaskList.get(0).getHandleUserName()); + jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_0); + jagdCaseTask.setHandleTime(nowDate); + jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + jagdCaseTask.setCustId(dsrpjCaseTask.getCustId()); + jagdCaseTask.setCreateTime(nowDate); + jagdCaseTask.setUpdateTime(nowDate); + caseTaskService.save(jagdCaseTask); + // 结束工作流流程 + flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_jb_zszz, jasqCaseTaskList.get(0).getHandleUserId()); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(dsrpjCaseTask.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); + } + }catch (Exception e){ + log.error("[CaseEvaluateService.autoArchive]调用失败,异常信息:"+e, e); + throw new ServiceException("CaseEvaluateService.autoArchive", e); + } + } } -- Gitblit v1.8.0