From abb0d631ffed8b67b0a78205ba127b46a4cb546b Mon Sep 17 00:00:00 2001 From: liyj <1003249715@qq.com> Date: Tue, 10 Sep 2024 16:29:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java | 259 +++++++++++++++++++++++++++++---------------------- 1 files changed, 149 insertions(+), 110 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java index d439526..baebe8c 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java @@ -3,22 +3,27 @@ import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.IdUtils; +import cn.huge.base.common.utils.ObjectUtils; +import cn.huge.module.cases.domain.dto.CaseInfoDTO; import cn.huge.module.cases.domain.dto.RegisterSaveDTO; import cn.huge.module.cases.domain.po.CaseAgent; import cn.huge.module.cases.domain.po.CaseInfo; import cn.huge.module.cases.domain.po.CaseInfoUnfold; -import cn.huge.module.cases.domain.po.CasePerson; import cn.huge.module.client.api.impl.CustClientImpl; +import cn.huge.module.client.api.impl.SysClientImpl; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.constant.BaseConsts; -import cn.huge.module.constant.CaseBaseConsts; -import cn.huge.module.constant.CaseBaseConstsEnum; +import cn.huge.module.mediate.constant.CaseBaseConsts; +import cn.huge.module.mediate.constant.CaseBaseConstsEnum; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.draft.dao.mapper.CasedraftInfoMapper; +import cn.huge.module.draft.domain.dto.CasedraftInfoDTO; import cn.huge.module.draft.domain.dto.DraftRegisterSaveDTO; import cn.huge.module.draft.domain.po.CasedraftAgent; import cn.huge.module.draft.domain.po.CasedraftInfo; import cn.huge.module.draft.domain.po.CasedraftPerson; +import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO; +import cn.huge.module.sys.dto.FileTypeTermsDTO; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.CollectionUtils; @@ -27,17 +32,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.PostConstruct; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * @title: 纠纷信息草稿表业务逻辑处理 @@ -66,6 +67,9 @@ @Autowired private CustClientImpl custClient; + + @Autowired + private SysClientImpl sysClient; /** * 更新对象 @@ -173,28 +177,18 @@ StringBuffer defendants = new StringBuffer(); StringBuffer pagents = new StringBuffer(); StringBuffer dagents = new StringBuffer(); - int peopleNum = 0; CasedraftInfo casedraftInfo = new CasedraftInfo(); - CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold(); BeanUtils.copyProperties(draftRegisterSaveDTO, casedraftInfo); - casedraftInfo.setId(utilsClient.getNewTimeId()); - casedraftInfo.setInputUnitId(loginUser.getUnitId()); - casedraftInfo.setInputUnitName(loginUser.getUnitName()); - casedraftInfo.setInputUserId(loginUser.getId()); - casedraftInfo.setInputUserName(loginUser.getTrueName()); - casedraftInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1); - casedraftInfo.setCreateTime(nowDate); + casedraftInfo.setCustId(loginUser.getCustId()); casedraftInfo.setUpdateTime(nowDate); - //todo case_title - // 常规登记-保存当事人 - peopleNum += this.saveCaseDraftPerson(draftRegisterSaveDTO, plaintiffs, pagents, defendants, dagents); - casedraftInfo.setPeopleNum(peopleNum); + this.saveCaseDraftPerson(draftRegisterSaveDTO, plaintiffs, pagents, defendants, dagents); casedraftInfo.setPlaintiffs(plaintiffs.toString()); casedraftInfo.setPagents(pagents.toString()); casedraftInfo.setDefendants(defendants.toString()); casedraftInfo.setDagents(dagents.toString()); + this.saveOrUpdate(casedraftInfo); @@ -214,123 +208,109 @@ * @param dagents 被申请人代理人 * @return int */ - private int saveCaseDraftPerson(DraftRegisterSaveDTO draftRegisterSaveDTO, StringBuffer plaintiffs, StringBuffer pagents, - StringBuffer defendants, StringBuffer dagents){ - int peopleNum = 0; - List<String> newDraftPersonIdList = new ArrayList<>(); - List<String> newDraftAgentIdList = new ArrayList<>(); - // 保存申请人 - List<CasedraftPerson> plaintPersonList = draftRegisterSaveDTO.getPlaintiffList(); - if (CollectionUtils.isNotEmpty(plaintPersonList)) { - for (CasedraftPerson casedraftPerson : plaintPersonList) { - newDraftPersonIdList.add(casedraftPerson.getId()); + private void saveCaseDraftPerson(DraftRegisterSaveDTO draftRegisterSaveDTO, StringBuffer plaintiffs, StringBuffer pagents, + StringBuffer defendants, StringBuffer dagents){ + + Date now = DateUtils.getNowDate(); + + List<CasedraftPerson> casedraftPersonList = draftRegisterSaveDTO.getPersonList(); + List<CasedraftAgent> casedraftAgentList = draftRegisterSaveDTO.getAgentList(); + + //查出已存在的当事人和代理人编号 + List<String> oldPersonIdList = draftPersonService.listIdByCaseId(draftRegisterSaveDTO.getId()); + List<String> oldAgentIdList = draftAgentService.listIdByCaseId(draftRegisterSaveDTO.getId()); + String oldPersonIds = oldPersonIdList.stream().map(String::valueOf).collect(Collectors.joining(",")); + String oldAgentIds = oldAgentIdList.stream().map(String::valueOf).collect(Collectors.joining(",")); + List<String> newPersonIdList = new ArrayList<>(); + List<String> newAgentIdList = new ArrayList<>(); + + if(CollectionUtils.isNotEmpty(casedraftPersonList)){ + for(CasedraftPerson casedraftPerson: casedraftPersonList){ + newPersonIdList.add(casedraftPerson.getId()); casedraftPerson.setCaseId(draftRegisterSaveDTO.getId()); - casedraftPerson.setPerType(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex()); - casedraftPerson.setPerTypeName(CaseBaseConstsEnum.PERSON_TYPE_1.getDes()); casedraftPerson.setCustId(draftRegisterSaveDTO.getCustId()); - casedraftPerson.setCreateTime(draftRegisterSaveDTO.getUpdateTime()); - casedraftPerson.setUpdateTime(draftRegisterSaveDTO.getUpdateTime()); + casedraftPerson.setUpdateTime(now); - draftPersonService.saveOrUpdate(casedraftPerson); - - if (StringUtils.isNotEmpty(plaintiffs.toString())) { - plaintiffs.append(BaseConsts.COMMA); + //添加申请方和被申请方人名组合 + if(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casedraftPerson.getPerType())){ + //申请方 + if (StringUtils.isNotEmpty(plaintiffs.toString())) { + plaintiffs.append(BaseConsts.COMMA); + } + plaintiffs.append(casedraftPerson.getTrueName()); + }else if(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casedraftPerson.getPerType())){ + //被申请方 + if (StringUtils.isNotEmpty(defendants.toString())) { + defendants.append(BaseConsts.COMMA); + } + defendants.append(casedraftPerson.getTrueName()); } - plaintiffs.append(casedraftPerson.getTrueName()); - peopleNum++; + + //判断是否为更新(用原有的Id对比性的Id) + if(oldPersonIds.contains(casedraftPerson.getId())){ + draftPersonService.updateById(casedraftPerson); + }else{ + casedraftPerson.setCreateTime(now); + draftPersonService.save(casedraftPerson); + } } - //保存代理人 - List<CasedraftAgent> pagentList = draftRegisterSaveDTO.getPagentList(); - if (CollectionUtils.isNotEmpty(pagentList)) { - for(CasedraftAgent casedraftAgent: pagentList){ - newDraftAgentIdList.add(casedraftAgent.getId()); - casedraftAgent.setId(utilsClient.getNewTimeId()); - casedraftAgent.setCaseId(draftRegisterSaveDTO.getId()); - casedraftAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(casedraftAgent.getAgentType())); - casedraftAgent.setCustId(draftRegisterSaveDTO.getCustId()); - casedraftAgent.setCreateTime(draftRegisterSaveDTO.getUpdateTime()); - casedraftAgent.setUpdateTime(draftRegisterSaveDTO.getUpdateTime()); + } - draftAgentService.saveOrUpdate(casedraftAgent); + if(CollectionUtils.isNotEmpty(casedraftAgentList)) { + for (CasedraftAgent casedraftAgent : casedraftAgentList) { + newAgentIdList.add(casedraftAgent.getId()); + casedraftAgent.setCaseId(draftRegisterSaveDTO.getId()); + casedraftAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(casedraftAgent.getAgentType())); + casedraftAgent.setCustId(draftRegisterSaveDTO.getCustId()); + casedraftAgent.setUpdateTime(now); + if(CaseBaseConstsEnum.PERSON_TYPE_3.getIndex().equals(casedraftAgent.getPerType())) { if (StringUtils.isNotEmpty(pagents.toString())) { pagents.append(BaseConsts.COMMA); } pagents.append(casedraftAgent.getTrueName()); - } - - //todo 绑定当事人小程序 - } - } - // 保存被申请人 - List<CasedraftPerson> defendPersonList = draftRegisterSaveDTO.getDefendantList(); - if(CollectionUtils.isNotEmpty(defendPersonList)){ - for (CasedraftPerson casedraftPerson : defendPersonList) { - newDraftPersonIdList.add(casedraftPerson.getId()); - casedraftPerson.setCaseId(draftRegisterSaveDTO.getId()); - casedraftPerson.setPerType(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex()); - casedraftPerson.setPerTypeName(CaseBaseConstsEnum.PERSON_TYPE_2.getDes()); - casedraftPerson.setCustId(draftRegisterSaveDTO.getCustId()); - casedraftPerson.setCreateTime(draftRegisterSaveDTO.getUpdateTime()); - casedraftPerson.setUpdateTime(draftRegisterSaveDTO.getUpdateTime()); - //todo 绑定当事人小程序 - draftPersonService.saveOrUpdate(casedraftPerson); - if (StringUtils.isNotEmpty(defendants.toString())) { - defendants.append(BaseConsts.COMMA); - } - defendants.append(casedraftPerson.getTrueName()); - peopleNum++; - } - //保存代理人 - List<CasedraftAgent> pagentList = draftRegisterSaveDTO.getPagentList(); - if (CollectionUtils.isNotEmpty(pagentList)) { - for(CasedraftAgent casedraftAgent: pagentList){ - newDraftAgentIdList.add(casedraftAgent.getId()); - casedraftAgent.setId(utilsClient.getNewTimeId()); - casedraftAgent.setCaseId(draftRegisterSaveDTO.getId()); - casedraftAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(casedraftAgent.getAgentType())); - casedraftAgent.setCustId(draftRegisterSaveDTO.getCustId()); - casedraftAgent.setCreateTime(draftRegisterSaveDTO.getUpdateTime()); - casedraftAgent.setUpdateTime(draftRegisterSaveDTO.getUpdateTime()); - draftAgentService.saveOrUpdate(casedraftAgent); + }else if(CaseBaseConstsEnum.PERSON_TYPE_4.getIndex().equals(casedraftAgent.getPerType())) { if (StringUtils.isNotEmpty(dagents.toString())) { dagents.append(BaseConsts.COMMA); } dagents.append(casedraftAgent.getTrueName()); } - } + //判断是否为更新(用原有的Id对比性的Id) + if(oldAgentIds.contains(casedraftAgent.getId())){ + draftAgentService.updateById(casedraftAgent); + }else{ + casedraftAgent.setCreateTime(now); + draftAgentService.save(casedraftAgent); + } + } } - // 删除冗余的申请人 - if (CollectionUtils.isNotEmpty(newDraftPersonIdList)) { - List<String> oldPersonIdList = draftPersonService.listIdByCaseId(draftRegisterSaveDTO.getId()); + // 删除冗余的申请人(用新的Id对比旧的Id) + if (CollectionUtils.isNotEmpty(newPersonIdList)) { for (String oldPersonId : oldPersonIdList) { - if (!newDraftPersonIdList.contains(oldPersonId)) { + if (!newPersonIdList.contains(oldPersonId)) { draftPersonService.removeById(oldPersonId); } } }else{ - QueryWrapper<CasedraftPerson> casedraftPersonQueryWrapper = new QueryWrapper<>(); - casedraftPersonQueryWrapper.eq("case_id", draftRegisterSaveDTO.getId()); - draftPersonService.remove(casedraftPersonQueryWrapper); + QueryWrapper<CasedraftPerson> casePersonQueryWrapper = new QueryWrapper<>(); + casePersonQueryWrapper.eq("case_id", draftRegisterSaveDTO.getId()); + draftPersonService.remove(casePersonQueryWrapper); } //删除冗余的代理人 - if(CollectionUtils.isNotEmpty(newDraftAgentIdList)){ - List<String> oldAgentIdList = draftAgentService.listIdByCaseId(draftRegisterSaveDTO.getId()); + if(CollectionUtils.isNotEmpty(newAgentIdList)){ for(String oldAgentId: oldAgentIdList){ - if(!newDraftAgentIdList.contains(oldAgentId)){ + if(!newAgentIdList.contains(oldAgentId)){ draftAgentService.removeById(oldAgentId); } } }else{ - QueryWrapper<CasedraftAgent> casedraftAgentQueryWrapper = new QueryWrapper<>(); - casedraftAgentQueryWrapper.eq("case_id", draftRegisterSaveDTO.getId()); - draftAgentService.remove(casedraftAgentQueryWrapper); + QueryWrapper<CasedraftAgent> caseAgentQueryWrapper = new QueryWrapper<>(); + caseAgentQueryWrapper.eq("case_id", draftRegisterSaveDTO.getId()); + draftAgentService.remove(caseAgentQueryWrapper); } - - return peopleNum; } /** @@ -342,7 +322,7 @@ try{ // 删除纠纷草稿信息 QueryWrapper<CasedraftInfo> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("serie_no", caseId); + queryWrapper.eq("id", caseId); List<CasedraftInfo> draftInfoList = mapper.selectList(queryWrapper); List<String> ownerIdList = new ArrayList<>(); for (CasedraftInfo casedraftInfo : draftInfoList) { @@ -356,13 +336,72 @@ QueryWrapper<CasedraftAgent> casedraftAgentQueryWrapper = new QueryWrapper<>(); casedraftAgentQueryWrapper.eq("case_id", casedraftInfo.getId()); //todo 删除附件关系 -// FileTypeTermsDTO fileTypeTermsDTO = new FileTypeTermsDTO(); -// fileTypeTermsDTO.setOwnerIdList(ownerIdList); -// sysClient.removeFileRelate(fileTypeTermsDTO); + FileTypeTermsDTO fileTypeTermsDTO = new FileTypeTermsDTO(); + fileTypeTermsDTO.setOwnerIdList(ownerIdList); + sysClient.removeFileRelate(fileTypeTermsDTO); } }catch (Exception e){ log.error("service方法[CasedraftInfoService.removeDraftInfo]调用异常:"+e, e); throw new ServiceException("CasedraftInfoService.removeDraftInfo", e); } } + + /** + * PC端-查询纠纷信息 + * @param caseId 纠纷编号 + * @return CaseInfo 纠纷信息 + */ + public CasedraftInfoDTO getCasedraftInfo(String caseId){ + CasedraftInfo casedraftInfo = mapper.selectById(caseId); + CasedraftInfoDTO caseInfoDTO = new CasedraftInfoDTO(); + if (ObjectUtils.isNotEmpty(casedraftInfo)) { + + BeanUtils.copyProperties(casedraftInfo, caseInfoDTO); + //查询所有当事人 + QueryWrapper<CasedraftPerson> draftPersonQueryWrapper = new QueryWrapper<>(); + draftPersonQueryWrapper.eq("case_id", caseId); + List<CasedraftPerson> casePersonList = draftPersonService.list(draftPersonQueryWrapper); + + //查询所有代理人 + QueryWrapper<CasedraftAgent> casedraftAgentQueryWrapper = new QueryWrapper<>(); + casedraftAgentQueryWrapper.eq("case_id", caseId); + List<CasedraftAgent> caseAgentList = draftAgentService.list(casedraftAgentQueryWrapper); + List<String> idList = new ArrayList<>(); + + idList.add(caseId); + idList.addAll(casePersonList.stream().map(CasedraftPerson::getId).collect(Collectors.toList())); + idList.addAll(caseAgentList.stream().map(CasedraftAgent::getId).collect(Collectors.toList())); + String ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','")); + ids = "'"+ ids + "'"; + Map<String, Object> term = new HashMap<>(); + term.put("mainId", caseId); + term.put("ownerIds", ids); + //查询所有附件 + List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term); + //把附件根据编号放入 + for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){ + if(caseId.equals(fileInfo.getOwnerId())){ + caseInfoDTO.setFileInfoList(fileInfo.getFileList()); + } + } + for(CasedraftPerson casePerson: casePersonList){ + for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){ + if(casePerson.getId().equals(fileInfo.getOwnerId())){ + casePerson.setFileInfoList(fileInfo.getFileList()); + } + } + } + for(CasedraftAgent caseAgent: caseAgentList){ + for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){ + if(caseAgent.getId().equals(fileInfo.getOwnerId())){ + caseAgent.setFileInfoList(fileInfo.getFileList()); + } + } + } + + caseInfoDTO.setPersonList(casePersonList); + caseInfoDTO.setAgentList(caseAgentList); + } + return caseInfoDTO; + } } -- Gitblit v1.8.0