@things-factory/worksheet-base 8.0.0-beta.0 → 8.0.0-beta.2

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 (283) hide show
  1. package/package.json +17 -17
  2. package/server/constants/index.ts +0 -5
  3. package/server/constants/rule-type.ts +0 -4
  4. package/server/constants/target-type.ts +0 -6
  5. package/server/constants/template.ts +0 -12
  6. package/server/constants/transaction-type.ts +0 -9
  7. package/server/constants/worksheet.ts +0 -38
  8. package/server/controllers/ecommerce/ecommerce-controller.ts +0 -209
  9. package/server/controllers/ecommerce/index.ts +0 -2
  10. package/server/controllers/ecommerce/sellercraft-controller.ts +0 -358
  11. package/server/controllers/inbound/index.ts +0 -4
  12. package/server/controllers/inbound/putaway-returning-worksheet-controller.ts +0 -450
  13. package/server/controllers/inbound/putaway-worksheet-controller.ts +0 -454
  14. package/server/controllers/inbound/unloading-returning-worksheet-controller.ts +0 -291
  15. package/server/controllers/inbound/unloading-worksheet-controller.ts +0 -1398
  16. package/server/controllers/index.ts +0 -21
  17. package/server/controllers/inspect/cycle-count-worksheet-controller.ts +0 -537
  18. package/server/controllers/inspect/index.ts +0 -1
  19. package/server/controllers/outbound/index.ts +0 -5
  20. package/server/controllers/outbound/loading-worksheet-controller.ts +0 -377
  21. package/server/controllers/outbound/packing-worksheet-controller.ts +0 -449
  22. package/server/controllers/outbound/picking-worksheet-controller.ts +0 -1769
  23. package/server/controllers/outbound/returning-worksheet-controller.ts +0 -254
  24. package/server/controllers/outbound/sorting-worksheet-controller.ts +0 -554
  25. package/server/controllers/render-elccl-grn.ts +0 -228
  26. package/server/controllers/render-fm-grn.ts +0 -287
  27. package/server/controllers/render-grn.ts +0 -285
  28. package/server/controllers/render-invoices.ts +0 -201
  29. package/server/controllers/render-job-sheet.ts +0 -208
  30. package/server/controllers/render-kimeda-grn.ts +0 -185
  31. package/server/controllers/render-manifest.ts +0 -76
  32. package/server/controllers/render-manual-do.ts +0 -227
  33. package/server/controllers/render-orientage-do.ts +0 -376
  34. package/server/controllers/render-orientage-grn.ts +0 -191
  35. package/server/controllers/render-po.ts +0 -182
  36. package/server/controllers/render-ro-do.ts +0 -404
  37. package/server/controllers/render-seebuu-grn.ts +0 -208
  38. package/server/controllers/vas/index.ts +0 -1
  39. package/server/controllers/vas/vas-worksheet-controller.ts +0 -848
  40. package/server/controllers/worksheet-controller.ts +0 -1267
  41. package/server/entities/index.ts +0 -8
  42. package/server/entities/warehouse-bizplace-onhand-inventory.ts +0 -148
  43. package/server/entities/worksheet-detail.ts +0 -106
  44. package/server/entities/worksheet-movement.ts +0 -34
  45. package/server/entities/worksheet.ts +0 -100
  46. package/server/graphql/index.ts +0 -7
  47. package/server/graphql/resolvers/index.ts +0 -8
  48. package/server/graphql/resolvers/pallet/index.ts +0 -7
  49. package/server/graphql/resolvers/pallet/pallet-outbound.ts +0 -92
  50. package/server/graphql/resolvers/worksheet/batch-picking-worksheet.ts +0 -137
  51. package/server/graphql/resolvers/worksheet/cancel-draft-release-order.ts +0 -20
  52. package/server/graphql/resolvers/worksheet/check-inventory-release.ts +0 -37
  53. package/server/graphql/resolvers/worksheet/check-stock-take-current-location.ts +0 -63
  54. package/server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts +0 -213
  55. package/server/graphql/resolvers/worksheet/create-worksheet.ts +0 -21
  56. package/server/graphql/resolvers/worksheet/cross-dock-picking.ts +0 -173
  57. package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +0 -211
  58. package/server/graphql/resolvers/worksheet/cycle-count-worksheet.ts +0 -79
  59. package/server/graphql/resolvers/worksheet/delete-worksheet.ts +0 -21
  60. package/server/graphql/resolvers/worksheet/delivery-order-by-worksheet.ts +0 -104
  61. package/server/graphql/resolvers/worksheet/fetch-delivery-order-ro.ts +0 -191
  62. package/server/graphql/resolvers/worksheet/fetch-sellercraft-document.ts +0 -69
  63. package/server/graphql/resolvers/worksheet/find-release-orders-by-task-no.ts +0 -36
  64. package/server/graphql/resolvers/worksheet/find-release-orders-by-worksheet-no.ts +0 -29
  65. package/server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.ts +0 -80
  66. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.ts +0 -100
  67. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-batch-picking-worksheet.ts +0 -26
  68. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.ts +0 -51
  69. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.ts +0 -17
  70. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-return-worksheet.ts +0 -69
  71. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-worksheet.ts +0 -65
  72. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-putaway-worksheet.ts +0 -54
  73. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts +0 -114
  74. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-return-order-worksheet.ts +0 -45
  75. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-vas-order-worksheet.ts +0 -35
  76. package/server/graphql/resolvers/worksheet/generate-worksheet/index.ts +0 -23
  77. package/server/graphql/resolvers/worksheet/having-vas.ts +0 -45
  78. package/server/graphql/resolvers/worksheet/index.ts +0 -142
  79. package/server/graphql/resolvers/worksheet/inspecting/activate-cycle-count.ts +0 -24
  80. package/server/graphql/resolvers/worksheet/inspecting/add-extra-pallet.ts +0 -49
  81. package/server/graphql/resolvers/worksheet/inspecting/check-missing-pallet.ts +0 -18
  82. package/server/graphql/resolvers/worksheet/inspecting/complete-inspection.ts +0 -41
  83. package/server/graphql/resolvers/worksheet/inspecting/index.ts +0 -17
  84. package/server/graphql/resolvers/worksheet/inspecting/inspecting.ts +0 -30
  85. package/server/graphql/resolvers/worksheet/inspecting/relocate-pallet.ts +0 -46
  86. package/server/graphql/resolvers/worksheet/inspecting/undo-inspection.ts +0 -23
  87. package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +0 -150
  88. package/server/graphql/resolvers/worksheet/loaded-inventories.ts +0 -40
  89. package/server/graphql/resolvers/worksheet/loading/activate-loading.ts +0 -73
  90. package/server/graphql/resolvers/worksheet/loading/complete-loading.ts +0 -165
  91. package/server/graphql/resolvers/worksheet/loading/index.ts +0 -11
  92. package/server/graphql/resolvers/worksheet/loading/loading.ts +0 -46
  93. package/server/graphql/resolvers/worksheet/loading/undo-loading.ts +0 -25
  94. package/server/graphql/resolvers/worksheet/loading-worksheet.ts +0 -150
  95. package/server/graphql/resolvers/worksheet/not-tally-target-inventories.ts +0 -34
  96. package/server/graphql/resolvers/worksheet/packing/activate-packing.ts +0 -69
  97. package/server/graphql/resolvers/worksheet/packing/complete-packing.ts +0 -102
  98. package/server/graphql/resolvers/worksheet/packing/index.ts +0 -13
  99. package/server/graphql/resolvers/worksheet/packing/packing.ts +0 -59
  100. package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +0 -70
  101. package/server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.ts +0 -24
  102. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +0 -378
  103. package/server/graphql/resolvers/worksheet/palletizing-pallets.ts +0 -142
  104. package/server/graphql/resolvers/worksheet/pending-cancellation-release-order.ts +0 -234
  105. package/server/graphql/resolvers/worksheet/picking/activate-batch-picking.ts +0 -40
  106. package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +0 -98
  107. package/server/graphql/resolvers/worksheet/picking/assign-picking-inventories.ts +0 -50
  108. package/server/graphql/resolvers/worksheet/picking/assign-picking-worker.ts +0 -44
  109. package/server/graphql/resolvers/worksheet/picking/batch-picking.ts +0 -32
  110. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +0 -137
  111. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +0 -282
  112. package/server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.ts +0 -121
  113. package/server/graphql/resolvers/worksheet/picking/index.ts +0 -31
  114. package/server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.ts +0 -35
  115. package/server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.ts +0 -96
  116. package/server/graphql/resolvers/worksheet/picking/picking.ts +0 -55
  117. package/server/graphql/resolvers/worksheet/picking/scan-product-batch-picking.ts +0 -52
  118. package/server/graphql/resolvers/worksheet/picking/scan-product-picking.ts +0 -25
  119. package/server/graphql/resolvers/worksheet/picking/seal-tote.ts +0 -25
  120. package/server/graphql/resolvers/worksheet/picking/undo-picking-assignment.ts +0 -31
  121. package/server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.ts +0 -24
  122. package/server/graphql/resolvers/worksheet/picking-worksheet.ts +0 -147
  123. package/server/graphql/resolvers/worksheet/proceed-extra-products.ts +0 -242
  124. package/server/graphql/resolvers/worksheet/putaway/activate-putaway.ts +0 -51
  125. package/server/graphql/resolvers/worksheet/putaway/complete-putaway.ts +0 -105
  126. package/server/graphql/resolvers/worksheet/putaway/index.ts +0 -11
  127. package/server/graphql/resolvers/worksheet/putaway/putaway.ts +0 -26
  128. package/server/graphql/resolvers/worksheet/putaway/undo-putaway.ts +0 -25
  129. package/server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.ts +0 -55
  130. package/server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts +0 -38
  131. package/server/graphql/resolvers/worksheet/putaway-return/index.ts +0 -11
  132. package/server/graphql/resolvers/worksheet/putaway-return/putaway-return.ts +0 -30
  133. package/server/graphql/resolvers/worksheet/putaway-return/undo-putaway-return.ts +0 -29
  134. package/server/graphql/resolvers/worksheet/putaway-returning-worksheet.ts +0 -83
  135. package/server/graphql/resolvers/worksheet/putaway-worksheet.ts +0 -82
  136. package/server/graphql/resolvers/worksheet/recommend-putway-location.ts +0 -133
  137. package/server/graphql/resolvers/worksheet/reject-cancellation-release-order.ts +0 -186
  138. package/server/graphql/resolvers/worksheet/relocate-pallet.ts +0 -67
  139. package/server/graphql/resolvers/worksheet/replace-picking-pallets.ts +0 -127
  140. package/server/graphql/resolvers/worksheet/return-worksheet.ts +0 -70
  141. package/server/graphql/resolvers/worksheet/returning/activate-return.ts +0 -24
  142. package/server/graphql/resolvers/worksheet/returning/complete-return.ts +0 -39
  143. package/server/graphql/resolvers/worksheet/returning/index.ts +0 -9
  144. package/server/graphql/resolvers/worksheet/returning/returning.ts +0 -26
  145. package/server/graphql/resolvers/worksheet/sorting/activate-sorting.ts +0 -25
  146. package/server/graphql/resolvers/worksheet/sorting/complete-order-sorting.ts +0 -40
  147. package/server/graphql/resolvers/worksheet/sorting/complete-worksheet-sorting.ts +0 -23
  148. package/server/graphql/resolvers/worksheet/sorting/index.ts +0 -13
  149. package/server/graphql/resolvers/worksheet/sorting/scan-product-sorting.ts +0 -31
  150. package/server/graphql/resolvers/worksheet/sorting/sorting-product.ts +0 -32
  151. package/server/graphql/resolvers/worksheet/sorting-worksheet.ts +0 -87
  152. package/server/graphql/resolvers/worksheet/transfer.ts +0 -176
  153. package/server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.ts +0 -54
  154. package/server/graphql/resolvers/worksheet/unloaded-inventories.ts +0 -78
  155. package/server/graphql/resolvers/worksheet/unloading/activate-unloading.ts +0 -56
  156. package/server/graphql/resolvers/worksheet/unloading/complete-product-scan-unload.ts +0 -25
  157. package/server/graphql/resolvers/worksheet/unloading/complete-unloading-partially.ts +0 -25
  158. package/server/graphql/resolvers/worksheet/unloading/complete-unloading.ts +0 -76
  159. package/server/graphql/resolvers/worksheet/unloading/index.ts +0 -21
  160. package/server/graphql/resolvers/worksheet/unloading/scan-product-unload.ts +0 -26
  161. package/server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.ts +0 -26
  162. package/server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.ts +0 -24
  163. package/server/graphql/resolvers/worksheet/unloading/undo-unloading.ts +0 -25
  164. package/server/graphql/resolvers/worksheet/unloading/unload.ts +0 -26
  165. package/server/graphql/resolvers/worksheet/unloading-return/activate-unloading-return.ts +0 -28
  166. package/server/graphql/resolvers/worksheet/unloading-return/complete-unload-return-partially.ts +0 -29
  167. package/server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.ts +0 -91
  168. package/server/graphql/resolvers/worksheet/unloading-return/index.ts +0 -9
  169. package/server/graphql/resolvers/worksheet/unloading-return-worksheet.ts +0 -75
  170. package/server/graphql/resolvers/worksheet/unloading-worksheet.ts +0 -98
  171. package/server/graphql/resolvers/worksheet/update-worksheet.ts +0 -25
  172. package/server/graphql/resolvers/worksheet/vas/activate-vas.ts +0 -25
  173. package/server/graphql/resolvers/worksheet/vas/assign-vas-inventories.ts +0 -25
  174. package/server/graphql/resolvers/worksheet/vas/complete-vas.ts +0 -72
  175. package/server/graphql/resolvers/worksheet/vas/execute-vas.ts +0 -31
  176. package/server/graphql/resolvers/worksheet/vas/index.ts +0 -15
  177. package/server/graphql/resolvers/worksheet/vas/undo-vas-inventory.ts +0 -24
  178. package/server/graphql/resolvers/worksheet/vas/undo-vas.ts +0 -24
  179. package/server/graphql/resolvers/worksheet/vas-candidates.ts +0 -177
  180. package/server/graphql/resolvers/worksheet/vas-inventories.ts +0 -41
  181. package/server/graphql/resolvers/worksheet/vas-transactions/common-utils.ts +0 -1182
  182. package/server/graphql/resolvers/worksheet/vas-transactions/index.ts +0 -5
  183. package/server/graphql/resolvers/worksheet/vas-transactions/interfaces/index.ts +0 -56
  184. package/server/graphql/resolvers/worksheet/vas-transactions/interfaces/relabeling.ts +0 -20
  185. package/server/graphql/resolvers/worksheet/vas-transactions/interfaces/repackaging.ts +0 -27
  186. package/server/graphql/resolvers/worksheet/vas-transactions/interfaces/repalletizing.ts +0 -14
  187. package/server/graphql/resolvers/worksheet/vas-transactions/interfaces/unpacking.ts +0 -14
  188. package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.ts +0 -96
  189. package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.ts +0 -93
  190. package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/index.ts +0 -4
  191. package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.ts +0 -105
  192. package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/undo-relabeling.ts +0 -40
  193. package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.ts +0 -236
  194. package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/index.ts +0 -3
  195. package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.ts +0 -402
  196. package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.ts +0 -166
  197. package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.ts +0 -116
  198. package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/index.ts +0 -3
  199. package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.ts +0 -167
  200. package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/undo-repalletizing.ts +0 -74
  201. package/server/graphql/resolvers/worksheet/vas-transactions/unpacking/complete-unpacking.ts +0 -20
  202. package/server/graphql/resolvers/worksheet/vas-transactions/unpacking/index.ts +0 -2
  203. package/server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.ts +0 -164
  204. package/server/graphql/resolvers/worksheet/vas-worksheet.ts +0 -110
  205. package/server/graphql/resolvers/worksheet/worksheet-by-order-no.ts +0 -43
  206. package/server/graphql/resolvers/worksheet/worksheet-with-pagination.ts +0 -46
  207. package/server/graphql/resolvers/worksheet/worksheet.ts +0 -330
  208. package/server/graphql/resolvers/worksheet/worksheets.ts +0 -493
  209. package/server/graphql/resolvers/worksheet-detail/check-progressing-pallet.ts +0 -22
  210. package/server/graphql/resolvers/worksheet-detail/create-worksheet-detail.ts +0 -38
  211. package/server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.ts +0 -18
  212. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.ts +0 -206
  213. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.ts +0 -165
  214. package/server/graphql/resolvers/worksheet-detail/generate-carton-id.ts +0 -26
  215. package/server/graphql/resolvers/worksheet-detail/generate-pallet-id.ts +0 -94
  216. package/server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.ts +0 -259
  217. package/server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.ts +0 -142
  218. package/server/graphql/resolvers/worksheet-detail/index.ts +0 -34
  219. package/server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts +0 -165
  220. package/server/graphql/resolvers/worksheet-detail/update-worksheet-detail.ts +0 -39
  221. package/server/graphql/resolvers/worksheet-detail/worksheet-detail.ts +0 -19
  222. package/server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.ts +0 -56
  223. package/server/graphql/resolvers/worksheet-detail/worksheet-details.ts +0 -21
  224. package/server/graphql/resolvers/worksheet-movement/create-worksheet-movement.ts +0 -17
  225. package/server/graphql/resolvers/worksheet-movement/delete-worksheet-movement.ts +0 -12
  226. package/server/graphql/resolvers/worksheet-movement/index.ts +0 -17
  227. package/server/graphql/resolvers/worksheet-movement/update-worksheet-movement.ts +0 -15
  228. package/server/graphql/resolvers/worksheet-movement/worksheet-movement.ts +0 -10
  229. package/server/graphql/resolvers/worksheet-movement/worksheet-movements.ts +0 -14
  230. package/server/graphql/types/index.ts +0 -15
  231. package/server/graphql/types/pallet/index.ts +0 -12
  232. package/server/graphql/types/pallet/pallet.ts +0 -7
  233. package/server/graphql/types/worksheet/arrival-notice-worksheet.ts +0 -8
  234. package/server/graphql/types/worksheet/batch-pick-worksheet-info.ts +0 -9
  235. package/server/graphql/types/worksheet/contact-point-info.ts +0 -12
  236. package/server/graphql/types/worksheet/cycle-count-worksheet.ts +0 -16
  237. package/server/graphql/types/worksheet/delivery-info.ts +0 -11
  238. package/server/graphql/types/worksheet/delivery-order-info.ts +0 -25
  239. package/server/graphql/types/worksheet/delivery-order-ro.ts +0 -15
  240. package/server/graphql/types/worksheet/delivery-worksheet.ts +0 -7
  241. package/server/graphql/types/worksheet/executing-worksheet.ts +0 -8
  242. package/server/graphql/types/worksheet/find-release-orders-by-task-no.ts +0 -8
  243. package/server/graphql/types/worksheet/goods-delivery-note.ts +0 -8
  244. package/server/graphql/types/worksheet/index.ts +0 -750
  245. package/server/graphql/types/worksheet/inventory-check-worksheet.ts +0 -7
  246. package/server/graphql/types/worksheet/loaded-worksheet-detail.ts +0 -9
  247. package/server/graphql/types/worksheet/multiple-release-good-worksheet.ts +0 -8
  248. package/server/graphql/types/worksheet/my-picking-assignment-status.ts +0 -9
  249. package/server/graphql/types/worksheet/new-worksheet.ts +0 -10
  250. package/server/graphql/types/worksheet/picking-assignment-status.ts +0 -9
  251. package/server/graphql/types/worksheet/product-approval.ts +0 -11
  252. package/server/graphql/types/worksheet/release-good-worksheet.ts +0 -8
  253. package/server/graphql/types/worksheet/return-order-worksheet.ts +0 -8
  254. package/server/graphql/types/worksheet/sellercraft-document.ts +0 -8
  255. package/server/graphql/types/worksheet/vas-order-worksheet.ts +0 -7
  256. package/server/graphql/types/worksheet/vas-worksheet.ts +0 -8
  257. package/server/graphql/types/worksheet/worksheet-detail-info.ts +0 -68
  258. package/server/graphql/types/worksheet/worksheet-info.ts +0 -33
  259. package/server/graphql/types/worksheet/worksheet-list.ts +0 -8
  260. package/server/graphql/types/worksheet/worksheet-patch.ts +0 -19
  261. package/server/graphql/types/worksheet/worksheet-with-pagination.ts +0 -9
  262. package/server/graphql/types/worksheet/worksheet.ts +0 -34
  263. package/server/graphql/types/worksheet-detail/index.ts +0 -81
  264. package/server/graphql/types/worksheet-detail/inventory-detail.ts +0 -39
  265. package/server/graphql/types/worksheet-detail/new-worksheet-detail.ts +0 -20
  266. package/server/graphql/types/worksheet-detail/pallet-info.ts +0 -8
  267. package/server/graphql/types/worksheet-detail/worksheet-detail-list.ts +0 -8
  268. package/server/graphql/types/worksheet-detail/worksheet-detail-patch.ts +0 -28
  269. package/server/graphql/types/worksheet-detail/worksheet-detail.ts +0 -29
  270. package/server/graphql/types/worksheet-movement/index.ts +0 -30
  271. package/server/graphql/types/worksheet-movement/new-worksheet-movement.ts +0 -8
  272. package/server/graphql/types/worksheet-movement/worksheet-movement-list.ts +0 -8
  273. package/server/graphql/types/worksheet-movement/worksheet-movement-patch.ts +0 -8
  274. package/server/graphql/types/worksheet-movement/worksheet-movement.ts +0 -10
  275. package/server/index.ts +0 -14
  276. package/server/middlewares/index.ts +0 -3
  277. package/server/migrations/index.ts +0 -9
  278. package/server/routes.ts +0 -80
  279. package/server/utils/datetime-util.ts +0 -54
  280. package/server/utils/index.ts +0 -4
  281. package/server/utils/inventory-util.ts +0 -390
  282. package/server/utils/worksheet-no-generator.ts +0 -206
  283. package/server/utils/worksheet-util.ts +0 -85
