Selaa lähdekoodia

太平更新状态未赋值

Qchen 5 päivää sitten
vanhempi
commit
647500b091

+ 68 - 13
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerPremiumCalculateRequest.java

@@ -116,7 +116,8 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         Optional.ofNullable(quoteVo.getCiRiskInfoVo()).ifPresent(ciRiskInfoVo -> {
             this.pfItemKind0801DtoList = List.of(PfItemKind0801DtoListDTO.getCiKindInfo());
         });
-        this.pfItemKind0802DtoList = PfItemKind0802DtoListDTO.buildKindList(quoteVo.getKindInfoVo(),carActualValue,Integer.parseInt(quoteVo.getCarInfoVo().getSeatCount()));
+        boolean isNewEnergy = !quoteVo.getCarInfoVo().getEnergyTypeCode().equals("0") && !quoteVo.getCarInfoVo().getEnergyTypeCode().equals("4");
+        this.pfItemKind0802DtoList = PfItemKind0802DtoListDTO.buildKindList(quoteVo.getKindInfoVo(),carActualValue,Integer.parseInt(quoteVo.getCarInfoVo().getSeatCount()),isNewEnergy);
         this.clauseList0801 = new ArrayList<>();
         this.clauseList0802 = new ArrayList<>();
         this.orderNo = orderNo;
@@ -144,12 +145,14 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         // 驾意险
         this.fcProductList = new ArrayList<>();
         this.cjcSaleInfoDto = new Object();
-        this.fCsaleinfoDto = new FCsaleinfoDTO(record, parameters,taiPingCrawlerFindSolutionCodeData,orderNo);
+        if (quoteVo.getAccidentalDrivings()!=null && !quoteVo.getAccidentalDrivings().isEmpty()) {
+            this.fCsaleinfoDto = new FCsaleinfoDTO(record, parameters,taiPingCrawlerFindSolutionCodeData,orderNo);
+        }
         this.businessType = "Proposal";
         this.optType = "N";
         this.personInd = "C";
         this.productType = "1";
-        this.isMatchClause = true;
+//        this.isMatchClause = true;
     }
 
     @NoArgsConstructor
@@ -2106,7 +2109,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("serviceTimes")
         private String serviceTimes;
 
