From 1a34864a39b41159f83c608e72a04f14a1038228 Mon Sep 17 00:00:00 2001 From: liyj <15602261488@163.com> Date: Sat, 21 Sep 2024 20:08:34 +0800 Subject: [PATCH] 新增 1、不予受理流程 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 218 ++++++++++++++++++++++++++++++++--------------------- 1 files changed, 131 insertions(+), 87 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 fd02986..836d681 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 @@ -97,15 +97,8 @@ private CaseEvaluateService caseEvaluateService; @Autowired private CaseAssistInfoService caseAssistInfoService; - @Autowired - private CaseWindupApplyMapper caseWindupApplyMapper; - @Autowired - private CaseReturnMapper caseReturnMapper; - @Autowired - private CaseAppearMapper caseAppearMapper; - @Autowired - private CaseAssistApplyMapper caseAssistApplyMapper; + private CaseDismissService caseDismissService; /** * 更新对象 @@ -198,6 +191,20 @@ } /** + * 根据纠纷编号查询进行中的配合部门任务 + * @param caseId + * @return + */ + public List<CaseTask> listAssistTasking(String caseId){ + // 查询配合部门的任务 + QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); + caseTaskQueryWrapper.eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).eq("case_id", caseId) + .eq("status", CaseTaskConsts.TASK_STATUS_1); + List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper); + return assistCaseTaskList; + } + + /** * web端-任务出来页面-初始化tab和按钮 * @param caseTaskId * @return @@ -267,8 +274,8 @@ sb.setId("sb"); sb.setName("上报"); TabButtonInfoDTO bysl = new TabButtonInfoDTO(); - sb.setId("bysl"); - sb.setName("不予受理"); + bysl.setId("bysl"); + bysl.setName("不予受理"); // 根据流程显示tab List<TabButtonInfoDTO> tabList = new LinkedList<>(); // 根据流程显示button @@ -532,6 +539,10 @@ // 临时加上 webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName()); } + } + // 不予受理 + if (CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){ + webCaseFlowDTO.setNodeShowName("不予受理"); } handleCaseFlowList.add(webCaseFlowDTO); }else { @@ -804,39 +815,22 @@ * @param terms 条件 * @return Page */ - public Page<FrontPageListDTO> pageMyTaskBlz(PageRequest page, Map<String, Object> terms){ + public Page<FrontPageListBLZDTO> pageMyTaskBlz(PageRequest page, Map<String, Object> terms){ try { - long total = mapper.countMyTaskProcessing(terms); - List<FrontPageListDTO> frontPageListDTOList = mapper.pageMyTaskProcessing(page, terms); - List<String> caseIdList = new ArrayList<>(); + long total = mapper.countMyTaskBlz(terms); + List<FrontPageListBLZDTO> frontPageListBLZDTOList = mapper.pageMyTaskBlz(page, terms); Date now = DateUtils.getNowDate(); - for(FrontPageListDTO frontPageListDTO: frontPageListDTOList){ - long milliseconds1 = frontPageListDTO.getTurnaroundTime().getTime(); + for(FrontPageListBLZDTO frontPageListBLZDTO: frontPageListBLZDTOList){ + long milliseconds1 = frontPageListBLZDTO.getTurnaroundTime().getTime(); long milliseconds2 = now.getTime(); long diff = milliseconds2 - milliseconds1; long daysBetween = diff / (24 * 60 * 60 * 1000); - frontPageListDTO.setProcessingDays(daysBetween); - caseIdList.add(frontPageListDTO.getCaseId()); + frontPageListBLZDTO.setProcessingDays(daysBetween); } - if(CollectionUtils.isNotEmpty(caseIdList)){ - QueryWrapper<CaseInfoUnfold> unfoldQueryWrapper = new QueryWrapper<>(); - unfoldQueryWrapper.in("id", caseIdList); - List<CaseInfoUnfold> unfoldList = caseInfoUnfoldService.list(unfoldQueryWrapper); - for(CaseInfoUnfold unfold: unfoldList){ - for(FrontPageListDTO frontPageListDTO: frontPageListDTOList){ - if(frontPageListDTO.getCaseId().equals(unfold.getId())){ - frontPageListDTO.setOrganizingUnit(unfold.getMediateUnitName()); - frontPageListDTO.setCooperatingUnit(unfold.getAssistUnitName()); - frontPageListDTO.setManager(unfold.getMediator()); - } - } - } - } - - return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + return new PageImpl<FrontPageListBLZDTO>(frontPageListBLZDTOList, page, total); }catch (Exception e) { - log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); - throw new ServiceException("CaseTaskService.pageMyTaskQs", e); + log.error("[CaseTaskService.pageMyTaskBlz]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskBlz", e); } } @@ -846,30 +840,14 @@ * @param terms 条件 * @return Page */ - public Page<FrontPageListDTO> pageMyTaskBl(PageRequest page, Map<String, Object> terms){ + public Page<FrontPageListJADTO> pageMyTaskJa(PageRequest page, Map<String, Object> terms){ try { - 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()); - if(CollectionUtils.isNotEmpty(caseIdList)){ - QueryWrapper<CaseInfoUnfold> unfoldQueryWrapper = new QueryWrapper<>(); - unfoldQueryWrapper.in("id", caseIdList); - List<CaseInfoUnfold> unfoldList = caseInfoUnfoldService.list(unfoldQueryWrapper); - for(CaseInfoUnfold unfold: unfoldList){ - for(FrontPageListDTO frontPageListDTO: frontPageListDTOList){ - if(frontPageListDTO.getCaseId().equals(unfold.getId())){ - frontPageListDTO.setOrganizingUnit(unfold.getMediateUnitName()); - frontPageListDTO.setCooperatingUnit(unfold.getAssistUnitName()); - } - } - } - } - return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + long total = caseWindupApplyService.countMyTaskJa(terms); + List<FrontPageListJADTO> frontPageListJADTOList = caseWindupApplyService.listMyTaskJa(page, terms); + return new PageImpl<FrontPageListJADTO>(frontPageListJADTOList, page, total); }catch (Exception e) { - log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); - throw new ServiceException("CaseTaskService.pageMyTaskQs", e); + log.error("[CaseTaskService.pageMyTaskJa]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskJa", e); } } @@ -1323,6 +1301,78 @@ } /** + * web端任务处理-不予受理 + * @param caseDismiss 不予受理表单 + * @param userId 当前登录用户 + */ + public void webDismiss(CaseDismiss caseDismiss, String userId){ + try{ + Date nowDate = DateUtils.getNowDate(); + // 获取当前登录用户 + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + // 查询当前任务 + CaseTask caseTask = mapper.selectById(caseDismiss.getCaseTaskId()); + // 结束当前任务 + CaseTask caseTaskPO = new CaseTask(); + caseTaskPO.setId(caseDismiss.getCaseTaskId()); + caseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); + caseTaskPO.setHandleUnitId(loginUser.getUnitId()); + caseTaskPO.setHandleUnitName(loginUser.getUnitName()); + caseTaskPO.setHandleUserId(loginUser.getId()); + caseTaskPO.setHandleUserName(loginUser.getTrueName()); + caseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_3); + caseTaskPO.setHandleContent(caseDismiss.getDisContent()); + caseTaskPO.setHandleTime(nowDate); + caseTaskPO.setUpdateTime(nowDate); + mapper.updateCaseTask(caseTaskPO); + // 结束当前工作流任务 + flowInfoService.endFlow(caseTask.getProcessInstanceId()); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(caseTask.getCaseId()); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.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<CaseTask> assistCaseTaskList = this.listAssistTasking(caseDismiss.getCaseId()); + for (CaseTask assistCaseTask: assistCaseTaskList){ + // 完成配合部门当前任务 + 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.endFlow(assistCaseTask.getProcessInstanceId()); + } + // 新增不予受理信息 + caseDismiss.setCaseTaskTime(caseTask.getCreateTime()); + caseDismiss.setDisUnitId(loginUser.getUnitId()); + caseDismiss.setDisUnitName(loginUser.getUnitName()); + caseDismiss.setDisUserId(loginUser.getId()); + caseDismiss.setDisUserName(loginUser.getTrueName()); + caseDismiss.setDisTime(nowDate); + caseDismiss.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + caseDismiss.setCustId(caseTask.getCustId()); + caseDismiss.setCreateTime(nowDate); + caseDismiss.setUpdateTime(nowDate); + caseDismissService.save(caseDismiss); + }catch (Exception e){ + log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e); + throw new ServiceException("CaseTaskService.webAssign", e); + } + } + + /** * web端任务处理-交办 * @param assignTaskDTO 交办任务表单 * @param userId 当前登录用户 @@ -1416,13 +1466,14 @@ 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 (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){ // 拼接配合组织编号和名称 String assistUnitId = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId). collect(Collectors.joining(BaseConsts.COMMA)); - String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId). + String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitName). collect(Collectors.joining(BaseConsts.COMMA)); for (AssignAssistUnitDTO assignAssistUnitDTO: assignTaskDTO.getAssistUnitList()){ // 启动联合处置工作流 @@ -1638,6 +1689,7 @@ 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(); @@ -1898,17 +1950,13 @@ caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName()); caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent()); caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); - caseInfoUnfoldPO.setCloseTime(nowDate); 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); + List<CaseTask> assistCaseTaskList = this.listAssistTasking(jasqCaseTask.getCaseId()); for (CaseTask assistCaseTask: assistCaseTaskList){ - // 完成配合部门当前办理反馈任务 - assistCaseTask.setId(caseWindupApply.getCaseTaskId()); + // 完成配合部门当前任务 assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); assistCaseTask.setHandleUnitId(loginUser.getUnitId()); assistCaseTask.setHandleUnitName(loginUser.getUnitName()); @@ -1918,10 +1966,8 @@ assistCaseTask.setHandleTime(nowDate); assistCaseTask.setUpdateTime(nowDate); mapper.updateCaseTask(assistCaseTask); - // 完成当前配合部门办理反馈工作流任务 - flowInfoService.completeTask(assistCaseTask.getFlowableId(), assistCaseTask.getProcessTaskId(), - FlowableConsts.OPERATION_forward, userId); - + // 结束配合部门当前工作流任务 + flowInfoService.endFlow(assistCaseTask.getProcessInstanceId()); } }catch (Exception e){ log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); @@ -2012,12 +2058,6 @@ // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); caseInfoUnfoldPO.setId(dsrpjCaseTask.getCaseId()); - caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult()); - caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName()); - caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType()); - caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName()); - caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent()); - caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); caseInfoUnfoldPO.setCloseTime(nowDate); caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); @@ -2080,18 +2120,6 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); - // 更新纠纷扩展信息 - CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); - caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId()); - caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult()); - caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName()); - caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType()); - caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName()); - caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent()); - caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); - caseInfoUnfoldPO.setCloseTime(nowDate); - caseInfoUnfoldPO.setUpdateTime(nowDate); - caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); } }catch (Exception e){ log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); @@ -2262,6 +2290,22 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); + // 有配合部门,也结束配合部门工作流程 + List<CaseTask> assistCaseTaskList = this.listAssistTasking(htshCaseTask.getCaseId()); + for (CaseTask assistCaseTask: assistCaseTaskList){ + // 完成配合部门当前任务 + 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.endFlow(assistCaseTask.getProcessInstanceId()); + } }else { // 更新联合处置信息 QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>(); -- Gitblit v1.8.0