@things-factory/worksheet-base 4.0.7 → 4.0.12

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 (94) hide show
  1. package/dist-server/constants/template.js +1 -0
  2. package/dist-server/constants/template.js.map +1 -1
  3. package/dist-server/controllers/ecommerce/sellercraft-controller.js +3 -3
  4. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
  5. package/dist-server/controllers/inbound/putaway-worksheet-controller.js +24 -5
  6. package/dist-server/controllers/inbound/putaway-worksheet-controller.js.map +1 -1
  7. package/dist-server/controllers/inbound/unloading-worksheet-controller.js +67 -28
  8. package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
  9. package/dist-server/controllers/index.js +1 -0
  10. package/dist-server/controllers/index.js.map +1 -1
  11. package/dist-server/controllers/outbound/loading-worksheet-controller.js +4 -0
  12. package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -1
  13. package/dist-server/controllers/outbound/packing-worksheet-controller.js +1 -3
  14. package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
  15. package/dist-server/controllers/outbound/picking-worksheet-controller.js +158 -113
  16. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  17. package/dist-server/controllers/render-elccl-grn.js +6 -6
  18. package/dist-server/controllers/render-elccl-grn.js.map +1 -1
  19. package/dist-server/controllers/render-manifest.js +64 -0
  20. package/dist-server/controllers/render-manifest.js.map +1 -0
  21. package/dist-server/controllers/worksheet-controller.js +28 -2
  22. package/dist-server/controllers/worksheet-controller.js.map +1 -1
  23. package/dist-server/graphql/resolvers/pallet/pallet-outbound.js +1 -1
  24. package/dist-server/graphql/resolvers/pallet/pallet-outbound.js.map +1 -1
  25. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +6 -5
  26. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
  27. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js +23 -2
  28. package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js.map +1 -1
  29. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +22 -0
  30. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  31. package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js +6 -3
  32. package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js.map +1 -1
  33. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +0 -4
  34. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
  35. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +30 -5
  36. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  37. package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js +72 -0
  38. package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js.map +1 -0
  39. package/dist-server/graphql/resolvers/worksheet/picking/index.js +2 -1
  40. package/dist-server/graphql/resolvers/worksheet/picking/index.js.map +1 -1
  41. package/dist-server/graphql/resolvers/worksheet/picking/picking.js +4 -4
  42. package/dist-server/graphql/resolvers/worksheet/picking/picking.js.map +1 -1
  43. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js +4 -4
  44. package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js.map +1 -1
  45. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +86 -57
  46. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
  47. package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js +2 -2
  48. package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js.map +1 -1
  49. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js +6 -1
  50. package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -1
  51. package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.js +2 -2
  52. package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.js.map +1 -1
  53. package/dist-server/graphql/types/index.js +1 -2
  54. package/dist-server/graphql/types/index.js.map +1 -1
  55. package/dist-server/graphql/types/worksheet/index.js +7 -1
  56. package/dist-server/graphql/types/worksheet/index.js.map +1 -1
  57. package/dist-server/routes.js +4 -0
  58. package/dist-server/routes.js.map +1 -1
  59. package/dist-server/utils/inventory-util.js +29 -4
  60. package/dist-server/utils/inventory-util.js.map +1 -1
  61. package/package.json +16 -16
  62. package/server/constants/template.ts +1 -0
  63. package/server/controllers/ecommerce/sellercraft-controller.ts +3 -3
  64. package/server/controllers/inbound/putaway-worksheet-controller.ts +29 -8
  65. package/server/controllers/inbound/unloading-worksheet-controller.ts +83 -29
  66. package/server/controllers/index.ts +1 -0
  67. package/server/controllers/outbound/loading-worksheet-controller.ts +20 -0
  68. package/server/controllers/outbound/packing-worksheet-controller.ts +3 -5
  69. package/server/controllers/outbound/picking-worksheet-controller.ts +201 -143
  70. package/server/controllers/render-elccl-grn.ts +8 -6
  71. package/server/controllers/render-manifest.ts +68 -0
  72. package/server/controllers/worksheet-controller.ts +41 -2
  73. package/server/graphql/resolvers/pallet/pallet-outbound.ts +1 -2
  74. package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +10 -8
  75. package/server/graphql/resolvers/worksheet/loading-worksheet.ts +30 -4
  76. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +28 -3
  77. package/server/graphql/resolvers/worksheet/pending-cancellation-release-order.ts +13 -7
  78. package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +1 -6
  79. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +35 -4
  80. package/server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.ts +78 -0
  81. package/server/graphql/resolvers/worksheet/picking/index.ts +3 -1
  82. package/server/graphql/resolvers/worksheet/picking/picking.ts +6 -4
  83. package/server/graphql/resolvers/worksheet/picking/scan-product-picking.ts +7 -4
  84. package/server/graphql/resolvers/worksheet/picking-worksheet.ts +102 -62
  85. package/server/graphql/resolvers/worksheet/recommend-putway-location.ts +4 -2
  86. package/server/graphql/resolvers/worksheet/unloaded-inventories.ts +10 -1
  87. package/server/graphql/resolvers/worksheet/unloading-return-worksheet.ts +6 -4
  88. package/server/graphql/types/index.ts +1 -2
  89. package/server/graphql/types/worksheet/index.ts +8 -2
  90. package/server/routes.ts +5 -0
  91. package/server/utils/inventory-util.ts +31 -9
  92. package/dist-server/graphql/types/pallet/index.js +0 -10
  93. package/dist-server/graphql/types/pallet/index.js.map +0 -1
  94. package/server/graphql/types/pallet/index.ts +0 -6
