Browse Source

Merge remote-tracking branch 'origin/master'

wanghao 2 months ago
parent
commit
63447acca5
32 changed files with 579 additions and 153 deletions
  1. 23 0
      commons/src/main/java/com/jzg/commons/entity/account/po/SysUserAccountChangeLog.java
  2. 12 0
      commons/src/main/java/com/jzg/commons/entity/finance/dto/ExportSuperviseSettlementDetailExcelDto.java
  3. 2 0
      commons/src/main/java/com/jzg/commons/entity/finance/vo/IncomeDataVO.java
  4. 3 0
      commons/src/main/java/com/jzg/commons/entity/finance/vo/SettlementQueryVo.java
  5. 14 3
      commons/src/main/java/com/jzg/commons/entity/report/dto/ReportOperatingProfitDataDto.java
  6. 3 2
      commons/src/main/java/com/jzg/commons/entity/report/dto/ReportPersonCheckDataDetailDto.java
  7. 22 2
      consoleStatistics/src/main/java/com/jzg/console/client/FeeAuditClient.java
  8. 3 0
      consoleStatistics/src/main/java/com/jzg/console/client/OrganizationClient.java
  9. 29 0
      consoleStatistics/src/main/java/com/jzg/console/client/PlatformClient.java
  10. 1 0
      consoleStatistics/src/main/java/com/jzg/console/controller/ReportFinanceDataManageController.java
  11. 50 98
      consoleStatistics/src/main/java/com/jzg/console/service/impl/ReportOperatingProfitDataServiceImpl.java
  12. 33 22
      consoleStatistics/src/main/java/com/jzg/console/service/impl/ReportPersonCheckDataServiceImpl.java
  13. 19 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/InsFeeAuditController.java
  14. 4 3
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/InsFeeOrderController.java
  15. 13 11
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/UnifyOrderManager.java
  16. 6 1
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/mapper/InsFeeAuditMapper.java
  17. 49 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/mapper/InsFeeOrdersMapper.java
  18. 13 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/InsFeeAuditService.java
  19. 4 2
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/InsFeeOrdersService.java
  20. 20 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsFeeAuditServiceImpl.java
  21. 36 4
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsFeeOrdersServiceImpl.java
  22. 32 0
      tenant/insurance/quotation-summary/src/main/resources/mapper/InsFeeAuditMapper.xml
  23. 106 0
      tenant/insurance/quotation-summary/src/main/resources/mapper/InsFeeOrdersMapper.xml
  24. 14 0
      tenant/organization/src/main/java/com/jzg/organization/controller/AgreementController.java
  25. 3 0
      tenant/organization/src/main/java/com/jzg/organization/controller/PtlNewAgreementController.java
  26. 10 0
      tenant/organization/src/main/java/com/jzg/organization/mapper/PtlAgreementMapper.java
  27. 2 1
      tenant/organization/src/main/java/com/jzg/organization/mapper/ReceivableMapper.java
  28. 8 0
      tenant/organization/src/main/java/com/jzg/organization/service/PtlAgreementService.java
  29. 13 0
      tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementServiceImpl.java
  30. 7 4
      tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java
  31. 15 0
      tenant/organization/src/main/resources/mapper/PtlAgreementMapper.xml
  32. 10 0
      tenant/organization/src/main/resources/mapper/ReceivableMapper.xml

+ 23 - 0
commons/src/main/java/com/jzg/commons/entity/account/po/SysUserAccountChangeLog.java

@@ -1,5 +1,6 @@
 package com.jzg.commons.entity.account.po;
 package com.jzg.commons.entity.account.po;
 
 
+import cn.hutool.core.util.StrUtil;
 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.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -11,6 +12,8 @@ import lombok.EqualsAndHashCode;
 
 
 import java.io.Serial;
 import java.io.Serial;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Objects;
