From bc684a5f99b82ff46b0dc87cc4917ca1b4b88fe1 Mon Sep 17 00:00:00 2001 From: liyj <1003249715@qq.com> Date: Mon, 09 Sep 2024 22:20:12 +0800 Subject: [PATCH] 1、流程优化 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 101 +++++++++++++------------------------------------- 1 files changed, 27 insertions(+), 74 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java index 4fd77c6..a10be52 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java @@ -75,6 +75,9 @@ @Autowired private SysClientImpl sysClient; + @Autowired + private CaseTaskService caseTaskService; + /** * 更新对象 * @param entity 对象 @@ -204,26 +207,27 @@ caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1); caseInfo.setCreateTime(nowDate); caseInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0); - - CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold(); - caseInfoUnfold.setId(utilsClient.getNewTimeId()); - caseInfoUnfold.setCaseId(caseInfo.getId()); - caseInfoUnfold.setCreateTime(nowDate); - caseInfoUnfold.setUpdateTime(nowDate); - // 删除草稿案件 if(1 == registerSaveDTO.getIsDraft() ){ draftInfoService.removeDraftInfo(registerSaveDTO.getId()); } - - //判断是否自行受理 - if(1 == registerSaveDTO.getIsSelfAccept()){ - //todo 流程接口修改status、status_name、process、process_name - caseInfoUnfold.setMediateUnitId(loginUser.getUnitId()); - caseInfoUnfold.setMediateUnitName(loginUser.getUnitName()); - } + // 新增纠纷信息 this.save(caseInfo); + // 新增纠纷信息扩展表 + CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold(); + caseInfoUnfold.setId(caseInfo.getId()); + caseInfoUnfold.setCreateTime(nowDate); + caseInfoUnfold.setUpdateTime(nowDate); caseInfoUnfoldService.save(caseInfoUnfold); + // 启动工作流 + // 判断是否自行受理 + if(1 == registerSaveDTO.getIsSelfAccept()){ + // 自行受理流程 + caseTaskService.webStartFlowZXSL(caseInfo, loginUser); + }else { + // 自动调度流程 + caseTaskService.webStartFlowLFDJ(caseInfo); + } }else if(1 == registerSaveDTO.getOperateType()){ this.updateById(caseInfo); } @@ -551,8 +555,7 @@ caseInfo.setProcessName("来访登记"); //todo case_ref生成、case_title生成 - caseInfoUnfold.setId(utilsClient.getNewTimeId()); - caseInfoUnfold.setCaseId(caseInfo.getId()); + caseInfoUnfold.setId(caseInfo.getId()); caseInfoUnfold.setCreateTime(nowDate); caseInfoUnfold.setUpdateTime(nowDate); @@ -563,9 +566,10 @@ caseInfo.setPagents(pagents.toString()); caseInfo.setDefendants(defendants.toString()); caseInfo.setDagents(dagents.toString()); - //todo 流程接口修改status、status_name、process、process_name - this.saveOrUpdate(caseInfo); + + // 启动工作流-自动调度流程 + caseTaskService.webStartFlowLFDJ(caseInfo); return registerSaveDTO.getId(); }catch (Exception e){ log.error("service方法[CaseInfoService.caseRegisterWechat]调用异常:"+e, e); @@ -585,25 +589,17 @@ private int saveCasePersonWechat(RegisterSaveDTO registerSaveDTO, StringBuffer plaintiffs, StringBuffer pagents, StringBuffer defendants, StringBuffer dagents,PaUserDTO loginUser){ int peopleNum = 0; - List<String> newPersonIdList = new ArrayList<>(); - List<String> newAgentIdList = new ArrayList<>(); // 保存申请人 List<CasePerson> personList = registerSaveDTO.getPersonList(); if (CollectionUtils.isNotEmpty(personList)) { for (CasePerson casePerson : personList) { - if(ObjectUtils.isEmpty(casePerson.getId())){ - casePerson.setId(utilsClient.getNewTimeCaseId()); - } - newPersonIdList.add(casePerson.getId()); + casePerson.setId(utilsClient.getNewTimeCaseId()); casePerson.setCaseId(registerSaveDTO.getId()); -// casePerson.setPerType(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex()); -// casePerson.setPerTypeName(CaseBaseConstsEnum.PERSON_TYPE_1.getDes()); casePerson.setPartyUserId(loginUser.getId()); casePerson.setCustId(registerSaveDTO.getCustId()); casePerson.setCreateTime(registerSaveDTO.getUpdateTime()); casePerson.setUpdateTime(registerSaveDTO.getUpdateTime()); //todo 绑定当事人小程序 - personService.saveOrUpdate(casePerson); //添加申请方和被申请方人名组合 @@ -627,18 +623,13 @@ List<CaseAgent> agentList = registerSaveDTO.getAgentList(); if (CollectionUtils.isNotEmpty(agentList)) { for(CaseAgent caseAgent: agentList){ - newAgentIdList.add(caseAgent.getId()); - if(ObjectUtils.isEmpty(caseAgent.getId())){ - caseAgent.setId(utilsClient.getNewTimeCaseId()); - } + caseAgent.setId(utilsClient.getNewTimeCaseId()); caseAgent.setPartyUserId(loginUser.getId()); caseAgent.setCaseId(registerSaveDTO.getId()); caseAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(caseAgent.getAgentType())); - caseAgent.setCustId(registerSaveDTO.getCustId()); caseAgent.setCreateTime(registerSaveDTO.getUpdateTime()); caseAgent.setUpdateTime(registerSaveDTO.getUpdateTime()); - agentService.saveOrUpdate(caseAgent); if (StringUtils.isNotEmpty(pagents.toString())) { @@ -648,33 +639,6 @@ } //todo 绑定当事人小程序 } - } - - // 删除冗余的申请人 - if (CollectionUtils.isNotEmpty(newPersonIdList)) { - List<String> oldPersonIdList = personService.listIdByCaseId(registerSaveDTO.getId()); - for (String oldPersonId : oldPersonIdList) { - if (!newPersonIdList.contains(oldPersonId)) { - personService.removeById(oldPersonId); - } - } - }else{ - QueryWrapper<CasePerson> casePersonQueryWrapper = new QueryWrapper<>(); - casePersonQueryWrapper.eq("case_id", registerSaveDTO.getId()); - personService.remove(casePersonQueryWrapper); - } - //删除冗余的代理人 - if(CollectionUtils.isNotEmpty(newAgentIdList)){ - List<String> oldAgentIdList = agentService.listIdByCaseId(registerSaveDTO.getId()); - for(String oldAgentId: oldAgentIdList){ - if(!newAgentIdList.contains(oldAgentId)){ - agentService.removeById(oldAgentId); - } - } - }else{ - QueryWrapper<CaseAgent> caseAgentQueryWrapper = new QueryWrapper<>(); - caseAgentQueryWrapper.eq("case_id", registerSaveDTO.getId()); - agentService.remove(caseAgentQueryWrapper); } return peopleNum; @@ -724,26 +688,15 @@ return new PageImpl<CaseInfoWeChatDTO>(list, page, 0); } List<String> ids = casePersonList.stream().map(CasePerson::getCaseId).collect(Collectors.toList()); - terms.put("idList",ids); + terms.put("ids",ids); long total = mapper.countTerms(terms); List<CaseInfo> content = mapper.pageTerms(page, terms); if(ObjectUtils.isNotEmpty(content)){ for(CaseInfo caseInfo: content){ CaseInfoWeChatDTO caseInfoWeChatDTO = new CaseInfoWeChatDTO(); BeanUtils.copyProperties(caseInfo, caseInfoWeChatDTO); - if(ObjectUtils.isNotEmpty(caseInfo) && caseInfo.getProcess().equals(1) || caseInfo.getProcess().equals(2)){ - caseInfoWeChatDTO.setProcessStatus(1); - caseInfoWeChatDTO.setProcessStatusName("待受理"); - }else if(ObjectUtils.isNotEmpty(caseInfo) && caseInfo.getProcess().equals(3) || caseInfo.getProcess().equals(4)){ - caseInfoWeChatDTO.setProcessStatus(2); - caseInfoWeChatDTO.setProcessStatusName("办理中"); - }else if(ObjectUtils.isNotEmpty(caseInfo) && caseInfo.getProcess().equals(5) || caseInfo.getProcess().equals(6)){ - caseInfoWeChatDTO.setProcessStatus(3); - caseInfoWeChatDTO.setProcessStatusName("已结案"); - }else{ - caseInfoWeChatDTO.setProcessStatus(4); - caseInfoWeChatDTO.setProcessStatusName("不予受理"); - } + caseInfoWeChatDTO.setProcessStatus(caseInfo.getInfoProcess()); + caseInfoWeChatDTO.setProcessStatusName(caseInfo.getInfoProcessName()); QueryWrapper<CasePerson> personWrapper1 = new QueryWrapper<>(); personWrapper1.eq("case_id", caseInfo.getId()); List<CasePerson> casePersonList1 = personService.list(personWrapper1); -- Gitblit v1.8.0