|
@@ -15,6 +15,7 @@ import com.ydtech.modules.fee.service.FeeRuleSchemeService;
|
|
|
import com.ydtech.modules.ins.model.vo.CarInfoVo;
|
|
import com.ydtech.modules.ins.model.vo.CarInfoVo;
|
|
|
import com.ydtech.modules.ins.model.vo.KindInfoVo;
|
|
import com.ydtech.modules.ins.model.vo.KindInfoVo;
|
|
|
import com.ydtech.modules.ins.model.vo.QuoteRespVo;
|
|
import com.ydtech.modules.ins.model.vo.QuoteRespVo;
|
|
|
|
|
+import com.ydtech.modules.order.constants.BusinessConstant;
|
|
|
import com.ydtech.modules.order.entity.InsCopyFeeOrder;
|
|
import com.ydtech.modules.order.entity.InsCopyFeeOrder;
|
|
|
import com.ydtech.modules.order.entity.InsFeeOrder;
|
|
import com.ydtech.modules.order.entity.InsFeeOrder;
|
|
|
import com.ydtech.modules.order.entity.vo.*;
|
|
import com.ydtech.modules.order.entity.vo.*;
|
|
@@ -48,27 +49,26 @@ import java.util.stream.Collectors;
|
|
|
*/
|
|
*/
|
|
|
@Service
|
|
@Service
|
|
|
public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
|
|
+
|
|
|
@Resource
|
|
@Resource
|
|
|
private PtlAgreementProductCostsService ptlAgreementProductCostsService;
|
|
private PtlAgreementProductCostsService ptlAgreementProductCostsService;
|
|
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
|
private InsFeeOrderService insFeeOrderService;
|
|
private InsFeeOrderService insFeeOrderService;
|
|
|
|
|
+
|
|
|
@Resource
|
|
@Resource
|
|
|
private InsCopyFeeOrderService insCopyFeeOrderService;
|
|
private InsCopyFeeOrderService insCopyFeeOrderService;
|
|
|
|
|
+
|
|
|
@Resource
|
|
@Resource
|
|
|
private SysUserService sysUserService;
|
|
private SysUserService sysUserService;
|
|
|
|
|
|
|
|
- @Resource
|
|
|
|
|
- private PtlAgreementService ptlAgreementService;
|
|
|
|
|
@Resource
|
|
@Resource
|
|
|
private PtlNewCarJudgeRulesService ptlNewCarJudgeRulesService;
|
|
private PtlNewCarJudgeRulesService ptlNewCarJudgeRulesService;
|
|
|
@Resource
|
|
@Resource
|
|
|
private PtlAgreementAttributionService ptlAgreementAttributionService;
|
|
private PtlAgreementAttributionService ptlAgreementAttributionService;
|
|
|
- @Resource
|
|
|
|
|
- private PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService;
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
|
- private InsFeeOrderNewService insFeeOrderNewService;
|
|
|
|
|
|
|
+ private PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService;
|
|
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
|
private SysUserRoleService sysUserRoleService;
|
|
private SysUserRoleService sysUserRoleService;
|
|
@@ -2647,7 +2647,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
|
|
|
|
|
//region 入口费用
|
|
//region 入口费用
|
|
|
//交强
|
|
//交强
|
|
|
- FeeOrderNewVo.EntranceFee jqEntranceFee = this.assignEntranceFee("交强险", insFeeOrderNew.getJqPremium(),
|
|
|
|
|
|
|
+ FeeOrderNewVo.EntranceFee jqEntranceFee = this.assignEntranceFee(BusinessConstant.FEE_INSURANCE_TYPE_1, insFeeOrderNew.getJqPremium(),
|
|
|
insFeeOrderNew.getJqSuperviseCostsProportion(),
|
|
insFeeOrderNew.getJqSuperviseCostsProportion(),
|
|
|
insFeeOrderNew.getJqOtherCostsProportion(), insFeeOrderNew.getJqCostsProportion(),
|
|
insFeeOrderNew.getJqOtherCostsProportion(), insFeeOrderNew.getJqCostsProportion(),
|
|
|
insFeeOrderNew.getJqSuperviseCostsPremiums(),
|
|
insFeeOrderNew.getJqSuperviseCostsPremiums(),
|
|
@@ -2655,7 +2655,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
entranceFeeList.add(jqEntranceFee);
|
|
entranceFeeList.add(jqEntranceFee);
|
|
|
|
|
|
|
|
//商业
|
|
//商业
|
|
|
- FeeOrderNewVo.EntranceFee syEntranceFee = this.assignEntranceFee("商业险", insFeeOrderNew.getSyPremium(),
|
|
|
|
|
|
|
+ FeeOrderNewVo.EntranceFee syEntranceFee = this.assignEntranceFee(BusinessConstant.FEE_INSURANCE_TYPE_2, insFeeOrderNew.getSyPremium(),
|
|
|
insFeeOrderNew.getSySuperviseCostsProportion(),
|
|
insFeeOrderNew.getSySuperviseCostsProportion(),
|
|
|
insFeeOrderNew.getSyOtherCostsProportion(), insFeeOrderNew.getSyCostsProportion(),
|
|
insFeeOrderNew.getSyOtherCostsProportion(), insFeeOrderNew.getSyCostsProportion(),
|
|
|
insFeeOrderNew.getSySuperviseCostsPremiums(),
|
|
insFeeOrderNew.getSySuperviseCostsPremiums(),
|
|
@@ -2663,7 +2663,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
entranceFeeList.add(syEntranceFee);
|
|
entranceFeeList.add(syEntranceFee);
|
|
|
|
|
|
|
|
//非车
|
|
//非车
|
|
|
- FeeOrderNewVo.EntranceFee noEntranceFee = this.assignEntranceFee("非车险", insFeeOrderNew.getNoPremium(),
|
|
|
|
|
|
|
+ FeeOrderNewVo.EntranceFee noEntranceFee = this.assignEntranceFee(BusinessConstant.FEE_INSURANCE_TYPE_3, insFeeOrderNew.getNoPremium(),
|
|
|
insFeeOrderNew.getNoSuperviseCostsProportion(),
|
|
insFeeOrderNew.getNoSuperviseCostsProportion(),
|
|
|
insFeeOrderNew.getNoOtherCostsProportion(), insFeeOrderNew.getNoCostsProportion(),
|
|
insFeeOrderNew.getNoOtherCostsProportion(), insFeeOrderNew.getNoCostsProportion(),
|
|
|
insFeeOrderNew.getNoSuperviseCostsPremiums(),
|
|
insFeeOrderNew.getNoSuperviseCostsPremiums(),
|
|
@@ -2679,7 +2679,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
//region 机构管理对象
|
|
//region 机构管理对象
|
|
|
|
|
|
|
|
//交强
|
|
//交强
|
|
|
- FeeOrderNewVo.DeptManagerFee jqDeptManagerFee = this.assignDeptFee("交强险",
|
|
|
|
|
|
|
+ FeeOrderNewVo.DeptManagerFee jqDeptManagerFee = this.assignDeptFee(BusinessConstant.FEE_INSURANCE_TYPE_1,
|
|
|
insFeeOrderNew.getJqDeptProportionLevel1(), insFeeOrderNew.getJqDeptPremiumsLevel1(),
|
|
insFeeOrderNew.getJqDeptProportionLevel1(), insFeeOrderNew.getJqDeptPremiumsLevel1(),
|
|
|
insFeeOrderNew.getJqDeptProportionLevel2(), insFeeOrderNew.getJqDeptPremiumsLevel2(),
|
|
insFeeOrderNew.getJqDeptProportionLevel2(), insFeeOrderNew.getJqDeptPremiumsLevel2(),
|
|
|
insFeeOrderNew.getJqDeptProportionLevel3(), insFeeOrderNew.getJqDeptPremiumsLevel3(),
|
|
insFeeOrderNew.getJqDeptProportionLevel3(), insFeeOrderNew.getJqDeptPremiumsLevel3(),
|
|
@@ -2693,7 +2693,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
deptManagerFeeList.add(jqDeptManagerFee);
|
|
deptManagerFeeList.add(jqDeptManagerFee);
|
|
|
|
|
|
|
|
//商业
|
|
//商业
|
|
|
- FeeOrderNewVo.DeptManagerFee syDeptManagerFee = this.assignDeptFee("商业险",
|
|
|
|
|
|
|
+ FeeOrderNewVo.DeptManagerFee syDeptManagerFee = this.assignDeptFee(BusinessConstant.FEE_INSURANCE_TYPE_2,
|
|
|
insFeeOrderNew.getSyDeptProportionLevel1(), insFeeOrderNew.getSyDeptPremiumsLevel1(),
|
|
insFeeOrderNew.getSyDeptProportionLevel1(), insFeeOrderNew.getSyDeptPremiumsLevel1(),
|
|
|
insFeeOrderNew.getSyDeptProportionLevel2(), insFeeOrderNew.getSyDeptPremiumsLevel2(),
|
|
insFeeOrderNew.getSyDeptProportionLevel2(), insFeeOrderNew.getSyDeptPremiumsLevel2(),
|
|
|
insFeeOrderNew.getSyDeptProportionLevel3(), insFeeOrderNew.getSyDeptPremiumsLevel3(),
|
|
insFeeOrderNew.getSyDeptProportionLevel3(), insFeeOrderNew.getSyDeptPremiumsLevel3(),
|
|
@@ -2706,7 +2706,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
deptManagerFeeList.add(syDeptManagerFee);
|
|
deptManagerFeeList.add(syDeptManagerFee);
|
|
|
|
|
|
|
|
//非车
|
|
//非车
|
|
|
- FeeOrderNewVo.DeptManagerFee noDeptManagerFee = this.assignDeptFee("非车险",
|
|
|
|
|
|
|
+ FeeOrderNewVo.DeptManagerFee noDeptManagerFee = this.assignDeptFee(BusinessConstant.FEE_INSURANCE_TYPE_3,
|
|
|
insFeeOrderNew.getNoDeptProportionLevel1(), insFeeOrderNew.getNoDeptPremiumsLevel1(),
|
|
insFeeOrderNew.getNoDeptProportionLevel1(), insFeeOrderNew.getNoDeptPremiumsLevel1(),
|
|
|
insFeeOrderNew.getNoDeptProportionLevel2(), insFeeOrderNew.getNoDeptPremiumsLevel2(),
|
|
insFeeOrderNew.getNoDeptProportionLevel2(), insFeeOrderNew.getNoDeptPremiumsLevel2(),
|
|
|
insFeeOrderNew.getNoDeptProportionLevel3(), insFeeOrderNew.getNoDeptPremiumsLevel3(),
|
|
insFeeOrderNew.getNoDeptProportionLevel3(), insFeeOrderNew.getNoDeptPremiumsLevel3(),
|
|
@@ -2767,11 +2767,9 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
retailFeeList.add(retailFeeLevel3);
|
|
retailFeeList.add(retailFeeLevel3);
|
|
|
|
|
|
|
|
//endregion
|
|
//endregion
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
//region 出口费用
|
|
//region 出口费用
|
|
|
//交强
|
|
//交强
|
|
|
- FeeOrderNewVo.ExportFee jqExportFee = this.assignExportFee("交强险",
|
|
|
|
|
|
|
+ FeeOrderNewVo.ExportFee jqExportFee = this.assignExportFee(BusinessConstant.FEE_INSURANCE_TYPE_1,
|
|
|
insFeeOrderNew.getJqPremium(), insFeeOrderNew.getJqCostsExportProportion(),
|
|
insFeeOrderNew.getJqPremium(), insFeeOrderNew.getJqCostsExportProportion(),
|
|
|
insFeeOrderNew.getJqExportOtherCostsProportion(),
|
|
insFeeOrderNew.getJqExportOtherCostsProportion(),
|
|
|
insFeeOrderNew.getJqExportSuperviseCostsPremiums(), insFeeOrderNew.getJqExportOtherCostsPremiums()
|
|
insFeeOrderNew.getJqExportSuperviseCostsPremiums(), insFeeOrderNew.getJqExportOtherCostsPremiums()
|
|
@@ -2779,23 +2777,22 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
//exportFeeList.add(jqExportFee);
|
|
//exportFeeList.add(jqExportFee);
|
|
|
|
|
|
|
|
//交强
|
|
//交强
|
|
|
- FeeOrderNewVo.ExportFee syExportFee = this.assignExportFee("商业险",
|
|
|
|
|
|
|
+ FeeOrderNewVo.ExportFee syExportFee = this.assignExportFee(BusinessConstant.FEE_INSURANCE_TYPE_2,
|
|
|
insFeeOrderNew.getSyPremium(), insFeeOrderNew.getSyCostsExportProportion(),
|
|
insFeeOrderNew.getSyPremium(), insFeeOrderNew.getSyCostsExportProportion(),
|
|
|
insFeeOrderNew.getSyExportOtherCostsProportion(),
|
|
insFeeOrderNew.getSyExportOtherCostsProportion(),
|
|
|
insFeeOrderNew.getSyExportSuperviseCostsPremiums(), insFeeOrderNew.getSyExportOtherCostsPremiums()
|
|
insFeeOrderNew.getSyExportSuperviseCostsPremiums(), insFeeOrderNew.getSyExportOtherCostsPremiums()
|
|
|
);
|
|
);
|
|
|
//exportFeeList.add(syExportFee);
|
|
//exportFeeList.add(syExportFee);
|
|
|
|
|
|
|
|
-
|
|
|
|
|
//交强
|
|
//交强
|
|
|
- FeeOrderNewVo.ExportFee noExportFee = this.assignExportFee("非车险",
|
|
|
|
|
|
|
+ FeeOrderNewVo.ExportFee noExportFee = this.assignExportFee(BusinessConstant.FEE_INSURANCE_TYPE_3,
|
|
|
insFeeOrderNew.getNoPremium(), insFeeOrderNew.getNoCostsExportProportion(),
|
|
insFeeOrderNew.getNoPremium(), insFeeOrderNew.getNoCostsExportProportion(),
|
|
|
insFeeOrderNew.getNoExportOtherCostsProportion(),
|
|
insFeeOrderNew.getNoExportOtherCostsProportion(),
|
|
|
insFeeOrderNew.getNoExportSuperviseCostsPremiums(), insFeeOrderNew.getNoExportOtherCostsPremiums());
|
|
insFeeOrderNew.getNoExportSuperviseCostsPremiums(), insFeeOrderNew.getNoExportOtherCostsPremiums());
|
|
|
|
|
|
|
|
// exportFeeList.add(noExportFee);
|
|
// exportFeeList.add(noExportFee);
|
|
|
//add by hxl 添加出单员不能查看优惠的限制 2024-07-11
|
|
//add by hxl 添加出单员不能查看优惠的限制 2024-07-11
|
|
|
- String userId = new BaseController().getUserId();
|
|
|
|
|
|
|
+ String userId = BaseController.getUserId();
|
|
|
SysUserRole sysUserRole = sysUserRoleService.selectByUserId(userId);
|
|
SysUserRole sysUserRole = sysUserRoleService.selectByUserId(userId);
|
|
|
if (sysUserRole != null && sysUserRole.getRoleId() == 19) {
|
|
if (sysUserRole != null && sysUserRole.getRoleId() == 19) {
|
|
|
jqExportFee.setTotalAmount(BigDecimal.ZERO);
|
|
jqExportFee.setTotalAmount(BigDecimal.ZERO);
|
|
@@ -2822,7 +2819,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
|
|
|
|
|
private FeeOrderNewVo.ExportFee assignExportFeeTotal(List<FeeOrderNewVo.ExportFee> exportFeeList) {
|
|
private FeeOrderNewVo.ExportFee assignExportFeeTotal(List<FeeOrderNewVo.ExportFee> exportFeeList) {
|
|
|
FeeOrderNewVo.ExportFee exportFee = new FeeOrderNewVo.ExportFee();
|
|
FeeOrderNewVo.ExportFee exportFee = new FeeOrderNewVo.ExportFee();
|
|
|
- exportFee.setInsuranceType("合计");
|
|
|
|
|
|
|
+ exportFee.setInsuranceType(BusinessConstant.FEE_INSURANCE_TYPE_4);
|
|
|
//保费合计
|
|
//保费合计
|
|
|
BigDecimal premium = exportFeeList.stream().map(FeeOrderNewVo.ExportFee::getPremium).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
BigDecimal premium = exportFeeList.stream().map(FeeOrderNewVo.ExportFee::getPremium).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
exportFee.setPremium(Optional.of(premium).orElse(BigDecimal.ZERO));
|
|
exportFee.setPremium(Optional.of(premium).orElse(BigDecimal.ZERO));
|
|
@@ -2840,7 +2837,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
|
|
|
|
|
private static FeeOrderNewVo.EntranceFee assignEntranceFeeTotal(List<FeeOrderNewVo.EntranceFee> entranceFeeList) {
|
|
private static FeeOrderNewVo.EntranceFee assignEntranceFeeTotal(List<FeeOrderNewVo.EntranceFee> entranceFeeList) {
|
|
|
FeeOrderNewVo.EntranceFee entranceFeeTotal = new FeeOrderNewVo.EntranceFee();
|
|
FeeOrderNewVo.EntranceFee entranceFeeTotal = new FeeOrderNewVo.EntranceFee();
|
|
|
- entranceFeeTotal.setInsuranceType("合计");
|
|
|
|
|
|
|
+ entranceFeeTotal.setInsuranceType(BusinessConstant.FEE_INSURANCE_TYPE_4);
|
|
|
//保费合计
|
|
//保费合计
|
|
|
BigDecimal premium = entranceFeeList.stream().map(FeeOrderNewVo.EntranceFee::getPremium).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
BigDecimal premium = entranceFeeList.stream().map(FeeOrderNewVo.EntranceFee::getPremium).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
entranceFeeTotal.setPremium(Optional.of(premium).orElse(BigDecimal.ZERO));
|
|
entranceFeeTotal.setPremium(Optional.of(premium).orElse(BigDecimal.ZERO));
|
|
@@ -2944,7 +2941,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
|
|
|
|
|
// 外部
|
|
// 外部
|
|
|
exportFee.setExternalProportion(enterProportion);
|
|
exportFee.setExternalProportion(enterProportion);
|
|
|
- exportFee.setExternalPremiums(premium.multiply(enterProportion.divide(new BigDecimal(100))).setScale(2, RoundingMode.DOWN));
|
|
|
|
|
|
|
+ exportFee.setExternalPremiums(premium.multiply(enterProportion.divide(new BigDecimal(100))).setScale(2, RoundingMode.DOWN));
|
|
|
|
|
|
|
|
if (exportTotalProportion.compareTo(BigDecimal.ZERO) < 0 && premium.compareTo(BigDecimal.ZERO) == 0) {
|
|
if (exportTotalProportion.compareTo(BigDecimal.ZERO) < 0 && premium.compareTo(BigDecimal.ZERO) == 0) {
|
|
|
//出口比例为负数了
|
|
//出口比例为负数了
|