From 8a266df75e912cc4ff49bc504db5b6b26f152892 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 07 六月 2024 17:34:31 +0800
Subject: [PATCH] 提交一把
---
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 76 ++++++++++++++++++++++++-------------
1 files changed, 49 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..faf61b2 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
@@ -1776,6 +1779,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 +1834,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());
--
Gitblit v1.9.3