Procházet zdrojové kódy

太平核保验证修改

Qchen před 1 měsícem
rodič
revize
1e6fb5042f
10 změnil soubory, kde provedl 9572 přidání a 133 odebrání
  1. 11 1
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/component/TaiPingCrawlerRequestComponent.java
  2. 1 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/constant/RequestUrl.java
  3. 1875 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerGetGuCarShipTaxListRequest.java
  4. 67 90
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerPremiumCalculateRequest.java
  5. 4588 29
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerSubmitValidateRequest.java
  6. 1 1
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerVehicleForPRPQueryRequest.java
  7. 1 1
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerFindSolutionCodeData.java
  8. 3007 0
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerGetGuCarShipTaxListData.java
  9. 10 10
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerPremiumCalculateData.java
  10. 11 1
      tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/service/impl/TaipingCrawlerRequestImpl.java

+ 11 - 1
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/component/TaiPingCrawlerRequestComponent.java

@@ -369,6 +369,16 @@ public class TaiPingCrawlerRequestComponent {
         }, httpHeaders,parameters);
     }
 
+    /**
+     * 获取车船税信息
+     */
+    public TaiPingCrawlerBaseResponse<TaiPingCrawlerGetGuCarShipTaxListData> getGuCarShipTaxList(TaiPingCrawlerGetGuCarShipTaxListRequest request,HttpHeaders httpHeaders,TaipingCrawlerConfigureParameters parameters) {
+        InsuranceLog.infoLog(InsuranceEnum.TPIC.getPinyin(), "\n\t---------> {} \n\t---------> URl: {} \n\t---------> 请求参数:{}",
+                "获取车船税信息", RequestUrl.GET_GU_CAR_SHIP_TAX_LIST.getRequestUrl(taiPingCrawlerProperties.getUrl()),JSON.toJSONString(request));
+        return requestPostStrDecrypt(RequestUrl.GET_GU_CAR_SHIP_TAX_LIST, request, new TypeReference<>() {
+        }, httpHeaders,parameters);
+    }
+
     /**
      * 刷新非车险列表
      */
