@things-factory/worksheet-base 5.0.0-alpha.5 → 5.0.0-alpha.52

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 (243) hide show
  1. package/dist-server/constants/template.js +1 -0
  2. package/dist-server/constants/template.js.map +1 -1
  3. package/dist-server/controllers/ecommerce/sellercraft-controller.js +24 -10
  4. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
  5. package/dist-server/controllers/inbound/putaway-worksheet-controller.js +22 -13
  6. package/dist-server/controllers/inbound/putaway-worksheet-controller.js.map +1 -1
  7. package/dist-server/controllers/inbound/unloading-worksheet-controller.js +309 -4
  8. package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
  9. package/dist-server/controllers/index.js +2 -0
  10. package/dist-server/controllers/index.js.map +1 -1
  11. package/dist-server/controllers/outbound/loading-worksheet-controller.js +56 -9
  12. package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -1
  13. package/dist-server/controllers/outbound/packing-worksheet-controller.js +172 -7
  14. package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
  15. package/dist-server/controllers/outbound/picking-worksheet-controller.js +500 -18
  16. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  17. package/dist-server/controllers/outbound/returning-worksheet-controller.js +11 -1
  18. package/dist-server/controllers/outbound/returning-worksheet-controller.js.map +1 -1
  19. package/dist-server/controllers/outbound/sorting-worksheet-controller.js +215 -12
  20. package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
  21. package/dist-server/controllers/render-fm-grn.js +229 -0
  22. package/dist-server/controllers/render-fm-grn.js.map +1 -0
  23. package/dist-server/controllers/render-grn.js +77 -45
  24. package/dist-server/controllers/render-grn.js.map +1 -1
  25. package/dist-server/controllers/render-invoices.js +103 -65
  26. package/dist-server/controllers/render-invoices.js.map +1 -1
  27. package/dist-server/controllers/render-manifest.js +12 -5
  28. package/dist-server/controllers/render-manifest.js.map +1 -1
  29. package/dist-server/controllers/render-orientage-do.js.map +1 -1
  30. package/dist-server/controllers/render-orientage-grn.js +1 -0
  31. package/dist-server/controllers/render-orientage-grn.js.map +1 -1
  32. package/dist-server/controllers/render-po.js +147 -0
  33. package/dist-server/controllers/render-po.js.map +1 -0
  34. package/dist-server/controllers/render-ro-do.js +65 -1
  35. package/dist-server/controllers/render-ro-do.js.map +1 -1
  36. package/dist-server/controllers/worksheet-controller.js +23 -1
  37. package/dist-server/controllers/worksheet-controller.js.map +1 -1
  38. package/dist-server/entities/index.js +2 -1
  39. package/dist-server/entities/index.js.map +1 -1
  40. package/dist-server/entities/warehouse-bizplace-onhand-inventory.js +174 -0
  41. package/dist-server/entities/warehouse-bizplace-onhand-inventory.js.map +1 -0
  42. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js +14 -1
  43. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js.map +1 -1
  44. package/dist-server/graphql/resolvers/worksheet/cancel-draft-release-order.js +17 -0
  45. package/dist-server/graphql/resolvers/worksheet/cancel-draft-release-order.js.map +1 -0
  46. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +12 -4
  47. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
  48. package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js +30 -1
  49. package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js.map +1 -1
  50. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js +27 -23
  51. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js.map +1 -1
  52. package/dist-server/graphql/resolvers/worksheet/index.js +2 -1
  53. package/dist-server/graphql/resolvers/worksheet/index.js.map +1 -1
  54. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +3 -0
  55. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
  56. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js +48 -2
  57. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js.map +1 -1
  58. package/dist-server/graphql/resolvers/worksheet/loading/loading.js +3 -10
  59. package/dist-server/graphql/resolvers/worksheet/loading/loading.js.map +1 -1
  60. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js +55 -21
  61. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js.map +1 -1
  62. package/dist-server/graphql/resolvers/worksheet/packing/index.js +2 -1
  63. package/dist-server/graphql/resolvers/worksheet/packing/index.js.map +1 -1
  64. package/dist-server/graphql/resolvers/worksheet/packing/packing.js +4 -4
  65. package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
  66. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +4 -4
  67. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
  68. package/dist-server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.js +15 -0
  69. package/dist-server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.js.map +1 -0
  70. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +153 -132
  71. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  72. package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js +2 -5
  73. package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js.map +1 -1
  74. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js +13 -10
  75. package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js.map +1 -1
  76. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +1 -1
  77. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
  78. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +14 -25
  79. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  80. package/dist-server/graphql/resolvers/worksheet/picking/index.js +3 -1
  81. package/dist-server/graphql/resolvers/worksheet/picking/index.js.map +1 -1
  82. package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js +49 -58
  83. package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js.map +1 -1
  84. package/dist-server/graphql/resolvers/worksheet/picking/picking.js +4 -4
  85. package/dist-server/graphql/resolvers/worksheet/picking/picking.js.map +1 -1
  86. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js +4 -4
  87. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js.map +1 -1
  88. package/dist-server/graphql/resolvers/worksheet/picking/seal-tote.js +15 -0
  89. package/dist-server/graphql/resolvers/worksheet/picking/seal-tote.js.map +1 -0
  90. package/dist-server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.js +15 -0
  91. package/dist-server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.js.map +1 -0
  92. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +10 -1
  93. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
  94. package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js +36 -0
  95. package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js.map +1 -1
  96. package/dist-server/graphql/resolvers/worksheet/sorting/complete-order-sorting.js +11 -6
  97. package/dist-server/graphql/resolvers/worksheet/sorting/complete-order-sorting.js.map +1 -1
  98. package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js +4 -4
  99. package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js.map +1 -1
  100. package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js +4 -4
  101. package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js.map +1 -1
  102. package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js +6 -0
  103. package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js.map +1 -1
  104. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js +3 -2
  105. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -1
  106. package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js +0 -21
  107. package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js.map +1 -1
  108. package/dist-server/graphql/resolvers/worksheet/unloading/index.js +3 -1
  109. package/dist-server/graphql/resolvers/worksheet/unloading/index.js.map +1 -1
  110. package/dist-server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.js +15 -0
  111. package/dist-server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.js.map +1 -0
  112. package/dist-server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.js +15 -0
  113. package/dist-server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.js.map +1 -0
  114. package/dist-server/graphql/resolvers/worksheet/unloading/unload.js.map +1 -1
  115. package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js +3 -1
  116. package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js.map +1 -1
  117. package/dist-server/graphql/resolvers/worksheet/worksheet.js +2 -0
  118. package/dist-server/graphql/resolvers/worksheet/worksheet.js.map +1 -1
  119. package/dist-server/graphql/resolvers/worksheet/worksheets.js +45 -5
  120. package/dist-server/graphql/resolvers/worksheet/worksheets.js.map +1 -1
  121. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js +13 -8
  122. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js.map +1 -1
  123. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js +19 -4
  124. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js.map +1 -1
  125. package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.js +24 -34
  126. package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.js.map +1 -1
  127. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js +12 -3
  128. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js.map +1 -1
  129. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js +10 -2
  130. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js.map +1 -1
  131. package/dist-server/graphql/resolvers/worksheet-movement/create-worksheet-movement.js +2 -5
  132. package/dist-server/graphql/resolvers/worksheet-movement/create-worksheet-movement.js.map +1 -1
  133. package/dist-server/graphql/types/worksheet/find-release-orders-by-task-no.js +11 -0
  134. package/dist-server/graphql/types/worksheet/find-release-orders-by-task-no.js.map +1 -0
  135. package/dist-server/graphql/types/worksheet/index.js +52 -11
  136. package/dist-server/graphql/types/worksheet/index.js.map +1 -1
  137. package/dist-server/graphql/types/worksheet/loaded-worksheet-detail.js +1 -0
  138. package/dist-server/graphql/types/worksheet/loaded-worksheet-detail.js.map +1 -1
  139. package/dist-server/graphql/types/worksheet/picking-assignment-status.js +2 -2
  140. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js +8 -3
  141. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js.map +1 -1
  142. package/dist-server/graphql/types/worksheet/worksheet-info.js +3 -0
  143. package/dist-server/graphql/types/worksheet/worksheet-info.js.map +1 -1
  144. package/dist-server/graphql/types/worksheet/worksheet-patch.js +1 -0
  145. package/dist-server/graphql/types/worksheet/worksheet-patch.js.map +1 -1
  146. package/dist-server/graphql/types/worksheet/worksheet.js +1 -0
  147. package/dist-server/graphql/types/worksheet/worksheet.js.map +1 -1
  148. package/dist-server/graphql/types/worksheet-detail/index.js +0 -2
  149. package/dist-server/graphql/types/worksheet-detail/index.js.map +1 -1
  150. package/dist-server/graphql/types/worksheet-detail/inventory-detail.js +5 -2
  151. package/dist-server/graphql/types/worksheet-detail/inventory-detail.js.map +1 -1
  152. package/dist-server/graphql/types/worksheet-detail/worksheet-detail-patch.js +1 -1
  153. package/dist-server/index.js +5 -0
  154. package/dist-server/index.js.map +1 -1
  155. package/dist-server/routes.js +12 -0
  156. package/dist-server/routes.js.map +1 -1
  157. package/dist-server/utils/inventory-util.js +14 -25
  158. package/dist-server/utils/inventory-util.js.map +1 -1
  159. package/dist-server/utils/worksheet-no-generator.js +25 -28
  160. package/dist-server/utils/worksheet-no-generator.js.map +1 -1
  161. package/package.json +17 -17
  162. package/server/constants/template.ts +1 -0
  163. package/server/controllers/ecommerce/sellercraft-controller.ts +38 -10
  164. package/server/controllers/inbound/putaway-worksheet-controller.ts +27 -13
  165. package/server/controllers/inbound/unloading-worksheet-controller.ts +376 -8
  166. package/server/controllers/index.ts +3 -0
  167. package/server/controllers/outbound/loading-worksheet-controller.ts +94 -15
  168. package/server/controllers/outbound/packing-worksheet-controller.ts +224 -9
  169. package/server/controllers/outbound/picking-worksheet-controller.ts +653 -24
  170. package/server/controllers/outbound/returning-worksheet-controller.ts +12 -1
  171. package/server/controllers/outbound/sorting-worksheet-controller.ts +303 -18
  172. package/server/controllers/render-fm-grn.ts +266 -0
  173. package/server/controllers/render-grn.ts +95 -52
  174. package/server/controllers/render-invoices.ts +119 -72
  175. package/server/controllers/render-manifest.ts +12 -5
  176. package/server/controllers/render-orientage-do.ts +11 -11
  177. package/server/controllers/render-orientage-grn.ts +12 -11
  178. package/server/controllers/render-po.ts +170 -0
  179. package/server/controllers/render-ro-do.ts +93 -8
  180. package/server/controllers/worksheet-controller.ts +32 -3
  181. package/server/entities/index.ts +2 -1
  182. package/server/entities/warehouse-bizplace-onhand-inventory.ts +147 -0
  183. package/server/graphql/resolvers/worksheet/batch-picking-worksheet.ts +14 -0
  184. package/server/graphql/resolvers/worksheet/cancel-draft-release-order.ts +27 -0
  185. package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +15 -5
  186. package/server/graphql/resolvers/worksheet/find-release-orders-by-task-no.ts +35 -2
  187. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.ts +35 -25
  188. package/server/graphql/resolvers/worksheet/index.ts +3 -1
  189. package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +2 -0
  190. package/server/graphql/resolvers/worksheet/loading/complete-loading.ts +67 -8
  191. package/server/graphql/resolvers/worksheet/loading/loading.ts +5 -12
  192. package/server/graphql/resolvers/worksheet/loading-worksheet.ts +66 -13
  193. package/server/graphql/resolvers/worksheet/packing/index.ts +3 -1
  194. package/server/graphql/resolvers/worksheet/packing/packing.ts +5 -4
  195. package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +9 -4
  196. package/server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.ts +24 -0
  197. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +167 -145
  198. package/server/graphql/resolvers/worksheet/palletizing-pallets.ts +2 -2
  199. package/server/graphql/resolvers/worksheet/picking/assign-picking-worker.ts +15 -11
  200. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +1 -1
  201. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +18 -31
  202. package/server/graphql/resolvers/worksheet/picking/index.ts +5 -1
  203. package/server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.ts +62 -61
  204. package/server/graphql/resolvers/worksheet/picking/picking.ts +30 -4
  205. package/server/graphql/resolvers/worksheet/picking/scan-product-picking.ts +7 -4
  206. package/server/graphql/resolvers/worksheet/picking/seal-tote.ts +25 -0
  207. package/server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.ts +24 -0
  208. package/server/graphql/resolvers/worksheet/picking-worksheet.ts +13 -2
  209. package/server/graphql/resolvers/worksheet/putaway/complete-putaway.ts +45 -2
  210. package/server/graphql/resolvers/worksheet/sorting/complete-order-sorting.ts +13 -9
  211. package/server/graphql/resolvers/worksheet/sorting/scan-product-sorting.ts +6 -4
  212. package/server/graphql/resolvers/worksheet/sorting/sorting-product.ts +6 -4
  213. package/server/graphql/resolvers/worksheet/sorting-worksheet.ts +6 -0
  214. package/server/graphql/resolvers/worksheet/unloaded-inventories.ts +6 -2
  215. package/server/graphql/resolvers/worksheet/unloading/complete-unloading.ts +0 -25
  216. package/server/graphql/resolvers/worksheet/unloading/index.ts +4 -0
  217. package/server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.ts +26 -0
  218. package/server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.ts +24 -0
  219. package/server/graphql/resolvers/worksheet/unloading/unload.ts +3 -1
  220. package/server/graphql/resolvers/worksheet/unloading-worksheet.ts +3 -1
  221. package/server/graphql/resolvers/worksheet/worksheet.ts +2 -0
  222. package/server/graphql/resolvers/worksheet/worksheets.ts +64 -5
  223. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.ts +30 -14
  224. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.ts +39 -11
  225. package/server/graphql/resolvers/worksheet-detail/generate-pallet-id.ts +46 -49
  226. package/server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.ts +15 -3
  227. package/server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.ts +18 -1
  228. package/server/graphql/resolvers/worksheet-movement/create-worksheet-movement.ts +2 -2
  229. package/server/graphql/types/worksheet/find-release-orders-by-task-no.ts +8 -0
  230. package/server/graphql/types/worksheet/index.ts +52 -11
  231. package/server/graphql/types/worksheet/loaded-worksheet-detail.ts +1 -0
  232. package/server/graphql/types/worksheet/picking-assignment-status.ts +2 -2
  233. package/server/graphql/types/worksheet/worksheet-detail-info.ts +8 -3
  234. package/server/graphql/types/worksheet/worksheet-info.ts +3 -0
  235. package/server/graphql/types/worksheet/worksheet-patch.ts +1 -0
  236. package/server/graphql/types/worksheet/worksheet.ts +1 -0
  237. package/server/graphql/types/worksheet-detail/index.ts +0 -2
  238. package/server/graphql/types/worksheet-detail/inventory-detail.ts +5 -2
  239. package/server/graphql/types/worksheet-detail/worksheet-detail-patch.ts +1 -1
  240. package/server/index.ts +5 -0
  241. package/server/routes.ts +17 -0
  242. package/server/utils/inventory-util.ts +15 -23
  243. package/server/utils/worksheet-no-generator.ts +25 -25
