fix: 无流水分录收款单以收款单号兜底作明细流水号入库
This commit is contained in:
+8
-6
@@ -516,7 +516,9 @@ public class ReceiptFlowServiceImpl extends BaseServiceImpl<KingdeeReceiptFlowMa
|
||||
}
|
||||
|
||||
/**
|
||||
* 单张收款单展开为流水行并做批内校验(无分录/缺流水号/金额非法跳过,批内流水号重复拦截)
|
||||
* 单张收款单展开为流水行并做批内校验(金额非法跳过,批内流水号重复拦截)。
|
||||
* 明细流水号优先级:bei_detailid > bei_bankdetailno > 收款单号 billno 兜底
|
||||
* (无流水分录的单如手工收款单也入库,但认领后 C104-2 将定位不到合规流水,C107-1 落失败标记)。
|
||||
*
|
||||
* @return 跳过条数
|
||||
*/
|
||||
@@ -524,14 +526,14 @@ public class ReceiptFlowServiceImpl extends BaseServiceImpl<KingdeeReceiptFlowMa
|
||||
int skipped = 0;
|
||||
List<BfiRecBillFlowVO> 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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user