@chenchaolong/plugin-trade-compliance-workbench 0.1.73 → 1.0.0

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.
Files changed (180) hide show
  1. package/README.md +41 -22
  2. package/dist/assets/templates/CI.xlsx +0 -0
  3. package/dist/assets/templates/CUSTOMS_DECLARATION.xlsx +0 -0
  4. package/dist/assets/templates/PI.xlsx +0 -0
  5. package/dist/assets/templates/PL.xlsx +0 -0
  6. package/dist/index.d.ts +115 -228
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +19 -108
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/{document-text-extractor.d.ts → adapters/document-text-extractor.d.ts} +2 -2
  11. package/dist/lib/adapters/document-text-extractor.d.ts.map +1 -0
  12. package/dist/lib/{document-text-extractor.js → adapters/document-text-extractor.js} +8 -2
  13. package/dist/lib/adapters/document-text-extractor.js.map +1 -0
  14. package/dist/lib/adapters/file-storage.d.ts +9 -0
  15. package/dist/lib/adapters/file-storage.d.ts.map +1 -0
  16. package/dist/lib/adapters/file-storage.js +37 -0
  17. package/dist/lib/adapters/file-storage.js.map +1 -0
  18. package/dist/lib/{trade-compliance.enrichment.d.ts → adapters/hsbianma.provider.d.ts} +6 -6
  19. package/dist/lib/adapters/hsbianma.provider.d.ts.map +1 -0
  20. package/dist/lib/{trade-compliance.enrichment.js → adapters/hsbianma.provider.js} +1 -1
  21. package/dist/lib/adapters/hsbianma.provider.js.map +1 -0
  22. package/dist/lib/adapters/translation.provider.d.ts +4 -0
  23. package/dist/lib/adapters/translation.provider.d.ts.map +1 -0
  24. package/dist/lib/adapters/translation.provider.js +35 -0
  25. package/dist/lib/adapters/translation.provider.js.map +1 -0
  26. package/dist/lib/constants.d.ts +17 -11
  27. package/dist/lib/constants.d.ts.map +1 -1
  28. package/dist/lib/constants.js +17 -21
  29. package/dist/lib/constants.js.map +1 -1
  30. package/dist/lib/domain/contract-number.d.ts +14 -0
  31. package/dist/lib/domain/contract-number.d.ts.map +1 -0
  32. package/dist/lib/domain/contract-number.js +36 -0
  33. package/dist/lib/domain/contract-number.js.map +1 -0
  34. package/dist/lib/domain/default-settings.d.ts +28 -0
  35. package/dist/lib/domain/default-settings.d.ts.map +1 -0
  36. package/dist/lib/domain/default-settings.js +16 -0
  37. package/dist/lib/domain/default-settings.js.map +1 -0
  38. package/dist/lib/domain/finance.d.ts +37 -0
  39. package/dist/lib/domain/finance.d.ts.map +1 -0
  40. package/dist/lib/domain/finance.js +60 -0
  41. package/dist/lib/domain/finance.js.map +1 -0
  42. package/dist/lib/domain/import-issues.d.ts +10 -0
  43. package/dist/lib/domain/import-issues.d.ts.map +1 -0
  44. package/dist/lib/domain/import-issues.js +23 -0
  45. package/dist/lib/domain/import-issues.js.map +1 -0
  46. package/dist/lib/domain/normalization.d.ts +8 -0
  47. package/dist/lib/domain/normalization.d.ts.map +1 -0
  48. package/dist/lib/domain/normalization.js +50 -0
  49. package/dist/lib/domain/normalization.js.map +1 -0
  50. package/dist/lib/domain/workflow.d.ts +4 -0
  51. package/dist/lib/domain/workflow.d.ts.map +1 -0
  52. package/dist/lib/domain/workflow.js +14 -0
  53. package/dist/lib/domain/workflow.js.map +1 -0
  54. package/dist/lib/entities/base.d.ts +20 -0
  55. package/dist/lib/entities/base.d.ts.map +1 -0
  56. package/dist/lib/entities/base.js +51 -0
  57. package/dist/lib/entities/base.js.map +1 -0
  58. package/dist/lib/entities/catalog.entity.d.ts +80 -0
  59. package/dist/lib/entities/catalog.entity.d.ts.map +1 -0
  60. package/dist/lib/entities/catalog.entity.js +308 -0
  61. package/dist/lib/entities/catalog.entity.js.map +1 -0
  62. package/dist/lib/entities/customer.entity.d.ts +72 -0
  63. package/dist/lib/entities/customer.entity.d.ts.map +1 -0
  64. package/dist/lib/entities/customer.entity.js +276 -0
  65. package/dist/lib/entities/customer.entity.js.map +1 -0
  66. package/dist/lib/entities/index.d.ts +12 -6
  67. package/dist/lib/entities/index.d.ts.map +1 -1
  68. package/dist/lib/entities/index.js +20 -7
  69. package/dist/lib/entities/index.js.map +1 -1
  70. package/dist/lib/entities/procurement.entity.d.ts +99 -0
  71. package/dist/lib/entities/procurement.entity.d.ts.map +1 -0
  72. package/dist/lib/entities/procurement.entity.js +386 -0
  73. package/dist/lib/entities/procurement.entity.js.map +1 -0
  74. package/dist/lib/entities/settings.entity.d.ts +64 -0
  75. package/dist/lib/entities/settings.entity.d.ts.map +1 -0
  76. package/dist/lib/entities/settings.entity.js +243 -0
  77. package/dist/lib/entities/settings.entity.js.map +1 -0
  78. package/dist/lib/entities/shared.entity.d.ts +40 -0
  79. package/dist/lib/entities/shared.entity.d.ts.map +1 -0
  80. package/dist/lib/entities/shared.entity.js +149 -0
  81. package/dist/lib/entities/shared.entity.js.map +1 -0
  82. package/dist/lib/remote-components/trade-compliance-workbench/app.js +245 -2677
  83. package/dist/lib/remote-components/trade-compliance-workbench/editor-source.mjs +53 -0
  84. package/dist/lib/remote-components/trade-compliance-workbench/editor.css +1 -0
  85. package/dist/lib/remote-components/trade-compliance-workbench/editor.js +533 -0
  86. package/dist/lib/sales-file.service.d.ts +29 -0
  87. package/dist/lib/sales-file.service.d.ts.map +1 -0
  88. package/dist/lib/sales-file.service.js +300 -0
  89. package/dist/lib/sales-file.service.js.map +1 -0
  90. package/dist/lib/trade-compliance.config.d.ts +94 -187
  91. package/dist/lib/trade-compliance.config.d.ts.map +1 -1
  92. package/dist/lib/trade-compliance.config.js +12 -96
  93. package/dist/lib/trade-compliance.config.js.map +1 -1
  94. package/dist/lib/types.d.ts +104 -1
  95. package/dist/lib/types.d.ts.map +1 -1
  96. package/dist/lib/types.js +47 -1
  97. package/dist/lib/types.js.map +1 -1
  98. package/dist/lib/workbench-view.provider.d.ts +276 -0
  99. package/dist/lib/workbench-view.provider.d.ts.map +1 -0
  100. package/dist/lib/workbench-view.provider.js +222 -0
  101. package/dist/lib/workbench-view.provider.js.map +1 -0
  102. package/dist/lib/workbench.middleware.d.ts +351 -0
  103. package/dist/lib/workbench.middleware.d.ts.map +1 -0
  104. package/dist/lib/workbench.middleware.js +48 -0
  105. package/dist/lib/workbench.middleware.js.map +1 -0
  106. package/dist/lib/workbench.plugin.d.ts +5 -0
  107. package/dist/lib/workbench.plugin.d.ts.map +1 -0
  108. package/dist/lib/workbench.plugin.js +24 -0
  109. package/dist/lib/workbench.plugin.js.map +1 -0
  110. package/dist/lib/workbench.service.d.ts +257 -0
  111. package/dist/lib/workbench.service.d.ts.map +1 -0
  112. package/dist/lib/workbench.service.js +755 -0
  113. package/dist/lib/workbench.service.js.map +1 -0
  114. package/package.json +19 -25
  115. package/dist/assets/customs-workbook-template.xls +0 -0
  116. package/dist/lib/controlled-goods-extracted-text-store.d.ts +0 -29
  117. package/dist/lib/controlled-goods-extracted-text-store.d.ts.map +0 -1
  118. package/dist/lib/controlled-goods-extracted-text-store.js +0 -42
  119. package/dist/lib/controlled-goods-extracted-text-store.js.map +0 -1
  120. package/dist/lib/controlled-goods-file-parser.d.ts +0 -9
  121. package/dist/lib/controlled-goods-file-parser.d.ts.map +0 -1
  122. package/dist/lib/controlled-goods-file-parser.js +0 -298
  123. package/dist/lib/controlled-goods-file-parser.js.map +0 -1
  124. package/dist/lib/document-text-extractor.d.ts.map +0 -1
  125. package/dist/lib/document-text-extractor.js.map +0 -1
  126. package/dist/lib/entities/controlled-goods-record.entity.d.ts +0 -5
  127. package/dist/lib/entities/controlled-goods-record.entity.d.ts.map +0 -1
  128. package/dist/lib/entities/controlled-goods-record.entity.js +0 -68
  129. package/dist/lib/entities/controlled-goods-record.entity.js.map +0 -1
  130. package/dist/lib/entities/customs-workbook-generation.entity.d.ts +0 -5
  131. package/dist/lib/entities/customs-workbook-generation.entity.d.ts.map +0 -1
  132. package/dist/lib/entities/customs-workbook-generation.entity.js +0 -72
  133. package/dist/lib/entities/customs-workbook-generation.entity.js.map +0 -1
  134. package/dist/lib/entities/trade-compliance-import-batch.entity.d.ts +0 -5
  135. package/dist/lib/entities/trade-compliance-import-batch.entity.d.ts.map +0 -1
  136. package/dist/lib/entities/trade-compliance-import-batch.entity.js +0 -60
  137. package/dist/lib/entities/trade-compliance-import-batch.entity.js.map +0 -1
  138. package/dist/lib/entities/trade-compliance-review-item.entity.d.ts +0 -5
  139. package/dist/lib/entities/trade-compliance-review-item.entity.d.ts.map +0 -1
  140. package/dist/lib/entities/trade-compliance-review-item.entity.js +0 -84
  141. package/dist/lib/entities/trade-compliance-review-item.entity.js.map +0 -1
  142. package/dist/lib/entities/trade-product.entity.d.ts +0 -5
  143. package/dist/lib/entities/trade-product.entity.d.ts.map +0 -1
  144. package/dist/lib/entities/trade-product.entity.js +0 -105
  145. package/dist/lib/entities/trade-product.entity.js.map +0 -1
  146. package/dist/lib/entities/trade-supplier.entity.d.ts +0 -5
  147. package/dist/lib/entities/trade-supplier.entity.d.ts.map +0 -1
  148. package/dist/lib/entities/trade-supplier.entity.js +0 -55
  149. package/dist/lib/entities/trade-supplier.entity.js.map +0 -1
  150. package/dist/lib/trade-compliance-workbench-view.provider.d.ts +0 -129
  151. package/dist/lib/trade-compliance-workbench-view.provider.d.ts.map +0 -1
  152. package/dist/lib/trade-compliance-workbench-view.provider.js +0 -863
  153. package/dist/lib/trade-compliance-workbench-view.provider.js.map +0 -1
  154. package/dist/lib/trade-compliance-workbench.middleware.d.ts +0 -485
  155. package/dist/lib/trade-compliance-workbench.middleware.d.ts.map +0 -1
  156. package/dist/lib/trade-compliance-workbench.middleware.js +0 -494
  157. package/dist/lib/trade-compliance-workbench.middleware.js.map +0 -1
  158. package/dist/lib/trade-compliance-workbench.plugin.d.ts +0 -11
  159. package/dist/lib/trade-compliance-workbench.plugin.d.ts.map +0 -1
  160. package/dist/lib/trade-compliance-workbench.plugin.js +0 -39
  161. package/dist/lib/trade-compliance-workbench.plugin.js.map +0 -1
  162. package/dist/lib/trade-compliance-workbench.service.d.ts +0 -33
  163. package/dist/lib/trade-compliance-workbench.service.d.ts.map +0 -1
  164. package/dist/lib/trade-compliance-workbench.service.js +0 -369
  165. package/dist/lib/trade-compliance-workbench.service.js.map +0 -1
  166. package/dist/lib/trade-compliance-workbench.templates.d.ts +0 -31
  167. package/dist/lib/trade-compliance-workbench.templates.d.ts.map +0 -1
  168. package/dist/lib/trade-compliance-workbench.templates.js +0 -60
  169. package/dist/lib/trade-compliance-workbench.templates.js.map +0 -1
  170. package/dist/lib/trade-compliance-workbook.d.ts +0 -28
  171. package/dist/lib/trade-compliance-workbook.d.ts.map +0 -1
  172. package/dist/lib/trade-compliance-workbook.js +0 -635
  173. package/dist/lib/trade-compliance-workbook.js.map +0 -1
  174. package/dist/lib/trade-compliance.enrichment.d.ts.map +0 -1
  175. package/dist/lib/trade-compliance.enrichment.js.map +0 -1
  176. package/dist/lib/trade-compliance.matching.d.ts +0 -10
  177. package/dist/lib/trade-compliance.matching.d.ts.map +0 -1
  178. package/dist/lib/trade-compliance.matching.js +0 -63
  179. package/dist/lib/trade-compliance.matching.js.map +0 -1
  180. package/dist/xpert-trade-compliance-workbench-assistant.yaml +0 -27
