|
|
@@ -0,0 +1,894 @@
|
|
|
+package com.jzg.quotation.bohai.crawler.entity.request.quote;
|
|
|
+
|
|
|
+import cn.hutool.core.date.DateTime;
|
|
|
+import com.fasterxml.jackson.annotation.JsonProperty;
|
|
|
+import com.jzg.commons.entity.quote.vo.RiskInfoVo;
|
|
|
+import com.jzg.quotation.bohai.enums.dictionary.CIKind;
|
|
|
+import com.jzg.quotation.bohai.enums.dictionary.PayCarType;
|
|
|
+import com.jzg.quotation.bohai.enums.dictionary.TaxTypeYn;
|
|
|
+import com.jzg.quotation.commons.utils.TimeProcessing;
|
|
|
+import lombok.Data;
|
|
|
+import lombok.NoArgsConstructor;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 大家财险交强险信息DTO
|
|
|
+ */
|
|
|
+@Data
|
|
|
+public class CompulsoryInsuranceDTO {
|
|
|
+
|
|
|
+ /** 产品信息 */
|
|
|
+ @JsonProperty("productInfo")
|
|
|
+ private ProductInfoDTO productInfo;
|
|
|
+
|
|
|
+ /** 险种明细列表 */
|
|
|
+ @JsonProperty("itemKinds")
|
|
|
+ private List<ItemKindsDTO> itemKinds;
|
|
|
+
|
|
|
+ /** 车船税信息 */
|
|
|
+ @JsonProperty("carShipTax")
|
|
|
+ private CarShipTaxDTO carShipTax;
|
|
|
+
|
|
|
+ /** 系数信息 */
|
|
|
+ @JsonProperty("coefficientInfo")
|
|
|
+ private CoefficientInfoDTO coefficientInfo;
|
|
|
+
|
|
|
+ /** 平台信息 */
|
|
|
+ @JsonProperty("platformInfo")
|
|
|
+ private String platformInfo;
|
|
|
+
|
|
|
+ /** UBI信息 */
|
|
|
+ @JsonProperty("ubiMessage")
|
|
|
+ private String ubiMessage;
|
|
|
+
|
|
|
+ /** 费用信息 */
|
|
|
+ @JsonProperty("feeInfos")
|
|
|
+ private String feeInfos;
|
|
|
+
|
|
|
+ /** 特殊信息列表 */
|
|
|
+ @JsonProperty("specialInfos")
|
|
|
+ private List<Object> specialInfos;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 构造交强险信息
|
|
|
+ *
|
|
|
+ * @param ciRiskInfoVo 交强险风险信息
|
|
|
+ * @param vehicleExhaust 车辆排量
|
|
|
+ * @param seatCount 座位数
|
|
|
+ * @param completeKerbMass 整备质量
|
|
|
+ */
|
|
|
+ public CompulsoryInsuranceDTO(RiskInfoVo ciRiskInfoVo, double vehicleExhaust, int seatCount, String completeKerbMass) {
|
|
|
+ this.productInfo = new ProductInfoDTO(ciRiskInfoVo);
|
|
|
+ this.itemKinds = ItemKindsDTO.getKinds();
|
|
|
+ this.carShipTax = new CarShipTaxDTO(vehicleExhaust, seatCount, completeKerbMass);
|
|
|
+ this.coefficientInfo = new CoefficientInfoDTO();
|
|
|
+ this.specialInfos = List.of();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 默认构造函数
|
|
|
+ */
|
|
|
+ public CompulsoryInsuranceDTO() {
|
|
|
+ this.coefficientInfo = new CoefficientInfoDTO();
|
|
|
+ this.carShipTax = new CarShipTaxDTO();
|
|
|
+ this.itemKinds = List.of();
|
|
|
+ this.productInfo = new ProductInfoDTO();
|
|
|
+ this.specialInfos = List.of();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 交强险产品信息DTO
|
|
|
+ */
|
|
|
+ @NoArgsConstructor
|
|
|
+ @Data
|
|
|
+ public static class ProductInfoDTO {
|
|
|
+
|
|
|
+ @JsonProperty("businessID")
|
|
|
+ private String businessID;
|
|
|
+ @JsonProperty("effective")
|
|
|
+ private String effective;
|
|
|
+ @JsonProperty("startDate")
|
|
|
+ private String startDate;
|
|
|
+ @JsonProperty("endDate")
|
|
|
+ private String endDate;
|
|
|
+ @JsonProperty("productCode")
|
|
|
+ private String productCode;
|
|
|
+ @JsonProperty("proposalNo")
|
|
|
+ private String proposalNo;
|
|
|
+ @JsonProperty("proposalTime")
|
|
|
+ private String proposalTime;
|
|
|
+ @JsonProperty("premium")
|
|
|
+ private String premium;
|
|
|
+ @JsonProperty("feeRate")
|
|
|
+ private String feeRate;
|
|
|
+ @JsonProperty("feeCoef")
|
|
|
+ private String feeCoef;
|
|
|
+ @JsonProperty("proposalStatus")
|
|
|
+ private String proposalStatus;
|
|
|
+ @JsonProperty("tgtObjCpkid")
|
|
|
+ private String tgtObjCpkid;
|
|
|
+ @JsonProperty("artificialFlag")
|
|
|
+ private String artificialFlag;
|
|
|
+ @JsonProperty("flatCarReinsuredMessage")
|
|
|
+ private String flatCarReinsuredMessage;
|
|
|
+ @JsonProperty("caclCode")
|
|
|
+ private String caclCode;
|
|
|
+ @JsonProperty("resultCode")
|
|
|
+ private String resultCode;
|
|
|
+ @JsonProperty("underwritingCode")
|
|
|
+ private String underwritingCode;
|
|
|
+ @JsonProperty("message")
|
|
|
+ private String message;
|
|
|
+ @JsonProperty("errorMessage")
|
|
|
+ private String errorMessage;
|
|
|
+ @JsonProperty("lastPolicyNo")
|
|
|
+ private String lastPolicyNo;
|
|
|
+ @JsonProperty("lastEndDate")
|
|
|
+ private String lastEndDate;
|
|
|
+ @JsonProperty("policyNo")
|
|
|
+ private String policyNo;
|
|
|
+ @JsonProperty("quotedNo")
|
|
|
+ private String quotedNo;
|
|
|
+ @JsonProperty("performanceRate")
|
|
|
+ private String performanceRate;
|
|
|
+ @JsonProperty("teamManageFeeRate")
|
|
|
+ private String teamManageFeeRate;
|
|
|
+ @JsonProperty("underWriteMessage")
|
|
|
+ private String underWriteMessage;
|
|
|
+ @JsonProperty("underWriteMessageRecord")
|
|
|
+ private String underWriteMessageRecord;
|
|
|
+ @JsonProperty("sumPremium")
|
|
|
+ private String sumPremium;
|
|
|
+ @JsonProperty("discount")
|
|
|
+ private String discount;
|
|
|
+ @JsonProperty("valueAddTax")
|
|
|
+ private String valueAddTax;
|
|
|
+ @JsonProperty("noTaxSumPremium")
|
|
|
+ private String noTaxSumPremium;
|
|
|
+ @JsonProperty("sumInsured")
|
|
|
+ private String sumInsured;
|
|
|
+ @JsonProperty("invoiceForm")
|
|
|
+ private String invoiceForm;
|
|
|
+ @JsonProperty("meal")
|
|
|
+ private String meal;
|
|
|
+ @JsonProperty("renewMark")
|
|
|
+ private String renewMark;
|
|
|
+ @JsonProperty("serviceCode")
|
|
|
+ private String serviceCode;
|
|
|
+ @JsonProperty("day")
|
|
|
+ private String day;
|
|
|
+ @JsonProperty("elProposal")
|
|
|
+ private String elProposal;
|
|
|
+ @JsonProperty("elPolicy")
|
|
|
+ private String elPolicy;
|
|
|
+ @JsonProperty("selfMark")
|
|
|
+ private String selfMark;
|
|
|
+ @JsonProperty("issueDate")
|
|
|
+ private String issueDate;
|
|
|
+ @JsonProperty("syAdjustRate")
|
|
|
+ private String syAdjustRate;
|
|
|
+ @JsonProperty("isReform")
|
|
|
+ private String isReform;
|
|
|
+ @JsonProperty("taxRate")
|
|
|
+ private String taxRate;
|
|
|
+ @JsonProperty("taxPrm")
|
|
|
+ private String taxPrm;
|
|
|
+ @JsonProperty("lastYearEndDateSy")
|
|
|
+ private String lastYearEndDateSy;
|
|
|
+ @JsonProperty("planId")
|
|
|
+ private String planId;
|
|
|
+ @JsonProperty("planName")
|
|
|
+ private String planName;
|
|
|
+ @JsonProperty("number")
|
|
|
+ private String number;
|
|
|
+ @JsonProperty("perPrmSum")
|
|
|
+ private String perPrmSum;
|
|
|
+ @JsonProperty("perAmtSum")
|
|
|
+ private String perAmtSum;
|
|
|
+ @JsonProperty("lastYearEndDateJq")
|
|
|
+ private String lastYearEndDateJq;
|
|
|
+ @JsonProperty("orginAppNo")
|
|
|
+ private String orginAppNo;
|
|
|
+ @JsonProperty("plyCrtTm")
|
|
|
+ private String plyCrtTm;
|
|
|
+ @JsonProperty("adjustProportion")
|
|
|
+ private String adjustProportion;
|
|
|
+ @JsonProperty("basePremium")
|
|
|
+ private String basePremium;
|
|
|
+ @JsonProperty("province")
|
|
|
+ private String province;
|
|
|
+ @JsonProperty("city")
|
|
|
+ private String city;
|
|
|
+ @JsonProperty("county")
|
|
|
+ private String county;
|
|
|
+ @JsonProperty("street")
|
|
|
+ private String street;
|
|
|
+ @JsonProperty("subAddress")
|
|
|
+ private String subAddress;
|
|
|
+ @JsonProperty("houseConstruction")
|
|
|
+ private String houseConstruction;
|
|
|
+ @JsonProperty("uncarPayMark")
|
|
|
+ private String uncarPayMark;
|
|
|
+ @JsonProperty("serialNo")
|
|
|
+ private String serialNo;
|
|
|
+ @JsonProperty("uncarDateMark")
|
|
|
+ private String uncarDateMark;
|
|
|
+ @JsonProperty("supFlag")
|
|
|
+ private String supFlag;
|
|
|
+
|
|
|
+ public ProductInfoDTO(RiskInfoVo ciRiskInfoVo) {
|
|
|
+ this.businessID = "KSCD";
|
|
|
+ this.day = "365";
|
|
|
+ this.effective = "0";
|
|
|
+ this.elPolicy = "";
|
|
|
+ this.endDate = TimeProcessing.minusOneSecondAfterYear(ciRiskInfoVo.getStartDate());;
|
|
|
+ this.feeCoef = "";
|
|
|
+ this.feeRate = "";
|
|
|
+ this.lastPolicyNo = "";
|
|
|
+ this.policyNo = "";
|
|
|
+ this.premium = "0.00";
|
|
|
+ this.productCode = "0320";
|
|
|
+ this.proposalNo = "";
|
|
|
+ this.proposalStatus = "";
|
|
|
+ this.proposalTime = "";
|
|
|
+ this.renewMark = "";
|
|
|
+ this.selfMark = "";
|
|
|
+ this.startDate = ciRiskInfoVo.getStartDate();
|
|
|
+ this.isReform = "1";
|
|
|
+ this.taxRate = "";
|
|
|
+ this.noTaxSumPremium = "";
|
|
|
+ this.taxPrm = "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 车船税信息DTO
|
|
|
+ */
|
|
|
+ @NoArgsConstructor
|
|
|
+ @Data
|
|
|
+ public static class CarShipTaxDTO {
|
|
|
+ @JsonProperty("proposalNo")
|
|
|
+ private String proposalNo;
|
|
|
+ @JsonProperty("taxPayWay")
|
|
|
+ private String taxPayWay;
|
|
|
+ @JsonProperty("oldTaxPayWay")
|
|
|
+ private String oldTaxPayWay;
|
|
|
+ @JsonProperty("taxPayFlag")
|
|
|
+ private String taxPayFlag;
|
|
|
+ @JsonProperty("energyType")
|
|
|
+ private String energyType;
|
|
|
+ @JsonProperty("calculateWay")
|
|
|
+ private String calculateWay;
|
|
|
+ @JsonProperty("taxVehicleTypeCode")
|
|
|
+ private String taxVehicleTypeCode;
|
|
|
+ @JsonProperty("taxVhlType")
|
|
|
+ private String taxVhlType;
|
|
|
+ @JsonProperty("weight")
|
|
|
+ private String weight;
|
|
|
+ @JsonProperty("taxRegistryNumber")
|
|
|
+ private String taxRegistryNumber;
|
|
|
+ @JsonProperty("taxpayerIdentifier")
|
|
|
+ private String taxpayerIdentifier;
|
|
|
+ @JsonProperty("taxPayerName")
|
|
|
+ private String taxPayerName;
|
|
|
+ @JsonProperty("payerIdentifyType")
|
|
|
+ private String payerIdentifyType;
|
|
|
+ @JsonProperty("identifyNumber")
|
|
|
+ private String identifyNumber;
|
|
|
+ @JsonProperty("phone")
|
|
|
+ private String phone;
|
|
|
+ @JsonProperty("startDate")
|
|
|
+ private String startDate;
|
|
|
+ @JsonProperty("lastPayYear")
|
|
|
+ private String lastPayYear;
|
|
|
+ @JsonProperty("lastEndDate")
|
|
|
+ private String lastEndDate;
|
|
|
+ @JsonProperty("taxOfficeCode")
|
|
|
+ private String taxOfficeCode;
|
|
|
+ @JsonProperty("taxOfficeName")
|
|
|
+ private String taxOfficeName;
|
|
|
+ @JsonProperty("previousPay")
|
|
|
+ private String previousPay;
|
|
|
+ @JsonProperty("taxDue")
|
|
|
+ private String taxDue;
|
|
|
+ @JsonProperty("taxActual")
|
|
|
+ private String taxActual;
|
|
|
+ @JsonProperty("taxReliefPlan")
|
|
|
+ private String taxReliefPlan;
|
|
|
+ @JsonProperty("taxReductionReason")
|
|
|
+ private String taxReductionReason;
|
|
|
+ @JsonProperty("abateAmt")
|
|
|
+ private String abateAmt;
|
|
|
+ @JsonProperty("freeRate")
|
|
|
+ private String freeRate;
|
|
|
+ @JsonProperty("taxDocumentNumber")
|
|
|
+ private String taxDocumentNumber;
|
|
|
+ @JsonProperty("comDocumentNumber")
|
|
|
+ private String comDocumentNumber;
|
|
|
+ @JsonProperty("payStartTm")
|
|
|
+ private String payStartTm;
|
|
|
+ @JsonProperty("payEndTm")
|
|
|
+ private String payEndTm;
|
|
|
+ @JsonProperty("totalTax")
|
|
|
+ private String totalTax;
|
|
|
+ @JsonProperty("oldTotalTax")
|
|
|
+ private String oldTotalTax;
|
|
|
+ @JsonProperty("unitTaxAmt")
|
|
|
+ private String unitTaxAmt;
|
|
|
+ @JsonProperty("comTaxOrg")
|
|
|
+ private String comTaxOrg;
|
|
|
+ @JsonProperty("isCommissionTax")
|
|
|
+ private String isCommissionTax;
|
|
|
+ @JsonProperty("fuelType")
|
|
|
+ private String fuelType;
|
|
|
+ @JsonProperty("overDueAmt")
|
|
|
+ private String overDueAmt;
|
|
|
+ @JsonProperty("taxDocumentDate")
|
|
|
+ private String taxDocumentDate;
|
|
|
+ @JsonProperty("taxPaidAreaCode")
|
|
|
+ private String taxPaidAreaCode;
|
|
|
+ @JsonProperty("deptNonlocal")
|
|
|
+ private String deptNonlocal;
|
|
|
+ @JsonProperty("platformTaxType")
|
|
|
+ private String platformTaxType;
|
|
|
+ @JsonProperty("balanceTax")
|
|
|
+ private String balanceTax;
|
|
|
+ @JsonProperty("certificateDate")
|
|
|
+ private String certificateDate;
|
|
|
+ @JsonProperty("comTaxOrgCde")
|
|
|
+ private String comTaxOrgCde;
|
|
|
+ @JsonProperty("latestMrk")
|
|
|
+ private String latestMrk;
|
|
|
+ @JsonProperty("lastSaliBgnDate")
|
|
|
+ private String lastSaliBgnDate;
|
|
|
+ @JsonProperty("lastSaliEndDate")
|
|
|
+ private String lastSaliEndDate;
|
|
|
+ @JsonProperty("lastSaliInsurerCde")
|
|
|
+ private String lastSaliInsurerCde;
|
|
|
+ @JsonProperty("lastTaxYear")
|
|
|
+ private String lastTaxYear;
|
|
|
+ @JsonProperty("taxYear")
|
|
|
+ private String taxYear;
|
|
|
+ @JsonProperty("taxableTyp")
|
|
|
+ private String taxableTyp;
|
|
|
+ @JsonProperty("taxableMonths")
|
|
|
+ private String taxableMonths;
|
|
|
+ @JsonProperty("lastYearTaxableMonths")
|
|
|
+ private String lastYearTaxableMonths;
|
|
|
+ @JsonProperty("lastSaliPlyNo")
|
|
|
+ private String lastSaliPlyNo;
|
|
|
+ @JsonProperty("overdueDays")
|
|
|
+ private String overdueDays;
|
|
|
+ @JsonProperty("overdueFineProp")
|
|
|
+ private String overdueFineProp;
|
|
|
+ @JsonProperty("chargeProp")
|
|
|
+ private String chargeProp;
|
|
|
+ @JsonProperty("chargeAmt")
|
|
|
+ private String chargeAmt;
|
|
|
+ @JsonProperty("taxPayerAddr")
|
|
|
+ private String taxPayerAddr;
|
|
|
+ @JsonProperty("notPayNo")
|
|
|
+ private String notPayNo;
|
|
|
+ @JsonProperty("subTaxItemCde")
|
|
|
+ private String subTaxItemCde;
|
|
|
+ @JsonProperty("taxUnit")
|
|
|
+ private String taxUnit;
|
|
|
+ @JsonProperty("taxItemCde")
|
|
|
+ private String taxItemCde;
|
|
|
+ @JsonProperty("shortType")
|
|
|
+ private String shortType;
|
|
|
+ @JsonProperty("shortMon")
|
|
|
+ private String shortMon;
|
|
|
+ @JsonProperty("vehicleNumber")
|
|
|
+ private String vehicleNumber;
|
|
|
+ @JsonProperty("newCarMon")
|
|
|
+ private String newCarMon;
|
|
|
+ @JsonProperty("taxBelongTm")
|
|
|
+ private String taxBelongTm;
|
|
|
+ @JsonProperty("taxVchNo")
|
|
|
+ private String taxVchNo;
|
|
|
+ @JsonProperty("taxVchTyp")
|
|
|
+ private String taxVchTyp;
|
|
|
+ @JsonProperty("usage")
|
|
|
+ private String usage;
|
|
|
+ @JsonProperty("vhlAddr")
|
|
|
+ private String vhlAddr;
|
|
|
+ @JsonProperty("vhlAddrSub")
|
|
|
+ private String vhlAddrSub;
|
|
|
+ @JsonProperty("taxpayerComId")
|
|
|
+ private String taxpayerComId;
|
|
|
+ @JsonProperty("taxpayerCde")
|
|
|
+ private String taxpayerCde;
|
|
|
+ @JsonProperty("taxAuthCde")
|
|
|
+ private String taxAuthCde;
|
|
|
+ @JsonProperty("identifyType")
|
|
|
+ private String identifyType;
|
|
|
+ @JsonProperty("freeVhlBrand")
|
|
|
+ private String freeVhlBrand;
|
|
|
+ @JsonProperty("freeVhlNo")
|
|
|
+ private String freeVhlNo;
|
|
|
+ @JsonProperty("isMust")
|
|
|
+ private Integer isMust;
|
|
|
+ @JsonProperty("taxStartDate")
|
|
|
+ private String taxStartDate;
|
|
|
+ @JsonProperty("taxEndDate")
|
|
|
+ private String taxEndDate;
|
|
|
+
|
|
|
+ public CarShipTaxDTO(double vehicleExhaust, int seatCount, String completeKerbMass) {
|
|
|
+ String payCarType = PayCarType.getPayCarType(vehicleExhaust, seatCount);
|
|
|
+ this.comDocumentNumber = "";
|
|
|
+ this.comTaxOrg = "";
|
|
|
+ this.comTaxOrgCde = "";
|
|
|
+ this.deptNonlocal = "";
|
|
|
+ this.freeRate = "";
|
|
|
+ this.fuelType = "";
|
|
|
+ this.identifyType = "";
|
|
|
+ this.isCommissionTax = "";
|
|
|
+ this.overDueAmt = "";
|
|
|
+ int year = DateTime.now().year();
|
|
|
+ this.payEndTm = year + "-12-31";
|
|
|
+ this.payStartTm = year + "-01-01";
|
|
|
+ this.previousPay = "";
|
|
|
+ this.taxActual = "";
|
|
|
+ this.taxDocumentDate = "";
|
|
|
+ this.taxDocumentNumber = "";
|
|
|
+ this.taxPaidAreaCode = "";
|
|
|
+ this.taxPayWay = TaxTypeYn.TAX_TYPE_YN_3T5002.getCode();
|
|
|
+ this.taxReductionReason = "";
|
|
|
+ this.taxReliefPlan = "";
|
|
|
+ this.taxVhlType = payCarType;
|
|
|
+ this.taxpayerIdentifier = "";
|
|
|
+ this.taxPayerName = "";
|
|
|
+ this.totalTax = "";
|
|
|
+ this.unitTaxAmt = "";
|
|
|
+ this.weight = completeKerbMass;
|
|
|
+ this.usage = "200";
|
|
|
+ this.certificateDate = "";
|
|
|
+ this.abateAmt = "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 交强险系数信息DTO
|
|
|
+ */
|
|
|
+ @Data
|
|
|
+ public static class CoefficientInfoDTO {
|
|
|
+ @JsonProperty("proposalNo")
|
|
|
+ private String proposalNo;
|
|
|
+ @JsonProperty("entireDiscount")
|
|
|
+ private String entireDiscount;
|
|
|
+ @JsonProperty("claimAdjustValue")
|
|
|
+ private String claimAdjustValue;
|
|
|
+ @JsonProperty("claimFlatReason")
|
|
|
+ private String claimFlatReason;
|
|
|
+ @JsonProperty("peccancyAdjustValue")
|
|
|
+ private String peccancyAdjustValue;
|
|
|
+ @JsonProperty("noFloatReason")
|
|
|
+ private String noFloatReason;
|
|
|
+ @JsonProperty("lastPolicyNum")
|
|
|
+ private String lastPolicyNum;
|
|
|
+ @JsonProperty("drunkFeeRateFlat")
|
|
|
+ private String drunkFeeRateFlat;
|
|
|
+ @JsonProperty("totalCoefNum")
|
|
|
+ private String totalCoefNum;
|
|
|
+ @JsonProperty("drunkTotalCoef")
|
|
|
+ private String drunkTotalCoef;
|
|
|
+ @JsonProperty("totalCoef")
|
|
|
+ private String totalCoef;
|
|
|
+ @JsonProperty("drinkFeeRateFlat")
|
|
|
+ private String drinkFeeRateFlat;
|
|
|
+ @JsonProperty("lossRatioCi")
|
|
|
+ private String lossRatioCi;
|
|
|
+ @JsonProperty("lossRatioBi")
|
|
|
+ private String lossRatioBi;
|
|
|
+ @JsonProperty("totalRatio")
|
|
|
+ private String totalRatio;
|
|
|
+ @JsonProperty("handFeeCi")
|
|
|
+ private String handFeeCi;
|
|
|
+ @JsonProperty("expDisCoef")
|
|
|
+ private String expDisCoef;
|
|
|
+ @JsonProperty("noComLastFlatRsn")
|
|
|
+ private String noComLastFlatRsn;
|
|
|
+ @JsonProperty("selfChannelRatio")
|
|
|
+ private String selfChannelRatio;
|
|
|
+ @JsonProperty("selfSubmitRatio")
|
|
|
+ private String selfSubmitRatio;
|
|
|
+ @JsonProperty("reason")
|
|
|
+ private String reason;
|
|
|
+ @JsonProperty("recordCoefCi")
|
|
|
+ private String recordCoefCi;
|
|
|
+ @JsonProperty("trafficFloatRes")
|
|
|
+ private String trafficFloatRes;
|
|
|
+ @JsonProperty("areaCoef")
|
|
|
+ private String areaCoef;
|
|
|
+ @JsonProperty("lastPayAmt")
|
|
|
+ private String lastPayAmt;
|
|
|
+ @JsonProperty("handFeeBi")
|
|
|
+ private String handFeeBi;
|
|
|
+ @JsonProperty("channelCoefRes")
|
|
|
+ private String channelCoefRes;
|
|
|
+ @JsonProperty("trafficRateFloat")
|
|
|
+ private String trafficRateFloat;
|
|
|
+ @JsonProperty("startTm")
|
|
|
+ private String startTm;
|
|
|
+ @JsonProperty("endTm")
|
|
|
+ private String endTm;
|
|
|
+ @JsonProperty("lowestCoef")
|
|
|
+ private String lowestCoef;
|
|
|
+ @JsonProperty("suggestCoef")
|
|
|
+ private String suggestCoef;
|
|
|
+ @JsonProperty("payoutRateCi")
|
|
|
+ private String payoutRateCi;
|
|
|
+ @JsonProperty("payoutRateBi")
|
|
|
+ private String payoutRateBi;
|
|
|
+ @JsonProperty("payoutRate")
|
|
|
+ private String payoutRate;
|
|
|
+ @JsonProperty("riskScore")
|
|
|
+ private String riskScore;
|
|
|
+ @JsonProperty("totalFeeRate")
|
|
|
+ private String totalFeeRate;
|
|
|
+ @JsonProperty("singlePaymentCi")
|
|
|
+ private String singlePaymentCi;
|
|
|
+ @JsonProperty("singlePaymentBi")
|
|
|
+ private String singlePaymentBi;
|
|
|
+ @JsonProperty("singlePayment")
|
|
|
+ private String singlePayment;
|
|
|
+ @JsonProperty("insureYears")
|
|
|
+ private String insureYears;
|
|
|
+ @JsonProperty("claimTimes")
|
|
|
+ private String claimTimes;
|
|
|
+ @JsonProperty("claimAdjustLvl")
|
|
|
+ private String claimAdjustLvl;
|
|
|
+ @JsonProperty("pricingAdjustValue")
|
|
|
+ private String pricingAdjustValue;
|
|
|
+ @JsonProperty("riskVar")
|
|
|
+ private String riskVar;
|
|
|
+ @JsonProperty("pricePlan")
|
|
|
+ private String pricePlan;
|
|
|
+ @JsonProperty("floatDown")
|
|
|
+ private String floatDown;
|
|
|
+ @JsonProperty("compensateFeeRate")
|
|
|
+ private String compensateFeeRate;
|
|
|
+ @JsonProperty("fixedDropDiscount")
|
|
|
+ private String fixedDropDiscount;
|
|
|
+ @JsonProperty("entireInitialDiscount")
|
|
|
+ private String entireInitialDiscount;
|
|
|
+ @JsonProperty("coefficientScore")
|
|
|
+ private String coefficientScore;
|
|
|
+ @JsonProperty("pubScores")
|
|
|
+ private String pubScores;
|
|
|
+ @JsonProperty("microDiscoverScore")
|
|
|
+ private String microDiscoverScore;
|
|
|
+ @JsonProperty("truckRiskMrk")
|
|
|
+ private String truckRiskMrk;
|
|
|
+ @JsonProperty("busRiskMrk")
|
|
|
+ private String busRiskMrk;
|
|
|
+ @JsonProperty("truckScore")
|
|
|
+ private String truckScore;
|
|
|
+ @JsonProperty("truckRiskWarning")
|
|
|
+ private String truckRiskWarning;
|
|
|
+ @JsonProperty("predictedNature")
|
|
|
+ private String predictedNature;
|
|
|
+ @JsonProperty("fullCoverageScore")
|
|
|
+ private String fullCoverageScore;
|
|
|
+ @JsonProperty("liabilityOnlyScore")
|
|
|
+ private String liabilityOnlyScore;
|
|
|
+ @JsonProperty("ctpOnlyScore")
|
|
|
+ private String ctpOnlyScore;
|
|
|
+ @JsonProperty("renewalFrequency")
|
|
|
+ private String renewalFrequency;
|
|
|
+ @JsonProperty("didScore")
|
|
|
+ private String didScore;
|
|
|
+ @JsonProperty("vhlPriceType")
|
|
|
+ private String vhlPriceType;
|
|
|
+ @JsonProperty("suggestedDiscount")
|
|
|
+ private String suggestedDiscount;
|
|
|
+ @JsonProperty("onlineCarScore")
|
|
|
+ private String onlineCarScore;
|
|
|
+ @JsonProperty("carIllegalScore")
|
|
|
+ private String carIllegalScore;
|
|
|
+ @JsonProperty("completeControlScore")
|
|
|
+ private String completeControlScore;
|
|
|
+ @JsonProperty("pingAnBillCOMELR")
|
|
|
+ private String pingAnBillCOMELR;
|
|
|
+ @JsonProperty("pingAnBillCTPELR")
|
|
|
+ private String pingAnBillCTPELR;
|
|
|
+ @JsonProperty("pingAnBillELR")
|
|
|
+ private String pingAnBillELR;
|
|
|
+
|
|
|
+ public CoefficientInfoDTO() {
|
|
|
+ this.proposalNo = "";
|
|
|
+ this.entireDiscount = "";
|
|
|
+ this.claimAdjustValue = "";
|
|
|
+ this.claimFlatReason = "";
|
|
|
+ this.peccancyAdjustValue = "";
|
|
|
+ this.noFloatReason = "";
|
|
|
+ this.lastPolicyNum = "";
|
|
|
+ this.drunkFeeRateFlat = "";
|
|
|
+ this.totalCoefNum = "";
|
|
|
+ this.drunkTotalCoef = "";
|
|
|
+ this.totalCoef = "";
|
|
|
+ this.drinkFeeRateFlat = "";
|
|
|
+ this.lossRatioCi = "";
|
|
|
+ this.lossRatioBi = "";
|
|
|
+ this.totalRatio = "";
|
|
|
+ this.handFeeCi = "";
|
|
|
+ this.expDisCoef = "";
|
|
|
+ this.noComLastFlatRsn = "";
|
|
|
+ this.selfChannelRatio = "";
|
|
|
+ this.selfSubmitRatio = "";
|
|
|
+ this.reason = "";
|
|
|
+ this.recordCoefCi = "";
|
|
|
+ this.trafficFloatRes = "";
|
|
|
+ this.areaCoef = "";
|
|
|
+ this.lastPayAmt = "";
|
|
|
+ this.handFeeBi = "";
|
|
|
+ this.channelCoefRes = "";
|
|
|
+ this.trafficRateFloat = "";
|
|
|
+ this.startTm = "";
|
|
|
+ this.endTm = "";
|
|
|
+ this.lowestCoef = "";
|
|
|
+ this.suggestCoef = "";
|
|
|
+ this.payoutRateCi = "";
|
|
|
+ this.payoutRateBi = "";
|
|
|
+ this.payoutRate = "";
|
|
|
+ this.riskScore = "";
|
|
|
+ this.totalFeeRate = "";
|
|
|
+ this.singlePaymentCi = "";
|
|
|
+ this.singlePaymentBi = "";
|
|
|
+ this.singlePayment = "";
|
|
|
+ this.insureYears = "";
|
|
|
+ this.claimTimes = "";
|
|
|
+ this.claimAdjustLvl = "";
|
|
|
+ this.pricingAdjustValue = "";
|
|
|
+ this.riskVar = "";
|
|
|
+ this.pricePlan = "";
|
|
|
+ this.floatDown = "";
|
|
|
+ this.compensateFeeRate = "";
|
|
|
+ this.fixedDropDiscount = "";
|
|
|
+ this.entireInitialDiscount = "";
|
|
|
+ this.coefficientScore = "";
|
|
|
+ this.pubScores = "";
|
|
|
+ this.microDiscoverScore = "";
|
|
|
+ this.truckRiskMrk = "";
|
|
|
+ this.busRiskMrk = "";
|
|
|
+ this.truckScore = "";
|
|
|
+ this.truckRiskWarning = "";
|
|
|
+ this.predictedNature = "";
|
|
|
+ this.fullCoverageScore = "";
|
|
|
+ this.liabilityOnlyScore = "";
|
|
|
+ this.ctpOnlyScore = "";
|
|
|
+ this.renewalFrequency = "";
|
|
|
+ this.didScore = "";
|
|
|
+ this.vhlPriceType = "";
|
|
|
+ this.suggestedDiscount = "";
|
|
|
+ this.onlineCarScore = "";
|
|
|
+ this.carIllegalScore = "";
|
|
|
+ this.completeControlScore = "";
|
|
|
+ this.pingAnBillCOMELR = "";
|
|
|
+ this.pingAnBillCTPELR = "";
|
|
|
+ this.pingAnBillELR = "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 交强险险种明细DTO
|
|
|
+ */
|
|
|
+ @NoArgsConstructor
|
|
|
+ @Data
|
|
|
+ public static class ItemKindsDTO {
|
|
|
+ @JsonProperty("proposalNo")
|
|
|
+ private String proposalNo;
|
|
|
+ @JsonProperty("kindCode")
|
|
|
+ private String kindCode;
|
|
|
+ @JsonProperty("kindName")
|
|
|
+ private String kindName;
|
|
|
+ @JsonProperty("kindPackage")
|
|
|
+ private String kindPackage;
|
|
|
+ @JsonProperty("productName")
|
|
|
+ private String productName;
|
|
|
+ @JsonProperty("basePremium")
|
|
|
+ private String basePremium;
|
|
|
+ @JsonProperty("noTaxDiscountPremium")
|
|
|
+ private String noTaxDiscountPremium;
|
|
|
+ @JsonProperty("taxDiscountPremium")
|
|
|
+ private String taxDiscountPremium;
|
|
|
+ @JsonProperty("premium")
|
|
|
+ private String premium;
|
|
|
+ @JsonProperty("noDeductible")
|
|
|
+ private String noDeductible;
|
|
|
+ @JsonProperty("noDeductiblePremium")
|
|
|
+ private String noDeductiblePremium;
|
|
|
+ @JsonProperty("payPremium")
|
|
|
+ private String payPremium;
|
|
|
+ @JsonProperty("amount")
|
|
|
+ private String amount;
|
|
|
+ @JsonProperty("liabilityLevel")
|
|
|
+ private String liabilityLevel;
|
|
|
+ @JsonProperty("damageDeductible")
|
|
|
+ private String damageDeductible;
|
|
|
+ @JsonProperty("deductible")
|
|
|
+ private String deductible;
|
|
|
+ @JsonProperty("deductibleFlag")
|
|
|
+ private String deductibleFlag;
|
|
|
+ @JsonProperty("rate")
|
|
|
+ private String rate;
|
|
|
+ @JsonProperty("deductibleRatio")
|
|
|
+ private String deductibleRatio;
|
|
|
+ @JsonProperty("dutyDays")
|
|
|
+ private String dutyDays;
|
|
|
+ @JsonProperty("quantity")
|
|
|
+ private String quantity;
|
|
|
+ @JsonProperty("yearPayPremium")
|
|
|
+ private String yearPayPremium;
|
|
|
+ @JsonProperty("glassType")
|
|
|
+ private String glassType;
|
|
|
+ @JsonProperty("valueAddTax")
|
|
|
+ private String valueAddTax;
|
|
|
+ @JsonProperty("discount")
|
|
|
+ private String discount;
|
|
|
+ @JsonProperty("needCalculateAmount")
|
|
|
+ private String needCalculateAmount;
|
|
|
+ @JsonProperty("mainRiskFlag")
|
|
|
+ private String mainRiskFlag;
|
|
|
+ @JsonProperty("beginTime")
|
|
|
+ private String beginTime;
|
|
|
+ @JsonProperty("endTime")
|
|
|
+ private String endTime;
|
|
|
+ @JsonProperty("pkID")
|
|
|
+ private String pkID;
|
|
|
+ @JsonProperty("premiumYear")
|
|
|
+ private String premiumYear;
|
|
|
+ @JsonProperty("afterPremiumYear")
|
|
|
+ private String afterPremiumYear;
|
|
|
+ @JsonProperty("adjustRate")
|
|
|
+ private String adjustRate;
|
|
|
+ @JsonProperty("nindemlmt")
|
|
|
+ private String nindemlmt;
|
|
|
+ @JsonProperty("amtChange")
|
|
|
+ private String amtChange;
|
|
|
+ @JsonProperty("ductAmt")
|
|
|
+ private String ductAmt;
|
|
|
+ @JsonProperty("perAmt")
|
|
|
+ private String perAmt;
|
|
|
+ @JsonProperty("actPremium")
|
|
|
+ private String actPremium;
|
|
|
+ @JsonProperty("days")
|
|
|
+ private String days;
|
|
|
+ @JsonProperty("ductDiscount")
|
|
|
+ private String ductDiscount;
|
|
|
+ @JsonProperty("seqNo")
|
|
|
+ private String seqNo;
|
|
|
+ @JsonProperty("totalPremium")
|
|
|
+ private String totalPremium;
|
|
|
+ @JsonProperty("serviceTimes")
|
|
|
+ private String serviceTimes;
|
|
|
+ @JsonProperty("ductRate")
|
|
|
+ private String ductRate;
|
|
|
+ @JsonProperty("kindValueRate")
|
|
|
+ private String kindValueRate;
|
|
|
+ @JsonProperty("kindCost")
|
|
|
+ private String kindCost;
|
|
|
+ @JsonProperty("dutyCode")
|
|
|
+ private String dutyCode;
|
|
|
+ @JsonProperty("dutyName")
|
|
|
+ private String dutyName;
|
|
|
+ @JsonProperty("perPrm")
|
|
|
+ private String perPrm;
|
|
|
+ @JsonProperty("prodPlace")
|
|
|
+ private String prodPlace;
|
|
|
+ @JsonProperty("cancelMrk")
|
|
|
+ private String cancelMrk;
|
|
|
+ @JsonProperty("adjustProportion")
|
|
|
+ private String adjustProportion;
|
|
|
+ @JsonProperty("floatRate")
|
|
|
+ private String floatRate;
|
|
|
+ @JsonProperty("identifyNo")
|
|
|
+ private String identifyNo;
|
|
|
+ @JsonProperty("cvrgType")
|
|
|
+ private String cvrgType;
|
|
|
+ @JsonProperty("onceInjurLmt")
|
|
|
+ private String onceInjurLmt;
|
|
|
+ @JsonProperty("onceMedicalIndemLmt")
|
|
|
+ private String onceMedicalIndemLmt;
|
|
|
+ @JsonProperty("oncePropertyIndemLmt")
|
|
|
+ private String oncePropertyIndemLmt;
|
|
|
+ @JsonProperty("oncePerDeathLmt")
|
|
|
+ private String oncePerDeathLmt;
|
|
|
+ @JsonProperty("oncePerDisableLmt")
|
|
|
+ private String oncePerDisableLmt;
|
|
|
+ @JsonProperty("onceIndemLmt")
|
|
|
+ private String onceIndemLmt;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 构建险种明细DTO
|
|
|
+ *
|
|
|
+ * @param amount 保险金额
|
|
|
+ * @param ciKind 交强险险种枚举
|
|
|
+ * @return 险种明细DTO
|
|
|
+ */
|
|
|
+ private static ItemKindsDTO buildItemKindsDTO(String amount, CIKind ciKind) {
|
|
|
+ ItemKindsDTO itemKindsDTO = new ItemKindsDTO();
|
|
|
+ itemKindsDTO.setProposalNo("");
|
|
|
+ itemKindsDTO.setKindCode(ciKind.getKindCode());
|
|
|
+ itemKindsDTO.setKindName(ciKind.getKindName());
|
|
|
+ itemKindsDTO.setKindPackage("");
|
|
|
+ itemKindsDTO.setProductName("");
|
|
|
+ itemKindsDTO.setBasePremium("0");
|
|
|
+ itemKindsDTO.setNoTaxDiscountPremium("");
|
|
|
+ itemKindsDTO.setTaxDiscountPremium("0");
|
|
|
+ itemKindsDTO.setPremium("");
|
|
|
+ itemKindsDTO.setNoDeductible("");
|
|
|
+ itemKindsDTO.setNoDeductiblePremium("");
|
|
|
+ itemKindsDTO.setPayPremium("0");
|
|
|
+ itemKindsDTO.setAmount(amount);
|
|
|
+ itemKindsDTO.setLiabilityLevel("");
|
|
|
+ itemKindsDTO.setDamageDeductible("0");
|
|
|
+ itemKindsDTO.setDeductible("");
|
|
|
+ itemKindsDTO.setDeductibleFlag("");
|
|
|
+ itemKindsDTO.setRate("0");
|
|
|
+ itemKindsDTO.setDeductibleRatio("");
|
|
|
+ itemKindsDTO.setDutyDays("");
|
|
|
+ itemKindsDTO.setQuantity("0");
|
|
|
+ itemKindsDTO.setYearPayPremium("0");
|
|
|
+ itemKindsDTO.setGlassType("");
|
|
|
+ itemKindsDTO.setValueAddTax("0");
|
|
|
+ itemKindsDTO.setDiscount("0");
|
|
|
+ itemKindsDTO.setNeedCalculateAmount("");
|
|
|
+ itemKindsDTO.setMainRiskFlag("");
|
|
|
+ itemKindsDTO.setBeginTime("");
|
|
|
+ itemKindsDTO.setEndTime("");
|
|
|
+ itemKindsDTO.setPkID("");
|
|
|
+ itemKindsDTO.setPremiumYear("0");
|
|
|
+ itemKindsDTO.setAfterPremiumYear("0");
|
|
|
+ itemKindsDTO.setAdjustRate("0");
|
|
|
+ itemKindsDTO.setNindemlmt("");
|
|
|
+ itemKindsDTO.setAmtChange("0");
|
|
|
+ itemKindsDTO.setDuctAmt("");
|
|
|
+ itemKindsDTO.setPerAmt("");
|
|
|
+ itemKindsDTO.setActPremium("0");
|
|
|
+ itemKindsDTO.setDays("");
|
|
|
+ itemKindsDTO.setDuctDiscount("");
|
|
|
+ itemKindsDTO.setSeqNo("");
|
|
|
+ itemKindsDTO.setTotalPremium("");
|
|
|
+ itemKindsDTO.setServiceTimes("");
|
|
|
+ itemKindsDTO.setDuctRate("");
|
|
|
+ itemKindsDTO.setKindValueRate("");
|
|
|
+ itemKindsDTO.setKindCost("");
|
|
|
+ itemKindsDTO.setDutyCode("");
|
|
|
+ itemKindsDTO.setDutyName("");
|
|
|
+ itemKindsDTO.setPerPrm("");
|
|
|
+ itemKindsDTO.setProdPlace("");
|
|
|
+ itemKindsDTO.setCancelMrk("");
|
|
|
+ itemKindsDTO.setAdjustProportion("");
|
|
|
+ itemKindsDTO.setFloatRate("");
|
|
|
+ itemKindsDTO.setIdentifyNo("");
|
|
|
+ itemKindsDTO.setCvrgType("");
|
|
|
+ itemKindsDTO.setOnceInjurLmt("");
|
|
|
+ itemKindsDTO.setOnceMedicalIndemLmt("");
|
|
|
+ itemKindsDTO.setOncePropertyIndemLmt("");
|
|
|
+ itemKindsDTO.setOncePerDeathLmt("");
|
|
|
+ itemKindsDTO.setOncePerDisableLmt("");
|
|
|
+ itemKindsDTO.setOnceIndemLmt("");
|
|
|
+ return itemKindsDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取交强险标准险种列表
|
|
|
+ *
|
|
|
+ * @return 交强险险种明细列表
|
|
|
+ */
|
|
|
+ public static List<ItemKindsDTO> getKinds() {
|
|
|
+ ItemKindsDTO kind030055 = buildItemKindsDTO("180000", CIKind.KIND_030055);
|
|
|
+ ItemKindsDTO kind030056 = buildItemKindsDTO("18000", CIKind.KIND_030056);
|
|
|
+ ItemKindsDTO kind030057 = buildItemKindsDTO("2000", CIKind.KIND_030057);
|
|
|
+ ItemKindsDTO kind030058 = buildItemKindsDTO("18000", CIKind.KIND_030058);
|
|
|
+ ItemKindsDTO kind030059 = buildItemKindsDTO("1800", CIKind.KIND_030059);
|
|
|
+ ItemKindsDTO kind030060 = buildItemKindsDTO("100", CIKind.KIND_030060);
|
|
|
+ return List.of(kind030055, kind030056, kind030057, kind030058, kind030059, kind030060);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+}
|