@@ -138,6 +141,26 @@ public class SysUserAccountChangeLog extends BaseModel {
     @TableField(exist = false)
     @TableField(exist = false)
     private String payTime;
     private String payTime;
 
 
+
+    @ExcelProperty("交易时间")
+    @Schema(description = "交易时间")
+    @TableField(exist = false)
+    private String postingDate;
+
+    /**
+     * 此方法不能删除,导出的时候会用
+     * @author lipf
+     * @date 2026/7/28 11:02
+     */
+    public String  getPostingDate() {
+        LocalDateTime t = super.getCreateTime();
+        if(t == null){
+            return StrUtil.EMPTY;
+        }
+        DateTimeFormatter formatter  = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        return t.format(formatter);
+    }
+
     public SysUserAccountChangeLog(){
     public SysUserAccountChangeLog(){
 
 
     }
     }

+ 12 - 0
commons/src/main/java/com/jzg/commons/entity/finance/dto/ExportSuperviseSettlementDetailExcelDto.java

@@ -69,6 +69,10 @@ public class ExportSuperviseSettlementDetailExcelDto {
     @ExcelProperty(value = "交强手续费比例")
     @ExcelProperty(value = "交强手续费比例")
     private String jqSuperviseCostsProportion;
     private String jqSuperviseCostsProportion;
 
 
+    @Schema(description = "交强跟单费比例")
+    @ExcelProperty(value = "交强跟单费比例")
+    private String jqOtherCostsProportion;
+
     @Schema(description = "商业保单号")
     @Schema(description = "商业保单号")
     @ExcelProperty(value = "商业保单号")
     @ExcelProperty(value = "商业保单号")
     private String syPolicyNo;
     private String syPolicyNo;
@@ -81,6 +85,10 @@ public class ExportSuperviseSettlementDetailExcelDto {
     @ExcelProperty(value = "商业手续费比例")
     @ExcelProperty(value = "商业手续费比例")
     private String sySuperviseCostsProportion;
     private String sySuperviseCostsProportion;
 
 
+    @Schema(description = "商业跟单费比例")
+    @ExcelProperty(value = "商业跟单费比例")
+    private String syOtherCostsProportion;
+
     @Schema(description = "非车保单号")
     @Schema(description = "非车保单号")
     @ExcelProperty(value = "非车保单号")
     @ExcelProperty(value = "非车保单号")
     private String jyPolicyNo;
     private String jyPolicyNo;
@@ -93,6 +101,10 @@ public class ExportSuperviseSettlementDetailExcelDto {
     @ExcelProperty(value = "非车手续费比例")
     @ExcelProperty(value = "非车手续费比例")
     private String jySuperviseCostsProportion;
     private String jySuperviseCostsProportion;
 
 
+    @Schema(description = "非车跟单费比例")
+    @ExcelProperty(value = "非车跟单费比例")
+    private String jyOtherCostsProportion;
+
     @Schema(description = "车船税")
     @Schema(description = "车船税")
     @ExcelProperty(value = "车船税")
     @ExcelProperty(value = "车船税")
     private String taxPremium;
     private String taxPremium;

+ 2 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/IncomeDataVO.java

@@ -45,6 +45,8 @@ public class IncomeDataVO implements Serializable {
     @Schema(description = "对接人手机号")
     @Schema(description = "对接人手机号")
     private String contactPersonPhone;
     private String contactPersonPhone;
 
 
+    @Schema(description = "协议类型(协议类型 1 平台协议  2 私有协议)")
+    private String agreementType;
 
 
     /**
     /**
      * 类型:1:手续费 2:跟单费 3:驾意手续费 4:驾意跟单费
      * 类型:1:手续费 2:跟单费 3:驾意手续费 4:驾意跟单费

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/SettlementQueryVo.java

@@ -59,6 +59,9 @@ public class SettlementQueryVo extends PageRequest {
     @Schema(description = "结算人")
     @Schema(description = "结算人")
     private String invoicePerson;
     private String invoicePerson;
 
 
+    @Schema(description = "对接人")
+    private String contactPerson;
+
     @Schema(description = "结算时间开始")
     @Schema(description = "结算时间开始")
     private String settlementTimeStart;
     private String settlementTimeStart;
 
 

+ 14 - 3
commons/src/main/java/com/jzg/commons/entity/report/dto/ReportOperatingProfitDataDto.java

@@ -5,16 +5,14 @@ import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import com.alibaba.excel.annotation.write.style.ContentRowHeight;
 import com.alibaba.excel.annotation.write.style.ContentRowHeight;
 import com.alibaba.excel.annotation.write.style.HeadRowHeight;
 import com.alibaba.excel.annotation.write.style.HeadRowHeight;
-import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Builder;
 import lombok.Data;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.NoArgsConstructor;
-import org.springframework.format.annotation.DateTimeFormat;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
-import java.util.Date;
 
 
 /**
 /**
  *  @version
  *  @version
@@ -37,8 +35,21 @@ public class ReportOperatingProfitDataDto {
     @ExcelProperty(value = "时间", index = 0)
     @ExcelProperty(value = "时间", index = 0)
     @ColumnWidth(10)
     @ColumnWidth(10)
     @Schema(description = "时间")
     @Schema(description = "时间")
+    @TableField(value = "ym")
+    private String ym;
+
+    /**
+     *  时间
+     */
+    @ExcelIgnore
+    @Schema(description = "时间")
     private String yearAndMonthTime;
     private String yearAndMonthTime;
 
 
+    public String getYearAndMonthTime(){
+        return this.ym;
+    }
+
+
     /**
     /**
      *  保费
      *  保费
      */
      */

+ 3 - 2
commons/src/main/java/com/jzg/commons/entity/report/dto/ReportPersonCheckDataDetailDto.java

@@ -1,6 +1,5 @@
 package com.jzg.commons.entity.report.dto;
 package com.jzg.commons.entity.report.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 com.alibaba.excel.annotation.write.style.ColumnWidth;
 import com.alibaba.excel.annotation.write.style.ContentRowHeight;
 import com.alibaba.excel.annotation.write.style.ContentRowHeight;
@@ -13,7 +12,6 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.NoArgsConstructor;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.format.annotation.DateTimeFormat;
 
 
-import java.math.BigDecimal;
 import java.util.Date;
 import java.util.Date;
 
 
 /**
 /**
@@ -31,6 +29,9 @@ import java.util.Date;
 @NoArgsConstructor
 @NoArgsConstructor
 public class ReportPersonCheckDataDetailDto {
 public class ReportPersonCheckDataDetailDto {
 
 
+
+    private String userId;
+
     /**
     /**
      *  订单号
      *  订单号
      */
      */

+ 22 - 2
consoleStatistics/src/main/java/com/jzg/console/client/FeeAuditClient.java

@@ -7,6 +7,7 @@ import com.jzg.commons.entity.orders.vo.FeeAuditSummaryParam;
 import com.jzg.commons.entity.orders.vo.FeeAuditSummaryVO;
 import com.jzg.commons.entity.orders.vo.FeeAuditSummaryVO;
 import com.jzg.commons.entity.orders.vo.FeeAuditVo;
 import com.jzg.commons.entity.orders.vo.FeeAuditVo;
 import com.jzg.commons.entity.report.dto.ReportOperatingProfitDataDto;
 import com.jzg.commons.entity.report.dto.ReportOperatingProfitDataDto;
+import com.jzg.commons.entity.report.dto.ReportPersonCheckDataDetailDto;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * 调用 quotation-summary 的订单审核接口 Feign 客户端
  * 调用 quotation-summary 的订单审核接口 Feign 客户端
@@ -44,7 +46,25 @@ public interface FeeAuditClient {
      * @author lipf
      * @author lipf
      * @date 2026/7/25 11:22
      * @date 2026/7/25 11:22
      */
      */
-    @GetMapping("/feeAudit/queryOperatingProfits")
-    HttpResult<List<ReportOperatingProfitDataDto>> queryOperatingProfits(@RequestParam("year") String year);
+    @GetMapping("/insFeeOrder/queryOperatingProfits")
+    HttpResult<Map<String, ReportOperatingProfitDataDto>> queryOperatingProfits(@RequestParam("year") Integer year,
+                                                                                @RequestParam("sqlType") String sqlType);
+
+    /**
+     * 查询审核明细
+     *
+     * @param userName 用户登录名
+     * @param systemCode 租户代码
+     * @param pageNo
+     * @param pageSize
+     * @author lipf
+     * @date 2026/7/27 11:13
+     */
+    @GetMapping("/feeAudit/queryPageDetailList")
+    HttpResult<List<ReportPersonCheckDataDetailDto>> queryPageDetailList(@RequestParam("systemCode") String systemCode,
+                                                                         @RequestParam("userName") String userName,
+                                                                         @RequestParam("pageNo") Integer pageNo,
+                                                                         @RequestParam("pageSize") Integer pageSize);
+
 
 
 }
 }

+ 3 - 0
consoleStatistics/src/main/java/com/jzg/console/client/OrganizationClient.java

@@ -2,7 +2,10 @@ package com.jzg.console.client;
 
 
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.user.vo.UserInfoWithPhone;
 import com.jzg.commons.entity.user.vo.UserInfoWithPhone;
+import com.jzg.commons.entity.vo.SysUserVo;
+import io.swagger.v3.oas.annotations.Operation;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
 
 

+ 29 - 0
consoleStatistics/src/main/java/com/jzg/console/client/PlatformClient.java

@@ -0,0 +1,29 @@
+package com.jzg.console.client;
+
+import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.user.vo.UserInfoWithPhone;
+import com.jzg.commons.entity.vo.SysUserVo;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.Map;
+
+/**
+ * 调用 quotation-summary 的订单审核接口 Feign 客户端
+ */
+@FeignClient(value = "jzg-platform")
+public interface PlatformClient {
+
+    /**
+     * 平台用户信息查询
+     * @param id sys_user表的序号
+     * @return HttpResult<SysUserVo> 平台用户信息
+     */
+    @GetMapping("/user/userGet")
+    @Operation(summary = "平台用户信息查询")
+    public HttpResult<SysUserVo> userGet(@RequestParam("id") String id);
+
+}

+ 1 - 0
consoleStatistics/src/main/java/com/jzg/console/controller/ReportFinanceDataManageController.java

@@ -331,6 +331,7 @@ public class ReportFinanceDataManageController extends BaseController {
     @Operation(summary = "财务数据-人员审核-明细查询", description = "财务数据-人员审核-明细查询")
     @Operation(summary = "财务数据-人员审核-明细查询", description = "财务数据-人员审核-明细查询")
     @PostMapping(value = "/personCheckDataDetailPageList")
     @PostMapping(value = "/personCheckDataDetailPageList")
     public HttpResult<?> personCheckDataDetailPageList(@RequestBody ReportSearchCommonVo reportSearchCommonVo) {
     public HttpResult<?> personCheckDataDetailPageList(@RequestBody ReportSearchCommonVo reportSearchCommonVo) {
+        log.info("财务数据-人员审核-明细查询。 reportSearchCommonVo=[{}]", JSONUtil.toJsonStr(reportSearchCommonVo));
         try{
         try{
             IPage<?> pageList = reportPersonCheckDataService.getPageDetailListByParams(reportSearchCommonVo);
             IPage<?> pageList = reportPersonCheckDataService.getPageDetailListByParams(reportSearchCommonVo);
             return HttpResult.ok(pageList);
             return HttpResult.ok(pageList);

+ 50 - 98
consoleStatistics/src/main/java/com/jzg/console/service/impl/ReportOperatingProfitDataServiceImpl.java

@@ -5,16 +5,20 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.json.JSONUtil;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.entity.report.dto.ReportOperatingProfitDataDto;
 import com.jzg.commons.entity.report.dto.ReportOperatingProfitDataDto;
 import com.jzg.commons.entity.report.vo.ReportSearchCommonVo;
 import com.jzg.commons.entity.report.vo.ReportSearchCommonVo;
+import com.jzg.commons.util.BigDecimalUtil;
 import com.jzg.console.client.FeeAuditClient;
 import com.jzg.console.client.FeeAuditClient;
 import com.jzg.console.service.ReportOperatingProfitDataService;
 import com.jzg.console.service.ReportOperatingProfitDataService;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StopWatch;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
@@ -31,6 +35,8 @@ public class ReportOperatingProfitDataServiceImpl extends ReportBaseServiceImpl
 
 
     @Autowired
     @Autowired
     private FeeAuditClient feeAuditClient;
     private FeeAuditClient feeAuditClient;
+    @Autowired
+    private BaseController baseController;
 
 
     /**
     /**
      *  @version
      *  @version
@@ -41,109 +47,55 @@ public class ReportOperatingProfitDataServiceImpl extends ReportBaseServiceImpl
     @Override
     @Override
     public IPage<?> getPageListByParams(ReportSearchCommonVo reportSearchCommonVo) {
     public IPage<?> getPageListByParams(ReportSearchCommonVo reportSearchCommonVo) {
         log.info("财务数据-经营利润-列表查询: reportSearchCommonVo=[{}]", JSONUtil.toJsonStr(reportSearchCommonVo));
         log.info("财务数据-经营利润-列表查询: reportSearchCommonVo=[{}]", JSONUtil.toJsonStr(reportSearchCommonVo));
-        String sql1 = """
-                
-                select
-                	a.ym ,
-                	sum(a.total_premium),
-                	sum(a.total_receivable_premium)
-                	-- ,sum(a.total_payable_premium)
-                from
-                	(
-                	select
-                		io.id as order_no,
-                		io.signing_time ,
-                		DATE_FORMAT(io.signing_time, '%Y-%m') as ym,
-                		ifo.total_premium ,
-                		ifo.total_payable_premium ,
-                		ifo.total_receivable_premium,
-                		io.system_code
-                	from
-                		ins_fee_orders ifo
-                	left join ins_orders io on
-                		ifo.order_no = io.id
-                	where
-                		io.system_code = 'G111'
-                		and io.signing_time >= '2016-01-01 00:00:00'
-                ) as a
-                group by a.ym
-                order by a.ym asc
-             
-                """;
-
-        String sql11 = """
-                
-                select
-                	a.ym ,
-                	sum(a.total_payable_premium)
-                from
-                	(
-                	select
-                		io.id as order_no,
-                		io.signing_time ,
-                		DATE_FORMAT(io.signing_time, '%Y-%m') as ym,
-                		ifo.total_premium ,
-                		ifo.total_payable_premium ,
-                		ifo.total_receivable_premium,
-                		io.system_code
-                	from
-                		ins_fee_orders ifo
-                	left join ins_orders io on
-                		ifo.order_no = io.id
-                	where
-                		io.system_code = 'G111'
-                		and io.signing_time >= '2016-01-01 00:00:00'
-                		and io.id in (
-                		select
-                			ifa.order_no
-                		from
-                			ins_fee_audit ifa
-                		where
-                			ifa.audit_status = 1
-                )
-                ) as a
-                group by	a.ym
-                order by	a.ym asc
-                
-                """;
-
-        String sql2 = """
-                    select
-                    	sum(ipiis.actual_received_amount),
-                    	DATE_FORMAT(ipiis.receive_payment_date, '%Y-%m') as ym
-                    from
-                    	ins_ply_income_invoice_settlement ipiis
-                    where
-                    	receive_payment_date >= '2026-07-01 00:00:00'
-                    	and ipiis.system_code = 'G111'
-                    group by ym
-                
-                """;
-
-        String sql3 = """
-                select
-                	DATE_FORMAT(suacl.create_time, '%Y-%m') as ym,
-                	sum(suacl.amount)
-                from
-                	sys_user_account_change_log suacl
-                where
-                	suacl.system_code = 'G111'
-                	and suacl.amount < 0
-                	and suacl.create_time >= '2026-01-01 00:00:00'
-                group by
-                	ym
-                """;
-
-        Map<String, ReportOperatingProfitDataDto> map1 = new HashMap<>();
+        Integer year = LocalDate.now().getYear();
+        List<String> years = reportSearchCommonVo.getYear();
+        if(CollUtil.isNotEmpty(years)){
+            year = Integer.valueOf(years.get(0));
+        }
+        StopWatch stopWatch = new StopWatch("营业利润汇总");
+        stopWatch.start("查询总保费");
+        Map<String, ReportOperatingProfitDataDto> map1 = feeAuditClient.queryOperatingProfits(year,"01").getData();
+        stopWatch.stop();
+
+        stopWatch.start("查询总的应付");
+
         Map<String, ReportOperatingProfitDataDto> map2 = new HashMap<>();
         Map<String, ReportOperatingProfitDataDto> map2 = new HashMap<>();
+        try{
+            map2 = feeAuditClient.queryOperatingProfits(year,"02").getData();
+        }catch (Exception e){
+            log.error("查询总的应付",e);
+        }
+        stopWatch.stop();
+        stopWatch.start("查询实收金额(结算金额)");
         Map<String, ReportOperatingProfitDataDto> map3 = new HashMap<>();
         Map<String, ReportOperatingProfitDataDto> map3 = new HashMap<>();
+        try {
+            map3 = feeAuditClient.queryOperatingProfits(year,"03").getData();
+        } catch (Exception e) {
+            log.error("查询实收金额(结算金额)",e);
+        }
+        stopWatch.stop();
+        stopWatch.start("查询实际提取金额");
         Map<String, ReportOperatingProfitDataDto> map4 = new HashMap<>();
         Map<String, ReportOperatingProfitDataDto> map4 = new HashMap<>();
+        try {
+            map3 = feeAuditClient.queryOperatingProfits(year,"04").getData();
+        } catch (Exception e) {
+            log.error("查询实际提取金额",e);
+        }
+        stopWatch.stop();
         List<Map<String, ReportOperatingProfitDataDto>>  allMaps = new ArrayList<>();
         List<Map<String, ReportOperatingProfitDataDto>>  allMaps = new ArrayList<>();
+        allMaps.add(map1);
+        allMaps.add(map2);
+        allMaps.add(map3);
+        allMaps.add(map4);
+        stopWatch.start("数据集汇总");
         Map<String, ReportOperatingProfitDataDto> compMaps = this.mergeMaps(allMaps);
         Map<String, ReportOperatingProfitDataDto> compMaps = this.mergeMaps(allMaps);
-        List<ReportOperatingProfitDataDto> values = new ArrayList<>(compMaps.values());
-
+        stopWatch.stop();
 
 
-        // Page<ReportOperatingProfitDataDto> page = new Page<>(reportSearchCommonVo.getPageNo(), reportSearchCommonVo.getPageSize());
+        log.info("统计营业利润,耗时明细如下:[{}]", stopWatch.prettyPrint());
+        List<ReportOperatingProfitDataDto> values = compMaps.values().stream()
+                .peek(action->{
+                    action.setProfitMoney(BigDecimalUtil.subtract(action.getReceivableMoney(),action.getMeetMoney()));
+                }).sorted(Comparator.comparing(ReportOperatingProfitDataDto::getYm).reversed()).collect(Collectors.toList());
         IPage<ReportOperatingProfitDataDto> pageList = new Page<ReportOperatingProfitDataDto>();
         IPage<ReportOperatingProfitDataDto> pageList = new Page<ReportOperatingProfitDataDto>();
         pageList.setRecords(values);
         pageList.setRecords(values);
         pageList.setTotal(CollUtil.size(values));
         pageList.setTotal(CollUtil.size(values));
@@ -202,7 +154,7 @@ public class ReportOperatingProfitDataServiceImpl extends ReportBaseServiceImpl
     public List<ReportOperatingProfitDataDto>  getList(){
     public List<ReportOperatingProfitDataDto>  getList(){
         List<ReportOperatingProfitDataDto> list =new ArrayList<>();
         List<ReportOperatingProfitDataDto> list =new ArrayList<>();
         ReportOperatingProfitDataDto reportOperatingProfitDataDto = ReportOperatingProfitDataDto.builder()
         ReportOperatingProfitDataDto reportOperatingProfitDataDto = ReportOperatingProfitDataDto.builder()
-                .yearAndMonthTime("2023-10").sumPremium(new BigDecimal(456)).receivableMoney(new BigDecimal(456))
+                .ym("2023-10").sumPremium(new BigDecimal(456)).receivableMoney(new BigDecimal(456))
                 .meetMoney(new BigDecimal(23)).profitMoney(new BigDecimal(32))
                 .meetMoney(new BigDecimal(23)).profitMoney(new BigDecimal(32))
                 .receivedMoney(new BigDecimal(23)).paidMoney(new BigDecimal(23)).build();
                 .receivedMoney(new BigDecimal(23)).paidMoney(new BigDecimal(23)).build();
         list.add(reportOperatingProfitDataDto);
         list.add(reportOperatingProfitDataDto);

+ 33 - 22
consoleStatistics/src/main/java/com/jzg/console/service/impl/ReportPersonCheckDataServiceImpl.java

@@ -12,8 +12,10 @@ import com.jzg.commons.entity.orders.vo.FeeAuditSummaryVO;
 import com.jzg.commons.entity.report.dto.*;
 import com.jzg.commons.entity.report.dto.*;
 import com.jzg.commons.entity.report.vo.ReportSearchCommonVo;
 import com.jzg.commons.entity.report.vo.ReportSearchCommonVo;
 import com.jzg.commons.entity.user.vo.UserInfoWithPhone;
 import com.jzg.commons.entity.user.vo.UserInfoWithPhone;
+import com.jzg.commons.entity.vo.SysUserVo;
 import com.jzg.console.client.FeeAuditClient;
 import com.jzg.console.client.FeeAuditClient;
 import com.jzg.console.client.OrganizationClient;
 import com.jzg.console.client.OrganizationClient;
+import com.jzg.console.client.PlatformClient;
 import com.jzg.console.service.ReportPersonCheckDataService;
 import com.jzg.console.service.ReportPersonCheckDataService;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
@@ -21,7 +23,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
@@ -45,6 +46,9 @@ public class ReportPersonCheckDataServiceImpl extends ReportBaseServiceImpl impl
 
 
     @Autowired
     @Autowired
     private FeeAuditClient feeAuditClient;
     private FeeAuditClient feeAuditClient;
+    @Autowired
+    private PlatformClient platformClient;
+
 
 
 
 
     /**
     /**
@@ -135,12 +139,18 @@ public class ReportPersonCheckDataServiceImpl extends ReportBaseServiceImpl impl
     @Override
     @Override
     public IPage<?> getPageDetailListByParams(ReportSearchCommonVo reportSearchCommonVo) {
     public IPage<?> getPageDetailListByParams(ReportSearchCommonVo reportSearchCommonVo) {
         log.info("财务数据-人员审核-明细查询:reportSearchCommonVo=[{}]", JSONUtil.toJsonStr(reportSearchCommonVo));
         log.info("财务数据-人员审核-明细查询:reportSearchCommonVo=[{}]", JSONUtil.toJsonStr(reportSearchCommonVo));
-
-        Page<ReportPersonCheckDataDetailDto> page = new Page<>(reportSearchCommonVo.getPageNo(), reportSearchCommonVo.getPageSize());
+        //String userId = reportSearchCommonVo.getUserId();
+        //HttpResult<SysUserVo> sysUserVoHttpResult = platformClient.userGet(userId);
+        //SysUserVo sysUserVo = sysUserVoHttpResult.getData();
+        String userName = reportSearchCommonVo.getUserId();
+        String name = reportSearchCommonVo.getUserId();
+        String systemCode = baseController.getSystemCode();
+        List<ReportPersonCheckDataDetailDto> detailList =  feeAuditClient.queryPageDetailList(systemCode,userName, reportSearchCommonVo.getPageNo(), reportSearchCommonVo.getPageSize()).getData();
+        detailList = detailList.stream().peek(action->{action.setCheckUserName(name);}).toList();
+//        Page<ReportPersonCheckDataDetailDto> page = new Page<>(reportSearchCommonVo.getPageNo(), reportSearchCommonVo.getPageSize());
         IPage<ReportPersonCheckDataDetailDto> detailPageList = new Page<ReportPersonCheckDataDetailDto>();
         IPage<ReportPersonCheckDataDetailDto> detailPageList = new Page<ReportPersonCheckDataDetailDto>();
-        List<ReportPersonCheckDataDetailDto> detailList = getDetailList();
         detailPageList.setRecords(detailList);
         detailPageList.setRecords(detailList);
-        detailPageList.setTotal(1l);
+        detailPageList.setTotal(CollUtil.size(detailList));
         detailPageList.setCurrent(reportSearchCommonVo.getPageNo());
         detailPageList.setCurrent(reportSearchCommonVo.getPageNo());
         detailPageList.setPages(reportSearchCommonVo.getPageNo());
         detailPageList.setPages(reportSearchCommonVo.getPageNo());
         detailPageList.setPages(reportSearchCommonVo.getPageSize());
         detailPageList.setPages(reportSearchCommonVo.getPageSize());
@@ -154,24 +164,25 @@ public class ReportPersonCheckDataServiceImpl extends ReportBaseServiceImpl impl
      */
      */
     @Override
     @Override
     public void downloadDetailListByParams(ReportSearchCommonVo reportSearchCommonVo) {
     public void downloadDetailListByParams(ReportSearchCommonVo reportSearchCommonVo) {
-        List<ReportPersonCheckDataDetailDto> detailList = getDetailList();
+        List<ReportPersonCheckDataDetailDto> detailList =  this.getPageDetailListByParams(reportSearchCommonVo).getRecords().stream().
+                map(action->(ReportPersonCheckDataDetailDto)action).collect(Collectors.toList());
         upLoadFile(reportSearchCommonVo, ReportPersonCheckDataDetailDto.class,detailList,"财务数据-人员审核-明细导出-"+ reportSearchCommonVo.getUserId());
         upLoadFile(reportSearchCommonVo, ReportPersonCheckDataDetailDto.class,detailList,"财务数据-人员审核-明细导出-"+ reportSearchCommonVo.getUserId());
     }
     }
 
 
-    /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2025/9/24 10:42
-     *  @Description:  模拟数据
-     */
-    public List<ReportPersonCheckDataDetailDto>  getDetailList(){
-        List<ReportPersonCheckDataDetailDto> list =new ArrayList<>();
-        ReportPersonCheckDataDetailDto reportPersonCheckDataDetailDto = ReportPersonCheckDataDetailDto.builder()
-                .orderNo("2025090811253600215").licenseNo("京AG6002").orderTypeName("代客录单")
-                .submitCheckTime(new Date()).checkTime(new Date()).checkResult("已审核")
-                .checkDuration(20L).checkUserName("李四").checkUserPhone("18811459985")
-                .build();
-        list.add(reportPersonCheckDataDetailDto);
-        return list;
-    }
+//    /**
+//     *  @version
+//     *  @author: hxl
+//     *  @Date: 2025/9/24 10:42
+//     *  @Description:  模拟数据
+//     */
+//    public List<ReportPersonCheckDataDetailDto>  getDetailList(){
+//        List<ReportPersonCheckDataDetailDto> list =new ArrayList<>();
+//        ReportPersonCheckDataDetailDto reportPersonCheckDataDetailDto = ReportPersonCheckDataDetailDto.builder()
+//                .orderNo("2025090811253600215").licenseNo("京AG6002").orderTypeName("代客录单")
+//                .submitCheckTime(new Date()).checkTime(new Date()).checkResult("已审核")
+//                .checkDuration(20L).checkUserName("李四").checkUserPhone("18811459985")
+//                .build();
+//        list.add(reportPersonCheckDataDetailDto);
+//        return list;
+//    }
 }
 }

+ 19 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/InsFeeAuditController.java

@@ -13,6 +13,7 @@ import com.jzg.commons.entity.orders.vo.FeeAuditSummaryParam;
 import com.jzg.commons.entity.orders.vo.FeeAuditSummaryVO;
 import com.jzg.commons.entity.orders.vo.FeeAuditSummaryVO;
 import com.jzg.commons.entity.orders.vo.FeeAuditVo;
 import com.jzg.commons.entity.orders.vo.FeeAuditVo;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteEchoVo;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteEchoVo;
+import com.jzg.commons.entity.report.dto.ReportPersonCheckDataDetailDto;
 import com.jzg.commons.entity.vo.PtlAgreementCostRatioVo;
 import com.jzg.commons.entity.vo.PtlAgreementCostRatioVo;
 import com.jzg.commons.entity.vo.QuestionOrder;
 import com.jzg.commons.entity.vo.QuestionOrder;
 import com.jzg.quotation.summary.aop.aspect.OrderOperationLog;
 import com.jzg.quotation.summary.aop.aspect.OrderOperationLog;
@@ -235,4 +236,22 @@ public class InsFeeAuditController {
         List<FeeAuditSummaryVO>  res = insFeeAuditService.queryAuditSummary(param);
         List<FeeAuditSummaryVO>  res = insFeeAuditService.queryAuditSummary(param);
         return HttpResult.ok(res);
         return HttpResult.ok(res);
     }
     }
+
+    /**
+     * 查询审核明细
+     *
+     * @param userName 用户登录名
+     * @param systemCode 租户代码
+     * @param pageNo
+     * @param pageSize
+     * @author lipf
+     * @date 2026/7/27 11:13
+     */
+    @GetMapping("/queryPageDetailList")
+    HttpResult<List<ReportPersonCheckDataDetailDto>> queryPageDetailList(@RequestParam("systemCode") String systemCode,
+                                                                         @RequestParam("userName") String userName,
+                                                                         @RequestParam("pageNo") Integer pageNo,
+                                                                         @RequestParam("pageSize") Integer pageSize){
+        return HttpResult.ok(insFeeAuditService.queryPageDetailList(systemCode, userName, pageNo, pageSize));
+    }
 }
 }

+ 4 - 3
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/InsFeeOrderController.java

@@ -16,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * @author quchen
  * @author quchen
@@ -100,9 +101,9 @@ public class InsFeeOrderController {
      * @author lipf
      * @author lipf
      * @date 2026/7/25 11:22
      * @date 2026/7/25 11:22
      */
      */
-    @GetMapping("/feeAudit/queryOperatingProfits")
-    HttpResult<List<ReportOperatingProfitDataDto>> queryOperatingProfits(@RequestParam("year") String year){
+    @GetMapping("/queryOperatingProfits")
+    HttpResult<Map<String, ReportOperatingProfitDataDto>> queryOperatingProfits(@RequestParam("year") Integer year, @RequestParam("sqlType") String sqlType){
         String systemCode = baseController.getSystemCode();
         String systemCode = baseController.getSystemCode();
-        return HttpResult.ok(insFeeOrdersService.queryOperatingProfits(year,systemCode));
+        return HttpResult.ok(insFeeOrdersService.queryOperatingProfits(year,systemCode, sqlType));
     }
     }
 }
 }

+ 13 - 11
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/UnifyOrderManager.java

@@ -342,18 +342,20 @@ public class UnifyOrderManager {
             // 报价后更新订单
             // 报价后更新订单
             insOrdersService.orderAfterUpdateQuote(ordersNo, quoteResultsVo);
             insOrdersService.orderAfterUpdateQuote(ordersNo, quoteResultsVo);
 
 
-            quoteResultsVo.getKindInfoVo().forEach(item->{
-                if(Objects.nonNull(item.getPlatformKindCode())) {
-                    if (item.getPlatformKindCode().equals("TY1") || item.getPlatformKindCode().equals("TY2") || item.getPlatformKindCode().equals("TY3") || item.getPlatformKindCode().equals("TY4")) {
-                        item.setAmount(String.valueOf((int) Double.parseDouble(item.getAmount())) + "次");
+            if (quoteResultsVo.getKindInfoVo() != null) {
+                quoteResultsVo.getKindInfoVo().forEach(item -> {
+                    if (Objects.nonNull(item.getPlatformKindCode())) {
+                        if (item.getPlatformKindCode().equals("TY1") || item.getPlatformKindCode().equals("TY2") || item.getPlatformKindCode().equals("TY3") || item.getPlatformKindCode().equals("TY4")) {
+                            item.setAmount((int) Double.parseDouble(item.getAmount()) + "次");
+                        }
+                        // 人保是用kindcode 传的 需要处理一下
+                    } else if (Objects.nonNull(item.getKindCode())) {
+                        if (item.getKindCode().equals("TY1") || item.getKindCode().equals("TY2") || item.getKindCode().equals("TY3") || item.getKindCode().equals("TY4")) {
+                            item.setAmount((int) Double.parseDouble(item.getAmount()) + "次");
+                        }
                     }
                     }
-                    // 人保是用kindcode 传的 需要处理一下
-                }else if(Objects.nonNull(item.getKindCode())){
-                    if (item.getKindCode().equals("TY1") || item.getKindCode().equals("TY2") || item.getKindCode().equals("TY3") || item.getKindCode().equals("TY4")) {
-                        item.setAmount(String.valueOf((int) Double.parseDouble(item.getAmount())) + "次");
-                    }
-                }
-            });
+                });
+            }
 
 
             log.info("报价返回:{}", JSON.toJSONString(quoteResultsVo));
             log.info("报价返回:{}", JSON.toJSONString(quoteResultsVo));
 
 

+ 6 - 1
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/mapper/InsFeeAuditMapper.java

@@ -1,13 +1,13 @@
 package com.jzg.quotation.summary.mapper;
 package com.jzg.quotation.summary.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jzg.commons.entity.dto.FeeAuditParam;
 import com.jzg.commons.entity.dto.FeeAuditParam;
 import com.jzg.commons.entity.orders.po.InsFeeAudit;
 import com.jzg.commons.entity.orders.po.InsFeeAudit;
 import com.jzg.commons.entity.orders.vo.FeeAuditSummaryParam;
 import com.jzg.commons.entity.orders.vo.FeeAuditSummaryParam;
 import com.jzg.commons.entity.orders.vo.FeeAuditSummaryVO;
 import com.jzg.commons.entity.orders.vo.FeeAuditSummaryVO;
 import com.jzg.commons.entity.orders.vo.FeeAuditVo;
 import com.jzg.commons.entity.orders.vo.FeeAuditVo;
+import com.jzg.commons.entity.report.dto.ReportPersonCheckDataDetailDto;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
 import java.util.List;
 import java.util.List;
@@ -46,6 +46,11 @@ public interface InsFeeAuditMapper extends BaseMapper<InsFeeAudit> {
      * @date 2026/7/24 14:41
      * @date 2026/7/24 14:41
      */
      */
     List<FeeAuditSummaryVO> queryAuditSummary(@Param("param") FeeAuditSummaryParam param);
     List<FeeAuditSummaryVO> queryAuditSummary(@Param("param") FeeAuditSummaryParam param);
+
+
+    Page<ReportPersonCheckDataDetailDto> queryPageDetailList(Page<FeeAuditSummaryVO> page,
+                                                             @Param("systemCode") String systemCode,
+                                                             @Param("userName") String userName);
 }
 }
 
 
 
 

+ 49 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/mapper/InsFeeOrdersMapper.java

@@ -3,11 +3,15 @@ package com.jzg.quotation.summary.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jzg.commons.entity.dto.InsFeeOrdersParam;
 import com.jzg.commons.entity.dto.InsFeeOrdersParam;
 import com.jzg.commons.entity.po.InsFeeOrders;
 import com.jzg.commons.entity.po.InsFeeOrders;
+import com.jzg.commons.entity.report.dto.ReportOperatingProfitDataDto;
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 @Mapper
 @Mapper
 public interface InsFeeOrdersMapper extends BaseMapper<InsFeeOrders> {
 public interface InsFeeOrdersMapper extends BaseMapper<InsFeeOrders> {
@@ -29,4 +33,49 @@ public interface InsFeeOrdersMapper extends BaseMapper<InsFeeOrders> {
      */
      */
     BigDecimal queryAllTotalReceivablePremiumByOrderNo(@Param("orders") List<String> orders);
     BigDecimal queryAllTotalReceivablePremiumByOrderNo(@Param("orders") List<String> orders);
 
 
+    /**
+     * 查询保费总额和总的应收
+     *
+     * @author lipf
+     * @date 2026/7/27 8:44
+     */
+    @MapKey(value="ym")
+    Map<String,ReportOperatingProfitDataDto> queryTotalPremium(@Param("signTimeStart") LocalDateTime signTimeStart,
+                                                               @Param("signTimeEnd") LocalDateTime signTimeEnd,
+                                                               @Param("systemCode") String systemCode);
+    /**
+     * 查询保费总额和总的应付
+     *
+     * @author lipf
+     * @date 2026/7/27 8:44
+     */
+    @MapKey(value="ym")
+    Map<String,ReportOperatingProfitDataDto> queryTotalPayAmount(@Param("signTimeStart") LocalDateTime signTimeStart,
+                                                               @Param("signTimeEnd") LocalDateTime signTimeEnd,
+                                                               @Param("systemCode") String systemCode);
+
+    /**
+     * 查询保费总额和总的实收金额
+     *
+     * @author lipf
+     * @date 2026/7/27 8:44
+     */
+    @MapKey(value="ym")
+    Map<String,ReportOperatingProfitDataDto> queryTotalSettlement(@Param("signTimeStart") LocalDateTime signTimeStart,
+                                                                 @Param("signTimeEnd") LocalDateTime signTimeEnd,
+                                                                 @Param("systemCode") String systemCode);
+
+    /**
+     * 查询保费总额和总的提现金额
+     *
+     * @author lipf
+     * @date 2026/7/27 8:44
+     */
+    @MapKey(value="ym")
+    Map<String,ReportOperatingProfitDataDto> queryTotalTx(@Param("signTimeStart") LocalDateTime signTimeStart,
+                                                                  @Param("signTimeEnd") LocalDateTime signTimeEnd,
+                                                                  @Param("systemCode") String systemCode);
+
+
+
 }
 }

+ 13 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/InsFeeAuditService.java

@@ -13,6 +13,7 @@ import com.jzg.commons.entity.orders.vo.FeeAuditSummaryParam;
 import com.jzg.commons.entity.orders.vo.FeeAuditSummaryVO;
 import com.jzg.commons.entity.orders.vo.FeeAuditSummaryVO;
 import com.jzg.commons.entity.orders.vo.FeeAuditVo;
 import com.jzg.commons.entity.orders.vo.FeeAuditVo;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteEchoVo;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteEchoVo;
+import com.jzg.commons.entity.report.dto.ReportPersonCheckDataDetailDto;
 import com.jzg.commons.entity.vo.PtlAgreementCostRatioVo;
 import com.jzg.commons.entity.vo.PtlAgreementCostRatioVo;
 
 
 import java.util.List;
 import java.util.List;
@@ -122,4 +123,16 @@ public interface InsFeeAuditService extends IService<InsFeeAudit> {
      * @date 2026/7/24 14:33
      * @date 2026/7/24 14:33
      */
      */
     List<FeeAuditSummaryVO> queryAuditSummary(FeeAuditSummaryParam param);
     List<FeeAuditSummaryVO> queryAuditSummary(FeeAuditSummaryParam param);
+
+    /**
+     * 查询审核明细
+     *
+     * @param userName 用户登录名
+     * @param systemCode 租户代码
+     * @param pageNo
+     * @param pageSize
+     * @author lipf
+     * @date 2026/7/27 11:13
+     */
+    List<ReportPersonCheckDataDetailDto> queryPageDetailList(String systemCode, String userName, Integer pageNo, Integer pageSize);
 }
 }

+ 4 - 2
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/InsFeeOrdersService.java

@@ -10,6 +10,7 @@ import com.jzg.commons.entity.vo.PtlAgreementCostRatioVo;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 public interface InsFeeOrdersService extends IService<InsFeeOrders> {
 public interface InsFeeOrdersService extends IService<InsFeeOrders> {
 
 
@@ -62,9 +63,10 @@ public interface InsFeeOrdersService extends IService<InsFeeOrders> {
     /**
     /**
      * 查询指定年份的经营利润
      * 查询指定年份的经营利润
      *
      *
-     * @param year 年份,例如 2026
+     * @param year    年份,例如 2026
+     * @param sqlType 不同类型查询不同的统计值
      * @author lipf
      * @author lipf
      * @date 2026/7/25 11:22
      * @date 2026/7/25 11:22
      */
      */
-    List<ReportOperatingProfitDataDto> queryOperatingProfits(String year, String systemCode);
+    Map<String,ReportOperatingProfitDataDto> queryOperatingProfits(Integer year, String systemCode, String sqlType);
 }
 }

+ 20 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsFeeAuditServiceImpl.java

@@ -22,6 +22,7 @@ import com.jzg.commons.entity.orders.vo.FeeAuditSummaryVO;
 import com.jzg.commons.entity.orders.vo.FeeAuditVo;
 import com.jzg.commons.entity.orders.vo.FeeAuditVo;
 import com.jzg.commons.entity.po.*;
 import com.jzg.commons.entity.po.*;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteEchoVo;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteEchoVo;
+import com.jzg.commons.entity.report.dto.ReportPersonCheckDataDetailDto;
 import com.jzg.commons.entity.rights.po.InsOrderRights;
 import com.jzg.commons.entity.rights.po.InsOrderRights;
 import com.jzg.commons.entity.rights.po.InsOrderRightsPackage;
 import com.jzg.commons.entity.rights.po.InsOrderRightsPackage;
 import com.jzg.commons.entity.vo.*;
 import com.jzg.commons.entity.vo.*;
@@ -1188,6 +1189,25 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         List<FeeAuditSummaryVO> res = baseMapper.queryAuditSummary(param);
         List<FeeAuditSummaryVO> res = baseMapper.queryAuditSummary(param);
         return res;
         return res;
     }
     }
+
+    /**
+     * 查询审核明细
+     *
+     * @param userName 用户登录名
+     * @param systemCode 租户代码
+     * @param pageNo
+     * @param pageSize
+     * @author lipf
+     * @date 2026/7/27 11:13
+     */
+    @Override
+    public List<ReportPersonCheckDataDetailDto> queryPageDetailList(String systemCode, String userName, Integer pageNo, Integer pageSize) {
+        log.info("查询审核明细:{},{},{},{}", systemCode,  userName,  pageNo,pageSize);
+        Page<FeeAuditSummaryVO> page = new Page<>(pageNo, pageSize);
+        Page<ReportPersonCheckDataDetailDto> res =  baseMapper.queryPageDetailList(page, systemCode,userName);
+        log.info("查询审核明细:{},{},{},{}, 查询出[{}]条记录", systemCode,  userName,  pageNo,pageSize, CollUtil.size(res.getRecords()));
+        return res.getRecords();
+    }
 }
 }
 
 
 
 

