Przeglądaj źródła

永城添加新能源产品报价

li.pengfei 2 lat temu
rodzic
commit
ddfa418469

+ 10 - 2
src/main/java/com/ydtech/modules/ins/model/yc/ruote/Base.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.ins.model.yc.ruote;
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
 import com.ydtech.constants.enums.InsuranceRisk;
 import com.ydtech.modules.ins.model.dto.CarInsDateDto;
+import com.ydtech.modules.ins.model.vo.CarInfoVo;
 import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
 import com.ydtech.modules.ins.model.yc.YcConfigureParameters;
@@ -304,7 +305,7 @@ public class Base {
     private String tInsrncEndTmYW;
 
 
-    public static Base buildBase(CustomerInfoVo policyHolderInfo, CustomerInfoVo insuredPersonInfo, List<RiskInfoVo> riskList, YcConfigureParameters ycConfigureParameters) {
+    public static Base buildBase(CarInfoVo carInfo,CustomerInfoVo policyHolderInfo, CustomerInfoVo insuredPersonInfo, List<RiskInfoVo> riskList, YcConfigureParameters ycConfigureParameters) {
         Base base = new Base();
 
         base.setCDptCde(ycConfigureParameters.getDptCde());
@@ -373,7 +374,14 @@ public class Base {
             base.setTInsrncBgnTmSY(biRiskInfo.getStartDate());
             base.setTInsrncEndTmSY(biRiskInfo.getEndDate());
             base.setAppSYFlag("Y");
-            base.setCProdNoSY("0364");
+            if("1,2,3,".contains(carInfo.getEnergyType())){
+                //新能源险种拼装
+                base.setCProdNoSY("0369");
+            }else{
+                //机动车险种拼装
+                base.setCProdNoSY("0364");
+            }
+
         }
 
         return base;

+ 48 - 21
src/main/java/com/ydtech/modules/ins/model/yc/ruote/CvrgListSY.java

@@ -81,29 +81,56 @@ public class CvrgListSY {
         kindList.stream().forEach(a -> {
             CvrgListSY.CvrgSY bean = new CvrgListSY.CvrgSY();
             String txt4 = (StringUtils.toDouble(a.getDeductibleRate(), 0) / 100) + "";
-
-            //第三者责任险
-            if (a.getKindCode().equals(InsurKind.B.getCode())) {
-                bean.setCCvrgNo("030018");
-            }
-            //乘客责任险
-            if (a.getKindCode().equals(InsurKind.D4.getCode())) {
-                bean.setCCvrgNo("030102");
-                bean.setNLiabDaysLmt(passenger);
+            if("32773002,32773003,32773004,".contains(vhl.getFuelType())) {
+                //新能源产品险别拼装(商业)
+                //第三者责任险
+                if (a.getKindCode().equals(InsurKind.B.getCode())) {
+                    bean.setCCvrgNo("030227");
+                }
+                //乘客责任险
+                if (a.getKindCode().equals(InsurKind.D4.getCode())) {
+                    bean.setCCvrgNo("030229");
+                    bean.setNLiabDaysLmt(passenger);
 //                bean.setNLiabDaysLmt("4");
-                bean.setNPerAmt(((int) a.getUnitAmount()) + "");
-            }
-            //机动车损失险
-            if (a.getKindCode().equals(InsurKind.A.getCode())) {
-                bean.setCCvrgNo("030006");
+                    bean.setNPerAmt(((int) a.getUnitAmount()) + "");
+                }
+                //机动车损失险
+                if (a.getKindCode().equals(InsurKind.A.getCode())) {
+                    bean.setCCvrgNo("030226");
+//                    bean.setCResvTxt2("341003001");
+                    bean.setNPerAmt(vhl.getNActualValue());
+                }
+                //司机责任险
+                if (a.getKindCode().equals(InsurKind.D3.getCode())) {
+                    bean.setCCvrgNo("030228");
+                    bean.setNLiabDaysLmt("1");
+                }
+            }else{
+                //机动车产品险别拼装(商业)
+                //第三者责任险
+                if (a.getKindCode().equals(InsurKind.B.getCode())) {
+                    bean.setCCvrgNo("030018");
+                }
+                //乘客责任险
+                if (a.getKindCode().equals(InsurKind.D4.getCode())) {
+                    bean.setCCvrgNo("030102");
+                    bean.setNLiabDaysLmt(passenger);
+//                bean.setNLiabDaysLmt("4");
+                    bean.setNPerAmt(((int) a.getUnitAmount()) + "");
+                }
+                //机动车损失险
+                if (a.getKindCode().equals(InsurKind.A.getCode())) {
+                    bean.setCCvrgNo("030006");
 //                bean.setCResvTxt2("341003001");
-                bean.setNPerAmt(vhl.getNActualValue());
-            }
-            //司机责任险
-            if (a.getKindCode().equals(InsurKind.D3.getCode())) {
-                bean.setCCvrgNo("030101");
-                bean.setNLiabDaysLmt("1");
+                    bean.setNPerAmt(vhl.getNActualValue());
+                }
+                //司机责任险
+                if (a.getKindCode().equals(InsurKind.D3.getCode())) {
+                    bean.setCCvrgNo("030101");
+                    bean.setNLiabDaysLmt("1");
+                }
             }
+
             //附加绝对免赔率特约条款(车损)
             if (a.getKindCode().equals(InsurKind.MJ1.getCode())) {
                 bean.setCCvrgNo("030213");
@@ -131,7 +158,7 @@ public class CvrgListSY {
                 bean.setCCvrgNo("030108");
 //                bean.setCResvTxt4(a.getDeductibleRate());
             }
-            //车身划痕
+            //附加法定节假日限额翻倍
             if (a.getKindCode().equals(InsurKind.BD.getCode())) {
                 bean.setCCvrgNo("030019");
 //                bean.setCResvTxt4(a.getDeductibleRate());

+ 1 - 1
src/main/java/com/ydtech/modules/ins/model/yc/ruote/Ruote.java

@@ -176,7 +176,7 @@ public class Ruote {
         /**
          * 基本信息 base
          */
-        Base base = Base.buildBase(policyHolderInfo,insuredPersonInfo,riskList, ycConfigureParameters);
+        Base base = Base.buildBase(carInfo,policyHolderInfo,insuredPersonInfo,riskList, ycConfigureParameters);
         condition.setBase(base);
 
         /**

+ 15 - 1
src/main/java/com/ydtech/modules/ins/model/yc/ruote/Vhl.java

@@ -379,7 +379,21 @@ public class Vhl {
         String enginedesc = carInfo.getEnginedesc();
         vhl.setNDisplacement(enginedesc);
         vhl.setNDefDisplacement(enginedesc);
-        vhl.setFuelType("32773001");
+        String fullType="32773001";//默认燃油
+        if("0".equals(carInfo.getEnergyType())){
+            fullType="32773001";  //燃油
+        }else if("1".equals(carInfo.getEnergyType())){
+            fullType="32773002";  //纯电动
+        }else if("2".equals(carInfo.getEnergyType())){
+            fullType="32773003";  //燃料电池
+        }else if("3".equals(carInfo.getEnergyType())){
+            fullType="32773004";  //插电式混合动力
+        }else if("4".equals(carInfo.getEnergyType())){
+            fullType="32773005";  //其他混合动力
+        }else if("5".equals(carInfo.getEnergyType())){
+            fullType="32773006";  //其他
+        }
+        vhl.setFuelType(fullType);
 //        vhl.setNActualValue(String.valueOf((Double.parseDouble(carInfo.getPurchasePrice()) * 0.9)));
 //        vhl.setNNewPurchaseValue(String.valueOf((Double.parseDouble(carInfo.getPurchasePrice()) * 0.9)));
         vhl.setNPureRange("0.0");