@things-factory/worksheet-base 4.3.77 → 4.3.79-alpha.1

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 (101) hide show
  1. package/dist-server/controllers/inbound/unloading-worksheet-controller.js +3 -3
  2. package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
  3. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js +2 -4
  4. package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js.map +1 -1
  5. package/dist-server/controllers/outbound/loading-worksheet-controller.js +10 -4
  6. package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -1
  7. package/dist-server/controllers/outbound/packing-worksheet-controller.js +28 -14
  8. package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
  9. package/dist-server/controllers/outbound/picking-worksheet-controller.js +40 -48
  10. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  11. package/dist-server/controllers/outbound/sorting-worksheet-controller.js +12 -14
  12. package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
  13. package/dist-server/controllers/vas/vas-worksheet-controller.js +1 -2
  14. package/dist-server/controllers/vas/vas-worksheet-controller.js.map +1 -1
  15. package/dist-server/controllers/worksheet-controller.js +16 -4
  16. package/dist-server/controllers/worksheet-controller.js.map +1 -1
  17. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js +6 -0
  18. package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js.map +1 -1
  19. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js +1 -2
  20. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -1
  21. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +6 -6
  22. package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
  23. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.js +3 -3
  24. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.js.map +1 -1
  25. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js +4 -4
  26. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js.map +1 -1
  27. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +2 -1
  28. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
  29. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js +67 -28
  30. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js.map +1 -1
  31. package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js +23 -8
  32. package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js.map +1 -1
  33. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js +30 -7
  34. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js.map +1 -1
  35. package/dist-server/graphql/resolvers/worksheet/packing/packing.js +23 -8
  36. package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
  37. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +25 -8
  38. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
  39. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +112 -22
  40. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  41. package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js.map +1 -1
  42. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +51 -25
  43. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
  44. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +2 -2
  45. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
  46. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +266 -140
  47. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  48. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +3 -2
  49. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
  50. package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js +39 -14
  51. package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js.map +1 -1
  52. package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js.map +1 -1
  53. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js +17 -17
  54. package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js.map +1 -1
  55. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js +4 -4
  56. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js.map +1 -1
  57. package/dist-server/graphql/types/worksheet/index.js +5 -2
  58. package/dist-server/graphql/types/worksheet/index.js.map +1 -1
  59. package/dist-server/graphql/types/worksheet/multiple-release-good-worksheet.js +11 -0
  60. package/dist-server/graphql/types/worksheet/multiple-release-good-worksheet.js.map +1 -0
  61. package/dist-server/graphql/types/worksheet-detail/index.js +1 -0
  62. package/dist-server/graphql/types/worksheet-detail/index.js.map +1 -1
  63. package/dist-server/utils/inventory-util.js +1 -98
  64. package/dist-server/utils/inventory-util.js.map +1 -1
  65. package/dist-server/utils/worksheet-util.js +3 -1
  66. package/dist-server/utils/worksheet-util.js.map +1 -1
  67. package/package.json +17 -17
  68. package/server/controllers/inbound/unloading-worksheet-controller.ts +5 -4
  69. package/server/controllers/inspect/cycle-count-worksheet-controller.ts +2 -4
  70. package/server/controllers/outbound/loading-worksheet-controller.ts +9 -3
  71. package/server/controllers/outbound/packing-worksheet-controller.ts +30 -19
  72. package/server/controllers/outbound/picking-worksheet-controller.ts +39 -60
  73. package/server/controllers/outbound/sorting-worksheet-controller.ts +12 -12
  74. package/server/controllers/vas/vas-worksheet-controller.ts +2 -2
  75. package/server/controllers/worksheet-controller.ts +29 -8
  76. package/server/graphql/resolvers/worksheet/batch-picking-worksheet.ts +6 -0
  77. package/server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts +1 -2
  78. package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +2 -2
  79. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.ts +3 -7
  80. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts +5 -4
  81. package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +3 -1
  82. package/server/graphql/resolvers/worksheet/loading/complete-loading.ts +77 -33
  83. package/server/graphql/resolvers/worksheet/packing/activate-packing.ts +26 -9
  84. package/server/graphql/resolvers/worksheet/packing/complete-packing.ts +34 -9
  85. package/server/graphql/resolvers/worksheet/packing/packing.ts +26 -9
  86. package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +28 -9
  87. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +128 -23
  88. package/server/graphql/resolvers/worksheet/pending-cancellation-release-order.ts +1 -1
  89. package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +60 -30
  90. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +2 -2
  91. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +288 -149
  92. package/server/graphql/resolvers/worksheet/picking-worksheet.ts +3 -2
  93. package/server/graphql/resolvers/worksheet/putaway/complete-putaway.ts +45 -15
  94. package/server/graphql/resolvers/worksheet/reject-cancellation-release-order.ts +1 -0
  95. package/server/graphql/resolvers/worksheet/vas-transactions/common-utils.ts +3 -2
  96. package/server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts +4 -1
  97. package/server/graphql/types/worksheet/index.ts +5 -2
  98. package/server/graphql/types/worksheet/multiple-release-good-worksheet.ts +8 -0
  99. package/server/graphql/types/worksheet-detail/index.ts +1 -0
  100. package/server/utils/inventory-util.ts +1 -126
  101. package/server/utils/worksheet-util.ts +3 -1