+ 36 - 4
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsFeeOrdersServiceImpl.java

@@ -35,7 +35,11 @@ import org.springframework.stereotype.Service;
 import java.lang.reflect.Method;
 import java.lang.reflect.Method;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.math.RoundingMode;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * @author quchen
  * @author quchen
@@ -716,15 +720,43 @@ public class InsFeeOrdersServiceImpl extends ServiceImpl<InsFeeOrdersMapper, Ins
      * 查询指定年份的经营利润
      * 查询指定年份的经营利润
      *
      *
      * @param year       年份,例如 2026
      * @param year       年份,例如 2026
-     * @param systemCode
+     * @param systemCode 租户代码
+     * @param sqlType 查询类型
      * @author lipf
      * @author lipf
      * @date 2026/7/25 11:22
      * @date 2026/7/25 11:22
      */
      */
     @Override
     @Override
-    public List<ReportOperatingProfitDataDto> queryOperatingProfits(String year, String systemCode) {
-        log.info("查询租户[{}]在指定年份[{}]的经营利润之保费等信息",systemCode,year);
+    public Map<String,ReportOperatingProfitDataDto> queryOperatingProfits(Integer year, String systemCode, String sqlType) {
+        log.info("查询租户[{}]在指定年份[{}]的经营利润之保费等信息.sqlType=[{}]",systemCode,year,sqlType);
+        LocalDateTime localDateTimeStart = LocalDate.of(year, 1, 1).atStartOfDay();
+        LocalDateTime localDateTimeEnd = LocalDate.of(year+1, 1, 1).atStartOfDay();
+
+        Map<String,ReportOperatingProfitDataDto> reportOperatingProfitDataDtos = new HashMap<>();
+        try{
+            switch(sqlType){
+                case "01":
+                    reportOperatingProfitDataDtos = insFeeOrdersMapper.queryTotalPremium(localDateTimeStart, localDateTimeEnd, systemCode);
+                    break;
+                case "02":
+                    reportOperatingProfitDataDtos = insFeeOrdersMapper.queryTotalPayAmount(localDateTimeStart, localDateTimeEnd, systemCode);
+                    break;
+                case "03":
+                    reportOperatingProfitDataDtos = insFeeOrdersMapper.queryTotalSettlement(localDateTimeStart, localDateTimeEnd, systemCode);
+                    break;
+                case "04":
+                    reportOperatingProfitDataDtos = insFeeOrdersMapper.queryTotalTx(localDateTimeStart, localDateTimeEnd, systemCode);
+                    break;
+                default:
+                    log.info("sqlType=[{}]的统计维度还未支持", sqlType);
+                    break;
+            }
+        }catch (Exception e){
+            log.error("执行sql异常",e);
+        }
+
 
 
+        log.info("查询租户[{}]在指定年份[{}]的经营利润之保费等信息.sqlType=[{}]reportOperatingProfitDataDtos.size()=[{}]",systemCode,year,sqlType, CollUtil.size(reportOperatingProfitDataDtos));
+        return reportOperatingProfitDataDtos;
 
 
-        return List.of();
     }
     }
 }
 }

