Przeglądaj źródła

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

# Conflicts:
#	commons/src/main/java/com/jzg/commons/entity/finance/vo/IncomeDataVO.java
#	tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java
jiakai 4 miesięcy temu
rodzic
commit
e20263cf48

+ 31 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/ContractVO.java

@@ -0,0 +1,31 @@
+package com.jzg.commons.entity.finance.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 对接人信息
+ * 
+ * @author lipf
+ * @date 2026/5/30 10:10
+ */
+@AllArgsConstructor
+@Data
+@EqualsAndHashCode()
+public class ContractVO implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -1054621082010388438L;
+
+
+    // 对接人姓名
+    private String contactPerson;
+
+    // 对接人手机号
+    private String contactPersonPhone;
+
+
+}

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

@@ -1,5 +1,6 @@
 package com.jzg.commons.entity.finance.vo;
 
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.io.Serial;
@@ -38,6 +39,12 @@ public class IncomeDataVO implements Serializable {
      */
     private String logicJudge;
 
+    @Schema(description = "对接人")
+    private String contactPerson;
+
+    @Schema(description = "对接人手机号")
+    private String contactPersonPhone;
+
 
     @Data
     public static class SearchVO implements Serializable {
@@ -52,6 +59,7 @@ public class IncomeDataVO implements Serializable {
         public static final String licenseNo = "licenseNo";
         public static final String jqPolicyNo = "jqPolicyNo";
         public static final String syPolicyNo = "syPolicyNo";
+        public static final String contactPerson = "contactPersonPhone";
 
         /**
          * 查询条件

+ 7 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/InvoicingVo.java

@@ -21,6 +21,13 @@ public class InvoicingVo {
     @Schema(description = "开票的保司id")
     private String companyId;
 
+    @Schema(description = "对接人姓名")
+    private String contactPerson;
+
+    @Schema(description = "对接人手机号")
+    private String contactPersonPhone;
+
+
     // 开票类型  1、手续费  2、跟单费  3、驾意险手续费 4、驾意险跟单费 5、平台应收-车险 6、平台应收-非车险
     @Schema(description = "开票类型")
     private String invoiceType;

+ 1 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/SettlementVo.java

@@ -31,4 +31,5 @@ public class SettlementVo {
 
     @Schema(description = "附加id")
     private List<String> attachmentIds;
+
 }

+ 17 - 2
tenant/organization/src/main/java/com/jzg/organization/controller/ReceivableController.java

@@ -227,6 +227,19 @@ public class ReceivableController {
         return HttpResult.ok(receivableService.getReceivableCompany(invoicingVo));
     }
 
+    /**
+     * 查询应收订单关联的所有对接人信息
+     *
+     * @author lipf
+     * @date 2026/5/30 10:09
+     */
+    @PostMapping("queryReceivableContact")
+    @Operation(summary = "获取对接人列表")
+    public HttpResult<List<ContractVO>> queryReceivableContact(@RequestBody InvoicingVo invoicingVo){
+        return receivableService.queryReceivableContact(invoicingVo);
+    }
+
+
     @PostMapping("settlement")
     @Operation(summary = "私有协议结算")
     public HttpResult<String> settlement(@RequestBody SettlementVo settlementVo){
@@ -300,7 +313,7 @@ public class ReceivableController {
 
     @PostMapping("/getPlatFormReceivableList")
     @Operation(summary = "获取平台协议列表")
-    public HttpResult<Page<InsPlyIncome>> getPlatFormReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
+    public HttpResult<InsPlyIncomeVO> getPlatFormReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
         if (StrUtil.isBlank(receivableQueryVo.getQueryType())){
             receivableQueryVo.setQueryType("1");
         }
@@ -308,7 +321,9 @@ public class ReceivableController {
         if (StrUtil.isBlank(receivableQueryVo.getAgreementType())){
             receivableQueryVo.setAgreementType("1");
         }
-        return HttpResult.ok(receivableService.getPlatFormReceivableList(receivableQueryVo));
+        Page<InsPlyIncome> data = receivableService.getPlatFormReceivableList(receivableQueryVo);
+        List<InsPlyIncomeOrder> receivablePageIds = receivableService.getReceivablePageIds(receivableQueryVo);
+        return HttpResult.ok(new InsPlyIncomeVO(data, receivablePageIds));
     }
 
     @PostMapping("/exportTemplatePlatFormReceivable")

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

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jzg.commons.entity.finance.dto.*;
 import com.jzg.commons.entity.finance.po.InsPlyIncome;
-import com.jzg.commons.entity.finance.po.InsPlyIncomeInvoice;
 import com.jzg.commons.entity.finance.po.InsPlyIncomeInvoiceLink;
 import com.jzg.commons.entity.finance.po.InsPlyIncomeInvoiceSettlement;
 import com.jzg.commons.entity.finance.vo.InvoiceRecordQueryVo;
@@ -49,6 +48,16 @@ public interface ReceivableMapper extends BaseMapper<InsPlyIncome> {
      */
     List<EsmInsCompany> getReceivableCompany(@Param("invoicingVo") InvoicingVo invoicingVo);
 
+    /**
+     * 更加应收订单的编号查询应收记录
+     *
+     * @param invoicingVo 应收订单编号集
+     * @return List<InsPlyIncome> 应收订单
+     * @author lipf
+     * @date 2026/5/30 10:17
+     */
+    List<InsPlyIncome> queryIncomeByIds(@Param("invoicingVo") InvoicingVo invoicingVo);
+
     /**
      * 获取车险应收列表
      * @param receivableQueryVo

+ 11 - 1
tenant/organization/src/main/java/com/jzg/organization/service/ReceivableService.java

@@ -35,10 +35,20 @@ public interface ReceivableService extends IService<InsPlyIncome> {
     /**
      * 获取应收订单的保司
      * @param invoicingVo
-     * @return
+     * @return List<EsmInsCompany>
      */
     List<EsmInsCompany> getReceivableCompany(InvoicingVo invoicingVo);
 
+    /**
+     * 查询应收订单关联的所有对接人信息
+     *
+     * @param invoicingVo 包含应收订单编号级的对象
+     * @return HttpResult<List<ContractVO>> 应收订单关联的对接人信息
+     * @author lipf
+     * @date 2026/5/30 10:09
+     */
+    HttpResult<List<ContractVO>> queryReceivableContact(InvoicingVo invoicingVo);
+
     /**
      * 获取私有协议手续费列表
      *

+ 98 - 93
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -19,7 +19,6 @@ import com.jzg.commons.entity.finance.dto.*;
 import com.jzg.commons.entity.finance.po.*;
 import com.jzg.commons.entity.finance.vo.*;
 import com.jzg.commons.entity.orders.po.InsOrderAdjust;
-import com.jzg.commons.entity.orders.po.InsOrders;
 import com.jzg.commons.entity.po.EsmInsCompany;
 import com.jzg.commons.entity.po.InsFeeOrders;
 import com.jzg.commons.entity.po.PtlAgreement;
@@ -161,9 +160,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
 //        if (count > 0){
 //            return false;
 //        }
-        auditedOrder.forEach(item -> {
-            item.setId(IdGenerate.nextId());
-        });
+        auditedOrder.forEach(item -> item.setId(IdGenerate.nextId()));
         return saveBatch(auditedOrder);
     }
 
@@ -172,10 +169,26 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         return baseMapper.getReceivableCompany(invoicingVo);
     }
 
+    /**
+     * 查询应收订单关联的所有对接人信息
+     *
+     * @param invoicingVo 包含应收订单编号级的对象
+     * @return HttpResult<List<ContractVO>> 应收订单关联的对接人信息
+     * @author lipf
+     * @date 2026/5/30 10:09
+     */
+    @Override
+    public HttpResult<List<ContractVO>> queryReceivableContact(InvoicingVo invoicingVo) {
+        List<InsPlyIncome> insPlyIncomes = baseMapper.queryIncomeByIds(invoicingVo);
+        List<ContractVO> contractVOS = insPlyIncomes.stream().map(action -> new ContractVO(action.getContactPerson(), action.getContactPersonPhone())).distinct().toList();
+        log.info("根据订单编号查询得到的对接人信息[{}]个", CollUtil.size(contractVOS));
+        return HttpResult.ok(contractVOS);
+    }
+
     /**
      * 获取私有协议手续费列表
      *
-     * @param receivableQueryVo
+     * @param receivableQueryVo 列表查询条件
      * @return Page<InsPlyIncome>
      */
     @Override
@@ -203,7 +216,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         Page<InsPlyIncome> page = baseMapper.getReceivablePage(page1, receivableQueryVo);
         List<InsPlyIncomeOrder> res = page.getRecords().stream()
                 .map(action -> new InsPlyIncomeOrder(action.getId(), action.getOrderNo())).toList();
-        log.info("获取私有协议手续费应收列表的id集合。receivableQueryVo=[{}]. ids.size=[{}]", JSONUtil.toJsonStr(receivableQueryVo), CollUtil.size(res));
+        log.info("获取私有/平台协议手续费应收列表的id集合。receivableQueryVo=[{}]. ids.size=[{}]", JSONUtil.toJsonStr(receivableQueryVo), CollUtil.size(res));
         return res;
     }
 
@@ -244,6 +257,20 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                         .collect(Collectors.toMap(IncomeDataVO.SearchVO::getName, Function.identity(), (ole_item, new_item) -> ole_item));
                 Set<String> names =searchVOMap.keySet();
 
+                Predicate<InsPlyIncome> contactPredicate = insPlyIncome -> {
+                    if(!names.contains(IncomeDataVO.SearchVO.contactPerson)){
+                        return true;
+                    }
+                    IncomeDataVO.SearchVO searchVO = searchVOMap.get(IncomeDataVO.SearchVO.contactPerson);
+                    String type = searchVO.getType();
+                    String search = searchVO.getSearch();
+                    if("等于".equals(type)){
+                        return search.equals(insPlyIncome.getContactPersonPhone());
+                    }else if("不等于".equals(type)){
+                        return !search.equals(insPlyIncome.getContactPersonPhone());
+                    }
+                    return true;
+                };
                 // 保险公司
                 Predicate<InsPlyIncome> companyIdPredicate = insPlyIncome -> {
                     if(!names.contains(IncomeDataVO.SearchVO.companyId)){
@@ -467,12 +494,12 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                 if("and".equalsIgnoreCase(incomeDataVO.getLogicJudge())){
                     Predicate<InsPlyIncome> and = companyIdPredicate.and(signDatePredicate).
                             and(ptlAgreementPredicate).and(orderTypePredicate).and(signYearPredicate).and(licenseNoPredicate)
-                            .and(jqPolicyNoPredicate).and(syPolicyNoPredicate);
+                            .and(contactPredicate).and(jqPolicyNoPredicate).and(syPolicyNoPredicate);
                     filterIncomes = incomes.stream().filter(and).toList();
                 }else if ("or".equalsIgnoreCase(incomeDataVO.getLogicJudge())){
                     Predicate<InsPlyIncome> or = companyIdPredicate.or(signDatePredicate).
                             or(ptlAgreementPredicate).or(orderTypePredicate).or(signYearPredicate).or(licenseNoPredicate)
-                            .or(jqPolicyNoPredicate).or(syPolicyNoPredicate);
+                            .or(contactPredicate).or(jqPolicyNoPredicate).or(syPolicyNoPredicate);
                     filterIncomes = incomes.stream().filter(or).toList();
                 }
             }
@@ -541,7 +568,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
     /**
      * 查询订单绑定的发票信息
      *
-     * @param invoicingVo
+     * @param invoicingVo 应收订单的序号集
      * @return List<String> 订单绑定的发票号
      * @author lipf
      * @date 2026/5/21 11:59
@@ -699,25 +726,25 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
 
         // 私有手续费 应收金额
         // 交强的总手续费(jq_commission_premium) + 商业的总手续费(sy_commission_premium)
-        if (invoiceType.equals("1")) {
-            return jqCommissionPremium.add(syCommissionPremium);
-        } else if (invoiceType.equals("2")) {
-            // 交强的总跟单费(jq_follow_premium) + 商业的总跟单费(sy_follow_premium)
-            return jqFollowPremium.add(syFollowPremium);
-        } else if (invoiceType.equals("3")) {
-            // 驾意险的总手续费(jy_commission_premium)
-            return jyCommissionPremium;
-        } else if (invoiceType.equals("4")) {
-            // 驾意险的总跟单费(jy_follow_premium)
-            return jyFollowPremium;
-        } else if (invoiceType.equals("5")) {
-            // 交强的总手续费(jq_commission_premium) + 商业的总手续费(sy_commission_premium) + 交强的总跟单费(jq_follow_premium) + 商业的总跟单费(sy_follow_premium)
-            return jqCommissionPremium.add(syCommissionPremium).add(jqFollowPremium).add(syFollowPremium);
-        } else if (invoiceType.equals("6")) {
-            // 驾意险的总手续费(jy_commission_premium) + 驾意险的总跟单费(jy_follow_premium)
-            return jyCommissionPremium.add(jyFollowPremium);
-        }
-        return null;
+        return switch (invoiceType) {
+            case "1" -> jqCommissionPremium.add(syCommissionPremium);
+            case "2" ->
+                // 交强的总跟单费(jq_follow_premium) + 商业的总跟单费(sy_follow_premium)
+                    jqFollowPremium.add(syFollowPremium);
+            case "3" ->
+                // 驾意险的总手续费(jy_commission_premium)
+                    jyCommissionPremium;
+            case "4" ->
+                // 驾意险的总跟单费(jy_follow_premium)
+                    jyFollowPremium;
+            case "5" ->
+                // 交强的总手续费(jq_commission_premium) + 商业的总手续费(sy_commission_premium) + 交强的总跟单费(jq_follow_premium) + 商业的总跟单费(sy_follow_premium)
+                    jqCommissionPremium.add(syCommissionPremium).add(jqFollowPremium).add(syFollowPremium);
+            case "6" ->
+                // 驾意险的总手续费(jy_commission_premium) + 驾意险的总跟单费(jy_follow_premium)
+                    jyCommissionPremium.add(jyFollowPremium);
+            default -> null;
+        };
     }
 
     /**
@@ -751,7 +778,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             invoice.setReceivableSupervisePremium(invoicingVo.getReceivableSupervisePremium());
             invoice.setTaxPoint(invoicingVo.getTaxPoint());
             insPlyIncomeInvoiceMapper.insert(invoice);
-            List<InsPlyIncomeInvoiceLink> invoicingLinkList = new ArrayList<InsPlyIncomeInvoiceLink>();
+            List<InsPlyIncomeInvoiceLink> invoicingLinkList = new ArrayList<>();
             invoicingVo.getIncomeIds().forEach(incomeId -> {
                 InsPlyIncomeInvoiceLink link = new InsPlyIncomeInvoiceLink();
                 link.setId(IdGenerate.nextId());
@@ -805,42 +832,29 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         if (CollectionUtils.isEmpty(invoiceIds)) {
             return false;
         }
-        long result = 0;
+        long result;
         final String number = "1";
-        switch (invoiceType) {
-            case number:
-                result = baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
-                        .in(InsPlyIncome::getId, invoiceIds)
-                        .set(InsPlyIncome::getSuperviseSettlement, number));
-                break;
-            case "2":
-                result = baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
-                        .in(InsPlyIncome::getId, invoiceIds)
-                        .set(InsPlyIncome::getOtherSettlement, number));
-                break;
-            case "3":
-                result = baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
-                        .in(InsPlyIncome::getId, invoiceIds)
-                        .set(InsPlyIncome::getJySuperviseSettlement, number));
-                break;
-            case "4":
-                result = baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
-                        .in(InsPlyIncome::getId, invoiceIds)
-                        .set(InsPlyIncome::getJyOtherSettlement, number));
-                break;
-            case "5":
-                result = baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
-                        .in(InsPlyIncome::getId, invoiceIds)
-                        .set(InsPlyIncome::getPlatformSuperviseSettlement, number).set(InsPlyIncome::getSettlementStatus, number));
-                break;
-            case "6":
-                result = baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
-                        .in(InsPlyIncome::getId, invoiceIds)
-                        .set(InsPlyIncome::getPlatformOtherSettlement, number).set(InsPlyIncome::getSettlementStatus, number));
-                break;
-            default:
-                result = 0;
-        }
+        result = switch (invoiceType) {
+            case number -> baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
+                    .in(InsPlyIncome::getId, invoiceIds)
+                    .set(InsPlyIncome::getSuperviseSettlement, number));
+            case "2" -> baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
+                    .in(InsPlyIncome::getId, invoiceIds)
+                    .set(InsPlyIncome::getOtherSettlement, number));
+            case "3" -> baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
+                    .in(InsPlyIncome::getId, invoiceIds)
+                    .set(InsPlyIncome::getJySuperviseSettlement, number));
+            case "4" -> baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
+                    .in(InsPlyIncome::getId, invoiceIds)
+                    .set(InsPlyIncome::getJyOtherSettlement, number));
+            case "5" -> baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
+                    .in(InsPlyIncome::getId, invoiceIds)
+                    .set(InsPlyIncome::getPlatformSuperviseSettlement, number).set(InsPlyIncome::getSettlementStatus, number));
+            case "6" -> baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
+                    .in(InsPlyIncome::getId, invoiceIds)
+                    .set(InsPlyIncome::getPlatformOtherSettlement, number).set(InsPlyIncome::getSettlementStatus, number));
+            default -> 0;
+        };
         return result > 0;
     }
 
@@ -898,7 +912,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             invoice.setReceivableSupervisePremium(invoicingVo.getReceivablePremium());
             invoice.setTaxPoint(invoicingVo.getTaxPoint());
 
-            List<InsPlyIncomeInvoiceLink> invoicingLinkList = new ArrayList();
+            List<InsPlyIncomeInvoiceLink> invoicingLinkList = new ArrayList<>();
 
             invoicingVo.getIncomeIds().forEach(incomeId -> {
                 InsPlyIncomeInvoiceLink link = new InsPlyIncomeInvoiceLink();
@@ -944,8 +958,8 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                 insPlyIncomeInvoiceSettlementFileMapper.insert(files);
             }
 
-            // 判断是否已经结算完成
-            if (surplusPremium.compareTo(settlementVo.getActualReceivedAmount()) == 0) {
+            // 判断是否已经结算完成, 考虑回款差额
+            if (surplusPremium.compareTo(settlementVo.getActualReceivedAmount().add(platformSettlementVo.getSettlementVo().getPaymentDifference())) == 0) {
                 log.info("序号为[{}]的发票已经结算完成",invoice.getId());
                 // 更新发票状态
                 invoice.setStatus("1");
@@ -1095,7 +1109,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
 
     /**
      * 导出应收开票模板
-     * @return
+     * @return String 导出时的提示信息
      */
     @Override
     public String exportAccountsReceivableInvoiceTemplate() {
@@ -1323,9 +1337,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                 List<String> incomeIds = new ArrayList<>();
                 insPlyIncomeInvoiceLinkMapper.selectList(new LambdaQueryWrapper<InsPlyIncomeInvoiceLink>()
                                 .eq(InsPlyIncomeInvoiceLink::getInvoiceId, settlementVo.getInvoicingId()))
-                        .forEach(item -> {
-                            incomeIds.add(item.getIncomeId());
-                        });
+                        .forEach(item -> incomeIds.add(item.getIncomeId()));
                 // 判断是需要更新哪个字段
                 this.updateIncomeSettlementStatus(insPlyIncomeInvoice.getInvoiceType(), incomeIds);
             }else{
@@ -1353,8 +1365,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             EasyExcel.read(inputStream, SuperviseExcelVo.class, listener)
                     .sheet()
                     .doRead();
-            List<SuperviseExcelVo> dataList = listener.getDataList();
-            return dataList;
+            return listener.getDataList();
         } catch (Exception e) {
             log.error("导入excel异常。",e);
             return null;
@@ -1368,10 +1379,9 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             EasyExcel.read(inputStream, OtherExcelVo.class, listener)
                     .sheet()
                     .doRead();
-            List<OtherExcelVo> dataList = listener.getDataList();
-            return dataList;
+            return listener.getDataList();
         } catch (Exception e) {
-            e.printStackTrace();
+            log.error("importOtherExcel异常",e);
             return null;
         }
     }
@@ -1383,10 +1393,9 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             EasyExcel.read(inputStream, ReceivableExportExcelVo.class, listener)
                     .sheet()
                     .doRead();
-            List<ReceivableExportExcelVo> dataList = listener.getDataList();
-            return dataList;
+            return listener.getDataList();
         } catch (Exception e) {
-            e.printStackTrace();
+            log.info("importReceivableExcel异常",e);
             return null;
         }
     }
@@ -1397,10 +1406,9 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             EasyExcel.read(inputStream, InvoiceReceivableExportExcelVo.class, listener)
                     .sheet()
                     .doRead();
-            List<InvoiceReceivableExportExcelVo> dataList = listener.getDataList();
-            return dataList;
+            return listener.getDataList();
         } catch (Exception e) {
-            e.printStackTrace();
+            log.error("importInvoiceReceivableExcel异常",e);
             return null;
         }
     }
@@ -1412,10 +1420,9 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             EasyExcel.read(inputStream, OtherExcelVo.class, listener)
                     .sheet()
                     .doRead();
-            List<JyExcelVo> dataList = listener.getDataList();
-            return dataList;
+            return listener.getDataList();
         } catch (Exception e) {
-            e.printStackTrace();
+            log.info("importJyExcel异常",e);
             return null;
         }
     }
