Jelajahi Sumber

Merge branch 'test'

wks 2 tahun lalu
induk
melakukan
b1ff05fd9a
24 mengubah file dengan 802 tambahan dan 76 penghapusan
  1. 6 0
      pom.xml
  2. 65 0
      src/main/java/com/ydtech/modules/esm/controller/EsmInsVehicleInspectionCodeController.java
  3. 18 0
      src/main/java/com/ydtech/modules/esm/dao/EsmInsVehicleInspectionCodeMapper.java
  4. 50 0
      src/main/java/com/ydtech/modules/esm/model/EsmInsVehicleInspectionCode.java
  5. 24 0
      src/main/java/com/ydtech/modules/esm/model/vo/EsmInsVehicleInspectionCodePageVo.java
  6. 23 0
      src/main/java/com/ydtech/modules/esm/model/vo/EsmInsVehicleInspectionCodeVo.java
  7. 53 0
      src/main/java/com/ydtech/modules/esm/service/EsmInsVehicleInspectionCodeService.java
  8. 77 0
      src/main/java/com/ydtech/modules/esm/service/impl/EsmInsVehicleInspectionCodeServiceImpl.java
  9. 151 0
      src/main/java/com/ydtech/modules/ins/model/InsOrdersExcel.java
  10. 27 0
      src/main/java/com/ydtech/modules/ins/model/InsOrdersExcelVo.java
  11. 3 0
      src/main/java/com/ydtech/modules/ins/model/yc/modelsQuery/ModelsQueryResponse.java
  12. 10 12
      src/main/java/com/ydtech/modules/ins/model/yc/ruote/Ruote.java
  13. 21 45
      src/main/java/com/ydtech/modules/ins/model/yc/ruote/Vhl.java
  14. 24 0
      src/main/java/com/ydtech/modules/ins/utils/EasyExcelUtils.java
  15. 28 0
      src/main/java/com/ydtech/modules/order/controller/InsOrdersController.java
  16. 3 0
      src/main/java/com/ydtech/modules/order/dao/InsOrdersMapper.java
  17. 15 1
      src/main/java/com/ydtech/modules/order/service/InsOrdersService.java
  18. 101 1
      src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java
  19. 10 17
      src/main/java/com/ydtech/modules/order/service/impl/YongchengOrderApiServiceImpl.java
  20. 20 0
      src/main/resources/mapper/modules/esm/EsmInsVehicleInspectionCodeMapper.xml
  21. 73 0
      src/main/resources/mapper/modules/order/InsOrdersMapper.xml
  22. TEMPAT SAMPAH
      target/classes/com/ydtech/modules/ins/model/InsOrdersExcel.class
  23. TEMPAT SAMPAH
      target/classes/com/ydtech/modules/ins/model/InsOrdersExcelVo.class
  24. TEMPAT SAMPAH
      target/classes/com/ydtech/modules/ins/utils/EasyExcelUtils.class

+ 6 - 0
pom.xml

@@ -98,6 +98,12 @@
             <version>${druid.version}</version>
         </dependency>
 
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+            <version>3.2.0</version>
+        </dependency>
+
         <!-- Druid 依赖 log4j包 -->
         <dependency>
             <groupId>log4j</groupId>

+ 65 - 0
src/main/java/com/ydtech/modules/esm/controller/EsmInsVehicleInspectionCodeController.java

@@ -0,0 +1,65 @@
+package com.ydtech.modules.esm.controller;
+
+
+import com.ydtech.aop.request.RequestSingleParam;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.esm.model.EsmInsVehicleInspectionCode;
+import com.ydtech.modules.esm.model.vo.EsmInsVehicleInspectionCodePageVo;
+import com.ydtech.modules.esm.model.vo.EsmInsVehicleInspectionCodeVo;
+import com.ydtech.modules.esm.service.EsmInsVehicleInspectionCodeService;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.protocol.utils.AssertionUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@Api(tags = "保险公司验车码")
+@RestController
+@RequestMapping("/esmInsVehicleInspectionCode")
+@RequiredArgsConstructor
+public class EsmInsVehicleInspectionCodeController {
+
+    private final EsmInsVehicleInspectionCodeService esmInsVehicleInspectionCodeService;
+
+    @PostMapping("/display")
+    @ApiOperation("验车码显示")
+    public HttpResult<List<EsmInsVehicleInspectionCode>> display() {
+        List<EsmInsVehicleInspectionCode> esmInsVehicleInspectionCodes= esmInsVehicleInspectionCodeService.display();
+        return HttpResult.ok(esmInsVehicleInspectionCodes);
+    }
+
+    @PostMapping("/query")
+    @ApiOperation("查询")
+    public HttpResult<BasePageResult<EsmInsVehicleInspectionCode>> queryPage(EsmInsVehicleInspectionCodePageVo esmInsVehicleInspectionCodePageVo) {
+        BasePageResult<EsmInsVehicleInspectionCode> esmInsVehicleInspectionCodeBasePageResult= esmInsVehicleInspectionCodeService.queryPage(esmInsVehicleInspectionCodePageVo);
+        return HttpResult.ok(esmInsVehicleInspectionCodeBasePageResult);
+    }
+
+    @PostMapping("/submit")
+    @ApiOperation("提交")
+    public HttpResult<Object> submit(EsmInsVehicleInspectionCodeVo esmInsVehicleInspectionCodeVo) {
+        boolean b = esmInsVehicleInspectionCodeService.submit(esmInsVehicleInspectionCodeVo);
+        AssertionUtils.isSucceed(b, "提交失败");
+        return HttpResult.ok("提交成功");
+    }
+
+    @DeleteMapping("/modification/{id}")
+    @ApiOperation("修改")
+    public HttpResult<Object> modification(@PathVariable String id, @RequestSingleParam("code") String code) {
+        boolean b = esmInsVehicleInspectionCodeService.modification(id, code);
+        AssertionUtils.isSucceed(b, "修改失败");
+        return HttpResult.ok("修改成功");
+    }
+
+    @DeleteMapping("/remove/{id}")
+    @ApiOperation("删除")
+    public HttpResult<Object> remove(@PathVariable String id) {
+        boolean b = esmInsVehicleInspectionCodeService.removeById(id);
+        AssertionUtils.isSucceed(b, "删除失败");
+        return HttpResult.ok("删除成功");
+    }
+
+}