@@ -4,9 +4,25 @@ import { EntityManager } from 'typeorm'
4
4
  import { PickingWorksheetController } from '../../../../controllers'
5
5
 
6
6
  export const pickingResolver = {
7
- async picking(_: any, { worksheetDetailName, worksheetType, palletId, locationName, releaseQty, binLocation, serialNumber }, context: any) {
7
+ async picking(
8
+ _: any,
9
+ { worksheetDetailName, worksheetType, palletId, locationName, releaseQty, binLocation, serialNumber, toteNo },
10
+ context: any
11
+ ) {
8
12
  const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
9
- await picking(tx, domain, user, worksheetDetailName, worksheetType, palletId, locationName, releaseQty, binLocation, serialNumber)
13
+ await picking(
14
+ tx,
15
+ domain,
16
+ user,
17
+ worksheetDetailName,
18
+ worksheetType,
19
+ palletId,
20
+ locationName,
21
+ releaseQty,
22
+ binLocation,
23
+ serialNumber,
24
+ toteNo
25
+ )
10
26
  }
11
27
  }
12
28
 
@@ -20,8 +36,18 @@ export async function picking(
20
36
  locationName: string,
21
37
  releaseQty: number,
22
38
  binLocation?: string,
23
- serialNumber?: string
39
+ serialNumber?: string,
40
+ toteNo?: string
24
41
  ) {
25
42
  const worksheetController: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
26
- await worksheetController.picking(worksheetDetailName, worksheetType, palletId, locationName, releaseQty, binLocation, serialNumber)
43
+ await worksheetController.picking(
44
+ worksheetDetailName,
45
+ worksheetType,
46
+ palletId,
47
+ locationName,
48
+ releaseQty,
49
+ binLocation,
50
+ serialNumber,
51
+ toteNo
52
+ )
27
53
  }
@@ -6,7 +6,7 @@ import { PickingWorksheetController } from '../../../../controllers'
6
6
  export const scanProductPickingResolver = {
7
7
  async scanProductPicking(
8
8
  _: any,
9
- { worksheetDetailName, worksheetType, productBarcode, cartonId, binLocation, serialNumber },
9
+ { worksheetDetailName, worksheetType, productBarcode, cartonId, binLocation, serialNumber, toteNo },
10
10
  context: any
11
11
  ) {
12
12
  const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
@@ -19,7 +19,8 @@ export const scanProductPickingResolver = {
19
19
  productBarcode,
20
20
  cartonId,
21
21
  binLocation,
22
- serialNumber
22
+ serialNumber,
23
+ toteNo
23
24
  )
24
25
  }
25
26
  }
@@ -33,7 +34,8 @@ export async function scanProductPicking(
33
34
  productBarcode: string,
34
35
  cartonId: string,
35
36
  binLocation?: string,
36
- serialNumber?: string
37
+ serialNumber?: string,
38
+ toteNo?: string
37
39
  ) {
38
40
  const worksheetController: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
39
41
  await worksheetController.scanProductPicking(
@@ -42,6 +44,7 @@ export async function scanProductPicking(
42
44
  productBarcode,
43
45
  cartonId,
44
46
  binLocation,
45
- serialNumber
47
+ serialNumber,
48
+ toteNo
46
49
  )
47
50
  }
@@ -0,0 +1,25 @@
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 sealToteResolver = {
9
+ async sealTote(_: any, { sealNo, toteNo, orderNo }, context: any) {
10
+ const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
11
+ await sealTote(tx, domain, user, sealNo, toteNo, orderNo)
12
+ }
13
+ }
14
+
15
+ async function sealTote(
16
+ tx: EntityManager,
17
+ domain: Domain,
18
+ user: User,
19
+ sealNo: string,
20
+ toteNo: string,
21
+ orderNo: string
22
+ ): Promise<void> {
23
+ const worksheetController: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
24
+ await worksheetController.sealTote(sealNo, toteNo, orderNo)
25
+ }
@@ -0,0 +1,24 @@
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 undoSerialNumberPickingResolver = {
9
+ async undoSerialNumberPicking(_: any, { worksheetDetailName, inventoryItemId }, context: any) {
10
+ const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
11
+ await undoSerialNumberPicking(tx, domain, user, worksheetDetailName, inventoryItemId)
12
+ }
13
+ }
14
+
15
+ async function undoSerialNumberPicking(
16
+ tx: EntityManager,
17
+ domain: Domain,
18
+ user: User,
19
+ worksheetDetailName: string,
20
+ inventoryItemId: string
21
+ ): Promise<void> {
22
+ const worksheetController: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
23
+ await worksheetController.undoSerialNumberPicking(worksheetDetailName, inventoryItemId)
24
+ }
@@ -2,7 +2,7 @@ import { EntityManager, In, SelectQueryBuilder } from 'typeorm'
2
2
 
3
3
  import { ORDER_INVENTORY_STATUS, OrderInventory, ReleaseGood, ShippingOrder } from '@things-factory/sales-base'
4
4
  import { Domain } from '@things-factory/shell'
5
- import { Inventory, Location } from '@things-factory/warehouse-base'
5
+ import { Inventory, Location, InventoryChange } from '@things-factory/warehouse-base'
6
6
 
7
7
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
8
8
  import { WorksheetDetail } from '../../../entities'
@@ -109,6 +109,16 @@ export async function pickingWorksheet(
109
109
  worksheetDetailInfos: worksheetDetails.map(async (pickingWSD: WorksheetDetail) => {
110
110
  const targetInventory: OrderInventory = pickingWSD.targetInventory
111
111
  const inventory: Inventory = targetInventory.inventory
112
+
113
+ const inventoryChangesCount: number = await tx.getRepository(InventoryChange).count({
114
+ where: {
115
+ inventory: inventory.id,
116
+ status:"PENDING",
117
+ transactionType:"MISSING"
118
+ },
119
+ relations:['inventory','product']
120
+ })
121
+
112
122
  return {
113
123
  name: pickingWSD.name,
114
124
  palletId: inventory?.palletId,
@@ -127,7 +137,8 @@ export async function pickingWorksheet(
127
137
  packingSize: inventory?.packingSize,
128
138
  expirationDate: inventory?.expirationDate,
129
139
  location: inventory?.location,
130
- relatedOrderInv: targetInventory
140
+ relatedOrderInv: targetInventory,
141
+ hasMissingInventoryChanges:inventoryChangesCount > 0 ? true:false
131
142
  }
132
143
  })
133
144
  }
@@ -1,13 +1,56 @@
1
+ import { EntityManager } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
4
+ import { MarketplaceStore } from '@things-factory/integration-marketplace'
5
+ import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
6
+ import { ArrivalNotice } from '@things-factory/sales-base'
2
7
  import { Domain } from '@things-factory/shell'
3
- import { EntityManager } from 'typeorm'
8
+
4
9
  import { PutawayWorksheetController } from '../../../../controllers'
10
+ import { EcommerceController, SellercraftController } from '../../../../controllers/ecommerce'
5
11
  import { Worksheet } from '../../../../entities'
6
12
 
7
13
  export const completePutawayResolver = {
8
14
  async completePutaway(_: any, { arrivalNoticeNo }, context: any) {
9
15
  const { tx, user, domain }: { tx: EntityManager; user: User; domain: Domain } = context.state
10
16
  await completePutaway(tx, domain, user, arrivalNoticeNo)
17
+
18
+ const arrivalNotice: ArrivalNotice = await tx.getRepository(ArrivalNotice).findOne({
19
+ where: { domain, name: arrivalNoticeNo },
20
+ relations: [
21
+ 'purchaseOrder',
22
+ 'bizplace',
23
+ 'bizplace.domain',
24
+ 'bizplace.company',
25
+ 'bizplace.company.domain',
26
+ 'orderProducts',
27
+ 'orderProducts.product',
28
+ 'orderProducts.product.productDetails',
29
+ 'orderProducts.product.productDetails.childProductDetail'
30
+ ]
31
+ })
32
+
33
+ // search for any active marketplace connection
34
+ const companyDomain: Domain = arrivalNotice.bizplace.company.domain
35
+ const customerDomain: Domain = arrivalNotice.bizplace.domain
36
+ const marketplaceStores: MarketplaceStore[] = await tx.getRepository(MarketplaceStore).find({
37
+ where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
38
+ relations: ['marketplaceDistributors']
39
+ })
40
+
41
+ const sellercraft: Sellercraft = await tx
42
+ .getRepository(Sellercraft)
43
+ .findOne({ domain: customerDomain, status: SellercraftStatus.ACTIVE })
44
+
45
+ if (sellercraft) {
46
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
47
+ await sellercraftCtrl.registerProductInbound(sellercraft, arrivalNotice)
48
+ }
49
+
50
+ if (marketplaceStores?.length && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
51
+ const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
52
+ await ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain)
53
+ }
11
54
  }
12
55
  }
13
56
 
@@ -28,4 +71,4 @@ export async function completePutaway(
28
71
  relations: ['bizplace', 'arrivalNotice']
29
72
  })
30
73
  }
