瀏覽代碼

修改代码

bifrons 2 年之前
父節點
當前提交
84f46f8605

+ 33 - 1
src/main/java/com/ydtech/modules/order/aop/aspect/QuoteVerificationAspect.java

@@ -1,11 +1,15 @@
 package com.ydtech.modules.order.aop.aspect;
 package com.ydtech.modules.order.aop.aspect;
 
 
 
 
+import com.ydtech.constants.enums.InsuranceRisk;
+import com.ydtech.constants.enums.dict.agreement.ProductsType;
 import com.ydtech.constants.sys.SystemConstant;
 import com.ydtech.constants.sys.SystemConstant;
 import com.ydtech.modules.admin.model.SysUserRole;
 import com.ydtech.modules.admin.model.SysUserRole;
 import com.ydtech.modules.admin.service.SysUserRoleService;
 import com.ydtech.modules.admin.service.SysUserRoleService;
 import com.ydtech.modules.admin.service.SysUserService;
 import com.ydtech.modules.admin.service.SysUserService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.ins.model.vo.KindInfoVo;
+import com.ydtech.modules.ins.model.vo.RiskInfoVo;
 import com.ydtech.modules.order.components.InsOrdersComponents;
 import com.ydtech.modules.order.components.InsOrdersComponents;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
@@ -20,6 +24,7 @@ import org.aspectj.lang.annotation.Before;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.Arrays;
 import java.util.Arrays;
+import java.util.List;
 
 
 @Slf4j
 @Slf4j
 @Aspect
 @Aspect
@@ -54,7 +59,34 @@ public class QuoteVerificationAspect {
 
 
                 //税源查询
                 //税源查询
                 BaseQuoteInfoVo quoteInfo = insOrdersComponents.getQuoteInfo(orderno, agreementId);
                 BaseQuoteInfoVo quoteInfo = insOrdersComponents.getQuoteInfo(orderno, agreementId);
-                String productid = quoteInfo.getProductid();
+                String productid ;
+                List<KindInfoVo> kinds = quoteInfo.getKindList();
+                List<RiskInfoVo> risks = quoteInfo.getRiskList();
+
+                ProductsType productsType;
+                boolean haveCarDamageKind = false;//是否含车损
+                boolean haveBusiKind = false;//是否含车损外的商业险种
+                for (KindInfoVo kindInfoVo : kinds) {
+                    String code = kindInfoVo.getKindCode();
+                    // 车损
+                    if ("A".equalsIgnoreCase(code)) {
+                        haveCarDamageKind = true;
+                    }
+                    if ("B,D3,D4,".contains(code + ",")) {
+                        haveBusiKind = true;
+                    }
+                }
+                if (risks.size() == 1 && InsuranceRisk.TRAFFIC.getCode().equals(risks.get(0).getRiskCode())) {
+                    productid = ProductsType.PT_0330.getCode();//单交
+                } else if (risks.size() == 1 && !haveCarDamageKind && haveBusiKind) {
+                    productid = ProductsType.PT_034002.getCode();//单三
+                } else if (risks.size() == 1) {
+                    productid = ProductsType.PT_034001.getCode();//单商
+                } else if (risks.size() == 2 && !haveCarDamageKind && haveBusiKind) {
+                    productid = ProductsType.PT_0330034002.getCode();//交三
+                } else {
+                    productid = ProductsType.PT_0330034001.getCode();//交商
+                }
                 String taxAgreementId = taxSourceService.getAgreementId(deptId, userId, companyId, quoteInfo.getCarInfo().getLicenseNo(), quoteInfo.getCarInfo().getEnginedesc(), productid);
                 String taxAgreementId = taxSourceService.getAgreementId(deptId, userId, companyId, quoteInfo.getCarInfo().getLicenseNo(), quoteInfo.getCarInfo().getEnginedesc(), productid);
                 if(!"".equals(taxAgreementId)){
                 if(!"".equals(taxAgreementId)){
                     ((BaseQuoteVo<?>) arg).setAgreementId(taxAgreementId);
                     ((BaseQuoteVo<?>) arg).setAgreementId(taxAgreementId);

+ 4 - 0
src/main/java/com/ydtech/modules/order/components/InsOrdersComponents.java

@@ -51,6 +51,10 @@ public class InsOrdersComponents {
     }
     }
 
 
 
 
+
+
+
+
     /**
     /**
      * 通过订单号校验核保规则
      * 通过订单号校验核保规则
      * 通订单号获取报价信息
      * 通订单号获取报价信息

+ 1 - 4
src/main/java/com/ydtech/modules/order/entity/vo/BaseQuoteInfoVo.java

@@ -24,8 +24,7 @@ public class BaseQuoteInfoVo extends YaQuoteInfoVo {
     @ApiModelProperty("代客录单用-实际业务归属人")
     @ApiModelProperty("代客录单用-实际业务归属人")
     private String userId;
     private String userId;
 
 
-    @ApiModelProperty("险种id")
-    private String productid;
+
 
 
     public BaseQuoteInfoVo() {
     public BaseQuoteInfoVo() {
     }
     }
@@ -33,8 +32,6 @@ public class BaseQuoteInfoVo extends YaQuoteInfoVo {
     public BaseQuoteInfoVo(InsOrders insOrders) {
     public BaseQuoteInfoVo(InsOrders insOrders) {
         super(insOrders);
         super(insOrders);
         this.orderNo = insOrders.getOrderno();
         this.orderNo = insOrders.getOrderno();
-        // 返回险种
-        this.productid = insOrders.getProductid();
         this.vehicleAndVesselTax = insOrders.getVehicleAndVesselTax().toJavaObject(VehicleAndVesselTax.class);
         this.vehicleAndVesselTax = insOrders.getVehicleAndVesselTax().toJavaObject(VehicleAndVesselTax.class);
     }
     }