@things-factory/operato-wms 4.3.671 → 4.3.673
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/graphql/index.js +33 -0
- package/dist-server/graphql/index.js.map +1 -0
- package/dist-server/graphql/resolvers/board-setting/board-settings.js +78 -0
- package/dist-server/graphql/resolvers/board-setting/board-settings.js.map +1 -0
- package/dist-server/graphql/resolvers/board-setting/index.js +6 -0
- package/dist-server/graphql/resolvers/board-setting/index.js.map +1 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js +87 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js.map +1 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js +138 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js.map +1 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js +124 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js.map +1 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js +159 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js.map +1 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js +90 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js.map +1 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js +34 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js.map +1 -0
- package/dist-server/graphql/resolvers/custom/elccl/index.js +11 -0
- package/dist-server/graphql/resolvers/custom/elccl/index.js.map +1 -0
- package/dist-server/graphql/resolvers/custom/kimeda/index.js +6 -0
- package/dist-server/graphql/resolvers/custom/kimeda/index.js.map +1 -0
- package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js +40 -0
- package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js.map +1 -0
- package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js +36 -0
- package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js.map +1 -0
- package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js +24 -0
- package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js.map +1 -0
- package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js +24 -0
- package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js.map +1 -0
- package/dist-server/graphql/resolvers/dashboard/index.js +12 -0
- package/dist-server/graphql/resolvers/dashboard/index.js.map +1 -0
- package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js +65 -0
- package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js.map +1 -0
- package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js +22 -0
- package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js.map +1 -0
- package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js +36 -0
- package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js.map +1 -0
- package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js +56 -0
- package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js.map +1 -0
- package/dist-server/graphql/resolvers/index.js +58 -0
- package/dist-server/graphql/resolvers/index.js.map +1 -0
- package/dist-server/graphql/resolvers/inventory-comparison/index.js +6 -0
- package/dist-server/graphql/resolvers/inventory-comparison/index.js.map +1 -0
- package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js +78 -0
- package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js.map +1 -0
- package/dist-server/graphql/resolvers/opa-menu/index.js +6 -0
- package/dist-server/graphql/resolvers/opa-menu/index.js.map +1 -0
- package/dist-server/graphql/resolvers/opa-menu/opa-menus.js +73 -0
- package/dist-server/graphql/resolvers/opa-menu/opa-menus.js.map +1 -0
- package/dist-server/graphql/resolvers/other/add-release-good-products.js +309 -0
- package/dist-server/graphql/resolvers/other/add-release-good-products.js.map +1 -0
- package/dist-server/graphql/resolvers/other/index.js +8 -0
- package/dist-server/graphql/resolvers/other/index.js.map +1 -0
- package/dist-server/graphql/resolvers/other/page-settings.js +135 -0
- package/dist-server/graphql/resolvers/other/page-settings.js.map +1 -0
- package/dist-server/graphql/resolvers/outbound/complete-load.js +162 -0
- package/dist-server/graphql/resolvers/outbound/complete-load.js.map +1 -0
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js +148 -0
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js.map +1 -0
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js +114 -0
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js.map +1 -0
- package/dist-server/graphql/resolvers/outbound/get-delivery-orders.js +46 -0
- package/dist-server/graphql/resolvers/outbound/get-delivery-orders.js.map +1 -0
- package/dist-server/graphql/resolvers/outbound/get-loading-task.js +100 -0
- package/dist-server/graphql/resolvers/outbound/get-loading-task.js.map +1 -0
- package/dist-server/graphql/resolvers/outbound/index.js +17 -0
- package/dist-server/graphql/resolvers/outbound/index.js.map +1 -0
- package/dist-server/graphql/resolvers/outbound/load-by-qty.js +121 -0
- package/dist-server/graphql/resolvers/outbound/load-by-qty.js.map +1 -0
- package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js +158 -0
- package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js.map +1 -0
- package/dist-server/graphql/resolvers/outbound/my-loading-assignment-status.js +32 -0
- package/dist-server/graphql/resolvers/outbound/my-loading-assignment-status.js.map +1 -0
- package/dist-server/graphql/resolvers/outbound/sort-item.js +66 -0
- package/dist-server/graphql/resolvers/outbound/sort-item.js.map +1 -0
- package/dist-server/graphql/resolvers/outbound/undo-load.js +72 -0
- package/dist-server/graphql/resolvers/outbound/undo-load.js.map +1 -0
- package/dist-server/graphql/resolvers/outbound/warehouse-return.js +101 -0
- package/dist-server/graphql/resolvers/outbound/warehouse-return.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/analysis-picking-packing-report.js +128 -0
- package/dist-server/graphql/resolvers/reports/analysis-picking-packing-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/billing-module-report.js +355 -0
- package/dist-server/graphql/resolvers/reports/billing-module-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/costing-report.js +166 -0
- package/dist-server/graphql/resolvers/reports/costing-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/cycle-count-report.js +311 -0
- package/dist-server/graphql/resolvers/reports/cycle-count-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js +218 -0
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js +140 -0
- package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/index.js +21 -0
- package/dist-server/graphql/resolvers/reports/index.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/manifest-report.js +98 -0
- package/dist-server/graphql/resolvers/reports/manifest-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/non-loaded-inventory-report.js +143 -0
- package/dist-server/graphql/resolvers/reports/non-loaded-inventory-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js +290 -0
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js +143 -0
- package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/pg-udf-query.js +70 -0
- package/dist-server/graphql/resolvers/reports/pg-udf-query.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/product-label-report.js +57 -0
- package/dist-server/graphql/resolvers/reports/product-label-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/release-inventory-report.js +180 -0
- package/dist-server/graphql/resolvers/reports/release-inventory-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/shortage-report.js +165 -0
- package/dist-server/graphql/resolvers/reports/shortage-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/tote-loading-qc-report.js +129 -0
- package/dist-server/graphql/resolvers/reports/tote-loading-qc-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/vas-report.js +386 -0
- package/dist-server/graphql/resolvers/reports/vas-report.js.map +1 -0
- package/dist-server/graphql/resolvers/shipping-provider/index.js +6 -0
- package/dist-server/graphql/resolvers/shipping-provider/index.js.map +1 -0
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js +24 -0
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js.map +1 -0
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/index.js +6 -0
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/index.js.map +1 -0
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js +97 -0
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js.map +1 -0
- package/dist-server/graphql/resolvers/zone-worksheet/activate-zone-worksheet.js +91 -0
- package/dist-server/graphql/resolvers/zone-worksheet/activate-zone-worksheet.js.map +1 -0
- package/dist-server/graphql/resolvers/zone-worksheet/assign-sorter.js +36 -0
- package/dist-server/graphql/resolvers/zone-worksheet/assign-sorter.js.map +1 -0
- package/dist-server/graphql/resolvers/zone-worksheet/generate-zone-worksheet.js +106 -0
- package/dist-server/graphql/resolvers/zone-worksheet/generate-zone-worksheet.js.map +1 -0
- package/dist-server/graphql/resolvers/zone-worksheet/get-zone-picking-task.js +108 -0
- package/dist-server/graphql/resolvers/zone-worksheet/get-zone-picking-task.js.map +1 -0
- package/dist-server/graphql/resolvers/zone-worksheet/index.js +12 -0
- package/dist-server/graphql/resolvers/zone-worksheet/index.js.map +1 -0
- package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js +346 -0
- package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js.map +1 -0
- package/dist-server/graphql/resolvers/zone-worksheet/zone-worksheet.js +146 -0
- package/dist-server/graphql/resolvers/zone-worksheet/zone-worksheet.js.map +1 -0
- package/dist-server/graphql/types/board-setting/board-setting.js +16 -0
- package/dist-server/graphql/types/board-setting/board-setting.js.map +1 -0
- package/dist-server/graphql/types/board-setting/index.js +9 -0
- package/dist-server/graphql/types/board-setting/index.js.map +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report-list.js +14 -0
- package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report-list.js.map +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report.js +30 -0
- package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report.js.map +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report-list.js +14 -0
- package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report-list.js.map +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report.js +25 -0
- package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report.js.map +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-report.js +22 -0
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-report.js.map +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report-list.js +14 -0
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report-list.js.map +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report.js +23 -0
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report.js.map +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-pallet-detail-report.js +22 -0
- package/dist-server/graphql/types/custom/elccl/elccl-pallet-detail-report.js.map +1 -0
- package/dist-server/graphql/types/custom/elccl/index.js +30 -0
- package/dist-server/graphql/types/custom/elccl/index.js.map +1 -0
- package/dist-server/graphql/types/custom/kimeda/index.js +7 -0
- package/dist-server/graphql/types/custom/kimeda/index.js.map +1 -0
- package/dist-server/graphql/types/dashboard/index.js +17 -0
- package/dist-server/graphql/types/dashboard/index.js.map +1 -0
- package/dist-server/graphql/types/dashboard/inventory-expiry-counter.js +16 -0
- package/dist-server/graphql/types/dashboard/inventory-expiry-counter.js.map +1 -0
- package/dist-server/graphql/types/dashboard/inventory-expiry-status.js +14 -0
- package/dist-server/graphql/types/dashboard/inventory-expiry-status.js.map +1 -0
- package/dist-server/graphql/types/dashboard/order-status-counter.js +14 -0
- package/dist-server/graphql/types/dashboard/order-status-counter.js.map +1 -0
- package/dist-server/graphql/types/index.js +70 -0
- package/dist-server/graphql/types/index.js.map +1 -0
- package/dist-server/graphql/types/inventory-comparison/index.js +13 -0
- package/dist-server/graphql/types/inventory-comparison/index.js.map +1 -0
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison-list.js +14 -0
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison-list.js.map +1 -0
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison.js +18 -0
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison.js.map +1 -0
- package/dist-server/graphql/types/opa-menu/index.js +9 -0
- package/dist-server/graphql/types/opa-menu/index.js.map +1 -0
- package/dist-server/graphql/types/opa-menu/opa-menu.js +45 -0
- package/dist-server/graphql/types/opa-menu/opa-menu.js.map +1 -0
- package/dist-server/graphql/types/other/index.js +21 -0
- package/dist-server/graphql/types/other/index.js.map +1 -0
- package/dist-server/graphql/types/other/page-setting.js +37 -0
- package/dist-server/graphql/types/other/page-setting.js.map +1 -0
- package/dist-server/graphql/types/outbound/delivery-order-info-list.js +14 -0
- package/dist-server/graphql/types/outbound/delivery-order-info-list.js.map +1 -0
- package/dist-server/graphql/types/outbound/index.js +24 -0
- package/dist-server/graphql/types/outbound/index.js.map +1 -0
- package/dist-server/graphql/types/outbound/loading-assignment.js +15 -0
- package/dist-server/graphql/types/outbound/loading-assignment.js.map +1 -0
- package/dist-server/graphql/types/outbound/loading-worksheet-type.js +25 -0
- package/dist-server/graphql/types/outbound/loading-worksheet-type.js.map +1 -0
- package/dist-server/graphql/types/reports/analysis-picking-packing-report-list.js +14 -0
- package/dist-server/graphql/types/reports/analysis-picking-packing-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/analysis-picking-packing-report.js +18 -0
- package/dist-server/graphql/types/reports/analysis-picking-packing-report.js.map +1 -0
- package/dist-server/graphql/types/reports/billing-module-report-list.js +14 -0
- package/dist-server/graphql/types/reports/billing-module-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/billing-module-report.js +15 -0
- package/dist-server/graphql/types/reports/billing-module-report.js.map +1 -0
- package/dist-server/graphql/types/reports/costing-report-list.js +14 -0
- package/dist-server/graphql/types/reports/costing-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/costing-report.js +19 -0
- package/dist-server/graphql/types/reports/costing-report.js.map +1 -0
- package/dist-server/graphql/types/reports/cycle-count-report-list.js +14 -0
- package/dist-server/graphql/types/reports/cycle-count-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/cycle-count-report.js +35 -0
- package/dist-server/graphql/types/reports/cycle-count-report.js.map +1 -0
- package/dist-server/graphql/types/reports/inbound-order-details-report-list.js +14 -0
- package/dist-server/graphql/types/reports/inbound-order-details-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/inbound-order-details-report.js +60 -0
- package/dist-server/graphql/types/reports/inbound-order-details-report.js.map +1 -0
- package/dist-server/graphql/types/reports/inbound-serial-number-report-list.js +14 -0
- package/dist-server/graphql/types/reports/inbound-serial-number-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/inbound-serial-number-report.js +23 -0
- package/dist-server/graphql/types/reports/inbound-serial-number-report.js.map +1 -0
- package/dist-server/graphql/types/reports/index.js +89 -0
- package/dist-server/graphql/types/reports/index.js.map +1 -0
- package/dist-server/graphql/types/reports/loading-qc-report-list.js +14 -0
- package/dist-server/graphql/types/reports/loading-qc-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/loading-qc-report.js +24 -0
- package/dist-server/graphql/types/reports/loading-qc-report.js.map +1 -0
- package/dist-server/graphql/types/reports/manifest-report-list.js +14 -0
- package/dist-server/graphql/types/reports/manifest-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/manifest-report-type.js +23 -0
- package/dist-server/graphql/types/reports/manifest-report-type.js.map +1 -0
- package/dist-server/graphql/types/reports/non-loaded-inventory-report-list.js +14 -0
- package/dist-server/graphql/types/reports/non-loaded-inventory-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/non-loaded-inventory-report.js +23 -0
- package/dist-server/graphql/types/reports/non-loaded-inventory-report.js.map +1 -0
- package/dist-server/graphql/types/reports/outbound-order-details-report-list.js +14 -0
- package/dist-server/graphql/types/reports/outbound-order-details-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/outbound-order-details-report.js +79 -0
- package/dist-server/graphql/types/reports/outbound-order-details-report.js.map +1 -0
- package/dist-server/graphql/types/reports/outbound-serial-number-report-list.js +14 -0
- package/dist-server/graphql/types/reports/outbound-serial-number-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/outbound-serial-number-report.js +25 -0
- package/dist-server/graphql/types/reports/outbound-serial-number-report.js.map +1 -0
- package/dist-server/graphql/types/reports/pg-udf-query-list.js +13 -0
- package/dist-server/graphql/types/reports/pg-udf-query-list.js.map +1 -0
- package/dist-server/graphql/types/reports/product-label-report-list.js +14 -0
- package/dist-server/graphql/types/reports/product-label-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/product-label-report.js +16 -0
- package/dist-server/graphql/types/reports/product-label-report.js.map +1 -0
- package/dist-server/graphql/types/reports/release-inventory-report-list.js +14 -0
- package/dist-server/graphql/types/reports/release-inventory-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/release-inventory-report.js +29 -0
- package/dist-server/graphql/types/reports/release-inventory-report.js.map +1 -0
- package/dist-server/graphql/types/reports/shortage-report-list.js +14 -0
- package/dist-server/graphql/types/reports/shortage-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/shortage-report-type.js +26 -0
- package/dist-server/graphql/types/reports/shortage-report-type.js.map +1 -0
- package/dist-server/graphql/types/reports/vas-report-list.js +20 -0
- package/dist-server/graphql/types/reports/vas-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/vas-report.js +29 -0
- package/dist-server/graphql/types/reports/vas-report.js.map +1 -0
- package/dist-server/graphql/types/shipping-provider/index.js +10 -0
- package/dist-server/graphql/types/shipping-provider/index.js.map +1 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js +13 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js.map +1 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider.js +13 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider.js.map +1 -0
- package/dist-server/graphql/types/warehouse-inventory-adjustment/index.js +9 -0
- package/dist-server/graphql/types/warehouse-inventory-adjustment/index.js.map +1 -0
- package/dist-server/graphql/types/zone-worksheet/index.js +22 -0
- package/dist-server/graphql/types/zone-worksheet/index.js.map +1 -0
- package/dist-server/graphql/types/zone-worksheet/zone-picking-worksheet.js +18 -0
- package/dist-server/graphql/types/zone-worksheet/zone-picking-worksheet.js.map +1 -0
- package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview-list.js +13 -0
- package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview-list.js.map +1 -0
- package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview.js +16 -0
- package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview.js.map +1 -0
- package/dist-server/index.js +20 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/migrations/1568858861188-SeedSetting.js +51 -0
- package/dist-server/migrations/1568858861188-SeedSetting.js.map +1 -0
- package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js +35 -0
- package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js.map +1 -0
- package/dist-server/migrations/1623381200659-SeedStoringRule.js +33 -0
- package/dist-server/migrations/1623381200659-SeedStoringRule.js.map +1 -0
- package/dist-server/migrations/1687413760311-UpdateProductDetailStockQty.js +36 -0
- package/dist-server/migrations/1687413760311-UpdateProductDetailStockQty.js.map +1 -0
- package/dist-server/migrations/1687415141200-InsertNewProductDetailStock.js +32 -0
- package/dist-server/migrations/1687415141200-InsertNewProductDetailStock.js.map +1 -0
- package/dist-server/migrations/index.js +12 -0
- package/dist-server/migrations/index.js.map +1 -0
- package/dist-server/opa-app-setting-constants.js +15 -0
- package/dist-server/opa-app-setting-constants.js.map +1 -0
- package/dist-server/routes.js +3 -0
- package/dist-server/routes.js.map +1 -0
- package/dist-server/utils/index.js +18 -0
- package/dist-server/utils/index.js.map +1 -0
- package/dist-server/utils/report-query-util.js +42 -0
- package/dist-server/utils/report-query-util.js.map +1 -0
- package/package.json +38 -38
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.elcclInventoryHistoryReport = void 0;
|
|
4
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
|
+
exports.elcclInventoryHistoryReport = {
|
|
6
|
+
async elcclInventoryHistoryReport(_, params, context) {
|
|
7
|
+
try {
|
|
8
|
+
// const convertedParams = convertListParams(params)
|
|
9
|
+
const { tx } = context.state;
|
|
10
|
+
let bizplaceFilter = params.filters.find(data => data.name === 'bizplace');
|
|
11
|
+
let fromDate = params.filters.find(data => data.name === 'fromDate');
|
|
12
|
+
let toDate = params.filters.find(data => data.name === 'toDate');
|
|
13
|
+
let batchNo = params.filters.find(data => data.name === 'batch_no');
|
|
14
|
+
let product = params.filters.find(data => data.name === 'product');
|
|
15
|
+
if (!bizplaceFilter || !fromDate || !toDate)
|
|
16
|
+
throw 'Invalid input';
|
|
17
|
+
const bizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
|
|
18
|
+
id: bizplaceFilter.value
|
|
19
|
+
});
|
|
20
|
+
let batchNoQuery = '';
|
|
21
|
+
if (batchNo) {
|
|
22
|
+
batchNoQuery =
|
|
23
|
+
'AND Lower(invh.batch_id) LIKE ANY(ARRAY[' +
|
|
24
|
+
batchNo.value
|
|
25
|
+
.toLowerCase()
|
|
26
|
+
.split(',')
|
|
27
|
+
.map(prod => {
|
|
28
|
+
return "'%" + prod.trim().replace(/'/g, "''") + "%'";
|
|
29
|
+
})
|
|
30
|
+
.join(',') +
|
|
31
|
+
'])';
|
|
32
|
+
}
|
|
33
|
+
let productQuery = '';
|
|
34
|
+
if (product) {
|
|
35
|
+
let productValue = product.value
|
|
36
|
+
.toLowerCase()
|
|
37
|
+
.split(',')
|
|
38
|
+
.map(prod => {
|
|
39
|
+
return "'%" + prod.trim().replace(/'/g, "''") + "%'";
|
|
40
|
+
})
|
|
41
|
+
.join(',');
|
|
42
|
+
productQuery = `AND (
|
|
43
|
+
Lower(prd.name) LIKE ANY(ARRAY[${productValue}])
|
|
44
|
+
OR Lower(prd.sku) LIKE ANY(ARRAY[${productValue}])
|
|
45
|
+
OR Lower(prd.description) LIKE ANY(ARRAY[${productValue}])
|
|
46
|
+
OR Lower(prd.brand) LIKE ANY(ARRAY[${productValue}])
|
|
47
|
+
OR Lower(prd.brand_sku) LIKE ANY(ARRAY[${productValue}])
|
|
48
|
+
)`;
|
|
49
|
+
}
|
|
50
|
+
await tx.query(`
|
|
51
|
+
create temp table temp_data_src AS
|
|
52
|
+
(
|
|
53
|
+
SELECT prd.sku AS product_sku, prd.name AS product_name, prd.description AS product_description, trim(invh.batch_id) as batch_id, invh.product_id,
|
|
54
|
+
invh.product_detail_id, invh.packing_type, invh.bizplace_id, invh.domain_id,
|
|
55
|
+
invh.ref_order_id, invh.order_no, invh.order_ref_no, invh.transaction_type, invh.created_at,
|
|
56
|
+
invh.qty, invh.opening_qty, invh.uom_value, invh.opening_uom_value
|
|
57
|
+
FROM reduced_inventory_histories invh
|
|
58
|
+
INNER JOIN products prd ON prd.id = invh.product_id
|
|
59
|
+
WHERE invh.domain_id = $1
|
|
60
|
+
AND invh.bizplace_id = $2
|
|
61
|
+
AND invh.created_at <= $3
|
|
62
|
+
${batchNoQuery}
|
|
63
|
+
${productQuery}
|
|
64
|
+
)
|
|
65
|
+
`, [context.state.domain.id, bizplace.id, toDate.value]);
|
|
66
|
+
await tx.query(`
|
|
67
|
+
create temp table temp_inv_history as (
|
|
68
|
+
SELECT src.product_sku, src.product_name, src.product_description, src.batch_id, src.product_id, src.packing_type,
|
|
69
|
+
src.bizplace_id, src.domain_id,
|
|
70
|
+
SUM(COALESCE(invh.qty,0)) AS qty,
|
|
71
|
+
0 AS opening_qty,
|
|
72
|
+
SUM(COALESCE(invh.uom_value,0)) AS uom_value,
|
|
73
|
+
0 AS opening_uom_value,
|
|
74
|
+
'Opening Balance' AS order_name,
|
|
75
|
+
'-' AS ref_no,
|
|
76
|
+
0 AS rn,
|
|
77
|
+
$1 AS created_at
|
|
78
|
+
FROM (
|
|
79
|
+
SELECT src.product_sku, src.product_name, src.product_description, src.batch_id, src.product_id, src.product_detail_id, src.packing_type, src.bizplace_id,
|
|
80
|
+
src.domain_id
|
|
81
|
+
FROM temp_data_src src
|
|
82
|
+
GROUP BY src.product_sku, src.product_name, src.product_description, src.batch_id, src.product_id, src.product_detail_id, src.packing_type, src.bizplace_id,
|
|
83
|
+
src.domain_id
|
|
84
|
+
) AS src
|
|
85
|
+
LEFT JOIN inventory_histories invh ON src.batch_id = trim(invh.batch_id) AND
|
|
86
|
+
src.product_detail_id = invh.product_detail_id AND
|
|
87
|
+
src.bizplace_id = invh.bizplace_id AND
|
|
88
|
+
src.domain_id = invh.domain_id AND
|
|
89
|
+
invh.created_at < $1::timestamp AND
|
|
90
|
+
invh.transaction_type IN ('NEW', 'ADJUSTMENT', 'UNLOADING', 'PICKING', 'LOADING', 'UNDO_UNLOADING', 'CANCEL_ORDER', 'RETURN')
|
|
91
|
+
GROUP BY src.product_sku, src.product_name, src.product_description, src.batch_id, src.product_id, src.packing_type, src.bizplace_id,
|
|
92
|
+
src.domain_id
|
|
93
|
+
UNION ALL
|
|
94
|
+
SELECT product_sku, product_name, product_description, batch_id, product_id, packing_type, bizplace_id,
|
|
95
|
+
domain_id, sum(qty) as qty, sum(opening_qty) as opening_qty, sum(uom_value) as uom_value, sum(opening_uom_value) as opening_uom_value, order_name, ref_no, rn, MIN(created_at) as created_at
|
|
96
|
+
FROM (
|
|
97
|
+
SELECT invh.product_sku, invh.product_name, invh.product_description, invh.batch_id, invh.product_id, invh.packing_type, invh.bizplace_id,
|
|
98
|
+
invh.domain_id,
|
|
99
|
+
invh.qty, invh.opening_qty, invh.uom_value, invh.opening_uom_value,
|
|
100
|
+
CASE WHEN invh.transaction_type = 'ADJUSTMENT' THEN 'ADJUSTMENT'
|
|
101
|
+
WHEN invh.transaction_type = 'NEW' THEN 'NEW'
|
|
102
|
+
ELSE COALESCE(order_no, '-') END AS order_name,
|
|
103
|
+
CASE WHEN invh.transaction_type = 'ADJUSTMENT' THEN 'ADJUSTMENT'
|
|
104
|
+
WHEN invh.transaction_type = 'NEW' THEN 'NEW'
|
|
105
|
+
ELSE COALESCE(order_ref_no, '-') END AS ref_no,
|
|
106
|
+
1 AS rn, invh.created_at
|
|
107
|
+
FROM temp_data_src invh
|
|
108
|
+
LEFT JOIN arrival_notices arrNo ON cast(arrNo.id AS VARCHAR) = invh.ref_order_id AND (invh.transaction_type = 'UNLOADING' OR
|
|
109
|
+
invh.transaction_type = 'UNDO_UNLOADING')
|
|
110
|
+
LEFT JOIN worksheets wks ON cast(wks.id AS VARCHAR) = invh.ref_order_id AND invh.transaction_type = 'PICKING'
|
|
111
|
+
LEFT JOIN release_goods rel ON cast(rel.id AS VARCHAR) = cast(wks.release_good_id AS VARCHAR) AND
|
|
112
|
+
invh.transaction_type = 'PICKING'
|
|
113
|
+
WHERE (invh.qty <> 0 OR invh.uom_value <> 0)
|
|
114
|
+
AND invh.created_at BETWEEN $1::timestamp AND $2::timestamp
|
|
115
|
+
) AS inv_movement
|
|
116
|
+
GROUP BY product_sku, product_name, product_description, batch_id, product_id, packing_type, bizplace_id,
|
|
117
|
+
domain_id, order_name, ref_no, rn
|
|
118
|
+
)`, [fromDate.value, toDate.value]);
|
|
119
|
+
const result = await tx.query(`
|
|
120
|
+
select product_sku, product_name, product_description, batch_id, product_id, packing_type, bizplace_id,
|
|
121
|
+
domain_id, qty, opening_qty, uom_value, opening_uom_value, order_name, ref_no, created_at::date
|
|
122
|
+
from temp_inv_history invh where
|
|
123
|
+
exists (
|
|
124
|
+
select * from (
|
|
125
|
+
select batch_id, product_name, packing_type, sum(qty) as totalQty, count(*) as totalRow from temp_inv_history ih2 group by batch_id, product_name, packing_type
|
|
126
|
+
) src where src.batch_id = invh.batch_id and src.product_name = invh.product_name and src.packing_type = invh.packing_type and (src.totalRow > 1 or src.totalQty <> 0)
|
|
127
|
+
)
|
|
128
|
+
ORDER BY invh.batch_id asc, invh.product_name asc, invh.product_description asc, invh.packing_type asc, invh.rn asc, invh.created_at asc
|
|
129
|
+
`);
|
|
130
|
+
tx.query(`
|
|
131
|
+
drop table temp_data_src, temp_inv_history
|
|
132
|
+
`);
|
|
133
|
+
let items = result.map(itm => {
|
|
134
|
+
return {
|
|
135
|
+
batchId: itm.batch_id,
|
|
136
|
+
packingType: itm.packing_type,
|
|
137
|
+
product: {
|
|
138
|
+
id: itm.product_id,
|
|
139
|
+
sku: itm.product_sku,
|
|
140
|
+
name: itm.product_name,
|
|
141
|
+
description: itm.product_description
|
|
142
|
+
},
|
|
143
|
+
refNo: itm.ref_no,
|
|
144
|
+
qty: itm.qty,
|
|
145
|
+
uomValue: itm.uom_value,
|
|
146
|
+
openingQty: itm.opening_qty,
|
|
147
|
+
openingUomValue: itm.opening_uom_value,
|
|
148
|
+
orderNo: itm.order_name,
|
|
149
|
+
createdAt: itm.created_at
|
|
150
|
+
};
|
|
151
|
+
});
|
|
152
|
+
return items;
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
throw error;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=elccl-inventory-history-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elccl-inventory-history-report.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.inventoryHistorySummaryReportQuery = exports.elcclInventoryHistorySummaryReport = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
|
+
exports.elcclInventoryHistorySummaryReport = {
|
|
7
|
+
async elcclInventoryHistorySummaryReport(_, params, context) {
|
|
8
|
+
try {
|
|
9
|
+
const { tx } = context.state;
|
|
10
|
+
await inventoryHistorySummaryReportQuery(_, params, context);
|
|
11
|
+
const total = await tx.query(`select count(*) from temp_inventory_summary`);
|
|
12
|
+
const result = await tx.query(`
|
|
13
|
+
select * from temp_inventory_summary ORDER BY initial_date OFFSET $1 LIMIT $2
|
|
14
|
+
`, [(params.pagination.page - 1) * params.pagination.limit, params.pagination.limit]);
|
|
15
|
+
let items = result.map(itm => {
|
|
16
|
+
return Object.assign(Object.assign({}, itm), { batchId: itm.batch_id, packingType: itm.packing_type, openingQty: itm.opening_qty, adjustmentQty: itm.adjustment_qty, closingQty: itm.closing_qty, totalInQty: itm.total_in_qty, totalOutQty: itm.total_out_qty, totalReturnQty: itm.total_return_qty, initialQty: itm.initial_qty, initialDate: itm.initial_date, product: {
|
|
17
|
+
id: itm.product_id,
|
|
18
|
+
sku: itm.product_sku,
|
|
19
|
+
name: itm.product_name,
|
|
20
|
+
description: itm.product_description
|
|
21
|
+
} });
|
|
22
|
+
});
|
|
23
|
+
return { items, total: total[0].count };
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
async function inventoryHistorySummaryReportQuery(_, params, context) {
|
|
31
|
+
try {
|
|
32
|
+
const { tx } = context.state;
|
|
33
|
+
let balanceOnlyFilter = params.filters.find(data => data.name === 'balanceOnly');
|
|
34
|
+
let bizplaceFilter = params.filters.find(data => data.name === 'bizplace');
|
|
35
|
+
let fromDate = params.filters.find(data => data.name === 'fromDate');
|
|
36
|
+
let toDate = params.filters.find(data => data.name === 'toDate');
|
|
37
|
+
if (!bizplaceFilter || !fromDate || !toDate)
|
|
38
|
+
throw 'Invalid input';
|
|
39
|
+
const bizplace = await (0, typeorm_1.getRepository)(biz_base_1.Bizplace).findOne({
|
|
40
|
+
id: bizplaceFilter.value
|
|
41
|
+
});
|
|
42
|
+
let balanceOnlyQuery = '';
|
|
43
|
+
if (balanceOnlyFilter && balanceOnlyFilter.value) {
|
|
44
|
+
balanceOnlyQuery = 'and (opening_qty + adjustment_qty + total_in_qty + total_out_qty + total_return_qty) > 0 ';
|
|
45
|
+
}
|
|
46
|
+
await tx.query(`
|
|
47
|
+
create temp table temp_inv_history on commit drop as (
|
|
48
|
+
select i2.pallet_id, ih.product_id::uuid, ih.packing_type, ih.batch_id,
|
|
49
|
+
ih.id as inventory_history_id, ih.seq, ih.status, ih.transaction_type, ih.qty, ih.opening_qty, ih.created_at,
|
|
50
|
+
ih.ref_order_id::uuid as ref_order_id
|
|
51
|
+
from inventories i2
|
|
52
|
+
inner join reduced_inventory_histories ih on ih.pallet_id = i2.pallet_id and ih.domain_id = i2.domain_id
|
|
53
|
+
where
|
|
54
|
+
i2.domain_id = $1
|
|
55
|
+
and i2.bizplace_id = $2
|
|
56
|
+
and ih.created_at <= $3
|
|
57
|
+
)
|
|
58
|
+
`, [context.state.domain.id, bizplace.id, toDate.value]);
|
|
59
|
+
await tx.query(`
|
|
60
|
+
create temp table temp_inventory_summary on commit drop as (
|
|
61
|
+
select src.*,
|
|
62
|
+
opening_qty + adjustment_qty + total_in_qty + total_out_qty + total_return_qty as closing_qty,
|
|
63
|
+
prd.name as product_name, prd.sku as product_sku, prd.description as product_description
|
|
64
|
+
from (
|
|
65
|
+
select ih.batch_id, ih.packing_type,
|
|
66
|
+
min(ih.created_at) as initial_date,
|
|
67
|
+
sum(case when (ih.transaction_type = 'UNLOADING' or ih.transaction_type = 'NEW') and rtn.id is null then qty else 0 end) as initial_qty,
|
|
68
|
+
sum(case when ih.created_at > $1 and ih.transaction_type = 'ADJUSTMENT' then ih.qty else 0 end) as adjustment_qty,
|
|
69
|
+
sum(case when ih.created_at < $1 then ih.qty else 0 end) as opening_qty,
|
|
70
|
+
sum(case when ih.created_at > $1 then case when ih.qty > 0 and ih.transaction_type <> 'ADJUSTMENT' and ih.transaction_type <> 'RETURN' and rtn.id is null then ih.qty else 0 end else 0 end) as total_in_qty,
|
|
71
|
+
sum(case when ih.created_at > $1 then case when (ih.qty < 0 and ih.transaction_type <> 'ADJUSTMENT') or ih.transaction_type = 'RETURN' then ih.qty else 0 end else 0 end) as total_out_qty,
|
|
72
|
+
ih.product_id,
|
|
73
|
+
sum(case when rtn.id is not null and ih.transaction_type <> 'ADJUSTMENT' and ih.created_at > $1 then qty else 0 end) as total_return_qty
|
|
74
|
+
from temp_inv_history ih
|
|
75
|
+
left join return_orders rtn on rtn.id = ih.ref_order_id
|
|
76
|
+
group by ih.batch_id, ih.product_id, ih.packing_type
|
|
77
|
+
order by batch_id
|
|
78
|
+
) src
|
|
79
|
+
inner join products prd on prd.id = src.product_id
|
|
80
|
+
where (opening_qty > 0 or total_in_qty > 0 or adjustment_qty > 0)
|
|
81
|
+
${balanceOnlyQuery}
|
|
82
|
+
)
|
|
83
|
+
`, [fromDate.value]);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
throw error;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.inventoryHistorySummaryReportQuery = inventoryHistorySummaryReportQuery;
|
|
90
|
+
//# sourceMappingURL=elccl-inventory-history-summary-report.js.map
|
package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elccl-inventory-history-summary-report.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.elcclOnhandInventoryCounterResolver = void 0;
|
|
4
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
|
+
const typeorm_1 = require("typeorm");
|
|
6
|
+
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
7
|
+
exports.elcclOnhandInventoryCounterResolver = {
|
|
8
|
+
async elcclOnhandInventoryCounter(_, params, context) {
|
|
9
|
+
let bizplaces = await (0, biz_base_1.getPermittedBizplaceIds)(context.state.domain, context.state.user);
|
|
10
|
+
bizplaces = bizplaces.map(bizplace => {
|
|
11
|
+
return "'" + bizplace.trim() + "'";
|
|
12
|
+
}).join(',');
|
|
13
|
+
const result = await (0, typeorm_1.getRepository)(warehouse_base_1.Inventory).query(`
|
|
14
|
+
select sum(qty) as total from (
|
|
15
|
+
select count(pallet_id) as qty from inventories i2
|
|
16
|
+
where status not in ('INTRANSIT', 'TERMINATED', 'DELETED')
|
|
17
|
+
and reusable_pallet_id is null
|
|
18
|
+
and bizplace_id in (${bizplaces})
|
|
19
|
+
and domain_id = '${context.state.domain.id}'
|
|
20
|
+
union all
|
|
21
|
+
select count(distinct ref_order_id) as qty from inventories i2
|
|
22
|
+
where status not in ('INTRANSIT', 'TERMINATED', 'DELETED')
|
|
23
|
+
and reusable_pallet_id notnull
|
|
24
|
+
and ref_order_id notnull
|
|
25
|
+
and bizplace_id in (${bizplaces})
|
|
26
|
+
and domain_id = '${context.state.domain.id}'
|
|
27
|
+
group by reusable_pallet_id
|
|
28
|
+
) as foo
|
|
29
|
+
`);
|
|
30
|
+
const total = parseInt(result[0].total);
|
|
31
|
+
return total;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=elccl-onhand-inventory-counter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elccl-onhand-inventory-counter.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAClE,qCAAuC;AACvC,mEAA0D;AAE7C,QAAA,mCAAmC,GAAG;IACjD,KAAK,CAAC,2BAA2B,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;QACvE,IAAI,SAAS,GAAG,MAAM,IAAA,kCAAuB,EAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACvF,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACvB,OAAO,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,CAAA;QACpC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAExB,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAa,EAAC,0BAAS,CAAC,CAAC,KAAK,CAAC;;;;;gCAKxB,SAAS;6BACZ,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;;;;;;gCAMpB,SAAS;6BACZ,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;;;KAG/C,CACA,CAAA;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAEvC,OAAO,KAAK,CAAA;IACd,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Query = void 0;
|
|
4
|
+
const elccl_inventory_history_summary_report_1 = require("./elccl-inventory-history-summary-report");
|
|
5
|
+
const elccl_daily_collection_report_1 = require("./elccl-daily-collection-report");
|
|
6
|
+
const elccl_inventory_history_report_1 = require("./elccl-inventory-history-report");
|
|
7
|
+
const elccl_inventory_history_pallet_detail_report_1 = require("./elccl-inventory-history-pallet-detail-report");
|
|
8
|
+
const elccl_onhand_inventory_counter_1 = require("./elccl-onhand-inventory-counter");
|
|
9
|
+
const elccl_daily_order_inventory_report_1 = require("./elccl-daily-order-inventory-report");
|
|
10
|
+
exports.Query = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, elccl_inventory_history_summary_report_1.elcclInventoryHistorySummaryReport), elccl_daily_collection_report_1.elcclDailyCollectionReport), elccl_inventory_history_report_1.elcclInventoryHistoryReport), elccl_inventory_history_pallet_detail_report_1.elcclInventoryHistoryPalletDetailReport), elccl_onhand_inventory_counter_1.elcclOnhandInventoryCounterResolver), elccl_daily_order_inventory_report_1.elcclDailyOrderInventoryReport);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/custom/elccl/index.ts"],"names":[],"mappings":";;;AAAA,qGAA6F;AAC7F,mFAA4E;AAC5E,qFAA8E;AAC9E,iHAAwG;AACxG,qFAAsF;AACtF,6FAAqF;AAExE,QAAA,KAAK,2FACb,2EAAkC,GAClC,0DAA0B,GAC1B,4DAA2B,GAC3B,sFAAuC,GACvC,oEAAmC,GACnC,mEAA8B,EAClC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Query = void 0;
|
|
4
|
+
const kimeda_onhand_inventory_counter_1 = require("./kimeda-onhand-inventory-counter");
|
|
5
|
+
exports.Query = Object.assign({}, kimeda_onhand_inventory_counter_1.kimedaOnhandInventoryCounterResolver);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/custom/kimeda/index.ts"],"names":[],"mappings":";;;AAAA,uFAAwF;AAE3E,QAAA,KAAK,qBACb,sEAAoC,EACxC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.kimedaOnhandInventoryCounterResolver = void 0;
|
|
4
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
|
+
const typeorm_1 = require("typeorm");
|
|
6
|
+
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
7
|
+
exports.kimedaOnhandInventoryCounterResolver = {
|
|
8
|
+
async kimedaOnhandInventoryCounter(_, params, context) {
|
|
9
|
+
let bizplaces = await (0, biz_base_1.getPermittedBizplaceIds)(context.state.domain, context.state.user);
|
|
10
|
+
bizplaces = bizplaces.map(bizplace => {
|
|
11
|
+
return "'" + bizplace.trim() + "'";
|
|
12
|
+
}).join(',');
|
|
13
|
+
const result = await (0, typeorm_1.getRepository)(warehouse_base_1.Inventory).query(`
|
|
14
|
+
select sum(qty) as total from (
|
|
15
|
+
select l2.name, count(distinct i2.location_id) as qty, string_agg(i2.pallet_id, ', ')
|
|
16
|
+
from inventories i2
|
|
17
|
+
inner join locations l2 on i2.location_id = l2.id
|
|
18
|
+
and i2.domain_id = l2.domain_id
|
|
19
|
+
where i2.status not in ('INTRANSIT', 'TERMINATED', 'DELETED')
|
|
20
|
+
and i2.domain_id = '${context.state.domain.id}'
|
|
21
|
+
and i2.bizplace_id in (${bizplaces})
|
|
22
|
+
and l2.type = 'SHELF'
|
|
23
|
+
group by l2.name
|
|
24
|
+
union all
|
|
25
|
+
select l2.name, count(i2.pallet_id) as qty, string_agg(i2.pallet_id, ', ')
|
|
26
|
+
from inventories i2
|
|
27
|
+
inner join locations l2 on i2.location_id = l2.id
|
|
28
|
+
and i2.domain_id = l2.domain_id
|
|
29
|
+
where i2.status not in ('INTRANSIT', 'TERMINATED', 'DELETED')
|
|
30
|
+
and i2.domain_id = '${context.state.domain.id}'
|
|
31
|
+
and i2.bizplace_id in (${bizplaces})
|
|
32
|
+
and l2.type = 'FLOOR'
|
|
33
|
+
group by l2.name
|
|
34
|
+
) as foo
|
|
35
|
+
`);
|
|
36
|
+
const total = parseInt(result[0].total);
|
|
37
|
+
return total;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=kimeda-onhand-inventory-counter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kimeda-onhand-inventory-counter.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAClE,qCAAuC;AACvC,mEAA0D;AAE7C,QAAA,oCAAoC,GAAG;IAClD,KAAK,CAAC,4BAA4B,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;QACxE,IAAI,SAAS,GAAG,MAAM,IAAA,kCAAuB,EAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACvF,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACvB,OAAO,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,CAAA;QACpC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAExB,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAa,EAAC,0BAAS,CAAC,CAAC,KAAK,CAAC;;;;;;;8BAO1B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;iCACpB,SAAS;;;;;;;;;8BASZ,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;iCACpB,SAAS;;;;KAIrC,CACA,CAAA;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAEvC,OAAO,KAAK,CAAA;IACd,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.arrivalNoticesByStatusResolver = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
|
+
const sales_base_1 = require("@things-factory/sales-base");
|
|
7
|
+
const shell_1 = require("@things-factory/shell");
|
|
8
|
+
exports.arrivalNoticesByStatusResolver = {
|
|
9
|
+
async arrivalNoticesByStatus(_, params, context) {
|
|
10
|
+
var _a;
|
|
11
|
+
const { domain, user } = context.state;
|
|
12
|
+
const bizplaceId = ((_a = params.filters.find((filter) => filter.name === 'bizplace')) === null || _a === void 0 ? void 0 : _a.value) || 'ALL';
|
|
13
|
+
params.filters = params.filters.filter(filter => filter.name !== 'bizplace');
|
|
14
|
+
const v4 = new RegExp(/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i);
|
|
15
|
+
let bizplaceIds;
|
|
16
|
+
if (bizplaceId && (bizplaceId == 'ALL' || bizplaceId.match(v4))) {
|
|
17
|
+
let bizplaces = bizplaceId && bizplaceId != 'ALL' ? [bizplaceId] : await (0, biz_base_1.getPermittedBizplaceIds)(domain, user);
|
|
18
|
+
bizplaceIds = bizplaces
|
|
19
|
+
.map(bizplace => {
|
|
20
|
+
return "'" + (bizplace === null || bizplace === void 0 ? void 0 : bizplace.trim()) + "'";
|
|
21
|
+
})
|
|
22
|
+
.join(',');
|
|
23
|
+
}
|
|
24
|
+
else
|
|
25
|
+
throw new Error('invalid bizplaceId');
|
|
26
|
+
const qb = (0, typeorm_1.getRepository)(sales_base_1.ArrivalNotice).createQueryBuilder('an');
|
|
27
|
+
(0, shell_1.buildQuery)(qb, params, context);
|
|
28
|
+
return qb
|
|
29
|
+
.select('an.status', 'status')
|
|
30
|
+
.addSelect('COUNT(*) AS count')
|
|
31
|
+
.andWhere(`an.bizplace_id IN (${bizplaceIds})`)
|
|
32
|
+
.groupBy('an.status')
|
|
33
|
+
.getRawMany();
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=arrival-notices-by-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrival-notices-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/arrival-notices-by-status.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAG3D,uDAAkE;AAClE,2DAA0D;AAC1D,iDAAqE;AAExD,QAAA,8BAA8B,GAAG;IAC5C,KAAK,CAAC,sBAAsB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;;QAClE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAmC,OAAO,CAAC,KAAK,CAAA;QACtE,MAAM,UAAU,GAAW,CAAA,MAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,0CAAE,KAAK,KAAI,KAAK,CAAA;QAC3G,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;QAC5E,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,wEAAwE,CAAC,CAAA;QAC/F,IAAI,WAAmB,CAAA;QAEvB,IAAI,UAAU,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE;YAC/D,IAAI,SAAS,GACX,UAAU,IAAI,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,kCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAChG,WAAW,GAAG,SAAS;iBACpB,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACd,OAAO,GAAG,IAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAA,GAAG,GAAG,CAAA;YACrC,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,CAAC,CAAA;SACb;;YAAM,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAE5C,MAAM,EAAE,GAAsC,IAAA,uBAAa,EAAC,0BAAa,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACnG,IAAA,kBAAU,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAC/B,OAAO,EAAE;aACN,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC;aAC7B,SAAS,CAAC,mBAAmB,CAAC;aAC9B,QAAQ,CAAC,sBAAsB,WAAW,GAAG,CAAC;aAC9C,OAAO,CAAC,WAAW,CAAC;aACpB,UAAU,EAAE,CAAA;IACjB,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.collectionOrdersByStatusResolver = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
|
+
const sales_base_1 = require("@things-factory/sales-base");
|
|
7
|
+
const shell_1 = require("@things-factory/shell");
|
|
8
|
+
exports.collectionOrdersByStatusResolver = {
|
|
9
|
+
async collectionOrdersByStatus(_, params, context) {
|
|
10
|
+
const { domain, user } = context.state;
|
|
11
|
+
if (!params.filters.find((filter) => filter.name === 'bizplace')) {
|
|
12
|
+
params.filters.push({
|
|
13
|
+
name: 'bizplaceId',
|
|
14
|
+
operator: 'in',
|
|
15
|
+
value: await (0, biz_base_1.getPermittedBizplaceIds)(domain, user),
|
|
16
|
+
relation: false
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
const qb = (0, typeorm_1.getRepository)(sales_base_1.CollectionOrder).createQueryBuilder('co');
|
|
20
|
+
(0, shell_1.buildQuery)(qb, params, context);
|
|
21
|
+
return qb.select('co.status', 'status').addSelect('COUNT(*) AS count').groupBy('co.status').getRawMany();
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=collection-orders-by-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-orders-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/collection-orders-by-status.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAG3D,uDAAkE;AAClE,2DAA4D;AAC5D,iDAAqE;AAExD,QAAA,gCAAgC,GAAG;IAC9C,KAAK,CAAC,wBAAwB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;QACpE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAmC,OAAO,CAAC,KAAK,CAAA;QAEtE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE;YACrE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,MAAM,IAAA,kCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC;gBAClD,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAA;SACH;QAED,MAAM,EAAE,GAAwC,IAAA,uBAAa,EAAC,4BAAe,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACvG,IAAA,kBAAU,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAC/B,OAAO,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,CAAA;IAC1G,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deliveryOrdersByStatusResolver = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
|
+
const sales_base_1 = require("@things-factory/sales-base");
|
|
7
|
+
const shell_1 = require("@things-factory/shell");
|
|
8
|
+
exports.deliveryOrdersByStatusResolver = {
|
|
9
|
+
async deliveryOrdersByStatus(_, params, context) {
|
|
10
|
+
const { domain, user } = context.state;
|
|
11
|
+
if (!params.filters.find((filter) => filter.name === 'bizplace')) {
|
|
12
|
+
params.filters.push({
|
|
13
|
+
name: 'bizplaceId',
|
|
14
|
+
operator: 'in',
|
|
15
|
+
value: await (0, biz_base_1.getPermittedBizplaceIds)(domain, user),
|
|
16
|
+
relation: false
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
const qb = (0, typeorm_1.getRepository)(sales_base_1.DeliveryOrder).createQueryBuilder('do');
|
|
20
|
+
(0, shell_1.buildQuery)(qb, params, context);
|
|
21
|
+
return qb.select('do.status', 'status').addSelect('COUNT(*) AS count').groupBy('do.status').getRawMany();
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=delivery-orders-by-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-orders-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/delivery-orders-by-status.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAG3D,uDAAkE;AAClE,2DAA0D;AAC1D,iDAAqE;AAExD,QAAA,8BAA8B,GAAG;IAC5C,KAAK,CAAC,sBAAsB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;QAClE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAmC,OAAO,CAAC,KAAK,CAAA;QAEtE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE;YACrE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,MAAM,IAAA,kCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC;gBAClD,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAA;SACH;QAED,MAAM,EAAE,GAAsC,IAAA,uBAAa,EAAC,0BAAa,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACnG,IAAA,kBAAU,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAC/B,OAAO,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,CAAA;IAC1G,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Query = void 0;
|
|
4
|
+
const arrival_notices_by_status_1 = require("./arrival-notices-by-status");
|
|
5
|
+
const collection_orders_by_status_1 = require("./collection-orders-by-status");
|
|
6
|
+
const delivery_orders_by_status_1 = require("./delivery-orders-by-status");
|
|
7
|
+
const inventory_expiry_monitor_1 = require("./inventory-expiry-monitor");
|
|
8
|
+
const outbound_order_by_status_1 = require("./outbound-order-by-status");
|
|
9
|
+
const release_goods_by_status_1 = require("./release-goods-by-status");
|
|
10
|
+
const unit_inbounded_outbounded_1 = require("./unit-inbounded-outbounded");
|
|
11
|
+
exports.Query = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, arrival_notices_by_status_1.arrivalNoticesByStatusResolver), collection_orders_by_status_1.collectionOrdersByStatusResolver), delivery_orders_by_status_1.deliveryOrdersByStatusResolver), release_goods_by_status_1.releaseGoodsByStatusResolver), outbound_order_by_status_1.outboundOrderByStatusResolver), inventory_expiry_monitor_1.inventoryExpiryMonitorResolver), unit_inbounded_outbounded_1.unitInboundedOutboundedResolver);
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/index.ts"],"names":[],"mappings":";;;AAAA,2EAA4E;AAC5E,+EAAgF;AAChF,2EAA4E;AAC5E,yEAA2E;AAC3E,yEAA0E;AAC1E,uEAAwE;AACxE,2EAA6E;AAEhE,QAAA,KAAK,yGACb,0DAA8B,GAC9B,8DAAgC,GAChC,0DAA8B,GAC9B,sDAA4B,GAC5B,wDAA6B,GAC7B,yDAA8B,GAC9B,2DAA+B,EACnC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.inventoryExpiryMonitorResolver = void 0;
|
|
15
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
16
|
+
exports.inventoryExpiryMonitorResolver = {
|
|
17
|
+
async inventoryExpiryMonitor(_, params, context) {
|
|
18
|
+
var _a;
|
|
19
|
+
const { domain, user, tx } = context.state;
|
|
20
|
+
const bizplaceId = ((_a = params.filters.find((filter) => filter.name === 'bizplace')) === null || _a === void 0 ? void 0 : _a.value) || 'ALL';
|
|
21
|
+
const v4 = new RegExp(/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i);
|
|
22
|
+
let bizplaceIds;
|
|
23
|
+
if (bizplaceId && (bizplaceId == 'ALL' || bizplaceId.match(v4))) {
|
|
24
|
+
let bizplaces = bizplaceId && bizplaceId != 'ALL' ? [bizplaceId] : await (0, biz_base_1.getPermittedBizplaceIds)(domain, user);
|
|
25
|
+
bizplaceIds = bizplaces.map(bizplace => {
|
|
26
|
+
return "'" + (bizplace === null || bizplace === void 0 ? void 0 : bizplace.trim()) + "'";
|
|
27
|
+
}).join(',');
|
|
28
|
+
}
|
|
29
|
+
else
|
|
30
|
+
throw new Error('invalid bizplaceId');
|
|
31
|
+
const expInventories = await tx.query(`
|
|
32
|
+
SELECT "location", sum("expired") AS "expired", SUM("threeMonths") AS "threeMonths", sum("sixMonths") AS "sixMonths", sum("nineMonths") AS "nineMonths" FROM (
|
|
33
|
+
SELECT
|
|
34
|
+
CASE WHEN l.TYPE IN ('QUARANTINE','RESERVE') THEN 'QUARANTINED' ELSE 'IN SHELF' END AS "location",
|
|
35
|
+
CASE WHEN i.expiration_date - now()::date <= 0 THEN 1 ELSE 0 END AS "expired",
|
|
36
|
+
CASE WHEN i.expiration_date - now()::date > 0 AND i.expiration_date - now()::date <= 90 THEN 1 ELSE 0 END AS "threeMonths",
|
|
37
|
+
CASE WHEN i.expiration_date - now()::date > 90 AND i.expiration_date - now()::date <= 180 THEN 1 ELSE 0 END AS "sixMonths",
|
|
38
|
+
CASE WHEN i.expiration_date - now()::date > 180 AND i.expiration_date - now()::date <= 270 THEN 1 ELSE 0 END AS "nineMonths"
|
|
39
|
+
FROM inventories i
|
|
40
|
+
INNER JOIN locations l ON i.location_id = l.id
|
|
41
|
+
WHERE i.expiration_date - now()::date <= 270
|
|
42
|
+
AND i.expiration_date NOTNULL
|
|
43
|
+
AND i.status = 'STORED'
|
|
44
|
+
AND i.domain_id = $1
|
|
45
|
+
AND i.bizplace_id in (${bizplaceIds})
|
|
46
|
+
) AS foo
|
|
47
|
+
GROUP BY "location"
|
|
48
|
+
`, [domain.id]);
|
|
49
|
+
return {
|
|
50
|
+
quarantined: getExpiryCountByStatus(expInventories, 'QUARANTINED'),
|
|
51
|
+
inShelf: getExpiryCountByStatus(expInventories, 'IN SHELF')
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
function getExpiryCountByStatus(expInventories, location) {
|
|
56
|
+
let matchedInv = expInventories.find(inv => inv.location == location);
|
|
57
|
+
if (matchedInv)
|
|
58
|
+
return ((_a) => {
|
|
59
|
+
var { location } = _a, inv = __rest(_a, ["location"]);
|
|
60
|
+
return inv;
|
|
61
|
+
})(matchedInv);
|
|
62
|
+
else
|
|
63
|
+
return { expired: 0, threeMonths: 0, sixMonths: 0, nineMonths: 0 };
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=inventory-expiry-monitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory-expiry-monitor.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/inventory-expiry-monitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,uDAAkE;AAMrD,QAAA,8BAA8B,GAAG;IAC5C,KAAK,CAAC,sBAAsB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;;QAClE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,UAAU,GAAW,CAAA,MAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,0CAAE,KAAK,KAAI,KAAK,CAAA;QAC3G,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,wEAAwE,CAAC,CAAA;QAC/F,IAAI,WAAmB,CAAA;QAEvB,IAAI,UAAU,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAC;YAC5D,IAAI,SAAS,GAAa,UAAU,IAAI,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,kCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACxH,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC3B,OAAO,GAAG,IAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAA,GAAG,GAAG,CAAA;YACrC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACzB;;YAAM,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAE5C,MAAM,cAAc,GAMd,MAAM,EAAE,CAAC,KAAK,CAClB;;;;;;;;;;;;;;gCAc0B,WAAW;;;KAGtC,EACC,CAAC,MAAM,CAAC,EAAE,CAAC,CACZ,CAAA;QAED,OAAO;YACL,WAAW,EAAE,sBAAsB,CAAC,cAAc,EAAE,aAAa,CAAC;YAClE,OAAO,EAAE,sBAAsB,CAAC,cAAc,EAAE,UAAU,CAAC;SAC5D,CAAA;IACH,CAAC;CACF,CAAA;AAED,SAAS,sBAAsB,CAAC,cAAc,EAAE,QAAQ;IACtD,IAAI,UAAU,GAAQ,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAA;IAE1E,IAAI,UAAU;QAAE,OAAO,CAAC,CAAC,EAAoB,EAAE,EAAE;gBAAxB,EAAE,QAAQ,OAAU,EAAL,GAAG,cAAlB,YAAoB,CAAF;YAAO,OAAA,GAAG,CAAA;SAAA,CAAC,CAAC,UAAU,CAAC,CAAA;;QAC7D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;AACzE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.outboundOrderByStatusResolver = void 0;
|
|
4
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
|
+
exports.outboundOrderByStatusResolver = {
|
|
6
|
+
async outboundOrderByStatus(_, params, context) {
|
|
7
|
+
var _a;
|
|
8
|
+
const { domain, user, tx } = context.state;
|
|
9
|
+
const bizplaceId = ((_a = params.filters.find((filter) => filter.name === 'bizplace')) === null || _a === void 0 ? void 0 : _a.value) || 'ALL';
|
|
10
|
+
const v4 = new RegExp(/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i);
|
|
11
|
+
let bizplaceIds = [];
|
|
12
|
+
if (bizplaceId && (bizplaceId == 'ALL' || bizplaceId.match(v4))) {
|
|
13
|
+
bizplaceIds = bizplaceId && bizplaceId != 'ALL' ? [bizplaceId] : await (0, biz_base_1.getPermittedBizplaceIds)(domain, user);
|
|
14
|
+
}
|
|
15
|
+
else
|
|
16
|
+
throw new Error('invalid bizplaceId');
|
|
17
|
+
let items = await tx.query(`Select * from dashboard($1,$2) `, [bizplaceIds, domain.id]);
|
|
18
|
+
const orderStatus = items;
|
|
19
|
+
return orderStatus;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=outbound-order-by-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbound-order-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/outbound-order-by-status.ts"],"names":[],"mappings":";;;AAIA,uDAAkE;AAErD,QAAA,6BAA6B,GAAG;IAC3C,KAAK,CAAC,qBAAqB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;;QACjE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,UAAU,GAAW,CAAA,MAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,0CAAE,KAAK,KAAI,KAAK,CAAA;QAC3G,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,wEAAwE,CAAC,CAAA;QAC/F,IAAI,WAAW,GAAa,EAAE,CAAA;QAE9B,IAAI,UAAU,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE;YAC/D,WAAW,GAAG,UAAU,IAAI,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,kCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;SAC7G;;YAAM,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAE5C,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,iCAAiC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAEvF,MAAM,WAAW,GAAwC,KAAK,CAAA;QAE9D,OAAO,WAAW,CAAA;IACpB,CAAC;CACF,CAAA"}
|