From e8a933cf9ebe21b706bfd3b60e11fb25aeb0b037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Fri, 16 Oct 2026 00:33:28 +0800 Subject: [PATCH] =?UTF-8?q?:feat:=20=E9=87=91=E8=9D=B6=E7=A5=A8=E6=B1=A0?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=B8=8E=E5=B1=95=E7=A4=BA=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8C=89=E5=AE=A2=E5=95=86=E5=8D=95=E4=BD=8D=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 定时同步拉取后按客商发票信息税号集过滤,销/购方税号未同时登记的发票不入镜像(短页判定按原始条数,过滤不影响切片续扫);票池统一分页查询增加双 EXISTS 过滤与同步同开关同口径,收票登记选票与结算单认领两处展示自动生效 --- .../mapper/KingdeeInvoicePoolMapper.java | 10 +-- .../mapper/KingdeeInvoicePoolMapper.xml | 12 ++++ .../impl/InvoiceReceiptServiceImpl.java | 71 +++++++++++++++---- 3 files changed, 74 insertions(+), 19 deletions(-) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/KingdeeInvoicePoolMapper.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/KingdeeInvoicePoolMapper.java index 29ddf75d..abdb5c3f 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/KingdeeInvoicePoolMapper.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/KingdeeInvoicePoolMapper.java @@ -44,11 +44,13 @@ public interface KingdeeInvoicePoolMapper extends BaseMapper /** * 金蝶票据池镜像统一分页查询:仅出可用票(剩余可用金额>0 且未使用),认领/登记标记由 EXISTS 子查询直出 * - * @param page 分页参数 - * @param query 统一查询条件(已在上层完成 trim 与日期格式校验) - * @param tenantId 当前租户 + * @param page 分页参数 + * @param query 统一查询条件(已在上层完成 trim 与日期格式校验) + * @param tenantId 当前租户 + * @param customerUnitsOnly 客商单位过滤开关:开启时只出销/购方税号均登记在客商发票信息中的发票(与定时同步同开关) * @return 统一视图分页 */ IPage selectInvoicePoolPage(IPage page, - @Param("query") KingdeeInvoicePoolQueryDTO query, @Param("tenantId") String tenantId); + @Param("query") KingdeeInvoicePoolQueryDTO query, @Param("tenantId") String tenantId, + @Param("customerUnitsOnly") boolean customerUnitsOnly); } diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/KingdeeInvoicePoolMapper.xml b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/KingdeeInvoicePoolMapper.xml index b25b0ddc..0c1e7969 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/KingdeeInvoicePoolMapper.xml +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/KingdeeInvoicePoolMapper.xml @@ -39,12 +39,24 @@ AND p.available_amount > 0 AND p.amount_use_status = '0' + + + AND EXISTS (SELECT 1 FROM blade_customer_invoice_info ci + WHERE ci.is_deleted = 0 AND ci.status = 1 AND ci.tenant_id = p.tenant_id AND ci.tax_no = p.saler_tax_no) + AND EXISTS (SELECT 1 FROM blade_customer_invoice_info cj + WHERE cj.is_deleted = 0 AND cj.status = 1 AND cj.tenant_id = p.tenant_id AND cj.tax_no = p.buyer_tax_no) + +