@@ -1,6 +1,6 @@
1
- import { EntityManager, SelectQueryBuilder, getManager } from 'typeorm'
1
+ import { EntityManager, getManager, SelectQueryBuilder } from 'typeorm'
2
2
 
3
- import { User } from '@things-factory/auth-base'
3
+ import { ApplicationType, User } from '@things-factory/auth-base'
4
4
  import { logger } from '@things-factory/env'
5
5
  import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
6
6
  import {
@@ -10,11 +10,12 @@ import {
10
10
  MarketplaceOrderShippingItem
11
11
  } from '@things-factory/marketplace-base'
12
12
  import { ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'
13
+ import { PartnerSetting, Setting } from '@things-factory/setting-base'
13
14
  import { Domain } from '@things-factory/shell'
14
15
  import { Inventory, Location } from '@things-factory/warehouse-base'
15
16
 
16
17
  import { WORKSHEET_TYPE } from '../../../constants'
17
- import { SellercraftController } from '../../../controllers'
18
+ import { PackingWorksheetController, SellercraftController } from '../../../controllers'
18
19
  import { Worksheet, WorksheetDetail } from '../../../entities'
19
20
  import { fetchExecutingWorksheet } from '../../../utils'
20
21
 
@@ -47,7 +48,7 @@ export const packingWorksheetResolver = {
47
48
  .innerJoinAndSelect(
48
49
  'worksheets',
49
50
  'ws',
50
- `orderInventory.release_good_id = ws.release_good_id AND ws.type = 'PACKING' AND ws.status = 'EXECUTING'`
51
+ `orderInventory.release_good_id = ws.release_good_id AND ws.type = 'PACKING' AND (ws.status = 'EXECUTING' OR ws.status = 'DEACTIVATED')`
51
52
  )
52
53
  .where('orderInventory.domain_id = :domainId', { domainId: domain.id })
53
54
  .andWhere('orderInventory.status IN (:...orderInventoryStatus)', {
@@ -61,11 +62,22 @@ export const packingWorksheetResolver = {
61
62
  .andWhere('releaseGood.status IN (:...status)', {
62
63
  status: [ORDER_STATUS.READY_TO_PACK, ORDER_STATUS.PACKING]
63
64
  })
65
+ .orderBy(`case when orderInventory.status = '${ORDER_INVENTORY_STATUS.PACKED}' then 1 end`)
66
+ .addOrderBy('ws.created_at', 'ASC')
64
67
 
65
- const orderInventoryByBin = await qb.getOne()
66
- if (orderInventoryByBin?.releaseGood) {
67
- releaseGoodNo = orderInventoryByBin.releaseGood.name
68
- releaseGood = orderInventoryByBin.releaseGood
68
+ const [orderInventoriesByBin, totalInventoriesByBin] = await qb.getManyAndCount()
69
+ // @oscarchuaweiwen-fsd @chrislim I suggest using getMany() instead since the total is redundant here
70
+
71
+ // remove duplicated count of release good
72
+ const filteredRO = orderInventoriesByBin.map(oiBin => {
73
+ return oiBin.releaseGood.name
74
+ })
75
+
76
+ if (orderInventoriesByBin.length > 0) {
77
+ releaseGoodNo = orderInventoriesByBin[0].releaseGood.name
78
+ releaseGood = orderInventoriesByBin[0].releaseGood
79
+ releaseGood.totalInventoriesByBin = [...new Set(filteredRO)].length
80
+ releaseGood.isOrderInventoryBin = true
69
81
  } else {
70
82
  throw new Error(`Bin do not have any existing order.`)
71
83
  }
@@ -95,24 +107,59 @@ export const packingWorksheetResolver = {
95
107
  releaseGood
96
108
  )
97
109
 
98
- let marketplaceOrder: MarketplaceOrder
110
+ if (worksheet.status === 'DEACTIVATED') {
111
+ const packingWSCtrl: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)
112
+
113
+ const directActivatePackingWorksheet: Setting = await tx.getRepository(Setting).findOne({
114
+ where: { domain: domain, category: 'id-rule', name: 'enable-direct-activate-packing-worksheet' }
115
+ })
116
+
117
+ const partnerDirectActivatePackingWorksheetSetting: PartnerSetting = await tx
118
+ .getRepository(PartnerSetting)
119
+ .findOne({
120
+ where: {
121
+ setting: directActivatePackingWorksheet,
122
+ domain: domain,
123
+ partnerDomain: releaseGood.bizplace?.domain
124
+ }
125
+ })
126
+
127
+ if (
128
+ directActivatePackingWorksheet != undefined &&
129
+ directActivatePackingWorksheet.value.toLowerCase() == 'true'
130
+ ) {
131
+ if (partnerDirectActivatePackingWorksheetSetting != undefined) {
132
+ if (partnerDirectActivatePackingWorksheetSetting.value.toLowerCase() == 'true')
133
+ await packingWSCtrl.activatePacking(worksheet.name)
134
+ } else {
135
+ await packingWSCtrl.activatePacking(worksheet.name)
136
+ }
137
+ } else {
138
+ throw new Error('Kindly go to packing worksheet page to activate the packing worksheet')
139
+ }
140
+ }
141
+
142
+ let marketplaceOrder: MarketplaceOrder = {}
99
143
  let marketplaceOrderItems: MarketplaceOrderItem[] = []
100
144
  let marketplaceStore
101
145
  let trackingNo: string
102
146
  let shippingProvider: string
103
147
  let marketplaceStatus: string
104
148
 
105
- if (releaseGood.type === 'b2c') {
149
+ const orderSource: string = releaseGood.source
150
+ switch (orderSource) {
151
+ case ApplicationType.SELLERCRAFT:
152
+ const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({
153
+ domain: worksheet.bizplace.domain,
154
+ status: SellercraftStatus.ACTIVE
155
+ })
106
156
 
107
- const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({
108
- domain: worksheet.bizplace.domain,
109
- status: SellercraftStatus.ACTIVE
110
- })
157
+ if (sellercraft) {
158
+ getSellercraftDocument(sellercraft, releaseGood, domain, user)
159
+ }
160
+ break
111
161
 
112
- if (sellercraft) {
113
- // asynchronously get document from sellercraft
114
- getSellercraftDocument(sellercraft, releaseGood, domain, user)
115
- } else {
162
+ case ApplicationType.MMS:
116
163
  marketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
117
164
  where: { orderNo: releaseGood.refNo },
118
165
  relations: [
@@ -148,9 +195,60 @@ export const packingWorksheetResolver = {
148
195
 
149
196
  marketplaceStore = marketplaceOrder?.marketplaceStore
150
197
  marketplaceStatus = marketplaceOrder?.status
151
- }
198
+ break
199
+
200
+ default:
201
+ break
152
202
  }
153
203
 
204
+ // if (releaseGood.type === 'b2c') {
205
+ // const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({
206
+ // domain: worksheet.bizplace.domain,
207
+ // status: SellercraftStatus.ACTIVE
208
+ // })
209
+
210
+ // if (sellercraft) {
211
+ // // asynchronously get document from sellercraft
212
+ // getSellercraftDocument(sellercraft, releaseGood, domain, user)
213
+ // } else {
214
+ // marketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
215
+ // where: { orderNo: releaseGood.refNo },
216
+ // relations: [
217
+ // 'domain',
218
+ // 'marketplaceStore',
219
+ // 'marketplaceOrderItems',
220
+ // 'marketplaceOrderItems.marketplaceOrderShippingItems',
221
+ // 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'
222
+ // ]
223
+ // })
224
+
225
+ // if (!marketplaceOrder) {
226
+ // throw new Error('Failed to retrieve ecommerce information, kindly contact our support team for this issue.')
227
+ // }
228
+
229
+ // let marketplaceOrderShipping: MarketplaceOrderShipping
230
+ // if (marketplaceOrder.isSplitted) {
231
+ // marketplaceOrderShipping = await tx.getRepository(MarketplaceOrderShipping).findOne({
232
+ // where: { subOrderNoRef: worksheet.releaseGood.refNo2 }
233
+ // })
234
+ // } else {
235
+ // marketplaceOrderShipping = await tx.getRepository(MarketplaceOrderShipping).findOne({
236
+ // where: { orderNoRef: worksheet.releaseGood.refNo }
237
+ // })
238
+ // }
239
+
240
+ // trackingNo = marketplaceOrderShipping.ownTrackingNo
241
+ // ? marketplaceOrderShipping.ownTrackingNo
242
+ // : marketplaceOrderShipping.trackingNo
243
+ // shippingProvider = marketplaceOrderShipping.ownTransporter
244
+ // ? marketplaceOrderShipping.ownTransporter
245
+ // : marketplaceOrderShipping.transporter
246
+
247
+ // marketplaceStore = marketplaceOrder?.marketplaceStore
248
+ // marketplaceStatus = marketplaceOrder?.status
249
+ // }
250
+ // }
251
+
154
252
  return {
155
253
  worksheetInfo: {
156
254
  releaseGood,
@@ -165,8 +263,8 @@ export const packingWorksheetResolver = {
165
263
  airwayBill: releaseGood?.airwayBill,
166
264
  checkedRemarkBy: releaseGood?.checkedRemarkBy,
167
265
  invoice: releaseGood?.invoice,
168
- platform: marketplaceOrder ? marketplaceOrder.marketplaceStore.platform : 'operato',
169
- marketplaceStoreId: marketplaceOrder ? marketplaceOrder.marketplaceStore.id : '',
266
+ platform: Object.keys(marketplaceOrder).length > 0 ? marketplaceOrder.marketplaceStore?.platform : 'operato',
267
+ marketplaceStoreId: Object.keys(marketplaceOrder).length > 0 ? marketplaceOrder.marketplaceStore?.id : '',
170
268
  marketplaceStatus: marketplaceStatus ? marketplaceStatus : '',
171
269
  marketplaceOrder: marketplaceOrder ? marketplaceOrder : ''
172
270
  },
@@ -265,7 +363,14 @@ async function getSellercraftDocument(sellercraft: Sellercraft, releaseGood: Rel
265
363
  }
266
364
  }
267
365
  } catch (error) {
268
- logger.error(`packing-worksheet[getSellercraftDocument]:(data:${JSON.stringify({ sellercraft, releaseGood, domain, user })}) ${error} `)
366
+ logger.error(
367
+ `packing-worksheet[getSellercraftDocument]:(data:${JSON.stringify({
368
+ sellercraft,
369
+ releaseGood,
370
+ domain,
371
+ user
372
+ })}) ${error} `
373
+ )
269
374
  }
270
375
  })
271
- }
376
+ }
@@ -24,7 +24,7 @@ export const pendingCancellationReleaseOrder = {
24
24
  relations: ['bizplace', 'orderInventories', 'orderVass']
25
25
  })
26
26
 
27
- if (foundRO.status === "DONE") throw new Error('Release good has been completed!');
27
+ if (foundRO.status === "DONE") throw new Error('Release good has been completed!')
28
28
  if (!foundRO) throw new Error(`Release good order doesn't exists.`)
29
29
  let targetOIs: OrderInventory[] = foundRO.orderInventories
30
30
  let foundOVs: OrderVas[] = foundRO.orderVass
@@ -1,8 +1,7 @@
1
1
  import { EntityManager } from 'typeorm'
2
2
 
3
- import { User } from '@things-factory/auth-base'
3
+ import { ApplicationType, User } from '@things-factory/auth-base'
4
4
  import { MarketplaceStore } from '@things-factory/integration-marketplace'
5
- import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
6
5
  import { MarketplaceOrder } from '@things-factory/marketplace-base'
7
6
  import { ORDER_STATUS, ReleaseGood } from '@things-factory/sales-base'
8
7
  import { Domain } from '@things-factory/shell'
@@ -27,42 +26,73 @@ export async function activatePicking(
27
26
  const worksheet = await worksheetController.activatePicking(worksheetNo)
28
27
  const companyDomain: Domain = worksheet?.bizplace.company.domain
29
28
 
30
- // find for any existing marketplace store connections
31
- const marketplaceStores: MarketplaceStore[] = await tx.getRepository(MarketplaceStore).find({
32
- where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
33
- relations: ['marketplaceDistributors']
34
- })
35
-
36
29
  let releaseGood: ReleaseGood = worksheet.releaseGood
37
30
 
38
- if (releaseGood.type === 'b2c') {
39
- const sellercraft: Sellercraft = await tx
40
- .getRepository(Sellercraft)
41
- .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
42
-
43
- if (marketplaceStores?.length && !sellercraft) {
44
- if (marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
45
- const worksheetDetails = worksheet.worksheetDetails
46
- let orderInventories: any[] = worksheetDetails.map(wsd => wsd.targetInventory)
47
- const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
48
- await ecommerceCtrl.updateProductVariationStock(marketplaceStores, orderInventories, companyDomain)
49
- }
50
-
51
- const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
52
- where: { orderNo: releaseGood.refNo, domain: companyDomain },
53
- relations: ['marketplaceStore']
31
+ const orderSource: string = releaseGood.source
32
+ switch (orderSource) {
33
+ case ApplicationType.MMS:
34
+ // find for any existing marketplace store connections
35
+ const marketplaceStores: MarketplaceStore[] = await tx.getRepository(MarketplaceStore).find({
36
+ where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
37
+ relations: ['marketplaceDistributors']
54
38
  })
55
39
 
56
- if (marketplaceOrder) {
57
- const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore
58
-
59
- if (marketplaceStore.isAutoUpdateShipment) {
40
+ if (marketplaceStores?.length) {
41
+ if (marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
42
+ const worksheetDetails = worksheet.worksheetDetails
43
+ let orderInventories: any[] = worksheetDetails.map(wsd => wsd.targetInventory)
60
44
  const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
61
- await ecommerceCtrl.createOrderComment(marketplaceStore, marketplaceOrder, ORDER_STATUS.PICKING)
45
+ await ecommerceCtrl.updateProductVariationStock(marketplaceStores, orderInventories, companyDomain)
46
+ }
47
+
48
+ const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
49
+ where: { orderNo: releaseGood.refNo, domain: companyDomain },
50
+ relations: ['marketplaceStore']
51
+ })
52
+
53
+ if (marketplaceOrder) {
54
+ const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore
55
+
56
+ if (marketplaceStore.isAutoUpdateShipment) {
57
+ const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
58
+ await ecommerceCtrl.createOrderComment(marketplaceStore, marketplaceOrder, ORDER_STATUS.PICKING)
59
+ }
62
60
  }
63
61
  }
64
- }
62
+ break
63
+
64
+ default:
65
+ break
65
66
  }
66
67
 
68
+ // if (releaseGood.type === 'b2c') {
69
+ // const sellercraft: Sellercraft = await tx
70
+ // .getRepository(Sellercraft)
71
+ // .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
72
+
73
+ // if (marketplaceStores?.length && !sellercraft) {
74
+ // if (marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
75
+ // const worksheetDetails = worksheet.worksheetDetails
76
+ // let orderInventories: any[] = worksheetDetails.map(wsd => wsd.targetInventory)
77
+ // const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
78
+ // await ecommerceCtrl.updateProductVariationStock(marketplaceStores, orderInventories, companyDomain)
79
+ // }
80
+
81
+ // const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
82
+ // where: { orderNo: releaseGood.refNo, domain: companyDomain },
83
+ // relations: ['marketplaceStore']
84
+ // })
85
+
86
+ // if (marketplaceOrder) {
87
+ // const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore
88
+
89
+ // if (marketplaceStore.isAutoUpdateShipment) {
90
+ // const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
91
+ // await ecommerceCtrl.createOrderComment(marketplaceStore, marketplaceOrder, ORDER_STATUS.PICKING)
92
+ // }
93
+ // }
94
+ // }
95
+ // }
96
+
67
97
  return worksheet
68
98
  }
@@ -69,7 +69,7 @@ export async function completeBatchPicking(
69
69
 
70
70
  let foundReleaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
71
71
  where: { id: releaseGood.id },
72
- relations: ['orderProducts', 'orderProducts.product', 'orderProducts.product.productDetails']
72
+ relations: ['orderProducts', 'orderProducts.product']
73
73
  })
74
74
 
75
75
  if (!foundReleaseGood?.packageId) {
@@ -112,7 +112,7 @@ export async function completeBatchPicking(
112
112
  })
113
113
 
114
114
  // loop to generate packing worksheet
115
- for (var i: number = 0; i < uniqueRoNo.length; i++) {
115
+ for (let i: number = 0; i < uniqueRoNo.length; i++) {
116
116
  const releaseGoodNo: string = uniqueRoNo[i]
117
117
  const packingWSCtrl: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)
118
118
  await packingWSCtrl.generatePackingWorksheet(releaseGoodNo)