y 2 лет назад
Родитель
Сommit
5c0cf019a7

+ 3 - 3
pom.xml

@@ -318,17 +318,17 @@
         <dependency>
             <groupId>cn.afterturn</groupId>
             <artifactId>easypoi-base</artifactId>
-            <version>4.1.2</version>
+            <version>4.3.0</version>
         </dependency>
         <dependency>
             <groupId>cn.afterturn</groupId>
             <artifactId>easypoi-web</artifactId>
-            <version>4.1.2</version>
+            <version>4.3.0</version>
         </dependency>
         <dependency>
             <groupId>cn.afterturn</groupId>
             <artifactId>easypoi-annotation</artifactId>
-            <version>4.1.2</version>
+            <version>4.3.0</version>
         </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>

+ 24 - 0
src/main/java/com/ydtech/modules/inv/controller/InvSettlementSourController.java

@@ -0,0 +1,24 @@
+package com.ydtech.modules.inv.controller;
+
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.inv.service.InvSettlementSourceService;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author jianlong
+ * @date 2024-01-20 11:36
+ */
+@Api(tags = "结算来源表", value = "结算来源表")
+@RestController
+@RequestMapping("SettlementSource")
+public class InvSettlementSourController {
+    @Autowired
+    private InvSettlementSourceService invSettlementSourceService;
+
+    @GetMapping("excel")
+    public HttpResult readExcel(@RequestParam("file") String file){
+        return invSettlementSourceService.readInvSettlementSourceExcel(file);
+    }
+}

+ 28 - 0
src/main/java/com/ydtech/modules/inv/controller/InvSourceController.java

@@ -0,0 +1,28 @@
+package com.ydtech.modules.inv.controller;
+
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.inv.model.excel.InvSourceExcel;
+import com.ydtech.modules.inv.model.po.InvSource;
+import com.ydtech.modules.inv.service.InvSourceService;
+import com.ydtech.modules.inv.utils.EasyExcelUtils;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author jianlong
+ * @date 2024-01-20 10:38
+ */
+@Api(tags = "来源表", value = "来源表")
+@RequestMapping("Source")
+@RestController
+public class InvSourceController {
+    @Autowired
+    private InvSourceService invSourceService;
+
+
+    @GetMapping("excel")
+    public HttpResult readExcel(@RequestParam("file") String file ) {
+       return invSourceService.readExcel(file);
+    }
+}

+ 143 - 0
src/main/java/com/ydtech/modules/inv/model/excel/InvSettlementSourceExcel.java

