**Core Implementation (src/main/services/erp/cleaner.ts):** - CleanerService class with dry-run mode support - Material deletion logic with safety constraints: - Row numbers 7000-7999 are protected - Materials with pending quantity are skipped - Materials not in delete list are ignored - Order processing with nested iframe navigation - Progress callback support for UI integration **Types (src/main/types/cleaner.types.ts):** - CleanerInput: order numbers, material codes, dry-run flag - CleanerResult: processing statistics and details - OrderCleanDetail: per-order breakdown **Tests:** - Unit tests for shouldDeleteMaterial logic - Integration tests for order processing - Dry-run mode validation - Navigation tests Reference: playwrite/utils/discrete_material_plan_cleaner.py Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
4.4 KiB
4.4 KiB