From 0b597ea4500b3463ac9f0983dbabaca52417226c Mon Sep 17 00:00:00 2001 From: liyj <1003249715@qq.com> Date: Sat, 14 Sep 2024 12:21:37 +0800 Subject: [PATCH] 回退上报流程bug修复2 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 392 ++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 256 insertions(+), 136 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 c769b23..9cc3474 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; @@ -96,6 +91,8 @@ private CaseAppearService caseAppearService; @Autowired private CaseReturnService caseReturnService; + @Autowired + private CaseEvaluateService caseEvaluateService; @Autowired private CaseWindupApplyMapper caseWindupApplyMapper; @@ -393,9 +390,9 @@ 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("来访登记"); @@ -416,24 +413,24 @@ 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()){ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ - caseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - caseFlowDTO.setProcessName(caseTask.getNodeShowName()); + webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); }else{ - caseFlowDTO.setProcessName(caseInfo.getProcessName()); + webCaseFlowDTO.setProcessName(caseInfo.getProcessName()); } - caseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); - caseFlowDTO.setTaskType(caseTask.getTaskType()); - caseFlowDTO.setStatus(caseTask.getStatus()); + 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()); - caseFlowDTO.setTaskType(caseTask.getTaskType()); + 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()) { @@ -441,69 +438,69 @@ if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { } - 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()){ - CaseFlowDTO slCaseFlowDTO = new CaseFlowDTO(); + WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ - slCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - slCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); + slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + slWebCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); }else{ - slCaseFlowDTO.setProcessName(caseInfo.getProcessName()); + slWebCaseFlowDTO.setProcessName(caseInfo.getProcessName()); } - slCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); - slCaseFlowDTO.setTaskType(caseTask.getTaskType()); - slCaseFlowDTO.setStatus(caseTask.getStatus()); + slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); + slWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); + slWebCaseFlowDTO.setStatus(caseTask.getStatus()); }else { - slCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - slCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); - slCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); - slCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); - slCaseFlowDTO.setHandleNotes("已受理"); + 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()) { - slCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); - slCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); - slCaseFlowDTO.setTaskType(caseTask.getTaskType()); + 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()) { - slCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex()); - slCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes()); - slCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2); + slWebCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex()); + slWebCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes()); + slWebCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2); } - slCaseFlowDTO.setStatus(caseTask.getStatus()); + slWebCaseFlowDTO.setStatus(caseTask.getStatus()); } - handleCaseFlowList.add(slCaseFlowDTO); + handleCaseFlowList.add(slWebCaseFlowDTO); } } // 办理反馈节点,加上化解结果 if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_BLFK.getIndex())){ - CaseFlowDTO blfkCaseFlowDTO = new CaseFlowDTO(); + WebCaseFlowDTO blfkWebCaseFlowDTO = new WebCaseFlowDTO(); if (CaseTaskConsts.TASK_STATUS_1 == caseTask.getStatus()){ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ - blfkCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - blfkCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); + blfkWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + blfkWebCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); }else{ - blfkCaseFlowDTO.setProcessName(caseInfo.getProcessName()); + blfkWebCaseFlowDTO.setProcessName(caseInfo.getProcessName()); } - blfkCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); - blfkCaseFlowDTO.setTaskType(caseTask.getTaskType()); - blfkCaseFlowDTO.setStatus(caseTask.getStatus()); + blfkWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); + blfkWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); + blfkWebCaseFlowDTO.setStatus(caseTask.getStatus()); }else { - blfkCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - blfkCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); - blfkCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); - blfkCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); + blfkWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + blfkWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); + blfkWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); + blfkWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseId); - blfkCaseFlowDTO.setHandleNotes("化解结果:"+caseInfoUnfold.getMediResultName()); - blfkCaseFlowDTO.setTaskType(caseTask.getTaskType()); + blfkWebCaseFlowDTO.setHandleNotes("化解结果:"+caseInfoUnfold.getMediResultName()); + blfkWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); // todo 审核不通过、通过的展示,有调解结果的 if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) { @@ -511,27 +508,27 @@ if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { } - blfkCaseFlowDTO.setStatus(caseTask.getStatus()); + blfkWebCaseFlowDTO.setStatus(caseTask.getStatus()); } - handleCaseFlowList.add(blfkCaseFlowDTO); + 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; @@ -722,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){ @@ -896,7 +987,7 @@ */ public void webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){ try{ - // 启动自行手里工作流 + // 启动自行受理工作流 FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_ZXSL, caseInfo.getId()); // 进入第1个节点-办理反馈 CaseTask blfkCaseTask = new CaseTask(); @@ -1124,32 +1215,33 @@ CtUserDTO loginUser = custClient.clientGetUserAll(userId); List<String> taskIdList = new ArrayList<>(); List<String> caseIdList = new ArrayList<>(); - - // 更新纠纷任务信息 - 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); - - // 更新纠纷信息 - 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); - - for(SignTaskDTO signTaskDTO: signTaskDTOList){ - taskIdList.add(signTaskDTO.getCaseTaskId()); - caseIdList.add(signTaskDTO.getCaseId()); + for (SignTaskDTO signTaskDTO: signTaskDTOList){ + 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()); + 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.setId(qsCaseTask.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); + } } - mapper.updateCaseTaskList(caseTaskPO, taskIdList); - caseInfoService.updateCaseInfoList(caseInfoPO, caseIdList); }catch (Exception e){ log.error("[CaseTaskService.webSign]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webSign", e); @@ -1197,7 +1289,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()); @@ -1214,23 +1306,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); @@ -1475,6 +1570,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); @@ -1652,7 +1768,7 @@ } /** - * web端任务处理-上报 + * web端任务处理-回退申请 * @param caseReturn 回退申请表单 * @param userId 当前登录用户 */ @@ -1667,6 +1783,9 @@ 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()); @@ -1693,7 +1812,7 @@ // 新建回退审核任务 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()); @@ -1770,7 +1889,7 @@ // 新建待分派任务 CaseTask dfphCaseTask = new CaseTask(); dfphCaseTask.setId(utilsClient.getNewTimeId()); - dfphCaseTask.setCaseId(dfphCaseTask.getCaseId()); + dfphCaseTask.setCaseId(htshCaseTask.getCaseId()); dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); @@ -1799,7 +1918,7 @@ mapper.insert(dfphCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); - caseInfoPO.setId(dfphCaseTask.getCaseId()); + 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()); @@ -1823,7 +1942,8 @@ 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; @@ -1837,7 +1957,7 @@ // 新建待分派任务 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()); @@ -1850,8 +1970,8 @@ 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); // 任务处理时限 @@ -1913,7 +2033,7 @@ // 新建上报审核任务 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()); @@ -1989,7 +2109,7 @@ // 新建待分派任务 CaseTask dfphCaseTask = new CaseTask(); dfphCaseTask.setId(utilsClient.getNewTimeId()); - dfphCaseTask.setCaseId(dfphCaseTask.getCaseId()); + dfphCaseTask.setCaseId(sbshCaseTask.getCaseId()); dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); @@ -2018,7 +2138,7 @@ mapper.insert(dfphCaseTask); // 更新纠纷信息 CaseInfo caseInfoPO = new CaseInfo(); - caseInfoPO.setId(dfphCaseTask.getCaseId()); + 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()); @@ -2048,7 +2168,7 @@ // 新建待分派任务 CaseTask dfphCaseTask = new CaseTask(); dfphCaseTask.setId(utilsClient.getNewTimeId()); - dfphCaseTask.setCaseId(dfphCaseTask.getCaseId()); + dfphCaseTask.setCaseId(sbshCaseTask.getCaseId()); dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); -- Gitblit v1.8.0