diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ReceiptFlowServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ReceiptFlowServiceImpl.java index 6eef4fae..ab59ea54 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ReceiptFlowServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ReceiptFlowServiceImpl.java @@ -516,7 +516,9 @@ public class ReceiptFlowServiceImpl extends BaseServiceImpl bei_bankdetailno > 收款单号 billno 兜底 + * (无流水分录的单如手工收款单也入库,但认领后 C104-2 将定位不到合规流水,C107-1 落失败标记)。 * * @return 跳过条数 */ @@ -524,14 +526,14 @@ public class ReceiptFlowServiceImpl extends BaseServiceImpl flowEntries = recBill.getInfoentry(); if (Func.isEmpty(flowEntries)) { - log.warn("收款流水同步跳过:收款单[{}]无流水分录", recBill.getBillno()); - return 1; + flowEntries = List.of(new BfiRecBillFlowVO()); } for (BfiRecBillFlowVO flowEntry : flowEntries) { - // 明细流水号优先级:bei_detailid > bei_bankdetailno - String detailSerialNo = firstNonBlank(flowEntry.getBeiDetailid(), flowEntry.getBeiBankdetailno()); + // 明细流水号优先级:bei_detailid > bei_bankdetailno > 收款单号兜底 + String detailSerialNo = firstNonBlank(flowEntry.getBeiDetailid(), flowEntry.getBeiBankdetailno(), + recBill.getBillno()); if (Func.isEmpty(detailSerialNo)) { - log.warn("收款流水同步跳过:收款单[{}]流水分录缺少明细流水号", recBill.getBillno()); + log.warn("收款流水同步跳过:收款单[{}]缺少明细流水号", recBill.getBillno()); skipped++; continue; }