31
- }
74
+ }
@@ -19,16 +19,20 @@ export async function completeOrderSorting(
19
19
  user: User,
20
20
  releaseGoodNo: string
21
21
  ): Promise<void> {
22
- const sortingWSCtrl: SortingWorksheetController = new SortingWorksheetController(tx, domain, user)
23
- const releaseGood = await sortingWSCtrl.completeOrderSorting(releaseGoodNo)
22
+ try {
23
+ const sortingWSCtrl: SortingWorksheetController = new SortingWorksheetController(tx, domain, user)
24
+ const releaseGood = await sortingWSCtrl.completeOrderSorting(releaseGoodNo)
24
25
 
25
- const loadingWSCtrl: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)
26
- let loadingWorksheet: Worksheet = await loadingWSCtrl.generateLoadingWorksheet(
27
- releaseGood.name,
28
- releaseGood.orderInventories.filter(itm => itm.status != ORDER_INVENTORY_STATUS.COMPLETE_SPLIT)
29
- )
26
+ const loadingWSCtrl: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)
27
+ let loadingWorksheet: Worksheet = await loadingWSCtrl.generateLoadingWorksheet(
28
+ releaseGood.name,
29
+ releaseGood.orderInventories.filter(itm => itm.status != ORDER_INVENTORY_STATUS.COMPLETE_SPLIT)
30
+ )
30
31
 
