@chenchaolong/plugin-trade-compliance-workbench 1.0.104 → 1.0.105

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  export interface ImportIssueRow {
2
2
  issueType: 'DUPLICATE' | 'INVALID';
3
+ issueCategory?: 'DUPLICATE' | 'INVALID' | 'SKIPPED' | 'PENDING';
3
4
  sourceSequence: number;
4
5
  sourceLocation: string | null;
5
6
  sourceContent: string | null;
@@ -8,8 +9,11 @@ export interface ImportIssueRow {
8
9
  duplicateTarget?: string | null;
9
10
  }
10
11
  export declare function importIssueDto<T extends {
12
+ issueType?: ImportIssueRow['issueType'];
11
13
  sourceContent?: unknown;
12
14
  parsedPayload?: Record<string, unknown> | null;
13
- }>(issue: T & Partial<Pick<ImportIssueRow, 'duplicateTarget'>>): T & Pick<ImportIssueRow, 'duplicateTarget'>;
15
+ }>(issue: T & Partial<Pick<ImportIssueRow, 'duplicateTarget'>>): T & Pick<ImportIssueRow, 'duplicateTarget'> & {
16
+ issueCategory?: ImportIssueRow['issueCategory'];
17
+ };
14
18
  export declare function renderImportIssuesWorkbook(rows: ImportIssueRow[]): Promise<Buffer>;
15
19
  //# sourceMappingURL=import-issues.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-issues.d.ts","sourceRoot":"","sources":["../../../src/lib/domain/import-issues.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,WAAW,GAAG,SAAS,CAAA;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC7C,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAWD,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAS9N;AAaD,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAMxF"}
1
+ {"version":3,"file":"import-issues.d.ts","sourceRoot":"","sources":["../../../src/lib/domain/import-issues.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,WAAW,GAAG,SAAS,CAAA;IAClC,aAAa,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC7C,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAiBD,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG;IAAE,aAAa,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAA;CAAE,CAU7T;AAaD,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAQxF"}
@@ -9,39 +9,50 @@ function formatDuplicateTarget(parsedPayload) {
9
9
  const sourceLocation = typeof parsedPayload.duplicateTargetSourceLocation === 'string' ? parsedPayload.duplicateTargetSourceLocation : '';
10
10
  return [name, typeof sourceSequence === 'number' ? `第 ${sourceSequence} 条` : sourceSequence === '历史记录' ? '历史记录' : null, sourceLocation].filter(Boolean).join(' · ');
11
11
  }
12
+ function issueCategory(issue) {
13
+ if (issue.issueType === 'DUPLICATE')
14
+ return 'DUPLICATE';
15
+ const category = issue.parsedPayload?.issueCategory;
16
+ return category === 'SKIPPED' || category === 'PENDING' || category === 'INVALID' ? category : 'INVALID';
17
+ }
12
18
  export function importIssueDto(issue) {
13
19
  const dto = { ...issue };
20
+ const category = issue.issueType ? issueCategory(issue) : undefined;
14
21
  if (!issue.parsedPayload)
15
- return { ...dto, duplicateTarget: issue.duplicateTarget ?? null };
22
+ return { ...dto, issueCategory: category, duplicateTarget: issue.duplicateTarget ?? null };
16
23
  const parsedPayload = { ...issue.parsedPayload };
17
24
  if (parsedPayload.duplicateTargetName && typeof parsedPayload.duplicateTargetName === 'object') {
18
25
  const target = parsedPayload.duplicateTargetName;
19
26
  parsedPayload.duplicateTargetName = target.name ?? target.title ?? target.productName ?? target.companyName ?? target.duplicateTargetName ?? target.value ?? '历史记录';
20
27
  }
21
- return { ...dto, parsedPayload, duplicateTarget: issue.duplicateTarget ?? formatDuplicateTarget(parsedPayload) };
28
+ return { ...dto, issueCategory: category, parsedPayload, duplicateTarget: issue.duplicateTarget ?? formatDuplicateTarget(parsedPayload) };
22
29
  }
23
30
  function exportIssueDto(issue) {
24
- const { sourceContent: _sourceContent, ...dto } = importIssueDto(issue);
31
+ const dto = importIssueDto(issue);
25
32
  if (!dto.parsedPayload)
26
- return dto;
33
+ return { ...dto, issueCategory: issueCategory(dto) };
27
34
  const parsedPayload = { ...dto.parsedPayload };
28
35
  delete parsedPayload.originalProductName;
29
36
  delete parsedPayload.originalControlDescription;
30
37
  delete parsedPayload.translationSource;
31
38
  delete parsedPayload.sourceContent;
32
- return { ...dto, parsedPayload };
39
+ return { ...dto, issueCategory: issueCategory(dto), parsedPayload };
33
40
  }
34
41
  export async function renderImportIssuesWorkbook(rows) {
35
42
  const workbook = new ExcelJS.Workbook();
36
43
  const safeRows = rows.map(exportIssueDto);
37
- addIssueSheet(workbook, '重复数据', safeRows.filter(row => row.issueType === 'DUPLICATE'));
38
- addIssueSheet(workbook, '无效数据', safeRows.filter(row => row.issueType === 'INVALID'));
44
+ addIssueSheet(workbook, '重复数据', safeRows.filter(row => row.issueCategory === 'DUPLICATE'));
45
+ addIssueSheet(workbook, '无效数据', safeRows.filter(row => row.issueCategory === 'INVALID'));
46
+ addIssueSheet(workbook, '跳过数据', safeRows.filter(row => row.issueCategory === 'SKIPPED'));
47
+ addIssueSheet(workbook, '待处理数据', safeRows.filter(row => row.issueCategory === 'PENDING'));
39
48
  return Buffer.from(await workbook.xlsx.writeBuffer());
40
49
  }
41
50
  function addIssueSheet(workbook, name, rows) {
42
51
  const sheet = workbook.addWorksheet(name);
43
52
  sheet.columns = [
53
+ { header: '问题分类', key: 'issueCategory', width: 16 },
44
54
  { header: '来源位置', key: 'sourceLocation', width: 24 },
55
+ { header: '来源原文', key: 'sourceContent', width: 48 },
45
56
  { header: '重复对象', key: 'duplicateTarget', width: 36 },
46
57
  { header: '问题说明', key: 'message', width: 36 },
47
58
  { header: '解析数据', key: 'parsedPayload', width: 48 }
@@ -1 +1 @@
1
- {"version":3,"file":"import-issues.js","sourceRoot":"","sources":["../../../src/lib/domain/import-issues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-issues.js","sourceRoot":"","sources":["../../../src/lib/domain/import-issues.ts"],"names":[],"mappings":"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"}