feat(P20T1-1,P20T1-2,P20T1-3): 差旅模型、申请/订单接口与工作流分支

这个提交包含在:
2026-03-10 19:58:46 +08:00
父节点 427ae2db53
当前提交 7b78945112
共修改 19 个文件,包含 2266 行新增和 59 行删除
+11
查看文件
@@ -39,6 +39,17 @@ const DOCUMENT_TYPE_CONFIG = {
resetPeriod: "yearly",
},
},
travel_request: {
defaultCategoryCode: "TR_STANDARD",
preferLegacySequence: false,
fallback: {
prefix: "CL",
dateFormat: "YYYYMMDD",
separator: "-",
numberLength: 4,
resetPeriod: "yearly",
},
},
asset_card: {
defaultCategoryCode: "ASSET_CARD_DEFAULT",
preferLegacySequence: false,
@@ -18,6 +18,9 @@ function normalizeTravelImportRows(rows) {
? new Date(`${String(item.occurredAt).slice(0, 10)}T00:00:00.000Z`)
: null;
const hasTravelRequestId = Object.prototype.hasOwnProperty.call(item ?? {}, "travelRequestId");
const rawTravelRequestId = String(item?.travelRequestId ?? "").trim();
return {
source,
externalOrderNo,
@@ -26,6 +29,8 @@ function normalizeTravelImportRows(rows) {
item?.linkedReimbursementId && String(item.linkedReimbursementId).trim()
? String(item.linkedReimbursementId).trim()
: null,
travelRequestId: rawTravelRequestId || null,
hasTravelRequestId,
amount: Number.isFinite(amount) ? amount.toFixed(2) : null,
currency: String(item?.currency ?? "CNY").trim().toUpperCase() || "CNY",
occurredAt,