+ 32 - 0
tenant/insurance/quotation-summary/src/main/resources/mapper/InsFeeAuditMapper.xml

@@ -330,4 +330,36 @@
         </where>
         </where>
         group by ifa.receive_user, ifa.audit_status, problem_identify
         group by ifa.receive_user, ifa.audit_status, problem_identify
     </select>
     </select>
+    <select id="queryPageDetailList"
+            resultType="com.jzg.commons.entity.report.dto.ReportPersonCheckDataDetailDto">
+        select
+            ifa.order_no,
+            ioci.license_no,
+            ifa.create_time AS submitCheckTime,
+            ifa.audit_time AS checkTime,
+            CASE ifa.audit_status
+            WHEN 0 THEN '待审核'
+            WHEN 1 THEN '审核通过'
+            WHEN 2 THEN '审核驳回'
+            ELSE ifa.audit_status
+            END AS checkResult,
+            CASE io.entry_status
+            WHEN 1 THEN '车险出单'
+            WHEN 2 THEN '代客录单'
+            WHEN 3 THEN '补录订单'
+            ELSE ''
+            END AS order_type_name,
+            ifa.audit_time - ifa.create_time  as checkDuration,
+            ifa.audit_user as checkUserPhone
+        from
+        ins_fee_audit ifa
+        left join ins_orders_car_info ioci on
+        ifa.order_no = ioci.order_no
+        and ifa.system_code = #{systemCode}
+        and ifa.receive_user = #{userName}
+        left join ins_orders io on
+        io.id = ifa.order_no
+        order by
+        ifa.audit_time desc
+    </select>
 </mapper>
 </mapper>