+ 18 - 0
src/main/java/com/ydtech/modules/esm/dao/EsmInsVehicleInspectionCodeMapper.java

@@ -0,0 +1,18 @@
+package com.ydtech.modules.esm.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.esm.model.EsmInsVehicleInspectionCode;
+
+/**
+* @author Administrator
+* @description 针对表【esm_ins_vehicle_inspection_code(验车码维护表)】的数据库操作Mapper
+* @createDate 2023-12-29 15:00:30
+* @Entity generator.domain.EsmInsVehicleInspectionCode
+*/
+public interface EsmInsVehicleInspectionCodeMapper extends BaseMapper<EsmInsVehicleInspectionCode> {
+
+}
+
+
+
+

+ 50 - 0
src/main/java/com/ydtech/modules/esm/model/EsmInsVehicleInspectionCode.java

@@ -0,0 +1,50 @@
+package com.ydtech.modules.esm.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 验车码维护表
+ * @TableName esm_ins_vehicle_inspection_code
+ */
+@TableName(value ="esm_ins_vehicle_inspection_code")
+@Data
+public class EsmInsVehicleInspectionCode implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId(value = "id")
+    private Integer id;
+
+    /**
+     * 保险公司id
+     */
+    @TableField(value = "company_id")
+    private String companyId;
+
+    /**
+     * 保险公司名称
+     */
+    @TableField(value = "name")
+    private String name;
+
+    /**
+     * 验车码
+     */
+    @TableField(value = "vehicle_inspection_code")
+    private String vehicleInspectionCode;
+
+    /**
+     * 有效时间
+     */
+    @TableField(value = "valid_time")
+    private Date validTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 24 - 0
src/main/java/com/ydtech/modules/esm/model/vo/EsmInsVehicleInspectionCodePageVo.java

@@ -0,0 +1,24 @@
+package com.ydtech.modules.esm.model.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import java.io.Serializable;
+
+@Data
+public class EsmInsVehicleInspectionCodePageVo implements Serializable {
+
+    private static final long serialVersionUID = -1747432623058279115L;
+
+    @ApiModelProperty(value = "每页页数")
+    @Min(value = 20, message = "页数最小为20")
+    @Max(value = 100, message = "页数最大为100")
+    private int pageSize;
+
+    @ApiModelProperty(value = "页数")
+    @Min(value = 1, message = "页数最小为1")
+    private int pageNum;
+
+}

+ 23 - 0
src/main/java/com/ydtech/modules/esm/model/vo/EsmInsVehicleInspectionCodeVo.java

@@ -0,0 +1,23 @@
+package com.ydtech.modules.esm.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@ApiModel("验车码")
+@Data
+public class EsmInsVehicleInspectionCodeVo implements Serializable {
+
+    private static final long serialVersionUID = -2664896133458891763L;
+
+
+    @ApiModelProperty("保险公司id")
+    private String companyId;
+
+    @ApiModelProperty("验车码")
+    private String vehicleInspectionCode;
+
+}

+ 53 - 0
src/main/java/com/ydtech/modules/esm/service/EsmInsVehicleInspectionCodeService.java

@@ -0,0 +1,53 @@
+package com.ydtech.modules.esm.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.esm.model.EsmInsVehicleInspectionCode;
+import com.ydtech.modules.esm.model.vo.EsmInsVehicleInspectionCodePageVo;
+import com.ydtech.modules.esm.model.vo.EsmInsVehicleInspectionCodeVo;
+import com.ydtech.modules.order.entity.BasePageResult;
+
+import java.util.List;
+
+/**
+ * @author Administrator
+ * @description 针对表【esm_ins_vehicle_inspection_code(验车码维护表)】的数据库操作Service
+ * @createDate 2023-12-29 15:00:30
+ */
+public interface EsmInsVehicleInspectionCodeService extends IService<EsmInsVehicleInspectionCode> {
+
+    /**
+     * 显示
+     *
+     * @return
+     */
+    List<EsmInsVehicleInspectionCode> display();
+
+
+    /**
+     * 分页查询
+     *
+     * @param esmInsVehicleInspectionCodePageVo
+     * @return
+     */
+    BasePageResult<EsmInsVehicleInspectionCode> queryPage(EsmInsVehicleInspectionCodePageVo esmInsVehicleInspectionCodePageVo);
+
+    /**
+     * 提交数据
+     *
+     * @param esmInsVehicleInspectionCodeVo 验证码数据
+     * @return 成功 失败
+     */
+    boolean submit(EsmInsVehicleInspectionCodeVo esmInsVehicleInspectionCodeVo);
+
+
+    /**
+     * 修改数据
+     *
+     * @param id   id
+     * @param code 验车码
+     * @return 成功 失败
+     */
+    boolean modification(String id, String code);
+
+
+}

+ 77 - 0
src/main/java/com/ydtech/modules/esm/service/impl/EsmInsVehicleInspectionCodeServiceImpl.java

