浏览代码

修改导出

wks 2 年之前
父节点
当前提交
0aee706630

+ 1 - 1
pom.xml

@@ -20,7 +20,7 @@
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <java.version>1.8</java.version>
         <druid.version>1.2.6</druid.version>
-        <fastjson.version>1.2.58</fastjson.version>
+        <fastjson.version>2.0.1</fastjson.version>
         <kaptcha.version>0.0.9</kaptcha.version>
         <mapstruct.version>1.5.4.Final</mapstruct.version>
         <zxing.version>3.5.1</zxing.version>

+ 16 - 9
src/main/java/com/ydtech/modules/ins/model/InsOrdersExcel.java

@@ -1,23 +1,18 @@
 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 com.ydtech.validation.annotation.CheckDateTime;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiOperation;
 import lombok.Data;
 
-import java.io.Serializable;
-
 /**
  * @author jianlong
  * @date 2023-12-28 16:14
  */
 @Data
-public class InsOrdersExcel{
+public class InsOrdersExcel {
+
     @ExcelProperty(value = "保险公司名称")
     private String insCompany;
 
@@ -123,14 +118,23 @@ public class InsOrdersExcel{
     @ExcelProperty(value = "交强险费用")
     private String jqpRemIum;
 
+    @ExcelProperty(value = "交强险保单号")
+    private String jqPolicyno;
+
     @ExcelProperty(value = "商业险费用")
     private String sypRemIum;
 
+    @ExcelProperty(value = "商业险保单号")
+    private String syPolicyno;
+
     @ExcelProperty(value = "驾意险费用")
     private String jypRemIum;
 
+    @ExcelProperty(value = "驾意险保单号")
+    private String jyPolicyno;
+
     @ExcelProperty(value = "车船税费用")
-    private  String taxaMount;
+    private String taxaMount;
 
     @ExcelProperty(value = "交强险起期")
     private String jqStartDate;
@@ -148,7 +152,7 @@ public class InsOrdersExcel{
     private String score;
 
     @ExcelProperty(value = "交强类型评分")
-    private  String jqScore;
+    private String jqScore;
 
     @ExcelProperty(value = "商业类型评分")
     private String syScore;
@@ -162,4 +166,7 @@ public class InsOrdersExcel{
     @ExcelProperty(value = "支付时间")
     private String payDate;
 
+    @ExcelIgnore
+    private JSONArray crossInsurance;
+
 }

+ 5 - 7
src/main/java/com/ydtech/modules/inv/controller/InvAccountOperateController.java

@@ -23,25 +23,23 @@ public class InvAccountOperateController {
     private InvAccountOperateService invAccountOperateService;
 
 
-
     @PostMapping("getAccountOperate")
     @ApiOperation("获取账户操作")
-    public HttpResult<IPage<InvAccountOperate>>  getAccountOperate(@RequestBody InvAccountOperate accountOperate){
-        return HttpResult.ok("",invAccountOperateService.selectList(accountOperate));
+    public HttpResult<IPage<InvAccountOperate>> getAccountOperate(@RequestBody InvAccountOperate accountOperate) {
+        return HttpResult.ok("", invAccountOperateService.selectList(accountOperate));
     }
 
 
-
     @GetMapping("getAccountOperateDetail")
     @ApiOperation("获取账户操作详情")
-    public HttpResult<InvAccountOperate> getAccountOperateDetail(@RequestParam("accountOperateId")String accountOperateId){
-        return HttpResult.ok("",invAccountOperateService.getById(accountOperateId));
+    public HttpResult<InvAccountOperate> getAccountOperateDetail(@RequestParam("accountOperateId") String accountOperateId) {
+        return HttpResult.ok("", invAccountOperateService.getById(accountOperateId));
     }
 
 
     @PostMapping("insertAccountOperate")
     @ApiOperation("新增外部收入")
-    public HttpResult insertAccountOperate(@RequestBody InvAccountOperate accountOperate){
+    public HttpResult insertAccountOperate(@RequestBody InvAccountOperate accountOperate) {
         return invAccountOperateService.insert(accountOperate);
     }
 }

+ 1 - 1
src/main/java/com/ydtech/modules/inv/model/InvAccountOperate.java

@@ -112,7 +112,7 @@ public class InvAccountOperate implements Serializable {
     private int pageNo;
 
     @TableField(exist = false)
-    private int PageSize;
+    private int pageSize;
 
 
     @TableField(exist = false)

+ 45 - 26
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.components.OrderComponents;
 import com.ydtech.constants.InsuranceEnum;
+import com.ydtech.constants.enums.InsurKind;
 import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.constants.enums.dict.insurance.NatureOfVehicleUse;
 import com.ydtech.constants.enums.dict.insurance.OutOfBusinessVehicleUse;
@@ -31,6 +32,8 @@ 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.vo.CustomerInfoVo;
+import com.ydtech.modules.ins.model.vo.QuoteKindRespVo;
 import com.ydtech.modules.ins.model.ya.CarModelDTO;
 import com.ydtech.modules.ins.model.ya.ExtendInfoDto;
 import com.ydtech.modules.ins.model.ya.ResponseDataC2;
@@ -43,6 +46,7 @@ import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.InsOrdersTrack;
 import com.ydtech.modules.order.entity.bo.UnderwritingRulesBo;
+import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
 import com.ydtech.modules.order.entity.vo.*;
 import com.ydtech.modules.order.entity.vo.ya.YaExtendInfoDto;
@@ -397,59 +401,74 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         for (InsOrdersExcel insOrdersExcel : insOrdersExcels) {
             // 设置车辆信息
             JSONObject carInfo = insOrdersExcel.getCarInfo();
+            CarInfoVo carInfoVo = carInfo.toJavaObject(CarInfoVo.class);
+            insOrdersExcel.setModelcName(carInfoVo.getModelcname());
+            insOrdersExcel.setSeatCount(carInfoVo.getSeatCount());
+            insOrdersExcel.setTransferFlag(carInfoVo.isTransferFlag() ? "是" : "否");
+            insOrdersExcel.setTransferFlagBi(carInfoVo.isTransferFlagBi() ? "是" : "否");
 
-            insOrdersExcel.setModelcName(carInfo.getString("modelcname"));
-            insOrdersExcel.setSeatCount(carInfo.getString("seatCount"));
-            insOrdersExcel.setTransferFlag(carInfo.getString("transferFlag").equals("true") ? "是" : "否");
-            insOrdersExcel.setTransferFlagBi(carInfo.getString("noLicenseFlag").equals("true") ? "是" : "否");
-            insOrdersExcel.setRegisterDate(carInfo.getString("registerDate"));
-            insOrdersExcel.setIssueDate(carInfo.getString("issueDate"));
-            insOrdersExcel.setVehicleUse(String.valueOf(OutOfBusinessVehicleUse.getDesc(carInfo.getString("vehicleUse"))));
-            insOrdersExcel.setCarNature(NatureOfVehicleUse.getDesc(carInfo.getString("carNature")));
+            insOrdersExcel.setRegisterDate(carInfoVo.getRegisterDate());
+            insOrdersExcel.setIssueDate(carInfoVo.getIssueDate());
+            insOrdersExcel.setVehicleUse(String.valueOf(carInfoVo.getVehicleUse()));
+            insOrdersExcel.setCarNature(NatureOfVehicleUse.getDesc(carInfoVo.getCarnature()));
 
             // 设置车主信息
             JSONObject ownerInfo = insOrdersExcel.getOwnerInfo();
-            insOrdersExcel.setOwnerName(ownerInfo.getString("name"));
-            insOrdersExcel.setOwnerAge(ownerInfo.getString("age"));
-            insOrdersExcel.setOwnerMobile(ownerInfo.getString("mobile"));
-            insOrdersExcel.setOwnerIdentifyNumber(ownerInfo.getString("identifyNumber"));
+            CustomerInfoVo owner = ownerInfo.toJavaObject(CustomerInfoVo.class);
+            insOrdersExcel.setOwnerName(owner.getName());
+            insOrdersExcel.setOwnerAge(owner.getAge());
+            insOrdersExcel.setOwnerMobile(owner.getMobile());
+            insOrdersExcel.setOwnerIdentifyNumber(owner.getIdentifyNumber());
 
             // 设置申请人信息
             JSONObject applyInfo = insOrdersExcel.getApplyInfo();
-            insOrdersExcel.setApplyName(applyInfo.getString("name"));
-            insOrdersExcel.setApplyAge(applyInfo.getString("age"));
-            insOrdersExcel.setApplyMobile(applyInfo.getString("mobile"));
-            insOrdersExcel.setApplyIdentifyNumber(applyInfo.getString("identifyNumber"));
+            CustomerInfoVo apply = applyInfo.toJavaObject(CustomerInfoVo.class);
+            insOrdersExcel.setApplyName(apply.getName());
+            insOrdersExcel.setApplyAge(apply.getAge());
+            insOrdersExcel.setApplyMobile(apply.getMobile());
+            insOrdersExcel.setApplyIdentifyNumber(apply.getIdentifyNumber());
 
             // 设置被保险人信息
             JSONObject insureInfo = insOrdersExcel.getInsureInfo();
-            insOrdersExcel.setInsureName(insureInfo.getString("name"));
-            insOrdersExcel.setInsureAge(insureInfo.getString("age"));
-            insOrdersExcel.setInsureMobile(insureInfo.getString("mobile"));
-            insOrdersExcel.setInsureIdentifyNumber(insureInfo.getString("identifyNumber"));
+            CustomerInfoVo insure = insureInfo.toJavaObject(CustomerInfoVo.class);
+            insOrdersExcel.setInsureName(insure.getName());
+            insOrdersExcel.setInsureAge(insure.getAge());
+            insOrdersExcel.setInsureMobile(insure.getMobile());
+            insOrdersExcel.setInsureIdentifyNumber(insure.getIdentifyNumber());
+
+            //非车
+            List<DrivingInsuranceDto> drivingInsuranceDtos = insOrdersExcel.getCrossInsurance().toJavaList(DrivingInsuranceDto.class);
+            if (!drivingInsuranceDtos.isEmpty()) {
+                String policyNumber = drivingInsuranceDtos.get(0).getPolicyNumber();
+                insOrdersExcel.setJyPolicyno(policyNumber);
+            }
 
             // 设置险种信息
             JSONArray kindInfo = insOrdersExcel.getKindInfo();
-            if (kindInfo != null) {
-                for (int i = 0; i < kindInfo.size(); i++) {
-                    String kindCode = kindInfo.getJSONObject(i).getString("kindCode");
+            List<QuoteKindRespVo> quoteKindRespVos = kindInfo.toJavaList(QuoteKindRespVo.class);
 
+            if (quoteKindRespVos != null) {
+                for (QuoteKindRespVo quoteKindRespVo : quoteKindRespVos) {
+                    String kindCode = quoteKindRespVo.getKindCode();
                     if (kindCode != null) {
                         switch (kindCode) {
                             case "B":
-                                insOrdersExcel.setThird(kindInfo.getJSONObject(i).getString("amount"));
+                                insOrdersExcel.setThird(String.valueOf(quoteKindRespVo.getAmount()));
                                 break;
                             case "D4":
-                                insOrdersExcel.setSit(kindInfo.getJSONObject(i).getString("unitAmount"));
+                                insOrdersExcel.setSit(String.valueOf(quoteKindRespVo.getUnitAmount()));
                                 break;
                             case "D3":
-                                insOrdersExcel.setDriver(kindInfo.getJSONObject(i).getString("amount"));
+                                insOrdersExcel.setDriver(String.valueOf(quoteKindRespVo.getAmount()));
+                                break;
+                            default:
                                 break;
                         }
                     }
                 }
             }
         }
+
         String s = EasyExcelUtils.downExcel(uploadFilePath, InsOrdersExcel.class, insOrdersExcels);
         return HttpResult.ok("", s);
     }

+ 35 - 28
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -119,7 +119,9 @@
         <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="jqPolicyno" column="jqpolicyno" jdbcType="VARCHAR"/>
         <result property="sypRemIum" column="sypremium" jdbcType="VARCHAR"/>
+        <result property="syPolicyno" column="sypolicyno" 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"/>
@@ -140,6 +142,8 @@
         <result property="kindInfo" column="kindinfo" javaType="com.alibaba.fastjson.JSONArray"
                 typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
         <result property="payDate" column="pay_date" jdbcType="VARCHAR"/>
+        <result property="crossInsurance" column="cross_insurance" javaType="com.alibaba.fastjson.JSONArray"
+                typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
     </resultMap>
 
     <sql id="Base_Column_List">
@@ -343,37 +347,40 @@
 
     <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,
-            b.inscompany,
-            a.userid,
-            a.username,
-            a.applyinfo,
-            a.insureinfo,
-            b.kindinfo,
-            b.pay_date
+        a.orderno,
+        a.licenseno,
+        a.frameno,
+        a.carinfo,
+        b.score,
+        a.ownerinfo,
+        b.jqpremium,
+        b.jqpolicyno,
+        b.sypremium,
+        b.sypolicyno
+        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,
+        b.inscompany,
+        a.userid,
+        a.username,
+        a.applyinfo,
+        a.insureinfo,
+        b.kindinfo,
+        b.pay_date,
+        b.cross_insurance
         FROM ins_orders a LEFT JOIN ins_area_company b on a.orderno = b.orderno
         WHERE
-            1 = 1
+        1 = 1
         <if test="orderstatus != null and orderstatus != '' ">
-           and b.orderstatus = #{orderstatus}
+            and b.orderstatus = #{orderstatus}
         </if>
         <if test="startDate != null ">
             and a.createtime &gt;= #{startDate}