@things-factory/worksheet-base 5.0.0-alpha.4 → 5.0.0-alpha.40

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 (160) hide show
  1. package/dist-server/constants/template.js +1 -0
  2. package/dist-server/constants/template.js.map +1 -1
  3. package/dist-server/controllers/ecommerce/sellercraft-controller.js +9 -3
  4. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
  5. package/dist-server/controllers/inbound/unloading-worksheet-controller.js +309 -4
  6. package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
  7. package/dist-server/controllers/index.js +2 -0
  8. package/dist-server/controllers/index.js.map +1 -1
  9. package/dist-server/controllers/outbound/loading-worksheet-controller.js +10 -0
  10. package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -1
  11. package/dist-server/controllers/outbound/packing-worksheet-controller.js +172 -7
  12. package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
  13. package/dist-server/controllers/outbound/picking-worksheet-controller.js +352 -11
  14. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  15. package/dist-server/controllers/outbound/returning-worksheet-controller.js +11 -1
  16. package/dist-server/controllers/outbound/returning-worksheet-controller.js.map +1 -1
  17. package/dist-server/controllers/outbound/sorting-worksheet-controller.js +110 -3
  18. package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
  19. package/dist-server/controllers/render-fm-grn.js +229 -0
  20. package/dist-server/controllers/render-fm-grn.js.map +1 -0
  21. package/dist-server/controllers/render-grn.js +45 -21
  22. package/dist-server/controllers/render-grn.js.map +1 -1
  23. package/dist-server/controllers/render-invoices.js +103 -65
  24. package/dist-server/controllers/render-invoices.js.map +1 -1
  25. package/dist-server/controllers/render-orientage-do.js.map +1 -1
  26. package/dist-server/controllers/render-orientage-grn.js +1 -0
  27. package/dist-server/controllers/render-orientage-grn.js.map +1 -1
  28. package/dist-server/controllers/render-po.js +147 -0
  29. package/dist-server/controllers/render-po.js.map +1 -0
  30. package/dist-server/controllers/render-ro-do.js +65 -1
  31. package/dist-server/controllers/render-ro-do.js.map +1 -1
  32. package/dist-server/controllers/worksheet-controller.js +15 -0
  33. package/dist-server/controllers/worksheet-controller.js.map +1 -1
  34. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +10 -3
  35. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
  36. package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js +30 -1
  37. package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js.map +1 -1
  38. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js +27 -23
  39. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js.map +1 -1
  40. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +3 -0
  41. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
  42. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js +26 -2
  43. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js.map +1 -1
  44. package/dist-server/graphql/resolvers/worksheet/packing/index.js +2 -1
  45. package/dist-server/graphql/resolvers/worksheet/packing/index.js.map +1 -1
  46. package/dist-server/graphql/resolvers/worksheet/packing/packing.js +4 -4
  47. package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
  48. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +4 -4
  49. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
  50. package/dist-server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.js +15 -0
  51. package/dist-server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.js.map +1 -0
  52. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +152 -132
  53. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  54. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js +13 -10
  55. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js.map +1 -1
  56. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +6 -19
  57. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  58. package/dist-server/graphql/resolvers/worksheet/picking/index.js +2 -1
  59. package/dist-server/graphql/resolvers/worksheet/picking/index.js.map +1 -1
  60. package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js +49 -58
  61. package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js.map +1 -1
  62. package/dist-server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.js +15 -0
  63. package/dist-server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.js.map +1 -0
  64. package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js +4 -4
  65. package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js.map +1 -1
  66. package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js +4 -4
  67. package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js.map +1 -1
  68. package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js +6 -0
  69. package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js.map +1 -1
  70. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js +3 -2
  71. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -1
  72. package/dist-server/graphql/resolvers/worksheet/unloading/index.js +3 -1
  73. package/dist-server/graphql/resolvers/worksheet/unloading/index.js.map +1 -1
  74. package/dist-server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.js +15 -0
  75. package/dist-server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.js.map +1 -0
  76. package/dist-server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.js +15 -0
  77. package/dist-server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.js.map +1 -0
  78. package/dist-server/graphql/resolvers/worksheet/unloading/unload.js.map +1 -1
  79. package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js +3 -1
  80. package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js.map +1 -1
  81. package/dist-server/graphql/resolvers/worksheet/worksheets.js +18 -0
  82. package/dist-server/graphql/resolvers/worksheet/worksheets.js.map +1 -1
  83. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js +4 -5
  84. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js.map +1 -1
  85. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js +4 -2
  86. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js.map +1 -1
  87. package/dist-server/graphql/types/worksheet/find-release-orders-by-task-no.js +11 -0
  88. package/dist-server/graphql/types/worksheet/find-release-orders-by-task-no.js.map +1 -0
  89. package/dist-server/graphql/types/worksheet/index.js +33 -6
  90. package/dist-server/graphql/types/worksheet/index.js.map +1 -1
  91. package/dist-server/graphql/types/worksheet/picking-assignment-status.js +2 -2
  92. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js +3 -0
  93. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js.map +1 -1
  94. package/dist-server/graphql/types/worksheet/worksheet-info.js +1 -0
  95. package/dist-server/graphql/types/worksheet/worksheet-info.js.map +1 -1
  96. package/dist-server/graphql/types/worksheet/worksheet-patch.js +1 -0
  97. package/dist-server/graphql/types/worksheet/worksheet-patch.js.map +1 -1
  98. package/dist-server/graphql/types/worksheet-detail/index.js +0 -2
  99. package/dist-server/graphql/types/worksheet-detail/index.js.map +1 -1
  100. package/dist-server/index.js +5 -0
  101. package/dist-server/index.js.map +1 -1
  102. package/dist-server/routes.js +12 -0
  103. package/dist-server/routes.js.map +1 -1
  104. package/dist-server/utils/inventory-util.js +14 -25
  105. package/dist-server/utils/inventory-util.js.map +1 -1
  106. package/package.json +17 -17
  107. package/server/constants/template.ts +1 -0
  108. package/server/controllers/ecommerce/sellercraft-controller.ts +10 -3
  109. package/server/controllers/inbound/unloading-worksheet-controller.ts +376 -8
  110. package/server/controllers/index.ts +3 -0
  111. package/server/controllers/outbound/loading-worksheet-controller.ts +13 -0
  112. package/server/controllers/outbound/packing-worksheet-controller.ts +224 -9
  113. package/server/controllers/outbound/picking-worksheet-controller.ts +465 -16
  114. package/server/controllers/outbound/returning-worksheet-controller.ts +12 -1
  115. package/server/controllers/outbound/sorting-worksheet-controller.ts +149 -4
  116. package/server/controllers/render-fm-grn.ts +266 -0
  117. package/server/controllers/render-grn.ts +57 -23
  118. package/server/controllers/render-invoices.ts +119 -72
  119. package/server/controllers/render-orientage-do.ts +11 -11
  120. package/server/controllers/render-orientage-grn.ts +12 -11
  121. package/server/controllers/render-po.ts +170 -0
  122. package/server/controllers/render-ro-do.ts +93 -8
  123. package/server/controllers/worksheet-controller.ts +18 -2
  124. package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +13 -4
  125. package/server/graphql/resolvers/worksheet/find-release-orders-by-task-no.ts +35 -2
  126. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.ts +35 -25
  127. package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +2 -0
  128. package/server/graphql/resolvers/worksheet/loading/complete-loading.ts +41 -8
  129. package/server/graphql/resolvers/worksheet/packing/index.ts +3 -1
  130. package/server/graphql/resolvers/worksheet/packing/packing.ts +5 -4
  131. package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +9 -4
  132. package/server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.ts +24 -0
  133. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +167 -145
  134. package/server/graphql/resolvers/worksheet/picking/assign-picking-worker.ts +15 -11
  135. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +5 -20
  136. package/server/graphql/resolvers/worksheet/picking/index.ts +3 -1
  137. package/server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.ts +62 -61
  138. package/server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.ts +24 -0
  139. package/server/graphql/resolvers/worksheet/sorting/scan-product-sorting.ts +5 -4
  140. package/server/graphql/resolvers/worksheet/sorting/sorting-product.ts +5 -4
  141. package/server/graphql/resolvers/worksheet/sorting-worksheet.ts +6 -0
  142. package/server/graphql/resolvers/worksheet/unloaded-inventories.ts +6 -2
  143. package/server/graphql/resolvers/worksheet/unloading/index.ts +4 -0
  144. package/server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.ts +26 -0
  145. package/server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.ts +24 -0
  146. package/server/graphql/resolvers/worksheet/unloading/unload.ts +3 -1
  147. package/server/graphql/resolvers/worksheet/unloading-worksheet.ts +3 -1
  148. package/server/graphql/resolvers/worksheet/worksheets.ts +26 -0
  149. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.ts +10 -12
  150. package/server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.ts +4 -2
  151. package/server/graphql/types/worksheet/find-release-orders-by-task-no.ts +8 -0
  152. package/server/graphql/types/worksheet/index.ts +33 -6
  153. package/server/graphql/types/worksheet/picking-assignment-status.ts +2 -2
  154. package/server/graphql/types/worksheet/worksheet-detail-info.ts +3 -0
  155. package/server/graphql/types/worksheet/worksheet-info.ts +1 -0
  156. package/server/graphql/types/worksheet/worksheet-patch.ts +1 -0
  157. package/server/graphql/types/worksheet-detail/index.ts +0 -2
  158. package/server/index.ts +5 -0
  159. package/server/routes.ts +17 -0
  160. package/server/utils/inventory-util.ts +15 -23
