Przeglądaj źródła

Merge remote-tracking branch 'origin/test' into test

785834757 2 lat temu
rodzic
commit
34d36c3e9a
20 zmienionych plików z 890 dodań i 82 usunięć
  1. 105 0
      src/main/java/com/ydtech/modules/admin/controller/FinanceDataReportConroller.java
  2. 68 20
      src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsDto.java
  3. 15 10
      src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsSZDto.java
  4. 2 0
      src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsTGDto.java
  5. 66 0
      src/main/java/com/ydtech/modules/admin/model/report/financeData/AdvanceAndActualDataDto.java
  6. 52 0
      src/main/java/com/ydtech/modules/admin/model/report/financeData/AdvanceAndActualDeptDataDto.java
  7. 56 0
      src/main/java/com/ydtech/modules/admin/model/report/financeData/AdvanceAndActualDeptQueryDto.java
  8. 68 0
      src/main/java/com/ydtech/modules/admin/model/report/financeData/AdvanceAndActualQueryDto.java
  9. 34 0
      src/main/java/com/ydtech/modules/admin/service/FinanceDataReportService.java
  10. 57 0
      src/main/java/com/ydtech/modules/admin/service/impl/FinanceDataReportServiceImpl.java
  11. 3 0
      src/main/java/com/ydtech/modules/fnc/service/impl/InsPlyIncomeServiceImpl.java
  12. 4 0
      src/main/java/com/ydtech/modules/fnc/vo/InsPlyIncomeVo.java
  13. 17 17
      src/main/java/com/ydtech/modules/protocol/controller/PtlAgreementController.java
  14. 30 13
      src/main/java/com/ydtech/modules/protocol/service/PtlAgreementService.java
  15. 8 16
      src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementServiceImpl.java
  16. 18 0
      src/main/java/com/ydtech/modules/protocols/dao/InsFeeOrderNewMapper.java
  17. 111 0
      src/main/java/com/ydtech/utils/CustomCellWriteHandler.java
  18. 1 4
      src/main/java/com/ydtech/utils/ExcelUtils.java
  19. 29 0
      src/main/resources/mapper/modules/fnc/InsPlyIncomeMapper.xml
  20. 146 2
      src/main/resources/mapper/modules/ins/InsFeeOrderNewMapper.xml

+ 105 - 0
src/main/java/com/ydtech/modules/admin/controller/FinanceDataReportConroller.java