@@ -1,369 +0,0 @@
1
- // @ts-nocheck
2
- import { __decorate, __metadata, __param } from "tslib";
3
- import { ConflictException, Injectable, NotFoundException } from '@nestjs/common';
4
- import { InjectRepository } from '@nestjs/typeorm';
5
- import { ControlledGoodsRecord, CustomsWorkbookGeneration, TradeComplianceImportBatch, TradeComplianceReviewItem, TradeProduct, TradeSupplier } from './entities/index.js';
6
- let TradeComplianceWorkbenchService = class TradeComplianceWorkbenchService {
7
- constructor(batchRepository, reviewItemRepository, controlledGoodsRepository, supplierRepository, productRepository, workbookRepository) {
8
- this.batchRepository = batchRepository;
9
- this.reviewItemRepository = reviewItemRepository;
10
- this.controlledGoodsRepository = controlledGoodsRepository;
11
- this.supplierRepository = supplierRepository;
12
- this.productRepository = productRepository;
13
- this.workbookRepository = workbookRepository;
14
- }
15
- async createReviewBatch(scope, input) {
16
- const existingBatch = input.batchId
17
- ? await this.batchRepository.findOne({ where: { id: input.batchId } })
18
- : null;
19
- const itemScope = existingBatch ? scopeFromBatch(existingBatch, scope) : scope;
20
- const batch = existingBatch ?? await this.batchRepository.save(this.batchRepository.create({
21
- ...scopeColumns(scope),
22
- type: input.type,
23
- status: 'pending_review',
24
- sourceFileName: input.sourceFileName,
25
- metadata: input.metadata
26
- }));
27
- const dedupedItems = await this.deduplicateReviewItems(itemScope, input.items);
28
- const items = await this.reviewItemRepository.save(dedupedItems.map((item) => this.reviewItemRepository.create({
29
- ...scopeColumns(itemScope),
30
- batchId: batch.id,
31
- type: item.type,
32
- title: item.title,
33
- reviewStatus: 'pending',
34
- extractedData: item.extractedData,
35
- defaultData: item.defaultData,
36
- fields: item.fields,
37
- confidence: item.confidence,
38
- sourceLocation: item.sourceLocation
39
- })));
40
- return { batch, items };
41
- }
42
- async listReviewItems(scope, batchId) {
43
- return this.reviewItemRepository.find({
44
- where: {
45
- ...scopeWhere(scope),
46
- ...(batchId ? { batchId } : {})
47
- }
48
- });
49
- }
50
- async confirmReviewItem(scope, itemId, confirmedData) {
51
- const item = await this.reviewItemRepository.findOne({
52
- where: {
53
- ...scopeWhere(scope),
54
- id: itemId
55
- }
56
- });
57
- if (!item) {
58
- throw new NotFoundException(`Review item not found: ${itemId}`);
59
- }
60
- item.reviewStatus = 'confirmed';
61
- item.confirmedData = confirmedData ?? item.confirmedData ?? item.extractedData ?? item.defaultData ?? {};
62
- return this.reviewItemRepository.save(item);
63
- }
64
- async confirmReviewItems(scope, itemIds) {
65
- const confirmed = [];
66
- for (const itemId of itemIds) {
67
- confirmed.push(await this.confirmReviewItem(scope, itemId));
68
- }
69
- return confirmed;
70
- }
71
- async rejectReviewItem(scope, itemId) {
72
- const item = await this.reviewItemRepository.findOne({
73
- where: {
74
- ...scopeWhere(scope),
75
- id: itemId
76
- }
77
- });
78
- if (!item) {
79
- throw new NotFoundException(`Review item not found: ${itemId}`);
80
- }
81
- item.reviewStatus = 'rejected';
82
- return this.reviewItemRepository.save(item);
83
- }
84
- async rejectReviewItems(scope, itemIds) {
85
- const rejected = [];
86
- for (const itemId of itemIds) {
87
- rejected.push(await this.rejectReviewItem(scope, itemId));
88
- }
89
- return rejected;
90
- }
91
- async updateReviewItem(scope, itemId, data) {
92
- const item = await this.reviewItemRepository.findOne({ where: { ...scopeWhere(scope), id: itemId } });
93
- if (!item)
94
- throw new NotFoundException(`Review item not found: ${itemId}`);
95
- item.confirmedData = data;
96
- return this.reviewItemRepository.save(item);
97
- }
98
- async deleteReviewItem(scope, itemId) {
99
- const item = await this.reviewItemRepository.findOne({ where: { ...scopeWhere(scope), id: itemId } });
100
- if (!item)
101
- throw new NotFoundException(`Review item not found: ${itemId}`);
102
- await this.reviewItemRepository.delete({ ...scopeWhere(scope), id: itemId });
103
- return item;
104
- }
105
- async saveControlledGoods(scope, input) {
106
- const existing = await this.findDuplicateControlledGoods(scope, input);
107
- if (existing) {
108
- throw new ConflictException('管控商品已存在,请勿重复入库');
109
- }
110
- return this.controlledGoodsRepository.save(this.controlledGoodsRepository.create({
111
- ...scopeColumns(scope),
112
- productName: input.productName.trim(),
113
- hsCode: input.hsCode,
114
- keywords: input.keywords,
115
- controlNote: input.controlNote,
116
- enabled: input.enabled ?? true,
117
- sourceFileName: input.sourceFileName,
118
- sourceLocation: input.sourceLocation
119
- }));
120
- }
121
- async listControlledGoods(scope) {
122
- return this.controlledGoodsRepository.find({
123
- where: scopeWhere(scope)
124
- });
125
- }
126
- async updateControlledGoods(scope, id, input) {
127
- const item = await this.controlledGoodsRepository.findOne({ where: { ...scopeWhere(scope), id } });
128
- if (!item)
129
- throw new NotFoundException(`Controlled goods not found: ${id}`);
130
- Object.assign(item, input);
131
- return this.controlledGoodsRepository.save(item);
132
- }
133
- async deleteControlledGoods(scope, id) {
134
- const item = await this.controlledGoodsRepository.findOne({ where: { ...scopeWhere(scope), id } });
135
- if (!item)
136
- throw new NotFoundException(`Controlled goods not found: ${id}`);
137
- await this.controlledGoodsRepository.delete({ ...scopeWhere(scope), id });
138
- return item;
139
- }
140
- async saveSupplierProduct(scope, input) {
141
- const existing = await this.findDuplicateSupplierProduct(scope, input);
142
- if (existing) {
143
- throw new ConflictException('供应商商品已存在,请勿重复入库');
144
- }
145
- const supplier = await this.findOrCreateSupplier(scope, input);
146
- return this.productRepository.save(this.productRepository.create({
147
- ...scopeColumns(scope),
148
- supplierId: supplier.id,
149
- supplierName: supplier.name,
150
- productName: input.productName.trim(),
151
- model: input.model,
152
- description: input.description,
153
- quantity: input.quantity,
154
- unit: input.unit,
155
- taxInclusiveUnitPrice: input.taxInclusiveUnitPrice,
156
- taxInclusiveTotalAmount: input.taxInclusiveTotalAmount,
157
- contractHsCode: input.contractHsCode,
158
- enrichedHsCode: input.enrichedHsCode,
159
- taxRefundRate: input.taxRefundRate,
160
- englishName: input.englishName,
161
- controlledStatus: input.controlledStatus ?? 'unchecked',
162
- controlNote: input.controlNote,
163
- matchedControlledGoods: input.matchedControlledGoods
164
- }));
165
- }
166
- async listProducts(scope) {
167
- return this.productRepository.find({
168
- where: scopeWhere(scope)
169
- });
170
- }
171
- async updateSupplierProduct(scope, id, input) {
172
- const item = await this.productRepository.findOne({ where: { ...scopeWhere(scope), id } });
173
- if (!item)
174
- throw new NotFoundException(`Supplier product not found: ${id}`);
175
- Object.assign(item, input);
176
- return this.productRepository.save(item);
177
- }
178
- async deleteSupplierProduct(scope, id) {
179
- const item = await this.productRepository.findOne({ where: { ...scopeWhere(scope), id } });
180
- if (!item)
181
- throw new NotFoundException(`Supplier product not found: ${id}`);
182
- await this.productRepository.delete({ ...scopeWhere(scope), id });
183
- return item;
184
- }
185
- async recordWorkbookGeneration(scope, input) {
186
- return this.workbookRepository.save(this.workbookRepository.create({
187
- ...scopeColumns(scope),
188
- sourceFileName: input.sourceFileName,
189
- invoiceNo: input.invoiceNo,
190
- contractNo: input.contractNo,
191
- fileName: input.fileName,
192
- status: 'generated',
193
- sheetNames: input.sheetNames,
194
- workbookData: input.workbookData
195
- }));
196
- }
197
- async listWorkbookGenerations(scope) {
198
- return this.workbookRepository.find({
199
- where: scopeWhere(scope)
200
- });
201
- }
202
- async getWorkbookGeneration(scope, id) {
203
- const item = await this.workbookRepository.findOne({ where: { ...scopeWhere(scope), id } });
204
- if (!item)
205
- throw new NotFoundException(`Workbook generation not found: ${id}`);
206
- return item;
207
- }
208
- async deleteWorkbookGeneration(scope, id) {
209
- const item = await this.workbookRepository.findOne({ where: { ...scopeWhere(scope), id } });
210
- if (!item)
211
- throw new NotFoundException(`Workbook generation not found: ${id}`);
212
- await this.workbookRepository.delete({ ...scopeWhere(scope), id });
213
- return item;
214
- }
215
- async findOrCreateSupplier(scope, input) {
216
- const supplierName = input.supplierName.trim();
217
- const existing = await this.supplierRepository.findOne({
218
- where: {
219
- ...scopeWhere(scope),
220
- name: supplierName
221
- }
222
- });
223
- if (existing) {
224
- return existing;
225
- }
226
- return this.supplierRepository.save(this.supplierRepository.create({
227
- ...scopeColumns(scope),
228
- name: supplierName,
229
- creditCode: input.supplierCreditCode,
230
- address: input.supplierAddress
231
- }));
232
- }
233
- async findDuplicateControlledGoods(scope, input) {
234
- const productName = normalizeComparableText(input.productName);
235
- const hsCode = normalizeComparableText(input.hsCode);
236
- const candidates = await this.controlledGoodsRepository.find({
237
- where: scopeWhere(scope)
238
- });
239
- return candidates.find((item) => {
240
- const sameProduct = normalizeComparableText(item.productName) === productName;
241
- if (!sameProduct)
242
- return false;
243
- return hsCode ? normalizeComparableText(item.hsCode) === hsCode : !normalizeComparableText(item.hsCode);
244
- });
245
- }
246
- async findDuplicateSupplierProduct(scope, input) {
247
- const supplierName = normalizeComparableText(input.supplierName);
248
- const productName = normalizeComparableText(input.productName);
249
- const model = normalizeComparableText(input.model);
250
- const candidates = await this.productRepository.find({
251
- where: scopeWhere(scope)
252
- });
253
- return candidates.find((item) => {
254
- const sameSupplier = normalizeComparableText(item.supplierName) === supplierName;
255
- const sameProduct = normalizeComparableText(item.productName) === productName;
256
- if (!sameSupplier || !sameProduct)
257
- return false;
258
- return model ? normalizeComparableText(item.model) === model : !normalizeComparableText(item.model);
259
- });
260
- }
261
- async deduplicateReviewItems(scope, items) {
262
- const [existingReviewItems, existingControlledGoods, existingProducts] = await Promise.all([
263
- this.reviewItemRepository.find({ where: scopeWhere(scope) }),
264
- this.controlledGoodsRepository.find({ where: scopeWhere(scope) }),
265
- this.productRepository.find({ where: scopeWhere(scope) })
266
- ]);
267
- const existingKeys = new Set([
268
- ...existingReviewItems.filter(isActiveReviewItemForDedupe).map((item) => reviewItemDedupeKey(item.type, mergedReviewData(item))).filter(Boolean),
269
- ...existingControlledGoods.map((item) => controlledGoodsDedupeKey(item)).filter(Boolean),
270
- ...existingProducts.map((item) => supplierProductDedupeKey(item)).filter(Boolean)
271
- ]);
272
- const seen = new Set();
273
- return items.filter((item) => {
274
- const key = reviewItemDedupeKey(item.type, {
275
- ...item.defaultData,
276
- ...item.extractedData
277
- });
278
- if (!key)
279
- return true;
280
- if (existingKeys.has(key) || seen.has(key))
281
- return false;
282
- seen.add(key);
283
- return true;
284
- });
285
- }
286
- };
287
- TradeComplianceWorkbenchService = __decorate([
288
- Injectable(),
289
- __param(0, InjectRepository(TradeComplianceImportBatch)),
290
- __param(1, InjectRepository(TradeComplianceReviewItem)),
291
- __param(2, InjectRepository(ControlledGoodsRecord)),
292
- __param(3, InjectRepository(TradeSupplier)),
293
- __param(4, InjectRepository(TradeProduct)),
294
- __param(5, InjectRepository(CustomsWorkbookGeneration)),
295
- __metadata("design:paramtypes", [Function, Function, Function, Function, Function, Function])
296
- ], TradeComplianceWorkbenchService);
297
- export { TradeComplianceWorkbenchService };
298
- function scopeColumns(scope) {
299
- return {
300
- tenantId: scope.tenantId,
301
- organizationId: scope.organizationId ?? undefined,
302
- workspaceId: scope.workspaceId ?? undefined,
303
- assistantId: scope.assistantId ?? undefined,
304
- createdById: scope.userId ?? undefined
305
- };
306
- }
307
- function scopeWhere(scope) {
308
- return {
309
- tenantId: scope.tenantId,
310
- organizationId: scope.organizationId ?? undefined
311
- };
312
- }
313
- function scopeFromBatch(batch, fallback) {
314
- return {
315
- tenantId: batch.tenantId ?? fallback.tenantId,
316
- organizationId: batch.organizationId ?? fallback.organizationId,
317
- workspaceId: batch.workspaceId ?? fallback.workspaceId,
318
- assistantId: batch.assistantId ?? fallback.assistantId,
319
- projectId: fallback.projectId,
320
- userId: batch.createdById ?? fallback.userId
321
- };
322
- }
323
- function normalizeComparableText(value) {
324
- return String(value ?? '').trim().toLowerCase();
325
- }
326
- function mergedReviewData(item) {
327
- return {
328
- ...item.defaultData,
329
- ...item.extractedData,
330
- ...item.confirmedData
331
- };
332
- }
333
- function isActiveReviewItemForDedupe(item) {
334
- const status = item.reviewStatus ?? 'pending';
335
- return status !== 'confirmed' && status !== 'rejected';
336
- }
337
- function reviewItemDedupeKey(type, data) {
338
- if (type === 'controlled_goods') {
339
- return controlledGoodsDedupeKey({
340
- productName: stringValue(data['productName']),
341
- hsCode: stringValue(data['hsCode'])
342
- });
343
- }
344
- if (type === 'supplier_product') {
345
- return supplierProductDedupeKey({
346
- supplierName: stringValue(data['supplierName']),
347
- productName: stringValue(data['productName']),
348
- model: stringValue(data['model'])
349
- });
350
- }
351
- return undefined;
352
- }
353
- function controlledGoodsDedupeKey(input) {
354
- const productName = normalizeComparableText(input.productName);
355
- if (!productName)
356
- return undefined;
357
- return ['controlled_goods', productName, normalizeComparableText(input.hsCode)].join('|');
358
- }
359
- function supplierProductDedupeKey(input) {
360
- const supplierName = normalizeComparableText(input.supplierName);
361
- const productName = normalizeComparableText(input.productName);
362
- if (!supplierName || !productName)
363
- return undefined;
364
- return ['supplier_product', supplierName, productName, normalizeComparableText(input.model)].join('|');
365
- }
366
- function stringValue(value) {
367
- return typeof value === 'string' || typeof value === 'number' ? String(value) : undefined;
368
- }
369
- //# sourceMappingURL=trade-compliance-workbench.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trade-compliance-workbench.service.js","sourceRoot":"","sources":["../../src/lib/trade-compliance-workbench.service.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { XpertTypeEnum } from '@xpert-ai/contracts';
2
- export declare const tradeComplianceWorkbenchTemplates: {
3
- key: string;
4
- name: string;
5
- title: string;
6
- description: string;
7
- category: string;
8
- type: XpertTypeEnum;
9
- targetApps: string[];
10
- targetAppMeta: {
11
- 'data-xpert': {
12
- types: string[];
13
- capabilities: string[];
14
- requiredPlugins: string[];
15
- defaultConfig: {
16
- assistantKind: string;
17
- businessDomain: string;
18
- managedBy: string;
19
- viewProvider: string;
20
- };
21
- };
22
- };
23
- dslContent: string;
24
- order: number;
25
- default: boolean;
26
- startPrompts: string[];
27
- releaseNotes: string;
28
- xpertName: string;
29
- providerKey: string;
30
- }[];
31
- //# sourceMappingURL=trade-compliance-workbench.templates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trade-compliance-workbench.templates.d.ts","sourceRoot":"","sources":["../../src/lib/trade-compliance-workbench.templates.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAoBpD,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkC7C,CAAC"}
@@ -1,60 +0,0 @@
1
- // @ts-nocheck
2
- import { existsSync, readFileSync } from 'fs';
3
- import { dirname, join } from 'path';
4
- import { fileURLToPath } from 'url';
5
- import { XpertTypeEnum } from '@xpert-ai/contracts';
6
- import { TRADE_COMPLIANCE_FEATURE, TRADE_COMPLIANCE_PLUGIN_NAME, TRADE_COMPLIANCE_PROVIDER_KEY, TRADE_COMPLIANCE_TEMPLATE_PROVIDER_KEY } from './constants.js';
7
- const TEMPLATE_KEY = 'trade-compliance-workbench-assistant';
8
- const TEMPLATE_FILE = 'xpert-trade-compliance-workbench-assistant.yaml';
9
- const __filename = fileURLToPath(import.meta.url);
10
- const __dirname = dirname(__filename);
11
- function readDsl() {
12
- const candidates = [
13
- join(__dirname, '..', TEMPLATE_FILE),
14
- join(__dirname, TEMPLATE_FILE),
15
- join(process.cwd(), 'community/apps/trade-compliance-workbench/src', TEMPLATE_FILE),
16
- join(process.cwd(), 'apps/trade-compliance-workbench/src', TEMPLATE_FILE),
17
- join(process.cwd(), 'dist/apps/trade-compliance-workbench', TEMPLATE_FILE)
18
- ];
19
- const templatePath = candidates.find((candidate) => existsSync(candidate));
20
- if (!templatePath) {
21
- throw new Error(`Trade Compliance Workbench assistant template not found: ${candidates.join(', ')}`);
22
- }
23
- return readFileSync(templatePath, 'utf8');
24
- }
25
- export const tradeComplianceWorkbenchTemplates = [
26
- {
27
- key: TEMPLATE_KEY,
28
- name: 'Trade Compliance Workbench Assistant',
29
- title: '外贸合规工作台助手',
30
- description: '面向管控商品识别、供应商商品管理和报关资料生成的 data-xpert 业务助手模板。',
31
- category: 'Trade Compliance',
32
- type: XpertTypeEnum.Agent,
33
- targetApps: ['data-xpert'],
34
- targetAppMeta: {
35
- 'data-xpert': {
36
- types: ['business-assistant'],
37
- capabilities: [TRADE_COMPLIANCE_FEATURE],
38
- requiredPlugins: [TRADE_COMPLIANCE_PLUGIN_NAME],
39
- defaultConfig: {
40
- assistantKind: 'business-assistant',
41
- businessDomain: 'trade-compliance-workbench',
42
- managedBy: 'data-xpert',
43
- viewProvider: TRADE_COMPLIANCE_PROVIDER_KEY
44
- }
45
- }
46
- },
47
- dslContent: readDsl(),
48
- order: 60,
49
- default: false,
50
- startPrompts: [
51
- '请解析这份管控商品目录,保存待审核的管控商品条目。',
52
- '请解析这份供应商合同,识别供应商和商品,并补全海关编码、退税率和英文品名。',
53
- '请解析这份购销合同,准备生成报关单、Commercial Invoice、Sales Contract 和 Packing List。'
54
- ],
55
- releaseNotes: '创建外贸合规工作台业务助手。',
56
- xpertName: '外贸合规工作台助手',
57
- providerKey: TRADE_COMPLIANCE_TEMPLATE_PROVIDER_KEY
58
- }
59
- ];
60
- //# sourceMappingURL=trade-compliance-workbench.templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trade-compliance-workbench.templates.js","sourceRoot":"","sources":["../../src/lib/trade-compliance-workbench.templates.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,sCAAsC,EAAE,MAAM,gBAAgB,CAAC;AAC/J,MAAM,YAAY,GAAG,sCAAsC,CAAC;AAC5D,MAAM,aAAa,GAAG,iDAAiD,CAAC;AACxE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,SAAS,OAAO;IACZ,MAAM,UAAU,GAAG;QACf,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC;QACpC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,+CAA+C,EAAE,aAAa,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qCAAqC,EAAE,aAAa,CAAC;QACzE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,sCAAsC,EAAE,aAAa,CAAC;KAC7E,CAAC;IACF,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,4DAA4D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AACD,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC7C;QACI,GAAG,EAAE,YAAY;QACjB,IAAI,EAAE,sCAAsC;QAC5C,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,6CAA6C;QAC1D,QAAQ,EAAE,kBAAkB;QAC5B,IAAI,EAAE,aAAa,CAAC,KAAK;QACzB,UAAU,EAAE,CAAC,YAAY,CAAC;QAC1B,aAAa,EAAE;YACX,YAAY,EAAE;gBACV,KAAK,EAAE,CAAC,oBAAoB,CAAC;gBAC7B,YAAY,EAAE,CAAC,wBAAwB,CAAC;gBACxC,eAAe,EAAE,CAAC,4BAA4B,CAAC;gBAC/C,aAAa,EAAE;oBACX,aAAa,EAAE,oBAAoB;oBACnC,cAAc,EAAE,4BAA4B;oBAC5C,SAAS,EAAE,YAAY;oBACvB,YAAY,EAAE,6BAA6B;iBAC9C;aACJ;SACJ;QACD,UAAU,EAAE,OAAO,EAAE;QACrB,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,KAAK;QACd,YAAY,EAAE;YACV,2BAA2B;YAC3B,uCAAuC;YACvC,qEAAqE;SACxE;QACD,YAAY,EAAE,gBAAgB;QAC9B,SAAS,EAAE,WAAW;QACtB,WAAW,EAAE,sCAAsC;KACtD;CACJ,CAAC"}
@@ -1,28 +0,0 @@
1
- import ExcelJS from 'exceljs';
2
- export declare const CUSTOMS_WORKBOOK_XLS_MIME_TYPE = "application/vnd.ms-excel";
3
- export declare const CUSTOMS_WORKBOOK_XLSX_MIME_TYPE = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
4
- export declare function buildCustomsWorkbookModel(source: any, defaults: any): any;
5
- export declare function createCustomsWorkbookBuffer(model: any): {
6
- fileName: string;
7
- sheetNames: string[];
8
- mimeType: string;
9
- bookType: string;
10
- buffer: any;
11
- };
12
- export declare function createCustomsWorkbookFromTemplateBuffer(model: any, _templateBuffer: any): Promise<{
13
- fileName: string;
14
- sheetNames: string[];
15
- mimeType: string;
16
- bookType: string;
17
- buffer: Buffer<ExcelJS.Buffer>;
18
- }>;
19
- export declare function createStyledCustomsWorkbook(model: any): Promise<{
20
- fileName: string;
21
- sheetNames: string[];
22
- mimeType: string;
23
- bookType: string;
24
- buffer: Buffer<ExcelJS.Buffer>;
25
- }>;
26
- export declare function buildCustomsWorkbookTemplateFileName(invoiceNo: any): string;
27
- export declare function readCustomsWorkbookTemplateSheetNames(templateBuffer: any): string[];
28
- //# sourceMappingURL=trade-compliance-workbook.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trade-compliance-workbook.d.ts","sourceRoot":"","sources":["../../src/lib/trade-compliance-workbook.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,eAAO,MAAM,8BAA8B,6BAA6B,CAAC;AACzE,eAAO,MAAM,+BAA+B,sEAAsE,CAAC;AACnH,wBAAgB,yBAAyB,CAAC,MAAM,KAAA,EAAE,QAAQ,KAAA,OAuBzD;AACD,wBAAgB,2BAA2B,CAAC,KAAK,KAAA;;;;;;EAahD;AACD,wBAAgB,uCAAuC,CAAC,KAAK,KAAA,EAAE,eAAe,KAAA;;;;;;GAE7E;AACD,wBAAsB,2BAA2B,CAAC,KAAK,KAAA;;;;;;GAiBtD;AACD,wBAAgB,oCAAoC,CAAC,SAAS,KAAA,UAE7D;AACD,wBAAgB,qCAAqC,CAAC,cAAc,KAAA,YAEnE"}