fix finance acceptance source ownership checks

This commit is contained in:
2026-08-12 15:53:47 +08:00
parent 645d20665c
commit 6a26b17e0a
4 changed files with 40 additions and 17 deletions
@@ -77,8 +77,12 @@ export async function run(context) {
return
}
const manualIds = values(fixtures.feeSources).filter((fee) => fee.sourceType === 'MANUAL').map((fee) => id(fee.feeSourceId))
const usedIds = new Set(statements.flatMap((statement) => values(statement.feeSourceIds).map(id)))
const manualIds = values(fixtures.sourceMappings).filter((source) => source.sourceType === 'MANUAL')
.map((source) => id(source.feeSourceId)).filter(Boolean)
const usedIds = new Set([
...statements.flatMap((statement) => values(statement.feeSourceIds).map(id)),
...payables.flatMap((settlement) => values(settlement.feeSourceIds).map(id)),
])
context.assert(MODULE, '手动上传费用出账后来源完结', null,
manualIds.length > 0 && manualIds.every((feeId) => usedIds.has(feeId)),
`manual=${manualIds.length}, settled=${manualIds.filter((feeId) => usedIds.has(feeId)).length}`, OPTIONS)