jiangping
2024-06-07 e3615abf0e9b87f574ddce53f94529d40762cecc
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;