31
- if (loadingWorksheet.status === WORKSHEET_STATUS.DEACTIVATED) {
32
- await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheet.worksheetDetails)
32
+ if (loadingWorksheet.status === WORKSHEET_STATUS.DEACTIVATED) {
33
+ await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheet.worksheetDetails)
34
+ }
35
+ } catch (e) {
36
+ throw e
33
37
  }
34
38
  }
@@ -4,9 +4,9 @@ import { EntityManager } from 'typeorm'
4
4
  import { SortingWorksheetController } from '../../../../controllers'
5
5
 
6
6
  export const scanProductSortingResolver = {
7
- async scanProductSorting(_: any, { taskNo, releaseGoodNo, productBarcode }, context: any) {
7
+ async scanProductSorting(_: any, { taskNo, releaseGoodNo, productBarcode, serialNumber, toteNo }, context: any) {
8
8
  const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
9
- await scanProductSorting(tx, domain, user, taskNo, releaseGoodNo, productBarcode)
9
+ await scanProductSorting(tx, domain, user, taskNo, releaseGoodNo, productBarcode, serialNumber, toteNo)
10
10
  }
11
11
  }
12
12
 
@@ -16,8 +16,10 @@ export async function scanProductSorting(
16
16
  user: User,
17
17
  taskNo: string,
18
18
  releaseGoodNo: string,
19
- productBarcode?: string
19
+ productBarcode?: string,
20
+ serialNumber?: string,
21
+ toteNo?: string
20
22
  ) {
21
23
  const worksheetController: SortingWorksheetController = new SortingWorksheetController(tx, domain, user)
22
- await worksheetController.scanProductSorting(taskNo, releaseGoodNo, productBarcode)
24
+ await worksheetController.scanProductSorting(taskNo, releaseGoodNo, productBarcode, serialNumber, toteNo)
23
25
  }
@@ -4,9 +4,9 @@ import { EntityManager } from 'typeorm'
4
4
  import { SortingWorksheetController } from '../../../../controllers'
5
5
 
6
6
  export const sortingProductResolver = {
7
- async sortingProduct(_: any, { taskNo, releaseGoodNo, productId, sortingQty }, context: any) {
7
+ async sortingProduct(_: any, { taskNo, releaseGoodNo, productId, sortingQty, serialNumber, toteNo }, context: any) {
8
8
  const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
9
- await sortingProduct(tx, domain, user, taskNo, releaseGoodNo, productId, sortingQty)
9
+ await sortingProduct(tx, domain, user, taskNo, releaseGoodNo, productId, sortingQty, serialNumber, toteNo)
10
10
  }
11
11
  }
12
12
 
@@ -17,8 +17,10 @@ export async function sortingProduct(
17
17
  taskNo: string,
18
18
  releaseGoodNo: string,
19
19
  productId: string,
20
- sortingQty: number
20
+ sortingQty: number,
21
+ serialNumber?: string,
22
+ toteNo?: string
21
23
  ) {
22
24
  const worksheetController: SortingWorksheetController = new SortingWorksheetController(tx, domain, user)
23
- await worksheetController.sortingProduct(taskNo, releaseGoodNo, productId, sortingQty)
25
+ await worksheetController.sortingProduct(taskNo, releaseGoodNo, productId, sortingQty, serialNumber, toteNo)
24
26
  }
@@ -26,22 +26,26 @@ export const sortingWorksheetResolver = {
26
26
  const qb: SelectQueryBuilder<OrderInventory> = getRepository(OrderInventory).createQueryBuilder('OI')
27
27
  qb.select('SUM(OI.releaseQty)', 'releaseQty')
28
28
  .addSelect('SUM(OI.sortedQty)', 'sortedQty')
29
+ .addSelect(`string_agg(CONCAT(BIN.name, '(', OI.releaseQty, ')' ), ' ')`, 'binRemarks')
29
30
  .addSelect('PROD.id', 'productId')
30
31
  .addSelect('PROD.name', 'productName')
31
32
  .addSelect('PROD.sku', 'productSku')
32
33
  .addSelect('PROD.description', 'productDescription')
34
+ .addSelect('PROD.isRequireSerialNumberScanningOutbound', 'isRequireSerialNumberScanningOutbound')
33
35
  .addSelect('OI.batch_id', 'batchId')
34
36
  .addSelect('OI.packing_type', 'packingType')
35
37
  .addSelect('OI.packing_size', 'packingSize')
36
38
  .addSelect('INV.expiration_date', 'expirationDate')
37
39
  .leftJoin('OI.product', 'PROD')
38
40
  .leftJoin('OI.inventory', 'INV')
41
+ .leftJoin('OI.binLocation', 'BIN')
39
42
  .where('OI.release_good_id = :releaseGoodId', { releaseGoodId: releaseGood?.id })
40
43
  .andWhere('OI.status <> :releaseGoodStatus', { releaseGoodStatus: ORDER_INVENTORY_STATUS.COMPLETE_SPLIT })
41
44
  .groupBy('PROD.id')
42
45
  .addGroupBy('PROD.name')
43
46
  .addGroupBy('PROD.sku')
44
47
  .addGroupBy('PROD.description')
48
+ .addGroupBy('PROD.isRequireSerialNumberScanningOutbound')
45
49
  .addGroupBy('INV.expiration_date')
46
50
  .addGroupBy('OI.batch_id')
47
51
  .addGroupBy('OI.packing_type')
@@ -67,12 +71,14 @@ export const sortingWorksheetResolver = {
67
71
  productSku: item?.productSku,
68
72
  productName: item?.productName,
69
73
  productDescription: item?.productDescription,
74
+ isRequireSerialNumberScanningOutbound: item?.isRequireSerialNumberScanningOutbound,
70
75
  releaseQty: item.releaseQty,
71
76
  sortedQty: item.sortedQty,
72
77
  status: item.status,
73
78
  expirationDate: item?.expirationDate,
74
79
  packingType: item?.packingType,
75
80
  packingSize: item?.packingSize,
81
+ binRemarks: item?.binRemarks,
76
82
  releaseGood
77
83
  }
78
84
  })
@@ -1,7 +1,9 @@
1
+ import { getRepository, In } from 'typeorm'
2
+
1
3
  import { ArrivalNotice, Bizplace, ReturnOrder } from '@things-factory/sales-base'
2
4
  import { Domain } from '@things-factory/shell'
3
5
  import { Inventory, INVENTORY_STATUS } from '@things-factory/warehouse-base'
4
- import { getRepository, In } from 'typeorm'
6
+
5
7
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
6
8
  import { WorksheetDetail } from '../../../entities'
7
9
 
@@ -46,9 +48,11 @@ export const unloadedInventories = {
46
48
  })