+ 106 - 0
tenant/insurance/quotation-summary/src/main/resources/mapper/InsFeeOrdersMapper.xml

@@ -94,4 +94,110 @@
             </foreach>
             </foreach>
         </where>
         </where>
     </select>
     </select>
+    <!-- 查询保费总额和总的应收 lipf 2026年7月27日08:45:05 -->
+    <select id="queryTotalPremium">
+        select a.ym , sum(a.total_premium) as sumPremium, sum(a.total_receivable_premium) as receivableMoney
+        from ( select
+        io.id as order_no,
+        io.signing_time,
+        DATE_FORMAT(io.signing_time, '%Y-%m') as ym,
+        ifo.total_premium ,
+        ifo.total_payable_premium ,
+        ifo.total_receivable_premium,
+        io.system_code
+        from
+        ins_fee_orders ifo
+        left join ins_orders io on
+        ifo.order_no = io.id
+        <where>
+            io.system_code = #{systemCode}
+            <if test="signTimeStart != null">
+                and io.signing_time &gt;= #{signTimeStart}
+            </if>
+            <if test="signTimeEnd != null">
+                and io.signing_time &lt; #{signTimeEnd}
+            </if>
+        </where>
+        ) as a
+        group by a.ym
+        order by a.ym asc
+    </select>
+    <!-- 查询保费总额和总的应付 2026年7月27日09:41:37  -->
+    <select id="queryTotalPayAmount" >
+        select
+        a.ym ,
+        sum(a.total_payable_premium) as meetMoney
+        from
+        (
+        select
+        io.id as order_no,
+        io.signing_time ,
+        DATE_FORMAT(io.signing_time, '%Y-%m') as ym,
+        ifo.total_premium ,
+        ifo.total_payable_premium ,
+        ifo.total_receivable_premium,
+        io.system_code
+        from
+        ins_fee_orders ifo
+        left join ins_orders io on
+        ifo.order_no = io.id and io.system_code = #{systemCode}
+        <if test="signTimeStart != null">
+            and io.signing_time &gt;= #{signTimeStart}
+        </if>
+        <if test="signTimeEnd != null">
+            and io.signing_time &lt; #{signTimeEnd}
+        </if>
+        and io.id in (
+        select
+        ifa.order_no
+        from
+        ins_fee_audit ifa
+        where
+        ifa.audit_status = 1
+        )
+        ) as a
+        group by	a.ym
+        having ym is not null
+        order by	a.ym asc
+    </select>
+    <!-- 查询保费总额和总的实收金额 2026年7月27日09:43:31 lipf  -->
+    <select id="queryTotalSettlement" >
+        select
+        sum(ipiis.actual_received_amount) as receivableMoney,
+        DATE_FORMAT(ipiis.receive_payment_date, '%Y-%m') as ym
+        from
+        ins_ply_income_invoice_settlement ipiis
+        <where>
+            ipiis.system_code = #{systemCode}
+            <if test="signTimeStart != null">
+                and ipiis.receive_payment_date &gt;= #{signTimeStart}
+            </if>
+            <if test="signTimeEnd != null">
+                and ipiis.receive_payment_date &lt; #{signTimeEnd}
+            </if>
+        </where>
+        group by ym
+    </select>
+    <!-- 查询总的提现金额 lipf 2026年7月27日09:46:14  -->
+    <select id="queryTotalTx" >
+        select
+        DATE_FORMAT(suacl.create_time, '%Y-%m') as ym,
+        sum(suacl.amount) as paidMoney
+        from
+        sys_user_account_change_log suacl
+        <where>
+            suacl.system_code = #{systemCode}
+            <if test="signTimeStart != null">
+                and suacl.create_time &gt;= #{signTimeStart}
+            </if>
+            <if test="signTimeEnd != null">
+                and suacl.create_time &lt; #{signTimeEnd}
+            </if>
+            and suacl.amount &lt; 0
+        </where>
+        group by
+        ym
+    </select>
+
+
 </mapper>
 </mapper>

