From 61cb0460b5d5c8a5a2bae04ed67661599a1aaebf Mon Sep 17 00:00:00 2001 From: wangwh <2397901735@qq.com> Date: Fri, 13 Sep 2024 10:34:56 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 488 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 476 insertions(+), 12 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 253193e..3acafae 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 @@ -90,21 +90,21 @@ private CaseInfoUnfoldService caseInfoUnfoldService; @Autowired private CaseWindupApplyService caseWindupApplyService; + @Autowired + private CaseAssistApplyService assistApplyService; + @Autowired + private CaseAppearService caseAppearService; + @Autowired + private CaseReturnService caseReturnService; @Autowired private CaseWindupApplyMapper caseWindupApplyMapper; - @Autowired private CaseReturnMapper caseReturnMapper; - @Autowired private CaseAppearMapper caseAppearMapper; - @Autowired private CaseAssistApplyMapper caseAssistApplyMapper; - - @Autowired - private CaseAssistApplyService assistApplyService; /** * 更新对象 @@ -444,11 +444,12 @@ caseFlowDTO.setStatus(caseTask.getStatus()); } handleCaseFlowList.add(caseFlowDTO); - // 待受理节点,已签收的,需要加多一个受理节点 + // 待受理节点,已签收的并处理完,需要加多一个受理节点 if(caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex()) || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex()) || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex())){ - if(CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus()){ + if(CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() + && CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){ CaseFlowDTO slCaseFlowDTO = new CaseFlowDTO(); if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ @@ -895,7 +896,48 @@ */ public void webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){ try{ - + // 启动自行手里工作流 + FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_ZXSL, caseInfo.getId()); + // 进入第1个节点-办理反馈 + CaseTask blfkCaseTask = new CaseTask(); + blfkCaseTask.setId(utilsClient.getNewTimeId()); + blfkCaseTask.setCaseId(caseInfo.getId()); + blfkCaseTask.setFlowableId(firstFlowNode.getFlowableId()); + blfkCaseTask.setProcessInstanceId(firstFlowNode.getProcessInstanceId()); + blfkCaseTask.setProcessTaskId(firstFlowNode.getProcessTaskId()); + blfkCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + blfkCaseTask.setNodeType(firstFlowNode.getNodeType()); + blfkCaseTask.setNodeId(firstFlowNode.getNodeId()); + blfkCaseTask.setNodeName(firstFlowNode.getNodeName()); + blfkCaseTask.setFlowId(firstFlowNode.getFlowId()); + blfkCaseTask.setNodeShowName(firstFlowNode.getNodeShowName()); + blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 通过调度的,任务候选执行者类型是上一步骤选择 + blfkCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + blfkCaseTask.setCandeUnitId(loginUser.getUnitId()); + blfkCaseTask.setCandeUnitName(loginUser.getUnitName()); + // 系统给综治中心分派,不需要签收 + blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); + // 任务处理时限 + if (firstFlowNode.getExpire() != 0) { + blfkCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire())); + } + blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + blfkCaseTask.setCustId(caseInfo.getCustId()); + blfkCaseTask.setCreateTime(caseInfo.getCreateTime()); + blfkCaseTask.setUpdateTime(caseInfo.getUpdateTime()); + mapper.insert(blfkCaseTask); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(caseInfo.getId()); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_4.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()); + caseInfoService.updateCaseInfo(caseInfoPO); }catch (Exception e){ log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webStartFlowZXSL", e); @@ -1248,6 +1290,7 @@ jasqCaseTask.setHandleUnitName(loginUser.getUnitName()); jasqCaseTask.setHandleUserId(loginUser.getId()); jasqCaseTask.setHandleUserName(loginUser.getTrueName()); + jasqCaseTask.setHandleContent(caseWindupApply.getWindupContent()); jasqCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); jasqCaseTask.setHandleTime(nowDate); jasqCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); @@ -1445,6 +1488,8 @@ caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1); caseWindupApply.setAuditUserId(loginUser.getId()); caseWindupApply.setAuditUserName(loginUser.getTrueName()); + caseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + caseWindupApply.setCustId(loginUser.getCustId()); caseWindupApply.setAuditTime(nowDate); caseWindupApply.setUpdateTime(nowDate); caseWindupApplyService.updateCaseWindupApply(caseWindupApply); @@ -1460,6 +1505,7 @@ jashCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); jashCaseTaskPO.setHandleUserId(loginUser.getId()); jashCaseTaskPO.setHandleUserName(loginUser.getTrueName()); + jashCaseTaskPO.setHandleContent(caseWindupApply.getAuditContent()); jashCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); jashCaseTaskPO.setHandleTime(nowDate); jashCaseTaskPO.setUpdateTime(nowDate); @@ -1530,6 +1576,7 @@ jashCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); jashCaseTaskPO.setHandleUserId(loginUser.getId()); jashCaseTaskPO.setHandleUserName(loginUser.getTrueName()); + jashCaseTaskPO.setHandleContent(caseWindupApply.getAuditContent()); jashCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2); jashCaseTaskPO.setHandleTime(nowDate); jashCaseTaskPO.setUpdateTime(nowDate); @@ -1599,15 +1646,432 @@ /** * web端任务处理-上报 + * @param caseReturn 回退申请表单 + * @param userId 当前登录用户 + */ + public void webReturnApply(CaseReturn caseReturn, String userId){ + try{ + Date nowDate = DateUtils.getNowDate(); + // 获取当前登录用户 + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + // 创建回退申请信息 + caseReturn.setReturnUnitId(loginUser.getUnitId()); + caseReturn.setReturnUnitName(loginUser.getUnitName()); + caseReturn.setReturnUserId(loginUser.getId()); + caseReturn.setReturnUserName(loginUser.getTrueName()); + caseReturn.setReturnTime(nowDate); + caseReturn.setReturnStatus(AuditBaseConsts.AUDIT_STATUS_0); + caseReturn.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + caseReturn.setCustId(loginUser.getCustId()); + caseReturn.setCreateTime(nowDate); + caseReturn.setUpdateTime(nowDate); + // 查询待受理任务 + CaseTask dslCaseTask = mapper.selectById(caseReturn.getCaseTaskId()); + // 完成当前待受理任务 + CaseTask dslCaseTaskPO = new CaseTask(); + dslCaseTaskPO.setId(caseReturn.getCaseTaskId()); + dslCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); + dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); + dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); + dslCaseTaskPO.setHandleUserId(loginUser.getId()); + dslCaseTaskPO.setHandleUserName(loginUser.getTrueName()); + dslCaseTaskPO.setHandleContent(caseReturn.getReturnContent()); + dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + dslCaseTaskPO.setHandleTime(nowDate); + dslCaseTaskPO.setUpdateTime(nowDate); + mapper.updateCaseTask(dslCaseTaskPO); + // 完成当前待受理工作流任务,走回退审核任务 + FlowNode htshFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_htsq, userId); + // 新建回退审核任务 + CaseTask htshCaseTask = new CaseTask(); + htshCaseTask.setId(utilsClient.getNewTimeId()); + htshCaseTask.setCaseId(dslCaseTaskPO.getCaseId()); + htshCaseTask.setFlowableId(htshFlowNode.getFlowableId()); + htshCaseTask.setProcessInstanceId(htshFlowNode.getProcessInstanceId()); + htshCaseTask.setProcessTaskId(htshFlowNode.getProcessTaskId()); + htshCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_2); + htshCaseTask.setNodeType(htshFlowNode.getNodeType()); + htshCaseTask.setNodeId(htshFlowNode.getNodeId()); + htshCaseTask.setNodeName(htshFlowNode.getNodeName()); + htshCaseTask.setFlowId(htshFlowNode.getFlowId()); + htshCaseTask.setNodeShowName(htshFlowNode.getNodeShowName()); + htshCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 受理任务,任务候选执行者类型是上一步骤选择 + htshCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + CtUnitDTO ctUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId()); + htshCaseTask.setCandeUnitId(ctUnitDTO.getId()); + htshCaseTask.setCandeUnitName(ctUnitDTO.getUnitName()); + // 受理后的任务,不需要签收 + htshCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + // 任务处理时限 + if (htshFlowNode.getExpire() != 0) { + htshCaseTask.setExpireTime(DateUtils.addDay(nowDate, htshFlowNode.getExpire())); + } + htshCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); + htshCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + htshCaseTask.setCustId(htshCaseTask.getCustId()); + htshCaseTask.setCreateTime(nowDate); + htshCaseTask.setUpdateTime(nowDate); + mapper.insert(htshCaseTask); + // 新增回退申请信息 + caseReturn.setCaseTaskId(htshCaseTask.getId()); + caseReturnService.save(caseReturn); + }catch (Exception e){ + log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e); + throw new ServiceException("CaseTaskService.webAppearApply", e); + } + } + + /** + * web端任务处理-回退审核 + * @param caseReturn 回退审核表单 + * @param userId 当前登录用户 + */ + public void webReturnAudit(CaseReturn caseReturn, String userId){ + try{ + Date nowDate = DateUtils.getNowDate(); + // 获取当前登录用户 + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + // 更新回退申请信息 + caseReturn.setReturnStatus(AuditBaseConsts.AUDIT_STATUS_1); + caseReturn.setAuditUserId(loginUser.getId()); + caseReturn.setAuditUserName(loginUser.getTrueName()); + caseReturn.setAuditTime(nowDate); + caseReturn.setUpdateTime(nowDate); + caseReturnService.updateCaseReturn(caseReturn); + // 查询回退审核任务 + CaseTask htshCaseTask = mapper.selectById(caseReturn.getCaseTaskId()); + // 审核通过 + if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseReturn.getAuditResult())){ + // 完成当前回退审核任务 + CaseTask htshCaseTaskPO = new CaseTask(); + htshCaseTaskPO.setId(caseReturn.getCaseTaskId()); + htshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); + htshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); + htshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); + htshCaseTaskPO.setHandleUserId(loginUser.getId()); + htshCaseTaskPO.setHandleContent(caseReturn.getAuditContent()); + htshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); + htshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + htshCaseTaskPO.setHandleTime(nowDate); + htshCaseTaskPO.setUpdateTime(nowDate); + mapper.updateCaseTask(htshCaseTaskPO); + // 完成当前回退审核任务,走待分派任务 + FlowNode dfpFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_htsh_ty, userId); + // 新建待分派任务 + CaseTask dfphCaseTask = new CaseTask(); + dfphCaseTask.setId(utilsClient.getNewTimeId()); + dfphCaseTask.setCaseId(dfphCaseTask.getCaseId()); + dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); + dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); + dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); + dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + dfphCaseTask.setNodeType(dfpFlowNode.getNodeType()); + dfphCaseTask.setNodeId(dfpFlowNode.getNodeId()); + dfphCaseTask.setNodeName(dfpFlowNode.getNodeName()); + dfphCaseTask.setFlowId(dfpFlowNode.getFlowId()); + dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName()); + dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 受理任务,任务候选执行者类型是上一步骤选择 + dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + dfphCaseTask.setCandeUnitId(loginUser.getUnitId()); + dfphCaseTask.setCandeUnitName(loginUser.getUnitName()); + // 受理后的任务,不需要签收 + dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + // 任务处理时限 + if (dfpFlowNode.getExpire() != 0) { + dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire())); + } + dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); + dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + dfphCaseTask.setCustId(dfphCaseTask.getCustId()); + dfphCaseTask.setCreateTime(nowDate); + dfphCaseTask.setUpdateTime(nowDate); + mapper.insert(dfphCaseTask); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(dfphCaseTask.getCaseId()); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.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); + }else { + // 审核不通过 + // 完成当前回退审核任务 + CaseTask sbshCaseTaskPO = new CaseTask(); + sbshCaseTaskPO.setId(caseReturn.getCaseTaskId()); + sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); + sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); + sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); + sbshCaseTaskPO.setHandleUserId(loginUser.getId()); + sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); + sbshCaseTaskPO.setHandleContent(caseReturn.getAuditContent()); + sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2); + sbshCaseTaskPO.setHandleTime(nowDate); + sbshCaseTaskPO.setUpdateTime(nowDate); + mapper.updateCaseTask(sbshCaseTaskPO); + CtUnitDTO returnUnit = custClient.getUnitById(caseReturn.getReturnUnitId()); + String operation = FlowableConsts.OPERATION_htsh_bty; + if (UserBaseConsts.UNIT_GRADE_2 == returnUnit.getUnitGrade()){ + operation = FlowableConsts.OPERATION_htsh_bty_qj; + } + if(UserBaseConsts.UNIT_GRADE_1 == returnUnit.getUnitGrade()){ + operation = FlowableConsts.OPERATION_htsh_bty_sj; + } + // 完成当前上报审核任务,走待受理任务 + FlowNode dslFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(), + operation, userId); + // 新建待分派任务 + CaseTask dslCaseTask = new CaseTask(); + dslCaseTask.setId(utilsClient.getNewTimeId()); + dslCaseTask.setCaseId(dslCaseTask.getCaseId()); + dslCaseTask.setFlowableId(dslFlowNode.getFlowableId()); + dslCaseTask.setProcessInstanceId(dslFlowNode.getProcessInstanceId()); + dslCaseTask.setProcessTaskId(dslFlowNode.getProcessTaskId()); + dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + dslCaseTask.setNodeType(dslFlowNode.getNodeType()); + dslCaseTask.setNodeId(dslFlowNode.getNodeId()); + dslCaseTask.setNodeName(dslFlowNode.getNodeName()); + dslCaseTask.setFlowId(dslFlowNode.getFlowId()); + dslCaseTask.setNodeShowName(dslFlowNode.getNodeShowName()); + dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 受理任务,任务候选执行者类型是上一步骤选择 + dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + dslCaseTask.setCandeUnitId(caseReturn.getReturnUnitId()); + dslCaseTask.setCandeUnitName(caseReturn.getReturnUnitName()); + // 受理后的任务,不需要签收 + dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + // 任务处理时限 + if (dslFlowNode.getExpire() != 0) { + dslCaseTask.setExpireTime(DateUtils.addDay(nowDate, dslFlowNode.getExpire())); + } + dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); + dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + dslCaseTask.setCustId(dslCaseTask.getCustId()); + dslCaseTask.setCreateTime(nowDate); + dslCaseTask.setUpdateTime(nowDate); + mapper.insert(dslCaseTask); + } + }catch (Exception e){ + log.error("[CaseTaskService.webAppearAudit]调用失败,异常信息:"+e, e); + throw new ServiceException("CaseTaskService.webAppearAudit", e); + } + } + + /** + * web端任务处理-上报 * @param caseAppear 上报表单 * @param userId 当前登录用户 */ public void webAppearApply(CaseAppear caseAppear, String userId){ try{ - + Date nowDate = DateUtils.getNowDate(); + // 获取当前登录用户 + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + // 创建上报信息 + caseAppear.setAppearUnitId(loginUser.getUnitId()); + caseAppear.setAppearUnitName(loginUser.getUnitName()); + caseAppear.setAppearUserId(loginUser.getId()); + caseAppear.setAppearUserName(loginUser.getTrueName()); + caseAppear.setAppearTime(nowDate); + caseAppear.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_0); + caseAppear.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + caseAppear.setCustId(loginUser.getCustId()); + caseAppear.setCreateTime(nowDate); + caseAppear.setUpdateTime(nowDate); + // 查询待受理任务 + CaseTask dslCaseTask = mapper.selectById(caseAppear.getCaseTaskId()); + // 完成当前待受理任务 + CaseTask dslCaseTaskPO = new CaseTask(); + dslCaseTaskPO.setId(caseAppear.getCaseTaskId()); + dslCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); + dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); + dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); + dslCaseTaskPO.setHandleUserId(loginUser.getId()); + dslCaseTaskPO.setHandleUserName(loginUser.getTrueName()); + dslCaseTaskPO.setHandleContent(caseAppear.getAppearContent()); + dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + dslCaseTaskPO.setHandleTime(nowDate); + dslCaseTaskPO.setUpdateTime(nowDate); + mapper.updateCaseTask(dslCaseTaskPO); + // 完成当前待受理工作流任务,走上报审核任务 + FlowNode sbshFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_sb, userId); + // 新建上报审核任务 + CaseTask sbshCaseTask = new CaseTask(); + sbshCaseTask.setId(utilsClient.getNewTimeId()); + sbshCaseTask.setCaseId(dslCaseTaskPO.getCaseId()); + sbshCaseTask.setFlowableId(sbshFlowNode.getFlowableId()); + sbshCaseTask.setProcessInstanceId(sbshFlowNode.getProcessInstanceId()); + sbshCaseTask.setProcessTaskId(sbshFlowNode.getProcessTaskId()); + sbshCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_3); + sbshCaseTask.setNodeType(sbshFlowNode.getNodeType()); + sbshCaseTask.setNodeId(sbshFlowNode.getNodeId()); + sbshCaseTask.setNodeName(sbshFlowNode.getNodeName()); + sbshCaseTask.setFlowId(sbshFlowNode.getFlowId()); + sbshCaseTask.setNodeShowName(sbshFlowNode.getNodeShowName()); + sbshCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 受理任务,任务候选执行者类型是上一步骤选择 + sbshCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + sbshCaseTask.setCandeUnitId(caseAppear.getAuditUnitId()); + sbshCaseTask.setCandeUnitName(caseAppear.getAuditUnitName()); + // 受理后的任务,不需要签收 + sbshCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + // 任务处理时限 + if (sbshFlowNode.getExpire() != 0) { + sbshCaseTask.setExpireTime(DateUtils.addDay(nowDate, sbshFlowNode.getExpire())); + } + sbshCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); + sbshCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + sbshCaseTask.setCustId(sbshCaseTask.getCustId()); + sbshCaseTask.setCreateTime(nowDate); + sbshCaseTask.setUpdateTime(nowDate); + mapper.insert(sbshCaseTask); + // 新增上报申请信息 + caseAppear.setCaseTaskId(sbshCaseTask.getId()); + caseAppearService.save(caseAppear); }catch (Exception e){ - log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); - throw new ServiceException("CaseTaskService.webWindupApply", e); + log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e); + throw new ServiceException("CaseTaskService.webAppearApply", e); + } + } + + /** + * web端任务处理-上报审核 + * @param caseAppear 上报审核表单 + * @param userId 当前登录用户 + */ + public void webAppearAudit(CaseAppear caseAppear, String userId){ + try{ + Date nowDate = DateUtils.getNowDate(); + // 获取当前登录用户 + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + // 更新上报信息 + caseAppear.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1); + caseAppear.setAuditUserId(loginUser.getId()); + caseAppear.setAuditUserName(loginUser.getTrueName()); + caseAppear.setAuditTime(nowDate); + caseAppear.setUpdateTime(nowDate); + caseAppearService.updateCaseAppear(caseAppear); + // 查询上报审核任务 + CaseTask sbshCaseTask = mapper.selectById(caseAppear.getCaseTaskId()); + // 审核通过 + if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseAppear.getAuditResult())){ + // 完成当前上报审核任务 + CaseTask sbshCaseTaskPO = new CaseTask(); + sbshCaseTaskPO.setId(caseAppear.getCaseTaskId()); + sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); + sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); + sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); + sbshCaseTaskPO.setHandleUserId(loginUser.getId()); + sbshCaseTaskPO.setHandleContent(caseAppear.getAuditContent()); + sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); + sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + sbshCaseTaskPO.setHandleTime(nowDate); + sbshCaseTaskPO.setUpdateTime(nowDate); + mapper.updateCaseTask(sbshCaseTaskPO); + // 完成当前上报审核任务,走待分派任务 + FlowNode dfpFlowNode = flowInfoService.completeTask(sbshCaseTask.getFlowableId(), sbshCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_sbsh_ty, userId); + // 新建待分派任务 + CaseTask dfphCaseTask = new CaseTask(); + dfphCaseTask.setId(utilsClient.getNewTimeId()); + dfphCaseTask.setCaseId(dfphCaseTask.getCaseId()); + dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); + dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); + dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); + dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + dfphCaseTask.setNodeType(dfpFlowNode.getNodeType()); + dfphCaseTask.setNodeId(dfpFlowNode.getNodeId()); + dfphCaseTask.setNodeName(dfpFlowNode.getNodeName()); + dfphCaseTask.setFlowId(dfpFlowNode.getFlowId()); + dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName()); + dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 受理任务,任务候选执行者类型是上一步骤选择 + dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + dfphCaseTask.setCandeUnitId(loginUser.getUnitId()); + dfphCaseTask.setCandeUnitName(loginUser.getUnitName()); + // 受理后的任务,不需要签收 + dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); + // 任务处理时限 + if (dfpFlowNode.getExpire() != 0) { + dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire())); + } + dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + dfphCaseTask.setCustId(dfphCaseTask.getCustId()); + dfphCaseTask.setCreateTime(nowDate); + dfphCaseTask.setUpdateTime(nowDate); + mapper.insert(dfphCaseTask); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(dfphCaseTask.getCaseId()); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.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); + }else { + // 审核不通过 + // 完成当前上报审核任务 + CaseTask sbshCaseTaskPO = new CaseTask(); + sbshCaseTaskPO.setId(caseAppear.getCaseTaskId()); + sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); + sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); + sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); + sbshCaseTaskPO.setHandleUserId(loginUser.getId()); + sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); + sbshCaseTaskPO.setHandleContent(caseAppear.getAuditContent()); + sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2); + sbshCaseTaskPO.setHandleTime(nowDate); + sbshCaseTaskPO.setUpdateTime(nowDate); + mapper.updateCaseTask(sbshCaseTaskPO); + // 完成当前上报审核任务,走待分派任务 + FlowNode dfpFlowNode = flowInfoService.completeTask(sbshCaseTask.getFlowableId(), sbshCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_sbsh_bty, userId); + // 新建待分派任务 + CaseTask dfphCaseTask = new CaseTask(); + dfphCaseTask.setId(utilsClient.getNewTimeId()); + dfphCaseTask.setCaseId(dfphCaseTask.getCaseId()); + dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); + dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); + dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); + dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + dfphCaseTask.setNodeType(dfpFlowNode.getNodeType()); + dfphCaseTask.setNodeId(dfpFlowNode.getNodeId()); + dfphCaseTask.setNodeName(dfpFlowNode.getNodeName()); + dfphCaseTask.setFlowId(dfpFlowNode.getFlowId()); + dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName()); + dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 受理任务,任务候选执行者类型是上一步骤选择 + dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + dfphCaseTask.setCandeUnitId(caseAppear.getAppearUnitId()); + dfphCaseTask.setCandeUnitName(caseAppear.getAppearUnitName()); + // 受理后的任务,不需要签收 + dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); + // 任务处理时限 + if (dfpFlowNode.getExpire() != 0) { + dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire())); + } + dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + dfphCaseTask.setCustId(dfphCaseTask.getCustId()); + dfphCaseTask.setCreateTime(nowDate); + dfphCaseTask.setUpdateTime(nowDate); + mapper.insert(dfphCaseTask); + } + }catch (Exception e){ + log.error("[CaseTaskService.webAppearAudit]调用失败,异常信息:"+e, e); + throw new ServiceException("CaseTaskService.webAppearAudit", e); } } -- Gitblit v1.8.0