@@ -1944,8 +1951,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
 
     @Override
     public List<InsPlyIncomeInvoiceSettlement> getInvoiceRecordDetail(String id) {
-        List<InsPlyIncomeInvoiceSettlement> insPlyIncomeInvoiceSettlements = insPlyIncomeInvoiceSettlementMapper.selectList(new LambdaQueryWrapper<InsPlyIncomeInvoiceSettlement>().eq(InsPlyIncomeInvoiceSettlement::getInvoiceId, id));
-        return insPlyIncomeInvoiceSettlements;
+        return insPlyIncomeInvoiceSettlementMapper.selectList(new LambdaQueryWrapper<InsPlyIncomeInvoiceSettlement>().eq(InsPlyIncomeInvoiceSettlement::getInvoiceId, id));
     }
 
     private void verifyUploadPath() throws IOException {
@@ -1959,8 +1965,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
     /**
      * 导出应收手续费数据 (车险)
      *
-     * @param receivableQueryVo
-     * @return
+     * @param receivableQueryVo 导出数据的筛选条件
      */
     @Override
     public void exportSuperviseExcel(ReceivableQueryVo receivableQueryVo) {
@@ -2018,8 +2023,8 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
     /**
      * 应收手续费结算记录
      *
-     * @param settlementQueryVo
-     * @return
+     * @param settlementQueryVo 查询条件
+     * @return Page<ExportSuperviseSettlementExcelDto>
      */
     @Override
     public Page<ExportSuperviseSettlementExcelDto> superviseSettlementExcel(Page page, SettlementQueryVo settlementQueryVo) {
@@ -2035,8 +2040,8 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
     /**
      * 平台协议结算记录
      *
-     * @param settlementQueryVo
-     * @return
+     * @param settlementQueryVo 查询条件
+     * @return Page<ExportSuperviseSettlementExcelDto>
      */
     @Override
     public Page<ExportSuperviseSettlementExcelDto> platformSettlementExcel(Page page, SettlementQueryVo settlementQueryVo) {

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

@@ -247,7 +247,7 @@
         ipi.update_time,
         ipi.update_by,
         io.docking_person,
-        eic.name_simple as companyNameSimple
+        eic.name_simple as companyNameSimple, ipi.contact_person , ipi.contact_person_phone
         FROM
         ins_ply_income ipi
         LEFT JOIN ins_orders io ON ipi.order_no = io.id
@@ -1108,6 +1108,15 @@
             eic.id
     </select>
 
+    <!-- 根据应收订单的编号,查询应收记录 lipf 2026年5月30日10:25:14 -->
+    <select id="queryIncomeByIds" resultType="com.jzg.commons.entity.finance.po.InsPlyIncome">
+        SELECT ipi.*  FROM ins_ply_income ipi WHERE
+        ipi.id IN
+        <foreach collection="invoicingVo.incomeIds" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
+
     <select id="invoicingCheck" resultType="java.lang.Integer">
         SELECT count(id) AS count
         FROM ins_ply_income_invoice_link