@things-factory/worksheet-base 8.0.0-beta.1 → 8.0.0-beta.4

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,282 +0,0 @@
1
- import { EntityManager, getManager } from 'typeorm'
2
-
3
- import { ApplicationType, User } from '@things-factory/auth-base'
4
- import { Bizplace, ContactPoint, getMyBizplace } from '@things-factory/biz-base'
5
- import { LastMileAPI, LastMileDelivery } from '@things-factory/integration-lmd'
6
- import { MarketplaceStore, MarketplaceTransporter } from '@things-factory/integration-marketplace'
7
- import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
8
- import {
9
- MarketplaceOrder,
10
- MarketplaceOrderItem,
11
- MarketplaceOrderShipping,
12
- MarketplaceOrderShippingItem
13
- } from '@things-factory/marketplace-base'
14
- import {
15
- ORDER_INVENTORY_STATUS,
16
- ORDER_STATUS,
17
- OrderInventory,
18
- OrderProduct,
19
- ReleaseGood
20
- } from '@things-factory/sales-base'
21
- import { Domain } from '@things-factory/shell'
22
-
23
- import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'
24
- import {
25
- LoadingWorksheetController,
26
- PackingWorksheetController,
27
- PickingWorksheetController,
28
- SellercraftController
29
- } from '../../../../controllers/'
30
- import { EcommerceController } from '../../../../controllers/ecommerce'
31
- import { WorksheetController } from '../../../../controllers/worksheet-controller'
32
- import { Worksheet, WorksheetDetail } from '../../../../entities'
33
-
34
- export const completePickingResolver = {
35
- async completePicking(_: any, { releaseGoodNo }, context: ResolverContext) {
36
- const { tx, domain, user } = context.state
37
-
38
- await completePicking(tx, domain, user, releaseGoodNo)
39
-
40
- const bizplace: Bizplace = await getMyBizplace(domain, user)
41
- const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)
42
- await worksheetController.notifyToCustomer(bizplace, {
43
- title: `Picking has been completed (${bizplace.name}, ${releaseGoodNo})`,
44
- body: `Items now are ready to be loaded`,
45
- url: context.header.referer,
46
- data: { url: context.header.referer }
47
- })
48
- }
49
- }
50
-
51
- export async function completePicking(
52
- tx: EntityManager,
53
- domain: Domain,
54
- user: User,
55
- releaseGoodNo: string
56
- ): Promise<void> {
57
- const pickingWSCtrl: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
58
- let releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
59
- where: { domain: { id: domain.id }, name: releaseGoodNo },
60
- relations: ['bizplace', 'bizplace.domain', 'bizplace.company', 'bizplace.company.domain']
61
- })
62
-
63
- const worksheet: Worksheet = await pickingWSCtrl.findWorksheetByRefOrder(releaseGood, WORKSHEET_TYPE.PICKING, [
64
- 'worksheetDetails',
65
- 'worksheetDetails.targetInventory'
66
- ])
67
-
68
- const warehouseContactPoint: ContactPoint = await tx.getRepository(ContactPoint).findOne({
69
- where: {
70
- domain: { id: domain.id },
71
- type: 'WAREHOUSE'
72
- }
73
- })
74
-
75
- const worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails
76
- const targetInventories: OrderInventory[] = worksheetDetails.map((wsd: WorksheetDetail) => wsd.targetInventory)
77
- const pickedTargetInventories: OrderInventory[] = targetInventories.filter(
78
- targetInventory => targetInventory.status === ORDER_INVENTORY_STATUS.PICKED
79
- )
80
-
81
- await pickingWSCtrl.completePicking(releaseGoodNo)
82
-
83
- const orderSource: string = releaseGood.source
84
- switch (orderSource) {
85
- case ApplicationType.SELLERCRAFT:
86
- const sellercraft: Sellercraft = await tx
87
- .getRepository(Sellercraft)
88
- .findOneBy({ domain: {id: releaseGood.bizplace.domain.id}, status: SellercraftStatus.ACTIVE })
89
- const initSCOrderShipment = async sellercraft => {
90
- if (sellercraft) {
91
- await getManager().transaction(async txMgr => {
92
- const sellercraftCtrl: SellercraftController = new SellercraftController(txMgr, domain, user)
93
-
94
- if (!releaseGood?.packageId) {
95
- const orderProducts: OrderProduct[] = await tx.getRepository(OrderProduct).find({
96
- where: { releaseGood },
97
- relations: ['product', 'product.productDetails']
98
- })
99
- releaseGood = await sellercraftCtrl.packOrder(sellercraft, { ...releaseGood, orderProducts })
100
-
101
- if (releaseGood?.packageId) {
102
- await txMgr
103
- .getRepository(ReleaseGood)
104
- .update({ id: releaseGood.id }, { packageId: releaseGood.packageId, updater: releaseGood.updater })
105
- }
106
- }
107
-
108
- await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)
109
- })
110
- }
111
- }
112
-
113
- // asynchronouly call to initiate sellercraft order shipment/ RTS
114
- initSCOrderShipment(sellercraft)
115
- break
116
-
117
- case ApplicationType.MMS:
118
- const companyDomain: Domain = releaseGood.bizplace.company.domain
119
- let marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
120
- where: { orderNo: releaseGood.refNo, domain: companyDomain },
121
- relations: [
122
- 'marketplaceStore',
123
- 'marketplaceOrderItems',
124
- 'marketplaceOrderItems.marketplaceOrderShippingItems',
125
- 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'
126
- ]
127
- })
128
-
129
- if (marketplaceOrder) {
130
- const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore
131
- let eTraxOption: boolean
132
-
133
- if (marketplaceStore.isAutoUpdateShipment) {
134
- const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
135
- await ecommerceCtrl.createOrderComment(marketplaceStore, marketplaceOrder, ORDER_STATUS.PACKING)
136
- }
137
-
138
- if (!marketplaceOrder)
139
- throw new Error('Failed to find ecommerce order, kindly contact our support team regarding this issue')
140
- eTraxOption = marketplaceOrder?.marketplaceStore.eTrax
141
-
142
- // if eTrax option is true
143
- if (eTraxOption) {
144
- const marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems
145
-
146
- // access every marketplaceOrderItems for shipping information you need
147
- // trigger the controller from integration-lmd that trigger the API, build the parameters needed
148
- // for etrax didn't support multi awb per order
149
- const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] =
150
- marketplaceOrderItems[0].marketplaceOrderShippingItems
151
- const marketplaceOrderShipping: MarketplaceOrderShipping =
152
- marketplaceOrderShippingItems[0].marketplaceOrderShipping
153
- const lmd: LastMileDelivery = await tx.getRepository(LastMileDelivery).findOne({
154
- where: {
155
- domain,
156
- platform: 'eTrax'
157
- }
158
- })
159
-
160
- //Get which transporter to use
161
- const marketplaceTransporter: MarketplaceTransporter = await tx
162
- .getRepository(MarketplaceTransporter)
163
- .findOne({
164
- where: { marketplaceStore: marketplaceOrder.marketplaceStore },
165
- relations: ['pickupTransporter', 'deliveryTransporter']
166
- })
167
-
168
- const resp = await LastMileAPI.createShipmentRequest(lmd, {
169
- orderNo: marketplaceOrder.orderNo,
170
- clientId: lmd.clientId,
171
- clientType: lmd.clientType,
172
- clientName: lmd.clientName,
173
- transporterId: marketplaceTransporter.pickupTransporter.transporterId,
174
- pickupName: warehouseContactPoint.name,
175
- pickupAddress1: warehouseContactPoint.address,
176
- pickupAddress2: warehouseContactPoint.address2,
177
- pickupPostcode: warehouseContactPoint.postCode,
178
- pickupState: warehouseContactPoint.state,
179
- pickupCity: warehouseContactPoint.city,
180
- pickupPhone: warehouseContactPoint.phone,
181
- pickupEmail: warehouseContactPoint.email,
182
- name: marketplaceOrderShipping?.attentionTo ? marketplaceOrderShipping.attentionTo.trim() : '',
183
- address1: marketplaceOrderShipping?.address1 ? marketplaceOrderShipping?.address1.trim() : '-',
184
- address2: marketplaceOrderShipping?.address2 ? marketplaceOrderShipping?.address2.trim() : '-',
185
- postCode: marketplaceOrderShipping?.postCode ? marketplaceOrderShipping?.postCode.trim() : '',
186
- city: marketplaceOrderShipping?.city ? marketplaceOrderShipping?.city.trim() : '',
187
- state: marketplaceOrderShipping?.state ? marketplaceOrderShipping?.state.trim() : '',
188
- phone: marketplaceOrderShipping.phone1 || '',
189
- email: marketplaceOrderShipping.email || '',
190
- attentionTo: marketplaceOrderShipping.attentionTo,
191
- quantity: marketplaceOrderItems.length
192
- })
193
-
194
- const delay = (ms: number) => {
195
- return new Promise(resolve => setTimeout(resolve, ms))
196
- }
197
-
198
- if (resp.Status === 'SUCCESS') {
199
- //Success
200
- let awbObtained = false
201
- let retry = 0
202
- while (!awbObtained) {
203
- const marketplaceOrder2: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
204
- where: { releaseOrderId: releaseGood.id },
205
- relations: [
206
- 'marketplaceStore',
207
- 'marketplaceOrderItems',
208
- 'marketplaceOrderItems.marketplaceOrderShippingItems',
209
- 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'
210
- ]
211
- })
212
- const orderShipping =
213
- marketplaceOrder2.marketplaceOrderItems[0].marketplaceOrderShippingItems[0].marketplaceOrderShipping
214
- if (orderShipping?.airwayBill) {
215
- awbObtained = true
216
- }
217
- await delay(5000)
218
- //Timeout after 15sec
219
- if (++retry > 3) {
220
- break
221
- }
222
- }
223
- } else {
224
- if (resp?.AWBurl && resp?.TrackingNo)
225
- await tx
226
- .getRepository(MarketplaceOrderShipping)
227
- .update({ id: marketplaceOrderShipping.id }, { airwayBill: resp.AWBurl, trackingNo: resp.TrackingNo })
228
- else throw resp
229
- }
230
- }
231
- }
232
- break
233
-
234
- default:
235
- break
236
- }
237
-
238
- if (releaseGood.packingOption) {
239
- const packingWSCtrl: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)
240
- await packingWSCtrl.generatePackingWorksheet(releaseGoodNo)
241
- } else {
242
- // Find Existing Loading Worksheet if any
243
- let existLoadingWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({
244
- where: {
245
- releaseGood: { id: releaseGood.id },
246
- type: WORKSHEET_TYPE.LOADING,
247
- status: WORKSHEET_STATUS.DEACTIVATED
248
- }
249
- })
250
-
251
- if (!existLoadingWorksheet && !releaseGood.courierOption && !releaseGood.packingOption) {
252
- if (pickedTargetInventories.length > 0) {
253
- const loadingWSCtrl: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)
254
- let loadingWorksheet: Worksheet = await loadingWSCtrl.generateLoadingWorksheet(
255
- releaseGoodNo,
256
- pickedTargetInventories
257
- )
258
-
259
- if (!loadingWorksheet.worksheetDetails?.length) {
260
- loadingWorksheet = await pickingWSCtrl.findWorksheetById(loadingWorksheet.id)
261
- }
262
-
263
- const loadingWorksheetDetails: WorksheetDetail[] = loadingWorksheet.worksheetDetails
264
- await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails)
265
- }
266
- } else {
267
- const loadingWSCtrl: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)
268
- let loadingWorksheet: Worksheet = await loadingWSCtrl.updateLoadingWorksheet(
269
- releaseGoodNo,
270
- pickedTargetInventories,
271
- existLoadingWorksheet
272
- )
273
-
274
- if (!loadingWorksheet.worksheetDetails?.length) {
275
- loadingWorksheet = await pickingWSCtrl.findWorksheetById(loadingWorksheet.id)
276
- }
277
-
278
- const loadingWorksheetDetails: WorksheetDetail[] = loadingWorksheet.worksheetDetails
279
- await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails)
280
- }
281
- }
282
- }
@@ -1,121 +0,0 @@
1
- import { EntityManager, getConnection } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { OrderInventory, ReleaseGood } from '@things-factory/sales-base'
5
- import { Setting } from '@things-factory/setting-base'
6
- import { Domain } from '@things-factory/shell'
7
-
8
- import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'
9
- import { Worksheet } from '../../../../entities'
10
- import { pickingWorksheet } from '../picking-worksheet'
11
- import { activatePicking } from './activate-picking'
12
-
13
- export const fetchAndAssignPickingTaskResolver = {
14
- async fetchAndAssignPickingTask(_: any, {}, context: ResolverContext) {
15
- try {
16
- const { tx, domain, user } = context.state
17
- const assignee: User = await tx.getRepository(User).findOne({
18
- where: { id: user.id },
19
- relations: ['domains']
20
- })
21
- if ((assignee?.domains || []).every((userDomain: Domain) => userDomain.id !== domain.id))
22
- throw new Error('Target user is not belong to current domain')
23
-
24
- if (!assignee) throw new Error('failed to find target user')
25
-
26
- let worksheet: Worksheet
27
- let worksheetQb = await tx
28
- .getRepository(Worksheet)
29
- .createQueryBuilder('ws')
30
- .select('ws.id')
31
- .addSelect('ws.name')
32
- .addSelect('ws.status')
33
- .innerJoinAndSelect('ws.releaseGood', 'rg')
34
- .where(
35
- '(ws.domain_id = :domain_id AND ws.type = :type AND ws.assignee_id =:assignee AND (ws.status = :status1 OR ws.status = :status2))',
36
- {
37
- domain_id: domain.id,
38
- type: WORKSHEET_TYPE.PICKING,
39
- assignee: assignee.id,
40
- status1: WORKSHEET_STATUS.EXECUTING,
41
- status2: WORKSHEET_STATUS.DEACTIVATED
42
- }
43
- )
44
- .andWhere(qb => {
45
- const subQuery = qb
46
- .subQuery()
47
- .select('COUNT(*) AS totalPS')
48
- .from(OrderInventory, 'OrderInventory')
49
- .where('OrderInventory.release_good_id = ws.release_good_id')
50
- .andWhere(`OrderInventory.status = 'PENDING_SPLIT'`)
51
- .groupBy('OrderInventory.release_good_id')
52
- .having('COUNT(*) > 0')
53
- .getQuery()
54
- return 'NOT EXISTS ' + subQuery
55
- })
56
- .orderBy('"rg"."created_at"', 'ASC')
57
-
58
- worksheet = await worksheetQb.getOne()
59
-
60
- if (!worksheet) {
61
- // update and return updated worksheet id
62
- let updatedWorksheets = await getConnection().transaction(async (tx2: EntityManager) => {
63
- let x = await tx2.getRepository(Worksheet).query(
64
- `
65
- UPDATE worksheets ws SET assignee_id = $2,
66
- updated_at = NOW(),
67
- updater_id = $2
68
- FROM (
69
- SELECT ws.id, ws.name, ws.status, ws.release_good_id FROM worksheets ws
70
- INNER JOIN release_goods rg ON rg.id = ws.release_good_id
71
- WHERE
72
- ws.domain_id = $1 AND
73
- ws.type = 'PICKING' AND
74
- ws.assignee_id IS NULL AND
75
- (ws.status = 'EXECUTING' OR ws.status = 'DEACTIVATED') AND
76
- NOT EXISTS (
77
- SELECT count(id) AS "totalPS"
78
- FROM order_inventories oi
79
- WHERE oi.release_good_id = ws.release_good_id AND
80
- oi.status = 'PENDING_SPLIT'
81
- GROUP BY oi.release_good_id
82
- HAVING count(id) > 0
83
- )
84
- ORDER BY rg.release_date, rg.created_at LIMIT 1
85
- ) src where src.id = ws.id
86
- RETURNING ws.id;
87
- `,
88
- [domain.id, assignee.id]
89
- )
90
- return x[0]
91
- })
92
-
93
- if (updatedWorksheets.length == 0) throw new Error('no suitable worksheet found')
94
-
95
- // relace worksheet with newly assigned worksheet
96
- worksheet = await tx
97
- .getRepository(Worksheet)
98
- .findOne({ where: { id: updatedWorksheets[0].id }, relations: ['releaseGood'] })
99
- }
100
-
101
- if (worksheet.status == WORKSHEET_STATUS.DEACTIVATED) await activatePicking(tx, domain, user, worksheet.name)
102
-
103
- const locationSortingRules: Setting = await tx.getRepository(Setting).findOne({
104
- where: { domain: { id: domain.id }, name: 'rule-for-picking-product' }
105
- })
106
-
107
- const sortingRule = JSON.parse(locationSortingRules.value)
108
- const locationSortingRule = Object.keys(sortingRule).map(field => {
109
- return { name: field, desc: sortingRule[field] === 'DESC' }
110
- })
111
-
112
- const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOneBy({
113
- id: worksheet.releaseGood.id
114
- })
115
-
116
- return await pickingWorksheet(domain, releaseGood.name, locationSortingRule, tx)
117
- } catch (error) {
118
- throw error
119
- }
120
- }
121
- }
@@ -1,31 +0,0 @@
1
- import { activateBatchPickingResolver } from './activate-batch-picking'
2
- import { activatePickingResolver } from './activate-picking'
3
- import { assignPickingInventoriesResolver } from './assign-picking-inventories'
4
- import { assignPickingWorkerResolver } from './assign-picking-worker'
5
- import { fetchAndAssignPickingTaskResolver } from './fetch-and-assign-picking-task'
6
- import { batchPickingResolver } from './batch-picking'
7
- import { completeBatchPickingResolver } from './complete-batch-picking'
8
- import { completePickingResolver } from './complete-picking'
9
- import { pickingResolver } from './picking'
10
- import { scanProductPickingResolver } from './scan-product-picking'
11
- import { scanProductBatchPickingResolver } from './scan-product-batch-picking'
12
- import { undoPickingAssigmentResolver } from './undo-picking-assignment'
13
- import { undoSerialNumberPickingResolver } from './undo-serial-number-picking'
14
- import { sealToteResolver } from './seal-tote'
15
-
16
- export const Mutations = {
17
- ...assignPickingInventoriesResolver,
18
- ...undoPickingAssigmentResolver,
19
- ...activatePickingResolver,
20
- ...activateBatchPickingResolver,
21
- ...pickingResolver,
22
- ...scanProductPickingResolver,
23
- ...scanProductBatchPickingResolver,
24
- ...batchPickingResolver,
25
- ...completePickingResolver,
26
- ...completeBatchPickingResolver,
27
- ...assignPickingWorkerResolver,
28
- ...fetchAndAssignPickingTaskResolver,
29
- ...undoSerialNumberPickingResolver,
30
- ...sealToteResolver
31
- }
@@ -1,35 +0,0 @@
1
- import { In } from 'typeorm'
2
-
3
- import { getRepository } from '@things-factory/shell'
4
-
5
- import { WORKSHEET_STATUS } from '../../../../constants'
6
- import { Worksheet } from '../../../../entities'
7
-
8
- type AssignmentStatusType = { userId: string; pending?: Worksheet[]; picking: Worksheet[] }
9
-
10
- export const myPickingAssignmentStatusResolver = {
11
- async myPickingAssignmentStatus(
12
- _parentObj: void,
13
- _params: void,
14
- context: ResolverContext
15
- ): Promise<AssignmentStatusType> {
16
- const { domain, user } = context.state
17
-
18
- const pickingWorksheets: Worksheet[] = await getRepository(Worksheet).find({
19
- where: {
20
- domain: { id: domain.id },
21
- assignee: { id: user.id },
22
- status: In([WORKSHEET_STATUS.DEACTIVATED, WORKSHEET_STATUS.EXECUTING])
23
- }
24
- })
25
-
26
- return (pickingWorksheets || []).reduce(
27
- (assignmentStatus: AssignmentStatusType, worksheet: Worksheet) => {
28
- if (worksheet.status === WORKSHEET_STATUS.DEACTIVATED) assignmentStatus.pending.push(worksheet)
29
- if (worksheet.status === WORKSHEET_STATUS.EXECUTING) assignmentStatus.picking.push(worksheet)
30
- return assignmentStatus
31
- },
32
- { userId: user.id, pending: [], picking: [] }
33
- )
34
- }
35
- }
@@ -1,96 +0,0 @@
1
- import { getManager, SelectQueryBuilder } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { getRepository, ListParam } from '@things-factory/shell'
5
-
6
- import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'
7
- import { Worksheet } from '../../../../entities'
8
-
9
- type AssignmentStatusByUserType = { user: User; pending?: string; picking?: string }
10
-
11
- export const pickingAssignmentStatusByUsersResolver = {
12
- async pickingAssignmentStatusByUsers(
13
- _: void,
14
- params: ListParam,
15
- context: any
16
- ): Promise<AssignmentStatusByUserType[]> {
17
- const { domain } = context.state
18
-
19
- const nameFilter = params.filters.find(p => {
20
- return p.name == 'name'
21
- })
22
- const emailFilter = params.filters.find(p => {
23
- return p.name == 'email'
24
- })
25
- const roleFilter = params.filters.find(p => {
26
- return p.name == 'roles'
27
- })
28
-
29
- const pendingSorter = params.sortings.find(p => {
30
- return p.name == 'pending'
31
- })
32
- const pickingSorter = params.sortings.find(p => {
33
- return p.name == 'picking'
34
- })
35
-
36
- const getUserInfoQb: SelectQueryBuilder<User> = await getRepository(User).createQueryBuilder('u')
37
-
38
- getUserInfoQb.select('u.id')
39
- getUserInfoQb.addSelect('u.name')
40
- getUserInfoQb.addSelect('u.email')
41
- getUserInfoQb.addSelect("string_agg(r.name,', ') as roles")
42
- getUserInfoQb.innerJoin('u.roles', 'r')
43
- getUserInfoQb.where('r.domain_id = :domainId', { domainId: domain.id })
44
- roleFilter ? getUserInfoQb.andWhere('r.name ilike :userRole', { userRole: `%${roleFilter.value}%` }) : ''
45
- nameFilter ? getUserInfoQb.andWhere('u.name ilike :userName', { userName: `%${nameFilter.value}%` }) : ''
46
- emailFilter ? getUserInfoQb.andWhere('u.email ilike :userEmail', { userEmail: `%${emailFilter.value}%` }) : ''
47
- getUserInfoQb.andWhere('r.name not ilike :userR', { userR: `%CLIENT%` })
48
- getUserInfoQb.andWhere('u.user_type = :userType', { userType: 'user' })
49
- getUserInfoQb.groupBy('u.id')
50
- getUserInfoQb.addGroupBy('u.name')
51
- getUserInfoQb.addGroupBy('u.email')
52
-
53
- const getAssignedWSQb = await getRepository(Worksheet).createQueryBuilder('ws')
54
-
55
- getAssignedWSQb.select('ws.assignee_id')
56
- getAssignedWSQb.addSelect('u.name')
57
- getAssignedWSQb.addSelect("sum(case when ws.status='EXECUTING' then 1 else 0 end) as picking")
58
- getAssignedWSQb.addSelect("sum(case when ws.status='DEACTIVATED' then 1 else 0 end) as pending")
59
- getAssignedWSQb.innerJoin('ws.assignee', 'u')
60
- getAssignedWSQb.where('ws.domain_id = :id', { id: domain.id })
61
- getAssignedWSQb.andWhere('ws.type IN (:...type)', { type: [WORKSHEET_TYPE.PICKING, WORKSHEET_TYPE.BATCH_PICKING] })
62
- getAssignedWSQb.andWhere('ws.status IN (:...status)', {
63
- status: [WORKSHEET_STATUS.DEACTIVATED, WORKSHEET_STATUS.EXECUTING]
64
- })
65
- getAssignedWSQb.groupBy('ws.assignee_id')
66
- getAssignedWSQb.addGroupBy('u.name')
67
- pendingSorter?.desc ? getAssignedWSQb.orderBy('pending', 'DESC') : ''
68
- pickingSorter?.desc ? getAssignedWSQb.orderBy('picking', 'DESC') : ''
69
- pickingSorter && Object.keys(pickingSorter).length == 1 ? getAssignedWSQb.orderBy('picking', 'ASC') : ''
70
- pendingSorter && Object.keys(pendingSorter).length == 1 ? getAssignedWSQb.orderBy('pending', 'ASC') : ''
71
-
72
- const parameter1 = getUserInfoQb.getParameters()
73
- const parameter2 = getAssignedWSQb.getParameters()
74
-
75
- const combineParams = Object.assign(parameter1, parameter2)
76
-
77
- const combineQb = getManager().createQueryBuilder()
78
-
79
- combineQb.select('u.*')
80
- combineQb.addSelect('coalesce(ws.picking, 0) as picking')
81
- combineQb.addSelect('coalesce(ws.pending, 0) as pending')
82
- combineQb.from('(' + getUserInfoQb.getQuery() + ')', 'u')
83
- combineQb.leftJoin('(' + getAssignedWSQb.getQuery() + ')', 'ws', ' ws.assignee_id = u.u_id')
84
- combineQb.setParameters(combineParams)
85
-
86
- const combineInfo = await combineQb.getRawMany()
87
-
88
- return combineInfo.map(itm => {
89
- return {
90
- user: { id: itm.u_id, email: itm.u_email, name: itm.u_name, description: itm.roles },
91
- pending: itm.pending,
92
- picking: itm.picking
93
- } as any
94
- })
95
- }
96
- }
@@ -1,55 +0,0 @@
1
- import { EntityManager } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { Domain } from '@things-factory/shell'
5
-
6
- import { PickingWorksheetController } from '../../../../controllers'
7
-
8
- export const pickingResolver = {
9
- async picking(
10
- _: any,
11
- { worksheetDetailName, worksheetType, palletId, locationName, releaseQty, binLocation, serialNumber, toteNo },
12
- context: any
13
- ) {
14
- const { tx, domain, user } = context.state
15
- await picking(
16
- tx,
17
- domain,
18
- user,
19
- worksheetDetailName,
20
- worksheetType,
21
- palletId,
22
- locationName,
23
- releaseQty,
24
- binLocation,
25
- serialNumber,
26
- toteNo
27
- )
28
- }
29
- }
30
-
31
- export async function picking(
32
- tx: EntityManager,
33
- domain: Domain,
34
- user: User,
35
- worksheetDetailName: string,
36
- worksheetType: string,
37
- palletId: string,
38
- locationName: string,
39
- releaseQty: number,
40
- binLocation?: string,
41
- serialNumber?: string,
42
- toteNo?: string
43
- ) {
44
- const worksheetController: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
45
- await worksheetController.picking(
46
- worksheetDetailName,
47
- worksheetType,
48
- palletId,
49
- locationName,
50
- releaseQty,
51
- binLocation,
52
- serialNumber,
53
- toteNo
54
- )
55
- }
@@ -1,52 +0,0 @@
1
- import { EntityManager } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { Domain } from '@things-factory/shell'
5
-
6
- import { PickingWorksheetController } from '../../../../controllers'
7
-
8
- export const scanProductBatchPickingResolver = {
9
- async scanProductBatchPicking(
10
- _: any,
11
- { taskNo, worksheetType, cartonId, productBarcode, inventory, binLocationName, pickingQty },
12
- context: any
13
- ) {
14
- const { tx, domain, user } = context.state
15
- await scanProductBatchPicking(
16
- tx,
17
- domain,
18
- user,
19
- taskNo,
20
- worksheetType,
21
- cartonId,
22
- productBarcode,
23
- inventory,
24
- binLocationName,
25
- pickingQty
26
- )
27
- }
28
- }
29
-
30
- export async function scanProductBatchPicking(
31
- tx: EntityManager,
32
- domain: Domain,
33
- user: User,
34
- taskNo: string,
35
- worksheetType: string,
36
- cartonId: string,
37
- productBarcode: string,
38
- inventory: any,
39
- binLocationName?: string,
40
- pickingQty?: number
41
- ) {
42
- const worksheetController: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
43
- await worksheetController.scanProductBatchPicking(
44
- taskNo,
45
- worksheetType,
46
- cartonId,
47
- productBarcode,
48
- inventory,
49
- binLocationName,
50
- pickingQty
51
- )
52
- }