@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,36 +0,0 @@
1
- import { SelectQueryBuilder } from 'typeorm'
2
-
3
- import { OrderInventory as OrderInventoryEntity, ReleaseGood as ReleaseGoodEntity } from '@things-factory/sales-base'
4
- import { Domain } from '@things-factory/shell'
5
-
6
- import { Worksheet as WorksheetEntity, WorksheetDetail as WorksheetDetailEntity } from '../../../entities'
7
-
8
- export const findReleaseOrdersByTaskNoResolver = {
9
- async findReleaseOrdersByTaskNo(_: any, { taskNo }, context: ResolverContext) {
10
- const { domain, tx } = context.state
11
- let task = await tx.getRepository(WorksheetEntity).findOne({
12
- where: { taskNo }
13
- })
14
-
15
- if (!task) throw new Error('Unable to find task no.')
16
-
17
- const qb: SelectQueryBuilder<WorksheetEntity> = tx
18
- .getRepository(WorksheetEntity)
19
- .createQueryBuilder('ws')
20
- .select('rg.id as id')
21
- .addSelect('rg.name as name')
22
- .addSelect('rg.status as status')
23
- .innerJoin(Domain, 'domain', 'ws.domain_id = domain.id')
24
- .innerJoin(WorksheetDetailEntity, 'wsd', 'ws.id = wsd.worksheet_id')
25
- .innerJoin(OrderInventoryEntity, 'oi', 'oi.id = wsd.target_inventory_id')
26
- .innerJoin(ReleaseGoodEntity, 'rg', 'rg.id = oi.release_good_id')
27
- .where('domain.id = :domainId', { domainId: domain.id })
28
- .andWhere('ws.taskNo = :taskNo', { taskNo: taskNo })
29
- .groupBy('rg.id')
30
- .addGroupBy('rg.name')
31
- .addGroupBy('rg.status')
32
-
33
- const releaseGoods: ReleaseGoodEntity[] = await qb.getRawMany()
34
- return { releaseGoods, taskNo }
35
- }
36
- }
@@ -1,29 +0,0 @@
1
- import { SelectQueryBuilder } from 'typeorm'
2
-
3
- //@ts-ignore
4
- import { ReleaseGood as ReleaseGoodEntity, Worksheet as WorksheetEntity } from '@things-factory/sales-base'
5
-
6
- export const findReleaseOrderByWorksheetNoResolver = {
7
- async findReleaseOrderByWorksheetNo(_: any, { batchWorksheetNo }, context: ResolverContext) {
8
- const { domain, tx } = context.state
9
- if (!batchWorksheetNo) throw new Error('Unable to find worksheet no.')
10
-
11
- const qb: SelectQueryBuilder<WorksheetEntity> = tx
12
- .getRepository(WorksheetEntity)
13
- .createQueryBuilder('ws')
14
- .select('rg.name')
15
- .addSelect('rg.status')
16
- .innerJoin('ws.domain', 'domain')
17
- .innerJoin('ws.worksheetDetail', 'wsd')
18
- .innerJoin('wsd.targetInventory', 'oi')
19
- .innerJoin('oi.releaseGood', 'rg')
20
- .where('ws.domain_id = :domainId', { domainId: domain.id })
21
- .andWhere('ws.name = :worksheetNo', { worksheetNo: batchWorksheetNo })
22
- .groupBy('rg.id')
23
- .addGroupBy('rg.name')
24
- .addGroupBy('rg.status')
25
-
26
- const releaseGoods: ReleaseGoodEntity[] = await qb.getRawMany()
27
- return releaseGoods
28
- }
29
- }
@@ -1,80 +0,0 @@
1
- import { SelectQueryBuilder } from 'typeorm'
2
-
3
- import {
4
- ORDER_INVENTORY_STATUS,
5
- ORDER_STATUS,
6
- OrderInventory as OrderInventoryEntity,
7
- ReleaseGood as ReleaseGoodEntity
8
- } from '@things-factory/sales-base'
9
- import { Domain } from '@things-factory/shell'
10
- import { Location } from '@things-factory/warehouse-base'
11
-
12
- import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
13
- import { Worksheet as WorksheetEntity, WorksheetDetail as WorksheetDetailEntity } from '../../../entities'
14
-
15
- export const findSortingReleaseOrdersByTaskNoResolver = {
16
- async findSortingReleaseOrdersByTaskNo(_: any, { taskNo }, context: ResolverContext) {
17
- const { domain, tx } = context.state
18
- let task = await tx.getRepository(WorksheetEntity).findOne({
19
- where: { taskNo, status: WORKSHEET_STATUS.EXECUTING, type: WORKSHEET_TYPE.SORTING }
20
- })
21
-
22
- // Find Task based on Bin
23
- if (!task) {
24
- const binLocation: Location = await tx.getRepository(Location).findOne({
25
- where: { domain: { id: domain.id }, name: taskNo }
26
- })
27
-
28
- const qb: SelectQueryBuilder<OrderInventoryEntity> = tx
29
- .getRepository(OrderInventoryEntity)
30
- .createQueryBuilder('orderInventory')
31
-
32
- qb.innerJoinAndSelect('orderInventory.releaseGood', 'releaseGood')
33
- .innerJoinAndSelect('worksheets', 'ws', `orderInventory.ref_worksheet_id = ws.id AND ws.type = 'BATCH_PICKING'`)
34
- .innerJoinAndSelect('worksheets', 'ws2', `ws2.task_no = ws.task_no AND ws2.type = 'SORTING'`)
35
- .innerJoinAndSelect('releaseGood.bizplace', 'bizplace')
36
- .innerJoinAndSelect('bizplace.domain', 'domain')
37
- .where('orderInventory.domain_id = :domainId', { domainId: domain.id })
38
- .andWhere('orderInventory.status IN (:...orderInventoryStatus)', {
39
- orderInventoryStatus: [ORDER_INVENTORY_STATUS.SORTING]
40
- })
41
- .andWhere('orderInventory.bin_location_id = :locationId', { locationId: binLocation.id })
42
- .andWhere('releaseGood.status = :status', { status: ORDER_STATUS.SORTING })
43
-
44
- const orderInventoryByBin = await qb.getRawOne()
45
- if (orderInventoryByBin?.releaseGood_id) {
46
- taskNo = orderInventoryByBin.ws_task_no
47
- task = await tx.getRepository(WorksheetEntity).findOne({
48
- where: { taskNo, status: WORKSHEET_STATUS.EXECUTING, type: WORKSHEET_TYPE.SORTING }
49
- })
50
- } else {
51
- throw new Error(`Bin do not have any batch picking order.`)
52
- }
53
- }
54
-
55
- if (!task) throw new Error('Unable to find task no.')
56
-
57
- const qb: SelectQueryBuilder<WorksheetEntity> = tx
58
- .getRepository(WorksheetEntity)
59
- .createQueryBuilder('ws')
60
- .select('rg.id as id')
61
- .addSelect('rg.name as name')
62
- .addSelect('rg.status as status')
63
- .innerJoin(Domain, 'domain', 'ws.domain_id = domain.id')
64
- .innerJoin(WorksheetDetailEntity, 'wsd', 'ws.id = wsd.worksheet_id')
65
- .innerJoin(OrderInventoryEntity, 'oi', 'oi.id = wsd.target_inventory_id')
66
- .innerJoin(ReleaseGoodEntity, 'rg', 'rg.id = oi.release_good_id')
67
- .where('domain.id = :domainId', { domainId: domain.id })
68
- .andWhere('ws.taskNo = :taskNo', { taskNo: taskNo })
69
- .andWhere('ws.type = :worksheetType', { worksheetType: WORKSHEET_TYPE.SORTING })
70
- .andWhere('ws.status = :worksheetStatus', { worksheetStatus: WORKSHEET_STATUS.EXECUTING })
71
- .andWhere('rg.status = :roStatus', { roStatus: ORDER_STATUS.SORTING })
72
- .groupBy('rg.id')
73
- .addGroupBy('rg.name')
74
- .addGroupBy('rg.status')
75
- .orderBy('rg.createdAt', 'ASC')
76
-
77
- const releaseGoods: ReleaseGoodEntity[] = await qb.getRawMany()
78
- return { releaseGoods, taskNo }
79
- }
80
- }
@@ -1,100 +0,0 @@
1
- import { EntityManager } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { ArrivalNotice } from '@things-factory/sales-base'
5
- import { Domain } from '@things-factory/shell'
6
-
7
- import { PickingWorksheetController, UnloadingWorksheetController } from '../../../../controllers'
8
- import { Worksheet } from '../../../../entities'
9
-
10
- export const generateArrivalNoticeWorksheetResolver = {
11
- async generateArrivalNoticeWorksheet(_: any, { arrivalNoticeNos, bufferLocation }, context: ResolverContext) {
12
- const { tx, domain, user } = context.state
13
- /* REVIEW ME --
14
- return await generateArrivalNoticeWorksheet(tx, domain, user, arrivalNoticeNo, bufferLocation)
15
- */
16
-
17
- await Promise.all(
18
- arrivalNoticeNos.map(async arrivalNoticeNo => {
19
- try {
20
- let unloadingWorksheet = await generateUnloadingWorksheet(tx, domain, user, arrivalNoticeNo, bufferLocation)
21
-
22
- if (!unloadingWorksheet.arrivalNotice?.id) {
23
- unloadingWorksheet = await tx.getRepository(Worksheet).findOne({
24
- where: { id: unloadingWorksheet.id },
25
- relations: ['arrivalNotice']
26
- })
27
- }
28
-
29
- let arrivalNotice: ArrivalNotice = unloadingWorksheet.arrivalNotice
30
- const crossDocking: boolean = unloadingWorksheet.arrivalNotice.crossDocking
31
-
32
- if (crossDocking) {
33
- arrivalNotice = await tx
34
- .getRepository(ArrivalNotice)
35
- .findOne({ where: { domain: { id: domain.id }, name: arrivalNoticeNo }, relations: ['releaseGood'] })
36
-
37
- const releaseGoodNo: string = arrivalNotice.releaseGood.name
38
- const pickingWSCtrl: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
39
- await pickingWSCtrl.generatePickingWorksheet(releaseGoodNo)
40
- }
41
-
42
- const vasWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({
43
- where: { domain: { id: domain.id }, arrivalNotice: { id: arrivalNotice.id } }
44
- })
45
-
46
- return { unloadingWorksheet, vasWorksheet }
47
- } catch (e) {
48
- throw new Error(e)
49
- }
50
- })
51
- )
52
- }
53
- }
54
-
55
- export async function generateArrivalNoticeWorksheet(
56
- tx: EntityManager,
57
- domain: Domain,
58
- user: User,
59
- arrivalNoticeNo: string,
60
- bufferLocation: { id: string }
61
- ) {
62
- let unloadingWorksheet = await generateUnloadingWorksheet(tx, domain, user, arrivalNoticeNo, bufferLocation)
63
-
64
- if (!unloadingWorksheet.arrivalNotice?.id) {
65
- unloadingWorksheet = await tx.getRepository(Worksheet).findOne({
66
- where: { id: unloadingWorksheet.id },
67
- relations: ['arrivalNotice']
68
- })
69
- }
70
-
71
- let arrivalNotice: ArrivalNotice = unloadingWorksheet.arrivalNotice
72
- const crossDocking: boolean = unloadingWorksheet.arrivalNotice.crossDocking
73
-
74
- if (crossDocking) {
75
- arrivalNotice = await tx
76
- .getRepository(ArrivalNotice)
77
- .findOne({ where: { domain: { id: domain.id }, name: arrivalNoticeNo }, relations: ['releaseGood'] })
78
-
79
- const releaseGoodNo: string = arrivalNotice.releaseGood.name
80
- const pickingWSCtrl: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
81
- await pickingWSCtrl.generatePickingWorksheet(releaseGoodNo)
82
- }
83
-
84
- const vasWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({
85
- where: { domain: { id: domain.id }, arrivalNotice: { id: arrivalNotice.id } }
86
- })
87
-
88
- return { unloadingWorksheet, vasWorksheet }
89
- }
90
-
91
- async function generateUnloadingWorksheet(
92
- tx: EntityManager,
93
- domain: Domain,
94
- user: User,
95
- arrivalNoticeNo: string,
96
- bufferLocation: { id: string }
97
- ): Promise<Worksheet> {
98
- const worksheetController: UnloadingWorksheetController = new UnloadingWorksheetController(tx, domain, user)
99
- return await worksheetController.generateUnloadingWorksheet(arrivalNoticeNo, bufferLocation.id)
100
- }
@@ -1,26 +0,0 @@
1
- import { EntityManager } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- //@ts-ignore
5
- import { GenerateBatchPickInfo } from '@things-factory/sales-base'
6
- import { Domain } from '@things-factory/shell'
7
-
8
- import { PickingWorksheetController } from '../../../../controllers/'
9
- import { Worksheet } from '../../../../entities'
10
-
11
- export const generateBatchPickingWorksheetResolver = {
12
- async generateBatchPickingWorksheet(_: any, { releaseGoodWithBiz }, context: ResolverContext) {
13
- const { tx, domain, user } = context.state
14
- return await generateBatchPickingWorksheet(tx, domain, user, releaseGoodWithBiz)
15
- }
16
- }
17
-
18
- export async function generateBatchPickingWorksheet(
19
- tx: EntityManager,
20
- domain: Domain,
21
- user: User,
22
- releaseGoodWithBiz: [[GenerateBatchPickInfo]]
23
- ): Promise<Worksheet[]> {
24
- const worksheetController: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
25
- return await worksheetController.generateBatchPickingWorksheet(releaseGoodWithBiz)
26
- }
@@ -1,51 +0,0 @@
1
- import { EntityManager } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { OrderInventory } from '@things-factory/sales-base'
5
- import { Domain } from '@things-factory/shell'
6
-
7
- import { CycleCountWorksheetController } from '../../../../controllers'
8
- import { Worksheet } from '../../../../entities'
9
-
10
- export const generateCycleCountWorksheetResolver = {
11
- async generateCycleCountWorksheet(
12
- _: any,
13
- { executionDate, customerId, orderInventoryIds, orderInventories, limit },
14
- context: any
15
- ) {
16
- const { tx, domain, user } = context.state
17
-
18
- const cycleCountWorksheet: Worksheet = await generateCycleCountWorksheet(
19
- tx,
20
- domain,
21
- user,
22
- executionDate,
23
- customerId,
24
- orderInventoryIds,
25
- orderInventories,
26
- limit
27
- )
28
-
29
- return cycleCountWorksheet
30
- }
31
- }
32
-
33
- export async function generateCycleCountWorksheet(
34
- tx: EntityManager,
35
- domain: Domain,
36
- user: User,
37
- executionDate: string,
38
- customerId: string,
39
- orderInventoryIds: string[] = [],
40
- orderInventories: OrderInventory[],
41
- limit: number
42
- ): Promise<Worksheet> {
43
- const worksheetController: CycleCountWorksheetController = new CycleCountWorksheetController(tx, domain, user)
44
- return await worksheetController.generateCycleCountWorksheet(
45
- executionDate,
46
- customerId,
47
- orderInventoryIds,
48
- orderInventories,
49
- limit
50
- )
51
- }
@@ -1,17 +0,0 @@
1
- import { getManager } from 'typeorm'
2
-
3
- import { generatePickingWorksheet } from './generate-release-good-worksheet'
4
-
5
- export const generateMultipleReleaseGoodWorksheetResolver = {
6
- async generateMultipleReleaseGoodWorksheet(_: any, { releaseGoods }, context: ResolverContext) {
7
- const { tx, domain, user } = context.state
8
-
9
- for (let idx = 0; idx < releaseGoods.length; idx++) {
10
- await getManager().transaction(async txMgr => {
11
- await generatePickingWorksheet(txMgr, domain, user, releaseGoods[idx].name, releaseGoods[idx].status)
12
- })
13
- }
14
-
15
- return true
16
- }
17
- }
@@ -1,69 +0,0 @@
1
- import { EntityManager } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { ReturnOrder } from '@things-factory/sales-base'
5
- import { Domain } from '@things-factory/shell'
6
- import { Inventory } from '@things-factory/warehouse-base'
7
-
8
- import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'
9
- import { PutawayReturningWorksheetController } from '../../../../controllers'
10
- import { Worksheet, WorksheetDetail } from '../../../../entities'
11
-
12
- export const generatePartialPutawayReturnWorksheetResolver = {
13
- async generatePartialPutawayReturnWorksheet(
14
- _: any,
15
- { returnOrderNo, inventories },
16
- context: ResolverContext
17
- ): Promise<void> {
18
- const { tx, domain, user } = context.state
19
- let worksheet: Worksheet = await generatePartialPutawayReturnWorksheet(tx, domain, user, returnOrderNo, inventories)
20
-
21
- if (!worksheet?.returnOrder?.id) {
22
- worksheet = await tx.getRepository(Worksheet).findOne({
23
- where: { id: worksheet.id },
24
- relations: ['returnOrder']
25
- })
26
- }
27
-
28
- const returnOrder: ReturnOrder = worksheet.returnOrder
29
- const unloadingWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({
30
- where: { returnOrder: { id: returnOrder.id }, type: WORKSHEET_TYPE.UNLOADING_RETURN },
31
- relations: ['worksheetDetails', 'worksheetDetails.targetInventory', 'worksheetDetails.targetInventory.inventory']
32
- })
33
-
34
- const remainPalletCnt: number = await tx.getRepository(Inventory).count({
35
- where: {
36
- domain: { id: domain.id },
37
- refOrderId: returnOrder.id,
38
- status: WORKSHEET_STATUS.PARTIALLY_UNLOADED
39
- }
40
- })
41
- const wsdStatus: string = remainPalletCnt >= 0 ? WORKSHEET_STATUS.PARTIALLY_UNLOADED : WORKSHEET_STATUS.EXECUTING
42
-
43
- const worksheetDetails: WorksheetDetail[] = unloadingWorksheet.worksheetDetails
44
- // const nonStartedWorksheetDetails: WorksheetDetail[] = worksheetDetails
45
- // .filter((wsd: WorksheetDetail) => wsd.targetInventory?.inventory?.status !== INVENTORY_STATUS.PARTIALLY_UNLOADED)
46
- // .map((wsd: WorksheetDetail) => {
47
- // wsd.status = wsdStatus
48
- // wsd.updater = user
49
- // return wsd
50
- // })
51
-
52
- // await tx.getRepository(WorksheetDetail).save(nonStartedWorksheetDetails)
53
- }
54
- }
55
-
56
- export async function generatePartialPutawayReturnWorksheet(
57
- tx: EntityManager,
58
- domain: Domain,
59
- user: User,
60
- returnOrderNo: string,
61
- inventories: Inventory[]
62
- ): Promise<Worksheet> {
63
- const worksheetController: PutawayReturningWorksheetController = new PutawayReturningWorksheetController(
64
- tx,
65
- domain,
66
- user
67
- )
68
- return await worksheetController.generatePutawayReturnWorksheet(returnOrderNo, inventories)
69
- }
@@ -1,65 +0,0 @@
1
- import { EntityManager } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { ArrivalNotice } from '@things-factory/sales-base'
5
- import { Domain } from '@things-factory/shell'
6
- import { Inventory } from '@things-factory/warehouse-base'
7
-
8
- import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'
9
- import { PutawayWorksheetController } from '../../../../controllers'
10
- import { Worksheet, WorksheetDetail } from '../../../../entities'
11
-
12
- export const generatePartialPutawayWorksheetResolver = {
13
- async generatePartialPutawayWorksheet(
14
- _: any,
15
- { arrivalNoticeNo, inventories },
16
- context: ResolverContext
17
- ): Promise<void> {
18
- const { tx, domain, user } = context.state
19
- let worksheet: Worksheet = await generatePartialPutawayWorksheet(tx, domain, user, arrivalNoticeNo, inventories)
20
-
21
- if (!worksheet?.arrivalNotice?.id) {
22
- worksheet = await tx.getRepository(Worksheet).findOne({
23
- where: { id: worksheet.id },
24
- relations: ['arrivalNotice']
25
- })
26
- }
27
-
28
- const arrivalNotice: ArrivalNotice = worksheet.arrivalNotice
29
- const unloadingWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({
30
- where: { arrivalNotice: { id: arrivalNotice.id }, type: WORKSHEET_TYPE.UNLOADING },
31
- relations: ['worksheetDetails', 'worksheetDetails.targetInventory', 'worksheetDetails.targetInventory.inventory']
32
- })
33
-
34
- const remainPalletCnt: number = await tx.getRepository(Inventory).count({
35
- where: {
36
- domain: { id: domain.id },
37
- refOrderId: arrivalNotice.id,
38
- status: WORKSHEET_STATUS.PARTIALLY_UNLOADED
39
- }
40
- })
41
- const wsdStatus: string = remainPalletCnt >= 0 ? WORKSHEET_STATUS.PARTIALLY_UNLOADED : WORKSHEET_STATUS.EXECUTING
42
-
43
- const worksheetDetails: WorksheetDetail[] = unloadingWorksheet.worksheetDetails
44
- // const nonStartedWorksheetDetails: WorksheetDetail[] = worksheetDetails
45
- // .filter((wsd: WorksheetDetail) => wsd.targetInventory?.inventory?.status !== INVENTORY_STATUS.PARTIALLY_UNLOADED)
46
- // .map((wsd: WorksheetDetail) => {
47
- // wsd.status = wsdStatus
48
- // wsd.updater = user
49
- // return wsd
50
- // })
51
-
52
- // await tx.getRepository(WorksheetDetail).save(nonStartedWorksheetDetails)
53
- }
54
- }
55
-
56
- export async function generatePartialPutawayWorksheet(
57
- tx: EntityManager,
58
- domain: Domain,
59
- user: User,
60
- arrivalNoticeNo: string,
61
- inventories: Inventory[]
62
- ): Promise<Worksheet> {
63
- const worksheetController: PutawayWorksheetController = new PutawayWorksheetController(tx, domain, user)
64
- return await worksheetController.generatePutawayWorksheet(arrivalNoticeNo, inventories)
65
- }
@@ -1,54 +0,0 @@
1
- import { EntityManager } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { ArrivalNotice } from '@things-factory/sales-base'
5
- import { Domain } from '@things-factory/shell'
6
- import { Inventory, INVENTORY_STATUS } from '@things-factory/warehouse-base'
7
-
8
- import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'
9
- import { PutawayWorksheetController } from '../../../../controllers'
10
- import { Worksheet, WorksheetDetail } from '../../../../entities'
11
-
12
- export const generatePutawayWorksheetResolver = {
13
- async generatePutawayWorksheet(_: any, { arrivalNoticeNo, inventories }, context: ResolverContext): Promise<void> {
14
- const { tx, domain, user } = context.state
15
- let worksheet: Worksheet = await generatePutawayWorksheet(tx, domain, user, arrivalNoticeNo, inventories)
16
-
17
- if (!worksheet.arrivalNotice?.id) {
18
- worksheet = await tx.getRepository(Worksheet).findOne({
19
- where: { id: worksheet.id },
20
- relations: ['arrivalNotice']
21
- })
22
- }
23
-
24
- // Find whether there's partially unloaded and not started inventories
25
- // to execute it automatically.
26
- const arrivalNotice: ArrivalNotice = worksheet.arrivalNotice
27
- const unloadingWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({
28
- where: { arrivalNotice: { id: arrivalNotice.id }, type: WORKSHEET_TYPE.UNLOADING },
29
- relations: ['worksheetDetails', 'worksheetDetails.targetInventory', 'worksheetDetails.targetInventory.inventory']
30
- })
31
- const worksheetDetails: WorksheetDetail[] = unloadingWorksheet.worksheetDetails
32
- const nonStartedWorksheetDetails: WorksheetDetail[] = worksheetDetails
33
- .filter((wsd: WorksheetDetail) => wsd.targetInventory?.inventory?.status !== INVENTORY_STATUS.PARTIALLY_UNLOADED)
34
- .map((wsd: WorksheetDetail) => {
35
- wsd.status = WORKSHEET_STATUS.EXECUTING
36
- wsd.updater = user
37
-
38
- return wsd
39
- })
40
-
41
- await tx.getRepository(WorksheetDetail).save(nonStartedWorksheetDetails)
42
- }
43
- }
44
-
45
- export async function generatePutawayWorksheet(
46
- tx: EntityManager,
47
- domain: Domain,
48
- user: User,
49
- arrivalNoticeNo: string,
50
- inventories: Inventory[]
51
- ): Promise<Worksheet> {
52
- const worksheetController: PutawayWorksheetController = new PutawayWorksheetController(tx, domain, user)
53
- return await worksheetController.generatePutawayWorksheet(arrivalNoticeNo, inventories)
54
- }
@@ -1,114 +0,0 @@
1
- import { EntityManager } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'
5
- import { Setting } from '@things-factory/setting-base'
6
- import { Domain } from '@things-factory/shell'
7
- import { Inventory, INVENTORY_TRANSACTION_TYPE, InventoryUtil } from '@things-factory/warehouse-base'
8
-
9
- import { PickingWorksheetController } from '../../../../controllers/'
10
- import { Worksheet, WorksheetDetail } from '../../../../entities'
11
-
12
- export const generateReleaseGoodWorksheetResolver = {
13
- async generateReleaseGoodWorksheet(_: any, { releaseGoodNo, currentStatus = null }, context: ResolverContext) {
14
- const { tx, domain, user } = context.state
15
- return await generatePickingWorksheet(tx, domain, user, releaseGoodNo, currentStatus)
16
- }
17
- }
18
-
19
- export async function generatePickingWorksheet(
20
- tx: EntityManager,
21
- domain: Domain,
22
- user: User,
23
- releaseGoodNo: string,
24
- currentStatus: string = null
25
- ): Promise<Worksheet> {
26
- try {
27
- const worksheetController: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
28
-
29
- //@ts-ignore
30
- let releaseGood: ReleaseGood = await worksheetController.findRefOrder(ReleaseGood, {
31
- domain: { id: domain.id },
32
- name: releaseGoodNo,
33
- status: ORDER_STATUS.PENDING_WORKSHEET
34
- })
35
-
36
- let worksheet: Worksheet = new Worksheet()
37
-
38
- const directReleaseOrder: Setting = await tx.getRepository(Setting).findOne({
39
- where: { domain: { id: domain.id }, category: 'id-rule', name: 'enable-direct-b2c-release-order' }
40
- })
41
-
42
- if (releaseGood.type == 'b2c' && directReleaseOrder && directReleaseOrder.value.toLowerCase() == 'true') {
43
- const inventoryUtil = new InventoryUtil(tx, domain, user)
44
-
45
- let orderInventories: OrderInventory[] = await tx.getRepository(OrderInventory).find({
46
- where: { domain: { id: domain.id }, releaseGood: { id: releaseGood.id } },
47
- relations: ['inventory']
48
- })
49
-
50
- for (let idx = 0; idx < orderInventories.length; idx++) {
51
- let orderInventory = orderInventories[idx]
52
- //@ts-ignore
53
- if (orderInventory.releaseQty <= 0 || (orderInventory.uomValue != null && orderInventory.uomValue <= 0)) {
54
- throw new Error(`Invalid data for ${releaseGoodNo}. Please contact support.`)
55
- }
56
- //@ts-ignore
57
- orderInventory.uomValue = orderInventory.uomValue > 0 ? orderInventory.uomValue : 0
58
-
59
- let inventory: Inventory = await tx
60
- .getRepository(Inventory)
61
- .findOne({ where: { id: orderInventory.inventory.id } })
62
-
63
- await inventoryUtil.transactionInventory(
64
- {
65
- id: inventory.id,
66
- qty: inventory.qty - orderInventory.releaseQty,
67
- uomValue: Math.round((inventory.uomValue - orderInventory.releaseUomValue) * 100) / 100,
68
- lockedQty: inventory.lockedQty - orderInventory.releaseQty,
69
- lockedUomValue: Math.round((inventory.lockedUomValue - orderInventory.releaseUomValue) * 100) / 100
70
- } as any,
71
- releaseGood,
72
- -orderInventory.releaseQty,
73
- -orderInventory.releaseUomValue,
74
- INVENTORY_TRANSACTION_TYPE.DIRECT_DEDUCTION
75
- )
76
-
77
- await tx
78
- .getRepository(OrderInventory)
79
- .update({ id: orderInventory.id }, { status: ORDER_INVENTORY_STATUS.TERMINATED })
80
- }
81
-
82
- await tx.getRepository(ReleaseGood).update({ id: releaseGood.id }, { status: ORDER_STATUS.DONE })
83
- } else {
84
- worksheet = await worksheetController.generatePickingWorksheet(releaseGoodNo, currentStatus)
85
- }
86
-
87
- return worksheet
88
- } catch (error) {
89
- return new Worksheet()
90
- }
91
- }
92
-
93
- /**
94
- * @description This function will generate picking worksheet detail
95
- * If you call this function without specified status, status will be set as DEACTIVATED
96
- *
97
- * @param {EntityManager} tx
98
- * @param {Domain} domain
99
- * @param {Bizplace} bizplace
100
- * @param {User} user
101
- * @param {Worksheet} worksheet
102
- * @param {OrderInventory} targetInventory
103
- * @param {String} status
104
- */
105
- export async function generatePickingWorksheetDetail(
106
- tx: EntityManager,
107
- domain: Domain,
108
- user: User,
109
- worksheet: Worksheet,
110
- targetInventory: Partial<OrderInventory>[]
111
- ): Promise<WorksheetDetail[]> {
112
- const worksheetController: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
113
- return await worksheetController.generatePickingWorksheetDetail(worksheet, targetInventory)
114
- }