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/java/cn/huge/module/cases/service/CaseEvaluateService.java | 86 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 86 insertions(+), 0 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 6a0dc4b..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 @@ -3,11 +3,23 @@ import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.IdUtils; +import cn.huge.module.cases.consts.CaseTaskConsts; +import cn.huge.module.cases.domain.po.CaseInfo; +import cn.huge.module.cases.domain.po.CaseTask; import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.cases.dao.mapper.CaseEvaluateMapper; import cn.huge.module.cases.domain.po.CaseEvaluate; +import cn.huge.module.constant.BaseConsts; import cn.huge.module.cust.dto.PaUserDTO; +import cn.huge.module.flow.consts.FlowNodeEnum; +import cn.huge.module.flow.consts.FlowableConsts; +import cn.huge.module.flow.domain.po.FlowNode; +import cn.huge.module.flow.service.FlowInfoService; +import cn.huge.module.mediate.constant.CaseInfoProcessBaseConstsEnum; +import cn.huge.module.mediate.constant.CaseProcessBaseConstsEnum; +import cn.huge.module.mediate.constant.CaseStatusBaseConstsEnum; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -44,6 +56,12 @@ @Autowired private CustClientImpl custClient; + @Autowired + private CaseTaskService caseTaskService; + @Autowired + private FlowInfoService flowInfoService; + @Autowired + private CaseInfoService caseInfoService; /** * 更新对象 @@ -147,12 +165,80 @@ if (IdUtils.checkNewId(caseEvaluate.getId())){ caseEvaluate.setId(utilsClient.getNewTimeId()); caseEvaluate.setCreateTime(nowDate); + caseEvaluate.setDeleteStatus(BaseConsts.DELETE_STATUS_0); } caseEvaluate.setEvaluateUserId(loginUser.getId()); caseEvaluate.setEvaluateUserName(loginUser.getTrueName()); 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()); + 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.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + dsrpjCaseTask.setHandleTime(nowDate); + dsrpjCaseTask.setUpdateTime(nowDate); + caseTaskService.updateCaseTask(dsrpjCaseTask); + // 完成当前当事人评价工作流任务 + FlowNode dsrpjFlowNode = flowInfoService.completeTask(dsrpjCaseTask.getFlowableId(), dsrpjCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_forward, userId); + // 默认完成结案归档任务 + CaseTask jagdCaseTask = new CaseTask(); + jagdCaseTask.setId(utilsClient.getNewTimeId()); + jagdCaseTask.setCaseId(caseEvaluate.getCaseId()); + jagdCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId()); + jagdCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId()); + jagdCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId()); + jagdCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + jagdCaseTask.setNodeType(dsrpjFlowNode.getNodeType()); + jagdCaseTask.setNodeId(dsrpjFlowNode.getNodeId()); + jagdCaseTask.setNodeName(dsrpjFlowNode.getNodeName()); + jagdCaseTask.setFlowId(dsrpjFlowNode.getFlowId()); + jagdCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName()); + jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 通过调度的,任务候选执行者类型是上一步骤选择 + jagdCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + jagdCaseTask.setCandeUnitId(dsrpjCaseTask.getCandeUnitId()); + jagdCaseTask.setCandeUnitName(dsrpjCaseTask.getCandeUnitName()); + // 系不需要签收 + jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + // 任务处理时限 + if (dsrpjFlowNode.getExpire() != 0) { + jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire())); + } + 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); + jagdCaseTask.setCustId(dsrpjCaseTask.getCustId()); + jagdCaseTask.setCreateTime(nowDate); + jagdCaseTask.setUpdateTime(nowDate); + caseTaskService.save(jagdCaseTask); + // 结束工作流流程 + flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_jb_zszz, "系统自动"); + // 更新纠纷信息 + 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.saveCaseEvaluateWechat]调用失败,异常信息:"+e, e); throw new ServiceException("CaseEvaluateService.saveCaseEvaluateWechat", e); -- Gitblit v1.8.0