From e3615abf0e9b87f574ddce53f94529d40762cecc Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 07 六月 2024 17:34:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/1.0.1' into 1.0.1 --- server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 81 +++++++++++++++++++++++++++------------- 1 files changed, 54 insertions(+), 27 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java index 07136ac..d0cfb09 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java @@ -2,6 +2,7 @@ import cn.hutool.core.util.IdcardUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.api.R; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.constants.ResponseStatus; @@ -93,6 +94,8 @@ @Autowired private MemberMapper memberMapper; + @Autowired + private MemberJoinMapper memberJoinMapper; @Autowired private DuSolutionMapper duSolutionMapper; @Autowired @@ -1299,6 +1302,7 @@ return; } uploadChangeSignedFileDo(applyChange,fileUrl,path+fileUrl); + return; } //濮旀墭淇� 鍔犲噺淇濅紒涓氱缃� @@ -1323,6 +1327,7 @@ return; } uploadChangeMemberListSignedFileDo(applyChangeMemberList,fileUrl,path+fileUrl); + return; } @@ -1337,6 +1342,7 @@ return; } uploadUnionApplySignedFileDo(unionApply,fileUrl,path+fileUrl); + return; } @@ -1356,6 +1362,7 @@ return; } uploadUnionChangeSignedFileDo(unionChange,fileUrl,path+fileUrl); + return; } @@ -1776,6 +1783,44 @@ } if(CollectionUtils.isNotEmpty(applyDetailList)){ + List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() + .eq(Member::getCompanyId,insuranceApply.getCompanyId()) + .eq(Member::getIsdeleted,Constants.ZERO)); + + List<Member> addMemberList = new ArrayList<>(); + for (int i = 0; i < applyDetailList.size(); i++) { + ApplyDetail applyDetail = applyDetailList.get(i); + Member member = null; + if(CollectionUtils.isNotEmpty(memberList)){ + Optional<Member> optional = memberList.stream().filter(m->m.getIdcardNo().equals(applyDetail.getIdcardNo())).findFirst(); + if(optional.isPresent()){ + member = optional.get(); + } + } + if(Objects.isNull(member)){ + member = new Member(); + member.setCreateDate(new Date()); + member.setCreator(loginUserInfo.getId()); + member.setIsdeleted(Constants.ZERO); + member.setName(applyDetail.getMemberName()); + member.setCompanyId(insuranceApply.getCompanyId()); + member.setSex(Constants.getSexByIdCard(applyDetail.getIdcardNo())); + if(!IdcardUtil.isValidCard(applyDetail.getIdcardNo())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎶曚繚鍛樺伐淇℃伅韬唤璇佷俊鎭敊璇痆"+member.getName()+"]"); + } + member.setIdcardNo(applyDetail.getIdcardNo()); + member.setApplyId(insuranceApply.getId()); + member.setStartTime(applyDetail.getStartTime()); + member.setEndTime(applyDetail.getEndTime()); + member.setDuId(applyDetail.getDuId()); + member.setWorktypeId(applyDetail.getWorktypeId()); + addMemberList.add(member); + } + } + if(CollectionUtils.isNotEmpty(addMemberList)){ + memberJoinMapper.insertBatchSomeColumn(addMemberList); + } + memberList.addAll(addMemberList); for (int i = 0; i < applyDetailList.size(); i++) { ApplyDetail applyDetail = applyDetailList.get(i); if(Objects.isNull(applyDetail) @@ -1793,35 +1838,16 @@ applyDetail.setEndTime(insuranceApply.getApplyEndTime()); applyDetail.setSortnum(i); applyDetail.setApplyId(insuranceApply.getId()); - Member member = new Member(); + Member member = null; if(Objects.isNull(applyDetail.getMemberId())){ - //鏌ヨ鏄惁瀛樺湪璇ョ敤鎴� - member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() - .eq(Member::getCompanyId,insuranceApply.getCompanyId()) - .eq(Member::getIsdeleted,Constants.ZERO) - .eq(Member::getIdcardNo,applyDetail.getIdcardNo()) - .last(" limit 1") - ); - if(Objects.isNull(member)){ - member = new Member(); - member.setCreateDate(new Date()); - member.setCreator(loginUserInfo.getId()); - member.setIsdeleted(Constants.ZERO); - member.setName(applyDetail.getMemberName()); - member.setCompanyId(insuranceApply.getCompanyId()); - member.setSex(Constants.getSexByIdCard(applyDetail.getIdcardNo())); - if(!IdcardUtil.isValidCard(applyDetail.getIdcardNo())){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎶曚繚鍛樺伐淇℃伅韬唤璇佷俊鎭敊璇痆"+member.getName()+"]"); + if(CollectionUtils.isNotEmpty(memberList)){ + Optional<Member> optional = memberList.stream().filter(m->m.getIdcardNo().equals(applyDetail.getIdcardNo())).findFirst(); + if(optional.isPresent()){ + member = optional.get(); } - member.setIdcardNo(applyDetail.getIdcardNo()); - member.setApplyId(insuranceApply.getId()); - member.setStartTime(applyDetail.getStartTime()); - member.setEndTime(applyDetail.getEndTime()); - member.setDuId(applyDetail.getDuId()); - member.setWorktypeId(applyDetail.getWorktypeId()); - - memberMapper.insert(member); - }else{ + } + //鏌ヨ鏄惁瀛樺湪璇ョ敤鎴� + if(!Objects.isNull(member)){ member.setApplyId(insuranceApply.getId()); member.setDuId(applyDetail.getDuId()); member.setWorktypeId(applyDetail.getWorktypeId()); @@ -2715,6 +2741,7 @@ .leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId) .isNull(ApplyDetail::getFromId) .eq(ApplyDetail::getApplyId,model.getId()) + .orderByAsc(ApplyDetail::getId) ); model.setApplyDetailList(applyDetailList); return model; -- Gitblit v1.9.3