@things-factory/worksheet-base 4.3.2 → 4.4.0-alpha.0

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 (131) hide show
  1. package/dist-server/constants/index.js +5 -1
  2. package/dist-server/constants/index.js.map +1 -1
  3. package/dist-server/controllers/ecommerce/index.js +5 -1
  4. package/dist-server/controllers/ecommerce/index.js.map +1 -1
  5. package/dist-server/controllers/inbound/index.js +5 -1
  6. package/dist-server/controllers/inbound/index.js.map +1 -1
  7. package/dist-server/controllers/inbound/unloading-worksheet-controller.js +3 -9
  8. package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
  9. package/dist-server/controllers/index.js +5 -2
  10. package/dist-server/controllers/index.js.map +1 -1
  11. package/dist-server/controllers/inspect/index.js +5 -1
  12. package/dist-server/controllers/inspect/index.js.map +1 -1
  13. package/dist-server/controllers/outbound/index.js +5 -1
  14. package/dist-server/controllers/outbound/index.js.map +1 -1
  15. package/dist-server/controllers/outbound/loading-worksheet-controller.js +10 -47
  16. package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -1
  17. package/dist-server/controllers/outbound/picking-worksheet-controller.js +5 -142
  18. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  19. package/dist-server/controllers/outbound/sorting-worksheet-controller.js +20 -116
  20. package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
  21. package/dist-server/controllers/render-grn.js +18 -18
  22. package/dist-server/controllers/vas/index.js +5 -1
  23. package/dist-server/controllers/vas/index.js.map +1 -1
  24. package/dist-server/graphql/index.js +5 -1
  25. package/dist-server/graphql/index.js.map +1 -1
  26. package/dist-server/graphql/resolvers/index.js +5 -1
  27. package/dist-server/graphql/resolvers/index.js.map +1 -1
  28. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js +1 -14
  29. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js.map +1 -1
  30. package/dist-server/graphql/resolvers/worksheet/loading/loading.js +10 -3
  31. package/dist-server/graphql/resolvers/worksheet/loading/loading.js.map +1 -1
  32. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js +21 -55
  33. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js.map +1 -1
  34. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +0 -1
  35. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  36. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +1 -1
  37. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
  38. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +6 -8
  39. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  40. package/dist-server/graphql/resolvers/worksheet/picking/index.js +1 -2
  41. package/dist-server/graphql/resolvers/worksheet/picking/index.js.map +1 -1
  42. package/dist-server/graphql/resolvers/worksheet/picking/picking.js +4 -4
  43. package/dist-server/graphql/resolvers/worksheet/picking/picking.js.map +1 -1
  44. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js +4 -4
  45. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js.map +1 -1
  46. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +1 -10
  47. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
  48. package/dist-server/graphql/resolvers/worksheet/sorting/complete-order-sorting.js +6 -11
  49. package/dist-server/graphql/resolvers/worksheet/sorting/complete-order-sorting.js.map +1 -1
  50. package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js +4 -4
  51. package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js.map +1 -1
  52. package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js +4 -4
  53. package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js.map +1 -1
  54. package/dist-server/graphql/resolvers/worksheet/vas-transactions/index.js +5 -1
  55. package/dist-server/graphql/resolvers/worksheet/vas-transactions/index.js.map +1 -1
  56. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/index.js +5 -1
  57. package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/index.js.map +1 -1
  58. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/index.js +5 -1
  59. package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/index.js.map +1 -1
  60. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/index.js +5 -1
  61. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/index.js.map +1 -1
  62. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/index.js +5 -1
  63. package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/index.js.map +1 -1
  64. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/index.js +5 -1
  65. package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/index.js.map +1 -1
  66. package/dist-server/graphql/resolvers/worksheet/worksheet.js +0 -2
  67. package/dist-server/graphql/resolvers/worksheet/worksheet.js.map +1 -1
  68. package/dist-server/graphql/resolvers/worksheet/worksheets.js +2 -17
  69. package/dist-server/graphql/resolvers/worksheet/worksheets.js.map +1 -1
  70. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js +3 -5
  71. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js.map +1 -1
  72. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js +4 -15
  73. package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js.map +1 -1
  74. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js +1 -4
  75. package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js.map +1 -1
  76. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js +2 -6
  77. package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js.map +1 -1
  78. package/dist-server/graphql/types/index.js +5 -1
  79. package/dist-server/graphql/types/index.js.map +1 -1
  80. package/dist-server/graphql/types/worksheet/index.js +0 -10
  81. package/dist-server/graphql/types/worksheet/index.js.map +1 -1
  82. package/dist-server/graphql/types/worksheet/loaded-worksheet-detail.js +0 -1
  83. package/dist-server/graphql/types/worksheet/loaded-worksheet-detail.js.map +1 -1
  84. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js +0 -2
  85. package/dist-server/graphql/types/worksheet/worksheet-detail-info.js.map +1 -1
  86. package/dist-server/graphql/types/worksheet/worksheet-info.js +0 -2
  87. package/dist-server/graphql/types/worksheet/worksheet-info.js.map +1 -1
  88. package/dist-server/graphql/types/worksheet/worksheet.js +0 -1
  89. package/dist-server/graphql/types/worksheet/worksheet.js.map +1 -1
  90. package/dist-server/index.js +5 -1
  91. package/dist-server/index.js.map +1 -1
  92. package/dist-server/routes.js +0 -4
  93. package/dist-server/routes.js.map +1 -1
  94. package/dist-server/utils/index.js +5 -1
  95. package/dist-server/utils/index.js.map +1 -1
  96. package/package.json +17 -17
  97. package/server/controllers/inbound/unloading-worksheet-controller.ts +3 -14
  98. package/server/controllers/index.ts +0 -1
  99. package/server/controllers/outbound/loading-worksheet-controller.ts +17 -83
  100. package/server/controllers/outbound/picking-worksheet-controller.ts +7 -178
  101. package/server/controllers/outbound/sorting-worksheet-controller.ts +27 -167
  102. package/server/controllers/render-grn.ts +18 -18
  103. package/server/graphql/resolvers/worksheet/batch-picking-worksheet.ts +0 -14
  104. package/server/graphql/resolvers/worksheet/loading/loading.ts +12 -5
  105. package/server/graphql/resolvers/worksheet/loading-worksheet.ts +13 -66
  106. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +1 -1
  107. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +1 -1
  108. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +11 -13
  109. package/server/graphql/resolvers/worksheet/picking/index.ts +1 -3
  110. package/server/graphql/resolvers/worksheet/picking/picking.ts +4 -30
  111. package/server/graphql/resolvers/worksheet/picking/scan-product-picking.ts +4 -7
  112. package/server/graphql/resolvers/worksheet/picking-worksheet.ts +2 -13
  113. package/server/graphql/resolvers/worksheet/sorting/complete-order-sorting.ts +9 -13
  114. package/server/graphql/resolvers/worksheet/sorting/scan-product-sorting.ts +4 -5
  115. package/server/graphql/resolvers/worksheet/sorting/sorting-product.ts +4 -5
  116. package/server/graphql/resolvers/worksheet/worksheet.ts +0 -2
  117. package/server/graphql/resolvers/worksheet/worksheets.ts +2 -26
  118. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.ts +3 -12
  119. package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.ts +7 -22
  120. package/server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.ts +2 -6
  121. package/server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.ts +1 -7
  122. package/server/graphql/types/worksheet/index.ts +0 -10
  123. package/server/graphql/types/worksheet/loaded-worksheet-detail.ts +0 -1
  124. package/server/graphql/types/worksheet/worksheet-detail-info.ts +0 -2
  125. package/server/graphql/types/worksheet/worksheet-info.ts +0 -2
  126. package/server/graphql/types/worksheet/worksheet.ts +0 -1
  127. package/server/routes.ts +0 -5
  128. package/dist-server/graphql/resolvers/worksheet/picking/seal-tote.js +0 -15
  129. package/dist-server/graphql/resolvers/worksheet/picking/seal-tote.js.map +0 -1
  130. package/server/controllers/render-fm-grn.ts +0 -266
  131. package/server/graphql/resolvers/worksheet/picking/seal-tote.ts +0 -25