@@ -1 +1 @@
1
- {"version":3,"file":"returning-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/returning-worksheet-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"returning-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/returning-worksheet-controller.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ class SortingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
36
36
  await this.updateOrderTargets(targetInventories);
37
37
  return await this.activateWorksheet(worksheet, worksheetDetails, sortingWorksheetDetails);
38
38
  }
39
- async scanProductSorting(taskNo, releaseGoodNo, productBarcode) {
39
+ async scanProductSorting(taskNo, releaseGoodNo, productBarcode, serialNumber) {
40
40
  const worksheet = await this.trxMgr.getRepository(entities_1.Worksheet).findOne({
41
41
  where: {
42
42
  domain: this.domain,
@@ -90,7 +90,46 @@ class SortingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
90
90
  const releaseQty = matchingOI.releaseQty;
91
91
  const inventory = matchingOI.inventory;
92
92
  const releaseGood = matchingOI.releaseGood;
93
+ const product = inventory.product;
93
94
  if (releaseQty != (matchingOI === null || matchingOI === void 0 ? void 0 : matchingOI.sortedQty) && sortedQty == 1) {
95
+ // Serial Number scanning for batch picking
96
+ if (matchingOI === null || matchingOI === void 0 ? void 0 : matchingOI.refWorksheetId) {
97
+ if (product === null || product === void 0 ? void 0 : product.isRequireSerialNumberScanningOutbound) {
98
+ if (!serialNumber || serialNumber == '') {
99
+ throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('sorting', `require serial number`));
100
+ }
101
+ let foundSerialNumber = await this.trxMgr
102
+ .getRepository(warehouse_base_1.InventoryItem)
103
+ .findOne({ where: { domain: this.domain, serialNumber: serialNumber, product } });
104
+ if (foundSerialNumber) {
105
+ if (foundSerialNumber.inventoryId !== inventory.id) {
106
+ throw new Error('Serial Number scanned is in another inventory');
107
+ }
108
+ if (foundSerialNumber.outboundOrderId) {
109
+ let releaseGood = await this.trxMgr
110
+ .getRepository(sales_base_1.ReleaseGood)
111
+ .findOne({ where: { id: foundSerialNumber.outboundOrderId } });
112
+ throw new Error(`Inventory Item is already picked/sorted in ${releaseGood.name}`);
113
+ }
114
+ foundSerialNumber.status = warehouse_base_1.INVENTORY_STATUS.SORTING;
115
+ foundSerialNumber.updater = this.user;
116
+ foundSerialNumber.outboundOrderId = releaseGood.id;
117
+ await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(foundSerialNumber);
118
+ }
119
+ else {
120
+ let inventoryItem = new warehouse_base_1.InventoryItem();
121
+ inventoryItem.name = warehouse_base_1.InventoryNoGenerator.inventoryItemName();
122
+ inventoryItem.serialNumber = serialNumber;
123
+ inventoryItem.status = warehouse_base_1.INVENTORY_STATUS.SORTING;
124
+ inventoryItem.outboundOrderId = releaseGood.id;
125
+ inventoryItem.source = warehouse_base_1.INVENTORY_ITEM_SOURCE.OUTBOUND;
126
+ inventoryItem.product = product;
127
+ inventoryItem.inventory = inventory;
128
+ inventoryItem.domain = this.domain;
129
+ await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(inventoryItem);
130
+ }
131
+ }
132
+ }
94
133
  matchingOI.sortedQty = Boolean(matchingOI === null || matchingOI === void 0 ? void 0 : matchingOI.sortedQty) ? matchingOI.sortedQty + sortedQty : sortedQty;
95
134
  sortedQty -= 1;
96
135
  if (matchingOI.sortedQty == releaseQty) {
@@ -101,6 +140,16 @@ class SortingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
101
140
  worksheetDetail.status = constants_1.WORKSHEET_STATUS.DONE;
102
141
  worksheetDetail.updater = this.user;
103
142
  await this.trxMgr.getRepository(entities_1.WorksheetDetail).save(worksheetDetail);
143
+ let inventoryItems = await this.trxMgr
144
+ .getRepository(warehouse_base_1.InventoryItem)
145
+ .find({ where: { outboundOrderId: releaseGood.id } });
146
+ if (inventoryItems.length > 0) {
147
+ inventoryItems.forEach((itm) => {
148
+ itm.status = warehouse_base_1.INVENTORY_STATUS.SORTED;
149
+ itm.updater = this.user;
150
+ });
151
+ await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(inventoryItems);
152
+ }
104
153
  }
105
154
  else if ((matchingOI === null || matchingOI === void 0 ? void 0 : matchingOI.sortedQty) > releaseQty) {
106
155
  const product = matchingOI.inventory.product;
@@ -114,7 +163,7 @@ class SortingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
114
163
  }
115
164
  }
116
165
  }
117
- async sortingProduct(taskNo, releaseGoodNo, productId, sortingQty) {
166
+ async sortingProduct(taskNo, releaseGoodNo, productId, sortingQty, serialNumber) {
118
167
  const worksheet = await this.trxMgr.getRepository(entities_1.Worksheet).findOne({
119
168
  where: {
120
169
  domain: this.domain,
@@ -149,13 +198,61 @@ class SortingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
149
198
  const product = matchingOI.inventory.product;
150
199
  const packingType = matchingOI.packingType;
151
200
  const packingSize = matchingOI.packingSize;
201
+ if (product === null || product === void 0 ? void 0 : product.isRequireSerialNumberScanningOutbound) {
202
+ if (!serialNumber || serialNumber == '') {
203
+ throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('sorting', `require serial number`));
204
+ }
205
+ let foundSerialNumber = await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).findOne({
206
+ where: { domain: this.domain, serialNumber: serialNumber, product },
207
+ relations: ['product', 'inventory']
208
+ });
209
+ if (foundSerialNumber) {
210
+ if (foundSerialNumber.outboundOrderId) {
211
+ let releaseGood = await this.trxMgr
212
+ .getRepository(sales_base_1.ReleaseGood)
213
+ .findOne({ where: { id: foundSerialNumber.outboundOrderId } });
214
+ throw new Error(`Inventory Item is already picked/sorted in ${releaseGood.name}`);
215
+ }
216
+ foundSerialNumber.status = warehouse_base_1.INVENTORY_STATUS.SORTING;
217
+ foundSerialNumber.updater = this.user;
218
+ foundSerialNumber.outboundOrderId = releaseGood.id;
219
+ await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(foundSerialNumber);
220
+ }
221
+ else {
222
+ let inventoryItem = new warehouse_base_1.InventoryItem();
223
+ inventoryItem.name = warehouse_base_1.InventoryNoGenerator.inventoryItemName();
224
+ inventoryItem.serialNumber = serialNumber;
225
+ inventoryItem.status = warehouse_base_1.INVENTORY_STATUS.SORTING;
226
+ inventoryItem.source = warehouse_base_1.INVENTORY_ITEM_SOURCE.OUTBOUND;
227
+ inventoryItem.outboundOrderId = releaseGood.id;
228
+ inventoryItem.product = product;
229
+ inventoryItem.inventory = inventory;
230
+ inventoryItem.domain = this.domain;
231
+ foundSerialNumber = await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(inventoryItem);
232
+ }
233
+ }
152
234
  if (releaseQty != (matchingOI === null || matchingOI === void 0 ? void 0 : matchingOI.sortedQty) && sortingQty != 0) {
153
- matchingOI.sortedQty = releaseQty;
235
+ if (product === null || product === void 0 ? void 0 : product.isRequireSerialNumberScanningOutbound) {
236
+ matchingOI.sortedQty += sortingQty;
237
+ }
238
+ else {
239
+ matchingOI.sortedQty = releaseQty;
240
+ }
154
241
  sortingQty -= releaseQty;
155
242
  if (matchingOI.sortedQty == releaseQty) {
156
243
  matchingOI.status = sales_base_1.ORDER_INVENTORY_STATUS.SORTED;
157
244
  await this.updateOrderTargets([matchingOI]);
158
245
  await this.transactionInventory(inventory, releaseGood, 0, 0, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.SORTING);
246
+ let inventoryItems = await this.trxMgr
247
+ .getRepository(warehouse_base_1.InventoryItem)
248
+ .find({ where: { outboundOrderId: releaseGood.id } });
249
+ if (inventoryItems.length > 0) {
250
+ inventoryItems.forEach((itm) => {
251
+ itm.status = warehouse_base_1.INVENTORY_STATUS.PACKED;
252
+ itm.updater = this.user;
253
+ });
254
+ await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(inventoryItems);
255
+ }
159
256
  let worksheetDetail = worksheetDetails.find(wsd => wsd.targetInventory.id === matchingOI.id);
160
257
  worksheetDetail.status = constants_1.WORKSHEET_STATUS.DONE;
161
258
  worksheetDetail.updater = this.user;
@@ -180,6 +277,16 @@ class SortingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
180
277
  releaseGood.status = sales_base_1.ORDER_STATUS.READY_TO_LOAD;
181
278
  releaseGood.updater = this.user;
182
279
  await this.trxMgr.getRepository(sales_base_1.ReleaseGood).save(releaseGood);
280
+ let inventoryItems = await this.trxMgr
281
+ .getRepository(warehouse_base_1.InventoryItem)
282
+ .find({ where: { outboundOrderId: releaseGood.id } });
283
+ if (inventoryItems.length > 0) {
284
+ inventoryItems.forEach((itm) => {
285
+ itm.status = warehouse_base_1.INVENTORY_STATUS.TERMINATED;
286
+ itm.updater = this.user;
287
+ });
288
+ await this.trxMgr.getRepository(warehouse_base_1.InventoryItem).save(inventoryItems);
289
+ }
183
290
  return releaseGood;
184
291
  }
185
292
  async completeWorksheetSorting(taskNo) {
@@ -1 +1 @@
1
- {"version":3,"file":"sorting-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/sorting-worksheet-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sorting-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/sorting-worksheet-controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.renderFmGRN = void 0;
7
+ const form_data_1 = __importDefault(require("form-data"));
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ const node_fetch_1 = __importDefault(require("node-fetch"));
10
+ const typeorm_1 = require("typeorm");
11
+ const attachment_base_1 = require("@things-factory/attachment-base");
12
+ const auth_base_1 = require("@things-factory/auth-base");
13
+ const biz_base_1 = require("@things-factory/biz-base");
14
+ const env_1 = require("@things-factory/env");
15
+ const sales_base_1 = require("@things-factory/sales-base");
16
+ const shell_1 = require("@things-factory/shell");
17
+ const warehouse_base_1 = require("@things-factory/warehouse-base");
18
+ const constants_1 = require("../constants");
19
+ const entities_1 = require("../entities");
20
+ const datetime_util_1 = require("../utils/datetime-util");
21
+ const REPORT_API_URL = env_1.config.get('reportApiUrl', 'http://localhost:8888/rest/report/show_html');
22
+ async function renderFmGRN({ grnNo, timezoneOffSet }, context) {
23
+ // 1. find domain
24
+ const domain = await (0, typeorm_1.getRepository)(shell_1.Domain).findOne({
25
+ where: { id: context.state.domain.id }
26
+ });
27
+ // 2. find grn
28
+ const foundGRN = await (0, typeorm_1.getRepository)(sales_base_1.GoodsReceivalNote).findOne({
29
+ where: { domain, name: grnNo },
30
+ relations: ['domain', 'bizplace', 'bizplace.domain', 'bizplace.company', 'arrivalNotice']
31
+ });
32
+ // 3. find GAN
33
+ const foundGAN = foundGRN.arrivalNotice;
34
+ const ownRefNo = foundGAN.refNo;
35
+ const foundInventoryItem = await (0, typeorm_1.getRepository)(warehouse_base_1.InventoryItem).query(`select row_number() over (partition by p.sku) as "seq",p.sku,p.brand_sku, ii.serial_number from inventory_items ii left join products p on ii.product_id = p.id where inbound_order_id = '${foundGAN.id}' group by p.sku,ii.serial_number,p.brand_sku`);
36
+ // 4. find customer bizplace
37
+ const partnerBiz = foundGRN.bizplace;
38
+ const partnerDomain = await (0, typeorm_1.getRepository)(auth_base_1.Partner).findOne({
39
+ where: { partnerDomain: partnerBiz.domain, domain },
40
+ relations: ['domain']
41
+ });
42
+ const domainOwner = partnerDomain.domain;
43
+ const domainBizplace = await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findOne({
44
+ where: { domain: domainOwner },
45
+ relations: ['company']
46
+ });
47
+ const qbReducedInventory = (0, typeorm_1.getRepository)(warehouse_base_1.ReducedInventoryHistory)
48
+ .createQueryBuilder('ivh')
49
+ .select('product_id', 'productId')
50
+ .addSelect('batch_id', 'batchId')
51
+ .addSelect('reusable_pallet_id', 'reusablePalletId')
52
+ .addSelect('packing_type', 'packingType')
53
+ .addSelect('sum(qty)', 'qty')
54
+ .addSelect('sum(uom_value)', 'uomValue')
55
+ .addSelect('uom', 'uom')
56
+ .addSelect('expiration_date', 'expiryDate')
57
+ .addSelect('count(distinct pallet_id)', 'pallet')
58
+ .addSelect(`string_agg(distinct pallet_id::varchar,', ' order by pallet_id::varchar)`, 'palletId')
59
+ .where('ivh.domain_id = :domainId', { domainId: domain.id })
60
+ .andWhere('ivh.ref_order_id = :refOrderId', { refOrderId: foundGAN.id })
61
+ .andWhere(`ivh.transaction_type = 'UNLOADING'`)
62
+ .groupBy('reusable_pallet_id')
63
+ .addGroupBy('product_id')
64
+ .addGroupBy('batch_id')
65
+ .addGroupBy('packing_type')
66
+ .addGroupBy('uom')
67
+ .addGroupBy('expiration_date')
68
+ .getRawMany();
69
+ // 5. find domain contact point
70
+ const foundCP = await (0, typeorm_1.getRepository)(biz_base_1.ContactPoint).findOne({
71
+ where: { domain, bizplace: domainBizplace }
72
+ });
73
+ // 5. find domain contact point
74
+ const foundPartnerCP = await (0, typeorm_1.getRepository)(biz_base_1.ContactPoint).findOne({
75
+ where: { domain, bizplace: partnerBiz }
76
+ });
77
+ // 6. find unloading worksheet
78
+ const foundWS = await (0, typeorm_1.getRepository)(entities_1.Worksheet).findOne({
79
+ where: { domain, arrivalNotice: foundGAN, type: constants_1.WORKSHEET_TYPE.UNLOADING, status: sales_base_1.ORDER_STATUS.DONE },
80
+ relations: ['worksheetDetails', 'updater']
81
+ });
82
+ // find putaway worksheet
83
+ const foundPutawayWS = await (0, typeorm_1.getRepository)(entities_1.Worksheet).findOne({
84
+ where: { domain, arrivalNotice: foundGAN, type: constants_1.WORKSHEET_TYPE.PUTAWAY, status: sales_base_1.ORDER_STATUS.DONE },
85
+ relations: ['worksheetDetails', 'updater']
86
+ });
87
+ const targetProducts = await (0, typeorm_1.getRepository)(sales_base_1.OrderProduct).find({
88
+ where: { domain, arrivalNotice: foundGAN, actualPalletQty: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()), actualPackQty: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()) },
89
+ relations: ['product']
90
+ });
91
+ // 7. find grn template based on category
92
+ const foundTemplate = await (0, typeorm_1.getRepository)(attachment_base_1.Attachment).findOne({
93
+ where: { domain, category: constants_1.TEMPLATE_TYPE.GRN_TEMPLATE }
94
+ });
95
+ // 8. find grn logo
96
+ const foundLogo = await (0, typeorm_1.getRepository)(attachment_base_1.Attachment).findOne({
97
+ where: {
98
+ domain,
99
+ category: constants_1.TEMPLATE_TYPE.LOGO
100
+ }
101
+ });
102
+ // 9. find signature
103
+ const foundSignature = await (0, typeorm_1.getRepository)(attachment_base_1.Attachment).findOne({
104
+ where: {
105
+ domain,
106
+ category: constants_1.TEMPLATE_TYPE.SIGNATURE
107
+ }
108
+ });
109
+ const foundCop = await (0, typeorm_1.getRepository)(attachment_base_1.Attachment).findOne({
110
+ where: {
111
+ domain,
112
+ category: constants_1.TEMPLATE_TYPE.COP
113
+ }
114
+ });
115
+ const inboundInventories = await qbReducedInventory;
116
+ const template = await attachment_base_1.STORAGE.readFile(foundTemplate.path, 'utf-8');
117
+ let logo = null;
118
+ if (foundLogo === null || foundLogo === void 0 ? void 0 : foundLogo.path) {
119
+ logo = 'data:' + foundLogo.mimetype + ';base64,' + (await attachment_base_1.STORAGE.readFile(foundLogo.path, 'base64'));
120
+ }
121
+ let signature = null;
122
+ if (foundSignature === null || foundSignature === void 0 ? void 0 : foundSignature.path) {
123
+ signature = 'data:' + foundSignature.mimetype + ';base64,' + (await attachment_base_1.STORAGE.readFile(foundSignature.path, 'base64'));
124
+ }
125
+ let cop = null;
126
+ if (foundCop === null || foundCop === void 0 ? void 0 : foundCop.path) {
127
+ cop = 'data:' + foundSignature.mimetype + ';base64,' + (await attachment_base_1.STORAGE.readFile(foundCop.path, 'base64'));
128
+ }
129
+ const filterInventoryItem = lodash_1.default.groupBy(foundInventoryItem, i => i.sku);
130
+ const tempIndexArr = [];
131
+ const tempTotalQuantity = [];
132
+ Object.keys(filterInventoryItem).forEach(k => {
133
+ const tempIndex = foundInventoryItem.findIndex(i => {
134
+ return i.sku == k;
135
+ });
136
+ tempIndexArr.push(tempIndex);
137
+ });
138
+ Object.values(filterInventoryItem).forEach(k => {
139
+ const tempQuantity = k.length;
140
+ tempTotalQuantity.push(tempQuantity);
141
+ });
142
+ tempIndexArr.forEach((t, index) => {
143
+ if (t >= 0)
144
+ foundInventoryItem[t].totalQuantity = tempTotalQuantity[index];
145
+ });
146
+ const data = {
147
+ logo_url: logo,
148
+ sign_url: signature,
149
+ cop_url: cop,
150
+ customer_biz: partnerBiz.name,
151
+ customer_address: partnerBiz.address,
152
+ company_domain: domainBizplace.company.name,
153
+ company_phone: foundCP.phone,
154
+ company_email: foundCP.email,
155
+ company_brn: domainBizplace.company.brn,
156
+ company_address: domainBizplace.company.address,
157
+ warehouse_address: foundCP.address,
158
+ warehouse_address2: foundCP.address2,
159
+ warehouse_postcode: foundCP.postCode,
160
+ warehouse_city: foundCP.city,
161
+ warehouse_state: foundCP.state,
162
+ warehouse_phone: foundCP.phone,
163
+ warehouse_fax: foundCP.fax,
164
+ warehouse_email: foundCP.email,
165
+ order_no: foundGRN.name,
166
+ gan_no: foundGAN.name,
167
+ gan_accepted_at: foundGAN.acceptedAt ? datetime_util_1.DateTimeConverter.datetime(foundGAN.acceptedAt, timezoneOffSet) : '',
168
+ unload_date: datetime_util_1.DateTimeConverter.date(foundWS.endedAt),
169
+ ref_no: ownRefNo ? `${foundGAN.name} / ${foundGAN.refNo}` : `${foundGAN.name}`,
170
+ ref_no_only: ownRefNo ? ` ${foundGAN.refNo}` : '',
171
+ ref_no1: foundGAN.refNo2 ? `${foundGAN.refNo2}` : '',
172
+ ref_no2: foundGAN.refNo3 ? `${foundGAN.refNo3}` : '',
173
+ received_date: datetime_util_1.DateTimeConverter.date(foundWS.endedAt),
174
+ truck_no: foundGAN.truckNo || '',
175
+ container_no: foundGAN.containerNo || '',
176
+ container_size: foundGAN.containerSize || '',
177
+ delivery_order_no: foundGAN.deliveryOrderNo ? foundGAN.deliveryOrderNo : '',
178
+ account_no: foundPartnerCP ? foundPartnerCP.accountNo : '',
179
+ unloaded_by: foundWS ? foundWS.updater.name : '',
180
+ putaway_by: foundPutawayWS ? foundPutawayWS.updater.name : '',
181
+ product_list: targetProducts
182
+ .reduce((acc, item) => {
183
+ acc.push(...inboundInventories
184
+ .filter(ih => ih.productId == item.product.id &&
185
+ ih.batchId == item.batchId &&
186
+ ih.packingType == item.packingType &&
187
+ ih.uom == item.uom)
188
+ .map(unloadInvHistory => {
189
+ return {
190
+ product_sku: `${item.product.sku}`,
191
+ product_brand_sku: `${item.product.brandSku}`,
192
+ product_name: `${item.product.name}(${item.product.description})`,
193
+ product_desc: item.product.description,
194
+ product_nameOnly: item.product.name,
195
+ product_type: item.packingType,
196
+ product_size: item.packingSize,
197
+ product_batch: item.batchId,
198
+ batch_id_ref: (item === null || item === void 0 ? void 0 : item.batchIdRef) ? item.batchIdRef : '',
199
+ pallet_qty: item.actualPalletQty,
200
+ product_qty: unloadInvHistory.qty || item.actualPackQty,
201
+ product_pack_qty: item.packQty,
202
+ descrepancy_qty: (unloadInvHistory.qty || item.actualPackQty) - item.packQty,
203
+ product_unit_uom_value: `${Math.round(item.uomValue * 100) / 100}`,
204
+ product_total_uom_value: `${Math.round((unloadInvHistory.uomValue || item.uomValue * item.actualPackQty) * 100) / 100}`,
205
+ product_uom: `${unloadInvHistory.uom || item.uom}`,
206
+ product_gross_weight: item.product.grossWeight || null,
207
+ unit_price: item.unitPrice || null,
208
+ expiry_date: unloadInvHistory.expiryDate && unloadInvHistory.expiryDate != '' ? new Date(unloadInvHistory.expiryDate).toISOString().split('T')[0] : '',
209
+ manufacture_date: item.manufactureDate,
210
+ reusable_pallet_id: unloadInvHistory.reusablePalletId || '',
211
+ remark: (item.remark ? item.remark : '') + (item.issue ? ' [Issue]: ' + item.issue : '')
212
+ };
213
+ }));
214
+ return acc;
215
+ }, [])
216
+ .map((item, idx) => (Object.assign({ list_no: idx + 1 }, item))),
217
+ serialNumber: foundInventoryItem
218
+ };
219
+ const formData = new form_data_1.default();
220
+ formData.append('template', template);
221
+ formData.append('jsonString', JSON.stringify(data));
222
+ const response = await (0, node_fetch_1.default)(REPORT_API_URL, {
223
+ method: 'POST',
224
+ body: formData
225
+ });
226
+ return await response.text();
227
+ }
228
+ exports.renderFmGRN = renderFmGRN;
229
+ //# sourceMappingURL=render-fm-grn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-fm-grn.js","sourceRoot":"","sources":["../../server/controllers/render-fm-grn.ts"],"names":[],"mappings":"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"}
@@ -4,16 +4,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.renderGRN = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
7
8
  const form_data_1 = __importDefault(require("form-data"));
8
9
  const node_fetch_1 = __importDefault(require("node-fetch"));
9
10
  const typeorm_1 = require("typeorm");
11
+ const warehouse_base_1 = require("@things-factory/warehouse-base");
10
12
  const attachment_base_1 = require("@things-factory/attachment-base");
11
13
  const auth_base_1 = require("@things-factory/auth-base");
12
14
  const biz_base_1 = require("@things-factory/biz-base");
13
15
  const env_1 = require("@things-factory/env");
14
16
  const sales_base_1 = require("@things-factory/sales-base");
15
17
  const shell_1 = require("@things-factory/shell");
16
- const warehouse_base_1 = require("@things-factory/warehouse-base");
18
+ const warehouse_base_2 = require("@things-factory/warehouse-base");
17
19
  const constants_1 = require("../constants");
18
20
  const entities_1 = require("../entities");
19
21
  const datetime_util_1 = require("../utils/datetime-util");
@@ -31,6 +33,7 @@ async function renderGRN({ grnNo, timezoneOffSet }, context) {
31
33
  // 3. find GAN
32
34
  const foundGAN = foundGRN.arrivalNotice;
33
35
  const ownRefNo = foundGAN.refNo;
36
+ const foundInventoryItem = await (0, typeorm_1.getRepository)(warehouse_base_1.InventoryItem).query(`select row_number() over (partition by p.sku) as "seq",p.sku,p.brand_sku, ii.serial_number from inventory_items ii left join products p on ii.product_id = p.id where inbound_order_id = '${foundGAN.id}' group by p.sku,ii.serial_number,p.brand_sku`);
34
37
  // 4. find customer bizplace
35
38
  const partnerBiz = foundGRN.bizplace;
36
39
  const partnerDomain = await (0, typeorm_1.getRepository)(auth_base_1.Partner).findOne({
@@ -42,26 +45,26 @@ async function renderGRN({ grnNo, timezoneOffSet }, context) {
42
45
  where: { domain: domainOwner },
43
46
  relations: ['company']
44
47
  });
45
- const qbReducedInventory = (0, typeorm_1.getRepository)(warehouse_base_1.ReducedInventoryHistory)
46
- .createQueryBuilder(`ivh`)
47
- .select(`product_id`, `productId`)
48
- .addSelect(`batch_id`, `batchId`)
49
- .addSelect(`reusable_pallet_id`, `reusablePalletId`)
50
- .addSelect(`packing_type`, `packingType`)
51
- .addSelect(`sum(qty)`, `qty`)
52
- .addSelect(`sum(uom_value)`, `uomValue`)
53
- .addSelect(`uom`, `uom`)
54
- .addSelect(`count(distinct pallet_id)`, `pallet`)
55
- .addSelect(`string_agg(distinct expiration_date::varchar,', ' order by expiration_date::varchar)`, `expiryDate`)
56
- .addSelect(`string_agg(distinct pallet_id::varchar,', ' order by pallet_id::varchar)`, `palletId`)
57
- .where(`ivh.domain_id = :domainId`, { domainId: domain.id })
58
- .andWhere(`ivh.ref_order_id = :refOrderId`, { refOrderId: foundGAN.id })
48
+ const qbReducedInventory = (0, typeorm_1.getRepository)(warehouse_base_2.ReducedInventoryHistory)
49
+ .createQueryBuilder('ivh')
50
+ .select('product_id', 'productId')
51
+ .addSelect('batch_id', 'batchId')
52
+ .addSelect('reusable_pallet_id', 'reusablePalletId')
53
+ .addSelect('packing_type', 'packingType')
54
+ .addSelect('sum(qty)', 'qty')
55
+ .addSelect('sum(uom_value)', 'uomValue')
56
+ .addSelect('uom', 'uom')
57
+ .addSelect('count(distinct pallet_id)', 'pallet')
58
+ .addSelect(`string_agg(distinct expiration_date::varchar,', ' order by expiration_date::varchar)`, 'expiryDate')
59
+ .addSelect(`string_agg(distinct pallet_id::varchar,', ' order by pallet_id::varchar)`, 'palletId')
60
+ .where('ivh.domain_id = :domainId', { domainId: domain.id })
61
+ .andWhere('ivh.ref_order_id = :refOrderId', { refOrderId: foundGAN.id })
59
62
  .andWhere(`ivh.transaction_type = 'UNLOADING'`)
60
- .groupBy(`reusable_pallet_id`)
61
- .addGroupBy(`product_id`)
62
- .addGroupBy(`batch_id`)
63
- .addGroupBy(`packing_type`)
64
- .addGroupBy(`uom`)
63
+ .groupBy('reusable_pallet_id')
64
+ .addGroupBy('product_id')
65
+ .addGroupBy('batch_id')
66
+ .addGroupBy('packing_type')
67
+ .addGroupBy('uom')
65
68
  .getRawMany();
66
69
  // 5. find domain contact point
67
70
  const foundCP = await (0, typeorm_1.getRepository)(biz_base_1.ContactPoint).findOne({
@@ -123,6 +126,23 @@ async function renderGRN({ grnNo, timezoneOffSet }, context) {
123
126
  if (foundCop === null || foundCop === void 0 ? void 0 : foundCop.path) {
124
127
  cop = 'data:' + foundSignature.mimetype + ';base64,' + (await attachment_base_1.STORAGE.readFile(foundCop.path, 'base64'));
125
128
  }
129
+ const filterInventoryItem = lodash_1.default.groupBy(foundInventoryItem, i => i.sku);
130
+ const tempIndexArr = [];
131
+ const tempTotalQuantity = [];
132
+ Object.keys(filterInventoryItem).forEach(k => {
133
+ const tempIndex = foundInventoryItem.findIndex(i => {
134
+ return i.sku == k;
135
+ });
136
+ tempIndexArr.push(tempIndex);
137
+ });
138
+ Object.values(filterInventoryItem).forEach(k => {
139
+ const tempQuantity = k.length;
140
+ tempTotalQuantity.push(tempQuantity);
141
+ });
142
+ tempIndexArr.forEach((t, index) => {
143
+ if (t >= 0)
144
+ foundInventoryItem[t].totalQuantity = tempTotalQuantity[index];
145
+ });
126
146
  const data = {
127
147
  logo_url: logo,
128
148
  sign_url: signature,
@@ -147,6 +167,7 @@ async function renderGRN({ grnNo, timezoneOffSet }, context) {
147
167
  gan_accepted_at: foundGAN.acceptedAt ? datetime_util_1.DateTimeConverter.datetime(foundGAN.acceptedAt, timezoneOffSet) : '',
148
168
  unload_date: datetime_util_1.DateTimeConverter.date(foundWS.endedAt),
149
169
  ref_no: ownRefNo ? `${foundGAN.name} / ${foundGAN.refNo}` : `${foundGAN.name}`,
170
+ ref_no_only: ownRefNo ? ` ${foundGAN.refNo}` : '',
150
171
  ref_no1: foundGAN.refNo2 ? `${foundGAN.refNo2}` : '',
151
172
  ref_no2: foundGAN.refNo3 ? `${foundGAN.refNo3}` : '',
152
173
  received_date: datetime_util_1.DateTimeConverter.date(foundWS.endedAt),
@@ -165,6 +186,7 @@ async function renderGRN({ grnNo, timezoneOffSet }, context) {
165
186
  return {
166
187
  list_no: idx + 1,
167
188
  product_sku: `${item.product.sku}`,
189
+ product_brand_sku: `${item.product.brandSku}`,
168
190
  product_name: `${item.product.name}(${item.product.description})`,
169
191
  product_desc: item.product.description,
170
192
  product_nameOnly: item.product.name,
@@ -180,10 +202,12 @@ async function renderGRN({ grnNo, timezoneOffSet }, context) {
180
202
  product_gross_weight: item.product.grossWeight || null,
181
203
  unit_price: item.unitPrice || null,
182
204
  expiry_date: unloadInvHistory.expiryDate || '',
205
+ manufacture_date: item.manufactureDate,
183
206
  reusable_pallet_id: unloadInvHistory.reusablePalletId || '',
184
207
  remark: (item.remark ? item.remark : '') + (item.issue ? ' [Issue]: ' + item.issue : '')
185
208
  };
186
- })
209
+ }),
210
+ serialNumber: foundInventoryItem
187
211
  };
188
212
  const formData = new form_data_1.default();
189
213
  formData.append('template', template);