feat(P20T3-1,P20T3-2,P20T3-3): 对账批次引擎与ERP摘要出站后端
这个提交包含在:
@@ -3,6 +3,7 @@ const {
|
||||
exportAssetToErp,
|
||||
exportJournalToErp,
|
||||
exportProcurementToErp,
|
||||
exportTravelToErp,
|
||||
} = require('./erp');
|
||||
const { sendInstantMessageByChannel } = require('../notifications/channels');
|
||||
|
||||
@@ -159,6 +160,23 @@ function resolveBindingSpecs(eventType, payload, response) {
|
||||
].filter(Boolean);
|
||||
}
|
||||
|
||||
if (eventType === 'erp.travel.export') {
|
||||
return [
|
||||
createBindingSpec(
|
||||
'travel_payable_summary',
|
||||
payload?.entityId,
|
||||
extractResponseValue(response, 'externalSummaryId'),
|
||||
extractResponseValue(response, 'externalSummaryNo') ?? payload?.batchNo ?? null,
|
||||
),
|
||||
createBindingSpec(
|
||||
'travel_settlement_batch',
|
||||
payload?.entityId,
|
||||
extractResponseValue(response, 'externalBatchId'),
|
||||
extractResponseValue(response, 'externalBatchNo') ?? payload?.batchNo ?? null,
|
||||
),
|
||||
].filter(Boolean);
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
@@ -204,9 +222,11 @@ async function dispatchErpEvent({ prisma, config, eventType, payload }) {
|
||||
? await exportProcurementToErp(config, payload)
|
||||
: eventType === 'erp.asset.export'
|
||||
? await exportAssetToErp(config, payload)
|
||||
: eventType === 'erp.journal.export'
|
||||
? await exportJournalToErp(config, payload)
|
||||
: await pushPaidReimbursementToErp(config, payload);
|
||||
: eventType === 'erp.travel.export'
|
||||
? await exportTravelToErp(config, payload)
|
||||
: eventType === 'erp.journal.export'
|
||||
? await exportJournalToErp(config, payload)
|
||||
: await pushPaidReimbursementToErp(config, payload);
|
||||
|
||||
if (!result.ok) {
|
||||
throw toDispatchError(result);
|
||||
@@ -226,7 +246,8 @@ async function dispatchOutboxEvent({ prisma, config, eventType, payload }) {
|
||||
eventType === 'erp.reimbursement.paid' ||
|
||||
eventType === 'erp.journal.export' ||
|
||||
eventType === 'erp.procurement.export' ||
|
||||
eventType === 'erp.asset.export'
|
||||
eventType === 'erp.asset.export' ||
|
||||
eventType === 'erp.travel.export'
|
||||
) {
|
||||
return dispatchErpEvent({ prisma, config, eventType, payload });
|
||||
}
|
||||
|
||||
在新工单中引用
屏蔽一个用户