@@ -1,266 +0,0 @@
1
- import FormData from 'form-data'
2
- import _ from 'lodash'
3
- import fetch from 'node-fetch'
4
- import { getRepository, IsNull, Not } from 'typeorm'
5
-
6
- import { Attachment, STORAGE } from '@things-factory/attachment-base'
7
- import { Partner } from '@things-factory/auth-base'
8
- import { Bizplace, ContactPoint } from '@things-factory/biz-base'
9
- import { config } from '@things-factory/env'
10
- import { ArrivalNotice, GoodsReceivalNote, ORDER_STATUS, OrderProduct } from '@things-factory/sales-base'
11
- import { Domain } from '@things-factory/shell'
12
- import { InventoryItem, ReducedInventoryHistory } from '@things-factory/warehouse-base'
13
-
14
- import { TEMPLATE_TYPE, WORKSHEET_TYPE } from '../constants'
15
- import { Worksheet } from '../entities'
16
- import { DateTimeConverter } from '../utils/datetime-util'
17
-
18
- const REPORT_API_URL = config.get('reportApiUrl', 'http://localhost:8888/rest/report/show_html')
19
-
20
- export async function renderFmGRN({ grnNo, timezoneOffSet }, context: any) {
21
- // 1. find domain
22
- const domain: Domain = await getRepository(Domain).findOne({
23
- where: { id: context.state.domain.id }
24
- })
25
-
26
- // 2. find grn
27
- const foundGRN: GoodsReceivalNote = await getRepository(GoodsReceivalNote).findOne({
28
- where: { domain, name: grnNo },
29
- relations: ['domain', 'bizplace', 'bizplace.domain', 'bizplace.company', 'arrivalNotice']
30
- })
31
-
32
- // 3. find GAN
33
- const foundGAN: ArrivalNotice = foundGRN.arrivalNotice
34
- const ownRefNo = foundGAN.refNo
35
-
36
- const foundInventoryItem: InventoryItem[] = await getRepository(InventoryItem).query(
37
- `select row_number() over (partition by p.sku) as "seq",p.sku,p.brand_sku, ii.serial_number from inventory_items ii left join products p on ii.product_id = p.id where inbound_order_id = '${foundGAN.id}' group by p.sku,ii.serial_number,p.brand_sku`
38
- )
39
-
40
- // 4. find customer bizplace
41
- const partnerBiz: Bizplace = foundGRN.bizplace
42
-
43
- const partnerDomain: Partner = await getRepository(Partner).findOne({
44
- where: { partnerDomain: partnerBiz.domain, domain },
45
- relations: ['domain']
46
- })
47
-
48
- const domainOwner: Domain = partnerDomain.domain
49
- const domainBizplace: Bizplace = await getRepository(Bizplace).findOne({
50
- where: { domain: domainOwner },
51
- relations: ['company']
52
- })
53
-
54
- const qbReducedInventory = getRepository(ReducedInventoryHistory)
55
- .createQueryBuilder('ivh')
56
- .select('product_id', 'productId')
57
- .addSelect('batch_id', 'batchId')
58
- .addSelect('reusable_pallet_id', 'reusablePalletId')
59
- .addSelect('packing_type', 'packingType')
60
- .addSelect('sum(qty)', 'qty')
61
- .addSelect('sum(uom_value)', 'uomValue')
62
- .addSelect('uom', 'uom')
63
- .addSelect('expiration_date', 'expiryDate')
64
- .addSelect('count(distinct pallet_id)', 'pallet')
65
- .addSelect(`string_agg(distinct pallet_id::varchar,', ' order by pallet_id::varchar)`, 'palletId')
66
- .where('ivh.domain_id = :domainId', { domainId: domain.id })
67
- .andWhere('ivh.ref_order_id = :refOrderId', { refOrderId: foundGAN.id })
68
- .andWhere(`ivh.transaction_type = 'UNLOADING'`)
69
- .groupBy('reusable_pallet_id')
70
- .addGroupBy('product_id')
71
- .addGroupBy('batch_id')
72
- .addGroupBy('packing_type')
73
- .addGroupBy('uom')
74
- .addGroupBy('expiration_date')
75
- .getRawMany()
76
-
77
- // 5. find domain contact point
78
- const foundCP: ContactPoint = await getRepository(ContactPoint).findOne({
79
- where: { domain, bizplace: domainBizplace }
80
- })
81
-
82
- // 5. find domain contact point
83
- const foundPartnerCP: ContactPoint = await getRepository(ContactPoint).findOne({
84
- where: { domain, bizplace: partnerBiz }
85
- })
86
-
87
- // 6. find unloading worksheet
88
- const foundWS: Worksheet = await getRepository(Worksheet).findOne({
89
- where: { domain, arrivalNotice: foundGAN, type: WORKSHEET_TYPE.UNLOADING, status: ORDER_STATUS.DONE },
90
- relations: ['worksheetDetails', 'updater']
91
- })
92
-
93
- // find putaway worksheet
94
- const foundPutawayWS: Worksheet = await getRepository(Worksheet).findOne({
95
- where: { domain, arrivalNotice: foundGAN, type: WORKSHEET_TYPE.PUTAWAY, status: ORDER_STATUS.DONE },
96
- relations: ['worksheetDetails', 'updater']
97
- })
98
-
99
- const targetProducts: OrderProduct[] = await getRepository(OrderProduct).find({
100
- where: { domain, arrivalNotice: foundGAN, actualPalletQty: Not(IsNull()), actualPackQty: Not(IsNull()) },
101
- relations: ['product']
102
- })
103
-
104
- // 7. find grn template based on category
105
- const foundTemplate: Attachment = await getRepository(Attachment).findOne({
106
- where: { domain, category: TEMPLATE_TYPE.GRN_TEMPLATE }
107
- })
108
-
109
- // 8. find grn logo
110
- const foundLogo: Attachment = await getRepository(Attachment).findOne({
111
- where: {
112
- domain,
113
- category: TEMPLATE_TYPE.LOGO
114
- }
115
- })
116
-
117
- // 9. find signature
118
- const foundSignature: Attachment = await getRepository(Attachment).findOne({
119
- where: {
120
- domain,
121
- category: TEMPLATE_TYPE.SIGNATURE
122
- }
123
- })
124
-
125
- const foundCop: Attachment = await getRepository(Attachment).findOne({
126
- where: {
127
- domain,
128
- category: TEMPLATE_TYPE.COP
129
- }
130
- })
131
-
132
- const inboundInventories: any[] = await qbReducedInventory
133
-
134
- const template = await STORAGE.readFile(foundTemplate.path, 'utf-8')
135
-
136
- let logo = null
137
- if (foundLogo?.path) {
138
- logo = 'data:' + foundLogo.mimetype + ';base64,' + (await STORAGE.readFile(foundLogo.path, 'base64'))
139
- }
140
-
141
- let signature = null
142
- if (foundSignature?.path) {
143
- signature = 'data:' + foundSignature.mimetype + ';base64,' + (await STORAGE.readFile(foundSignature.path, 'base64'))
144
- }
145
-
146
- let cop = null
147
- if (foundCop?.path) {
148
- cop = 'data:' + foundSignature.mimetype + ';base64,' + (await STORAGE.readFile(foundCop.path, 'base64'))
149
- }
150
-
151
- const filterInventoryItem = _.groupBy(foundInventoryItem, i => i.sku)
152
-
153
- const tempIndexArr = []
154
-
155
- const tempTotalQuantity = []
156
-
157
- Object.keys(filterInventoryItem).forEach(k => {
158
- const tempIndex = foundInventoryItem.findIndex(i => {
159
- return i.sku == k
160
- })
161
-
162
- tempIndexArr.push(tempIndex)
163
- })
164
-
165
- Object.values(filterInventoryItem).forEach(k => {
166
- const tempQuantity = k.length
167
-
168
- tempTotalQuantity.push(tempQuantity)
169
- })
170
-
171
- tempIndexArr.forEach((t, index) => {
172
- if (t >= 0) foundInventoryItem[t].totalQuantity = tempTotalQuantity[index]
173
- })
174
-
175
- const data = {
176
- logo_url: logo,
177
- sign_url: signature,
178
- cop_url: cop,
179
- customer_biz: partnerBiz.name,
180
- customer_address: partnerBiz.address,
181
- company_domain: domainBizplace.company.name,
182
- company_phone: foundCP.phone,
183
- company_email: foundCP.email,
184
- company_brn: domainBizplace.company.brn,
185
- company_address: domainBizplace.company.address,
186
- warehouse_address: foundCP.address,
187
- warehouse_address2: foundCP.address2,
188
- warehouse_postcode: foundCP.postCode,
189
- warehouse_city: foundCP.city,
190
- warehouse_state: foundCP.state,
191
- warehouse_phone: foundCP.phone,
192
- warehouse_fax: foundCP.fax,
193
- warehouse_email: foundCP.email,
194
- order_no: foundGRN.name,
195
- gan_no: foundGAN.name,
196
- gan_accepted_at: foundGAN.acceptedAt ? DateTimeConverter.datetime(foundGAN.acceptedAt, timezoneOffSet) : '',
197
- unload_date: DateTimeConverter.date(foundWS.endedAt),
198
- ref_no: ownRefNo ? `${foundGAN.name} / ${foundGAN.refNo}` : `${foundGAN.name}`,
199
- ref_no_only: ownRefNo ? ` ${foundGAN.refNo}` : '',
200
- ref_no1: foundGAN.refNo2 ? `${foundGAN.refNo2}` : '',
201
- ref_no2: foundGAN.refNo3 ? `${foundGAN.refNo3}` : '',
202
- received_date: DateTimeConverter.date(foundWS.endedAt),
203
- truck_no: foundGAN.truckNo || '',
204
- container_no: foundGAN.containerNo || '',
205
- container_size: foundGAN.containerSize || '',
206
- delivery_order_no: foundGAN.deliveryOrderNo ? foundGAN.deliveryOrderNo : '',
207
- account_no: foundPartnerCP ? foundPartnerCP.accountNo : '',
208
- unloaded_by: foundWS ? foundWS.updater.name : '',
209
- putaway_by: foundPutawayWS ? foundPutawayWS.updater.name : '',
210
- product_list: targetProducts
211
- .reduce((acc, item) => {
212
- acc.push(
213
- ...inboundInventories
214
- .filter(
215
- ih =>
216
- ih.productId == item.product.id &&
217
- ih.batchId == item.batchId &&
218
- ih.packingType == item.packingType &&
219
- ih.uom == item.uom
220
- )
221
- .map(unloadInvHistory => {
222
- return {
223
- product_sku: `${item.product.sku}`,
224
- product_brand_sku: `${item.product.brandSku}`,
225
- product_name: `${item.product.name}(${item.product.description})`,
226
- product_desc: item.product.description,
227
- product_nameOnly: item.product.name,
228
- product_type: item.packingType,
229
- product_size: item.packingSize,
230
- product_batch: item.batchId,
231
- batch_id_ref: item?.batchIdRef ? item.batchIdRef : '',
232
- pallet_qty: item.actualPalletQty,
233
- product_qty: unloadInvHistory.qty || item.actualPackQty,
234
- product_pack_qty: item.packQty,
235
- descrepancy_qty: (unloadInvHistory.qty || item.actualPackQty) - item.packQty,
236
- product_unit_uom_value: `${Math.round(item.uomValue * 100) / 100}`,
237
- product_total_uom_value: `${
238
- Math.round((unloadInvHistory.uomValue || item.uomValue * item.actualPackQty) * 100) / 100
239
- }`,
240
- product_uom: `${unloadInvHistory.uom || item.uom}`,
241
- product_gross_weight: item.product.grossWeight || null,
242
- unit_price: item.unitPrice || null,
243
- expiry_date: unloadInvHistory.expiryDate && unloadInvHistory.expiryDate != '' ? new Date(unloadInvHistory.expiryDate).toISOString().split('T')[0] : '',
244
- manufacture_date: item.manufactureDate,
245
- reusable_pallet_id: unloadInvHistory.reusablePalletId || '',
246
- remark: (item.remark ? item.remark : '') + (item.issue ? ' [Issue]: ' + item.issue : '')
247
- }
248
- })
249
- )
250
- return acc
251
- }, [])
252
- .map((item, idx) => ({ list_no: idx + 1, ...item })),
253
- serialNumber: foundInventoryItem
254
- }
255
-
256
- const formData = new FormData()
257
- formData.append('template', template)
258
- formData.append('jsonString', JSON.stringify(data))
259
-
260
- const response = await fetch(REPORT_API_URL, {
261
- method: 'POST',
262
- body: formData
263
- })
264
-
265
- return await response.text()
266
- }
@@ -1,25 +0,0 @@
1
- import { EntityManager } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { Domain } from '@things-factory/shell'
5
-
6
- import { PickingWorksheetController } from '../../../../controllers'
7
-
8
- export const 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
- }