feat(P19ERP3-1,P19ERP3-2): 实现资产ERP摘要服务与建卡/流转出站联动

这个提交包含在:
2026-03-09 11:15:21 +08:00
父节点 7613d7d912
当前提交 0168ebfe2e
共修改 10 个文件,包含 1128 行新增和 4 行删除
+19 -4
查看文件
@@ -1,5 +1,6 @@
const {
pushPaidReimbursementToErp,
exportAssetToErp,
exportJournalToErp,
exportProcurementToErp,
} = require('./erp');
@@ -136,6 +137,17 @@ function resolveBindingSpecs(eventType, payload, response) {
return specs.filter(Boolean);
}
if (eventType === 'erp.asset.export') {
return [
createBindingSpec(
'asset_erp_card',
payload?.entityId,
extractResponseValue(response, 'externalAssetId') ?? extractResponseValue(response, 'externalId'),
extractResponseValue(response, 'externalAssetNo') ?? extractResponseValue(response, 'externalCode') ?? payload?.assetNo ?? null,
),
].filter(Boolean);
}
return [];
}
@@ -179,9 +191,11 @@ async function dispatchErpEvent({ prisma, config, eventType, payload }) {
const result =
eventType === 'erp.procurement.export'
? await exportProcurementToErp(config, payload)
: eventType === 'erp.journal.export'
? await exportJournalToErp(config, payload)
: await pushPaidReimbursementToErp(config, payload);
: eventType === 'erp.asset.export'
? await exportAssetToErp(config, payload)
: eventType === 'erp.journal.export'
? await exportJournalToErp(config, payload)
: await pushPaidReimbursementToErp(config, payload);
if (!result.ok) {
throw toDispatchError(result);
@@ -200,7 +214,8 @@ async function dispatchOutboxEvent({ prisma, config, eventType, payload }) {
if (
eventType === 'erp.reimbursement.paid' ||
eventType === 'erp.journal.export' ||
eventType === 'erp.procurement.export'
eventType === 'erp.procurement.export' ||
eventType === 'erp.asset.export'
) {
return dispatchErpEvent({ prisma, config, eventType, payload });
}