@@ -292,6 +292,8 @@ exports.Mutation = `
292
292
  cartonId: String
293
293
  locationName: String!
294
294
  releaseQty: Int!
295
+ binLocation: String
296
+ serialNumber: String
295
297
  ): Boolean @privilege(category: "worksheet_execute", privilege: "mutation") @transaction
296
298
 
297
299
  scanProductPicking (
@@ -300,6 +302,7 @@ exports.Mutation = `
300
302
  productBarcode: String!
301
303
  cartonId: String!
302
304
  binLocation: String
305
+ serialNumber: String
303
306
  ): Boolean @privilege(category: "worksheet_execute", privilege: "mutation") @transaction
304
307
 
305
308
  sortingProduct (
@@ -517,6 +520,9 @@ exports.Mutation = `
517
520
  worksheetId: String!
518
521
  userId: String!
519
522
  ): Boolean @privilege(category: "worksheet_control", privilege: "mutation") @transaction
523
+
524
+ fetchAndAssignPickingTask
525
+ : ExecutingWorksheet @privilege(category: "worksheet_control", privilege: "mutation") @transaction
520
526
 
521
527
  palletizingPallets (
522
528
  refOrderNo: String!
@@ -589,7 +595,7 @@ exports.Query = `
589
595
 
590
596
  pickingWorksheet (
591
597
  releaseGoodNo: String!, locationSortingRules: [Sorting]
592
- ): ExecutingWorksheet @privilege(category: "worksheet", privilege: "query")
598
+ ): ExecutingWorksheet @privilege(category: "worksheet", privilege: "query") @transaction
593
599
 
