diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementInvoice.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementInvoice.java index ad5c6265..00069def 100644 --- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementInvoice.java +++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementInvoice.java @@ -8,6 +8,7 @@ */ package org.springblade.transport.pojo.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -39,4 +40,7 @@ public class FormalSettlementInvoice extends TenantEntity { private BigDecimal availableInvoiceAmount; private BigDecimal matchedAmount; private String attachmentJson; + @TableField(exist = false) + @Schema(description = "收票单金蝶推送状态(unsynced未推送/pushed已保存收票单/assigned已指定应付/failed推送失败),详情回显用") + private String kingdeePushStatus; } diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java index 0fb96a73..cdc92d6f 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java @@ -450,13 +450,14 @@ public class FormalSettlementServiceImpl extends BaseServiceImpl receiptMap = Map.of(); if (!receiptRelations.isEmpty()) { List receiptIds = receiptRelations.stream() .map(InvoiceReceiptSettlement::getInvoiceReceiptId) .filter(Objects::nonNull) .distinct() .toList(); - Map receiptMap = receiptIds.isEmpty() ? Map.of() + receiptMap = receiptIds.isEmpty() ? Map.of() : invoiceReceiptMapper.selectByIds(receiptIds).stream() .filter(receipt -> !TransportBusiConstant.VOIDED.equals(receipt.getApprovalStatus()) && !Objects.equals(receipt.getIsDeleted(), 1)) @@ -479,6 +480,16 @@ public class FormalSettlementServiceImpl extends BaseServiceImpl invoices = new ArrayList<>(invoiceMap.values()); + // 发票行回显收票单金蝶推送状态(是否已指定应付展示用):认领收票按票号匹配本单已认领收票登记 + Map receiptByInvoiceNo = receiptMap.values().stream() + .filter(receipt -> Func.isNotBlank(receipt.getInvoiceNo())) + .collect(Collectors.toMap(InvoiceReceipt::getInvoiceNo, Function.identity(), (left, right) -> left)); + for (FormalSettlementInvoice invoice : invoices) { + InvoiceReceipt receipt = receiptByInvoiceNo.get(invoice.getInvoiceNo()); + if (receipt != null) { + invoice.setKingdeePushStatus(receipt.getKingdeePushStatus()); + } + } for (int index = 0; index < invoices.size(); index++) { invoices.get(index).setLineNo(index + 1); }