@things-factory/worksheet-base 4.3.113-alpha.0 → 4.3.118

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 (90) hide show
  1. package/dist-server/controllers/ecommerce/ecommerce-controller.js +26 -12
  2. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
  3. package/dist-server/controllers/inbound/unloading-worksheet-controller.js +73 -58
  4. package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
  5. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js +4 -2
  6. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js.map +1 -1
  7. package/dist-server/controllers/outbound/loading-worksheet-controller.js +4 -10
  8. package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -1
  9. package/dist-server/controllers/outbound/packing-worksheet-controller.js +24 -33
  10. package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
  11. package/dist-server/controllers/outbound/picking-worksheet-controller.js +48 -78
  12. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  13. package/dist-server/controllers/outbound/sorting-worksheet-controller.js +14 -12
  14. package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
  15. package/dist-server/controllers/render-orientage-do.js +1 -1
  16. package/dist-server/controllers/render-orientage-do.js.map +1 -1
  17. package/dist-server/controllers/render-orientage-grn.js +1 -1
  18. package/dist-server/controllers/render-orientage-grn.js.map +1 -1
  19. package/dist-server/controllers/vas/vas-worksheet-controller.js +2 -1
  20. package/dist-server/controllers/vas/vas-worksheet-controller.js.map +1 -1
  21. package/dist-server/controllers/worksheet-controller.js +9 -7
  22. package/dist-server/controllers/worksheet-controller.js.map +1 -1
  23. package/dist-server/entities/index.js +2 -3
  24. package/dist-server/entities/index.js.map +1 -1
  25. package/dist-server/entities/warehouse-bizplace-onhand-inventory.js +62 -29
  26. package/dist-server/entities/warehouse-bizplace-onhand-inventory.js.map +1 -1
  27. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js +0 -6
  28. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js.map +1 -1
  29. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js +39 -1
  30. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -1
  31. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +6 -6
  32. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
  33. package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js +2 -1
  34. package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js.map +1 -1
  35. package/dist-server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.js.map +1 -1
  36. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +1 -2
  37. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
  38. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +1 -4
  39. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  40. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +3 -3
  41. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
  42. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +51 -1
  43. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  44. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +2 -3
  45. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
  46. package/dist-server/graphql/resolvers/worksheet/transfer.js +9 -9
  47. package/dist-server/graphql/resolvers/worksheet/transfer.js.map +1 -1
  48. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js +1 -1
  49. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -1
  50. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js +17 -17
  51. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js.map +1 -1
  52. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js +4 -4
  53. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js.map +1 -1
  54. package/dist-server/graphql/types/worksheet/index.js +1 -1
  55. package/dist-server/graphql/types/worksheet/index.js.map +1 -1
  56. package/dist-server/graphql/types/worksheet-detail/index.js +0 -1
  57. package/dist-server/graphql/types/worksheet-detail/index.js.map +1 -1
  58. package/dist-server/utils/inventory-util.js +98 -1
  59. package/dist-server/utils/inventory-util.js.map +1 -1
  60. package/package.json +18 -17
  61. package/server/controllers/ecommerce/ecommerce-controller.ts +25 -11
  62. package/server/controllers/inbound/unloading-worksheet-controller.ts +86 -72
  63. package/server/controllers/inspect/cycle-count-worksheet-controller.ts +4 -2
  64. package/server/controllers/outbound/loading-worksheet-controller.ts +3 -9
  65. package/server/controllers/outbound/packing-worksheet-controller.ts +36 -41
  66. package/server/controllers/outbound/picking-worksheet-controller.ts +66 -98
  67. package/server/controllers/outbound/sorting-worksheet-controller.ts +12 -12
  68. package/server/controllers/render-orientage-do.ts +1 -1
  69. package/server/controllers/render-orientage-grn.ts +12 -12
  70. package/server/controllers/vas/vas-worksheet-controller.ts +2 -2
  71. package/server/controllers/worksheet-controller.ts +12 -15
  72. package/server/entities/index.ts +2 -2
  73. package/server/entities/warehouse-bizplace-onhand-inventory.ts +63 -29
  74. package/server/graphql/resolvers/worksheet/batch-picking-worksheet.ts +0 -6
  75. package/server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts +43 -1
  76. package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +2 -2
  77. package/server/graphql/resolvers/worksheet/cycle-count-worksheet.ts +1 -0
  78. package/server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.ts +62 -62
  79. package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +1 -3
  80. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +2 -4
  81. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +3 -3
  82. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +57 -1
  83. package/server/graphql/resolvers/worksheet/picking-worksheet.ts +2 -3
  84. package/server/graphql/resolvers/worksheet/transfer.ts +16 -18
  85. package/server/graphql/resolvers/worksheet/unloaded-inventories.ts +1 -1
  86. package/server/graphql/resolvers/worksheet/vas-transactions/common-utils.ts +2 -3
  87. package/server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts +1 -4
  88. package/server/graphql/types/worksheet/index.ts +2 -2
  89. package/server/graphql/types/worksheet-detail/index.ts +0 -1
  90. package/server/utils/inventory-util.ts +126 -1
