| | |
| | | } |
| | | if (!(Constants.equalsInteger(insuranceApply.getStatus(), Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()) |
| | | ||Constants.equalsInteger(insuranceApply.getStatus(), Constants.InsuranceApplyStatus.WTB_DONE.getKey()) |
| | | ) |
| | | ) { |
| | | )) { |
| | | throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "保单状态错误"); |
| | | } |
| | | if (DateUtil.compareDate(insuranceApply.getEndTime(),new Date()) >= Constants.ZERO |
| | | ) { |
| | | if (DateUtil.compareDate(insuranceApply.getEndTime(),new Date()) >= Constants.ZERO ) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "保单已过保,无法进行该操作"); |
| | | } |
| | | if (DateUtil.compareDate(applyChange.getValidTime(),insuranceApply.getStartTime()) >= Constants.ZERO) { |
| | | //如果保单尚未生效,设置期望生效日期为保单生效开始时间 |
| | | applyChange.setValidTime(insuranceApply.getStartTime()); |
| | | } |
| | | Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId()); |
| | | if(Objects.isNull(solutions)){ |
| | |
| | | applyChange.setIsdeleted(Constants.ZERO); |
| | | //根据申请日期 处理加减保的 实际生效日期 |
| | | if(applyChange.getType().equals(Constants.ZERO)){ |
| | | if(Objects.nonNull(solutions.getAddValidDays())){ |
| | | applyChange.setApplyStartTime( |
| | | DateUtil.afterDateByType(applyChange.getValidTime(),0,solutions.getAddValidDays()) |
| | | ); |
| | | }else{ |
| | | applyChange.setApplyStartTime(applyChange.getValidTime()); |
| | | } |
| | | if(Objects.nonNull(solutions.getDelValidDays())){ |
| | | applyChange.setDelValidTime( |
| | | DateUtil.afterDateByType(applyChange.getValidTime(),0,solutions.getDelValidDays()) |
| | | ); |
| | | }else{ |
| | | applyChange.setDelValidTime(applyChange.getValidTime()); |
| | | } |
| | | //仅支持替换 保证加减保日期为同一天 |
| | | if(Constants.equalsInteger(solutions.getDelOnlyReplace(),Constants.ONE)){ |
| | | applyChange.setApplyStartTime( |
| | | applyChange.getDelValidTime() |
| | | ); |
| | | } |
| | | initJJBValidTime(applyChange,insuranceApply,solutions); |
| | | }else{ |
| | | applyChange.setApplyStartTime(applyChange.getValidTime()); |
| | | } |
| | | |
| | | applyChange.setStatus(Constants.ZERO); |
| | | applyChangeMapper.insert(applyChange); |
| | | |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public Integer update(ApplyChange applyChange) { |
| | | if(applyChange.getType().equals(Constants.ZERO)){ |
| | | //2024年5月9日14:59:24 修改 默认入当前天 |
| | | applyChange.setValidTime(DateUtil.getMontageDate(new Date(),1)); |
| | | } |
| | | if (Objects.isNull(applyChange) |
| | | || Objects.isNull(applyChange.getId()) |
| | | || Objects.isNull(applyChange.getApplyId()) |
| | | || Objects.isNull(applyChange.getValidTime()) |
| | | // || Objects.isNull(applyChange.getValidTime()) |
| | | || Objects.isNull(applyChange.getType()) |
| | | || !(applyChange.getType().equals(Constants.ZERO) || applyChange.getType().equals(Constants.ONE)) |
| | | ) { |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | |
| | | if (DateUtil.compareDate(insuranceApply.getEndTime(),new Date()) >= Constants.ZERO |
| | | ) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "保单已过保,无法进行该操作"); |
| | | } |
| | | if (DateUtil.compareDate(applyChange.getValidTime(),insuranceApply.getStartTime()) > Constants.ZERO) { |
| | | applyChange.setValidTime(insuranceApply.getStartTime()); |
| | | } |
| | | Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId()); |
| | | if(Objects.isNull(solutions)){ |
| | |
| | | }; |
| | | |
| | | if(applyChange.getType().equals(Constants.ZERO)){ |
| | | if(Objects.nonNull(solutions.getAddValidDays())){ |
| | | applyChange.setApplyStartTime( |
| | | DateUtil.afterDateByType(applyChange.getValidTime(),0,solutions.getAddValidDays()) |
| | | ); |
| | | }else{ |
| | | applyChange.setApplyStartTime(applyChange.getValidTime()); |
| | | } |
| | | if(Objects.nonNull(solutions.getDelValidDays())){ |
| | | applyChange.setDelValidTime( |
| | | DateUtil.afterDateByType(applyChange.getValidTime(),0,solutions.getDelValidDays()) |
| | | ); |
| | | }else{ |
| | | applyChange.setDelValidTime(applyChange.getValidTime()); |
| | | } |
| | | //仅支持替换 保证加减保日期为同一天 |
| | | if(Constants.equalsInteger(solutions.getDelOnlyReplace(),Constants.ONE)){ |
| | | applyChange.setApplyStartTime( |
| | | applyChange.getDelValidTime() |
| | | ); |
| | | } |
| | | |
| | | //处理期望生效日期 |
| | | initJJBValidTime(applyChange,insuranceApply,solutions); |
| | | }else{ |
| | | applyChange.setApplyStartTime(applyChange.getValidTime()); |
| | | } |
| | |
| | | noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,applyChange.getId())); |
| | | |
| | | return applyChange.getId(); |
| | | } |
| | | |
| | | private void initJJBValidTime(ApplyChange applyChange, InsuranceApply insuranceApply, Solutions solutions) { |
| | | if( applyChange.getValidTime().getTime()>=insuranceApply.getStartTime().getTime() |
| | | && Objects.nonNull(solutions.getAddValidDays())){ |
| | | //如果保单已生效,按照t+n的规则 |
| | | applyChange.setApplyStartTime( |
| | | DateUtil.afterDateByType(applyChange.getValidTime(),0,solutions.getAddValidDays()) |
| | | ); |
| | | }else{ |
| | | //如果保单未生或者没有配置生效天数,设置期望生效日期为保单生效开始时间 |
| | | applyChange.setApplyStartTime(applyChange.getValidTime()); |
| | | } |
| | | if(applyChange.getValidTime().getTime()>=insuranceApply.getStartTime().getTime() |
| | | &&Objects.nonNull(solutions.getDelValidDays())){ |
| | | applyChange.setDelValidTime( |
| | | DateUtil.afterDateByType(applyChange.getValidTime(),0,solutions.getDelValidDays()) |
| | | ); |
| | | }else{ |
| | | applyChange.setDelValidTime(applyChange.getValidTime()); |
| | | } |
| | | //仅支持替换 保证加减保日期为同一天 |
| | | if(Constants.equalsInteger(solutions.getDelOnlyReplace(),Constants.ONE)){ |
| | | applyChange.setApplyStartTime( |
| | | applyChange.getDelValidTime() |
| | | ); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda() |
| | | .eq(ApplyDetail::getApplyId, applyChange.getApplyId()) |
| | | .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId()) |
| | | .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getDelValidTime(),1)) |
| | | // .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getDelValidTime(),1)) |
| | | .ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(applyChange.getDelValidTime(),3)) |
| | | .orderByDesc(ApplyDetail::getCreateDate)); |
| | | if (applyDetailList.size() > Constants.ONE) { |