Browse Source

ins_area_company 拆表

785834757 2 years ago
parent
commit
644b9c2407
42 changed files with 2123 additions and 17 deletions
  1. 11 1
      src/main/java/com/ydtech/modules/admin/model/po/SysCarInfo.java
  2. 16 0
      src/main/java/com/ydtech/modules/admin/model/po/SysCarUserInfo.java
  3. 2 0
      src/main/java/com/ydtech/modules/admin/service/SysCarInfoService.java
  4. 6 0
      src/main/java/com/ydtech/modules/admin/service/SysCarUserInfoService.java
  5. 18 2
      src/main/java/com/ydtech/modules/admin/service/impl/SysCarInfoServiceImpl.java
  6. 11 0
      src/main/java/com/ydtech/modules/admin/service/impl/SysCarUserInfoServiceImpl.java
  7. 2 1
      src/main/java/com/ydtech/modules/ins/model/yc/audit/Audit.java
  8. 8 0
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyCarInfoMapper.java
  9. 8 0
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyCarUserInfoMapper.java
  10. 9 0
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyKindMapper.java
  11. 9 0
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyRiskMapper.java
  12. 9 0
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyTaxArrearsMapper.java
  13. 23 0
      src/main/java/com/ydtech/modules/order/dao/InsOrdersOldMapper.java
  14. 25 3
      src/main/java/com/ydtech/modules/order/entity/InsAreaCompany.java
  15. 287 0
      src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyCarInfo.java
  16. 68 0
      src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyCarUserInfo.java
  17. 100 0
      src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyKind.java
  18. 118 0
      src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyRisk.java
  19. 55 0
      src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyTaxArrears.java
  20. 258 0
      src/main/java/com/ydtech/modules/order/entity/InsOrdersOld.java
  21. 15 0
      src/main/java/com/ydtech/modules/order/service/InsAreaCompanyCarInfoService.java
  22. 16 0
      src/main/java/com/ydtech/modules/order/service/InsAreaCompanyCarUserInfoService.java
  23. 16 0
      src/main/java/com/ydtech/modules/order/service/InsAreaCompanyKindService.java
  24. 16 0
      src/main/java/com/ydtech/modules/order/service/InsAreaCompanyRiskService.java
  25. 16 0
      src/main/java/com/ydtech/modules/order/service/InsAreaCompanyTaxArrearsService.java
  26. 27 0
      src/main/java/com/ydtech/modules/order/service/InsOrdersOldService.java
  27. 11 3
      src/main/java/com/ydtech/modules/order/service/impl/DaJiaOrderServiceImpl.java
  28. 8 4
      src/main/java/com/ydtech/modules/order/service/impl/HuaTaiOrderApiServiceImpl.java
  29. 22 0
      src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyCarInfoServiceImpl.java
  30. 20 0
      src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyCarUserInfoServiceImpl.java
  31. 21 0
      src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyKindServiceImpl.java
  32. 21 0
      src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyRiskServiceImpl.java
  33. 50 3
      src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java
  34. 21 0
      src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyTaxArrearsServiceImpl.java
  35. 112 0
      src/main/java/com/ydtech/modules/order/service/impl/InsOrdersOldServiceImpl.java
  36. 188 0
      src/main/java/com/ydtech/modules/xxl/handler/SyncInsAreaCompany.java
  37. 18 0
      src/main/java/com/ydtech/modules/xxl/mapper/InsAreaCompanyOldMapper.java
  38. 374 0
      src/main/java/com/ydtech/modules/xxl/model/InsAreaCompanyOld.java
  39. 24 0
      src/main/java/com/ydtech/modules/xxl/model/vo/InsAreaCompanyVo.java
  40. 18 0
      src/main/java/com/ydtech/modules/xxl/service/InsAreaCompanyOldService.java
  41. 37 0
      src/main/java/com/ydtech/modules/xxl/service/impl/InsAreaCompanyOldServiceImpl.java
  42. 29 0
      src/main/resources/mapper/modules/xxl/InsAreaCompanyOldMapper.xml

+ 11 - 1
src/main/java/com/ydtech/modules/admin/model/po/SysCarInfo.java

@@ -3,10 +3,14 @@ package com.ydtech.modules.admin.model.po;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
+import com.ydtech.modules.order.entity.InsOrders;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 /**
 *@author: tz
@@ -39,7 +43,13 @@ public class SysCarInfo implements Serializable {
      * 转移标志
      */
     @TableField(value="transfer_flag")
-    private String transferFlag;
+    private boolean transferFlag;
+
+    /**
+     * 商业转移标志
+     */
+    @TableField(value="transfer_flag_bi")
+    private boolean transferFlagBi;
 
     /**
      * 车型

+ 16 - 0
src/main/java/com/ydtech/modules/admin/model/po/SysCarUserInfo.java

@@ -1,12 +1,20 @@
 package com.ydtech.modules.admin.model.po;
 
+import com.alibaba.excel.annotation.format.DateTimeFormat;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
+import com.ydtech.modules.order.entity.InsOrders;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.joda.time.DateTime;
+import org.joda.time.LocalDate;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
 *@author: tz
@@ -54,6 +62,14 @@ public class SysCarUserInfo implements Serializable {
     @TableField(value = "mobile")
     private String mobile;
 
+    //同车主
+    @TableField(exist = false)
+    private boolean Owner;
+
+    //同被保人
+    @TableField(exist = false)
+    private boolean insuranceHolder;
+
 //    //创建时间
 //    @TableField(value = "create_time")
 //    private Date createTime;

+ 2 - 0
src/main/java/com/ydtech/modules/admin/service/SysCarInfoService.java

@@ -14,6 +14,8 @@ public interface SysCarInfoService extends IService<SysCarInfo> {
      */
     boolean isExist(String idCard);
 
+    SysCarInfo getCarInfoByFrameNo(String frameNo);
+
 }
 
 

+ 6 - 0
src/main/java/com/ydtech/modules/admin/service/SysCarUserInfoService.java

@@ -14,6 +14,12 @@ public interface SysCarUserInfoService extends IService<SysCarUserInfo> {
      */
     boolean isExist(String idCard);
 
+    /**
+     * 根据身份证查找车主用户信息
+     * @param idCard
+     * @return
+     */
+    SysCarUserInfo getCarUserInfoByIdCard(String idCard);
 }
 
 

+ 18 - 2
src/main/java/com/ydtech/modules/admin/service/impl/SysCarInfoServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.admin.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.modules.admin.dao.SysCarInfoMapper;
 import com.ydtech.modules.admin.dao.SysCarUserInfoMapper;
@@ -19,12 +20,27 @@ public class SysCarInfoServiceImpl extends ServiceImpl<SysCarInfoMapper, SysCarI
 
     /**
      * 是否存在车主用户信息
-     * @param idCard 身份证号
+     * @param licenseNo 身份证号
      * @return
      */
-    public boolean isExist(String idCard){
+    public boolean isExist(String licenseNo){
+        LambdaQueryWrapper<SysCarInfo> eq = new LambdaQueryWrapper<SysCarInfo>().eq(SysCarInfo::getLicenseNo, licenseNo);
+        SysCarInfo sysCarInfo = baseMapper.selectOne(eq);
+        if(!Objects.isNull(sysCarInfo))
+            return true;
         return false;
     }
+
+    /**
+     * 根据车牌号查询车辆信息
+     * @param frameNo
+     * @return
+     */
+    @Override
+    public SysCarInfo getCarInfoByFrameNo(String frameNo) {
+        LambdaQueryWrapper<SysCarInfo> eq = new LambdaQueryWrapper<SysCarInfo>().eq(SysCarInfo::getFrameNo, frameNo);
+        return baseMapper.selectOne(eq);
+    }
 }
 
 

+ 11 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysCarUserInfoServiceImpl.java

@@ -27,6 +27,17 @@ public class SysCarUserInfoServiceImpl extends ServiceImpl<SysCarUserInfoMapper,
                 .eq(SysCarUserInfo::getIdentifyNumber, idCard));
         return !Objects.isNull(sysCarUserInfo);
     }
+
+    /**
+     * 根据身份证查找车主用户信息
+     * @param idCard
+     * @return
+     */
+    @Override
+    public SysCarUserInfo getCarUserInfoByIdCard(String idCard) {
+        return baseMapper.selectOne(new LambdaQueryWrapper<SysCarUserInfo>()
+                .eq(SysCarUserInfo::getIdentifyNumber, idCard));
+    }
 }
 
 

+ 2 - 1
src/main/java/com/ydtech/modules/ins/model/yc/audit/Audit.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.ins.model.yc.audit;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
+import com.ydtech.modules.admin.model.po.SysCarUserInfo;
 import com.ydtech.modules.ins.model.yc.AuthorityDataXml;
 import com.ydtech.modules.ins.model.yc.YcBuildData;
 import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