47
49
  const items = foundInv.map((inv: Inventory) => {
48
50
  const expirationDate: Date = inv.expirationDate ? new Date(inv.expirationDate) : null
51
+ const manufactureDate: Date = inv.manufactureDate ? new Date(inv.manufactureDate) : null
49
52
  return {
50
53
  ...inv,
51
- expirationDate: expirationDate
54
+ expirationDate: expirationDate,
55
+ manufactureDate: manufactureDate
52
56
  }
53
57
  })
54
58
 
@@ -2,15 +2,12 @@ import { EntityManager, In } from 'typeorm'
2
2
 
3
3
  import { User } from '@things-factory/auth-base'
4
4
  import { Bizplace } from '@things-factory/biz-base'
5
- import { MarketplaceStore } from '@things-factory/integration-marketplace'
6
- import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
7
5
  import { ArrivalNotice, generateGoodsReceivalNote } from '@things-factory/sales-base'
8
6
  import { Domain } from '@things-factory/shell'
9
7
  import { Inventory, INVENTORY_STATUS } from '@things-factory/warehouse-base'
10
8
 
11
9
  import { WORKSHEET_STATUS } from '../../../../constants'
12
10
  import { PutawayWorksheetController, UnloadingWorksheetController } from '../../../../controllers'
13
- import { EcommerceController, SellercraftController } from '../../../../controllers/ecommerce'
14
11
  import { Worksheet, WorksheetDetail } from '../../../../entities'