@@ -0,0 +1,105 @@
+package com.ydtech.modules.admin.controller;
+
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDataDto;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptDataDto;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptQueryDto;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualQueryDto;
+import com.ydtech.modules.admin.model.report.opetationData.OperationsPersonnelDataDto;
+import com.ydtech.modules.admin.model.report.opetationData.QuotationCountDataDto;
+import com.ydtech.modules.admin.model.report.opetationData.QuotationCountQueryDto;
+import com.ydtech.modules.admin.service.FinanceDataReportService;
+import com.ydtech.modules.order.entity.BasePageResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/1 11:31
+ *  @Description:  控制台  运营数据统计
+ */
+@Api(tags = "财务数据统计")
+@RequestMapping("/financeDataReport")
+@RestController
+public class FinanceDataReportConroller {
+
+    @Autowired
+    private FinanceDataReportService financeDataReportService;
+
+   /**
+    *  @version 
+    *  @author: hxl
+    *  @Date: 2024/7/3 14:54
+    *  @Description: 财务数据 - 渠道/代理人 - 预收、实收数据
+    */ 
+    @PostMapping("queryAdvanceAndActualDataPage")
+    @ApiOperation(value = "财务数据 - 渠道/代理人 - 预收、实收数据")
+    public HttpResult<BasePageResult<AdvanceAndActualDataDto>> queryAdvanceAndActualDataPage(@RequestBody AdvanceAndActualQueryDto advanceAndActualQueryDto) {
+        try{
+            BasePageResult<AdvanceAndActualDataDto> result = financeDataReportService.queryAdvanceAndActualDataPage(advanceAndActualQueryDto);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/3 14:54
+     *  @Description: 财务数据 -机构的 -预收、实收数据
+     */
+    @PostMapping("queryAdvanceAndActualDeptDataPage")
+    @ApiOperation(value = "财务数据 -机构的 -预收、实收数据")
+    public HttpResult<BasePageResult<AdvanceAndActualDeptDataDto>> queryAdvanceAndActualDeptDataPage(@RequestBody AdvanceAndActualDeptQueryDto advanceAndActualDeptQueryDto) {
+        try{
+            BasePageResult<AdvanceAndActualDeptDataDto> result = financeDataReportService.queryAdvanceAndActualDeptDataPage(advanceAndActualDeptQueryDto);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/3 11:17
+     *  @Description:   财务数据 -渠道/代理人 - 已提现/提现中/驳回的金额
+     */
+    @PostMapping("queryQuotationCountDataPage11")
+    @ApiOperation(value = "查询报价次数数据")
+    public HttpResult<BasePageResult<QuotationCountDataDto>> queryQuotationCountDataPage(@RequestBody QuotationCountQueryDto quotationCountQueryDto) {
+        try{
+            BasePageResult<QuotationCountDataDto> result = null;
+                   // financeDataReportService.queryQuotationCountDataPage(quotationCountQueryDto);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/3 11:17
+     *  @Description: 财务数据 -机构 - 已提现/提现中/驳回的金额
+     */
+    @PostMapping("queryOperationsPersonnelDataPage22")
+    @ApiOperation(value = "查询运营人员数据")
+    public HttpResult<BasePageResult<OperationsPersonnelDataDto>> queryOperationsPersonnelDataPage(@RequestBody QuotationCountQueryDto quotationCountQueryDto) {
+        try{
+            BasePageResult<OperationsPersonnelDataDto> result = null;
+                    //financeDataReportService.queryOperationsPersonnelDataPage(quotationCountQueryDto);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+}

+ 68 - 20
src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsDto.java

@@ -1,6 +1,8 @@
 package com.ydtech.modules.admin.model.dto;
 package com.ydtech.modules.admin.model.dto;
 
 
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
@@ -15,62 +17,76 @@ import java.math.BigDecimal;
  */
  */
 @Data
 @Data
 @ApiModel("预收车险导出对象")
 @ApiModel("预收车险导出对象")
+@ColumnWidth(15)
 public class ExportExpenditureTypeDetalsDto {
 public class ExportExpenditureTypeDetalsDto {
 
 
     /***
     /***
-     * 订单
+     * 任务
      */
      */
-    @ExcelProperty("任务号")
+    //@ExcelProperty("任务号")
+    @ExcelIgnore
     @ApiModelProperty(value = "任务号")
     @ApiModelProperty(value = "任务号")
     private String  orderNo;
     private String  orderNo;
 
 
     /***
     /***
      * 订单号
      * 订单号
      */
      */
-    @ExcelProperty("订单号")
+    //@ExcelProperty("订单号")
+    @ExcelIgnore
     @ApiModelProperty(value = "订单号")
     @ApiModelProperty(value = "订单号")
     private String  subOrderNo;
     private String  subOrderNo;
 
 
     /***
     /***
-     * 承保时间
+     * 签单时间
      */
      */
-    @ExcelProperty("签单时间")
+    //@ExcelProperty("签单时间")
+    @ExcelIgnore
     @ApiModelProperty(value = "签单时间")
     @ApiModelProperty(value = "签单时间")
     private String  signingTime;
     private String  signingTime;
 
 
+    /***
+     * 承保时间
+     */
+    @ExcelProperty(value="签单日期",index = 1)
+    //@ExcelProperty("签单时间")
+    private String  signingTimeDay;
     /***
     /***
      * 代理人工号
      * 代理人工号
      */
      */
-    @ExcelProperty("代理人工号")
+    //@ExcelProperty("代理人工号")
+    @ExcelIgnore
     @ApiModelProperty(value = "代理人工号")
     @ApiModelProperty(value = "代理人工号")
     private String  userId;
     private String  userId;
     /***
     /***
      * 承保时间
      * 承保时间
      */
      */
-    @ExcelProperty("代理人姓名")
+    @ExcelProperty(value="业务员",index = 0)
     @ApiModelProperty(value = "代理人姓名")
     @ApiModelProperty(value = "代理人姓名")
     private String  userName;
     private String  userName;
 
 
     /***
     /***
      * 车牌
      * 车牌
      */
      */
-    @ExcelProperty("车牌")
+    @ExcelProperty(value="车牌",index=2)
     @ApiModelProperty(value = "车牌")
     @ApiModelProperty(value = "车牌")
     private String licenseNo;
     private String licenseNo;
 
 
-    @ExcelProperty("交强保单号")
+    //@ExcelProperty("交强保单号")
+    @ExcelIgnore
     @ApiModelProperty(value = "交强保单号")
     @ApiModelProperty(value = "交强保单号")
     private String jqapplyno;
     private String jqapplyno;
 
 
 
 
-    @ExcelProperty("商业保单号")
+    //@ExcelProperty("商业保单号")
+    @ExcelIgnore
     @ApiModelProperty(value = "商业保单号")
     @ApiModelProperty(value = "商业保单号")
     private String syapplyno;
     private String syapplyno;
 
 
     /***
     /***
      * 车架号
      * 车架号
      */
      */
-    @ExcelProperty("车架号")
+    //@ExcelProperty("车架号")
+    @ExcelIgnore
     @ApiModelProperty(value = "车架号")
     @ApiModelProperty(value = "车架号")
     private String frameNo;
     private String frameNo;
 
 
@@ -78,40 +94,72 @@ public class ExportExpenditureTypeDetalsDto {
     /***
     /***
      * 发动机号
      * 发动机号
      */
      */
-    @ExcelProperty("发动机号")
+    //@ExcelProperty("发动机号")
+    @ExcelIgnore
     @ApiModelProperty(value = "发动机号")
     @ApiModelProperty(value = "发动机号")
     private String engineNo;
     private String engineNo;
 
 
-    @ExcelProperty("投保险种")
+    @ExcelProperty(value="投保险种",index=5)
     @ApiModelProperty(value = "投保险种")
     @ApiModelProperty(value = "投保险种")
     private String productId;
     private String productId;
 
 
 
 
-    @ExcelProperty("投保人姓名")
-    @ApiModelProperty(value = "投保人姓名")
+    @ExcelProperty(value="被保险人",index=3)
+    @ApiModelProperty(value = "被保险人")
     private String insuredName;
     private String insuredName;
 
 
-    @ExcelProperty("保险公司")
+    @ExcelProperty(value="保险公司",index=4)
     @ApiModelProperty(value = "保险公司")
     @ApiModelProperty(value = "保险公司")
     private String companyName;
     private String companyName;
 
 
+    @ExcelProperty(value="交强保费",index=6)
+    @ApiModelProperty(value = "交强保费")
+    private BigDecimal jqPremium;
+
+    @ExcelProperty(value="车船税",index=7)
+    @ApiModelProperty(value = "车船税")
+    private BigDecimal taxamount;
+
+    @ExcelProperty(value="商业保费",index=8)
+    @ApiModelProperty(value = "商业保费")
+    private BigDecimal syPremium;
+
+    @ExcelProperty(value="非车保费",index=9)
+    @ApiModelProperty(value = "非车保费")
+    private BigDecimal jypremium;
+
+    @ExcelProperty(value="交强比例",index=10)
+    @ApiModelProperty(value = "交强比例")
+    private BigDecimal jqExportProportion;
+
+    @ExcelProperty(value="商业比例",index=11)
+    @ApiModelProperty(value = "商业比例")
+    private BigDecimal syExportProportion;
+
+    @ExcelProperty(value="非车比例",index=12)
+    @ApiModelProperty(value = "非车比例")
+    private BigDecimal noExportProportion;
     /***
     /***
      * 金额
      * 金额
      */
      */
-    @ExcelProperty("交易金额")
-    @ApiModelProperty(value = "交易金额")
+    @ExcelProperty(value="结算金额",index=13)
+    @ApiModelProperty(value = "结算金额")
     private BigDecimal amount;
     private BigDecimal amount;
 
 
     /***
     /***
      *   未审核 0 已审核 1
      *   未审核 0 已审核 1
      */
      */
-    @ExcelProperty("审核状态")
+    @ExcelProperty(value="审核状态",index=14)
     @ApiModelProperty(value = "审核状态")
     @ApiModelProperty(value = "审核状态")
     private String auditstatus;
     private String auditstatus;
 
 
-    @ExcelProperty("审核时间")
+    @ExcelIgnore
+    //@ExcelProperty(value="审核时间",index=15)
     @ApiModelProperty(value = "审核时间")
     @ApiModelProperty(value = "审核时间")
     private String auditTime;
     private String auditTime;
 
 
+    @ExcelProperty(value="审核时间",index=15)
+    private String auditTimeDay;
+
 
 
 }
 }

+ 15 - 10
src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsSZDto.java

@@ -2,6 +2,7 @@ package com.ydtech.modules.admin.model.dto;
 
 
 import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
@@ -16,38 +17,42 @@ import java.math.BigDecimal;
  */
  */
 @Data
 @Data
 @ApiModel("收支导出对象")
 @ApiModel("收支导出对象")
+@ColumnWidth(15)
 public class ExportExpenditureTypeDetalsSZDto {
 public class ExportExpenditureTypeDetalsSZDto {
 
 
     /***
     /***
      * 订单号
      * 订单号
      */
      */
-    @ExcelProperty("订单号")
+    @ExcelIgnore
+    //@ExcelProperty("订单号")
     @ApiModelProperty(value = "订单号")
     @ApiModelProperty(value = "订单号")
     private String  subOrderNo;
     private String  subOrderNo;
 
 
     /***
     /***
      * 创建时间
      * 创建时间
      */
      */
-    @ExcelProperty("交易时间")
+    @ColumnWidth(20)
+    @ExcelProperty(value="交易时间",index=0)
     @ApiModelProperty(value = "交易时间")
     @ApiModelProperty(value = "交易时间")
     private String   createTime;
     private String   createTime;
 
 
     /***
     /***
      * 交易号
      * 交易号
      */
      */
-    @ExcelProperty("交易号")
+    @ExcelIgnore
+    //@ExcelProperty("交易号")
     @ApiModelProperty(value = "交易号")
     @ApiModelProperty(value = "交易号")
     private String  auditiingId;
     private String  auditiingId;
 
 
-    @ExcelProperty("车牌")
-    @ApiModelProperty(value = "车牌")
+    @ExcelProperty(value="车牌",index=1)
+    @ApiModelProperty(value = "车牌")
     private String licenseNo;
     private String licenseNo;
 
 
-    @ExcelProperty("业务板块")
+    @ExcelProperty(value="业务板块",index=2)
     @ApiModelProperty(value = "业务板块")
     @ApiModelProperty(value = "业务板块")
     private String businessSegmentsType;
     private String businessSegmentsType;
 
 
-    @ExcelProperty(value = "交易类型")
+    @ExcelProperty(value = "交易类型",index=4)
     @ApiModelProperty(value = "交易类型")
     @ApiModelProperty(value = "交易类型")
     private String  transactionType;
     private String  transactionType;
 
 
@@ -55,17 +60,17 @@ public class ExportExpenditureTypeDetalsSZDto {
     /***
     /***
      * 金额
      * 金额
      */
      */
-    @ExcelProperty("交易金额")
+    @ExcelProperty(value="交易金额",index=5)
     @ApiModelProperty(value = "交易金额")
     @ApiModelProperty(value = "交易金额")
     private BigDecimal amount;
     private BigDecimal amount;
 
 
 
 
 
 
-    @ExcelProperty("提现状态")
+    @ExcelProperty(value="提现状态",index=6)
     @ApiModelProperty(value = "提现状态  1 提现申请  2.处理中 3.提现失败  4.提现成功")
     @ApiModelProperty(value = "提现状态  1 提现申请  2.处理中 3.提现失败  4.提现成功")
     private String auditingStatus;
     private String auditingStatus;
 
 
-    @ExcelProperty("收支类型")
+    @ExcelProperty(value="收支类型",index=3)
     @ApiModelProperty(value = "收支类型")
     @ApiModelProperty(value = "收支类型")
     private String  incomeAndExpensesType;
     private String  incomeAndExpensesType;
     /***
     /***

+ 2 - 0
src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsTGDto.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.admin.model.dto;
 package com.ydtech.modules.admin.model.dto;
 
 
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
@@ -15,6 +16,7 @@ import java.math.BigDecimal;
  */
  */
 @Data
 @Data
 @ApiModel("推广导出对象")
 @ApiModel("推广导出对象")
+@ColumnWidth(20)
 public class ExportExpenditureTypeDetalsTGDto {
 public class ExportExpenditureTypeDetalsTGDto {
 
 
     /***
     /***

+ 66 - 0
src/main/java/com/ydtech/modules/admin/model/report/financeData/AdvanceAndActualDataDto.java

@@ -0,0 +1,66 @@
+package com.ydtech.modules.admin.model.report.financeData;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/3 16:44
+ *  @Description: 预收、实收数据
+ */
+@Data
+@ApiModel("预收、实收渠道/代理人数据对象")
+public class AdvanceAndActualDataDto {
+
+    /***
+     * 用户id
+     */
+    @ApiModelProperty("用户id")
+    private String userId;
+    /***
+     * 用户名称
+     */
+    @ApiModelProperty("用户名称")
+    private String userName;
+
+    /***
+     * 渠道、代理人
+     */
+    @ApiModelProperty("机构类型")
+    private  String deptType;
+    /***
+     * 渠道、代理人
+     */
+    @ApiModelProperty("签单日期")
+    private String signingTime;
+
+    @ApiModelProperty("车牌号")
+    private String licenseNo;
+
+    @ApiModelProperty(value = "总金额")
+    private BigDecimal  sumAmount;
+
+    @ApiModelProperty(value = "手续费金额")
+    private BigDecimal  haldingAmount;
+
+    @ApiModelProperty(value = "跟单金额")
+    private BigDecimal documentaryAmount;
+
+    @ApiModelProperty(value = "推广费金额")
+    private BigDecimal promotionAmount;
+    /***
+     *   未审核 0 已审核 1
+     */
+    @ApiModelProperty(value = "未审核 0 已审核 1")
+    private String auditstatus;
+
+    /***
+     *   子订单号
+     */
+    @ApiModelProperty(value = "子订单号")
+    private String subOrderNo;
+}

+ 52 - 0
src/main/java/com/ydtech/modules/admin/model/report/financeData/AdvanceAndActualDeptDataDto.java

@@ -0,0 +1,52 @@
+package com.ydtech.modules.admin.model.report.financeData;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/3 16:44
+ *  @Description: 预收、实收数据
+ */
+@Data
+@ApiModel("预收、实收机构数据对象")
+public class AdvanceAndActualDeptDataDto {
+
+    /***
+     * 机构id
+     */
+    @ApiModelProperty("机构id")
+    private String deptId;
+    /***
+     * 机构名称
+     */
+    @ApiModelProperty("机构名称")
+    private String deptName;
+    /***
+     * 签单日期
+     */
+    @ApiModelProperty("签单日期")
+    private String signingTime;
+
+    @ApiModelProperty("车牌号")
+    private String licenseNo;
+
+    @ApiModelProperty(value = "总金额")
+    private BigDecimal  sumAmount;
+
+    /*
+     *   未审核 0 已审核 1
+     */
+    @ApiModelProperty(value = "未审核 0 已审核 1")
+    private String auditstatus;
+
+    /***
+     *   子订单号
+     */
+    @ApiModelProperty(value = "子订单号")
+    private String subOrderNo;
+}

+ 56 - 0
src/main/java/com/ydtech/modules/admin/model/report/financeData/AdvanceAndActualDeptQueryDto.java

@@ -0,0 +1,56 @@
+package com.ydtech.modules.admin.model.report.financeData;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/3 16:44
+ *  @Description: 预收、实收数据
+ */
+@Data
+@ApiModel("预收、实收机构数据对象")
+public class AdvanceAndActualDeptQueryDto {
+
+    /***
+     * 用户id
+     */
+    @ApiModelProperty("机构id")
+    private String deptId;
+
+    @ApiModelProperty("车牌号")
+    private String licenseNo;
+
+    /***
+     *   未审核 0 已审核 1
+     */
+    @ApiModelProperty(value = "未审核 0 已审核 1")
+    private String auditstatus;
+
+    /***
+     *   子订单号
+     */
+    @ApiModelProperty(value = "子订单号")
+    private String subOrderNo;
+
+    @ApiModelProperty("页码")
+    private int pageNum;
+
+    @ApiModelProperty("页数")
+    private int pageSize;
+
+
+    /***
+     * 开始时间
+     */
+    @ApiModelProperty("开始时间")
+    private String startDate;
+
+    /***
+     *  结束时间
+     */
+    @ApiModelProperty("endData")
+    private String endData;
+}

+ 68 - 0
src/main/java/com/ydtech/modules/admin/model/report/financeData/AdvanceAndActualQueryDto.java

@@ -0,0 +1,68 @@
+package com.ydtech.modules.admin.model.report.financeData;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/3 16:44
+ *  @Description: 预收、实收数据
+ */
+@Data
+@ApiModel("预收、实收数据对象")
+public class AdvanceAndActualQueryDto {
+
+    /***
+     * 用户id
+     */
+    @ApiModelProperty("用户id")
+    private String deptId;
+    /***
+     * 用户名称
+     */
+    @ApiModelProperty("用户名称")
+    private String userName;
+
+    /***
+     * 渠道、代理人
+     */
+    @ApiModelProperty("机构类型")
+    private  String deptType;
+
+
+    @ApiModelProperty("车牌号")
+    private String licenseNo;
+
+    /***
+     *   未审核 0 已审核 1
+     */
+    @ApiModelProperty(value = "未审核 0 已审核 1")
+    private String auditstatus;
+
+    /***
+     *   子订单号
+     */
+    @ApiModelProperty(value = "子订单号")
+    private String subOrderNo;
+
+    @ApiModelProperty("页码")
+    private int pageNum;
+
+    @ApiModelProperty("页数")
+    private int pageSize;
+
+
+    /***
+     * 开始时间
+     */
+    @ApiModelProperty("开始时间")
+    private String startDate;
+
+    /***
+     *  结束时间
+     */
+    @ApiModelProperty("endData")
+    private String endData;
+}

+ 34 - 0
src/main/java/com/ydtech/modules/admin/service/FinanceDataReportService.java

@@ -0,0 +1,34 @@
+package com.ydtech.modules.admin.service;
+
+
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDataDto;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptDataDto;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptQueryDto;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualQueryDto;
+import com.ydtech.modules.order.entity.BasePageResult;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/1 11:35
+ *  @Description:  控制台之运营数据
+ */
+public interface FinanceDataReportService {
+    /**
+     *  @version 
+     *  @author: hxl
+     *  @Date: 2024/7/3 18:02
+     *  @Description: 财务数据 - 渠道/代理人 - 预收、实收数据
+     */ 
+    BasePageResult<AdvanceAndActualDataDto> queryAdvanceAndActualDataPage(AdvanceAndActualQueryDto advanceAndActualQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/4 9:23
+     *  @Description:   财务数据 - 五级机构 - 预收、实收数据
+     */
+    BasePageResult<AdvanceAndActualDeptDataDto> queryAdvanceAndActualDeptDataPage(AdvanceAndActualDeptQueryDto advanceAndActualDeptQueryDto);
+}
+
+
+

+ 57 - 0
src/main/java/com/ydtech/modules/admin/service/impl/FinanceDataReportServiceImpl.java

@@ -0,0 +1,57 @@
+package com.ydtech.modules.admin.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDataDto;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptDataDto;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptQueryDto;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualQueryDto;
+import com.ydtech.modules.admin.service.FinanceDataReportService;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.protocols.dao.InsFeeOrderNewMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/1 11:36
+ *  @Description: 控制台-运营数据
+ */
+@Service
+public class FinanceDataReportServiceImpl implements FinanceDataReportService {
+
+
+
+    @Autowired
+    private InsFeeOrderNewMapper insFeeOrderNewMapper;
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/3 18:05
+     *  @Description:  财务数据 - 渠道/代理人 - 预收、实收数据
+     */
+    @Override
+    public BasePageResult<AdvanceAndActualDataDto> queryAdvanceAndActualDataPage(AdvanceAndActualQueryDto advanceAndActualQueryDto) {
+        Page<AdvanceAndActualDataDto> page = new Page<>(advanceAndActualQueryDto.getPageNum(), advanceAndActualQueryDto.getPageSize());
+        Page<AdvanceAndActualDataDto> result = insFeeOrderNewMapper.queryAdvanceAndActualDataPage(advanceAndActualQueryDto, page);
+        return new BasePageResult<>(advanceAndActualQueryDto.getPageNum(), page.getSize(), result.getTotal(), page.getPages(),
+                result.getRecords());
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/4 9:25
+     *  @Description:   财务数据 - 五级机构 - 预收、实收数据
+     */
+    @Override
+    public BasePageResult<AdvanceAndActualDeptDataDto> queryAdvanceAndActualDeptDataPage(AdvanceAndActualDeptQueryDto advanceAndActualDeptQueryDto) {
+        Page<AdvanceAndActualDeptDataDto> page = new Page<>(advanceAndActualDeptQueryDto.getPageNum(), advanceAndActualDeptQueryDto.getPageSize());
+        Page<AdvanceAndActualDeptDataDto> result = insFeeOrderNewMapper.queryAdvanceAndActualDeptDataPage(advanceAndActualDeptQueryDto, page);
+        return new BasePageResult<>(advanceAndActualDeptQueryDto.getPageNum(), page.getSize(), result.getTotal(), page.getPages(),
+                result.getRecords());
+    }
+}
+
+
+

+ 3 - 0
src/main/java/com/ydtech/modules/fnc/service/impl/InsPlyIncomeServiceImpl.java

@@ -750,6 +750,9 @@ handlingProportion,
         if(StringUtils.isNotEmpty(insPlyIncomeVo.getSettlementDate())){
         if(StringUtils.isNotEmpty(insPlyIncomeVo.getSettlementDate())){
             params.put("settlementDate", insPlyIncomeVo.getSettlementDate());
             params.put("settlementDate", insPlyIncomeVo.getSettlementDate());
         }
         }
+        if(StringUtils.isNotEmpty(insPlyIncomeVo.getIsExternal())){
+            params.put("isExternal", insPlyIncomeVo.getIsExternal());
+        }
 
 
         return params;
         return params;
     }
     }

+ 4 - 0
src/main/java/com/ydtech/modules/fnc/vo/InsPlyIncomeVo.java

@@ -394,4 +394,8 @@ public class InsPlyIncomeVo implements Serializable {
     @ApiModelProperty(value = "平台导入结算IdList")
     @ApiModelProperty(value = "平台导入结算IdList")
     private List<String> settIdList;
     private List<String> settIdList;
 
 
+
+    @ApiModelProperty("是否外部订单")
+    private String isExternal;
+
 }
 }

+ 17 - 17
src/main/java/com/ydtech/modules/protocol/controller/PtlAgreementController.java

@@ -52,7 +52,7 @@ public class PtlAgreementController extends BaseController {
     private final PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService;
     private final PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService;
 
 
     public PtlAgreementController(PtlAgreementService ptlAgreementService, PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService,
     public PtlAgreementController(PtlAgreementService ptlAgreementService, PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService,
-                                  PtlAgreementProductCostsService ptlAgreementProductCostsService,PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService) {
+                                  PtlAgreementProductCostsService ptlAgreementProductCostsService, PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService) {
         this.ptlAgreementService = ptlAgreementService;
         this.ptlAgreementService = ptlAgreementService;
         this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
         this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
         this.ptlAgreementUndwrtRulesService = ptlAgreementUndwrtRulesService;
         this.ptlAgreementUndwrtRulesService = ptlAgreementUndwrtRulesService;
@@ -67,10 +67,10 @@ public class PtlAgreementController extends BaseController {
         return HttpResult.ok(buildPageResponse(pageResultHttpResult));
         return HttpResult.ok(buildPageResponse(pageResultHttpResult));
     }
     }
 
 
-    @GetMapping("getAllAgreement")
-    @ApiOperation("获取所有协议")
-    public HttpResult<List<PtlAgreement>>  getAllAgreement(){
-        return HttpResult.ok(ptlAgreementService.getAllAgreement());
+    @GetMapping("/getAllAgreement")
+    @ApiOperation("复制费用查询同保险公司协议")
+    public HttpResult<List<PtlAgreement>> getAllAgreement(@RequestParam String agreementId) {
+        return HttpResult.ok(ptlAgreementService.getAllAgreement(agreementId));
     }
     }
 
 
     @PostMapping("/list")
     @PostMapping("/list")
@@ -125,7 +125,7 @@ public class PtlAgreementController extends BaseController {
     @ApiOperation("查询协议产品费用")
     @ApiOperation("查询协议产品费用")
     public PageResult getProductSav(@RequestBody PtlAgreementProductQueryVo ptlAgreementProductQueryVo) {
     public PageResult getProductSav(@RequestBody PtlAgreementProductQueryVo ptlAgreementProductQueryVo) {
         Page<T> page = buildPageRequest(ptlAgreementProductQueryVo.getPageDto());
         Page<T> page = buildPageRequest(ptlAgreementProductQueryVo.getPageDto());
-        Page<PtlAgreementProductCosts> schemeQueryDto = ptlAgreementProductCostsService.getByAgreementId(page,ptlAgreementProductQueryVo);
+        Page<PtlAgreementProductCosts> schemeQueryDto = ptlAgreementProductCostsService.getByAgreementId(page, ptlAgreementProductQueryVo);
         return buildPageResponse(schemeQueryDto);
         return buildPageResponse(schemeQueryDto);
     }
     }
 
 
@@ -145,9 +145,9 @@ public class PtlAgreementController extends BaseController {
 
 
     @GetMapping("productDelete")
     @GetMapping("productDelete")
     @ApiOperation("删除协议产品费用")
     @ApiOperation("删除协议产品费用")
-    public HttpResult<Object> productDelete(String id){
+    public HttpResult<Object> productDelete(String id) {
         String userName = getUserName();
         String userName = getUserName();
-        return ptlAgreementService.deleteAgreementProduct(id,userName);
+        return ptlAgreementService.deleteAgreementProduct(id, userName);
     }
     }
 
 
 
 
@@ -169,7 +169,7 @@ public class PtlAgreementController extends BaseController {
     @ApiOperation("查询承保规则")
     @ApiOperation("查询承保规则")
     public PageResult getUndwrtRules(@RequestBody PtlAgreementUndwrtRulesQueryVo ptlAgreementUndwrtRulesQueryVo) {
     public PageResult getUndwrtRules(@RequestBody PtlAgreementUndwrtRulesQueryVo ptlAgreementUndwrtRulesQueryVo) {
         Page<T> page = buildPageRequest(ptlAgreementUndwrtRulesQueryVo.getPageDto());
         Page<T> page = buildPageRequest(ptlAgreementUndwrtRulesQueryVo.getPageDto());
-        Page<PtlAgreementUndwrtRules> underwritingRules = ptlAgreementUndwrtRulesService.getByAgreementId(page,ptlAgreementUndwrtRulesQueryVo.getAgreementId());
+        Page<PtlAgreementUndwrtRules> underwritingRules = ptlAgreementUndwrtRulesService.getByAgreementId(page, ptlAgreementUndwrtRulesQueryVo.getAgreementId());
         return buildPageResponse(underwritingRules);
         return buildPageResponse(underwritingRules);
     }
     }
 
 
@@ -189,13 +189,12 @@ public class PtlAgreementController extends BaseController {
 
 
     @GetMapping("undwrtRulesDelete")
     @GetMapping("undwrtRulesDelete")
     @ApiModelProperty("删除承保规则")
     @ApiModelProperty("删除承保规则")
-    public HttpResult<Object> underwritingRulesDelete(String id){
+    public HttpResult<Object> underwritingRulesDelete(String id) {
         String userName = getUserName();
         String userName = getUserName();
-        return ptlAgreementService.deleteAgreementUndwrtRules(id,userName);
+        return ptlAgreementService.deleteAgreementUndwrtRules(id, userName);
     }
     }
 
 
 
 
-
     @PostMapping("/audit/{agreementId}")
     @PostMapping("/audit/{agreementId}")
     @ApiOperation("审核协议")
     @ApiOperation("审核协议")
     public HttpResult<Object> audit(@PathVariable String agreementId, @RequestBody PtlAgreementAuditVo ptlAgreementAuditVo) {
     public HttpResult<Object> audit(@PathVariable String agreementId, @RequestBody PtlAgreementAuditVo ptlAgreementAuditVo) {
@@ -210,19 +209,20 @@ public class PtlAgreementController extends BaseController {
 
 
     @PostMapping("/noncarcost")
     @PostMapping("/noncarcost")
     @ApiOperation("获取非车险费用配置列表")
     @ApiOperation("获取非车险费用配置列表")
-    public HttpResult<List<PtlAgreementNonCarProductCostsVo>> getAgreementNonCarCosts(@RequestBody PtlAgreement ptlAgreement){
-        return ptlAgreementService.getNonCarCostsInfo(ptlAgreement.getAgreementCode(),ptlAgreement.getAssociationCompaniesId());
+    public HttpResult<List<PtlAgreementNonCarProductCostsVo>> getAgreementNonCarCosts(@RequestBody PtlAgreement ptlAgreement) {
+        return ptlAgreementService.getNonCarCostsInfo(ptlAgreement.getAgreementCode(), ptlAgreement.getAssociationCompaniesId());
     }
     }
 
 
     @PostMapping("/findrelationagree")
     @PostMapping("/findrelationagree")
     @ApiOperation("获取可同步协议列表")
     @ApiOperation("获取可同步协议列表")
-    public HttpResult<List<PtlAgreement>> findRelationAgreement(@RequestBody PtlAgreement ptlAgreement){
+    public HttpResult<List<PtlAgreement>> findRelationAgreement(@RequestBody PtlAgreement ptlAgreement) {
         return ptlAgreementService.findRelationAgreement(ptlAgreement.getAssociationCompaniesId());
         return ptlAgreementService.findRelationAgreement(ptlAgreement.getAssociationCompaniesId());
     }
     }
+
     @GetMapping("getDockingPersonList")
     @GetMapping("getDockingPersonList")
     @ApiOperation("获取对接人列表")
     @ApiOperation("获取对接人列表")
-    public HttpResult getDockingPersonList(){
-        List<HashMap<String,Object>>list = ptlAgreementService.getDockingPersonList();
+    public HttpResult getDockingPersonList() {
+        List<HashMap<String, Object>> list = ptlAgreementService.getDockingPersonList();
         return HttpResult.ok(list);
         return HttpResult.ok(list);
     }
     }
 
 

+ 30 - 13
src/main/java/com/ydtech/modules/protocol/service/PtlAgreementService.java

@@ -32,12 +32,13 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
 
 
     /**
     /**
      * 获取可以报价的 可录入外部订单的协议
      * 获取可以报价的 可录入外部订单的协议
+     *
      * @param deptId
      * @param deptId
      * @return
      * @return
      */
      */
     List<PtlAgreementInsCompanyDto> getAgreementCompanyExternal(String deptId);
     List<PtlAgreementInsCompanyDto> getAgreementCompanyExternal(String deptId);
 
 
-    PtlAgreementInsCompanyDto getAgreementCompany(String deptId,String companyId);
+    PtlAgreementInsCompanyDto getAgreementCompany(String deptId, String companyId);
 
 
 
 
     /**
     /**
@@ -59,6 +60,7 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
 
 
     /**
     /**
      * 添加协议产品费用
      * 添加协议产品费用
+     *
      * @param agreement
      * @param agreement
      * @param userName
      * @param userName
      * @return
      * @return
@@ -68,6 +70,7 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
 
 
     /**
     /**
      * 修改协议产品费用
      * 修改协议产品费用
+     *
      * @param agreement
      * @param agreement
      * @param userName
      * @param userName
      * @return
      * @return
@@ -76,7 +79,6 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
 
 
 
 
     /**
     /**
-     *
      * @param id
      * @param id
      * @return
      * @return
      */
      */
@@ -84,6 +86,7 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
 
 
     /**
     /**
      * 添加非车产品协议
      * 添加非车产品协议
+     *
      * @param agreement
      * @param agreement
      * @param userName
      * @param userName
      * @return
      * @return
@@ -92,6 +95,7 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
 
 
     /**
     /**
      * 添加承保规则
      * 添加承保规则
+     *
      * @param ptlAgreementUndwrtRules
      * @param ptlAgreementUndwrtRules
      * @param userName
      * @param userName
      * @return
      * @return
@@ -100,6 +104,7 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
 
 
     /**
     /**
      * 修改承保规则
      * 修改承保规则
+     *
      * @param ptlAgreementUndwrtRules
      * @param ptlAgreementUndwrtRules
      * @param userName
      * @param userName
      * @return
      * @return
@@ -108,25 +113,28 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
 
 
     /**
     /**
      * 删除承保规则
      * 删除承保规则
+     *
      * @param id
      * @param id
      * @param userName
      * @param userName
      * @return
      * @return
      */
      */
     HttpResult<Object> deleteAgreementUndwrtRules(String id, String userName);
     HttpResult<Object> deleteAgreementUndwrtRules(String id, String userName);
+
     /**
     /**
      * 分页查询协议
      * 分页查询协议
      *
      *
      * @param ptlAgreementPageVo 分页查询参数
      * @param ptlAgreementPageVo 分页查询参数
      * @return HttpResult
      * @return HttpResult
      */
      */
-    Page<PtlAgreement> pageAgreement(Page page,PtlAgreementPageVo ptlAgreementPageVo);
+    Page<PtlAgreement> pageAgreement(Page page, PtlAgreementPageVo ptlAgreementPageVo);
 
 
     /**
     /**
      * 根据保险公司查询协议
      * 根据保险公司查询协议
+     *
      * @param ptlAgreementPageVo
      * @param ptlAgreementPageVo
      * @return
      * @return
      */
      */
-    HttpResult<List<PtlAgreement>> listAgreement( PtlAgreementPageVo ptlAgreementPageVo);
+    HttpResult<List<PtlAgreement>> listAgreement(PtlAgreementPageVo ptlAgreementPageVo);
 
 
     /**
     /**
      * 通过协议id查询
      * 通过协议id查询
@@ -142,7 +150,7 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
      * @param agreementId 协议id
      * @param agreementId 协议id
      * @return HttpResult
      * @return HttpResult
      */
      */
-    HttpResult<Object> deleteAgreement(String agreementId,String userName);
+    HttpResult<Object> deleteAgreement(String agreementId, String userName);
 
 
     /**
     /**
      * 修改协议
      * 修改协议
@@ -186,15 +194,16 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
     /**
     /**
      * 校验登录
      * 校验登录
      *
      *
-     * @param ptlAgreement     协议信息
-     * @param agreementSaveDto 协议添加实体
-     * @param attribution      协议归属添加实体
+     * @param ptlAgreement      协议信息
+     * @param agreementSaveDto  协议添加实体
+     * @param attribution       协议归属添加实体
      * @param verificationLogin 验证登录
      * @param verificationLogin 验证登录
      */
      */
     EsmInsCompany verifyLogin(PtlAgreement ptlAgreement, PtlAgreementSaveDto agreementSaveDto, PtlAgreementAttributionDto attribution, boolean verificationLogin);
     EsmInsCompany verifyLogin(PtlAgreement ptlAgreement, PtlAgreementSaveDto agreementSaveDto, PtlAgreementAttributionDto attribution, boolean verificationLogin);
 
 
     /**
     /**
      * 根据协议编码,归属保险公司获取非车险费用配置信息
      * 根据协议编码,归属保险公司获取非车险费用配置信息
+     *
      * @param agreementId
      * @param agreementId
      * @param companyId
      * @param companyId
      * @return
      * @return
@@ -203,6 +212,7 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
 
 
     /**
     /**
      * 根据归属保司,查询上级以及本级相关协议集合
      * 根据归属保司,查询上级以及本级相关协议集合
+     *
      * @param associationCompaniesId
      * @param associationCompaniesId
      * @return
      * @return
      */
      */
@@ -210,15 +220,16 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
 
 
 
 
     /**
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/4/15 18:04
-     *  @Description: 查询所有审核的协议
+     * @version
+     * @author: hxl
+     * @Date: 2024/4/15 18:04
+     * @Description: 查询所有审核的协议
      */
      */
     List<PtlAgreement> findCheckAgreementList(PtlAgreement ptlAgreement);
     List<PtlAgreement> findCheckAgreementList(PtlAgreement ptlAgreement);
 
 
     /**
     /**
      * 获取当前费用的保险公司所有协议
      * 获取当前费用的保险公司所有协议
+     *
      * @param agreementId
      * @param agreementId
      * @return
      * @return
      */
      */
@@ -239,6 +250,12 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
 
 
     List<PtlAgreementInsCompanyDto> getExternalAgreement();
     List<PtlAgreementInsCompanyDto> getExternalAgreement();
 
 
-    List<PtlAgreement> getAllAgreement();
+    /**
+     * 复制费用协议查询
+     *
+     * @param agreementId
+     * @return
+     */
+    List<PtlAgreement> getAllAgreement(String agreementId);
 
 
 }
 }

+ 8 - 16
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementServiceImpl.java

@@ -832,7 +832,7 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         List<PtlAgreementInsCompanyDto> result = new ArrayList<>();
         List<PtlAgreementInsCompanyDto> result = new ArrayList<>();
 
 
 
 
-        companyList.forEach(item->{
+        companyList.forEach(item -> {
             PtlAgreementInsCompanyDto ptlAgreementInsCompanyDto = new PtlAgreementInsCompanyDto();
             PtlAgreementInsCompanyDto ptlAgreementInsCompanyDto = new PtlAgreementInsCompanyDto();
             ptlAgreementInsCompanyDto.setId(item.getId());
             ptlAgreementInsCompanyDto.setId(item.getId());
             ptlAgreementInsCompanyDto.setCnName(item.getCnName());
             ptlAgreementInsCompanyDto.setCnName(item.getCnName());
@@ -841,9 +841,9 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
             ptlAgreementInsCompanyDto.setNamesimple(item.getNamesimple());
             ptlAgreementInsCompanyDto.setNamesimple(item.getNamesimple());
             List<PtlAgreement> collect = list.stream().filter(x -> x.getInsuranceCompanyId().equals(item.getId())).collect(Collectors.toList());
             List<PtlAgreement> collect = list.stream().filter(x -> x.getInsuranceCompanyId().equals(item.getId())).collect(Collectors.toList());
             List<PtlAgreementDto> agreementDtos = new ArrayList<>();
             List<PtlAgreementDto> agreementDtos = new ArrayList<>();
-            collect.forEach(x->{
+            collect.forEach(x -> {
                 PtlAgreementDto ptlAgreementDto = new PtlAgreementDto();
                 PtlAgreementDto ptlAgreementDto = new PtlAgreementDto();
-                BeanUtils.copyProperties(x,ptlAgreementDto);
+                BeanUtils.copyProperties(x, ptlAgreementDto);
                 agreementDtos.add(ptlAgreementDto);
                 agreementDtos.add(ptlAgreementDto);
             });
             });
             ptlAgreementInsCompanyDto.setAgreement(agreementDtos);
             ptlAgreementInsCompanyDto.setAgreement(agreementDtos);
@@ -853,18 +853,10 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
     }
     }
 
 
     @Override
     @Override
-    public List<PtlAgreement> getAllAgreement() {
-        LocalDateTime now = LocalDateTime.now();
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-        String currentTime = now.format(formatter);
-
-        List<PtlAgreement> ptlAgreements = baseMapper.selectList(new LambdaQueryWrapper<PtlAgreement>()                // 协议起期
-                .le(PtlAgreement::getStartDate, currentTime)
-                // 协议止期
-                .ge(PtlAgreement::getEndDate, currentTime)
-                .eq(PtlAgreement::getValidStatus, "1"));
-        return ptlAgreements;
+    public List<PtlAgreement> getAllAgreement(String agreementId) {
+        PtlAgreement ptlAgreement = getById(agreementId);
+        return baseMapper.selectList(new LambdaQueryWrapper<PtlAgreement>()
+                .eq(PtlAgreement::getAssociationCompaniesId, ptlAgreement.getAssociationCompaniesId()));
     }
     }
 
 
-
-}
+}

+ 18 - 0
src/main/java/com/ydtech/modules/protocols/dao/InsFeeOrderNewMapper.java

@@ -3,6 +3,10 @@ package com.ydtech.modules.protocols.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.dto.*;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDataDto;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptDataDto;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptQueryDto;
+import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualQueryDto;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
@@ -144,6 +148,20 @@ public interface InsFeeOrderNewMapper extends BaseMapper<InsFeeOrderNew> {
      *  @Description:  查询可提现的金额
      *  @Description:  查询可提现的金额
      */
      */
     BigDecimal findMyAmountYTXmount(@Param("userId") String userId,@Param("status") String status);
     BigDecimal findMyAmountYTXmount(@Param("userId") String userId,@Param("status") String status);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/3 18:09
+     *  @Description: 查询渠道、代理人的预收、实收数据
+     */
+    Page<AdvanceAndActualDataDto> queryAdvanceAndActualDataPage(@Param("vo") AdvanceAndActualQueryDto advanceAndActualQueryDto, @Param("page") Page<AdvanceAndActualDataDto> page);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/4 9:26
+     *  @Description: 五级机构
+     */
+    Page<AdvanceAndActualDeptDataDto> queryAdvanceAndActualDeptDataPage(@Param("vo") AdvanceAndActualDeptQueryDto advanceAndActualDeptQueryDto, @Param("page") Page<AdvanceAndActualDeptDataDto> page);
 }
 }
 
 
 
 

+ 111 - 0
src/main/java/com/ydtech/utils/CustomCellWriteHandler.java

@@ -0,0 +1,111 @@
+package com.ydtech.utils;
+
+import com.alibaba.excel.enums.CellDataTypeEnum;
+import com.alibaba.excel.metadata.Head;
+import com.alibaba.excel.metadata.data.CellData;
+import com.alibaba.excel.metadata.data.WriteCellData;
+import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
+import com.alibaba.excel.write.style.column.AbstractColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import org.apache.poi.ss.usermodel.Cell;
+
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/4 10:44
+ *  @Description:  excel 自适应列宽
+ */
+public class CustomCellWriteHandler extends AbstractColumnWidthStyleStrategy {
+    private static final int MAX_COLUMN_WIDTH = 255;
+    private static final int COLUMN_WIDTH_BASE = 255;
+    private final Map<Integer, Map<Integer, Double>> cache = new HashMap<>(8);
+    private Integer relativeRowIndex = -1;
+
+    public CustomCellWriteHandler() {
+    }
+
+    public CustomCellWriteHandler(Integer relativeRowIndex) {
+        //这里是指定从第几行开始自适应。0是第一行,1是第二行,以此类推
+         this.relativeRowIndex = relativeRowIndex;
+    }
+    @Override
+    protected void setColumnWidth(WriteSheetHolder writeSheetHolder, List<WriteCellData<?>> cellDataList, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {
+        boolean needSetWidth = isHead || !CollectionUtils.isEmpty(cellDataList);
+        if (needSetWidth) {
+            if (this.relativeRowIndex == -1 || relativeRowIndex >= this.relativeRowIndex) {
+                Map<Integer, Double> maxColumnWidthMap = cache.computeIfAbsent(writeSheetHolder.getSheetNo(), k -> new HashMap<>(16));
+                double columnWidth = this.dataLength(cellDataList, cell, isHead);
+                if (columnWidth >= 0) {
+                    if (columnWidth > MAX_COLUMN_WIDTH) {
+                        columnWidth = MAX_COLUMN_WIDTH;
+                    }
+                    Double maxColumnWidth = maxColumnWidthMap.get(cell.getColumnIndex());
+                    if (maxColumnWidth == null || columnWidth > maxColumnWidth) {
+                        maxColumnWidthMap.put(cell.getColumnIndex(), columnWidth);
+                        writeSheetHolder.getSheet().setColumnWidth(cell.getColumnIndex(), (int) (maxColumnWidthMap.get(cell.getColumnIndex()) * COLUMN_WIDTH_BASE));
+                    }
+                }
+            }
+        }
+    }
+    private double dataLength(List<WriteCellData<?>> cellDataList, Cell cell, Boolean isHead) {
+          if (isHead) {
+              return cell.getStringCellValue().getBytes().length;
+          } else {
+              CellData<?> cellData = cellDataList.get(0);
+              CellDataTypeEnum type = cellData.getType();
+              //禁止这行
+              cell.getCellStyle().setWrapText(false);
+              if (type == null) {
+                  return -1;
+              } else {
+                  switch (type) {
+                      case STRING:
+                          return getExcelWidth(cellData.getStringValue());
+                      case BOOLEAN:
+                      return getExcelWidth(cellData.getBooleanValue().toString());
+                      case NUMBER:
+                          return getExcelWidth(cellData.getNumberValue().toString());
+                       default:
+                           return -1;
+                  }
+              }
+          }
+    }
+      /**     * 调整单元格字符字节宽度,easyExcel默认直接用的UTF-8的byte长度,导致一旦三字节的字符过多就会变得很宽,一字节的字符过多就会不够宽     */
+      private double getExcelWidth(String str){
+          double length = 0.0;
+          char[] chars = str.toCharArray();
+          for(char c : chars){
+              byte[] bytes = this.getUtf8Bytes(c);
+              if(bytes.length == 1){
+                  length += 1.05;
+              }
+              if(bytes.length == 2){
+                  length += 1.5;
+              }
+              if(bytes.length == 3){
+                  length += 1.85;
+              }
+              if(bytes.length == 4){
+                  length += 2.2;
+              }
+          }
+          return length;
+      }
+      private byte[] getUtf8Bytes(char c) {
+          char[] chars = {c};
+          CharBuffer charBuffer = CharBuffer.allocate(chars.length);
+          charBuffer.put(chars);
+          charBuffer.flip();
+          ByteBuffer byteBuffer = StandardCharsets.UTF_8.encode(charBuffer);
+          return byteBuffer.array();
+      }
+    }

+ 1 - 4
src/main/java/com/ydtech/utils/ExcelUtils.java

@@ -1,10 +1,7 @@
 package com.ydtech.utils;
 package com.ydtech.utils;
 
 
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.write.metadata.WriteSheet;
 
 
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
@@ -43,7 +40,7 @@ public class ExcelUtils<T> {
      */
      */
     public boolean writeExcel(String saveFileName, String sheetName,List<T> data) {
     public boolean writeExcel(String saveFileName, String sheetName,List<T> data) {
         try {
         try {
-            EasyExcel.write(saveFileName, clazz).sheet(sheetName).doWrite(data);
+            EasyExcel.write(saveFileName, clazz).sheet(sheetName).registerWriteHandler(new CustomCellWriteHandler()).doWrite(data);
             return true;
             return true;
         }catch(Exception e){
         }catch(Exception e){
             return false;
             return false;

+ 29 - 0
src/main/resources/mapper/modules/fnc/InsPlyIncomeMapper.xml

@@ -351,6 +351,10 @@
             <if test="yearStrat  !=null  and  yearStrat  != ''  and  yearEnd   != null  and  yearEnd   !=''">
             <if test="yearStrat  !=null  and  yearStrat  != ''  and  yearEnd   != null  and  yearEnd   !=''">
                 AND DATE(a.signdate) BETWEEN #{yearStrat} AND #{yearEnd}
                 AND DATE(a.signdate) BETWEEN #{yearStrat} AND #{yearEnd}
             </if>
             </if>
+
+            <if test="isExternal  !=null  and  isExternal  != ''">
+                AND pa.is_external =#{isExternal}
+            </if>
         </where>
         </where>
         ORDER  BY  a.create_time  desc
         ORDER  BY  a.create_time  desc
 
 
@@ -399,6 +403,10 @@
             <if test="year !=null  and  year  !=''">
             <if test="year !=null  and  year  !=''">
                 and YEAR(a.signdate) =#{year}
                 and YEAR(a.signdate) =#{year}
             </if>
             </if>
+
+            <if test="isExternal  !=null  and  isExternal  != ''">
+                AND pa.is_external =#{isExternal}
+            </if>
             group by  MONTH(a.signdate)
             group by  MONTH(a.signdate)
         </where>
         </where>
     </select>
     </select>
@@ -1013,6 +1021,10 @@
                     and a.handling_fees_status =#{handlingFeesStatus}
                     and a.handling_fees_status =#{handlingFeesStatus}
                 </if>
                 </if>
 
 
+                <if test="isExternal  !=null  and  isExternal  != ''">
+                    AND pa.is_external =#{isExternal}
+                </if>
+
                 <if test="documentaryFeesStatus !=null  and  documentaryFeesStatus  !=''">
                 <if test="documentaryFeesStatus !=null  and  documentaryFeesStatus  !=''">
                     and a.documentary_fees_status =#{documentaryFeesStatus}
                     and a.documentary_fees_status =#{documentaryFeesStatus}
                 </if>
                 </if>
@@ -1242,6 +1254,7 @@
             <if test="month !=null  and  month !=''">
             <if test="month !=null  and  month !=''">
                 AND month(a.signdate) =#{month}
                 AND month(a.signdate) =#{month}
             </if>
             </if>
+
             <if test="day !=null  and  day !=''">
             <if test="day !=null  and  day !=''">
                 AND day(a.signdate) =#{day}
                 AND day(a.signdate) =#{day}
             </if>
             </if>
@@ -1308,6 +1321,10 @@
                 and a.company_id =#{companyName}
                 and a.company_id =#{companyName}
             </if>
             </if>
 
 
+            <if test="isExternal  !=null  and  isExternal  != ''">
+                AND pa.is_external =#{isExternal}
+            </if>
+
             <if test="policyno !=null  and  policyno  !=''">
             <if test="policyno !=null  and  policyno  !=''">
                 and a.policyno =#{policyno}
                 and a.policyno =#{policyno}
             </if>
             </if>
@@ -1437,6 +1454,9 @@
             <if test="year !=null  and  year  !=''">
             <if test="year !=null  and  year  !=''">
                 AND YEAR(a.signdate) =#{year}
                 AND YEAR(a.signdate) =#{year}
             </if>
             </if>
+            <if test="isExternal  !=null  and  isExternal  != ''">
+                AND pa.is_external =#{isExternal}
+            </if>
             <if test="isOther !=null  and  isOther  !=''">
             <if test="isOther !=null  and  isOther  !=''">
                 and a.is_not_documentary   =#{isOther}
                 and a.is_not_documentary   =#{isOther}
             </if>
             </if>
@@ -1686,6 +1706,9 @@
                 and a.is_not_car =#{isNotCar}
                 and a.is_not_car =#{isNotCar}
             </if>
             </if>
 
 
+            <if test="isExternal  !=null  and  isExternal  != ''">
+                AND pa.is_external =#{isExternal}
+            </if>
 
 
             <if test="handlingFeesStatus !=null  and  handlingFeesStatus  !=''">
             <if test="handlingFeesStatus !=null  and  handlingFeesStatus  !=''">
                 and a.handling_fees_status =#{handlingFeesStatus}
                 and a.handling_fees_status =#{handlingFeesStatus}
@@ -1951,6 +1974,9 @@
                 and pa.agreement_type =#{agreementType}
                 and pa.agreement_type =#{agreementType}
             </if>
             </if>
 
 
+            <if test="isExternal  !=null  and  isExternal  != ''">
+                AND pa.is_external =#{isExternal}
+            </if>
             <if test="signDateEnd !=null  and  signDateEnd!='' and  signDateStart !=null and signDateStart !=''">
             <if test="signDateEnd !=null  and  signDateEnd!='' and  signDateStart !=null and signDateStart !=''">
                 and a.signdate   between #{signDateStart} and #{signDateEnd}
                 and a.signdate   between #{signDateStart} and #{signDateEnd}
             </if>
             </if>
@@ -2204,6 +2230,9 @@
             <if test="companyName !=null  and  companyName  !=''">
             <if test="companyName !=null  and  companyName  !=''">
                 and a.company_id =#{companyName}
                 and a.company_id =#{companyName}
             </if>
             </if>
+            <if test="isExternal  !=null  and  isExternal  != ''">
+                AND pa.is_external =#{isExternal}
+            </if>
 
 
             <if test="policyno !=null  and  policyno  !=''">
             <if test="policyno !=null  and  policyno  !=''">
                 and a.policyno =#{policyno}
                 and a.policyno =#{policyno}

+ 146 - 2
src/main/resources/mapper/modules/ins/InsFeeOrderNewMapper.xml

@@ -843,7 +843,9 @@
         SELECT
         SELECT
         a.ins_order_no AS "subOrderNo",
         a.ins_order_no AS "subOrderNo",
         DATE_FORMAT(iac.signing_time, '%Y-%m-%d %H:%i:%s')  AS "signingTime",
         DATE_FORMAT(iac.signing_time, '%Y-%m-%d %H:%i:%s')  AS "signingTime",
+        DATE_FORMAT(iac.signing_time, '%Y-%m-%d')  AS "signingTimeDay",
         DATE_FORMAT(iff.audittime, '%Y-%m-%d %H:%i:%s')   AS "auditTime",
         DATE_FORMAT(iff.audittime, '%Y-%m-%d %H:%i:%s')   AS "auditTime",
+        DATE_FORMAT(iff.audittime, '%Y-%m-%d')   AS "auditTimeDay",
         CASE iff.auditstatus WHEN '0' THEN '未审核' WHEN '1' THEN '已审核' ELSE '' END AS auditstatus,
         CASE iff.auditstatus WHEN '0' THEN '未审核' WHEN '1' THEN '已审核' ELSE '' END AS auditstatus,
         o.licenseno AS "licenseno",
         o.licenseno AS "licenseno",
         (
         (
@@ -853,13 +855,20 @@
         iac.jqapplyno AS jqapplyno,
         iac.jqapplyno AS jqapplyno,
         iac.syapplyno AS syapplyno,
         iac.syapplyno AS syapplyno,
         iac.inscompany AS companyName,
         iac.inscompany AS companyName,
-        o.insuredname AS insuredName,
+        JSON_UNQUOTE(json_extract(o.applyinfo, '$.name')) as insuredName,
         ins.NAME AS partnerCompaniesName,
         ins.NAME AS partnerCompaniesName,
         o.username as userName,
         o.username as userName,
         o.orderno as orderno,
         o.orderno as orderno,
         o.frameno as frameNo,
         o.frameno as frameNo,
         JSON_EXTRACT( o.carinfo, '$.engineNo' ) as engineNo,
         JSON_EXTRACT( o.carinfo, '$.engineNo' ) as engineNo,
-        iac.product as productId
+        iac.product as productId,
+        iac.jqpremium,
+        iac.sypremium,
+        iac.jypremium,
+        iac.taxamount,
+        a.jq_costs_export_proportion+a.jq_export_other_costs_proportion as jq_export_proportion,
+        a.sy_costs_export_proportion+a.sy_export_other_costs_proportion as sy_export_proportion,
+        a.no_costs_export_proportion+a.no_export_other_costs_proportion as no_export_proportion
         FROM
         FROM
         ins_fee_audit iff
         ins_fee_audit iff
         LEFT JOIN ins_fee_order_new a ON a.ins_order_no = iff.ins_order_no
         LEFT JOIN ins_fee_order_new a ON a.ins_order_no = iff.ins_order_no
@@ -1163,4 +1172,139 @@
             au.user_id = #{userId}
             au.user_id = #{userId}
           AND auditing_status = #{status}
           AND auditing_status = #{status}
     </select>
     </select>
+
+    <select id="queryAdvanceAndActualDataPage"
+            resultType="com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDataDto">
+        SELECT
+            a.ins_order_no AS subOrderNo,
+            iac.signing_time AS signingTime,
+            o.licenseno AS licenseNo,
+            CASE
+                iff.auditstatus
+                WHEN '0' THEN
+                    '未审核'
+                WHEN '1' THEN
+                    '已审核' ELSE ''
+                END AS auditstatus,
+            o.username AS userName,
+            o.userid AS userId,
+            ifnull( a.jq_export_supervise_costs_premiums, 0 )+ ifnull( a.sy_export_supervise_costs_premiums, 0 )+ ifnull( a.no_export_supervise_costs_premiums, 0 ) AS haldingAmount,
+            ifnull( a.jq_export_other_costs_premiums, 0 )+ ifnull( a.sy_export_other_costs_premiums, 0 )+ ifnull( a.no_export_other_costs_premiums, 0 ) AS documentaryAmount,
+            ifnull( a.first_detail_premiums, 0 )+ ifnull( a.second_detail_premiums, 0 )+ ifnull( a.third_detail_premiums, 0 ) AS promotionAmount,
+            ifnull( a.jq_export_supervise_costs_premiums, 0 )+ ifnull( a.sy_export_supervise_costs_premiums, 0 )+ ifnull( a.no_export_supervise_costs_premiums, 0 ) + ifnull( a.jq_export_other_costs_premiums, 0 )+ ifnull( a.sy_export_other_costs_premiums, 0 )+ ifnull( a.no_export_other_costs_premiums, 0 ) + ifnull( a.first_detail_premiums, 0 )+ ifnull( a.second_detail_premiums, 0 )+ ifnull( a.third_detail_premiums, 0 ) AS sumAmount,
+            CASE
+                dept.management_source
+                WHEN '1' THEN
+                    '渠道'
+                WHEN '2' THEN
+                    '代理人' ELSE ''
+                END deptType
+        FROM
+            ins_fee_audit iff
+                LEFT JOIN ins_fee_order_new a ON a.ins_order_no = iff.ins_order_no
+                LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+                LEFT JOIN ins_orders o ON o.orderno = iac.orderno
+                LEFT JOIN sys_dept dept ON o.deptid = dept.id
+        WHERE
+            iac.orderstatus = '3'
+          AND (
+            dept.management_source = 1
+                OR dept.management_source = 2)
+        <if test="vo.subOrderNo!=null and  vo.subOrderNo!= ''">
+            AND iac.id =  #{vo.subOrderNo}
+        </if>
+        <if test="vo.userId!=null and  vo.userId!= ''">
+            AND  o.userid =  #{vo.userId}
+        </if>
+        <if test="vo.userName!=null and  vo.userName!= ''">
+            AND  o.username=  #{vo.userName}
+        </if>
+        <if test="vo.licenseNo!=null and  vo.licenseNo!= ''">
+            AND o.licenseno =  #{vo.licenseNo}
+        </if>
+        <if test="vo.startDate!=null and  vo.startDate!= '' and vo.endDate!=null and  vo.endDate!= ''">
+            AND iac.signing_time  BETWEEN #{vo.startDate} AND #{vo.endDate}
+        </if>
+        <if test="vo.auditstatus!=null and  vo.auditstatus!= ''">
+            AND iff.auditstatus =  #{vo.auditstatus}
+        </if>
+        <if test="vo.deptType!=null and  vo.deptType!= ''">
+            AND dept.management_source =  #{vo.deptType}
+        </if>
+           order by  iac.signing_time desc
+    </select>
+    <select id="queryAdvanceAndActualDeptDataPage"
+            resultType="com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptDataDto">
+        SELECT
+            b.suborder AS subOrderNo,
+            iac.signing_time AS signingTime,
+            o.licenseno AS licenseNo,
+            CASE
+                iff.auditstatus
+                WHEN '0' THEN
+                    '未审核'
+                WHEN '1' THEN
+                    '已审核' ELSE ''
+                END AS auditstatus,
+            o.username AS userName,
+            o.userid AS userId,
+            b.deptId AS deptId,
+            b.sumAmount AS sumAmount,
+            dept.NAME AS deptName
+        FROM
+            ins_fee_audit iff
+                LEFT JOIN (
+                SELECT
+                    ins_order_no AS suborder,
+                    LEFT ( dept_id, 2 ) AS deptId,
+                    ( jq_dept_premiums_level_1 + sy_dept_premiums_level_1 + no_dept_premiums_level_1 ) AS sumAmount
+                FROM
+                    ins_fee_order_new UNION ALL
+                SELECT
+                    ins_order_no AS suborder,
+                    LEFT ( dept_id, 4 ) AS deptId,
+                    ( jq_dept_premiums_level_2 + sy_dept_premiums_level_2 + no_dept_premiums_level_2 ) AS sumAmount
+                FROM
+                    ins_fee_order_new UNION ALL
+                SELECT
+                    ins_order_no AS suborder,
+                    LEFT ( dept_id, 6 ) AS deptId,
+                    ( jq_dept_premiums_level_3 + sy_dept_premiums_level_3 + no_dept_premiums_level_3 ) AS sumAmount
+                FROM
+                    ins_fee_order_new UNION ALL
+                SELECT
+                    ins_order_no AS suborder,
+                    LEFT ( dept_id, 8 ) AS deptId,
+                    ( jq_dept_premiums_level_4 + sy_dept_premiums_level_4 + no_dept_premiums_level_4 ) AS sumAmount
+                FROM
+                    ins_fee_order_new UNION ALL
+                SELECT
+                    ins_order_no AS suborder,
+                    LEFT ( dept_id, 11 ) AS deptId,
+                    ( jq_dept_premiums_level_5 + sy_dept_premiums_level_5 + no_dept_premiums_level_5 ) AS sumAmount
+                FROM
+                    ins_fee_order_new
+            ) b ON iff.ins_order_no = b.suborder
+                LEFT JOIN ins_area_company iac ON iac.id = b.suborder
+                LEFT JOIN ins_orders o ON o.orderno = iac.orderno
+                LEFT JOIN sys_dept dept ON b.deptid = dept.id
+        WHERE
+            iac.orderstatus = '3'
+        <if test="vo.subOrderNo!=null and  vo.subOrderNo!= ''">
+            AND iac.id =  #{vo.subOrderNo}
+        </if>
+        <if test="vo.licenseNo!=null and  vo.licenseNo!= ''">
+            AND o.licenseno =  #{vo.licenseNo}
+        </if>
+        <if test="vo.startDate!=null and  vo.startDate!= '' and vo.endDate!=null and  vo.endDate!= ''">
+            AND iac.signing_time  BETWEEN #{vo.startDate} AND #{vo.endDate}
+        </if>
+        <if test="vo.auditstatus!=null and  vo.auditstatus!= ''">
+            AND iff.auditstatus =  #{vo.auditstatus}
+        </if>
+        <if test="vo.deptId!=null and  vo.deptId!= ''">
+            AND  dept.id =  #{vo.deptId}
+        </if>
+        order by  iac.signing_time desc
+    </select>
 </mapper>
 </mapper>