| | |
| | | }else { |
| | | lfdj.setNodeShowName(caseInfo.getCanalName()); |
| | | lfdj.setHandleUnitName(caseInfo.getInputUserName()+"(当事人)"); |
| | | lfdj.setHandleUserName(caseInfo.getInputUserName()); |
| | | } |
| | | lfdj.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | lfdj.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | |
| | | QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); |
| | | caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_1).orderByAsc("id"); |
| | | List<CaseTask> handleCaseTaskList = mapper.selectList(caseTaskQueryWrapper); |
| | | |
| | | for (CaseTask caseTask: handleCaseTaskList){ |
| | | WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); |
| | | if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){ |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ |
| | | webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); |
| | | }else{ |
| | | webCaseFlowDTO.setProcessName(caseInfo.getProcessName()); |
| | | // 已结束节点 |
| | | if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){ |
| | | // 待受理节点,需要加多一个签收节点 |
| | | 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()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){ |
| | | WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); |
| | | slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | slWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); |
| | | slWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); |
| | | slWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); |
| | | slWebCaseFlowDTO.setHandleNotes("已签收"); |
| | | slWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | slWebCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | handleCaseFlowList.add(slWebCaseFlowDTO); |
| | | } |
| | | webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | webCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | webCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | }else { |
| | | // 回退审核节点,需要加多一个回退申请节点 |
| | | if(caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex())){ |
| | | WebCaseFlowDTO sqWebCaseFlowDTO = new WebCaseFlowDTO(); |
| | | sqWebCaseFlowDTO.setNodeShowName("事件回退"); |
| | | sqWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); |
| | | sqWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); |
| | | sqWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); |
| | | sqWebCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2); |
| | | sqWebCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | CaseReturn caseReturn = caseReturnService.getByCaseTaskId(caseTask.getId()); |
| | | sqWebCaseFlowDTO.setHandleNotes("回退理由:"+caseReturn.getReturnContent()); |
| | | handleCaseFlowList.add(sqWebCaseFlowDTO); |
| | | } |
| | | // 上报审核节点,需要加多一个上报申请节点 |
| | | if(caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex())){ |
| | | WebCaseFlowDTO sqWebCaseFlowDTO = new WebCaseFlowDTO(); |
| | | sqWebCaseFlowDTO.setNodeShowName("事件上报"); |
| | | sqWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); |
| | | sqWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); |
| | | sqWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); |
| | | sqWebCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_3); |
| | | sqWebCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | CaseAppear caseAppear = caseAppearService.getByCaseTaskId(caseTask.getId()); |
| | | sqWebCaseFlowDTO.setHandleNotes("上报意见:"+caseAppear.getAppearContent()); |
| | | handleCaseFlowList.add(sqWebCaseFlowDTO); |
| | | } |
| | | // 普通节点 |
| | | WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); |
| | | webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); |
| | | webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); |
| | | webCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); |
| | | webCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); |
| | | webCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | // todo 审核不通过、通过的展示,有调解结果的 |
| | | if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) { |
| | | |
| | | } |
| | | if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { |
| | | |
| | | } |
| | | webCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | } |
| | | handleCaseFlowList.add(webCaseFlowDTO); |
| | | // 待受理节点,已签收的并处理完,需要加多一个受理节点 |
| | | 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() |
| | | && CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){ |
| | | WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); |
| | | if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){ |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ |
| | | slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | slWebCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); |
| | | }else{ |
| | | slWebCaseFlowDTO.setProcessName(caseInfo.getProcessName()); |
| | | } |
| | | slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | slWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | slWebCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | }else { |
| | | slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | slWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); |
| | | slWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); |
| | | slWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); |
| | | slWebCaseFlowDTO.setHandleNotes("已受理"); |
| | | if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) { |
| | | slWebCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); |
| | | slWebCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); |
| | | slWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | } |
| | | if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { |
| | | slWebCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex()); |
| | | slWebCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes()); |
| | | slWebCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2); |
| | | } |
| | | slWebCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | } |
| | | handleCaseFlowList.add(slWebCaseFlowDTO); |
| | | } |
| | | } |
| | | |
| | | // 办理反馈节点,加上化解结果 |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_BLFK.getIndex())){ |
| | | WebCaseFlowDTO blfkWebCaseFlowDTO = new WebCaseFlowDTO(); |
| | | if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){ |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ |
| | | blfkWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | blfkWebCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); |
| | | }else{ |
| | | blfkWebCaseFlowDTO.setProcessName(caseInfo.getProcessName()); |
| | | } |
| | | blfkWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | blfkWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | blfkWebCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | }else { |
| | | blfkWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | blfkWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); |
| | | blfkWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); |
| | | blfkWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); |
| | | CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseId); |
| | | blfkWebCaseFlowDTO.setHandleNotes("化解结果:"+caseInfoUnfold.getMediResultName()); |
| | | blfkWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | // todo 审核不通过、通过的展示,有调解结果的 |
| | | if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) { |
| | | |
| | | } |
| | | // 审核节点要判断通过/不通过 |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex()) |
| | | || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex())){ |
| | | // 处理不通过,任务类型就是回退 |
| | | if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { |
| | | |
| | | webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex()); |
| | | webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes()); |
| | | webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2); |
| | | }else if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) { |
| | | // 处理通过 |
| | | webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); |
| | | webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); |
| | | } |
| | | blfkWebCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | } |
| | | handleCaseFlowList.add(blfkWebCaseFlowDTO); |
| | | // 结案申请,需要展示化解结果 |
| | | if (FlowNodeEnum.FLOW_NODE_JASQ.getIndex().equals(caseTask.getNodeId())){ |
| | | CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseTask.getCaseId()); |
| | | if (ObjectUtils.isNotEmpty(caseInfoUnfold)){ |
| | | webCaseFlowDTO.setMediResult(caseInfoUnfold.getMediResult()); |
| | | webCaseFlowDTO.setMediResultName(caseInfoUnfold.getMediResultName()); |
| | | } |
| | | } |
| | | handleCaseFlowList.add(webCaseFlowDTO); |
| | | }else { |
| | | // 进行中的节点 |
| | | WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); |
| | | webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | webCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | handleCaseFlowList.add(webCaseFlowDTO); |
| | | } |
| | | } |
| | | result.put("handleCaseFlowList", handleCaseFlowList); |
| | |
| | | * @return |
| | | */ |
| | | public List<WechatCaseFlowDTO> wechatListCaseFlow(String caseId, String userId){ |
| | | try{ |
| | | // 封装办理流程 |
| | | List<WechatCaseFlowDTO> list = new ArrayList<>(); |
| | | CaseInfo caseInfo = caseInfoService.getById(caseId); |
| | | // 提交申请 |
| | | WechatCaseFlowDTO tjsq = new WechatCaseFlowDTO(); |
| | | tjsq.setProcessName("提交申请"); |
| | | tjsq.setVisitWayName(caseInfo.getVisitWayName()); |
| | | tjsq.setShowTime(caseInfo.getCreateTime()); |
| | | tjsq.setCaseTypeName(caseInfo.getCaseTypeName()); |
| | | list.add(tjsq); |
| | | // 办理中 |
| | | if (caseInfo.getInfoProcess() == CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_2.getIndex()){ |
| | | CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseId); |
| | | WechatCaseFlowDTO sxbl = new WechatCaseFlowDTO(); |
| | | sxbl.setProcessName("事项办理"); |
| | | sxbl.setShowTime(caseInfoUnfold.getAcceptTime()); |
| | | sxbl.setMediateUnitName(caseInfoUnfold.getMediateUnitName()); |
| | | list.add(sxbl); |
| | | } |
| | | // 已结案 |
| | | if (caseInfo.getInfoProcess() == CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_2.getIndex()){ |
| | | CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseId); |
| | | WechatCaseFlowDTO sxbj = new WechatCaseFlowDTO(); |
| | | sxbj.setProcessName("事项办结"); |
| | | sxbj.setShowTime(caseInfoUnfold.getCloseTime()); |
| | | sxbj.setMediResult(caseInfoUnfold.getMediResult()); |
| | | sxbj.setMediResultName(caseInfoUnfold.getMediResultName()); |
| | | list.add(sxbj); |
| | | } |
| | | // 评价 |
| | | QueryWrapper<CaseEvaluate> caseEvaluateQueryWrapper = new QueryWrapper<>(); |
| | | caseEvaluateQueryWrapper.eq("case_id", caseId).orderByDesc("create_time"); |
| | | List<CaseEvaluate> caseEvaluateList = caseEvaluateService.list(caseEvaluateQueryWrapper); |
| | | if (CollectionUtils.isNotEmpty(caseEvaluateList)){ |
| | | CaseEvaluate caseEvaluate = caseEvaluateList.get(0); |
| | | WechatCaseFlowDTO sxpj = new WechatCaseFlowDTO(); |
| | | sxpj.setProcessName("事项评价"); |
| | | sxpj.setShowTime(caseEvaluate.getCreateTime()); |
| | | sxpj.setEvaluateUserName(caseEvaluate.getEvaluateUserName()); |
| | | sxpj.setEvaluateGrade(caseEvaluate.getEvaluateGrade()); |
| | | sxpj.setEvaluateRemark(caseEvaluate.getEvaluateRemark()); |
| | | list.add(sxpj); |
| | | } |
| | | return list; |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.wechatListCaseFlow]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.wechatListCaseFlow", e); |
| | | // 封装办理流程 |
| | | List<WechatCaseFlowDTO> list = new ArrayList<>(); |
| | | CaseInfo caseInfo = caseInfoService.getById(caseId); |
| | | // 提交申请 |
| | | WechatCaseFlowDTO tjsq = new WechatCaseFlowDTO(); |
| | | tjsq.setProcessName("提交申请"); |
| | | tjsq.setVisitWayName(caseInfo.getVisitWayName()); |
| | | tjsq.setShowTime(caseInfo.getCreateTime()); |
| | | tjsq.setCaseTypeName(caseInfo.getCaseTypeName()); |
| | | tjsq.setProcessStep(1); |
| | | list.add(tjsq); |
| | | CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseId); |
| | | // 办理中 |
| | | if (caseInfo.getInfoProcess() >= CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_2.getIndex()){ |
| | | WechatCaseFlowDTO sxbl = new WechatCaseFlowDTO(); |
| | | sxbl.setProcessName("事项办理"); |
| | | sxbl.setShowTime(caseInfoUnfold.getAcceptTime()); |
| | | sxbl.setMediateUnitName(caseInfoUnfold.getMediateUnitName()); |
| | | sxbl.setProcessStep(2); |
| | | list.add(sxbl); |
| | | } |
| | | // 已结案 |
| | | if (caseInfo.getInfoProcess() >= CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_3.getIndex()){ |
| | | WechatCaseFlowDTO sxbj = new WechatCaseFlowDTO(); |
| | | sxbj.setProcessName("事项办结"); |
| | | sxbj.setShowTime(caseInfoUnfold.getCloseTime()); |
| | | sxbj.setMediResult(caseInfoUnfold.getMediResult()); |
| | | sxbj.setMediResultName(caseInfoUnfold.getMediResultName()); |
| | | sxbj.setProcessStep(3); |
| | | list.add(sxbj); |
| | | } |
| | | // 评价 |
| | | QueryWrapper<CaseEvaluate> caseEvaluateQueryWrapper = new QueryWrapper<>(); |
| | | caseEvaluateQueryWrapper.eq("case_id", caseId).orderByDesc("create_time"); |
| | | List<CaseEvaluate> caseEvaluateList = caseEvaluateService.list(caseEvaluateQueryWrapper); |
| | | if (CollectionUtils.isNotEmpty(caseEvaluateList)){ |
| | | CaseEvaluate caseEvaluate = caseEvaluateList.get(0); |
| | | WechatCaseFlowDTO sxpj = new WechatCaseFlowDTO(); |
| | | sxpj.setProcessName("事项评价"); |
| | | sxpj.setShowTime(caseEvaluate.getCreateTime()); |
| | | sxpj.setEvaluateUserName(caseEvaluate.getEvaluateUserName()); |
| | | sxpj.setEvaluateGrade(caseEvaluate.getEvaluateGrade()); |
| | | sxpj.setEvaluateRemark(caseEvaluate.getEvaluateRemark()); |
| | | sxpj.setProcessStep(4); |
| | | list.add(sxpj); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | /** |
| | |
| | | htshCaseTask.setFlowableId(htshFlowNode.getFlowableId()); |
| | | htshCaseTask.setProcessInstanceId(htshFlowNode.getProcessInstanceId()); |
| | | htshCaseTask.setProcessTaskId(htshFlowNode.getProcessTaskId()); |
| | | htshCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_2); |
| | | htshCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | htshCaseTask.setNodeType(htshFlowNode.getNodeType()); |
| | | htshCaseTask.setNodeId(htshFlowNode.getNodeId()); |
| | | htshCaseTask.setNodeName(htshFlowNode.getNodeName()); |
| | |
| | | sbshCaseTask.setFlowableId(sbshFlowNode.getFlowableId()); |
| | | sbshCaseTask.setProcessInstanceId(sbshFlowNode.getProcessInstanceId()); |
| | | sbshCaseTask.setProcessTaskId(sbshFlowNode.getProcessTaskId()); |
| | | sbshCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_3); |
| | | sbshCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | sbshCaseTask.setNodeType(sbshFlowNode.getNodeType()); |
| | | sbshCaseTask.setNodeId(sbshFlowNode.getNodeId()); |
| | | sbshCaseTask.setNodeName(sbshFlowNode.getNodeName()); |