|  |  |  | 
|---|
|  |  |  | if(!Objects.isNull(memberQueryDTO.getInsuranceApplyId())&&Objects.nonNull(memberQueryDTO.getValidTime())){ | 
|---|
|  |  |  | if(CollectionUtils.isNotEmpty(memberList)){ | 
|---|
|  |  |  | Solutions solutions = solutionsMapper.selectById(memberList.get(Constants.ZERO).getSolutionId()); | 
|---|
|  |  |  | Date  reduceEndTime = DateUtil.getMontageDate( | 
|---|
|  |  |  | DateUtil.afterDateByType(new Date(),0,solutions.getDelValidDays()),3); | 
|---|
|  |  |  | //                memberList = memberList.stream().filter(member->member.getDetailStartTime().getTime()<=reduceEndTime.getTime() | 
|---|
|  |  |  | //                        &&member.getDetailEndTime().getTime()>=reduceEndTime.getTime()).collect(Collectors.toList()); | 
|---|
|  |  |  | //                Date  reduceEndTime = DateUtil.getMontageDate( | 
|---|
|  |  |  | //                        DateUtil.afterDateByType(new Date(),0,solutions.getDelValidDays()),3); | 
|---|
|  |  |  | //                Date  reduceEndTime = DateUtil.getMontageDate(new Date(),3); | 
|---|
|  |  |  | for (Member member:memberList) { | 
|---|
|  |  |  | //减保业务 使用 选择人员 根据日期实时查询 | 
|---|
|  |  |  | if(reduceEndTime.getTime()<=member.getStartTime().getTime()){ | 
|---|
|  |  |  | //如果当前日期 小于 人员保单明细记录的开始时间 则使用开始日期  开始日期 = 结束日期  且 费用全部退回 | 
|---|
|  |  |  | if(System.currentTimeMillis()<=member.getStartTime().getTime()){ | 
|---|
|  |  |  | member.setFee(solutions.getPrice().multiply(new BigDecimal(-1))); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | Date  reduceEndTime = DateUtil.getMontageDate( | 
|---|
|  |  |  | DateUtil.afterDateByType(new Date(),0,solutions.getDelValidDays()),3); | 
|---|
|  |  |  | member.setFee( | 
|---|
|  |  |  | Constants.reduceFee(solutions, | 
|---|
|  |  |  | Objects.isNull(member.getDetailServerCost())? | 
|---|
|  |  |  | 
|---|
|  |  |  | if(Objects.isNull(solutions)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到保险方案"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Date  reduceEndTime = DateUtil.getMontageDate( | 
|---|
|  |  |  | DateUtil.afterDateByType(new Date(),0,solutions.getDelValidDays()),3); | 
|---|
|  |  |  | //        Date  reduceEndTime = DateUtil.getMontageDate( | 
|---|
|  |  |  | //                DateUtil.afterDateByType(new Date(),0,solutions.getDelValidDays()),3); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //        Date  reduceEndTime = DateUtil.getMontageDate(new Date(),3); | 
|---|
|  |  |  | int index = Constants.TWO; | 
|---|
|  |  |  | Map<String,String> idCardMap = new HashMap<>(); | 
|---|
|  |  |  | for(MemberReduceImport model : dataList){ | 
|---|
|  |  |  | 
|---|
|  |  |  | model.setWorktypeId(detail.getWorktypeId()); | 
|---|
|  |  |  | model.setMemberId(detail.getMemberId()); | 
|---|
|  |  |  | model.setWorkTypeName(detail.getWorkTypeName()); | 
|---|
|  |  |  | if(reduceEndTime.getTime()<=detail.getStartTime().getTime()){ | 
|---|
|  |  |  | //如果当前日期 小于 人员保单明细记录的开始时间 则使用开始日期  开始日期 = 结束日期  且 费用全部退回 | 
|---|
|  |  |  | if(System.currentTimeMillis()<=detail.getStartTime().getTime()){ | 
|---|
|  |  |  | model.setFee(solutions.getPrice().multiply(new BigDecimal(-1))); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | Date  reduceEndTime = DateUtil.getMontageDate( | 
|---|
|  |  |  | DateUtil.afterDateByType(new Date(),0,solutions.getDelValidDays()),3); | 
|---|
|  |  |  | model.setFee( | 
|---|
|  |  |  | Constants.reduceFee(solutions, | 
|---|
|  |  |  | Objects.isNull(detail.getDetailServerCost())?solutions.getPrice():solutions.getPrice().add(detail.getDetailServerCost()), | 
|---|
|  |  |  | insuranceApply.getStartTime(), | 
|---|
|  |  |  | insuranceApply.getEndTime(), | 
|---|
|  |  |  | detail.getStartTime(), | 
|---|
|  |  |  | reduceEndTime) | 
|---|
|  |  |  | .subtract(detail.getFee()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | Objects.isNull(detail.getDetailServerCost())?solutions.getPrice():solutions.getPrice().add(detail.getDetailServerCost()), | 
|---|
|  |  |  | insuranceApply.getStartTime(), | 
|---|
|  |  |  | insuranceApply.getEndTime(), | 
|---|
|  |  |  | detail.getStartTime(), | 
|---|
|  |  |  | reduceEndTime).subtract(detail.getFee())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | index += 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | //检查派遣单位和工种有效性 | 
|---|
|  |  |  | dealDuAndWorktype(model,index,dispatchUnitList); | 
|---|
|  |  |  | index += 1; | 
|---|
|  |  |  | model.setSex(Constants.getSexByIdCard(model.getIdCard())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return dataList; | 
|---|
|  |  |  | } | 
|---|