ソースを参照

添加校验非车费用 调整出口手续费比例

785834757 2 年 前
コミット
a2f536ddff

+ 12 - 17
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceImpl.java

@@ -2653,17 +2653,6 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         jqDeptManagerFee.setDeptPremiumsLevelFive(insFeeOrderNew.getJqDeptPremiumsLevel5());
         deptManagerFeeList.add(jqDeptManagerFee);
 
-        //交强机构管理费总数
-        BigDecimal jqAllDeptManagerFee = jqDeptManagerFee.getDeptProportionLevelOne().add(jqDeptManagerFee.getDeptProportionLevelTwo())
-                .add(jqDeptManagerFee.getDeptProportionLevelThree())
-                .add(jqDeptManagerFee.getDeptProportionLevelFoure())
-                .add(jqDeptManagerFee.getDeptProportionLevelFive());
-        //交强机构管理比例
-        BigDecimal jqAllDeptManagerProportion = jqDeptManagerFee.getDeptPremiumsLevelOne().add(jqDeptManagerFee.getDeptPremiumsLevelTwo())
-                .add(jqDeptManagerFee.getDeptPremiumsLevelThree())
-                .add(jqDeptManagerFee.getDeptPremiumsLevelFoure())
-                .add(jqDeptManagerFee.getDeptPremiumsLevelFive());
-
         //出口费用
         jqExportFee.setInsuranceType("交强险");  // 险种
         BigDecimal sumJqDeptProportion = insFeeOrderNew.getJqDeptProportionLevel1()
@@ -2676,10 +2665,12 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         BigDecimal jqExportTotalProportion = jqEntranceFee.getTotalProportion().subtract(sumJqDeptProportion);
 
         //交强出口手续费比例
-        BigDecimal jqExportSuperviseCosts = jqExportTotalProportion.compareTo(new BigDecimal(4)) > 0 ? new BigDecimal(4.00) : jqExportTotalProportion;
+        BigDecimal jqExportSuperviseCosts =
+                jqExportTotalProportion.compareTo(jqEntranceFee.getSuperviseCosts()) > 0 ? jqEntranceFee.getSuperviseCosts() : jqExportTotalProportion;
 
         //交强出口其他费比例
-        BigDecimal jqOtherCostsProportion = jqExportTotalProportion.compareTo(new BigDecimal(4)) > 0 ? jqExportTotalProportion.subtract(jqExportSuperviseCosts) : new BigDecimal(0);
+        BigDecimal jqOtherCostsProportion =
+                jqExportTotalProportion.compareTo(jqEntranceFee.getSuperviseCosts()) > 0 ? jqExportTotalProportion.subtract(jqExportSuperviseCosts) : new BigDecimal(0);
 
         jqExportFee.setSuperviseCosts(jqExportSuperviseCosts);
         jqExportFee.setSuperviseCostsPremiums(insFeeOrderNew.getJqPremium().multiply(jqExportSuperviseCosts.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
@@ -2729,10 +2720,12 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         BigDecimal syExportTotalProportion = syEntranceFee.getTotalProportion().subtract(sumSyDeptProportion);
 
         //商业出口手续费比例
-        BigDecimal syExportSuperviseCosts = jqExportTotalProportion.compareTo(new BigDecimal(4)) > 0 ? new BigDecimal(4.00) : jqExportTotalProportion;
+        BigDecimal syExportSuperviseCosts =
+                syExportTotalProportion.compareTo(syEntranceFee.getSuperviseCosts()) > 0 ? syEntranceFee.getSuperviseCosts() : syExportTotalProportion;
 
         //商业出口其他费比例
-        BigDecimal syOtherCostsProportion = syExportTotalProportion.compareTo(new BigDecimal(4)) > 0 ? syExportTotalProportion.subtract(syExportSuperviseCosts) : new BigDecimal(0);
+        BigDecimal syOtherCostsProportion =
+                syExportTotalProportion.compareTo(syEntranceFee.getSuperviseCosts()) > 0 ? syExportTotalProportion.subtract(syExportSuperviseCosts) : new BigDecimal(0);
 
         syExportFee.setSuperviseCosts(syExportSuperviseCosts);
         syExportFee.setSuperviseCostsPremiums(insFeeOrderNew.getSyPremium().multiply(syExportSuperviseCosts.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
@@ -2783,10 +2776,12 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         BigDecimal nonExportTotalProportion = nonEntranceFee.getTotalProportion().subtract(sumNonDeptProportion);
 
         //非车出口手续费比例
-        BigDecimal nonExportSuperviseCosts = nonExportTotalProportion.compareTo(new BigDecimal(4)) > 0 ? new BigDecimal(4.00) : nonExportTotalProportion;
+        BigDecimal nonExportSuperviseCosts =
+                nonExportTotalProportion.compareTo(nonEntranceFee.getSuperviseCosts()) > 0 ? nonEntranceFee.getSuperviseCosts() : nonExportTotalProportion;
 
         //非车出口其他费比例
-        BigDecimal nonOtherCostsProportion = nonExportTotalProportion.compareTo(new BigDecimal(4)) > 0 ? nonExportTotalProportion.subtract(nonExportSuperviseCosts) : new BigDecimal(0);
+        BigDecimal nonOtherCostsProportion =
+                nonExportTotalProportion.compareTo(nonEntranceFee.getSuperviseCosts()) > 0 ? nonExportTotalProportion.subtract(nonExportSuperviseCosts) : new BigDecimal(0);
 
         nonExportFee.setSuperviseCosts(nonExportSuperviseCosts);
         nonExportFee.setSuperviseCostsPremiums(insFeeOrderNew.getNoPremium().multiply(nonExportSuperviseCosts.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));

+ 11 - 0
src/main/java/com/ydtech/modules/protocols/service/impl/PtlAgreementProductCostsNewServiceImpl.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.protocols.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.exception.SystemException;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.protocol.entity.po.PtlAreaLicense;
 import com.ydtech.modules.protocol.service.PtlAreaLicenseService;
@@ -278,6 +279,16 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
     @Transactional
     @Override
     public boolean costsAdd(AgreementProductCosts agreementProductCosts) {
+        //校验非车信息是否存在
+        PtlAgreementProductCostsAttrLink nonMotorInsurance = agreementProductCosts.getCostsAttrLinks().stream().filter(x -> x.getAttrCode().equals("NonMotorInsurance")).findFirst().get();
+        if (nonMotorInsurance != null) {
+            if((!nonMotorInsurance.getMin().equals("0") || !nonMotorInsurance.getMax().equals("0"))) {
+                if((agreementProductCosts.getNoCostsProportion() == null || agreementProductCosts.getNoCostsProportion().equals("0"))){
+                    throw new SystemException("检测到存在非车费用因子,请填写非车费用!");
+                }
+            }
+        }
+
         //添加费用主表信息
         PtlAgreementProductCostsNew ptlAgreementProductCostsNew = new PtlAgreementProductCostsNew();
         BeanUtils.copyProperties(agreementProductCosts, ptlAgreementProductCostsNew);