+ 14 - 0
tenant/organization/src/main/java/com/jzg/organization/controller/AgreementController.java

@@ -7,6 +7,7 @@ import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.*;
 import com.jzg.commons.entity.dto.*;
 import com.jzg.commons.entity.enums.YesNoEnum;
 import com.jzg.commons.entity.enums.YesNoEnum;
+import com.jzg.commons.entity.finance.vo.ContractVO;
 import com.jzg.commons.entity.po.PtlAgreement;
 import com.jzg.commons.entity.po.PtlAgreement;
 import com.jzg.commons.entity.po.PtlAgreementCostExternal;
 import com.jzg.commons.entity.po.PtlAgreementCostExternal;
 import com.jzg.commons.entity.vo.AgreementInfoVo;
 import com.jzg.commons.entity.vo.AgreementInfoVo;
@@ -327,4 +328,17 @@ public class AgreementController extends BaseController {
         List<PtlAgreementCostExternal> costExternals = agreementService.getContactAgreementCost(agreementId, productId, isInquiry);
         List<PtlAgreementCostExternal> costExternals = agreementService.getContactAgreementCost(agreementId, productId, isInquiry);
         return HttpResult.ok(costExternals);
         return HttpResult.ok(costExternals);
     }
     }
+
+    /**
+     * 查询协议中配置的所有对接人
+     *
+     * @author lipf
+     * @date 2026/7/28 9:13
+     */
+    @Operation(summary = "查询协议中配置的所有对接人")
+    @GetMapping("/queryContractVos")
+    HttpResult<List<ContractVO>> queryContractVos(){
+        List<ContractVO> vos = agreementService.queryContractVos();
+        return HttpResult.ok(vos);
+    }
 }
 }

