@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
@@ -31,7 +31,8 @@ exports.InventoryUtil = {
31
31
  oi.product_id,
32
32
  p.name AS product_name,
33
33
  oi.packing_type,
34
- oi.packing_size
34
+ oi.packing_size,
35
+ oi.uom
35
36
  FROM
36
37
  order_inventories oi
37
38
  LEFT JOIN
@@ -44,12 +45,14 @@ exports.InventoryUtil = {
44
45
  AND oi.product_id NOTNULL
45
46
  AND oi.packing_type NOTNULL
46
47
  AND oi.packing_size NOTNULL
48
+ AND oi.inventory_id IS NULL
47
49
  GROUP BY
48
50
  oi.batch_id,
49
51
  oi.batch_id_ref,
50
52
  oi.product_id,
51
53
  oi.packing_type,
52
54
  oi.packing_size,
55
+ oi.uom,
53
56
  p.name
54
57
  )
55
58
  SELECT
@@ -68,7 +71,7 @@ exports.InventoryUtil = {
68
71
  FROM
69
72
  inventories i
70
73
  LEFT JOIN products p ON i.product_id = p.id
71
- 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
74
+ 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
72
75
  LEFT JOIN (
73
76
  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
74
77
  FROM product_bundle_settings pbs
@@ -142,11 +145,12 @@ exports.InventoryUtil = {
142
145
  product_id: x.product.id,
143
146
  batch_id: x.batchId,
144
147
  packing_type: x.packingType,
145
- release_qty: x.releaseQty
148
+ release_qty: x.releaseQty,
149
+ uom: x.uom
146
150
  };
147
151
  }));
148
152
  let resultQb = await trxMgr.query(`
149
- select joi.product_id as "productId", joi.batch_id as "batchId", joi.packing_type as "packingType", joi.release_qty as "releaseQty",
153
+ 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",
150
154
  sum(i.qty - coalesce(i.locked_qty,0)) - coalesce(
151
155
  (
152
156
  select sum(oi.release_qty) from order_inventories oi
@@ -155,6 +159,7 @@ exports.InventoryUtil = {
155
159
  and oi.product_id = joi.product_id
156
160
  and oi.batch_id = joi.batch_id
157
161
  and oi.packing_type = joi.packing_type
162
+ and oi.uom = joi.uom
158
163
  and oi.domain_id = $1
159
164
  and oi.bizplace_id = $2
160
165
  ),0) as "availableQty",
@@ -166,16 +171,18 @@ exports.InventoryUtil = {
166
171
  and oi.product_id = joi.product_id
167
172
  and oi.batch_id = joi.batch_id
168
173
  and oi.packing_type = joi.packing_type
174
+ and oi.uom = joi.uom
169
175
  and oi.domain_id = $1
170
176
  and oi.bizplace_id = $2
171
- ),0) as "availableUomValue", i.uom
177
+ ),0) as "availableUomValue"
172
178
  from json_populate_recordset(NULL::order_inventories,'${json_oi}') joi
173
179
  left join inventories i on joi.product_id = i.product_id
174
180
  and joi.batch_id = i.batch_id
175
181
  and joi.packing_type = i.packing_type and i.status ='STORED'
182
+ and joi.uom = i.uom
176
183
  and i.domain_id = $1
177
184
  and i.bizplace_id = $2
178
- group by joi.product_id, joi.batch_id, joi.packing_type, joi.release_qty, i.uom
185
+ group by joi.product_id, joi.batch_id, joi.packing_type, joi.release_qty, joi.uom
179
186
  `, [warehouseDomain.id, partnerBizplace.id]);
180
187
  resultQb.forEach(itm => {
181
188
  if (itm.releaseQty > itm.availableQty) {
@@ -239,6 +246,9 @@ async function getConditions(bizplaces, filters, trxMgr) {
239
246
  case 'batchId':
240
247
  whereClause += `AND LOWER("batchId") LIKE '${value.toLowerCase()}'`;
241
248
  break;
249
+ case 'batchIdRef':
250
+ whereClause += `AND LOWER("batchIdRef") LIKE '${value.toLowerCase()}'`;
251
+ break;
242
252
  case 'productName':
243
253
  const products = await trxMgr.getRepository(product_base_1.Product).find({
244
254
  select: ['id'],
@@ -1 +1 @@
1
- {"version":3,"file":"inventory-util.js","sourceRoot":"","sources":["../../server/utils/inventory-util.ts"],"names":[],"mappings":";;;AAAA,qCAAuF;AAIvF,+DAAqE;AAErE,mEAQuC;AAYvC,sCAA2C;AAW9B,QAAA,aAAa,GAAG;IAC3B;;;;;;;OAOG;IACH,KAAK,CAAC,6BAA6B,CAAC,SAAqB,EAAE,MAAiB,EAAE,OAAY,EAAE,MAAqB;QAC/G,IAAI;YACF,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;YAC5B,MAAM,EAAE,MAAM,EAAE,GAAuB,OAAO,CAAC,KAAK,CAAA;YAEpD,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,aAAa,CAC1G,SAAS,EACT,OAAO,EACP,MAAM,CACP,CAAA;YAED,IAAI,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAqDmD,WAAW;;;;YAI3E,kBAAkB;;;;;;;;;;;;;;;;;;;;;qCAqBO,WAAW;;;;;YAKpC,iBAAiB;;;;UAInB,WAAW;;KAEhB,CAAA;YAEC,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;YAE7C,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAQ,MAAM,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAA;YACzG,IAAI,KAAK,GAAU,EAAE,CAAA;YAErB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,EAAE;gBACtB,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,+DAA+D,EAAE;oBAC1F,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK;oBACtD,MAAM,CAAC,UAAU,CAAC,KAAK;iBACxB,CAAC,CAAA;aACH;iBAAM;gBACL,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAA;aACzE;YAED,MAAM,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;YAE7D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;SACxB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,yCAAyC,CAC7C,eAAuB,EACvB,eAAyB,EACzB,gBAAkC,EAClC,OAAY,EACZ,MAAsB;QAEtB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAC1B,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACvB,OAAO;gBACL,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;gBACxB,QAAQ,EAAE,CAAC,CAAC,OAAO;gBACnB,YAAY,EAAE,CAAC,CAAC,WAAW;gBAC3B,WAAW,EAAE,CAAC,CAAC,UAAU;aAC1B,CAAA;QACH,CAAC,CAAC,CACH,CAAA;QAED,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAC/B;;;;;;;;;;;;;;;;;;;;;;;;8DAwBwD,OAAO;;;;;;;KAOhE,EACC,CAAC,eAAe,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,CAAC,CACzC,CAAA;QAED,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACrB,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,YAAY,EAAE;gBACrC,MAAM,IAAI,wBAAe,iCACpB,wBAAe,CAAC,WAAW,CAAC,sBAAsB,KACrD,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAC1C,CAAA;aACH;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,QAAgB,EAAE,eAAuB,EAAE,MAAqB;QAC3F,MAAM,mBAAmB,GAAW,MAAM,MAAM,CAAC,aAAa,CAAC,0BAAS,CAAC,CAAC,KAAK,CAAC;YAC9E,MAAM,EAAE,eAAe;YACvB,QAAQ;YACR,MAAM,EAAE,IAAA,aAAG,EAAC,IAAA,eAAK,EAAC,iCAAgB,CAAC,UAAU,CAAC,CAAC;SAChD,CAAC,CAAA;QAEF,IAAI,mBAAmB;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;QAE9D,MAAM,2BAA2B,GAAW,MAAM,MAAM,CAAC,aAAa,CAAC,uBAAM,CAAC,CAAC,KAAK,CAAC;YACnF,KAAK,EAAE;gBACL,MAAM,EAAE,eAAe;gBACvB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAA;QAEF,IAAI,2BAA2B;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;IACxE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CACxB,SAA6B,EAC7B,cAAkC,EAClC,UAAkB,EAClB,aAAqB,EACrB,eAAuB,EACvB,IAAU,EACV,MAAqB;QAErB,IAAI,SAAS,CAAC,EAAE,EAAE;YAChB,SAAS,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;SACrD;aAAM;YACL,SAAS,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;SACrD;QAED,MAAM,wBAAwB,CAAC,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAEnH,OAAO,SAAS,CAAA;IAClB,CAAC;CACF,CAAA;AAUD,KAAK,UAAU,aAAa,CAC1B,SAAqB,EACrB,OAAyD,EACzD,MAAqB;;IAErB,IAAI,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAElF,IAAI,kBAAkB,GAAG;;4BAEC,WAAW;GACpC,CAAA;IACD,IAAI,iBAAiB,GAAG;;GAEvB,CAAA;IAED,IAAI,WAAW,GAAG;;GAEjB,CAAA;IAED,IAAI,WAAmB,CAAA;IACvB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE;QACnB,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAsD,EAAE,EAAE;YAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;YACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;YAC9C,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;YAExB,QAAQ,IAAI,EAAE;gBACZ,KAAK,SAAS;oBACZ,WAAW,IAAI,8BAA8B,KAAK,CAAC,WAAW,EAAE,GAAG,CAAA;oBACnE,MAAK;gBAEP,KAAK,aAAa;oBAChB,MAAM,QAAQ,GAAc,MAAM,MAAM,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,IAAI,CAAC;wBACnE,MAAM,EAAE,CAAC,IAAI,CAAC;wBACd,KAAK,EAAE;4BACL;gCACE,QAAQ,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gCAChE,IAAI,EAAE,IAAA,aAAG,EACP,CAAC,KAAa,EAAE,EAAE,CAAC,SAAS,KAAK,WAAW,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAC9F;6BACF;4BACD;gCACE,QAAQ,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gCAChE,GAAG,EAAE,IAAA,aAAG,EACN,CAAC,KAAa,EAAE,EAAE,CAAC,SAAS,KAAK,WAAW,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAC9F;6BACF;4BACD;gCACE,QAAQ,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gCAChE,WAAW,EAAE,IAAA,aAAG,EACd,CAAC,KAAa,EAAE,EAAE,CAAC,SAAS,KAAK,WAAW,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAC9F;6BACF;yBACF;qBACF,CAAC,CAAA;oBAEF,MAAM,UAAU,GAAW,QAAQ;yBAChC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;yBACrC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;yBAC9B,IAAI,EAAE,CAAA;oBAET,IAAI,UAAU,CAAC,MAAM,EAAE;wBACrB,kBAAkB,IAAI,wBAAwB,UAAU,GAAG,CAAA;qBAC5D;yBAAM;wBACL,kBAAkB,IAAI,yBAAyB,CAAA;qBAChD;oBAED,wCAAwC;oBACxC,MAAM,cAAc,GAAoB,MAAM,MAAM,CAAC,aAAa,CAAC,4BAAa,CAAC,CAAC,IAAI,CAAC;wBACrF,MAAM,EAAE,CAAC,IAAI,CAAC;wBACd,KAAK,EAAE;4BACL;gCACE,QAAQ,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gCAChE,IAAI,EAAE,IAAA,aAAG,EACP,CAAC,KAAa,EAAE,EAAE,CAAC,SAAS,KAAK,WAAW,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAC9F;6BACF;4BACD;gCACE,QAAQ,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gCAChE,GAAG,EAAE,IAAA,aAAG,EACN,CAAC,KAAa,EAAE,EAAE,CAAC,SAAS,KAAK,WAAW,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAC9F;6BACF;4BACD;gCACE,QAAQ,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gCAChE,WAAW,EAAE,IAAA,aAAG,EACd,CAAC,KAAa,EAAE,EAAE,CAAC,SAAS,KAAK,WAAW,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAC9F;6BACF;yBACF;qBACF,CAAC,CAAA;oBAEF,MAAM,gBAAgB,GAAW,cAAc;yBAC5C,GAAG,CAAC,CAAC,MAAqB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;yBACzC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;yBAC9B,IAAI,EAAE,CAAA;oBAET,IAAI,gBAAgB,CAAC,MAAM,EAAE;wBAC3B,iBAAiB,IAAI,iBAAiB,gBAAgB,GAAG,CAAA;qBAC1D;yBAAM;wBACL,iBAAiB,IAAI,kBAAkB,CAAA;qBACxC;oBACD,MAAK;gBAEP,KAAK,aAAa;oBAChB,WAAW,IAAI,kCAAkC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAA;oBACvE,MAAK;gBAEP,KAAK,YAAY;oBACf,WAAW,IAAI,sCAAsC,CAAA;oBACrD,MAAK;gBAEP,KAAK,eAAe;oBAClB,kBAAkB,IAAI;uDACqB,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK;yBACrF,GAAG,CACF,CAAC,CAA8D,EAAE,EAAE,CACjE,KAAK,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,WAAW,IAAI,CAC3D;yBACA,IAAI,EAAE;aACR,CAAA;oBACD,MAAK;gBAEP,KAAK,cAAc;oBACjB,iBAAiB,IAAI;gBACjB,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,UAAU,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK;yBACjG,GAAG,CAAC,CAAC,CAAwB,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC;yBACvD,IAAI,EAAE;aACR,CAAA;oBACD,MAAK;aACR;QACH,CAAC,CAAC,CACH,CAAA;QAED,WAAW,GAAG,IAAI,CAAC,SAAS,CAC1B,CAAA,MAAA,OAAO;aACJ,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,0CAC7C,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAChB,OAAO;gBACL,UAAU,EAAE,GAAG,CAAC,SAAS;gBACzB,WAAW,EAAE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,UAAU,KAAI,CAAC;gBACjC,iBAAiB,EAAE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,eAAe,KAAI,CAAC;aAC7C,CAAA;QACH,CAAC,CAAC,KAAI,EAAE,CACX,CAAA;KACF;IAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA;AACzF,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,SAAoD,EACpD,MAAqB;IAErB,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,0BAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAC9D,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAC5B,SAAoD,EACpD,MAAqB;IAErB,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC5D,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,0BAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAC9D,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,SAAoB,EACpB,QAAa,EACb,eAAuB,EACvB,GAAW,EACX,QAAgB,EAChB,IAAU,EACV,MAAsB;;IAEtB,MAAM,cAAc,GAClB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,iCAAgB,CAAC,KAAI,IAAA,uBAAa,EAAC,iCAAgB,CAAC,CAAA;IAC5E,MAAM,OAAO,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,0BAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,0BAAS,CAAC,CAAA;IAEnG,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAA;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACtE,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,CAAA,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACpG,IACE,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA;QAClB,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA;QACpB,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,EAAE,CAAA;QACvB,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,0CAAE,EAAE,CAAA;QACzB,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,0CAAE,EAAE,CAAA,EACxB;QACA,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;YAChC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE;YAC3B,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC;SACtE,CAAC,CAAA;KACH;IAED,MAAM,MAAM,GAAW,SAAS,CAAC,MAAM,CAAA;IACvC,MAAM,QAAQ,GAAa,SAAS,CAAC,QAAQ,CAAA;IAE7C,MAAM,GAAG,GAAW,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC1G,IAAI,UAAU,GAAW,CAAC,CAAA;IAC1B,IAAI,eAAe,GAAW,CAAC,CAAA;IAE/B,IAAI,GAAG,EAAE;QACP,MAAM,cAAc,GAAqB,MAAM,cAAc,CAAC,OAAO,CAAC;YACpE,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,GAAG,EAAE,GAAG,GAAG,CAAC;SACb,CAAC,CAAA;QACF,UAAU,GAAG,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC,GAAG,CAAA;QAC3D,eAAe,GAAG,cAAc,CAAC,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAA;KAC3E;IAED,IAAI,gBAAgB,GAAqB,IAAI,iCAAgB,EAAE,CAAA;IAC/D,gBAAgB,CAAC,IAAI,GAAG,qCAAoB,CAAC,oBAAoB,EAAE,CAAA;IACnE,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;IACpD,gBAAgB,CAAC,GAAG,GAAG,GAAG,CAAA;IAC1B,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;IAC9C,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;IAC9C,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;IAC5C,gBAAgB,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAA;IAClD,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;IAC1C,gBAAgB,CAAC,eAAe,GAAG,eAAe,CAAA;IAClD,gBAAgB,CAAC,UAAU,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,KAAI,IAAI,CAAA;IAClD,gBAAgB,CAAC,OAAO,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,KAAI,IAAI,CAAA;IACjD,gBAAgB,CAAC,UAAU,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,KAAI,IAAI,CAAA;IACrD,gBAAgB,CAAC,SAAS,GAAG,SAAS,CAAA;IACtC,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;IAC5C,gBAAgB,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAA;IAC1D,gBAAgB,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;IACtC,gBAAgB,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;IAChD,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;IAC9C,gBAAgB,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAA;IAC1D,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;IACpD,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;IACpD,gBAAgB,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAA;IACpC,gBAAgB,CAAC,GAAG,GAAG,GAAG,CAAA;IAC1B,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAA;IACxC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAA;IAC3B,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAA;IAClC,gBAAgB,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACpC,gBAAgB,CAAC,eAAe,GAAG,eAAe,CAAA;IAClD,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;IAC9C,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;IAC1C,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;IAC9C,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAA;IAC/B,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAA;IAE/B,gBAAgB,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAE9D,IAAI,SAAS,CAAC,OAAO,KAAK,GAAG,EAAE;QAC7B,MAAM,OAAO,CAAC,IAAI,iCACb,SAAS,KACZ,OAAO,EAAE,gBAAgB,CAAC,GAAG,EAC7B,OAAO,EAAE,IAAI,IACb,CAAA;KACH;IAED,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAC1D,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,QAAkB,EAClB,OAAa,EACb,MAAsB;IAEtB,MAAM,OAAO,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,0BAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,0BAAS,CAAC,CAAA;IACnG,MAAM,YAAY,GAAyB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,yBAAQ,CAAC,KAAI,IAAA,uBAAa,EAAC,yBAAQ,CAAC,CAAA;IACrG,MAAM,iBAAiB,GAAW,MAAM,OAAO,CAAC,KAAK,CAAC;QACpD,MAAM;QACN,MAAM,EAAE,iCAAgB,CAAC,MAAM;QAC/B,QAAQ;KACT,CAAC,CAAA;IAEF,IAAI,CAAC,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,gCAAe,CAAC,KAAK,EAAE;QACnE,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,iCAC7B,QAAQ,KACX,MAAM,EAAE,gCAAe,CAAC,KAAK,EAC7B,OAAO,IACP,CAAA;KACH;SAAM,IAAI,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,gCAAe,CAAC,KAAK,EAAE;QACzE,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,iCAC7B,QAAQ,KACX,MAAM,EAAE,gCAAe,CAAC,QAAQ,EAChC,OAAO,IACP,CAAA;KACH;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AA7BD,oDA6BC"}
1
+ {"version":3,"file":"inventory-util.js","sourceRoot":"","sources":["../../server/utils/inventory-util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/sales-base",
3
- "version": "3.7.1",
3
+ "version": "3.7.6",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,16 +24,16 @@
24
24
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
25
25
  },
26
26
  "dependencies": {
27
- "@things-factory/attachment-base": "^3.7.0",
28
- "@things-factory/auth-base": "^3.7.0",
29
- "@things-factory/biz-base": "^3.7.0",
30
- "@things-factory/code-base": "^3.7.0",
31
- "@things-factory/notification": "^3.7.0",
32
- "@things-factory/product-base": "^3.7.0",
33
- "@things-factory/setting-base": "^3.7.0",
34
- "@things-factory/shell": "^3.7.0",
35
- "@things-factory/transport-base": "^3.7.0",
36
- "@things-factory/warehouse-base": "^3.7.1"
27
+ "@things-factory/attachment-base": "^3.7.5",
28
+ "@things-factory/auth-base": "^3.7.5",
29
+ "@things-factory/biz-base": "^3.7.5",
30
+ "@things-factory/code-base": "^3.7.5",
31
+ "@things-factory/notification": "^3.7.5",
32
+ "@things-factory/product-base": "^3.7.5",
33
+ "@things-factory/setting-base": "^3.7.5",
34
+ "@things-factory/shell": "^3.7.5",
35
+ "@things-factory/transport-base": "^3.7.5",
36
+ "@things-factory/warehouse-base": "^3.7.6"
37
37
  },
38
- "gitHead": "85a0f0538a372cd24cb9271e6071cde2e09c4480"
38
+ "gitHead": "d9d72c07fc3b01af2ede46808ec0aced3241ed51"
39
39
  }
@@ -21,7 +21,7 @@ export class SellercraftController extends OrderController {
21
21
 
22
22
  const orderInformation: any = {
23
23
  accountId: sellercraft.accountId,
24
- orderId: releaseGood.collectionOrderNo,
24
+ orderId: releaseGood.refNo2,
25
25
  sellercraftOPs
26
26
  }
27
27
  const packageId: string = await SellercraftAPI.packMarketplaceOrder(sellercraft, { ...orderInformation })
@@ -32,9 +32,9 @@ export class SellercraftController extends OrderController {
32
32
  }
33
33
 
34
34
  async checkExistingReleaseGood(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void> {
35
- const { refNo, collectionOrderNo } = releaseGood
35
+ const { refNo, refNo2 } = releaseGood
36
36
  const foundReleaseGood: ReleaseGood = await this.trxMgr.getRepository(ReleaseGood).findOne({
37
- where: { domain: sellercraft.domain, refNo, collectionOrderNo }
37
+ where: { domain: sellercraft.domain, refNo, refNo2 }
38
38
  })
39
39
 
40
40
  if (foundReleaseGood)
@@ -146,6 +146,9 @@ export class OrderInventory {
146
146
  @Column({ nullable: true, type: 'float' })
147
147
  releaseUomValue: number
148
148
 
149
+ @Column({ nullable: true })
150
+ uom: string
151
+
149
152
  @Column({ nullable: true, type: 'float' })
150
153
  returnQty: number
151
154
 
@@ -3,73 +3,44 @@ import { getRepository, In } from 'typeorm'
3
3
  import { Attachment } from '@things-factory/attachment-base'
4
4
  import { User } from '@things-factory/auth-base'
5
5
  import { Bizplace, getPermittedBizplaceIds } from '@things-factory/biz-base'
6
+ import { ProductDetail } from '@things-factory/product-base'
6
7
  import { Domain } from '@things-factory/shell'
7
8
 
8
9
  import { ATTACHMENT_TYPE } from '../../../constants/attachment-type'
9
- import { ArrivalNotice } from '../../../entities'
10
+ import { ArrivalNotice, OrderInventory, OrderProduct } from '../../../entities'
10
11
 
11
12
  export const arrivalNoticeResolver = {
12
13
  async arrivalNotice(_: any, { name, refNo }, context: any) {
13
14
  const { domain, user, bizplace }: { domain: Domain; user: User; bizplace: Bizplace } = context.state
14
15
 
15
- let foundGAN: ArrivalNotice
16
+ let param: any = { domain, bizplace: bizplace ? bizplace : In(await getPermittedBizplaceIds(domain, user)) }
16
17
 
17
- if (context?.state?.bizplace) {
18
- let param: any
18
+ if (name) param = { ...param, name }
19
+ else if (refNo) param = { ...param, refNo }
20
+ else return
19
21
 
20
- if (name) param = { domain, name, bizplace }
21
- else param = { domain, refNo, bizplace }
22
-
23
- foundGAN = await getRepository(ArrivalNotice).findOne({
24
- where: { ...param },
25
- relations: [
26
- 'domain',
27
- 'bizplace',
28
- 'releaseGood',
29
- 'purchaseOrder',
30
- 'purchaseOrder.bufferLocation',
31
- 'orderProducts',
32
- 'orderProducts.product',
33
- 'orderInventories',
34
- 'orderInventories.inventory',
35
- 'orderInventories.inventory.product',
36
- 'orderInventories.inventory.location',
37
- 'orderVass',
38
- 'orderVass.vas',
39
- 'orderVass.targetProduct',
40
- 'supplier',
41
- 'creator',
42
- 'updater'
43
- ]
44
- })
45
- } else {
46
- let param: any
47
-
48
- if (name) param = { domain, name, bizplace: In(await getPermittedBizplaceIds(domain, user)) }
49
- else param = { domain, refNo, bizplace: In(await getPermittedBizplaceIds(domain, user)) }
50
-
51
- foundGAN = await getRepository(ArrivalNotice).findOne({
52
- where: { ...param },
53
- relations: [
54
- 'domain',
55
- 'bizplace',
56
- 'releaseGood',
57
- 'purchaseOrder',
58
- 'purchaseOrder.bufferLocation',
59
- 'orderProducts',
60
- 'orderProducts.product',
61
- 'orderInventories',
62
- 'orderInventories.inventory',
63
- 'orderInventories.inventory.product',
64
- 'orderInventories.inventory.location',
65
- 'orderVass',
66
- 'orderVass.vas',
67
- 'orderVass.targetProduct',
68
- 'creator',
69
- 'updater'
70
- ]
71
- })
72
- }
22
+ let foundGAN: ArrivalNotice = await getRepository(ArrivalNotice).findOne({
23
+ where: { ...param },
24
+ relations: [
25
+ 'domain',
26
+ 'bizplace',
27
+ 'releaseGood',
28
+ 'purchaseOrder',
29
+ 'purchaseOrder.bufferLocation',
30
+ 'orderProducts',
31
+ 'orderProducts.product',
32
+ 'orderInventories',
33
+ 'orderInventories.inventory',
34
+ 'orderInventories.inventory.product',
35
+ 'orderInventories.inventory.location',
36
+ 'orderVass',
37
+ 'orderVass.vas',
38
+ 'orderVass.targetProduct',
39
+ 'supplier',
40
+ 'creator',
41
+ 'updater'
42
+ ]
43
+ })
73
44
 
74
45
  if (name && !foundGAN) throw new Error(`Failed to find arrival notice with ${name}`)
75
46
 
@@ -91,6 +62,36 @@ export const arrivalNoticeResolver = {
91
62
  })
92
63
  : []
93
64
 
65
+ // add productDetails data to orderProduct.product
66
+ foundGAN.orderProducts = await Promise.all(
67
+ foundGAN.orderProducts.map(async (orderProduct: OrderProduct) => {
68
+ orderProduct.product['productDetails'] = await getRepository(ProductDetail).find({
69
+ where: {
70
+ product: orderProduct.product.id,
71
+ packingType: orderProduct.packingType,
72
+ packingSize: orderProduct.packingSize
73
+ }
74
+ })
75
+ return orderProduct
76
+ })
77
+ )
78
+
79
+ // add productDetails data to orderInventory.inventory.product if orderInventory is exist
80
+ if (foundGAN.orderInventories && foundGAN.orderInventories.length) {
81
+ foundGAN.orderInventories = await Promise.all(
82
+ foundGAN.orderInventories.map(async (orderInventory: OrderInventory) => {
83
+ orderInventory.inventory.product['productDetails'] = await getRepository(ProductDetail).find({
84
+ where: {
85
+ product: orderInventory.inventory.product.id,
86
+ packingType: orderInventory.inventory.packingType,
87
+ packingSize: orderInventory.inventory.packingSize
88
+ }
89
+ })
90
+ return orderInventory
91
+ })
92
+ )
93
+ }
94
+
94
95
  return {
95
96
  ...foundGAN,
96
97
  attachment: [...foundPOAttachments, ...foundAttachments]
@@ -55,6 +55,7 @@ export const orderInventoriesResolver = {
55
55
  'inventory.product',
56
56
  'releaseGood',
57
57
  'deliveryOrder',
58
+ 'bizplace',
58
59
  'creator',
59
60
  'updater'
60
61
  ]
@@ -1,9 +1,11 @@
1
+ import orderBy from 'lodash/orderBy'
2
+ import { EntityManager } from 'typeorm'
3
+
1
4
  import { User } from '@things-factory/auth-base'
2
5
  import { Bizplace, getPermittedBizplaces } from '@things-factory/biz-base'
3
6
  import { Domain } from '@things-factory/shell'
4
- import { EntityManager } from 'typeorm'
7
+
5
8
  import { InventoryUtil } from '../../../utils'
6
- import orderBy from 'lodash/orderBy'
7
9
 
8
10
  export const bulkUploadValidateWarehousePartnersProductsQuantityResolver = {
9
11
  async bulkUploadValidateWarehousePartnersProductsQuantity(
@@ -81,15 +83,16 @@ export const bulkUploadValidateWarehousePartnersProductsQuantityResolver = {
81
83
  inventory:
82
84
  total > 0
83
85
  ? {
84
- ...items[0],
85
- remainQty: total > 0 ? items[0].remainQty : null,
86
- remainUomValue: total > 0 ? items[0].remainUomValue : null,
87
- remainUomValueWithUom: total > 0 ? items[0].remainUomValueWithUom : ''
88
- }
86
+ ...items[0],
87
+ remainQty: total > 0 ? items[0].remainQty : null,
88
+ remainUomValue: total > 0 ? items[0].remainUomValue : null,
89
+ remainUomValueWithUom: total > 0 ? items[0].remainUomValueWithUom : ''
90
+ }
89
91
  : null,
90
92
  productId: total > 0 ? items[0].productId : null,
91
93
  productSKU: total > 0 ? items[0].productSKU : orderInventory.productSKU,
92
94
  productName: total > 0 ? items[0].productName : null,
95
+ uom: total > 0 ? items[0].uom : null,
93
96
  remainQty: total > 0 ? items[0].remainQty : null,
94
97
  remainUomValue: total > 0 ? items[0].remainUomValue : null,
95
98
  remainUomValueWithUom: total > 0 ? items[0].remainUomValueWithUom : '',
@@ -10,6 +10,7 @@ import { releaseGoodResolver } from './release-good'
10
10
  import { releaseGoodDetailResolver } from './release-good-detail'
11
11
  import { releaseGoodRequestsResolver } from './release-good-requests'
12
12
  import { releaseGoodsResolver } from './release-goods'
13
+ import { updateReleaseGoodDetailsResolver } from './update-release-good-details'
13
14
 
14
15
  export const Query = {
15
16
  ...releaseGoodsResolver,
@@ -26,5 +27,6 @@ export const Mutation = {
26
27
  ...generateReleaseGood,
27
28
  ...receiveReleaseGoodResolver,
28
29
  ...rejectReleaseGoodResolver,
29
- ...addReleaseGood
30
+ ...addReleaseGood,
31
+ ...updateReleaseGoodDetailsResolver
30
32
  }
@@ -74,6 +74,8 @@ export const releaseGoodDetailResolver = {
74
74
  packingSize: inventory.packingSize,
75
75
  location: inventory.location,
76
76
  qty: inventory.qty,
77
+ lockedQty: inventory.lockedQty,
78
+ lockedUomValue: inventory. lockedUomValue,
77
79
  uom: inventory.uom,
78
80
  uomValue: inventory.uomValue,
79
81
  releaseQty: orderInv.releaseQty,
@@ -103,18 +105,25 @@ export const releaseGoodDetailResolver = {
103
105
  })
104
106
  )
105
107
 
106
- const result = {
108
+ let result = {
107
109
  ...releaseGood,
108
110
  attachment: foundAttachments,
109
- shippingOrderInfo: {
110
- containerNo: shippingOrder?.containerNo || '',
111
- containerLeavingDate: shippingOrder?.containerLeavingDate || '',
112
- containerArrivalDate: shippingOrder?.containerArrivalDate || '',
113
- shipName: shippingOrder?.shipName || ''
114
- },
111
+ shippingOrderInfo: {},
115
112
  inventoryInfos: orderBy(invInfos, ['product.sku'], ['asc'])
116
113
  }
117
114
 
115
+ if (shippingOrder) {
116
+ result = {
117
+ ...result,
118
+ shippingOrderInfo: {
119
+ id: shippingOrder?.id ,
120
+ containerNo: shippingOrder?.containerNo,
121
+ containerLeavingDate: shippingOrder?.containerLeavingDate,
122
+ containerArrivalDate: shippingOrder?.containerArrivalDate,
123
+ shipName: shippingOrder?.shipName
124
+ }
125
+ }
126
+ }
118
127
  dropOITempTable(domain, tx)
119
128
 
120
129
  return result
@@ -1,14 +1,17 @@
1
+ import { getRepository, In } from 'typeorm'
2
+
1
3
  import { User } from '@things-factory/auth-base'
2
4
  import { getPermittedBizplaceIds } from '@things-factory/biz-base'
5
+ import { ProductDetail } from '@things-factory/product-base'
3
6
  import { Domain } from '@things-factory/shell'
4
- import { getRepository, In } from 'typeorm'
5
- import { ReleaseGood } from '../../../entities'
7
+
8
+ import { OrderInventory, ReleaseGood } from '../../../entities'
6
9
 
7
10
  export const releaseGoodResolver = {
8
11
  async releaseGood(_: any, { name }, context: any) {
9
12
  const { domain, user }: { domain: Domain; user: User } = context.state
10
13
 
11
- return await getRepository(ReleaseGood).findOne({
14
+ let releaseGood: ReleaseGood = await getRepository(ReleaseGood).findOne({
12
15
  where: {
13
16
  domain,
14
17
  name,
@@ -23,11 +26,32 @@ export const releaseGoodResolver = {
23
26
  'orderInventories.product',
24
27
  'orderInventories.inventory',
25
28
  'orderInventories.inventory.product',
29
+ 'orderInventories.inventory.location',
26
30
  'orderVass',
27
31
  'orderVass.vas',
28
32
  'creator',
29
33
  'updater'
30
34
  ]
31
35
  })
36
+
37
+ releaseGood.orderInventories = await Promise.all(
38
+ releaseGood.orderInventories.map(async (orderInventory: OrderInventory) => {
39
+ const productDetails: ProductDetail[] = await getRepository(ProductDetail).find({
40
+ where: {
41
+ product: orderInventory.product.id,
42
+ packingType: orderInventory.packingType,
43
+ packingSize: orderInventory.packingSize
44
+ }
45
+ })
46
+
47
+ orderInventory.product['productDetails'] = productDetails
48
+
49
+ if (orderInventory.inventory) orderInventory.inventory.product['productDetails'] = productDetails
50
+
51
+ return orderInventory
52
+ })
53
+ )
54
+
55
+ return releaseGood
32
56
  }
33
57
  }
@@ -0,0 +1,61 @@
1
+ import { EntityManager } from 'typeorm'
2
+
3
+ import { User } from '@things-factory/auth-base'
4
+ import { getMyBizplace } from '@things-factory/biz-base'
5
+ import { Domain } from '@things-factory/shell'
6
+
7
+ import { ORDER_STATUS } from '../../../constants'
8
+ import { ReleaseGood, ShippingOrder } from '../../../entities'
9
+ import { OrderNoGenerator } from '../../../utils/order-no-generator'
10
+
11
+ export const updateReleaseGoodDetailsResolver = {
12
+ async updateReleaseGoodDetails(_: any, { releaseGood, shippingOrder }, context: any) {
13
+ const { tx }: { tx: EntityManager } = context.state
14
+
15
+ try {
16
+ return updateReleaseGoodFunction(releaseGood, shippingOrder, context, tx)
17
+ } catch (error) {
18
+ throw error
19
+ }
20
+ }
21
+ }
22
+
23
+ export async function updateReleaseGoodFunction(
24
+ releaseGood: ReleaseGood,
25
+ shippingOrder: ShippingOrder,
26
+ context: any,
27
+ tx?: EntityManager
28
+ ) {
29
+ const { domain, user }: { domain: Domain; user: User } = context.state
30
+ let foundReleaseGood = await tx.getRepository(ReleaseGood).findOne({
31
+ where: { id: releaseGood.id, name: releaseGood.name, domain },
32
+ relations: ['shippingOrder']
33
+ })
34
+
35
+ if (!foundReleaseGood) {
36
+ throw new Error(`Release Order ${releaseGood.name} is not found.`)
37
+ }
38
+
39
+ // case to update existing shippingOrder
40
+ if (foundReleaseGood.shippingOrder && shippingOrder) {
41
+ await tx.getRepository(ShippingOrder).update(foundReleaseGood.shippingOrder.id, shippingOrder)
42
+ }
43
+ // case for new shippingOrder
44
+ else if (!foundReleaseGood.shippingOrder && shippingOrder) {
45
+ let newShippingOrder: ShippingOrder = await tx.getRepository(ShippingOrder).save({
46
+ ...shippingOrder,
47
+ name: OrderNoGenerator.shippingOrder(),
48
+ domain,
49
+ bizplace: await getMyBizplace(domain, user),
50
+ status: ORDER_STATUS.PENDING,
51
+ creator: user,
52
+ updater: user
53
+ })
54
+
55
+ releaseGood.shippingOrder = newShippingOrder
56
+ }
57
+
58
+ await tx.getRepository(ReleaseGood).update(foundReleaseGood.id, releaseGood)
59
+ // return updated Release Good
60
+ return await tx.getRepository(ReleaseGood).findOne(foundReleaseGood.id)
61
+ }
@@ -37,5 +37,6 @@ export const OrderInventoryPatch = gql`
37
37
  status: String
38
38
  pallet: String
39
39
  extraJsonData: String
40
+ uom: String
40
41
  }
41
42
  `
@@ -61,5 +61,6 @@ export const OrderInventory = gql`
61
61
  remainUomValue: Float
62
62
  remainUomValueWithUom: String
63
63
  isError: Boolean
64
+ uom: String
64
65
  }
65
66
  `
@@ -36,6 +36,11 @@ export const Mutation = /* GraphQL */ `
36
36
  patch: ReleaseGoodPatch!
37
37
  ): ReleaseGood @privilege(category: "order_warehouse", privilege: "mutation") @transaction
38
38
 
39
+ updateReleaseGoodDetails (
40
+ releaseGood: ReleaseGoodPatch!,
41
+ shippingOrder: ShippingOrderPatch
42
+ ): ReleaseGood @privilege(category: "order", privilege: "mutation") @transaction
43
+
39
44
  addReleaseGood (
40
45
  releaseGood: NewReleaseGood
41
46
  shippingOrder: ShippingOrderPatch
@@ -13,6 +13,7 @@ export const InventoryInfos = gql`
13
13
  packingType: String
14
14
  packingSize: Float
15
15
  qty: Int
16
+ lockedQty: Int
16
17
  weight: Float
17
18
  releaseQty: Float
18
19
  releaseWeight: Float
@@ -21,6 +22,7 @@ export const InventoryInfos = gql`
21
22
  status: String
22
23
  releaseUomValue: Float
23
24
  uomValue: Float
25
+ lockedUomValue: Float
24
26
  uom: String
25
27
  returnQty: Float
26
28
  returnUomValue: Float
@@ -2,6 +2,7 @@ import gql from 'graphql-tag'
2
2
 
3
3
  export const ReleaseGoodPatch = gql`
4
4
  input ReleaseGoodPatch {
5
+ id: String
5
6
  name: String
6
7
  releaseDate: String
7
8
  releaseDateTime: String
@@ -2,6 +2,7 @@ import gql from 'graphql-tag'
2
2
 
3
3
  export const ShippingOrderInfo = gql`
4
4
  type ShippingOrderInfo {
5
+ id: String
5
6
  containerNo: String
6
7
  containerLeavingDate: String
7
8
  containerArrivalDate: String
@@ -2,6 +2,7 @@ import gql from 'graphql-tag'
2
2
 
3
3
  export const ShippingOrderPatch = gql`
4
4
  input ShippingOrderPatch {
5
+ id: String
5
6
  name: String
6
7
  description: String
7
8
  shipName: String