@things-factory/operato-wms 7.0.0-alpha.9 → 7.0.0
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/_index.html +8 -3
- package/client/apptools/dashboard-tool.js +1 -1
- package/client/bootstrap.js +18 -9
- package/client/fetch-board-settings.js +1 -1
- package/client/fetch-location-sorting-rule.js +1 -1
- package/client/fetch-setting-value.js +1 -1
- package/client/pages/adjustment/transfer-inventory.js +5 -5
- package/client/pages/billing/claim-chit/claim-chit-detail.js +4 -4
- package/client/pages/billing/claim-chit/claim-chit-list.js +6 -6
- package/client/pages/billing/claim-chit/create-claim-chit.js +4 -4
- package/client/pages/billing/transport-summary-report.js +3 -3
- package/client/pages/bulk-operation/bulk-operation.js +12 -12
- package/client/pages/bulk-operation/validate-gan-popup.js +3 -3
- package/client/pages/bulk-operation/validate-ro-popup.js +4 -4
- package/client/pages/components/attachment-viewer.js +2 -2
- package/client/pages/components/image-viewer.js +2 -2
- package/client/pages/components/partner-selector.js +12 -13
- package/client/pages/components/popup-note.js +4 -4
- package/client/pages/components/popup-reusable-pallet.js +4 -4
- package/client/pages/components/select-inventory-popup.js +5 -5
- package/client/pages/components/select-product-popup.js +5 -5
- package/client/pages/components/vas-templates/vas-pallet-add-popup.js +4 -4
- package/client/pages/components/vas-templates/vas-relabel.js +2 -2
- package/client/pages/components/vas-templates/vas-repack-relabel.js +3 -3
- package/client/pages/components/vas-templates/vas-repack.js +2 -2
- package/client/pages/components/vas-templates/vas-repalletizing.js +2 -2
- package/client/pages/components/vas-templates/vas-template.js +1 -1
- package/client/pages/components/vas-templates/vas-unpack.js +2 -2
- package/client/pages/components/worksheet-information-popup.js +3 -3
- package/client/pages/constants/picking-strategy.js +1 -1
- package/client/pages/constants/vas-target-type.js +1 -1
- package/client/pages/constants/vas-template.js +1 -1
- package/client/pages/constants/worksheet.js +1 -1
- package/client/pages/inbound/adjust-pallet-qty.js +4 -4
- package/client/pages/inbound/carton-label-popup.js +9 -14
- package/client/pages/inbound/expiry-date-popup.js +2 -2
- package/client/pages/inbound/external-return-worksheet.js +3 -3
- package/client/pages/inbound/inbound-reusable-pallet.js +4 -4
- package/client/pages/inbound/inbound-worksheet.js +3 -3
- package/client/pages/inbound/pallet-label-popup.js +10 -12
- package/client/pages/inbound/palletizing-pallets-popup.js +4 -4
- package/client/pages/inbound/putaway-product.js +9 -10
- package/client/pages/inbound/putaway-same-carton-popup.js +4 -4
- package/client/pages/inbound/putaway-worksheet-generate-popup.js +6 -6
- package/client/pages/inbound/select-location-popup.js +5 -5
- package/client/pages/inbound/select-product-batch.js +4 -4
- package/client/pages/inbound/serial-number-list-popup.js +5 -5
- package/client/pages/inbound/undo-putaway-popup.js +4 -4
- package/client/pages/inbound/undo-unload-popup.js +4 -4
- package/client/pages/inbound/unload-product.js +4 -4
- package/client/pages/inbound/unloaded-inventories-popup.js +5 -5
- package/client/pages/inbound/vas-selector.js +5 -5
- package/client/pages/inbound/worksheet-putaway-return.js +4 -4
- package/client/pages/inbound/worksheet-putaway.js +4 -4
- package/client/pages/inbound/worksheet-unloading-return.js +4 -4
- package/client/pages/inbound/worksheet-unloading.js +3 -3
- package/client/pages/inventory/inventory-adjustment-approval.js +3 -3
- package/client/pages/inventory/inventory-adjustment.js +2 -2
- package/client/pages/inventory/inventory-by-product-detail.js +4 -4
- package/client/pages/inventory/inventory-by-product.js +3 -3
- package/client/pages/inventory/inventory-history-by-pallet.js +4 -4
- package/client/pages/inventory/inventory-history.js +3 -3
- package/client/pages/inventory/non-loaded-inventory.js +3 -3
- package/client/pages/inventory/onhand-inventory.js +2 -2
- package/client/pages/inventory/serial-number-list-popup.js +7 -7
- package/client/pages/inventory-check/check-inventory-popup.js +5 -5
- package/client/pages/inventory-check/create-cycle-count.js +4 -4
- package/client/pages/inventory-check/cycle-count-recheck-popup.js +5 -5
- package/client/pages/inventory-check/cycle-count-report.js +4 -4
- package/client/pages/inventory-check/inspecting-product.js +4 -4
- package/client/pages/inventory-check/inventory-check-list.js +3 -3
- package/client/pages/inventory-check/search-popup.js +6 -6
- package/client/pages/inventory-check/worksheet-cycle-count.js +4 -4
- package/client/pages/manifest/create-loading-manifest.js +4 -4
- package/client/pages/manifest/dispatcher-verification-popup.js +2 -2
- package/client/pages/manifest/loading-manifest-detail.js +4 -4
- package/client/pages/manifest/loading-manifest-list.js +3 -3
- package/client/pages/master/generate-location-list.js +10 -11
- package/client/pages/master/location-list.js +2 -2
- package/client/pages/master/pallet-list.js +2 -2
- package/client/pages/master/print-location-label.js +8 -8
- package/client/pages/master/product/product-detail-bizplace-setting-popup.js +3 -3
- package/client/pages/master/product/product-details-popup.js +4 -4
- package/client/pages/master/product/product-list.js +2 -2
- package/client/pages/master/tote-list.js +2 -2
- package/client/pages/master/transport-driver.js +2 -2
- package/client/pages/master/transport-vehicle.js +2 -2
- package/client/pages/master/warehouse-list.js +2 -2
- package/client/pages/master/worker-list.js +2 -2
- package/client/pages/order/arrival-notice/arrival-notice-detail.js +15 -19
- package/client/pages/order/arrival-notice/arrival-notice-list.js +3 -3
- package/client/pages/order/arrival-notice/arrival-notice-requests.js +3 -3
- package/client/pages/order/arrival-notice/assign-buffer-location.js +12 -13
- package/client/pages/order/arrival-notice/check-arrived-notice.js +12 -13
- package/client/pages/order/arrival-notice/create-arrival-notice.js +8 -9
- package/client/pages/order/arrival-notice/duplicate-arrival-notice.js +13 -14
- package/client/pages/order/arrival-notice/edit-product-popup.js +4 -4
- package/client/pages/order/arrival-notice/proceed-edit-product-popup.js +4 -4
- package/client/pages/order/arrival-notice/receive-arrival-notice.js +12 -13
- package/client/pages/order/arrival-notice/rejected-arrival-notice.js +12 -13
- package/client/pages/order/arrival-notice/view-product-changes-popup.js +4 -4
- package/client/pages/order/draft-release-good/draft-release-good-detail.js +7 -7
- package/client/pages/order/draft-release-good/draft-release-good-list.js +2 -2
- package/client/pages/order/goods-received-note/customer-grn-list.js +3 -3
- package/client/pages/order/goods-received-note/customer-received-note.js +1 -1
- package/client/pages/order/goods-received-note/received-note-detail.js +1 -1
- package/client/pages/order/goods-received-note/received-note-list.js +3 -3
- package/client/pages/order/release-order/b2b/b2b-order-list.js +1 -1
- package/client/pages/order/release-order/b2b/b2b-order-requests.js +2 -2
- package/client/pages/order/release-order/b2c/b2c-order-requests.js +1 -1
- package/client/pages/order/release-order/batch-generate-single-picking-worksheet-popup.js +5 -5
- package/client/pages/order/release-order/batch-picking-popup.js +4 -4
- package/client/pages/order/release-order/bulk-print-packing-list.js +4 -4
- package/client/pages/order/release-order/create-release-order.js +11 -12
- package/client/pages/order/release-order/receive-release-order-request.js +12 -13
- package/client/pages/order/release-order/rejected-release-order.js +12 -13
- package/client/pages/order/release-order/release-extra-product-popup.js +5 -5
- package/client/pages/order/release-order/release-order-detail.js +30 -32
- package/client/pages/order/return-order/check-return-order.js +12 -13
- package/client/pages/order/return-order/create-return-order.js +5 -5
- package/client/pages/order/return-order/receive-return-order-requests.js +12 -13
- package/client/pages/order/return-order/rejected-return-order.js +12 -13
- package/client/pages/order/return-order/return-order-assign-buffer-location.js +12 -13
- package/client/pages/order/return-order/return-order-detail.js +12 -13
- package/client/pages/order/return-order/return-order-inventory-popup.js +4 -4
- package/client/pages/order/return-order/return-order-list.js +3 -3
- package/client/pages/order/return-order/return-order-requests.js +3 -3
- package/client/pages/order/reverse-kitting-order/reverse-kitting-order-detail.js +4 -4
- package/client/pages/order/reverse-kitting-order/reverse-kitting-order-list.js +2 -2
- package/client/pages/order/reverse-kitting-order/reverse-kitting-pallet-label-popup.js +8 -5
- package/client/pages/order/transfer-order/receive-transfer-order-request.js +3 -3
- package/client/pages/order/transfer-order/rejected-transfer-order.js +4 -4
- package/client/pages/order/transfer-order/transfer-order-detail.js +4 -4
- package/client/pages/order/transfer-order/transfer-order-requests.js +3 -3
- package/client/pages/order/transport-order/contact-point-selector-popup.js +6 -6
- package/client/pages/order/transport-order/create-delivery-order.js +5 -5
- package/client/pages/order/transport-order/delivery-note-popup.js +11 -10
- package/client/pages/order/transport-order/delivery-order-list.js +3 -3
- package/client/pages/order/transport-order/print-delivery-note.js +1 -1
- package/client/pages/order/transport-order/transport-driver-popup.js +6 -6
- package/client/pages/order/transport-order/upload-delivery-note.js +7 -7
- package/client/pages/order/transport-order/view-delivery-note.js +1 -1
- package/client/pages/order/vas-order/create-vas-order.js +4 -4
- package/client/pages/order/vas-order/popup/target-product-selector-popup.js +5 -5
- package/client/pages/order/vas-order/popup/vas-create-batch-product-type-form.js +17 -19
- package/client/pages/order/vas-order/popup/vas-create-batch-type-form.js +4 -5
- package/client/pages/order/vas-order/popup/vas-create-etc-type-form.js +1 -1
- package/client/pages/order/vas-order/popup/vas-create-popup.js +38 -38
- package/client/pages/order/vas-order/popup/vas-create-product-type-form.js +6 -7
- package/client/pages/order/vas-order/receive-vas-order.js +4 -4
- package/client/pages/order/vas-order/vas-order-detail.js +4 -4
- package/client/pages/order/vas-order/vas-order-list.js +3 -3
- package/client/pages/order/vas-order/vas-order-requests.js +3 -3
- package/client/pages/outbound/generate-worksheet-popup.js +3 -3
- package/client/pages/outbound/inventory-assign-popup.js +5 -5
- package/client/pages/outbound/inventory-auto-assign-popup.js +4 -4
- package/client/pages/outbound/inventory-reassign-popup.js +5 -5
- package/client/pages/outbound/loading-product.js +4 -4
- package/client/pages/outbound/logistics-init/branch-logistics-popup.js +5 -5
- package/client/pages/outbound/logistics-init/logistics-init-popup.js +3 -3
- package/client/pages/outbound/logistics-init/pickup-logistics-popup.js +5 -5
- package/client/pages/outbound/merged-outbound-worksheet.js +2 -2
- package/client/pages/outbound/order-remark-popup.js +4 -4
- package/client/pages/outbound/outbound-reusable-pallet.js +4 -4
- package/client/pages/outbound/packing-product.js +7 -7
- package/client/pages/outbound/packing-worksheet-list.js +2 -2
- package/client/pages/outbound/picking-product.js +16 -18
- package/client/pages/outbound/picking-replacement-popup.js +6 -6
- package/client/pages/outbound/return-pallet-check-popup.js +4 -4
- package/client/pages/outbound/route-label-popup.js +5 -5
- package/client/pages/outbound/select-operator-popup.js +3 -3
- package/client/pages/outbound/serial-number-popup.js +5 -5
- package/client/pages/outbound/show-my-worksheet-list-popup.js +2 -2
- package/client/pages/outbound/show-ro-list-popup.js +5 -5
- package/client/pages/outbound/single-outbound-worksheet.js +2 -2
- package/client/pages/outbound/sorting-product.js +3 -3
- package/client/pages/outbound/tote-popup.js +5 -5
- package/client/pages/outbound/transport-vehicles-popup.js +6 -6
- package/client/pages/outbound/worksheet-batch-picking.js +4 -4
- package/client/pages/outbound/worksheet-loading.js +4 -4
- package/client/pages/outbound/worksheet-packing.js +4 -4
- package/client/pages/outbound/worksheet-picking.js +4 -4
- package/client/pages/outbound/worksheet-return.js +4 -4
- package/client/pages/outbound/worksheet-sorting.js +4 -4
- package/client/pages/report/costing-report.js +2 -2
- package/client/pages/report/custom-elccl/elccl-daily-collection-report.js +1 -1
- package/client/pages/report/custom-elccl/elccl-daily-order-inventory-report.js +1 -1
- package/client/pages/report/custom-elccl/elccl-delivery-order-summary.js +7 -7
- package/client/pages/report/custom-elccl/elccl-inventory-pallet-detail-report.js +1 -1
- package/client/pages/report/custom-elccl/elccl-inventory-report.js +1 -1
- package/client/pages/report/custom-elccl/elccl-inventory-summary-report.js +1 -1
- package/client/pages/report/inbound-order-details-report.js +2 -2
- package/client/pages/report/inbound-serial-number-report.js +2 -2
- package/client/pages/report/inventory-pallet-report.js +1 -1
- package/client/pages/report/inventory-pallet-storage-report.js +2 -2
- package/client/pages/report/inventory-report.js +1 -1
- package/client/pages/report/inventory-summary-report.js +2 -2
- package/client/pages/report/job-sheet-list.js +2 -2
- package/client/pages/report/job-sheet-popup.js +4 -4
- package/client/pages/report/job-sheet-report.js +1 -1
- package/client/pages/report/outbound-order-details-report.js +2 -2
- package/client/pages/report/outbound-serial-number-report.js +2 -2
- package/client/pages/report/product-label-report.js +1 -1
- package/client/pages/report/release-inventory-report.js +1 -1
- package/client/pages/report/volume-summary-report.js +2 -2
- package/client/pages/support/inventory-comparison.js +3 -3
- package/client/pages/system/location-sorting-rule.js +3 -3
- package/client/pages/vas/abstract-execute-vas.js +3 -3
- package/client/pages/vas/execute-pure-vas.js +2 -2
- package/client/pages/vas/execute-ref-vas.js +3 -3
- package/client/pages/vas/execute-vas.js +2 -2
- package/client/pages/vas/print-product-label.js +2 -2
- package/client/pages/vas/related-vas-list.js +5 -5
- package/client/pages/vas/reverse-kitting/execute-reverse-kitting.js +3 -3
- package/client/pages/vas/reverse-kitting/popup-combination-sets.js +6 -6
- package/client/pages/vas/reverse-kitting/popup-reverse-kitting-template.js +5 -5
- package/client/pages/vas/target-inventory-assignment-popup.js +6 -6
- package/client/pages/vas/vas-pallet-label-popup.js +5 -5
- package/client/pages/vas/vas-worksheet-list.js +7 -7
- package/client/pages/vas/worksheet-ref-vas.js +9 -9
- package/client/pages/vas/worksheet-vas.js +4 -4
- package/client/route.js +1 -1
- package/client/themes/app-theme.css +29 -31
- package/client/themes/auth-theme.css +7 -10
- package/client/themes/report-theme.css +3 -3
- package/config/config.development.js +0 -1
- package/config/config.production.js +2 -2
- package/dist-server/graphql/index.d.ts +6 -0
- package/dist-server/graphql/resolvers/board-setting/board-settings.d.ts +3 -0
- package/dist-server/graphql/resolvers/board-setting/board-settings.js.map +1 -1
- package/dist-server/graphql/resolvers/board-setting/index.d.ts +3 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.d.ts +4 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.d.ts +7 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.d.ts +4 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.d.ts +4 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.d.ts +8 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js +2 -2
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.d.ts +4 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js +1 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/index.d.ts +1 -0
- package/dist-server/graphql/resolvers/custom/elccl/index.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/kimeda/index.d.ts +1 -0
- package/dist-server/graphql/resolvers/custom/kimeda/index.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.d.ts +4 -0
- package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js +1 -0
- package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.d.ts +4 -0
- package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.d.ts +4 -0
- package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.d.ts +4 -0
- package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/index.d.ts +1 -0
- package/dist-server/graphql/resolvers/dashboard/index.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.d.ts +7 -0
- package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.d.ts +7 -0
- package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.d.ts +4 -0
- package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.d.ts +7 -0
- package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js.map +1 -1
- package/dist-server/graphql/resolvers/index.d.ts +15 -0
- package/dist-server/graphql/resolvers/index.js.map +1 -1
- package/dist-server/graphql/resolvers/inventory-comparison/index.d.ts +1 -0
- package/dist-server/graphql/resolvers/inventory-comparison/index.js.map +1 -1
- package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.d.ts +7 -0
- package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js +1 -0
- package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js.map +1 -1
- package/dist-server/graphql/resolvers/opa-menu/index.d.ts +3 -0
- package/dist-server/graphql/resolvers/opa-menu/opa-menus.d.ts +4 -0
- package/dist-server/graphql/resolvers/opa-menu/opa-menus.js.map +1 -1
- package/dist-server/graphql/resolvers/other/add-release-good-products.d.ts +7 -0
- package/dist-server/graphql/resolvers/other/add-release-good-products.js +11 -3
- package/dist-server/graphql/resolvers/other/add-release-good-products.js.map +1 -1
- package/dist-server/graphql/resolvers/other/index.d.ts +13 -0
- package/dist-server/graphql/resolvers/other/page-settings.d.ts +6 -0
- package/dist-server/graphql/resolvers/other/page-settings.js +4 -9
- package/dist-server/graphql/resolvers/other/page-settings.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/costing-report.d.ts +7 -0
- package/dist-server/graphql/resolvers/reports/costing-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.d.ts +7 -0
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.d.ts +7 -0
- package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/index.d.ts +1 -0
- package/dist-server/graphql/resolvers/reports/index.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.d.ts +7 -0
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.d.ts +7 -0
- package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/product-label-report.d.ts +7 -0
- package/dist-server/graphql/resolvers/reports/product-label-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/release-inventory-report.d.ts +7 -0
- package/dist-server/graphql/resolvers/reports/release-inventory-report.js.map +1 -1
- package/dist-server/graphql/resolvers/shipping-provider/index.d.ts +1 -0
- package/dist-server/graphql/resolvers/shipping-provider/index.js.map +1 -1
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.d.ts +6 -0
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js.map +1 -1
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/index.d.ts +8 -0
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.d.ts +9 -0
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js.map +1 -1
- package/dist-server/graphql/types/board-setting/board-setting.d.ts +1 -0
- package/dist-server/graphql/types/board-setting/index.d.ts +2 -0
- package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report-list.d.ts +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report.d.ts +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report-list.d.ts +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report.d.ts +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-report.d.ts +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report-list.d.ts +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report.d.ts +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-pallet-detail-report.d.ts +1 -0
- package/dist-server/graphql/types/custom/elccl/index.d.ts +2 -0
- package/dist-server/graphql/types/custom/kimeda/index.d.ts +1 -0
- package/dist-server/graphql/types/dashboard/index.d.ts +2 -0
- package/dist-server/graphql/types/dashboard/inventory-expiry-counter.d.ts +1 -0
- package/dist-server/graphql/types/dashboard/inventory-expiry-status.d.ts +1 -0
- package/dist-server/graphql/types/dashboard/order-status-counter.d.ts +1 -0
- package/dist-server/graphql/types/index.d.ts +3 -0
- package/dist-server/graphql/types/inventory-comparison/index.d.ts +2 -0
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison-list.d.ts +1 -0
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison.d.ts +1 -0
- package/dist-server/graphql/types/opa-menu/index.d.ts +2 -0
- package/dist-server/graphql/types/opa-menu/opa-menu.d.ts +1 -0
- package/dist-server/graphql/types/other/index.d.ts +3 -0
- package/dist-server/graphql/types/other/page-setting.d.ts +4 -0
- package/dist-server/graphql/types/reports/costing-report-list.d.ts +1 -0
- package/dist-server/graphql/types/reports/costing-report.d.ts +1 -0
- package/dist-server/graphql/types/reports/inbound-order-details-report-list.d.ts +1 -0
- package/dist-server/graphql/types/reports/inbound-order-details-report.d.ts +1 -0
- package/dist-server/graphql/types/reports/inbound-serial-number-report-list.d.ts +1 -0
- package/dist-server/graphql/types/reports/inbound-serial-number-report.d.ts +1 -0
- package/dist-server/graphql/types/reports/index.d.ts +2 -0
- package/dist-server/graphql/types/reports/outbound-order-details-report-list.d.ts +1 -0
- package/dist-server/graphql/types/reports/outbound-order-details-report.d.ts +1 -0
- package/dist-server/graphql/types/reports/outbound-serial-number-report-list.d.ts +1 -0
- package/dist-server/graphql/types/reports/outbound-serial-number-report.d.ts +1 -0
- package/dist-server/graphql/types/reports/product-label-report-list.d.ts +1 -0
- package/dist-server/graphql/types/reports/product-label-report.d.ts +1 -0
- package/dist-server/graphql/types/reports/release-inventory-report-list.d.ts +1 -0
- package/dist-server/graphql/types/reports/release-inventory-report.d.ts +1 -0
- package/dist-server/graphql/types/shipping-provider/index.d.ts +2 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider-list.d.ts +1 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider.d.ts +1 -0
- package/dist-server/graphql/types/warehouse-inventory-adjustment/index.d.ts +1 -0
- package/dist-server/index.d.ts +3 -0
- package/dist-server/migrations/1568858861188-SeedSetting.d.ts +5 -0
- package/dist-server/migrations/1568858861188-SeedSetting.js.map +1 -1
- package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.d.ts +5 -0
- package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js.map +1 -1
- package/dist-server/migrations/1623381200659-SeedStoringRule.d.ts +5 -0
- package/dist-server/migrations/1623381200659-SeedStoringRule.js.map +1 -1
- package/dist-server/migrations/index.d.ts +1 -0
- package/dist-server/opa-app-setting-constants.d.ts +9 -0
- package/dist-server/routes.d.ts +0 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/utils/index.d.ts +1 -0
- package/dist-server/utils/report-query-util.d.ts +4 -0
- package/dist-server/utils/report-query-util.js +1 -2
- package/dist-server/utils/report-query-util.js.map +1 -1
- package/package.json +65 -65
- package/views/auth-page.html +5 -3
- package/views/public/home.html +6 -3
- package/client/themes/grist-theme.css +0 -200
- package/client/themes/layout-theme.css +0 -92
|
@@ -1 +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,
|
|
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,GAAG,wFAChB,2EAAkC,GAClC,0DAA0B,GAC1B,4DAA2B,GAC3B,sFAAuC,GACvC,oEAAmC,GACnC,mEAA8B,CAC3B,CAAA","sourcesContent":["import { elcclInventoryHistorySummaryReport } from './elccl-inventory-history-summary-report'\nimport { elcclDailyCollectionReport } from './elccl-daily-collection-report'\nimport { elcclInventoryHistoryReport } from './elccl-inventory-history-report'\nimport { elcclInventoryHistoryPalletDetailReport } from './elccl-inventory-history-pallet-detail-report'\nimport { elcclOnhandInventoryCounterResolver } from './elccl-onhand-inventory-counter'\nimport { elcclDailyOrderInventoryReport } from './elccl-daily-order-inventory-report'\n\nexport const Query = {\n ...elcclInventoryHistorySummaryReport,\n ...elcclDailyCollectionReport,\n ...elcclInventoryHistoryReport,\n ...elcclInventoryHistoryPalletDetailReport,\n ...elcclOnhandInventoryCounterResolver,\n ...elcclDailyOrderInventoryReport\n} as any\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Query: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/custom/kimeda/index.ts"],"names":[],"mappings":";;;AAAA,uFAAwF;AAE3E,QAAA,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/custom/kimeda/index.ts"],"names":[],"mappings":";;;AAAA,uFAAwF;AAE3E,QAAA,KAAK,GAAG,kBAChB,sEAAoC,CACjC,CAAA","sourcesContent":["import { kimedaOnhandInventoryCounterResolver } from './kimeda-onhand-inventory-counter'\n\nexport const Query = {\n ...kimedaOnhandInventoryCounterResolver\n} as any\n"]}
|
|
@@ -7,6 +7,7 @@ const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
|
7
7
|
exports.kimedaOnhandInventoryCounterResolver = {
|
|
8
8
|
async kimedaOnhandInventoryCounter(_, params, context) {
|
|
9
9
|
let bizplaces = await (0, biz_base_1.getPermittedBizplaceIds)(context.state.domain, context.state.user);
|
|
10
|
+
//@ts-ignore
|
|
10
11
|
bizplaces = bizplaces
|
|
11
12
|
.map(bizplace => {
|
|
12
13
|
return "'" + bizplace.trim() + "'";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kimeda-onhand-inventory-counter.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.ts"],"names":[],"mappings":";;;AAAA,uDAAkE;AAClE,iDAAgE;AAChE,mEAA0D;AAE7C,QAAA,oCAAoC,GAAG;IAClD,KAAK,CAAC,4BAA4B,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QACpF,IAAI,SAAS,GAAG,MAAM,IAAA,kCAAuB,EAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACvF,SAAS,GAAG,SAAS;aAClB,GAAG,CAAC,QAAQ,CAAC,EAAE;YACd,OAAO,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,CAAA;QACpC,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAa,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,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAEvC,OAAO,KAAK,CAAA;IACd,CAAC;CACF,CAAA","sourcesContent":["import { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { getRepository, ListParam } from '@things-factory/shell'\nimport { Inventory } from '@things-factory/warehouse-base'\n\nexport const kimedaOnhandInventoryCounterResolver = {\n async kimedaOnhandInventoryCounter(_: any, params: ListParam, context: ResolverContext) {\n let bizplaces = await getPermittedBizplaceIds(context.state.domain, context.state.user)\n bizplaces = bizplaces\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n const result = await getRepository(Inventory).query(`\n select sum(qty) as total from (\n select l2.name, count(distinct i2.location_id) as qty, string_agg(i2.pallet_id, ', ')\n from inventories i2\n inner join locations l2 on i2.location_id = l2.id\n and i2.domain_id = l2.domain_id\n where i2.status not in ('INTRANSIT', 'TERMINATED', 'DELETED')\n and i2.domain_id = '${context.state.domain.id}'\n and i2.bizplace_id in (${bizplaces})\n and l2.type = 'SHELF'\n group by l2.name\n union all\n select l2.name, count(i2.pallet_id) as qty, string_agg(i2.pallet_id, ', ')\n from inventories i2\n inner join locations l2 on i2.location_id = l2.id\n and i2.domain_id = l2.domain_id\n where i2.status not in ('INTRANSIT', 'TERMINATED', 'DELETED')\n and i2.domain_id = '${context.state.domain.id}'\n and i2.bizplace_id in (${bizplaces})\n and l2.type = 'FLOOR'\n group by l2.name\n ) as foo\n `)\n\n const total = parseInt(result[0].total)\n\n return total\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"kimeda-onhand-inventory-counter.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.ts"],"names":[],"mappings":";;;AAAA,uDAAkE;AAClE,iDAAgE;AAChE,mEAA0D;AAE7C,QAAA,oCAAoC,GAAG;IAClD,KAAK,CAAC,4BAA4B,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QACpF,IAAI,SAAS,GAAG,MAAM,IAAA,kCAAuB,EAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACvF,YAAY;QACZ,SAAS,GAAG,SAAS;aAClB,GAAG,CAAC,QAAQ,CAAC,EAAE;YACd,OAAO,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,CAAA;QACpC,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAa,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,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAEvC,OAAO,KAAK,CAAA;IACd,CAAC;CACF,CAAA","sourcesContent":["import { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { getRepository, ListParam } from '@things-factory/shell'\nimport { Inventory } from '@things-factory/warehouse-base'\n\nexport const kimedaOnhandInventoryCounterResolver = {\n async kimedaOnhandInventoryCounter(_: any, params: ListParam, context: ResolverContext) {\n let bizplaces = await getPermittedBizplaceIds(context.state.domain, context.state.user)\n //@ts-ignore\n bizplaces = bizplaces\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n const result = await getRepository(Inventory).query(`\n select sum(qty) as total from (\n select l2.name, count(distinct i2.location_id) as qty, string_agg(i2.pallet_id, ', ')\n from inventories i2\n inner join locations l2 on i2.location_id = l2.id\n and i2.domain_id = l2.domain_id\n where i2.status not in ('INTRANSIT', 'TERMINATED', 'DELETED')\n and i2.domain_id = '${context.state.domain.id}'\n and i2.bizplace_id in (${bizplaces})\n and l2.type = 'SHELF'\n group by l2.name\n union all\n select l2.name, count(i2.pallet_id) as qty, string_agg(i2.pallet_id, ', ')\n from inventories i2\n inner join locations l2 on i2.location_id = l2.id\n and i2.domain_id = l2.domain_id\n where i2.status not in ('INTRANSIT', 'TERMINATED', 'DELETED')\n and i2.domain_id = '${context.state.domain.id}'\n and i2.bizplace_id in (${bizplaces})\n and l2.type = 'FLOOR'\n group by l2.name\n ) as foo\n `)\n\n const total = parseInt(result[0].total)\n\n return total\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrival-notices-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/arrival-notices-by-status.ts"],"names":[],"mappings":";;;AAEA,uDAAkE;AAClE,2DAA0D;AAC1D,iDAA4E;AAE/D,QAAA,8BAA8B,GAAG;IAC5C,KAAK,CAAC,sBAAsB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;;QAC9E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QACtC,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;
|
|
1
|
+
{"version":3,"file":"arrival-notices-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/arrival-notices-by-status.ts"],"names":[],"mappings":";;;AAEA,uDAAkE;AAClE,2DAA0D;AAC1D,iDAA4E;AAE/D,QAAA,8BAA8B,GAAG;IAC5C,KAAK,CAAC,sBAAsB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;;QAC9E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QACtC,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,CAAC;YAChE,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;QACd,CAAC;;YAAM,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAE5C,MAAM,EAAE,GAAsC,IAAA,qBAAa,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","sourcesContent":["import { SelectQueryBuilder } from 'typeorm'\n\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { ArrivalNotice } from '@things-factory/sales-base'\nimport { buildQuery, getRepository, ListParam } from '@things-factory/shell'\n\nexport const arrivalNoticesByStatusResolver = {\n async arrivalNoticesByStatus(_: any, params: ListParam, context: ResolverContext) {\n const { domain, user } = context.state\n const bizplaceId: string = params.filters.find((filter: any) => filter.name === 'bizplace')?.value || 'ALL'\n params.filters = params.filters.filter(filter => filter.name !== 'bizplace')\n 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)\n let bizplaceIds: string\n\n if (bizplaceId && (bizplaceId == 'ALL' || bizplaceId.match(v4))) {\n let bizplaces: string[] =\n bizplaceId && bizplaceId != 'ALL' ? [bizplaceId] : await getPermittedBizplaceIds(domain, user)\n bizplaceIds = bizplaces\n .map(bizplace => {\n return \"'\" + bizplace?.trim() + \"'\"\n })\n .join(',')\n } else throw new Error('invalid bizplaceId')\n\n const qb: SelectQueryBuilder<ArrivalNotice> = getRepository(ArrivalNotice).createQueryBuilder('an')\n buildQuery(qb, params, context)\n return qb\n .select('an.status', 'status')\n .addSelect('COUNT(*) AS count')\n .andWhere(`an.bizplace_id IN (${bizplaceIds})`)\n .groupBy('an.status')\n .getRawMany()\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-orders-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/collection-orders-by-status.ts"],"names":[],"mappings":";;;AAEA,uDAAkE;AAClE,2DAA4D;AAC5D,iDAA4E;AAE/D,QAAA,gCAAgC,GAAG;IAC9C,KAAK,CAAC,wBAAwB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAChF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"collection-orders-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/collection-orders-by-status.ts"],"names":[],"mappings":";;;AAEA,uDAAkE;AAClE,2DAA4D;AAC5D,iDAA4E;AAE/D,QAAA,gCAAgC,GAAG;IAC9C,KAAK,CAAC,wBAAwB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAChF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;YACtE,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;QACJ,CAAC;QAED,MAAM,EAAE,GAAwC,IAAA,qBAAa,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","sourcesContent":["import { SelectQueryBuilder } from 'typeorm'\n\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { CollectionOrder } from '@things-factory/sales-base'\nimport { buildQuery, getRepository, ListParam } from '@things-factory/shell'\n\nexport const collectionOrdersByStatusResolver = {\n async collectionOrdersByStatus(_: any, params: ListParam, context: ResolverContext) {\n const { domain, user } = context.state\n\n if (!params.filters.find((filter: any) => filter.name === 'bizplace')) {\n params.filters.push({\n name: 'bizplaceId',\n operator: 'in',\n value: await getPermittedBizplaceIds(domain, user),\n relation: false\n })\n }\n\n const qb: SelectQueryBuilder<CollectionOrder> = getRepository(CollectionOrder).createQueryBuilder('co')\n buildQuery(qb, params, context)\n return qb.select('co.status', 'status').addSelect('COUNT(*) AS count').groupBy('co.status').getRawMany()\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-orders-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/delivery-orders-by-status.ts"],"names":[],"mappings":";;;AAEA,uDAAkE;AAClE,2DAA0D;AAC1D,iDAA4E;AAE/D,QAAA,8BAA8B,GAAG;IAC5C,KAAK,CAAC,sBAAsB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAC9E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"delivery-orders-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/delivery-orders-by-status.ts"],"names":[],"mappings":";;;AAEA,uDAAkE;AAClE,2DAA0D;AAC1D,iDAA4E;AAE/D,QAAA,8BAA8B,GAAG;IAC5C,KAAK,CAAC,sBAAsB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAC9E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;YACtE,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;QACJ,CAAC;QAED,MAAM,EAAE,GAAsC,IAAA,qBAAa,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","sourcesContent":["import { SelectQueryBuilder } from 'typeorm'\n\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { DeliveryOrder } from '@things-factory/sales-base'\nimport { buildQuery, getRepository, ListParam } from '@things-factory/shell'\n\nexport const deliveryOrdersByStatusResolver = {\n async deliveryOrdersByStatus(_: any, params: ListParam, context: ResolverContext) {\n const { domain, user } = context.state\n\n if (!params.filters.find((filter: any) => filter.name === 'bizplace')) {\n params.filters.push({\n name: 'bizplaceId',\n operator: 'in',\n value: await getPermittedBizplaceIds(domain, user),\n relation: false\n })\n }\n\n const qb: SelectQueryBuilder<DeliveryOrder> = getRepository(DeliveryOrder).createQueryBuilder('do')\n buildQuery(qb, params, context)\n return qb.select('do.status', 'status').addSelect('COUNT(*) AS count').groupBy('do.status').getRawMany()\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Query: any;
|
|
@@ -1 +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,
|
|
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,GAAG,sGAChB,0DAA8B,GAC9B,8DAAgC,GAChC,0DAA8B,GAC9B,sDAA4B,GAC5B,wDAA6B,GAC7B,yDAA8B,GAC9B,2DAA+B,CAC5B,CAAA","sourcesContent":["import { arrivalNoticesByStatusResolver } from './arrival-notices-by-status'\nimport { collectionOrdersByStatusResolver } from './collection-orders-by-status'\nimport { deliveryOrdersByStatusResolver } from './delivery-orders-by-status'\nimport { inventoryExpiryMonitorResolver } from './inventory-expiry-monitor'\nimport { outboundOrderByStatusResolver } from './outbound-order-by-status'\nimport { releaseGoodsByStatusResolver } from './release-goods-by-status'\nimport { unitInboundedOutboundedResolver } from './unit-inbounded-outbounded'\n\nexport const Query = {\n ...arrivalNoticesByStatusResolver,\n ...collectionOrdersByStatusResolver,\n ...deliveryOrdersByStatusResolver,\n ...releaseGoodsByStatusResolver,\n ...outboundOrderByStatusResolver,\n ...inventoryExpiryMonitorResolver,\n ...unitInboundedOutboundedResolver\n} as any\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory-expiry-monitor.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/inventory-expiry-monitor.ts"],"names":[],"mappings":";;;;AAAA,uDAAkE;AAGrD,QAAA,8BAA8B,GAAG;IAC5C,KAAK,CAAC,sBAAsB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;;QAC9E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,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,EAAE;
|
|
1
|
+
{"version":3,"file":"inventory-expiry-monitor.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/inventory-expiry-monitor.ts"],"names":[],"mappings":";;;;AAAA,uDAAkE;AAGrD,QAAA,8BAA8B,GAAG;IAC5C,KAAK,CAAC,sBAAsB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;;QAC9E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,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,EAAE,CAAC;YAChE,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;QACd,CAAC;;YAAM,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAE5C,MAAM,cAAc,GAMd,MAAM,EAAE,CAAC,KAAK,CAClB;;;;;;;;;;;;;gCAa0B,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,sBAAlB,YAAoB,CAAF;YAAO,OAAA,GAAG,CAAA;SAAA,CAAC,CAAC,UAAU,CAAC,CAAA;;QAC7D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;AACzD,CAAC","sourcesContent":["import { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { ListParam } from '@things-factory/shell'\n\nexport const inventoryExpiryMonitorResolver = {\n async inventoryExpiryMonitor(_: any, params: ListParam, context: ResolverContext) {\n const { domain, user, tx } = context.state\n const bizplaceId: string = params.filters.find((filter: any) => filter.name === 'bizplace')?.value || 'ALL'\n 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)\n let bizplaceIds: string\n\n if (bizplaceId && (bizplaceId == 'ALL' || bizplaceId.match(v4))) {\n let bizplaces: string[] =\n bizplaceId && bizplaceId != 'ALL' ? [bizplaceId] : await getPermittedBizplaceIds(domain, user)\n bizplaceIds = bizplaces\n .map(bizplace => {\n return \"'\" + bizplace?.trim() + \"'\"\n })\n .join(',')\n } else throw new Error('invalid bizplaceId')\n\n const expInventories: {\n location: string\n expired: number\n thirtyDays: number\n fortyFiveDays: number\n sixtyDays: number\n }[] = await tx.query(\n `\n SELECT \"location\", sum(\"expired\") AS \"expired\", sum(\"sixMonths\") AS \"sixMonths\", sum(\"nineMonths\") AS \"nineMonths\" FROM (\n SELECT \n CASE WHEN l.TYPE IN ('QUARANTINE','RESERVE') THEN 'QUARANTINED' ELSE 'IN SHELF' END AS \"location\",\n CASE WHEN i.expiration_date - now()::date <= 0 THEN 1 ELSE 0 END AS \"expired\",\n CASE WHEN i.expiration_date - now()::date > 0 AND i.expiration_date - now()::date <= 180 THEN 1 ELSE 0 END AS \"sixMonths\",\n CASE WHEN i.expiration_date - now()::date > 180 AND i.expiration_date - now()::date <= 270 THEN 1 ELSE 0 END AS \"nineMonths\"\n FROM inventories i\n INNER JOIN locations l ON i.location_id = l.id\n WHERE i.expiration_date - now()::date <= 270\n AND i.expiration_date NOTNULL\n AND i.status = 'STORED'\n AND i.domain_id = $1\n AND i.bizplace_id IN (${bizplaceIds})\n ) AS foo\n GROUP BY \"location\"\n `,\n [domain.id]\n )\n\n return {\n quarantined: getExpiryCountByStatus(expInventories, 'QUARANTINED'),\n inShelf: getExpiryCountByStatus(expInventories, 'IN SHELF')\n }\n }\n}\n\nfunction getExpiryCountByStatus(expInventories, location) {\n let matchedInv: any = expInventories.find(inv => inv.location == location)\n\n if (matchedInv) return (({ location, ...inv }) => inv)(matchedInv)\n else return { expired: 0, sixMonths: 0, nineMonths: 0 }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbound-order-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/outbound-order-by-status.ts"],"names":[],"mappings":";;;AAAA,uDAAkE;AAGrD,QAAA,6BAA6B,GAAG;IAC3C,KAAK,CAAC,qBAAqB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;;QAC7E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,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,EAAE;
|
|
1
|
+
{"version":3,"file":"outbound-order-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/outbound-order-by-status.ts"],"names":[],"mappings":";;;AAAA,uDAAkE;AAGrD,QAAA,6BAA6B,GAAG;IAC3C,KAAK,CAAC,qBAAqB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;;QAC7E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,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,EAAE,CAAC;YAChE,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;QACd,CAAC;;YAAM,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAE5C,MAAM,WAAW,GAAwC,MAAM,EAAE,CAAC,KAAK,CACrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAsCiC,WAAW;;;;;;;;;;;uCAWX,WAAW;;;;;;;;;;;qCAWb,WAAW;;;;oCAIZ,WAAW;;;;;;;oCAOX,WAAW;;;;;;;oCAOX,WAAW;;;;;;qCAMV,WAAW;;;;;;;;sCAQV,WAAW;;;;;;KAM5C,EACC,CAAC,MAAM,CAAC,EAAE,CAAC,CACZ,CAAA;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;CACF,CAAA","sourcesContent":["import { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { ListParam } from '@things-factory/shell'\n\nexport const outboundOrderByStatusResolver = {\n async outboundOrderByStatus(_: any, params: ListParam, context: ResolverContext) {\n const { domain, user, tx } = context.state\n const bizplaceId: string = params.filters.find((filter: any) => filter.name === 'bizplace')?.value || 'ALL'\n 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)\n let bizplaceIds: string\n\n if (bizplaceId && (bizplaceId == 'ALL' || bizplaceId.match(v4))) {\n let bizplaces: string[] =\n bizplaceId && bizplaceId != 'ALL' ? [bizplaceId] : await getPermittedBizplaceIds(domain, user)\n bizplaceIds = bizplaces\n .map(bizplace => {\n return \"'\" + bizplace?.trim() + \"'\"\n })\n .join(',')\n } else throw new Error('invalid bizplaceId')\n\n const orderStatus: { status: string; count: number }[] = await tx.query(\n `\n WITH cte_list (\"status\", \"count\") AS (\n SELECT 'PICKING UNASSIGNED' AS status, 0 AS \"count\"\n UNION\n SELECT 'PICKING ASSIGNED' AS status, 0 AS \"count\"\n UNION\n SELECT 'BATCH PICKING ASSIGNED' AS status, 0 AS \"count\"\n UNION\n SELECT 'PACKING' AS status, 0 AS \"count\"\n UNION\n SELECT 'AWAITING DISPATCH' AS status, 0 AS \"count\"\n UNION\n SELECT 'OUT FROM WAREHOUSE' AS status, 0 AS \"count\"\n UNION\n SELECT 'PENDING MANIFEST CREATION' AS status, 0 AS \"count\"\n UNION\n SELECT 'DONE' AS status, 0 AS \"count\"\n UNION\n SELECT 'PENDING CANCEL' AS status, 0 AS \"count\"\n UNION\n SELECT 'CANCELLED' AS status, 0 AS \"count\"\n UNION\n SELECT 'OTHERS' AS status, 0 AS \"count\"\n UNION\n SELECT 'DRAFT' AS status, 0 AS \"count\"\n ) SELECT l.\"status\", coalesce(src.\"count\", l.\"count\") AS \"count\" \n FROM cte_list l\n LEFT JOIN (\n SELECT \"status\", SUM(\"count\") AS count FROM (\n SELECT \"status\", COUNT(*) AS \"count\" FROM (\n SELECT \n CASE WHEN \"status\" = 'DONE' AND rg.updated_at::date = CURRENT_DATE THEN 'DONE' \n WHEN \"status\" = 'PENDING_CANCEL' THEN 'PENDING CANCEL' \n WHEN \"status\" = 'CANCELLED' AND rg.updated_at::date = CURRENT_DATE THEN 'CANCELLED'\n WHEN \"status\" IN('PENDING_RECEIVE','PENDING_WORKSHEET') THEN 'PICKING UNASSIGNED'\n END AS \"status\" \n FROM release_goods rg\n WHERE \"domain_id\" = $1\n AND rg.\"bizplace_id\" IN (${bizplaceIds})\n AND rg.\"status\" IN ('PENDING','PENDING_RECEIVE','PENDING_WORKSHEET','READY_TO_PICK','PICKING','READY_TO_PACK','PACKING','PENDING_CANCEL','CANCELLED','DONE')\n ) AS foo \n GROUP BY \"status\"\n UNION ALL \n SELECT \"status\", COUNT(*) AS \"count\" FROM (\n SELECT \n CASE WHEN \"dispatchment_status\" = 'DISPATCHED' AND rg.updated_at::date = CURRENT_DATE THEN 'OUT FROM WAREHOUSE' \n END AS \"status\" \n FROM release_goods rg\n WHERE \"domain_id\" = $1\n AND rg.\"bizplace_id\" IN (${bizplaceIds})\n AND rg.\"dispatchment_status\" IN ('READY_TO_DISPATCH', 'DISPATCHED')\n AND rg.\"tracking_no\" NOTNULL\n AND rg.\"type\" = 'b2c'\n ) AS foo \n GROUP BY \"status\"\t\t\n UNION ALL \n SELECT 'AWAITING DISPATCH' AS \"status\", count(*) FROM manifests m \n INNER JOIN release_goods rg ON rg.manifest_id = m.id\n WHERE m.\"status\" in ('OPEN', 'IN_QUEUE') \n AND m.\"domain_id\" = $1\n AND rg.\"bizplace_id\" IN (${bizplaceIds})\n UNION ALL\n SELECT 'PICKING ASSIGNED' AS \"status\", count(*) FROM worksheets w \n WHERE w.\"domain_id\" = $1 \n AND w.\"bizplace_id\" IN (${bizplaceIds})\n AND w.\"type\" = 'PICKING' \n AND w.\"status\" IN ('DEACTIVATED','EXECUTING')\n GROUP BY w.\"status\"\n UNION ALL\n SELECT 'BATCH PICKING ASSIGNED' AS \"status\", count(*) FROM worksheets w \n WHERE w.\"domain_id\" = $1 \n AND w.\"bizplace_id\" IN (${bizplaceIds})\n AND w.\"type\" = 'BATCH_PICKING' \n AND w.\"status\" IN ('DEACTIVATED','EXECUTING')\n GROUP BY w.\"status\"\n UNION ALL\n SELECT 'PACKING' AS \"status\", count(*) FROM worksheets w \n WHERE w.\"domain_id\" = $1 AND w.\"type\" = 'PACKING' \n AND w.\"bizplace_id\" IN (${bizplaceIds})\n AND w.\"status\" IN ('DEACTIVATED','EXECUTING')\n GROUP BY w.\"status\"\n UNION ALL \n SELECT 'PENDING MANIFEST CREATION' AS \"status\", count(*) FROM release_goods rg\n WHERE rg.\"domain_id\" = $1\n AND rg.\"bizplace_id\" IN (${bizplaceIds})\n AND rg.\"status\" = 'DONE'\n AND rg.\"manifest_id\" ISNULL\n AND rg.\"type\" = 'b2c'\n AND rg.\"updated_at\" >= (CURRENT_DATE - 30)\n UNION ALL\n SELECT 'DRAFT' AS \"status\", count(*) FROM draft_release_goods drg \n WHERE drg.\"domain_id\" = $1\n AND drg.\"bizplace_id\" IN (${bizplaceIds})\n AND drg.\"status\" = 'DRAFT'\n AND drg.\"type\" = 'b2c'\n ) AS src\n GROUP BY \"status\"\n ) src ON src.\"status\" = l.\"status\"\n `,\n [domain.id]\n )\n\n return orderStatus\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-goods-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/release-goods-by-status.ts"],"names":[],"mappings":";;;AAEA,uDAAkE;AAClE,2DAAwD;AACxD,iDAA4E;AAE/D,QAAA,4BAA4B,GAAG;IAC1C,KAAK,CAAC,oBAAoB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;;QAC5E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QACtC,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;
|
|
1
|
+
{"version":3,"file":"release-goods-by-status.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/release-goods-by-status.ts"],"names":[],"mappings":";;;AAEA,uDAAkE;AAClE,2DAAwD;AACxD,iDAA4E;AAE/D,QAAA,4BAA4B,GAAG;IAC1C,KAAK,CAAC,oBAAoB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;;QAC5E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QACtC,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,CAAC;YAChE,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;QACd,CAAC;;YAAM,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAE5C,MAAM,EAAE,GAAoC,IAAA,qBAAa,EAAC,wBAAW,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC/F,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","sourcesContent":["import { SelectQueryBuilder } from 'typeorm'\n\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { ReleaseGood } from '@things-factory/sales-base'\nimport { buildQuery, getRepository, ListParam } from '@things-factory/shell'\n\nexport const releaseGoodsByStatusResolver = {\n async releaseGoodsByStatus(_: any, params: ListParam, context: ResolverContext) {\n const { domain, user } = context.state\n const bizplaceId: string = params.filters.find((filter: any) => filter.name === 'bizplace')?.value || 'ALL'\n params.filters = params.filters.filter(filter => filter.name !== 'bizplace')\n 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)\n let bizplaceIds: string\n\n if (bizplaceId && (bizplaceId == 'ALL' || bizplaceId.match(v4))) {\n let bizplaces: string[] =\n bizplaceId && bizplaceId != 'ALL' ? [bizplaceId] : await getPermittedBizplaceIds(domain, user)\n bizplaceIds = bizplaces\n .map(bizplace => {\n return \"'\" + bizplace?.trim() + \"'\"\n })\n .join(',')\n } else throw new Error('invalid bizplaceId')\n\n const qb: SelectQueryBuilder<ReleaseGood> = getRepository(ReleaseGood).createQueryBuilder('rg')\n buildQuery(qb, params, context)\n return qb\n .select('rg.status', 'status')\n .addSelect('COUNT(*) AS count')\n .andWhere(`rg.bizplace_id IN (${bizplaceIds})`)\n .groupBy('rg.status')\n .getRawMany()\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-inbounded-outbounded.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/unit-inbounded-outbounded.ts"],"names":[],"mappings":";;;AAGA,uDAAkE;AAGrD,QAAA,+BAA+B,GAAG;IAC7C,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,MAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"unit-inbounded-outbounded.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/unit-inbounded-outbounded.ts"],"names":[],"mappings":";;;AAGA,uDAAkE;AAGrD,QAAA,+BAA+B,GAAG;IAC7C,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;;QAC/E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,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,QAAQ,GAAW,MAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,0CAAE,KAAK,CAAA;QAClG,MAAM,MAAM,GAAW,MAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,0CAAE,KAAK,CAAA;QAChG,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,CAAC;YAChE,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;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;QACd,CAAC;;YAAM,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAE5C,MAAM,WAAW,GAAwC,MAAM,EAAE,CAAC,KAAK,CACrE;;;;;;;;;;;;;uCAaiC,WAAW;yCACT,QAAQ,UAAU,MAAM;;;;;;;uCAO1B,WAAW;yCACT,QAAQ,UAAU,MAAM;;;;;;OAM1D,EACD,CAAC,MAAM,CAAC,EAAE,CAAC,CACZ,CAAA;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;CACF,CAAA","sourcesContent":["import { getRepository, SelectQueryBuilder, EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { buildQuery, Domain, ListParam } from '@things-factory/shell'\n\nexport const unitInboundedOutboundedResolver = {\n async unitInboundedOutbounded(_: any, params: ListParam, context: ResolverContext) {\n const { domain, user, tx } = context.state\n const bizplaceId: string = params.filters.find((filter: any) => filter.name === 'bizplace')?.value || 'ALL'\n const fromDate: string = params.filters.find((filter: any) => filter.name === 'createdAt1')?.value\n const toDate: string = params.filters.find((filter: any) => filter.name === 'createdAt2')?.value\n 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)\n let bizplaceIds: string\n\n if (bizplaceId && (bizplaceId == 'ALL' || bizplaceId.match(v4))) {\n let bizplaces: string[] = bizplaceId && bizplaceId != 'ALL' ? [bizplaceId] : await getPermittedBizplaceIds(domain, user)\n bizplaceIds = bizplaces\n .map(bizplace => {\n return \"'\" + bizplace?.trim() + \"'\"\n })\n .join(',')\n } else throw new Error('invalid bizplaceId')\n\n const orderStatus: { status: string; count: number }[] = await tx.query(\n `\n WITH cte_unit (\"status\", \"count\", \"type\") AS (\n SELECT 'INBOUNDED' AS status, 0 AS \"count\", 'inbound' AS \"type\"\n UNION\n SELECT 'OUTBOUNDED' AS status, 0 AS \"count\", 'outbound' AS \"type\"\n ) SELECT u.\"status\", coalesce(src.\"count\", u.\"count\") AS \"count\", u.\"type\"\n FROM cte_unit u\n LEFT JOIN (\n SELECT \"status\", SUM(\"count\") AS count, \"type\" FROM (\n SELECT 'INBOUNDED' AS \"status\", SUM(coalesce(op.actual_pack_qty, op.pack_qty)) as \"count\", 'inbound' as \"type\" FROM order_products op\n INNER JOIN arrival_notices an ON an.id = op.arrival_notice_id\n WHERE an.\"status\" in ('PUTTING_AWAY','DONE')\n AND an.\"domain_id\" = $1\n AND an.\"bizplace_id\" IN (${bizplaceIds})\n AND an.created_at BETWEEN '${fromDate}' AND '${toDate}'\n GROUP BY an.\"status\"\n UNION ALL\n SELECT 'OUTBOUNDED' AS \"status\", SUM(coalesce(oi.release_qty , oi.picked_qty)) as \"count\", 'outbound' as \"type\" FROM order_inventories oi\n INNER JOIN release_goods rg on rg.id = oi.release_good_id\n WHERE rg.\"status\" in ('DONE')\n AND rg.\"domain_id\" = $1\n AND rg.\"bizplace_id\" IN (${bizplaceIds})\n AND rg.created_at BETWEEN '${fromDate}' AND '${toDate}'\n GROUP BY rg.\"status\"\n ) AS src\n GROUP BY \"status\", \"type\"\n ) src ON src.\"status\" = u.\"status\"\n order by \"type\", \"status\"\n `,\n [domain.id]\n )\n\n return orderStatus\n }\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const queries: any;
|
|
2
|
+
export declare const mutations: ({
|
|
3
|
+
addReleaseGoodProducts(_: any, { name, orderInventories, existingOrderInventories }: {
|
|
4
|
+
name: any;
|
|
5
|
+
orderInventories: any;
|
|
6
|
+
existingOrderInventories: any;
|
|
7
|
+
}, context: ResolverContext): Promise<void>;
|
|
8
|
+
} | {
|
|
9
|
+
warehouseInventoryAdjustment(_: any, { patches }: {
|
|
10
|
+
patches: any;
|
|
11
|
+
}, context: ResolverContext): Promise<{
|
|
12
|
+
items: import("@things-factory/warehouse-base").InventoryChange[];
|
|
13
|
+
total: number;
|
|
14
|
+
}>;
|
|
15
|
+
})[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/graphql/resolvers/index.ts"],"names":[],"mappings":";;;;AAAA,sEAA+C;AAC/C,oEAA6C;AAC7C,sEAA+C;AAC/C,+DAAwC;AACxC,uDAAgC;AAChC,4DAAqC;AACrC,2DAAoC;AACpC,oFAA6D;AAC7D,+EAAwD;AACxD,uGAAgF;AAEnE,QAAA,OAAO,GAAG;IACrB,YAAY,CAAC,KAAK;IAClB,WAAW,CAAC,KAAK;IACjB,YAAY,CAAC,KAAK;IAClB,SAAS,CAAC,KAAK;IACf,mBAAmB,CAAC,KAAK;IACzB,OAAO,CAAC,KAAK;IACb,KAAK,CAAC,KAAK;IACX,OAAO,CAAC,KAAK;IACb,iBAAiB,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/graphql/resolvers/index.ts"],"names":[],"mappings":";;;;AAAA,sEAA+C;AAC/C,oEAA6C;AAC7C,sEAA+C;AAC/C,+DAAwC;AACxC,uDAAgC;AAChC,4DAAqC;AACrC,2DAAoC;AACpC,oFAA6D;AAC7D,+EAAwD;AACxD,uGAAgF;AAEnE,QAAA,OAAO,GAAG;IACrB,YAAY,CAAC,KAAK;IAClB,WAAW,CAAC,KAAK;IACjB,YAAY,CAAC,KAAK;IAClB,SAAS,CAAC,KAAK;IACf,mBAAmB,CAAC,KAAK;IACzB,OAAO,CAAC,KAAK;IACb,KAAK,CAAC,KAAK;IACX,OAAO,CAAC,KAAK;IACb,iBAAiB,CAAC,KAAK;CACjB,CAAA;AAEK,QAAA,SAAS,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAA","sourcesContent":["import * as BoardSetting from './board-setting'\nimport * as CustomElccl from './custom/elccl'\nimport * as CustomKimeda from './custom/kimeda'\nimport * as Dashboard from './dashboard'\nimport * as Other from './other'\nimport * as OpaMenu from './opa-menu'\nimport * as Reports from './reports'\nimport * as InventoryComparison from './inventory-comparison'\nimport * as ShippingProviders from './shipping-provider'\nimport * as WarehouseInventoryAdjustment from './warehouse-inventory-adjustment'\n\nexport const queries = [\n BoardSetting.Query,\n CustomElccl.Query,\n CustomKimeda.Query,\n Dashboard.Query,\n InventoryComparison.Query,\n OpaMenu.Query,\n Other.Query,\n Reports.Query,\n ShippingProviders.Query\n] as any\n\nexport const mutations = [Other.Mutation, WarehouseInventoryAdjustment.Mutation]\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Query: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/inventory-comparison/index.ts"],"names":[],"mappings":";;;AAAA,2EAAqE;AAExD,QAAA,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/inventory-comparison/index.ts"],"names":[],"mappings":";;;AAAA,2EAAqE;AAExD,QAAA,KAAK,GAAG,kBAChB,mDAAuB,CACpB,CAAA","sourcesContent":["import { inventoryComparisonList } from './inventory-comparison-list'\n\nexport const Query = {\n ...inventoryComparisonList\n} as any\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.inventoryComparisonList = void 0;
|
|
4
|
+
//@ts-ignore
|
|
4
5
|
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
5
6
|
const elccl_inventory_history_summary_report_1 = require("../custom/elccl/elccl-inventory-history-summary-report");
|
|
6
7
|
exports.inventoryComparisonList = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory-comparison-list.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/inventory-comparison/inventory-comparison-list.ts"],"names":[],"mappings":";;;AACA,mEAAkE;AAElE,mHAA2G;AAE9F,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAC/E,IAAI;
|
|
1
|
+
{"version":3,"file":"inventory-comparison-list.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/inventory-comparison/inventory-comparison-list.ts"],"names":[],"mappings":"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","sourcesContent":["import { ListParam } from '@things-factory/shell'\n//@ts-ignore\nimport { onhandInventories } from '@things-factory/warehouse-base'\n\nimport { inventoryHistorySummaryReportQuery } from '../custom/elccl/elccl-inventory-history-summary-report'\n\nexport const inventoryComparisonList = {\n async inventoryComparisonList(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { tx } = context.state\n\n let bizplaceFilter = params.filters.find(data => data.name === 'bizplace')\n\n if (!bizplaceFilter) {\n return\n }\n\n let toDateFilter = params.filters.find(data => data.name === 'toDate')\n let toDateDate = new Date(toDateFilter.value)\n let fromDate = toDateDate.setDate(toDateDate.getDate() - 1)\n let fromDateISO = new Date(fromDate).toISOString()\n let nonTallyFilter = params.filters.find(data => data.name === 'nonTally').value\n let productFilter = params.filters.find(data => data.name === 'product')\n\n params.filters.push({\n name: 'fromDate',\n operator: 'eq',\n value: fromDateISO\n })\n\n params.filters.push(\n { name: 'status', operator: 'notin', value: ['INTRANSIT', 'TERMINATED', 'DELETED'] },\n { name: 'remainOnly', operator: 'eq', value: true },\n { name: 'unlockOnly', operator: 'eq', value: true },\n { name: 'created_at', operator: 'eq', value: toDateFilter.value },\n { name: 'timezoneOffset', operator: 'eq', value: new Date().getTimezoneOffset() },\n { name: 'expiration', operator: 'eq', value: false }\n )\n\n let productQueryFilter = ``\n\n if (productFilter) {\n let products = productFilter.value\n .toLowerCase()\n .split(',')\n .map(prod => {\n return \"'%\" + prod.trim().replace(/'/g, \"''\") + \"%'\"\n })\n .join(',')\n\n productQueryFilter =\n productQueryFilter +\n `\n ${nonTallyFilter ? 'and' : 'where'} (lower(summ.product_name) like any(array[${products}])\n or lower(summ.product_sku) like any(array[${products}]))`\n }\n\n await Promise.all([\n inventoryHistorySummaryReportQuery(_, params, context),\n onhandInventories(params.filters, params.pagination, params.sortings, [], context, false)\n ])\n\n await tx.query(`\n create temp table tmp_inv_comp on commit drop as (\n select summ.\"batch_id\", summ.product_id, summ.product_name, summ.product_sku, summ.packing_type, summ.closing_qty, coalesce(oh.qty, 0) as \"onhand_qty\" from temp_inventory_summary summ \n left join (\t\n select \"batch_id\" as \"batch_id\", product_id, sum(\"qty\") as qty from tmp_data group by \"batch_id\", product_id\n ) oh on oh.batch_id = summ.batch_id and oh.product_id = summ.product_id\n ${nonTallyFilter ? 'where coalesce(oh.qty, 0) <> summ.closing_qty' : ''}\n ${productQueryFilter}\n );\n `)\n\n let sumData = await tx.query(\n `\n select * from tmp_inv_comp\n offset $1 limit $2\n `,\n [(params.pagination.page - 1) * params.pagination.limit, params.pagination.limit]\n )\n\n const totalQuery: number = await tx.query(`select count(*) from tmp_inv_comp `)\n\n const total = parseInt(totalQuery[0].count)\n\n const items: any[] = sumData.map(item => {\n return {\n productName: item.product_name,\n productSku: item.product_sku,\n packingType: item.packing_type,\n closingQty: item.closing_qty,\n remainQty: item.onhand_qty,\n batchId: item.batch_id\n }\n })\n\n return { items, total }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opa-menus.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/opa-menu/opa-menus.ts"],"names":[],"mappings":";;;AAAA,qCAAgD;AAEhD,yDAAsD;AACtD,yDAAgD;AAChD,iDAA6D;AAEhD,QAAA,gBAAgB,GAAG;IAC9B,KAAK,CAAC,QAAQ,CAAC,CAAM,EAAE,OAAY,EAAE,OAAwB;;QAC3D,IAAI,KAAK,GAAW,EAAE,CAAA;QACtB,IAAI,CAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,MAAM,0CAAE,EAAE,MAAI,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,IAAI,0CAAE,EAAE,CAAA,EAAE;
|
|
1
|
+
{"version":3,"file":"opa-menus.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/opa-menu/opa-menus.ts"],"names":[],"mappings":"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","sourcesContent":["import { In, SelectQueryBuilder } from 'typeorm'\n\nimport { Role, User } from '@things-factory/auth-base'\nimport { Menu } from '@things-factory/menu-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nexport const opaMenusResolver = {\n async opaMenus(_: any, _params: any, context: ResolverContext) {\n let menus: Menu[] = []\n if (context?.state?.domain?.id && context?.state?.user?.id) {\n try {\n const qb: SelectQueryBuilder<User> = getRepository(User).createQueryBuilder('USER')\n const user: User = await qb\n .leftJoinAndSelect('USER.roles', 'ROLES')\n .leftJoinAndSelect('ROLES.domain', 'ROLES_DOMAIN')\n .where('USER.id = :userId', { userId: context.state.user.id })\n .andWhere('ROLES_DOMAIN.id = :domainId', { domainId: context.state.domain.id })\n .getOne()\n\n // get menus which are non-restricted by any role.\n menus.push(...(await getNonRestrictedMenus(context.state.domain)))\n\n const userRoleIds: string[] = user.roles.map((role: Role) => role.id)\n let restrictedMenus: Menu[] = []\n if (userRoleIds?.length) {\n // get menus which are restricted by role ()\n restrictedMenus = [...(await getRestrictedMenus(userRoleIds, context.state.domain))]\n }\n\n const restrictedMenuIds: string[] = restrictedMenus.map((restrictedMenu: Menu) => restrictedMenu.id)\n menus.forEach(menu => {\n const idx = restrictedMenuIds.indexOf(menu.id)\n if (idx !== -1) {\n menu.children = Array.from(new Set([...restrictedMenus[idx].children, ...menu.children]))\n }\n })\n\n return menus.filter((groupMenu: Menu) => groupMenu?.children?.length)\n } catch (e) {\n throw e\n }\n }\n }\n}\n\nasync function getNonRestrictedMenus(domain: Domain): Promise<Menu[]> {\n const menus: Menu[] = await getRepository(Menu).find({\n where: { domain: { id: domain.id }, hiddenFlag: false, menuType: 'MENU' },\n relations: ['parent', 'children', 'children.roles'],\n order: { rank: 'ASC' }\n })\n\n menus.forEach(menu => {\n menu.children = menu.children.filter(child => !child.roles?.length)\n })\n\n return menus\n}\n\nasync function getRestrictedMenus(roleIds: string[], domain: Domain): Promise<Menu[]> {\n const menus: Menu[] = await getRepository(Menu).find({\n where: { domain: { id: domain.id }, hiddenFlag: false, menuType: 'MENU' },\n relations: ['parent', 'children', 'children.roles'],\n order: { rank: 'ASC' }\n })\n const userRoles: Role[] = await getRepository(Role).find({ where: { domain: { id: domain.id }, id: In(roleIds) } })\n\n menus.forEach(menu => {\n menu.children = menu.children.filter(child => {\n const childRoleIds = child.roles?.map(role => role.id) || []\n\n return userRoles.find(role => childRoleIds.includes(role.id)) || false\n })\n })\n\n return menus\n}\n"]}
|
|
@@ -58,7 +58,9 @@ exports.addReleaseGoodProducts = {
|
|
|
58
58
|
await tx.getRepository(warehouse_base_1.Inventory).save(foundInv);
|
|
59
59
|
if (existingOrderInv) {
|
|
60
60
|
// if found existing OrderInventory and worksheetDetail then qty, uomValue, and status are updated
|
|
61
|
-
curOrderInv = Object.assign(Object.assign({}, existingOrderInv), { releaseQty: curOrderInv.releaseQty, releaseUomValue: curOrderInv.releaseUomValue,
|
|
61
|
+
curOrderInv = Object.assign(Object.assign({}, existingOrderInv), { releaseQty: curOrderInv.releaseQty, releaseUomValue: curOrderInv.releaseUomValue,
|
|
62
|
+
//@ts-ignore
|
|
63
|
+
lockedUomValue: curOrderInv.lockedUomValue, status: sales_base_1.ORDER_INVENTORY_STATUS.CANCELLED });
|
|
62
64
|
let existingWorksheetDetail = await tx.getRepository(worksheet_base_1.WorksheetDetail).findOne({
|
|
63
65
|
where: {
|
|
64
66
|
worksheet: { id: pickingWorksheet.id },
|
|
@@ -72,13 +74,17 @@ exports.addReleaseGoodProducts = {
|
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
else if (curOrderInv.releaseQty == existingOrderInv.pickedQty) {
|
|
75
|
-
curOrderInv = Object.assign(Object.assign({}, existingOrderInv), { releaseQty: curOrderInv.releaseQty, releaseUomValue: curOrderInv.releaseUomValue,
|
|
77
|
+
curOrderInv = Object.assign(Object.assign({}, existingOrderInv), { releaseQty: curOrderInv.releaseQty, releaseUomValue: curOrderInv.releaseUomValue,
|
|
78
|
+
//@ts-ignore
|
|
79
|
+
lockedUomValue: curOrderInv.lockedUomValue, status: sales_base_1.ORDER_INVENTORY_STATUS.PICKED });
|
|
76
80
|
let existingWorksheetDetail = await tx.getRepository(worksheet_base_1.WorksheetDetail).findOne({
|
|
77
81
|
where: {
|
|
78
82
|
targetInventory: { id: curOrderInv.id }
|
|
79
83
|
}
|
|
80
84
|
});
|
|
81
|
-
existingWorksheetDetail = Object.assign(Object.assign({}, existingWorksheetDetail), {
|
|
85
|
+
existingWorksheetDetail = Object.assign(Object.assign({}, existingWorksheetDetail), {
|
|
86
|
+
//@ts-ignore
|
|
87
|
+
status: worksheet_base_1.WORKSHEET_STATUS.PICKED });
|
|
82
88
|
await tx.getRepository(worksheet_base_1.WorksheetDetail).save(existingWorksheetDetail);
|
|
83
89
|
await tx.getRepository(sales_base_1.OrderInventory).save(curOrderInv);
|
|
84
90
|
}
|
|
@@ -232,11 +238,13 @@ exports.addReleaseGoodProducts = {
|
|
|
232
238
|
// this solution will remove ix_order-inventory_0 unique error
|
|
233
239
|
// ** please revise this resolver in future. looks like there's few
|
|
234
240
|
// things that can refactor
|
|
241
|
+
//@ts-ignore
|
|
235
242
|
savedOrderInv.id = newOrderInv.id;
|
|
236
243
|
}
|
|
237
244
|
savedOrderInv = await tx.getRepository(sales_base_1.OrderInventory).save(savedOrderInv);
|
|
238
245
|
if (!existingOrderInv && pickingWorksheet) {
|
|
239
246
|
// if this is a new orderInventory and has existing worksheet then generate a new worksheet detail for it
|
|
247
|
+
//@ts-ignore
|
|
240
248
|
await (0, worksheet_base_1.generatePickingWorksheetDetail)(tx, domain, user, pickingWorksheet, savedOrderInv);
|
|
241
249
|
}
|
|
242
250
|
}
|