k94314517
2025-01-24 16c14e07a13fa1f2e2cba0f4e33acef8e7d5670e
server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
@@ -1,6 +1,7 @@
package com.doumee.service.business.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.api.R;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.constants.ResponseStatus;
@@ -377,7 +378,10 @@
        }
        if(saveUnionChangeDTO.getBusinessType().equals(Constants.ZERO)){
//            saveUnionChangeDTO.setApplyDate(unionApply.getStartTime());
            if(unionApply.getStartTime().getTime()>System.currentTimeMillis()){
                saveUnionChangeDTO.setAddValidDate(unionApply.getStartTime());
                saveUnionChangeDTO.setDelValidDate(unionApply.getStartTime());
            }else{
            saveUnionChangeDTO.setAddValidDate(saveUnionChangeDTO.getApplyDate());
            saveUnionChangeDTO.setDelValidDate(saveUnionChangeDTO.getApplyDate());
            //根据申请日期 处理加减保的 实际生效日期
@@ -404,6 +408,7 @@
            if(saveUnionChangeDTO.getDelValidDate().getTime()<unionApply.getStartTime().getTime()
                    || saveUnionChangeDTO.getDelValidDate().getTime()> unionApply.getEndTime().getTime()){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"合并单的批单减保生效期错误");
                }
            }
        }else{
//            if(saveUnionChangeDTO.getApplyDate().getTime()<DateUtil.afterDateByType(unionApply.getStartTime(),0,1).getTime()
@@ -946,6 +951,7 @@
                .eq(InsuranceApply::getId, applyChange.getApplyId())
        );
        applyChange.setFee(bigDecimalVO.getTotalFee());
    }
@@ -1071,17 +1077,15 @@
        //如果批单日期 大于 员工保单的开始日期
        if(reduceDate.getTime() > oldModel.getStartTime().getTime()){
            reduceDate = DateUtil.getMontageDate(applyChange.getDelValidTime(), 3);
//            if(reduceDate.getTime()<oldModel.getStartTime().getTime()){
//                reduceDate = DateUtil.getMontageDate(oldModel.getStartTime(), 3);
//            }else{
//                reduceDate = DateUtil.getMontageDate(applyChange.getDelValidTime(), 3);
//            }
        }else{
            reduceDate = DateUtil.getMontageDate(oldModel.getStartTime(), 3);
        }
        //减保记录操作后的总费用
        reduceFee = Constants.reduceFee(
                solutions,fee,insuranceApply.getStartTime(),insuranceApply.getFinalEndTime(),oldModel.getStartTime(),reduceDate) ;
        }else if(reduceDate.getTime()<oldModel.getStartTime().getTime()){
            reduceDate = DateUtil.getMontageDate(oldModel.getStartTime(), 3);
            //减保记录操作后的总费用
            reduceFee = Constants.reduceFee(
                    solutions,fee,insuranceApply.getStartTime(),insuranceApply.getFinalEndTime(),oldModel.getStartTime(),reduceDate) ;
        }
        BigDecimal pullFee = BigDecimal.ZERO;
        if (oldModel.getStartTime().getTime() < System.currentTimeMillis()) {