@chenchaolong/plugin-trade-compliance-workbench 0.1.27 → 0.1.29

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.
@@ -827,7 +827,7 @@
827
827
  h('h2', null, title),
828
828
  h('button', { type: 'button', className: 'tcw-icon-btn', onClick: () => setFormDialog(null) }, '×')
829
829
  ),
830
- h('div', { className: 'tcw-edit-grid' },
830
+ h('div', { className: formDialog.type === 'supplier_product' ? 'tcw-edit-grid tcw-edit-grid-two' : 'tcw-edit-grid' },
831
831
  fields.map((config) => formField(config))
832
832
  ),
833
833
  h('div', { className: 'tcw-modal-actions' },
@@ -857,25 +857,25 @@
857
857
  function formField(config) {
858
858
  const value = formDialog.values[config.key]
859
859
  if (config.type === 'checkbox') {
860
- return h('label', { className: 'tcw-field tcw-field-check', key: config.key },
860
+ return h('label', { className: fieldClass(config, 'tcw-field-check'), key: config.key },
861
861
  h('span', null, config.label),
862
862
  h('input', { type: 'checkbox', checked: Boolean(value), onChange: (event) => updateFormValue(config.key, event.target.checked) })
863
863
  )
864
864
  }
865
865
  if (config.type === 'select') {
866
- return field(config.label, h('select', {
866
+ return h('label', { className: fieldClass(config), key: config.key }, h('span', null, config.label), h('select', {
867
867
  value: value || '',
868
868
  onChange: (event) => updateFormValue(config.key, event.target.value)
869
869
  }, config.options.map((option) => h('option', { key: option.value, value: option.value }, option.label))))
870
870
  }
871
871
  if (config.type === 'textarea') {
872
- return field(config.label, h('textarea', {
872
+ return h('label', { className: fieldClass(config), key: config.key }, h('span', null, config.label), h('textarea', {
873
873
  value: value || '',
874
874
  onChange: (event) => updateFormValue(config.key, event.target.value),
875
875
  placeholder: config.placeholder || ''
876
876
  }))
877
877
  }
878
- return field(config.label, h('input', {
878
+ return h('label', { className: fieldClass(config), key: config.key }, h('span', null, config.label), h('input', {
879
879
  type: config.type === 'number' ? 'number' : 'text',
880
880
  value: value || '',
881
881
  onChange: (event) => updateFormValue(config.key, event.target.value),
@@ -889,6 +889,10 @@
889
889
  }))
890
890
  }
891
891
 
892
+ function fieldClass(config, extra) {
893
+ return ['tcw-field', config.wide ? 'tcw-field-wide' : '', extra || ''].filter(Boolean).join(' ')
894
+ }
895
+
892
896
  function pageToolbar(title, subtitle, actions) {
893
897
  return h('div', { className: 'tcw-page-head' },
894
898
  h('div', null, h('h2', null, title), h('p', null, subtitle)),
@@ -992,7 +996,7 @@
992
996
  { key: 'productName', label: '商品名称', placeholder: '例如:高性能服务器' },
993
997
  { key: 'hsCode', label: '海关编码', placeholder: '例如:8471501010' },
994
998
  { key: 'keywords', label: '关键词', placeholder: '逗号或空格分隔' },
995
- { key: 'controlNote', label: '管控说明', type: 'textarea', placeholder: '许可证、两用物项、禁限说明' },
999
+ { key: 'controlNote', label: '管控说明', type: 'textarea', wide: true, placeholder: '许可证、两用物项、禁限说明' },
996
1000
  { key: 'sourceFileName', label: '来源文件' },
997
1001
  { key: 'sourceLocation', label: '来源位置' },
998
1002
  { key: 'enabled', label: '启用', type: 'checkbox' }
@@ -1003,7 +1007,7 @@
1003
1007
  { key: 'supplierAddress', label: '供应商地址' },
1004
1008
  { key: 'productName', label: '商品名称', placeholder: '例如:服务器' },
1005
1009
  { key: 'model', label: '型号' },
1006
- { key: 'description', label: '商品描述', type: 'textarea' },
1010
+ { key: 'description', label: '商品描述', type: 'textarea', wide: true },
1007
1011
  { key: 'quantity', label: '数量', type: 'number' },
1008
1012
  { key: 'unit', label: '单位' },
1009
1013
  { key: 'taxInclusiveUnitPrice', label: '含税单价', type: 'number' },
@@ -1023,7 +1027,7 @@
1023
1027
  { value: 'controlled', label: '管控' }
1024
1028
  ]
1025
1029
  },
1026
- { key: 'controlNote', label: '管控说明', type: 'textarea' }
1030
+ { key: 'controlNote', label: '管控说明', type: 'textarea', wide: true }
1027
1031
  ]
1028
1032
  const fieldLabels = {
1029
1033
  productName: '商品名称',
@@ -1492,6 +1496,8 @@ button, input, textarea, select { font: inherit; letter-spacing: 0; }
1492
1496
  .tcw-modal-head h2 { margin: 0; font-size: 18px; line-height: 1.3; }
1493
1497
  .tcw-modal-actions { display: flex; justify-content: flex-end; gap: 8px; }
1494
1498
  .tcw-edit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
1499
+ .tcw-edit-grid-two { grid-template-columns: repeat(2, minmax(260px, 1fr)); }
1500
+ .tcw-field-wide { grid-column: 1 / -1; }
1495
1501
  .tcw-confirm-text { margin: 0; color: var(--tcw-text); font-size: 14px; line-height: 1.7; }
1496
1502
  .tcw-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
1497
1503
  .tcw-detail-field { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 8px; align-items: start; border: 1px solid var(--tcw-border); border-radius: 6px; background: var(--tcw-soft); padding: 8px 10px; }
@@ -84,5 +84,8 @@ export declare class TradeComplianceWorkbenchService {
84
84
  getWorkbookGeneration(scope: TradeComplianceScope, id: string): Promise<CustomsWorkbookGeneration>;
85
85
  deleteWorkbookGeneration(scope: TradeComplianceScope, id: string): Promise<CustomsWorkbookGeneration>;
86
86
  private findOrCreateSupplier;
87
+ private findDuplicateControlledGoods;
88
+ private findDuplicateSupplierProduct;
89
+ private deduplicateReviewItems;
87
90
  }
88
91
  //# sourceMappingURL=trade-compliance-workbench.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trade-compliance-workbench.service.d.ts","sourceRoot":"","sources":["../../src/lib/trade-compliance-workbench.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trade-compliance-workbench.service.d.ts","sourceRoot":"","sources":["../../src/lib/trade-compliance-workbench.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata, __param } from "tslib";
2
- import { Injectable, NotFoundException } from '@nestjs/common';
2
+ import { ConflictException, Injectable, NotFoundException } from '@nestjs/common';
3
3
  import { InjectRepository } from '@nestjs/typeorm';
4
4
  import { ControlledGoodsRecord, CustomsWorkbookGeneration, TradeComplianceImportBatch, TradeComplianceReviewItem, TradeProduct, TradeSupplier } from './entities/index.js';
5
5
  let TradeComplianceWorkbenchService = class TradeComplianceWorkbenchService {
@@ -22,7 +22,8 @@ let TradeComplianceWorkbenchService = class TradeComplianceWorkbenchService {
22
22
  sourceFileName: input.sourceFileName,
23
23
  metadata: input.metadata
24
24
  }));
25
- const items = await this.reviewItemRepository.save(input.items.map((item) => this.reviewItemRepository.create({
25
+ const dedupedItems = await this.deduplicateReviewItems(scope, input.items);
26
+ const items = await this.reviewItemRepository.save(dedupedItems.map((item) => this.reviewItemRepository.create({
26
27
  ...scopeColumns(scope),
27
28
  batchId: batch.id,
28
29
  type: item.type,
@@ -100,9 +101,13 @@ let TradeComplianceWorkbenchService = class TradeComplianceWorkbenchService {
100
101
  return item;
101
102
  }
102
103
  async saveControlledGoods(scope, input) {
104
+ const existing = await this.findDuplicateControlledGoods(scope, input);
105
+ if (existing) {
106
+ throw new ConflictException('管控商品已存在,请勿重复入库');
107
+ }
103
108
  return this.controlledGoodsRepository.save(this.controlledGoodsRepository.create({
104
109
  ...scopeColumns(scope),
105
- productName: input.productName,
110
+ productName: input.productName.trim(),
106
111
  hsCode: input.hsCode,
107
112
  keywords: input.keywords,
108
113
  controlNote: input.controlNote,
@@ -131,12 +136,16 @@ let TradeComplianceWorkbenchService = class TradeComplianceWorkbenchService {
131
136
  return item;
132
137
  }
133
138
  async saveSupplierProduct(scope, input) {
139
+ const existing = await this.findDuplicateSupplierProduct(scope, input);
140
+ if (existing) {
141
+ throw new ConflictException('供应商商品已存在,请勿重复入库');
142
+ }
134
143
  const supplier = await this.findOrCreateSupplier(scope, input);
135
144
  return this.productRepository.save(this.productRepository.create({
136
145
  ...scopeColumns(scope),
137
146
  supplierId: supplier.id,
138
147
  supplierName: supplier.name,
139
- productName: input.productName,
148
+ productName: input.productName.trim(),
140
149
  model: input.model,
141
150
  description: input.description,
142
151
  quantity: input.quantity,
@@ -202,10 +211,11 @@ let TradeComplianceWorkbenchService = class TradeComplianceWorkbenchService {
202
211
  return item;
203
212
  }
204
213
  async findOrCreateSupplier(scope, input) {
214
+ const supplierName = input.supplierName.trim();
205
215
  const existing = await this.supplierRepository.findOne({
206
216
  where: {
207
217
  ...scopeWhere(scope),
208
- name: input.supplierName
218
+ name: supplierName
209
219
  }
210
220
  });
211
221
  if (existing) {
@@ -213,11 +223,64 @@ let TradeComplianceWorkbenchService = class TradeComplianceWorkbenchService {
213
223
  }
214
224
  return this.supplierRepository.save(this.supplierRepository.create({
215
225
  ...scopeColumns(scope),
216
- name: input.supplierName,
226
+ name: supplierName,
217
227
  creditCode: input.supplierCreditCode,
218
228
  address: input.supplierAddress
219
229
  }));
220
230
  }
231
+ async findDuplicateControlledGoods(scope, input) {
232
+ const productName = normalizeComparableText(input.productName);
233
+ const hsCode = normalizeComparableText(input.hsCode);
234
+ const candidates = await this.controlledGoodsRepository.find({
235
+ where: scopeWhere(scope)
236
+ });
237
+ return candidates.find((item) => {
238
+ const sameProduct = normalizeComparableText(item.productName) === productName;
239
+ if (!sameProduct)
240
+ return false;
241
+ return hsCode ? normalizeComparableText(item.hsCode) === hsCode : !normalizeComparableText(item.hsCode);
242
+ });
243
+ }
244
+ async findDuplicateSupplierProduct(scope, input) {
245
+ const supplierName = normalizeComparableText(input.supplierName);
246
+ const productName = normalizeComparableText(input.productName);
247
+ const model = normalizeComparableText(input.model);
248
+ const candidates = await this.productRepository.find({
249
+ where: scopeWhere(scope)
250
+ });
251
+ return candidates.find((item) => {
252
+ const sameSupplier = normalizeComparableText(item.supplierName) === supplierName;
253
+ const sameProduct = normalizeComparableText(item.productName) === productName;
254
+ if (!sameSupplier || !sameProduct)
255
+ return false;
256
+ return model ? normalizeComparableText(item.model) === model : !normalizeComparableText(item.model);
257
+ });
258
+ }
259
+ async deduplicateReviewItems(scope, items) {
260
+ const [existingReviewItems, existingControlledGoods, existingProducts] = await Promise.all([
261
+ this.reviewItemRepository.find({ where: scopeWhere(scope) }),
262
+ this.controlledGoodsRepository.find({ where: scopeWhere(scope) }),
263
+ this.productRepository.find({ where: scopeWhere(scope) })
264
+ ]);
265
+ const existingKeys = new Set([
266
+ ...existingReviewItems.map((item) => reviewItemDedupeKey(item.type, mergedReviewData(item))).filter(Boolean),
267
+ ...existingControlledGoods.map((item) => controlledGoodsDedupeKey(item)).filter(Boolean),
268
+ ...existingProducts.map((item) => supplierProductDedupeKey(item)).filter(Boolean)
269
+ ]);
270
+ const seen = new Set();
271
+ return items.filter((item) => {
272
+ const key = reviewItemDedupeKey(item.type, {
273
+ ...item.defaultData,
274
+ ...item.extractedData
275
+ });
276
+ if (!key)
277
+ return true;
278
+ if (existingKeys.has(key) || seen.has(key))
279
+ return false;
280
+ seen.add(key);
281
+ return true;
282
+ });
283
+ }
221
284
  };
222
285
  TradeComplianceWorkbenchService = __decorate([
223
286
  Injectable(),
@@ -245,4 +308,46 @@ function scopeWhere(scope) {
245
308
  organizationId: scope.organizationId ?? undefined
246
309
  };
247
310
  }
311
+ function normalizeComparableText(value) {
312
+ return String(value ?? '').trim().toLowerCase();
313
+ }
314
+ function mergedReviewData(item) {
315
+ return {
316
+ ...item.defaultData,
317
+ ...item.extractedData,
318
+ ...item.confirmedData
319
+ };
320
+ }
321
+ function reviewItemDedupeKey(type, data) {
322
+ if (type === 'controlled_goods') {
323
+ return controlledGoodsDedupeKey({
324
+ productName: stringValue(data['productName']),
325
+ hsCode: stringValue(data['hsCode'])
326
+ });
327
+ }
328
+ if (type === 'supplier_product') {
329
+ return supplierProductDedupeKey({
330
+ supplierName: stringValue(data['supplierName']),
331
+ productName: stringValue(data['productName']),
332
+ model: stringValue(data['model'])
333
+ });
334
+ }
335
+ return undefined;
336
+ }
337
+ function controlledGoodsDedupeKey(input) {
338
+ const productName = normalizeComparableText(input.productName);
339
+ if (!productName)
340
+ return undefined;
341
+ return ['controlled_goods', productName, normalizeComparableText(input.hsCode)].join('|');
342
+ }
343
+ function supplierProductDedupeKey(input) {
344
+ const supplierName = normalizeComparableText(input.supplierName);
345
+ const productName = normalizeComparableText(input.productName);
346
+ if (!supplierName || !productName)
347
+ return undefined;
348
+ return ['supplier_product', supplierName, productName, normalizeComparableText(input.model)].join('|');
349
+ }
350
+ function stringValue(value) {
351
+ return typeof value === 'string' || typeof value === 'number' ? String(value) : undefined;
352
+ }
248
353
  //# sourceMappingURL=trade-compliance-workbench.service.js.map
@@ -1 +1 @@
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
+ {"version":3,"file":"trade-compliance-workbench.service.js","sourceRoot":"","sources":["../../src/lib/trade-compliance-workbench.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chenchaolong/plugin-trade-compliance-workbench",
3
- "version": "0.1.27",
3
+ "version": "0.1.29",
4
4
  "description": "Trade Compliance Workbench app plugin for controlled goods review, supplier product management, and customs workbook generation.",
5
5
  "author": {
6
6
  "name": "XpertAI",
@@ -35,7 +35,7 @@
35
35
  "scripts": {
36
36
  "build": "tsc -p tsconfig.lib.json && node scripts/copy-assets.mjs",
37
37
  "lint": "echo \"(todo) add lint\"",
38
- "test": "tsc -p tsconfig.spec.json --noEmit && tsc -p tsconfig.lib.json && node scripts/verify-remote-app.mjs && node scripts/verify-workbook-template.mjs && node scripts/verify-middleware-workbook-template.mjs"
38
+ "test": "tsc -p tsconfig.spec.json --noEmit && tsc -p tsconfig.lib.json && node scripts/verify-remote-app.mjs && node scripts/verify-service-dedupe.mjs && node scripts/verify-workbook-template.mjs && node scripts/verify-middleware-workbook-template.mjs"
39
39
  },
40
40
  "xpert": {
41
41
  "plugin": {