From 5aa1a5263745b746b98d05c3296bf91c5c7d5edf Mon Sep 17 00:00:00 2001 From: liyj <15602261488@163.com> Date: Fri, 27 Sep 2024 18:00:02 +0800 Subject: [PATCH] 1、联合处置审核页面bug修复 2、详情也办理结果-办理意见为空修复 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 673 +++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 427 insertions(+), 246 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 836d681..abfbbee 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 @@ -22,6 +22,8 @@ import cn.huge.module.cust.constant.UserBaseConsts; import cn.huge.module.cust.dto.CtUnitDTO; import cn.huge.module.cust.dto.CtUserDTO; +import cn.huge.module.draft.domain.po.CasedraftInfo; +import cn.huge.module.draft.service.CasedraftInfoService; import cn.huge.module.mediate.constant.AuditBaseConsts; import cn.huge.module.mediate.constant.AuditBaseConstsEnum; import cn.huge.module.disp.constant.DispBaseConstsEnum; @@ -99,6 +101,8 @@ private CaseAssistInfoService caseAssistInfoService; @Autowired private CaseDismissService caseDismissService; + @Autowired + private CasedraftInfoService casedraftInfoService; /** * 更新对象 @@ -211,8 +215,6 @@ */ public TabButtonDTO webGetTabButton(String caseTaskId, String userId){ try{ - // 查询当前任务信息 - CaseTask caseTask = mapper.selectById(caseTaskId); // 定义tab TabButtonInfoDTO sxxq = new TabButtonInfoDTO(); sxxq.setId("sxxq"); @@ -244,6 +246,9 @@ TabButtonInfoDTO daxx = new TabButtonInfoDTO(); daxx.setId("daxx"); daxx.setName("档案信息"); + TabButtonInfoDTO byslxq = new TabButtonInfoDTO(); + byslxq.setId("byslxq"); + byslxq.setName("详情"); // 定义button TabButtonInfoDTO tjbljl = new TabButtonInfoDTO(); @@ -276,144 +281,168 @@ TabButtonInfoDTO bysl = new TabButtonInfoDTO(); bysl.setId("bysl"); bysl.setName("不予受理"); + // 根据流程显示tab List<TabButtonInfoDTO> tabList = new LinkedList<>(); // 根据流程显示button List<TabButtonInfoDTO> buttonList = new LinkedList<>(); + // 查询当前任务信息 + CaseTask caseTask = mapper.selectById(caseTaskId); if (ObjectUtils.isNotEmpty(caseTask)) { - if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId())) { - tabList.add(dslxq); - tabList.add(sqjl); - - buttonList.add(zxsl); - buttonList.add(jb); - buttonList.add(sb); - buttonList.add(bysl); - } - if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId())) { - tabList.add(dslxq); - tabList.add(sqjl); - - buttonList.add(sl); - buttonList.add(ht); - buttonList.add(bysl); - } - if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId())) { - sxxq.setName("详情"); - tabList.add(sxxq); - tabList.add(sqjl); - tabList.add(htsh); - } - if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId())) { - sxxq.setName("详情"); - tabList.add(sxxq); - tabList.add(sqjl); - tabList.add(sbsh); - } - if (FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(caseTask.getNodeId())) { - tabList.add(dslxq); - tabList.add(sqjl); - - buttonList.add(zxsl); - buttonList.add(jb); - buttonList.add(sb); - buttonList.add(bysl); - } - if (FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId())) { - tabList.add(dslxq); - tabList.add(sqjl); - - buttonList.add(sl); - buttonList.add(ht); - buttonList.add(bysl); - } - if (FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex().equals(caseTask.getNodeId())) { - sxxq.setName("详情"); - tabList.add(sxxq); - tabList.add(sqjl); - tabList.add(htsh); - } - if (FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex().equals(caseTask.getNodeId())) { - sxxq.setName("详情"); - tabList.add(sxxq); - tabList.add(sqjl); - tabList.add(sbsh); - } - if (FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) { - tabList.add(dslxq); - tabList.add(sqjl); - - buttonList.add(zxsl); - buttonList.add(jb); - buttonList.add(bysl); - } - if (FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) { - tabList.add(dslxq); - tabList.add(sqjl); - - buttonList.add(sl); - buttonList.add(ht); - buttonList.add(bysl); - } - if (FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex().equals(caseTask.getNodeId())) { - sxxq.setName("详情"); - tabList.add(sxxq); - tabList.add(sqjl); - tabList.add(htsh); - } - if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) { - if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) { - tabList.add(sxxq); - tabList.add(sxbl); - tabList.add(lcdb); + // 已完成任务 + if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){ + // 不予受理 + if (ObjectUtils.isNotEmpty(caseTask.getHandleResult()) && CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){ + tabList.add(byslxq); tabList.add(sqjl); - - buttonList.add(tjbljl); - buttonList.add(lhczsq); - buttonList.add(jasq); - buttonList.add(db); }else { - tabList.add(sxxq); - tabList.add(sxbl); + // 正常任务 + CaseInfo caseInfo = caseInfoService.getById(caseTask.getCaseId()); + if (CaseProcessBaseConstsEnum.CASE_PROCESS_6.getIndex() != caseInfo.getProcess()){ + daxx.setName("详情"); + } + tabList.add(daxx); tabList.add(lcdb); tabList.add(sqjl); + } + }else { + // 进行中任务 + // 待分派节点 + if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) { + tabList.add(dslxq); + tabList.add(sqjl); - buttonList.add(tjbljl); + sl.setName("自行受理"); + buttonList.add(sl); + buttonList.add(jb); + buttonList.add(sb); + buttonList.add(bysl); + + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } + // 待受理节点 + if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) { + tabList.add(dslxq); + tabList.add(sqjl); + + buttonList.add(sl); + buttonList.add(ht); + buttonList.add(bysl); + + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } + // 回退审核节点 + if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_HTSH.getIndex().equals(caseTask.getNodeId())) { + sxxq.setName("详情"); + tabList.add(sxxq); + tabList.add(sqjl); + tabList.add(htsh); + + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } + // 上报审核节点 + if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex().equals(caseTask.getNodeId())) { + sxxq.setName("详情"); + tabList.add(sxxq); + tabList.add(sqjl); + tabList.add(sbsh); + + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } + // 办理反馈节点 + if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) { + if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) { + tabList.add(sxxq); + tabList.add(sxbl); + tabList.add(lcdb); + tabList.add(sqjl); + + buttonList.add(tjbljl); + buttonList.add(lhczsq); + buttonList.add(jasq); +// buttonList.add(db); + + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } else { + tabList.add(sxxq); + tabList.add(sxbl); + tabList.add(lcdb); + tabList.add(sqjl); + + buttonList.add(tjbljl); + + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } + } + // 结案审核节点 + if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) { + tabList.add(sxxq); + tabList.add(sqjl); + tabList.add(jash); + + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } + // 当事人评价节点 + if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(caseTask.getNodeId())) { + daxx.setName("详情"); + tabList.add(daxx); + tabList.add(lcdb); + tabList.add(sqjl); + } + // 结案归档节点 + if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(caseTask.getNodeId())) { + tabList.add(daxx); + tabList.add(lcdb); + tabList.add(sqjl); + } + // 联合处置-待受理 + if (FlowNodeEnum.FLOW_NODE_DSL.getIndex().equals(caseTask.getNodeId())) { + tabList.add(dslxq); + tabList.add(sqjl); + + buttonList.add(sl); + buttonList.add(ht); + + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); } } - if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) { - tabList.add(sxxq); - tabList.add(sqjl); - tabList.add(jash); - } - if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(caseTask.getNodeId())) { - daxx.setName("信息"); - tabList.add(daxx); - tabList.add(lcdb); - tabList.add(sqjl); - } - if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(caseTask.getNodeId())) { - tabList.add(daxx); - tabList.add(lcdb); - tabList.add(sqjl); - } - if (FlowNodeEnum.FLOW_NODE_DSL.getIndex().equals(caseTask.getNodeId())) { - tabList.add(dslxq); - tabList.add(sqjl); - - buttonList.add(sl); - buttonList.add(ht); - } - if (FlowNodeEnum.FLOW_NODE_HTSH.getIndex().equals(caseTask.getNodeId())) { - sxxq.setName("详情"); - tabList.add(sxxq); - tabList.add(sqjl); - tabList.add(htsh); - } }else { - tabList.add(sxxq); - tabList.add(sqjl); - tabList.add(lhczsh); + // 是否是联合处置审核 + CaseAssistApply caseAssistApply = caseAssistApplyService.getById(caseTaskId); + if (ObjectUtils.isNotEmpty(caseAssistApply)){ + tabList.add(sxxq); + tabList.add(lhczsh); + tabList.add(sqjl); + }else { + daxx.setName("详情"); + tabList.add(daxx); + tabList.add(lcdb); + tabList.add(sqjl); + } } // 封装数据 TabButtonDTO tabButtonDTO = new TabButtonDTO(); @@ -477,11 +506,19 @@ // 普通节点 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 (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){ + webCaseFlowDTO.setHandleUserName(null); + webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName()); + }else{ + webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); + webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); + } // 回退申请节点 if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){ webCaseFlowDTO.setNodeShowName("事件回退"); @@ -502,13 +539,6 @@ }else { webCaseFlowDTO.setHandleNotes("上报意见:-" ); } - } - // 当事人评价节点,特殊处理 - 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()) @@ -543,6 +573,8 @@ // 不予受理 if (CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){ webCaseFlowDTO.setNodeShowName("不予受理"); + webCaseFlowDTO.setHandleNotes(null); + webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_4); } handleCaseFlowList.add(webCaseFlowDTO); }else { @@ -569,7 +601,8 @@ webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); webCaseFlowDTO.setStatus(caseTask.getStatus()); // 当事人评价节点,特殊处理 - if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ + if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){ webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); }else{ webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName()); @@ -619,11 +652,19 @@ // 普通节点 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 (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){ + webCaseFlowDTO.setHandleUserName(null); + webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName()); + }else{ + webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); + webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); + } // 回退申请节点 if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){ webCaseFlowDTO.setNodeShowName("事件回退"); @@ -644,13 +685,6 @@ }else { webCaseFlowDTO.setHandleNotes("上报意见:-" ); } - } - // 当事人评价节点,特殊处理 - 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()) @@ -707,7 +741,8 @@ webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); webCaseFlowDTO.setStatus(caseTask.getStatus()); // 当事人评价节点,特殊处理 - if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ + if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){ webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); }else{ webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName()); @@ -745,7 +780,21 @@ long countReturnReview = caseReturnService.countReturnReview(loginUser.getUnitId()); long countAppearReview = caseAppearService.countAppearReview(loginUser.getUnitId()); long countAssistReview = caseAssistApplyService.countAssistReview(loginUser.getUnitId()); + frontPageCountDTO.setReturnReview(countReturnReview); + frontPageCountDTO.setAppearReview(countAppearReview); + frontPageCountDTO.setWindupReview(countApplyReview); + frontPageCountDTO.setAssistReview(countAssistReview); frontPageCountDTO.setWaitReview(countApplyReview+countReturnReview+countAppearReview+countAssistReview); + // 已办 + Map<String, Object> ybTerms = new HashMap<>(); + ybTerms.put("handleUnitId", loginUser.getUnitId()); + long alreadyDone = mapper.countMyTaskYb(ybTerms); + frontPageCountDTO.setAlreadyDone(alreadyDone); + // 已办 + Map<String, Object> cgTerms = new HashMap<>(); + cgTerms.put("inputUnitId", loginUser.getUnitId()); + long caseDraft = casedraftInfoService.countTerms(cgTerms); + frontPageCountDTO.setCaseDraft(caseDraft); return frontPageCountDTO; }catch (Exception e) { log.error("[CaseTaskService.getCountList]调用失败,异常信息:" + e, e); @@ -763,10 +812,6 @@ try { long total = mapper.countMyTaskFp(terms); List<FrontPageListFPDTO> frontPageListFPDTOList = mapper.pageMyTaskFp(page, terms); - for (FrontPageListFPDTO frontPageListFPDTO: frontPageListFPDTOList){ - // 查询督办次数 - - } return new PageImpl<FrontPageListFPDTO>(frontPageListFPDTOList, page, total); }catch (Exception e) { log.error("[CaseTaskService.pageMyTaskFp]调用失败,异常信息:" + e, e); @@ -887,14 +932,11 @@ * @param terms 条件 * @return Page */ - public Page<FrontPageListDTO> pageMyTaskShWSQD(PageRequest page, int type, Map<String, Object> terms){ + public Page<FrontPageListWSQDDTO> pageMyTaskShWSQD(PageRequest page, Map<String, Object> terms){ try { - long total = 0; - List<FrontPageListDTO> frontPageListDTOList = new ArrayList<>(); - total = mapper.countMyTaskShWSQD(terms); - frontPageListDTOList = mapper.pageMyTaskShWSQD(page,terms); - - return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + long total = mapper.countMyTaskShWSQD(terms); + List<FrontPageListWSQDDTO> frontPageListWSQDDTOList = mapper.pageMyTaskShWSQD(page,terms); + return new PageImpl<FrontPageListWSQDDTO>(frontPageListWSQDDTOList, page, total); }catch (Exception e) { log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); throw new ServiceException("CaseTaskService.pageMyTaskQs", e); @@ -925,16 +967,18 @@ List<CaseAssistApply>caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper); List<SortUtilDTO> sortUtilDTOList = new ArrayList<>(); + List<String> idList = new ArrayList<>(); String ids = new String(); - ids += caseReturnList.stream().map(CaseReturn:: getId).collect(Collectors.joining(",")); - ids += caseAppearList.stream().map(CaseAppear:: getId).collect(Collectors.joining(",")); - ids += caseWindupApplyList.stream().map(CaseWindupApply:: getId).collect(Collectors.joining(",")); - ids += caseAssistApplyList.stream().map(CaseAssistApply:: getId).collect(Collectors.joining(",")); + idList.addAll(caseReturnList.stream().map(CaseReturn:: getId).collect(Collectors.toList())); + idList.addAll(caseAppearList.stream().map(CaseAppear:: getId).collect(Collectors.toList())); + idList.addAll(caseWindupApplyList.stream().map(CaseWindupApply:: getId).collect(Collectors.toList())); + idList.addAll(caseAssistApplyList.stream().map(CaseAssistApply:: getId).collect(Collectors.toList())); + ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','")); List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = new ArrayList<>(); if(StringUtils.isNotBlank(ids)){ Map terms = new HashMap(); terms.put("mainId", caseId); - terms.put("ownerIds", "," + ids + ","); + terms.put("ownerIds", "'" + ids + "'"); fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(terms); } @@ -1821,39 +1865,105 @@ jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1)); jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1)); mapper.insert(jashCaseTask); - // 完成当前结案审核工作流任务,走当事人评价任务 - FlowNode dsrpjFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), + // 完成当前结案审核工作流任务,走下一个任务 + FlowNode nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty, userId); - // 新建当事人评价任务 - CaseTask dsrpjCaseTask = new CaseTask(); - dsrpjCaseTask.setId(utilsClient.getNewTimeId()); - dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId()); - dsrpjCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId()); - dsrpjCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId()); - dsrpjCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId()); - dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); - dsrpjCaseTask.setNodeType(dsrpjFlowNode.getNodeType()); - dsrpjCaseTask.setNodeId(dsrpjFlowNode.getNodeId()); - dsrpjCaseTask.setNodeName(dsrpjFlowNode.getNodeName()); - dsrpjCaseTask.setFlowId(dsrpjFlowNode.getFlowId()); - dsrpjCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName()); - dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); - // 受理任务,任务候选执行者类型是上一步骤选择 - dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); - dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId()); - dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName()); - // 受理后的任务,不需要签收 - dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); - dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); - // 任务处理时限 - if (dsrpjFlowNode.getExpire() != 0) { - dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire())); + // 走当事人评价节点 + if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){ + // 新建当事人评价任务 + CaseTask dsrpjCaseTask = new CaseTask(); + dsrpjCaseTask.setId(utilsClient.getNewTimeId()); + dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId()); + dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId()); + dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); + dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); + dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType()); + dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId()); + dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName()); + dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId()); + dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); + dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 受理任务,任务候选执行者类型是上一步骤选择 + dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId()); + dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName()); + // 受理后的任务,不需要签收 + dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); + // 任务处理时限 + if (nextFlowNode.getExpire() != 0) { + dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); + } + dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); + dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2)); + dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2)); + mapper.insert(dsrpjCaseTask); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(jashCaseTask.getCaseId()); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.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); } - dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); - dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); - dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2)); - dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2)); - mapper.insert(dsrpjCaseTask); + // 走结案归档节点 + if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){ + // 默认完成结案归档任务 + CaseTask jagdCaseTask = new CaseTask(); + jagdCaseTask.setId(utilsClient.getNewTimeId()); + jagdCaseTask.setCaseId(jashCaseTask.getCaseId()); + jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId()); + jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); + jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); + jagdCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + jagdCaseTask.setNodeType(nextFlowNode.getNodeType()); + jagdCaseTask.setNodeId(nextFlowNode.getNodeId()); + jagdCaseTask.setNodeName(nextFlowNode.getNodeName()); + jagdCaseTask.setFlowId(nextFlowNode.getFlowId()); + jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); + jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 通过调度的,任务候选执行者类型是上一步骤选择 + jagdCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + jagdCaseTask.setCandeUnitId(loginUser.getUnitId()); + jagdCaseTask.setCandeUnitName(loginUser.getUnitName()); + // 系不需要签收 + jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + // 任务处理时限 + if (nextFlowNode.getExpire() != 0) { + jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); + } + jagdCaseTask.setHandleUnitId(loginUser.getUnitId()); + jagdCaseTask.setHandleUnitName(loginUser.getUnitName()); + jagdCaseTask.setHandleUserName("系统自动"); + jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + jagdCaseTask.setHandleTime(nowDate); + jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + jagdCaseTask.setCustId(jashCaseTask.getCustId()); + jagdCaseTask.setCreateTime(nowDate); + jagdCaseTask.setUpdateTime(nowDate); + mapper.insert(jagdCaseTask); + // 结束工作流流程 + flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_jb_zszz, "系统自动"); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(jashCaseTask.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); + } // 更新结案申请信息 caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1); caseWindupApply.setCaseTaskId(jashCaseTask.getId()); @@ -1866,20 +1976,9 @@ caseWindupApply.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); caseWindupApply.setCustId(jashCaseTask.getCustId()); caseWindupApplyService.save(caseWindupApply); - // 更新纠纷信息 - CaseInfo caseInfoPO = new CaseInfo(); - caseInfoPO.setId(dsrpjCaseTask.getCaseId()); - caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex()); - caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.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); // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); - caseInfoUnfoldPO.setId(dsrpjCaseTask.getCaseId()); + caseInfoUnfoldPO.setId(jashCaseTask.getCaseId()); caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult()); caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName()); caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType()); @@ -2012,52 +2111,108 @@ jashCaseTaskPO.setUpdateTime(nowDate); mapper.updateCaseTask(jashCaseTaskPO); // 完成当前结案审核工作流任务,走当事人评价任务 - FlowNode dsrpjFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), + FlowNode nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty, userId); - // 新建当事人评价任务 - CaseTask dsrpjCaseTask = new CaseTask(); - dsrpjCaseTask.setId(utilsClient.getNewTimeId()); - dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId()); - dsrpjCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId()); - dsrpjCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId()); - dsrpjCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId()); - dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); - dsrpjCaseTask.setNodeType(dsrpjFlowNode.getNodeType()); - dsrpjCaseTask.setNodeId(dsrpjFlowNode.getNodeId()); - dsrpjCaseTask.setNodeName(dsrpjFlowNode.getNodeName()); - dsrpjCaseTask.setFlowId(dsrpjFlowNode.getFlowId()); - dsrpjCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName()); - dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); - // 受理任务,任务候选执行者类型是上一步骤选择 - dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); - dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId()); - dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName()); - // 受理后的任务,不需要签收 - dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); - dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); - // 任务处理时限 - if (dsrpjFlowNode.getExpire() != 0) { - dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire())); + // 走当事人评价节点 + if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){ + // 新建当事人评价任务 + CaseTask dsrpjCaseTask = new CaseTask(); + dsrpjCaseTask.setId(utilsClient.getNewTimeId()); + dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId()); + dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId()); + dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); + dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); + dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType()); + dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId()); + dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName()); + dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId()); + dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); + dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 受理任务,任务候选执行者类型是上一步骤选择 + dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId()); + dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName()); + // 受理后的任务,不需要签收 + dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); + // 任务处理时限 + if (nextFlowNode.getExpire() != 0) { + dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); + } + dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); + dsrpjCaseTask.setCreateTime(nowDate); + dsrpjCaseTask.setUpdateTime(nowDate); + mapper.insert(dsrpjCaseTask); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(jashCaseTask.getCaseId()); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.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); } - dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); - dsrpjCaseTask.setCustId(jashCaseTask.getCustId()); - dsrpjCaseTask.setCreateTime(nowDate); - dsrpjCaseTask.setUpdateTime(nowDate); - mapper.insert(dsrpjCaseTask); - // 更新纠纷信息 - CaseInfo caseInfoPO = new CaseInfo(); - caseInfoPO.setId(dsrpjCaseTask.getCaseId()); - caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex()); - caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.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); + // 走结案归档节点 + if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){ + // 默认完成结案归档任务 + CaseTask jagdCaseTask = new CaseTask(); + jagdCaseTask.setId(utilsClient.getNewTimeId()); + jagdCaseTask.setCaseId(jashCaseTask.getCaseId()); + jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId()); + jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId()); + jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId()); + jagdCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); + jagdCaseTask.setNodeType(nextFlowNode.getNodeType()); + jagdCaseTask.setNodeId(nextFlowNode.getNodeId()); + jagdCaseTask.setNodeName(nextFlowNode.getNodeName()); + jagdCaseTask.setFlowId(nextFlowNode.getFlowId()); + jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName()); + jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + // 通过调度的,任务候选执行者类型是上一步骤选择 + jagdCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); + jagdCaseTask.setCandeUnitId(loginUser.getUnitId()); + jagdCaseTask.setCandeUnitName(loginUser.getUnitName()); + // 系不需要签收 + jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); + jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + // 任务处理时限 + if (nextFlowNode.getExpire() != 0) { + jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire())); + } + jagdCaseTask.setHandleUnitId(loginUser.getUnitId()); + jagdCaseTask.setHandleUnitName(loginUser.getUnitName()); + jagdCaseTask.setHandleUserName("系统自动"); + jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + jagdCaseTask.setHandleTime(nowDate); + jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + jagdCaseTask.setCustId(jashCaseTask.getCustId()); + jagdCaseTask.setCreateTime(nowDate); + jagdCaseTask.setUpdateTime(nowDate); + mapper.insert(jagdCaseTask); + // 结束工作流流程 + flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_jb_zszz, "系统自动"); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(jashCaseTask.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); + + } // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); - caseInfoUnfoldPO.setId(dsrpjCaseTask.getCaseId()); + caseInfoUnfoldPO.setId(jashCaseTask.getCaseId()); caseInfoUnfoldPO.setCloseTime(nowDate); caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); @@ -2592,4 +2747,30 @@ } } + /** + * 按条件查询 + * @param terms 条件 + * @return List + */ + public List<SignTaskDTO> listIdByTerms(Map<String, Object> terms){ + return mapper.listIdByTerms(terms); + } + + /** + * web端-工作台-已办事项 + * @param page 分页对象 + * @param terms 条件 + * @return Page + */ + public Page<FrontPageListYBDTO> pageMyTaskYb(PageRequest page, Map<String, Object> terms){ + try { + long total = mapper.countMyTaskYb(terms); + List<FrontPageListYBDTO> frontPageListYBDTOList = mapper.pageMyTaskYb(page, terms); + return new PageImpl<FrontPageListYBDTO>(frontPageListYBDTOList, page, total); + }catch (Exception e) { + log.error("[CaseTaskService.pageMyTaskYb]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskYb", e); + } + } + } -- Gitblit v1.8.0