feat: 结算单发票明细详情回显收票单指定应付状态
This commit is contained in:
+4
@@ -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;
|
||||
}
|
||||
|
||||
+12
-1
@@ -450,13 +450,14 @@ public class FormalSettlementServiceImpl extends BaseServiceImpl<FormalSettlemen
|
||||
.or()
|
||||
.eq(InvoiceReceiptSettlement::getFormalSettlementNo, settlement.getFormalSettlementNo()))
|
||||
.orderByAsc(InvoiceReceiptSettlement::getCreateTime));
|
||||
Map<Long, InvoiceReceipt> receiptMap = Map.of();
|
||||
if (!receiptRelations.isEmpty()) {
|
||||
List<Long> receiptIds = receiptRelations.stream()
|
||||
.map(InvoiceReceiptSettlement::getInvoiceReceiptId)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.toList();
|
||||
Map<Long, InvoiceReceipt> 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<FormalSettlemen
|
||||
}
|
||||
|
||||
List<FormalSettlementInvoice> invoices = new ArrayList<>(invoiceMap.values());
|
||||
// 发票行回显收票单金蝶推送状态(是否已指定应付展示用):认领收票按票号匹配本单已认领收票登记
|
||||
Map<String, InvoiceReceipt> 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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user