594
600
  sortingWorksheet (
595
601
  releaseGoodNo: String!
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet/index.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,yEAAmE;AACnE,6DAAuD;AACvD,mEAA6D;AAC7D,mDAA8C;AAC9C,+DAAyD;AACzD,6DAAwD;AACxD,+DAA0D;AAC1D,+DAAyD;AACzD,2EAAqE;AACrE,uEAAiE;AACjE,iFAA0E;AAC1E,mDAA8C;AAC9C,2EAAqE;AACrE,yDAAoD;AACpD,qEAA+D;AAC/D,qEAA+D;AAC/D,+DAAyD;AACzD,2CAAuC;AACvC,mEAA6D;AAC7D,qDAAgD;AAChD,qDAAgD;AAChD,uDAAkD;AAClD,2EAAqE;AAExD,QAAA,QAAQ,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAifrC,CAAA;AAEY,QAAA,KAAK,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0IlC,CAAA;AAEY,QAAA,KAAK,GAAiB;IACjC,qBAAS;IACT,uBAAU;IACV,4BAAY;IACZ,gCAAc;IACd,8BAAa;IACb,iDAAsB;IACtB,6CAAoB;IACpB,2CAAmB;IACnB,6CAAoB;IACpB,mDAAuB;IACvB,uCAAiB;IACjB,uCAAiB;IACjB,qCAAgB;IAChB,uCAAiB;IACjB,8BAAa;IACb,4BAAY;IACZ,sCAAiB;IACjB,2CAAmB;IACnB,wCAAkB;IAClB,+CAAqB;IACrB,kCAAe;IACf,mDAAuB;IACvB,mDAAuB;IACvB,wDAAyB;CAC1B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet/index.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,yEAAmE;AACnE,6DAAuD;AACvD,mEAA6D;AAC7D,mDAA8C;AAC9C,+DAAyD;AACzD,6DAAwD;AACxD,+DAA0D;AAC1D,+DAAyD;AACzD,2EAAqE;AACrE,uEAAiE;AACjE,iFAA0E;AAC1E,mDAA8C;AAC9C,2EAAqE;AACrE,yDAAoD;AACpD,qEAA+D;AAC/D,qEAA+D;AAC/D,+DAAyD;AACzD,2CAAuC;AACvC,mEAA6D;AAC7D,qDAAgD;AAChD,qDAAgD;AAChD,uDAAkD;AAClD,2EAAqE;AAExD,QAAA,QAAQ,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAufrC,CAAA;AAEY,QAAA,KAAK,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0IlC,CAAA;AAEY,QAAA,KAAK,GAAgB;IAChC,qBAAS;IACT,uBAAU;IACV,4BAAY;IACZ,gCAAc;IACd,8BAAa;IACb,iDAAsB;IACtB,6CAAoB;IACpB,2CAAmB;IACnB,6CAAoB;IACpB,mDAAuB;IACvB,uCAAiB;IACjB,uCAAiB;IACjB,qCAAgB;IAChB,uCAAiB;IACjB,8BAAa;IACb,4BAAY;IACZ,sCAAiB;IACjB,2CAAmB;IACnB,wCAAkB;IAClB,+CAAqB;IACrB,kCAAe;IACf,mDAAuB;IACvB,mDAAuB;IACvB,wDAAyB;CAC1B,CAAA"}
@@ -4,6 +4,7 @@ const render_elccl_grn_1 = require("./controllers/render-elccl-grn");
4
4
  const render_grn_1 = require("./controllers/render-grn");
5
5
  const render_job_sheet_1 = require("./controllers/render-job-sheet");
6
6
  const render_kimeda_grn_1 = require("./controllers/render-kimeda-grn");
7
+ const render_manifest_1 = require("./controllers/render-manifest");
7
8
  const render_manual_do_1 = require("./controllers/render-manual-do");
8
9
  const render_orientage_do_1 = require("./controllers/render-orientage-do");
9
10
  const render_orientage_grn_1 = require("./controllers/render-orientage-grn");
@@ -37,5 +38,8 @@ process.on('bootstrap-module-domain-private-route', (app, routes) => {
37
38
  routes.get('/view_job_sheet/:ganNo/:timezoneOffSet', async (context, next) => {
38
39
  context.body = await (0, render_job_sheet_1.renderJobSheet)(context.params, context);
39
40
  });
41
+ routes.get('/view_manifest/:manifestNo', async (context, next) => {
42
+ context.body = await (0, render_manifest_1.renderManifest)(context.params, context);
43
+ });
40
44
  });
41
45
  //# sourceMappingURL=routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":";;AAAA,qEAA+D;AAC/D,yDAAoD;AACpD,qEAA+D;AAC/D,uEAAiE;AACjE,qEAA+D;AAC/D,2EAAqE;AACrE,6EAAuE;AACvE,6DAAuD;AACvD,uEAAiE;AAEjE,OAAO,CAAC,EAAE,CAAC,uCAA8C,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACzE,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,yBAAU,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACtE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,uCAAiB,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACnE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC3D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,kCAAkC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACrE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,sBAAS,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,yCAAyC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC5E,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,mCAAe,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,yCAAkB,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC5D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,mCAAe,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,wCAAwC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC3E,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":";;AAAA,qEAA+D;AAC/D,yDAAoD;AACpD,qEAA+D;AAC/D,uEAAiE;AACjE,mEAA8D;AAC9D,qEAA+D;AAC/D,2EAAqE;AACrE,6EAAuE;AACvE,6DAAuD;AACvD,uEAAiE;AAEjE,OAAO,CAAC,EAAE,CAAC,uCAA8C,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACzE,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,yBAAU,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACtE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,uCAAiB,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACnE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC3D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,kCAAkC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACrE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,sBAAS,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,yCAAyC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC5E,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,mCAAe,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,yCAAkB,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC5D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,mCAAe,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,wCAAwC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC3E,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,gCAAc,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -40,6 +40,31 @@ async function generateInventoryHistory(inventory, refOrder, transactionType, qt
40
40
  openingQty = lastInvHistory.openingQty + lastInvHistory.qty;
41
41
  openingUomValue = lastInvHistory.openingUomValue + lastInvHistory.uomValue;
42
42
  }
43
+ if (transactionType == 'PICKING' || transactionType == 'UNLOADING') {
44
+ const [findSameOrderHistory, total] = await invHistoryRepo.findAndCount({
45
+ domain: inventory.domain,
46
+ palletId: inventory.palletId,
47
+ refOrderId: refOrder.id
48
+ });
49
+ if (findSameOrderHistory) {
50
+ let prevTotalQty = 0;
51
+ let prevTotalUomValue = 0;
52
+ for (let oh of findSameOrderHistory) {
53
+ prevTotalQty += oh.qty;
54
+ prevTotalUomValue += oh.uomValue;
55
+ }
56
+ qty -= prevTotalQty;
57
+ uomValue -= prevTotalUomValue;
58
+ }
59
+ }
60
+ else if (transactionType == 'UNDO_UNLOADING' || transactionType == 'RETURN') {
61
+ qty = qty;
62
+ uomValue = uomValue;
63
+ }
64
+ else {
65
+ qty = 0;
66
+ uomValue = 0;
67
+ }
43
68
  let inventoryHistory = new warehouse_base_1.InventoryHistory();
44
69
  inventoryHistory.name = warehouse_base_1.InventoryNoGenerator.inventoryHistoryName();
45
70
  inventoryHistory.description = inventory.description;