15
12
 
16
13
  export const completeUnloadingResolver = {
@@ -40,28 +37,6 @@ export const completeUnloadingResolver = {
40
37
  where: { domain, refOrderId: arrivalNotice.id, status: In([INVENTORY_STATUS.UNLOADED, INVENTORY_STATUS.CHECKED]) }
41
38
  })
42
39
 
43
- // search for any active marketplace connection
44
- const companyDomain: Domain = arrivalNotice.bizplace.company.domain
45
- const customerDomain: Domain = arrivalNotice.bizplace.domain
46
- const marketplaceStores: MarketplaceStore[] = await tx.getRepository(MarketplaceStore).find({
47
- where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
48
- relations: ['marketplaceDistributors']
49
- })
50
-
51
- const sellercraft: Sellercraft = await tx
52
- .getRepository(Sellercraft)
53
- .findOne({ domain: customerDomain, status: SellercraftStatus.ACTIVE })
54
-
55
- if (sellercraft) {
56
- const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
57
- await sellercraftCtrl.registerProductInbound(sellercraft, arrivalNotice)
58
- }
59
-
60
- if (marketplaceStores?.length && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
61
- const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
62
- await ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain)
63
- }
64
-
65
40
  putawayWorksheet = await putawayWSCtrl.generatePutawayWorksheet(arrivalNotice.name, inventories)