+ 3 - 0
tenant/organization/src/main/java/com/jzg/organization/controller/PtlNewAgreementController.java

@@ -4,6 +4,7 @@ package com.jzg.organization.controller;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.agreement.vo.PtlAgreementUndwrtRulesAttrQueryVo;
 import com.jzg.commons.entity.agreement.vo.PtlAgreementUndwrtRulesAttrQueryVo;
 import com.jzg.commons.entity.dto.RulesAttParam;
 import com.jzg.commons.entity.dto.RulesAttParam;
+import com.jzg.commons.entity.finance.vo.ContractVO;
 import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesAttr;
 import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesAttr;
 import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesDictLabal;
 import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesDictLabal;
 import com.jzg.organization.service.PtlAgreementUndwrtRulesAttrService;
 import com.jzg.organization.service.PtlAgreementUndwrtRulesAttrService;
@@ -60,4 +61,6 @@ public class PtlNewAgreementController {
 
 
 
 
 
 
+
+
 }
 }

+ 10 - 0
tenant/organization/src/main/java/com/jzg/organization/mapper/PtlAgreementMapper.java

@@ -3,6 +3,7 @@ package com.jzg.organization.mapper;
 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.jzg.commons.entity.dto.AgreementParam;
 import com.jzg.commons.entity.dto.AgreementParam;
+import com.jzg.commons.entity.finance.vo.ContractVO;
 import com.jzg.commons.entity.po.PtlAgreement;
 import com.jzg.commons.entity.po.PtlAgreement;
 import com.jzg.commons.entity.vo.AgreementVo;
 import com.jzg.commons.entity.vo.AgreementVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
@@ -42,6 +43,15 @@ public interface PtlAgreementMapper extends BaseMapper<PtlAgreement> {
      * @return
      * @return
      */
      */
     List<PtlAgreement> getByCompanyId(String companyId);
     List<PtlAgreement> getByCompanyId(String companyId);
+
+    /**
+     * 查询协议中配置的所有对接人
+     *
+     * @author lipf
+     * @date 2026/7/28 9:13
+     */
+    List<ContractVO> queryContractVos(@Param("systemCode") String systemCode);
+
 }
 }
 
 
 
 

+ 2 - 1
tenant/organization/src/main/java/com/jzg/organization/mapper/ReceivableMapper.java

@@ -67,7 +67,8 @@ public interface ReceivableMapper extends BaseMapper<InsPlyIncome> {
      */
      */
     List<InsPlyIncome> queryIncomeDatasByOrderIds(@Param("orderNos") List<String> orderNos,
     List<InsPlyIncome> queryIncomeDatasByOrderIds(@Param("orderNos") List<String> orderNos,
                                                   @Param("companyId") String companyId,
                                                   @Param("companyId") String companyId,
-                                                  @Param("invoiceType") String invoiceType);
+                                                  @Param("invoiceType") String invoiceType,
+                                                  @Param("agreementType") String agreementType);
 
 
     /**
     /**
      * 查询应收总额
      * 查询应收总额

+ 8 - 0
tenant/organization/src/main/java/com/jzg/organization/service/PtlAgreementService.java

@@ -2,6 +2,7 @@ package com.jzg.organization.service;
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jzg.commons.entity.dto.*;
 import com.jzg.commons.entity.dto.*;
+import com.jzg.commons.entity.finance.vo.ContractVO;
 import com.jzg.commons.entity.po.PtlAgreement;
 import com.jzg.commons.entity.po.PtlAgreement;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.jzg.commons.entity.po.PtlAgreementCost;
 import com.jzg.commons.entity.po.PtlAgreementCost;
@@ -158,4 +159,11 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
      * @return
      * @return
      */
      */
     List<PtlAgreementCostExternal> getContactAgreementCost(String agreementId,String productId,String isInquiring);
     List<PtlAgreementCostExternal> getContactAgreementCost(String agreementId,String productId,String isInquiring);
+
+    /**
+     *
+     * @author lipf
+     * @date 2026/7/28 9:14
+     */
+    List<ContractVO> queryContractVos();
 }
 }

+ 13 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementServiceImpl.java

@@ -10,6 +10,7 @@ import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.*;
 import com.jzg.commons.entity.dto.*;
 import com.jzg.commons.entity.enums.YesNoEnum;
 import com.jzg.commons.entity.enums.YesNoEnum;
+import com.jzg.commons.entity.finance.vo.ContractVO;
 import com.jzg.commons.entity.po.*;
 import com.jzg.commons.entity.po.*;
 import com.jzg.commons.entity.vo.*;
 import com.jzg.commons.entity.vo.*;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.commons.exception.SystemException;
@@ -588,6 +589,18 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         return httpResult.getData();
         return httpResult.getData();
     }
     }
 
 
+    /**
+     * 查询协议中配置的所有对接人
+     *
+     * @author lipf
+     * @date 2026/7/28 9:13
+     */
+    @Override
+    public List<ContractVO> queryContractVos() {
+        String systemCode = baseController.getSystemCode();
+        log.info("查询对接人信息:systemCode=[{}]", systemCode);
+        return baseMapper.queryContractVos(systemCode);
+    }
 }
 }
 
 
 
 

+ 7 - 4
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -401,7 +401,10 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         // add by lipf ,二次过滤查询可开票订单的时候,应该查询未开票的订单
         // add by lipf ,二次过滤查询可开票订单的时候,应该查询未开票的订单
         List<String> orderNos = incomeDataVO.getOrderNos();
         List<String> orderNos = incomeDataVO.getOrderNos();
         String companyId = incomeDataVO.getCompanyId();
         String companyId = incomeDataVO.getCompanyId();
