feat(cleaner): track skipped materials and skip DB writes on dry run

Record materials not in the deletion list as "skipped" with reason
instead of just logging them. Skip inserting material details to
database during dry runs to avoid phantom records.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Misaka_Company
2026-04-13 15:58:00 +08:00
parent 116539ff42
commit 151485caed
4 changed files with 258 additions and 3 deletions

View File

@@ -990,11 +990,20 @@ export class CleanerService {
})
}
} else {
log.verbose('[物料判断] 物料不在删除清单中,跳过', {
// 物料不在删除清单中,记录为 skipped
detail.materialsSkipped += 1
detail.skippedMaterials.push({
materialCode,
materialName,
rowNumber: rowNumInt,
reason: '不在删除清单中'
})
log.verbose('[物料跳过] 物料不在删除清单中', {
orderNumber,
materialIdx,
materialCode,
materialName
materialName,
rowNumber: rowNumInt
})
}