@@ -442,7 +452,7 @@ public class TaiPingCrawlerRequestComponent {
      * @param httpHeaders 请求头
      * @return 验证响应
      */
-    public TaiPingCrawlerBaseResponse<TaiPingCrawlerSubmitValidateData> submitValidate(TaiPingCrawlerSubmitValidateRequest request, HttpHeaders httpHeaders,TaipingCrawlerConfigureParameters parameters) {
+    public TaiPingCrawlerBaseResponse<TaiPingCrawlerSubmitValidateData> submitValidate(TaiPingCrawlerPremiumCalculateRequest request, HttpHeaders httpHeaders,TaipingCrawlerConfigureParameters parameters) {
         InsuranceLog.infoLog(InsuranceEnum.TPIC.getPinyin(), "\n\t---------> {} \n\t---------> URl: {} \n\t---------> 请求参数:{}",
                 "核保提交验证", RequestUrl.SUBMIT_VALIDATE.getRequestUrl(taiPingCrawlerProperties.getUrl()),JSON.toJSONString(request));
         return requestPostStrDecrypt(RequestUrl.SUBMIT_VALIDATE, request, new TypeReference<>() {

+ 1 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/constant/RequestUrl.java

@@ -24,6 +24,7 @@ public enum RequestUrl implements CrawlerRequestUrlStandard {
     GET_CAR_DEPRE_RATE("/proposalform/proposalDefaultData/getCarDepreRate", "车辆折旧率查询"),
     QUERY_RENEWAL("/proposalform/intelligentRetrieval/process2/QueryRenewal", "历史保单查询"),
     VEHICLE_FOR_PRP_QUERY("/proposalform/vehicleForPRPQuery", "精准查车查询"),
+    GET_GU_CAR_SHIP_TAX_LIST("/proposalform/vehicleInformation/getGuCarShipTaxList","获取车船税信息"),
 
     REFRESH_FC_PRODUCT_PAGE("/proposalform/fcProposal/refreshFcProductPage","刷新非车险列表"),
     GET_NO_CAR_PRODUCT_LIST("/nocar/api/v1/nocar/pc/getNoCarProductList","获取选择非车详情"),

+ 1875 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerGetGuCarShipTaxListRequest.java

@@ -0,0 +1,1875 @@
+package com.jzg.quotation.taiping.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.jzg.commons.entity.quote.vo.CarInfoVo;
+import com.jzg.commons.entity.quote.vo.CustomerInfoVo;
+import com.jzg.commons.entity.quote.vo.QuoteVo;
+import com.jzg.commons.entity.quote.vo.VehicleAndVesselTaxVo;
+import com.jzg.quotation.taiping.crawler.entity.TaipingCrawlerConfigureParameters;
+import com.jzg.quotation.taiping.crawler.entity.response.TaiPingCrawlerBrandNameQueryData;
+import com.jzg.quotation.taiping.crawler.entity.response.TaiPingCrawlerFindApplyNoResponse;
+import com.jzg.quotation.taiping.crawler.entity.response.TaiPingCrawlerFindByProductCodeResponse;
+import com.jzg.quotation.taiping.crawler.entity.response.TaiPingCrawlerFindSolutionCodeData;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.util.StringUtils;
+
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @author quchen
+ * @date 2026/8/26 10:41
+ */
+
+@Data
+@NoArgsConstructor
+@JsonInclude(JsonInclude.Include.ALWAYS)
+public class TaiPingCrawlerGetGuCarShipTaxListRequest {
+    @JsonProperty("riskCodeType")
+    private String riskCodeType;
+
+    @JsonProperty("pfItemMotorDeviceDtoList")
+    private List<Object> pfItemMotorDeviceDtoList;
+
+    @JsonProperty("pfItemKind0801DtoList")
+    private List<PfItemKind0801Dto> pfItemKind0801DtoList;
+
+    @JsonProperty("pfItemKind0802DtoList")
+    private List<PfItemKind0802Dto> pfItemKind0802DtoList;
+
+    @JsonProperty("clauseList0801")
+    private List<Object> clauseList0801;
+
+    @JsonProperty("clauseList0802")
+    private List<Object> clauseList0802;
+
+    @JsonProperty("orderNo")
+    private String orderNo;
+
+    @JsonProperty("pfMainDto")
+    private PfMainDto pfMainDto;
+
+    @JsonProperty("pfVehicleOwner")
+    private PfVehicleOwner pfVehicleOwner;
+
+    @JsonProperty("pfRelatedPartyDto")
+    private PfRelatedPartyDto pfRelatedPartyDto;
+
+    @JsonProperty("pfItemMotorDto")
+    private PfItemMotorDto pfItemMotorDto;
+
+    @JsonProperty("pfRiskRelatedPartyDto")
+    private PfRiskRelatedPartyDto pfRiskRelatedPartyDto;
+
+    @JsonProperty("pfProposalCarShipTaxDto")
+    private PfProposalCarShipTaxDto pfProposalCarShipTaxDto;
+
+    @JsonProperty("pfPolicyInfoDto")
+    private PfPolicyInfoDto pfPolicyInfoDto;
+
+    @JsonProperty("incrementServiceMatchFlag")
+    private Boolean incrementServiceMatchFlag;
+
+    @JsonProperty("demandNoForce")
+    private String demandNoForce;
+
+    @JsonProperty("demandNoBusi")
+    private String demandNoBusi;
+
+    @JsonProperty("fcProductList")
+    private List<Object> fcProductList;
+
+    @JsonProperty("cjcSaleInfoDto")
+    private Object cjcSaleInfoDto;
+
+    @JsonProperty("fCsaleinfoDto")
+    private Object fCsaleinfoDto;
+
+    @JsonProperty("businessType")
+    private String businessType;
+
+    @JsonProperty("optType")
+    private String optType;
+
+    @JsonProperty("personInd")
+    private String personInd;
+
+    @JsonProperty("productType")
+    private String productType;
+
+    public TaiPingCrawlerGetGuCarShipTaxListRequest(QuoteVo quoteVo, TaipingCrawlerConfigureParameters parameters, String orderNo,
+                                                    TaiPingCrawlerBrandNameQueryData.ItemMotorDtoListDTO motor, String carActualValue,
+                                                    TaiPingCrawlerFindByProductCodeResponse.Record record, TaiPingCrawlerFindSolutionCodeData.RecordsDTO taiPingCrawlerFindSolutionCodeData,
+                                                    TaiPingCrawlerFindApplyNoResponse.GsApplyInfoMainDto gsApplyInfoMainDto) {
+        this.businessType = "1";
+        this.pfItemMotorDeviceDtoList = new ArrayList<>();
+        this.pfItemKind0801DtoList = List.of(new PfItemKind0801Dto(true));
+        this.clauseList0801 = new ArrayList<>();
+        this.pfMainDto = new PfMainDto(record,parameters,taiPingCrawlerFindSolutionCodeData,gsApplyInfoMainDto,quoteVo);
+        this.pfVehicleOwner = new PfVehicleOwner(quoteVo.getOwnersInfo(),quoteVo.getCarInfoVo());
+        this.pfRelatedPartyDto = new PfRelatedPartyDto(quoteVo.getPolicyHolderInfo());
+        this.pfItemMotorDto = new PfItemMotorDto(quoteVo.getCarInfoVo(), motor, orderNo, carActualValue);
+        this.pfRiskRelatedPartyDto = new PfRiskRelatedPartyDto(quoteVo.getInsuredPersonInfo());
+        this.pfPolicyInfoDto = new PfPolicyInfoDto(quoteVo);
+        this.incrementServiceMatchFlag = true;
+        this.demandNoForce = "";
+        this.demandNoBusi = "";
+        this.fcProductList = new ArrayList<>();
+        this.cjcSaleInfoDto = null;
+        this.fCsaleinfoDto = null;
+        this.businessType = "Proposal";
+        this.optType = "N";
+        this.personInd = "C";
+        this.productType = "1";
+    }
+
+    @Data
+    @NoArgsConstructor
+    @JsonInclude(JsonInclude.Include.ALWAYS)
+    public static class PfItemKind0801Dto{
+        @JsonProperty("kindCode_kindName")
+        private String kindCode_kindName;
+
+        @JsonProperty("basePremium")
+        private String basePremium;
+
+        @JsonProperty("shortRate")
+        private String shortRate;
+
+        @JsonProperty("discount")
+        private String discount;
+
+        @JsonProperty("grossPremium")
+        private String grossPremium;
+
+        @JsonProperty("priceTaxTotal")
+        private String priceTaxTotal;
+
+        @JsonProperty("relieveFund")
+        private String relieveFund;
+
+        public PfItemKind0801Dto(Boolean isCi) {
+            this.kindCode_kindName = "BZ-机动车交通事故责任强制险";
+            this.basePremium = "0.00";
+            this.shortRate = "100.00";
+            this.discount = "100.00";
+            this.grossPremium = "";
+            this.priceTaxTotal = "";
+            this.relieveFund = "0.00";
+        }
+    }
+
+    @Data
+    @NoArgsConstructor
+    @JsonInclude(JsonInclude.Include.ALWAYS)
+    public static class PfItemKind0802Dto {
+
+    }
+
+    @Data
+    @NoArgsConstructor
+    @JsonInclude(JsonInclude.Include.ALWAYS)
+    public static class PfMainDto{
+        @JsonProperty("agreementCode")
+        private String agreementCode;
+        @JsonProperty("agreementNo")
+        private String agreementNo;
+        @JsonProperty("agreementTypeName")
+        private String agreementTypeName;
+        @JsonProperty("appId")
+        private String appId;
+        @JsonProperty("applyName")
+        private String applyName;
+        @JsonProperty("applyNo")
+        private String applyNo;
+        @JsonProperty("applySerialNo")
+        private Integer applySerialNo;
+        @JsonProperty("arbitoryName")
+        private Object arbitoryName;
+        @JsonProperty("argueSolution")
+        private String argueSolution;
+        @JsonProperty("bankBranchCode")
+        private String bankBranchCode;
+        @JsonProperty("bankBranchName")
+        private String bankBranchName;
+        @JsonProperty("bankCustomerManagerCode")
+        private String bankCustomerManagerCode;
+        @JsonProperty("businessMode")
+        private String businessMode;
+        @JsonProperty("businessSource")
+        private String businessSource;
+        @JsonProperty("carIdRenewalFlag")
+        private String carIdRenewalFlag;
+        @JsonProperty("carIdSplitFlag")
+        private String carIdSplitFlag;
+        @JsonProperty("channelDetailCode")
+        private String channelDetailCode;
+        @JsonProperty("channelDetailName")
+        private String channelDetailName;
+        @JsonProperty("channelSort")
+        private String channelSort;
+        @JsonProperty("channelSortName")
+        private String channelSortName;
+        @JsonProperty("channelTip")
+        private String channelTip;
+        @JsonProperty("channelTipName")
+        private String channelTipName;
+        @JsonProperty("compLevel")
+        private String compLevel;
+        @JsonProperty("companyCode")
+        private String companyCode;
+        @JsonProperty("companyName")
+        private String companyName;
+        @JsonProperty("cooperateSiteCode")
+        private String cooperateSiteCode;
+        @JsonProperty("cooperateSiteName")
+        private String cooperateSiteName;
+        @JsonProperty("creditPeriod")
+        private String creditPeriod;
+        @JsonProperty("decisionMakingUnit")
+        private String decisionMakingUnit;
+        @JsonProperty("departmentCode")
+        private String departmentCode;
+        @JsonProperty("departmentName")
+        private String departmentName;
+        @JsonProperty("disabled")
+        private boolean disabled;
+        @JsonProperty("differentProtectFlag")
+        private String differentProtectFlag;
+        @JsonProperty("doubleProtectFlag")
+        private String doubleProtectFlag;
+        @JsonProperty("dsMakingTypeDetail")
+        private String dsMakingTypeDetail;
+        @JsonProperty("feeServiceLinkage")
+        private String feeServiceLinkage;
+        @JsonProperty("forceLinkCIFlag")
+        private boolean forceLinkCIFlag;
+        @JsonProperty("frontingCompany")
+        private String frontingCompany;
+        @JsonProperty("frontingCompanyName")
+        private String frontingCompanyName;
+        @JsonProperty("governmentCity")
+        private String governmentCity;
+        @JsonProperty("governmentCityName")
+        private String governmentCityName;
+        @JsonProperty("governmentCounty")
+        private String governmentCounty;
+        @JsonProperty("governmentCountyName")
+        private String governmentCountyName;
+        @JsonProperty("governmentProvince")
+        private String governmentProvince;
+        @JsonProperty("governmentProvinceName")
+        private String governmentProvinceName;
+        @JsonProperty("governmentServiceType")
+        private String governmentServiceType;
+        @JsonProperty("governmentType")
+        private String governmentType;
+        @JsonProperty("hengSangInd")
+        private String hengSangInd;
+        @JsonProperty("interSalesmanCode")
+        private String interSalesmanCode;
+        @JsonProperty("interSalesmanName")
+        private String interSalesmanName;
+        @JsonProperty("interSalesmanRegisterNo")
+        private String interSalesmanRegisterNo;
+        @JsonProperty("intermediaryCName")
+        private String intermediaryCName;
+        @JsonProperty("intermediaryCNName")
+        private String intermediaryCNName;
+        @JsonProperty("intermediaryCode")
+        private String intermediaryCode;
+        @JsonProperty("isDangerBz")
+        private String isDangerBz;
+        @JsonProperty("isSpecialCarFlag")
+        private String isSpecialCarFlag;
+        @JsonProperty("itemAddress")
+        private List<String> itemAddress;
+        @JsonProperty("label")
+        private String label;
+        @JsonProperty("lables")
+        private String lables;
+        @JsonProperty("modelNo")
+        private String modelNo;
+        @JsonProperty("newCarFlag")
+        private String newCarFlag;
+        @JsonProperty("oano")
+        private String oano;
+        @JsonProperty("optBtn")
+        private String optBtn;
+        @JsonProperty("outOrderNo")
+        private String outOrderNo;
+        @JsonProperty("outerCompanyCode")
+        private String outerCompanyCode;
+        @JsonProperty("outerCompanyName")
+        private String outerCompanyName;
+        @JsonProperty("outerSubCompanyCode")
+        private String outerSubCompanyCode;
+        @JsonProperty("outerSubCompanyName")
+        private String outerSubCompanyName;
+        @JsonProperty("outerUserCName")
+        private String outerUserCName;
+        @JsonProperty("outerUserCode")
+        private String outerUserCode;
+        @JsonProperty("pioneerCode")
+        private String pioneerCode;
+        @JsonProperty("pioneerName")
+        private String pioneerName;
+        @JsonProperty("poaSerialNo")
+        private String poaSerialNo;
+        @JsonProperty("policySort")
+        private String policySort;
+        @JsonProperty("priInd")
+        private String priInd;
+        @JsonProperty("premiumTrialFlag")
+        private String premiumTrialFlag;
+        @JsonProperty("producerName")
+        private String producerName;
+        @JsonProperty("query")
+        private String query;
+        @JsonProperty("queryApplyNo")
+        private String queryApplyNo;
+        @JsonProperty("quotationPlanFlag")
+        private String quotationPlanFlag;
+        @JsonProperty("registerNo")
+        private String registerNo;
+        @JsonProperty("renewalNo")
+        private String renewalNo;
+        @JsonProperty("salesmanCode")
+        private String salesmanCode;
+        @JsonProperty("salesmanName")
+        private String salesmanName;
+        @JsonProperty("salesmanRegisterNo")
+        private String salesmanRegisterNo;
+        @JsonProperty("serialNo")
+        private String serialNo;
+        @JsonProperty("solutionCode")
+        private String solutionCode;
+        @JsonProperty("source")
+        private String source;
+        @JsonProperty("sourceId")
+        private String sourceId;
+        @JsonProperty("taxRegistryNumber")
+        private String taxRegistryNumber;
+        @JsonProperty("teamManager")
+        private String teamManager;
+        @JsonProperty("teamManagerName")
+        private String teamManagerName;
+        @JsonProperty("teamName")
+        private String teamName;
+        @JsonProperty("telKetConfSwitch")
+        private String telKetConfSwitch;
+        @JsonProperty("touchId")
+        private String touchId;
+        @JsonProperty("tpFeeFlag")
+        private String tpFeeFlag;
+        @JsonProperty("value")
+        private String value;
+        @JsonProperty("zlbWindowNo")
+        private String zlbWindowNo;
+        public PfMainDto(TaiPingCrawlerFindByProductCodeResponse.Record record, TaipingCrawlerConfigureParameters parameters,
+                            TaiPingCrawlerFindSolutionCodeData.RecordsDTO taiPingCrawlerFindSolutionCodeData,
+                            TaiPingCrawlerFindApplyNoResponse.GsApplyInfoMainDto gsApplyInfoMainDto, QuoteVo quoteVo) {
+            this.renewalNo = "";
+            this.carIdRenewalFlag = "";
+            this.intermediaryCode = record.getIntermediaryCode();
+            this.businessSource = record.getBusinessSource();
+            this.channelTip = record.getChannelTip();
+            this.solutionCode = parameters.getSolutionCode();
+            this.channelDetailCode = record.getChannelSort();
+            this.teamManager = parameters.getSalesmanCode();
+            this.teamManagerName = "";
+            this.businessMode = "2";
+            this.agreementNo = parameters.getAgreementNo();
+            this.companyCode = parameters.getCompanyCode();
+            this.companyName = record.getCompanyName();
+            this.salesmanCode = parameters.getSalesmanCode();
+            this.salesmanName = taiPingCrawlerFindSolutionCodeData.getSalesmanName();
+            this.outerUserCode = "";
+            this.outerUserCName = "";
+            this.interSalesmanCode = parameters.getInterSalesmanCode();
+            this.interSalesmanName = parameters.getInterSalesmanRegisterNo();
+            this.salesmanRegisterNo = parameters.getSalesmanRegisterNo();
+            this.interSalesmanRegisterNo = parameters.getInterSalesmanRegisterNo();
+            this.cooperateSiteCode = taiPingCrawlerFindSolutionCodeData.getCooperateSiteCode();
+            this.cooperateSiteName = taiPingCrawlerFindSolutionCodeData.getCooperateSiteName();
+            this.priInd = "3";
+            this.outerCompanyCode = null;
+            this.outerCompanyName = null;
+            this.pioneerCode = "";
+            this.pioneerName = "";
+            this.outerSubCompanyCode = "";
+            this.outerSubCompanyName = "";
+            this.departmentCode = "";
+            this.departmentName = "";
+            this.governmentType = "";
+            this.itemAddress = new ArrayList<>();
+            this.governmentServiceType = "";
+            this.agreementTypeName = record.getAgreementTypeName();
+            this.lables = record.getLables();
+            this.agreementCode = record.getAgreementCode();
+            this.source = record.getSource();
+            this.producerName = record.getProducerName();
+            this.intermediaryCNName = record.getIntermediaryCNName();
+            this.frontingCompany = null;
+            this.frontingCompanyName = null;
+            this.hengSangInd = record.getHengSangInd();
+            this.channelSortName = record.getChannelSortName();
+            this.channelTipName = record.getChannelTipName();
+            this.sourceId = record.getSourceId();
+            this.channelSort = record.getChannelSort();
+            this.disabled = false;
+            this.governmentProvince = "";
+            this.governmentCity = "";
+            this.governmentCounty = "";
+            this.governmentProvinceName = "";
+            this.governmentCityName = "";
+            this.governmentCountyName = "";
+            this.creditPeriod = taiPingCrawlerFindSolutionCodeData.getCreditPeriod();
+            this.teamName = taiPingCrawlerFindSolutionCodeData.getTeamName();
+            this.registerNo = taiPingCrawlerFindSolutionCodeData.getRegisterNo();
+            this.taxRegistryNumber = taiPingCrawlerFindSolutionCodeData.getTaxRegistryNumber();
+            this.value = taiPingCrawlerFindSolutionCodeData.getSolutionCode();
+            this.label = taiPingCrawlerFindSolutionCodeData.getSolutionCode() +"-" +taiPingCrawlerFindSolutionCodeData.getSalesmanName() + "-" + taiPingCrawlerFindSolutionCodeData.getCooperateSiteName();
+            this.modelNo = gsApplyInfoMainDto.getModelNo();
+            this.query = "";
+            this.applySerialNo = gsApplyInfoMainDto.getSerialNo();
+            this.bankBranchName = "";
+            this.applyNo = gsApplyInfoMainDto.getApplyNo();
+            this.queryApplyNo = "";
+            this.zlbWindowNo =  "";
+            this.optBtn = "";
+            this.applyName = "";
+            this.decisionMakingUnit = "";
+            this.dsMakingTypeDetail = "";
+            this.compLevel = "0";
+            this.serialNo = "";
+            this.outOrderNo = "";
+            this.bankCustomerManagerCode = "";
+            this.bankBranchCode = "";
+            this.newCarFlag = "1";
+            if (quoteVo.getCiRiskInfoVo()!= null && quoteVo.getBiRiskInfoVo() != null) {
+                this.differentProtectFlag = "1";
+                this.doubleProtectFlag = "1";
+            } else {
+                this.doubleProtectFlag = "0";
+                this.differentProtectFlag = "0";
+            }
+            this.oano = "";
+            this.poaSerialNo = "";
+            this.isDangerBz = null;
+            this.tpFeeFlag = "0";
+            this.feeServiceLinkage = "0";
+            this.policySort = "NSP";
+            this.argueSolution = "1";
+            this.arbitoryName = null;
+            this.quotationPlanFlag = "0";
+            this.isSpecialCarFlag = "0";
+            this.carIdSplitFlag = "";
+            this.appId = "";
+            this.touchId = "";
+            this.telKetConfSwitch = "0";
+            this.premiumTrialFlag = "0";
+        }
+    }
+
+    @Data
+    @NoArgsConstructor
+    @JsonInclude(JsonInclude.Include.ALWAYS)
+    public static class PfVehicleOwner {
+        @JsonProperty("name")
+        private String name;
+        @JsonProperty("ownerNature")
+        private String ownerNature;
+        @JsonProperty("identifyType")
+        private String identifyType;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("birthDate")
+        private String birthDate;
+        @JsonProperty("sex")
+        private String sex;
+        @JsonProperty("profession")
+        private String profession;
+        @JsonProperty("mobilePhone")
+        private String mobilePhone;
+        @JsonProperty("isApplicantOperator")
+        private String isApplicantOperator;
+        @JsonProperty("lifeInd")
+        private String lifeInd;
+        @JsonProperty("customerGradeLabel")
+        private String customerGradeLabel;
+        @JsonProperty("carDriveAddress")
+        private String carDriveAddress;
+        @JsonProperty("customerGroup")
+        private String customerGroup;
+        @JsonProperty("licenseNo")
+        private String licenseNo;
+        @JsonProperty("driveUseAttribute")
+        private String driveUseAttribute;
+        @JsonProperty("printBrandName")
+        private String printBrandName;
+        @JsonProperty("frameNo")
+        private String frameNo;
+        @JsonProperty("engineNo")
+        private String engineNo;
+        @JsonProperty("singeinDate")
+        private String singeinDate;
+        @JsonProperty("certificateDate")
+        private String certificateDate;
+        @JsonProperty("address")
+        private String address;
+        @JsonProperty("enrollDate")
+        private String enrollDate;
+        @JsonProperty("nationality")
+        private String nationality;
+        @JsonProperty("identifyStartDate")
+        private String identifyStartDate;
+        @JsonProperty("identifyEndDate")
+        private String identifyEndDate;
+
+
+        public PfVehicleOwner(CustomerInfoVo ownersInfo, CarInfoVo carInfoVo) {
+            this.name = ownersInfo.getName();
+            this.ownerNature = "01";
+            this.identifyType = "01";
+            this.identifyNumber = ownersInfo.getIdentifyNumber();
+            this.birthDate = ownersInfo.getBirthday();
+            this.sex = ownersInfo.getGender();
+            this.profession = "";
+            this.mobilePhone = "";
+            this.isApplicantOperator = "1";
+            this.lifeInd = "";
+            this.customerGradeLabel = "";
+            this.carDriveAddress = "";
+            this.customerGroup = "";
+            this.licenseNo = carInfoVo.getLicenseNo();
+            if (carInfoVo.getCarNatureCode().equals("02")) {
+                this.driveUseAttribute = "A";
+            } else {
+                this.driveUseAttribute = "F";
+            }
+            this.printBrandName = carInfoVo.getBrandName();
+            this.frameNo = carInfoVo.getVinNo();
+            this.engineNo = carInfoVo.getEngineNo();
+            this.singeinDate = carInfoVo.getRegisterDate();
+            this.certificateDate = carInfoVo.getIssueDate();
+            this.address = ownersInfo.getAddr();
+            this.enrollDate = carInfoVo.getRegisterDate();
+            this.nationality = "汉";
+            this.identifyStartDate = ownersInfo.getIdentifyValidDate();
+            this.identifyEndDate = ownersInfo.getIdentifyValidEndDate();
+        }
+    }
+
+    @Data
+    @NoArgsConstructor
+    @JsonInclude(JsonInclude.Include.ALWAYS)
+    public static class PfRelatedPartyDto {
+
+        @JsonProperty("actController")
+        private String actController;
+        @JsonProperty("actControllerEDate")
+        private String actControllerEDate;
+        @JsonProperty("actControllerIdNo")
+        private String actControllerIdNo;
+        @JsonProperty("actControllerIdType")
+        private String actControllerIdType;
+        @JsonProperty("actControllerSDate")
+        private String actControllerSDate;
+        @JsonProperty("actControllerType")
+        private String actControllerType;
+        @JsonProperty("addressCName")
+        private String addressCName;
+        @JsonProperty("appliAddress")
+        private String appliAddress;
+        @JsonProperty("appliAge")
+        private Integer appliAge;
+        @JsonProperty("appliCompanyAddress")
+        private String appliCompanyAddress;
+        @JsonProperty("appliName")
+        private String appliName;
+        @JsonProperty("appliPhoneHolderCertNumber")
+        private String appliPhoneHolderCertNumber;
+        @JsonProperty("appliPhoneHolderCertiType")
+        private String appliPhoneHolderCertiType;
+        @JsonProperty("appliPhoneHolderName")
+        private String appliPhoneHolderName;
+        @JsonProperty("birthDate")
+        private String birthDate;
+        @JsonProperty("businessDealerIdNumber")
+        private String businessDealerIdNumber;
+        @JsonProperty("businessDealerIdType")
+        private String businessDealerIdType;
+        @JsonProperty("businessDealerName")
+        private String businessDealerName;
+        @JsonProperty("businessScope")
+        private String businessScope;
+        @JsonProperty("cifCode")
+        private String cifCode;
+        @JsonProperty("companyCode")
+        private String companyCode;
+        @JsonProperty("companyType")
+        private String companyType;
+        @JsonProperty("contactDealType")
+        private String contactDealType;
+        @JsonProperty("contactIdEndDate")
+        private String contactIdEndDate;
+        @JsonProperty("contactIdStartDate")
+        private String contactIdStartDate;
+        @JsonProperty("contactIdentifyNumber")
+        private String contactIdentifyNumber;
+        @JsonProperty("contactIdentifyType")
+        private String contactIdentifyType;
+        @JsonProperty("contactLongTermIdCard")
+        private String contactLongTermIdCard;
+        @JsonProperty("contactMobile")
+        private String contactMobile;
+        @JsonProperty("contactName")
+        private String contactName;
+        @JsonProperty("contactSex")
+        private String contactSex;
+        @JsonProperty("contactType")
+        private String contactType;
+        @JsonProperty("countryCode")
+        private String countryCode;
+        @JsonProperty("countryName")
+        private String countryName;
+        @JsonProperty("countyCName")
+        private String countyCName;
+        @JsonProperty("countyCode")
+        private String countyCode;
+        @JsonProperty("clientCode")
+        private String clientCode;
+        @JsonProperty("clientCName")
+        private String clientCName;
+        @JsonProperty("clientType")
+        private String clientType;
+        @JsonProperty("detailAddress")
+        private List<String> detailAddress;
+        @JsonProperty("department")
+        private String department;
+        @JsonProperty("departmentName")
+        private String departmentName;
+        @JsonProperty("email")
+        private String email;
+        @JsonProperty("fileType")
+        private String fileType;
+        @JsonProperty("grade")
+        private String grade;
+        @JsonProperty("gradeFlag")
+        private String gradeFlag;
+        @JsonProperty("groupNature")
+        private String groupNature;
+        @JsonProperty("identifyEndDate")
+        private String identifyEndDate;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("identifyStartDate")
+        private String identifyStartDate;
+        @JsonProperty("identifyType")
+        private String identifyType;
+        @JsonProperty("identifyTypeName")
+        private String identifyTypeName;
+        @JsonProperty("industryCode")
+        private String industryCode;
+        @JsonProperty("insuredCode")
+        private String insuredCode;
+        @JsonProperty("insuredType")
+        private String insuredType;
+        @JsonProperty("isApplicantOperator")
+        private String isApplicantOperator;
+        @JsonProperty("isIntercept")
+        private String isIntercept;
+        @JsonProperty("issuer")
+        private String issuer;
+        @JsonProperty("itemAddress")
+        private List<String> itemAddress;
+        @JsonProperty("itemCityCName")
+        private String itemCityCName;
+        @JsonProperty("itemCityCode")
+        private String itemCityCode;
+        @JsonProperty("itemProvinceCName")
+        private String itemProvinceCName;
+        @JsonProperty("itemProvinceCode")
+        private String itemProvinceCode;
+        @JsonProperty("leaderAddress")
+        private String leaderAddress;
+        @JsonProperty("leaderContact")
+        private String leaderContact;
+        @JsonProperty("leaderIdEDate")
+        private String leaderIdEDate;
+        @JsonProperty("leaderIdNo")
+        private String leaderIdNo;
+        @JsonProperty("leaderIdSDate")
+        private String leaderIdSDate;
+        @JsonProperty("leaderIdType")
+        private String leaderIdType;
+        @JsonProperty("leaderName")
+        private String leaderName;
+        @JsonProperty("leaderPCD")
+        private String leaderPCD;
+        @JsonProperty("leaderType")
+        private String leaderType;
+        @JsonProperty("longTermIdentifyCard")
+        private String longTermIdentifyCard;
+        @JsonProperty("mobile")
+        private String mobile;
+        @JsonProperty("mobilePhone")
+        private String mobilePhone;
+        @JsonProperty("name")
+        private String name;
+        @JsonProperty("nation")
+        private String nation;
+        @JsonProperty("newCustomSystemOperatorType")
+        private String newCustomSystemOperatorType;
+        @JsonProperty("occupationCode")
+        private String occupationCode;
+        @JsonProperty("operatorType")
+        private String operatorType;
+        @JsonProperty("ownerNature")
+        private String ownerNature;
+        @JsonProperty("relationWithBrach")
+        private String relationWithBrach;
+        @JsonProperty("relationWithBrachName")
+        private String relationWithBrachName;
+        @JsonProperty("riskCode")
+        private String riskCode;
+        @JsonProperty("sex")
+        private String sex;
+        @JsonProperty("shareHolder")
+        private String shareHolder;
+        @JsonProperty("shareHolderIdEDate")
+        private String shareHolderIdEDate;
+        @JsonProperty("shareHolderIdNo")
+        private String shareHolderIdNo;
+        @JsonProperty("shareHolderIdSDate")
+        private String shareHolderIdSDate;
+        @JsonProperty("shareHolderIdType")
+        private String shareHolderIdType;
+        @JsonProperty("showClientAddress")
+        private String showClientAddress;
+
+        public PfRelatedPartyDto(CustomerInfoVo policyHolderInfo) {
+            this.appliName = policyHolderInfo.getName();
+            this.insuredCode = "";
+            this.insuredType = "1";
+            this.identifyType = "01";
+            this.identifyNumber = policyHolderInfo.getIdentifyNumber();
+            if (policyHolderInfo.getIdentifyValidEndDate().equals("9999-12-31")) {
+                this.longTermIdentifyCard = "1";
+            } else {
+                this.longTermIdentifyCard = "0";
+            }
+            this.identifyStartDate = policyHolderInfo.getIdentifyValidDate();
+            this.identifyEndDate = policyHolderInfo.getIdentifyValidEndDate();
+            this.itemAddress = List.of(
+                    policyHolderInfo.getProvince(),
+                    policyHolderInfo.getCity(),
+                    policyHolderInfo.getCounty()
+            );
+            this.itemProvinceCode = policyHolderInfo.getProvinceCode();
+            this.itemProvinceCName = policyHolderInfo.getProvince();
+            this.itemCityCode = policyHolderInfo.getCityCode();
+            this.itemCityCName = policyHolderInfo.getCity();
+            this.countyCode = policyHolderInfo.getCountyCode();
+            this.countyCName = policyHolderInfo.getCounty();
+            this.appliAddress = policyHolderInfo.getAddr();
+            this.mobilePhone = policyHolderInfo.getMobile();
+            this.email = "1137201468@qq.com";
+            this.industryCode = "";
+            this.contactName = "";
+            this.contactMobile = "";
+            this.contactType = "1";
+            this.occupationCode = "30110";
+            this.countryCode = "CN";
+            this.contactIdentifyType = "01";
+            this.contactIdentifyNumber = "";
+            this.contactSex = "";
+            this.contactDealType = "1";
+            this.appliPhoneHolderName = "";
+            this.appliPhoneHolderCertiType = "";
+            this.appliPhoneHolderCertNumber = "";
+            this.leaderType = "1";
+            this.leaderName = "";
+            this.leaderIdType = "01";
+            this.leaderIdNo = "";
+            this.leaderIdSDate = "";
+            this.leaderIdEDate = "";
+            this.leaderContact = "";
+            this.leaderPCD = "";
+            this.leaderAddress = "";
+            this.businessScope = "";
+            this.businessDealerName = "";
+            this.businessDealerIdType = "";
+            this.businessDealerIdNumber = "";
+            this.sex = policyHolderInfo.getGender();
+            this.birthDate = policyHolderInfo.getBirthday();
+            this.appliAge = policyHolderInfo.getAge();
+            this.appliCompanyAddress = "";
+            this.shareHolder = "";
+            this.shareHolderIdType = "";
+            this.shareHolderIdNo = "";
+            this.shareHolderIdSDate = "";
+            this.shareHolderIdEDate = "";
+            this.actControllerType = "";
+            this.actController = "";
+            this.actControllerIdType = "";
+            this.actControllerIdNo = "";
+            this.actControllerSDate = "";
+            this.actControllerEDate = "";
+            this.companyType = "";
+            this.nation = "汉";
+            this.name = "";
+            this.ownerNature = "";
+            this.isApplicantOperator = "";
+            this.clientCode = "";
+            this.clientCName = "";
+            this.clientType = "";
+            this.cifCode = "";
+            this.department = "";
+            this.relationWithBrach = "";
+            this.showClientAddress = "";
+            this.addressCName = "";
+            this.mobile = "";
+            this.identifyTypeName = "";
+            this.companyCode = "";
+            this.departmentName = "";
+            this.relationWithBrachName = "";
+            this.riskCode = "";
+            this.countryName = "";
+            this.isIntercept = "";
+            this.issuer = "";
+            this.newCustomSystemOperatorType = "";
+            this.operatorType = "1";
+            this.detailAddress = Collections.emptyList();
+        }
+    }
+
+    @Data
+    @NoArgsConstructor
+    @JsonInclude(JsonInclude.Include.ALWAYS)
+    public static class PfItemMotorDto {
+        @JsonProperty("actualValue")
+        private String actualValue;
+        @JsonProperty("attachNature")
+        private String attachNature;
+        @JsonProperty("brandId")
+        private String brandId;
+        @JsonProperty("brandName")
+        private String brandName;
+        @JsonProperty("carBrand")
+        private String carBrand;
+        @JsonProperty("carCheckValidTime")
+        private String carCheckValidTime;
+        @JsonProperty("carFamilyTypeI")
+        private String carFamilyTypeI;
+        @JsonProperty("carFamilyTypeII")
+        private String carFamilyTypeII;
+        @JsonProperty("carGroupName")
+        private String carGroupName;
+        @JsonProperty("carID")
+        private String carID;
+        @JsonProperty("carId")
+        private String carId;
+        @JsonProperty("carIdRenewalFlag")
+        private String carIdRenewalFlag;
+        @JsonProperty("carKindCode")
+        private String carKindCode;
+        @JsonProperty("carKindCodeShow")
+        private String carKindCodeShow;
+        @JsonProperty("carKindCodeShowName")
+        private String carKindCodeShowName;
+        @JsonProperty("carName")
+        private String carName;
+        @JsonProperty("carNewOldFlag")
+        private String carNewOldFlag;
+        @JsonProperty("carUseType")
+        private String carUseType;
+        @JsonProperty("certificateDate")
+        private String certificateDate;
+        @JsonProperty("certificateNo")
+        private String certificateNo;
+        @JsonProperty("certificateReportDate")
+        private String certificateReportDate;
+        @JsonProperty("certificateType")
+        private String certificateType;
+        @JsonProperty("chdTeamGrade")
+        private String chdTeamGrade;
+        @JsonProperty("chdVehicleGrade")
+        private String chdVehicleGrade;
+        @JsonProperty("chgOwnerFlag")
+        private String chgOwnerFlag;
+        @JsonProperty("ciModelCode")
+        private String ciModelCode;
+        @JsonProperty("classificationOfCDW")
+        private String classificationOfCDW;
+        @JsonProperty("clauseType")
+        private String clauseType;
+        @JsonProperty("colorCode")
+        private String colorCode;
+        @JsonProperty("colorName")
+        private String colorName;
+        @JsonProperty("commercialCarGrade")
+        private String commercialCarGrade;
+        @JsonProperty("commercialCarGradeSource")
+        private String commercialCarGradeSource;
+        @JsonProperty("completeKerbMass")
+        private Double completeKerbMass;
+        @JsonProperty("configModel")
+        private String configModel;
+        @JsonProperty("coreValueType")
+        private String coreValueType;
+        @JsonProperty("countryNature")
+        private String countryNature;
+        @JsonProperty("cvFlag")
+        private Boolean cvFlag;
+        @JsonProperty("doubleProtectFlag")
+        private String doubleProtectFlag;
+        @JsonProperty("driveUseAttribute")
+        private String driveUseAttribute;
+        @JsonProperty("energyType")
+        private String energyType;
+        @JsonProperty("energyTypeDescribe")
+        private String energyTypeDescribe;
+        @JsonProperty("engineModel")
+        private String engineModel;
+        @JsonProperty("engineNo")
+        private String engineNo;
+        @JsonProperty("enrollDate")
+        private String enrollDate;
+        @JsonProperty("exhaustScale")
+        private Integer exhaustScale;
+        @JsonProperty("factory")
+        private String factory;
+        @JsonProperty("factoryId")
+        private String factoryId;
+        @JsonProperty("familyCode")
+        private String familyCode;
+        @JsonProperty("familyName")
+        private String familyName;
+        @JsonProperty("frameNo")
+        private String frameNo;
+        @JsonProperty("frameNoHeteroType")
+        private String frameNoHeteroType;
+        @JsonProperty("fuelType")
+        private String fuelType;
+        @JsonProperty("fuelTypeName")
+        private String fuelTypeName;
+        @JsonProperty("glassType")
+        private String glassType;
+        @JsonProperty("glassTypeName")
+        private String glassTypeName;
+        @JsonProperty("groupCode")
+        private String groupCode;
+        @JsonProperty("hazardType")
+        private String hazardType;
+        @JsonProperty("hfCode")
+        private String hfCode;
+        @JsonProperty("hfName")
+        private String hfName;
+        @JsonProperty("hkFlag")
+        private String hkFlag;
+        @JsonProperty("isJy")
+        private Boolean isJy;
+        @JsonProperty("isSpecialCarFlag")
+        private String isSpecialCarFlag;
+        @JsonProperty("jgVehicleCheckCode")
+        private String jgVehicleCheckCode;
+        @JsonProperty("licenseColorCode")
+        private String licenseColorCode;
+        @JsonProperty("licenseColorName")
+        private String licenseColorName;
+        @JsonProperty("licenseNo")
+        private String licenseNo;
+        @JsonProperty("licenseTypeCode")
+        private String licenseTypeCode;
+        @JsonProperty("licenseTypeName")
+        private String licenseTypeName;
+        @JsonProperty("loanVehicleFlag")
+        private String loanVehicleFlag;
+        @JsonProperty("localVehicleInd")
+        private String localVehicleInd;
+        @JsonProperty("longLoadPermit")
+        private String longLoadPermit;
+        @JsonProperty("makeDate")
+        private String makeDate;
+        @JsonProperty("modelCode")
+        private String modelCode;
+        @JsonProperty("motorTypeName")
+        private String motorTypeName;
+        @JsonProperty("negotiatedActualValue")
+        private String negotiatedActualValue;
+        @JsonProperty("negotiatedActualValueType")
+        private String negotiatedActualValueType;
+        @JsonProperty("nerveCentre")
+        private String nerveCentre;
+        @JsonProperty("newEnergyClauseFlag")
+        private String newEnergyClauseFlag;
+        @JsonProperty("newEnergyFlag")
+        private String newEnergyFlag;
+        @JsonProperty("newVehicleClassCode")
+        private String newVehicleClassCode;
+        @JsonProperty("newVehicleClassName")
+        private String newVehicleClassName;
+        @JsonProperty("noLicenseNo")
+        private Boolean noLicenseNo;
+        @JsonProperty("noticeType")
+        private String noticeType;
+        @JsonProperty("orderNo")
+        private String orderNo;
+        @JsonProperty("power")
+        private Integer power;
+        @JsonProperty("powerType")
+        private String powerType;
+        @JsonProperty("powerTypeCode")
+        private String powerTypeCode;
+        @JsonProperty("principalCHDTeamGrade")
+        private String principalCHDTeamGrade;
+        @JsonProperty("principalCHDVehicleGrade")
+        private String principalCHDVehicleGrade;
+        @JsonProperty("principalLicenseNo")
+        private String principalLicenseNo;
+        @JsonProperty("principalQuotationDiscount")
+        private String principalQuotationDiscount;
+        @JsonProperty("principalValidPolicyCount")
+        private String principalValidPolicyCount;
+        @JsonProperty("printBrandName")
+        private String printBrandName;
+        @JsonProperty("provinceEcdemicVehicleFlag")
+        private String provinceEcdemicVehicleFlag;
+        @JsonProperty("purchasePrice")
+        private String purchasePrice;
+        @JsonProperty("quoteName")
+        private String quoteName;
+        @JsonProperty("range")
+        private String range;
+        @JsonProperty("runAreaCode")
+        private String runAreaCode;
+        @JsonProperty("runAreaName")
+        private String runAreaName;
+        @JsonProperty("sale4SFlag")
+        private Object sale4SFlag;
+        @JsonProperty("saleAreaCode")
+        private String saleAreaCode;
+        @JsonProperty("saleAreaName")
+        private String saleAreaName;
+        @JsonProperty("saleCompany")
+        private String saleCompany;
+        @JsonProperty("seatCount")
+        private Integer seatCount;
+        @JsonProperty("shVehicleCode")
+        private String shVehicleCode;
+        @JsonProperty("singeinDate")
+        private String singeinDate;
+        @JsonProperty("specialCarFlag")
+        private String specialCarFlag;
+        @JsonProperty("taxVehicleCategory")
+        private String taxVehicleCategory;
+        @JsonProperty("thirdRunRoute")
+        private String thirdRunRoute;
+        @JsonProperty("tonCount")
+        private Integer tonCount;
+        @JsonProperty("totalTractionMass")
+        private String totalTractionMass;
+        @JsonProperty("transferDate")
+        private String transferDate;
+        @JsonProperty("useNatureShow")
+        private String useNatureShow;
+        @JsonProperty("useYears")
+        private Integer useYears;
+        @JsonProperty("val2")
+        private Boolean val2;
+        @JsonProperty("vehicleCategory")
+        private String vehicleCategory;
+        @JsonProperty("vehicleCategoryName")
+        private String vehicleCategoryName;
+        @JsonProperty("vehicleFatteryFlag")
+        private String vehicleFatteryFlag;
+        @JsonProperty("vehicleModelKind")
+        private String vehicleModelKind;
+        @JsonProperty("vehiclePubCode")
+        private String vehiclePubCode;
+        @JsonProperty("vehicleQueryType")
+        private String vehicleQueryType;
+        @JsonProperty("vehicleStyleUniqueId")
+        private String vehicleStyleUniqueId;
+        @JsonProperty("whiteListElecContactNo")
+        private String whiteListElecContactNo;
+        @JsonProperty("whiteListFlag")
+        private String whiteListFlag;
+        @JsonProperty("zjxlGrade")
+        private String zjxlGrade;
+
+        public PfItemMotorDto(CarInfoVo carInfoVo, TaiPingCrawlerBrandNameQueryData.ItemMotorDtoListDTO motor, String orderNo, String actualValue) {
+            this.isJy = false;
+            this.val2 = false;
+            this.brandName = motor.getBrandName();
+            this.printBrandName = motor.getPrintBrandName();
+            this.certificateDate = carInfoVo.getIssueDate();
+            this.carKindCode = motor.getCarKindCode();
+            if (Integer.parseInt(carInfoVo.getSeatCount()) < 6) {
+                this.carKindCodeShow = "11";
+            } else {
+                this.carKindCodeShow = "12";
+            }
+            this.carKindCodeShowName = motor.getCiModelClass();
+            this.vehicleCategory = carInfoVo.getCarTypeCode();
+            this.seatCount = Integer.valueOf(carInfoVo.getSeatCount());
+            if (carInfoVo.getTonCount() != null && !carInfoVo.getTonCount().isEmpty()) {
+                this.tonCount = (int) Double.parseDouble(carInfoVo.getTonCount());
+            } else {
+                this.tonCount = 0;
+            }
+            this.negotiatedActualValue = actualValue;
+            this.useNatureShow = carInfoVo.getCarNatureCode();
+            this.attachNature = "01";
+            if (carInfoVo.getCarNatureCode().equals("02")) {
+                this.driveUseAttribute = "A";
+            } else {
+                this.driveUseAttribute = "F";
+            }
+            this.carUseType = carInfoVo.getPropertyCode();
+            this.carID = motor.getCarID();
+            this.familyName = motor.getFamilyName();
+            this.colorCode = motor.getColorCode();
+            this.ciModelCode = motor.getCiModelCode();
+            this.licenseColorCode = motor.getLicenseColorCode();
+            this.purchasePrice = motor.getPurchasePrice();
+            this.carBrand = motor.getCarBrand();
+            this.actualValue = actualValue;
+            this.localVehicleInd = motor.getLocalVehicleInd();
+            this.completeKerbMass = motor.getCompleteKerbMass();
+            this.fuelType = motor.getFuelType();
+            this.factory = motor.getFactory();
+            this.engineModel = motor.getEngineModel();
+            this.factoryId = motor.getFactoryId();
+            this.clauseType = motor.getClauseType();
+            this.vehicleModelKind = motor.getVehicleModelKind();
+            this.hazardType = motor.getHazardType();
+            this.glassType = motor.getGlassType();
+            this.carName = motor.getCarName();
+            this.runAreaCode = motor.getRunAreaCode();
+            this.noticeType = motor.getNoticeType();
+            this.carCheckValidTime = "";
+            this.configModel = "";
+            this.shVehicleCode = "";
+            this.licenseTypeCode = motor.getLicenseTypeCode();
+            this.powerTypeCode = "";
+            this.powerType = "";
+            this.doubleProtectFlag = "";
+            this.taxVehicleCategory = motor.getTaxVehicleCategory();
+            this.countryNature = motor.getCountryNature();
+            this.makeDate = motor.getMakeDate();
+            this.jgVehicleCheckCode = motor.getJgVehicleCheckCode();
+            this.carId = motor.getCarID();
+            this.noLicenseNo = Boolean.FALSE;
+            this.vehicleQueryType = motor.getVehicleQueryType();
+            this.runAreaName = motor.getRunAreaName();
+            this.sale4SFlag = motor.getSale4SFlag();
+            this.saleCompany = motor.getSaleCompany();
+            this.saleAreaCode = motor.getSaleAreaCode();
+            this.provinceEcdemicVehicleFlag = motor.getProvinceEcdemicVehicleFlag();
+            this.vehicleFatteryFlag = motor.getVehicleFatteryFlag();
+            this.nerveCentre = motor.getNerveCentre();
+            this.thirdRunRoute = motor.getThirdRunRoute();
+            this.licenseNo = carInfoVo.getLicenseNo();
+            this.frameNo = carInfoVo.getVinNo();
+            this.engineNo = carInfoVo.getEngineNo();
+            this.modelCode = motor.getModelCode();
+            this.singeinDate = carInfoVo.getRegisterDate();
+            if (StringUtils.hasLength(carInfoVo.getLicenseNo())) {
+                this.carNewOldFlag = "1";
+            } else {
+                this.carNewOldFlag = "0";
+            }
+            this.enrollDate = carInfoVo.getRegisterDate();
+            this.useYears = getUseYears(carInfoVo.getRegisterDate());
+            this.exhaustScale = motor.getExhaustScale();
+            this.power = motor.getPower();
+            this.negotiatedActualValueType = motor.getNegotiatedActualValueType();
+            this.principalLicenseNo = motor.getPrincipalLicenseNo();
+            this.principalValidPolicyCount = motor.getPrincipalValidPolicyCount();
+            // 商业险过户标识
+            this.chgOwnerFlag = carInfoVo.isTransferBi() ? "1" : "0";
+            // 交强险过户车辆标识
+            this.specialCarFlag = carInfoVo.isTransfer() ? "1" : "";
+            // 过户日期
+            this.transferDate = carInfoVo.isTransferBi() || carInfoVo.isTransfer() ? carInfoVo.getTransferDate() : "";
+            this.loanVehicleFlag = carInfoVo.isLoanStatus() ? "1" : "0";
+            this.familyCode = motor.getFamilyCode();
+            this.hkFlag = motor.getHkFlag();
+            this.fuelTypeName = motor.getFuelTypeName();
+            this.whiteListFlag = motor.getWhiteListFlag();
+            this.whiteListElecContactNo = motor.getWhiteListElecContactNo();
+            this.groupCode = motor.getGroupCode();
+            this.commercialCarGradeSource = motor.getCommercialCarGradeSource();
+            this.commercialCarGrade = motor.getCommercialCarGrade();
+            this.saleAreaName = motor.getSaleAreaName();
+            this.totalTractionMass = motor.getTotalTractionMass();
+            this.quoteName = "";
+            this.classificationOfCDW = motor.getClassificationOfCDW();
+            this.isSpecialCarFlag = motor.getIsSpecialCarFlag();
+            this.cvFlag = Boolean.valueOf(motor.getCvFlag());
+            this.frameNoHeteroType = motor.getFrameNoHeteroType();
+            this.principalCHDVehicleGrade = motor.getPrincipalCHDVehicleGrade();
+            this.principalCHDTeamGrade = motor.getPrincipalCHDTeamGrade();
+            this.principalQuotationDiscount = motor.getPrincipalQuotationDiscount();
+            this.chdVehicleGrade = motor.getChdVehicleGrade();
+            this.chdTeamGrade = motor.getChdTeamGrade();
+            this.zjxlGrade = motor.getZjxlGrade();
+            if (carInfoVo.getEnergyTypeCode().equals("0")) {
+                this.newEnergyFlag = "0";
+                this.energyType = "0";
+            } else {
+                this.newEnergyFlag = "1";
+                this.energyType = "1";
+            }
+            this.energyTypeDescribe = motor.getEnergyTypeDescribe();
+            this.range = motor.getRange();
+            this.vehicleStyleUniqueId = motor.getVehicleStyleUniqueId();
+            this.certificateType = motor.getCertificateType();
+            this.certificateNo = motor.getCertificateNo();
+            this.certificateReportDate = motor.getCertificateReportDate();
+            this.longLoadPermit = motor.getLongLoadPermit();
+            this.brandId = motor.getBrandId();
+            this.colorName = motor.getColorName();
+            this.newVehicleClassCode = motor.getNewVehicleClassCode();
+            this.newVehicleClassName = motor.getNewVehicleClassName();
+            this.hfCode = motor.getHfCode();
+            this.hfName = motor.getHfName();
+            this.carGroupName = motor.getCarGroupName();
+            this.vehicleCategoryName = motor.getVehicleCategoryName();
+            this.glassTypeName = motor.getGlassTypeName();
+            this.orderNo = orderNo;
+            this.licenseColorName = motor.getLicenseColorName();
+            this.licenseTypeName = motor.getLicenseTypeName();
+            this.motorTypeName = motor.getMotorTypeName();
+            this.newEnergyClauseFlag = motor.getNewEnergyClauseFlag();
+            this.carIdRenewalFlag = "";
+        }
+
+        public int getUseYears(String registerDate) {
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            LocalDate startDate = LocalDate.parse(registerDate, formatter);
+            LocalDate endDate = LocalDate.now().plusDays(1);
+            // 总天数
+            long days = java.time.temporal.ChronoUnit.DAYS.between(startDate, endDate);
+            // 除以365 取整
+            return (int) (days / 365);
+        }
+    }
+
+    @Data
+    @NoArgsConstructor
+    @JsonInclude(JsonInclude.Include.ALWAYS)
+    public static class PfRiskRelatedPartyDto {
+        @JsonProperty("actController")
+        private String actController;
+        @JsonProperty("actControllerEDate")
+        private String actControllerEDate;
+        @JsonProperty("actControllerIdNo")
+        private String actControllerIdNo;
+        @JsonProperty("actControllerIdType")
+        private String actControllerIdType;
+        @JsonProperty("actControllerSDate")
+        private String actControllerSDate;
+        @JsonProperty("actControllerType")
+        private String actControllerType;
+        @JsonProperty("appliAddress")
+        private String appliAddress;
+        @JsonProperty("appliAge")
+        private Integer appliAge;
+        @JsonProperty("appliCompanyAddress")
+        private String appliCompanyAddress;
+        @JsonProperty("appliName")
+        private String appliName;
+        @JsonProperty("appliPhoneHolderCertNumber")
+        private String appliPhoneHolderCertNumber;
+        @JsonProperty("appliPhoneHolderCertiType")
+        private String appliPhoneHolderCertiType;
+        @JsonProperty("appliPhoneHolderName")
+        private String appliPhoneHolderName;
+        @JsonProperty("birthDate")
+        private String birthDate;
+        @JsonProperty("businessDealerIdNumber")
+        private String businessDealerIdNumber;
+        @JsonProperty("businessDealerIdType")
+        private String businessDealerIdType;
+        @JsonProperty("businessDealerName")
+        private String businessDealerName;
+        @JsonProperty("businessScope")
+        private String businessScope;
+        @JsonProperty("companyEstablishDate")
+        private String companyEstablishDate;
+        @JsonProperty("contactDealType")
+        private String contactDealType;
+        @JsonProperty("contactIdEndDate")
+        private String contactIdEndDate;
+        @JsonProperty("contactIdStartDate")
+        private String contactIdStartDate;
+        @JsonProperty("contactIdentifyNumber")
+        private String contactIdentifyNumber;
+        @JsonProperty("contactIdentifyType")
+        private String contactIdentifyType;
+        @JsonProperty("contactLongTermIdCard")
+        private String contactLongTermIdCard;
+        @JsonProperty("contactMobile")
+        private String contactMobile;
+        @JsonProperty("contactName")
+        private String contactName;
+        @JsonProperty("contactSex")
+        private String contactSex;
+        @JsonProperty("contactType")
+        private String contactType;
+        @JsonProperty("countryCode")
+        private String countryCode;
+        @JsonProperty("countyCName")
+        private String countyCName;
+        @JsonProperty("countyCode")
+        private String countyCode;
+        @JsonProperty("detailAddress")
+        private List<Object> detailAddress;
+        @JsonProperty("email")
+        private String email;
+        @JsonProperty("fileType")
+        private String fileType;
+        @JsonProperty("insuredName")
+        private String insuredName;
+        @JsonProperty("insuredCode")
+        private String insuredCode;
+        @JsonProperty("insuredType")
+        private String insuredType;
+        @JsonProperty("identifyType")
+        private String identifyType;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("longTermIdentifyCard")
+        private String longTermIdentifyCard;
+        @JsonProperty("identifyStartDate")
+        private String identifyStartDate;
+        @JsonProperty("identifyEndDate")
+        private String identifyEndDate;
+        @JsonProperty("itemAddress")
+        private List<String> itemAddress;
+        @JsonProperty("itemProvinceCode")
+        private String itemProvinceCode;
+        @JsonProperty("itemProvinceCName")
+        private String itemProvinceCName;
+        @JsonProperty("itemCityCode")
+        private String itemCityCode;
+        @JsonProperty("itemCityCName")
+        private String itemCityCName;
+        @JsonProperty("insuredAddress")
+        private String insuredAddress;
+        @JsonProperty("insuredMobilePhone")
+        private String insuredMobilePhone;
+        @JsonProperty("occupationCode")
+        private String occupationCode;
+        @JsonProperty("insuredPhoneHolderName")
+        private String insuredPhoneHolderName;
+        @JsonProperty("insuredPhoneHolderCertiType")
+        private String insuredPhoneHolderCertiType;
+        @JsonProperty("insuredPhoneHolderCertNumber")
+        private String insuredPhoneHolderCertNumber;
+        @JsonProperty("leaderType")
+        private String leaderType;
+        @JsonProperty("subLeaderName")
+        private String subLeaderName;
+        @JsonProperty("leaderIdType")
+        private String leaderIdType;
+        @JsonProperty("leaderIdNo")
+        private String leaderIdNo;
+        @JsonProperty("leaderIdSDate")
+        private String leaderIdSDate;
+        @JsonProperty("leaderIdEDate")
+        private String leaderIdEDate;
+        @JsonProperty("subLeaderConactMobile")
+        private String subLeaderConactMobile;
+        @JsonProperty("leaderPCD")
+        private String leaderPCD;
+        @JsonProperty("subLeaderAddress")
+        private String subLeaderAddress;
+        @JsonProperty("insuredSex")
+        private String insuredSex;
+        @JsonProperty("insuredBirthDate")
+        private String insuredBirthDate;
+        @JsonProperty("insuredAge")
+        private Integer insuredAge;
+        @JsonProperty("insuredCompanyAddress")
+        private String insuredCompanyAddress;
+        @JsonProperty("companyType")
+        private String companyType;
+        @JsonProperty("nation")
+        private String nation;
+        @JsonProperty("issuer")
+        private String issuer;
+        @JsonProperty("shareHolder")
+        private String shareHolder;
+        @JsonProperty("shareHolderIdType")
+        private String shareHolderIdType;
+        @JsonProperty("shareHolderIdNo")
+        private String shareHolderIdNo;
+        @JsonProperty("shareHolderIdSDate")
+        private String shareHolderIdSDate;
+        @JsonProperty("shareHolderIdEDate")
+        private String shareHolderIdEDate;
+        @JsonProperty("mobilePhone")
+        private String mobilePhone;
+        @JsonProperty("industryCode")
+        private String industryCode;
+        @JsonProperty("leaderName")
+        private String leaderName;
+        @JsonProperty("leaderContact")
+        private String leaderContact;
+        @JsonProperty("leaderAddress")
+        private String leaderAddress;
+        @JsonProperty("sex")
+        private String sex;
+        @JsonProperty("ownerNature")
+        private String ownerNature;
+        @JsonProperty("isApplicantOperator")
+        private String isApplicantOperator;
+        @JsonProperty("clientCode")
+        private String clientCode;
+        @JsonProperty("clientCName")
+        private String clientCName;
+        @JsonProperty("clientType")
+        private String clientType;
+        @JsonProperty("cifCode")
+        private String cifCode;
+        @JsonProperty("department")
+        private String department;
+        @JsonProperty("relationWithBrach")
+        private String relationWithBrach;
+        @JsonProperty("showClientAddress")
+        private String showClientAddress;
+        @JsonProperty("addressCName")
+        private String addressCName;
+        @JsonProperty("mobile")
+        private String mobile;
+        @JsonProperty("identifyTypeName")
+        private String identifyTypeName;
+        @JsonProperty("companyCode")
+        private String companyCode;
+        @JsonProperty("departmentName")
+        private String departmentName;
+        @JsonProperty("relationWithBrachName")
+        private String relationWithBrachName;
+        @JsonProperty("riskCode")
+        private String riskCode;
+        @JsonProperty("countryName")
+        private String countryName;
+        @JsonProperty("isIntercept")
+        private String isIntercept;
+        @JsonProperty("newCustomSystemOperatorType")
+        private String newCustomSystemOperatorType;
+
+
+        public PfRiskRelatedPartyDto(CustomerInfoVo insuredPersonInfo) {
+            this.insuredName = insuredPersonInfo.getName();
+            this.insuredCode = "";
+            this.insuredType = "1";
+            this.identifyType = "01";
+            this.identifyNumber = insuredPersonInfo.getIdentifyNumber();
+            if (insuredPersonInfo.getIdentifyValidEndDate().equals("9999-12-31")) {
+                this.longTermIdentifyCard = "1";
+            } else {
+                this.longTermIdentifyCard = "0";
+            }
+            this.identifyStartDate = insuredPersonInfo.getIdentifyValidDate();
+            this.identifyEndDate = insuredPersonInfo.getIdentifyValidEndDate();
+            this.itemAddress = List.of(
+                    insuredPersonInfo.getProvince(),
+                    insuredPersonInfo.getCity(),
+                    insuredPersonInfo.getCounty()
+            );
+            this.itemProvinceCode = insuredPersonInfo.getProvinceCode();
+            this.itemProvinceCName = insuredPersonInfo.getProvince();
+            this.itemCityCode = insuredPersonInfo.getCityCode();
+            this.itemCityCName = insuredPersonInfo.getCity();
+            this.countyCode = insuredPersonInfo.getCountyCode();
+            this.countyCName = insuredPersonInfo.getCounty();
+            this.insuredAddress = insuredPersonInfo.getAddr();
+            this.insuredMobilePhone = insuredPersonInfo.getMobile();
+            this.email = "1137201468@qq.com";
+            this.contactName = "";
+            this.contactMobile = "";
+            this.contactType = "1";
+            this.occupationCode = "30110";
+            this.contactIdentifyType = "01";
+            this.contactIdentifyNumber = "";
+            this.insuredPhoneHolderName = "";
+            this.insuredPhoneHolderCertiType = "";
+            this.insuredPhoneHolderCertNumber = "";
+            this.leaderType = "1";
+            this.subLeaderName = "";
+            this.leaderIdType = "01";
+            this.leaderIdNo = "";
+            this.leaderIdSDate = "";
+            this.leaderIdEDate = "";
+            this.subLeaderConactMobile = "";
+            this.businessScope = "";
+            this.leaderPCD = "";
+            this.subLeaderAddress = "";
+            this.insuredSex = "";
+            this.insuredBirthDate = insuredPersonInfo.getBirthday();
+            this.insuredAge = insuredPersonInfo.getAge();
+            this.insuredCompanyAddress = "";
+            this.countryCode = "CN";
+            this.companyType = "";
+            this.companyEstablishDate = "";
+            this.nation = "汉";
+            this.issuer = "";
+            this.businessDealerName = "";
+            this.businessDealerIdType = "";
+            this.businessDealerIdNumber = "";
+            this.shareHolder = "";
+            this.shareHolderIdType = "";
+            this.shareHolderIdNo = "";
+            this.shareHolderIdSDate = "";
+            this.shareHolderIdEDate = "";
+            this.actControllerType = "1";
+            this.actController = "";
+            this.actControllerIdType = "";
+            this.actControllerIdNo = "";
+            this.actControllerSDate = "";
+            this.actControllerEDate = "";
+            this.appliName = insuredPersonInfo.getName();
+            this.appliAddress = insuredPersonInfo.getAddr();
+            this.mobilePhone = insuredPersonInfo.getMobile();
+            this.industryCode = "";
+            this.contactSex = "";
+            this.contactDealType = "1";
+            this.appliPhoneHolderName = "";
+            this.appliPhoneHolderCertiType = "";
+            this.appliPhoneHolderCertNumber = "";
+            this.leaderName = "";
+            this.leaderContact = "";
+            this.leaderAddress = "";
+            this.sex = insuredPersonInfo.getGender();
+            this.birthDate = insuredPersonInfo.getBirthday();
+            this.appliAge = insuredPersonInfo.getAge();
+            this.appliCompanyAddress = "";
+            this.ownerNature = "";
+            this.isApplicantOperator = "";
+            this.clientCode = "";
+            this.clientCName = "";
+            this.clientType = "";
+            this.cifCode = "";
+            this.department = "";
+            this.relationWithBrach = "";
+            this.showClientAddress = "";
+            this.addressCName = addressCName;
+            this.mobile = insuredPersonInfo.getMobile();
+            this.identifyTypeName = "";
+            this.companyCode = "";
+            this.departmentName = "";
+            this.relationWithBrachName = "";
+            this.riskCode = "";
+            this.countryName = "";
+            this.isIntercept = "";
+            this.newCustomSystemOperatorType = "";
+            this.detailAddress = Collections.emptyList();
+        }
+    }
+
+    @Data
+    @NoArgsConstructor
+    @JsonInclude(JsonInclude.Include.ALWAYS)
+    public static class PfProposalCarShipTaxDto {
+        @JsonProperty("taxpayerIdentifier")
+        private String taxpayerIdentifier;
+        @JsonProperty("taxRelifFlag")
+        private String taxRelifFlag;
+        @JsonProperty("fuelType")
+        private String fuelType;
+        @JsonProperty("taxItemDetailCode")
+        private String taxItemDetailCode;
+        @JsonProperty("taxItemDetailName")
+        private String taxItemDetailName;
+        @JsonProperty("calculateMode")
+        private String calculateMode;
+        @JsonProperty("taxDueActual")
+        private Integer taxDueActual;
+        @JsonProperty("refundTaxDue")
+        private String refundTaxDue;
+        @JsonProperty("sumRefundTax")
+        private String sumRefundTax;
+        @JsonProperty("calcTaxFlag")
+        private String calcTaxFlag;
+        @JsonProperty("taxPaymentMark")
+        private String taxPaymentMark;
+        @JsonProperty("previousPay")
+        private Integer previousPay;
+        @JsonProperty("lateFee")
+        private Integer lateFee;
+        @JsonProperty("taxPayerName")
+        private String taxPayerName;
+        @JsonProperty("identifyType")
+        private String identifyType;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("paidFreeCertificate")
+        private String paidFreeCertificate;
+        @JsonProperty("taxDocumentDate")
+        private String taxDocumentDate;
+        @JsonProperty("taxPaidAreaCode")
+        private String taxPaidAreaCode;
+        @JsonProperty("relifReason")
+        private String relifReason;
+        @JsonProperty("freeRate")
+        private Integer freeRate;
+        @JsonProperty("deductionDueType")
+        private String deductionDueType;
+        @JsonProperty("taxRegistryNumber")
+        private String taxRegistryNumber;
+        @JsonProperty("taxCompancyCode")
+        private String taxCompancyCode;
+        @JsonProperty("taxCompancyName")
+        private String taxCompancyName;
+        @JsonProperty("carFindDate")
+        private String carFindDate;
+        @JsonProperty("previousPayYears")
+        private String previousPayYears;
+        @JsonProperty("itemAddress")
+        private String itemAddress;
+        @JsonProperty("provinceCode")
+        private String provinceCode;
+        @JsonProperty("provinceName")
+        private String provinceName;
+        @JsonProperty("cityCode")
+        private String cityCode;
+        @JsonProperty("cityName")
+        private String cityName;
+        @JsonProperty("countyCode")
+        private String countyCode;
+        @JsonProperty("countyName")
+        private String countyName;
+        @JsonProperty("detailedAddress")
+        private String detailedAddress;
+        @JsonProperty("fuelTypeCST")
+        private String fuelTypeCST;
+        @JsonProperty("useNatureCode")
+        private String useNatureCode;
+        @JsonProperty("taxPayerPhoneNumber")
+        private String taxPayerPhoneNumber;
+        @JsonProperty("taxStartDate")
+        private String taxStartDate;
+        @JsonProperty("taxEndDate")
+        private String taxEndDate;
+        @JsonProperty("newLicenseFlag")
+        private String newLicenseFlag;
+        @JsonProperty("payLastYear")
+        private String payLastYear;
+        @JsonProperty("payLastEndDate")
+        private String payLastEndDate;
+        @JsonProperty("sumPayTax")
+        private Integer sumPayTax;
+        @JsonProperty("taxRelief")
+        private Integer taxRelief;
+        @JsonProperty("vehicleCategory")
+        private String vehicleCategory;
+        @JsonProperty("certiType")
+        private String certiType;
+
+        public PfProposalCarShipTaxDto(VehicleAndVesselTaxVo vehicleAndVesselTax, CarInfoVo carInfoVo) {
+            this.taxpayerIdentifier = vehicleAndVesselTax.getIdentifyNumber();
+            this.taxRelifFlag = "02";
+            this.fuelType = carInfoVo.getEnergyTypeCode();
+            if (!carInfoVo.getEnergyTypeCode().equals("0")) {
+                this.taxItemDetailCode = "";
+                this.taxItemDetailName = "";
+                this.calculateMode = "1";
+            } else {
+                this.taxItemDetailCode = "02";
+                this.taxItemDetailName = "1.6至2.0升(含)客车";
+                this.calculateMode = "3";
+            }
+            this.taxDueActual = 0;
+            this.refundTaxDue = "";
+            this.sumRefundTax = "";
+            this.calcTaxFlag = "";
+            this.taxPaymentMark = "";
+            this.previousPay = 0;
+            this.lateFee = 0;
+            this.taxPayerName = vehicleAndVesselTax.getTaxpayerName();
+            this.identifyType = "01";
+            this.identifyNumber = vehicleAndVesselTax.getIdentifyNumber();
+            this.paidFreeCertificate = "";
+            this.taxDocumentDate = "";
+            this.taxPaidAreaCode = "";
+            this.relifReason = vehicleAndVesselTax.getRelifReason();
+            this.freeRate = 0;
+            this.deductionDueType = "";
+            this.taxRegistryNumber = "";
+            this.taxCompancyCode = vehicleAndVesselTax.getTaxComCode();
+            this.taxCompancyName = vehicleAndVesselTax.getTaxComName();
+            this.carFindDate = "";
+            this.previousPayYears = "";
+            this.itemAddress = "";
+            this.provinceCode = "";
+            this.provinceName = "";
+            this.cityCode = "";
+            this.cityName = "";
+            this.countyCode = "";
+            this.countyName = "";
+            this.detailedAddress = "";
+            this.fuelTypeCST = "A";
+            this.useNatureCode = "200";
+            this.taxPayerPhoneNumber = "";
+            this.taxStartDate = "";
+            this.taxEndDate = "";
+            this.newLicenseFlag = "1";
+            this.payLastYear = "";
+            this.payLastEndDate = "";
+            this.sumPayTax = 0;
+            this.taxRelief = 0;
+            this.vehicleCategory = "K33";
+            this.certiType = "01";
+        }
+    }
+
+    @Data
+    @NoArgsConstructor
+    @JsonInclude(JsonInclude.Include.ALWAYS)
+    public static class PfPolicyInfoDto {
+        @JsonProperty("arbitoryName")
+        private String arbitoryName;
+        @JsonProperty("argueSolution")
+        private String argueSolution;
+        @JsonProperty("chgOwnerFlag")
+        private String chgOwnerFlag;
+        @JsonProperty("demandNoBusi")
+        private String demandNoBusi;
+        @JsonProperty("demandNoForce")
+        private String demandNoForce;
+        @JsonProperty("effectFlag0801")
+        private Boolean effectFlag0801;
+        @JsonProperty("effectFlag0802")
+        private Boolean effectFlag0802;
+        @JsonProperty("endDate")
+        private String endDate;
+        @JsonProperty("endDate0801")
+        private String endDate0801;
+        @JsonProperty("endTime0801")
+        private String endTime0801;
+        @JsonProperty("endDate0802")
+        private String endDate0802;
+        @JsonProperty("endTime0802")
+        private String endTime0802;
+        @JsonProperty("forwardAgentUserCode")
+        private String forwardAgentUserCode;
+        @JsonProperty("immEffectStartDate0801")
+        private String immEffectStartDate0801;
+        @JsonProperty("immEffectStartDate0802")
+        private String immEffectStartDate0802;
+        @JsonProperty("immEffectType0801")
+        private Object immEffectType0801;
+        @JsonProperty("immEffectType0802")
+        private Object immEffectType0802;
+        @JsonProperty("isElectronicPolicyBS")
+        private String isElectronicPolicyBS;
+        @JsonProperty("isElectronicPolicyBZ")
+        private String isElectronicPolicyBZ;
+        @JsonProperty("isElectronicProposalBS")
+        private String isElectronicProposalBS;
+        @JsonProperty("isElectronicProposalBZ")
+        private String isElectronicProposalBZ;
+        @JsonProperty("loanVehicleFlag")
+        private Boolean loanVehicleFlag;
+        @JsonProperty("noDamageYears")
+        private Integer noDamageYears;
+        @JsonProperty("operateDate")
+        private String operateDate;
+        @JsonProperty("poaSerialNo")
+        private String poaSerialNo;
+        @JsonProperty("policyNo0801")
+        private String policyNo0801;
+        @JsonProperty("policyNo0802")
+        private String policyNo0802;
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("proposalNo0801")
+        private String proposalNo0801;
+        @JsonProperty("proposalNo0802")
+        private String proposalNo0802;
+        @JsonProperty("remark")
+        private String remark;
+        @JsonProperty("renewalNo0801")
+        private String renewalNo0801;
+        @JsonProperty("renewalNo0802")
+        private String renewalNo0802;
+        @JsonProperty("specialCarFlag")
+        private String specialCarFlag;
+        @JsonProperty("startDate0801")
+        private String startDate0801;
+        @JsonProperty("startTime0801")
+        private String startTime0801;
+        @JsonProperty("startDate0802")
+        private String startDate0802;
+        @JsonProperty("startTime0802")
+        private String startTime0802;
+        @JsonProperty("tradingRelevanceNo")
+        private Boolean tradingRelevanceNo;
+        @JsonProperty("transferDate")
+        private String transferDate;
+        public PfPolicyInfoDto(QuoteVo quoteVo) {
+            if (quoteVo.getCiRiskInfoVo() != null) {
+                String startDate = quoteVo.getCiRiskInfoVo().getStartDate();
+                String endDate = quoteVo.getCiRiskInfoVo().getEndDate();
+                this.startDate0801 = startDate.substring(0, 10);
+                this.startTime0801 = startDate.substring(11);
+                this.endDate0801 = endDate.substring(0, 10);
+                this.endTime0801 = endDate.substring(11);
+            }
+            if (quoteVo.getBiRiskInfoVo() != null) {
+                String startDate = quoteVo.getBiRiskInfoVo().getStartDate();
+                String endDate = quoteVo.getBiRiskInfoVo().getEndDate();
+                this.startDate0802 = startDate.substring(0, 10);
+                this.startTime0802 = startDate.substring(11);
+                this.endDate0802 = endDate.substring(0, 10);
+                this.endTime0802 = endDate.substring(11);
+            }
+            this.proposalNo = "";
+            this.renewalNo0801 = "";
+            this.renewalNo0802 = "";
+            this.proposalNo0801 = "";
+            this.demandNoForce = "";
+            this.immEffectStartDate0801 = null;
+            this.immEffectStartDate0802 = null;
+            this.immEffectType0801 = null;
+            this.immEffectType0802 = null;
+            this.demandNoBusi = "";
+            this.poaSerialNo = "";
+            this.effectFlag0801 = false;
+            this.effectFlag0802 = false;
+            this.proposalNo0802 = "";
+            CarInfoVo carInfoVo = quoteVo.getCarInfoVo();
+            // 商业险过户标识
+            this.chgOwnerFlag = carInfoVo.isTransferBi() ? "1" : "0";
+            // 交强险过户车辆标识
+            this.specialCarFlag = carInfoVo.isTransfer() ? "1" : "";
+            // 过户日期
+            this.transferDate = carInfoVo.isTransferBi() || carInfoVo.isTransfer() ? carInfoVo.getTransferDate() : "";
+            this.loanVehicleFlag = carInfoVo.isLoanStatus();
+            this.noDamageYears = 0;
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            this.operateDate = LocalDate.now().format(formatter);
+            this.tradingRelevanceNo = false;
+            this.argueSolution = "1";
+            this.forwardAgentUserCode = "";
+            this.arbitoryName = null;
+            this.isElectronicPolicyBZ = "0";
+            this.isElectronicProposalBZ = "0";
+            this.isElectronicPolicyBS = "0";
+            this.isElectronicProposalBS = "0";
+        }
+    }
+
+
+}

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

@@ -103,7 +103,8 @@ public class TaiPingCrawlerPremiumCalculateRequest {
     public TaiPingCrawlerPremiumCalculateRequest(QuoteVo quoteVo, TaipingCrawlerConfigureParameters parameters, String orderNo,
                                                  TaiPingCrawlerBrandNameQueryData.ItemMotorDtoListDTO motor, String carActualValue,
                                                  TaiPingCrawlerFindByProductCodeResponse.Record record, TaiPingCrawlerFindSolutionCodeData.RecordsDTO taiPingCrawlerFindSolutionCodeData,
-                                                 TaiPingCrawlerFindApplyNoResponse.GsApplyInfoMainDto gsApplyInfoMainDto) {
+                                                 TaiPingCrawlerFindApplyNoResponse.GsApplyInfoMainDto gsApplyInfoMainDto,
+                                                 TaiPingCrawlerGetGuCarShipTaxListData taiPingCrawlerGetGuCarShipTaxListData) {
         boolean hasCi = quoteVo.getCiRiskInfoVo() != null;
         boolean hasBi = quoteVo.getBiRiskInfoVo() != null;
         if (hasCi && hasBi) {
@@ -131,14 +132,14 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         this.pfItemMotorDto = new PfItemMotorDtoDTO(quoteVo.getCarInfoVo(), motor, orderNo, carActualValue);
         // 被保险人
         this.pfRiskRelatedPartyDto = new PfRiskRelatedPartyDtoDTO(quoteVo.getInsuredPersonInfo());
-        this.pfProposalCarShipTaxDto = new PfProposalCarShipTaxDtoDTO(quoteVo.getVehicleAndVesselTaxVo(),quoteVo.getCarInfoVo());
+        if (taiPingCrawlerGetGuCarShipTaxListData != null) {
+            this.pfProposalCarShipTaxDto = new PfProposalCarShipTaxDtoDTO(quoteVo.getVehicleAndVesselTaxVo(),quoteVo.getCarInfoVo(),taiPingCrawlerGetGuCarShipTaxListData.getPfProposalCarShipTaxDto());
+        }
         this.pfPolicyInfoDto = new PfPolicyInfoDtoDTO(quoteVo);
         if (quoteVo.getAccidentalDrivings() != null && quoteVo.getAccidentalDrivings().size() > 0) {
             this.incrementServiceMatchFlag = true;
-            this.isStandardProduct = "Y";
         } else {
             this.incrementServiceMatchFlag = false;
-            this.isStandardProduct = "N";
         }
         this.demandNoForce = "";
         this.demandNoBusi = "";
@@ -211,7 +212,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("cooperateSiteName")
         private String cooperateSiteName;
         @JsonProperty("creditPeriod")
-        private Integer creditPeriod;
+        private String creditPeriod;
         @JsonProperty("decisionMakingUnit")
         private String decisionMakingUnit;
         @JsonProperty("departmentCode")
@@ -265,7 +266,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("intermediaryCode")
         private String intermediaryCode;
         @JsonProperty("isDangerBz")
-        private Object isDangerBz;
+        private String isDangerBz;
         @JsonProperty("isSpecialCarFlag")
         private String isSpecialCarFlag;
         @JsonProperty("itemAddress")
@@ -352,6 +353,12 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private String value;
         @JsonProperty("zlbWindowNo")
         private String zlbWindowNo;
+        @JsonProperty("underwriteName")
+        private String underwriteName;
+        @JsonProperty("underWriteInd")
+        private String underWriteInd;
+        @JsonProperty("underwriteCode")
+        private String underwriteCode;
         public PfMainDtoDTO(TaiPingCrawlerFindByProductCodeResponse.Record record, TaipingCrawlerConfigureParameters parameters,
                             TaiPingCrawlerFindSolutionCodeData.RecordsDTO taiPingCrawlerFindSolutionCodeData,
                             TaiPingCrawlerFindApplyNoResponse.GsApplyInfoMainDto gsApplyInfoMainDto, QuoteVo quoteVo) {
@@ -629,7 +636,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("clientType")
         private String clientType;
         @JsonProperty("detailAddress")
-        private List<Object> detailAddress;
+        private List<String> detailAddress;
         @JsonProperty("department")
         private String department;
         @JsonProperty("departmentName")
@@ -747,9 +754,9 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.identifyStartDate = policyHolderInfo.getIdentifyValidDate();
             this.identifyEndDate = policyHolderInfo.getIdentifyValidEndDate();
             this.itemAddress = List.of(
-                    policyHolderInfo.getProvince(),
-                    policyHolderInfo.getCity(),
-                    policyHolderInfo.getCounty()
+                    policyHolderInfo.getProvinceCode(),
+                    policyHolderInfo.getCityCode(),
+                    policyHolderInfo.getCountyCode()
             );
             this.itemProvinceCode = policyHolderInfo.getProvinceCode();
             this.itemProvinceCName = policyHolderInfo.getProvince();
@@ -906,7 +913,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("countryNature")
         private String countryNature;
         @JsonProperty("cvFlag")
-        private String cvFlag;
+        private Boolean cvFlag;
         @JsonProperty("doubleProtectFlag")
         private String doubleProtectFlag;
         @JsonProperty("driveUseAttribute")
@@ -1052,7 +1059,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("thirdRunRoute")
         private String thirdRunRoute;
         @JsonProperty("tonCount")
-        private Double tonCount;
+        private Integer tonCount;
         @JsonProperty("totalTractionMass")
         private String totalTractionMass;
         @JsonProperty("transferDate")
@@ -1098,10 +1105,10 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.carKindCodeShowName = motor.getCiModelClass();
             this.vehicleCategory = carInfoVo.getCarTypeCode();
             this.seatCount = Integer.valueOf(carInfoVo.getSeatCount());
-            if (carInfoVo.getTonCount() != null) {
-                this.tonCount = Double.valueOf(carInfoVo.getTonCount());
+            if (carInfoVo.getTonCount() != null && !carInfoVo.getTonCount().isEmpty()) {
+                this.tonCount = (int) Double.parseDouble(carInfoVo.getTonCount());
             } else {
-                this.tonCount = 0.00;
+                this.tonCount = 0;
             }
             this.negotiatedActualValue = actualValue;
             this.useNatureShow = carInfoVo.getCarNatureCode();
@@ -1192,7 +1199,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.quoteName = "";
             this.classificationOfCDW = motor.getClassificationOfCDW();
             this.isSpecialCarFlag = motor.getIsSpecialCarFlag();
-            this.cvFlag = motor.getCvFlag();
+            this.cvFlag = Boolean.valueOf(motor.getCvFlag());
             this.frameNoHeteroType = motor.getFrameNoHeteroType();
             this.principalCHDVehicleGrade = motor.getPrincipalCHDVehicleGrade();
             this.principalCHDTeamGrade = motor.getPrincipalCHDTeamGrade();
@@ -1342,19 +1349,12 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private String itemCityCode;
         @JsonProperty("itemCityCName")
         private String itemCityCName;
-
-
         @JsonProperty("insuredAddress")
         private String insuredAddress;
         @JsonProperty("insuredMobilePhone")
         private String insuredMobilePhone;
-
-
-
         @JsonProperty("occupationCode")
         private String occupationCode;
-
-
         @JsonProperty("insuredPhoneHolderName")
         private String insuredPhoneHolderName;
         @JsonProperty("insuredPhoneHolderCertiType")
@@ -1375,7 +1375,6 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private String leaderIdEDate;
         @JsonProperty("subLeaderConactMobile")
         private String subLeaderConactMobile;
-
         @JsonProperty("leaderPCD")
         private String leaderPCD;
         @JsonProperty("subLeaderAddress")
@@ -1388,17 +1387,12 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private Integer insuredAge;
         @JsonProperty("insuredCompanyAddress")
         private String insuredCompanyAddress;
-
         @JsonProperty("companyType")
         private String companyType;
-
         @JsonProperty("nation")
         private String nation;
         @JsonProperty("issuer")
         private String issuer;
-
-
-
         @JsonProperty("shareHolder")
         private String shareHolder;
         @JsonProperty("shareHolderIdType")
@@ -1409,18 +1403,10 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private String shareHolderIdSDate;
         @JsonProperty("shareHolderIdEDate")
         private String shareHolderIdEDate;
-
-
-
         @JsonProperty("mobilePhone")
         private String mobilePhone;
         @JsonProperty("industryCode")
         private String industryCode;
-
-
-
-
-
         @JsonProperty("leaderName")
         private String leaderName;
         @JsonProperty("leaderContact")
@@ -1429,9 +1415,6 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private String leaderAddress;
         @JsonProperty("sex")
         private String sex;
-
-
-
         @JsonProperty("ownerNature")
         private String ownerNature;
         @JsonProperty("isApplicantOperator")
@@ -1486,9 +1469,9 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.identifyStartDate = insuredPersonInfo.getIdentifyValidDate();
             this.identifyEndDate = insuredPersonInfo.getIdentifyValidEndDate();
             this.itemAddress = List.of(
-                    insuredPersonInfo.getProvince(),
-                    insuredPersonInfo.getCity(),
-                    insuredPersonInfo.getCounty()
+                    insuredPersonInfo.getProvinceCode(),
+                    insuredPersonInfo.getCityCode(),
+                    insuredPersonInfo.getCountyCode()
             );
             this.itemProvinceCode = insuredPersonInfo.getProvinceCode();
             this.itemProvinceCName = insuredPersonInfo.getProvince();
@@ -1626,7 +1609,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("relifReason")
         private String relifReason;
         @JsonProperty("freeRate")
-        private Integer freeRate;
+        private double freeRate;
         @JsonProperty("deductionDueType")
         private String deductionDueType;
         @JsonProperty("taxRegistryNumber")
@@ -1680,68 +1663,62 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("certiType")
         private String certiType;
 
-        public PfProposalCarShipTaxDtoDTO(VehicleAndVesselTaxVo vehicleAndVesselTax,CarInfoVo carInfoVo) {
+        public PfProposalCarShipTaxDtoDTO(VehicleAndVesselTaxVo vehicleAndVesselTax,CarInfoVo carInfoVo,TaiPingCrawlerGetGuCarShipTaxListData.PfProposalCarShipTaxDTO pfProposalCarShipTaxDto) {
             this.taxpayerIdentifier = vehicleAndVesselTax.getIdentifyNumber();
-            this.taxRelifFlag = "02";
-            this.fuelType = carInfoVo.getEnergyTypeCode();
-            if (!carInfoVo.getEnergyTypeCode().equals("0")) {
-                this.taxItemDetailCode = "";
-                this.taxItemDetailName = "";
-                this.calculateMode = "1";
-            } else {
-                this.taxItemDetailCode = "02";
-                this.taxItemDetailName = "1.6至2.0升(含)客车";
-                this.calculateMode = "3";
-            }
-            this.taxDueActual = 0;
-            this.refundTaxDue = "";
-            this.sumRefundTax = "";
-            this.calcTaxFlag = "";
-            this.taxPaymentMark = "";
-            this.previousPay = 0;
-            this.lateFee = 0;
-            this.taxPayerName = vehicleAndVesselTax.getTaxpayerName();
+            this.taxRelifFlag = pfProposalCarShipTaxDto.getTaxRelifFlag();
+            this.fuelType = pfProposalCarShipTaxDto.getFuelType();
+            this.taxItemDetailCode = pfProposalCarShipTaxDto.getTaxItemDetailCode();
+            this.taxItemDetailName = pfProposalCarShipTaxDto.getTaxItemDetailName();
+            this.calculateMode = pfProposalCarShipTaxDto.getCalculateMode();
+            this.taxDueActual = (pfProposalCarShipTaxDto.getTaxDueActual() != null && pfProposalCarShipTaxDto.getTaxDueActual() == 0.0) ? 0 : pfProposalCarShipTaxDto.getTaxDueActual().intValue();
+            this.refundTaxDue = pfProposalCarShipTaxDto.getRefundTaxDue();
+            this.sumRefundTax = pfProposalCarShipTaxDto.getSumRefundTax();
+            this.calcTaxFlag = pfProposalCarShipTaxDto.getCalcTaxFlag();
+            this.taxPaymentMark = pfProposalCarShipTaxDto.getTaxPaymentMark();
+            this.previousPay = (pfProposalCarShipTaxDto.getPreviousPay() != null && pfProposalCarShipTaxDto.getPreviousPay() == 0.0) ? 0 : pfProposalCarShipTaxDto.getPreviousPay().intValue();
+            this.lateFee = (pfProposalCarShipTaxDto.getLateFee() != null && pfProposalCarShipTaxDto.getLateFee() == 0.0) ? 0 : pfProposalCarShipTaxDto.getLateFee().intValue();
+            this.taxPayerName = pfProposalCarShipTaxDto.getTaxPayerName();
             this.identifyType = "01";
             this.identifyNumber = vehicleAndVesselTax.getIdentifyNumber();
             this.paidFreeCertificate = "";
             this.taxDocumentDate = "";
             this.taxPaidAreaCode = "";
             this.relifReason = vehicleAndVesselTax.getRelifReason();
-            this.freeRate = 50;
+            this.freeRate = (pfProposalCarShipTaxDto.getFreeRate() != null && pfProposalCarShipTaxDto.getFreeRate() == 0.0) ? 0.0 : pfProposalCarShipTaxDto.getFreeRate();
             this.deductionDueType = "";
             this.taxRegistryNumber = "";
-            this.taxCompancyCode = vehicleAndVesselTax.getTaxComCode();
-            this.taxCompancyName = vehicleAndVesselTax.getTaxComName();
-            this.carFindDate = "";
-            this.previousPayYears = "";
+            this.taxCompancyCode = pfProposalCarShipTaxDto.getTaxCompancyCode() != null ? pfProposalCarShipTaxDto.getTaxCompancyCode() : "";
+            this.taxCompancyName = pfProposalCarShipTaxDto.getTaxCompancyName() != null ? pfProposalCarShipTaxDto.getTaxCompancyName() : "";
+            this.carFindDate = pfProposalCarShipTaxDto.getCarFindDate() != null ? pfProposalCarShipTaxDto.getCarFindDate() : "";
             this.itemAddress = "";
-            this.provinceCode = "";
-            this.provinceName = "";
-            this.cityCode = "";
-            this.cityName = "";
-            this.countyCode = "";
-            this.countyName = "";
-            this.detailedAddress = "";
-            this.fuelTypeCST = "A";
-            this.useNatureCode = "200";
-            this.taxPayerPhoneNumber = "";
-            this.taxStartDate = "";
-            this.taxEndDate = "";
-            this.newLicenseFlag = "1";
-            this.payLastYear = "";
-            this.payLastEndDate = "";
-            this.sumPayTax = 0;
-            this.taxRelief = 0;
-            this.vehicleCategory = "K33";
-            this.certiType = "01";
-        }
+            this.provinceCode = pfProposalCarShipTaxDto.getProvinceCode() != null ? pfProposalCarShipTaxDto.getProvinceCode() : "";
+            this.provinceName = pfProposalCarShipTaxDto.getProvinceName() != null ? pfProposalCarShipTaxDto.getProvinceName() : "";
+            this.cityCode = pfProposalCarShipTaxDto.getCityCode() != null ? pfProposalCarShipTaxDto.getCityCode() : "";
+            this.cityName = pfProposalCarShipTaxDto.getCityName() != null ? pfProposalCarShipTaxDto.getCityName() : "";
+            this.countyCode = pfProposalCarShipTaxDto.getCountyCode() != null ? pfProposalCarShipTaxDto.getCountyCode() : "";
+            this.countyName = pfProposalCarShipTaxDto.getCountyName() != null ? pfProposalCarShipTaxDto.getCountyName() : "";
+            this.detailedAddress = pfProposalCarShipTaxDto.getDetailedAddress() != null ? pfProposalCarShipTaxDto.getDetailedAddress() : "";
+            this.previousPayYears = pfProposalCarShipTaxDto.getPreviousPayYears() != null ? pfProposalCarShipTaxDto.getPreviousPayYears() : "";
+            this.fuelTypeCST = pfProposalCarShipTaxDto.getFuelTypeCST() != null ? pfProposalCarShipTaxDto.getFuelTypeCST() : "";
+            this.useNatureCode = pfProposalCarShipTaxDto.getUseNatureCode() != null ? pfProposalCarShipTaxDto.getUseNatureCode() : "";
+            this.taxPayerPhoneNumber = pfProposalCarShipTaxDto.getTaxPayerPhoneNumber() != null ? pfProposalCarShipTaxDto.getTaxPayerPhoneNumber() : "";
+            this.taxStartDate = pfProposalCarShipTaxDto.getTaxStartDate() != null ? pfProposalCarShipTaxDto.getTaxStartDate() : "";
+            this.taxEndDate = pfProposalCarShipTaxDto.getTaxEndDate() != null ? pfProposalCarShipTaxDto.getTaxEndDate() : "";
+            this.newLicenseFlag = pfProposalCarShipTaxDto.getNewLicenseFlag() != null ? pfProposalCarShipTaxDto.getNewLicenseFlag() : "";
+            this.payLastYear = pfProposalCarShipTaxDto.getPayLastYear() != null ? pfProposalCarShipTaxDto.getPayLastYear() : "";
+            this.payLastEndDate = pfProposalCarShipTaxDto.getPayLastEndDate() != null ? pfProposalCarShipTaxDto.getPayLastEndDate() : "";
+            this.sumPayTax = pfProposalCarShipTaxDto.getSumPayTax() != null ? pfProposalCarShipTaxDto.getSumPayTax().intValue() : 0;
+            this.taxRelief = pfProposalCarShipTaxDto.getTaxRelief() != null ? pfProposalCarShipTaxDto.getTaxRelief().intValue() : 0;
+            this.vehicleCategory = pfProposalCarShipTaxDto.getVehicleCategory();
+            this.certiType = pfProposalCarShipTaxDto.getCertiType();
+            }
     }
 
     @NoArgsConstructor
     @Data
     public static class PfPolicyInfoDtoDTO {
         @JsonProperty("arbitoryName")
-        private Object arbitoryName;
+        private String arbitoryName;
         @JsonProperty("argueSolution")
         private String argueSolution;
         @JsonProperty("chgOwnerFlag")

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 4588 - 29
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerSubmitValidateRequest.java


+ 1 - 1
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerVehicleForPRPQueryRequest.java

@@ -402,7 +402,7 @@ public class TaiPingCrawlerVehicleForPRPQueryRequest {
             this.governmentProvinceName = "";
             this.governmentCityName = "";
             this.governmentCountyName = "";
-            this.creditPeriod = taiPingCrawlerFindSolutionCodeData.getCreditPeriod();
+            this.creditPeriod = Integer.valueOf(taiPingCrawlerFindSolutionCodeData.getCreditPeriod());
             this.teamName = taiPingCrawlerFindSolutionCodeData.getTeamName();
             this.registerNo = taiPingCrawlerFindSolutionCodeData.getRegisterNo();
             this.taxRegistryNumber = taiPingCrawlerFindSolutionCodeData.getTaxRegistryNumber();

+ 1 - 1
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerFindSolutionCodeData.java

@@ -17,7 +17,7 @@ public class TaiPingCrawlerFindSolutionCodeData {
         private String solutionCode;
 
         @JsonProperty("creditPeriod")
-        private Integer creditPeriod;
+        private String creditPeriod;
 
         @JsonProperty("companyCode")
         private String companyCode;

+ 3007 - 0
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerGetGuCarShipTaxListData.java

@@ -0,0 +1,3007 @@
+package com.jzg.quotation.taiping.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @author quchen
+ * @date 2026/8/26 11:34
+ */
+
+@Data
+@NoArgsConstructor
+public class TaiPingCrawlerGetGuCarShipTaxListData {
+    @JsonProperty("salesDto")
+    private SalesDTO salesDto;
+
+    @JsonProperty("itemMotorDto")
+    private ItemMotorDTO itemMotorDto;
+
+    @JsonProperty("vehicleOwnerDto")
+    private VehicleOwnerDTO vehicleOwnerDto;
+
+    @JsonProperty("policyHolderDto")
+    private PolicyHolderDTO policyHolderDto;
+
+    @JsonProperty("insuredDto")
+    private InsuredDTO insuredDto;
+
+    @JsonProperty("itemKindBzDto")
+    private ItemKindBzDTO itemKindBzDto;
+
+    @JsonProperty("carshipTaxDto")
+    private CarShipTaxDTO carshipTaxDto;
+
+    @JsonProperty("itemKindBsDTO")
+    private ItemKindBsDTO itemKindBsDTO;
+
+    @JsonProperty("passengersDriversAcciDto")
+    private PassengersDriversAcciDTO passengersDriversAcciDto;
+
+    @JsonProperty("acciInfoDto")
+    private AcciInfoDTO acciInfoDto;
+
+    @JsonProperty("pfPolicyInfoDto")
+    private PfPolicyInfoDTO pfPolicyInfoDto;
+
+    @JsonProperty("insurancePremiumDto")
+    private InsurancePremiumDTO insurancePremiumDto;
+
+    @JsonProperty("bankInfoVisible")
+    private Boolean bankInfoVisible;
+
+    @JsonProperty("guCIInsureAgentDataListBz")
+    private Object guCIInsureAgentDataListBz;
+
+    @JsonProperty("guCIInsureReferenceVehicleListBz")
+    private Object guCIInsureReferenceVehicleListBz;
+
+    @JsonProperty("guCIInsureAgentDataListBs")
+    private Object guCIInsureAgentDataListBs;
+
+    @JsonProperty("guCIInsureReferenceVehicleListBs")
+    private Object guCIInsureReferenceVehicleListBs;
+
+    @JsonProperty("guCIReInsureItemList")
+    private Object guCIReInsureItemList;
+
+    @JsonProperty("policyno0801")
+    private String policyno0801;
+
+    @JsonProperty("policyno0802")
+    private String policyno0802;
+
+    @JsonProperty("productType")
+    private String productType;
+
+    @JsonProperty("orderNo")
+    private String orderNo;
+
+    @JsonProperty("unmodifyInd")
+    private String unmodifyInd;
+
+    @JsonProperty("appId")
+    private String appId;
+
+    @JsonProperty("businessNo")
+    private String businessNo;
+
+    @JsonProperty("optType")
+    private String optType;
+
+    @JsonProperty("userCode")
+    private String userCode;
+
+    @JsonProperty("personInd")
+    private String personInd;
+
+    @JsonProperty("businessType")
+    private String businessType;
+
+    @JsonProperty("riskCodeType")
+    private String riskCodeType;
+
+    @JsonProperty("calculateRiskCodeBZ")
+    private String calculateRiskCodeBZ;
+
+    @JsonProperty("calculateRiskCodeBS")
+    private String calculateRiskCodeBS;
+
+    @JsonProperty("calculateSuccCodeBZ")
+    private String calculateSuccCodeBZ;
+
+    @JsonProperty("calculateSuccCodeBS")
+    private String calculateSuccCodeBS;
+
+    @JsonProperty("calculateErrorMsgBZ")
+    private String calculateErrorMsgBZ;
+
+    @JsonProperty("calculateErrorMsgBS")
+    private String calculateErrorMsgBS;
+
+    @JsonProperty("reCalculateFlag")
+    private String reCalculateFlag;
+
+    @JsonProperty("calculateTimeBetween")
+    private String calculateTimeBetween;
+
+    @JsonProperty("quotationDateBetween")
+    private String quotationDateBetween;
+
+    @JsonProperty("sumPremiumAndTax")
+    private Double sumPremiumAndTax;
+
+    @JsonProperty("sumPremiumTaxBusi")
+    private Double sumPremiumTaxBusi;
+
+    @JsonProperty("sumGrossPremiumBusi")
+    private Double sumGrossPremiumBusi;
+
+    @JsonProperty("sumGrossPremiumForce")
+    private Double sumGrossPremiumForce;
+
+    @JsonProperty("sumPremiumTaxForce")
+    private Double sumPremiumTaxForce;
+
+    @JsonProperty("proposalNo0801")
+    private String proposalNo0801;
+
+    @JsonProperty("proposalNo0802")
+    private String proposalNo0802;
+
+    @JsonProperty("riskCodeForce")
+    private String riskCodeForce;
+
+    @JsonProperty("riskCodeBusi")
+    private String riskCodeBusi;
+
+    @JsonProperty("bzReinsureFlag")
+    private String bzReinsureFlag;
+
+    @JsonProperty("bzReinsureNewStartDate")
+    private String bzReinsureNewStartDate;
+
+    @JsonProperty("bsReinsureFlag")
+    private String bsReinsureFlag;
+
+    @JsonProperty("bsReinsureNewStartDate")
+    private String bsReinsureNewStartDate;
+
+    @JsonProperty("reinsureFlag")
+    private String reinsureFlag;
+
+    @JsonProperty("benchmarkPremiumBusi")
+    private Double benchmarkPremiumBusi;
+
+    @JsonProperty("renewalNo")
+    private String renewalNo;
+
+    @JsonProperty("renewalNo0801")
+    private String renewalNo0801;
+
+    @JsonProperty("renewalNo0802")
+    private String renewalNo0802;
+
+    @JsonProperty("demandNoForce")
+    private String demandNoForce;
+
+    @JsonProperty("demandNoBusi")
+    private String demandNoBusi;
+
+    @JsonProperty("modifyFlag")
+    private String modifyFlag;
+
+    @JsonProperty("modifiedInfo")
+    private String modifiedInfo;
+
+    @JsonProperty("acciDtoList")
+    private Object acciDtoList;
+
+    @JsonProperty("datRiskScoreInfoDto")
+    private Object datRiskScoreInfoDto;
+
+    @JsonProperty("lyRiskScoreInfoDto")
+    private Object lyRiskScoreInfoDto;
+
+    @JsonProperty("jmRiskInfoDto")
+    private Object jmRiskInfoDto;
+
+    @JsonProperty("onlineCarHailingDto")
+    private Object onlineCarHailingDto;
+
+    @JsonProperty("decisionUnitList")
+    private Object decisionUnitList;
+
+    @JsonProperty("gsApplyInfoMainDtos")
+    private Object gsApplyInfoMainDtos;
+
+    @JsonProperty("kindModel")
+    private Object kindModel;
+
+    @JsonProperty("orderProductList")
+    private Object orderProductList;
+
+    @JsonProperty("pfMainDtoList")
+    private Object pfMainDtoList;
+
+    @JsonProperty("fcProductList")
+    private List<Object> fcProductList;
+
+    @JsonProperty("fcProductPolicyList")
+    private Object fcProductPolicyList;
+
+    @JsonProperty("sno")
+    private String sno;
+
+    @JsonProperty("telKetConfSwitch")
+    private String telKetConfSwitch;
+
+    @JsonProperty("kindList")
+    private Object kindList;
+
+    @JsonProperty("demandList")
+    private List<Object> demandList;
+
+    @JsonProperty("pfMainDto")
+    private PfMainDTO pfMainDto;
+
+    @JsonProperty("pfVehicleOwner")
+    private PfVehicleOwner pfVehicleOwner;
+
+    @JsonProperty("pfOtherVehicleOwners")
+    private Object pfOtherVehicleOwners;
+
+    @JsonProperty("pfRelatedPartyDto")
+    private PfRelatedPartyDTO pfRelatedPartyDto;
+
+    @JsonProperty("pfRiskRelatedPartyDto")
+    private PfRiskRelatedPartyDTO pfRiskRelatedPartyDto;
+
+    @JsonProperty("pfItemMotorDto")
+    private PfItemMotorDTO pfItemMotorDto;
+
+    @JsonProperty("pfRiskDtoList")
+    private Object pfRiskDtoList;
+
+    @JsonProperty("pfProposalCarShipTaxDto")
+    private PfProposalCarShipTaxDTO pfProposalCarShipTaxDto;
+
+    @JsonProperty("pfProposalCarShipTaxSubDtoList")
+    private Object pfProposalCarShipTaxSubDtoList;
+
+    @JsonProperty("pfProposalRiskProfitDtoList")
+    private Object pfProposalRiskProfitDtoList;
+
+    @JsonProperty("pfActuaryRiskDtoBusi")
+    private Object pfActuaryRiskDtoBusi;
+
+    @JsonProperty("coreRelatedAcciList")
+    private Object coreRelatedAcciList;
+
+    @JsonProperty("relatedAcciList")
+    private Object relatedAcciList;
+
+    @JsonProperty("relatedAcciPriceTaxTotalShow")
+    private Object relatedAcciPriceTaxTotalShow;
+
+    @JsonProperty("relatedAcci")
+    private Object relatedAcci;
+
+    @JsonProperty("guCloudFCPremiumDtoList")
+    private Object guCloudFCPremiumDtoList;
+
+    @JsonProperty("orderInfo")
+    private Object orderInfo;
+
+    @JsonProperty("fCacciProductDtoList")
+    private Object fCacciProductDtoList;
+
+    @JsonProperty("fCsaleinfoDto")
+    private Object fCsaleinfoDto;
+
+    @JsonProperty("fCproductConfigDto")
+    private Object fCproductConfigDto;
+
+    @JsonProperty("fcPrice")
+    private Object fcPrice;
+
+    @JsonProperty("pfItemKind0801Dto")
+    private Object pfItemKind0801Dto;
+
+    @JsonProperty("preResultJson")
+    private Object preResultJson;
+
+    @JsonProperty("hisFlag")
+    private String hisFlag;
+
+    @JsonProperty("twoLevelInsCode")
+    private String twoLevelInsCode;
+
+    @JsonProperty("threeLevelInsCode")
+    private String threeLevelInsCode;
+
+    @JsonProperty("type")
+    private String type;
+
+    @JsonProperty("isMatchClause")
+    private String isMatchClause;
+
+    @JsonProperty("originScList0801")
+    private List<Object> originScList0801;
+
+    @JsonProperty("originScList0802")
+    private List<Object> originScList0802;
+
+    @JsonProperty("policyNo1Suffix")
+    private String policyNo1Suffix;
+
+    @JsonProperty("policyNo2Suffix")
+    private String policyNo2Suffix;
+
+    @JsonProperty("remark")
+    private String remark;
+
+    @JsonProperty("guNcBlacklistDtos")
+    private Object guNcBlacklistDtos;
+
+    @JsonProperty("returnCode")
+    private String returnCode;
+
+    @JsonProperty("twoVerifyResult")
+    private String twoVerifyResult;
+
+    @JsonProperty("threeVerifyResult")
+    private String threeVerifyResult;
+
+    @JsonProperty("newCustCerifySwitch")
+    private String newCustCerifySwitch;
+
+    @JsonProperty("priceInvalidFlag")
+    private String priceInvalidFlag;
+
+    @JsonProperty("isAutocheckOrganFalg")
+    private String isAutocheckOrganFalg;
+
+    @JsonProperty("rideSharingMsg")
+    private Object rideSharingMsg;
+
+    @JsonProperty("guDecisionServiceKindInfo")
+    private Object guDecisionServiceKindInfo;
+
+    @JsonProperty("pfForceCIInsureDemandDto")
+    private Object pfForceCIInsureDemandDto;
+
+    @JsonProperty("pfBusiCIInsureDemandDto")
+    private Object pfBusiCIInsureDemandDto;
+
+    @JsonProperty("pfCIInsureDemandOldDtoForce")
+    private Object pfCIInsureDemandOldDtoForce;
+
+    @JsonProperty("pfCIInsureDemandOldDtoBusi")
+    private Object pfCIInsureDemandOldDtoBusi;
+
+    @JsonProperty("pfItemKind0801DtoList")
+    private List<PfItemKindDTO> pfItemKind0801DtoList;
+
+    @JsonProperty("pfItemKind0802DtoList")
+    private Object pfItemKind0802DtoList;
+
+    @JsonProperty("pfCILastPolicyInfoDto")
+    private Object pfCILastPolicyInfoDto;
+
+    @JsonProperty("pfActuaryCalculateDtoBS")
+    private Object pfActuaryCalculateDtoBS;
+
+    @JsonProperty("pfActuaryCalculateDtoBZ")
+    private Object pfActuaryCalculateDtoBZ;
+
+    @JsonProperty("pfCIInsureRiskItemDtoListBZ")
+    private Object pfCIInsureRiskItemDtoListBZ;
+
+    @JsonProperty("pfCIInsureRiskItemDtoListBS")
+    private Object pfCIInsureRiskItemDtoListBS;
+
+    @JsonProperty("pfCIVehiclePriceDtoForceList")
+    private Object pfCIVehiclePriceDtoForceList;
+
+    @JsonProperty("pfCIVehiclePriceDtoBusiList")
+    private Object pfCIVehiclePriceDtoBusiList;
+
+    @JsonProperty("guCIPrecisionScoreDtoList")
+    private Object guCIPrecisionScoreDtoList;
+
+    @JsonProperty("pfItemMotorDeviceDtoList")
+    private Object pfItemMotorDeviceDtoList;
+
+    @JsonProperty("pfNewEnergyDeviceDtoList")
+    private Object pfNewEnergyDeviceDtoList;
+
+    @JsonProperty("pfIntelligentDriveDtoList")
+    private Object pfIntelligentDriveDtoList;
+
+    @JsonProperty("pfProposalItemKindLoadingDtoList")
+    private Object pfProposalItemKindLoadingDtoList;
+
+    @JsonProperty("pfCIPureRiskPremiumDto0801List")
+    private Object pfCIPureRiskPremiumDto0801List;
+
+    @JsonProperty("pfCIInsureAgentDto0801List")
+    private Object pfCIInsureAgentDto0801List;
+
+    @JsonProperty("pfCIInsureDemandPayDto0801List")
+    private Object pfCIInsureDemandPayDto0801List;
+
+    @JsonProperty("pfCIInsureDemandPeccancyDto0801List")
+    private Object pfCIInsureDemandPeccancyDto0801List;
+
+    @JsonProperty("pfCIInsureRiskWarningDto0801List")
+    private Object pfCIInsureRiskWarningDto0801List;
+
+    @JsonProperty("pfCIPureRiskPremiumDto0802List")
+    private Object pfCIPureRiskPremiumDto0802List;
+
+    @JsonProperty("pfCIInsureAgentDto0802List")
+    private Object pfCIInsureAgentDto0802List;
+
+    @JsonProperty("pfCIInsureDemandPayDto0802List")
+    private Object pfCIInsureDemandPayDto0802List;
+
+    @JsonProperty("pfCIInsureDemandPeccancyDto0802List")
+    private Object pfCIInsureDemandPeccancyDto0802List;
+
+    @JsonProperty("pfCIInsureRiskWarningDto0802List")
+    private Object pfCIInsureRiskWarningDto0802List;
+
+    @JsonProperty("guJGViolationInfoDtoList")
+    private Object guJGViolationInfoDtoList;
+
+    @JsonProperty("guItemMotorExtPo")
+    private Object guItemMotorExtPo;
+
+    @JsonProperty("guTrafficDetailPo")
+    private Object guTrafficDetailPo;
+
+    @JsonProperty("guTrafficDetailDrinkList")
+    private Object guTrafficDetailDrinkList;
+
+    @JsonProperty("guTrafficDetailPeccancyPo")
+    private Object guTrafficDetailPeccancyPo;
+
+    @JsonProperty("bzInformationDetailDto")
+    private Object bzInformationDetailDto;
+
+    @JsonProperty("pfCommonDTO")
+    private Object pfCommonDTO;
+
+    @JsonProperty("personDTO")
+    private Object personDTO;
+
+    @JsonProperty("personSaliDTO")
+    private Object personSaliDTO;
+
+    @JsonProperty("commercialDTO")
+    private Object commercialDTO;
+
+    @JsonProperty("pfILogUnderwriteResultDTO")
+    private Object pfILogUnderwriteResultDTO;
+
+    @JsonProperty("clauseList0801")
+    private List<Object> clauseList0801;
+
+    @JsonProperty("clauseList0802")
+    private List<Object> clauseList0802;
+
+    @JsonProperty("pfProposalCJQueryDto")
+    private Object pfProposalCJQueryDto;
+
+    @JsonProperty("forceDamageTimes")
+    private String forceDamageTimes;
+
+    @JsonProperty("manualForceDamageTimes")
+    private String manualForceDamageTimes;
+
+    @JsonProperty("busiDamageTimes")
+    private String busiDamageTimes;
+
+    @JsonProperty("insureYears")
+    private String insureYears;
+
+    @JsonProperty("claimTimes")
+    private String claimTimes;
+
+    @JsonProperty("manualInsureYears")
+    private String manualInsureYears;
+
+    @JsonProperty("manualClaimTimes")
+    private String manualClaimTimes;
+
+    @JsonProperty("relieveFund")
+    private Object relieveFund;
+
+    @JsonProperty("policySort")
+    private String policySort;
+
+    @JsonProperty("ciplatformConnectionInfoDto")
+    private Object ciplatformConnectionInfoDto;
+
+    @JsonProperty("adjustableRangeOfTPYW")
+    private Object adjustableRangeOfTPYW;
+
+    @JsonProperty("adjustablePremiumRangeOfTPYW")
+    private Object adjustablePremiumRangeOfTPYW;
+
+    @JsonProperty("handlerCompany")
+    private String handlerCompany;
+
+    @JsonProperty("incrementServiceMatchFlag")
+    private Boolean incrementServiceMatchFlag;
+
+    @JsonProperty("callC04")
+    private String callC04;
+
+    @JsonProperty("callC04Result")
+    private String callC04Result;
+
+    @JsonProperty("pfProposalOrderFCProductInfoDto")
+    private Object pfProposalOrderFCProductInfoDto;
+
+    @JsonProperty("gubatchNoBaseInfoPo")
+    private Object gubatchNoBaseInfoPo;
+
+    @JsonProperty("orderParamDto")
+    private Object orderParamDto;
+
+    @JsonProperty("kjcOrderNo")
+    private Object kjcOrderNo;
+
+    @JsonProperty("guLastPolicyPremiumInfoDto")
+    private Object guLastPolicyPremiumInfoDto;
+
+    @JsonProperty("clauseType")
+    private String clauseType;
+
+    @JsonProperty("policyNoBZInput")
+    private String policyNoBZInput;
+
+    @JsonProperty("policyNoBSInput")
+    private String policyNoBSInput;
+
+    @JsonProperty("relieveFundRate")
+    private Object relieveFundRate;
+
+    @JsonProperty("riskFactorShow")
+    private Object riskFactorShow;
+
+    @JsonProperty("entryPoint")
+    private Object entryPoint;
+
+    @JsonProperty("quotationDate")
+    private Object quotationDate;
+
+    @JsonProperty("cjySumPremium")
+    private Object cjySumPremium;
+
+    @JsonProperty("carPremium")
+    private Object carPremium;
+
+    @JsonProperty("trafficPremium")
+    private Object trafficPremium;
+
+    @JsonProperty("commercialPremium")
+    private Object commercialPremium;
+
+    @JsonProperty("isStandardProduct")
+    private Object isStandardProduct;
+
+    @JsonProperty("fcFailMessage")
+    private Object fcFailMessage;
+
+    @JsonProperty("acGuActuarySmartPricingPreFactorDtoList")
+    private Object acGuActuarySmartPricingPreFactorDtoList;
+
+    @JsonProperty("antiFraudInformations")
+    private Object antiFraudInformations;
+
+    @JsonProperty("fcIsStandardNewFlag")
+    private Object fcIsStandardNewFlag;
+
+    @JsonProperty("futureYhb")
+    private Object futureYhb;
+
+    @JsonProperty("sysUserDto")
+    private Object sysUserDto;
+
+    @JsonProperty("changeRelatedPartyInfoTips")
+    private Object changeRelatedPartyInfoTips;
+
+    @JsonProperty("fcNewProductList")
+    private Object fcNewProductList;
+
+    @JsonProperty("zcrkRiskInfoDto")
+    private Object zcrkRiskInfoDto;
+
+    @JsonProperty("matchClause")
+    private Object matchClause;
+
+    @JsonProperty("guTrafficDetailDtoList")
+    private Object guTrafficDetailDtoList;
+
+    @JsonProperty("recalculate")
+    private Boolean recalculate;
+
+    @JsonProperty("cjcSaleInfoDto")
+    private Object cjcSaleInfoDto;
+
+    @JsonProperty("cilastPolicyFlag")
+    private Object cilastPolicyFlag;
+
+    @Data
+    public static class SalesDTO {
+        @JsonProperty("isBzBs")
+        private String isBzBs;
+    }
+
+    @Data
+    public static class ItemMotorDTO {
+        @JsonProperty("isBzBs")
+        private String isBzBs;
+        @JsonProperty("classificationOfCDW")
+        private String classificationOfCDW;
+        @JsonProperty("coreValueType")
+        private String coreValueType;
+    }
+
+    @Data
+    public static class VehicleOwnerDTO {
+        @JsonProperty("lifeInd")
+        private String lifeInd;
+    }
+
+    @Data
+    public static class PolicyHolderDTO {
+        @JsonProperty("isBzBs")
+        private String isBzBs;
+    }
+
+    @Data
+    public static class InsuredDTO {
+        @JsonProperty("isBzBs")
+        private String isBzBs;
+    }
+
+    @Data
+    public static class ItemKindBzDTO {
+        @JsonProperty("isBzBs")
+        private String isBzBs;
+    }
+
+    @Data
+    public static class CarShipTaxDTO {
+        @JsonProperty("isBzBs")
+        private String isBzBs;
+    }
+
+    @Data
+    public static class ItemKindBsDTO {
+        @JsonProperty("isBzBs")
+        private String isBzBs;
+    }
+
+    @Data
+    public static class PassengersDriversAcciDTO {
+        @JsonProperty("isBzBs")
+        private String isBzBs;
+    }
+
+    @Data
+    public static class AcciInfoDTO {
+        @JsonProperty("isBzBs")
+        private String isBzBs;
+    }
+
+    @Data
+    public static class InsurancePremiumDTO {
+        @JsonProperty("isBzBs")
+        private String isBzBs;
+        @JsonProperty("quoteName")
+        private String quoteName;
+    }
+
+    @Data
+    public static class PfPolicyInfoDTO {
+        @JsonProperty("isBzBs")
+        private String isBzBs;
+        @JsonProperty("operateDate")
+        private String operateDate;
+        @JsonProperty("argueSolution")
+        private String argueSolution;
+        @JsonProperty("arbitoryName")
+        private String arbitoryName;
+        @JsonProperty("proposalNo0801")
+        private String proposalNo0801;
+        @JsonProperty("proposalNo0802")
+        private Object proposalNo0802;
+        @JsonProperty("startDate0801")
+        private String startDate0801;
+        @JsonProperty("endDate0801")
+        private String endDate0801;
+        @JsonProperty("startDate0802")
+        private Object startDate0802;
+        @JsonProperty("endDate0802")
+        private Object endDate0802;
+        @JsonProperty("effectFlag0801")
+        private Boolean effectFlag0801;
+        @JsonProperty("effectFlag0802")
+        private Boolean effectFlag0802;
+        @JsonProperty("immEffectType0801")
+        private Object immEffectType0801;
+        @JsonProperty("immEffectType0802")
+        private Object immEffectType0802;
+        @JsonProperty("immEffectStartDate0801")
+        private Object immEffectStartDate0801;
+        @JsonProperty("immEffectStartDate0802")
+        private Object immEffectStartDate0802;
+        @JsonProperty("startTime0801")
+        private String startTime0801;
+        @JsonProperty("endTime0801")
+        private String endTime0801;
+        @JsonProperty("endTime0802")
+        private Object endTime0802;
+        @JsonProperty("showStartDate0802")
+        private Object showStartDate0802;
+        @JsonProperty("showEndDate0802")
+        private Object showEndDate0802;
+        @JsonProperty("transferDate")
+        private String transferDate;
+        @JsonProperty("tradingRelevanceNo")
+        private String tradingRelevanceNo;
+        @JsonProperty("specialCarFlag")
+        private String specialCarFlag;
+        @JsonProperty("chgOwnerFlag")
+        private String chgOwnerFlag;
+        @JsonProperty("loanVehicleFlag")
+        private String loanVehicleFlag;
+        @JsonProperty("noDamageYears")
+        private String noDamageYears;
+        @JsonProperty("remark")
+        private String remark;
+        @JsonProperty("outerRemark")
+        private String outerRemark;
+        @JsonProperty("innerRemark")
+        private String innerRemark;
+        @JsonProperty("uwYearDays")
+        private Integer uwYearDays;
+        @JsonProperty("isElectronicProposalBZ")
+        private String isElectronicProposalBZ;
+        @JsonProperty("isElectronicProposalBS")
+        private String isElectronicProposalBS;
+        @JsonProperty("isElectronicPolicyBZ")
+        private String isElectronicPolicyBZ;
+        @JsonProperty("isElectronicPolicyBS")
+        private String isElectronicPolicyBS;
+        @JsonProperty("effectFlag_Off0801")
+        private Object effectFlag_Off0801;
+        @JsonProperty("effectFlag_Off0802")
+        private Object effectFlag_Off0802;
+        @JsonProperty("riskCodeBS")
+        private Object riskCodeBS;
+        @JsonProperty("hkStartTime")
+        private Object hkStartTime;
+        @JsonProperty("hkEndTime")
+        private Object hkEndTime;
+        @JsonProperty("policyNoBZ")
+        private String policyNoBZ;
+        @JsonProperty("policyNoBS2")
+        private String policyNoBS2;
+        @JsonProperty("policyNoBS")
+        private String policyNoBS;
+        @JsonProperty("policyNoBZ2")
+        private String policyNoBZ2;
+        @JsonProperty("geographicalArea")
+        private Object geographicalArea;
+        @JsonProperty("geographicalAreaDesc")
+        private Object geographicalAreaDesc;
+        @JsonProperty("judicalCode")
+        private Object judicalCode;
+        @JsonProperty("riskApplyType")
+        private Object riskApplyType;
+        @JsonProperty("startTime0802")
+        private Object startTime0802;
+        @JsonProperty("bjflag")
+        private Object bjflag;
+    }
+
+    @Data
+    public static class PfMainDTO {
+        @JsonProperty("businessCode")
+        private String businessCode;
+        @JsonProperty("tradeNo")
+        private String tradeNo;
+        @JsonProperty("paymentInd")
+        private String paymentInd;
+        @JsonProperty("digest")
+        private String digest;
+        @JsonProperty("sendInd")
+        private String sendInd;
+        @JsonProperty("errorCount")
+        private String errorCount;
+        @JsonProperty("acceptTime")
+        private String acceptTime;
+        @JsonProperty("insConfirmDate")
+        private String insConfirmDate;
+        @JsonProperty("logContext")
+        private String logContext;
+        @JsonProperty("nicheId")
+        private String nicheId;
+        @JsonProperty("customerId")
+        private String customerId;
+        @JsonProperty("dxCooperateSiteCodeWriteFlag")
+        private String dxCooperateSiteCodeWriteFlag;
+        @JsonProperty("dxQuotationType")
+        private String dxQuotationType;
+        @JsonProperty("drdvingcode")
+        private String drdvingcode;
+        @JsonProperty("suitflow")
+        private String suitflow;
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("copyOrderNoSource")
+        private String copyOrderNoSource;
+        @JsonProperty("businessChannel")
+        private String businessChannel;
+        @JsonProperty("businessSource")
+        private String businessSource;
+        @JsonProperty("businessType")
+        private String businessType;
+        @JsonProperty("policySort")
+        private String policySort;
+        @JsonProperty("language")
+        private String language;
+        @JsonProperty("groupInd")
+        private String groupInd;
+        @JsonProperty("intermediaryCode")
+        private String intermediaryCode;
+        @JsonProperty("agreementNo")
+        private String agreementNo;
+        @JsonProperty("antScore")
+        private String antScore;
+        @JsonProperty("antScoreStatus")
+        private String antScoreStatus;
+        @JsonProperty("antScoreBusinessNo")
+        private String antScoreBusinessNo;
+        @JsonProperty("solutionCode")
+        private String solutionCode;
+        @JsonProperty("creditPeriod")
+        private Integer creditPeriod;
+        @JsonProperty("policyNo")
+        private String policyNo;
+        @JsonProperty("indicationNo")
+        private String indicationNo;
+        @JsonProperty("indicationSeqNo")
+        private String indicationSeqNo;
+        @JsonProperty("holdCoverNo")
+        private String holdCoverNo;
+        @JsonProperty("doubleProtectFlag")
+        private String doubleProtectFlag;
+        @JsonProperty("differentProtectFlag")
+        private String differentProtectFlag;
+        @JsonProperty("holdCoverSeqNo")
+        private String holdCoverSeqNo;
+        @JsonProperty("quotationNo")
+        private String quotationNo;
+        @JsonProperty("quotationSeqNo")
+        private String quotationSeqNo;
+        @JsonProperty("coverNoteNo")
+        private String coverNoteNo;
+        @JsonProperty("coverNoteSeqNo")
+        private String coverNoteSeqNo;
+        @JsonProperty("agentReferenceNo")
+        private String agentReferenceNo;
+        @JsonProperty("renewalNo")
+        private String renewalNo;
+        @JsonProperty("replacedPolicyNo")
+        private String replacedPolicyNo;
+        @JsonProperty("printNo")
+        private String printNo;
+        @JsonProperty("promotionCode")
+        private String promotionCode;
+        @JsonProperty("appliCode")
+        private String appliCode;
+        @JsonProperty("appliName")
+        private String appliName;
+        @JsonProperty("appliAddress")
+        private String appliAddress;
+        @JsonProperty("appliAddrType")
+        private String appliAddrType;
+        @JsonProperty("insuredCode")
+        private String insuredCode;
+        @JsonProperty("insuredName")
+        private String insuredName;
+        @JsonProperty("insuredAddress")
+        private String insuredAddress;
+        @JsonProperty("insuredAddrType")
+        private String insuredAddrType;
+        @JsonProperty("operateDate")
+        private String operateDate;
+        @JsonProperty("receivedDate")
+        private String receivedDate;
+        @JsonProperty("issueDate")
+        private String issueDate;
+        @JsonProperty("currency")
+        private String currency;
+        @JsonProperty("sumInsured")
+        private String sumInsured;
+        @JsonProperty("sumGrossPremium")
+        private String sumGrossPremium;
+        @JsonProperty("sumNetPremium")
+        private String sumNetPremium;
+        @JsonProperty("argueSolution")
+        private String argueSolution;
+        @JsonProperty("mainPort")
+        private String mainPort;
+        @JsonProperty("subPort")
+        private String subPort;
+        @JsonProperty("othPolicyNo")
+        private String othPolicyNo;
+        @JsonProperty("theirCompanyCode")
+        private String theirCompanyCode;
+        @JsonProperty("companyName")
+        private String companyName;
+        @JsonProperty("theirCompanyName")
+        private String theirCompanyName;
+        @JsonProperty("theirReference")
+        private String theirReference;
+        @JsonProperty("arbitoryName")
+        private String arbitoryName;
+        @JsonProperty("installmentNo")
+        private String installmentNo;
+        @JsonProperty("issueCompany")
+        private String issueCompany;
+        @JsonProperty("issuePlace")
+        private String issuePlace;
+        @JsonProperty("companyCode")
+        private String companyCode;
+        @JsonProperty("salesmanCode")
+        private String salesmanCode;
+        @JsonProperty("approverCode")
+        private String approverCode;
+        @JsonProperty("operatorCode")
+        private String operatorCode;
+        @JsonProperty("inputDate")
+        private String inputDate;
+        @JsonProperty("uwYear")
+        private String uwYear;
+        @JsonProperty("imageInd")
+        private String imageInd;
+        @JsonProperty("underwriteName")
+        private String underwriteName;
+        @JsonProperty("underwriteCode")
+        private String underwriteCode;
+        @JsonProperty("underwriteEndDate")
+        private String underwriteEndDate;
+        @JsonProperty("underWriteInd")
+        private String underWriteInd;
+        @JsonProperty("infoConfirmStatus")
+        private String infoConfirmStatus;
+        @JsonProperty("autoRenewInd")
+        private String autoRenewInd;
+        @JsonProperty("multiRiskInd")
+        private String multiRiskInd;
+        @JsonProperty("lastModifierCode")
+        private String lastModifierCode;
+        @JsonProperty("lastModifyDate")
+        private String lastModifyDate;
+        @JsonProperty("frontingRIPercent")
+        private String frontingRIPercent;
+        @JsonProperty("frontingRICommissionPercent")
+        private String frontingRICommissionPercent;
+        @JsonProperty("frontingRIAdminFeePercent")
+        private String frontingRIAdminFeePercent;
+        @JsonProperty("frontingRITaxPercent")
+        private String frontingRITaxPercent;
+        @JsonProperty("renewInd")
+        private String renewInd;
+        @JsonProperty("renewedInd")
+        private String renewedInd;
+        @JsonProperty("yearPremium")
+        private String yearPremium;
+        @JsonProperty("surrenderInd")
+        private String surrenderInd;
+        @JsonProperty("cancelInd")
+        private String cancelInd;
+        @JsonProperty("lostInd")
+        private String lostInd;
+        @JsonProperty("debtorInd")
+        private String debtorInd;
+        @JsonProperty("statInd")
+        private String statInd;
+        @JsonProperty("sourceId")
+        private String sourceId;
+        @JsonProperty("remark")
+        private String remark;
+        @JsonProperty("validInd")
+        private String validInd;
+        @JsonProperty("flag")
+        private String flag;
+        @JsonProperty("sumUWPremium")
+        private String sumUWPremium;
+        @JsonProperty("visaType")
+        private String visaType;
+        @JsonProperty("proposalPolicyInd")
+        private String proposalPolicyInd;
+        @JsonProperty("inwardReference")
+        private String inwardReference;
+        @JsonProperty("hengSangInd")
+        private String hengSangInd;
+        @JsonProperty("domesticInd")
+        private String domesticInd;
+        @JsonProperty("historyInd")
+        private String historyInd;
+        @JsonProperty("replaceProposerInd")
+        private String replaceProposerInd;
+        @JsonProperty("handleStatus")
+        private String handleStatus;
+        @JsonProperty("approveEndDate")
+        private String approveEndDate;
+        @JsonProperty("dealerCode")
+        private String dealerCode;
+        @JsonProperty("codInd")
+        private String codInd;
+        @JsonProperty("acceptDate")
+        private String acceptDate;
+        @JsonProperty("specialAcceptance")
+        private String specialAcceptance;
+        @JsonProperty("relatedRiskCode")
+        private String relatedRiskCode;
+        @JsonProperty("contactRemark")
+        private String contactRemark;
+        @JsonProperty("agrValidInd")
+        private String agrValidInd;
+        @JsonProperty("bizModel")
+        private String bizModel;
+        @JsonProperty("outerUserCode")
+        private String outerUserCode;
+        @JsonProperty("serviceProjectCode")
+        private String serviceProjectCode;
+        @JsonProperty("outerCompanyCode")
+        private String outerCompanyCode;
+        @JsonProperty("channelDetailCode")
+        private String channelDetailCode;
+        @JsonProperty("productCode")
+        private String productCode;
+        @JsonProperty("problemInd")
+        private String problemInd;
+        @JsonProperty("cancelTime")
+        private String cancelTime;
+        @JsonProperty("channelFlag")
+        private String channelFlag;
+        @JsonProperty("agricultureFlag")
+        private String agricultureFlag;
+        @JsonProperty("historyFlag")
+        private String historyFlag;
+        @JsonProperty("calculateType")
+        private String calculateType;
+        @JsonProperty("businessInd")
+        private String businessInd;
+        @JsonProperty("salesCommissionerCode")
+        private String salesCommissionerCode;
+        @JsonProperty("cmbPrintIvcInd")
+        private String cmbPrintIvcInd;
+        @JsonProperty("businessMode")
+        private String businessMode;
+        @JsonProperty("applyNo")
+        private String applyNo;
+        @JsonProperty("oldCarPrintFlag")
+        private String oldCarPrintFlag;
+        @JsonProperty("channelTip")
+        private String channelTip;
+        @JsonProperty("cooperateSiteCode")
+        private String cooperateSiteCode;
+        @JsonProperty("applySerialNo")
+        private Integer applySerialNo;
+        @JsonProperty("comInsureInd")
+        private String comInsureInd;
+        @JsonProperty("teamManager")
+        private String teamManager;
+        @JsonProperty("pioneerCode")
+        private String pioneerCode;
+        @JsonProperty("comPolicyInfo")
+        private String comPolicyInfo;
+        @JsonProperty("preFeeFlag")
+        private String preFeeFlag;
+        @JsonProperty("poaSerialNo")
+        private String poaSerialNo;
+        @JsonProperty("surveyInd")
+        private String surveyInd;
+        @JsonProperty("priInd")
+        private String priInd;
+        @JsonProperty("printDate")
+        private String printDate;
+        @JsonProperty("printTimes")
+        private String printTimes;
+        @JsonProperty("outerSubCompanyCode")
+        private String outerSubCompanyCode;
+        @JsonProperty("departmentCode")
+        private String departmentCode;
+        @JsonProperty("basketInd")
+        private String basketInd;
+        @JsonProperty("oano")
+        private String oano;
+        @JsonProperty("materialcheckflag")
+        private String materialcheckflag;
+        @JsonProperty("salesmanRegisterNo")
+        private String salesmanRegisterNo;
+        @JsonProperty("interSalesmanCode")
+        private String interSalesmanCode;
+        @JsonProperty("interSalesmanName")
+        private String interSalesmanName;
+        @JsonProperty("interSalesmanRegisterNo")
+        private String interSalesmanRegisterNo;
+        @JsonProperty("paymentPrintInd")
+        private String paymentPrintInd;
+        @JsonProperty("imageAttachInd")
+        private String imageAttachInd;
+        @JsonProperty("introducerCode")
+        private String introducerCode;
+        @JsonProperty("introduceCompanyCode")
+        private String introduceCompanyCode;
+        @JsonProperty("nonAutoCheckInd")
+        private String nonAutoCheckInd;
+        @JsonProperty("endDateEarlier")
+        private String endDateEarlier;
+        @JsonProperty("endDateLater")
+        private String endDateLater;
+        @JsonProperty("isOnLineno")
+        private String isOnLineno;
+        @JsonProperty("coopBusinessType")
+        private String coopBusinessType;
+        @JsonProperty("sumAddTax")
+        private String sumAddTax;
+        @JsonProperty("sumAddTaxRate")
+        private String sumAddTaxRate;
+        @JsonProperty("sumPriceTaxTotal")
+        private String sumPriceTaxTotal;
+        @JsonProperty("clientNo")
+        private String clientNo;
+        @JsonProperty("carIdRenewalFlag")
+        private String carIdRenewalFlag;
+        @JsonProperty("carIdSplitFlag")
+        private String carIdSplitFlag;
+        @JsonProperty("producerCode")
+        private String producerCode;
+        @JsonProperty("producerName")
+        private String producerName;
+        @JsonProperty("carProposalStatus")
+        private String carProposalStatus;
+        @JsonProperty("isSubmitToAudit")
+        private String isSubmitToAudit;
+        @JsonProperty("recalculateFlag")
+        private String recalculateFlag;
+        @JsonProperty("premiumTrialFlag")
+        private String premiumTrialFlag;
+        @JsonProperty("orderNo")
+        private String orderNo;
+        @JsonProperty("channelDetailName")
+        private String channelDetailName;
+        @JsonProperty("channelTipName")
+        private String channelTipName;
+        @JsonProperty("cooperateSiteCName")
+        private String cooperateSiteCName;
+        @JsonProperty("salesmanName")
+        private String salesmanName;
+        @JsonProperty("envSource")
+        private String envSource;
+        @JsonProperty("appId")
+        private String appId;
+        @JsonProperty("touchId")
+        private String touchId;
+        @JsonProperty("insureSalesman")
+        private String insureSalesman;
+        @JsonProperty("cityCode")
+        private String cityCode;
+        @JsonProperty("countyCode")
+        private String countyCode;
+        @JsonProperty("xzxId")
+        private String xzxId;
+        @JsonProperty("isDangerBz")
+        private String isDangerBz;
+        @JsonProperty("approvState")
+        private String approvState;
+        @JsonProperty("approvFlag")
+        private String approvFlag;
+        @JsonProperty("tpFeeFlag")
+        private String tpFeeFlag;
+        @JsonProperty("policysort2")
+        private String policysort2;
+        @JsonProperty("forwardAgentUserCode")
+        private String forwardAgentUserCode;
+        @JsonProperty("grade")
+        private String grade;
+        @JsonProperty("gradeFlag")
+        private String gradeFlag;
+        @JsonProperty("lastDecisionUnitDetail")
+        private String lastDecisionUnitDetail;
+        @JsonProperty("h5Lock")
+        private String h5Lock;
+        @JsonProperty("isCarX")
+        private String isCarX;
+        @JsonProperty("policySort3")
+        private String policySort3;
+        @JsonProperty("thisYearInsured")
+        private String thisYearInsured;
+        @JsonProperty("batchFlag")
+        private String batchFlag;
+        @JsonProperty("certificateNo")
+        private String certificateNo;
+        @JsonProperty("renewalType")
+        private String renewalType;
+        @JsonProperty("selfhRuleFlag")
+        private String selfhRuleFlag;
+        @JsonProperty("vcManulCheck")
+        private String vcManulCheck;
+        @JsonProperty("isConsult")
+        private String isConsult;
+        @JsonProperty("vcStatus")
+        private String vcStatus;
+        @JsonProperty("vcCheckUser")
+        private String vcCheckUser;
+        @JsonProperty("groupNo")
+        private String groupNo;
+        @JsonProperty("saicMode")
+        private String saicMode;
+        @JsonProperty("renewalYears")
+        private String renewalYears;
+        @JsonProperty("scUpdateTime")
+        private String scUpdateTime;
+        @JsonProperty("quotationPlanNo")
+        private String quotationPlanNo;
+        @JsonProperty("quotationPlanFlag")
+        private String quotationPlanFlag;
+        @JsonProperty("clauseType")
+        private String clauseType;
+        @JsonProperty("creditPeriodCar")
+        private String creditPeriodCar;
+        @JsonProperty("thisYearInsuredAll")
+        private String thisYearInsuredAll;
+        @JsonProperty("notRunFlowUWFlag")
+        private String notRunFlowUWFlag;
+        @JsonProperty("radarChartFlag")
+        private String radarChartFlag;
+        @JsonProperty("feeServiceLinkage")
+        private String feeServiceLinkage;
+        @JsonProperty("outOrderNo")
+        private String outOrderNo;
+        @JsonProperty("workTableMsg")
+        private String workTableMsg;
+        @JsonProperty("registrationNumber")
+        private String registrationNumber;
+        @JsonProperty("zlbWindowNo")
+        private String zlbWindowNo;
+        @JsonProperty("isInternet")
+        private String isInternet;
+        @JsonProperty("openid")
+        private String openid;
+        @JsonProperty("fcPolicyNo")
+        private String fcPolicyNo;
+        @JsonProperty("updateDate")
+        private String updateDate;
+        @JsonProperty("fgFlag")
+        private String fgFlag;
+        @JsonProperty("bankCustomerManagerCode")
+        private String bankCustomerManagerCode;
+        @JsonProperty("bankBranchCode")
+        private String bankBranchCode;
+        @JsonProperty("bankBranchName")
+        private String bankBranchName;
+        @JsonProperty("userIpAddr")
+        private String userIpAddr;
+        @JsonProperty("newCarFlag")
+        private String newCarFlag;
+        @JsonProperty("applyTypeDetail")
+        private String applyTypeDetail;
+        @JsonProperty("decisionMakingUnit")
+        private String decisionMakingUnit;
+        @JsonProperty("decsionCode")
+        private String decsionCode;
+        @JsonProperty("riskCodeType")
+        private String riskCodeType;
+        @JsonProperty("telKetConfSwitch")
+        private String telKetConfSwitch;
+        @JsonProperty("policyNo0801Prefix")
+        private String policyNo0801Prefix;
+        @JsonProperty("policyNo0805Prefix")
+        private String policyNo0805Prefix;
+        @JsonProperty("dsMakingTypeDetail")
+        private String dsMakingTypeDetail;
+        @JsonProperty("renewIndFlag")
+        private String renewIndFlag;
+        @JsonProperty("datCompositeScore")
+        private String datCompositeScore;
+        @JsonProperty("isFeeDeductionValueAdded")
+        private String isFeeDeductionValueAdded;
+        @JsonProperty("agreementTypeName")
+        private String agreementTypeName;
+        @JsonProperty("intermediaryCNName")
+        private String intermediaryCNName;
+        @JsonProperty("cooperateSiteName")
+        private String cooperateSiteName;
+        @JsonProperty("outerUserCName")
+        private String outerUserCName;
+        @JsonProperty("outerCompanyName")
+        private String outerCompanyName;
+        @JsonProperty("pioneerName")
+        private String pioneerName;
+        @JsonProperty("applyName")
+        private String applyName;
+        @JsonProperty("userCName")
+        private String userCName;
+        @JsonProperty("outerSubCompanyName")
+        private String outerSubCompanyName;
+        @JsonProperty("loginSort")
+        private String loginSort;
+        @JsonProperty("personInd")
+        private String personInd;
+        @JsonProperty("intermediaryCName")
+        private String intermediaryCName;
+        @JsonProperty("productType")
+        private String productType;
+        @JsonProperty("endorType")
+        private String endorType;
+        @JsonProperty("forceLinkCIFlag")
+        private Boolean forceLinkCIFlag;
+        @JsonProperty("governmentind")
+        private String governmentind;
+        @JsonProperty("governmentType")
+        private String governmentType;
+        @JsonProperty("governmentProvince")
+        private String governmentProvince;
+        @JsonProperty("governmentCity")
+        private String governmentCity;
+        @JsonProperty("governmentCounty")
+        private String governmentCounty;
+        @JsonProperty("governmentServiceType")
+        private String governmentServiceType;
+        @JsonProperty("isSufficientFlag")
+        private String isSufficientFlag;
+    }
+
+    @Data
+    public static class PfVehicleOwner {
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("name")
+        private String name;
+        @JsonProperty("customerGroup")
+        private String customerGroup;
+        @JsonProperty("identifyType")
+        private String identifyType;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("ownerNature")
+        private String ownerNature;
+        @JsonProperty("mobilePhone")
+        private String mobilePhone;
+        @JsonProperty("customerGradeLabel")
+        private String customerGradeLabel;
+        @JsonProperty("phoneNumber")
+        private String phoneNumber;
+        @JsonProperty("insuredType")
+        private String insuredType;
+        @JsonProperty("isLifeInd")
+        private String isLifeInd;
+        @JsonProperty("ownBlacklistInd")
+        private String ownBlacklistInd;
+        @JsonProperty("ownBlacklistType")
+        private String ownBlacklistType;
+        @JsonProperty("sex")
+        private String sex;
+        @JsonProperty("email")
+        private String email;
+        @JsonProperty("birthDate")
+        private String birthDate;
+        @JsonProperty("profession")
+        private String profession;
+        @JsonProperty("provinceCode")
+        private String provinceCode;
+        @JsonProperty("provinceName")
+        private String provinceName;
+        @JsonProperty("cityCode")
+        private String cityCode;
+        @JsonProperty("cityName")
+        private String cityName;
+        @JsonProperty("countyCode")
+        private String countyCode;
+        @JsonProperty("countyName")
+        private String countyName;
+        @JsonProperty("detailedAddress")
+        private String detailedAddress;
+        @JsonProperty("specialPersonFlagCode")
+        private String specialPersonFlagCode;
+        @JsonProperty("specialPersonFlagMean")
+        private String specialPersonFlagMean;
+        @JsonProperty("carDriveAddress")
+        private String carDriveAddress;
+        @JsonProperty("ownBlacklistFiveType")
+        private String ownBlacklistFiveType;
+        @JsonProperty("specialPhoneFlagCode")
+        private String specialPhoneFlagCode;
+        @JsonProperty("twzVerifyResult")
+        private String twzVerifyResult;
+        @JsonProperty("gatVerifyResult")
+        private String gatVerifyResult;
+        @JsonProperty("ownerAge")
+        private String ownerAge;
+        @JsonProperty("isNiceOwner")
+        private String isNiceOwner;
+        @JsonProperty("updateDate")
+        private String updateDate;
+        @JsonProperty("isApplicantOperator")
+        private String isApplicantOperator;
+        @JsonProperty("idTypeUsedGc")
+        private String idTypeUsedGc;
+        @JsonProperty("professonTypeUsedGc")
+        private String professonTypeUsedGc;
+        @JsonProperty("address")
+        private String address;
+        @JsonProperty("contactMobile")
+        private String contactMobile;
+    }
+
+    @Data
+    public class PfRelatedPartyDTO {
+        @JsonProperty("appliPhoneHolderName")
+        private String appliPhoneHolderName;
+        @JsonProperty("appliPhoneHolderCertiType")
+        private String appliPhoneHolderCertiType;
+        @JsonProperty("appliPhoneHolderCertNumber")
+        private String appliPhoneHolderCertNumber;
+        @JsonProperty("appliPhoneHolderType")
+        private String appliPhoneHolderType;
+        @JsonProperty("contactPhoneHolderCertiType")
+        private String contactPhoneHolderCertiType;
+        @JsonProperty("contactPhoneHolderName")
+        private String contactPhoneHolderName;
+        @JsonProperty("contactPhoneHolderCertNumber")
+        private String contactPhoneHolderCertNumber;
+        @JsonProperty("contactPhoneHolderType")
+        private String contactPhoneHolderType;
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("serialNo")
+        private String serialNo;
+        @JsonProperty("insuredType")
+        private String insuredType;
+        @JsonProperty("insuredCode")
+        private String insuredCode;
+        @JsonProperty("appliName")
+        private String appliName;
+        @JsonProperty("appliAddress")
+        private String appliAddress;
+        @JsonProperty("holderPropertyFlag")
+        private String holderPropertyFlag;
+        @JsonProperty("holderLifeFlag")
+        private String holderLifeFlag;
+        @JsonProperty("relatedCaiXianFlag")
+        private String relatedCaiXianFlag;
+        @JsonProperty("relatedShouXianFlag")
+        private String relatedShouXianFlag;
+        @JsonProperty("relatedContactCaiXianFlag")
+        private String relatedContactCaiXianFlag;
+        @JsonProperty("relatedContactShouXianFlag")
+        private String relatedContactShouXianFlag;
+        @JsonProperty("enterpriseName")
+        private String enterpriseName;
+        @JsonProperty("uscc")
+        private String uscc;
+        @JsonProperty("insuredBusinessSource")
+        private String insuredBusinessSource;
+        @JsonProperty("insuredFlag")
+        private String insuredFlag;
+        @JsonProperty("insuredRole")
+        private String insuredRole;
+        @JsonProperty("identifyType")
+        private String identifyType;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("insuredRelation")
+        private String insuredRelation;
+        @JsonProperty("relateSerialNo")
+        private String relateSerialNo;
+        @JsonProperty("insuredInd")
+        private String insuredInd;
+        @JsonProperty("remark")
+        private String remark;
+        @JsonProperty("flag")
+        private String flag;
+        @JsonProperty("sex")
+        private String sex;
+        @JsonProperty("birthDate")
+        private String birthDate;
+        @JsonProperty("postCode")
+        private String postCode;
+        @JsonProperty("officePhone")
+        private String officePhone;
+        @JsonProperty("mobilePhone")
+        private String mobilePhone;
+        @JsonProperty("homePhone")
+        private String homePhone;
+        @JsonProperty("contactName")
+        private String contactName;
+        @JsonProperty("contactPhone")
+        private String contactPhone;
+        @JsonProperty("marriageStatus")
+        private String marriageStatus;
+        @JsonProperty("educationBackground")
+        private String educationBackground;
+        @JsonProperty("email")
+        private String email;
+        @JsonProperty("nation")
+        private String nation;
+        @JsonProperty("issuer")
+        private String issuer;
+        @JsonProperty("relationWithHolder")
+        private String relationWithHolder;
+        @JsonProperty("contactSex")
+        private String contactSex;
+        @JsonProperty("contactType")
+        private String contactType;
+        @JsonProperty("contactDepartment")
+        private String contactDepartment;
+        @JsonProperty("contactPosition")
+        private String contactPosition;
+        @JsonProperty("contactOfficeNumber")
+        private String contactOfficeNumber;
+        @JsonProperty("contactMobile")
+        private String contactMobile;
+        @JsonProperty("surname")
+        private String surname;
+        @JsonProperty("moniker")
+        private String moniker;
+        @JsonProperty("firstName")
+        private String firstName;
+        @JsonProperty("lastName")
+        private String lastName;
+        @JsonProperty("itemProvinceCode")
+        private String itemProvinceCode;
+        @JsonProperty("itemCityCode")
+        private String itemCityCode;
+        @JsonProperty("itemProvinceCName")
+        private String itemProvinceCName;
+        @JsonProperty("itemCityCName")
+        private String itemCityCName;
+        @JsonProperty("moneyLaunderingInd")
+        private String moneyLaunderingInd;
+        @JsonProperty("countyCode")
+        private String countyCode;
+        @JsonProperty("countyCName")
+        private String countyCName;
+        @JsonProperty("socialSecurityNo")
+        private String socialSecurityNo;
+        @JsonProperty("companyNature")
+        private String companyNature;
+        @JsonProperty("numberOfUnits")
+        private String numberOfUnits;
+        @JsonProperty("countryCode")
+        private String countryCode;
+        @JsonProperty("countryName")
+        private String countryName;
+        @JsonProperty("specialPersonFlagCode")
+        private String specialPersonFlagCode;
+        @JsonProperty("specialPersonFlagMean")
+        private String specialPersonFlagMean;
+        @JsonProperty("identifyStartDate")
+        private String identifyStartDate;
+        @JsonProperty("identifyEndDate")
+        private String identifyEndDate;
+        @JsonProperty("occupationCode")
+        private String occupationCode;
+        @JsonProperty("compliState")
+        private String compliState;
+        @JsonProperty("department")
+        private String department;
+        @JsonProperty("bankName")
+        private String bankName;
+        @JsonProperty("bankAccount")
+        private String bankAccount;
+        @JsonProperty("accountHolderName")
+        private String accountHolderName;
+        @JsonProperty("reservePhoneNum")
+        private String reservePhoneNum;
+        @JsonProperty("relationWithBrach")
+        private String relationWithBrach;
+        @JsonProperty("insOrganizer")
+        private String insOrganizer;
+        @JsonProperty("insuranceMode")
+        private String insuranceMode;
+        @JsonProperty("insuranceCount")
+        private String insuranceCount;
+        @JsonProperty("longTermIdentifyCard")
+        private String longTermIdentifyCard;
+        @JsonProperty("longTermIdentifyEndDate")
+        private String longTermIdentifyEndDate;
+        @JsonProperty("appBlacklistInd")
+        private String appBlacklistInd;
+        @JsonProperty("appBlacklistType")
+        private String appBlacklistType;
+        @JsonProperty("grade")
+        private String grade;
+        @JsonProperty("gradeFlag")
+        private String gradeFlag;
+        @JsonProperty("contactIdentifyType")
+        private String contactIdentifyType;
+        @JsonProperty("contactIdentifyNumber")
+        private String contactIdentifyNumber;
+        @JsonProperty("leaderProvinceCode")
+        private String leaderProvinceCode;
+        @JsonProperty("leaderProvinceName")
+        private String leaderProvinceName;
+        @JsonProperty("leaderCityCode")
+        private String leaderCityCode;
+        @JsonProperty("leaderCityName")
+        private String leaderCityName;
+        @JsonProperty("leaderCountyCode")
+        private String leaderCountyCode;
+        @JsonProperty("leaderCountyName")
+        private String leaderCountyName;
+        @JsonProperty("leaderAddress")
+        private String leaderAddress;
+        @JsonProperty("leaderContact")
+        private String leaderContact;
+        @JsonProperty("leaderIdNo")
+        private String leaderIdNo;
+        @JsonProperty("leaderName")
+        private String leaderName;
+        @JsonProperty("appliAge")
+        private String appliAge;
+        @JsonProperty("appliCompanyAddress")
+        private String appliCompanyAddress;
+        @JsonProperty("businessDealerName")
+        private String businessDealerName;
+        @JsonProperty("businessDealerIdType")
+        private String businessDealerIdType;
+        @JsonProperty("businessDealerIdNumber")
+        private String businessDealerIdNumber;
+        @JsonProperty("businessScope")
+        private String businessScope;
+        @JsonProperty("operatorType")
+        private String operatorType;
+        @JsonProperty("leaderIdSDate")
+        private String leaderIdSDate;
+        @JsonProperty("leaderIdEDate")
+        private String leaderIdEDate;
+        @JsonProperty("shareHolder")
+        private String shareHolder;
+        @JsonProperty("shareHolderIdType")
+        private String shareHolderIdType;
+        @JsonProperty("shareHolderIdNo")
+        private String shareHolderIdNo;
+        @JsonProperty("shareHolderIdSDate")
+        private String shareHolderIdSDate;
+        @JsonProperty("shareHolderIdEDate")
+        private String shareHolderIdEDate;
+        @JsonProperty("actController")
+        private String actController;
+        @JsonProperty("actControllerIdType")
+        private String actControllerIdType;
+        @JsonProperty("actControllerIdNo")
+        private String actControllerIdNo;
+        @JsonProperty("actControllerSDate")
+        private String actControllerSDate;
+        @JsonProperty("actControllerEDate")
+        private String actControllerEDate;
+        @JsonProperty("industryCode")
+        private String industryCode;
+        @JsonProperty("companyType")
+        private String companyType;
+        @JsonProperty("frBlacklistFiveType")
+        private String frBlacklistFiveType;
+        @JsonProperty("sqrBlacklistFiveType")
+        private String sqrBlacklistFiveType;
+        @JsonProperty("gdBlacklistFiveType")
+        private String gdBlacklistFiveType;
+        @JsonProperty("syrBlacklistFiveType")
+        private String syrBlacklistFiveType;
+        @JsonProperty("appBlacklistFiveType")
+        private String appBlacklistFiveType;
+        @JsonProperty("lxrBlacklistFiveType")
+        private String lxrBlacklistFiveType;
+        @JsonProperty("specialPhoneFlagCode")
+        private String specialPhoneFlagCode;
+        @JsonProperty("twoVerifyResult")
+        private String twoVerifyResult;
+        @JsonProperty("threeVerifyResult")
+        private String threeVerifyResult;
+        @JsonProperty("scUpdateTime")
+        private String scUpdateTime;
+        @JsonProperty("contactDealType")
+        private String contactDealType;
+        @JsonProperty("actControllerType")
+        private String actControllerType;
+        @JsonProperty("leaderType")
+        private String leaderType;
+        @JsonProperty("leaderIdType")
+        private String leaderIdType;
+        @JsonProperty("gwPhone")
+        private String gwPhone;
+        @JsonProperty("groupNature")
+        private String groupNature;
+        @JsonProperty("twzVerifyResult")
+        private String twzVerifyResult;
+        @JsonProperty("twzContactResult")
+        private String twzContactResult;
+        @JsonProperty("gatVerifyResult")
+        private String gatVerifyResult;
+        @JsonProperty("gatContactResult")
+        private String gatContactResult;
+        @JsonProperty("updateDate")
+        private String updateDate;
+        @JsonProperty("idTypeUsedGc")
+        private String idTypeUsedGc;
+        @JsonProperty("countryCodeUsedGc")
+        private String countryCodeUsedGc;
+        @JsonProperty("industryCodeUsedGc")
+        private String industryCodeUsedGc;
+        @JsonProperty("contactLongTermIdCard")
+        private String contactLongTermIdCard;
+        @JsonProperty("contactIdStartDate")
+        private String contactIdStartDate;
+        @JsonProperty("contactIdEndDate")
+        private String contactIdEndDate;
+        @JsonProperty("antiMoneyType")
+        private String antiMoneyType;
+        @JsonProperty("mode")
+        private String mode;
+        @JsonProperty("insuredName")
+        private String insuredName;
+        @JsonProperty("orderNo")
+        private String orderNo;
+        @JsonProperty("detailAddress")
+        private List<Object> detailAddress;
+    }
+
+    @Data
+    public class PfRiskRelatedPartyDTO {
+        @JsonProperty("insuredPhoneHolderName")
+        private String insuredPhoneHolderName;
+        @JsonProperty("insuredPhoneHolderCertiType")
+        private String insuredPhoneHolderCertiType;
+        @JsonProperty("insuredPhoneHolderCertNumber")
+        private String insuredPhoneHolderCertNumber;
+        @JsonProperty("insuredPhoneHolderType")
+        private String insuredPhoneHolderType;
+        @JsonProperty("contactPhoneHolderCertiType")
+        private String contactPhoneHolderCertiType;
+        @JsonProperty("contactPhoneHolderName")
+        private String contactPhoneHolderName;
+        @JsonProperty("contactPhoneHolderCertNumber")
+        private String contactPhoneHolderCertNumber;
+        @JsonProperty("contactPhoneHolderType")
+        private String contactPhoneHolderType;
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("planCode")
+        private String planCode;
+        @JsonProperty("riskCode")
+        private String riskCode;
+        @JsonProperty("subProposalNo")
+        private String subProposalNo;
+        @JsonProperty("serialNo")
+        private String serialNo;
+        @JsonProperty("nation")
+        private String nation;
+        @JsonProperty("issuer")
+        private String issuer;
+        @JsonProperty("insuredType")
+        private String insuredType;
+        @JsonProperty("insuredCode")
+        private String insuredCode;
+        @JsonProperty("insuredName")
+        private String insuredName;
+        @JsonProperty("insuredAddress")
+        private String insuredAddress;
+        @JsonProperty("insuredBusinessSource")
+        private String insuredBusinessSource;
+        @JsonProperty("insuredFlag")
+        private String insuredFlag;
+        @JsonProperty("insuredRole")
+        private String insuredRole;
+        @JsonProperty("identifyType")
+        private String identifyType;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("insuredRelation")
+        private String insuredRelation;
+        @JsonProperty("relateSerialNo")
+        private String relateSerialNo;
+        @JsonProperty("insuredInd")
+        private String insuredInd;
+        @JsonProperty("remark")
+        private String remark;
+        @JsonProperty("flag")
+        private String flag;
+        @JsonProperty("insuredSex")
+        private String insuredSex;
+        @JsonProperty("insuredBirthDate")
+        private String insuredBirthDate;
+        @JsonProperty("insuredPostCode")
+        private String insuredPostCode;
+        @JsonProperty("insuredOfficePhone")
+        private String insuredOfficePhone;
+        @JsonProperty("insuredMobilePhone")
+        private String insuredMobilePhone;
+        @JsonProperty("insdPropertyFlag")
+        private String insdPropertyFlag;
+        @JsonProperty("insdLifeFlag")
+        private String insdLifeFlag;
+        @JsonProperty("riskRelatedCaiXianFlag")
+        private String riskRelatedCaiXianFlag;
+        @JsonProperty("riskRelatedShouXianFlag")
+        private String riskRelatedShouXianFlag;
+        @JsonProperty("relatedContactCaiXianFlag")
+        private String relatedContactCaiXianFlag;
+        @JsonProperty("relatedContactShouXianFlag")
+        private String relatedContactShouXianFlag;
+        @JsonProperty("insuredHomePhone")
+        private String insuredHomePhone;
+        @JsonProperty("contactName")
+        private String contactName;
+        @JsonProperty("contactPhone")
+        private String contactPhone;
+        @JsonProperty("marriageStatus")
+        private String marriageStatus;
+        @JsonProperty("educationBackground")
+        private String educationBackground;
+        @JsonProperty("relationWithHolder")
+        private String relationWithHolder;
+        @JsonProperty("contactSex")
+        private String contactSex;
+        @JsonProperty("contactType")
+        private String contactType;
+        @JsonProperty("contactDepartment")
+        private String contactDepartment;
+        @JsonProperty("contactPosition")
+        private String contactPosition;
+        @JsonProperty("contactOfficeNumber")
+        private String contactOfficeNumber;
+        @JsonProperty("contactMobile")
+        private String contactMobile;
+        @JsonProperty("contactIdentifyType")
+        private String contactIdentifyType;
+        @JsonProperty("contactIdentifyNumber")
+        private String contactIdentifyNumber;
+        @JsonProperty("relatedType")
+        private String relatedType;
+        @JsonProperty("itemProvinceCode")
+        private String itemProvinceCode;
+        @JsonProperty("itemCityCode")
+        private String itemCityCode;
+        @JsonProperty("itemProvinceCName")
+        private String itemProvinceCName;
+        @JsonProperty("itemCityCName")
+        private String itemCityCName;
+        @JsonProperty("moneyLaunderingInd")
+        private String moneyLaunderingInd;
+        @JsonProperty("countyCode")
+        private String countyCode;
+        @JsonProperty("countyCName")
+        private String countyCName;
+        @JsonProperty("vipInd")
+        private String vipInd;
+        @JsonProperty("countryCode")
+        private String countryCode;
+        @JsonProperty("countryName")
+        private String countryName;
+        @JsonProperty("identifyStartDate")
+        private String identifyStartDate;
+        @JsonProperty("identifyEndDate")
+        private String identifyEndDate;
+        @JsonProperty("occupationCode")
+        private String occupationCode;
+        @JsonProperty("countryCName")
+        private String countryCName;
+        @JsonProperty("benefitType")
+        private String benefitType;
+        @JsonProperty("compliState")
+        private String compliState;
+        @JsonProperty("department")
+        private String department;
+        @JsonProperty("relationWithBrach")
+        private String relationWithBrach;
+        @JsonProperty("qianHCompanyInd")
+        private String qianHCompanyInd;
+        @JsonProperty("email")
+        private String email;
+        @JsonProperty("subLeaderName")
+        private String subLeaderName;
+        @JsonProperty("leaderIdNo")
+        private String leaderIdNo;
+        @JsonProperty("leaderIdType")
+        private String leaderIdType;
+        @JsonProperty("leaderIdSDate")
+        private String leaderIdSDate;
+        @JsonProperty("leaderIdEDate")
+        private String leaderIdEDate;
+        @JsonProperty("longTermIdentifyCard")
+        private String longTermIdentifyCard;
+        @JsonProperty("longTermIdentifyEndDate")
+        private String longTermIdentifyEndDate;
+        @JsonProperty("operatorType")
+        private String operatorType;
+        @JsonProperty("specialPersonFlagCode")
+        private String specialPersonFlagCode;
+        @JsonProperty("specialPersonFlagMean")
+        private String specialPersonFlagMean;
+        @JsonProperty("businessDealerName")
+        private String businessDealerName;
+        @JsonProperty("businessDealerIdType")
+        private String businessDealerIdType;
+        @JsonProperty("businessDealerIdNumber")
+        private String businessDealerIdNumber;
+        @JsonProperty("shareHolder")
+        private String shareHolder;
+        @JsonProperty("shareHolderIdType")
+        private String shareHolderIdType;
+        @JsonProperty("shareHolderIdNo")
+        private String shareHolderIdNo;
+        @JsonProperty("shareHolderIdSDate")
+        private String shareHolderIdSDate;
+        @JsonProperty("shareHolderIdEDate")
+        private String shareHolderIdEDate;
+        @JsonProperty("actController")
+        private String actController;
+        @JsonProperty("actControllerIdType")
+        private String actControllerIdType;
+        @JsonProperty("actControllerIdNo")
+        private String actControllerIdNo;
+        @JsonProperty("actControllerSDate")
+        private String actControllerSDate;
+        @JsonProperty("actControllerEDate")
+        private String actControllerEDate;
+        @JsonProperty("subLeaderAddress")
+        private String subLeaderAddress;
+        @JsonProperty("subLeaderConactMobile")
+        private String subLeaderConactMobile;
+        @JsonProperty("leaderProvinceCode")
+        private String leaderProvinceCode;
+        @JsonProperty("leaderProvinceName")
+        private String leaderProvinceName;
+        @JsonProperty("leaderCityCode")
+        private String leaderCityCode;
+        @JsonProperty("leaderCityName")
+        private String leaderCityName;
+        @JsonProperty("leaderCountyCode")
+        private String leaderCountyCode;
+        @JsonProperty("leaderCountyName")
+        private String leaderCountyName;
+        @JsonProperty("groupNature")
+        private String groupNature;
+        @JsonProperty("insuredAge")
+        private String insuredAge;
+        @JsonProperty("insuredCompanyAddress")
+        private String insuredCompanyAddress;
+        @JsonProperty("companyType")
+        private String companyType;
+        @JsonProperty("companyEstablishDate")
+        private String companyEstablishDate;
+        @JsonProperty("relationWithAppli")
+        private String relationWithAppli;
+        @JsonProperty("businessScope")
+        private String businessScope;
+        @JsonProperty("insBlacklistInd")
+        private String insBlacklistInd;
+        @JsonProperty("insBlacklistType")
+        private String insBlacklistType;
+        @JsonProperty("grade")
+        private String grade;
+        @JsonProperty("gradeFlag")
+        private String gradeFlag;
+        @JsonProperty("twzVerifyResult")
+        private String twzVerifyResult;
+        @JsonProperty("twzContactResult")
+        private String twzContactResult;
+        @JsonProperty("gatVerifyResult")
+        private String gatVerifyResult;
+        @JsonProperty("gatContactResult")
+        private String gatContactResult;
+        @JsonProperty("insBlacklistFiveType")
+        private String insBlacklistFiveType;
+        @JsonProperty("specialPhoneFlagCode")
+        private String specialPhoneFlagCode;
+        @JsonProperty("scUpdateTime")
+        private String scUpdateTime;
+        @JsonProperty("leaderType")
+        private String leaderType;
+        @JsonProperty("updateDate")
+        private String updateDate;
+        @JsonProperty("idTypeUsedGc")
+        private String idTypeUsedGc;
+        @JsonProperty("countryCodeUsedGc")
+        private String countryCodeUsedGc;
+        @JsonProperty("industryCodeUsedGc")
+        private String industryCodeUsedGc;
+        @JsonProperty("industryCode")
+        private String industryCode;
+        @JsonProperty("contactLongTermIdCard")
+        private String contactLongTermIdCard;
+        @JsonProperty("contactIdStartDate")
+        private String contactIdStartDate;
+        @JsonProperty("contactIdEndDate")
+        private String contactIdEndDate;
+        @JsonProperty("birthDate")
+        private String birthDate;
+        @JsonProperty("detailAddress")
+        private List<Object> detailAddress;
+    }
+
+    @Data
+    public class PfItemMotorDTO {
+        @JsonProperty("loancarCompany")
+        private String loancarCompany;
+        @JsonProperty("whiteListFlag")
+        private String whiteListFlag;
+        @JsonProperty("whiteListElecContactNo")
+        private String whiteListElecContactNo;
+        @JsonProperty("cxtPrice")
+        private String cxtPrice;
+        @JsonProperty("tonCountJy")
+        private String tonCountJy;
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("itemNo")
+        private String itemNo;
+        @JsonProperty("insuredTypeCode")
+        private String insuredTypeCode;
+        @JsonProperty("carInsuredRelation")
+        private String carInsuredRelation;
+        @JsonProperty("carOwner")
+        private String carOwner;
+        @JsonProperty("fleetName")
+        private String fleetName;
+        @JsonProperty("classificationOfCDW")
+        private String classificationOfCDW;
+        @JsonProperty("clauseType")
+        private String clauseType;
+        @JsonProperty("agreeDriverInd")
+        private String agreeDriverInd;
+        @JsonProperty("newDeviceInd")
+        private String newDeviceInd;
+        @JsonProperty("modifiedInd")
+        private String modifiedInd;
+        @JsonProperty("taxiInd")
+        private String taxiInd;
+        @JsonProperty("licenseNo")
+        private String licenseNo;
+        @JsonProperty("licenseNoA")
+        private String licenseNoA;
+        @JsonProperty("licenseColorCode")
+        private String licenseColorCode;
+        @JsonProperty("carKindCode")
+        private String carKindCode;
+        @JsonProperty("hkFlag")
+        private String hkFlag;
+        @JsonProperty("hkLicenseNo")
+        private String hkLicenseNo;
+        @JsonProperty("engineNo")
+        private String engineNo;
+        @JsonProperty("engineNo2")
+        private String engineNo2;
+        @JsonProperty("engineNo3")
+        private String engineNo3;
+        @JsonProperty("engineNo4")
+        private String engineNo4;
+        @JsonProperty("vinNo")
+        private String vinNo;
+        @JsonProperty("frameNo")
+        private String frameNo;
+        @JsonProperty("withinChinaInd")
+        private String withinChinaInd;
+        @JsonProperty("runAreaCode")
+        private String runAreaCode;
+        @JsonProperty("runAreaName")
+        private String runAreaName;
+        @JsonProperty("runMiles")
+        private String runMiles;
+        @JsonProperty("enrollDate")
+        private String enrollDate;
+        @JsonProperty("useYears")
+        private Integer useYears;
+        @JsonProperty("useYearsQuotation")
+        private String useYearsQuotation;
+        @JsonProperty("modelCode")
+        private String modelCode;
+        @JsonProperty("make")
+        private String make;
+        @JsonProperty("brandName")
+        private String brandName;
+        @JsonProperty("countryNature")
+        private String countryNature;
+        @JsonProperty("countryCode")
+        private String countryCode;
+        @JsonProperty("useNatureCode")
+        private String useNatureCode;
+        @JsonProperty("businessClassCode")
+        private String businessClassCode;
+        @JsonProperty("longLoadPermit")
+        private String longLoadPermit;
+        @JsonProperty("wideLoadPermit")
+        private String wideLoadPermit;
+        @JsonProperty("seatCount")
+        private Integer seatCount;
+        @JsonProperty("addSeatCount")
+        private String addSeatCount;
+        @JsonProperty("tonCount")
+        private Double tonCount;
+        @JsonProperty("exhaustScale")
+        private Double exhaustScale;
+        @JsonProperty("power")
+        private Double power;
+        @JsonProperty("maxDesignSpeed")
+        private String maxDesignSpeed;
+        @JsonProperty("doorCount")
+        private String doorCount;
+        @JsonProperty("colorCode")
+        private String colorCode;
+        @JsonProperty("safeDevice")
+        private String safeDevice;
+        @JsonProperty("parkSite")
+        private String parkSite;
+        @JsonProperty("vehicleStatuse")
+        private String vehicleStatuse;
+        @JsonProperty("driveMode")
+        private String driveMode;
+        @JsonProperty("ownerAddress")
+        private String ownerAddress;
+        @JsonProperty("district")
+        private String district;
+        @JsonProperty("largeDistrict")
+        private String largeDistrict;
+        @JsonProperty("addressType")
+        private String addressType;
+        @JsonProperty("otherNature")
+        private String otherNature;
+        @JsonProperty("rateCode")
+        private String rateCode;
+        @JsonProperty("makeDate")
+        private String makeDate;
+        @JsonProperty("carUsage")
+        private String carUsage;
+        @JsonProperty("currency")
+        private String currency;
+        @JsonProperty("estimateValue")
+        private String estimateValue;
+        @JsonProperty("purchasePrice")
+        private Double purchasePrice;
+        @JsonProperty("actualValue")
+        private Double actualValue;
+        @JsonProperty("invoiceNo")
+        private String invoiceNo;
+        @JsonProperty("useLimitations")
+        private String useLimitations;
+        @JsonProperty("lastInsurer")
+        private String lastInsurer;
+        @JsonProperty("previousPolicyNo")
+        private String previousPolicyNo;
+        @JsonProperty("previousExpiryDate")
+        private String previousExpiryDate;
+        @JsonProperty("carCheckStatus")
+        private String carCheckStatus;
+        @JsonProperty("carCheckReason")
+        private String carCheckReason;
+        @JsonProperty("carChecker")
+        private String carChecker;
+        @JsonProperty("carCheckTime")
+        private String carCheckTime;
+        @JsonProperty("relievingAreaCode")
+        private String relievingAreaCode;
+        @JsonProperty("hirePurchase")
+        private String hirePurchase;
+        @JsonProperty("localVehicleInd")
+        private String localVehicleInd;
+        @JsonProperty("glassType")
+        private String glassType;
+        @JsonProperty("peccancyRecord")
+        private String peccancyRecord;
+        @JsonProperty("damagedFactorGrade")
+        private String damagedFactorGrade;
+        @JsonProperty("loadType")
+        private String loadType;
+        @JsonProperty("repairFactoryType")
+        private String repairFactoryType;
+        @JsonProperty("licenseType")
+        private String licenseType;
+        @JsonProperty("licenseTypeCode")
+        private String licenseTypeCode;
+        @JsonProperty("remark")
+        private String remark;
+        @JsonProperty("flag")
+        private String flag;
+        @JsonProperty("printBrandName")
+        private String printBrandName;
+        @JsonProperty("aliasCode")
+        private String aliasCode;
+        @JsonProperty("completeKerbMass")
+        private Double completeKerbMass;
+        @JsonProperty("vehicleClass")
+        private String vehicleClass;
+        @JsonProperty("vehicleType")
+        private String vehicleType;
+        @JsonProperty("vehicleBodyType")
+        private String vehicleBodyType;
+        @JsonProperty("rejectInd")
+        private String rejectInd;
+        @JsonProperty("hirePurchaseCode")
+        private String hirePurchaseCode;
+        @JsonProperty("driverLimitations")
+        private String driverLimitations;
+        @JsonProperty("hkRiskCode")
+        private String hkRiskCode;
+        @JsonProperty("certificateDate")
+        private String certificateDate;
+        @JsonProperty("motorCommission")
+        private String motorCommission;
+        @JsonProperty("motorRebate")
+        private String motorRebate;
+        @JsonProperty("motorCommissionDeductible")
+        private String motorCommissionDeductible;
+        @JsonProperty("fixInd")
+        private String fixInd;
+        @JsonProperty("identifyType")
+        private String identifyType;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("changeRegionDate")
+        private String changeRegionDate;
+        @JsonProperty("settleAddressCode")
+        private String settleAddressCode;
+        @JsonProperty("useNatureShow")
+        private String useNatureShow;
+        @JsonProperty("attachNature")
+        private String attachNature;
+        @JsonProperty("carUseType")
+        private String carUseType;
+        @JsonProperty("carTypeCode")
+        private String carTypeCode;
+        @JsonProperty("carKindCodeShow")
+        private String carKindCodeShow;
+        @JsonProperty("carNewOldFlag")
+        private String carNewOldFlag;
+        @JsonProperty("subProposalNo")
+        private String subProposalNo;
+        @JsonProperty("motorType")
+        private String motorType;
+        @JsonProperty("previousStartDate")
+        private String previousStartDate;
+        @JsonProperty("noDamageYears")
+        private String noDamageYears;
+        @JsonProperty("pastLicenseNo")
+        private String pastLicenseNo;
+        @JsonProperty("routeStartPoint")
+        private String routeStartPoint;
+        @JsonProperty("routeEndPolint")
+        private String routeEndPolint;
+        @JsonProperty("factory")
+        private String factory;
+        @JsonProperty("factoryId")
+        private String factoryId;
+        @JsonProperty("carBrand")
+        private String carBrand;
+        @JsonProperty("brandId")
+        private String brandId;
+        @JsonProperty("familyName")
+        private String familyName;
+        @JsonProperty("familyCode")
+        private String familyCode;
+        @JsonProperty("frameNoHeteroType")
+        private String frameNoHeteroType;
+        @JsonProperty("updateTime")
+        private String updateTime;
+        @JsonProperty("hazardType")
+        private String hazardType;
+        @JsonProperty("vehicleCategory")
+        private String vehicleCategory;
+        @JsonProperty("colorName")
+        private String colorName;
+        @JsonProperty("previousPrpallCompany")
+        private String previousPrpallCompany;
+        @JsonProperty("planCode")
+        private String planCode;
+        @JsonProperty("riskCode")
+        private String riskCode;
+        @JsonProperty("groupCode")
+        private String groupCode;
+        @JsonProperty("simpleFrameNo")
+        private String simpleFrameNo;
+        @JsonProperty("chgOwnerFlag")
+        private String chgOwnerFlag;
+        @JsonProperty("carKindShowSub")
+        private String carKindShowSub;
+        @JsonProperty("transferDate")
+        private String transferDate;
+        @JsonProperty("loanVehicleFlag")
+        private String loanVehicleFlag;
+        @JsonProperty("singeinDate")
+        private String singeinDate;
+        @JsonProperty("specialCarFlag")
+        private String specialCarFlag;
+        @JsonProperty("vehicleCode")
+        private String vehicleCode;
+        @JsonProperty("ciModelCode")
+        private String ciModelCode;
+        @JsonProperty("basicRateCode")
+        private String basicRateCode;
+        @JsonProperty("noticeType")
+        private String noticeType;
+        @JsonProperty("carName")
+        private String carName;
+        @JsonProperty("negotiatedActualValue")
+        private Double negotiatedActualValue;
+        @JsonProperty("isSpecialCarFlag")
+        private String isSpecialCarFlag;
+        @JsonProperty("carCheckValidTime")
+        private String carCheckValidTime;
+        @JsonProperty("engineModel")
+        private String engineModel;
+        @JsonProperty("configModel")
+        private String configModel;
+        @JsonProperty("carYear")
+        private String carYear;
+        @JsonProperty("vehicleModelKind")
+        private String vehicleModelKind;
+        @JsonProperty("fuelType")
+        private String fuelType;
+        @JsonProperty("fuelTypeName")
+        private String fuelTypeName;
+        @JsonProperty("newVehicleClassCode")
+        private String newVehicleClassCode;
+        @JsonProperty("newVehicleClassName")
+        private String newVehicleClassName;
+        @JsonProperty("hfCode")
+        private String hfCode;
+        @JsonProperty("hfStartTime")
+        private String hfStartTime;
+        @JsonProperty("hfEndTime")
+        private String hfEndTime;
+        @JsonProperty("hfName")
+        private String hfName;
+        @JsonProperty("carID")
+        private String carID;
+        @JsonProperty("carIDCheckInd")
+        private String carIDCheckInd;
+        @JsonProperty("carIDVersionNo")
+        private String carIDVersionNo;
+        @JsonProperty("carIDVerifyEquallyInd")
+        private String carIDVerifyEquallyInd;
+        @JsonProperty("drivingRadius")
+        private String drivingRadius;
+        @JsonProperty("outBoundLand")
+        private String outBoundLand;
+        @JsonProperty("shVehicleCode")
+        private String shVehicleCode;
+        @JsonProperty("jgVehicleCheckCode")
+        private String jgVehicleCheckCode;
+        @JsonProperty("driveUseAttribute")
+        private String driveUseAttribute;
+        @JsonProperty("platformBlacklistNum")
+        private String platformBlacklistNum;
+        @JsonProperty("carBlacklistInd")
+        private String carBlacklistInd;
+        @JsonProperty("commercialCarGrade")
+        private String commercialCarGrade;
+        @JsonProperty("commercialCarGradeSource")
+        private String commercialCarGradeSource;
+        @JsonProperty("sale4SFlag")
+        private String sale4SFlag;
+        @JsonProperty("saleCompany")
+        private String saleCompany;
+        @JsonProperty("saleAreaCode")
+        private String saleAreaCode;
+        @JsonProperty("saleAreaName")
+        private String saleAreaName;
+        @JsonProperty("provinceEcdemicVehicleFlag")
+        private String provinceEcdemicVehicleFlag;
+        @JsonProperty("vehicleInitialRegister")
+        private String vehicleInitialRegister;
+        @JsonProperty("specialVehicleFlagCode")
+        private String specialVehicleFlagCode;
+        @JsonProperty("specialVehicleFlagMean")
+        private String specialVehicleFlagMean;
+        @JsonProperty("vehicleQueryType")
+        private String vehicleQueryType;
+        @JsonProperty("distinguishVanAreaCode")
+        private String distinguishVanAreaCode;
+        @JsonProperty("cvFlag")
+        private String cvFlag;
+        @JsonProperty("principalCHDVehicleGrade")
+        private String principalCHDVehicleGrade;
+        @JsonProperty("principalCHDTeamGrade")
+        private String principalCHDTeamGrade;
+        @JsonProperty("principalZJXLGrade")
+        private String principalZJXLGrade;
+        @JsonProperty("principalLicenseNo")
+        private String principalLicenseNo;
+        @JsonProperty("principalValidPolicyCount")
+        private Integer principalValidPolicyCount;
+        @JsonProperty("chdVehicleGrade")
+        private String chdVehicleGrade;
+        @JsonProperty("chdTeamGrade")
+        private String chdTeamGrade;
+        @JsonProperty("zjxlGrade")
+        private String zjxlGrade;
+        @JsonProperty("principalQuotationDiscount")
+        private String principalQuotationDiscount;
+        @JsonProperty("newEnergyFlag")
+        private String newEnergyFlag;
+        @JsonProperty("energyType")
+        private String energyType;
+        @JsonProperty("range")
+        private String range;
+        @JsonProperty("energyTypeDescribe")
+        private String energyTypeDescribe;
+        @JsonProperty("newEnergyClauseFlag")
+        private String newEnergyClauseFlag;
+        @JsonProperty("callC05")
+        private String callC05;
+        @JsonProperty("callC05Result")
+        private String callC05Result;
+        @JsonProperty("vehicleStyleUniqueId")
+        private String vehicleStyleUniqueId;
+        @JsonProperty("certificateType")
+        private String certificateType;
+        @JsonProperty("certificateNo")
+        private String certificateNo;
+        @JsonProperty("certificateReportDate")
+        private String certificateReportDate;
+        @JsonProperty("carGroupName")
+        private String carGroupName;
+        @JsonProperty("scUpdateTime")
+        private String scUpdateTime;
+        @JsonProperty("chgOwnerLevel")
+        private String chgOwnerLevel;
+        @JsonProperty("carFamilyTypeI")
+        private String carFamilyTypeI;
+        @JsonProperty("carFamilyTypeII")
+        private String carFamilyTypeII;
+        @JsonProperty("pureHkLicenseNo")
+        private String pureHkLicenseNo;
+        @JsonProperty("secondNewCarFlag")
+        private String secondNewCarFlag;
+        @JsonProperty("pureMoLicenseNo")
+        private String pureMoLicenseNo;
+        @JsonProperty("ownerNameOA")
+        private String ownerNameOA;
+        @JsonProperty("rideSharingScore")
+        private String rideSharingScore;
+        @JsonProperty("stdIsOnline")
+        private String stdIsOnline;
+        @JsonProperty("stdActivityLevel")
+        private String stdActivityLevel;
+        @JsonProperty("vehiclePubCode")
+        private String vehiclePubCode;
+        @JsonProperty("transferFlag")
+        private String transferFlag;
+        @JsonProperty("htbVehicleType")
+        private String htbVehicleType;
+        @JsonProperty("htbVehicleUsageType")
+        private String htbVehicleUsageType;
+        @JsonProperty("negotiatedActualValueType")
+        private String negotiatedActualValueType;
+        @JsonProperty("vehicleFatteryFlag")
+        private String vehicleFatteryFlag;
+        @JsonProperty("riskFactorShow")
+        private String riskFactorShow;
+        @JsonProperty("usedCarFlag")
+        private String usedCarFlag;
+        @JsonProperty("driveCityCode")
+        private String driveCityCode;
+        @JsonProperty("bzVehicleCategory")
+        private String bzVehicleCategory;
+        @JsonProperty("bsVehicleCategory")
+        private String bsVehicleCategory;
+        @JsonProperty("claimRiskLevel")
+        private String claimRiskLevel;
+        @JsonProperty("coreValueType")
+        private String coreValueType;
+        @JsonProperty("n05ReuseFlag")
+        private String n05ReuseFlag;
+        @JsonProperty("n05ReuseId")
+        private String n05ReuseId;
+        @JsonProperty("divisionScoreFlag")
+        private String divisionScoreFlag;
+        @JsonProperty("facIndFlag")
+        private String facIndFlag;
+        @JsonProperty("totalTractionMass")
+        private Double totalTractionMass;
+        @JsonProperty("updateDate")
+        private String updateDate;
+        @JsonProperty("roundTripCount")
+        private String roundTripCount;
+        @JsonProperty("vehicleSize")
+        private String vehicleSize;
+        @JsonProperty("yearPattern")
+        private String yearPattern;
+        @JsonProperty("configType")
+        private String configType;
+        @JsonProperty("useNatureShowName")
+        private String useNatureShowName;
+        @JsonProperty("vehicleCategoryName")
+        private String vehicleCategoryName;
+        @JsonProperty("carUseTypeName")
+        private String carUseTypeName;
+        @JsonProperty("companyCode")
+        private String companyCode;
+        @JsonProperty("syxClassName")
+        private String syxClassName;
+        @JsonProperty("ciModelClass")
+        private String ciModelClass;
+        @JsonProperty("glassTypeName")
+        private String glassTypeName;
+        @JsonProperty("renewalNo")
+        private String renewalNo;
+        @JsonProperty("vehicleId")
+        private String vehicleId;
+        @JsonProperty("platVehicleCode")
+        private String platVehicleCode;
+        @JsonProperty("platVehicleName")
+        private String platVehicleName;
+        @JsonProperty("transmissiontType")
+        private String transmissiontType;
+        @JsonProperty("purchasePriceNotTax")
+        private String purchasePriceNotTax;
+        @JsonProperty("platFlag")
+        private String platFlag;
+        @JsonProperty("orderNo")
+        private String orderNo;
+        @JsonProperty("fgSwitch")
+        private String fgSwitch;
+        @JsonProperty("licenseColorName")
+        private String licenseColorName;
+        @JsonProperty("attachNatureName")
+        private String attachNatureName;
+        @JsonProperty("localVehicleIndName")
+        private String localVehicleIndName;
+        @JsonProperty("licenseTypeName")
+        private String licenseTypeName;
+        @JsonProperty("motorTypeName")
+        private String motorTypeName;
+        @JsonProperty("carKindCodeShowName")
+        private String carKindCodeShowName;
+        @JsonProperty("pureRiskPremium")
+        private String pureRiskPremium;
+        @JsonProperty("demandNo")
+        private String demandNo;
+        @JsonProperty("rejectDate")
+        private String rejectDate;
+        @JsonProperty("analogyModelPrice")
+        private String analogyModelPrice;
+        @JsonProperty("classAttribute")
+        private String classAttribute;
+        @JsonProperty("classAttributeName")
+        private String classAttributeName;
+        @JsonProperty("analogyModelPriceNotTax")
+        private String analogyModelPriceNotTax;
+        @JsonProperty("refcode1")
+        private String refcode1;
+        @JsonProperty("refcode2")
+        private String refcode2;
+        @JsonProperty("absFlag")
+        private String absFlag;
+        @JsonProperty("airbagNum")
+        private String airbagNum;
+        @JsonProperty("alarmFlag")
+        private String alarmFlag;
+        @JsonProperty("vehicleBrand")
+        private String vehicleBrand;
+        @JsonProperty("vehicleDescription")
+        private String vehicleDescription;
+        @JsonProperty("tradeCode")
+        private String tradeCode;
+        @JsonProperty("tradeName")
+        private String tradeName;
+        @JsonProperty("vehicleStyle")
+        private String vehicleStyle;
+        @JsonProperty("startDate")
+        private String startDate;
+        @JsonProperty("taxVehicleCategory")
+        private String taxVehicleCategory;
+        @JsonProperty("riskStartDate")
+        private String riskStartDate;
+        @JsonProperty("riskEndDate")
+        private String riskEndDate;
+        @JsonProperty("carValue")
+        private String carValue;
+        @JsonProperty("vehicleDisplacement")
+        private String vehicleDisplacement;
+        @JsonProperty("bzVehicleCategoryName")
+        private String bzVehicleCategoryName;
+        @JsonProperty("fullWeight")
+        private String fullWeight;
+        @JsonProperty("nerveCentre")
+        private String nerveCentre;
+        @JsonProperty("thirdRunRoute")
+        private String thirdRunRoute;
+        @JsonProperty("policyNo")
+        private String policyNo;
+        @JsonProperty("carStyle")
+        private String carStyle;
+        @JsonProperty("stopFlag")
+        private String stopFlag;
+    }
+
+    @Data
+    public class PfProposalCarShipTaxDTO {
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("itemNo")
+        private Integer itemNo;
+        @JsonProperty("taxItemCode")
+        private String taxItemCode;
+        @JsonProperty("taxItemName")
+        private String taxItemName;
+        @JsonProperty("taxItemDetailCode")
+        private String taxItemDetailCode;
+        @JsonProperty("taxItemDetailName")
+        private String taxItemDetailName;
+        @JsonProperty("baseTaxation")
+        private String baseTaxation;
+        @JsonProperty("taxPayerCode")
+        private String taxPayerCode;
+        @JsonProperty("taxPayerName")
+        private String taxPayerName;
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+        @JsonProperty("taxpayerIdentifier")
+        private String taxpayerIdentifier;
+        @JsonProperty("taxPayFlag")
+        private String taxPayFlag;
+        @JsonProperty("taxRelifFlag")
+        private String taxRelifFlag;
+        @JsonProperty("taxRelifFlagLogo")
+        private String taxRelifFlagLogo;
+        @JsonProperty("relifReason")
+        private String relifReason;
+        @JsonProperty("freeRate")
+        private Double freeRate;
+        @JsonProperty("taxDocumentDate")
+        private String taxDocumentDate;
+        @JsonProperty("taxPaidAreaCode")
+        private String taxPaidAreaCode;
+        @JsonProperty("freeRateText")
+        private String freeRateText;
+        @JsonProperty("taxCompancyCode")
+        private String taxCompancyCode;
+        @JsonProperty("taxCompancyName")
+        private String taxCompancyName;
+        @JsonProperty("paidFreeCertificate")
+        private String paidFreeCertificate;
+        @JsonProperty("taxUnit")
+        private Double taxUnit;
+        @JsonProperty("taxUnitText")
+        private String taxUnitText;
+        @JsonProperty("calculateMode")
+        private String calculateMode;
+        @JsonProperty("calculateFlag")
+        private String calculateFlag;
+        @JsonProperty("finalFlag")
+        private String finalFlag;
+        @JsonProperty("completeKerbMass")
+        private Double completeKerbMass;
+        @JsonProperty("seatCount")
+        private String seatCount;
+        @JsonProperty("tonCount")
+        private String tonCount;
+        @JsonProperty("exhaustScale")
+        private String exhaustScale;
+        @JsonProperty("payLastYear")
+        private String payLastYear;
+        @JsonProperty("payLastEndDate")
+        private String payLastEndDate;
+        @JsonProperty("taxDue")
+        private Double taxDue;
+        @JsonProperty("taxDueActual")
+        private Double taxDueActual;
+        @JsonProperty("taxRelief")
+        private Double taxRelief;
+        @JsonProperty("previousPay")
+        private Double previousPay;
+        @JsonProperty("payStartDate")
+        private String payStartDate;
+        @JsonProperty("payEndDate")
+        private String payEndDate;
+        @JsonProperty("lateFee")
+        private Double lateFee;
+        @JsonProperty("lateFeeStartDate")
+        private String lateFeeStartDate;
+        @JsonProperty("lateFeeEndDate")
+        private String lateFeeEndDate;
+        @JsonProperty("sumPayTax")
+        private Double sumPayTax;
+        @JsonProperty("currency")
+        private String currency;
+        @JsonProperty("leviedDate")
+        private String leviedDate;
+        @JsonProperty("payTaxTimes")
+        private String payTaxTimes;
+        @JsonProperty("extendChar1")
+        private String extendChar1;
+        @JsonProperty("extendChar2")
+        private String extendChar2;
+        @JsonProperty("extendNum1")
+        private String extendNum1;
+        @JsonProperty("extendNum2")
+        private String extendNum2;
+        @JsonProperty("flag")
+        private String flag;
+        @JsonProperty("certiType")
+        private String certiType;
+        @JsonProperty("vehicleCategory")
+        private String vehicleCategory;
+        @JsonProperty("taxPayerAddress")
+        private String taxPayerAddress;
+        @JsonProperty("taxPayerPhoneNumber")
+        private String taxPayerPhoneNumber;
+        @JsonProperty("totalTonCount")
+        private String totalTonCount;
+        @JsonProperty("tractionTonCount")
+        private String tractionTonCount;
+        @JsonProperty("newLicenseFlag")
+        private String newLicenseFlag;
+        @JsonProperty("newLicenseCheckMon")
+        private String newLicenseCheckMon;
+        @JsonProperty("fine")
+        private String fine;
+        @JsonProperty("offerFlag")
+        private String offerFlag;
+        @JsonProperty("paidFeeCertiRefNo")
+        private String paidFeeCertiRefNo;
+        @JsonProperty("billType")
+        private String billType;
+        @JsonProperty("regionCode")
+        private String regionCode;
+        @JsonProperty("taxBusinessNo")
+        private String taxBusinessNo;
+        @JsonProperty("sourceTaxBusinessNo")
+        private String sourceTaxBusinessNo;
+        @JsonProperty("billNo")
+        private String billNo;
+        @JsonProperty("responseMessageNo")
+        private String responseMessageNo;
+        @JsonProperty("responseCode")
+        private String responseCode;
+        @JsonProperty("subProposalNo")
+        private String subProposalNo;
+        @JsonProperty("taxTermTypeCode")
+        private String taxTermTypeCode;
+        @JsonProperty("taxRegistryNumber")
+        private String taxRegistryNumber;
+        @JsonProperty("taxDescription")
+        private String taxDescription;
+        @JsonProperty("payTaxChange")
+        private String payTaxChange;
+        @JsonProperty("deductionDueType")
+        private String deductionDueType;
+        @JsonProperty("taxStartDate")
+        private String taxStartDate;
+        @JsonProperty("taxEndDate")
+        private String taxEndDate;
+        @JsonProperty("offerSerialNo")
+        private String offerSerialNo;
+        @JsonProperty("microcomputerCode")
+        private String microcomputerCode;
+        @JsonProperty("fuelType")
+        private String fuelType;
+        @JsonProperty("carFindDate")
+        private String carFindDate;
+        @JsonProperty("fuelTypeCST")
+        private String fuelTypeCST;
+        @JsonProperty("useNatureCode")
+        private String useNatureCode;
+        @JsonProperty("provinceCode")
+        private String provinceCode;
+        @JsonProperty("provinceName")
+        private String provinceName;
+        @JsonProperty("cityCode")
+        private String cityCode;
+        @JsonProperty("cityName")
+        private String cityName;
+        @JsonProperty("countyCode")
+        private String countyCode;
+        @JsonProperty("countyName")
+        private String countyName;
+        @JsonProperty("detailedAddress")
+        private String detailedAddress;
+        @JsonProperty("sumRefundTax")
+        private String sumRefundTax;
+        @JsonProperty("reMoreFillMsg")
+        private String reMoreFillMsg;
+        @JsonProperty("refundTaxDue")
+        private String refundTaxDue;
+        @JsonProperty("calcTaxFlag")
+        private String calcTaxFlag;
+        @JsonProperty("taxPaymentMark")
+        private String taxPaymentMark;
+        @JsonProperty("taxStandardType")
+        private String taxStandardType;
+        @JsonProperty("taxPaidAreaName")
+        private String taxPaidAreaName;
+        @JsonProperty("previousPayYears")
+        private String previousPayYears;
+    }
+
+    @Data
+    public class PfItemKindDTO {
+        @JsonProperty("nodeBtGrossPremium")
+        private String nodeBtGrossPremium;
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+        @JsonProperty("riskCode")
+        private String riskCode;
+        @JsonProperty("itemKindNo")
+        private String itemKindNo;
+        @JsonProperty("itemCode")
+        private String itemCode;
+        @JsonProperty("itemDetailCode")
+        private String itemDetailCode;
+        @JsonProperty("itemDetailList")
+        private String itemDetailList;
+        @JsonProperty("liabCode")
+        private String liabCode;
+        @JsonProperty("kindName")
+        private String kindName;
+        @JsonProperty("modeCode")
+        private String modeCode;
+        @JsonProperty("modeName")
+        private String modeName;
+        @JsonProperty("startDate")
+        private String startDate;
+        @JsonProperty("endDate")
+        private String endDate;
+        @JsonProperty("calculateInd")
+        private String calculateInd;
+        @JsonProperty("currency")
+        private String currency;
+        @JsonProperty("unitValue")
+        private String unitValue;
+        @JsonProperty("unitInsured")
+        private String unitInsured;
+        @JsonProperty("unitPremium")
+        private String unitPremium;
+        @JsonProperty("quantity")
+        private String quantity;
+        @JsonProperty("unit")
+        private String unit;
+        @JsonProperty("sumValue")
+        private String sumValue;
+        @JsonProperty("sumInsured")
+        private String sumInsured;
+        @JsonProperty("ratePeriod")
+        private String ratePeriod;
+        @JsonProperty("rate")
+        private String rate;
+        @JsonProperty("shortRateFlag")
+        private String shortRateFlag;
+        @JsonProperty("shortRateNumerator")
+        private String shortRateNumerator;
+        @JsonProperty("shortRateDenominator")
+        private String shortRateDenominator;
+        @JsonProperty("shortRate")
+        private Double shortRate;
+        @JsonProperty("basePremium")
+        private String basePremium;
+        @JsonProperty("pureBenchPremium")
+        private String pureBenchPremium;
+        @JsonProperty("basePureBenchPremium")
+        private String basePureBenchPremium;
+        @JsonProperty("benchmarkPremium")
+        private String benchmarkPremium;
+        @JsonProperty("noDebtPremium")
+        private String noDebtPremium;
+        @JsonProperty("loading")
+        private String loading;
+        @JsonProperty("grossPremium")
+        private String grossPremium;
+        @JsonProperty("discount")
+        private Double discount;
+        @JsonProperty("adjustRate")
+        private String adjustRate;
+        @JsonProperty("netPremium")
+        private String netPremium;
+        @JsonProperty("deductibleRate")
+        private String deductibleRate;
+        @JsonProperty("deductible")
+        private String deductible;
+        @JsonProperty("premiumFormula")
+        private String premiumFormula;
+        @JsonProperty("yearPremium")
+        private String yearPremium;
+        @JsonProperty("surrenderInd")
+        private String surrenderInd;
+        @JsonProperty("firstLossRate")
+        private String firstLossRate;
+        @JsonProperty("kindInd")
+        private String kindInd;
+        @JsonProperty("suitProduct")
+        private String suitProduct;
+        @JsonProperty("assistKindFlag")
+        private String assistKindFlag;
+        @JsonProperty("remark")
+        private String remark;
+        @JsonProperty("flag")
+        private String flag;
+        @JsonProperty("uwCount")
+        private String uwCount;
+        @JsonProperty("uwPremium")
+        private String uwPremium;
+        @JsonProperty("originUWPremium")
+        private String originUWPremium;
+        @JsonProperty("originGrossPremium")
+        private String originGrossPremium;
+        @JsonProperty("relatedInd")
+        private String relatedInd;
+        @JsonProperty("endorAdjustRate")
+        private String endorAdjustRate;
+        @JsonProperty("pubInsuredInd")
+        private String pubInsuredInd;
+        @JsonProperty("specialInd")
+        private String specialInd;
+        @JsonProperty("subProposalNo")
+        private String subProposalNo;
+        @JsonProperty("projectCode")
+        private String projectCode;
+        @JsonProperty("itemDetailNo")
+        private String itemDetailNo;
+        @JsonProperty("kindCode")
+        private String kindCode;
+        @JsonProperty("mustInsureInd")
+        private String mustInsureInd;
+        @JsonProperty("premiumType")
+        private String premiumType;
+        @JsonProperty("valueType")
+        private String valueType;
+        @JsonProperty("franchise")
+        private String franchise;
+        @JsonProperty("reSpecialInd")
+        private String reSpecialInd;
+        @JsonProperty("additionalRate")
+        private String additionalRate;
+        @JsonProperty("allBrokenRate")
+        private String allBrokenRate;
+        @JsonProperty("addTax")
+        private String addTax;
+        @JsonProperty("addTaxRate")
+        private String addTaxRate;
+        @JsonProperty("priceTaxTotal")
+        private String priceTaxTotal;
+        @JsonProperty("orgPriceTaxTotal")
+        private String orgPriceTaxTotal;
+        @JsonProperty("serviceTimes")
+        private String serviceTimes;
+        @JsonProperty("relatedFlagFG2020")
+        private String relatedFlagFG2020;
+        @JsonProperty("scUpdateTime")
+        private String scUpdateTime;
+        @JsonProperty("useFormula")
+        private String useFormula;
+        @JsonProperty("clauseCode")
+        private String clauseCode;
+        @JsonProperty("easyKindName")
+        private String easyKindName;
+        @JsonProperty("shareModel")
+        private String shareModel;
+        @JsonProperty("calcMedicalModel")
+        private String calcMedicalModel;
+        @JsonProperty("isExist")
+        private String isExist;
+        @JsonProperty("riskShareModelSwitch")
+        private String riskShareModelSwitch;
+        @JsonProperty("deductibleList")
+        private String deductibleList;
+        @JsonProperty("shareList")
+        private String shareList;
+        @JsonProperty("endorPolicyNo")
+        private String endorPolicyNo;
+    }
+
+}

+ 10 - 10
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerPremiumCalculateData.java

@@ -430,7 +430,7 @@ public class TaiPingCrawlerPremiumCalculateData {
         @JsonProperty("calculateMode")
         private String calculateMode;
         @JsonProperty("carFindDate")
-        private Object carFindDate;
+        private String carFindDate;
         @JsonProperty("certiType")
         private String certiType;
         @JsonProperty("cityCode")
@@ -516,7 +516,7 @@ public class TaiPingCrawlerPremiumCalculateData {
         @JsonProperty("previousPay")
         private Double previousPay;
         @JsonProperty("previousPayYears")
-        private Object previousPayYears;
+        private String previousPayYears;
         @JsonProperty("proposalNo")
         private String proposalNo;
         @JsonProperty("provinceCode")
@@ -524,27 +524,27 @@ public class TaiPingCrawlerPremiumCalculateData {
         @JsonProperty("provinceName")
         private String provinceName;
         @JsonProperty("refundTaxDue")
-        private Object refundTaxDue;
+        private String refundTaxDue;
         @JsonProperty("regionCode")
-        private Object regionCode;
+        private String regionCode;
         @JsonProperty("relifReason")
         private String relifReason;
         @JsonProperty("responseMessageNo")
-        private Object responseMessageNo;
+        private String responseMessageNo;
         @JsonProperty("responseCode")
-        private Object responseCode;
+        private String responseCode;
         @JsonProperty("reMoreFillMsg")
-        private Object reMoreFillMsg;
+        private String reMoreFillMsg;
         @JsonProperty("seatCount")
-        private Object seatCount;
+        private String seatCount;
         @JsonProperty("sourceTaxBusinessNo")
-        private Object sourceTaxBusinessNo;
+        private String sourceTaxBusinessNo;
         @JsonProperty("subProposalNo")
         private String subProposalNo;
         @JsonProperty("sumPayTax")
         private Double sumPayTax;
         @JsonProperty("sumRefundTax")
-        private Object sumRefundTax;
+        private String sumRefundTax;
         @JsonProperty("taxBusinessNo")
         private Object taxBusinessNo;
         @JsonProperty("taxCompancyCode")

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 11 - 1
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/service/impl/TaipingCrawlerRequestImpl.java


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů