@things-factory/sales-base 3.7.1 → 3.7.6

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 (52) hide show
  1. package/dist-server/controllers/ecommerce/sellercraft-controller.js +3 -3
  2. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
  3. package/dist-server/entities/order-inventory.js +4 -0
  4. package/dist-server/entities/order-inventory.js.map +1 -1
  5. package/dist-server/graphql/resolvers/arrival-notice/arrival-notice.js +57 -61
  6. package/dist-server/graphql/resolvers/arrival-notice/arrival-notice.js.map +1 -1
  7. package/dist-server/graphql/resolvers/order-inventory/order-inventories.js +1 -0
  8. package/dist-server/graphql/resolvers/order-inventory/order-inventories.js.map +1 -1
  9. package/dist-server/graphql/resolvers/others/bulk-upload-validate-warehouse-partners-products-quantity.js +2 -1
  10. package/dist-server/graphql/resolvers/others/bulk-upload-validate-warehouse-partners-products-quantity.js.map +1 -1
  11. package/dist-server/graphql/resolvers/release-good/index.js +2 -1
  12. package/dist-server/graphql/resolvers/release-good/index.js.map +1 -1
  13. package/dist-server/graphql/resolvers/release-good/release-good-detail.js +12 -6
  14. package/dist-server/graphql/resolvers/release-good/release-good-detail.js.map +1 -1
  15. package/dist-server/graphql/resolvers/release-good/release-good.js +18 -2
  16. package/dist-server/graphql/resolvers/release-good/release-good.js.map +1 -1
  17. package/dist-server/graphql/resolvers/release-good/update-release-good-details.js +42 -0
  18. package/dist-server/graphql/resolvers/release-good/update-release-good-details.js.map +1 -0
  19. package/dist-server/graphql/types/order-inventory/order-inventory-patch.js +1 -0
  20. package/dist-server/graphql/types/order-inventory/order-inventory-patch.js.map +1 -1
  21. package/dist-server/graphql/types/order-inventory/order-inventory.js +1 -0
  22. package/dist-server/graphql/types/order-inventory/order-inventory.js.map +1 -1
  23. package/dist-server/graphql/types/release-good/index.js +5 -0
  24. package/dist-server/graphql/types/release-good/index.js.map +1 -1
  25. package/dist-server/graphql/types/release-good/inventory-infos.js +2 -0
  26. package/dist-server/graphql/types/release-good/inventory-infos.js.map +1 -1
  27. package/dist-server/graphql/types/release-good/release-good-patch.js +1 -0
  28. package/dist-server/graphql/types/release-good/release-good-patch.js.map +1 -1
  29. package/dist-server/graphql/types/release-good/shipping-order-info.js +1 -0
  30. package/dist-server/graphql/types/release-good/shipping-order-info.js.map +1 -1
  31. package/dist-server/graphql/types/shipping-order/shipping-order-patch.js +1 -0
  32. package/dist-server/graphql/types/shipping-order/shipping-order-patch.js.map +1 -1
  33. package/dist-server/utils/inventory-util.js +16 -6
  34. package/dist-server/utils/inventory-util.js.map +1 -1
  35. package/package.json +12 -12
  36. package/server/controllers/ecommerce/sellercraft-controller.ts +3 -3
  37. package/server/entities/order-inventory.ts +3 -0
  38. package/server/graphql/resolvers/arrival-notice/arrival-notice.ts +58 -57
  39. package/server/graphql/resolvers/order-inventory/order-inventories.ts +1 -0
  40. package/server/graphql/resolvers/others/bulk-upload-validate-warehouse-partners-products-quantity.ts +10 -7
  41. package/server/graphql/resolvers/release-good/index.ts +3 -1
  42. package/server/graphql/resolvers/release-good/release-good-detail.ts +16 -7
  43. package/server/graphql/resolvers/release-good/release-good.ts +27 -3
  44. package/server/graphql/resolvers/release-good/update-release-good-details.ts +61 -0
  45. package/server/graphql/types/order-inventory/order-inventory-patch.ts +1 -0
  46. package/server/graphql/types/order-inventory/order-inventory.ts +1 -0
  47. package/server/graphql/types/release-good/index.ts +5 -0
  48. package/server/graphql/types/release-good/inventory-infos.ts +2 -0
  49. package/server/graphql/types/release-good/release-good-patch.ts +1 -0
  50. package/server/graphql/types/release-good/shipping-order-info.ts +1 -0
  51. package/server/graphql/types/shipping-order/shipping-order-patch.ts +1 -0
  52. package/server/utils/inventory-util.ts +24 -13
