111
k94314517
2024-02-04 41f24b362a02e4a8a2cfffb7e81884659edfbf98
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -1262,13 +1262,9 @@
        if(insuranceApply.getStartTime().compareTo(new Date())<0  && insuranceApply.getEndTime().compareTo(new Date()) > 0 ){
            insuranceApply.setLoseEfficacyDays(DateUtil.daysBetweenDates(insuranceApply.getEndTime(),new Date()));
        }
        initApplyStatus(insuranceApply);
        //查询附件数据
        initImgData(insuranceApply);
        //查询操作记录
        List<ApplyLog> applyLogList = applyLogJoinMapper.selectJoinList(ApplyLog.class,
                new MPJLambdaWrapper<ApplyLog>()
@@ -1291,12 +1287,14 @@
        if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
            //如果当前时间大于结束日期 则使用结束日期对比开始日期
            if(DateUtil.compareDate(new Date(),insuranceApply.getEndTime())>=Constants.ZERO){
                insuranceApply.setServiceDays(DateUtil.daysBetweenDates(insuranceApply.getEndTime(),insuranceApply.getStartTime()));
                insuranceApply.setServiceDays(
                        DateUtil.daysBetweenDates(insuranceApply.getEndTime(),insuranceApply.getStartTime())+1
                );
            }else if(DateUtil.compareDate(insuranceApply.getStartTime(),new Date())>=Constants.ZERO){
                //未开始
                insuranceApply.setServiceDays(Constants.ZERO);
            }else{
                insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime()));
                insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime())+1);
            }
        }
    }
@@ -1327,17 +1325,17 @@
                    model.setBaoxiandanFile(f);
                }
                if(model.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
                    //如果当前时间大于结束日期 则使用结束日期对比开始日期
                    if(DateUtil.compareDate(new Date(),model.getEndTime())>=Constants.ZERO){
                        model.setServiceDays(DateUtil.daysBetweenDates(model.getEndTime(),model.getStartTime()));
                    }else if(DateUtil.compareDate(model.getStartTime(),new Date())>=Constants.ZERO){
                        //未开始
                        model.setServiceDays(Constants.ZERO);
                    }else{
                        model.setServiceDays(DateUtil.daysBetweenDates(new Date(),model.getStartTime()));
                    }
                }
//                if(model.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
//                    //如果当前时间大于结束日期 则使用结束日期对比开始日期
//                    if(DateUtil.compareDate(new Date(),model.getEndTime())>=Constants.ZERO){
//                        model.setServiceDays(DateUtil.daysBetweenDates(model.getEndTime(),model.getStartTime()));
//                    }else if(DateUtil.compareDate(model.getStartTime(),new Date())>=Constants.ZERO){
//                        //未开始
//                        model.setServiceDays(Constants.ZERO);
//                    }else{
//                        model.setServiceDays(DateUtil.daysBetweenDates(new Date(),model.getStartTime()));
//                    }
//                }
            }
        }
    }
@@ -1476,16 +1474,13 @@
                if(CollectionUtils.isNotEmpty(applyDetailList)){
                    for (ApplyDetail applyDetail: applyDetailList) {
                        //2024-1-30 10:04:24 修改 根据实际天数进行计算 当前费用  总金额/总天数*实际天数
                        Integer maxDays = DateUtil.calculateBetween(applyDetail.getStartTime(),applyDetail.getEndTime(),0) + 1 ;
                        Integer maxDays = DateUtil.calculateBetween(applyDetail.getStartTime(),applyDetail.getEndTime(),0);
                        BigDecimal fee = applyDetail.getFee();
                        if(applyDetail.getStartTime().compareTo(new Date()) <= 0 && applyDetail.getEndTime().compareTo(new Date()) >= 0 ){
                            Integer days =  DateUtil.calculateBetween(applyDetail.getStartTime(),new Date(),0) + 1 ;
                            Integer days =  DateUtil.calculateBetween(applyDetail.getStartTime(),new Date(),0);
                            applyDetail.setCurrentFee(fee.divide(BigDecimal.valueOf(maxDays),2, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(days)));
                            applyDetailMapper.updateById(applyDetail);
                        }
//                        DateUtil.daysBetweenDates(applyDetail.getEndTime(),applyDetail.getStartTime());
//                        applyDetail.setCurrentFee(Constants.countDetailFee(solutions,new Date(),applyDetail.getStartTime()));
//                        applyDetailMapper.updateById(applyDetail);
                        sumAmount = sumAmount.add(applyDetail.getCurrentFee());
                    }
                }