@@ -348,8 +348,8 @@ exports.Mutation = `
348
348
  ): Boolean @privilege(category: "worksheet_execute", privilege: "mutation") @transaction
349
349
 
350
350
  scanProductSorting (
351
- taskNo: String!
352
351
  releaseGoodNo: String!
352
+ taskNo: String!
353
353
  productBarcode: String!
354
354
  serialNumber: String
355
355
  toteNo: String
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet/index.ts"],"names":[],"mappings":";;;AAAA,iEAA4D;AAC5D,yEAAmE;AACnE,6DAAuD;AACvD,mEAA6D;AAC7D,mDAA8C;AAC9C,+DAAyD;AACzD,2DAAqD;AACrD,6DAAwD;AACxD,+DAA0D;AAC1D,qFAA4E;AAC5E,+DAAyD;AACzD,2EAAqE;AACrE,uEAAiE;AACjE,iFAA0E;AAC1E,mDAA8C;AAC9C,2EAAqE;AACrE,yDAAoD;AACpD,qEAA+D;AAC/D,qEAA+D;AAC/D,+DAAyD;AACzD,2CAAuC;AACvC,mEAA6D;AAC7D,qDAAgD;AAChD,qDAAgD;AAChD,uDAAkD;AAClD,2EAAqE;AACrE,2EAAmE;AACnE,uFAAgF;AAEnE,QAAA,QAAQ,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+hBrC,CAAA;AAEY,QAAA,KAAK,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgJlC,CAAA;AAEY,QAAA,KAAK,GAAgB;IAChC,qBAAS;IACT,0CAAmB;IACnB,4BAAY;IACZ,gCAAc;IACd,8BAAa;IACb,iDAAsB;IACtB,6CAAoB;IACpB,2CAAmB;IACnB,6CAAoB;IACpB,mDAAuB;IACvB,uCAAiB;IACjB,uCAAiB;IACjB,qCAAgB;IAChB,uCAAiB;IACjB,8BAAa;IACb,4BAAY;IACZ,sCAAiB;IACjB,2CAAmB;IACnB,wCAAkB;IAClB,+CAAqB;IACrB,kCAAe;IACf,mDAAuB;IACvB,mDAAuB;IACvB,wDAAyB;IACzB,0DAAyB;IACzB,mCAAe;IACf,iDAAqB;IACrB,8DAA4B;CAC7B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet/index.ts"],"names":[],"mappings":";;;AAAA,iEAA4D;AAC5D,yEAAmE;AACnE,6DAAuD;AACvD,mEAA6D;AAC7D,mDAA8C;AAC9C,+DAAyD;AACzD,2DAAqD;AACrD,6DAAwD;AACxD,+DAA0D;AAC1D,qFAA4E;AAC5E,+DAAyD;AACzD,2EAAqE;AACrE,uEAAiE;AACjE,iFAA0E;AAC1E,mDAA8C;AAC9C,2EAAqE;AACrE,yDAAoD;AACpD,qEAA+D;AAC/D,qEAA+D;AAC/D,+DAAyD;AACzD,2CAAuC;AACvC,mEAA6D;AAC7D,qDAAgD;AAChD,qDAAgD;AAChD,uDAAkD;AAClD,2EAAqE;AACrE,2EAAmE;AACnE,uFAAgF;AAEnE,QAAA,QAAQ,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+hBrC,CAAA;AAEY,QAAA,KAAK,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgJlC,CAAA;AAEY,QAAA,KAAK,GAAiB;IACjC,qBAAS;IACT,0CAAmB;IACnB,4BAAY;IACZ,gCAAc;IACd,8BAAa;IACb,iDAAsB;IACtB,6CAAoB;IACpB,2CAAmB;IACnB,6CAAoB;IACpB,mDAAuB;IACvB,uCAAiB;IACjB,uCAAiB;IACjB,qCAAgB;IAChB,uCAAiB;IACjB,8BAAa;IACb,4BAAY;IACZ,sCAAiB;IACjB,2CAAmB;IACnB,wCAAkB;IAClB,+CAAqB;IACrB,kCAAe;IACf,mDAAuB;IACvB,mDAAuB;IACvB,wDAAyB;IACzB,0DAAyB;IACzB,mCAAe;IACf,iDAAqB;IACrB,8DAA4B;CAC7B,CAAA"}
@@ -34,7 +34,6 @@ exports.Mutation = `
34
34
  worksheetNo: String!
35
35
  batchId: String!
36
36
  productId: String!
37
- productDetailId: String!
38
37
  packingType: String!
39
38
  packingSize: Float!
40
39
  orderProductId: String!
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet-detail/index.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,iEAA2D;AAC3D,+CAA0C;AAC1C,yDAAoD;AACpD,mEAA6D;AAC7D,qEAA+D;AAElD,QAAA,QAAQ,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDrC,CAAA;AAEY,QAAA,KAAK,GAAiB;;;;;;;CAOlC,CAAA;AAEY,QAAA,KAAK,GAAG;IACnB,kCAAe;IACf,yCAAkB;IAClB,6CAAoB;IACpB,2CAAmB;IACnB,wBAAU;IACV,kCAAe;CAChB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet-detail/index.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,iEAA2D;AAC3D,+CAA0C;AAC1C,yDAAoD;AACpD,mEAA6D;AAC7D,qEAA+D;AAElD,QAAA,QAAQ,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDrC,CAAA;AAEY,QAAA,KAAK,GAAiB;;;;;;;CAOlC,CAAA;AAEY,QAAA,KAAK,GAAG;IACnB,kCAAe;IACf,yCAAkB;IAClB,6CAAoB;IACpB,2CAAmB;IACnB,wBAAU;IACV,kCAAe;CAChB,CAAA"}
@@ -1,10 +1,107 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isInventoryExpiring = exports.inventoriesByStrategy = exports.checkPalletIdenticallity = exports.checkPalletDuplication = exports.switchLocationStatus = void 0;
3
+ exports.isInventoryExpiring = exports.inventoriesByStrategy = exports.checkPalletIdenticallity = exports.checkPalletDuplication = exports.switchLocationStatus = exports.generateInventoryHistory = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
5
  const product_base_1 = require("@things-factory/product-base");
6
6
  const warehouse_base_1 = require("@things-factory/warehouse-base");