@@ -0,0 +1,77 @@
+package com.ydtech.modules.esm.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.esm.dao.EsmInsVehicleInspectionCodeMapper;
+import com.ydtech.modules.esm.model.EsmInsCompany;
+import com.ydtech.modules.esm.model.EsmInsVehicleInspectionCode;
+import com.ydtech.modules.esm.model.vo.EsmInsVehicleInspectionCodePageVo;
+import com.ydtech.modules.esm.model.vo.EsmInsVehicleInspectionCodeVo;
+import com.ydtech.modules.esm.service.EsmInsCompanyService;
+import com.ydtech.modules.esm.service.EsmInsVehicleInspectionCodeService;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.protocol.utils.AssertionUtils;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * @author Administrator
+ * @description 针对表【esm_ins_vehicle_inspection_code(验车码维护表)】的数据库操作Service实现
+ * @createDate 2023-12-29 15:00:30
+ */
+@Service
+@RequiredArgsConstructor
+public class EsmInsVehicleInspectionCodeServiceImpl extends ServiceImpl<EsmInsVehicleInspectionCodeMapper, EsmInsVehicleInspectionCode>
+        implements EsmInsVehicleInspectionCodeService {
+
+    private final EsmInsCompanyService esmInsCompanyService;
+
+    @Override
+    public List<EsmInsVehicleInspectionCode> display() {
+        return lambdaQuery().likeRight(EsmInsVehicleInspectionCode::getValidTime, LocalDate.now().toString()).list();
+    }
+
+    @Override
+    public BasePageResult<EsmInsVehicleInspectionCode> queryPage(EsmInsVehicleInspectionCodePageVo esmInsVehicleInspectionCodePageVo) {
+        Page<EsmInsVehicleInspectionCode> page = new Page<>(esmInsVehicleInspectionCodePageVo.getPageNum(),
+                esmInsVehicleInspectionCodePageVo.getPageSize());
+        Page<EsmInsVehicleInspectionCode> insOrdersPage = page(page, new QueryWrapper<>());
+        return new BasePageResult<>(esmInsVehicleInspectionCodePageVo.getPageNum(), page.getSize(), insOrdersPage.getTotal(),
+                page.getPages(), insOrdersPage.getRecords());
+    }
+
+    @Override
+    public boolean submit(EsmInsVehicleInspectionCodeVo esmInsVehicleInspectionCodeVo) {
+        EsmInsVehicleInspectionCode esmInsVehicleInspectionCode = lambdaQuery().eq(EsmInsVehicleInspectionCode::getCompanyId,
+                esmInsVehicleInspectionCodeVo.getCompanyId()).one();
+        AssertionUtils.isSucceed(ObjectUtils.isEmpty(esmInsVehicleInspectionCode), "此保险公司已经录入验车码");
+
+        EsmInsCompany esmInsCompany = esmInsCompanyService.getById(esmInsVehicleInspectionCodeVo.getCompanyId());
+        AssertionUtils.isSucceed(!ObjectUtils.isEmpty(esmInsCompany), "录入的保险公司不存在");
+
+        esmInsVehicleInspectionCode.setCompanyId(esmInsCompany.getId());
+        esmInsVehicleInspectionCode.setName(esmInsCompany.getName());
+        esmInsVehicleInspectionCode.setVehicleInspectionCode(esmInsVehicleInspectionCode.getVehicleInspectionCode());
+        return save(esmInsVehicleInspectionCode);
+    }
+
+    @Override
+    public boolean modification(String id, String code) {
+        EsmInsVehicleInspectionCode esmInsVehicleInspectionCode = this.baseMapper.selectById(id);
+        AssertionUtils.isEmpty(esmInsVehicleInspectionCode, "修改的编号不存在");
+
+        esmInsVehicleInspectionCode.setVehicleInspectionCode(code);
+        return updateById(esmInsVehicleInspectionCode);
+    }
+
+
+}
+
+
+
+

+ 151 - 0
src/main/java/com/ydtech/modules/ins/model/InsOrdersExcel.java

@@ -0,0 +1,151 @@
+package com.ydtech.modules.ins.model;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import io.swagger.annotations.ApiOperation;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author jianlong
+ * @date 2023-12-28 16:14
+ */
+@Data
+public class InsOrdersExcel{
+    @ExcelProperty(value = "保险公司名称")
+    private String insCompany;
+
+    @ExcelProperty(value = "工号")
+    private String userId;
+
+    @ExcelProperty(value = "用户名")
+    private String userName;
+
+    @ExcelProperty(value = "订单号")
+    private String orderNo;
+
+    @ExcelProperty(value = "车牌")
+    private String licenseNo;
+
+    @ExcelProperty(value = "车架号")
+    private String fraMeno;
+
+    @ExcelIgnore
+    private JSONObject carInfo;
+
+    @ExcelProperty(value = "车型")
+    private String modelcName;
+
+    @ExcelProperty(value = "座位数")
+    private String seatCount;
+
+    @ExcelProperty(value = "是否过户")
+    private String transferFlag;
+
+    @ExcelProperty(value = "商业险是否过户")
+    private String transferFlagBi;
+
+
+    @ExcelIgnore
+    private JSONObject ownerInfo;
+
+    @ExcelProperty(value = "车主姓名")
+    private String ownerName;
+
+    @ExcelProperty(value = "车主身份证号")
+    private String ownerIdentifyNumber;
+
+    @ExcelProperty(value = "车主年龄")
+    private String ownerAge;
+
+    @ExcelProperty(value = "车主手机号")
+    private String ownerMobile;
+
+
+
+    @ExcelIgnore
+    private JSONObject applyInfo;
+
+    @ExcelProperty(value = "投保人姓名")
+    private String applyName;
+
+    @ExcelProperty(value = "投保人身份证号")
+    private String applyIdentifyNumber;
+
+    @ExcelProperty(value = "投保人年龄")
+    private String applyAge;
+
+    @ExcelProperty(value = "投保人手机号")
+    private String applyMobile;
+
+
+    @ExcelIgnore
+    private JSONObject insureInfo;
+
+    @ExcelProperty(value = "投保人姓名")
+    private String insureName;
+
+    @ExcelProperty(value = "投保人身份证号")
+    private String insureIdentifyNumber;
+
+    @ExcelProperty(value = "投保人年龄")
+    private String insureAge;
+
+    @ExcelProperty(value = "投保人手机号")
+    private String insureMobile;
+
+    @ExcelIgnore
+    private JSONArray kindInfo;
+
+    @ExcelProperty(value = "第三责任险")
+    private String third;
+
+    @ExcelProperty(value = "乘客责任险")
+    private String sit;
+
+    @ExcelProperty(value = "司机责任险")
+    private String driver;
+
+    @ExcelProperty(value = "交强险费用")
+    private String jqpRemIum;
+
+    @ExcelProperty(value = "商业险费用")
+    private String sypRemIum;
+
+    @ExcelProperty(value = "驾意险费用")
+    private String jypRemIum;
+
+    @ExcelProperty(value = "车船税费用")
+    private  String taxaMount;
+
+    @ExcelProperty(value = "交强险起期")
+    private String jqStartDate;
+
+    @ExcelProperty(value = "交强险止期")
+    private String jqEndDate;
+
+    @ExcelProperty(value = "商业险起期")
+    private String syStartDate;
+
+    @ExcelProperty(value = "商业险止期")
+    private String syEndDate;
+
+    @ExcelProperty(value = "评分")
+    private String score;
+
+    @ExcelProperty(value = "交强类型评分")
+    private  String jqScore;
+
+    @ExcelProperty(value = "商业类型评分")
+    private String syScore;
+
+    @ExcelProperty(value = "交强赔付率")
+    private String jqLossRation;
+
+    @ExcelProperty(value = "商业赔付率")
+    private String syLossRation;
+}