-        List<InsPlyIncome> incomes =  baseMapper.queryIncomeDatasByOrderIds(orderNos,companyId,incomeDataVO.getInvoiceType());
+        if("5".equals(incomeDataVO.getInvoiceType()) || "6".equals(incomeDataVO.getInvoiceType())){
+            incomeDataVO.setAgreementType("1");
+        }
+        List<InsPlyIncome> incomes =  baseMapper.queryIncomeDatasByOrderIds(orderNos,companyId,incomeDataVO.getInvoiceType(),incomeDataVO.getAgreementType());
         log.info("根据订单号和保司id查询出[{}]条记录。 orderNos =[{}],companyId=[{}]",CollUtil.size(incomes), JSONUtil.toJsonStr(orderNos), companyId);
         log.info("根据订单号和保司id查询出[{}]条记录。 orderNos =[{}],companyId=[{}]",CollUtil.size(incomes), JSONUtil.toJsonStr(orderNos), companyId);
         // 需要查询未结算的数据 modify by lipf 2026年6月4日11:06:50
         // 需要查询未结算的数据 modify by lipf 2026年6月4日11:06:50
         incomes = incomes.stream().filter(action->{
         incomes = incomes.stream().filter(action->{
@@ -789,7 +792,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             incomeDtoList = incomeDtoList.stream()
             incomeDtoList = incomeDtoList.stream()
                     .filter(income -> StrUtil.isBlank(invoiceType)
                     .filter(income -> StrUtil.isBlank(invoiceType)
                             || invoiceType.equals(income.getInvoiceType()))
                             || invoiceType.equals(income.getInvoiceType()))
-                    .toList();
+                    .collect(Collectors.toCollection(ArrayList::new));
             List<InsPlyIncomeDto> copyList = CollUtil.newArrayList();
             List<InsPlyIncomeDto> copyList = CollUtil.newArrayList();
             if (CollUtil.isNotEmpty(incomeDtoList)){
             if (CollUtil.isNotEmpty(incomeDtoList)){
                 // 如果有发票类型为4的,则复制一条4的数据,完全一致,但发票类型为2
                 // 如果有发票类型为4的,则复制一条4的数据,完全一致,但发票类型为2
@@ -1708,7 +1711,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             invoice.setOverinflatedAmount(invoicingVo.getOverinflatedAmount());
             invoice.setOverinflatedAmount(invoicingVo.getOverinflatedAmount());
             invoice.setReceivableSupervisePremium(invoicingVo.getReceivableSupervisePremium());
             invoice.setReceivableSupervisePremium(invoicingVo.getReceivableSupervisePremium());
             invoice.setTaxPoint(invoicingVo.getTaxPoint());
             invoice.setTaxPoint(invoicingVo.getTaxPoint());
-            invoice.setInvoiceTime(LocalDateTime.now());
+            invoice.setInvoiceTime(invoicingVo.getInvoiceTime());
             insPlyIncomeInvoiceMapper.insert(invoice);
             insPlyIncomeInvoiceMapper.insert(invoice);
             List<InsPlyIncomeInvoiceLink> invoicingLinkList = new ArrayList<>();
             List<InsPlyIncomeInvoiceLink> invoicingLinkList = new ArrayList<>();
             invoicingVo.getIncomeIds().forEach(incomeId -> {
             invoicingVo.getIncomeIds().forEach(incomeId -> {
@@ -6400,7 +6403,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         InsPlyIncomeInvoice insPlyIncomeInvoice = insPlyIncomeInvoiceMapper.selectById(invoiceId);
         InsPlyIncomeInvoice insPlyIncomeInvoice = insPlyIncomeInvoiceMapper.selectById(invoiceId);
 
 
         // 标记结算完成的时候,将未结算金额汇总 到最后一次结算的回款差额里面  lipf 2026年7月7日10:53:47
         // 标记结算完成的时候,将未结算金额汇总 到最后一次结算的回款差额里面  lipf 2026年7月7日10:53:47
-        BigDecimal settlementAmount =  insPlyIncomeInvoiceSettlements.stream().map(action-> BigDecimalUtil.add(action.getSettlementPaymentDifference(), action.getActualReceivedAmount()))
+        BigDecimal settlementAmount =  insPlyIncomeInvoiceSettlements.stream().map(InsPlyIncomeInvoiceSettlement::getActualReceivedAmount)
                 .reduce(BigDecimal.ZERO,BigDecimal::add);
                 .reduce(BigDecimal.ZERO,BigDecimal::add);
         BigDecimal subtract = BigDecimalUtil.subtract(settlementAmount, insPlyIncomeInvoice.getReceivableSupervisePremium());
         BigDecimal subtract = BigDecimalUtil.subtract(settlementAmount, insPlyIncomeInvoice.getReceivableSupervisePremium());
         if (CollUtil.isNotEmpty(insPlyIncomeInvoiceSettlements)){
         if (CollUtil.isNotEmpty(insPlyIncomeInvoiceSettlements)){

+ 15 - 0
tenant/organization/src/main/resources/mapper/PtlAgreementMapper.xml

@@ -235,4 +235,19 @@
             SELECT id FROM t)
             SELECT id FROM t)
         </where>
         </where>
     </select>
     </select>
+    <!--  查询对接人列表 lipf 2026年7月28日09:16:34 -->
+    <select id="queryContractVos" resultType="com.jzg.commons.entity.finance.vo.ContractVO">
+        select
+            distinct pa.system_code ,
+            pa.docking_person as contactPerson
+        from
+        ptl_agreement pa
+        where
+        pa.docking_person is not null
+        and length(pa.docking_person) != 0
+        and pa.system_code = #{systemCode}
+        and pa.is_delete = 0
+        order by
+        pa.docking_person asc
+    </select>
 </mapper>
 </mapper>

+ 10 - 0
tenant/organization/src/main/resources/mapper/ReceivableMapper.xml

@@ -310,6 +310,9 @@
         <if test="companyId != null and companyId != ''">
         <if test="companyId != null and companyId != ''">
             AND io.company_id = #{companyId}
             AND io.company_id = #{companyId}
         </if>
         </if>
+        <if test="agreementType != null and agreementType != ''">
+            and ipi.agreement_type = #{agreementType}
+        </if>
         <if test="invoiceType != null and invoiceType != ''">
         <if test="invoiceType != null and invoiceType != ''">
             AND ipi.id not in (
             AND ipi.id not in (
             select ipiil.income_id from   ins_ply_income_invoice_link	ipiil where  ipiil.invoice_type = #{invoiceType} and ipiil.is_delete  = 0
             select ipiil.income_id from   ins_ply_income_invoice_link	ipiil where  ipiil.invoice_type = #{invoiceType} and ipiil.is_delete  = 0
@@ -969,12 +972,15 @@
         COALESCE(ipi.jq_supervise_costs_premiums, 0) + COALESCE(ipi.sy_supervise_costs_premiums, 0) + COALESCE(ipi.jy_supervise_costs_premiums, 0) + COALESCE(ipi.jq_other_costs_premiums, 0) + COALESCE(ipi.sy_other_costs_premiums, 0) + COALESCE(ipi.jy_other_costs_premiums, 0) AS receivableSuperviseCosts,
         COALESCE(ipi.jq_supervise_costs_premiums, 0) + COALESCE(ipi.sy_supervise_costs_premiums, 0) + COALESCE(ipi.jy_supervise_costs_premiums, 0) + COALESCE(ipi.jq_other_costs_premiums, 0) + COALESCE(ipi.sy_other_costs_premiums, 0) + COALESCE(ipi.jy_other_costs_premiums, 0) AS receivableSuperviseCosts,
         ipi.jq_premium as jqPremium,
         ipi.jq_premium as jqPremium,
         ipi.jq_supervise_costs_proportion as jqSuperviseCostsProportion,
         ipi.jq_supervise_costs_proportion as jqSuperviseCostsProportion,
+        ipi.jq_other_costs_proportion,
         ipi.jq_policy_no as jqPolicyNo,
         ipi.jq_policy_no as jqPolicyNo,
         ipi.sy_premium as syPremium,
         ipi.sy_premium as syPremium,
         ipi.sy_supervise_costs_proportion as sySuperviseCostsProportion,
         ipi.sy_supervise_costs_proportion as sySuperviseCostsProportion,
+        ipi.sy_other_costs_proportion,
         ipi.sy_policy_no as syPolicyNo,
         ipi.sy_policy_no as syPolicyNo,
         ipi.jy_premium as jyPremium,
         ipi.jy_premium as jyPremium,
         ipi.jy_supervise_costs_proportion as jySuperviseCostsProportion,
         ipi.jy_supervise_costs_proportion as jySuperviseCostsProportion,
+        ipi.jy_other_costs_proportion,
         ipi.jy_policy_no as jyPolicyNo,
         ipi.jy_policy_no as jyPolicyNo,
         ipi.tax_premium as taxPremium,
         ipi.tax_premium as taxPremium,
         ipii.create_by as invoicePerson,
         ipii.create_by as invoicePerson,
@@ -1011,6 +1017,9 @@
             <if test="settlementQueryVo.companyId != null and settlementQueryVo.companyId != ''">
             <if test="settlementQueryVo.companyId != null and settlementQueryVo.companyId != ''">
                 AND ipi.company_id = #{settlementQueryVo.companyId}
                 AND ipi.company_id = #{settlementQueryVo.companyId}
             </if>
             </if>
+            <if test="settlementQueryVo.contactPerson != null and settlementQueryVo.contactPerson != ''">
+                AND ipii.contact_person = #{settlementQueryVo.contactPerson}
+            </if>
             <if test="settlementQueryVo.invoiceParty != null and settlementQueryVo.invoiceParty != ''">
             <if test="settlementQueryVo.invoiceParty != null and settlementQueryVo.invoiceParty != ''">
                 AND ipii.invoice_party = #{settlementQueryVo.invoiceParty}
                 AND ipii.invoice_party = #{settlementQueryVo.invoiceParty}
             </if>
             </if>
@@ -1484,6 +1493,7 @@
         ipii.id,
         ipii.id,
         ipii.company_id,
         ipii.company_id,
         ipii.invoice_no,
         ipii.invoice_no,
+        ipii.invoice_time,
         ipii.invoice_type,
         ipii.invoice_type,
         ipii.invoice_risk_type,
         ipii.invoice_risk_type,
         CASE
         CASE