From b7d417f32635fc47dab5c9a47e42c2cc68b5c5ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Mon, 2 Nov 2026 15:39:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E7=99=BB=E8=AE=B0=E5=AF=B9=E8=AF=9D=E6=A1=86=E5=9B=9E=E6=98=BE?= =?UTF-8?q?=E5=B7=B2=E8=AE=A4=E9=A2=86=E6=94=B6=E7=A5=A8=E5=8D=95=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/InvoiceReceiptController.java | 7 +++++++ .../transport/service/IInvoiceReceiptService.java | 9 +++++++++ .../service/impl/InvoiceReceiptServiceImpl.java | 12 ++++++++++++ 3 files changed, 28 insertions(+) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/InvoiceReceiptController.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/InvoiceReceiptController.java index 4e6ac1f5..beaa3ce5 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/InvoiceReceiptController.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/InvoiceReceiptController.java @@ -208,4 +208,11 @@ public class InvoiceReceiptController extends BladeController { public R> claimCandidates(@RequestParam(required = false) String keyword) { return R.data(invoiceReceiptService.claimCandidates(keyword)); } + + @GetMapping("/claimed-list") + @ApiOperationSupport(order = 19) + @Operation(summary = "结算单已认领收票登记列表(先票后款:发票登记对话框回显已认领票)") + public R> claimedList(@RequestParam Long formalSettlementId) { + return R.data(invoiceReceiptService.claimedReceipts(formalSettlementId)); + } } diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/IInvoiceReceiptService.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/IInvoiceReceiptService.java index fb3acc45..4791acdb 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/IInvoiceReceiptService.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/IInvoiceReceiptService.java @@ -144,6 +144,15 @@ public interface IInvoiceReceiptService extends BaseService { */ List claimCandidates(String keyword); + /** + * 结算单已认领收票登记列表(先票后款:发票登记对话框打开时回显已认领票): + * 按认领关系查收票登记,与认领候选行结构一致(同一 InvoiceReceipt 实体) + * + * @param settlementId 正式结算单id + * @return 本单已认领的收票登记 + */ + List claimedReceipts(Long settlementId); + /** * 结算单收票认领关系同步(先票后款:结算单保存/认领后由结算单侧调用): * 按行发票号匹配审批通过收票登记,一票一结算单校验(已挂其他有效应付结算单拦截), diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java index 894f4c64..d95f5e37 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java @@ -958,6 +958,18 @@ public class InvoiceReceiptServiceImpl extends BaseServiceImpl !claimedReceiptIds.contains(receipt.getId())).toList(); } + @Override + public List claimedReceipts(Long settlementId) { + List relations = settlementRelationMapper.selectList( + Wrappers.lambdaQuery() + .eq(InvoiceReceiptSettlement::getFormalSettlementId, settlementId)); + if (relations.isEmpty()) { + return List.of(); + } + return listByIds(relations.stream() + .map(InvoiceReceiptSettlement::getInvoiceReceiptId).filter(Objects::nonNull).distinct().toList()); + } + @Override @Transactional(rollbackFor = Exception.class) public void syncSettlementReceiptRelations(Long settlementId, List invoiceNos) {