From 6b0f7aff57bc66733d8488741a71a1ad38fe8d2b Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 23 五月 2024 11:45:47 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java |   73 +++++++++++++++++++++++-------------
 1 files changed, 47 insertions(+), 26 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..acc71d5 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
@@ -94,6 +94,8 @@
     @Autowired
     private MemberMapper memberMapper;
     @Autowired
+    private MemberJoinMapper memberJoinMapper;
+    @Autowired
     private DuSolutionMapper duSolutionMapper;
     @Autowired
     private DuSolutionJoinMapper duSolutionJoinMapper;
@@ -1776,6 +1778,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 = new Member();
+                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)
@@ -1795,33 +1835,14 @@
                 applyDetail.setApplyId(insuranceApply.getId());
                 Member member = new Member();
                 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