@@ -67,7 +67,8 @@ export const InventoryUtil = {
67
67
  oi.product_id,
68
68
  p.name AS product_name,
69
69
  oi.packing_type,
70
- oi.packing_size
70
+ oi.packing_size,
71
+ oi.uom
71
72
  FROM
72
73
  order_inventories oi
73
74
  LEFT JOIN
@@ -80,12 +81,14 @@ export const InventoryUtil = {
80
81
  AND oi.product_id NOTNULL
81
82
  AND oi.packing_type NOTNULL
82
83
  AND oi.packing_size NOTNULL
84
+ AND oi.inventory_id IS NULL
83
85
  GROUP BY
84
86
  oi.batch_id,
85
87
  oi.batch_id_ref,
86
88
  oi.product_id,
87
89
  oi.packing_type,
88
90
  oi.packing_size,
91
+ oi.uom,
89
92
  p.name
90
93
  )
91
94
  SELECT
@@ -104,7 +107,7 @@ export const InventoryUtil = {
104
107
  FROM
105
108
  inventories i
106
109
  LEFT JOIN products p ON i.product_id = p.id
107
- LEFT JOIN oi ON i.batch_id = oi.batch_id AND p.name = oi.product_name AND i.packing_type = oi.packing_type AND i.packing_size = oi.packing_size
110
+ LEFT JOIN oi ON i.batch_id = oi.batch_id AND p.name = oi.product_name AND i.packing_type = oi.packing_type AND i.packing_size = oi.packing_size AND i.uom = oi.uom
108
111
  LEFT JOIN (
109
112
  SELECT pbs.product_id, SUM(pbs.bundle_qty * src.release_qty) AS bundle_product_release_qty, SUM(pbs.bundle_qty * src.release_uom_value) AS bundle_product_release_uom_value
110
113
  FROM product_bundle_settings pbs
@@ -189,14 +192,15 @@ export const InventoryUtil = {
189
192
  product_id: x.product.id,
190
193
  batch_id: x.batchId,
191
194
  packing_type: x.packingType,
192
- release_qty: x.releaseQty
195
+ release_qty: x.releaseQty,
196
+ uom: x.uom
193
197
  }
194
198
  })
195
199
  )
196
200
 
197
201
  let resultQb = await trxMgr.query(
198
202
  `
199
- select joi.product_id as "productId", joi.batch_id as "batchId", joi.packing_type as "packingType", joi.release_qty as "releaseQty",
203
+ select joi.product_id as "productId", joi.batch_id as "batchId", joi.packing_type as "packingType", joi.uom as "uom", joi.release_qty as "releaseQty",
200
204
  sum(i.qty - coalesce(i.locked_qty,0)) - coalesce(
201
205
  (
202
206
  select sum(oi.release_qty) from order_inventories oi
@@ -205,6 +209,7 @@ export const InventoryUtil = {
205
209
  and oi.product_id = joi.product_id
206
210
  and oi.batch_id = joi.batch_id
207
211
  and oi.packing_type = joi.packing_type
212
+ and oi.uom = joi.uom
208
213
  and oi.domain_id = $1
209
214
  and oi.bizplace_id = $2
210
215
  ),0) as "availableQty",
@@ -216,16 +221,18 @@ export const InventoryUtil = {
216
221
  and oi.product_id = joi.product_id
217
222
  and oi.batch_id = joi.batch_id
218
223
  and oi.packing_type = joi.packing_type
224
+ and oi.uom = joi.uom
219
225
  and oi.domain_id = $1
220
226
  and oi.bizplace_id = $2
221
- ),0) as "availableUomValue", i.uom
227
+ ),0) as "availableUomValue"
222
228
  from json_populate_recordset(NULL::order_inventories,'${json_oi}') joi
223
229
  left join inventories i on joi.product_id = i.product_id
224
230
  and joi.batch_id = i.batch_id
225
231
  and joi.packing_type = i.packing_type and i.status ='STORED'
232
+ and joi.uom = i.uom
226
233
  and i.domain_id = $1
227
234
  and i.bizplace_id = $2
228
- group by joi.product_id, joi.batch_id, joi.packing_type, joi.release_qty, i.uom
235
+ group by joi.product_id, joi.batch_id, joi.packing_type, joi.release_qty, joi.uom
229
236
  `,
230
237
  [warehouseDomain.id, partnerBizplace.id]
231
238
  )
@@ -325,6 +332,10 @@ async function getConditions(
325
332
  whereClause += `AND LOWER("batchId") LIKE '${value.toLowerCase()}'`
326
333
  break
327
334
 
335
+ case 'batchIdRef':
336
+ whereClause += `AND LOWER("batchIdRef") LIKE '${value.toLowerCase()}'`
337
+ break
338
+
328
339
  case 'productName':
329
340
  const products: Product[] = await trxMgr.getRepository(Product).find({
330
341
  select: ['id'],
@@ -409,19 +420,19 @@ async function getConditions(
409
420
  case 'batch_product':
410
421
  productWhereClause += `
411
422
  AND (i.batch_id, p.id, i.packing_type) ${operator === 'in' ? 'IN' : 'NOT IN'} (${value
412
- .map(
413
- (v: { batchId: string; productId: string; packingType: string }) =>
414
- `('${v.batchId}', '${v.productId}', '${v.packingType}')`
415
- )
416
- .join()})
423
+ .map(
424
+ (v: { batchId: string; productId: string; packingType: string }) =>
425
+ `('${v.batchId}', '${v.productId}', '${v.packingType}')`
426
+ )
427
+ .join()})
417
428
  `
418
429
  break
419
430
 
420
431
  case 'batch_bundle':
421
432
  bundleWhereClause += `
422
433
  ${bundleWhereClause == '' ? 'WHERE' : 'AND'} pb.id ${operator === 'in' ? 'IN' : 'NOT IN'} (${value
423
- .map((v: { productId: string }) => `('${v.productId}')`)
424
- .join()})
434
+ .map((v: { productId: string }) => `('${v.productId}')`)
435
+ .join()})
425
436
  `
426
437
  break
427
438
  }