@@ -1,211 +0,0 @@
1
- import { EntityManager, In } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
5
- import { InventoryCheck, ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory } from '@things-factory/sales-base'
6
- import { Domain } from '@things-factory/shell'
7
- import { Inventory, INVENTORY_STATUS, INVENTORY_TRANSACTION_TYPE, Location } from '@things-factory/warehouse-base'
8
-
9
- import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
10
- import { SellercraftController } from '../../../controllers'
11
- import { Worksheet, WorksheetDetail } from '../../../entities'
12
- import { generateInventoryHistory, switchLocationStatus } from '../../../utils'
13
-
14
- export const cycleCountAdjustmentResolver = {
15
- async cycleCountAdjustment(_: any, { cycleCountNo }, context: ResolverContext) {
16
- const { tx, domain, user } = context.state
17
- await cycleCountAdjustment(tx, domain, user, cycleCountNo)
18
- }
19
- }
20
-
21
- export async function cycleCountAdjustment(
22
- tx: EntityManager,
23
- domain: Domain,
24
- user: User,
25
- cycleCountNo: string
26
- ): Promise<void> {
27
- // get cycle count no
28
- const cycleCount: InventoryCheck = await tx.getRepository(InventoryCheck).findOne({
29
- where: {
30
- domain: { id: domain.id },
31
- name: cycleCountNo,
32
- status: ORDER_STATUS.PENDING_REVIEW
33
- }
34
- })
35
-
36
- let worksheet: Worksheet = await tx.getRepository(Worksheet).findOne({
37
- where: {
38
- domain: { id: domain.id },
39
- type: In([WORKSHEET_TYPE.CYCLE_COUNT, WORKSHEET_TYPE.CYCLE_COUNT_RECHECK]),
40
- inventoryCheck: { id: cycleCount.id }
41
- }
42
- })
43
-
44
- // get cycle count wsd that is not tally
45
- const worksheetDetails: WorksheetDetail[] = await tx.getRepository(WorksheetDetail).find({
46
- where: {
47
- domain: { id: domain.id },
48
- worksheet: { id: worksheet.id },
49
- type: In([WORKSHEET_TYPE.CYCLE_COUNT, WORKSHEET_TYPE.CYCLE_COUNT_RECHECK]),
50
- status: WORKSHEET_STATUS.NOT_TALLY
51
- },
52
- relations: [
53
- 'targetInventory',
54
- 'targetInventory.inventory',
55
- 'targetInventory.inventory.product',
56
- 'targetInventory.inventory.product.productDetails',
57
- 'targetInventory.inventory.product.productDetails.childProductDetail',
58
- 'targetInventory.inventory.bizplace',
59
- 'targetInventory.inventory.domain',
60
- 'targetInventory.inventory.bizplace.domain',
61
- 'targetInventory.inventory.warehouse',
62
- 'targetInventory.inventory.location',
63
- 'targetInventory.inspectedLocation',
64
- 'targetInventory.inspectedLocation.warehouse'
65
- ]
66
- })
67
-
68
- for (let worksheetDetail of worksheetDetails) {
69
- const targetInventory: OrderInventory = worksheetDetail.targetInventory
70
- let inventory: Inventory = targetInventory.inventory
71
-
72
- let transactQty: number = targetInventory.inspectedQty - inventory.qty
73
- let transactUomValue: number = targetInventory.inspectedUomValue - inventory.uomValue
74
-
75
- const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({
76
- where: { domain: { id: inventory.bizplace.domain.id }, status: SellercraftStatus.ACTIVE },
77
- relations: ['domain']
78
- })
79
-
80
- if (targetInventory.status === ORDER_INVENTORY_STATUS.MISSING) {
81
- // create STORED, CC_ADJUSTMENT history
82
- await generateInventoryHistory(
83
- inventory,
84
- cycleCount,
85
- INVENTORY_TRANSACTION_TYPE.CC_ADJUSTMENT,
86
- -inventory.qty,
87
- -inventory.uomValue,
88
- user,
89
- tx
90
- )
91
-
92
- inventory.qty = 0
93
- inventory.uomValue = 0
94
- inventory.lockedQty = 0
95
- //@ts-ignore
96
- inventory.lockeduomValue = 0
97
- inventory.updater = user
98
- inventory.status = INVENTORY_STATUS.TERMINATED
99
- inventory = await tx.getRepository(Inventory).save(inventory)
100
-
101
- // create TERMINATED, TERMINATED history
102
- await generateInventoryHistory(inventory, cycleCount, INVENTORY_TRANSACTION_TYPE.TERMINATED, 0, 0, user, tx)
103
-
104
- if (sellercraft) {
105
- const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
106
- await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory)
107
- }
108
- } else if (targetInventory.inspectedQty == 0) {
109
- // create STORED, CC_ADJUSTMENT history
110
- await generateInventoryHistory(
111
- inventory,
112
- cycleCount,
113
- INVENTORY_TRANSACTION_TYPE.CC_ADJUSTMENT,
114
- transactQty,
115
- transactUomValue,
116
- user,
117
- tx
118
- )
119
-
120
- // change inventory qty to 0 and terminate it
121
- inventory.batchId = targetInventory.inspectedBatchNo
122
- inventory.qty = targetInventory.inspectedQty
123
- inventory.lockedQty = 0
124
- inventory.uomValue = targetInventory.inspectedUomValue
125
- inventory.lockedUomValue = 0
126
- inventory.location = targetInventory.inspectedLocation
127
- inventory.warehouse = targetInventory.inspectedLocation.warehouse
128
- inventory.status = INVENTORY_STATUS.TERMINATED
129
- inventory.updater = user
130
- inventory = await tx.getRepository(Inventory).save(inventory)
131
-
132
- // create TERMINATED, TERMINATED history
133
- await generateInventoryHistory(inventory, cycleCount, INVENTORY_TRANSACTION_TYPE.TERMINATED, 0, 0, user, tx)
134
-
135
- if (sellercraft) {
136
- const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
137
- await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory)
138
- }
139
- } else {
140
- const prevLocationId: string = inventory.location.id
141
-
142
- if (targetInventory.inspectedBatchNo !== inventory.batchId) {
143
- // generate TERMINATED, ADJUSTMENT history
144
- const { qty, uomValue }: { qty: number; uomValue: number } = inventory
145
- inventory.status = INVENTORY_STATUS.TERMINATED
146
- inventory.qty = 0
147
- inventory.uomValue = 0
148
-
149
- await generateInventoryHistory(
150
- inventory,
151
- cycleCount,
152
- INVENTORY_TRANSACTION_TYPE.CC_ADJUSTMENT,
153
- -qty,
154
- -uomValue,
155
- user,
156
- tx
157
- )
158
-
159
- transactQty = targetInventory.inspectedQty
160
- transactUomValue = targetInventory.inspectedUomValue
161
- }
162
-
163
- inventory.batchId = targetInventory.inspectedBatchNo
164
- inventory.qty = targetInventory.inspectedQty
165
- inventory.lockedQty = 0
166
- inventory.uomValue = targetInventory.inspectedUomValue
167
- inventory.lockedUomValue = 0
168
- inventory.location = targetInventory.inspectedLocation
169
- inventory.warehouse = targetInventory.inspectedLocation.warehouse
170
- inventory.status = INVENTORY_STATUS.STORED
171
- inventory.updater = user
172
- inventory = await tx.getRepository(Inventory).save(inventory)
173
-
174
- if (prevLocationId !== targetInventory.inspectedLocation.id) {
175
- const prevLocation: Location = await tx.getRepository(Location).findOneBy({ id: prevLocationId })
176
- await switchLocationStatus(domain, prevLocation, user, tx)
177
- }
178
-
179
- await generateInventoryHistory(
180
- inventory,
181
- cycleCount,
182
- INVENTORY_TRANSACTION_TYPE.CC_ADJUSTMENT,
183
- transactQty,
184
- transactUomValue,
185
- user,
186
- tx
187
- )
188
- }
189
-
190
- if (sellercraft) {
191
- const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
192
- await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory)
193
- }
194
-
195
- targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED
196
- targetInventory.updater = user
197
- await tx.getRepository(OrderInventory).save(targetInventory)
198
-
199
- worksheetDetail.status = WORKSHEET_STATUS.ADJUSTED
200
- worksheetDetail.updater = user
201
- await tx.getRepository(WorksheetDetail).save(worksheetDetail)
202
- }
203
-
204
- worksheet.status = WORKSHEET_STATUS.DONE
205
- await tx.getRepository(Worksheet).save(worksheet)
206
-
207
- // change cycle count status to DONE
208
- cycleCount.status = ORDER_STATUS.DONE
209
- cycleCount.updater = user
210
- await tx.getRepository(InventoryCheck).save(cycleCount)
211
- }
@@ -1,79 +0,0 @@
1
- import { createQueryBuilder, In, SelectQueryBuilder } from 'typeorm'
2
-
3
- import { InventoryCheck, ORDER_STATUS, OrderInventory } from '@things-factory/sales-base'
4
- import { getRepository } from '@things-factory/shell'
5
- import { Inventory } from '@things-factory/warehouse-base'
6
-
7
- import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
8
- import { Worksheet, WorksheetDetail } from '../../../entities'
9
-
10
- export const cycleCountWorksheetResolver = {
11
- async cycleCountWorksheet(_: any, { inventoryCheckNo, locationSortingRules }, context: ResolverContext) {
12
- const { domain } = context.state
13
- const cycleCount: InventoryCheck = await getRepository(InventoryCheck).findOne({
14
- where: { domain: { id: domain.id }, name: inventoryCheckNo, status: ORDER_STATUS.INSPECTING }
15
- })
16
-
17
- if (!cycleCount) throw new Error('Failed to find cycle count worksheet')
18
-
19
- const worksheet: Worksheet = await getRepository(Worksheet).findOne({
20
- where: {
21
- domain: { id: domain.id },
22
- inventoryCheck: { id: cycleCount.id },
23
- type: In([WORKSHEET_TYPE.CYCLE_COUNT, WORKSHEET_TYPE.CYCLE_COUNT_RECHECK]),
24
- status: WORKSHEET_STATUS.EXECUTING
25
- },
26
- relations: ['bizplace', 'bizplace.domain']
27
- })
28
-
29
- const qb: SelectQueryBuilder<WorksheetDetail> = createQueryBuilder(WorksheetDetail, 'WSD')
30
- qb.leftJoinAndSelect('WSD.targetInventory', 'T_INV')
31
- .leftJoinAndSelect('T_INV.inventory', 'INV')
32
- .leftJoinAndSelect('T_INV.inspectedLocation', 'INS_LOC')
33
- .leftJoinAndSelect('INV.location', 'LOC')
34
- .leftJoinAndSelect('INV.product', 'PROD')
35
- .leftJoinAndSelect('LOC.warehouse', 'WH')
36
-
37
- if (locationSortingRules?.length > 0) {
38
- locationSortingRules.forEach((rule: { name: string; desc: boolean }) => {
39
- qb.addOrderBy(`LOC.${rule.name}`, rule.desc ? 'DESC' : 'ASC')
40
- })
41
- }
42
-
43
- const worksheetDetails: WorksheetDetail[] = await qb
44
- .where('"WSD"."worksheet_id" = :worksheetId', { worksheetId: worksheet.id })
45
- .andWhere('"WSD"."status" != :status', { status: WORKSHEET_STATUS.REPLACED })
46
- .getMany()
47
-
48
- return {
49
- worksheetInfo: {
50
- startedAt: worksheet.startedAt,
51
- bizplace: worksheet.bizplace,
52
- partnerDomainId: worksheet.bizplace?.domain.id
53
- },
54
- worksheetDetailInfos: worksheetDetails.map(async (cycleCountWSD: WorksheetDetail) => {
55
- const targetInventory: OrderInventory = cycleCountWSD.targetInventory
56
- const inventory: Inventory = targetInventory.inventory
57
-
58
- return {
59
- name: cycleCountWSD.name,
60
- palletId: inventory?.palletId,
61
- batchId: inventory?.batchId,
62
- product: inventory?.product,
63
- qty: inventory?.qty,
64
- uomValue: inventory?.uomValue,
65
- uom: inventory?.uom,
66
- inspectedQty: targetInventory.inspectedQty,
67
- inspectedUomValue: targetInventory.inspectedUomValue,
68
- inspectedLocation: targetInventory.inspectedLocation,
69
- inspectedBatchNo: targetInventory.inspectedBatchNo,
70
- status: cycleCountWSD.status,
71
- targetName: targetInventory.name,
72
- packingType: inventory?.packingType,
73
- location: inventory?.location,
74
- relatedOrderInv: targetInventory
75
- }
76
- })
77
- }
78
- }
79
- }
@@ -1,21 +0,0 @@
1
- import { EntityManager, In } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { getPermittedBizplaceIds } from '@things-factory/biz-base'
5
- import { Domain } from '@things-factory/shell'
6
-
7
- import { Worksheet } from '../../../entities'
8
-
9
- export const deleteWorksheet = {
10
- async deleteWorksheet(_: any, { id }, context: ResolverContext) {
11
- const { tx, domain, user } = context.state
12
-
13
- await tx.getRepository(Worksheet).delete({
14
- domain: { id: domain.id },
15
- bizplace: In(await getPermittedBizplaceIds(domain, user)),
16
- id
17
- })
18
-
19
- return true
20
- }
21
- }
@@ -1,104 +0,0 @@
1
- import { Bizplace, ContactPoint } from '@things-factory/biz-base'
2
- import { logger } from '@things-factory/env'
3
- import { DeliveryOrder, OrderInventory } from '@things-factory/sales-base'
4
- import { TransportDriver } from '@things-factory/transport-base'
5
-
6
- export const deliveryOrderByWorksheetResolver = {
7
- async deliveryOrderByWorksheet(_: any, { name }, context: ResolverContext) {
8
- const { domain, tx } = context.state
9
- try {
10
- const foundDO: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({
11
- where: {
12
- domain: { id: domain.id },
13
- name
14
- },
15
- relations: ['domain', 'bizplace', 'transportDriver', 'transportVehicle', 'releaseGood', 'creator', 'updater']
16
- })
17
-
18
- if (!foundDO) throw new Error('Delivery order not found!')
19
-
20
- const foundOI: any = await tx
21
- .getRepository(OrderInventory)
22
- .createQueryBuilder('oi')
23
- .select('p.name', 'name')
24
- .addSelect('p.sku', 'sku')
25
- .addSelect('p.type', 'type')
26
- .addSelect('oi.batch_id', 'batchNo')
27
- .addSelect('oi.uom', 'uom')
28
- .addSelect('sum(oi.release_qty)', 'loadedQty')
29
- .addSelect('sum(oi.release_uom_value)', 'uomValue')
30
- .innerJoin('products', 'p', 'p.id = oi.product_id')
31
- .groupBy('p.name')
32
- .addGroupBy('p.sku')
33
- .addGroupBy('p.type')
34
- .addGroupBy('oi.batch_id')
35
- .addGroupBy('oi.uom')
36
- .where('oi.domain_id = :domainId', { domainId: domain.id })
37
- .andWhere('oi.delivery_order_id = :deliveryOrderId', { deliveryOrderId: foundDO.id })
38
- .orderBy('p.sku')
39
- .addOrderBy('oi.batch_id')
40
- .getRawMany()
41
-
42
- const partnerBiz: Bizplace = await tx.getRepository(Bizplace).findOne({
43
- where: { id: foundDO.bizplace.id }
44
- })
45
-
46
- const partnerContactPoint: ContactPoint[] = await tx.getRepository(ContactPoint).find({
47
- where: { domain: { id: domain.id }, bizplace: { id: partnerBiz.id } }
48
- })
49
-
50
- //@ts-ignore
51
- let foundTransportDriver: TransportDriver = { name: '' }
52
- if (foundDO.transportDriver) {
53
- foundTransportDriver = await tx.getRepository(TransportDriver).findOne({
54
- where: { domain: { id: domain.id }, id: foundDO.transportDriver.id }
55
- })
56
-
57
- if (!foundTransportDriver) throw new Error('transport driver is not found')
58
- }
59
-
60
- return {
61
- deliveryOrderInfo: {
62
- name: foundDO.name,
63
- ownCollection: foundDO.ownCollection,
64
- doStatus: foundDO.status,
65
- truckNo: foundDO.truckNo,
66
- bizplace: foundDO.bizplace,
67
- deliverTo: foundDO.contactPointRefId || '',
68
- deliveryDate: foundDO.deliveryDate || '',
69
- driverName: foundTransportDriver.name,
70
- //@ts-ignore
71
- otherDestination: foundDO.otherDestination || false,
72
- //@ts-ignore
73
- contactName: foundDO.contactName || '',
74
- otherDriver: foundDO.otherDriver || '',
75
- looseItem: foundDO.looseItem || false,
76
- remark: foundDO.remark || '',
77
- reusablePallet: foundDO.reusablePallet || '',
78
- createdDate: foundDO.createdAt.toISOString().split('T')[0],
79
- isManualDo: foundDO.releaseGood ? false : true,
80
- attentionTo: foundDO.attentionTo || '',
81
- releaseGood: {
82
- ...foundDO.releaseGood,
83
- attentionTo: foundDO.attentionTo || foundDO.releaseGood?.attentionTo,
84
- bizplace: partnerBiz
85
- },
86
- productList: foundOI
87
- },
88
- contactPointInfo: partnerContactPoint.map(async (cp: ContactPoint) => {
89
- return {
90
- id: cp.id,
91
- address: cp.address || '',
92
- email: cp.email || '',
93
- fax: cp.fax || '',
94
- phone: cp.phone || '',
95
- contactName: cp.name || ''
96
- }
97
- })
98
- }
99
- } catch (error) {
100
- logger.error(`delivery-order-by-worksheet:(data:${JSON.stringify({ name, domain })}) ${error} `)
101
- throw new Error('Something went wrong. Please contact support.')
102
- }
103
- }
104
- }
@@ -1,191 +0,0 @@
1
- import _ from 'lodash'
2
- import { Equal, In } from 'typeorm'
3
-
4
- import { Bizplace, ContactPoint } from '@things-factory/biz-base'
5
- import { DeliveryOrder, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'
6
- import { Domain, getRepository } from '@things-factory/shell'
7
- import { Inventory } from '@things-factory/warehouse-base'
8
-
9
- import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
10
- import { WorksheetDetail } from '../../../entities'
11
- import { DateTimeConverter } from '../../../utils'
12
-
13
- export const fetchDeliveryOrderROResolver = {
14
- async fetchDeliveryOrderRO(_: any, { name }, context: ResolverContext) {
15
- const domain: Domain = await getRepository(Domain).findOne({
16
- where: { id: context.state.domain.id }
17
- })
18
-
19
- const foundDO: DeliveryOrder = await getRepository(DeliveryOrder).findOne({
20
- where: { domain: { id: domain.id }, name },
21
- relations: [
22
- 'domain',
23
- 'bizplace',
24
- 'bizplace.company',
25
- 'bizplace.domain',
26
- 'transportDriver',
27
- 'transportVehicle',
28
- 'releaseGood',
29
- 'creator',
30
- 'updater'
31
- ]
32
- })
33
-
34
- const ownTransportFlag: Boolean = foundDO.ownCollection
35
-
36
- let foundCP: ContactPoint = null
37
- if (foundDO?.contactPointRefId) {
38
- foundCP = await getRepository(ContactPoint).findOne({
39
- where: { domain: { id: domain.id }, id: foundDO.contactPointRefId }
40
- })
41
- }
42
-
43
- const foundRO: ReleaseGood = foundDO.releaseGood
44
- const partnerBiz: Bizplace = foundDO.bizplace //customer bizplace
45
- const ownRefNo = foundRO.refNo
46
-
47
- //find list of loaded inventory
48
- const targetInventories: OrderInventory[] = await getRepository(OrderInventory).find({
49
- where: { domain: { id: domain.id }, deliveryOrder: { id: foundDO.id } },
50
- relations: ['inventory']
51
- })
52
- const orderInvIds: string[] = targetInventories.map((oi: any) => oi.id)
53
-
54
- const foundWSD: WorksheetDetail[] = await getRepository(WorksheetDetail).find({
55
- where: {
56
- domain: { id: domain.id },
57
- targetInventory: { id: In(orderInvIds) },
58
- type: WORKSHEET_TYPE.LOADING,
59
- status: Equal(WORKSHEET_STATUS.DONE)
60
- },
61
- relations: [
62
- 'targetInventory',
63
- 'targetInventory.inventory',
64
- 'targetInventory.inventory.location',
65
- 'targetInventory.inventory.product',
66
- 'targetInventory.inventory.product.productDetails',
67
- 'targetInventory.inventory.reusablePallet',
68
- 'updater'
69
- ]
70
- })
71
-
72
- let foundDriver: any = null
73
- if (foundDO.status !== ORDER_STATUS.READY_TO_DISPATCH) {
74
- if (foundDO?.ownCollection && foundDO?.otherDriver) {
75
- foundDriver = foundDO.otherDriver
76
- } else {
77
- foundDriver = foundDO.transportDriver.name
78
- }
79
- }
80
-
81
- let productList: any[] = []
82
- productList = foundWSD
83
- .map((wsd: WorksheetDetail) => {
84
- const targetInventory: OrderInventory = wsd.targetInventory
85
- const inventory: Inventory = targetInventory.inventory
86
- const productDetails: any[] = inventory.product.productDetails
87
- const matchedProductDetail: any = productDetails.find(
88
- productDetail => productDetail.packingType === inventory.packingType
89
- )
90
- return {
91
- product_name: `${inventory.product.name} (${inventory.product.description})`,
92
- product_desc: `${inventory.product?.description || ''}`,
93
- product_nameOnly: `${inventory.product.name}`,
94
- product_sku: `${inventory.product.sku}`,
95
- product_type: inventory.packingType,
96
- product_size: matchedProductDetail ? matchedProductDetail.packingSize : inventory.packingSize,
97
- product_batch: inventory.batchId,
98
- product_batch_ref: inventory.batchIdRef,
99
- product_qty: targetInventory.releaseQty,
100
- //@ts-ignore
101
- product_weight: targetInventory.releaseWeight,
102
- product_gross_weight: inventory.product.grossWeight,
103
- product_uom_value: targetInventory.releaseUomValue,
104
- product_uom: inventory.uom,
105
- remark: targetInventory.remark,
106
- inventory_remark: inventory.remark,
107
- cross_docking: targetInventory.crossDocking,
108
- pallet: inventory?.reusablePallet && inventory?.reusablePallet?.name ? inventory.reusablePallet.name : ''
109
- }
110
- })
111
- .reduce((newItem, item) => {
112
- var foundItem = newItem.find(
113
- newItem =>
114
- newItem.product_name === item.product_name &&
115
- newItem.product_batch === item.product_batch &&
116
- newItem.product_batch_ref === item.product_batch_ref &&
117
- newItem.cross_docking === item.cross_docking &&
118
- newItem.pallet === item.pallet
119
- )
120
- if (!foundItem) {
121
- foundItem = {
122
- product_sku: item.product_sku,
123
- product_name: item.product_name,
124
- product_type: item.product_type,
125
- product_size: item.product_size,
126
- product_batch: item.product_batch,
127
- product_batch_ref: item.product_batch_ref,
128
- product_qty: item.product_qty,
129
- product_weight: item.product_weight,
130
- product_gross_weight: item.product_gross_weight,
131
- product_uom_value: item.product_uom_value,
132
- product_uom: item.product_uom,
133
- product_desc: item.product_desc,
134
- product_nameOnly: item.product_nameOnly,
135
- remark: item.remark,
136
- inventory_remark: item.inventory_remark,
137
- palletQty: 1,
138
- cross_docking: item.cross_docking,
139
- pallet: item.pallet
140
- }
141
-
142
- newItem.push(foundItem)
143
- return newItem
144
- } else {
145
- return newItem.map(ni => {
146
- if (
147
- ni.product_name === item.product_name &&
148
- ni.product_batch === item.product_batch &&
149
- ni.product_batch_ref === item.product_batch_ref &&
150
- ni.cross_docking === item.cross_docking &&
151
- ni.pallet === item.pallet
152
- ) {
153
- return {
154
- ...ni,
155
- palletQty: ni.palletQty + 1,
156
- product_qty: ni.product_qty + item.product_qty,
157
- product_weight: ni.product_weight + item.product_weight,
158
- product_uom_value: ni.product_uom_value + item.product_uom_value
159
- }
160
- } else {
161
- return ni
162
- }
163
- })
164
- }
165
- }, [])
166
-
167
- const data = {
168
- roNo: foundRO.name,
169
- doNo: foundDO.name,
170
- roRef: foundRO.refNo,
171
- roRef2: foundRO.refNo2,
172
- roRef3: foundRO.refNo3,
173
- companyDomain: foundDO.bizplace.name,
174
- recipientBiz: foundRO.attentionTo || '',
175
- doDate: DateTimeConverter.date(foundDO.createdAt),
176
- productList: productList.map((prod: any, idx) => {
177
- return {
178
- batchNo: prod.product_batch,
179
- sku: prod.product_sku,
180
- name: prod.product_name,
181
- type: prod.product_type,
182
- loadedQty: prod.product_qty,
183
- uom: prod.product_uom,
184
- uomValue: `${Math.round(prod.product_uom_value * 100) / 100}`
185
- }
186
- })
187
- }
188
-
189
- return data
190
- }
191
- }
@@ -1,69 +0,0 @@
1
- import { logger } from '@things-factory/env'
2
- import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
3
- import { ReleaseGood } from '@things-factory/sales-base'
4
- import { getRepository } from '@things-factory/shell'
5
-
6
- import { SellercraftController } from '../../../controllers'
7
-
8
- export const fetchSellercraftDocumentResolver = {
9
- async fetchSellercraftDocument(_: any, { releaseGoodId }, context: ResolverContext) {
10
- const { tx, domain, user } = context.state
11
-
12
- //find release goods base on id
13
- let releaseGood: ReleaseGood = await getRepository(ReleaseGood).findOne({
14
- where: { domain: { id: domain.id }, id: releaseGoodId },
15
- relations: ['bizplace', 'bizplace.domain']
16
- })
17
-
18
- //find user sellercraft data
19
- const sellercraft: Sellercraft = await getRepository(Sellercraft).findOneBy({
20
- domain: {
21
- id: releaseGood.bizplace.domain.id
22
- },
23
- status: SellercraftStatus.ACTIVE
24
- })
25
-
26
- // instantiate sellercraft controller
27
- const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
28
-
29
- try {
30
- // fetch document if not found
31
- if (sellercraft && !releaseGood?.airwayBill) {
32
- try {
33
- // try fetch order document / AWB
34
- releaseGood = await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
35
- } catch (error) {
36
- try {
37
- // retry initiate order document
38
- await sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood)
39
- } catch (error) {
40
- try {
41
- // retry initiate order shipment / RTS
42
- await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)
43
- } catch (error) {
44
- throw new Error(`initiateOrderShipment: ${error}`)
45
- }
46
- throw new Error(`initiateOrderDocument: ${error}`)
47
- }
48
- throw new Error(`fetchOrderDocument: ${error}`)
49
- }
50
- }
51
-
52
- const airwayBill: string = releaseGood?.airwayBill
53
- const invoice: string = releaseGood?.invoice
54
- return { airwayBill, invoice }
55
- } catch (error) {
56
- // await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)
57
- logger.error(
58
- `packing-worksheet[getSellercraftDocument]:(data:${JSON.stringify({
59
- sellercraft,
60
- releaseGood,
61
- domain,
62
- user
63
- })}) ${error} `
64
- )
65
-
66
- throw new Error('Waiting for AWB from marketplace. Please retry in awhile')
67
- }
68
- }
69
- }