| | |
| | | import cn.huge.module.cases.dao.mapper.*; |
| | | import cn.huge.module.cases.domain.dto.*; |
| | | import cn.huge.base.common.utils.ObjectUtils; |
| | | import cn.huge.module.cases.domain.dto.CaseFlowDTO; |
| | | import cn.huge.module.cases.domain.dto.WebCaseFlowDTO; |
| | | import cn.huge.module.cases.domain.dto.TabButtonDTO; |
| | | import cn.huge.module.cases.domain.dto.TabButtonInfoDTO; |
| | | import cn.huge.module.cases.domain.po.CaseAssistApply; |
| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.google.common.collect.Maps; |
| | | import org.apache.commons.collections.CollectionUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | private CaseAppearService caseAppearService; |
| | | @Autowired |
| | | private CaseReturnService caseReturnService; |
| | | @Autowired |
| | | private CaseEvaluateService caseEvaluateService; |
| | | |
| | | @Autowired |
| | | private CaseWindupApplyMapper caseWindupApplyMapper; |
| | |
| | | public Map<String, Object> webListCaseFlow(String caseId, String userId){ |
| | | try{ |
| | | Map<String, Object> result = Maps.newHashMap(); |
| | | LinkedList<CaseFlowDTO> handleCaseFlowList = new LinkedList<>(); |
| | | LinkedList<WebCaseFlowDTO> handleCaseFlowList = new LinkedList<>(); |
| | | // 首节点 |
| | | CaseFlowDTO lfdj = new CaseFlowDTO(); |
| | | WebCaseFlowDTO lfdj = new WebCaseFlowDTO(); |
| | | CaseInfo caseInfo = caseInfoService.getById(caseId); |
| | | if (CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())){ |
| | | lfdj.setNodeShowName("来访登记"); |
| | |
| | | }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){ |
| | | CaseFlowDTO caseFlowDTO = new CaseFlowDTO(); |
| | | if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){ |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ |
| | | caseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | caseFlowDTO.setProcessName(caseTask.getNodeShowName()); |
| | | }else{ |
| | | caseFlowDTO.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())){ |
| | | if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){ |
| | | 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); |
| | | } |
| | | } |
| | | caseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | caseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | caseFlowDTO.setStatus(caseTask.getStatus()); |
| | | }else { |
| | | caseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | caseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); |
| | | caseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); |
| | | caseFlowDTO.setHandleTime(caseTask.getHandleTime()); |
| | | caseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); |
| | | caseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | // todo 审核不通过、通过的展示,有调解结果的 |
| | | if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) { |
| | | |
| | | } |
| | | if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { |
| | | |
| | | } |
| | | 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() |
| | | && 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())){ |
| | | slCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | slCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); |
| | | }else{ |
| | | slCaseFlowDTO.setProcessName(caseInfo.getProcessName()); |
| | | } |
| | | slCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | slCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | slCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | // 普通节点 |
| | | 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(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){ |
| | | webCaseFlowDTO.setNodeShowName("事件回退"); |
| | | CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId); |
| | | if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) { |
| | | webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent()); |
| | | }else { |
| | | slCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | slCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); |
| | | slCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); |
| | | slCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); |
| | | slCaseFlowDTO.setHandleNotes("已受理"); |
| | | if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) { |
| | | slCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); |
| | | slCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); |
| | | slCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | } |
| | | if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { |
| | | slCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex()); |
| | | slCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes()); |
| | | slCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2); |
| | | } |
| | | slCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | webCaseFlowDTO.setHandleNotes("回退理由:-"); |
| | | |
| | | } |
| | | handleCaseFlowList.add(slCaseFlowDTO); |
| | | } |
| | | } |
| | | |
| | | // 办理反馈节点,加上化解结果 |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_BLFK.getIndex())){ |
| | | CaseFlowDTO blfkCaseFlowDTO = new CaseFlowDTO(); |
| | | if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){ |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ |
| | | blfkCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | blfkCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); |
| | | }else{ |
| | | blfkCaseFlowDTO.setProcessName(caseInfo.getProcessName()); |
| | | // 上报申请节点 |
| | | if(CaseTaskConsts.TASK_TYPE_3 == caseTask.getTaskType()){ |
| | | webCaseFlowDTO.setNodeShowName("事件上报"); |
| | | CaseAppear caseAppear = caseAppearService.getNewByCaseId(caseId); |
| | | if (StringUtils.isNotEmpty(caseAppear.getAppearContent())) { |
| | | webCaseFlowDTO.setHandleNotes("上报理由:" + caseAppear.getAppearContent()); |
| | | }else { |
| | | webCaseFlowDTO.setHandleNotes("上报意见:-" ); |
| | | } |
| | | blfkCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | blfkCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | blfkCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | }else { |
| | | blfkCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | blfkCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); |
| | | blfkCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); |
| | | blfkCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); |
| | | CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseId); |
| | | blfkCaseFlowDTO.setHandleNotes("化解结果:"+caseInfoUnfold.getMediResultName()); |
| | | blfkCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | // todo 审核不通过、通过的展示,有调解结果的 |
| | | if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) { |
| | | |
| | | } |
| | | } |
| | | // 当事人评价节点,特殊处理 |
| | | 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()) |
| | | || 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{ |
| | | // 处理通过 |
| | | webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); |
| | | webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); |
| | | } |
| | | blfkCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | // 临时加上 |
| | | webCaseFlowDTO.setHandleNotes("审核结果:"+webCaseFlowDTO.getAuditResultName()); |
| | | } |
| | | handleCaseFlowList.add(blfkCaseFlowDTO); |
| | | // 结案申请,需要展示化解结果 |
| | | 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()); |
| | | // 临时加上 |
| | | webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName()); |
| | | } |
| | | } |
| | | handleCaseFlowList.add(webCaseFlowDTO); |
| | | }else { |
| | | // 进行中的节点 |
| | | WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); |
| | | webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | webCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | // 当事人评价节点,特殊处理 |
| | | if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ |
| | | webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); |
| | | }else{ |
| | | webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | } |
| | | handleCaseFlowList.add(webCaseFlowDTO); |
| | | } |
| | | } |
| | | result.put("handleCaseFlowList", handleCaseFlowList); |
| | | |
| | | // 查询配合组织流程 |
| | | LinkedList<CaseFlowDTO> assistCaseFlowList = new LinkedList<>(); |
| | | LinkedList<WebCaseFlowDTO> assistCaseFlowList = new LinkedList<>(); |
| | | caseTaskQueryWrapper.clear(); |
| | | caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByDesc("create_time"); |
| | | List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper); |
| | | for (CaseTask caseTask: assistCaseTaskList){ |
| | | CaseFlowDTO caseFlowDTO = new CaseFlowDTO(); |
| | | caseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | caseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | caseFlowDTO.setHandleTime(caseTask.getHandleTime()); |
| | | caseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); |
| | | caseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | caseFlowDTO.setStatus(caseTask.getStatus()); |
| | | assistCaseFlowList.add(caseFlowDTO); |
| | | WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); |
| | | webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); |
| | | webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); |
| | | webCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); |
| | | webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); |
| | | webCaseFlowDTO.setTaskType(caseTask.getTaskType()); |
| | | webCaseFlowDTO.setStatus(caseTask.getStatus()); |
| | | assistCaseFlowList.add(webCaseFlowDTO); |
| | | } |
| | | result.put("assistCaseFlowList", assistCaseFlowList); |
| | | return result; |
| | |
| | | * @param caseId 纠纷编号 |
| | | * @return |
| | | */ |
| | | public List<CaseFlowDTO> wechatListCaseFlow(String caseId, String userId){ |
| | | try{ |
| | | // 临时给前端联调数据 |
| | | List<CaseFlowDTO> list = new ArrayList<>(); |
| | | QueryWrapper<CaseTask> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("case_id", caseId); |
| | | queryWrapper.orderByAsc("create_time"); |
| | | List<CaseTask> caseTasks = mapper.selectList(queryWrapper); |
| | | if(ObjectUtils.isNotEmpty(caseTasks)){ |
| | | for (CaseTask caseTask : caseTasks) { |
| | | CaseFlowDTO caseFlowDTO = new CaseFlowDTO(); |
| | | BeanUtils.copyProperties(caseTask, caseFlowDTO); |
| | | list.add(caseFlowDTO); |
| | | } |
| | | } |
| | | return list; |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.wechatListCaseFlow]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.wechatListCaseFlow", e); |
| | | public List<WechatCaseFlowDTO> wechatListCaseFlow(String caseId, String userId){ |
| | | // 封装办理流程 |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | |
| | | // 系统给综治中心分派,不需要签收 |
| | | dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | // 任务处理时限 |
| | | if (firstFlowNode.getExpire() != 0) { |
| | | dfpCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire())); |
| | | } |
| | | dfpCaseTask.setHandleUnitName("系统派单"); |
| | | dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | dfpCaseTask.setHandleIllust("派单至:"+caseDispBaseDTO.getTargetName()); |
| | |
| | | */ |
| | | public void webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){ |
| | | try{ |
| | | // 启动自行受理工作流 |
| | | FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_ZXSL, caseInfo.getId()); |
| | | // 启动自行受理工作流,进入待受理节点 |
| | | FlowNode dslFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_ZXSL, caseInfo.getId()); |
| | | // 创建并完成待受理任务 |
| | | CaseTask dslCaseTask = new CaseTask(); |
| | | dslCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dslCaseTask.setCaseId(caseInfo.getId()); |
| | | 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(loginUser.getUnitId()); |
| | | dslCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 自行受理,不需要签收 |
| | | dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | // 任务处理时限 |
| | | if (dslFlowNode.getExpire() != 0) { |
| | | dslCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), dslFlowNode.getExpire())); |
| | | } |
| | | dslCaseTask.setHandleUnitId(loginUser.getUnitId()); |
| | | dslCaseTask.setHandleUnitName(loginUser.getUnitName()); |
| | | dslCaseTask.setHandleUserId(loginUser.getId()); |
| | | dslCaseTask.setHandleUserName(loginUser.getTrueName()); |
| | | dslCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); |
| | | dslCaseTask.setHandleIllust("自行受理"); |
| | | dslCaseTask.setHandleTime(caseInfo.getCreateTime()); |
| | | dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dslCaseTask.setCustId(caseInfo.getCustId()); |
| | | dslCaseTask.setCreateTime(caseInfo.getCreateTime()); |
| | | dslCaseTask.setUpdateTime(caseInfo.getCreateTime()); |
| | | mapper.insert(dslCaseTask); |
| | | // 完成待受理任务,走办理反馈节点 |
| | | FlowNode blfkFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_forward, loginUser.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.setFlowableId(blfkFlowNode.getFlowableId()); |
| | | blfkCaseTask.setProcessInstanceId(blfkFlowNode.getProcessInstanceId()); |
| | | blfkCaseTask.setProcessTaskId(blfkFlowNode.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.setNodeType(blfkFlowNode.getNodeType()); |
| | | blfkCaseTask.setNodeId(blfkFlowNode.getNodeId()); |
| | | blfkCaseTask.setNodeName(blfkFlowNode.getNodeName()); |
| | | blfkCaseTask.setFlowId(blfkFlowNode.getFlowId()); |
| | | blfkCaseTask.setNodeShowName(blfkFlowNode.getNodeShowName()); |
| | | blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 通过调度的,任务候选执行者类型是上一步骤选择 |
| | | blfkCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | |
| | | blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | // 任务处理时限 |
| | | if (firstFlowNode.getExpire() != 0) { |
| | | blfkCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire())); |
| | | if (blfkFlowNode.getExpire() != 0) { |
| | | blfkCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), blfkFlowNode.getExpire())); |
| | | } |
| | | blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | blfkCaseTask.setCustId(caseInfo.getCustId()); |
| | |
| | | caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); |
| | | caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); |
| | | caseInfoService.updateCaseInfo(caseInfoPO); |
| | | // 更新纠纷扩展信息 |
| | | CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); |
| | | caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId()); |
| | | caseInfoUnfoldPO.setAcceptTime(blfkCaseTask.getCreateTime()); |
| | | caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); |
| | | caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); |
| | | caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webStartFlowZXSL", e); |
| | |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | // 获取当前登录用户 |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | List<String> taskIdList = new ArrayList<>(); |
| | | List<String> caseIdList = new ArrayList<>(); |
| | | for (SignTaskDTO signTaskDTO: signTaskDTOList){ |
| | | CaseTask qsCaseTask = mapper.selectById(signTaskDTO.getCaseId()); |
| | | CaseTask qsCaseTask = mapper.selectById(signTaskDTO.getCaseTaskId()); |
| | | // 更新纠纷任务信息 |
| | | CaseTask caseTaskPO = new CaseTask(); |
| | | caseTaskPO.setId(qsCaseTask.getId()); |
| | | caseTaskPO.setSignStatus(CaseTaskConsts.SIGN_STATUS_2); |
| | | caseTaskPO.setSignTime(nowDate); |
| | | caseTaskPO.setSignUserId(loginUser.getId()); |
| | |
| | | if (CaseTaskConsts.CASE_TASK_TYPE_1 == qsCaseTask.getCaseTaskType()) { |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(qsCaseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | |
| | | * @param acceptTaskDTO 受理任务表单 |
| | | * @param userId 当前登录用户 |
| | | */ |
| | | public void webAccept(AcceptTaskDTO acceptTaskDTO, String userId){ |
| | | public String webAccept(AcceptTaskDTO acceptTaskDTO, String userId){ |
| | | try{ |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | // 获取当前登录用户 |
| | |
| | | caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); |
| | | caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); |
| | | } |
| | | return blfkCaseTask.getId(); |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webAccept]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webAccept", e); |
| | |
| | | // 新增结案申请信息 |
| | | caseWindupApply.setApplyUnitId(loginUser.getUnitId()); |
| | | caseWindupApply.setApplyUnitName(loginUser.getUnitName()); |
| | | caseWindupApply.setApplyUserId(loginUser.getTrueName()); |
| | | caseWindupApply.setApplyUserId(loginUser.getId()); |
| | | caseWindupApply.setApplyUserName(loginUser.getTrueName()); |
| | | caseWindupApply.setApplyTime(nowDate); |
| | | caseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | caseWindupApply.setCreateTime(nowDate); |
| | |
| | | // 完成当前待受理任务 |
| | | CaseTask dslCaseTaskPO = new CaseTask(); |
| | | dslCaseTaskPO.setId(caseReturn.getCaseTaskId()); |
| | | dslCaseTaskPO.setTaskType(CaseTaskConsts.TASK_TYPE_2); |
| | | dslCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | |
| | | // 新建回退审核任务 |
| | | CaseTask htshCaseTask = new CaseTask(); |
| | | htshCaseTask.setId(utilsClient.getNewTimeId()); |
| | | htshCaseTask.setCaseId(dslCaseTaskPO.getCaseId()); |
| | | htshCaseTask.setCaseId(dslCaseTask.getCaseId()); |
| | | 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()); |
| | |
| | | sbshCaseTaskPO.setHandleTime(nowDate); |
| | | sbshCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(sbshCaseTaskPO); |
| | | CtUnitDTO returnUnit = custClient.getUnitById(caseReturn.getReturnUnitId()); |
| | | CaseReturn btyCaseReturn = caseReturnService.getById(caseReturn.getId()); |
| | | CtUnitDTO returnUnit = custClient.getUnitById(btyCaseReturn.getReturnUnitId()); |
| | | String operation = FlowableConsts.OPERATION_htsh_bty; |
| | | if (UserBaseConsts.UNIT_GRADE_2 == returnUnit.getUnitGrade()){ |
| | | operation = FlowableConsts.OPERATION_htsh_bty_qj; |
| | |
| | | // 新建待分派任务 |
| | | CaseTask dslCaseTask = new CaseTask(); |
| | | dslCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dslCaseTask.setCaseId(dslCaseTask.getCaseId()); |
| | | dslCaseTask.setCaseId(htshCaseTask.getCaseId()); |
| | | dslCaseTask.setFlowableId(dslFlowNode.getFlowableId()); |
| | | dslCaseTask.setProcessInstanceId(dslFlowNode.getProcessInstanceId()); |
| | | dslCaseTask.setProcessTaskId(dslFlowNode.getProcessTaskId()); |
| | |
| | | dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dslCaseTask.setCandeUnitId(caseReturn.getReturnUnitId()); |
| | | dslCaseTask.setCandeUnitName(caseReturn.getReturnUnitName()); |
| | | dslCaseTask.setCandeUnitId(btyCaseReturn.getReturnUnitId()); |
| | | dslCaseTask.setCandeUnitName(btyCaseReturn.getReturnUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | // 任务处理时限 |
| | |
| | | // 完成当前待受理任务 |
| | | CaseTask dslCaseTaskPO = new CaseTask(); |
| | | dslCaseTaskPO.setId(caseAppear.getCaseTaskId()); |
| | | dslCaseTaskPO.setTaskType(CaseTaskConsts.TASK_TYPE_3); |
| | | dslCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | |
| | | // 新建上报审核任务 |
| | | CaseTask sbshCaseTask = new CaseTask(); |
| | | sbshCaseTask.setId(utilsClient.getNewTimeId()); |
| | | sbshCaseTask.setCaseId(dslCaseTaskPO.getCaseId()); |
| | | sbshCaseTask.setCaseId(dslCaseTask.getCaseId()); |
| | | 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()); |