111
k94314517
2024-02-05 15e588eb6a7549ecd2aaffb45e67f11e68354eb6
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -485,8 +485,9 @@
        }
        //删除其他待办
        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
        Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),model.getSolutionsName(),
        Notices notices = new Notices(noticeObjectType,Constants.ZERO,model.getId(),model.getSolutionsName(),
                model.getCompanyId(), Constants.NoticeType.TWO);
        notices.setParam1(model.getApplyId().toString());
        noticesMapper.insert(notices);
        Multifile f = new Multifile();
@@ -566,6 +567,7 @@
                .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
                .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail)
                .selectAs(Company::getName,InsuranceApply::getCompanyName)
                .selectAs(InsuranceApply::getCompanyId,ApplyChange::getCompanyId)
                .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
                .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
@@ -624,6 +626,7 @@
                            .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
                            .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail)
                            .selectAs(Company::getName,InsuranceApply::getCompanyName)
                            .selectAs(InsuranceApply::getCompanyId,ApplyChange::getCompanyId)
                            .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
                            .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                            .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
@@ -781,6 +784,9 @@
        Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
        if(Objects.isNull(solutions)){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"未查询到方案信息");
        }
        if(!(solutions.getIsdeleted().equals(Constants.ZERO)||solutions.getStatus().equals(Constants.ZERO))){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"方案信息已被禁用");
        }
        List<ApplyDetail> applyDetailList = insuranceApply.getApplyDetailList();
        //判断是否存在重复信息
@@ -984,6 +990,8 @@
                        member.setSex(Constants.getSexByIdCard(applyDetail.getIdcardNo()));
                        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);
@@ -991,6 +999,8 @@
                        member.setApplyId(insuranceApply.getId());
                        member.setDuId(applyDetail.getDuId());
                        member.setWorktypeId(applyDetail.getWorktypeId());
                        member.setStartTime(applyDetail.getStartTime());
                        member.setEndTime(applyDetail.getEndTime());
                        memberMapper.updateById(member);
                    }
                }else{
@@ -1001,8 +1011,18 @@
                    member.setApplyId(insuranceApply.getId());
                    member.setDuId(applyDetail.getDuId());
                    member.setWorktypeId(applyDetail.getWorktypeId());
                    member.setStartTime(applyDetail.getStartTime());
                    member.setEndTime(applyDetail.getEndTime());
                    memberMapper.updateById(member);
                }
                //根据员工身份证进行判断年龄
                long age = Constants.getAgeByIdCard(member.getIdcardNo());
                if(Objects.isNull(age)
                    || age > solutions.getMaxAge()
                    || age < solutions.getMinAge()){
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【"+applyDetail.getMemberName()+"】员工年龄超出方案配置,方案配置【"+solutions.getMinAge()+" - "+solutions.getMaxAge()+"】!");
                }
                applyDetail.setMemberId(member.getId());
                applyDetail.setIdcardNo(member.getIdcardNo());
                applyDetail.setSex(member.getSex());