| | |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .in(Member::getIdcardNo,addDetailList.stream().map(i->i.getIdcardNo()).collect(Collectors.toList())) |
| | | ); |
| | | ApplyDetail applyDetail = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda() |
| | | .eq(ApplyDetail::getApplyId,applyChange.getApplyId()) |
| | | .isNotNull(ApplyDetail::getPrice) |
| | | .last("limit 1 ") |
| | | ); |
| | | if(Objects.isNull(applyDetail)){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "保单下无明细数据"); |
| | | } |
| | | List<Member> updMemberList = new ArrayList<>(); |
| | | //查询本次加保所有人员的历史保单记录 |
| | | List<ApplyDetail> applyDetailAllList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class, |
| | | new MPJLambdaWrapper<ApplyDetail>() |
| | |
| | | .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId) |
| | | .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) |
| | | .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) |
| | | .in(ApplyDetail::getMemberId,memberList.stream().map(i->i.getId()).collect(Collectors.toList())) |
| | | .in(CollectionUtils.isNotEmpty(memberList),ApplyDetail::getMemberId,memberList.stream().map(i->i.getId()).collect(Collectors.toList())) |
| | | .apply(CollectionUtils.isEmpty(memberList),"1 = 2 ") |
| | | .eq(ApplyDetail::getIsdeleted,Constants.ZERO)); |
| | | |
| | | List<ApplyChagneDetail> applyChangeDetailAllList = applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class, |
| | |
| | | .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId) |
| | | .leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId) |
| | | .eq(ApplyChange::getApplyId,applyChange.getApplyId()) |
| | | .in(Member::getIdcardNo,memberList.stream().map(i->i.getId()).collect(Collectors.toList())) |
| | | .in(CollectionUtils.isNotEmpty(memberList),Member::getIdcardNo,memberList.stream().map(i->i.getIdcardNo()).collect(Collectors.toList())) |
| | | .apply(CollectionUtils.isEmpty(memberList),"1 = 2 ") |
| | | .in(ApplyChange::getStatus, Constants.ZERO, Constants.ONE)); |
| | | |
| | | List<ApplyChagneDetail> applyChagneDetailList = new ArrayList<>(); |
| | | for (int i = 0; i < addDetailList.size(); i++) { |
| | | ApplyChagneDetail applyChagneDetail = addDetailList.get(i); |
| | | if ( |
| | |
| | | member.setWorktypeId(applyChagneDetail.getWorktypeId()); |
| | | member.setStartTime(applyChagneDetail.getStartTime()); |
| | | member.setEndTime(applyChagneDetail.getEndTime()); |
| | | memberMapper.updateById(member); |
| | | // memberMapper.updateById(member); |
| | | updMemberList.add(member); |
| | | applyChagneDetail.setMemberId(member.getId()); |
| | | |
| | | if(applyChangeDetailAllList.stream().filter( |
| | | if(CollectionUtils.isNotEmpty(applyChangeDetailAllList)&&applyChangeDetailAllList.stream().filter( |
| | | j->Constants.equalsInteger(j.getMemberId(),applyChagneDetail.getMemberId()) |
| | | ).collect(Collectors.toList()).size()>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】存在申请中的加减保/换厂单据"); |
| | |
| | | List<ApplyDetail> memberApplyDetailList = new ArrayList<>(); |
| | | if(CollectionUtils.isNotEmpty(applyDetailAllList)){ |
| | | memberApplyDetailList = applyDetailAllList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())).collect(Collectors.toList()); |
| | | } |
| | | if(CollectionUtils.isEmpty(memberApplyDetailList)){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "保单中未存在明细记录"); |
| | | } |
| | | |
| | | if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())&&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) |
| | | && j.getStartTime().getTime() <= DateUtil.getMontageDate(applyChange.getApplyStartTime(),1).getTime() |
| | | && j.getEndTime().getTime() >= DateUtil.getMontageDate(insuranceApply.getEndTime(),2).getTime() |
| | | ).collect(Collectors.toList()).size()>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "当前保单下,加保人员【" + applyChagneDetail.getMemberName() + "】存在日期冲突的数据"); |
| | | }; |
| | | if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())&&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) |
| | | && j.getStartTime().getTime() <= DateUtil.getMontageDate(applyChange.getApplyStartTime(),1).getTime() |
| | | && j.getEndTime().getTime() >= DateUtil.getMontageDate(insuranceApply.getEndTime(),2).getTime() |
| | | ).collect(Collectors.toList()).size()>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "当前保单下,加保人员【" + applyChagneDetail.getMemberName() + "】存在日期冲突的数据"); |
| | | }; |
| | | |
| | | if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo()) |
| | | &&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) |
| | | && j.getStartTime().getTime() <= System.currentTimeMillis() |
| | | && j.getEndTime().getTime() >= System.currentTimeMillis() |
| | | ).collect(Collectors.toList()).size()>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】存在保障中的保单信息,无法进行加保"); |
| | | }; |
| | | |
| | | if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo()) |
| | | &&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) |
| | | && j.getStartTime().getTime() <= System.currentTimeMillis() |
| | | && j.getEndTime().getTime() >= System.currentTimeMillis() |
| | | ).collect(Collectors.toList()).size()>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】存在保障中的保单信息,无法进行加保"); |
| | | }; |
| | | } |
| | | |
| | | |
| | | List<ApplyDetail> optApplyDetailList = applyDetailAllList.stream() |
| | | .filter(j->Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) |
| | | ).collect(Collectors.toList()); |
| | | |
| | | if(CollectionUtils.isEmpty(optApplyDetailList)){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "保单中未存在明细记录"); |
| | | } |
| | | |
| | | ApplyDetail applyDetail = optApplyDetailList.get(Constants.ZERO); |
| | | applyChagneDetail.setPrice(applyDetail.getPrice()); |
| | | applyChagneDetail.setCreateDate(new Date()); |
| | | applyChagneDetail.setCreator(loginUserInfo.getId()); |
| | |
| | | } |
| | | }; |
| | | |
| | | //查询员工是在主单下 是否存在生效中的数据 |
| | | if(!Objects.isNull(applyChagneDetail.getMemberId())){ |
| | | if (applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda() |
| | | .eq(ApplyDetail::getApplyId, applyChange.getApplyId()) |
| | | .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId()) |
| | | .le(ApplyDetail::getStartTime, "now()") |
| | | .ge(ApplyDetail::getEndTime, "now()") |
| | | ) > Constants.ZERO) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】存在保障中的保单信息,无法进行加保"); |
| | | } |
| | | } |
| | | |
| | | //验证派遣单位信息 与工种信息 是否存在 |
| | | if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){ |
| | | if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) { |
| | |
| | | }else{ |
| | | applyChagneDetail.setFee(detailFee); |
| | | } |
| | | applyChagneDetailJoinMapper.insert(applyChagneDetail); |
| | | applyChagneDetail.setId(null); |
| | | applyChagneDetailList.add(applyChagneDetail); |
| | | } |
| | | if(CollectionUtils.isNotEmpty(applyChagneDetailList)){ |
| | | applyChagneDetailJoinMapper.insert(applyChagneDetailList); |
| | | } |
| | | if(CollectionUtils.isNotEmpty(updMemberList)){ |
| | | Thread t1=new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | try { |
| | | memberMapper.insertOrUpdate(updMemberList); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | }); |
| | | t1.start(); |
| | | } |
| | | } |
| | | |
| | |
| | | applyChagneDetail.setType(Constants.TWO); |
| | | applyChagneDetail.setStartTime(applyDetail.getStartTime()); |
| | | applyChagneDetail.setEndTime(applyDetail.getEndTime()); |
| | | |
| | | applyChagneDetail.setId(null); |
| | | applyChagneDetailJoinMapper.insert(applyChagneDetail); |
| | | |
| | | member.setApplyId(applyChange.getApplyId()); |