@@ -66,8 +91,6 @@ async function generateInventoryHistory(inventory, refOrder, transactionType, qt
66
91
  inventoryHistory.uom = inventory.uom;
67
92
  inventoryHistory.qty = qty;
68
93
  inventoryHistory.openingQty = openingQty;
69
- inventoryHistory.weight = 0;
70
- inventoryHistory.openingWeight = 0;
71
94
  inventoryHistory.uomValue = uomValue;
72
95
  inventoryHistory.openingUomValue = openingUomValue;
73
96
  inventoryHistory.unitCost = inventory.unitCost;
@@ -155,7 +178,7 @@ exports.checkPalletIdenticallity = checkPalletIdenticallity;
155
178
  * @param { worksheetId, batchId, bizplaceId, productId, packingType, pickingStrategy, locationSortingRules }
156
179
  * @param trxMgr
157
180
  */
158
- async function inventoriesByStrategy({ worksheetId, batchId, bizplaceId, productId, packingType, packingSize, pickingStrategy, locationSortingRules }, domain, trxMgr) {
181
+ async function inventoriesByStrategy({ worksheetId, batchId, bizplaceId, productId, packingType, packingSize, uom, pickingStrategy, locationSortingRules }, domain, trxMgr) {
159
182
  const qb = await trxMgr.getRepository(warehouse_base_1.Inventory).createQueryBuilder('INV');
160
183
  qb.leftJoinAndSelect('INV.product', 'PROD')
161
184
  .leftJoinAndSelect('INV.location', 'LOC')
@@ -175,12 +198,14 @@ async function inventoriesByStrategy({ worksheetId, batchId, bizplaceId, product
175
198
  .andWhere('"PROD"."id" = :productId')
176
199
  .andWhere('"INV"."packing_type" = :packingType')
177
200
  .andWhere('"INV"."packing_size" = :packingSize')
201
+ .andWhere('"INV"."uom" = :uom')
178
202
  .andWhere('"INV"."status" = :status', { status: 'STORED' })
179
203
  .setParameters({
180
204
  domainId: domain.id,
181
205
  productId,
182
206
  packingType,
183
- packingSize
207
+ packingSize,
208
+ uom
184
209
  });
185
210
  if (batchId !== '') {
186
211
  qb.andWhere('"INV"."batch_id" = :batchId', { batchId });
@@ -1 +1 @@
1
- {"version":3,"file":"inventory-util.js","sourceRoot":"","sources":["../../server/utils/inventory-util.ts"],"names":[],"mappings":"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"}
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/worksheet-base",
3
- "version": "4.0.7",
3
+ "version": "4.0.12",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,20 +24,20 @@
24
24
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
25
25
  },
26
26
  "dependencies": {
27
- "@things-factory/auth-base": "^4.0.7",
28
- "@things-factory/biz-base": "^4.0.7",
29
- "@things-factory/document-template-base": "^4.0.7",
30
- "@things-factory/id-rule-base": "^4.0.7",
31
- "@things-factory/integration-lmd": "^4.0.7",
32
- "@things-factory/integration-marketplace": "^4.0.7",
33
- "@things-factory/integration-sellercraft": "^4.0.7",
34
- "@things-factory/marketplace-base": "^4.0.7",
35
- "@things-factory/notification": "^4.0.7",
36
- "@things-factory/sales-base": "^4.0.7",
37
- "@things-factory/setting-base": "^4.0.7",
38
- "@things-factory/shell": "^4.0.7",
39
- "@things-factory/transport-base": "^4.0.7",
40
- "@things-factory/warehouse-base": "^4.0.7"
27
+ "@things-factory/auth-base": "^4.0.12",
28
+ "@things-factory/biz-base": "^4.0.12",
29
+ "@things-factory/document-template-base": "^4.0.12",
30
+ "@things-factory/id-rule-base": "^4.0.12",
31
+ "@things-factory/integration-lmd": "^4.0.12",
32
+ "@things-factory/integration-marketplace": "^4.0.12",
33
+ "@things-factory/integration-sellercraft": "^4.0.12",
34
+ "@things-factory/marketplace-base": "^4.0.12",
35
+ "@things-factory/notification": "^4.0.12",
36
+ "@things-factory/sales-base": "^4.0.12",
37
+ "@things-factory/setting-base": "^4.0.12",
38
+ "@things-factory/shell": "^4.0.12",
39
+ "@things-factory/transport-base": "^4.0.12",
40
+ "@things-factory/warehouse-base": "^4.0.12"
41
41
  },
42
- "gitHead": "035fa60359aefa9b9111f807fc7e8db6a15a4a6e"
42
+ "gitHead": "29d59ff95fcb473cb43c6f798cd04f3ec3a779a0"
43
43
  }
@@ -3,6 +3,7 @@ export const TEMPLATE_TYPE = {
3
3
  CO_TEMPLATE: 'CO_TEMPLATE',
4
4
  GRN_TEMPLATE: 'GRN_TEMPLATE',
5
5
  JOB_TEMPLATE: 'JOB_TEMPLATE',
6
+ MANIFEST_TEMPLATE: 'MANIFEST_TEMPLATE',
6
7
  COP: 'COP',
7
8
  SIGNATURE: 'SIGNATURE',
8
9
  LOGO: 'LOGO'
@@ -161,7 +161,7 @@ export class SellercraftController extends WorksheetController {
161
161
  async initiateOrderShipment(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void> {
162
162
  const orderInformation: any = {
163
163
  accountId: sellercraft.accountId,
164
- orderId: releaseGood.collectionOrderNo,
164
+ orderId: releaseGood.refNo2,
165
165
  packageId: releaseGood.packageId
166
166
  }
167
167
 
@@ -185,7 +185,7 @@ export class SellercraftController extends WorksheetController {
185
185
  async initiateOrderDocument(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void> {
186
186
  const orderInformation: any = {
187
187
  accountId: sellercraft.accountId,
188
- orderId: releaseGood.collectionOrderNo,
188
+ orderId: releaseGood.refNo2,
189
189
  packageId: releaseGood.packageId
190
190
  }
191
191
  await SellercraftAPI.initiateOrderDocument(sellercraft, { ...orderInformation })
@@ -194,7 +194,7 @@ export class SellercraftController extends WorksheetController {
194
194
  async fetchOrderDocument(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood> {
195
195
  const orderInformation: any = {
196
196
  accountId: sellercraft.accountId,
197
- orderId: releaseGood.collectionOrderNo,
197
+ orderId: releaseGood.refNo2,
198
198
  packageId: releaseGood.packageId
199
199
  }
200
200
  const { documents, trackingNo }: { documents: any[]; trackingNo: string } = await SellercraftAPI.fetchOrderDocument(
@@ -1,12 +1,14 @@
1
+ import { Equal, In, Not } from 'typeorm'
2
+
1
3
  import { Bizplace } from '@things-factory/biz-base'
2
4
  import {
3
5
  ArrivalNotice,
4
- OrderInventory,
5
- OrderNoGenerator,
6
6
  ORDER_INVENTORY_STATUS,
7
7
  ORDER_PRODUCT_STATUS,
8
8
  ORDER_STATUS,
9
- ORDER_TYPES
9
+ ORDER_TYPES,
10
+ OrderInventory,
11
+ OrderNoGenerator
10
12
  } from '@things-factory/sales-base'
11
13
  import {
12
14
  Inventory,
@@ -17,7 +19,7 @@ import {
17
19
  Pallet,
18
20
  Warehouse
19
21
  } from '@things-factory/warehouse-base'
20
- import { Equal, In, Not } from 'typeorm'
22
+
21
23
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../constants'
22
24
  import { Worksheet, WorksheetDetail } from '../../entities'
23
25
  import { switchLocationStatus } from '../../utils'
@@ -204,7 +206,13 @@ export class PutawayWorksheetController extends VasWorksheetController {
204
206
  where: {
205
207
  domain: this.domain,
206
208
  name: locationName,
207
- type: In([LOCATION_TYPE.SHELF, LOCATION_TYPE.BUFFER, LOCATION_TYPE.FLOOR])
209
+ type: In([
210
+ LOCATION_TYPE.SHELF,
211
+ LOCATION_TYPE.BUFFER,
212
+ LOCATION_TYPE.FLOOR,
213
+ LOCATION_TYPE.QUARANTINE,
214
+ LOCATION_TYPE.RESERVE
215
+ ])
208
216
  },
209
217
  relations: ['warehouse']
210
218
  })
@@ -250,7 +258,14 @@ export class PutawayWorksheetController extends VasWorksheetController {
250
258
  where: {
251
259
  domain: this.domain,
252
260
  name: locationName,
253
- type: In([LOCATION_TYPE.SHELF, LOCATION_TYPE.BUFFER, LOCATION_TYPE.FLOOR, LOCATION_TYPE.BIN])
261
+ type: In([
262
+ LOCATION_TYPE.SHELF,
263
+ LOCATION_TYPE.BUFFER,
264
+ LOCATION_TYPE.FLOOR,
265
+ LOCATION_TYPE.BIN,
266
+ LOCATION_TYPE.QUARANTINE,
267
+ LOCATION_TYPE.RESERVE
268
+ ])
254
269
  },
255
270
  relations: ['warehouse']
256
271
  })
@@ -288,14 +303,20 @@ export class PutawayWorksheetController extends VasWorksheetController {
288
303
  let inventory: Inventory = targetInventory.inventory
289
304
 
290
305
  if (inventory.palletId !== palletId) {
291
- throw new Error(this.ERROR_MSG.VALIDITY.UNEXPECTED_FIELD_VALUE('palletId', palletId, inventory.palletId))
306
+ throw new Error(this.ERROR_MSG.VALIDITY.UNEXPECTED_FIELD_VALUE('lot ID', palletId, inventory.palletId))
292
307
  }
293
308
 
294
309
  const location: Location = await this.trxMgr.getRepository(Location).findOne({
295
310
  where: {
296
311
  domain: this.domain,
297
312
  name: locationName,
298
- type: In([LOCATION_TYPE.SHELF, LOCATION_TYPE.BUFFER, LOCATION_TYPE.FLOOR])
313
+ type: In([
314
+ LOCATION_TYPE.SHELF,
315
+ LOCATION_TYPE.BUFFER,
316
+ LOCATION_TYPE.FLOOR,
317
+ LOCATION_TYPE.QUARANTINE,
318
+ LOCATION_TYPE.RESERVE
319
+ ])
299
320
  },
300
321
  relations: ['warehouse']
301
322
  })
@@ -81,8 +81,6 @@ export class UnloadingWorksheetController extends VasWorksheetController {
81
81
  },
82
82
  relations: [
83
83
  'bizplace',
84
- 'bizplace.company',
85
- 'bizplace.company.domain',
86
84
  'worksheet',
87
85
  'worksheet.arrivalNotice',
88
86
  'worksheet.returnOrder',
@@ -90,9 +88,13 @@ export class UnloadingWorksheetController extends VasWorksheetController {
90
88
  'worksheet.bufferLocation.warehouse',
91
89
  'targetProduct',
92
90
  'targetProduct.product',
91
+ 'targetProduct.product.productDetails',
92
+ 'targetProduct.product.productDetails.childProductDetail',
93
93
  'targetInventory',
94
+ 'targetInventory.inventory',
94
95
  'targetInventory.product',
95
- 'targetInventory.inventory'
96
+ 'targetInventory.product.productDetails',
97
+ 'targetInventory.product.productDetails.childProductDetail'
96
98
  ]
97
99
  })
98
100
  if (!worksheetDetail) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(worksheetDetailName))
@@ -111,13 +113,10 @@ export class UnloadingWorksheetController extends VasWorksheetController {
111
113
  const product: Product = Boolean(arrivalNotice) ? targetProduct.product : targetInventory.product
112
114
  const packingType: string = Boolean(arrivalNotice) ? targetProduct.packingType : targetInventory.packingType
113
115
  const packingSize: number = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize
114
- const uom: string = Boolean(arrivalNotice) ? targetProduct.uom : originInventory.uom
115
116
  const remark: string = Boolean(arrivalNotice) ? targetProduct.remark : targetInventory.remark
116
117
  const manufactureYear: number = Boolean(arrivalNotice) ? targetProduct.manufactureYear : null
117
- const qty: number = inventory.qty
118
- const uomValue: number = Boolean(arrivalNotice)
119
- ? Math.round(qty * targetProduct.uomValue * 100) / 100
120
- : targetInventory.returnUomValue
118
+ let qty: number = inventory.qty
119
+ let uom: string = Boolean(arrivalNotice) ? targetProduct.uom : targetInventory.uom
121
120
  const location: Location = worksheet.bufferLocation
122
121
  const warehouse: Warehouse = location.warehouse
123
122
  const zone: string = location.zone
@@ -144,14 +143,46 @@ export class UnloadingWorksheetController extends VasWorksheetController {
144
143
  }
145
144
 
146
145
  if (productBarcode) {
147
- const scannedProductDetail: ProductDetail = await this.trxMgr.getRepository(ProductDetail).findOne({
148
- where: { domain: companyDomain, gtin: productBarcode, packingType, packingSize, product }
149
- })
146
+ const productDetails: ProductDetail[] = product?.productDetails.filter(detail => !detail.deletedAt)
147
+ const isMatchingBarcode: boolean = productDetails.map(detail => detail.gtin).includes(productBarcode)
148
+ if (!isMatchingBarcode) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
149
+
150
+ const foundProductDetail: ProductDetail = productDetails.find(
151
+ (detail: ProductDetail) =>
152
+ detail.gtin === productBarcode && detail.packingType === packingType && detail.packingSize == packingSize
153
+ )
150
154
 
151
- if (!scannedProductDetail)
152
- throw new Error(this.ERROR_MSG.PRODUCT.BARCODE_NOT_EXIST(productBarcode, packingType, packingSize))
155
+ if (!foundProductDetail) {
156
+ const orderProductDetail: ProductDetail = productDetails.find(
157
+ (parentDetail: ProductDetail) =>
158
+ parentDetail.packingType === packingType && parentDetail.packingSize == packingSize
159
+ )
160
+ if (!orderProductDetail)
161
+ throw new Error(
162
+ this.ERROR_MSG.FIND.NO_RESULT(`Packing Type ( ${packingType}) or Packing Size (${packingSize})`)
163
+ )
164
+
165
+ if (arrivalNotice) {
166
+ uom = targetProduct.uom
167
+ } else {
168
+ uom = orderProductDetail.uom
169
+ }
170
+ qty = (await this.getChildQty(productDetails, productBarcode, orderProductDetail)) * qty
171
+ } else {
172
+ uom = foundProductDetail.uom
173
+ qty
174
+ }
153
175
  }
154
176
 
177
+ const uomValue: number =
178
+ Math.round(
179
+ qty *
180
+ (Boolean(arrivalNotice)
181
+ ? targetProduct.uomValue
182
+ : targetInventory.returnUomValue / targetInventory.returnQty) *
183
+ 100
184
+ ) / 100
185
+
155
186
  let newInventory: Partial<Inventory> = new Inventory()
156
187
  newInventory.bizplace = bizplace
157
188
  newInventory.name = InventoryNoGenerator.inventoryName()
@@ -173,10 +204,10 @@ export class UnloadingWorksheetController extends VasWorksheetController {
173
204
  if (arrivalNotice) {
174
205
  newInventory.manufactureYear = manufactureYear
175
206
  newInventory.batchIdRef = batchIdRef
176
- newInventory.orderProductId = targetProduct.id
207
+ newInventory.orderProductId = targetProduct?.id
177
208
  } else if (returnOrder) {
178
- newInventory.orderInventoryId = targetInventory.id
179
- newInventory.refInventory = inventory.id
209
+ newInventory.orderInventoryId = targetInventory?.id
210
+ newInventory.refInventory = targetInventory?.inventory
180
211
  }
181
212
  newInventory.warehouse = warehouse
182
213
  newInventory.location = location
@@ -257,7 +288,7 @@ export class UnloadingWorksheetController extends VasWorksheetController {
257
288
  const packingSize: number = Boolean(arrivalNotice) ? targetProduct.packingSize : targetInventory.packingSize
258
289
  const batchId: string = Boolean(arrivalNotice) ? targetProduct.batchId : targetInventory.batchId
259
290
  let qty: number = 0
260
-
291
+ let uom: string = Boolean(arrivalNotice) ? targetProduct.uom : targetInventory.uom
261
292
  const cartonId: string = inventory.cartonId
262
293
  const orderId: string = Boolean(arrivalNotice) ? arrivalNotice.id : returnOrder.id
263
294
  await this.checkCartonDuplication(cartonId, orderId)
@@ -283,8 +314,14 @@ export class UnloadingWorksheetController extends VasWorksheetController {
283
314
  this.ERROR_MSG.FIND.NO_RESULT(`Packing Type ( ${packingType}) or Packing Size (${packingSize})`)
284
315
  )
285
316
 
317
+ if (arrivalNotice) {
318
+ uom = targetProduct.uom
319
+ } else {
320
+ uom = orderProductDetail.uom
321
+ }
286
322
  qty = await this.getChildQty(productDetails, productBarcode, orderProductDetail)
287
323
  } else {
324
+ uom = foundProductDetail.uom
288
325
  qty++
289
326
  }
290
327
 
@@ -313,7 +350,6 @@ export class UnloadingWorksheetController extends VasWorksheetController {
313
350
  let foundInventory: Inventory = await invQb.getOne()
314
351
 
315
352
  const batchIdRef: string = Boolean(arrivalNotice) ? targetProduct.batchIdRef : null
316
- const uom: string = Boolean(arrivalNotice) ? targetProduct.uom : targetInventory.uom
317
353
  const remark: string = Boolean(arrivalNotice) ? targetProduct.remark : targetInventory.remark
318
354
  const manufactureYear: number = Boolean(arrivalNotice) ? targetProduct.manufactureYear : null
319
355
  const location: Location = worksheet.bufferLocation
@@ -342,9 +378,14 @@ export class UnloadingWorksheetController extends VasWorksheetController {
342
378
  newInventory.uom = uom
343
379
  newInventory.remark = remark
344
380
  newInventory.qty = qty
345
- newInventory.uomValue = Boolean(arrivalNotice)
346
- ? Math.round(qty * targetProduct.uomValue * 100) / 100
347
- : targetInventory.returnUomValue
381
+ newInventory.uomValue =
382
+ Math.round(
383
+ qty *
384
+ (Boolean(arrivalNotice)
385
+ ? targetProduct.uomValue
386
+ : targetInventory.returnUomValue / targetInventory.returnQty) *
387
+ 100
388
+ ) / 100
348
389
  newInventory.manufactureYear = manufactureYear
349
390
  newInventory.refOrderId = orderId
350
391
  newInventory.unitCost = unitCost
@@ -368,17 +409,23 @@ export class UnloadingWorksheetController extends VasWorksheetController {
368
409
  targetProduct.actualPackQty = Boolean(targetProduct.actualPackQty) ? targetProduct.actualPackQty + qty : qty
369
410
  } else if (returnOrder) {
370
411
  targetInventory.actualPalletQty++
371
- targetInventory.actualPackQty += Boolean(targetInventory.actualPackQty)
412
+ targetInventory.actualPackQty = Boolean(targetInventory.actualPackQty)
372
413
  ? targetInventory.actualPackQty + qty
373
414
  : qty
374
415
  }
375
416
  await this.trxMgr.getRepository(Inventory).save(newInventory)
376
417
  } else {
377
418
  const updatedQty: number = foundInventory.qty + qty
419
+ foundInventory.expirationDate = new Date(foundInventory.expirationDate)
378
420
  foundInventory.qty = updatedQty
379
- foundInventory.uomValue = Boolean(arrivalNotice)
380
- ? Math.round(qty * targetProduct.uomValue * 100) / 100
381
- : targetInventory.returnUomValue
421
+ foundInventory.uomValue +=
422
+ Math.round(
423
+ qty *
424
+ (Boolean(arrivalNotice)
425
+ ? targetProduct.uomValue
426
+ : targetInventory.returnUomValue / targetInventory.returnQty) *
427
+ 100
428
+ ) / 100
382
429
  if (arrivalNotice) targetProduct.actualPackQty = targetProduct.actualPackQty + qty
383
430
  else if (returnOrder) targetInventory.actualPackQty = targetInventory.actualPackQty + qty
384
431
  await this.trxMgr.getRepository(Inventory).save(foundInventory)
@@ -499,6 +546,8 @@ export class UnloadingWorksheetController extends VasWorksheetController {
499
546
  let targetProduct: OrderProduct = worksheetDetail.targetProduct
500
547
  targetProduct.actualPackQty -= qty
501
548
  targetProduct.actualPalletQty--
549
+ targetProduct.remark = null
550
+ targetProduct.issue = null
502
551
  targetProduct.status = ORDER_PRODUCT_STATUS.UNLOADING
503
552
  targetProduct.updater = this.user
504
553
  await this.updateOrderTargets([targetProduct])
@@ -511,6 +560,7 @@ export class UnloadingWorksheetController extends VasWorksheetController {
511
560
  await this.updateOrderTargets([targetInventory])
512
561
  }
513
562
 
563
+ worksheetDetail.issue = null
514
564
  worksheetDetail.status = WORKSHEET_STATUS.EXECUTING
515
565
  worksheetDetail.updater = this.user
516
566
  await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetail)
@@ -595,19 +645,23 @@ export class UnloadingWorksheetController extends VasWorksheetController {
595
645
  targetInventory.updater = this.user
596
646
  }
597
647
 
598
- worksheetDetail.status = WORKSHEET_STATUS.EXECUTING
599
- worksheetDetail.updater = this.user
600
- await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetail)
601
-
602
648
  foundInventory.qty--
603
649
  foundInventory.uomValue =
604
650
  Math.round(
605
651
  foundInventory.qty * (Boolean(arrivalNotice) ? targetProduct.uomValue : targetInventory.returnUomValue) * 100
606
652
  ) / 100
607
653
  foundInventory.updater = this.user
654
+
655
+ worksheetDetail.issue = foundInventory.qty == 0 && worksheetDetail.issue ? null : worksheetDetail.issue
656
+ worksheetDetail.status = WORKSHEET_STATUS.EXECUTING
657
+ worksheetDetail.updater = this.user
658
+ await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetail)
659
+
608
660
  if (foundInventory.qty == 0) {
609
661
  if (arrivalNotice) {
610
662
  targetProduct.actualPalletQty--
663
+ targetProduct.issue = null
664
+ targetProduct.remark = null
611
665
  await this.updateOrderTargets([targetProduct])
612
666
  } else if (returnOrder) {
613
667
  targetInventory.actualPalletQty--
@@ -7,6 +7,7 @@ export * from './render-kimeda-grn'
7
7
  export * from './render-orientage-grn'
8
8
  export * from './render-orientage-do'
9
9
  export * from './render-seebuu-grn'
10
+ export * from './render-manifest'
10
11
 
11
12
  /* Worksheet Controllers */
12
13
  export * from './worksheet-controller'
@@ -34,6 +34,26 @@ export class LoadingWorksheetController extends VasWorksheetController {
34
34
  )
35
35
  }
36
36
 
37
+ async updateLoadingWorksheet(
38
+ releaseGoodNo: string,
39
+ targetInventories: Partial<OrderInventory>[],
40
+ worksheet: Worksheet
41
+ ): Promise<Worksheet> {
42
+ const releaseGood: ReleaseGood = await this.findRefOrder(
43
+ ReleaseGood,
44
+ { domain: this.domain, name: releaseGoodNo },
45
+ ['bizplace']
46
+ )
47
+ return await this.updateWorksheet(
48
+ WORKSHEET_TYPE.LOADING,
49
+ releaseGood,
50
+ worksheet,
51
+ targetInventories,
52
+ ORDER_STATUS.LOADING,
53
+ ORDER_INVENTORY_STATUS.LOADING
54
+ )
55
+ }
56
+
37
57
  async activateLoading(worksheetNo: string, loadingWorksheetDetails: Partial<WorksheetDetail>[]): Promise<Worksheet> {
38
58
  const worksheet: Worksheet = await this.findActivatableWorksheet(worksheetNo, WORKSHEET_TYPE.LOADING, [
39
59
  'releaseGood',
@@ -19,11 +19,9 @@ export class PackingWorksheetController extends VasWorksheetController {
19
19
  )
20
20
  const orderInventories: OrderInventory[] = releaseGood.orderInventories
21
21
 
22
- const existingPackingWorksheet: Worksheet = await this.trxMgr
23
- .getRepository(Worksheet)
24
- .findOne({
25
- where: { domain: this.domain, releaseGood, type: WORKSHEET_TYPE.PACKING, status: WORKSHEET_STATUS.DEACTIVATED }
26
- })
22
+ const existingPackingWorksheet: Worksheet = await this.trxMgr.getRepository(Worksheet).findOne({
23
+ where: { domain: this.domain, releaseGood, type: WORKSHEET_TYPE.PACKING, status: WORKSHEET_STATUS.DEACTIVATED }
24
+ })
27
25
 
28
26
  if (existingPackingWorksheet) throw new Error('There is existing packing worksheet that has been generated')
29
27
  let worksheet: Worksheet = await this.createWorksheet(releaseGood, WORKSHEET_TYPE.PACKING)