-        public static List<PfItemKind0802DtoListDTO> buildKindList(List<KindInfoVo> kindInfoVoList,String actualValue,Integer seatCount) {
+        public static List<PfItemKind0802DtoListDTO> buildKindList(List<KindInfoVo> kindInfoVoList,String actualValue,Integer seatCount,boolean isNewEnergy) {
             List<PfItemKind0802DtoListDTO> kindList = new ArrayList<>();
             for (KindInfoVo kindInfoVo : kindInfoVoList) {
                 PfItemKind0802DtoListDTO kind = new PfItemKind0802DtoListDTO();
@@ -2115,6 +2118,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
                 if (kindCodeEnum.getKindInd().equals("1")) {
                     kind.setRiskCode("0802");
                 }
+                kind.setKindName(kindInfoVo.getKindName());
                 kind.setKindInd(kindCodeEnum.getKindInd());
                 kind.setKindCode(kindCode);
                 kind.setShortRate(100);
@@ -2123,17 +2127,27 @@ public class TaiPingCrawlerPremiumCalculateRequest {
                 kind.setRelatedInd("0");
                 kind.setRelatedFlagFG2020("0");
                 kind.setRelatedFlagFG2020Type(false);
-                kind.setValueType("");
+                kind.setValueType(null);
                 kind.setClauseType(false);
                 kind.setNoChange(true);
+                kind.setShareModel("0");
                 kind.setSumInsured(kindInfoVo.getAmount());
                 kind.setUnitInsured(kindInfoVo.getAmount());
+                if (kindInfoVo.getDeductibleRate().equals("0")) {
+                    kind.setDeductible("0");
+                }
                 // 车损险
                 if (kindCodeEnum.getKindCode().equals("0301200") || kindCodeEnum.getKindCode().equals("0401200")) {
                     kind.setSumInsured(actualValue);
                     kind.setMax(actualValue);
-                    kind.setDisplayNo(0);
-                    kind.setSrcIndex(0);
+                    if (kindCodeEnum.getKindCode().equals("0301200")) {
+                        kind.setDisplayNo(0);
+                        kind.setSrcIndex(0);
+                    }
+                    if (kindCodeEnum.getKindCode().equals("0401200")) {
+                        kind.setDisplayNo(1);
+                        kind.setSrcIndex(1);
+                    }
                     kind.setDeductible("0");
                     kind.setDeductibleRate("");
                     kind.setRelatedFlagFG2020("1");
@@ -2142,25 +2156,66 @@ public class TaiPingCrawlerPremiumCalculateRequest {
                 // 三者险
                 if (kindCodeEnum.getKindCode().equals("0301600") || kindCodeEnum.getKindCode().equals("0401600")) {
                     kind.setSumInsured(kindInfoVo.getAmount());
-                    kind.setDisplayNo(2);
-                    kind.setSrcIndex(2);
+                    kind.setDisplayNo(0);
+                    kind.setSrcIndex(0);
+                }
+                // 医保外三者
+                if (kindCodeEnum.getKindCode().equals("0301002") && !isNewEnergy) {
+                    kind.setDisplayNo(1);
+                    kind.setSrcIndex(1);
                 }
-                // 司机
+                if (kindCodeEnum.getKindCode().equals("0301002") && isNewEnergy) {
+                    kind.setDisplayNo(4);
+                    kind.setSrcIndex(4);
+                }
+                // 机动车车上人员责任保险(司机)
                 if (kindCodeEnum.getKindCode().equals("0301701") || kindCodeEnum.getKindCode().equals("0401701") || kindCodeEnum.getKindCode().equals("0301011")) {
                     kind.setQuantity(1);
                     kind.setUnitInsured(kindInfoVo.getUnitAmount());
                     kind.setSumInsured(kindInfoVo.getAmount());
-                    kind.setDisplayNo(4);
-                    kind.setSrcIndex(4);
+                    kind.setDisplayNo(2);
+                    kind.setSrcIndex(2);
+                }
+                // 医保外司机
+                if (kindCodeEnum.getKindCode().equals("0301011") && !isNewEnergy) {
+                    kind.setDisplayNo(3);
+                    kind.setSrcIndex(3);
                 }
-                // 乘客
+                if (kindCodeEnum.getKindCode().equals("0301011") && isNewEnergy) {
+                    kind.setDisplayNo(5);
+                    kind.setSrcIndex(5);
+                }
+                // 机动车车上人员责任保险(乘客)
                 if (kindCodeEnum.getKindCode().equals("0301702") || kindCodeEnum.getKindCode().equals("0401702") || kindCodeEnum.getKindCode().equals("0301012")) {
                     kind.setQuantity(seatCount - 1);
                     kind.setUnitInsured(kindInfoVo.getUnitAmount());
                     kind.setSumInsured(String.valueOf(new BigDecimal(kindInfoVo.getUnitAmount()).multiply(new BigDecimal(seatCount - 1))));
+                    kind.setDisplayNo(4);
+                    kind.setSrcIndex(4);
+                    if (isNewEnergy) {
+                        kind.setSrcIndex(3);
+                        kind.setDisplayNo(3);
+                    }
+                }
+                // 医保外乘客
+                if (kindCodeEnum.getKindCode().equals("0301012") && !isNewEnergy) {
+                    kind.setSrcIndex(5);
+                    kind.setDisplayNo(5);
+                }
+                if (kindCodeEnum.getKindCode().equals("0301012") && isNewEnergy) {
                     kind.setDisplayNo(6);
                     kind.setSrcIndex(6);
                 }
+                // 车身划痕
+                if (kindCodeEnum.getKindCode().equals("0301210")) {
+                    kind.setSrcIndex(1);
+                    kind.setDisplayNo(1);
+                }
+                // 附加电网故障损失险
+                if (kindCodeEnum.getKindCode().equals("0401201")) {
+                    kind.setDisplayNo(4);
+                    kind.setSrcIndex(4);
+                }
                 // 绝对免赔率
                 if (kindCodeEnum.getKindCode().equals("0301008") || kindCodeEnum.getKindCode().equals("0301009") || kindCodeEnum.getKindCode().equals("0301010")) {
                     kind.setDeductible(kindInfoVo.getDeductibleRate());

+ 1 - 1
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/service/impl/TaipingCrawlerRequestImpl.java

@@ -538,7 +538,7 @@ public class TaipingCrawlerRequestImpl implements TaipingCrawlerRequest {
             // 人工核保
             underwritingResultsVo.setUnderwritingResult("人工核保");
             underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.STAFF_PROCESS);
-        } else if ("2".equals(jqUnderWriteInd) || "2".equals(syUnderWriteInd)) {
+        } else if ("2".equals(jqUnderWriteInd) || "2".equals(syUnderWriteInd) || "0".equals(jqUnderWriteInd) || "0".equals(syUnderWriteInd)) {
             // 核保失败
             underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
             underwritingResultsVo.setUnderwritingResult("核保失败");