785834757 2 лет назад
Родитель
Сommit
a1eec8d743

+ 3 - 3
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceNewImpl.java

@@ -895,7 +895,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
             if (esmRetail != null) {
                 BigDecimal sumPremium = insFeeOrderNew.getJqPremium().add(insFeeOrderNew.getSyPremium()).add(insFeeOrderNew.getNoPremium());
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 3) {
-                    insFeeOrderNew.setThirdDetailProportion(new BigDecimal(esmRetail.getDisrate3()));
+                    insFeeOrderNew.setThirdDetailProportion(new BigDecimal(String.valueOf(esmRetail.getDisrate3())));
                     retailRadio = retailRadio.add(insFeeOrderNew.getThirdDetailProportion()).setScale(2, BigDecimal.ROUND_DOWN);
                     BigDecimal thirdDetailPremiums = feeRuleSchemeService.calcRetail(insFeeOrderNew.getJqPremium(),
                             insFeeOrderNew.getJqCostsProportion().add(insFeeOrderNew.getJqOtherCostsProportion()),
@@ -912,7 +912,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                     insFeeOrderNew.setThirdDetailProportion(new BigDecimal(0));
                 }
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 2) {
-                    insFeeOrderNew.setSecondDetailProportion(new BigDecimal(esmRetail.getDisrate2()));
+                    insFeeOrderNew.setSecondDetailProportion(new BigDecimal(String.valueOf(esmRetail.getDisrate2())));
                     retailRadio = retailRadio.add(insFeeOrderNew.getSecondDetailProportion()).setScale(2, BigDecimal.ROUND_DOWN);
                     BigDecimal secondDetailPremiums = feeRuleSchemeService.calcRetail(insFeeOrderNew.getJqPremium(),
                             insFeeOrderNew.getJqCostsProportion().add(insFeeOrderNew.getJqOtherCostsProportion()),
@@ -929,7 +929,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                     insFeeOrderNew.setSecondDetailProportion(new BigDecimal(0));
                 }
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 1) {
-                    insFeeOrderNew.setFirstDetailProportion(new BigDecimal(esmRetail.getDisrate1()));
+                    insFeeOrderNew.setFirstDetailProportion(new BigDecimal(String.valueOf(esmRetail.getDisrate1())));
                     retailRadio = retailRadio.add(insFeeOrderNew.getFirstDetailProportion()).setScale(2, BigDecimal.ROUND_DOWN);
                     BigDecimal firstDetailPremiums = feeRuleSchemeService.calcRetail(insFeeOrderNew.getJqPremium(),
                             insFeeOrderNew.getJqCostsProportion().add(insFeeOrderNew.getJqOtherCostsProportion()),

+ 12 - 0
src/main/java/com/ydtech/modules/order/entity/vo/BaseQuoteVo.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 
 @Data
 @ApiModel(value = "报价实体")
@@ -109,4 +110,15 @@ public class BaseQuoteVo<T> {
     @ApiModelProperty("非车其他费用比例")
     private BigDecimal noOtherCostsProportion;
 
+    @ApiModelProperty("交强险总比例")
+    private BigDecimal jqCostsProportion;
+
+    @ApiModelProperty("商业险总比例")
+    private BigDecimal syCostsProportion;
+
+    @ApiModelProperty("非车险总比例")
+    private BigDecimal noCostsProportion;
+
+    @ApiModelProperty("签单日期")
+    private LocalDateTime signDate;
 }

+ 33 - 8
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java

@@ -442,6 +442,10 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         {
             throw new SystemException("没有找到费用信息");
         }
+        quoteVo.setJqSuperviseCostsProportion(new BigDecimal(costsNews.get(0).getJqCarCostsProportion()));
+        quoteVo.setSySuperviseCostsProportion(new BigDecimal(costsNews.get(0).getSyCarCostsProportion()));
+        quoteVo.setNoSuperviseCostsProportion(new BigDecimal(costsNews.get(0).getNoCarCostsProportion()));
+
 
         InsAreaCompany insAreaCompany = new InsAreaCompany();
         String subOrderNo = IdGenerate.nextId();
@@ -463,8 +467,8 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         insAreaCompany.setSypolicyno(quoteVo.getSypolicyno());
         JSONArray noPolicyno = new JSONArray();
         JSONObject noPolicy = new JSONObject();
-        noPolicy.put("application", quoteVo.getNoPolicy());
-        noPolicyno.add(noPolicyno);
+        noPolicy.put("application", quoteVo.getJypolicyno());
+        noPolicyno.add(noPolicy);
         insAreaCompany.setCrossInsurance(noPolicyno);
 
         insAreaCompany.setRiskinfo(insOrders.getRisk());
@@ -484,6 +488,7 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         insAreaCompany.setOperatorName(BaseController.getUser().getName());
         insAreaCompany.setOperatorTime(new Date());
 
+        insAreaCompany.setSigningTime(quoteVo.getSignDate());
         insAreaCompany.setCreatetime(LocalDateTime.now());
 
         //保存子订单
@@ -492,12 +497,32 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         //保存费用比例
         InsAreaCompanyExternalFee insAreaCompanyExternalFee = new InsAreaCompanyExternalFee();
         insAreaCompanyExternalFee.setSubOrderNo(subOrderNo);
-        insAreaCompanyExternalFee.setJqSuperviseCostsProportion(quoteVo.getJqSuperviseCostsProportion());
-        insAreaCompanyExternalFee.setJqOtherCostsProportion(quoteVo.getJqOtherCostsProportion());
-        insAreaCompanyExternalFee.setSySuperviseCostsProportion(quoteVo.getSySuperviseCostsProportion());
-        insAreaCompanyExternalFee.setSyOtherCostsProportion(quoteVo.getSyOtherCostsProportion());
-        insAreaCompanyExternalFee.setNoSuperviseCostsProportion(quoteVo.getNoSuperviseCostsProportion());
-        insAreaCompanyExternalFee.setNoOtherCostsProportion(quoteVo.getNoOtherCostsProportion());
+        if(quoteVo.getJqSuperviseCostsProportion().compareTo(quoteVo.getJqCostsProportion()) > 0){
+            //总比例等于手续费比例
+            quoteVo.setJqSuperviseCostsProportion(quoteVo.getJqCostsProportion());
+            quoteVo.setJqOtherCostsProportion(new BigDecimal(0));
+        }else{
+            //总比例减去手续费比例 = 跟单比例
+            quoteVo.setJqOtherCostsProportion(quoteVo.getJqCostsProportion().subtract(quoteVo.getJqSuperviseCostsProportion()));
+        }
+
+        if(quoteVo.getSySuperviseCostsProportion().compareTo(quoteVo.getSyCostsProportion()) >= 0){
+            //总比例等于手续费比例
+            quoteVo.setSySuperviseCostsProportion(quoteVo.getSyCostsProportion());
+            quoteVo.setSyOtherCostsProportion(new BigDecimal(0));
+        }else{
+            //总比例减去手续费比例 = 跟单比例
+            quoteVo.setSyOtherCostsProportion(quoteVo.getSyCostsProportion().subtract(quoteVo.getSySuperviseCostsProportion()));
+        }
+
+        if(quoteVo.getNoSuperviseCostsProportion().compareTo(quoteVo.getNoCostsProportion()) >= 0){
+            //总比例等于手续费比例
+            quoteVo.setNoSuperviseCostsProportion(quoteVo.getNoCostsProportion());
+            quoteVo.setNoOtherCostsProportion(new BigDecimal(0));
+        }else{
+            //总比例减去手续费比例 = 跟单比例
+            quoteVo.setNoOtherCostsProportion(quoteVo.getNoCostsProportion().subtract(quoteVo.getNoSuperviseCostsProportion()));
+        }
         this.insAreaCompanyExternalFeeService.save(insAreaCompanyExternalFee);