+ 27 - 0
src/main/java/com/ydtech/modules/ins/model/InsOrdersExcelVo.java

@@ -0,0 +1,27 @@
+package com.ydtech.modules.ins.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author jianlong
+ * @date 2023-12-29 10:27
+ */
+@Data
+public class InsOrdersExcelVo {
+
+    @ApiModelProperty(value = "订单状态默认是已承保")
+    private String orderstatus;
+
+    @ApiModelProperty(value = "开始时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date startDate;
+
+    @ApiModelProperty(value = "结束时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date endDate;
+
+}

+ 3 - 0
src/main/java/com/ydtech/modules/ins/model/yc/modelsQuery/ModelsQueryResponse.java

@@ -21,8 +21,10 @@ public class ModelsQueryResponse {
 
     @JacksonXmlProperty(localName = "msg")
     private String msg;
+
     @JacksonXmlProperty(localName = "returnCode")
     private String returnCode;
+
     @JacksonXmlProperty(localName = "searchKeyword")
     private String searchKeyword;
 
@@ -30,6 +32,7 @@ public class ModelsQueryResponse {
     @JacksonXmlElementWrapper(useWrapping = false)
     @JacksonXmlProperty(localName = "vehicleInfo")
     private List<VehicleInfo> vehicleInfoList;
+
 //    @JacksonXmlElementWrapper
 //    @JacksonXmlProperty(localName = "S:Body")
 //    private Object body;

+ 10 - 12
src/main/java/com/ydtech/modules/ins/model/yc/ruote/Ruote.java

@@ -3,14 +3,14 @@ package com.ydtech.modules.ins.model.yc.ruote;
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
-import com.ydtech.config.properties.YongchengApiConfigurationProperties;
+import com.ydtech.modules.ins.model.vo.CarInfoVo;
+import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
 import com.ydtech.modules.ins.model.ya.YaQuoteInfoVo;
 import com.ydtech.modules.ins.model.yc.AuthorityDataXml;
 import com.ydtech.modules.ins.model.yc.YcBuildData;
-import com.ydtech.modules.ins.model.vo.CarInfoVo;
-import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
 import com.ydtech.modules.ins.model.yc.YcConfigureParameters;
+import com.ydtech.modules.ins.model.yc.modelsQuery.ModelsQueryResponse;
 import com.ydtech.modules.order.entity.vo.AccidentalDrivingVo;
 import com.ydtech.utils.StringUtils;
 import lombok.Data;
@@ -155,35 +155,33 @@ public class Ruote {
      * @author: lig
      * @date: 2023年02月08日 0008
      */
-    public static Ruote buildQuoteParam(YaQuoteInfoVo yaQuoteInfoVo, YcConfigureParameters ycConfigureParameters, YongchengApiConfigurationProperties apiComponents, AccidentalDrivingVo adVo) {
+    public static Ruote buildQuoteParam(YaQuoteInfoVo yaQuoteInfoVo, YcConfigureParameters ycConfigureParameters,
+                                        AccidentalDrivingVo adVo, ModelsQueryResponse.VehicleInfo vehicleInfo) {
 
         Ruote m = new Ruote();
         Ruote.RequestLabel requestLabel = new Ruote.RequestLabel();
         Ruote.Condition condition = new Ruote.Condition();
 
-
         //投保人信息
         CustomerInfoVo policyHolderInfo = yaQuoteInfoVo.getPolicyHolderInfo();
         //被保人信息
         CustomerInfoVo insuredPersonInfo = yaQuoteInfoVo.getInsuredPersonInfo();
         //车主
         CustomerInfoVo ownerInfo = yaQuoteInfoVo.getOwnerInfo();
-
         CarInfoVo carInfo = yaQuoteInfoVo.getCarInfo();
-
         List<RiskInfoVo> riskList = yaQuoteInfoVo.getRiskList();
 
         /**
          * 基本信息 base
          */
-        Base base = Base.buildBase(carInfo,policyHolderInfo,insuredPersonInfo,riskList, ycConfigureParameters);
+        Base base = Base.buildBase(carInfo, policyHolderInfo, insuredPersonInfo, riskList, ycConfigureParameters);
         condition.setBase(base);
 
         /**
          * 车辆信息
          * 代码:vhl
          */
-        Vhl vhl = Vhl.buildVhl(carInfo,ownerInfo);
+        Vhl vhl = Vhl.buildVhl(carInfo, ownerInfo, vehicleInfo);
 
         String startTime = StringUtils.isNotEmpty(base.getTInsrncBgnTmJQ()) ? base.getTInsrncBgnTmJQ() : base.getTInsrncBgnTmSY();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -278,7 +276,7 @@ public class Ruote {
          * 投保人信息
          * 代码:applicant
          */
-        Applicant applicant = Applicant.buildApplicant(ownerInfo, policyHolderInfo,ycConfigureParameters);
+        Applicant applicant = Applicant.buildApplicant(ownerInfo, policyHolderInfo, ycConfigureParameters);
         condition.setApplicant(applicant);
 
         /**
@@ -300,11 +298,11 @@ public class Ruote {
 
             base.setAppYWFlag("Y");
 
-            if(base.getAppSYFlag().equals("Y")){
+            if (base.getAppSYFlag().equals("Y")) {
                 base.setTInsrncBgnTmYW(base.getTInsrncBgnTmSY());
                 base.setTInsrncEndTmYW(base.getTInsrncEndTmSY());
 
-            }else{
+            } else {
                 base.setTInsrncBgnTmYW(base.getTInsrncBgnTmJQ());
                 base.setTInsrncEndTmYW(base.getTInsrncEndTmJQ());
             }

+ 21 - 45
src/main/java/com/ydtech/modules/ins/model/yc/ruote/Vhl.java

@@ -1,9 +1,9 @@
 package com.ydtech.modules.ins.model.yc.ruote;
 
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
-import com.ydtech.modules.ins.model.ya.YaQuoteInfoVo;
 import com.ydtech.modules.ins.model.vo.CarInfoVo;
 import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
+import com.ydtech.modules.ins.model.yc.modelsQuery.ModelsQueryResponse;
 import com.ydtech.utils.StringUtils;
 import lombok.Data;
 import org.apache.http.client.utils.DateUtils;
@@ -139,7 +139,7 @@ public class Vhl {
 //    private String TTransferTm;
     /**
      * 是否外地车
-     *
+     * <p>
      * 本地0,省内异地1,省外异地2
      */
     @JacksonXmlProperty(localName = "CEcdemicMrk")
@@ -331,36 +331,23 @@ public class Vhl {
     /**
      * @description: 车辆信息
      */
-    public static Vhl buildVhl(CarInfoVo carInfo,CustomerInfoVo ownerInfo) {
-
+    public static Vhl buildVhl(CarInfoVo carInfo, CustomerInfoVo ownerInfo, ModelsQueryResponse.VehicleInfo vehicleInfo) {
         Vhl vhl = new Vhl();
-//        //3 车辆信息
-//        CarInfoVo carInfo = yaQuoteInfoVo.getCarInfo();
-//
-//        //2.2车主
-//        CustomerInfoVo ownerInfo = yaQuoteInfoVo.getOwnerInfo();
-
+        vhl.setCPlateModelCde(vehicleInfo.getVehicleId());
+        vhl.setCModelCde(vehicleInfo.getVehicleId());
 
-        vhl.setCPlateModelCde(carInfo.getCiModelCode());
-        vhl.setCModelCde(carInfo.getModelCode());
         vhl.setCRegOwner(ownerInfo.getName());
         vhl.setCPlateNo(carInfo.getLicenseNo());
-//      <CModelNme>威志CA7150BUE5S轿车</CModelNme>
-        vhl.setCModelNme(carInfo.getModelcname());
-//        vhl.setNResvNum1(carInfo.getSeatCount());
-
-
+        vhl.setCModelNme(vehicleInfo.getVehicleName());
         LocalDate lDate = LocalDate.parse(carInfo.getRegisterDate());
         LocalDate newlDate = LocalDate.now();
         int years = newlDate.getYear() - lDate.getYear();
         vhl.setCUseYear(years + "");
-
         //玻璃类型 303011001	国产   303011002	进口
         vhl.setCGlassTyp("303011001");
         vhl.setCEcdemicMrk("1");
-
         //过户
-        if (carInfo.isTransferFlag() == true) {
+        if (carInfo.isTransferFlag()) {
             //必传。过户车传1;非过户车传0
             vhl.setCChgOwnerFlag("1");
             vhl.setTTransferDate(carInfo.getTransferDate());
@@ -379,19 +366,19 @@ public class Vhl {
         String enginedesc = carInfo.getEnginedesc();
         vhl.setNDisplacement(enginedesc);
         vhl.setNDefDisplacement(enginedesc);
-        String fullType="32773001";//默认燃油
-        if("0".equals(carInfo.getEnergyType())){
-            fullType="32773001";  //燃油
-        }else if("1".equals(carInfo.getEnergyType())){
-            fullType="32773002";  //纯电动
-        }else if("2".equals(carInfo.getEnergyType())){
-            fullType="32773003";  //燃料电池
-        }else if("3".equals(carInfo.getEnergyType())){
-            fullType="32773004";  //插电式混合动力
-        }else if("4".equals(carInfo.getEnergyType())){
-            fullType="32773005";  //其他混合动力
-        }else if("5".equals(carInfo.getEnergyType())){
-            fullType="32773006";  //其他
+        String fullType = "32773001";//默认燃油
+        if ("0".equals(carInfo.getEnergyType())) {
+            fullType = "32773001";  //燃油
+        } else if ("1".equals(carInfo.getEnergyType())) {
+            fullType = "32773002";  //纯电动
+        } else if ("2".equals(carInfo.getEnergyType())) {
+            fullType = "32773003";  //燃料电池
+        } else if ("3".equals(carInfo.getEnergyType())) {
+            fullType = "32773004";  //插电式混合动力
+        } else if ("4".equals(carInfo.getEnergyType())) {
+            fullType = "32773005";  //其他混合动力
+        } else if ("5".equals(carInfo.getEnergyType())) {
+            fullType = "32773006";  //其他
         }
         vhl.setFuelType(fullType);
 //        vhl.setNActualValue(String.valueOf((Double.parseDouble(carInfo.getPurchasePrice()) * 0.9)));
@@ -401,17 +388,11 @@ public class Vhl {
 //        vhl.setCDisplacementLvl("67");
         vhl.setCFstRegYm(carInfo.getRegisterDate());
         vhl.setNNewPriceValue(carInfo.getPurchasePrice());
-
-
 //
-
         vhl.setCEngNo(carInfo.getEngineNo());
         vhl.setCFrmNo(carInfo.getVinNo());
-
         vhl.setCPlateTyp(carInfo.getLicenseTypeCode());
-
         vhl.setCUsageCde("336001");
-
         //所属性质(1个人 2企业 3机关)
         if (carInfo.getProperty().equals("1")) {
             vhl.setCBizMrk("338001");
@@ -421,20 +402,15 @@ public class Vhl {
             vhl.setCBizMrk("338002");
         }
 
-
         //座位数	NResvNum1	数值(10,0)	N	默认核定载客数-1
         vhl.setNResvNum1(StringUtils.toString(StringUtils.toInt(carInfo.getSeatCount()) - 1));
         //核定载客数   取的座位数
         vhl.setNSeatNum(carInfo.getSeatCount());
-
         vhl.setCVhlTyp(StringUtils.toInt(vhl.getNSeatNum()) < 6 ? "337001" : "337002");
 //        //新旧车标志  0 新车,1 旧车
         vhl.setCNewMrk("1");
-
         //轿车
-        vhl.setCRegVhlTyp("K33");
-
-
+        vhl.setCRegVhlTyp(carInfo.getCartype());
         return vhl;
     }
 

+ 24 - 0
src/main/java/com/ydtech/modules/ins/utils/EasyExcelUtils.java

@@ -0,0 +1,24 @@
+package com.ydtech.modules.ins.utils;
+
+import com.alibaba.excel.EasyExcel;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author jianlong
+ * @date 2023-12-29 16:46
+ */
+@Component
+public class EasyExcelUtils {
+
+
+
+    public static String downExcel(String uploadFilePath,Class clz, List<?> list) {
+
+        String file = System.currentTimeMillis() + ".xlsx";
+        String fileName = uploadFilePath + file;
+        EasyExcel.write(fileName, clz).sheet("1").doWrite(list);
+        return file;
+    }
+}

+ 28 - 0
src/main/java/com/ydtech/modules/order/controller/InsOrdersController.java

@@ -1,10 +1,20 @@
 package com.ydtech.modules.order.controller;
 
+import cn.afterturn.easypoi.excel.entity.ExportParams;
+import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ydtech.aop.request.RequestSingleParam;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.ins.model.InsOrdersExcel;
+import com.ydtech.modules.ins.model.InsOrdersExcelVo;
+import com.ydtech.modules.ins.model.vo.res.InsSettleResVo;
+import com.ydtech.modules.ins.utils.EasyExcelUtils;
+import com.ydtech.modules.ins.utils.ExcelStyleUtil;
+import com.ydtech.modules.ins.utils.ExcelUtils2;
 import com.ydtech.modules.order.components.InsOrdersComponents;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsAccidentalDriving;
@@ -20,19 +30,30 @@ import com.ydtech.utils.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.ObjectUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import static com.alibaba.fastjson.JSON.parseObject;
+
 @Api(tags = "订单")
 @RequestMapping("/insurance/order")
 @RestController
 public class InsOrdersController extends BaseController {
 
+    @Value("${upload.file.path}")
+    private  String uploadFilePath;
+
     private final InsOrdersService insOrdersService;
 
     private final InsAreaCompanyService insAreaCompanyService;
@@ -87,6 +108,13 @@ public class InsOrdersController extends BaseController {
         return HttpResult.ok("success", quoteResult);
     }
 
+    @PostMapping("/orderExportExcel")
+    @ApiOperation(value = "订单导出excel接口")
+    public HttpResult<String> orderExportExcel(@RequestBody InsOrdersExcelVo insOrdersExcelVo){
+        return this.insOrdersService.orderExportExcel(insOrdersExcelVo);
+    }
+
+
     @PostMapping("/querySuborder")
     @ApiOperation(value = "[2]通过订单号查询子订单")
     public HttpResult<List<InsAreaCompanyQueryDto>> querySuborder(@RequestSingleParam(value = "orderNo") String orderNo) {

+ 3 - 0
src/main/java/com/ydtech/modules/order/dao/InsOrdersMapper.java

@@ -2,6 +2,8 @@ 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.vo.OrderQueryVo;
 import com.ydtech.modules.order.entity.vo.OrderVo;
@@ -27,4 +29,5 @@ public interface InsOrdersMapper extends BaseMapper<InsOrders> {
     Page<InsOrders> queryPageOrder(@Param("page") Page page,@Param("orderQueryVo") OrderQueryVo orderQueryVo,
                                    @Param("isTeamLeader") Boolean isTeamLeader,@Param("isCdy")Boolean isCdy);
 
+    List<InsOrdersExcel> queryOrderList(InsOrdersExcelVo insOrdersExcelVo);
 }

+ 15 - 1
src/main/java/com/ydtech/modules/order/service/InsOrdersService.java

@@ -2,14 +2,16 @@ 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.dto.InsAreaCompanyQueryDto;
 import com.ydtech.modules.order.entity.vo.*;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -70,6 +72,18 @@ public interface InsOrdersService extends IService<InsOrders> {
      */
     BasePageResult<InsOrders> queryPageOrder(OrderQueryVo orderQueryVo);
 
+    /**
+     * 订单信息导出excel
+     *
+     * @param insOrdersExcelVo
+     * @param request
+     * @param response
+     * @return
+     */
+
+    HttpResult<String> orderExportExcel(InsOrdersExcelVo insOrdersExcelVo);
+
+
     /**
      * @param companyId
      * @return

+ 101 - 1
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -1,8 +1,11 @@
 package com.ydtech.modules.order.service.impl;
 
+import cn.afterturn.easypoi.excel.entity.ExportParams;
+import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
 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;
@@ -23,10 +26,16 @@ import com.ydtech.modules.esm.service.EsmUserReferrerService;
 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.dao.InsFileMapper;
+import com.ydtech.modules.ins.model.InsOrdersExcel;
+import com.ydtech.modules.ins.model.InsOrdersExcelVo;
 import com.ydtech.modules.ins.model.vo.CarInfoVo;
 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.ins.utils.EasyExcelUtils;
+import com.ydtech.modules.ins.utils.ExcelStyleUtil;
+import com.ydtech.modules.ins.utils.ExcelUtils2;
 import com.ydtech.modules.order.convert.CarModelDTOConvert;
 import com.ydtech.modules.order.convert.MapToYaExtendInfoDto;
 import com.ydtech.modules.order.dao.InsOrdersMapper;
@@ -47,13 +56,18 @@ import com.ydtech.utils.SnowFlakeUtil;
 import com.ydtech.utils.idgen.IdGenerate;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.NotBlank;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
@@ -90,13 +104,18 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
     private final InsOrdersTrackService insOrdersTrackService;
 
+    private final InsFileMapper insFileMapper;
+
+    @Value("${upload.file.path}")
+    private  String uploadFilePath;
+
     public InsOrdersServiceImpl(OrderComponents orderComponents, SysUserService sysUserService,
                                 SysUserRoleService sysUserRoleService, EsmUserReferrerService esmUserReferrerService,
                                 SysDeptService sysDeptService, StringRedisTemplate redisTemplate,
                                 @Lazy InsAreaCompanyService insAreaCompanyService,
                                 PtlAgreementService ptlAgreementService,
                                 @Lazy FeeRuleSchemeServiceImpl feeRuleSchemeService,
-                                InsFeeAuditService insFeeAuditService, InsOrdersTrackService insOrdersTrackService) {
+                                InsFeeAuditService insFeeAuditService, InsOrdersTrackService insOrdersTrackService, InsFileMapper insFileMapper) {
 
         this.orderComponents = orderComponents;
         this.sysUserService = sysUserService;
@@ -109,6 +128,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         this.feeRuleSchemeService = feeRuleSchemeService;
         this.insFeeAuditService = insFeeAuditService;
         this.insOrdersTrackService = insOrdersTrackService;
+        this.insFileMapper = insFileMapper;
     }
 
 
@@ -382,6 +402,86 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                 page.getPages(), insOrdersPage.getRecords());
     }
 
+    /**
+     * 订单信息导出excel
+     *
+     * @param insOrdersExcelVo
+     * @return
+     */
+    @Override
+    public HttpResult<String> orderExportExcel(InsOrdersExcelVo insOrdersExcelVo) {
+        List<InsOrdersExcel> insOrdersExcels = baseMapper.queryOrderList(insOrdersExcelVo);
+
+        for (InsOrdersExcel insOrdersExcel : insOrdersExcels) {
+            // 设置车辆信息
+            JSONObject carInfo = insOrdersExcel.getCarInfo();
+            insOrdersExcel.setModelcName(carInfo.getString("modelcname"));
+            insOrdersExcel.setSeatCount(carInfo.getString("seatCount"));
+            insOrdersExcel.setTransferFlag(carInfo.getString("transferFlag").equals("true") ? "是" : "否");
+            insOrdersExcel.setTransferFlagBi(carInfo.getString("noLicenseFlag").equals("true") ? "是" : "否");
+
+            // 设置车主信息
+            JSONObject ownerInfo = insOrdersExcel.getOwnerInfo();
+            insOrdersExcel.setOwnerName(ownerInfo.getString("name"));
+            insOrdersExcel.setOwnerAge(ownerInfo.getString("age"));
+            insOrdersExcel.setOwnerMobile(ownerInfo.getString("mobile"));
+            insOrdersExcel.setOwnerIdentifyNumber(ownerInfo.getString("identifyNumber"));
+
+            // 设置申请人信息
+            JSONObject applyInfo = insOrdersExcel.getApplyInfo();
+            insOrdersExcel.setApplyName(applyInfo.getString("name"));
+            insOrdersExcel.setApplyAge(applyInfo.getString("age"));
+            insOrdersExcel.setApplyMobile(applyInfo.getString("mobile"));
+            insOrdersExcel.setApplyIdentifyNumber(applyInfo.getString("identifyNumber"));
+
+            // 设置被保险人信息
+            JSONObject insureInfo = insOrdersExcel.getInsureInfo();
+            insOrdersExcel.setInsureName(insureInfo.getString("name"));
+            insOrdersExcel.setInsureAge(insureInfo.getString("age"));
+            insOrdersExcel.setInsureMobile(insureInfo.getString("mobile"));
+            insOrdersExcel.setInsureIdentifyNumber(insureInfo.getString("identifyNumber"));
+
+            // 设置险种信息
+            JSONArray kindInfo = insOrdersExcel.getKindInfo();
+            if (kindInfo != null) {
+                for (int i = 0; i < kindInfo.size(); i++) {
+                    String kindCode = kindInfo.getJSONObject(i).getString("kindCode");
+                    String amount = kindInfo.getJSONObject(i).getString("amount");
+                    if (kindCode != null) {
+                        switch (kindCode) {
+                            case "B":
+                                insOrdersExcel.setThird(amount);
+                                break;
+                            case "D4":
+                                insOrdersExcel.setSit(amount);
+                                break;
+                            case "D3":
+                                insOrdersExcel.setDriver(amount);
+                                break;
+                        }
+                    }
+                }
+            }
+        }
+        String s = EasyExcelUtils.downExcel(uploadFilePath, InsOrdersExcel.class, insOrdersExcels);
+        return HttpResult.ok("",s);
+
+
+
+//        Date now = new Date();
+//        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+//        String fileName = "orders";
+//        // 导出
+//        ExportParams exportParams = new ExportParams("订单信息表"+simpleDateFormat.format(now), null, ExcelType.HSSF);
+//        // 设置
+//        exportParams.setStyle(ExcelStyleUtil.class);
+//
+//        try {
+//            ExcelUtils2.exportExcel(insOrdersExcels, InsOrdersExcel.class, fileName, exportParams, request, response);
+//        } catch (IOException e) {
+//            log.error(String.valueOf(e));
+//        }
+    }
 
 
     @Override

+ 10 - 17
src/main/java/com/ydtech/modules/order/service/impl/YongchengOrderApiServiceImpl.java

@@ -143,7 +143,7 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
 
     private final InsImagesUploadCacheComponents insImagesUploadCacheComponents;
 
-    public void gainVehicleModel(YcConfigureParameters ycConfigureParameters, CarInfoVo carInfo) {
+    public ModelsQueryResponse.VehicleInfo gainVehicleModel(YcConfigureParameters ycConfigureParameters, CarInfoVo carInfo) {
         CarModel_Req carModelReq = new CarModel_Req();
         carModelReq.setFrameNo(carInfo.getFrameNo());
         carModelReq.setEngineNo(carInfo.getEngineNo());
@@ -153,6 +153,7 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
 
         try {
             rd = yongchengRequestApiComponents.newQueryVehicleTypes(m);
+            rd.setVehicleInfoList(new ArrayList<>());
         } catch (IOException e) {
             throw new SystemException("车型查询接口异常,请联系管理。");
         }
@@ -183,16 +184,14 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
                     rd.getVehicleInfoList().stream().filter(a -> a.getVehiclePrice().equals(carInfo.getPurchasePrice())).collect(Collectors.toList());
 
             if (CollUtil.isNotEmpty(vehicleInfoList)) {
-                buildCarInfo(carInfo, vehicleInfoList.get(0));
-                return;
+                return vehicleInfoList.get(0);
             }
 
             //金额升序
             vehicleInfoList =
                     rd.getVehicleInfoList().stream().sorted(Comparator.comparing(ModelsQueryResponse.VehicleInfo::getVehiclePrice)).collect(Collectors.toList());
 
-            buildCarInfo(carInfo, vehicleInfoList.get(0));
-            return;
+            return vehicleInfoList.get(0);
         }
 
         //匹配的车辆信息数据
@@ -200,8 +199,7 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
                 vehicleInfoList.stream().filter(a -> a.getVehiclePrice().equals(carInfo.getPurchasePrice())).findFirst().orElse(null);
 
         if (null != matchVehicleInfo) {
-            buildCarInfo(carInfo, matchVehicleInfo);
-            return;
+            return matchVehicleInfo;
         }
 
         //匹配的车辆信息数据里  未匹配成功   默认选择第一条
@@ -209,7 +207,9 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
         vehicleInfoList =
                 vehicleInfoList.stream().sorted(Comparator.comparing(ModelsQueryResponse.VehicleInfo::getVehicleYear).thenComparing((o1,
                                                                                                                                      o2) -> Integer.compare(StringUtils.toInt(o2.getVehiclePrice()), StringUtils.toInt(o1.getVehiclePrice()))).reversed()).collect(Collectors.toList());
-        buildCarInfo(carInfo, vehicleInfoList.get(0));
+
+
+        return vehicleInfoList.get(0);
 
     }
 
@@ -227,11 +227,11 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
         CarInfoVo carInfo = yaQuoteInfoVo.getCarInfo();
 
         //构造车辆信息
-        gainVehicleModel(ycConfigureParameters, carInfo);
+        ModelsQueryResponse.VehicleInfo vehicleInfo = gainVehicleModel(ycConfigureParameters, carInfo);
         AccidentalDrivingVo adVo = quoteVo.getAccidentalDrivingVo();
 
         //组装参数
-        Ruote m = Ruote.buildQuoteParam(yaQuoteInfoVo, ycConfigureParameters, apiComponents, adVo);
+        Ruote m = Ruote.buildQuoteParam(yaQuoteInfoVo, ycConfigureParameters, adVo, vehicleInfo);
         //构造地区
         buildRegion(m, yaQuoteInfoVo);
         return m;
@@ -1316,12 +1316,5 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
     }
 
 
-    private void buildCarInfo(CarInfoVo carInfo, ModelsQueryResponse.VehicleInfo vehicleInfo) {
-        carInfo.setModelCode(vehicleInfo.getVehicleId());
-        carInfo.setCiCarName(vehicleInfo.getVehicleName());
-        carInfo.setModelcname(vehicleInfo.getVehicleName());
-//        carInfo.setSeatCount(vehicleInfo.getVehicleSeat());
-
-    }
 
 }

+ 20 - 0
src/main/resources/mapper/modules/esm/EsmInsVehicleInspectionCodeMapper.xml

@@ -0,0 +1,20 @@
+<?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.esm.dao.EsmInsVehicleInspectionCodeMapper">
+
+    <resultMap id="BaseResultMap" type="com.ydtech.modules.esm.model.EsmInsVehicleInspectionCode">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="companyId" column="company_id" jdbcType="VARCHAR"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+            <result property="vehicleInspectionCode" column="vehicle_inspection_code" jdbcType="VARCHAR"/>
+            <result property="validTime" column="valid_time" jdbcType="DATE"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,company_id,name,
+        vehicle_inspection_code,valid_time
+    </sql>
+
+</mapper>

+ 73 - 0
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -110,6 +110,37 @@
                 typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
     </resultMap>
 
+
+    <resultMap id="OrderExcelResultMap" type="com.ydtech.modules.ins.model.InsOrdersExcel">
+        <id property="orderNo" column="orderno" jdbcType="VARCHAR"/>
+        <result property="licenseNo" column="licenseno" jdbcType="VARCHAR"/>
+        <result property="fraMeno" column="frameno" jdbcType="VARCHAR"/>
+        <result property="carInfo" column="carinfo" javaType="com.alibaba.fastjson.JSONObject"  typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
+        <result property="score" column="score" jdbcType="VARCHAR"/>
+        <result property="ownerInfo" column="ownerinfo" javaType="com.alibaba.fastjson.JSONObject"  typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
+        <result property="jqpRemIum" column="jqpremium" jdbcType="VARCHAR"/>
+        <result property="sypRemIum" column="sypremium" jdbcType="VARCHAR"/>
+        <result property="jypRemIum" column="jypremium" jdbcType="VARCHAR"/>
+        <result property="taxaMount" column="taxamount" jdbcType="VARCHAR"/>
+        <result property="jqStartDate" column="jq_start_date" jdbcType="VARCHAR"/>
+        <result property="jqEndDate" column="jq_end_date" jdbcType="VARCHAR"/>
+        <result property="syStartDate" column="sy_start_date" jdbcType="VARCHAR"/>
+        <result property="syEndDate" column="sy_end_date" jdbcType="VARCHAR"/>
+        <result property="jqScore" column="jq_score" jdbcType="VARCHAR"/>
+        <result property="syScore" column="sy_score" jdbcType="VARCHAR"/>
+        <result property="jqLossRation" column="jq_loss_ration" jdbcType="VARCHAR"/>
+        <result property="syLossRation" column="sy_loss_ration" jdbcType="VARCHAR"/>
+        <result property="insCompany" column="ins_company" jdbcType="VARCHAR"/>
+        <result property="userId" column="userid" jdbcType="VARCHAR"/>
+        <result property="userName" column="username" jdbcType="VARCHAR"/>
+        <result property="applyInfo" column="applyinfo" javaType="com.alibaba.fastjson.JSONObject"
+                typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
+        <result property="insureInfo" column="insureinfo" javaType="com.alibaba.fastjson.JSONObject"
+                typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
+        <result property="kindInfo" column="kindinfo" javaType="com.alibaba.fastjson.JSONArray"
+                typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
+    </resultMap>
+
     <sql id="Base_Column_List">
         orderno,quoteno,orderstatus,
         carinfo,userid,username,
@@ -308,4 +339,46 @@
         order by io.createtime desc
     </select>
 
+
+    <select id="queryOrderList" parameterType="com.ydtech.modules.ins.model.InsOrdersExcelVo" resultMap="OrderExcelResultMap">
+        select
+            a.orderno,
+            a.licenseno,
+            a.frameno,
+            a.carinfo,
+            b.score,
+            a.ownerinfo,
+            b.jqpremium,
+            b.sypremium,
+            b.jypremium,
+            b.taxamount,
+            b.jq_start_date,
+            b.jq_end_date,
+            b.sy_start_date,
+            b.sy_end_date,
+            b.jq_score,
+            b.sy_score,
+            b.jq_loss_ration,
+            b.sy_loss_ration,
+            b.score,
+            a.ins_company,
+            a.userid,
+            a.username,
+            a.applyinfo,
+            a.insureinfo,
+            b.kindinfo
+        FROM ins_orders a LEFT JOIN ins_area_company b on a.orderno = b.orderno
+        WHERE
+            1 = 1
+        <if test="orderstatus != null and orderstatus != '' ">
+           and b.orderstatus = #{orderstatus}
+        </if>
+        <if test="startDate != null ">
+            and a.createtime &gt;= #{startDate}
+        </if>
+        <if test="endDate != null ">
+            and a.createtime &lt;= #{endDate}
+        </if>
+    </select>
+
 </mapper>

TEMPAT SAMPAH
target/classes/com/ydtech/modules/ins/model/InsOrdersExcel.class


TEMPAT SAMPAH
target/classes/com/ydtech/modules/ins/model/InsOrdersExcelVo.class


TEMPAT SAMPAH
target/classes/com/ydtech/modules/ins/utils/EasyExcelUtils.class