@things-factory/warehouse-base 4.3.135 → 4.3.140
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.
- package/dist-server/controllers/warehouse-controller.js.map +1 -1
- package/dist-server/service/inventory/inventory-query.js +64 -67
- package/dist-server/service/inventory/inventory-query.js.map +1 -1
- package/dist-server/service/inventory/inventory-types.js +16 -12
- package/dist-server/service/inventory/inventory-types.js.map +1 -1
- package/dist-server/service/inventory/inventory.js +4 -0
- package/dist-server/service/inventory/inventory.js.map +1 -1
- package/dist-server/service/inventory-change/inventory-change-mutation.js +7 -3
- package/dist-server/service/inventory-change/inventory-change-mutation.js.map +1 -1
- package/dist-server/service/inventory-history/inventory-history-query.js +14 -7
- package/dist-server/service/inventory-history/inventory-history-query.js.map +1 -1
- package/dist-server/service/inventory-item/inventory-item.js +8 -3
- package/dist-server/service/inventory-item/inventory-item.js.map +1 -1
- package/dist-server/service/inventory-product/inventory-product.js +8 -3
- package/dist-server/service/inventory-product/inventory-product.js.map +1 -1
- package/dist-server/service/location/location-mutation.js +3 -1
- package/dist-server/service/location/location-mutation.js.map +1 -1
- package/dist-server/service/pallet/pallet-mutation.js +35 -33
- package/dist-server/service/pallet/pallet-mutation.js.map +1 -1
- package/dist-server/service/tote/tote-mutation.js +1 -1
- package/dist-server/service/tote/tote-mutation.js.map +1 -1
- package/dist-server/service/tote/tote-query.js +4 -3
- package/dist-server/service/tote/tote-query.js.map +1 -1
- package/dist-server/service/warehouse/warehouse-mutation.js +30 -16
- package/dist-server/service/warehouse/warehouse-mutation.js.map +1 -1
- package/dist-server/utils/inventory-util.js +86 -25
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/package.json +9 -9
- package/server/controllers/warehouse-controller.ts +0 -1
- package/server/service/inventory/inventory-query.ts +77 -120
- package/server/service/inventory/inventory-types.ts +3 -0
- package/server/service/inventory/inventory.ts +3 -0
- package/server/service/inventory-change/inventory-change-mutation.ts +10 -5
- package/server/service/inventory-history/inventory-history-query.ts +16 -7
- package/server/service/inventory-item/inventory-item.ts +9 -2
- package/server/service/inventory-product/inventory-product.ts +5 -1
- package/server/service/location/location-mutation.ts +3 -1
- package/server/service/pallet/pallet-mutation.ts +50 -69
- package/server/service/tote/tote-mutation.ts +1 -1
- package/server/service/tote/tote-query.ts +6 -5
- package/server/service/warehouse/warehouse-mutation.ts +35 -18
- package/server/utils/inventory-util.ts +116 -51
- package/translations/en.json +4 -2
- package/translations/ko.json +4 -2
- package/translations/ms.json +4 -2
- package/translations/zh.json +14 -12
|
@@ -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":";;;AAAA,qCAAkE;AAIlE,+DAAsD;AAGtD,4CAA2G;AAC3G,wCAAkE;AAClE,oCAA+C;AAE/C,MAAa,aAAa;IAKxB,YAAY,MAAqB,EAAE,MAAc,EAAE,IAAU;QAM7C,cAAS,GAAG;YAC1B,IAAI,EAAE;gBACJ,SAAS,EAAE,CAAC,SAAc,EAAE,EAAE,CAAC,6CAA6C,SAAS,EAAE;gBACvF,eAAe,EAAE,CAAC,SAAc,EAAE,EAAE,CAAC,kDAAkD,SAAS,EAAE;gBAClG,SAAS,EAAE,CAAC,MAAW,EAAE,MAAW,EAAE,EAAE,CAAC,2BAA2B,MAAM,UAAU,MAAM,EAAE;aAC7F;YACD,UAAU,EAAE;gBACV,kBAAkB,EAAE,CAAC,SAAc,EAAE,UAAe,EAAE,EAAE,CACtD,qBAAqB,SAAS,KAAK,UAAU,4BAA4B;gBAC3E,UAAU,EAAE,CAAC,SAAc,EAAE,UAAe,EAAE,UAAe,EAAE,EAAE,CAC/D,kCAAkC,SAAS,KAAK,UAAU,KAAK,UAAU,GAAG;aAC/E;YACD,OAAO,EAAE;gBACP,kBAAkB,EAAE,CAAC,SAAc,EAAE,UAAe,EAAE,EAAE,CACtD,sEAAsE,SAAS,KAAK,UAAU,GAAG;gBACnG,iBAAiB,EAAE,CAAC,SAAc,EAAE,UAAe,EAAE,UAAe,EAAE,EAAE,CACtE,qBAAqB,SAAS,SAAS,UAAU,IAAI,UAAU,6BAA6B;aAC/F;YACD,MAAM,EAAE;gBACN,SAAS,EAAE,uBAAuB;gBAClC,aAAa,EAAE,+BAA+B;gBAC9C,aAAa,EAAE,+BAA+B;aAC/C;YACD,MAAM,EAAE;gBACN,aAAa,EAAE,wBAAwB;gBACvC,aAAa,EAAE,+BAA+B;aAC/C;YACD,QAAQ,EAAE;gBACR,sBAAsB,EAAE,CAAC,KAAa,EAAE,aAAkB,EAAE,WAAgB,EAAE,EAAE,CAC9E,YAAY,KAAK,aAAa,aAAa,YAAY,WAAW,EAAE;gBACtE,UAAU,EAAE,CAAC,KAAa,EAAE,KAAU,EAAE,EAAE,CAAC,uBAAuB,KAAK,WAAW,KAAK,GAAG;gBAC1F,oBAAoB,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE,CAAC,oBAAoB,IAAI,YAAY,MAAM,EAAE;aACrG;SACF,CAAA;QAtCC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAqCD,KAAK,CAAC,eAAe,CAAC,SAA6B;QACjD,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACpC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,SAA6B;QACjD,IAAI,CAAC,SAAS,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACvE,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACpC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CACxB,SAAoB,EACpB,QAAa,EACb,UAAkB,EAClB,UAAkB,EAClB,eAAuB;QAEvB,IAAI,SAAS,CAAC,EAAE,EAAE;YAChB,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;SAClD;aAAM;YACL,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;SAClD;QAED,MAAM,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEpH,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,MAA2B;QAClC,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC/C,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAC7D,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAE/C,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAnGD,sCAmGC;AAED;;;GAGG;AACI,KAAK,UAAU,wBAAwB,CAC5C,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,0BAAgB,CAAC,KAAI,IAAA,uBAAa,EAAC,0BAAgB,CAAC,CAAA;IAC5E,MAAM,OAAO,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,mBAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,mBAAS,CAAC,CAAA;IAEnG,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAA;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IAEtE,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;QAChC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE;QAC3B,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC;KACvF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAW,SAAS,CAAC,MAAM,CAAA;IACvC,MAAM,QAAQ,GAAa,SAAS,CAAC,QAAQ,CAAA;IAE7C,MAAM,cAAc,GAAqB,MAAM,cAAc,CAAC,OAAO,CAAC;QACpE,KAAK,EAAE;YACL,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;SAC7B;QACD,KAAK,EAAE;YACL,GAAG,EAAE,MAAM;SACZ;KACF,CAAC,CAAA;IAEF,IAAI,OAAe,CAAA;IACnB,IAAI,GAAQ,CAAA;IACZ,IAAI,sBAAsB,GAAQ;QAChC,UAAU,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,KAAI,IAAI;QAChC,OAAO,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,KAAI,IAAI;QAC/B,UAAU,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,KAAI,IAAI;QACnC,GAAG,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG;QAEnB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM;QACzB,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;QAC7B,cAAc,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc;QACzC,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO;QAC3B,aAAa,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa;QACvC,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS;QAC/B,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;QAE7B,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;QAC7B,OAAO,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO;QAC3B,IAAI,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI;QACrB,WAAW,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW;QACnC,WAAW,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW;QACnC,cAAc,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc;QACzC,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;QAC7B,UAAU,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU;QACjC,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;QAC7B,eAAe,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,eAAe;QAC3C,WAAW,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW;QACnC,eAAe,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,eAAe;QAC3C,MAAM,EAAE,SAAS,CAAC,MAAM;KACzB,CAAA;IAED,IAAI,CAAC,cAAc,EAAE;QACnB,GAAG,GAAG,MAAM,cAAc;aACvB,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,IAAI,CAAC,0BAAgB,CAAC;aACtB,MAAM,CAAC;4CAED,sBAAsB,KACzB,IAAI,EAAE,4BAAoB,CAAC,oBAAoB,EAAE,EACjD,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,eAAe;gBACf,GAAG,EACH,UAAU,EAAE,CAAC,EACb,QAAQ,EACR,eAAe,EAAE,CAAC,EAClB,GAAG,EAAE,CAAC;SAET,CAAC;aACD,SAAS,CAAC,GAAG,CAAC;aACd,OAAO,EAAE,CAAA;KACb;SAAM;QACL,IAAI,eAAe,IAAI,SAAS,IAAI,eAAe,IAAI,WAAW,EAAE;YAClE,MAAM,oBAAoB,GAAuB,MAAM,cAAc,CAAC,IAAI,CAAC;gBACzE,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,UAAU,EAAE,QAAQ,CAAC,EAAE;aACxB,CAAC,CAAA;YAEF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,IAAI,YAAY,GAAG,CAAC,CAAA;gBACpB,IAAI,iBAAiB,GAAG,CAAC,CAAA;gBACzB,KAAK,IAAI,EAAE,IAAI,oBAAoB,EAAE;oBACnC,YAAY,IAAI,EAAE,CAAC,GAAG,CAAA;oBACtB,iBAAiB,IAAI,EAAE,CAAC,QAAQ,CAAA;iBACjC;gBACD,GAAG,IAAI,YAAY,CAAA;gBACnB,QAAQ,IAAI,iBAAiB,CAAA;aAC9B;SACF;QAED,GAAG,GAAG,MAAM,cAAc;aACvB,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,IAAI,CAAC,0BAAgB,CAAC;aACtB,MAAM,CAAC;4CAED,sBAAsB,KACzB,IAAI,EAAE,4BAAoB,CAAC,oBAAoB,EAAE,EACjD,eAAe;gBACf,GAAG,EACH,UAAU,EAAE,GAAG,EAAE,CACf,mEAAmE,SAAS,CAAC,QAAQ,sBAAsB,MAAM,CAAC,EAAE,0FAA0F,SAAS,CAAC,QAAQ,sBAAsB,MAAM,CAAC,EAAE,8BAA8B,EAC/R,QAAQ,EACR,eAAe,EAAE,GAAG,EAAE,CACpB,yEAAyE,SAAS,CAAC,QAAQ,sBAAsB,MAAM,CAAC,EAAE,gGAAgG,SAAS,CAAC,QAAQ,sBAAsB,MAAM,CAAC,EAAE,8BAA8B,EAC3S,GAAG,EAAE,GAAG,EAAE,CACR,2DAA2D,SAAS,CAAC,QAAQ,sBAAsB,MAAM,CAAC,EAAE,kCAAkC;SAEnJ,CAAC;aACD,SAAS,CAAC,GAAG,CAAC;aACd,OAAO,EAAE,CAAA;KACb;IAED,IAAI,mBAAmB,GAAqB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IAChE,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAA;IAEjC,IAAI,mBAAmB,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,IAAI,eAAe,IAAI,gBAAgB,EAAE;QACpF,IAAI,aAAa,GAAG,MAAM,cAAc;aACrC,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,IAAI,CAAC,0BAAgB,CAAC;aACtB,MAAM,CAAC;4CAED,sBAAsB,KACzB,IAAI,EAAE,4BAAoB,CAAC,oBAAoB,EAAE,EACjD,MAAM,EAAE,4BAAgB,CAAC,UAAU,EACnC,eAAe,EAAE,sCAA0B,CAAC,UAAU,EACtD,GAAG,EAAE,CAAC,EACN,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,eAAe,EAAE,CAAC,EAClB,GAAG,EAAE,GAAG,EAAE,CACR,8DAA8D,SAAS,CAAC,EAAE,kCAAkC;SAEjH,CAAC;aACD,SAAS,CAAC,KAAK,CAAC;aAChB,OAAO,EAAE,CAAA;QAEZ,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAC5C,SAAS,CAAC,MAAM,GAAG,4BAAgB,CAAC,UAAU,CAAA;KAC/C;IAED,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAE9D,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAC1D,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAnKD,4DAmKC;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,mBAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,mBAAS,CAAC,CAAA;IACnG,MAAM,YAAY,GAAyB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,kBAAQ,CAAC,KAAI,IAAA,uBAAa,EAAC,kBAAQ,CAAC,CAAA;IACrG,MAAM,iBAAiB,GAAW,MAAM,OAAO,CAAC,KAAK,CAAC;QACpD,MAAM;QACN,MAAM,EAAE,4BAAgB,CAAC,MAAM;QAC/B,QAAQ;KACT,CAAC,CAAA;IAEF,IAAI,CAAC,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,2BAAe,CAAC,KAAK,EAAE;QACnE,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,iCAC7B,QAAQ,KACX,MAAM,EAAE,2BAAe,CAAC,KAAK,EAC7B,OAAO,IACP,CAAA;KACH;SAAM,IAAI,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,2BAAe,CAAC,KAAK,EAAE;QACzE,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,iCAC7B,QAAQ,KACX,MAAM,EAAE,2BAAe,CAAC,QAAQ,EAChC,OAAO,IACP,CAAA;KACH;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AA7BD,oDA6BC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,QAAkB,EAClB,QAAgB,EAChB,MAAsB;IAEtB,MAAM,OAAO,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,mBAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,mBAAS,CAAC,CAAA;IACnG,MAAM,mBAAmB,GAAW,MAAM,OAAO,CAAC,KAAK,CAAC;QACtD,MAAM;QACN,QAAQ;QACR,QAAQ;KACT,CAAC,CAAA;IAEF,OAAO,OAAO,CAAC,mBAAmB,CAAC,CAAA;AACrC,CAAC;AAdD,wDAcC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,wBAAwB,CAC5C,MAAc,EACd,QAAkB,EAClB,QAAgB,EAChB,OAAe,EACf,OAAyB,EACzB,WAAmB,EACnB,MAAsB;;IAEtB,MAAM,WAAW,GAAwB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,sBAAO,CAAC,KAAI,IAAA,uBAAa,EAAC,sBAAO,CAAC,CAAA;IACjG,MAAM,OAAO,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,mBAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,mBAAS,CAAC,CAAA;IAEnG,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,MAAM,YAAY,GAAY,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAChE,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAA;QAC5E,OAAO,GAAG,YAAY,CAAA;KACvB;IAED,MAAM,GAAG,GAAc,MAAM,OAAO,CAAC,OAAO,CAAC;QAC3C,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;QACrC,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB,CAAC,CAAA;IAEF,IAAI,OAAO,KAAK,GAAG,CAAC,OAAO;QAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,gCAAgC,OAAO,EAAE,EAAE,CAAA;IAErH,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,OAAK,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,0CAAE,EAAE,CAAA;QAClC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,+BAA+B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAA;IAE9F,IAAI,WAAW,KAAK,GAAG,CAAC,WAAW;QACjC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,oCAAoC,WAAW,EAAE,EAAE,CAAA;IAElG,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;AAChC,CAAC;AAhCD,4DAgCC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,kBAA0B,EAC1B,aAAoB,EACpB,MAAqB;IAErB,IAAI,iBAAiB,GAAG,IAAI,CAAC,SAAS,CACpC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACtB,uCACK,GAAG,KACN,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAC1B,YAAY,EAAE,GAAG,CAAC,WAAW,EAC7B,YAAY,EAAE,GAAG,CAAC,WAAW,EAC7B,GAAG,EAAE,GAAG,CAAC,GAAG,IACb;IACH,CAAC,CAAC,IAAI,EAAE,CACT,CAAA;IAED,MAAM,MAAM,GAAU,MAAM,MAAM,CAAC,KAAK,CACtC;;;;;;;;+DAQ2D,iBAAiB;;;;;;;;;;;;;KAa3E,EACD,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CACnC,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AA7CD,8DA6CC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,wBAAwB,CAC5C,QAAgB,EAChB,UAAkB,EAClB,WAAmB,EACnB,aAAoB,EACpB,oBAA2B,EAC3B,MAAqB;IAErB,IAAI,iBAAiB,GAAW,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;IAC7D,IAAI,eAAe,GAAW,CAAC,oBAAoB,IAAI,EAAE,CAAC;SACvD,GAAG,CAAC,CAAC,IAA0C,EAAE,EAAE;QAClD,OAAO,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACxD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,IAAI,eAAe,KAAK,EAAE;QAAE,eAAe,GAAG,QAAQ,CAAA;IAEtD,MAAM,MAAM,CAAC,KAAK,CAChB;;;;;;;;;;;GAWD,CACA,CAAA;IAED,MAAM,MAAM,CAAC,KAAK,CAChB;;;;GAID,EACC,CAAC,iBAAiB,CAAC,CACpB,CAAA;IAED,MAAM,MAAM,CAAC,KAAK,CAChB;;;;;;;;;;GAUD,EACC,CAAC,UAAU,EAAE,WAAW,CAAC,CAC1B,CAAA;IAED,kBAAkB;IAClB,IAAI,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CAClC;;;;;;;;;;;;;;;;;;UAkBM,eAAe;;;;;;;;;;;;;;GActB,EACC,CAAC,yBAAa,CAAC,UAAU,EAAE,yBAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,4BAAgB,CAAC,MAAM,CAAC,CACjG,CAAA;IAED,MAAM,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAElD,OAAO,WAAW,CAAA;AACpB,CAAC;AAjGD,4DAiGC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/warehouse-base",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.140",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -23,13 +23,13 @@
|
|
|
23
23
|
"migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@things-factory/biz-base": "^4.3.
|
|
27
|
-
"@things-factory/id-rule-base": "^4.3.
|
|
28
|
-
"@things-factory/integration-accounting": "^4.3.
|
|
29
|
-
"@things-factory/integration-sellercraft": "^4.3.
|
|
30
|
-
"@things-factory/marketplace-base": "^4.3.
|
|
31
|
-
"@things-factory/product-base": "^4.3.
|
|
32
|
-
"@things-factory/setting-base": "^4.3.
|
|
26
|
+
"@things-factory/biz-base": "^4.3.138",
|
|
27
|
+
"@things-factory/id-rule-base": "^4.3.138",
|
|
28
|
+
"@things-factory/integration-accounting": "^4.3.138",
|
|
29
|
+
"@things-factory/integration-sellercraft": "^4.3.138",
|
|
30
|
+
"@things-factory/marketplace-base": "^4.3.138",
|
|
31
|
+
"@things-factory/product-base": "^4.3.138",
|
|
32
|
+
"@things-factory/setting-base": "^4.3.138"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "7d85b28f96c10d64b9ed1f9041a9c687de22fbe6"
|
|
35
35
|
}
|
|
@@ -2,7 +2,6 @@ import { EntityManager } from 'typeorm'
|
|
|
2
2
|
|
|
3
3
|
import { Role, User } from '@things-factory/auth-base'
|
|
4
4
|
import { Bizplace, getDomainUsers } from '@things-factory/biz-base'
|
|
5
|
-
import { sendNotification } from '@things-factory/notification'
|
|
6
5
|
import { ProductDetail } from '@things-factory/product-base'
|
|
7
6
|
import { Domain } from '@things-factory/shell'
|
|
8
7
|
|
|
@@ -1,55 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
Args,
|
|
4
|
-
Ctx,
|
|
5
|
-
Directive,
|
|
6
|
-
FieldResolver,
|
|
7
|
-
Query,
|
|
8
|
-
Resolver,
|
|
9
|
-
Root
|
|
10
|
-
} from 'type-graphql'
|
|
11
|
-
import {
|
|
12
|
-
Brackets,
|
|
13
|
-
EntityManager,
|
|
14
|
-
Equal,
|
|
15
|
-
getRepository,
|
|
16
|
-
Not,
|
|
17
|
-
Repository,
|
|
18
|
-
SelectQueryBuilder
|
|
19
|
-
} from 'typeorm'
|
|
1
|
+
import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
|
|
2
|
+
import { Brackets, EntityManager, Equal, getRepository, Not, Repository, SelectQueryBuilder } from 'typeorm'
|
|
20
3
|
|
|
21
4
|
import { User } from '@things-factory/auth-base'
|
|
22
|
-
import {
|
|
23
|
-
Bizplace,
|
|
24
|
-
getPartnersCompanyBizplaces,
|
|
25
|
-
getPermittedBizplaceIds
|
|
26
|
-
} from '@things-factory/biz-base'
|
|
5
|
+
import { Bizplace, getPartnersCompanyBizplaces, getPermittedBizplaceIds } from '@things-factory/biz-base'
|
|
27
6
|
import { logger } from '@things-factory/env'
|
|
28
|
-
import {
|
|
29
|
-
Product,
|
|
30
|
-
ProductBundleSetting,
|
|
31
|
-
ProductDetail
|
|
32
|
-
} from '@things-factory/product-base'
|
|
7
|
+
import { Product, ProductBundleSetting, ProductDetail } from '@things-factory/product-base'
|
|
33
8
|
import { Setting } from '@things-factory/setting-base'
|
|
34
|
-
import {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
Filter,
|
|
38
|
-
ListParam,
|
|
39
|
-
Pagination,
|
|
40
|
-
Sorting
|
|
41
|
-
} from '@things-factory/shell'
|
|
42
|
-
|
|
43
|
-
import {
|
|
44
|
-
INVENTORY_STATUS,
|
|
45
|
-
LOCATION_TYPE
|
|
46
|
-
} from '../../constants'
|
|
9
|
+
import { buildQuery, Domain, Filter, ListParam, Pagination, Sorting } from '@things-factory/shell'
|
|
10
|
+
|
|
11
|
+
import { INVENTORY_STATUS, LOCATION_TYPE } from '../../constants'
|
|
47
12
|
import { InventoryChange } from '../inventory-change/inventory-change'
|
|
48
13
|
import { Inventory } from './inventory'
|
|
49
|
-
import {
|
|
50
|
-
InventoryBundleGroupDetail,
|
|
51
|
-
InventoryList
|
|
52
|
-
} from './inventory-types'
|
|
14
|
+
import { InventoryBundleGroupDetail, InventoryList } from './inventory-types'
|
|
53
15
|
|
|
54
16
|
@Resolver(Inventory)
|
|
55
17
|
export class InventoryQuery {
|
|
@@ -104,7 +66,12 @@ export class InventoryQuery {
|
|
|
104
66
|
|
|
105
67
|
qb.leftJoinAndSelect('inventory.bizplace', 'bizplace')
|
|
106
68
|
.leftJoinAndSelect('inventory.product', 'product')
|
|
107
|
-
|
|
69
|
+
.leftJoinAndSelect('inventory.productDetail', 'productDetail')
|
|
70
|
+
.leftJoinAndSelect(
|
|
71
|
+
'product.productDetails',
|
|
72
|
+
'productDetails',
|
|
73
|
+
'productDetails.id = inventory.product_detail_id'
|
|
74
|
+
)
|
|
108
75
|
.leftJoinAndSelect('inventory.warehouse', 'warehouse')
|
|
109
76
|
.leftJoinAndSelect('inventory.location', 'location')
|
|
110
77
|
.leftJoinAndSelect('inventory.creator', 'creator')
|
|
@@ -184,36 +151,17 @@ export class InventoryQuery {
|
|
|
184
151
|
qb.offset((page - 1) * limit).limit(limit)
|
|
185
152
|
}
|
|
186
153
|
|
|
187
|
-
let items
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
productDetail = productDetails.filter(
|
|
196
|
-
(itm: ProductDetail) =>
|
|
197
|
-
itm.packingType == item.inventory_packing_type && itm.packingSize == item.inventory_packing_size
|
|
198
|
-
)
|
|
199
|
-
|
|
200
|
-
//if more than one with same packingType and packingSize
|
|
201
|
-
if (productDetail.length > 1) {
|
|
202
|
-
productDetail = productDetail.find((itm: ProductDetail) => itm.isDefault == true)
|
|
203
|
-
} else {
|
|
204
|
-
productDetail = productDetail[0]
|
|
205
|
-
}
|
|
206
|
-
} else {
|
|
207
|
-
productDetail = productDetails[0]
|
|
208
|
-
}
|
|
209
|
-
item = {
|
|
210
|
-
...new Inventory(item),
|
|
211
|
-
serialNumbers: item.serial_numbers,
|
|
212
|
-
productDetail
|
|
154
|
+
let items = (await qb.getRawMany()).map(item => {
|
|
155
|
+
return {
|
|
156
|
+
...new Inventory(item),
|
|
157
|
+
serialNumbers: item.serial_numbers,
|
|
158
|
+
productDetail: {
|
|
159
|
+
id: item.productDetail_id,
|
|
160
|
+
name: item.productDetail_name,
|
|
161
|
+
gtin: item.productDetail_gtin
|
|
213
162
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
)
|
|
163
|
+
}
|
|
164
|
+
})
|
|
217
165
|
let total = await qb.getCount()
|
|
218
166
|
|
|
219
167
|
return {
|
|
@@ -269,6 +217,7 @@ export class InventoryQuery {
|
|
|
269
217
|
let quarantineStockFilter = params.filters.find(filter => filter.name == 'quarantineStock')
|
|
270
218
|
let reserveStockFilter = params.filters.find(filter => filter.name == 'reserveStock')
|
|
271
219
|
let productTypeFilter = params.filters.find(filter => filter.name == 'type')
|
|
220
|
+
let expirationDateFilter = params.filters.find(filter => filter.name == 'expirationDate')
|
|
272
221
|
|
|
273
222
|
if (bizplaceFilter) {
|
|
274
223
|
const bizplaceQueryBuilder: SelectQueryBuilder<Bizplace> = getRepository(Bizplace).createQueryBuilder('b')
|
|
@@ -406,6 +355,7 @@ export class InventoryQuery {
|
|
|
406
355
|
// [domain.id]
|
|
407
356
|
// )
|
|
408
357
|
|
|
358
|
+
// correction on the as --> AS
|
|
409
359
|
await tx.query(
|
|
410
360
|
`
|
|
411
361
|
create temp table temp_inv_history AS
|
|
@@ -419,15 +369,15 @@ export class InventoryQuery {
|
|
|
419
369
|
COALESCE("ProductDetailBizplaceSetting"."max_qty", "Product"."max_qty",0) AS "maxQty",
|
|
420
370
|
COALESCE(putawayinv.putaway_qty, 0) AS "putawayQty",
|
|
421
371
|
(CASE WHEN "Location"."type" NOT IN ('${LOCATION_TYPE.QUARANTINE}','${LOCATION_TYPE.RESERVE}')
|
|
422
|
-
|
|
372
|
+
THEN
|
|
423
373
|
CASE WHEN SUM("Inventory"."qty") > 0
|
|
424
374
|
THEN SUM("Inventory"."qty")
|
|
425
375
|
ELSE 0 END
|
|
426
376
|
ELSE 0 END) AS "qty",
|
|
427
377
|
(CASE WHEN "Location"."type" NOT IN ('${LOCATION_TYPE.QUARANTINE}','${LOCATION_TYPE.RESERVE}')
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
378
|
+
THEN
|
|
379
|
+
CASE WHEN SUM("Inventory"."qty") > 0 THEN SUM("Inventory"."qty") ELSE 0 END - SUM(COALESCE("Inventory"."locked_qty", 0)) - COALESCE("opd"."total_release_qty", 0)
|
|
380
|
+
ELSE 0 END) AS "availableQty",
|
|
431
381
|
(CASE WHEN "Location"."type" NOT IN ('${LOCATION_TYPE.QUARANTINE}','${LOCATION_TYPE.RESERVE}')
|
|
432
382
|
THEN SUM(COALESCE("Inventory"."locked_qty", 0)) ELSE 0 END) AS "releaseQty",
|
|
433
383
|
CASE WHEN "Location"."type" = '${LOCATION_TYPE.QUARANTINE}'
|
|
@@ -458,12 +408,12 @@ export class InventoryQuery {
|
|
|
458
408
|
select "op"."product_id", COALESCE(SUM("op"."release_qty")) as "total_release_qty",
|
|
459
409
|
"op"."packing_type", "op"."packing_size", "op"."uom"
|
|
460
410
|
from "order_products" op
|
|
461
|
-
INNER JOIN "draft_release_goods" drg
|
|
411
|
+
INNER JOIN "draft_release_goods" drg ON drg.id = op.draft_release_good_id
|
|
462
412
|
WHERE "drg"."status" = 'DRAFT'
|
|
463
413
|
AND "op"."draft_release_good_id" IS NOT null
|
|
464
414
|
AND "drg"."domain_id" = $1
|
|
465
|
-
|
|
466
|
-
)
|
|
415
|
+
GROUP BY "op"."product_id","op"."packing_type" ,"op"."packing_size", "op"."uom"
|
|
416
|
+
) AS "opd"
|
|
467
417
|
ON "Inventory"."product_id" = "opd"."product_id" AND "Inventory"."packing_type" = "opd"."packing_type"
|
|
468
418
|
AND "Inventory"."packing_size" = "opd"."packing_size"
|
|
469
419
|
AND "Inventory"."uom" = "opd"."uom"
|
|
@@ -472,18 +422,18 @@ export class InventoryQuery {
|
|
|
472
422
|
SELECT sum(i.qty) as "putaway_qty", i.product_id, i.packing_type, i.packing_size, i.uom FROM "inventories" i
|
|
473
423
|
WHERE i.status = 'PUTTING_AWAY' and i.domain_id = $1
|
|
474
424
|
GROUP BY i.product_id, i.packing_type, i.packing_size, i.uom
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
425
|
+
) as "putawayinv" ON "Inventory"."product_id" = "putawayinv"."product_id" AND "Inventory"."packing_type" = "putawayinv"."packing_type"
|
|
426
|
+
AND "Inventory"."packing_size" = "putawayinv"."packing_size"
|
|
427
|
+
AND "Inventory"."uom" = "putawayinv"."uom"
|
|
428
|
+
INNER JOIN "bizplaces" "Bizplace" ON "Bizplace"."id"="Inventory"."bizplace_id"
|
|
429
|
+
INNER JOIN "locations" "Location" ON "Location"."id" = "Inventory"."location_id"
|
|
430
|
+
WHERE "Inventory"."qty" >= 0
|
|
431
|
+
AND "Inventory"."status" <> 'MISSING' AND "Inventory"."status" <> 'PUTTING_AWAY'
|
|
482
432
|
AND "Inventory"."domain_id" = $1
|
|
483
433
|
${bizplaceQuery}
|
|
484
434
|
${productQuery}
|
|
485
|
-
GROUP BY "Product"."id",
|
|
486
|
-
, "Inventory"."packing_type", "Inventory"."packing_size", "Inventory"."uom"
|
|
435
|
+
GROUP BY "Product"."id","Bizplace"."id", "ProductDetailBizplaceSetting"."id"
|
|
436
|
+
, "Inventory"."packing_type", "Inventory"."packing_size", "Inventory"."uom"
|
|
487
437
|
, "Location"."type", "ProductRef"."id", "opd"."total_release_qty", "putawayinv"."putaway_qty"
|
|
488
438
|
HAVING 1 = 1
|
|
489
439
|
${availableStockQuery}
|
|
@@ -493,21 +443,21 @@ export class InventoryQuery {
|
|
|
493
443
|
|
|
494
444
|
await tx.query(
|
|
495
445
|
`
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
446
|
+
CREATE TEMP TABLE grouped_inventories_product AS (
|
|
447
|
+
SELECT "id", "sku", "brand", "name", "description",
|
|
448
|
+
"packingType", "bizplaceId", "bizplaceName", sum("averageUnitCost") AS "averageUnitCost",
|
|
449
|
+
sum("minQty") AS "minQty", sum("maxQty") AS "maxQty",
|
|
450
|
+
sum("putawayQty") AS "putawayQty",
|
|
451
|
+
sum("qty") AS "qty",
|
|
452
|
+
sum("quarantineQty") AS "quarantineQty",
|
|
453
|
+
sum("reserveQty") AS "reserveQty",
|
|
454
|
+
sum("releaseQty") AS "releaseQty",
|
|
455
|
+
sum("draftQty") AS "draftQty",
|
|
456
|
+
sum("availableQty") AS "availableQty",
|
|
457
|
+
sum("putawayQty" + "quarantineQty" + "reserveQty" + "availableQty") AS "warehouseQty"
|
|
458
|
+
FROM temp_inv_history
|
|
459
|
+
GROUP BY "id", "sku", "brand", "name", "description", "packingType", "bizplaceId", "bizplaceName"
|
|
460
|
+
HAVING 1=1
|
|
511
461
|
${qtyStockQuery}
|
|
512
462
|
${thresholdQuery}
|
|
513
463
|
)
|
|
@@ -672,23 +622,27 @@ export class InventoryQuery {
|
|
|
672
622
|
@Arg('bizplaceName') bizplaceName: string,
|
|
673
623
|
@Ctx() context: any
|
|
674
624
|
): Promise<Boolean> {
|
|
675
|
-
|
|
676
|
-
|
|
625
|
+
try {
|
|
626
|
+
const invRepo: Repository<Inventory> = getRepository(Inventory)
|
|
627
|
+
const bizRepo: Repository<Bizplace> = getRepository(Bizplace)
|
|
677
628
|
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
629
|
+
const inventory: Inventory = await invRepo.findOne({
|
|
630
|
+
where: { domain: context.state.domain, palletId, status: INVENTORY_STATUS.STORED },
|
|
631
|
+
relations: ['bizplace']
|
|
632
|
+
})
|
|
682
633
|
|
|
683
|
-
|
|
634
|
+
if (!inventory) throw new Error('This inventory status is not stored.')
|
|
684
635
|
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
636
|
+
const ownerBizplace: Bizplace = await bizRepo.findOne({
|
|
637
|
+
where: { name: bizplaceName }
|
|
638
|
+
})
|
|
688
639
|
|
|
689
|
-
|
|
640
|
+
const foundBizplace: Bizplace = inventory.bizplace
|
|
690
641
|
|
|
691
|
-
|
|
642
|
+
return Boolean(ownerBizplace.id === foundBizplace.id)
|
|
643
|
+
} catch (e) {
|
|
644
|
+
return false
|
|
645
|
+
}
|
|
692
646
|
}
|
|
693
647
|
|
|
694
648
|
@Directive('@privilege(category: "inventory", privilege: "query")')
|
|
@@ -748,7 +702,7 @@ export class InventoryQuery {
|
|
|
748
702
|
|
|
749
703
|
const productBundleSettings: ProductBundleSetting[] = await getRepository(ProductBundleSetting).find({
|
|
750
704
|
where: { productBundle: productBundleId },
|
|
751
|
-
relations: ['product', 'productBundle']
|
|
705
|
+
relations: ['product', 'productDetail', 'productBundle']
|
|
752
706
|
})
|
|
753
707
|
|
|
754
708
|
if (!productBundleSettings.length) {
|
|
@@ -759,6 +713,7 @@ export class InventoryQuery {
|
|
|
759
713
|
buildQuery(qb, params, context)
|
|
760
714
|
|
|
761
715
|
qb.select('iv.product_id', 'productId')
|
|
716
|
+
.addSelect('iv.product_detail_id', 'productDetailId')
|
|
762
717
|
.addSelect('iv.batch_id', 'batchId')
|
|
763
718
|
.addSelect('iv.batch_id_ref', 'batchIdRef')
|
|
764
719
|
.addSelect('iv.packing_type', 'packingType')
|
|
@@ -787,6 +742,7 @@ export class InventoryQuery {
|
|
|
787
742
|
productIds: productBundleSettings.map(productBundle => productBundle.product.id)
|
|
788
743
|
})
|
|
789
744
|
.groupBy('iv.product_id')
|
|
745
|
+
.addGroupBy('iv.product_detail_id')
|
|
790
746
|
.addGroupBy('iv.batch_id')
|
|
791
747
|
.addGroupBy('iv.batch_id_ref')
|
|
792
748
|
.addGroupBy('iv.packing_type')
|
|
@@ -815,6 +771,7 @@ export class InventoryQuery {
|
|
|
815
771
|
return {
|
|
816
772
|
id: pbs.id,
|
|
817
773
|
productId: pbs.product.id,
|
|
774
|
+
productDetailId: pbs.productDetail.id,
|
|
818
775
|
bundleId: pbs.productBundle.id,
|
|
819
776
|
bundleQty: pbs.bundleQty,
|
|
820
777
|
releaseQty: bundleReleaseQty * pbs.bundleQty,
|
|
@@ -7,7 +7,7 @@ import { generateId } from '@things-factory/id-rule-base'
|
|
|
7
7
|
import { Account } from '@things-factory/integration-accounting'
|
|
8
8
|
import { MarketplaceStore } from '@things-factory/integration-marketplace'
|
|
9
9
|
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
10
|
-
import { Product } from '@things-factory/product-base'
|
|
10
|
+
import { Product, ProductDetail } from '@things-factory/product-base'
|
|
11
11
|
import { PartnerSetting, Setting } from '@things-factory/setting-base'
|
|
12
12
|
import { Domain } from '@things-factory/shell'
|
|
13
13
|
|
|
@@ -215,7 +215,9 @@ export class InventoryChangeMutation {
|
|
|
215
215
|
newRecord.bizplace = bizplace
|
|
216
216
|
|
|
217
217
|
var product: Product = await tx.getRepository(Product).findOne(newRecord.product.id)
|
|
218
|
+
var productDetail: ProductDetail = await tx.getRepository(ProductDetail).findOne(newRecord.productDetailId)
|
|
218
219
|
newRecord.product = product
|
|
220
|
+
newRecord.productDetail = productDetail
|
|
219
221
|
|
|
220
222
|
newRecord.status = 'PENDING'
|
|
221
223
|
newRecord.transactionType = 'NEW'
|
|
@@ -589,6 +591,7 @@ async function upsertInventoryItems(context, inventoryChange, approvalStatus, tx
|
|
|
589
591
|
inventoryItem.serialNumber = inventoryItemChange.serialNumber
|
|
590
592
|
inventoryItem.status = INVENTORY_STATUS.STORED
|
|
591
593
|
inventoryItem.product = inventoryChange.inventory.product
|
|
594
|
+
inventoryItem.productDetail = inventoryChange.inventory.productDetail
|
|
592
595
|
inventoryItem.domain = inventoryItemChange.domain
|
|
593
596
|
inventoryItem.inventory = inventoryChange.inventory
|
|
594
597
|
inventoryItem.source = INVENTORY_ITEM_SOURCE.ADJUSTMENT
|
|
@@ -608,7 +611,8 @@ async function upsertInventoryItems(context, inventoryChange, approvalStatus, tx
|
|
|
608
611
|
inventoryItem = {
|
|
609
612
|
...existingInventoryItem,
|
|
610
613
|
serialNumber: inventoryItemChange.serialNumber,
|
|
611
|
-
product: inventoryItemChange.inventory.product
|
|
614
|
+
product: inventoryItemChange.inventory.product,
|
|
615
|
+
productDetail: inventoryItemChange.inventory.productDetail
|
|
612
616
|
}
|
|
613
617
|
} else if (changeType == INVENTORY_ITEM_CHANGE_TYPE.REMOVED) {
|
|
614
618
|
inventoryItem = {
|
|
@@ -645,6 +649,7 @@ export async function approveInventoryChanges(patches: any, context: any) {
|
|
|
645
649
|
'bizplace.company',
|
|
646
650
|
'bizplace.company.domain',
|
|
647
651
|
'product',
|
|
652
|
+
'productDetail',
|
|
648
653
|
'product.productDetails',
|
|
649
654
|
'product.productDetails.childProductDetail',
|
|
650
655
|
'location'
|
|
@@ -680,6 +685,7 @@ export async function approveInventoryChanges(patches: any, context: any) {
|
|
|
680
685
|
'bizplace.company',
|
|
681
686
|
'bizplace.company.domain',
|
|
682
687
|
'product',
|
|
688
|
+
'productDetail',
|
|
683
689
|
'product.productDetails',
|
|
684
690
|
'product.productDetails.childProductDetail',
|
|
685
691
|
'warehouse',
|
|
@@ -689,8 +695,6 @@ export async function approveInventoryChanges(patches: any, context: any) {
|
|
|
689
695
|
]
|
|
690
696
|
})
|
|
691
697
|
|
|
692
|
-
const customerDomain: Domain = inventory.bizplace.domain
|
|
693
|
-
|
|
694
698
|
// Check for locked inventory, and stop from udpating inventory
|
|
695
699
|
if (inventory.qty < inventory.lockedQty) {
|
|
696
700
|
arrLockedInventory.push(_inventoryChanges[i])
|
|
@@ -860,7 +864,8 @@ export async function approveInventoryChanges(patches: any, context: any) {
|
|
|
860
864
|
id: inventoryId,
|
|
861
865
|
status: statusFilter,
|
|
862
866
|
updater: user,
|
|
863
|
-
lastSeq: lastSeq
|
|
867
|
+
lastSeq: lastSeq,
|
|
868
|
+
createdAt: inventory.createdAt
|
|
864
869
|
})
|
|
865
870
|
|
|
866
871
|
//Check and set latest location status
|
|
@@ -230,6 +230,8 @@ export class InventoryHistoryQuery {
|
|
|
230
230
|
Lower(prd.name) LIKE ANY(ARRAY[${productValue}])
|
|
231
231
|
OR Lower(prd.sku) LIKE ANY(ARRAY[${productValue}])
|
|
232
232
|
OR Lower(prd.description) LIKE ANY(ARRAY[${productValue}])
|
|
233
|
+
OR Lower(prd.brand) LIKE ANY(ARRAY[${productValue}])
|
|
234
|
+
OR Lower(prd.brand_sku) LIKE ANY(ARRAY[${productValue}])
|
|
233
235
|
)`
|
|
234
236
|
}
|
|
235
237
|
|
|
@@ -1043,7 +1045,7 @@ export class InventoryHistoryQuery {
|
|
|
1043
1045
|
and (lower(prd.name) like any(array[${products}])
|
|
1044
1046
|
or lower(prd.description) like any(array[${products}])
|
|
1045
1047
|
or lower(prd.sku) like any(array[${products}])
|
|
1046
|
-
or lower(prd.
|
|
1048
|
+
or lower(prd.brand_sku) like any(array[${products}]))
|
|
1047
1049
|
and prd.id = rih.product_id
|
|
1048
1050
|
group by prd.id
|
|
1049
1051
|
)`
|
|
@@ -1400,7 +1402,14 @@ export class InventoryHistoryQuery {
|
|
|
1400
1402
|
|
|
1401
1403
|
let foundProductDetail = await tx
|
|
1402
1404
|
.getRepository(ProductDetail)
|
|
1403
|
-
.
|
|
1405
|
+
.createQueryBuilder('pd')
|
|
1406
|
+
.where('pd.domain = :domainId ', { domainId: companyDomain.id })
|
|
1407
|
+
.andWhere(
|
|
1408
|
+
new Brackets(qb => {
|
|
1409
|
+
qb.where('pd.volume = 0').orWhere('pd.volume is null')
|
|
1410
|
+
})
|
|
1411
|
+
)
|
|
1412
|
+
.getOne()
|
|
1404
1413
|
|
|
1405
1414
|
if (foundProductDetail) {
|
|
1406
1415
|
throw new Error('there is product master with empty volume')
|
|
@@ -1425,7 +1434,7 @@ export class InventoryHistoryQuery {
|
|
|
1425
1434
|
rih.bizplace_id as bizplace_id,
|
|
1426
1435
|
cast(rih.created_at + (interval '8 hour') as DATE) as "tempDate"
|
|
1427
1436
|
from reduced_inventory_histories rih
|
|
1428
|
-
left join product_details pd on pd.
|
|
1437
|
+
left join product_details pd on pd.id = rih.product_detail_id
|
|
1429
1438
|
where rih.status not like 'TERMINATED' and rih.bizplace_id = $1
|
|
1430
1439
|
group by CAST(rih.created_at + (interval '8 hour') as DATE), rih.bizplace_id
|
|
1431
1440
|
)
|
|
@@ -1465,8 +1474,8 @@ export class InventoryHistoryQuery {
|
|
|
1465
1474
|
await tx.query(
|
|
1466
1475
|
`
|
|
1467
1476
|
create temp table temp_result ON COMMIT drop as(
|
|
1468
|
-
select lag(sub."closingQty", 1, 0) over (partition by sub.bizplace_id order by sub.date) as "openingQty",
|
|
1469
|
-
lag(sub."closingVolume", 1, 0) over (partition by sub.bizplace_id order by sub.date) as "openingVolume", sub.* from(
|
|
1477
|
+
select lag(sub."closingQty", 1, 0::double precision) over (partition by sub.bizplace_id order by sub.date) as "openingQty",
|
|
1478
|
+
lag(sub."closingVolume", 1, 0::numeric) over (partition by sub.bizplace_id order by sub.date) as "openingVolume", sub.* from(
|
|
1470
1479
|
select (select sum(tmp2.total) from temp_reduced_inventory_histories_with_date_range tmp2 where tmp2.row <= tmp.row) as "closingQty",
|
|
1471
1480
|
(select sum(tmp2."totalVolume") from temp_reduced_inventory_histories_with_date_range tmp2 where tmp2.row <= tmp.row) as "closingVolume", tmp.* from
|
|
1472
1481
|
temp_reduced_inventory_histories_with_date_range tmp) sub
|
|
@@ -1556,8 +1565,8 @@ async function massageInventorySummary(tx: EntityManager, params: ListParam, biz
|
|
|
1556
1565
|
sum(case when ih.created_at >= $1 and ih.transaction_type = 'ADJUSTMENT' then ih.qty else 0 end) as adjustment_qty,
|
|
1557
1566
|
sum(case when ih.created_at < $1 then qty else 0 end) as opening_qty,
|
|
1558
1567
|
sum(case when ih.status = 'MISSING' then -ih.opening_qty else 0 end) as missing_qty,
|
|
1559
|
-
sum(case when ih.created_at >= $1 then case when ih.qty > 0 and ih.transaction_type <> 'ADJUSTMENT' then ih.qty else 0 end else 0 end) as total_in_qty,
|
|
1560
|
-
sum(case when ih.created_at >= $1 then case when ih.qty < 0 and ih.transaction_type <> 'ADJUSTMENT' then ih.qty else 0 end else 0 end) as total_out_qty,
|
|
1568
|
+
sum(case when ih.created_at >= $1 then case when ih.qty > 0 and ih.transaction_type <> 'ADJUSTMENT' and ih.transaction_type <> 'RELOCATE' then ih.qty else 0 end else 0 end) as total_in_qty,
|
|
1569
|
+
sum(case when ih.created_at >= $1 then case when ih.qty < 0 and ih.transaction_type <> 'ADJUSTMENT' and ih.transaction_type <> 'RELOCATE' then ih.qty else 0 end else 0 end) as total_out_qty,
|
|
1561
1570
|
ih.product_id
|
|
1562
1571
|
from temp_inv_history ih
|
|
1563
1572
|
inner join temp_products prd on prd.id = ih.product_id
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from 'typeorm'
|
|
12
12
|
|
|
13
13
|
import { User } from '@things-factory/auth-base'
|
|
14
|
-
import { Product } from '@things-factory/product-base'
|
|
14
|
+
import { Product, ProductDetail} from '@things-factory/product-base'
|
|
15
15
|
import { Domain } from '@things-factory/shell'
|
|
16
16
|
|
|
17
17
|
import { Inventory } from '../inventory/inventory'
|
|
@@ -32,7 +32,8 @@ export class InventoryItem {
|
|
|
32
32
|
|
|
33
33
|
@RelationId((inventoryItem: InventoryItem) => inventoryItem.domain)
|
|
34
34
|
domainId?: string
|
|
35
|
-
|
|
35
|
+
|
|
36
|
+
|
|
36
37
|
@Column()
|
|
37
38
|
@Field()
|
|
38
39
|
name: string
|
|
@@ -57,13 +58,19 @@ export class InventoryItem {
|
|
|
57
58
|
@Field({ nullable: true })
|
|
58
59
|
outboundOrderId: string
|
|
59
60
|
|
|
61
|
+
|
|
60
62
|
@ManyToOne(type => Product)
|
|
61
63
|
@Field(type => Product, { nullable: true })
|
|
62
64
|
product?: Product
|
|
63
65
|
|
|
66
|
+
|
|
64
67
|
@RelationId((inventoryItem: InventoryItem) => inventoryItem.product)
|
|
65
68
|
productId?: string
|
|
66
69
|
|
|
70
|
+
@ManyToOne(type => ProductDetail, { nullable: true })
|
|
71
|
+
@Field({ nullable: true })
|
|
72
|
+
productDetail: ProductDetail
|
|
73
|
+
|
|
67
74
|
@ManyToOne(type => Inventory)
|
|
68
75
|
@Field(type => Inventory)
|
|
69
76
|
inventory?: Inventory
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from 'typeorm'
|
|
12
12
|
|
|
13
13
|
import { User } from '@things-factory/auth-base'
|
|
14
|
-
import { Product } from '@things-factory/product-base'
|
|
14
|
+
import { Product, ProductDetail } from '@things-factory/product-base'
|
|
15
15
|
import { Domain } from '@things-factory/shell'
|
|
16
16
|
|
|
17
17
|
@Entity()
|
|
@@ -60,6 +60,10 @@ export class InventoryProduct {
|
|
|
60
60
|
@RelationId((inventoryProduct: InventoryProduct) => inventoryProduct.product)
|
|
61
61
|
productId?: string
|
|
62
62
|
|
|
63
|
+
@ManyToOne(type => ProductDetail, { nullable: true })
|
|
64
|
+
@Field({ nullable: true })
|
|
65
|
+
productDetail: ProductDetail
|
|
66
|
+
|
|
63
67
|
@CreateDateColumn()
|
|
64
68
|
@Field({ nullable: true })
|
|
65
69
|
createdAt?: Date
|
|
@@ -77,10 +77,12 @@ export class LocationMutation {
|
|
|
77
77
|
@Mutation(returns => Boolean)
|
|
78
78
|
async deleteAllLocations(@Arg('warehouseId') warehouseId: string, @Ctx() context: any) {
|
|
79
79
|
const { tx }: { tx: EntityManager } = context.state
|
|
80
|
+
let warehouse = await tx.getRepository(Warehouse).findOne(warehouseId)
|
|
80
81
|
|
|
81
82
|
await tx.getRepository(Location).delete({
|
|
82
|
-
warehouse
|
|
83
|
+
warehouse
|
|
83
84
|
})
|
|
85
|
+
return true
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
88
|
|