66
41
 
67
42
  if (putawayWorksheet.status === WORKSHEET_STATUS.DEACTIVATED) {
@@ -3,14 +3,18 @@ import { completeProductScanUnloadResolver } from './complete-product-scan-unloa
3
3
  import { completeUnloadingResolver } from './complete-unloading'
4
4
  import { completeUnloadingPartiallyResolver } from './complete-unloading-partially'
5
5
  import { scanProductUnloadResolver } from './scan-product-unload'
6
+ import { scanSerialNumberUnloadResolver } from './scan-serial-number-unload'
7
+ import { undoSerialNumberUnloadResolver } from './undo-serial-number-unload'
6
8
  import { undoUnloadingResolver } from './undo-unloading'
7
9
  import { unloadResolver } from './unload'
8
10
 
9
11
  export const Mutations = {
10
12
  ...activateUnloadingResolver,
11
13
  ...scanProductUnloadResolver,
14
+ ...scanSerialNumberUnloadResolver,
12
15
  ...unloadResolver,
13
16
  ...undoUnloadingResolver,
17
+ ...undoSerialNumberUnloadResolver,
14
18
  ...completeProductScanUnloadResolver,
15
19
  ...completeUnloadingResolver,
16
20
  ...completeUnloadingPartiallyResolver
@@ -0,0 +1,26 @@
1
+ import { EntityManager } from 'typeorm'
2
+
3
+ import { User } from '@things-factory/auth-base'
4
+ import { Domain } from '@things-factory/shell'
5
+ import { Inventory } from '@things-factory/warehouse-base'
6
+
7
+ import { UnloadingWorksheetController } from '../../../../controllers'
8
+
9
+ export const scanSerialNumberUnloadResolver = {
10
+ async scanSerialNumberUnload(_: any, { worksheetDetailName, serialNumber, inventory }, context: any) {
11
+ const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
12
+ await scanSerialNumberUnload(tx, domain, user, worksheetDetailName, serialNumber, inventory)
13
+ }
14
+ }
15
+
16
+ async function scanSerialNumberUnload(
17
+ tx: EntityManager,
18
+ domain: Domain,
19
+ user: User,
20
+ worksheetDetailName: string,
21
+ serialNumber: string,
22
+ inventory: Partial<Inventory>
23
+ ): Promise<void> {
24
+ const worksheetController: UnloadingWorksheetController = new UnloadingWorksheetController(tx, domain, user)
25
+ await worksheetController.scanSerialNumberUnload(worksheetDetailName, serialNumber, inventory)
26
+ }
@@ -0,0 +1,24 @@
1
+ import { EntityManager } from 'typeorm'
2
+
3
+ import { User } from '@things-factory/auth-base'
4
+ import { Domain } from '@things-factory/shell'
5
+
6
+ import { UnloadingWorksheetController } from '../../../../controllers'
7
+
8
+ export const undoSerialNumberUnloadResolver = {
9
+ async undoSerialNumberUnload(_: any, { worksheetDetailName, inventoryItemId }, context: any) {
10
+ const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
11
+ await undoSerialNumberUnload(tx, domain, user, worksheetDetailName, inventoryItemId)
12
+ }
13
+ }
14
+
15
+ async function undoSerialNumberUnload(
16
+ tx: EntityManager,
17
+ domain: Domain,
18
+ user: User,
19
+ worksheetDetailName: string,
20
+ inventoryItemId: string
21
+ ): Promise<void> {
22
+ const worksheetController: UnloadingWorksheetController = new UnloadingWorksheetController(tx, domain, user)
23
+ await worksheetController.undoSerialNumberUnload(worksheetDetailName, inventoryItemId)
24
+ }
@@ -1,7 +1,9 @@
1
+ import { EntityManager } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
2
4
  import { Domain } from '@things-factory/shell'
3
5
  import { Inventory } from '@things-factory/warehouse-base'
4
- import { EntityManager } from 'typeorm'
6
+
5
7
  import { UnloadingWorksheetController } from '../../../../controllers'
6
8
 
7
9
  export const unloadResolver = {
@@ -59,6 +59,7 @@ export const unloadingWorksheetResolver = {
59
59
 
60
60
  return {
61
61
  worksheetInfo: {
62
+ arrivalNotice,
62
63
  bizplaceName: customerBizplace.name,
63
64
  partnerDomainId: customerBizplace?.domain.id,
64
65
  customerCompanyDomainId: customerCompanyDomain.id,
@@ -90,7 +91,8 @@ export const unloadingWorksheetResolver = {
90
91
  actualPackQty: targetProduct.actualPackQty,
91
92
  remark: targetProduct.remark,
92
93
  issue: productWSD.issue,
93
- status: productWSD.status
94
+ status: productWSD.status,
95
+ manufactureDate: targetProduct.manufactureDate ? new Date(targetProduct.manufactureDate) : null
94
96
  }
95
97
  })
96
98
  }
@@ -117,6 +117,7 @@ export const worksheetResolver = {
117
117
  .leftJoinAndSelect('oi.releaseGood', 'releaseGood')
118
118
  .leftJoinAndSelect('oi.inventory', 'inventory')
119
119
  .leftJoinAndSelect('oi.product', 'product')
120
+ .leftJoinAndSelect('oi.orderProduct', 'orderProduct')
120
121
  .leftJoinAndSelect('inventory.location', 'location')
121
122
  .leftJoinAndSelect('oi.bizplace', 'bizplace')
122
123
  .where('"oi"."domain_id" = :domain')
@@ -146,6 +147,7 @@ export const worksheetResolver = {
146
147
  .leftJoinAndSelect('oi.releaseGood', 'releaseGood')
147
148
  .leftJoinAndSelect('oi.inventory', 'inventory')
148
149
  .leftJoinAndSelect('oi.product', 'product')
150
+ .leftJoinAndSelect('oi.orderProduct', 'orderProduct')
149
151
  .leftJoinAndSelect('inventory.location', 'location')
150
152
  .leftJoinAndSelect('oi.bizplace', 'bizplace')
151
153
  .where('"oi"."domain_id" = :domain')