@@ -0,0 +1,143 @@
+package com.ydtech.modules.inv.model.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+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 io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * 结算来源表
+ * @TableName inv_settlement_source
+ */
+@Data
+public class InvSettlementSourceExcel implements Serializable {
+
+
+
+
+    /**
+     * 工号
+     */
+    @ExcelProperty("工号")
+    private String employeeId;
+
+
+    /**
+     * 签单日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ExcelProperty("签单日期")
+    private LocalDateTime signDate;
+
+    /**
+     * 车牌号
+     */
+    @ExcelProperty("车牌号")
+    private String licenseno;
+
+    /**
+     * 被保险人
+     */
+    @ExcelProperty("被保险人")
+    private String insuredName;
+
+    /**
+     * 保险公司
+     */
+    @ExcelProperty("保险公司")
+    private String insuranceCompany;
+
+    /**
+     * 险种
+     */
+    @ExcelProperty("险种")
+    private String insuranceType;
+
+    /**
+     * 业务归属
+     */
+
+    @ExcelProperty("业务归属")
+    private String businessOwner;
+
+    /**
+     * 交强保单号
+     */
+    @ExcelProperty("交强保单号")
+    private String jqPolicyId;
+
+    /**
+     * 商业保单号
+     */
+    @ExcelProperty("商业保单号")
+    private String syPolicyId;
+
+    /**
+     * 非车保单号
+     */
+    @ExcelProperty("非车保单号")
+    private String nonCarPolicyId;
+
+    /**
+     * 交强保费
+     */
+    @ExcelProperty("交强保费")
+    private String jqPremiumTax;
+
+    /**
+     * 车船税
+     */
+    @ExcelProperty("车船税")
+    private String vehicleTax;
+
+    /**
+     * 商业保费
+     */
+    @ExcelProperty("商业保费")
+    private String syPremiumTax;
+
+    /**
+     * 非车保费
+     */
+    @ExcelProperty("非车保费")
+    private String nonCarPremiumTax;
+
+    /**
+     * 交强出口比例
+     */
+    @ExcelProperty("交强出口比例")
+    private String compulsoryExportRatio;
+
+    /**
+     * 商业出口比例
+     */
+    @ExcelProperty("商业出口比例")
+    private String commercialExportRatio;
+
+    /**
+     * 非车出口比例
+     */
+    @ExcelProperty("非车出口比例")
+    private String nonVehicleExportRatio;
+
+    /**
+     * 结算金额
+     */
+    @ExcelProperty("结算金额")
+    private String settlementAmount;
+
+    /**
+     * 代理结算时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ExcelProperty("代理结算时间")
+    private LocalDateTime agencySettlementTime;
+}

+ 240 - 0
src/main/java/com/ydtech/modules/inv/model/excel/InvSourceExcel.java

@@ -0,0 +1,240 @@
+package com.ydtech.modules.inv.model.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 来源表
+ * @TableName inv_source
+ */
+@TableName(value ="inv_source")
+@Data
+public class InvSourceExcel implements Serializable {
+
+
+
+    /**
+     * 保司编码
+     */
+    @ExcelProperty("保司编码")
+    private String insuranceId;
+
+
+    /**
+     * 保司名称
+     */
+    @ExcelProperty("保司名称")
+    private String insuranceName;
+
+    /**
+     * 保司机构
+     */
+    @ExcelProperty("保司机构")
+    private String insuranceDept;
+
+    /**
+     * 保司机构id
+     */
+    @ExcelProperty("保司机构代码")
+    private String insuranceDeptId;
+
+    /**
+     * 险种
+     */
+    @ExcelProperty("险种")
+    private String risk;
+
+    /**
+     * 交强保单号
+     */
+    @ExcelProperty("交强保单号")
+    private String jqPolicyId;
+
+    /**
+     * 交强保费(含税)
+     */
+    @ExcelProperty("交强保费")
+    private String jqPremiumTax;
+
+    /**
+     * 交强保费(不含税)
+     */
+    @ExcelProperty("交强保费不含税")
+    private String jqPremium;
+
+    /**
+     * 商业保单号
+     */
+    @ExcelProperty("商业保单号")
+    private String syPolicyId;
+
+    /**
+     * 商业保费(含税)
+     */
+    @ExcelProperty("商业保费")
+    private String syPremiumTax;
+
+    /**
+     * 商业保费(不含税)
+     */
+    @ExcelProperty("商业保费不含税")
+    private String syPremium;
+
+    /**
+     * 非车保单号
+     */
+    @ExcelProperty("非车保单号")
+    private String nonCarPolicyId;
+
+    /**
+     * 非车保费(含税)
+     */
+    @ExcelProperty("非车保费")
+    private String nonCarPremiumTax;
+
+    /**
+     * 非车保费(不含税)
+     */
+    @ExcelProperty("非车保费不含税")
+    private String nonCarPremium;
+
+    /**
+     * 被保险人名字
+     */
+    @ExcelProperty("被保险人")
+    private String insuredName;
+
+    /**
+     * 车牌号
+     */
+    @ExcelProperty("车牌号")
+    private String licenseno;
+
+    /**
+     * 出单日期
+     */
+    @ExcelProperty(value = "出单日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDateTime signingTime;
+
+    /**
+     * 结算日期
+     */
+    @ExcelProperty(value = "结算日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDateTime  clearingTime;
+
+    /**
+     * 车船税
+     */
+    @ExcelProperty("车船税")
+    private String taxamount;
+
+    /**
+     * 交强应收比例
+     */
+    @ExcelProperty("交强应收比例")
+    private String jqReceivableRatio;
+
+    /**
+     * 交强手续费比例
+     */
+    @ExcelProperty("交强手续费比例")
+    private String jqPremiumRatio;
+
+    /**
+     * 交强非跟单比例
+     */
+    @ExcelProperty("交强非跟单比例")
+    private String jqNonCopyingRatio;
+
+    /**
+     * 商业应收比例
+     */
+    @ExcelProperty("商业应收比例")
+    private String syReceivableRatio;
+
+    /**
+     * 商业手续费比例
+     */
+    @ExcelProperty("商业手续费比例")
+    private String syPremiumRatio;
+
+    /**
+     * 商业非跟单比例
+     */
+    @ExcelProperty("商业非跟单比例")
+    private String syNonCopyingRatio;
+
+    /**
+     * 非车应收比例
+     */
+    @ExcelProperty("非车应收比例")
+    private String nonCarReceivableRatio;
+
+    /**
+     * 非车手续费比例
+     */
+    @ExcelProperty("非车手续费比例")
+    private String nonCarPremiumRatio;
+
+    /**
+     * 非车非跟单比例
+     */
+    @ExcelProperty("非车非跟单比例")
+    private String nonCarNonCopyingRatio;
+
+    /**
+     * 手续费金额
+     */
+    @ExcelProperty("手续费金额")
+    private String premium;
+
+    /**
+     * 非跟单金额
+     */
+    @ExcelProperty("非跟单金额")
+    private String nonCopying;
+
+    /**
+     * 应收金额
+     */
+    @ExcelProperty("应收金额")
+    private String receivable;
+
+    /**
+     * 最大交强应付比例
+     */
+    @ExcelProperty("最大交强应付比例")
+    private String maxJqReceivableRatio;
+
+    /**
+     * 最大交强应付比例
+     */
+    @ExcelProperty("最大商业应付比例")
+    private String maxSyReceivableRatio;
+
+    /**
+     * 最大交强应付比例
+     */
+    @ExcelProperty("最大非车应付比例")
+    private String maxNonCarReceivableRatio;
+
+    /**
+     * 最大应收金额
+     */
+    @ExcelProperty("最大应付金额")
+    private String maxReceivable;
+
+    /**
+     * 结算状态 (0 已认领 (未结) 1已认领(结算) 2未认领 3孤儿单
+     */
+    @ExcelProperty("结算状态")
+    private String clearingState;
+}

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

@@ -19,7 +19,7 @@ public class InvChannelAccount implements Serializable {
      * 工号
      */
     @TableField(value = "employee_id")
-    private Long employeeId;
+    private String employeeId;
 
     /**
      * 编号

+ 49 - 19
src/main/java/com/ydtech/modules/inv/model/po/InvSettlementSource.java

@@ -1,11 +1,17 @@
 package com.ydtech.modules.inv.model.po;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 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 java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -15,11 +21,7 @@ import lombok.Data;
 @TableName(value ="inv_settlement_source")
 @Data
 public class InvSettlementSource implements Serializable {
-    /**
-     * 工号
-     */
-    @TableField(value = "employee_id")
-    private Long employeeId;
+
 
     /**
      * 编号
@@ -27,113 +29,141 @@ public class InvSettlementSource implements Serializable {
     @TableId(value = "id")
     private Long id;
 
+    /**
+     * 工号
+     */
+    @TableField(value = "employee_id")
+    @ApiModelProperty("工号")
+    private String employeeId;
+
+
     /**
      * 签单日期
      */
     @TableField(value = "sign_date")
-    private Date signDate;
+    @ApiModelProperty("签单日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate signDate;
 
     /**
      * 车牌号
      */
     @TableField(value = "licenseno")
-    private Integer licenseno;
+    @ApiModelProperty("车牌号")
+    private String licenseno;
 
     /**
      * 被保险人
      */
     @TableField(value = "insured_name")
+    @ApiModelProperty("被保险人")
     private String insuredName;
 
     /**
      * 保险公司
      */
     @TableField(value = "insurance_company")
+    @ApiModelProperty("险种")
     private String insuranceCompany;
 
     /**
      * 险种
      */
     @TableField(value = "insurance_type")
+    @ApiModelProperty("险种")
     private String insuranceType;
 
     /**
      * 业务归属
      */
     @TableField(value = "business_owner")
+    @ApiModelProperty("业务归属")
     private String businessOwner;
 
     /**
      * 交强保单号
      */
     @TableField(value = "jq_policy_id")
-    private Integer jqPolicyId;
+    @ApiModelProperty("交强保单号")
+    private String jqPolicyId;
 
     /**
      * 商业保单号
      */
     @TableField(value = "sy_policy_id")
-    private Integer syPolicyId;
+    @ApiModelProperty("商业保单号")
+    private String syPolicyId;
 
     /**
      * 非车保单号
      */
     @TableField(value = "non_car_policy_id")
-    private Integer nonCarPolicyId;
+    @ApiModelProperty("非车保单号")
+    private String nonCarPolicyId;
 
     /**
      * 交强保费
      */
     @TableField(value = "jq_premium_tax")
-    private String jqPremiumTax;
+    @ApiModelProperty("交强保费")
+    private BigDecimal jqPremiumTax;
 
     /**
      * 车船税
      */
     @TableField(value = "vehicle_tax")
-    private String vehicleTax;
+    @ApiModelProperty("车船税")
+    private BigDecimal vehicleTax;
 
     /**
      * 商业保费
      */
     @TableField(value = "sy_premium_tax")
-    private String syPremiumTax;
+    @ApiModelProperty("商业保费")
+    private BigDecimal syPremiumTax;
 
     /**
      * 非车保费
      */
     @TableField(value = "non_car_premium_tax")
-    private String nonCarPremiumTax;
+    @ApiModelProperty("非车保费")
+    private BigDecimal nonCarPremiumTax;
 
     /**
      * 交强出口比例
      */
     @TableField(value = "compulsory_export_ratio")
-    private String compulsoryExportRatio;
+    @ApiModelProperty("交强出口比例")
+    private BigDecimal compulsoryExportRatio;
 
     /**
      * 商业出口比例
      */
     @TableField(value = "commercial_export_ratio")
-    private String commercialExportRatio;
+    @ApiModelProperty("商业出口比例")
+    private BigDecimal commercialExportRatio;
 
     /**
      * 非车出口比例
      */
     @TableField(value = "non_vehicle_export_ratio")
-    private String nonVehicleExportRatio;
+    @ApiModelProperty("非车出口比例")
+    private BigDecimal nonVehicleExportRatio;
 
     /**
      * 结算金额
      */
     @TableField(value = "settlement_amount")
-    private String settlementAmount;
+    @ApiModelProperty("结算金额")
+    private BigDecimal settlementAmount;
 
     /**
      * 代理结算时间
      */
     @TableField(value = "agency_settlement_time")
-    private Date agencySettlementTime;
+    @ApiModelProperty("代理结算时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate agencySettlementTime;
 
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;

+ 70 - 23
src/main/java/com/ydtech/modules/inv/model/po/InvSource.java

@@ -1,12 +1,17 @@
 package com.ydtech.modules.inv.model.po;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 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 java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -16,87 +21,104 @@ import lombok.Data;
 @TableName(value ="inv_source")
 @Data
 public class InvSource implements Serializable {
-    /**
-     * 保司编码
-     */
-    @TableField(value = "insurance_id")
-    private Long insuranceId;
+
 
     /**
      * 编号
      */
     @TableId(value = "id")
+    @ApiModelProperty("编号")
     private Long id;
 
+    /**
+     * 保司编码
+     */
+    @TableField(value = "insurance_id")
+    @ApiModelProperty("保司编码")
+    private Long insuranceId;
+
+
     /**
      * 保司名称
      */
     @TableField(value = "insurance_name")
+    @ApiModelProperty("保司名称")
     private String insuranceName;
 
     /**
      * 保司机构
      */
     @TableField(value = "insurance_dept")
+    @ApiModelProperty("保司机构")
     private String insuranceDept;
 
     /**
      * 保司机构id
      */
     @TableField(value = "insurance_dept_id")
-    private Long insuranceDeptId;
+    @ApiModelProperty("保司机构id")
+    private String insuranceDeptId;
 
     /**
      * 险种
      */
     @TableField(value = "risk")
+    @ApiModelProperty("险种")
     private String risk;
 
     /**
      * 交强保单号
      */
     @TableField(value = "jq_policy_id")
-    private Long jqPolicyId;
+    @ApiModelProperty("交强保单号")
+    private String jqPolicyId;
 
     /**
      * 交强保费(含税)
      */
     @TableField(value = "jq_premium_tax")
+    @ApiModelProperty("交强保费(含税)")
     private BigDecimal jqPremiumTax;
 
     /**
      * 交强保费(不含税)
      */
     @TableField(value = "jq_premium")
+    @ApiModelProperty("交强保费(不含税)")
     private BigDecimal jqPremium;
 
     /**
      * 商业保单号
      */
     @TableField(value = "sy_policy_id")
-    private Long syPolicyId;
+    @ApiModelProperty("商业保单号")
+    private String syPolicyId;
 
     /**
      * 商业保费(含税)
      */
     @TableField(value = "sy_premium_tax")
+    @ApiModelProperty("商业保费(含税)")
     private BigDecimal syPremiumTax;
 
     /**
      * 商业保费(不含税)
      */
     @TableField(value = "sy_premium")
+    @ApiModelProperty("商业保费(不含税)")
     private BigDecimal syPremium;
 
     /**
      * 非车保单号
      */
     @TableField(value = "non_car_policy_id")
-    private Long nonCarPolicyId;
+    @ApiModelProperty("非车保单号")
+    private String nonCarPolicyId;
 
     /**
      * 非车保费(含税)
      */
+    @ApiModelProperty("非车保单号")
     @TableField(value = "non_car_premium_tax")
     private BigDecimal nonCarPremiumTax;
 
@@ -104,138 +126,163 @@ public class InvSource implements Serializable {
      * 非车保费(不含税)
      */
     @TableField(value = "non_car_premium")
+    @ApiModelProperty("非车保费(不含税)")
     private BigDecimal nonCarPremium;
 
     /**
      * 被保险人名字
      */
     @TableField(value = "insured_name")
+    @ApiModelProperty("被保险人名字")
     private String insuredName;
 
     /**
      * 车牌号
      */
     @TableField(value = "licenseno")
+    @ApiModelProperty("车牌号")
     private String licenseno;
 
     /**
      * 出单日期
      */
     @TableField(value = "signing_time")
-    private Date signingTime;
+    @ApiModelProperty("出单日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate signingTime;
 
     /**
      * 结算日期
      */
     @TableField(value = "clearing_time")
-    private Date clearingTime;
+    @ApiModelProperty("结算日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate clearingTime;
 
     /**
      * 车船税
      */
     @TableField(value = "taxamount")
+    @ApiModelProperty("车船税")
     private BigDecimal taxamount;
 
     /**
      * 交强应收比例
      */
     @TableField(value = "jq_receivable_ratio")
-    private Integer jqReceivableRatio;
+    @ApiModelProperty("交强应收比例")
+    private BigDecimal jqReceivableRatio;
 
     /**
      * 交强手续费比例
      */
     @TableField(value = "jq_premium_ratio")
-    private Integer jqPremiumRatio;
+    @ApiModelProperty("交强手续费比例")
+    private BigDecimal jqPremiumRatio;
 
     /**
      * 交强非跟单比例
      */
     @TableField(value = "jq_non_copying_ratio")
-    private Integer jqNonCopyingRatio;
+    @ApiModelProperty("交强非跟单比例")
+    private BigDecimal jqNonCopyingRatio;
 
     /**
      * 商业应收比例
      */
     @TableField(value = "sy_receivable_ratio")
-    private Integer syReceivableRatio;
+    @ApiModelProperty("商业应收比例")
+    private BigDecimal syReceivableRatio;
 
     /**
      * 商业手续费比例
      */
     @TableField(value = "sy_premium_ratio")
-    private Integer syPremiumRatio;
+    @ApiModelProperty("商业手续费比例")
+    private BigDecimal syPremiumRatio;
 
     /**
      * 商业非跟单比例
      */
     @TableField(value = "sy_non_copying_ratio")
-    private Integer syNonCopyingRatio;
+    @ApiModelProperty("商业非跟单比例")
+    private BigDecimal syNonCopyingRatio;
 
     /**
      * 非车应收比例
      */
     @TableField(value = "non_car_receivable_ratio")
-    private Integer nonCarReceivableRatio;
+    @ApiModelProperty("非车应收比例")
+    private BigDecimal nonCarReceivableRatio;
 
     /**
      * 非车手续费比例
      */
     @TableField(value = "non_car_premium_ratio")
-    private Integer nonCarPremiumRatio;
+    @ApiModelProperty("非车手续费比例")
+    private BigDecimal nonCarPremiumRatio;
 
     /**
      * 非车非跟单比例
      */
     @TableField(value = "non_car_non_copying_ratio")
-    private Integer nonCarNonCopyingRatio;
+    @ApiModelProperty("非车非跟单比例")
+    private BigDecimal nonCarNonCopyingRatio;
 
     /**
      * 手续费金额
      */
     @TableField(value = "premium")
+    @ApiModelProperty("手续费金额")
     private BigDecimal premium;
 
     /**
      * 非跟单金额
      */
     @TableField(value = "non_copying")
+    @ApiModelProperty("非跟单金额")
     private BigDecimal nonCopying;
 
     /**
      * 应收金额
      */
     @TableField(value = "receivable")
+    @ApiModelProperty("应收金额")
     private BigDecimal receivable;
 
     /**
      * 最大交强应付比例
      */
     @TableField(value = "max_jq_receivable_ratio")
-    private Integer maxJqReceivableRatio;
+    @ApiModelProperty("最大交强应付比例")
+    private BigDecimal maxJqReceivableRatio;
 
     /**
      * 最大交强应付比例
      */
     @TableField(value = "max_sy_receivable_ratio")
-    private Integer maxSyReceivableRatio;
+    @ApiModelProperty("最大交强应付比例")
+    private BigDecimal maxSyReceivableRatio;
 
     /**
      * 最大交强应付比例
      */
     @TableField(value = "max_non_car_receivable_ratio")
-    private Integer maxNonCarReceivableRatio;
+    @ApiModelProperty("最大交强应付比例")
+    private BigDecimal maxNonCarReceivableRatio;
 
     /**
      * 最大应收金额
      */
     @TableField(value = "max_receivable")
+    @ApiModelProperty("最大应收金额")
     private String maxReceivable;
 
     /**
      * 结算状态 (0 已认领 (未结) 1已认领(结算) 2未认领 3孤儿单
      */
     @TableField(value = "clearing_state")
+    @ApiModelProperty("结算状态 (0 已认领 (未结) 1已认领(结算) 2未认领 3Singleton)")
     private String clearingState;
 
     @TableField(exist = false)

+ 5 - 0
src/main/java/com/ydtech/modules/inv/service/InvSettlementSourceService.java

@@ -1,7 +1,9 @@
 package com.ydtech.modules.inv.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.inv.model.po.InvSettlementSource;
+import org.springframework.beans.factory.annotation.Value;
 
 /**
 * @author Administrator
@@ -10,4 +12,7 @@ import com.ydtech.modules.inv.model.po.InvSettlementSource;
 */
 public interface InvSettlementSourceService extends IService<InvSettlementSource> {
 
+
+
+    HttpResult readInvSettlementSourceExcel(String File);
 }

+ 2 - 1
src/main/java/com/ydtech/modules/inv/service/InvSourceService.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.inv.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.inv.model.po.InvSource;
 
 /**
@@ -9,5 +10,5 @@ import com.ydtech.modules.inv.model.po.InvSource;
 * @createDate 2024-01-20 10:28:34
 */
 public interface InvSourceService extends IService<InvSource> {
-
+    HttpResult readExcel(String file);
 }

+ 45 - 0
src/main/java/com/ydtech/modules/inv/service/impl/InvSettlementSourceServiceImpl.java

@@ -1,11 +1,21 @@
 package com.ydtech.modules.inv.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.inv.dao.InvSettlementSourceMapper;
+import com.ydtech.modules.inv.model.excel.InvSettlementSourceExcel;
 import com.ydtech.modules.inv.model.po.InvSettlementSource;
 import com.ydtech.modules.inv.service.InvSettlementSourceService;
+import com.ydtech.modules.inv.utils.EasyExcelUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
 * @author Administrator
 * @description 针对表【inv_settlement_source(结算来源表)】的数据库操作Service实现
@@ -14,6 +24,41 @@ import org.springframework.stereotype.Service;
 @Service
 public class InvSettlementSourceServiceImpl extends ServiceImpl<InvSettlementSourceMapper, InvSettlementSource>
     implements InvSettlementSourceService {
+    @Autowired
+    private InvSettlementSourceService invSettlementSourceService;
+
+    @Value("${upload.file.path}")
+    String uploadFilePath;
+
+    @Override
+    public HttpResult readInvSettlementSourceExcel(String file) {
+        List<InvSettlementSourceExcel> invSettlementSourceExcels = EasyExcelUtils.readInvSettlementSourceExcelExcel(uploadFilePath + file, InvSettlementSourceExcel.class);
+        List<InvSettlementSource> invSettlementSources = new ArrayList<>();
+        for (InvSettlementSourceExcel invSettlementSourceExcel : invSettlementSourceExcels){
+            InvSettlementSource invSettlementSource = new InvSettlementSource();
+            invSettlementSource.setEmployeeId(invSettlementSourceExcel.getEmployeeId());
+            invSettlementSource.setSignDate(LocalDate.from(invSettlementSourceExcel.getSignDate()));
+            invSettlementSource.setLicenseno(invSettlementSourceExcel.getLicenseno());
+            invSettlementSource.setInsuredName(invSettlementSourceExcel.getInsuredName());
+            invSettlementSource.setInsuranceCompany(invSettlementSourceExcel.getInsuranceCompany());
+            invSettlementSource.setInsuranceType(invSettlementSourceExcel.getInsuranceType());
+            invSettlementSource.setBusinessOwner(invSettlementSourceExcel.getBusinessOwner());
+            invSettlementSource.setJqPolicyId(invSettlementSourceExcel.getJqPolicyId());
+            invSettlementSource.setSyPolicyId(invSettlementSourceExcel.getSyPolicyId());
+            invSettlementSource.setNonCarPolicyId(invSettlementSourceExcel.getNonCarPolicyId());
+            invSettlementSource.setJqPremiumTax(new BigDecimal(invSettlementSourceExcel.getJqPremiumTax()));
+            invSettlementSource.setSyPremiumTax(new BigDecimal(invSettlementSourceExcel.getSyPremiumTax()));
+            invSettlementSource.setNonCarPremiumTax(new BigDecimal(invSettlementSourceExcel.getNonCarPremiumTax()));
+            invSettlementSource.setCompulsoryExportRatio(new BigDecimal(invSettlementSourceExcel.getCompulsoryExportRatio().substring(0,invSettlementSourceExcel.getCompulsoryExportRatio().length()-1)));
+            invSettlementSource.setCommercialExportRatio(new BigDecimal(invSettlementSourceExcel.getCommercialExportRatio().substring(0,invSettlementSourceExcel.getCommercialExportRatio().length()-1)));
+            invSettlementSource.setNonVehicleExportRatio(new BigDecimal(invSettlementSourceExcel.getNonVehicleExportRatio().substring(0,invSettlementSourceExcel.getNonVehicleExportRatio().length()-1)));
+            invSettlementSource.setSettlementAmount(new BigDecimal(invSettlementSourceExcel.getSettlementAmount()));
+            invSettlementSource.setAgencySettlementTime(LocalDate.from(invSettlementSourceExcel.getAgencySettlementTime()));
+            invSettlementSources.add(invSettlementSource);
+        }
+        invSettlementSourceService.saveBatch(invSettlementSources);
+        return HttpResult.ok(invSettlementSourceExcels);
+    }
 
 }
 

+ 65 - 0
src/main/java/com/ydtech/modules/inv/service/impl/InvSourceServiceImpl.java

@@ -1,11 +1,21 @@
 package com.ydtech.modules.inv.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.inv.dao.InvSourceMapper;
+import com.ydtech.modules.inv.model.excel.InvSourceExcel;
 import com.ydtech.modules.inv.model.po.InvSource;
 import com.ydtech.modules.inv.service.InvSourceService;
+import com.ydtech.modules.inv.utils.EasyExcelUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
 * @author Administrator
 * @description 针对表【inv_source(来源表)】的数据库操作Service实现
@@ -14,7 +24,62 @@ import org.springframework.stereotype.Service;
 @Service
 public class InvSourceServiceImpl extends ServiceImpl<InvSourceMapper, InvSource>
     implements InvSourceService {
+    @Value("${upload.file.path}")
+    String uploadFilePath;
+
+    @Autowired
+    InvSourceService invSourceService;
+
+    @Override
+    public HttpResult readExcel(String file) {
+        List<InvSourceExcel> invSourceExcels = EasyExcelUtils.readInvSourceExcel(uploadFilePath + file, InvSourceExcel.class);
+        List<InvSource> invSources = new ArrayList<>();
+        for(InvSourceExcel invSourceExcel:invSourceExcels){
+            InvSource invSource = new InvSource();
+            if (invSourceExcel.getInsuranceId() != null){
+                invSource.setInsuranceId(Long.valueOf(invSourceExcel.getInsuranceId()));
+            }
 
+            invSource.setInsuranceName(invSourceExcel.getInsuranceName());
+            invSource.setInsuranceDept(invSourceExcel.getInsuranceDept());
+            invSource.setInsuranceDeptId(invSourceExcel.getInsuranceDeptId());
+            invSource.setRisk(invSourceExcel.getRisk());
+            invSource.setJqPolicyId(invSourceExcel.getJqPolicyId());
+            invSource.setJqPremium(new BigDecimal(invSourceExcel.getJqPremium()));
+            invSource.setJqPremiumTax(new BigDecimal(invSourceExcel.getJqPremiumTax()));
+            invSource.setSyPolicyId(invSourceExcel.getSyPolicyId());
+            invSource.setSyPremium(new BigDecimal(invSourceExcel.getSyPremium()));
+            invSource.setSyPremiumTax(new BigDecimal(invSourceExcel.getSyPremiumTax()));
+            invSource.setNonCarPolicyId(invSourceExcel.getNonCarPolicyId());
+            invSource.setNonCarPremiumTax(new BigDecimal(invSourceExcel.getNonCarPremiumTax()));
+            invSource.setNonCarPremium(new BigDecimal(invSourceExcel.getNonCarPremium()));
+            invSource.setInsuredName(invSourceExcel.getInsuredName());
+            invSource.setLicenseno(invSourceExcel.getLicenseno());
+            invSource.setSigningTime(invSourceExcel.getSigningTime().toLocalDate());
+            invSource.setClearingTime(invSourceExcel.getClearingTime().toLocalDate());
+            invSource.setTaxamount(new BigDecimal(invSourceExcel.getTaxamount()));
+            invSource.setJqReceivableRatio(new BigDecimal(invSourceExcel.getJqReceivableRatio().substring(0,invSourceExcel.getJqReceivableRatio().length()-1)));
+            invSource.setJqPremiumRatio(new BigDecimal(invSourceExcel.getJqPremiumRatio().substring(0,invSourceExcel.getJqPremiumRatio().length()-1)));
+            invSource.setJqNonCopyingRatio(new BigDecimal(invSourceExcel.getJqNonCopyingRatio().substring(0,invSourceExcel.getJqNonCopyingRatio().length()-1)));
+            invSource.setSyReceivableRatio(new BigDecimal(invSourceExcel.getSyReceivableRatio().substring(0,invSourceExcel.getSyReceivableRatio().length()-1)));
+            invSource.setSyPremiumRatio(new BigDecimal(invSourceExcel.getSyPremiumRatio().substring(0,invSourceExcel.getSyPremiumRatio().length()-1)));
+            invSource.setSyNonCopyingRatio(new BigDecimal(invSourceExcel.getSyNonCopyingRatio().substring(0,invSourceExcel.getSyNonCopyingRatio().length()-1)));
+            invSource.setNonCarReceivableRatio(new BigDecimal(invSourceExcel.getNonCarReceivableRatio().substring(0,invSourceExcel.getNonCarReceivableRatio().length()-1)));
+            invSource.setNonCarPremiumRatio(new BigDecimal(invSourceExcel.getNonCarPremiumRatio().substring(0,invSourceExcel.getNonCarPremiumRatio().length()-1)));
+            invSource.setNonCarNonCopyingRatio(new BigDecimal(invSourceExcel.getNonCarNonCopyingRatio().substring(0,invSourceExcel.getNonCarNonCopyingRatio().length()-1)));
+            invSource.setPremium(new BigDecimal(invSourceExcel.getPremium()));
+            invSource.setNonCopying(new BigDecimal(invSourceExcel.getNonCopying()));
+            invSource.setReceivable(new BigDecimal(invSourceExcel.getReceivable()));
+            invSource.setMaxJqReceivableRatio(new BigDecimal(invSourceExcel.getMaxJqReceivableRatio().substring(0,invSourceExcel.getMaxJqReceivableRatio().length()-1)));
+            invSource.setMaxSyReceivableRatio(new BigDecimal(invSourceExcel.getMaxSyReceivableRatio().substring(0,invSourceExcel.getMaxSyReceivableRatio().length()-1)));
+            invSource.setMaxNonCarReceivableRatio(new BigDecimal(invSourceExcel.getMaxNonCarReceivableRatio().substring(0,invSourceExcel.getMaxNonCarReceivableRatio().length()-1)));
+            invSource.setMaxReceivable(invSourceExcel.getMaxReceivable());
+            invSource.setClearingState(invSourceExcel.getClearingState());
+            invSources.add(invSource);
+        }
+        invSourceService.saveBatch(invSources);
+        return  HttpResult.ok();
+    }
 }
 
 

+ 20 - 2
src/main/java/com/ydtech/modules/inv/utils/EasyExcelUtils.java

@@ -1,11 +1,13 @@
 package com.ydtech.modules.inv.utils;
 
 import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.read.listener.PageReadListener;
 import com.alibaba.excel.write.builder.ExcelWriterBuilder;
 import com.ydtech.constants.enums.inv.InsAccountOperateEnum;
 import com.ydtech.constants.enums.inv.InvPayMethodEnum;
-import com.ydtech.modules.inv.model.InvAccountCard;
 import com.ydtech.modules.inv.model.InvAccountExcel;
+import com.ydtech.modules.inv.model.excel.InvSettlementSourceExcel;
+import com.ydtech.modules.inv.model.excel.InvSourceExcel;
 import com.ydtech.modules.inv.service.InvAccountExcelService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -23,7 +25,7 @@ public class EasyExcelUtils {
     @Autowired
     private InvAccountExcelService insAccountExcelService;
 
-
+    //通用写入
     public static String downExcel(String uploadFilePath, Class clz, List<?> list) {
 
         String file = System.currentTimeMillis() + ".xlsx";
@@ -32,6 +34,22 @@ public class EasyExcelUtils {
         return file;
     }
 
+    public static List<InvSourceExcel> readInvSourceExcel(String uploadFilePath, Class clz) {
+
+        // 这里默认每次会读取100条数据 然后返回过来 直接调用使用数据就行
+        List<InvSourceExcel> list = new ArrayList<>();
+        EasyExcel.read(uploadFilePath, clz, new PageReadListener<InvSourceExcel>(list::addAll)).sheet().sheetName("来源表(1)").doRead();
+        return list;
+    }
+
+    public static List<InvSettlementSourceExcel> readInvSettlementSourceExcelExcel(String uploadFilePath, Class clz) {
+
+        // 这里默认每次会读取100条数据 然后返回过来 直接调用使用数据就行
+        List<InvSettlementSourceExcel> list = new ArrayList<>();
+        EasyExcel.read(uploadFilePath, clz, new PageReadListener<InvSettlementSourceExcel>(list::addAll)).sheet().sheetName("结算来源表(3)").doRead();
+        return list;
+    }
+
 
     /**
      * 导出资金申请模板