From 1fa35230344cbc98d02f612635aee38698d40df3 Mon Sep 17 00:00:00 2001 From: liyj <1003249715@qq.com> Date: Sat, 14 Sep 2024 10:31:43 +0800 Subject: [PATCH] 回退上报流程bug修复 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 945 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 811 insertions(+), 134 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 e5d82f0..b51bd35 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 @@ -6,12 +6,11 @@ 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 cn.huge.module.cases.domain.po.CaseInfoUnfold; -import cn.huge.module.cases.domain.dto.*; import cn.huge.module.cases.domain.po.*; import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.client.api.impl.DispClientImpl; @@ -25,7 +24,6 @@ import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.mediate.constant.AuditBaseConsts; import cn.huge.module.mediate.constant.AuditBaseConstsEnum; -import cn.huge.module.mediate.constant.CaseBaseConsts; import cn.huge.module.disp.constant.DispBaseConstsEnum; import cn.huge.module.disp.dto.CaseDispBaseDTO; import cn.huge.module.disp.dto.DispCaseBaseDTO; @@ -43,7 +41,6 @@ import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; @@ -51,8 +48,6 @@ import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.PostConstruct; -import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; @@ -90,21 +85,23 @@ private CaseInfoUnfoldService caseInfoUnfoldService; @Autowired private CaseWindupApplyService caseWindupApplyService; + @Autowired + private CaseAssistApplyService caseAssistApplyService; + @Autowired + private CaseAppearService caseAppearService; + @Autowired + private CaseReturnService caseReturnService; + @Autowired + private CaseEvaluateService caseEvaluateService; @Autowired private CaseWindupApplyMapper caseWindupApplyMapper; - @Autowired private CaseReturnMapper caseReturnMapper; - @Autowired private CaseAppearMapper caseAppearMapper; - @Autowired private CaseAssistApplyMapper caseAssistApplyMapper; - - @Autowired - private CaseAssistApplyService assistApplyService; /** * 更新对象 @@ -215,9 +212,9 @@ TabButtonInfoDTO sxbl = new TabButtonInfoDTO(); sxbl.setId("sxbl"); sxbl.setName("事项办理"); - TabButtonInfoDTO sqjl = new TabButtonInfoDTO(); - sqjl.setId("sqjl"); - sqjl.setName("申请记录"); +// TabButtonInfoDTO sqjl = new TabButtonInfoDTO(); +// sqjl.setId("sqjl"); +// sqjl.setName("申请记录"); TabButtonInfoDTO htsh = new TabButtonInfoDTO(); htsh.setId("htsh"); htsh.setName("回退审核"); @@ -272,7 +269,7 @@ if (ObjectUtils.isNotEmpty(caseTask)) { if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId())) { tabList.add(dslxq); - tabList.add(sqjl); +// tabList.add(sqjl); buttonList.add(zxsl); buttonList.add(jb); @@ -280,7 +277,7 @@ } if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId())) { tabList.add(dslxq); - tabList.add(sqjl); +// tabList.add(sqjl); buttonList.add(sl); buttonList.add(ht); @@ -288,18 +285,18 @@ if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId())) { sxxq.setName("详情"); tabList.add(sxxq); - tabList.add(sqjl); +// 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(sqjl); tabList.add(sbsh); } if (FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(caseTask.getNodeId())) { tabList.add(dslxq); - tabList.add(sqjl); +// tabList.add(sqjl); buttonList.add(zxsl); buttonList.add(jb); @@ -307,7 +304,7 @@ } if (FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId())) { tabList.add(dslxq); - tabList.add(sqjl); +// tabList.add(sqjl); buttonList.add(sl); buttonList.add(ht); @@ -315,25 +312,25 @@ if (FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex().equals(caseTask.getNodeId())) { sxxq.setName("详情"); tabList.add(sxxq); - tabList.add(sqjl); +// 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(sqjl); tabList.add(sbsh); } if (FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) { tabList.add(dslxq); - tabList.add(sqjl); +// tabList.add(sqjl); buttonList.add(zxsl); buttonList.add(jb); } if (FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) { tabList.add(dslxq); - tabList.add(sqjl); +// tabList.add(sqjl); buttonList.add(sl); buttonList.add(ht); @@ -341,13 +338,13 @@ if (FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex().equals(caseTask.getNodeId())) { sxxq.setName("详情"); tabList.add(sxxq); - tabList.add(sqjl); +// tabList.add(sqjl); tabList.add(htsh); } if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) { tabList.add(sxxq); tabList.add(sxbl); - tabList.add(sqjl); +// tabList.add(sqjl); buttonList.add(tjbljl); buttonList.add(lhczsq); @@ -355,23 +352,23 @@ } if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) { tabList.add(sxxq); - tabList.add(sqjl); +// 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); +// tabList.add(sqjl); } if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(caseTask.getNodeId())) { tabList.add(daxx); tabList.add(lcdb); - tabList.add(sqjl); +// tabList.add(sqjl); } }else { tabList.add(sxxq); - tabList.add(sqjl); +// tabList.add(sqjl); tabList.add(lhczsh); } // 封装数据 @@ -393,70 +390,145 @@ 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("来访登记"); lfdj.setHandleUserName(caseInfo.getInputUserName()); + lfdj.setHandleUnitName(caseInfo.getInputUnitName()); }else { lfdj.setNodeShowName(caseInfo.getCanalName()); - lfdj.setHandleUserName(caseInfo.getInputUserName()+"(当事人)"); + lfdj.setHandleUnitName(caseInfo.getInputUserName()+"(当事人)"); + lfdj.setHandleUserName(caseInfo.getInputUserName()); } - lfdj.setHandleUnitName(caseInfo.getInputUnitName()); lfdj.setTaskType(CaseTaskConsts.TASK_TYPE_1); lfdj.setStatus(CaseTaskConsts.TASK_STATUS_2); lfdj.setHandleTime(new Date()); handleCaseFlowList.add(lfdj); // 查询承办组织任务 QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); - caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_1).orderByAsc("create_time"); + 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(); + WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){ - caseFlowDTO.setProcessName(caseInfo.getProcessName()); - caseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); - caseFlowDTO.setTaskType(caseTask.getTaskType()); - caseFlowDTO.setStatus(caseTask.getStatus()); + if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ + webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); + }else{ + webCaseFlowDTO.setProcessName(caseInfo.getProcessName()); + } + webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); + webCaseFlowDTO.setTaskType(caseTask.getTaskType()); + webCaseFlowDTO.setStatus(caseTask.getStatus()); }else { - caseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - caseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); - caseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); - caseFlowDTO.setHandleTime(caseTask.getHandleTime()); - caseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); + webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); + webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); + webCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); + webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); + webCaseFlowDTO.setTaskType(caseTask.getTaskType()); + // todo 审核不通过、通过的展示,有调解结果的 if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) { - caseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); - caseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); - caseFlowDTO.setTaskType(caseTask.getTaskType()); + } if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { - caseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex()); - caseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes()); - caseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2); + } - caseFlowDTO.setStatus(caseTask.getStatus()); + webCaseFlowDTO.setStatus(caseTask.getStatus()); } - handleCaseFlowList.add(caseFlowDTO); + 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 (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { + + } + blfkWebCaseFlowDTO.setStatus(caseTask.getStatus()); + } + handleCaseFlowList.add(blfkWebCaseFlowDTO); + } } 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; @@ -480,10 +552,10 @@ FrontPageCountDTO frontPageCountDTO = mapper.countTaskList(terms); long supervise = superviseService.countCaseSuperviseList(0,loginUser.getUnitId()); frontPageCountDTO.setSupervise(supervise); - long countApplyReview = caseWindupApplyMapper.countApplyReview(loginUser.getUnitId()); - long countReturnReview = caseReturnMapper.countReturnReview(loginUser.getUnitId()); - long countAppearReview = caseAppearMapper.countAppearReview(loginUser.getUnitId()); - long countAssistReview = caseAssistApplyMapper.countAssistReview(loginUser.getUnitId()); + long countApplyReview = caseWindupApplyService.countApplyReview(loginUser.getUnitId()); + long countReturnReview = caseReturnService.countReturnReview(loginUser.getUnitId()); + long countAppearReview = caseAppearService.countAppearReview(loginUser.getUnitId()); + long countAssistReview = caseAssistApplyService.countAssistReview(loginUser.getUnitId()); frontPageCountDTO.setWaitReview(countApplyReview+countReturnReview+countAppearReview+countAssistReview); return frontPageCountDTO; }catch (Exception e) { @@ -571,7 +643,7 @@ for(CaseInfoUnfold unfold: unfoldList){ for(FrontPageListDTO frontPageListDTO: frontPageListDTOList){ if(frontPageListDTO.getCaseId().equals(unfold.getId())){ - frontPageListDTO.setOrganizingUnit(unfold.getMediateUnitId()); + frontPageListDTO.setOrganizingUnit(unfold.getMediateUnitName()); frontPageListDTO.setCooperatingUnit(unfold.getAssistUnitName()); } } @@ -593,8 +665,8 @@ */ public Page<FrontPageListDTO> pageMyTaskBl(PageRequest page, Map<String, Object> terms){ try { - long total = caseWindupApplyMapper.countMySubmitApplyReview(terms); - List<FrontPageListDTO> frontPageListDTOList = caseWindupApplyMapper.pageMySubmitApplyReview(page, terms); + long total = caseWindupApplyService.countMySubmitApplyReview(terms); + List<FrontPageListDTO> frontPageListDTOList = caseWindupApplyService.listMySubmitApplyReview(page, terms); List<String> caseIdList = new ArrayList<>(); caseIdList = frontPageListDTOList.stream().map(FrontPageListDTO ::getCaseId).collect(Collectors.toList()); @@ -605,7 +677,7 @@ for(CaseInfoUnfold unfold: unfoldList){ for(FrontPageListDTO frontPageListDTO: frontPageListDTOList){ if(frontPageListDTO.getCaseId().equals(unfold.getId())){ - frontPageListDTO.setOrganizingUnit(unfold.getMediateUnitId()); + frontPageListDTO.setOrganizingUnit(unfold.getMediateUnitName()); frontPageListDTO.setCooperatingUnit(unfold.getAssistUnitName()); } } @@ -629,17 +701,17 @@ long total = 0; List<FrontPageListDTO> frontPageListDTOList = new ArrayList<>(); if(1 == type){ - total = caseReturnMapper.countMyTaskReturnReview(terms); - frontPageListDTOList = caseReturnMapper.pageMyTaskReturnReview(page,terms); + total = caseReturnService.countMyTaskReturnReview(terms); + frontPageListDTOList = caseReturnService.pageMyTaskReturnReview(page,terms); }else if(2 == type){ - total = caseAppearMapper.countMyTaskAppearReview(terms); - frontPageListDTOList = caseAppearMapper.pageMyTaskAppearReview(page, terms); + total = caseAppearService.countMyTaskAppearReview(terms); + frontPageListDTOList = caseAppearService.pageMyTaskAppearReview(page, terms); }else if(3 == type){ - total = caseWindupApplyMapper.countMyTaskApplyReview(terms); - frontPageListDTOList = caseWindupApplyMapper.pageMyTaskApplyReview(page, terms); + total = caseWindupApplyService.countMyTaskApplyReview(terms); + frontPageListDTOList = caseWindupApplyService.listMyTaskApplyReview(page, terms); }else if(4 == type){ - total = caseAssistApplyMapper.countMyTaskAssistReview(terms); - frontPageListDTOList = caseAssistApplyMapper.pageMyTaskAssistReview(page, terms); + total = caseAssistApplyService.countMyTaskAssistReview(terms); + frontPageListDTOList = caseAssistApplyService.pageMyTaskAssistReview(page, terms); } return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); }catch (Exception e) { @@ -647,25 +719,119 @@ throw new ServiceException("CaseTaskService.pageMyTaskQs", e); } } + + /** + * 首页-待审核分页查询 + * @param caseId 事项编号 + * @return Page + */ + public List<Object> listMyApplyRecord(String caseId){ + try { + QueryWrapper<CaseReturn> caseReturnQueryWrapper = new QueryWrapper<>(); + caseReturnQueryWrapper.eq("case_id", caseId); + List<CaseReturn>caseReturnList = caseReturnService.list(caseReturnQueryWrapper); + + QueryWrapper<CaseAppear> caseAppearQueryWrapper = new QueryWrapper<>(); + caseAppearQueryWrapper.eq("case_id", caseId); + List<CaseAppear>caseAppearList = caseAppearService.list(caseAppearQueryWrapper); + + QueryWrapper<CaseWindupApply> caseWindupApplyQueryWrapper = new QueryWrapper<>(); + caseWindupApplyQueryWrapper.eq("case_id", caseId); + List<CaseWindupApply>caseWindupApplyList = caseWindupApplyService.list(caseWindupApplyQueryWrapper); + + QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>(); + caseAssistApplyQueryWrapper.eq("case_id", caseId); + List<CaseAssistApply>caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper); + List<SortUtilDTO> sortUtilDTOList = new ArrayList<>(); + for(CaseReturn caseReturn: caseReturnList){ + SortUtilDTO sortUtilDTO = new SortUtilDTO(); + sortUtilDTO.setObject(caseReturn); + sortUtilDTO.setDate(caseReturn.getCreateTime()); + sortUtilDTO.setType("回退申请"); + sortUtilDTOList.add(sortUtilDTO); + } + for(CaseAppear caseAppear: caseAppearList){ + SortUtilDTO sortUtilDTO = new SortUtilDTO(); + sortUtilDTO.setObject(caseAppear); + sortUtilDTO.setDate(caseAppear.getCreateTime()); + sortUtilDTO.setType("上报申请"); + sortUtilDTOList.add(sortUtilDTO); + } + for(CaseWindupApply caseWindupApply: caseWindupApplyList){ + SortUtilDTO sortUtilDTO = new SortUtilDTO(); + sortUtilDTO.setObject(caseWindupApply); + sortUtilDTO.setDate(caseWindupApply.getCreateTime()); + sortUtilDTO.setType("结案申请"); + sortUtilDTOList.add(sortUtilDTO); + } + for(CaseAssistApply caseAssistApply: caseAssistApplyList){ + SortUtilDTO sortUtilDTO = new SortUtilDTO(); + sortUtilDTO.setObject(caseAssistApply); + sortUtilDTO.setDate(caseAssistApply.getCreateTime()); + sortUtilDTO.setType("联合处置申请"); + sortUtilDTOList.add(sortUtilDTO); + } + sortUtilDTOList.sort(Comparator.comparing(SortUtilDTO::getDate)); + List<Object> resultList = new ArrayList<>(); + for(SortUtilDTO sortUtilDTO: sortUtilDTOList){ + resultList.add(sortUtilDTO); + } + return resultList; + }catch (Exception e) { + log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskQs", e); + } + } + /** * wechat端-查询流程进度 * @param caseId 纠纷编号 * @return */ - public List<CaseFlowDTO> wechatListCaseFlow(String caseId, String userId){ + public List<WechatCaseFlowDTO> 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); - } + // 封装办理流程 + 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){ @@ -821,7 +987,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); @@ -998,35 +1205,41 @@ /** * web端任务处理-签收 - * @param signTaskDTO 签收任务表单 + * @param signTaskDTOList 签收任务表单 * @param userId 当前登录用户 */ - public void webSign(SignTaskDTO signTaskDTO, String userId){ + public void webSign(List<SignTaskDTO> signTaskDTOList, String userId){ try{ Date nowDate = DateUtils.getNowDate(); // 获取当前登录用户 CtUserDTO loginUser = custClient.clientGetUserAll(userId); - // 更新纠纷任务信息 - CaseTask caseTaskPO = new CaseTask(); - caseTaskPO.setId(signTaskDTO.getCaseTaskId()); - caseTaskPO.setSignStatus(CaseTaskConsts.SIGN_STATUS_2); - caseTaskPO.setSignTime(nowDate); - caseTaskPO.setSignUserId(loginUser.getId()); - caseTaskPO.setSignUserName(loginUser.getTrueName()); - caseTaskPO.setHandleIllust("已签收"); - caseTaskPO.setUpdateTime(nowDate); - mapper.updateCaseTask(caseTaskPO); - // 更新纠纷信息 - CaseInfo caseInfoPO = new CaseInfo(); - caseInfoPO.setId(signTaskDTO.getCaseId()); - caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); - caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.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); + List<String> taskIdList = new ArrayList<>(); + List<String> caseIdList = new ArrayList<>(); + for (SignTaskDTO signTaskDTO: signTaskDTOList){ + CaseTask qsCaseTask = mapper.selectById(signTaskDTO.getCaseId()); + // 更新纠纷任务信息 + CaseTask caseTaskPO = new CaseTask(); + caseTaskPO.setSignStatus(CaseTaskConsts.SIGN_STATUS_2); + caseTaskPO.setSignTime(nowDate); + caseTaskPO.setSignUserId(loginUser.getId()); + caseTaskPO.setSignUserName(loginUser.getTrueName()); + caseTaskPO.setHandleIllust("已签收"); + caseTaskPO.setUpdateTime(nowDate); + mapper.updateCaseTask(caseTaskPO); + // 承办部门签收才更新纠纷信息 + if (CaseTaskConsts.CASE_TASK_TYPE_1 == qsCaseTask.getCaseTaskType()) { + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); + caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); + caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); + caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); + caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); + caseInfoPO.setUpdateTime(nowDate); + caseInfoService.updateCaseInfo(caseInfoPO); + } + } }catch (Exception e){ log.error("[CaseTaskService.webSign]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webSign", e); @@ -1052,6 +1265,7 @@ dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); dslCaseTaskPO.setHandleUserId(loginUser.getId()); + dslCaseTaskPO.setHandleIllust("已受理"); dslCaseTaskPO.setHandleUserName(loginUser.getTrueName()); dslCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); dslCaseTaskPO.setHandleTime(nowDate); @@ -1073,7 +1287,7 @@ blfkCaseTask.setNodeName(newFlowNode.getNodeName()); blfkCaseTask.setFlowId(newFlowNode.getFlowId()); blfkCaseTask.setNodeShowName(newFlowNode.getNodeShowName()); - blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); + blfkCaseTask.setCaseTaskType(dslCaseTask.getCaseTaskType()); // 受理任务,任务候选执行者类型是上一步骤选择 blfkCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); blfkCaseTask.setCandeUnitId(loginUser.getUnitId()); @@ -1090,23 +1304,26 @@ blfkCaseTask.setCreateTime(nowDate); blfkCaseTask.setUpdateTime(nowDate); mapper.insert(blfkCaseTask); - // 更新纠纷信息 - CaseInfo caseInfoPO = new CaseInfo(); - caseInfoPO.setId(blfkCaseTask.getCaseId()); - 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); - // 更新纠纷扩展信息 - CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); - caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId()); - caseInfoUnfoldPO.setAcceptTime(nowDate); - caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); - caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); - caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); + // 承办部门签收才更新纠纷信息 + if (CaseTaskConsts.CASE_TASK_TYPE_1 == dslCaseTask.getCaseTaskType()) { + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(blfkCaseTask.getCaseId()); + 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); + // 更新纠纷扩展信息 + CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); + caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId()); + caseInfoUnfoldPO.setAcceptTime(nowDate); + caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); + caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); + caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); + } }catch (Exception e){ log.error("[CaseTaskService.webAccept]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webAccept", e); @@ -1173,6 +1390,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); @@ -1350,6 +1568,27 @@ caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); } + // 查询配合部门的任务,全部结束流程 + QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); + caseTaskQueryWrapper.eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).eq("case_id", jasqCaseTask.getCaseId()); + List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper); + for (CaseTask assistCaseTask: assistCaseTaskList){ + // 完成配合部门当前办理反馈任务 + assistCaseTask.setId(caseWindupApply.getCaseTaskId()); + assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + assistCaseTask.setHandleUnitId(loginUser.getUnitId()); + assistCaseTask.setHandleUnitName(loginUser.getUnitName()); + assistCaseTask.setHandleUserId(loginUser.getId()); + assistCaseTask.setHandleUserName(loginUser.getTrueName()); + assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + assistCaseTask.setHandleTime(nowDate); + assistCaseTask.setUpdateTime(nowDate); + mapper.updateCaseTask(assistCaseTask); + // 完成当前配合部门办理反馈工作流任务 + flowInfoService.completeTask(assistCaseTask.getFlowableId(), assistCaseTask.getProcessTaskId(), + FlowableConsts.OPERATION_forward, userId); + + } }catch (Exception e){ log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webWindupApply", e); @@ -1370,6 +1609,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); @@ -1385,6 +1626,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); @@ -1455,6 +1697,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); @@ -1522,4 +1765,438 @@ } } + /** + * 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); + CtUnitDTO zzzxUnit = custClient.getParentZzzxUnit(loginUser.getUnitId()); + caseReturn.setAuditUnitId(zzzxUnit.getId()); + caseReturn.setAuditUnitName(zzzxUnit.getUnitName()); + 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(dslCaseTask.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(htshCaseTask.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(htshCaseTask.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(dslCaseTask.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.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(sbshCaseTask.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(sbshCaseTask.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(sbshCaseTask.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