diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/config/BfiProperties.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/config/BfiProperties.java index f2e38a9d..760d80ec 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/config/BfiProperties.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/config/BfiProperties.java @@ -307,6 +307,12 @@ public class BfiProperties { */ private String invoiceTypes = ""; + /** + * 客商单位过滤开关:开启后只同步开票单位(销方)与受票单位(购方)税号均已登记在 + * 客商发票信息(blade_customer_invoice_info)中的发票,前端票池展示查询同用此开关过滤,默认关闭 + */ + private boolean customerUnitsOnly = false; + /** * 同步 single-flight 锁租约秒数,须大于最坏一轮耗时;进程异常退出时锁在租约到期后自动释放 */ 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) + +