@@ -218,7 +219,7 @@ public class Audit {
      * @author: lig
      * @date: 2023-02-15
      */
-    public static Audit buildAuditParam(CustomerInfoVo ownerInfo, CustomerInfoVo insureInfo, CustomerInfoVo applyInfo, YcConfigureParameters ycConfigureParameters, InsAreaCompany iac) {
+    public static Audit buildAuditParam(SysCarUserInfo ownerInfo, SysCarUserInfo insureInfo, SysCarUserInfo applyInfo, YcConfigureParameters ycConfigureParameters, InsAreaCompany iac) {
 //    public static Audit buildAuditParam(InsOrders order, AuthorityDataXml authorityDataXml,InsAreaCompany iac) {
 
 //        //车主

+ 8 - 0
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyCarInfoMapper.java

@@ -0,0 +1,8 @@
+package com.ydtech.modules.order.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.order.entity.InsAreaCompanyCarInfo;
+
+public interface InsAreaCompanyCarInfoMapper extends BaseMapper<InsAreaCompanyCarInfo> {
+
+}

+ 8 - 0
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyCarUserInfoMapper.java

@@ -0,0 +1,8 @@
+package com.ydtech.modules.order.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.order.entity.InsAreaCompanyCarUserInfo;
+
+public interface InsAreaCompanyCarUserInfoMapper extends BaseMapper<InsAreaCompanyCarUserInfo> {
+
+}

+ 9 - 0
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyKindMapper.java

@@ -0,0 +1,9 @@
+package com.ydtech.modules.order.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.order.entity.InsAreaCompanyCarUserInfo;
+import com.ydtech.modules.order.entity.InsAreaCompanyKind;
+
+public interface InsAreaCompanyKindMapper extends BaseMapper<InsAreaCompanyKind> {
+
+}

+ 9 - 0
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyRiskMapper.java

@@ -0,0 +1,9 @@
+package com.ydtech.modules.order.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.order.entity.InsAreaCompanyCarUserInfo;
+import com.ydtech.modules.order.entity.InsAreaCompanyRisk;
+
+public interface InsAreaCompanyRiskMapper extends BaseMapper<InsAreaCompanyRisk> {
+
+}

+ 9 - 0
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyTaxArrearsMapper.java

@@ -0,0 +1,9 @@
+package com.ydtech.modules.order.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.order.entity.InsAreaCompanyRisk;
+import com.ydtech.modules.order.entity.InsAreaCompanyTaxArrears;
+
+public interface InsAreaCompanyTaxArrearsMapper extends BaseMapper<InsAreaCompanyTaxArrears> {
+
+}

+ 23 - 0
src/main/java/com/ydtech/modules/order/dao/InsOrdersOldMapper.java

@@ -0,0 +1,23 @@
+package com.ydtech.modules.order.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.modules.ins.model.InsOrdersExcel;
+import com.ydtech.modules.ins.model.InsOrdersExcelVo;
+import com.ydtech.modules.order.entity.InsOrders;
+import com.ydtech.modules.order.entity.InsOrdersOld;
+import com.ydtech.modules.order.entity.vo.*;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author Administrator
+ * @description 针对表【ins_orders(保险订单表)】的数据库操作Mapper
+ * @createDate 2023-01-31 15:44:29
+ * @Entity generator.domain.InsOrders
+ */
+public interface InsOrdersOldMapper extends BaseMapper<InsOrdersOld> {
+
+
+}

+ 25 - 3
src/main/java/com/ydtech/modules/order/entity/InsAreaCompany.java

@@ -9,16 +9,22 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
+import com.ydtech.modules.admin.model.po.SysCarInfo;
+import com.ydtech.modules.ins.model.vo.CarInfoVo;
 import com.ydtech.modules.ins.model.vo.QuoteRespVo;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
 import com.ydtech.utils.idgen.IdGenerate;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import org.springframework.beans.BeanUtils;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
 
 /**
  * 报价渠道
@@ -67,6 +73,19 @@ public class InsAreaCompany implements Serializable {
      */
     @TableField(value = "inscompany")
     private String inscompany;
+
+    @TableField(value = "car_info_id")
+    private String carInfoId;
+
+    @TableField(value = "owner_id")
+    private String ownerId;
+
+    @TableField(value = "apply_id")
+    private String applyId;
+
+    @TableField(value = "insure_id")
+    private String insureId;
+
     /**
      * 请求报文
      */
@@ -117,13 +136,13 @@ public class InsAreaCompany implements Serializable {
     /**
      * 交强险商业险
      */
-    @TableField(value = "riskinfo", typeHandler = FastjsonTypeHandler.class)
+    @TableField(exist = false, typeHandler = FastjsonTypeHandler.class)
     private JSONArray riskinfo;
 
     /**
      * 商业险信息
      */
-    @TableField(value = "kindinfo", typeHandler = FastjsonTypeHandler.class)
+    @TableField(exist = false, typeHandler = FastjsonTypeHandler.class)
     private JSONArray kindinfo;
 
     /**
@@ -249,7 +268,7 @@ public class InsAreaCompany implements Serializable {
     /**
      * 欠税
      */
-    @TableField(value = "tax_arrears", typeHandler = FastjsonTypeHandler.class)
+    @TableField(exist = false, typeHandler = FastjsonTypeHandler.class)
     private JSONArray taxArrears;
 
     /**
@@ -332,6 +351,9 @@ public class InsAreaCompany implements Serializable {
     @TableField(exist = false)
     private String userId;
 
+    @TableField(exist = false)
+    private SysCarInfo carinfo;
+
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 

+ 287 - 0
src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyCarInfo.java

@@ -0,0 +1,287 @@
+package com.ydtech.modules.order.entity;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
+import com.ydtech.modules.ins.model.vo.QuoteRespVo;
+import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
+import com.ydtech.utils.idgen.IdGenerate;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 子订单报价车辆信息
+ *
+ * @TableName ins_area_company
+ */
+@TableName(value = "ins_area_company_car_info", autoResultMap = true)
+@Data
+@ApiModel(value = "子订单车辆信息")
+@NoArgsConstructor
+public class InsAreaCompanyCarInfo implements Serializable {
+
+    /**
+     * 主键
+     */
+    @TableField(value="id")
+    private String id;
+
+    /**
+     * 车架号
+     */
+    @TableField(value="frame_no")
+    private String frameNo;
+
+    /**
+     * 车牌号
+     */
+    @TableField(value="license_no")
+    private String licenseNo;
+
+    /**
+     * 转移标志
+     */
+    @TableField(value="transfer_flag")
+    private boolean transferFlag;
+
+    /**
+     * 商业转移标志
+     */
+    @TableField(value="transfer_flag_bi")
+    private boolean transferFlagBi;
+
+    /**
+     * 车型
+     */
+    @TableField(value="car_type")
+    private String cartype;
+
+    /**
+     * 工厂ID
+     */
+    @TableField(value="factory_id")
+    private String factoryId;
+
+    /**
+     * 车型名称
+     */
+    @TableField(value="model_cname")
+    private String modelcname;
+
+    /**
+     * 购买价格
+     */
+    @TableField(value="purchase_price")
+    private String purchasePrice;
+
+    /**
+     * 转移日期
+     */
+    @TableField(value="transfer_date")
+    private String transferDate;
+
+    /**
+     * 车辆识别号
+     */
+    @TableField(value="vin_no")
+    private String vinNo;
+
+    /**
+     * 无牌标志
+     */
+    @TableField(value="no_license_flag")
+    private String noLicenseFlag;
+
+    /**
+     * 发动机描述
+     */
+    @TableField(value="engine_desc")
+    private String enginedesc;
+
+    /**
+     * 动力类型
+     */
+    @TableField(value="power_type")
+    private String powerType;
+
+    /**
+     * 动力比例
+     */
+    @TableField(value="power_scale")
+    private String powerScale;
+
+    /**
+     * 行业车型编码
+     */
+    @TableField(value="ci_model_code")
+    private String ciModelCode;
+
+    /**
+     * 排放比例
+     */
+    @TableField(value="exhaust_scale")
+    private String exhaustScale;
+
+    /**
+     * 车型代码
+     */
+    @TableField(value="model_code")
+    private String modelCode;
+
+    /**
+     * 整备质量
+     */
+    @TableField(value="complete_kerb_mass")
+    private String completeKerbMass;
+
+    /**
+     * 车系名称
+     */
+    @TableField(value="family_name")
+    private String familyName;
+
+    /**
+     * 贷款状态
+     */
+    @TableField(value="loan_status")
+    private String loanStatus;
+
+    /**
+     * 属性
+     */
+    @TableField(value="property")
+    private String property;
+
+    /**
+     * 车辆年份
+     */
+    @TableField(value="car_year")
+    private String caryear;
+
+    /**
+     * 发行日期
+     */
+    @TableField(value="issue_date")
+    private String issueDate;
+
+    /**
+     * 注册日期
+     */
+    @TableField(value="register_date")
+    private String registerDate;
+
+    /**
+     * 发动机号
+     */
+    @TableField(value="engine_no")
+    private String engineNo;
+
+    /**
+     * 工厂
+     */
+    @TableField(value="factory")
+    private String factory;
+
+    /**
+     * 品牌名称
+     */
+    @TableField(value="brand_name")
+    private String brandName;
+
+    /**
+     * 车辆品牌
+     */
+    @TableField(value="car_brand")
+    private String carBrand;
+
+    /**
+     * 二手车标志
+     */
+    @TableField(value="used_car")
+    private String usedCar;
+
+    /**
+     * 牌照类型代码
+     */
+    @TableField(value="license_type_code")
+    private String licenseTypeCode;
+
+    /**
+     * 车辆用途
+     */
+    @TableField(value="vehicle_use")
+    private String vehicleUse;
+
+    /**
+     * 车辆性质
+     */
+    @TableField(value="car_nature")
+    private String carnature;
+
+    /**
+     * 座位数量
+     */
+    @TableField(value="seat_count")
+    private String seatCount;
+
+    /**
+     * 能源类型
+     */
+    @TableField(value="energy_type")
+    private String energyType;
+
+    /**
+     * 限制载重
+     */
+    @TableField(value="limit_load")
+    private String limitLoad;
+
+    /**
+     * 车辆类别
+     */
+    @TableField(value="vehicle_class")
+    private String vehicleClass;
+
+    /**
+     * CI模型类别
+     */
+    @TableField(value="cimodel_class")
+    private String cimodelclass;
+
+    /**
+     * 过保标志
+     */
+    @TableField(value="out_of_insurance")
+    private String outOfInsurance;
+
+    /**
+     * 车辆重量
+     */
+    @TableField(value="vehicle_weight")
+    private String vehicleWeight;
+
+    /**
+     * 车辆种类
+     */
+    @TableField(value="ci_car_name")
+    private String ciCarName;
+
+    /**
+     * 动力类型代码
+     */
+    @TableField(value="power_type_code")
+    private String powerTypeCode;
+
+
+}

+ 68 - 0
src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyCarUserInfo.java

@@ -0,0 +1,68 @@
+package com.ydtech.modules.order.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 子订单报价车辆信息
+ *
+ * @TableName ins_area_company
+ */
+@TableName(value = "ins_area_company_car_user_info", autoResultMap = true)
+@Data
+@ApiModel(value = "子订单车辆人员信息")
+@NoArgsConstructor
+public class InsAreaCompanyCarUserInfo implements Serializable {
+
+
+    //id
+    @TableId(value = "id")
+    private String id;
+
+    //姓名
+    @TableField(value = "name")
+    private String name;
+
+    //身份证号
+    @TableField(value = "identify_number")
+    private String identifyNumber;
+
+    //年龄
+    @TableField(value = "age")
+    private String age;
+
+    //性别
+    @TableField(value = "gender")
+    private String gender;
+
+    //地址
+    @TableField(value = "addr")
+    private String addr;
+
+    //证件有效开始时间
+    @TableField(value = "identify_valid_date")
+    private String identifyValidDate;
+
+    //证件有效结束时间
+    @TableField(value = "identify_valid_end_date")
+    private String identifyValidEndDate;
+
+    //手机号码
+    @TableField(value = "mobile")
+    private String mobile;
+
+    //同车主
+    @TableField(exist = false)
+    private boolean Owner;
+
+    //同被保人
+    @TableField(exist = false)
+    private boolean insuranceHolder;
+
+}

+ 100 - 0
src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyKind.java

@@ -0,0 +1,100 @@
+package com.ydtech.modules.order.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ydtech.modules.ins.model.vo.KindInfoVo;
+import com.ydtech.modules.ins.model.vo.RiskInfoVo;
+import com.ydtech.modules.order.entity.po.InsOrdersKind;
+import com.ydtech.modules.order.entity.po.InsOrdersRisk;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 子订单报价车辆信息
+ *
+ * @TableName ins_area_company
+ */
+@TableName(value = "ins_area_company_kind", autoResultMap = true)
+@Data
+@ApiModel(value = "子订单车辆人员信息")
+public class InsAreaCompanyKind implements Serializable {
+    /**
+     * id
+     */
+    @TableId(value = "id")
+    private String id;
+
+    /**
+     * 订单号
+     */
+    @TableField(value = "company_id")
+    private String companyId;
+
+    /**
+     * 保额
+     */
+    @TableField(value = "amount")
+    private String amount;
+
+    /**
+     * 单位保额
+     */
+    @TableField(value = "unit_amount")
+    private String unitAmount;
+
+    /**
+     * 险种编码
+     */
+    @TableField(value = "kind_code")
+    private String kindCode;
+
+    /**
+     * 险种名称
+     */
+    @TableField(value = "kind_name")
+    private String kindName;
+
+    @TableField(value = "service_times")
+    private String serviceTimes;
+
+    /**
+     * 附加绝对免赔率
+     */
+    @TableField(value = "deductible_rate")
+    private String deductibleRate;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    public InsAreaCompanyKind(){
+
+    }
+
+    public InsAreaCompanyKind(KindInfoVo kindInfoVo, String orderNo) {
+        this.companyId = orderNo;
+        this.amount = String.valueOf(kindInfoVo.getAmount());
+        this.unitAmount = String.valueOf(kindInfoVo.getUnitAmount());
+        this.kindCode = kindInfoVo.getKindCode();
+        this.kindName = kindInfoVo.getKindName();
+        this.deductibleRate = kindInfoVo.getDeductibleRate();
+    }
+
+    public static List<InsOrdersKind> buildKindList(String orderNo, List<KindInfoVo> risk) {
+        return risk.stream().map(x -> new InsOrdersKind(x, orderNo)).collect(Collectors.toList());
+    }
+
+    public KindInfoVo toKindInfoVo() {
+        KindInfoVo kindInfoVo = new KindInfoVo();
+        kindInfoVo.setAmount(Double.parseDouble(this.amount));
+        kindInfoVo.setUnitAmount(Double.parseDouble(this.unitAmount));
+        kindInfoVo.setKindCode(this.kindCode);
+        kindInfoVo.setKindName(this.kindName);
+        kindInfoVo.setDeductibleRate(this.deductibleRate);
+        return kindInfoVo;
+    }
+}

+ 118 - 0
src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyRisk.java

@@ -0,0 +1,118 @@
+package com.ydtech.modules.order.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ydtech.modules.ins.model.vo.RiskInfoVo;
+import com.ydtech.modules.order.entity.po.InsOrdersRisk;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 子订单报价车辆信息
+ *
+ * @TableName ins_area_company
+ */
+@TableName(value = "ins_area_company_risk", autoResultMap = true)
+@Data
+@ApiModel(value = "子订单车辆人员信息")
+public class InsAreaCompanyRisk implements Serializable {
+
+    /**
+     * id
+     */
+    @TableId(value = "id")
+    private String id;
+
+    /**
+     * 订单号
+     */
+    @TableField(value = "company_id")
+    private String companyId;
+
+    /**
+     * 保额
+     */
+    @TableField(value = "amount")
+    private String amount;
+
+    @TableField(value = "premium")
+    private String premium;
+
+    @TableField(value = "risk_name")
+    private String riskName;
+
+    @TableField(value = "no_tax_premium")
+    private String noTaxPremium;
+
+    @TableField(value = "commission_amount")
+    private String commissionAmount;
+
+    /**
+     * 保费
+     */
+    @TableField(value = "commission_rate")
+    private String CommissionRate;
+
+    /**
+     * 起保日期
+     */
+    @TableField(value = "start_date")
+    private String startDate;
+
+    /**
+     * 终保日期
+     */
+    @TableField(value = "end_date")
+    private String endDate;
+
+    /**
+     * 险种编号
+     */
+    @TableField(value = "risk_code")
+    private String riskCode;
+
+    /**
+     * 是否即使起保 1:是即使  空为否
+     */
+//    @TableField(value = "instant_flag")
+//    private String instantFlag;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    public InsAreaCompanyRisk(){
+
+    }
+
+    public InsAreaCompanyRisk(RiskInfoVo riskInfoVo, String orderNo) {
+        this.companyId = orderNo;
+        this.amount = String.valueOf(riskInfoVo.getAmount());
+        this.premium = String.valueOf(riskInfoVo.getPremium());
+        this.startDate = riskInfoVo.getStartDate();
+        this.endDate = riskInfoVo.getEndDate();
+        this.riskCode = riskInfoVo.getRiskCode();
+//        this.instantFlag = riskInfoVo.getInstantFlag();
+    }
+
+    public static List<InsOrdersRisk> buildRiskList(String orderNo, List<RiskInfoVo> risk) {
+        return risk.stream().map(x -> new InsOrdersRisk(x, orderNo)).collect(Collectors.toList());
+    }
+
+    public RiskInfoVo toRiskInfoVo() {
+        RiskInfoVo riskInfoVo = new RiskInfoVo();
+        riskInfoVo.setAmount(Double.parseDouble(this.amount));
+        riskInfoVo.setPremium(Double.parseDouble(this.premium));
+        riskInfoVo.setStartDate(this.startDate);
+        riskInfoVo.setEndDate(this.endDate);
+        riskInfoVo.setRiskCode(this.riskCode);
+//        riskInfoVo.setInstantFlag(this.instantFlag);
+        return riskInfoVo;
+    }
+
+}

+ 55 - 0
src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyTaxArrears.java

@@ -0,0 +1,55 @@
+package com.ydtech.modules.order.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ydtech.modules.ins.model.vo.RiskInfoVo;
+import com.ydtech.modules.order.entity.po.InsOrdersRisk;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 子订单报价车辆信息
+ *
+ * @TableName ins_area_company
+ */
+@TableName(value = "ins_area_company_tax_arrears", autoResultMap = true)
+@Data
+@ApiModel(value = "子订单车船税信息")
+public class InsAreaCompanyTaxArrears implements Serializable {
+
+    /**
+     * id
+     */
+    @TableId(value = "id")
+    private String id;
+
+    /**
+     * 订单号
+     */
+    @TableField(value = "company_id")
+    private String companyId;
+
+    /**
+     * 滞纳金
+     */
+    @TableField(value = "late_fee")
+    private String lateFee;
+
+    /**
+     * 车船税
+     */
+    @TableField(value = "tax_default")
+    private String taxDefault;
+
+    /**
+     * 时间
+     */
+    @TableField(value = "years")
+    private String years;
+
+}

+ 258 - 0
src/main/java/com/ydtech/modules/order/entity/InsOrdersOld.java

@@ -0,0 +1,258 @@
+package com.ydtech.modules.order.entity;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ydtech.modules.admin.model.po.SysCarInfo;
+import com.ydtech.modules.admin.model.po.SysCarUserInfo;
+import com.ydtech.modules.order.entity.bo.InsOrdersBo;
+import com.ydtech.modules.order.entity.po.InsOrdersKind;
+import com.ydtech.modules.order.entity.po.InsOrdersRisk;
+import lombok.*;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 保险订单表 拆表用于数据接收
+ *
+ * @TableName ins_orders
+ */
+@EqualsAndHashCode
+@ToString
+@TableName(value = "ins_orders_old", autoResultMap = true)
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class InsOrdersOld implements Serializable {
+
+    /**
+     * 订单号
+     */
+    @TableId(value = "orderno", type = IdType.AUTO)
+    private String orderno;
+
+    /**
+     * 报价单号
+     */
+    @TableField(value = "quoteno")
+    private String quoteno;
+
+    /**
+     * 承保 保险公司编号
+     */
+    @TableField(value = "company_id")
+    private String companyId;
+    /**
+     * 承保 保险名称
+     */
+    @TableField(value = "ins_company")
+    private String insCompany;
+
+    /**
+     * 报价状态
+     */
+    @TableField(value = "orderstatus")
+    private String orderstatus;
+
+    /**
+     * 用户id
+     */
+    @TableField(value = "userid")
+    private String userid;
+
+    /**
+     * 代客录单时操作员ID
+     */
+    @TableField(value = "operatorid")
+    private String operatorid;
+
+    /**
+     * 用户名称
+     */
+    @TableField(value = "username")
+    private String username;
+
+    /**
+     * 代理团队id
+     */
+    @TableField(value = "deptid")
+    private String deptid;
+
+    /**
+     * 代理团队名称
+     */
+    @TableField(value = "deptname")
+    private String deptname;
+
+    /**
+     * 协议id
+     */
+    @TableField(value = "agreeid")
+    private String agreeid;
+
+    /**
+     * 产品id
+     */
+    @TableField(value = "productid")
+    private String productid;
+
+    /**
+     * 产品名称
+     */
+    @TableField(value = "product")
+    private String product;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "createtime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createtime;
+
+    /**
+     * 车架号 VIN码
+     */
+    @TableField(value = "frameno")
+    private String frameno;
+
+    /**
+     * 车牌号
+     */
+    @TableField(value = "licenseno")
+    private String licenseno;
+
+    /**
+     * 投保人姓名
+     */
+    @TableField(value = "insuredname")
+    private String insuredname;
+
+    /**
+     * 交强险开始时间
+     */
+    @TableField(value = "jqstartdate")
+    private String jqstartdate;
+
+    /**
+     * 交强险结束时间
+     */
+    @TableField(value = "jqenddate")
+    private String jqenddate;
+
+    /**
+     * 商业险开始时间
+     */
+    @TableField(value = "systartdate")
+    private String systartdate;
+
+    /**
+     * 商业险结束时间
+     */
+    @TableField(value = "syenddate")
+    private String syenddate;
+
+    /**
+     * 车主id
+     */
+//    @TableField(value = "owner_id")
+////    @TableField(exist = false)
+//    private String ownerId;
+//
+//    /**
+//     *投保人 id
+//     */
+//    @TableField(value = "apply_id")
+////    @TableField(exist = false)
+//    private String applyId;
+//
+//    /**
+//     * 被保人id
+//     */
+//    @TableField(value = "insure_id")
+////    @TableField(exist = false)
+//    private String insureId;
+
+    @TableField(value = "vehicle_and_vessel_tax", typeHandler = FastjsonTypeHandler.class)
+    private JSONObject vehicleAndVesselTax;
+
+    /**
+     * 车辆信息id
+     */
+//    @TableField(value = "car_info_id")
+////    @TableField(exist = false)
+//    private String carInfoId;
+
+//    @TableField(exist = false)
+//    private SysCarInfo carinfo;
+//
+//    @TableField(exist = false)
+//    private SysCarUserInfo applyinfo;
+//
+//    @TableField(exist = false)
+//    private SysCarUserInfo ownerinfo;
+//
+//    @TableField(exist = false)
+//    private SysCarUserInfo insureinfo;
+//
+//    @TableField(exist = false)
+//    private List<InsOrdersRisk> risk;
+//
+//    @TableField(exist = false)
+//    private List<InsOrdersKind> kind;
+
+    @TableField(value = "carinfo", typeHandler = FastjsonTypeHandler.class)
+    private JSONObject carinfo;
+    @TableField(value = "ownerinfo", typeHandler = FastjsonTypeHandler.class)
+    private JSONObject ownerinfo;
+    @TableField(value = "applyinfo", typeHandler = FastjsonTypeHandler.class)
+    private JSONObject applyinfo;
+    @TableField(value = "insureinfo", typeHandler = FastjsonTypeHandler.class)
+    private JSONObject insureinfo;
+    @TableField(value = "risk", typeHandler = FastjsonTypeHandler.class)
+    private JSONArray risk;
+    @TableField(value = "king", typeHandler = FastjsonTypeHandler.class)
+    private JSONArray king;
+
+
+
+
+
+    @TableField(exist = false)
+    private List<InsAreaCompany> insAreaCompanyList; //子级集合
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    public InsOrdersOld(InsOrdersBo insOrdersBo) {
+        this.orderno = insOrdersBo.getOrderno();
+        this.quoteno = insOrdersBo.getQuoteno();
+        this.companyId = insOrdersBo.getCompanyId();
+        this.insCompany = insOrdersBo.getInsCompany();
+        this.orderstatus = insOrdersBo.getOrderstatus();
+        this.userid = insOrdersBo.getUserid();
+        this.operatorid = insOrdersBo.getOperatorid();
+        this.username = insOrdersBo.getUsername();
+        this.deptid = insOrdersBo.getDeptid();
+        this.deptname = insOrdersBo.getDeptname();
+        this.agreeid = insOrdersBo.getAgreeid();
+        this.productid = insOrdersBo.getProductid();
+        this.product = insOrdersBo.getProduct();
+        this.createtime = insOrdersBo.getCreatetime();
+        this.frameno = insOrdersBo.getFrameno();
+        this.licenseno = insOrdersBo.getLicenseno();
+        this.insuredname = insOrdersBo.getInsuredname();
+        this.jqstartdate = insOrdersBo.getJqstartdate();
+        this.jqenddate = insOrdersBo.getJqenddate();
+        this.systartdate = insOrdersBo.getSystartdate();
+        this.syenddate = insOrdersBo.getSyenddate();
+    }
+
+
+}

+ 15 - 0
src/main/java/com/ydtech/modules/order/service/InsAreaCompanyCarInfoService.java

@@ -0,0 +1,15 @@
+package com.ydtech.modules.order.service;
+
+import com.ydtech.modules.order.entity.InsAreaCompanyCarInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 子订单车辆信息(InsAreaCompanyCarInfo)表服务接口
+ *
+ * @author tz
+ * @since 2024-03-15 11:19:18
+ */
+public interface InsAreaCompanyCarInfoService extends IService<InsAreaCompanyCarInfo> {
+
+
+}

+ 16 - 0
src/main/java/com/ydtech/modules/order/service/InsAreaCompanyCarUserInfoService.java

@@ -0,0 +1,16 @@
+package com.ydtech.modules.order.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.order.entity.InsAreaCompanyCarInfo;
+import com.ydtech.modules.order.entity.InsAreaCompanyCarUserInfo;
+
+/**
+ * 子订单车辆信息(InsAreaCompanyCarInfo)表服务接口
+ *
+ * @author tz
+ * @since 2024-03-15 11:19:18
+ */
+public interface InsAreaCompanyCarUserInfoService extends IService<InsAreaCompanyCarUserInfo> {
+
+
+}

+ 16 - 0
src/main/java/com/ydtech/modules/order/service/InsAreaCompanyKindService.java

@@ -0,0 +1,16 @@
+package com.ydtech.modules.order.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.order.entity.InsAreaCompanyKind;
+import com.ydtech.modules.order.entity.InsAreaCompanyRisk;
+
+/**
+ * 子订单车辆信息(InsAreaCompanyCarInfo)表服务接口
+ *
+ * @author tz
+ * @since 2024-03-15 11:19:18
+ */
+public interface InsAreaCompanyKindService extends IService<InsAreaCompanyKind> {
+
+
+}

+ 16 - 0
src/main/java/com/ydtech/modules/order/service/InsAreaCompanyRiskService.java

@@ -0,0 +1,16 @@
+package com.ydtech.modules.order.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.order.entity.InsAreaCompanyCarUserInfo;
+import com.ydtech.modules.order.entity.InsAreaCompanyRisk;
+
+/**
+ * 子订单车辆信息(InsAreaCompanyCarInfo)表服务接口
+ *
+ * @author tz
+ * @since 2024-03-15 11:19:18
+ */
+public interface InsAreaCompanyRiskService extends IService<InsAreaCompanyRisk> {
+
+
+}

+ 16 - 0
src/main/java/com/ydtech/modules/order/service/InsAreaCompanyTaxArrearsService.java

@@ -0,0 +1,16 @@
+package com.ydtech.modules.order.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.order.entity.InsAreaCompanyRisk;
+import com.ydtech.modules.order.entity.InsAreaCompanyTaxArrears;
+
+/**
+ * 子订单车辆信息(InsAreaCompanyCarInfo)表服务接口
+ *
+ * @author tz
+ * @since 2024-03-15 11:19:18
+ */
+public interface InsAreaCompanyTaxArrearsService extends IService<InsAreaCompanyTaxArrears> {
+
+
+}

+ 27 - 0
src/main/java/com/ydtech/modules/order/service/InsOrdersOldService.java

@@ -0,0 +1,27 @@
+package com.ydtech.modules.order.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.ins.model.InsOrdersExcelVo;
+import com.ydtech.modules.ins.model.ya.CarModelDTO;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.order.entity.InsAreaCompany;
+import com.ydtech.modules.order.entity.InsOrders;
+import com.ydtech.modules.order.entity.InsOrdersOld;
+import com.ydtech.modules.order.entity.bo.InsOrdersBo;
+import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
+import com.ydtech.modules.order.entity.vo.*;
+import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
+
+import java.util.List;
+
+/**
+ * @author Administrator
+ * @description 针对表【ins_orders(保险订单表)】的数据库操作Service
+ * @createDate 2023-01-31 15:44:29
+ */
+public interface InsOrdersOldService extends IService<InsOrdersOld> {
+
+
+
+}

+ 11 - 3
src/main/java/com/ydtech/modules/order/service/impl/DaJiaOrderServiceImpl.java

@@ -8,8 +8,11 @@ import com.ydtech.constants.enums.InsuranceRisk;
 import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.model.po.SysCarInfo;
+import com.ydtech.modules.admin.model.po.SysCarUserInfo;
 import com.ydtech.modules.admin.model.vo.PersonAreaVo;
 import com.ydtech.modules.admin.service.SysAreaService;
+import com.ydtech.modules.admin.service.SysCarInfoService;
 import com.ydtech.modules.fee.service.FeeRuleSchemeService;
 import com.ydtech.modules.ins.model.vo.*;
 import com.ydtech.modules.order.components.ConfigureParametersComponents;
@@ -24,6 +27,7 @@ import com.ydtech.modules.order.entity.api.dajia.constants.CProdNo;
 import com.ydtech.modules.order.entity.api.dajia.constants.Message;
 import com.ydtech.modules.order.entity.api.dajia.request.*;
 import com.ydtech.modules.order.entity.api.dajia.response.*;
+import com.ydtech.modules.order.entity.bo.InsOrdersBo;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
@@ -40,6 +44,7 @@ import com.ydtech.utils.CalculateUtils;
 import com.ydtech.utils.DateTimeUtil;
 import com.ydtech.utils.baidu.FileUtil;
 import com.ydtech.utils.idgen.IdGenerate;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -362,6 +367,8 @@ public class DaJiaOrderServiceImpl implements DaJiaOrderService {
         return odr1009Response;
     }
 
+    @Autowired
+    private SysCarInfoService sysCarInfoService;
 
     public HttpResult<QuoteRespVo> responseOrder(ODR1009Response odr1009Response, QuoteRespVo quoteRespVo,
                                                  PtlAgreementAttribution ptlAgreementAttribution, String orderId,
@@ -564,7 +571,8 @@ public class DaJiaOrderServiceImpl implements DaJiaOrderService {
     public HttpResult<Object> audit(String companyId) {
         try {
             InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
-            InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
+            InsOrdersBo insOrders = insOrdersService.queryInsOrders(insAreaCompany.getOrderno());
+//            InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
             //获取公司配置信息
             DaJiaConfigureParameters daJiaConfigureParameters = new DaJiaConfigureParameters();
             configureParametersComponents.toEntity(daJiaConfigureParameters, insAreaCompany.getAgreementId());
@@ -817,8 +825,8 @@ public class DaJiaOrderServiceImpl implements DaJiaOrderService {
             DaJiaConfigureParameters daJiaConfigureParameters = new DaJiaConfigureParameters();
             configureParametersComponents.toEntity(daJiaConfigureParameters, insAreaCompany.getAgreementId());
             // 被保人信息
-            JSONObject ownerInfo = insOrders.getInsureinfo();
-            CustomerInfoVo customerInfoVo = ownerInfo.toJavaObject(CustomerInfoVo.class);
+            SysCarUserInfo customerInfoVo = insOrders.getInsureinfo();
+//            CustomerInfoVo customerInfoVo = ownerInfo.toJavaObject(CustomerInfoVo.class);
             String identifyNo = customerInfoVo.getIdentifyNumber();
             //交强险
             if (InsuranceRisk.TRAFFIC.getCode().equals(policyPrintVo.getRiskCode())) {

+ 8 - 4
src/main/java/com/ydtech/modules/order/service/impl/HuaTaiOrderApiServiceImpl.java

@@ -6,6 +6,7 @@ import com.ydtech.constants.enums.InsuranceRisk;
 import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.model.po.SysCarUserInfo;
 import com.ydtech.modules.fee.service.FeeRuleSchemeService;
 import com.ydtech.modules.ins.model.vo.*;
 import com.ydtech.modules.ins.model.ya.YaQuoteInfoVo;
@@ -22,6 +23,7 @@ import com.ydtech.modules.order.entity.api.huatai.constants.HuaTaiRiskCode;
 import com.ydtech.modules.order.entity.api.huatai.constants.HuaTaiSubmitCommon;
 import com.ydtech.modules.order.entity.api.huatai.request.*;
 import com.ydtech.modules.order.entity.api.huatai.response.*;
+import com.ydtech.modules.order.entity.bo.InsOrdersBo;
 import com.ydtech.modules.order.entity.config.HuaTaiConfigureParameters;
 import com.ydtech.modules.order.entity.crawler.vo.CrawlerPolicyPrintVo;
 import com.ydtech.modules.order.entity.dto.InsUploadImagesDto;
@@ -161,7 +163,8 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         // 1. 协议id获取配置实体
         HuaTaiConfigureParameters huaTaiConfigureParameters = configureParametersComponents.toEntity(HuaTaiConfigureParameters.class,
                 insAreaCompany.getAgreementId());
-        InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
+//        InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
+        InsOrdersBo insOrders = insOrdersService.queryInsOrders(insAreaCompany.getOrderno());
         YaQuoteInfoVo yaQuoteInfoVo = new YaQuoteInfoVo(insOrders);
 
         // 2. 调用转投保接口
@@ -272,8 +275,8 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         InsAreaCompany insAreaCompany = insAreaCompanyService.getById(companyId);
         InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
 
-        CustomerInfoVo ownerinfo = insOrders.getOwnerinfo().toJavaObject(CustomerInfoVo.class);
-        CustomerInfoVo applyinfo = insOrders.getApplyinfo().toJavaObject(CustomerInfoVo.class);
+        SysCarUserInfo ownerinfo = insOrders.getOwnerinfo();
+        SysCarUserInfo applyinfo = insOrders.getApplyinfo();
 
         List<String> collect =
                 insAreaCompany.getRiskinfo().toJavaList(RiskInfoVo.class).stream().map(RiskInfoVo::getRiskCode).collect(Collectors.toList());
@@ -417,7 +420,8 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         // 1. 协议id获取配置实体
         HuaTaiConfigureParameters huaTaiConfigureParameters = configureParametersComponents.toEntity(HuaTaiConfigureParameters.class,
                 insAreaCompany.getAgreementId());
-        InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
+        InsOrdersBo insOrders = insOrdersService.queryInsOrders(insAreaCompany.getOrderno());
+//        InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
         String licensePlate = insOrders.getLicenseno();
         YaQuoteInfoVo yaQuoteInfoVo = new YaQuoteInfoVo(insOrders);
         String password = yaQuoteInfoVo.getInsuredPersonInfo().getIdentifyNumber();

+ 22 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyCarInfoServiceImpl.java

@@ -0,0 +1,22 @@
+package com.ydtech.modules.order.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.order.dao.InsAreaCompanyCarInfoMapper;
+import com.ydtech.modules.order.entity.InsAreaCompanyCarInfo;
+import com.ydtech.modules.order.service.InsAreaCompanyCarInfoService;
+import com.ydtech.modules.xxl.service.InsAreaCompanyOldService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 子订单车辆信息(InsAreaCompanyCarInfo)表服务实现类
+ *
+ * @author tz
+ * @since 2024-03-15 11:19:18
+ */
+@Service
+public class InsAreaCompanyCarInfoServiceImpl  extends ServiceImpl<InsAreaCompanyCarInfoMapper, InsAreaCompanyCarInfo> implements InsAreaCompanyCarInfoService {
+
+}

+ 20 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyCarUserInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.ydtech.modules.order.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.order.dao.InsAreaCompanyCarUserInfoMapper;
+import com.ydtech.modules.order.entity.InsAreaCompanyCarInfo;
+import com.ydtech.modules.order.entity.InsAreaCompanyCarUserInfo;
+import com.ydtech.modules.order.service.InsAreaCompanyCarInfoService;
+import com.ydtech.modules.order.service.InsAreaCompanyCarUserInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 子订单车辆信息(InsAreaCompanyCarInfo)表服务实现类
+ *
+ * @author tz
+ * @since 2024-03-15 11:19:18
+ */
+@Service
+public class InsAreaCompanyCarUserInfoServiceImpl extends ServiceImpl<InsAreaCompanyCarUserInfoMapper, InsAreaCompanyCarUserInfo> implements InsAreaCompanyCarUserInfoService {
+
+}

+ 21 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyKindServiceImpl.java

@@ -0,0 +1,21 @@
+package com.ydtech.modules.order.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.order.dao.InsAreaCompanyCarUserInfoMapper;
+import com.ydtech.modules.order.dao.InsAreaCompanyKindMapper;
+import com.ydtech.modules.order.entity.InsAreaCompanyCarUserInfo;
+import com.ydtech.modules.order.entity.InsAreaCompanyKind;
+import com.ydtech.modules.order.service.InsAreaCompanyCarUserInfoService;
+import com.ydtech.modules.order.service.InsAreaCompanyKindService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 子订单车辆信息(InsAreaCompanyCarInfo)表服务实现类
+ *
+ * @author tz
+ * @since 2024-03-15 11:19:18
+ */
+@Service
+public class InsAreaCompanyKindServiceImpl extends ServiceImpl<InsAreaCompanyKindMapper, InsAreaCompanyKind> implements InsAreaCompanyKindService {
+
+}

+ 21 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyRiskServiceImpl.java

@@ -0,0 +1,21 @@
+package com.ydtech.modules.order.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.order.dao.InsAreaCompanyCarUserInfoMapper;
+import com.ydtech.modules.order.dao.InsAreaCompanyRiskMapper;
+import com.ydtech.modules.order.entity.InsAreaCompanyCarUserInfo;
+import com.ydtech.modules.order.entity.InsAreaCompanyRisk;
+import com.ydtech.modules.order.service.InsAreaCompanyCarUserInfoService;
+import com.ydtech.modules.order.service.InsAreaCompanyRiskService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 子订单车辆信息(InsAreaCompanyCarInfo)表服务实现类
+ *
+ * @author tz
+ * @since 2024-03-15 11:19:18
+ */
+@Service
+public class InsAreaCompanyRiskServiceImpl extends ServiceImpl<InsAreaCompanyRiskMapper, InsAreaCompanyRisk> implements InsAreaCompanyRiskService {
+
+}

+ 50 - 3
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java

@@ -1,15 +1,20 @@
 package com.ydtech.modules.order.service.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.order.dao.InsAreaCompanyMapper;
 import com.ydtech.modules.order.entity.InsAreaCompany;
+import com.ydtech.modules.order.entity.InsAreaCompanyKind;
+import com.ydtech.modules.order.entity.InsAreaCompanyRisk;
+import com.ydtech.modules.order.entity.InsAreaCompanyTaxArrears;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
-import com.ydtech.modules.order.service.InsAreaCompanyService;
-import com.ydtech.modules.order.service.InsOrdersService;
-import com.ydtech.modules.order.service.InsOrdersTrackService;
+import com.ydtech.modules.order.service.*;
+import com.ydtech.utils.idgen.IdGenerate;
+import org.apache.poi.hssf.record.DVALRecord;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -17,6 +22,7 @@ import org.springframework.util.ObjectUtils;
 
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * @author Administrator
@@ -31,6 +37,15 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
 
     private final InsOrdersTrackService insOrdersTrackService;
 
+    @Autowired
+    private InsAreaCompanyRiskService insAreaCompanyRiskService;
+
+    @Autowired
+    private InsAreaCompanyKindService insAreaCompanyKindService;
+
+    @Autowired
+    private InsAreaCompanyTaxArrearsService insAreaCompanyTaxArrearsService;
+
     public InsAreaCompanyServiceImpl(@Lazy InsOrdersService insOrdersService, InsOrdersTrackService insOrdersTrackService) {
         this.insOrdersService = insOrdersService;
         this.insOrdersTrackService = insOrdersTrackService;
@@ -59,8 +74,40 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
     }
 
     @Override
+    @Transactional
     public void insertCompanyAndOrders(InsAreaCompany insAreaCompany) {
         baseMapper.insert(insAreaCompany);
+        //添加risk
+        if(!Objects.isNull(insAreaCompany.getRiskinfo())){
+            List<InsAreaCompanyRisk> riskList = JSONArray.parseArray(insAreaCompany.getRiskinfo().toJSONString(), InsAreaCompanyRisk.class);
+            riskList.forEach(risk -> {
+                risk.setCompanyId(insAreaCompany.getId());
+                risk.setId(IdGenerate.nextId());
+            });
+            insAreaCompanyRiskService.saveBatch(riskList);
+        }
+
+        //添加kind
+        if(!Objects.isNull(insAreaCompany.getKindinfo())){
+            List<InsAreaCompanyKind> kindList = JSONArray.parseArray(insAreaCompany.getKindinfo().toJSONString(), InsAreaCompanyKind.class);
+            kindList.forEach(kind -> {
+                kind.setCompanyId(insAreaCompany.getId());
+                kind.setId(IdGenerate.nextId());
+            });
+            insAreaCompanyKindService.saveBatch(kindList);
+        }
+
+        //添加tax
+        if(!Objects.isNull(insAreaCompany.getTaxArrears())){
+            JSONArray taxArrears = insAreaCompany.getTaxArrears();
+            List<InsAreaCompanyTaxArrears> insAreaCompanyTaxArrears = JSONArray.parseArray(taxArrears.toJSONString(), InsAreaCompanyTaxArrears.class);
+            insAreaCompanyTaxArrears.forEach(tax -> {
+                tax.setCompanyId(insAreaCompany.getId());
+                tax.setId(IdGenerate.nextId());
+            });
+            insAreaCompanyTaxArrearsService.saveBatch(insAreaCompanyTaxArrears);
+        }
+
         insOrdersTrackService.addingTrajectories(insAreaCompany);
         insOrdersService.updateByOrderStatus(insAreaCompany);
     }

+ 21 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyTaxArrearsServiceImpl.java

@@ -0,0 +1,21 @@
+package com.ydtech.modules.order.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.order.dao.InsAreaCompanyRiskMapper;
+import com.ydtech.modules.order.dao.InsAreaCompanyTaxArrearsMapper;
+import com.ydtech.modules.order.entity.InsAreaCompanyRisk;
+import com.ydtech.modules.order.entity.InsAreaCompanyTaxArrears;
+import com.ydtech.modules.order.service.InsAreaCompanyRiskService;
+import com.ydtech.modules.order.service.InsAreaCompanyTaxArrearsService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 子订单车辆信息(InsAreaCompanyCarInfo)表服务实现类
+ *
+ * @author tz
+ * @since 2024-03-15 11:19:18
+ */
+@Service
+public class InsAreaCompanyTaxArrearsServiceImpl extends ServiceImpl<InsAreaCompanyTaxArrearsMapper, InsAreaCompanyTaxArrears> implements InsAreaCompanyTaxArrearsService {
+
+}

+ 112 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersOldServiceImpl.java

@@ -0,0 +1,112 @@
+package com.ydtech.modules.order.service.impl;
+
+import cn.dev33.satoken.session.SaSession;
+import cn.dev33.satoken.stp.StpUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.constants.InsuranceEnum;
+import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
+import com.ydtech.constants.enums.dict.insurance.NatureOfVehicleUse;
+import com.ydtech.constants.sys.SystemConstant;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.constants.RoleConstants;
+import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.SysUserRole;
+import com.ydtech.modules.admin.model.po.SysCarInfo;
+import com.ydtech.modules.admin.model.po.SysCarUserInfo;
+import com.ydtech.modules.admin.service.SysCarInfoService;
+import com.ydtech.modules.admin.service.SysCarUserInfoService;
+import com.ydtech.modules.admin.service.SysUserRoleService;
+import com.ydtech.modules.admin.service.SysUserService;
+import com.ydtech.modules.fee.service.impl.FeeRuleSchemeServiceImpl;
+import com.ydtech.modules.fnc.entity.InsFeeAudit;
+import com.ydtech.modules.fnc.service.InsFeeAuditService;
+import com.ydtech.modules.ins.model.InsOrdersExcel;
+import com.ydtech.modules.ins.model.InsOrdersExcelVo;
+import com.ydtech.modules.ins.model.vo.*;
+import com.ydtech.modules.ins.model.ya.CarModelDTO;
+import com.ydtech.modules.ins.model.ya.ExtendInfoDto;
+import com.ydtech.modules.ins.model.ya.ResponseDataC2;
+import com.ydtech.modules.inv.utils.EasyExcelUtils;
+import com.ydtech.modules.order.convert.CarModelDTOConvert;
+import com.ydtech.modules.order.convert.MapToYaExtendInfoDto;
+import com.ydtech.modules.order.dao.InsOrdersMapper;
+import com.ydtech.modules.order.dao.InsOrdersOldMapper;
+import com.ydtech.modules.order.entity.*;
+import com.ydtech.modules.order.entity.bo.InsOrdersBo;
+import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
+import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
+import com.ydtech.modules.order.entity.po.*;
+import com.ydtech.modules.order.entity.vo.OrderVo;
+import com.ydtech.modules.order.entity.vo.*;
+import com.ydtech.modules.order.entity.vo.ya.YaExtendInfoDto;
+import com.ydtech.modules.order.service.*;
+import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
+import com.ydtech.modules.protocol.service.PtlAgreementService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
+import javax.validation.constraints.NotBlank;
+import java.io.File;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @author wenkaisen
+ * @description 针对表【ins_orders(保险订单表)】的数据库操作Service实现
+ * @createDate 2023-01-31 15:44:29
+ */
+@Service
+public class InsOrdersOldServiceImpl extends ServiceImpl<InsOrdersOldMapper, InsOrdersOld> implements InsOrdersOldService {
+
+    private final SysUserService sysUserService;
+
+    private final SysUserRoleService sysUserRoleService;
+
+    private final InsAreaCompanyService insAreaCompanyService;
+
+    private final InsFeeAuditService insFeeAuditService;
+
+    private final PtlAgreementService ptlAgreementService;
+
+    private final FeeRuleSchemeServiceImpl feeRuleSchemeService;
+
+    private final InsOrdersTrackService insOrdersTrackService;
+
+    @Autowired
+    SysCarUserInfoService sysCarUserInfoService;
+    @Autowired
+    SysCarInfoService sysCarInfoService;
+
+    @Value("${upload.file.path}")
+    private String uploadFilePath;
+
+    public InsOrdersOldServiceImpl(SysUserService sysUserService,
+                                   SysUserRoleService sysUserRoleService,
+                                   @Lazy InsAreaCompanyService insAreaCompanyService,
+                                   PtlAgreementService ptlAgreementService,
+                                   @Lazy FeeRuleSchemeServiceImpl feeRuleSchemeService,
+                                   InsFeeAuditService insFeeAuditService,
+                                   InsOrdersTrackService insOrdersTrackService) {
+        this.sysUserService = sysUserService;
+        this.sysUserRoleService = sysUserRoleService;
+        this.insAreaCompanyService = insAreaCompanyService;
+        this.ptlAgreementService = ptlAgreementService;
+        this.feeRuleSchemeService = feeRuleSchemeService;
+        this.insFeeAuditService = insFeeAuditService;
+        this.insOrdersTrackService = insOrdersTrackService;
+    }
+
+
+}

+ 188 - 0
src/main/java/com/ydtech/modules/xxl/handler/SyncInsAreaCompany.java

@@ -0,0 +1,188 @@
+package com.ydtech.modules.xxl.handler;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import com.ydtech.modules.admin.model.po.SysCarInfo;
+import com.ydtech.modules.admin.model.po.SysCarUserInfo;
+import com.ydtech.modules.admin.service.SysCarInfoService;
+import com.ydtech.modules.admin.service.SysCarUserInfoService;
+import com.ydtech.modules.order.entity.*;
+import com.ydtech.modules.order.entity.po.InsOrdersTax;
+import com.ydtech.modules.order.service.*;
+import com.ydtech.modules.xxl.model.InsAreaCompanyOld;
+import com.ydtech.modules.xxl.model.vo.InsAreaCompanyVo;
+import com.ydtech.modules.xxl.service.InsAreaCompanyOldService;
+import com.ydtech.utils.idgen.IdGenerate;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+@Component
+public class SyncInsAreaCompany {
+
+    @Autowired
+    private InsAreaCompanyOldService insAreaCompanyOldService;
+
+    @Autowired
+    private SysCarInfoService sysCarInfoService;
+
+    @Autowired
+    private SysCarUserInfoService sysCarUserInfoService;
+
+    @Autowired
+    private InsAreaCompanyCarInfoService insAreaCompanyCarInfoService;
+
+    @Autowired
+    private InsAreaCompanyCarUserInfoService insAreaCompanyCarUserInfoService;
+
+    @Autowired
+    private InsAreaCompanyRiskService insAreaCompanyRiskService;
+
+    @Autowired
+    private InsAreaCompanyKindService insAreaCompanyKindService;
+
+    @Autowired
+    private InsAreaCompanyTaxArrearsService insAreaCompanyTaxArrearsService;
+
+    @Autowired
+    private InsAreaCompanyService insAreaCompanyService;
+
+    public void workThread(int current,long count){
+        Page page = new Page<>(current,count);
+        List<InsAreaCompanyVo> insAreaCompanyOldList = insAreaCompanyOldService.queryAll(page);
+//            List<InsAreaCompany> insAreaCompanies = new ArrayList<>();
+        insAreaCompanyOldList.forEach(insAreaCompanyOld -> {
+            InsAreaCompany insAreaCompany = new InsAreaCompany();
+            if(Objects.isNull(insAreaCompanyOld)){
+                System.out.printf("insAreaCompanyOld is null");
+            }
+            BeanUtils.copyProperties(insAreaCompanyOld,insAreaCompany);
+            //1 处理车主信息
+//                sysCarInfoService.getCarInfoByFrameNo(insAreaCompanyOld.getFrameNo());
+            SysCarInfo sysCarInfo = sysCarInfoService.getById(insAreaCompanyOld.getCarInfoId());
+            InsAreaCompanyCarInfo carInfo = new InsAreaCompanyCarInfo();
+            if(Objects.isNull(sysCarInfo)){
+                System.out.printf("sysCarInfo is null");
+            }
+            BeanUtils.copyProperties(sysCarInfo,carInfo);
+            insAreaCompanyCarInfoService.saveOrUpdate(carInfo);
+            insAreaCompany.setCarInfoId(carInfo.getId());
+            insAreaCompany.setId(IdGenerate.nextId());
+
+            //2 处理车险用户信息
+            //先获取车主信息
+            SysCarUserInfo ownerInfo = sysCarUserInfoService.getById(insAreaCompanyOld.getOwnerId());
+            InsAreaCompanyCarUserInfo ownerUserInfo = new InsAreaCompanyCarUserInfo();
+            if(Objects.isNull(ownerInfo)){
+                System.out.printf("ownerInfo is null");
+            }
+            BeanUtils.copyProperties(ownerInfo,ownerUserInfo);
+            ownerUserInfo.setId(IdGenerate.nextId());
+            insAreaCompanyCarUserInfoService.save(ownerUserInfo);
+            insAreaCompany.setOwnerId(ownerUserInfo.getId());
+
+            //再获取投保人信息
+            if(!insAreaCompanyOld.getApplyId().equals(insAreaCompanyOld.getOwnerId())) {
+                //投保人和车主不是同一个人
+                SysCarUserInfo applyInfo = sysCarUserInfoService.getById(insAreaCompanyOld.getApplyId());
+                InsAreaCompanyCarUserInfo applyUserInfo = new InsAreaCompanyCarUserInfo();
+                if(Objects.isNull(applyInfo)){
+                    System.out.printf("applyInfo is null");
+                    System.out.printf(insAreaCompanyOld.getApplyId()+"\n");
+                    System.out.printf(insAreaCompanyOld.getOrderno()+"\n");
+                }
+                BeanUtils.copyProperties(applyInfo,applyUserInfo);
+                applyUserInfo.setId(IdGenerate.nextId());
+                insAreaCompanyCarUserInfoService.saveOrUpdate(applyUserInfo);
+            }else{
+                insAreaCompany.setApplyId(ownerUserInfo.getId());
+            }
+            //再获取被保人信息
+            if(!insAreaCompanyOld.getInsureId().equals(insAreaCompanyOld.getOwnerId()) && !insAreaCompanyOld.getInsureId().equals(insAreaCompanyOld.getApplyId())){
+                //被保人和车主、投保人都不是同一个人
+                SysCarUserInfo insureInfo = sysCarUserInfoService.getById(insAreaCompanyOld.getInsureId());
+                InsAreaCompanyCarUserInfo insureUserInfo = new InsAreaCompanyCarUserInfo();
+                if(Objects.isNull(insureInfo)){
+                    System.out.printf("insureInfo is null");
+                }
+                BeanUtils.copyProperties(insureInfo,insureUserInfo);
+                insureUserInfo.setId(IdGenerate.nextId());
+                insAreaCompanyCarUserInfoService.saveOrUpdate(insureUserInfo);
+                insAreaCompany.setInsureId(insureUserInfo.getId());
+            }else{
+                if(insAreaCompanyOld.getInsureId().equals(insAreaCompanyOld.getOwnerId())){
+                    insAreaCompany.setInsureId(ownerUserInfo.getId());
+                }else{
+                    insAreaCompany.setInsureId(insAreaCompany.getApplyId());
+                }
+            }
+
+            //3 处理 risk
+            List<InsAreaCompanyRisk> insAreaCompanyRisks = new ArrayList<>();
+            if(insAreaCompanyOld.getRiskinfo() != null) {
+                insAreaCompanyOld.getRiskinfo().forEach(riskObj -> {
+                    InsAreaCompanyRisk insAreaCompanyRisk = new InsAreaCompanyRisk();
+                    JSONObject risk = (JSONObject) riskObj;
+                    insAreaCompanyRisk = JSONObject.parseObject(risk.toJSONString(), InsAreaCompanyRisk.class);
+                    insAreaCompanyRisk.setId(IdGenerate.nextId());
+                    insAreaCompanyRisk.setCompanyId(insAreaCompany.getId());
+                    insAreaCompanyRisks.add(insAreaCompanyRisk);
+                });
+                insAreaCompanyRiskService.saveBatch(insAreaCompanyRisks);
+            }
+
+            //4 处理 kind
+            List<InsAreaCompanyKind> insAreaCompanyKinds = new ArrayList<>();
+            if (insAreaCompanyOld.getKindinfo() != null) {
+
+                insAreaCompanyOld.getKindinfo().forEach(kindObj -> {
+                    InsAreaCompanyKind insAreaCompanyKind = new InsAreaCompanyKind();
+                    JSONObject kind = (JSONObject) kindObj;
+                    insAreaCompanyKind = JSONObject.parseObject(kind.toJSONString(), InsAreaCompanyKind.class);
+                    insAreaCompanyKind.setId(IdGenerate.nextId());
+                    insAreaCompanyKind.setCompanyId(insAreaCompany.getId());
+                    insAreaCompanyKinds.add(insAreaCompanyKind);
+                });
+                insAreaCompanyKindService.saveBatch(insAreaCompanyKinds);
+            }
+            //5 处理 task
+            List<InsAreaCompanyTaxArrears> insAreaCompanyTaxArrears = new ArrayList<>();
+            if(insAreaCompanyOld.getTaxArrears() != null) {
+                insAreaCompanyOld.getTaxArrears().forEach(taskObj -> {
+                    InsAreaCompanyTaxArrears insAreaCompanyTaxArrear = new InsAreaCompanyTaxArrears();
+                    JSONObject task = (JSONObject) taskObj;
+                    insAreaCompanyTaxArrear = JSONObject.parseObject(task.toJSONString(), InsAreaCompanyTaxArrears.class);
+                    insAreaCompanyTaxArrear.setId(IdGenerate.nextId());
+                    insAreaCompanyTaxArrear.setCompanyId(insAreaCompany.getId());
+                    insAreaCompanyTaxArrears.add(insAreaCompanyTaxArrear);
+                });
+                insAreaCompanyTaxArrearsService.saveBatch(insAreaCompanyTaxArrears);
+            }
+            insAreaCompanyService.saveOrUpdate(insAreaCompany);
+        });
+    }
+
+    @XxlJob("SyncInsAreaCompany")
+    public void SyncInsAreaCompany() {
+
+        long count = insAreaCompanyOldService.count();
+        count = count/32;
+
+        long finalCount = count;
+        for(int i=1;i<=32;i++) {
+            int finalI = i;
+            new Thread(new Runnable() {
+                public void run() {
+                    workThread(finalI, finalCount);
+                }
+            }).start();
+        }
+
+    }
+}

+ 18 - 0
src/main/java/com/ydtech/modules/xxl/mapper/InsAreaCompanyOldMapper.java

@@ -0,0 +1,18 @@
+package com.ydtech.modules.xxl.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.modules.xxl.model.InsAreaCompany;
+import com.ydtech.modules.xxl.model.InsAreaCompanyOld;
+import com.ydtech.modules.xxl.model.vo.InsAreaCompanyVo;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface InsAreaCompanyOldMapper extends BaseMapper<InsAreaCompanyOld> {
+    /**
+     * 查询所有订单数据
+     */
+    Page<InsAreaCompanyVo> queryAll(Page page);
+}

+ 374 - 0
src/main/java/com/ydtech/modules/xxl/model/InsAreaCompanyOld.java

@@ -0,0 +1,374 @@
+package com.ydtech.modules.xxl.model;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
+import com.ydtech.modules.ins.model.vo.QuoteRespVo;
+import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
+import com.ydtech.utils.idgen.IdGenerate;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 报价渠道 用于数据同步
+ *
+ * @TableName ins_area_company_old
+ */
+@TableName(value = "ins_area_company_old", autoResultMap = true)
+@Data
+@ApiModel(value = "报价渠道")
+@NoArgsConstructor
+public class InsAreaCompanyOld implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId(value = "id")
+    private String id;
+    /**
+     * 订单号
+     */
+    @TableField(value = "orderno")
+    private String orderno;
+    /**
+     * 协议id
+     */
+    @TableField(value = "agreement_id")
+    private String agreementId;
+    /**
+     * 请求类型
+     */
+    @TableField(value = "api_type")
+    private Integer apiType;
+    /**
+     * 订单状态
+     *
+     * @see InsOrderStatusEnum
+     */
+    @TableField(value = "orderstatus")
+    private String orderstatus;
+    /**
+     * 保险公司编号
+     */
+    @TableField(value = "company_id")
+    private String companyId;
+    /**
+     * 保险名称
+     */
+    @TableField(value = "inscompany")
+    private String inscompany;
+    /**
+     * 请求报文
+     */
+    @TableField(value = "reqtxt", typeHandler = FastjsonTypeHandler.class)
+    private JSONObject reqtxt;
+    /**
+     * 响应报文
+     */
+    @TableField(value = "reptxt", typeHandler = FastjsonTypeHandler.class)
+    private JSONObject reptxt;
+
+    /**
+     * 交强投保单号
+     */
+    @TableField(value = "jqapplyno")
+    private String jqapplyno;
+
+    /**
+     * 交强保单号
+     */
+    @TableField(value = "jqpolicyno")
+    private String jqpolicyno;
+
+    /**
+     * 商业投保单号
+     */
+    @TableField(value = "syapplyno")
+    private String syapplyno;
+
+    /**
+     * 商业保单号
+     */
+    @TableField(value = "sypolicyno")
+    private String sypolicyno;
+
+    /**
+     * 交叉销售保单信息
+     */
+    @TableField(value = "cross_insurance", typeHandler = FastjsonTypeHandler.class)
+    private JSONArray crossInsurance;
+
+    /**
+     * 驾意险
+     */
+    @TableField(value = "accident_info", typeHandler = FastjsonTypeHandler.class)
+    private JSONArray accidentInfo;
+
+    /**
+     * 交强险商业险
+     */
+    @TableField(exist = false, typeHandler = FastjsonTypeHandler.class)
+    private JSONArray riskinfo;
+
+    /**
+     * 商业险信息
+     */
+    @TableField(exist = false, typeHandler = FastjsonTypeHandler.class)
+    private JSONArray kindinfo;
+
+    /**
+     * 交强险费用
+     */
+    @TableField(value = "jqpremium")
+    private BigDecimal jqpremium;
+
+    /**
+     * 商业险费用
+     */
+    @TableField(value = "sypremium")
+    private BigDecimal sypremium;
+
+    /**
+     * 驾意险
+     */
+    @TableField(value = "jypremium")
+    private BigDecimal jypremium;
+
+    /**
+     * 车船税费用
+     */
+    @TableField(value = "taxamount")
+    private BigDecimal taxamount;
+
+    /**
+     * 总保费
+     */
+    @TableField(value = "sumpremium")
+    private BigDecimal sumpremium;
+
+    /**
+     * 交强优惠比例
+     */
+    @TableField(value = "jqdiscountrate")
+    private Double jqdiscountrate;
+
+    /**
+     * 商业优惠比例
+     */
+    @TableField(value = "sydiscountrate")
+    private Double sydiscountrate;
+
+    /**
+     * 交强手续费比例
+     */
+    @TableField(value = "feerate")
+    private Double feerate;
+
+    /**
+     * 商业手续费比例
+     */
+    @TableField(value = "disrate")
+    private Double disrate;
+
+    /**
+     * 核保人
+     */
+    @TableField(value = "auditid")
+    private String auditid;
+    /**
+     * 核保人姓名
+     */
+    @TableField(value = "auditname")
+    private String auditname;
+    /**
+     * 核保时间
+     */
+    @TableField(value = "audittime")
+    private LocalDateTime audittime;
+    /**
+     * 核保意见
+     */
+    @TableField(value = "auditopinion")
+    private String auditopinion;
+    /**
+     * 交强特别约定
+     */
+    @TableField(value = "jqappoint")
+    private String jqappoint;
+    /**
+     * 商业特别约定
+     */
+    @TableField(value = "syappoint")
+    private String syappoint;
+    /**
+     * 创建时间
+     */
+    @TableField(value = "createtime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime createtime;
+    /**
+     * 支付链接
+     */
+    @TableField(value = "payment_link")
+    private String paymentLink;
+
+    /**
+     * 支付时间
+     */
+    @TableField(value = "pay_date")
+    private LocalDateTime payDate;
+
+    /**
+     * 保险公司订单号
+     * lig 新增字段  2023-02-24
+     */
+    @TableField(value = "ins_order_no")
+    private String insOrderNo;
+    /**
+     *
+     */
+    @TableField(value = "attribution_id")
+    private String attributionId;
+
+    /**
+     * 欠税
+     */
+    @TableField(exist = false, typeHandler = FastjsonTypeHandler.class)
+    private JSONArray taxArrears;
+
+    /**
+     * 交强险起期
+     * lig 新增字段  2023-09-14
+     */
+    @TableField(value = "jq_start_date")
+    private String jqStartDate;
+    /**
+     * 交强险止期
+     * lig 新增字段  2023-09-14
+     */
+    @TableField(value = "jq_end_date")
+    private String jqEndDate;
+    /**
+     * 商业险起期
+     * lig 新增字段  2023-09-14
+     */
+    @TableField(value = "sy_start_date")
+    private String syStartDate;
+    /**
+     * 商业险止期
+     * lig 新增字段  2023-09-14
+     */
+    @TableField(value = "sy_end_date")
+    private String syEndDate;
+
+    /**
+     * 出险 字符串 信息
+     * lig 新增字段  2023-10-10
+     */
+    @TableField(value = "accident_str_info")
+    private String accidentStrInfo;
+
+    /**
+     * 评分
+     * lig 新增字段  2023-10-10
+     */
+    @TableField(value = "score")
+    private String score;
+
+    /**
+     * 交强类型评分
+     */
+    @TableField(value = "jq_score")
+    private String jqScore;
+
+    /**
+     * 商业类型评分
+     */
+    @TableField(value = "sy_score")
+    private String syScore;
+
+    /**
+     * 总赔付率
+     */
+    @TableField(value = "loss_ration")
+    private double lossRation;
+    /**
+     * 交强赔付率
+     */
+    @TableField(value = "jq_loss_ration")
+    private double jqLossRation;
+
+    /**
+     * 商业赔付率
+     */
+    @TableField(value = "sy_loss_ration")
+    private double syLossRation;
+
+    @TableField(value = "inside_order_status")
+    private Integer insideOrderStatus;
+
+    @TableField(value = "inside_pay_time")
+    private String insidePayTime;
+
+    /**
+     * 业务员
+     */
+    @TableField(exist = false)
+    private String userName;
+
+    /**
+     * 业务员ID
+     */
+    @TableField(exist = false)
+    private String userId;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    public InsAreaCompanyOld(QuoteRespVo quoteRespVo, PtlAgreementAttribution ptlAgreementAttribution) {
+        this.id = IdGenerate.nextId();
+        this.orderno = quoteRespVo.getOrderno();
+        this.agreementId = ptlAgreementAttribution.getId();
+        this.apiType = ptlAgreementAttribution.getApiType();
+        this.companyId = ptlAgreementAttribution.getInsCompanyId();
+        this.inscompany = ptlAgreementAttribution.getInsCompanyName();
+        this.jqpremium = BigDecimal.valueOf(quoteRespVo.getJqPremium());
+        this.sypremium = BigDecimal.valueOf(quoteRespVo.getSyPremium());
+        this.jypremium = BigDecimal.valueOf(quoteRespVo.getJyPremium());
+        this.taxamount = BigDecimal.valueOf(quoteRespVo.getTaxAmount());
+        this.sumpremium = BigDecimal.valueOf(quoteRespVo.getSumPermium());
+        this.accidentInfo = JSON.parseArray(JSON.toJSONString(quoteRespVo.getAccidentInfo()));
+        this.riskinfo = JSON.parseArray(JSON.toJSONString(quoteRespVo.getRiskList()));
+        this.kindinfo = JSON.parseArray(JSON.toJSONString(quoteRespVo.getKindList()));
+        this.orderstatus = InsOrderStatusEnum.QUOTE_ING.getCode();
+
+        this.jqStartDate = quoteRespVo.getStartDateJq();
+        this.jqEndDate = quoteRespVo.getEndDateJq();
+
+        this.syStartDate = quoteRespVo.getStartDateSy();
+        this.syEndDate = quoteRespVo.getEndDateSy();
+
+        this.accidentStrInfo = quoteRespVo.getAccidentInfoStr();
+        // 评分
+        this.score = quoteRespVo.getILogPreUdwMess();
+        this.jqScore = quoteRespVo.getJqScore();
+        this.syScore = quoteRespVo.getSyScore();
+        // 赔付率
+        this.lossRation = quoteRespVo.getLossRation();
+        this.jqLossRation = quoteRespVo.getJqLossRation();
+        this.syLossRation = quoteRespVo.getSyLossRation();
+
+    }
+
+}

+ 24 - 0
src/main/java/com/ydtech/modules/xxl/model/vo/InsAreaCompanyVo.java

@@ -0,0 +1,24 @@
+package com.ydtech.modules.xxl.model.vo;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.ydtech.modules.order.entity.InsOrders;
+import com.ydtech.modules.xxl.model.InsAreaCompanyOld;
+import lombok.Data;
+
+@Data
+public class InsAreaCompanyVo extends InsAreaCompanyOld{
+//    private String orderno;
+    private String carInfoId;
+    private String ownerId;
+    private String applyId;
+    private String insureId;
+
+//    private String riskInfo;
+//
+//    private String kindInfo;
+//
+//    private String taxArrears;
+}

+ 18 - 0
src/main/java/com/ydtech/modules/xxl/service/InsAreaCompanyOldService.java

@@ -0,0 +1,18 @@
+package com.ydtech.modules.xxl.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsExport;
+import com.ydtech.modules.xxl.model.InsAreaCompany;
+import com.ydtech.modules.xxl.model.InsAreaCompanyOld;
+import com.ydtech.modules.xxl.model.QueryStatusResult;
+import com.ydtech.modules.xxl.model.vo.InsAreaCompanyVo;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public interface InsAreaCompanyOldService extends IService<InsAreaCompanyOld> {
+
+    List<InsAreaCompanyVo> queryAll(Page page);
+}

+ 37 - 0
src/main/java/com/ydtech/modules/xxl/service/impl/InsAreaCompanyOldServiceImpl.java

@@ -0,0 +1,37 @@
+package com.ydtech.modules.xxl.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.order.components.ConfigureParametersComponents;
+import com.ydtech.modules.order.components.dajia.DaJiaRequestApiComponents;
+import com.ydtech.modules.order.entity.api.dajia.DaJiaConfigureParameters;
+import com.ydtech.modules.order.entity.api.dajia.request.ODR2010Request;
+import com.ydtech.modules.order.entity.api.dajia.response.ODR2010Response;
+import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
+import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
+import com.ydtech.modules.protocols.dao.PtlAgreementProductCostsAttrLinkMapper;
+import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsAttrLink;
+import com.ydtech.modules.protocols.service.PtlAgreementProductCostsAttrLinkService;
+import com.ydtech.modules.xxl.mapper.InsAreaCompanyOldMapper;
+import com.ydtech.modules.xxl.model.InsAreaCompany;
+import com.ydtech.modules.xxl.model.InsAreaCompanyOld;
+import com.ydtech.modules.xxl.model.QueryStatusResult;
+import com.ydtech.modules.xxl.model.vo.InsAreaCompanyVo;
+import com.ydtech.modules.xxl.service.InsAreaCompanyOldService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+@RequiredArgsConstructor
+public class InsAreaCompanyOldServiceImpl extends ServiceImpl<InsAreaCompanyOldMapper, InsAreaCompanyOld>
+        implements InsAreaCompanyOldService {
+
+    @Override
+    public List<InsAreaCompanyVo> queryAll(Page page) {
+        Page<InsAreaCompanyVo> insAreaCompanyVos = baseMapper.queryAll(page);
+        return insAreaCompanyVos.getRecords();
+    }
+}

+ 29 - 0
src/main/resources/mapper/modules/xxl/InsAreaCompanyOldMapper.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ydtech.modules.xxl.mapper.InsAreaCompanyOldMapper">
+
+    <resultMap id="InsAreaCompanyMap" type="com.ydtech.modules.xxl.model.vo.InsAreaCompanyVo">
+        <result column="orderno" property="orderno" />
+        <result column="car_info_id" property="carInfoId" />
+        <result column="owner_id" property="ownerId" />
+        <result column="apply_id" property="applyId" />
+        <result column="insure_id" property="insureId" />
+        <result column="riskinfo" property="riskinfo" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+        <result column="kindinfo" property="kindinfo" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+        <result column="tax_arrears" property="taxArrears" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler" />
+    </resultMap>
+    
+    <select id="queryAll" resultMap="InsAreaCompanyMap">
+        SELECT
+
+            io.car_info_id,
+            io.owner_id,
+            io.apply_id,
+            io.insure_id,
+            iac.*
+        FROM
+            ins_area_company_old iac
+                LEFT JOIN ins_orders io ON iac.orderno = io.orderno
+    </select>
+
+</mapper>