7
7
  /**
8
+ * @description It will insert new record into inventory histories table.
9
+ * seq will be calculated based on number of records for one specific pallet id (provided by inventory object)
10
+ */
11
+ async function generateInventoryHistory(inventory, refOrder, transactionType, qty = 0, uomValue = 0, user, trxMgr, targetInventory = {}) {
12
+ var _a, _b, _c;
13
+ const invHistoryRepo = (trxMgr === null || trxMgr === void 0 ? void 0 : trxMgr.getRepository(warehouse_base_1.InventoryHistory)) || (0, typeorm_1.getRepository)(warehouse_base_1.InventoryHistory);
14
+ const invRepo = (trxMgr === null || trxMgr === void 0 ? void 0 : trxMgr.getRepository(warehouse_base_1.Inventory)) || (0, typeorm_1.getRepository)(warehouse_base_1.Inventory);
15
+ if (!(inventory === null || inventory === void 0 ? void 0 : inventory.id))
16
+ throw new Error(`Can't find out ID of inventory.`);
17
+ if (!(refOrder === null || refOrder === void 0 ? void 0 : refOrder.id) || !refOrder.name)
18
+ throw new Error(`Can't find out ID or Name of Reference Order`);
19
+ if (!(inventory === null || inventory === void 0 ? void 0 : inventory.domain) ||
20
+ !(inventory === null || inventory === void 0 ? void 0 : inventory.bizplace) ||
21
+ !((_a = inventory === null || inventory === void 0 ? void 0 : inventory.product) === null || _a === void 0 ? void 0 : _a.id) ||
22
+ !((_b = inventory === null || inventory === void 0 ? void 0 : inventory.warehouse) === null || _b === void 0 ? void 0 : _b.id) ||
23
+ !((_c = inventory === null || inventory === void 0 ? void 0 : inventory.location) === null || _c === void 0 ? void 0 : _c.id)) {
24
+ inventory = await invRepo.findOne({
25
+ where: { id: inventory.id },
26
+ relations: ['domain', 'bizplace', 'product', 'warehouse', 'location']
27
+ });
28
+ }
29
+ const domain = inventory.domain;
30
+ const location = inventory.location;
31
+ const seq = await invHistoryRepo.count({ domain: inventory.domain, palletId: inventory.palletId });
32
+ let openingQty = 0;
33
+ let openingUomValue = 0;
34
+ if (seq) {
35
+ const lastInvHistory = await invHistoryRepo.findOne({
36
+ domain: inventory.domain,
37
+ palletId: inventory.palletId,
38
+ seq: seq - 1
39
+ });
40
+ openingQty = lastInvHistory.openingQty + lastInvHistory.qty;
41
+ openingUomValue = lastInvHistory.openingUomValue + lastInvHistory.uomValue;
42
+ }
43
+ if (transactionType == 'PICKING' || transactionType == 'UNLOADING') {
44
+ const [findSameOrderHistory, total] = await invHistoryRepo.findAndCount({
45
+ domain: inventory.domain,
46
+ palletId: inventory.palletId,
47
+ refOrderId: refOrder.id
48
+ });
49
+ if (findSameOrderHistory) {
50
+ let prevTotalQty = 0;
51
+ let prevTotalUomValue = 0;
52
+ for (let oh of findSameOrderHistory) {
53
+ prevTotalQty += oh.qty;
54
+ prevTotalUomValue += oh.uomValue;
55
+ }
56
+ qty -= prevTotalQty;
57
+ uomValue -= prevTotalUomValue;
58
+ }
59
+ }
60
+ let inventoryHistory = new warehouse_base_1.InventoryHistory();
61
+ inventoryHistory.name = warehouse_base_1.InventoryNoGenerator.inventoryHistoryName();
62
+ inventoryHistory.description = inventory.description;
63
+ inventoryHistory.seq = seq;
64
+ inventoryHistory.palletId = inventory.palletId;
65
+ inventoryHistory.cartonId = inventory.cartonId;
66
+ inventoryHistory.batchId = inventory.batchId;
67
+ inventoryHistory.batchIdRef = inventory.batchIdRef;
68
+ inventoryHistory.status = inventory.status;
69
+ inventoryHistory.transactionType = transactionType;
70
+ inventoryHistory.refOrderId = (refOrder === null || refOrder === void 0 ? void 0 : refOrder.id) || null;
71
+ inventoryHistory.orderNo = (refOrder === null || refOrder === void 0 ? void 0 : refOrder.name) || null;
72
+ inventoryHistory.orderRefNo = (refOrder === null || refOrder === void 0 ? void 0 : refOrder.refNo) || null;
73
+ inventoryHistory.inventory = inventory;
74
+ inventoryHistory.targetInventory = targetInventory;
75
+ inventoryHistory.product = inventory.product;
76
+ inventoryHistory.reusablePallet = inventory.reusablePallet;
77
+ inventoryHistory.zone = inventory.zone;
78
+ inventoryHistory.warehouse = inventory.warehouse;
79
+ inventoryHistory.location = inventory.location;
80
+ inventoryHistory.expirationDate = inventory.expirationDate;
81
+ inventoryHistory.packingType = inventory.packingType;
82
+ inventoryHistory.packingSize = inventory.packingSize;
83
+ inventoryHistory.uom = inventory.uom;
84
+ inventoryHistory.qty = qty;
85
+ inventoryHistory.openingQty = openingQty;
86
+ inventoryHistory.uomValue = uomValue;
87
+ inventoryHistory.openingUomValue = openingUomValue;
88
+ inventoryHistory.unitCost = inventory.unitCost;
89
+ inventoryHistory.domain = inventory.domain;
90
+ inventoryHistory.bizplace = inventory.bizplace;
91
+ inventoryHistory.creator = user;
92
+ inventoryHistory.updater = user;
93
+ inventoryHistory = await invHistoryRepo.save(inventoryHistory);
94
+ if (inventory.lastSeq !== seq) {
95
+ await invRepo.save({
96
+ id: inventory.id,
97
+ lastSeq: inventoryHistory.seq,
98
+ updater: user
99
+ });
100
+ }
101
+ await switchLocationStatus(domain, location, user, trxMgr);
102
+ return inventoryHistory;
103
+ }
104
+ exports.generateInventoryHistory = generateInventoryHistory;
8
105
  /**
9
106
  * @description: Check location emptiness and update status of location
10
107
  * @param domain
@@ -1 +1 @@
1
- {"version":3,"file":"inventory-util.js","sourceRoot":"","sources":["../../server/utils/inventory-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inventory-util.js","sourceRoot":"","sources":["../../server/utils/inventory-util.ts"],"names":[],"mappings":";;;AAAA,qCAAkE;AAIlE,+DAAsD;AAEtD,mEAQuC;AAEvC;;;GAGG;AACI,KAAK,UAAU,wBAAwB,CAC5C,SAAoB,EACpB,QAAa,EACb,eAAuB,EACvB,MAAc,CAAC,EACf,WAAmB,CAAC,EACpB,IAAU,EACV,MAAsB,EACtB,kBAA6B,EAAE;;IAE/B,MAAM,cAAc,GAClB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,iCAAgB,CAAC,KAAI,IAAA,uBAAa,EAAC,iCAAgB,CAAC,CAAA;IAC5E,MAAM,OAAO,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,0BAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,0BAAS,CAAC,CAAA;IAEnG,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAA;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACtE,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,CAAA,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACpG,IACE,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA;QAClB,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA;QACpB,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,EAAE,CAAA;QACvB,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,0CAAE,EAAE,CAAA;QACzB,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,0CAAE,EAAE,CAAA,EACxB;QACA,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;YAChC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE;YAC3B,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC;SACtE,CAAC,CAAA;KACH;IAED,MAAM,MAAM,GAAW,SAAS,CAAC,MAAM,CAAA;IACvC,MAAM,QAAQ,GAAa,SAAS,CAAC,QAAQ,CAAA;IAE7C,MAAM,GAAG,GAAW,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC1G,IAAI,UAAU,GAAW,CAAC,CAAA;IAC1B,IAAI,eAAe,GAAW,CAAC,CAAA;IAE/B,IAAI,GAAG,EAAE;QACP,MAAM,cAAc,GAAqB,MAAM,cAAc,CAAC,OAAO,CAAC;YACpE,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,GAAG,EAAE,GAAG,GAAG,CAAC;SACb,CAAC,CAAA;QAEF,UAAU,GAAG,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC,GAAG,CAAA;QAC3D,eAAe,GAAG,cAAc,CAAC,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAA;KAC3E;IAED,IAAI,eAAe,IAAI,SAAS,IAAI,eAAe,IAAI,WAAW,EAAE;QAClE,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC,GAAqB,MAAM,cAAc,CAAC,YAAY,CAAC;YACxF,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,UAAU,EAAE,QAAQ,CAAC,EAAE;SACxB,CAAC,CAAA;QAEF,IAAI,oBAAoB,EAAE;YACxB,IAAI,YAAY,GAAG,CAAC,CAAA;YACpB,IAAI,iBAAiB,GAAG,CAAC,CAAA;YACzB,KAAK,IAAI,EAAE,IAAI,oBAAoB,EAAE;gBACnC,YAAY,IAAI,EAAE,CAAC,GAAG,CAAA;gBACtB,iBAAiB,IAAI,EAAE,CAAC,QAAQ,CAAA;aACjC;YACD,GAAG,IAAI,YAAY,CAAA;YACnB,QAAQ,IAAI,iBAAiB,CAAA;SAC9B;KACF;IAED,IAAI,gBAAgB,GAAqB,IAAI,iCAAgB,EAAE,CAAA;IAC/D,gBAAgB,CAAC,IAAI,GAAG,qCAAoB,CAAC,oBAAoB,EAAE,CAAA;IACnE,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;IACpD,gBAAgB,CAAC,GAAG,GAAG,GAAG,CAAA;IAC1B,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;IAC9C,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;IAC9C,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;IAC5C,gBAAgB,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAA;IAClD,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;IAC1C,gBAAgB,CAAC,eAAe,GAAG,eAAe,CAAA;IAClD,gBAAgB,CAAC,UAAU,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,KAAI,IAAI,CAAA;IAClD,gBAAgB,CAAC,OAAO,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,KAAI,IAAI,CAAA;IACjD,gBAAgB,CAAC,UAAU,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,KAAI,IAAI,CAAA;IACrD,gBAAgB,CAAC,SAAS,GAAG,SAAS,CAAA;IACtC,gBAAgB,CAAC,eAAe,GAAG,eAAe,CAAA;IAClD,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;IAC5C,gBAAgB,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAA;IAC1D,gBAAgB,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;IACtC,gBAAgB,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;IAChD,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;IAC9C,gBAAgB,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAA;IAC1D,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;IACpD,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;IACpD,gBAAgB,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAA;IACpC,gBAAgB,CAAC,GAAG,GAAG,GAAG,CAAA;IAC1B,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAA;IACxC,gBAAgB,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACpC,gBAAgB,CAAC,eAAe,GAAG,eAAe,CAAA;IAClD,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;IAC9C,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;IAC1C,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;IAC9C,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAA;IAC/B,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAA;IAE/B,gBAAgB,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAE9D,IAAI,SAAS,CAAC,OAAO,KAAK,GAAG,EAAE;QAC7B,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,OAAO,EAAE,gBAAgB,CAAC,GAAG;YAC7B,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;KACH;IAED,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAC1D,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAhHD,4DAgHC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,QAAkB,EAClB,OAAa,EACb,MAAsB;IAEtB,MAAM,OAAO,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,0BAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,0BAAS,CAAC,CAAA;IACnG,MAAM,YAAY,GAAyB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,yBAAQ,CAAC,KAAI,IAAA,uBAAa,EAAC,yBAAQ,CAAC,CAAA;IACrG,MAAM,iBAAiB,GAAW,MAAM,OAAO,CAAC,KAAK,CAAC;QACpD,MAAM;QACN,MAAM,EAAE,iCAAgB,CAAC,MAAM;QAC/B,QAAQ;KACT,CAAC,CAAA;IAEF,IAAI,CAAC,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,gCAAe,CAAC,KAAK,EAAE;QACnE,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,iCAC7B,QAAQ,KACX,MAAM,EAAE,gCAAe,CAAC,KAAK,EAC7B,OAAO,IACP,CAAA;KACH;SAAM,IAAI,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,gCAAe,CAAC,KAAK,EAAE;QACzE,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,iCAC7B,QAAQ,KACX,MAAM,EAAE,gCAAe,CAAC,QAAQ,EAChC,OAAO,IACP,CAAA;KACH;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AA7BD,oDA6BC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,QAAkB,EAClB,QAAgB,EAChB,MAAsB;IAEtB,MAAM,OAAO,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,0BAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,0BAAS,CAAC,CAAA;IACnG,MAAM,mBAAmB,GAAW,MAAM,OAAO,CAAC,KAAK,CAAC;QACtD,MAAM;QACN,QAAQ;QACR,QAAQ;KACT,CAAC,CAAA;IAEF,OAAO,OAAO,CAAC,mBAAmB,CAAC,CAAA;AACrC,CAAC;AAdD,wDAcC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,wBAAwB,CAC5C,MAAc,EACd,QAAkB,EAClB,QAAgB,EAChB,OAAe,EACf,OAAyB,EACzB,WAAmB,EACnB,MAAsB;;IAEtB,MAAM,WAAW,GAAwB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,sBAAO,CAAC,KAAI,IAAA,uBAAa,EAAC,sBAAO,CAAC,CAAA;IACjG,MAAM,OAAO,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,0BAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,0BAAS,CAAC,CAAA;IAEnG,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,MAAM,YAAY,GAAY,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAChE,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAA;QAC5E,OAAO,GAAG,YAAY,CAAA;KACvB;IAED,MAAM,GAAG,GAAc,MAAM,OAAO,CAAC,OAAO,CAAC;QAC3C,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;QACrC,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB,CAAC,CAAA;IAEF,IAAI,OAAO,KAAK,GAAG,CAAC,OAAO;QAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,gCAAgC,OAAO,EAAE,EAAE,CAAA;IAErH,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,OAAK,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,0CAAE,EAAE,CAAA;QAClC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,+BAA+B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAA;IAE9F,IAAI,WAAW,KAAK,GAAG,CAAC,WAAW;QACjC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,oCAAoC,WAAW,EAAE,EAAE,CAAA;IAElG,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;AAChC,CAAC;AAhCD,4DAgCC;AAED;;;;GAIG;AACI,KAAK,UAAU,qBAAqB,CACzC,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,EAAE,oBAAoB,EAAE,EACrH,MAAc,EACd,MAAqB;IAErB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,0BAAS,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAC1E,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC;SACzC,kBAAkB,CAAC,cAAc,EAAE,KAAK,CAAC;SACzC,SAAS,CAAC,QAAQ,CAAC,EAAE,CACpB,QAAQ;SACL,MAAM,CAAC,+BAA+B,EAAE,YAAY,CAAC;SACrD,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC;SAC/B,KAAK,CAAC,kCAAkC,CAAC;SACzC,QAAQ,CAAC,2FAA2F,CAAC;SACrG,QAAQ,CAAC,yCAAyC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CACrF;SACA,SAAS,CAAC,QAAQ,CAAC,EAAE,CACpB,QAAQ;SACL,MAAM,CAAC,qCAAqC,EAAE,iBAAiB,CAAC;SAChE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC;SAC/B,KAAK,CAAC,kCAAkC,CAAC;SACzC,QAAQ,CAAC,2FAA2F,CAAC;SACrG,QAAQ,CAAC,yCAAyC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CACrF;SACA,QAAQ,CAAC,+BAA+B,CAAC;SACzC,QAAQ,CAAC,0BAA0B,CAAC;SACpC,QAAQ,CAAC,qCAAqC,CAAC;SAC/C,QAAQ,CAAC,qCAAqC,CAAC;SAC/C,QAAQ,CAAC,oBAAoB,CAAC;SAC9B,QAAQ,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;SAC1D,QAAQ,CAAC,yCAAyC,EAAE;QACnD,aAAa,EAAE,CAAC,8BAAa,CAAC,UAAU,EAAE,8BAAa,CAAC,OAAO,CAAC;KACjE,CAAC;SACD,aAAa,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnB,SAAS;QACT,WAAW;QACX,WAAW;QACX,GAAG;KACJ,CAAC,CAAA;IAEJ,IAAI,OAAO,KAAK,EAAE,EAAE;QAClB,EAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;KACxD;IAED,IAAI,UAAU,EAAE;QACd,EAAE,CAAC,QAAQ,CAAC,mCAAmC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAA;KAC7E;IAED,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,QAAQ,eAAe,CAAC,WAAW,EAAE,EAAE;QACrC,KAAK,MAAM;YACT,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;YACvC,IAAI,oBAAoB,EAAE;gBACxB,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;oBACtC,EAAE,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAA;iBACvD;aACF;YACD,MAAK;QAEP,KAAK,MAAM;YACT,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA;YACxC,IAAI,oBAAoB,EAAE;gBACxB,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;oBACtC,EAAE,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAA;iBACvD;aACF;YACD,MAAK;QAEP,KAAK,MAAM;YACT,EAAE,CAAC,OAAO,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAA;YAC5C,EAAE,CAAC,UAAU,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;YAC1C,IAAI,oBAAoB,EAAE;gBACxB,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;oBACtC,EAAE,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAA;iBACvD;aACF;YACD,MAAK;QAEP,KAAK,MAAM;YACT,EAAE,CAAC,OAAO,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;YAC7C,EAAE,CAAC,UAAU,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;YAC1C,IAAI,oBAAoB,EAAE;gBACxB,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;oBACtC,EAAE,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAA;iBACvD;aACF;YACD,MAAK;QAEP,KAAK,UAAU;YACb,IAAI,oBAAoB,EAAE;gBACxB,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;oBACtC,IAAI,MAAM,KAAK,CAAC,EAAE;wBAChB,EAAE,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAA;qBACpD;yBAAM;wBACL,EAAE,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAA;qBACvD;oBACD,EAAE,MAAM,CAAA;iBACT;aACF;;gBAAM,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YACzC,MAAK;KACR;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,iBAAiB,EAAE,CAAA;IACtD,MAAM,KAAK,GAAG,QAAQ;SACnB,GAAG,CAAC,CAAC,GAAc,EAAE,GAAW,EAAE,EAAE;QACnC,MAAM,GAAG,GAAW,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,IAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9C,MAAM,QAAQ,GAAW,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,IAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7D,MAAM,SAAS,GAAW,GAAG,CAAC,SAAS,IAAI,CAAC,CAAA;QAC5C,MAAM,cAAc,GAAW,GAAG,CAAC,cAAc,IAAI,CAAC,CAAA;QACtD,MAAM,UAAU,GAAW,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC7D,MAAM,eAAe,GAAW,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAEzE,uCACK,GAAG,KACN,GAAG,EAAE,GAAG,GAAG,SAAS,GAAG,UAAU,EACjC,QAAQ,EAAE,QAAQ,GAAG,cAAc,GAAG,eAAe,IACtD;IACH,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,GAAc,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;IAE1C,MAAM,KAAK,GAAW,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAA;IACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AACzB,CAAC;AA5HD,sDA4HC;AAEM,KAAK,UAAU,mBAAmB,CAAC,SAAoB;IAC5D,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC9D,IAAI,OAAO,GAAwB,SAAS,CAAC,OAAO,CAAA;IACpD,IAAI,CAAC,OAAO,EAAE;QACZ,SAAS,GAAG,MAAM,IAAA,uBAAa,EAAC,0BAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE;YAC/D,SAAS,EAAE,CAAC,SAAS,CAAC;SACvB,CAAC,CAAA;QACF,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;KAC5B;IAED,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAA;IACpC,MAAM,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAA;IAE3D,IAAI,CAAC,qBAAqB,IAAI,CAAC,gBAAgB,IAAI,cAAc,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IAEpF,IAAI,IAAI,GAAS,IAAI,IAAI,EAAE,CAAA;IAC3B,MAAM,YAAY,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAA;IACpF,MAAM,UAAU,GAAS,IAAI,IAAI,CAAC,cAAc,CAAC,CAAA;IAEjD,OAAO,UAAU,GAAG,YAAY,CAAA;AAClC,CAAC;AApBD,kDAoBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/worksheet-base",
3
- "version": "4.3.113-alpha.0",
3
+ "version": "4.3.118",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,21 +24,22 @@
24
24
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
25
25
  },
26
26
  "dependencies": {
27
- "@things-factory/auth-base": "^4.3.113-alpha.0",
28
- "@things-factory/biz-base": "^4.3.113-alpha.0",
29
- "@things-factory/document-template-base": "^4.3.113-alpha.0",
30
- "@things-factory/id-rule-base": "^4.3.113-alpha.0",
31
- "@things-factory/integration-lmd": "^4.3.113-alpha.0",
32
- "@things-factory/integration-marketplace": "^4.3.113-alpha.0",
33
- "@things-factory/integration-sellercraft": "^4.3.113-alpha.0",
34
- "@things-factory/integration-sftp": "^4.3.113-alpha.0",
35
- "@things-factory/marketplace-base": "^4.3.113-alpha.0",
36
- "@things-factory/notification": "^4.3.113-alpha.0",
37
- "@things-factory/sales-base": "^4.3.113-alpha.0",
38
- "@things-factory/setting-base": "^4.3.113-alpha.0",
39
- "@things-factory/shell": "^4.3.113-alpha.0",
40
- "@things-factory/transport-base": "^4.3.113-alpha.0",
41
- "@things-factory/warehouse-base": "^4.3.113-alpha.0"
27
+ "@things-factory/auth-base": "^4.3.114",
28
+ "@things-factory/biz-base": "^4.3.114",
29
+ "@things-factory/document-template-base": "^4.3.114",
30
+ "@things-factory/id-rule-base": "^4.3.114",
31
+ "@things-factory/integration-accounting": "^4.3.114",
32
+ "@things-factory/integration-lmd": "^4.3.114",
33
+ "@things-factory/integration-marketplace": "^4.3.114",
34
+ "@things-factory/integration-sellercraft": "^4.3.114",
35
+ "@things-factory/integration-sftp": "^4.3.114",
36
+ "@things-factory/marketplace-base": "^4.3.114",
37
+ "@things-factory/notification": "^4.3.114",
38
+ "@things-factory/sales-base": "^4.3.118",
39
+ "@things-factory/setting-base": "^4.3.114",
40
+ "@things-factory/shell": "^4.3.114",
41
+ "@things-factory/transport-base": "^4.3.114",
42
+ "@things-factory/warehouse-base": "^4.3.114"
42
43
  },
43
- "gitHead": "3dd2e6f58cc2828ab5e2658d3fa47120165c802b"
44
+ "gitHead": "a6ad67f0ef58970cfbde4a41d6c3f35316b98411"
44
45
  }
@@ -114,17 +114,31 @@ export class EcommerceController extends WorksheetController {
114
114
  )
115
115
  }
116
116
 
117
- await StoreAPI.updateStoreProductVariationStock(marketplaceStore, [
118
- {
119
- itemId: storeProductVariation.marketplaceProduct.itemId,
120
- variationId: storeProductVariation.variationId,
121
- variationSku: storeProductVariation.variationSku,
122
- qty: adjustQty,
123
- locationId: productVariationLocationId,
124
- inventoryItemId: storeProductVariation.inventoryItemId,
125
- distributors: validMarketplaceDistributors
126
- }
127
- ])
117
+ const hasVariation: boolean = storeProductVariation?.marketplaceProduct?.hasVariation
118
+
119
+ if (hasVariation) {
120
+ await StoreAPI.updateStoreProductVariationStock(marketplaceStore, [
121
+ {
122
+ itemId: storeProductVariation.marketplaceProduct.itemId,
123
+ variationId: storeProductVariation.variationId,
124
+ variationSku: storeProductVariation.variationSku,
125
+ qty: adjustQty,
126
+ locationId: productVariationLocationId,
127
+ inventoryItemId: storeProductVariation.inventoryItemId,
128
+ distributors: validMarketplaceDistributors
129
+ }
130
+ ])
131
+ } else {
132
+ await StoreAPI.updateStoreProductStock(marketplaceStore, [
133
+ {
134
+ itemId: storeProductVariation.marketplaceProduct.itemId,
135
+ variationId: storeProductVariation.variationId,
136
+ variationSku: storeProductVariation.variationSku,
137
+ qty: adjustQty,
138
+ distributors: validMarketplaceDistributors
139
+ }
140
+ ])
141
+ }
128
142
 
129
143
  storeProductVariation.qty = remainQty
130
144
  storeProductVariation.updater = this.user
@@ -19,8 +19,8 @@ import {
19
19
  VAS_TARGET_TYPES,
20
20
  VAS_TYPES
21
21
  } from '@things-factory/sales-base'
22
- import { PartnerSetting, Setting } from '@things-factory/setting-base'
23
22
  import { Domain } from '@things-factory/shell'
23
+ import { PartnerSetting, Setting } from '@things-factory/setting-base'
24
24
  import {
25
25
  Inventory,
26
26
  INVENTORY_ITEM_SOURCE,
@@ -31,13 +31,12 @@ import {
31
31
  InventoryNoGenerator,
32
32
  Location,
33
33
  Pallet,
34
- Warehouse,
35
- generateInventoryHistory
34
+ Warehouse
36
35
  } from '@things-factory/warehouse-base'
37
36
 
38
37
  import { RULE_TYPE, WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../constants'
39
38
  import { Worksheet, WorksheetDetail } from '../../entities'
40
- import { DateGenerator } from '../../utils'
39
+ import { DateGenerator, generateInventoryHistory } from '../../utils'
41
40
  import { VasWorksheetController } from '../vas/vas-worksheet-controller'
42
41
 
43
42
  export type UnloadingWorksheetDetail = Partial<WorksheetDetail> & {
@@ -96,13 +95,11 @@ export class UnloadingWorksheetController extends VasWorksheetController {
96
95
  'worksheet.bufferLocation.warehouse',
97
96
  'targetProduct',
98
97
  'targetProduct.product',
99
- 'targetProduct.productDetail',
100
98
  'targetProduct.product.productDetails',
101
99
  'targetProduct.product.productDetails.childProductDetail',
102
100
  'targetInventory',
103
101
  'targetInventory.inventory',
104
102
  'targetInventory.product',
105
- 'targetInventory.productDetail',
106
103
  'targetInventory.product.productDetails',
107
104
  'targetInventory.product.productDetails.childProductDetail'
108
105
  ]
@@ -124,9 +121,6 @@ export class UnloadingWorksheetController extends VasWorksheetController {
124
121
  const batchId: string = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId
125
122
  const batchIdRef: string = Boolean(arrivalNotice) ? targetProduct.batchIdRef : null
126
123
  const product: Product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product
127
- const productDetail: ProductDetail = Boolean(arrivalNotice)
128
- ? targetProduct.productDetail
129
- : targetInventory.productDetail
130
124
  const packingType: string = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType
131
125
  const packingSize: number = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize
132
126
  const remark: string = Boolean(arrivalNotice) ? targetProduct.remark : targetInventory.remark
@@ -146,7 +140,6 @@ export class UnloadingWorksheetController extends VasWorksheetController {
146
140
 
147
141
  const palletId: string = inventory?.palletId
148
142
  const cartonId: string = inventory?.cartonId
149
- let matchingProduct
150
143
 
151
144
  if (!inventory?.palletId) {
152
145
  inventory.palletId = await generateId({
@@ -160,24 +153,35 @@ export class UnloadingWorksheetController extends VasWorksheetController {
160
153
  }
161
154
 
162
155
  if (productBarcode) {
163
- matchingProduct = await this.getDirectQty(
164
- {
165
- ...productDetail,
166
- product: targetInventory?.product
167
- },
168
- productBarcode,
169
- qty
170
- )
156
+ const productDetails: ProductDetail[] = product?.productDetails.filter(detail => !detail.deletedAt)
157
+ const isMatchingBarcode: boolean = productDetails.map(detail => detail.gtin).includes(productBarcode)
158
+ if (!isMatchingBarcode) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
171
159
 
172
- //validate matching product details based on scanned barcode
173
- if (!matchingProduct) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
160
+ const foundProductDetail: ProductDetail = productDetails.find(
161
+ (detail: ProductDetail) =>
162
+ detail.gtin === productBarcode && detail.packingType === packingType && detail.packingSize == packingSize
163
+ )
174
164
 
175
- qty = matchingProduct.qty
176
- uom = arrivalNotice ? targetProduct.uom : matchingProduct.uom
177
- }
165
+ if (!foundProductDetail) {
166
+ const orderProductDetail: ProductDetail = productDetails.find(
167
+ (parentDetail: ProductDetail) =>
168
+ parentDetail.packingType === packingType && parentDetail.packingSize == packingSize
169
+ )
170
+ if (!orderProductDetail)
171
+ throw new Error(
172
+ this.ERROR_MSG.FIND.NO_RESULT(`Packing Type ( ${packingType}) or Packing Size (${packingSize})`)
173
+ )
178
174
 
179
- if (!uom) {
180
- uom = productDetail.uom
175
+ if (arrivalNotice) {
176
+ uom = targetProduct.uom
177
+ } else {
178
+ uom = orderProductDetail.uom
179
+ }
180
+ qty = (await this.getChildQty(productDetails, productBarcode, orderProductDetail)) * qty
181
+ } else {
182
+ uom = foundProductDetail.uom
183
+ qty
184
+ }
181
185
  }
182
186
 
183
187
  const uomValue: number =
@@ -196,7 +200,6 @@ export class UnloadingWorksheetController extends VasWorksheetController {
196
200
  newInventory.cartonId = inventory.cartonId
197
201
  newInventory.batchId = batchId
198
202
  newInventory.product = product
199
- newInventory.productDetail = productDetail
200
203
  newInventory.packingType = packingType
201
204
  newInventory.packingSize = packingSize
202
205
  newInventory.uom = uom
@@ -267,11 +270,9 @@ export class UnloadingWorksheetController extends VasWorksheetController {
267
270
  'worksheet.bufferLocation.warehouse',
268
271
  'targetProduct',
269
272
  'targetProduct.product',
270
- 'targetProduct.productDetail',
271
273
  'targetProduct.product.productDetails',
272
274
  'targetProduct.product.productDetails.childProductDetail',
273
275
  'targetInventory',
274
- 'targetInventory.productDetail',
275
276
  'targetInventory.product',
276
277
  'targetInventory.product.productDetails',
277
278
  'targetInventory.product.productDetails.childProductDetail'
@@ -288,7 +289,7 @@ export class UnloadingWorksheetController extends VasWorksheetController {
288
289
 
289
290
  const targetProduct: OrderProduct = worksheetDetail.targetProduct
290
291
 
291
- if (targetProduct?.status == ORDER_PRODUCT_STATUS.EDITED)
292
+ if (targetProduct.status == ORDER_PRODUCT_STATUS.EDITED)
292
293
  throw new Error('this product is pending for changes approval')
293
294
 
294
295
  const bizplace: Bizplace = worksheetDetail.bizplace
@@ -297,9 +298,6 @@ export class UnloadingWorksheetController extends VasWorksheetController {
297
298
  const returnOrder: ReturnOrder = worksheet.returnOrder
298
299
  const targetInventory: OrderInventory = worksheetDetail.targetInventory
299
300
  const product: Product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product
300
- const productDetail: ProductDetail = Boolean(arrivalNotice)
301
- ? targetProduct.productDetail
302
- : targetInventory.productDetail
303
301
  const packingType: string = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType
304
302
  const packingSize: number = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize
305
303
  const batchId: string = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId
@@ -311,13 +309,15 @@ export class UnloadingWorksheetController extends VasWorksheetController {
311
309
 
312
310
  qty++
313
311
 
314
- const invQb: SelectQueryBuilder<Inventory> = this.trxMgr
312
+ const invQb: SelectQueryBuilder<Inventory> = await this.trxMgr
315
313
  .getRepository(Inventory)
316
314
  .createQueryBuilder('INV')
317
315
  .where('INV.domain_id = :domainId', { domainId: this.domain.id })
318
316
  .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: bizplace.id })
319
- .andWhere('INV.product_detail_id = :productDetailId', { productDetailId: productDetail.id })
317
+ .andWhere('INV.product_id = :productId', { productId: product.id })
320
318
  .andWhere('INV.batch_id = :batchId', { batchId: batchId })
319
+ .andWhere('INV.packing_type = :packingType', { packingType: packingType })
320
+ .andWhere('INV.packing_size = :packingSize', { packingSize: packingSize })
321
321
 
322
322
  if (arrivalNotice) invQb.andWhere('INV.ref_order_id = :arrivalNoticeId', { arrivalNoticeId: arrivalNotice.id })
323
323
  else if (returnOrder) invQb.andWhere('INV.ref_order_id = :returnOrderId', { returnOrderId: returnOrder.id })
@@ -357,7 +357,6 @@ export class UnloadingWorksheetController extends VasWorksheetController {
357
357
  newInventory.batchId = batchId
358
358
  newInventory.batchIdRef = batchIdRef
359
359
  newInventory.product = product
360
- newInventory.productDetail = productDetail
361
360
  newInventory.packingType = packingType
362
361
  newInventory.packingSize = packingSize
363
362
  newInventory.uom = uom
@@ -422,7 +421,6 @@ export class UnloadingWorksheetController extends VasWorksheetController {
422
421
  inventoryItem.status = foundInventory.status
423
422
  inventoryItem.inboundOrderId = foundInventory.refOrderId
424
423
  inventoryItem.product = product
425
- inventoryItem.productDetail = productDetail
426
424
  inventoryItem.inventory = foundInventory
427
425
  inventoryItem.source = INVENTORY_ITEM_SOURCE.INBOUND
428
426
  inventoryItem.domain = this.domain
@@ -459,12 +457,10 @@ export class UnloadingWorksheetController extends VasWorksheetController {
459
457
  'worksheet.bufferLocation.warehouse',
460
458
  'targetProduct',
461
459
  'targetProduct.product',
462
- 'targetProduct.productDetail',
463
460
  'targetProduct.product.productDetails',
464
461
  'targetProduct.product.productDetails.childProductDetail',
465
462
  'targetInventory',
466
463
  'targetInventory.product',
467
- 'targetInventory.productDetail',
468
464
  'targetInventory.product.productDetails',
469
465
  'targetInventory.product.productDetails.childProductDetail'
470
466
  ]
@@ -489,43 +485,56 @@ export class UnloadingWorksheetController extends VasWorksheetController {
489
485
  const returnOrder: ReturnOrder = worksheet.returnOrder
490
486
  const targetInventory: OrderInventory = worksheetDetail.targetInventory
491
487
  const product: Product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product
492
- const productDetail: ProductDetail = Boolean(arrivalNotice)
493
- ? targetProduct.productDetail
494
- : targetInventory.productDetail
495
488
  const packingType: string = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType
496
489
  const packingSize: number = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize
497
490
  const batchId: string = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId
498
- let qty: number = 1
491
+ let qty: number = 0
499
492
  let uom: string = Boolean(arrivalNotice) ? targetProduct.uom : targetInventory.uom
500
493
  const cartonId: string = inventory.cartonId
501
494
  const orderId: string = Boolean(arrivalNotice) ? arrivalNotice.id : returnOrder.id
502
495
  await this.checkCartonDuplication(cartonId, orderId)
503
- let matchingProduct
504
496
 
505
- if (productBarcode !== productDetail.gtin) {
506
- matchingProduct = await this.getDirectQty(
507
- {
508
- ...productDetail,
509
- product: targetInventory?.product
510
- },
511
- productBarcode,
512
- qty
513
- )
497
+ // search for matching product barcode
498
+ const productDetails: ProductDetail[] = product?.productDetails.filter(detail => !detail.deletedAt)
499
+ const isMatchingBarcode: boolean = productDetails.map(detail => detail.gtin).includes(productBarcode)
500
+ if (!isMatchingBarcode) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
514
501
 
515
- //validate matching product details based on scanned barcode
516
- if (!matchingProduct) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
502
+ // case for scanning parent packing type, packing size
503
+ const foundProductDetail: ProductDetail = productDetails.find(
504
+ (detail: ProductDetail) =>
505
+ detail.gtin === productBarcode && detail.packingType === packingType && detail.packingSize == packingSize
506
+ )
517
507
 
518
- qty = matchingProduct.qty
519
- uom = arrivalNotice ? targetProduct.uom : matchingProduct.uom
508
+ if (!foundProductDetail) {
509
+ const orderProductDetail: ProductDetail = productDetails.find(
510
+ (parentDetail: ProductDetail) =>
511
+ parentDetail.packingType === packingType && parentDetail.packingSize == packingSize
512
+ )
513
+ if (!orderProductDetail)
514
+ throw new Error(
515
+ this.ERROR_MSG.FIND.NO_RESULT(`Packing Type ( ${packingType}) or Packing Size (${packingSize})`)
516
+ )
517
+
518
+ if (arrivalNotice) {
519
+ uom = targetProduct.uom
520
+ } else {
521
+ uom = orderProductDetail.uom
522
+ }
523
+ qty = await this.getChildQty(productDetails, productBarcode, orderProductDetail)
524
+ } else {
525
+ uom = foundProductDetail.uom
526
+ qty++
520
527
  }
521
528
 
522
- const invQb: SelectQueryBuilder<Inventory> = this.trxMgr
529
+ const invQb: SelectQueryBuilder<Inventory> = await this.trxMgr
523
530
  .getRepository(Inventory)
524
531
  .createQueryBuilder('INV')
525
532
  .where('INV.domain_id = :domainId', { domainId: this.domain.id })
526
533
  .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: bizplace.id })
527
- .andWhere('INV.product_detail_id = :productDetailId', { productDetailId: productDetail.id })
534
+ .andWhere('INV.product_id = :productId', { productId: product.id })
528
535
  .andWhere('INV.batch_id = :batchId', { batchId: batchId })
536
+ .andWhere('INV.packing_type = :packingType', { packingType: packingType })
537
+ .andWhere('INV.packing_size = :packingSize', { packingSize: packingSize })
529
538
 
530
539
  if (arrivalNotice) invQb.andWhere('INV.ref_order_id = :arrivalNoticeId', { arrivalNoticeId: arrivalNotice.id })
531
540
  else if (returnOrder) invQb.andWhere('INV.ref_order_id = :returnOrderId', { returnOrderId: returnOrder.id })
@@ -565,7 +574,6 @@ export class UnloadingWorksheetController extends VasWorksheetController {
565
574
  newInventory.batchId = batchId
566
575
  newInventory.batchIdRef = batchIdRef
567
576
  newInventory.product = product
568
- newInventory.productDetail = productDetail
569
577
  newInventory.packingType = packingType
570
578
  newInventory.packingSize = packingSize
571
579
  newInventory.uom = uom
@@ -648,10 +656,8 @@ export class UnloadingWorksheetController extends VasWorksheetController {
648
656
  'worksheet.bufferLocation.warehouse',
649
657
  'targetProduct',
650
658
  'targetProduct.product',
651
- 'targetProduct.productDetail',
652
659
  'targetInventory',
653
- 'targetInventory.product',
654
- 'targetInventory.productDetail'
660
+ 'targetInventory.product'
655
661
  ]
656
662
  })
657
663
  if (!worksheetDetail) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(worksheetDetailName))
@@ -662,7 +668,9 @@ export class UnloadingWorksheetController extends VasWorksheetController {
662
668
  const returnOrder: ReturnOrder = worksheet.returnOrder
663
669
  const targetProduct: OrderProduct = worksheetDetail.targetProduct
664
670
  const targetInventory: OrderInventory = worksheetDetail.targetInventory
665
- const productDetail: Product = Boolean(arrivalNotice) ? targetProduct.productDetail : targetInventory.productDetail
671
+ const product: Product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product
672
+ const packingType: string = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType
673
+ const packingSize: number = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize
666
674
  const batchId: string = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId
667
675
 
668
676
  const invQb: SelectQueryBuilder<Inventory> = await this.trxMgr
@@ -670,8 +678,10 @@ export class UnloadingWorksheetController extends VasWorksheetController {
670
678
  .createQueryBuilder('INV')
671
679
  .where('INV.domain_id = :domainId', { domainId: this.domain.id })
672
680
  .andWhere('INV.bizplace_id = :bizplaceId', { bizplaceId: bizplace.id })
673
- .andWhere('INV.product_detail_id = :productDetailId', { productDetailId: productDetail.id })
681
+ .andWhere('INV.product_id = :productId', { productId: product.id })
674
682
  .andWhere('INV.batch_id = :batchId', { batchId: batchId })
683
+ .andWhere('INV.packing_type = :packingType', { packingType: packingType })
684
+ .andWhere('INV.packing_size = :packingSize', { packingSize: packingSize })
675
685
 
676
686
  if (arrivalNotice) invQb.andWhere('INV.ref_order_id = :arrivalNoticeId', { arrivalNoticeId: arrivalNotice.id })
677
687
  else if (returnOrder) invQb.andWhere('INV.ref_order_id = :returnOrderId', { returnOrderId: returnOrder.id })
@@ -704,7 +714,7 @@ export class UnloadingWorksheetController extends VasWorksheetController {
704
714
  const inventoryId: string = inventoryIds[i]
705
715
  let inventory: Inventory = await this.trxMgr.getRepository(Inventory).findOne({
706
716
  where: { domain: this.domain, id: inventoryId },
707
- relations: ['location', 'product', 'productDetail']
717
+ relations: ['location', 'product']
708
718
  })
709
719
 
710
720
  this.checkRecordValidity(inventory, {
@@ -734,11 +744,14 @@ export class UnloadingWorksheetController extends VasWorksheetController {
734
744
  if (orderType === ORDER_TYPES.ARRIVAL_NOTICE) {
735
745
  arrivalNotice = await this.trxMgr.getRepository(ArrivalNotice).findOne({
736
746
  where: { domain: this.domain, name: orderNo },
737
- relations: ['orderProducts', 'orderProducts.product', 'orderProducts.productDetail']
747
+ relations: ['orderProducts', 'orderProducts.product']
738
748
  })
739
749
 
740
750
  targetProduct = arrivalNotice.orderProducts.find(
741
- op => op.batchId == inventory.batchId && op.productDetail.id == inventory.productDetail.id
751
+ op =>
752
+ op.batchId == inventory.batchId &&
753
+ op.packingType == inventory.packingType &&
754
+ op.product.id === inventory.product.id
742
755
  )
743
756
 
744
757
  if (inventory.status == INVENTORY_STATUS.UNLOADED) {
@@ -757,17 +770,18 @@ export class UnloadingWorksheetController extends VasWorksheetController {
757
770
  worksheetDetail = await this.trxMgr
758
771
  .getRepository(WorksheetDetail)
759
772
  .findOne({ where: { domain: this.domain, targetProduct } })
760
-
761
- //remove all related serial numbers
762
- await this.trxMgr.getRepository(InventoryItem).delete({ inventory: inventoryId })
763
773
  } else {
764
774
  returnOrder = await this.trxMgr.getRepository(ReturnOrder).findOne({
765
775
  where: { domain: this.domain, name: orderNo },
766
- relations: ['orderInventories', 'orderInventories.inventory', 'orderInventories.productDetail']
776
+ relations: ['orderInventories', 'orderInventories.inventory', 'orderInventories.product']
767
777
  })
768
778
 
769
779
  targetInventory = returnOrder.orderInventories.find(
770
- oi => oi.batchId == inventory.batchId && oi.productDetail.id == inventory.productDetail.id
780
+ oi =>
781
+ oi.batchId == inventory.batchId &&
782
+ oi.packingType == inventory.packingType &&
783
+ oi.product.id == inventory.product.id &&
784
+ oi.packingSize === inventory.packingSize
771
785
  )
772
786
  if (inventory.status == INVENTORY_STATUS.UNLOADED) {
773
787
  targetInventory.actualPackQty -= qty