fix(oms): 出库业务单导入发票编号不落库,补齐繁简归一化「發/額」映射
模板列头「發票編號/金額/發票張數」归一化时映射表缺「發→发」「額→额」,發票編號列识别失败(invoiceNoCol=-1),客户配送明细落库时发票编号为空、查看不回显,金额列与发票张数同样受影响。补齐映射并在关键列缺失时输出告警日志;历史已导入单据需重新导入。
This commit is contained in:
+9
-1
@@ -365,6 +365,12 @@ public class DynamicDeliveryExcelListener extends AnalysisEventListener<Map<Stri
|
||||
customerPackageCol = packageColTmp;
|
||||
customerAmountCol = amountColTmp;
|
||||
customerColumnsResolved = true;
|
||||
// 关键列未识别到时告警,避免发票编号等字段静默丢失
|
||||
if (invoiceNoColTmp < 0 || amountColTmp < 0) {
|
||||
LOGGER.warn("第{}行客户配送明细列头识别到但存在缺失列:发票编号列={},金额列={}," +
|
||||
"对应数据将解析为空,请检查模板列头文字是否在归一化映射范围内",
|
||||
currentRowNum, invoiceNoColTmp, amountColTmp);
|
||||
}
|
||||
LOGGER.info("第{}行识别为客户配送明细列头行,列映射:类别={},发票编号={},客户编号={},名称={},箱={},包={},金额={}",
|
||||
currentRowNum, categoryCol, invoiceNoCol, customerCodeCol, customerNameCol, customerBoxCol, customerPackageCol, customerAmountCol);
|
||||
return true;
|
||||
@@ -544,7 +550,9 @@ public class DynamicDeliveryExcelListener extends AnalysisEventListener<Map<Stri
|
||||
.replace('數', '数').replace('飲', '饮').replace('規', '规').replace('戶', '户')
|
||||
.replace('紀', '纪').replace('錄', '录').replace('張', '张').replace('計', '计')
|
||||
.replace('車', '车').replace('線', '线').replace('類', '类').replace('別', '别')
|
||||
.replace('簡', '简').replace('產', '产').replace('單', '单');
|
||||
.replace('簡', '简').replace('產', '产').replace('單', '单')
|
||||
// 維他奶模板「發票編號/發票張數/金額」用字:缺了这两项会导致發票編號列识别失败、发票编号不落库
|
||||
.replace('發', '发').replace('額', '额');
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user