@chenchaolong/plugin-trade-compliance-workbench 1.0.180 → 1.0.182
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.
- package/README.md +2 -1
- package/dist/assets/templates/PL.xlsx +0 -0
- package/dist/lib/adapters/file-storage.d.ts +33 -3
- package/dist/lib/adapters/file-storage.d.ts.map +1 -1
- package/dist/lib/adapters/file-storage.js +176 -17
- package/dist/lib/adapters/file-storage.js.map +1 -1
- package/dist/lib/constants.d.ts +1 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +1 -0
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/entities/index.d.ts +3 -1
- package/dist/lib/entities/index.d.ts.map +1 -1
- package/dist/lib/entities/index.js +4 -1
- package/dist/lib/entities/index.js.map +1 -1
- package/dist/lib/entities/settings.entity.d.ts +5 -0
- package/dist/lib/entities/settings.entity.d.ts.map +1 -1
- package/dist/lib/entities/settings.entity.js +4 -0
- package/dist/lib/entities/settings.entity.js.map +1 -1
- package/dist/lib/entities/supplier-packing.entity.d.ts +35 -0
- package/dist/lib/entities/supplier-packing.entity.d.ts.map +1 -0
- package/dist/lib/entities/supplier-packing.entity.js +110 -0
- package/dist/lib/entities/supplier-packing.entity.js.map +1 -0
- package/dist/lib/import-jobs/import-command.builder.d.ts +1 -0
- package/dist/lib/import-jobs/import-command.builder.d.ts.map +1 -1
- package/dist/lib/import-jobs/import-command.builder.js +9 -4
- package/dist/lib/import-jobs/import-command.builder.js.map +1 -1
- package/dist/lib/import-jobs/import-job.processor.d.ts.map +1 -1
- package/dist/lib/import-jobs/import-job.processor.js +2 -1
- package/dist/lib/import-jobs/import-job.processor.js.map +1 -1
- package/dist/lib/packing/supplier-packing.service.d.ts +75 -0
- package/dist/lib/packing/supplier-packing.service.d.ts.map +1 -0
- package/dist/lib/packing/supplier-packing.service.js +229 -0
- package/dist/lib/packing/supplier-packing.service.js.map +1 -0
- package/dist/lib/remote-components/trade-compliance-workbench/app.js +4 -4
- package/dist/lib/remote-ui/action-execution.d.ts.map +1 -1
- package/dist/lib/remote-ui/action-execution.js +4 -1
- package/dist/lib/remote-ui/action-execution.js.map +1 -1
- package/dist/lib/remote-ui/app-source.js +1 -1
- package/dist/lib/remote-ui/app-source.js.map +1 -1
- package/dist/lib/remote-ui/components/bulk-delete.d.ts +1 -1
- package/dist/lib/remote-ui/components/bulk-delete.d.ts.map +1 -1
- package/dist/lib/remote-ui/components/bulk-delete.js +1 -1
- package/dist/lib/remote-ui/components/bulk-delete.js.map +1 -1
- package/dist/lib/remote-ui/components/data-grid.d.ts +1 -1
- package/dist/lib/remote-ui/components/data-grid.d.ts.map +1 -1
- package/dist/lib/remote-ui/pages/files.d.ts +7 -3
- package/dist/lib/remote-ui/pages/files.d.ts.map +1 -1
- package/dist/lib/remote-ui/pages/files.js +49 -11
- package/dist/lib/remote-ui/pages/files.js.map +1 -1
- package/dist/lib/remote-ui/pages/sales.js +2 -2
- package/dist/lib/sales-file.service.d.ts +6 -1
- package/dist/lib/sales-file.service.d.ts.map +1 -1
- package/dist/lib/sales-file.service.js +241 -57
- package/dist/lib/sales-file.service.js.map +1 -1
- package/dist/lib/schema-maintenance.d.ts.map +1 -1
- package/dist/lib/schema-maintenance.js +1 -0
- package/dist/lib/schema-maintenance.js.map +1 -1
- package/dist/lib/types.d.ts +37 -5
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +7 -5
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/workbench-action-contract.d.ts +1 -1
- package/dist/lib/workbench-action-contract.d.ts.map +1 -1
- package/dist/lib/workbench-action-contract.js +4 -1
- package/dist/lib/workbench-action-contract.js.map +1 -1
- package/dist/lib/workbench-view.provider.d.ts +11 -3
- package/dist/lib/workbench-view.provider.d.ts.map +1 -1
- package/dist/lib/workbench-view.provider.js +40 -7
- package/dist/lib/workbench-view.provider.js.map +1 -1
- package/dist/lib/workbench.middleware.d.ts +86 -1
- package/dist/lib/workbench.middleware.d.ts.map +1 -1
- package/dist/lib/workbench.middleware.js +12 -2
- package/dist/lib/workbench.middleware.js.map +1 -1
- package/dist/lib/workbench.plugin.d.ts.map +1 -1
- package/dist/lib/workbench.plugin.js +2 -1
- package/dist/lib/workbench.plugin.js.map +1 -1
- package/dist/lib/workbench.service.d.ts +5 -0
- package/dist/lib/workbench.service.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Column, Entity, Index } from 'typeorm';
|
|
3
|
+
import { SoftDeleteEntity } from './base.js';
|
|
4
|
+
/**
|
|
5
|
+
* 供应商装箱单(1 个采购合同对应 1 份,重复导入整份覆盖,revision 递增)。
|
|
6
|
+
*/
|
|
7
|
+
let SupplierPacking = class SupplierPacking extends SoftDeleteEntity {
|
|
8
|
+
};
|
|
9
|
+
__decorate([
|
|
10
|
+
Column({ type: 'uuid' }),
|
|
11
|
+
__metadata("design:type", String)
|
|
12
|
+
], SupplierPacking.prototype, "purchaseOrderId", void 0);
|
|
13
|
+
__decorate([
|
|
14
|
+
Column({ type: 'integer' }),
|
|
15
|
+
__metadata("design:type", Number)
|
|
16
|
+
], SupplierPacking.prototype, "revision", void 0);
|
|
17
|
+
__decorate([
|
|
18
|
+
Column({ type: 'varchar' }),
|
|
19
|
+
__metadata("design:type", String)
|
|
20
|
+
], SupplierPacking.prototype, "fileName", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
Column({ type: 'varchar' }),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], SupplierPacking.prototype, "sourceFileId", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
Column({ type: 'uuid', nullable: true }),
|
|
27
|
+
__metadata("design:type", Object)
|
|
28
|
+
], SupplierPacking.prototype, "importedById", void 0);
|
|
29
|
+
SupplierPacking = __decorate([
|
|
30
|
+
Entity('plugin_trade_compliance_supplier_packing'),
|
|
31
|
+
Index(['tenantId', 'organizationId', 'purchaseOrderId'], { unique: true, where: '"deletedAt" IS NULL' })
|
|
32
|
+
], SupplierPacking);
|
|
33
|
+
export { SupplierPacking };
|
|
34
|
+
/**
|
|
35
|
+
* 供应商装箱单行:与采购行多对一绑定(整机/闸杆 boom/配件 part 可同属一个采购行)。
|
|
36
|
+
* 体积、总毛重等由系统按尺寸与箱数重算,不信任源文件中的计算列。
|
|
37
|
+
*/
|
|
38
|
+
let SupplierPackingLine = class SupplierPackingLine extends SoftDeleteEntity {
|
|
39
|
+
};
|
|
40
|
+
__decorate([
|
|
41
|
+
Column({ type: 'uuid' }),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], SupplierPackingLine.prototype, "packingId", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
Column({ type: 'uuid' }),
|
|
46
|
+
__metadata("design:type", String)
|
|
47
|
+
], SupplierPackingLine.prototype, "purchaseOrderId", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
Column({ type: 'uuid', nullable: true }),
|
|
50
|
+
__metadata("design:type", Object)
|
|
51
|
+
], SupplierPackingLine.prototype, "purchaseOrderLineId", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
Column({ type: 'integer' }),
|
|
54
|
+
__metadata("design:type", Number)
|
|
55
|
+
], SupplierPackingLine.prototype, "lineIndex", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
Column({ type: 'varchar', nullable: true }),
|
|
58
|
+
__metadata("design:type", Object)
|
|
59
|
+
], SupplierPackingLine.prototype, "model", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
Column({ type: 'varchar', length: 64, nullable: true }),
|
|
62
|
+
__metadata("design:type", Object)
|
|
63
|
+
], SupplierPackingLine.prototype, "normalizedModel", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
Column({ type: 'text', nullable: true }),
|
|
66
|
+
__metadata("design:type", Object)
|
|
67
|
+
], SupplierPackingLine.prototype, "description", void 0);
|
|
68
|
+
__decorate([
|
|
69
|
+
Column({ type: 'varchar', length: 8, nullable: true }),
|
|
70
|
+
__metadata("design:type", Object)
|
|
71
|
+
], SupplierPackingLine.prototype, "role", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
Column({ type: 'numeric', precision: 20, scale: 6, nullable: true }),
|
|
74
|
+
__metadata("design:type", Object)
|
|
75
|
+
], SupplierPackingLine.prototype, "qty", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
Column({ type: 'numeric', precision: 20, scale: 6, nullable: true }),
|
|
78
|
+
__metadata("design:type", Object)
|
|
79
|
+
], SupplierPackingLine.prototype, "cartons", void 0);
|
|
80
|
+
__decorate([
|
|
81
|
+
Column({ type: 'varchar', nullable: true }),
|
|
82
|
+
__metadata("design:type", Object)
|
|
83
|
+
], SupplierPackingLine.prototype, "dimensionCm", void 0);
|
|
84
|
+
__decorate([
|
|
85
|
+
Column({ type: 'numeric', precision: 20, scale: 6, nullable: true }),
|
|
86
|
+
__metadata("design:type", Object)
|
|
87
|
+
], SupplierPackingLine.prototype, "grossWeightPerCtnKg", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
Column({ type: 'varchar', nullable: true }),
|
|
90
|
+
__metadata("design:type", Object)
|
|
91
|
+
], SupplierPackingLine.prototype, "battery", void 0);
|
|
92
|
+
__decorate([
|
|
93
|
+
Column({ type: 'numeric', precision: 20, scale: 6, nullable: true }),
|
|
94
|
+
__metadata("design:type", Object)
|
|
95
|
+
], SupplierPackingLine.prototype, "boxVolumeCbm", void 0);
|
|
96
|
+
__decorate([
|
|
97
|
+
Column({ type: 'numeric', precision: 20, scale: 6, nullable: true }),
|
|
98
|
+
__metadata("design:type", Object)
|
|
99
|
+
], SupplierPackingLine.prototype, "totalVolumeCbm", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
Column({ type: 'numeric', precision: 20, scale: 6, nullable: true }),
|
|
102
|
+
__metadata("design:type", Object)
|
|
103
|
+
], SupplierPackingLine.prototype, "totalGrossWeightKg", void 0);
|
|
104
|
+
SupplierPackingLine = __decorate([
|
|
105
|
+
Entity('plugin_trade_compliance_supplier_packing_line'),
|
|
106
|
+
Index(['tenantId', 'organizationId', 'purchaseOrderId']),
|
|
107
|
+
Index(['packingId'])
|
|
108
|
+
], SupplierPackingLine);
|
|
109
|
+
export { SupplierPackingLine };
|
|
110
|
+
//# sourceMappingURL=supplier-packing.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supplier-packing.entity.js","sourceRoot":"","sources":["../../../src/lib/entities/supplier-packing.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,7 @@ export declare function buildAssistantCommand(input: {
|
|
|
29
29
|
content: ImportCommandContent;
|
|
30
30
|
catalogType?: CatalogType;
|
|
31
31
|
replaceBatchId?: string;
|
|
32
|
+
purchaseOrderId?: string;
|
|
32
33
|
}): ImportExecutionCommand;
|
|
33
34
|
export declare function buildCustomerContractReanalysisCommand(started: {
|
|
34
35
|
run: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-command.builder.d.ts","sourceRoot":"","sources":["../../../src/lib/import-jobs/import-command.builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,+BAA+B,EAC/B,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,aAAa,CAAA;AAEpB,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,oBAAoB,GACrB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzD;IACE,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACzF,iBAAiB,EAAE,MAAM,CAAA;IACzB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B,CAAA;AAEL,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,SAAS,EAAE,wBAAwB,CAAA;IACnC,IAAI,EAAE,iBAAiB,CAAA;IACvB,OAAO,EAAE,oBAAoB,CAAA;IAC7B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"import-command.builder.d.ts","sourceRoot":"","sources":["../../../src/lib/import-jobs/import-command.builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,+BAA+B,EAC/B,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,aAAa,CAAA;AAEpB,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,oBAAoB,GACrB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzD;IACE,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACzF,iBAAiB,EAAE,MAAM,CAAA;IACzB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B,CAAA;AAEL,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,SAAS,EAAE,wBAAwB,CAAA;IACnC,IAAI,EAAE,iBAAiB,CAAA;IACvB,OAAO,EAAE,oBAAoB,CAAA;IAC7B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,sBAAsB,CA8BzB;AAED,wBAAgB,sCAAsC,CAAC,OAAO,EAAE;IAC9D,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAC,SAAS,CAAC,CAAA;CACpD,GAAG,sBAAsB,CA2BzB;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,sBAAsB,CAUhH"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CATALOG_REVIEW_BATCH_LIMIT, TOOL_NAMES } from '../constants.js';
|
|
2
2
|
import { DomainError, DomainErrorCodes } from '../types.js';
|
|
3
3
|
export function buildAssistantCommand(input) {
|
|
4
|
-
const { actionKey, task, content, catalogType, replaceBatchId } = input;
|
|
4
|
+
const { actionKey, task, content, catalogType, replaceBatchId, purchaseOrderId } = input;
|
|
5
5
|
const definition = IMPORT_COMMAND_DEFINITIONS[actionKey];
|
|
6
6
|
const source = content.type === 'TEXT_CHUNKS'
|
|
7
7
|
? content.chunks.map((chunk, index) => `\n--- 原文分块 ${index + 1}/${content.chunks.length} ---\n${chunk}`).join('')
|
|
@@ -13,10 +13,11 @@ export function buildAssistantCommand(input) {
|
|
|
13
13
|
sourceFileId: task.sourceFileId,
|
|
14
14
|
sourceFileName: task.sourceFileName,
|
|
15
15
|
catalogType,
|
|
16
|
-
replaceBatchId
|
|
16
|
+
replaceBatchId,
|
|
17
|
+
purchaseOrderId
|
|
17
18
|
});
|
|
18
19
|
const responsePolicy = contractDraftActionKeys.has(actionKey)
|
|
19
|
-
? `\n执行要求:不要输出原文预览;不要输出已识别字段列表;不要输出“可执行的下一步”;不要向用户索要 importTaskId,也不要等待用户确认。必须把固定参数中的 importTaskId 原样放入工具参数,直接调用工具 ${definition.toolName}
|
|
20
|
+
? `\n执行要求:不要输出原文预览;不要输出已识别字段列表;不要输出“可执行的下一步”;不要向用户索要 importTaskId,也不要等待用户确认。必须把固定参数中的 importTaskId 原样放入工具参数,直接调用工具 ${definition.toolName} 保存结果。工具调用完成后不要继续分析,不要复述工具结果;如平台要求输出,只输出一句中文说明已提交保存。`
|
|
20
21
|
: '';
|
|
21
22
|
return {
|
|
22
23
|
commandKey: 'assistant.chat.send_message',
|
|
@@ -82,12 +83,16 @@ const IMPORT_COMMAND_DEFINITIONS = {
|
|
|
82
83
|
toolName: TOOL_NAMES.savePurchaseDraft,
|
|
83
84
|
requirements: '一份文件对应一个采购订单,完整提取供应商主档、采购订单和全部商品明细。采购订单 contractNo 保存从合同中识别出的完整结果,不做格式改写或截断。商品明细 lines 必须覆盖合同中的全部商品行;每条商品行必须尽量提取并使用标准字段 productName、modelSpecification、productDescription、quantity、unit、unitPriceTaxIncluded、lineAmountTaxIncluded、hsCode。中文表头字段必须映射为标准字段:“单位”“计量单位” -> unit;“含税单价” -> unitPriceTaxIncluded;“含税总价”“含税金额”“价税合计” -> lineAmountTaxIncluded;“Hs code”“HS Code”“海关编码” -> hsCode。如果合同原文中存在单位或行级含税金额,不得留空;只有原文确实缺失时才留空。不得因为 lineAmountTaxIncluded 可以由 quantity * unitPriceTaxIncluded 计算,就省略合同中的原始行级含税金额。'
|
|
84
85
|
},
|
|
86
|
+
import_supplier_packing: {
|
|
87
|
+
toolName: TOOL_NAMES.saveSupplierPackingDraft,
|
|
88
|
+
requirements: '这是供应商提供的装箱单/箱单(常见名为 Estimate PL、箱单、PL),格式可能是任意排版:表头行位置不固定、可能是两级表头或合并单元格、列名可能是中英文任意写法。请按列的业务含义识别,不要按列名精确匹配。需要提取的字段:model(型号/Items Name/料号/品名)、description(品名描述,保留原文中文)、qty(数量)、cartons(箱数/箱量/Cnt No)、dimensionCm(单箱尺寸,保留原始写法如 110*45*45,单位是厘米就照抄厘米)、grossWeightPerCtnKg(单箱毛重)、battery(电池信息,无则填“无”)、role(文件中的角色标记列 boom/main/part,或描述含 boom/闸杆 记 BOOM、含 part/配件 记 PART,无法判断留空)。必须一行不漏:同型号的整机、闸杆(boom)、配件保持独立行,不要合并;空行跳过;数量、箱数、毛重转成数字(去掉千分位和单位),尺寸保留原始文本;识别不了的字段留空,禁止编造或估算。文件中的合计行、表头、公司信息不要作为数据行保存。'
|
|
89
|
+
},
|
|
85
90
|
upload_customer_contract: {
|
|
86
91
|
toolName: TOOL_NAMES.saveCustomerContractDraft,
|
|
87
92
|
requirements: '完整提取唯一客户、客户合同编码及合同金额、税率、价格、运输/交付方式、质保/服务保障、违约责任、付款条款七类内容,并用中文给出风险提示和修改建议。客户合同编码(contract.contractNo)必须取 YC 开头的我方客户合同编号:扫描件中通常位于每页右上角的印章或标注,若任务说明提供了文本层编号则原样使用;合同标题中的客户内部档案号(如 YTG-TI-130426 这类双方合同号)不是客户合同编码,禁止填入;全文找不到 YC 编号时留空并说明,不要用其他编号代替。双语或多语对照合同:所有字段优先取右栏(英文或中文)内容,左栏客户本国语言(如俄文)仅用于交叉核对,禁止把本国语言名称填入 customer.name。客户主档信息尽量完整提取:买方全称、国家、注册地址、联系人、电话、邮箱、税号(如 ИНН/INN/VAT)、收款账号与开户行,分别填入 customer 的 name/customerName、country/countryOrRegion、address、contactName、phone、email、taxNumber、paymentAccount、bankName 字段,确实没有的字段留空。七类条款口径必须按业务含义归类:CONTRACT_AMOUNT 为合同总金额或预算金额;TAX_RATE 为具体税率、税费承担、税费自理、税费另行缴纳等税务约定,即使未写明具体百分比也要标记 FOUND 并说明缺少具体税率;PRICE_TERMS 为价格构成、单价、软件使用费、费用范围等价格约定;TRANSPORT 为运输、发货、交付、提供方式、交付期限、交付地点、提供诊断工具或软件访问权等履约交付约定,软件/授权类合同没有物流运输也要提取“提供/交付”条款;WARRANTY 为质保、售后、服务保障、授权期限、有效期、续费/续期、保证承诺、维护支持等保障性条款;BREACH_LIABILITY 为违约责任、赔偿、退款、解除条件等;PAYMENT_TERMS 为付款时间、预付款、付款节点、付款账户等。调用客户合同工具时必须遵守字段契约:customer.name 填客户名称(右栏英文/中文);contract.contractNo 填 YC 开头的客户合同编码,contract.signedAt 填签订日期,contract.contractAmountReviewCny 填人民币预算金额;clauses 数组只放七类关键条款,每项使用 clauseType、extractionStatus、sourceText、reviewedText、sourceLocation、sourceContent,找到的条款必须填写 reviewedText;analyses 数组只放风险分析,每项使用 clauseType、riskLevel、riskMessageZh、suggestionZh。禁止把 riskLevel、riskMessageZh、suggestionZh 放进 clauses。'
|
|
88
93
|
}
|
|
89
94
|
};
|
|
90
|
-
const contractDraftActionKeys = new Set(['upload_purchase_contract', 'upload_customer_contract']);
|
|
95
|
+
const contractDraftActionKeys = new Set(['upload_purchase_contract', 'upload_customer_contract', 'import_supplier_packing']);
|
|
91
96
|
function inlineFile(content, fileName) {
|
|
92
97
|
return {
|
|
93
98
|
name: fileName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-command.builder.js","sourceRoot":"","sources":["../../../src/lib/import-jobs/import-command.builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAyB3D,MAAM,UAAU,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"import-command.builder.js","sourceRoot":"","sources":["../../../src/lib/import-jobs/import-command.builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-job.processor.d.ts","sourceRoot":"","sources":["../../../src/lib/import-jobs/import-job.processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAG9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAIL,KAAK,wBAAwB,EAG9B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,wBAAwB,EAA0B,MAAM,yBAAyB,CAAA;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AASlE,qBAEa,kBAAmB,YAAW,wBAAwB,CAAC,wBAAwB,CAAC;IAEzF,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACZ,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAL3B,OAAO,EAAE,+BAA+B,EACxC,MAAM,EAAE,wBAAwB,EAChC,UAAU,EAAE,sBAAsB,EAClC,WAAW,EAAE,oBAAoB,EACjC,OAAO,EAAE,0BAA0B,EACvB,cAAc,CAAC,EAAE,6BAA6B,YAAA;IAGvE,MAAM,CACV,GAAG,EAAE,eAAe,CAAC,wBAAwB,CAAC,EAC9C,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC;YAWF,QAAQ;YAwCR,2BAA2B;YAoB3B,2BAA2B;YAsB3B,iBAAiB;IA2D/B,+CAA+C;YACjC,gBAAgB;YAQhB,oBAAoB;
|
|
1
|
+
{"version":3,"file":"import-job.processor.d.ts","sourceRoot":"","sources":["../../../src/lib/import-jobs/import-job.processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAG9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAIL,KAAK,wBAAwB,EAG9B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,wBAAwB,EAA0B,MAAM,yBAAyB,CAAA;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AASlE,qBAEa,kBAAmB,YAAW,wBAAwB,CAAC,wBAAwB,CAAC;IAEzF,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACZ,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAL3B,OAAO,EAAE,+BAA+B,EACxC,MAAM,EAAE,wBAAwB,EAChC,UAAU,EAAE,sBAAsB,EAClC,WAAW,EAAE,oBAAoB,EACjC,OAAO,EAAE,0BAA0B,EACvB,cAAc,CAAC,EAAE,6BAA6B,YAAA;IAGvE,MAAM,CACV,GAAG,EAAE,eAAe,CAAC,wBAAwB,CAAC,EAC9C,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC;YAWF,QAAQ;YAwCR,2BAA2B;YAoB3B,2BAA2B;YAsB3B,iBAAiB;IA2D/B,+CAA+C;YACjC,gBAAgB;YAQhB,oBAAoB;YA0CpB,qBAAqB;YA0BrB,iBAAiB;YAwBjB,WAAW;CAkB1B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAI/D;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAKxF"}
|
|
@@ -190,7 +190,8 @@ let ImportJobProcessor = class ImportJobProcessor {
|
|
|
190
190
|
task,
|
|
191
191
|
content,
|
|
192
192
|
catalogType: executionInput.catalogType,
|
|
193
|
-
replaceBatchId: executionInput.replaceBatchId
|
|
193
|
+
replaceBatchId: executionInput.replaceBatchId,
|
|
194
|
+
purchaseOrderId: executionInput.purchaseOrderId
|
|
194
195
|
});
|
|
195
196
|
const saved = await this.service.saveImportTaskExecution(scope, task.id, task.claimAttemptToken, command);
|
|
196
197
|
return saved ? command : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-job.processor.js","sourceRoot":"","sources":["../../../src/lib/import-jobs/import-job.processor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"import-job.processor.js","sourceRoot":"","sources":["../../../src/lib/import-jobs/import-job.processor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAOrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAE5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAI7B,UAAU,EACX,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,wBAAwB,EAA0B,MAAM,yBAAyB,CAAA;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAA;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAOhE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YACmB,OAAwC,EACxC,MAAgC,EAChC,UAAkC,EAClC,WAAiC,EACjC,OAAmC,EACvB,cAA8C;QAL1D,YAAO,GAAP,OAAO,CAAiC;QACxC,WAAM,GAAN,MAAM,CAA0B;QAChC,eAAU,GAAV,UAAU,CAAwB;QAClC,gBAAW,GAAX,WAAW,CAAsB;QACjC,YAAO,GAAP,OAAO,CAA4B;QACvB,mBAAc,GAAd,cAAc,CAAgC;IAC1E,CAAC;IAEJ,KAAK,CAAC,MAAM,CACV,GAA8C,EAC9C,OAA+B;QAE/B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAC7C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACnC,CAAC;gBAAS,CAAC;YACT,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;QACvB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,KAA2B,EAAE,KAAwB;QAC1E,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAA;QACxF,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,mBAAwC,EAAE,KAAK,CAAC,CAAA;YACpF,OAAM;QACR,CAAC;QACD,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAA;QACjF,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YACtE,OAAM;QACR,CAAC;QACD,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAA;QACjF,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,WAAW,EAAE,CAAA;YACnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,wCAAwC,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;YACtG,KAAK,CAAC,WAAW,EAAE,CAAA;YACnB,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACtC,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,sBAAsB,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBACpG,OAAM;YACR,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAM;YAC3C,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE;oBACxD,SAAS,EAAE,2BAA2B;oBACtC,YAAY,EAAE,mBAAmB;iBAClC,EAAE,KAAK,CAAC,CAAA;gBACT,OAAM;YACR,CAAC;YACD,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS;gBAC1C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC1D,CAAC,CAAC,uBAAuB,CAAA;YAC3B,MAAM,IAAI,CAAC,2BAA2B,CACpC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,eAAe,EAAE,KAAK,CACtE,CAAA;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,KAA2B,EAC3B,MAAc,EACd,KAAwB;QAExB,MAAM,iBAAiB,GAAG,UAAU,EAAE,CAAA;QACtC,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,MAAM,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAC3C,KAAK,EACL,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAChE,uBAAuB,CACxB,CAAA;QACD,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CACvD,KAAK,EAAE,MAAM,EAAE,iBAAiB,CACL,CAAA;QAC7B,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,KAA2B,EAC3B,aAAqB,EACrB,YAAoB,EACpB,eAAuB,EACvB,KAAwB;QAExB,MAAM,iBAAiB,GAAG,UAAU,EAAE,CAAA;QACtC,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,MAAM,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAC3C,KAAK,EACL,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,EAC/E,eAAe,CAChB,CAAA;QACD,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,0BAA0B,CACvD,KAAK,EAAE,aAAa,EAAE,iBAAiB,CACZ,CAAA;QAC7B,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,KAA2B,EAC3B,IAAuB,EACvB,KAAwB;QAExB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;QACjC,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YAAE,OAAM;QACnE,IAAI,IAAI,CAAC,YAAY,KAAK,oBAAoB,IAAI,IAAI,CAAC,YAAY,KAAK,kBAAkB,EAAE,CAAC;YAC3F,IAAI,CAAC;gBACH,KAAK,CAAC,WAAW,EAAE,CAAA;gBACnB,MAAM,OAAO,GAAG,MAAM,IAAI,qBAAqB,CAC7C,IAAI,CAAC,OAAO,EACZ,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACzC,oBAAoB,EACpB,KAAK,IAAI,EAAE;oBACT,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;wBACjC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAA;wBAC9E,MAAM,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;oBAChE,CAAC;gBACH,CAAC,CACF,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBACtB,KAAK,CAAC,WAAW,EAAE,CAAA;gBACnB,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,0BAA0B,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;oBAClG,OAAM;gBACR,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;oBAClC,SAAS,EAAE,4BAA4B;oBACvC,YAAY,EAAE,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACnF,EAAE,KAAK,CAAC,CAAA;gBACT,OAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAA;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;gBAC7D,IAAI,CAAC,OAAO;oBAAE,OAAM;YACtB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;oBAClC,SAAS,EAAE,2BAA2B;oBACtC,YAAY,EAAE,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACnF,EAAE,KAAK,CAAC,CAAA;gBACT,OAAM;YACR,CAAC;QACH,CAAC;QACD,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;YAClE,OAAM;QACR,CAAC;QACD,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,MAAM,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,+CAA+C;IACvC,KAAK,CAAC,gBAAgB,CAAC,IAAmE;QAChG,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,mBAAmB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;YAC5F,IAAI,MAAM,EAAE,MAAM;gBAAE,OAAO,MAAM,CAAA;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAC7C,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,KAA2B,EAC3B,IAAuB,EACvB,KAAwB;QAExB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QAC1C,IAAI,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;QAClD,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAChD,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,MAAM,GAAa,EAAE,CAAA;QACzB,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;gBACzG,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,YAAY;oBAAE,MAAM,KAAK,CAAA;YAChC,CAAC;QACH,CAAC;QACD,kDAAkD;QAClD,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC7H,IAAI,YAAY,IAAI,kCAAkC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,GAAG,EAAE,CAAA;QACb,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,YAAY;YAAE,MAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACxF,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM;YAC3B,CAAC,CAAC,EAAE,IAAI,EAAE,aAAsB,EAAE,MAAM,EAAE;YAC1C,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;QAChF,MAAM,OAAO,GAAG,qBAAqB,CAAC;YACpC,SAAS,EAAE,cAAc,CAAC,SAAS;YACnC,IAAI;YACJ,OAAO;YACP,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,cAAc,EAAE,cAAc,CAAC,cAAc;YAC7C,eAAe,EAAE,cAAc,CAAC,eAAe;SAChD,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;QACzG,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/B,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,IAAuB,EACvB,MAAc,EACd,YAAqB,EACrB,iBAA2B,EAAE;QAE7B,IAAI,YAAY,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;gBAC1C,MAAM;gBACN,QAAQ,EAAE,IAAI,CAAC,cAAc;gBAC7B,QAAQ,EAAE,CAAC;gBACX,YAAY,EAAE,IAAI;aACnB,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;YAChD,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,cAAuB;gBAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,iBAAiB,EAAE,YAAY,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,QAAQ;gBAClF,cAAc;aACf,CAAA;QACH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,aAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,0BAA0B,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAA;IAC9G,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,KAA2B,EAC3B,GAAsB,EACtB,KAAwB;QAExB,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;gBAClC,SAAS,EAAE,2BAA2B;gBACtC,YAAY,EAAE,mBAAmB;aAClC,EAAE,KAAK,CAAC,CAAA;YACT,OAAM;QACR,CAAC;QACD,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;YAClE,OAAM;QACR,CAAC;QACD,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,MAAM,IAAI,CAAC,OAAO,CAAC,+CAA+C,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IACnF,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,KAA2B,EAC3B,IAA2B,EAC3B,OAAoD,EACpD,KAAwB;QAExB,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC5E,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,OAAO,CAAC,4CAA4C,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QACrG,CAAC;QACD,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,KAAK,2BAA2B,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAA;QAC5G,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,EAAE;YAChD,MAAM,EAAE,GAAG,UAAU,IAAI,IAAI,CAAC,EAAE,IAAI,UAAU,EAAE,EAAE;SACnD,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AA5RY,kBAAkB;IAF9B,UAAU,EAAE;IACZ,6BAA6B,EAAE;IAQ3B,WAAA,QAAQ,EAAE,CAAA;qCALe,+BAA+B;QAChC,wBAAwB;QACpB,sBAAsB;QACrB,oBAAoB;QACxB,0BAA0B;QACN,6BAA6B;GAPlE,kBAAkB,CA4R9B;;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAgB;IACnD,OAAO,MAAM;SACV,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,6BAA6B,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnG,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAgB,EAAE,QAAgB;IAC5E,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC/C,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC3E,IAAI,UAAU,GAAG,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,QAAQ,MAAM,CAAC,CAAA;IAC1E,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,kCAAkC,CAAC,MAAgB;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEpC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACvE,OAAO,GAAG,GAAG,UAAU,CAAC,MAAM,CAAA;IAChC,CAAC,EAAE,CAAC,CAAC,CAAA;IAEL,OAAO,UAAU,GAAG,GAAG,CAAA;AACzB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAa;IAC9C,OAAO,KAAK;SACT,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC;SAC5C,OAAO,CAAC,kCAAkC,EAAE,EAAE,CAAC;SAC/C,IAAI,EAAE,CAAA;AACX,CAAC;AAED,SAAS,cAAc,CAAC,KAAoB;IAC1C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;IAC3C,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,cAAc,CAAC,IAAkD;IACxE,OAAO;QACL,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QACvD,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC;KAC1D,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CACrB,GAAmF;IAEnF,OAAO;QACL,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY;QACvE,aAAa,EAAE,GAAG,CAAC,EAAE,EAAE,iBAAiB,EAAE,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC;KAChF,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO;QACL,SAAS,EAAE,+BAA+B;QAC1C,YAAY,EAAE,eAAe,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;KACtF,CAAA;AACH,CAAC;AAED,MAAM,0BAA0B,GAAqC;IACnE,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,oBAAoB;IACzB,IAAI,EAAE,yEAAyE;IAC/E,GAAG,EAAE,0BAA0B;IAC/B,IAAI,EAAE,mEAAmE;IACzE,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,YAAY;CACnB,CAAA;AAED,SAAS,cAAc,CAAC,IAAsC;IAC5D,OAAO,IAAI,CAAC,YAAY,KAAK,mBAAmB,IAAI,IAAI,CAAC,YAAY,KAAK,mBAAmB,CAAA;AAC/F,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { DataSource } from 'typeorm';
|
|
2
|
+
import { type RequestScope, type SupplierPackingDraftRow } from '../types.js';
|
|
3
|
+
export type SupplierPackingLineDto = {
|
|
4
|
+
id: string;
|
|
5
|
+
lineIndex: number;
|
|
6
|
+
model: string | null;
|
|
7
|
+
normalizedModel: string | null;
|
|
8
|
+
description: string | null;
|
|
9
|
+
role: string | null;
|
|
10
|
+
qty: string | null;
|
|
11
|
+
cartons: string | null;
|
|
12
|
+
dimensionCm: string | null;
|
|
13
|
+
grossWeightPerCtnKg: string | null;
|
|
14
|
+
battery: string | null;
|
|
15
|
+
boxVolumeCbm: string | null;
|
|
16
|
+
totalVolumeCbm: string | null;
|
|
17
|
+
totalGrossWeightKg: string | null;
|
|
18
|
+
purchaseOrderLineId: string | null;
|
|
19
|
+
row: number;
|
|
20
|
+
};
|
|
21
|
+
export type SupplierPackingImportResult = {
|
|
22
|
+
packing: {
|
|
23
|
+
id: string;
|
|
24
|
+
purchaseOrderId: string;
|
|
25
|
+
revision: number;
|
|
26
|
+
fileName: string;
|
|
27
|
+
importedAt: string;
|
|
28
|
+
};
|
|
29
|
+
task: {
|
|
30
|
+
id: string;
|
|
31
|
+
status: string;
|
|
32
|
+
};
|
|
33
|
+
rows: SupplierPackingLineDto[];
|
|
34
|
+
warnings: string[];
|
|
35
|
+
matchedCount: number;
|
|
36
|
+
unmatchedCount: number;
|
|
37
|
+
};
|
|
38
|
+
export type SupplierPackingView = {
|
|
39
|
+
packing: {
|
|
40
|
+
id: string;
|
|
41
|
+
purchaseOrderId: string;
|
|
42
|
+
revision: number;
|
|
43
|
+
fileName: string;
|
|
44
|
+
importedAt: string;
|
|
45
|
+
importedById: string | null;
|
|
46
|
+
} | null;
|
|
47
|
+
lines: SupplierPackingLineDto[];
|
|
48
|
+
purchaseLines: Array<{
|
|
49
|
+
id: string;
|
|
50
|
+
lineNumber: number;
|
|
51
|
+
productName: string;
|
|
52
|
+
englishName: string | null;
|
|
53
|
+
modelSpecification: string | null;
|
|
54
|
+
quantity: string;
|
|
55
|
+
}>;
|
|
56
|
+
};
|
|
57
|
+
/** 供应商装箱单:1 个采购合同 1 份。行数据由 Xpert 平台专家识别后经工具保存,本服务负责校验、合同内匹配采购行、整份覆盖(revision 递增)并完结导入任务。 */
|
|
58
|
+
export declare class SupplierPackingService {
|
|
59
|
+
private readonly dataSource;
|
|
60
|
+
constructor(dataSource: DataSource);
|
|
61
|
+
importSupplierPackingDraft(scope: RequestScope, input: {
|
|
62
|
+
importTaskId: string;
|
|
63
|
+
purchaseOrderId: string;
|
|
64
|
+
rows: SupplierPackingDraftRow[];
|
|
65
|
+
}): Promise<SupplierPackingImportResult>;
|
|
66
|
+
getPurchasePacking(scope: RequestScope, purchaseOrderId: string): Promise<SupplierPackingView>;
|
|
67
|
+
bindSupplierPackingLine(scope: RequestScope, input: {
|
|
68
|
+
lineId: string;
|
|
69
|
+
purchaseOrderLineId: string | null;
|
|
70
|
+
}): Promise<SupplierPackingLineDto>;
|
|
71
|
+
/** 生成销售文件前判断装箱数据是否可用:存在且至少一行绑定到采购行。 */
|
|
72
|
+
hasUsablePacking(scope: RequestScope, purchaseOrderId: string): Promise<boolean>;
|
|
73
|
+
}
|
|
74
|
+
export declare function normalizeModelKey(value: string | null | undefined): string | null;
|
|
75
|
+
//# sourceMappingURL=supplier-packing.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supplier-packing.service.d.ts","sourceRoot":"","sources":["../../../src/lib/packing/supplier-packing.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
+
import { Injectable } from '@nestjs/common';
|
|
3
|
+
import { InjectDataSource } from '@nestjs/typeorm';
|
|
4
|
+
import { DataSource, IsNull } from 'typeorm';
|
|
5
|
+
import { ImportTask, PurchaseOrder, PurchaseOrderLine, SupplierPacking, SupplierPackingLine } from '../entities/index.js';
|
|
6
|
+
import { DomainError, DomainErrorCodes } from '../types.js';
|
|
7
|
+
/** 供应商装箱单:1 个采购合同 1 份。行数据由 Xpert 平台专家识别后经工具保存,本服务负责校验、合同内匹配采购行、整份覆盖(revision 递增)并完结导入任务。 */
|
|
8
|
+
let SupplierPackingService = class SupplierPackingService {
|
|
9
|
+
constructor(dataSource) {
|
|
10
|
+
this.dataSource = dataSource;
|
|
11
|
+
}
|
|
12
|
+
async importSupplierPackingDraft(scope, input) {
|
|
13
|
+
const purchaseOrder = await this.dataSource.getRepository(PurchaseOrder).findOne({ where: { ...scoped(scope), id: input.purchaseOrderId, deletedAt: IsNull() } });
|
|
14
|
+
if (!purchaseOrder)
|
|
15
|
+
throw new DomainError(DomainErrorCodes.NOT_FOUND, '采购合同不存在', { purchaseOrderId: input.purchaseOrderId });
|
|
16
|
+
const warnings = [];
|
|
17
|
+
const rows = input.rows
|
|
18
|
+
.map((row, index) => prepareDraftRow(row, index, warnings))
|
|
19
|
+
.filter((row) => row != null);
|
|
20
|
+
if (!rows.length)
|
|
21
|
+
throw new DomainError(DomainErrorCodes.INVALID_INPUT, '装箱数据为空:每一行至少需要型号或数量,请核对提取结果');
|
|
22
|
+
const purchaseLines = await this.dataSource.getRepository(PurchaseOrderLine).find({ where: { ...scoped(scope), purchaseOrderId: input.purchaseOrderId, deletedAt: IsNull() }, order: { lineNumber: 'ASC' } });
|
|
23
|
+
const { bindings, matchWarnings } = bindRowsToPurchaseLines(rows, purchaseLines);
|
|
24
|
+
warnings.push(...matchWarnings);
|
|
25
|
+
const matchedCount = bindings.filter(binding => binding.purchaseOrderLineId).length;
|
|
26
|
+
const unmatchedCount = bindings.length - matchedCount;
|
|
27
|
+
const result = await this.dataSource.transaction(async (manager) => {
|
|
28
|
+
const taskRepo = manager.getRepository(ImportTask);
|
|
29
|
+
const task = await taskRepo.findOne({ where: { ...scoped(scope), id: input.importTaskId }, lock: { mode: 'pessimistic_write' } });
|
|
30
|
+
if (!task)
|
|
31
|
+
throw new DomainError(DomainErrorCodes.NOT_FOUND, '解析任务不存在', { importTaskId: input.importTaskId });
|
|
32
|
+
if (task.documentType !== 'SUPPLIER_PACKING')
|
|
33
|
+
throw new DomainError(DomainErrorCodes.INVALID_INPUT, '解析任务类型与装箱数据不匹配', { importTaskId: input.importTaskId, documentType: task.documentType });
|
|
34
|
+
const packingRepo = manager.getRepository(SupplierPacking);
|
|
35
|
+
const lineRepo = manager.getRepository(SupplierPackingLine);
|
|
36
|
+
const existing = await packingRepo.findOne({ where: { ...scoped(scope), purchaseOrderId: input.purchaseOrderId, deletedAt: IsNull() } });
|
|
37
|
+
const revision = existing ? existing.revision + 1 : 1;
|
|
38
|
+
const now = new Date();
|
|
39
|
+
if (existing) {
|
|
40
|
+
const mark = { deletedAt: now, deletedById: scope.userId ?? null, deleteOperation: 'PACKING_REPLACE' };
|
|
41
|
+
await lineRepo.update({ packingId: existing.id }, mark);
|
|
42
|
+
await packingRepo.update(existing.id, mark);
|
|
43
|
+
}
|
|
44
|
+
const packing = await packingRepo.save(packingRepo.create({
|
|
45
|
+
tenantId: scope.tenantId, organizationId: scope.organizationId, createdById: scope.userId ?? null, updatedById: scope.userId ?? null,
|
|
46
|
+
purchaseOrderId: input.purchaseOrderId, revision, fileName: task.sourceFileName, sourceFileId: task.sourceFileId, importedById: scope.userId ?? null,
|
|
47
|
+
deletedAt: null, deletedById: null, deleteOperation: null
|
|
48
|
+
}));
|
|
49
|
+
const lines = await lineRepo.save(bindings.map((binding, index) => lineRepo.create({
|
|
50
|
+
tenantId: scope.tenantId, organizationId: scope.organizationId, createdById: scope.userId ?? null, updatedById: scope.userId ?? null,
|
|
51
|
+
packingId: packing.id, purchaseOrderId: input.purchaseOrderId, purchaseOrderLineId: binding.purchaseOrderLineId, lineIndex: index,
|
|
52
|
+
model: binding.row.model, normalizedModel: normalizeModelKey(binding.row.model), description: binding.row.description, role: binding.row.role,
|
|
53
|
+
qty: numberToString(binding.row.qty), cartons: numberToString(binding.row.cartons), dimensionCm: binding.row.dimensionCm,
|
|
54
|
+
grossWeightPerCtnKg: numberToString(binding.row.grossWeightPerCtnKg), battery: binding.row.battery,
|
|
55
|
+
boxVolumeCbm: numberToString(binding.row.boxVolumeCbm), totalVolumeCbm: numberToString(binding.row.totalVolumeCbm), totalGrossWeightKg: numberToString(binding.row.totalGrossWeightKg),
|
|
56
|
+
deletedAt: null, deletedById: null, deleteOperation: null
|
|
57
|
+
})));
|
|
58
|
+
task.status = 'SUCCEEDED';
|
|
59
|
+
task.resultPayload = { purchaseOrderId: input.purchaseOrderId, revision, rowCount: rows.length, matchedCount, unmatchedCount, warnings };
|
|
60
|
+
task.resultPayloadVersion = 'SUPPLIER_PACKING_RESULT_V1';
|
|
61
|
+
task.completedAt = now;
|
|
62
|
+
const savedTask = await taskRepo.save(task);
|
|
63
|
+
return { packing, lines: lines, task: savedTask };
|
|
64
|
+
});
|
|
65
|
+
return {
|
|
66
|
+
packing: { id: result.packing.id, purchaseOrderId: input.purchaseOrderId, revision: result.packing.revision, fileName: result.packing.fileName, importedAt: result.packing.createdAt.toISOString() },
|
|
67
|
+
task: { id: result.task.id, status: result.task.status },
|
|
68
|
+
rows: result.lines.map((line, index) => packingLineDto(line, bindings[index]?.row.sourceRow ?? index + 1)),
|
|
69
|
+
warnings,
|
|
70
|
+
matchedCount,
|
|
71
|
+
unmatchedCount
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
async getPurchasePacking(scope, purchaseOrderId) {
|
|
75
|
+
const packing = await this.dataSource.getRepository(SupplierPacking).findOne({ where: { ...scoped(scope), purchaseOrderId, deletedAt: IsNull() } });
|
|
76
|
+
const lines = packing ? await this.dataSource.getRepository(SupplierPackingLine).find({ where: { ...scoped(scope), packingId: packing.id, deletedAt: IsNull() }, order: { lineIndex: 'ASC' } }) : [];
|
|
77
|
+
const purchaseLines = await this.dataSource.getRepository(PurchaseOrderLine).find({ where: { ...scoped(scope), purchaseOrderId, deletedAt: IsNull() }, order: { lineNumber: 'ASC' } });
|
|
78
|
+
return {
|
|
79
|
+
packing: packing ? { id: packing.id, purchaseOrderId: packing.purchaseOrderId, revision: packing.revision, fileName: packing.fileName, importedAt: packing.createdAt.toISOString(), importedById: packing.importedById } : null,
|
|
80
|
+
lines: lines.map(line => packingLineDto(line)),
|
|
81
|
+
purchaseLines: purchaseLines.map(line => ({ id: line.id, lineNumber: line.lineNumber, productName: line.productName, englishName: line.englishName, modelSpecification: line.modelSpecification, quantity: line.quantity }))
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
async bindSupplierPackingLine(scope, input) {
|
|
85
|
+
const line = await this.dataSource.getRepository(SupplierPackingLine).findOne({ where: { ...scoped(scope), id: input.lineId, deletedAt: IsNull() } });
|
|
86
|
+
if (!line)
|
|
87
|
+
throw new DomainError(DomainErrorCodes.NOT_FOUND, '装箱行不存在', { lineId: input.lineId });
|
|
88
|
+
if (input.purchaseOrderLineId) {
|
|
89
|
+
const purchaseLine = await this.dataSource.getRepository(PurchaseOrderLine).findOne({ where: { ...scoped(scope), id: input.purchaseOrderLineId, deletedAt: IsNull() } });
|
|
90
|
+
if (!purchaseLine || purchaseLine.purchaseOrderId !== line.purchaseOrderId)
|
|
91
|
+
throw new DomainError(DomainErrorCodes.INVALID_INPUT, '只能绑定同一采购合同下的商品行', { lineId: input.lineId, purchaseOrderLineId: input.purchaseOrderLineId });
|
|
92
|
+
}
|
|
93
|
+
line.purchaseOrderLineId = input.purchaseOrderLineId;
|
|
94
|
+
line.updatedById = scope.userId ?? null;
|
|
95
|
+
const saved = await this.dataSource.getRepository(SupplierPackingLine).save(line);
|
|
96
|
+
return packingLineDto(saved);
|
|
97
|
+
}
|
|
98
|
+
/** 生成销售文件前判断装箱数据是否可用:存在且至少一行绑定到采购行。 */
|
|
99
|
+
async hasUsablePacking(scope, purchaseOrderId) {
|
|
100
|
+
const packing = await this.dataSource.getRepository(SupplierPacking).findOne({ where: { ...scoped(scope), purchaseOrderId, deletedAt: IsNull() } });
|
|
101
|
+
if (!packing)
|
|
102
|
+
return false;
|
|
103
|
+
const bound = await this.dataSource.getRepository(SupplierPackingLine).count({ where: { ...scoped(scope), packingId: packing.id, deletedAt: IsNull() } });
|
|
104
|
+
return bound > 0;
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
SupplierPackingService = __decorate([
|
|
108
|
+
Injectable(),
|
|
109
|
+
__param(0, InjectDataSource()),
|
|
110
|
+
__metadata("design:paramtypes", [DataSource])
|
|
111
|
+
], SupplierPackingService);
|
|
112
|
+
export { SupplierPackingService };
|
|
113
|
+
function prepareDraftRow(row, index, warnings) {
|
|
114
|
+
const model = textOrNull(row.model);
|
|
115
|
+
const description = textOrNull(row.description);
|
|
116
|
+
const qty = finiteOrNull(row.qty);
|
|
117
|
+
const cartons = finiteOrNull(row.cartons);
|
|
118
|
+
const weight = finiteOrNull(row.grossWeightPerCtnKg);
|
|
119
|
+
if (!model && qty == null && !description && cartons == null)
|
|
120
|
+
return null;
|
|
121
|
+
if (!model && qty == null) {
|
|
122
|
+
warnings.push(`第 ${index + 1} 行缺少型号和数量,该行已跳过`);
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
const dimension = parseDimensionCm(row.dimensionCm);
|
|
126
|
+
if (dimension?.warning)
|
|
127
|
+
warnings.push(`第 ${index + 1} 行${dimension.warning}`);
|
|
128
|
+
if (cartons != null && cartons <= 0)
|
|
129
|
+
warnings.push(`第 ${index + 1} 行箱数小于等于 0,请核对`);
|
|
130
|
+
const boxVolumeCbm = dimension?.volumeCbm ?? null;
|
|
131
|
+
return {
|
|
132
|
+
model, description, role: normalizeRole(row.role, description),
|
|
133
|
+
qty, cartons, dimensionCm: dimension?.text ?? null, grossWeightPerCtnKg: weight,
|
|
134
|
+
battery: textOrNull(row.battery), boxVolumeCbm,
|
|
135
|
+
totalVolumeCbm: boxVolumeCbm != null && cartons != null ? round6(boxVolumeCbm * cartons) : null,
|
|
136
|
+
totalGrossWeightKg: weight != null && cartons != null ? round6(weight * cartons) : null,
|
|
137
|
+
sourceRow: index + 1
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/** 合同内按归一化型号匹配采购行;一行采购行可承载多条装箱行(整机/boom/配件),数量合计不一致仅告警。 */
|
|
141
|
+
function bindRowsToPurchaseLines(rows, purchaseLines) {
|
|
142
|
+
const byKey = new Map();
|
|
143
|
+
for (const line of purchaseLines) {
|
|
144
|
+
const key = normalizeModelKey(line.englishName) ?? normalizeModelKey(line.modelSpecification) ?? normalizeModelKey(line.productName);
|
|
145
|
+
if (!key)
|
|
146
|
+
continue;
|
|
147
|
+
byKey.set(key, [...(byKey.get(key) ?? []), line]);
|
|
148
|
+
}
|
|
149
|
+
const matchWarnings = [];
|
|
150
|
+
const bindings = rows.map(row => {
|
|
151
|
+
const key = normalizeModelKey(row.model);
|
|
152
|
+
const candidates = key ? byKey.get(key) ?? [] : [];
|
|
153
|
+
if (!candidates.length)
|
|
154
|
+
return { row, purchaseOrderLineId: null };
|
|
155
|
+
if (candidates.length > 1)
|
|
156
|
+
matchWarnings.push(`第 ${row.sourceRow} 行型号对应 ${candidates.length} 条采购行,已绑定第 ${candidates[0].lineNumber} 行,请人工核对`);
|
|
157
|
+
return { row, purchaseOrderLineId: candidates[0].id };
|
|
158
|
+
});
|
|
159
|
+
const qtyByLine = new Map();
|
|
160
|
+
for (const binding of bindings) {
|
|
161
|
+
if (!binding.purchaseOrderLineId || binding.row.qty == null)
|
|
162
|
+
continue;
|
|
163
|
+
qtyByLine.set(binding.purchaseOrderLineId, (qtyByLine.get(binding.purchaseOrderLineId) ?? 0) + binding.row.qty);
|
|
164
|
+
}
|
|
165
|
+
for (const [purchaseOrderLineId, total] of qtyByLine) {
|
|
166
|
+
const line = purchaseLines.find(item => item.id === purchaseOrderLineId);
|
|
167
|
+
if (line && Math.abs(Number(line.quantity) - total) > 0.0001)
|
|
168
|
+
matchWarnings.push(`采购行 ${line.lineNumber}(${line.englishName ?? line.productName})装箱数量合计 ${trimNumber(total)} 与采购数量 ${trimNumber(Number(line.quantity))} 不一致,请核对`);
|
|
169
|
+
}
|
|
170
|
+
return { bindings, matchWarnings };
|
|
171
|
+
}
|
|
172
|
+
function normalizeRole(role, description) {
|
|
173
|
+
const explicit = String(role ?? '').trim().toUpperCase();
|
|
174
|
+
if (explicit === 'MAIN' || explicit === 'BOOM' || explicit === 'PART')
|
|
175
|
+
return explicit;
|
|
176
|
+
const text = (description ?? '').toLowerCase();
|
|
177
|
+
if (/boom|闸杆/.test(text))
|
|
178
|
+
return 'BOOM';
|
|
179
|
+
if (/part|配件|备件/.test(text))
|
|
180
|
+
return 'PART';
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
function parseDimensionCm(value) {
|
|
184
|
+
const raw = String(value ?? '').trim();
|
|
185
|
+
if (!raw)
|
|
186
|
+
return null;
|
|
187
|
+
const numbers = raw.split(/[*/×xX]\s*/).map(part => Number(part.replace(/[\s,,]/g, ''))).filter(part => Number.isFinite(part) && part > 0);
|
|
188
|
+
if (!numbers.length)
|
|
189
|
+
return { text: raw, volumeCbm: null, warning: '尺寸无法解析,体积未计算' };
|
|
190
|
+
const text = numbers.join('*');
|
|
191
|
+
if (numbers.length < 3)
|
|
192
|
+
return { text, volumeCbm: null, warning: '尺寸不足长宽高三个数值,体积未计算' };
|
|
193
|
+
return { text, volumeCbm: round6((numbers[0] * numbers[1] * numbers[2]) / 1_000_000) };
|
|
194
|
+
}
|
|
195
|
+
export function normalizeModelKey(value) {
|
|
196
|
+
const text = String(value ?? '').trim().toLowerCase();
|
|
197
|
+
if (!text)
|
|
198
|
+
return null;
|
|
199
|
+
return text.replace(/\s+/g, '').replace(/[/\\\-_.·()()]/g, '') || null;
|
|
200
|
+
}
|
|
201
|
+
function packingLineDto(line, row) {
|
|
202
|
+
return {
|
|
203
|
+
id: line.id, lineIndex: line.lineIndex, row: row ?? line.lineIndex + 1,
|
|
204
|
+
model: line.model, normalizedModel: line.normalizedModel, description: line.description, role: line.role,
|
|
205
|
+
qty: line.qty, cartons: line.cartons, dimensionCm: line.dimensionCm, grossWeightPerCtnKg: line.grossWeightPerCtnKg,
|
|
206
|
+
battery: line.battery, boxVolumeCbm: line.boxVolumeCbm, totalVolumeCbm: line.totalVolumeCbm, totalGrossWeightKg: line.totalGrossWeightKg,
|
|
207
|
+
purchaseOrderLineId: line.purchaseOrderLineId
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
function textOrNull(value) {
|
|
211
|
+
const text = String(value ?? '').trim();
|
|
212
|
+
return text || null;
|
|
213
|
+
}
|
|
214
|
+
function finiteOrNull(value) {
|
|
215
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : null;
|
|
216
|
+
}
|
|
217
|
+
function numberToString(value) {
|
|
218
|
+
return value == null ? null : String(round6(value));
|
|
219
|
+
}
|
|
220
|
+
function trimNumber(value) {
|
|
221
|
+
return String(Math.round(value * 1_000_000) / 1_000_000);
|
|
222
|
+
}
|
|
223
|
+
function round6(value) {
|
|
224
|
+
return Math.round(value * 1_000_000) / 1_000_000;
|
|
225
|
+
}
|
|
226
|
+
function scoped(scope) {
|
|
227
|
+
return { tenantId: scope.tenantId, organizationId: scope.organizationId };
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=supplier-packing.service.js.map
|