k94314517
2025-01-24 16c14e07a13fa1f2e2cba0f4e33acef8e7d5670e
git ch
已修改2个文件
83 ■■■■ 文件已修改
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -2677,7 +2677,6 @@
                throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到保单数据");
            }
            SaveUnionChangeDTO saveUnionChangeDTO = new SaveUnionChangeDTO();
//            saveUnionChangeDTO.setApplyDate(update.getApplyStartTime());
            saveUnionChangeDTO.setApplyDate(model.getValidTime());
            List<Integer> applyIds = new ArrayList<>();
            applyIds.add(model.getId());
@@ -2685,27 +2684,21 @@
            saveUnionChangeDTO.setApplyChange(model);
            saveUnionChangeDTO.setUnionApplyId(insuranceApply.getUnionApplyId());
            saveUnionChangeDTO.setBusinessType(model.getType());
//            if(Constants.equalsInteger(model.getType(),Constants.ONE)){
//            }
            if(Constants.equalsInteger(user.getType(),Constants.TWO)){
                saveUnionChangeDTO.setShopId(user.getCompanyId());
            }else{
                CompanySolution companySolution = companySolutionMapper.selectOne(new QueryWrapper<CompanySolution>().lambda().eq(CompanySolution::getSolutionId,solutions.getId()).eq(CompanySolution::getCompanyId,insuranceApply.getCompanyId()).last(" limit 1 "));
                CompanySolution companySolution = companySolutionMapper.selectOne(new QueryWrapper<CompanySolution>()
                        .lambda().eq(CompanySolution::getSolutionBaseId,solutions.getBaseId())
                        .eq(CompanySolution::getCompanyId,insuranceApply.getCompanyId()).last(" limit 1 "));
                if(Objects.isNull(companySolution)){
                    throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到企业方案信息");
                }
                saveUnionChangeDTO.setShopId(companySolution.getShopId());
            }
//            if(1==1){
//                throw new BusinessException(ResponseStatus.DATA_EMPTY);
//            }
            unionChangeService.merge(saveUnionChangeDTO);
        }
//        if(1==1){
//            throw new BusinessException(ResponseStatus.DATA_EMPTY);
//        }
        return  1;
    }
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,33 +378,37 @@
        }
        if(saveUnionChangeDTO.getBusinessType().equals(Constants.ZERO)){
//            saveUnionChangeDTO.setApplyDate(unionApply.getStartTime());
            saveUnionChangeDTO.setAddValidDate(saveUnionChangeDTO.getApplyDate());
            saveUnionChangeDTO.setDelValidDate(saveUnionChangeDTO.getApplyDate());
            //根据申请日期 处理加减保的 实际生效日期
            if(Objects.nonNull(solutions.getAddValidDays())){
                saveUnionChangeDTO.setAddValidDate(
                        DateUtil.afterDateByType(saveUnionChangeDTO.getApplyDate(),0,solutions.getAddValidDays())
                );
            if(unionApply.getStartTime().getTime()>System.currentTimeMillis()){
                saveUnionChangeDTO.setAddValidDate(unionApply.getStartTime());
                saveUnionChangeDTO.setDelValidDate(unionApply.getStartTime());
            }else{
                saveUnionChangeDTO.setAddValidDate(saveUnionChangeDTO.getApplyDate());
            }
            if(Objects.nonNull(solutions.getDelValidDays())){
                saveUnionChangeDTO.setDelValidDate(
                        DateUtil.afterDateByType(saveUnionChangeDTO.getApplyDate(),0,solutions.getDelValidDays())
                );
            }else{
                saveUnionChangeDTO.setDelValidDate(saveUnionChangeDTO.getApplyDate());
            }
            //判断批单日期 合并单的批单生效期在为 保单起期的次日 到保单止期
            //获取开始日期次日
            if(saveUnionChangeDTO.getAddValidDate().getTime()<unionApply.getStartTime().getTime()
                    || saveUnionChangeDTO.getAddValidDate().getTime()> unionApply.getEndTime().getTime()){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"合并单的批单加保生效期错误");
            }
            if(saveUnionChangeDTO.getDelValidDate().getTime()<unionApply.getStartTime().getTime()
                    || saveUnionChangeDTO.getDelValidDate().getTime()> unionApply.getEndTime().getTime()){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"合并单的批单减保生效期错误");
                //根据申请日期 处理加减保的 实际生效日期
                if(Objects.nonNull(solutions.getAddValidDays())){
                    saveUnionChangeDTO.setAddValidDate(
                            DateUtil.afterDateByType(saveUnionChangeDTO.getApplyDate(),0,solutions.getAddValidDays())
                    );
                }else{
                    saveUnionChangeDTO.setAddValidDate(saveUnionChangeDTO.getApplyDate());
                }
                if(Objects.nonNull(solutions.getDelValidDays())){
                    saveUnionChangeDTO.setDelValidDate(
                            DateUtil.afterDateByType(saveUnionChangeDTO.getApplyDate(),0,solutions.getDelValidDays())
                    );
                }else{
                    saveUnionChangeDTO.setDelValidDate(saveUnionChangeDTO.getApplyDate());
                }
                //判断批单日期 合并单的批单生效期在为 保单起期的次日 到保单止期
                //获取开始日期次日
                if(saveUnionChangeDTO.getAddValidDate().getTime()<unionApply.getStartTime().getTime()
                        || saveUnionChangeDTO.getAddValidDate().getTime()> unionApply.getEndTime().getTime()){
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"合并单的批单加保生效期错误");
                }
                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{
            //减保记录操作后的总费用
            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) ;
        }
        //减保记录操作后的总费用
        reduceFee = Constants.reduceFee(
                solutions,fee,insuranceApply.getStartTime(),insuranceApply.getFinalEndTime(),oldModel.getStartTime(),reduceDate) ;
        BigDecimal pullFee = BigDecimal.ZERO;
        if (oldModel.getStartTime().getTime() < System.currentTimeMillis()) {