2 Commits
1.3.0 ... 1.3.1

Author SHA1 Message Date
Misaka_Company
9ee1ea566c 1.3.1 2026-03-18 13:18:15 +08:00
Misaka_Company
29f29f6a9e feat(cleaner): expand protected row number range to 2000-7999
Change the protected row number range from 7000-7999 to 2000-7999 to prevent deletion of materials in this broader range.

- Updated isMaterialDeletable() method logic
- Updated getSkipReason() error messages
- Updated test cases to reflect new range boundaries
- Updated documentation templates and error collection guide

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 13:14:09 +08:00
6 changed files with 20 additions and 19 deletions

View File

@@ -39,7 +39,7 @@
| 订单号 | 物料代码 | 物料名称 | 行号 | 跳过原因 |
| -------- | -------- | -------- | ---- | --------------------------------- |
| `PO-001` | `M001` | 物料名称 | 7500 | 行号在 7000-7999 范围内(受保护) |
| `PO-001` | `M001` | 物料名称 | 7500 | 行号在 2000-7999 范围内(受保护) |
| `PO-001` | `M002` | 物料名称 | 1200 | 累计待发数量不为空 |
| `PO-002` | `M003` | 物料名称 | 300 | 物料不在删除清单中 |
| ... | ... | ... | ... | ... |

View File

@@ -165,7 +165,7 @@ mindmap
达到最大重试次数 (2 次)
业务规则错误
物料不在删除清单
行号在保护范围 (7000-7999)
行号在保护范围 (2000-7999)
累计待发数量不为空
收尾错误
浏览器关闭失败

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "erpauto",
"version": "1.3.0",
"version": "1.3.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "erpauto",
"version": "1.3.0",
"version": "1.3.1",
"hasInstallScript": true,
"dependencies": {
"@aws-sdk/client-s3": "^3.929.0",

View File

@@ -1,6 +1,6 @@
{
"name": "erpauto",
"version": "1.3.0",
"version": "1.3.1",
"description": "An Electron application with React and TypeScript",
"main": "./out/main/index.js",
"author": "example.com",

View File

@@ -146,7 +146,7 @@ export class CleanerService {
return false
}
if (rowNumber >= 7000 && rowNumber < 8000) {
if (rowNumber >= 2000 && rowNumber < 8000) {
return false
}
@@ -163,8 +163,8 @@ export class CleanerService {
if (!deleteSet.has(materialCode)) {
return '物料不在删除清单中'
}
if (rowNumber >= 7000 && rowNumber < 8000) {
return '行号在 7000-7999 范围内(受保护)'
if (rowNumber >= 2000 && rowNumber < 8000) {
return '行号在 2000-7999 范围内(受保护)'
}
if (pendingQty && pendingQty.trim() !== '') {
return '累计待发数量不为空'
@@ -400,7 +400,8 @@ export class CleanerService {
try {
const cell = row.locator('td[colkey="vbillcode"]')
const codeLink = cell.locator('.code-detail-link').first()
const rawValue = (await codeLink.count()) > 0 ? await codeLink.innerText() : await cell.innerText()
const rawValue =
(await codeLink.count()) > 0 ? await codeLink.innerText() : await cell.innerText()
const value = rawValue.trim()
const match = value.match(/SC\d{14}/)
return match ? match[0] : value

View File

@@ -18,8 +18,8 @@ describe('Cleaner Service (Unit)', () => {
return false
}
// Check row number range (7000-7999 are protected)
if (rowNumber >= 7000 && rowNumber < 8000) {
// Check row number range (2000-7999 are protected)
if (rowNumber >= 2000 && rowNumber < 8000) {
return false
}
@@ -32,12 +32,12 @@ describe('Cleaner Service (Unit)', () => {
}
}
it('should skip materials with row number 7000-7999', () => {
it('should skip materials with row number 2000-7999', () => {
const testCases = [
{ rowNumber: 7000, pendingQty: '', materialCode: 'TEST001', expected: false },
{ rowNumber: 7500, pendingQty: '', materialCode: 'TEST001', expected: false },
{ rowNumber: 2000, pendingQty: '', materialCode: 'TEST001', expected: false },
{ rowNumber: 5000, pendingQty: '', materialCode: 'TEST001', expected: false },
{ rowNumber: 7999, pendingQty: '', materialCode: 'TEST001', expected: false },
{ rowNumber: 6999, pendingQty: '', materialCode: 'TEST001', expected: true },
{ rowNumber: 1999, pendingQty: '', materialCode: 'TEST001', expected: true },
{ rowNumber: 8000, pendingQty: '', materialCode: 'TEST001', expected: true }
]
@@ -78,7 +78,7 @@ describe('Cleaner Service (Unit)', () => {
const testCases = [
{ rowNumber: 1, pendingQty: '', materialCode: 'TEST001', expected: true },
{ rowNumber: 100, pendingQty: '', materialCode: 'TEST001', expected: true },
{ rowNumber: 6999, pendingQty: '', materialCode: 'TEST001', expected: true },
{ rowNumber: 1999, pendingQty: '', materialCode: 'TEST001', expected: true },
{ rowNumber: 8000, pendingQty: '', materialCode: 'TEST001', expected: true },
{ rowNumber: 10000, pendingQty: '', materialCode: 'TEST001', expected: true }
]