소스 검색

1.调整商业险种与前台对应商业险种编码与值
2.处理核保驾意险投保单号赋值不上的bug

hxl13994548489 2 년 전
부모
커밋
31330238b0

+ 13 - 1
src/main/java/com/ydtech/modules/order/service/impl/PingAnOrderApiServiceImpl.java

@@ -708,6 +708,7 @@ public class PingAnOrderApiServiceImpl implements PingAnOrderApiService {
                         Boolean jqflag = false;
                         Boolean sqflag = false;
                         Boolean fcflag = false;
+                        String jyPlicyNo=null;
                         //B2 为 未缴费
                         for (DocumentStatusListResponse.DocumentDTO dto : documentList) {
                             if (OrderStatusCodeEnum.ORDER_STATUS_CODE_B2.getCode().equals(dto.getStatus()) && StringUtils.isNotBlank(bizApplyNo) && bizApplyNo.equals(dto.getApplyNo()==null?"":dto.getApplyNo())) {
@@ -716,7 +717,18 @@ public class PingAnOrderApiServiceImpl implements PingAnOrderApiService {
                             if (OrderStatusCodeEnum.ORDER_STATUS_CODE_B2.getCode().equals(dto.getStatus()) && StringUtils.isNotBlank(forceApplyNo) && forceApplyNo.equals(dto.getApplyNo()==null?"":dto.getApplyNo())) {
                                 jqflag = true;
                             }
-                            if (OrderStatusCodeEnum.ORDER_STATUS_CODE_B2.getCode().equals(dto.getStatus()) && StringUtils.isNotBlank(accidentApplyNo) && accidentApplyNo.equals(dto.getApplyNo()==null?"":dto.getApplyNo())) {
+                            List<DocumentStatusListResponse.DocumentDTO.UnAutoListInfoDTO> unAutoListInfo = dto.getUnAutoListInfo();
+                            String applyNo=null;
+                            String policyNo=null;
+                            if(unAutoListInfo!=null && unAutoListInfo.size()>0){
+                                applyNo = unAutoListInfo.get(0).getApplyNo();
+                                policyNo = unAutoListInfo.get(0).getPolicyNo();
+                            }
+                            if (StringUtils.isNotBlank(accidentApplyNo) && accidentApplyNo.equals(applyNo == null ? "" : applyNo)) {
+                                fcflag = true;
+                                jyPlicyNo=policyNo;
+                            }
+                            if (OrderStatusCodeEnum.ORDER_STATUS_CODE_B2.getCode().equals(dto.getStatus()) && StringUtils.isNotBlank(policyNo)) {
                                 fcflag = true;
                             }
                         }

+ 28 - 6
src/main/java/com/ydtech/modules/order/utils/pingan/PingAnQuoteRequestAnnotationParser.java

@@ -49,18 +49,40 @@ public class PingAnQuoteRequestAnnotationParser {
                         String nycflag = annotation.flag();
                         KindInfoVo kindInfoVo_A = map.get("A");
                         KindInfoVo kindInfoVo = map.get(key);
-                        if (nycflag.contains(flag) && kindInfoVo_A!=null) {
-                            if ((InsurKind.A.getCode() + "_YN").equals(key)) {
-                                field.set(quoteRequest, kindInfoVo_A.getAmount() == 0 ? "0" : amount01Default);
+                        if (nycflag.contains(flag)) {
+                            if ((InsurKind.A.getCode() + "_YN").equals(key) ) {
+                                if(kindInfoVo_A!=null){
+                                    //设置车损险的默认值
+                                    field.set(quoteRequest, kindInfoVo_A.getAmount() == 0 ? "0" : amount01Default);
+                                }
                             } else {
-                                if (InsurKind.A.getCode().equals(key) || (InsurKind.A.getCode() + "_YN").equals(key)) {
+                                if (InsurKind.A.getCode().equals(key)) {
                                     field.set(quoteRequest, kindInfoVo == null ? "0" : kindInfoVo.getAmount() == 0 ? "0" : String.format("%.0f", kindInfoVo.getAmount()));
                                 } else {
                                     if (InsurKind.MJ1.getCode().equals(key) || InsurKind.MJ2.getCode().equals(key) || InsurKind.MJ3.getCode().equals(key) || InsurKind.MJ4.getCode().equals(key)) {
                                         field.set(quoteRequest, kindInfoVo == null ? "0" : "0".equals(kindInfoVo.getDeductibleRate()) ? "0" : kindInfoVo.getDeductibleRate().replace("%", ""));
                                     } else {
-                                        //设置商业险的amout字段
-                                        field.set(quoteRequest, kindInfoVo == null ? "0" : kindInfoVo.getAmount() == 0 ? "0" : String.format("%.0f", kindInfoVo.getAmount()));
+                                        // YN 是否
+                                        if(key.contains("_YN")){
+                                            String keys = key.replaceAll("_YN", "");
+                                            kindInfoVo = map.get(keys);
+                                            if(keys.equals("SY_FJ_YBW2") || keys.equals("D4")){
+                                                //SY_FJ_YBW2、D4是从unitAmount中获取的值
+                                                field.set(quoteRequest, kindInfoVo == null ? "0" : kindInfoVo.getUnitAmount() == 0 ? "0" : String.format("%.0f", kindInfoVo.getUnitAmount()));
+                                            }else{
+                                                field.set(quoteRequest, kindInfoVo == null ? "0" : kindInfoVo.getAmount() == 0 ? "0" : "1");
+                                            }
+
+                                        }else{
+                                            if(key.equals("SY_FJ_YBW2") || key.equals("D4")){
+                                                //设置商业险的amout字段
+                                                field.set(quoteRequest, kindInfoVo == null ? "0" : kindInfoVo.getUnitAmount() == 0 ? "0" : String.format("%.0f", kindInfoVo.getUnitAmount()));
+                                            }else{
+                                                //设置商业险的amout字段
+                                                field.set(quoteRequest, kindInfoVo == null ? "0" : kindInfoVo.getAmount() == 0 ? "0" : String.format("%.0f", kindInfoVo.getAmount()));
+                                            }
+
+                                        }
                                     }
                                 }
                             }