@things-factory/operato-wms 4.3.660 → 4.3.661
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/client/pages/order/arrival-notice/arrival-notice-detail.js +1 -1
- package/client/pages/order/arrival-notice/edit-product-popup.js +1 -1
- package/package.json +2 -2
- package/dist-server/graphql/index.js +0 -33
- package/dist-server/graphql/index.js.map +0 -1
- package/dist-server/graphql/resolvers/board-setting/board-settings.js +0 -78
- package/dist-server/graphql/resolvers/board-setting/board-settings.js.map +0 -1
- package/dist-server/graphql/resolvers/board-setting/index.js +0 -6
- package/dist-server/graphql/resolvers/board-setting/index.js.map +0 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js +0 -87
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js.map +0 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js +0 -138
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js.map +0 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js +0 -124
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js.map +0 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js +0 -159
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js.map +0 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js +0 -90
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js.map +0 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js +0 -34
- package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js.map +0 -1
- package/dist-server/graphql/resolvers/custom/elccl/index.js +0 -11
- package/dist-server/graphql/resolvers/custom/elccl/index.js.map +0 -1
- package/dist-server/graphql/resolvers/custom/kimeda/index.js +0 -6
- package/dist-server/graphql/resolvers/custom/kimeda/index.js.map +0 -1
- package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js +0 -40
- package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js.map +0 -1
- package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js +0 -36
- package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js.map +0 -1
- package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js +0 -24
- package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js.map +0 -1
- package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js +0 -24
- package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js.map +0 -1
- package/dist-server/graphql/resolvers/dashboard/index.js +0 -12
- package/dist-server/graphql/resolvers/dashboard/index.js.map +0 -1
- package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js +0 -65
- package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js.map +0 -1
- package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js +0 -22
- package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js.map +0 -1
- package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js +0 -36
- package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js.map +0 -1
- package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js +0 -56
- package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js.map +0 -1
- package/dist-server/graphql/resolvers/index.js +0 -58
- package/dist-server/graphql/resolvers/index.js.map +0 -1
- package/dist-server/graphql/resolvers/inventory-comparison/index.js +0 -6
- package/dist-server/graphql/resolvers/inventory-comparison/index.js.map +0 -1
- package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js +0 -78
- package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js.map +0 -1
- package/dist-server/graphql/resolvers/opa-menu/index.js +0 -6
- package/dist-server/graphql/resolvers/opa-menu/index.js.map +0 -1
- package/dist-server/graphql/resolvers/opa-menu/opa-menus.js +0 -73
- package/dist-server/graphql/resolvers/opa-menu/opa-menus.js.map +0 -1
- package/dist-server/graphql/resolvers/other/add-release-good-products.js +0 -309
- package/dist-server/graphql/resolvers/other/add-release-good-products.js.map +0 -1
- package/dist-server/graphql/resolvers/other/index.js +0 -8
- package/dist-server/graphql/resolvers/other/index.js.map +0 -1
- package/dist-server/graphql/resolvers/other/page-settings.js +0 -135
- package/dist-server/graphql/resolvers/other/page-settings.js.map +0 -1
- package/dist-server/graphql/resolvers/outbound/complete-load.js +0 -114
- package/dist-server/graphql/resolvers/outbound/complete-load.js.map +0 -1
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js +0 -148
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js.map +0 -1
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js +0 -114
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js.map +0 -1
- package/dist-server/graphql/resolvers/outbound/get-delivery-orders.js +0 -46
- package/dist-server/graphql/resolvers/outbound/get-delivery-orders.js.map +0 -1
- package/dist-server/graphql/resolvers/outbound/get-loading-task.js +0 -100
- package/dist-server/graphql/resolvers/outbound/get-loading-task.js.map +0 -1
- package/dist-server/graphql/resolvers/outbound/index.js +0 -17
- package/dist-server/graphql/resolvers/outbound/index.js.map +0 -1
- package/dist-server/graphql/resolvers/outbound/load-by-qty.js +0 -121
- package/dist-server/graphql/resolvers/outbound/load-by-qty.js.map +0 -1
- package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js +0 -158
- package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js.map +0 -1
- package/dist-server/graphql/resolvers/outbound/my-loading-assignment-status.js +0 -32
- package/dist-server/graphql/resolvers/outbound/my-loading-assignment-status.js.map +0 -1
- package/dist-server/graphql/resolvers/outbound/sort-item.js +0 -66
- package/dist-server/graphql/resolvers/outbound/sort-item.js.map +0 -1
- package/dist-server/graphql/resolvers/outbound/undo-load.js +0 -72
- package/dist-server/graphql/resolvers/outbound/undo-load.js.map +0 -1
- package/dist-server/graphql/resolvers/outbound/warehouse-return.js +0 -101
- package/dist-server/graphql/resolvers/outbound/warehouse-return.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/analysis-picking-packing-report.js +0 -128
- package/dist-server/graphql/resolvers/reports/analysis-picking-packing-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/billing-module-report.js +0 -355
- package/dist-server/graphql/resolvers/reports/billing-module-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/costing-report.js +0 -166
- package/dist-server/graphql/resolvers/reports/costing-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/cycle-count-report.js +0 -311
- package/dist-server/graphql/resolvers/reports/cycle-count-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js +0 -215
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js +0 -140
- package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/index.js +0 -21
- package/dist-server/graphql/resolvers/reports/index.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/manifest-report.js +0 -98
- package/dist-server/graphql/resolvers/reports/manifest-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/non-loaded-inventory-report.js +0 -143
- package/dist-server/graphql/resolvers/reports/non-loaded-inventory-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js +0 -290
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js +0 -143
- package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/pg-udf-query.js +0 -70
- package/dist-server/graphql/resolvers/reports/pg-udf-query.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/product-label-report.js +0 -57
- package/dist-server/graphql/resolvers/reports/product-label-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/release-inventory-report.js +0 -180
- package/dist-server/graphql/resolvers/reports/release-inventory-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/shortage-report.js +0 -165
- package/dist-server/graphql/resolvers/reports/shortage-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/tote-loading-qc-report.js +0 -129
- package/dist-server/graphql/resolvers/reports/tote-loading-qc-report.js.map +0 -1
- package/dist-server/graphql/resolvers/reports/vas-report.js +0 -386
- package/dist-server/graphql/resolvers/reports/vas-report.js.map +0 -1
- package/dist-server/graphql/resolvers/shipping-provider/index.js +0 -6
- package/dist-server/graphql/resolvers/shipping-provider/index.js.map +0 -1
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js +0 -24
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js.map +0 -1
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/index.js +0 -6
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/index.js.map +0 -1
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js +0 -97
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js.map +0 -1
- package/dist-server/graphql/resolvers/zone-worksheet/activate-zone-worksheet.js +0 -91
- package/dist-server/graphql/resolvers/zone-worksheet/activate-zone-worksheet.js.map +0 -1
- package/dist-server/graphql/resolvers/zone-worksheet/assign-sorter.js +0 -36
- package/dist-server/graphql/resolvers/zone-worksheet/assign-sorter.js.map +0 -1
- package/dist-server/graphql/resolvers/zone-worksheet/generate-zone-worksheet.js +0 -106
- package/dist-server/graphql/resolvers/zone-worksheet/generate-zone-worksheet.js.map +0 -1
- package/dist-server/graphql/resolvers/zone-worksheet/get-zone-picking-task.js +0 -108
- package/dist-server/graphql/resolvers/zone-worksheet/get-zone-picking-task.js.map +0 -1
- package/dist-server/graphql/resolvers/zone-worksheet/index.js +0 -12
- package/dist-server/graphql/resolvers/zone-worksheet/index.js.map +0 -1
- package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js +0 -346
- package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js.map +0 -1
- package/dist-server/graphql/resolvers/zone-worksheet/zone-worksheet.js +0 -146
- package/dist-server/graphql/resolvers/zone-worksheet/zone-worksheet.js.map +0 -1
- package/dist-server/graphql/types/board-setting/board-setting.js +0 -16
- package/dist-server/graphql/types/board-setting/board-setting.js.map +0 -1
- package/dist-server/graphql/types/board-setting/index.js +0 -9
- package/dist-server/graphql/types/board-setting/index.js.map +0 -1
- package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report-list.js +0 -14
- package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report-list.js.map +0 -1
- package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report.js +0 -30
- package/dist-server/graphql/types/custom/elccl/elccl-daily-collection-report.js.map +0 -1
- package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report-list.js +0 -14
- package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report-list.js.map +0 -1
- package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report.js +0 -25
- package/dist-server/graphql/types/custom/elccl/elccl-daily-order-inventory-report.js.map +0 -1
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-report.js +0 -22
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-report.js.map +0 -1
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report-list.js +0 -14
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report-list.js.map +0 -1
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report.js +0 -23
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-summary-report.js.map +0 -1
- package/dist-server/graphql/types/custom/elccl/elccl-pallet-detail-report.js +0 -22
- package/dist-server/graphql/types/custom/elccl/elccl-pallet-detail-report.js.map +0 -1
- package/dist-server/graphql/types/custom/elccl/index.js +0 -30
- package/dist-server/graphql/types/custom/elccl/index.js.map +0 -1
- package/dist-server/graphql/types/custom/kimeda/index.js +0 -7
- package/dist-server/graphql/types/custom/kimeda/index.js.map +0 -1
- package/dist-server/graphql/types/dashboard/index.js +0 -17
- package/dist-server/graphql/types/dashboard/index.js.map +0 -1
- package/dist-server/graphql/types/dashboard/inventory-expiry-counter.js +0 -16
- package/dist-server/graphql/types/dashboard/inventory-expiry-counter.js.map +0 -1
- package/dist-server/graphql/types/dashboard/inventory-expiry-status.js +0 -14
- package/dist-server/graphql/types/dashboard/inventory-expiry-status.js.map +0 -1
- package/dist-server/graphql/types/dashboard/order-status-counter.js +0 -14
- package/dist-server/graphql/types/dashboard/order-status-counter.js.map +0 -1
- package/dist-server/graphql/types/index.js +0 -70
- package/dist-server/graphql/types/index.js.map +0 -1
- package/dist-server/graphql/types/inventory-comparison/index.js +0 -13
- package/dist-server/graphql/types/inventory-comparison/index.js.map +0 -1
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison-list.js +0 -14
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison-list.js.map +0 -1
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison.js +0 -18
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison.js.map +0 -1
- package/dist-server/graphql/types/opa-menu/index.js +0 -9
- package/dist-server/graphql/types/opa-menu/index.js.map +0 -1
- package/dist-server/graphql/types/opa-menu/opa-menu.js +0 -45
- package/dist-server/graphql/types/opa-menu/opa-menu.js.map +0 -1
- package/dist-server/graphql/types/other/index.js +0 -21
- package/dist-server/graphql/types/other/index.js.map +0 -1
- package/dist-server/graphql/types/other/page-setting.js +0 -37
- package/dist-server/graphql/types/other/page-setting.js.map +0 -1
- package/dist-server/graphql/types/outbound/delivery-order-info-list.js +0 -14
- package/dist-server/graphql/types/outbound/delivery-order-info-list.js.map +0 -1
- package/dist-server/graphql/types/outbound/index.js +0 -24
- package/dist-server/graphql/types/outbound/index.js.map +0 -1
- package/dist-server/graphql/types/outbound/loading-assignment.js +0 -15
- package/dist-server/graphql/types/outbound/loading-assignment.js.map +0 -1
- package/dist-server/graphql/types/outbound/loading-worksheet-type.js +0 -25
- package/dist-server/graphql/types/outbound/loading-worksheet-type.js.map +0 -1
- package/dist-server/graphql/types/reports/analysis-picking-packing-report-list.js +0 -14
- package/dist-server/graphql/types/reports/analysis-picking-packing-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/analysis-picking-packing-report.js +0 -18
- package/dist-server/graphql/types/reports/analysis-picking-packing-report.js.map +0 -1
- package/dist-server/graphql/types/reports/billing-module-report-list.js +0 -14
- package/dist-server/graphql/types/reports/billing-module-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/billing-module-report.js +0 -15
- package/dist-server/graphql/types/reports/billing-module-report.js.map +0 -1
- package/dist-server/graphql/types/reports/costing-report-list.js +0 -14
- package/dist-server/graphql/types/reports/costing-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/costing-report.js +0 -19
- package/dist-server/graphql/types/reports/costing-report.js.map +0 -1
- package/dist-server/graphql/types/reports/cycle-count-report-list.js +0 -14
- package/dist-server/graphql/types/reports/cycle-count-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/cycle-count-report.js +0 -35
- package/dist-server/graphql/types/reports/cycle-count-report.js.map +0 -1
- package/dist-server/graphql/types/reports/inbound-order-details-report-list.js +0 -14
- package/dist-server/graphql/types/reports/inbound-order-details-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/inbound-order-details-report.js +0 -60
- package/dist-server/graphql/types/reports/inbound-order-details-report.js.map +0 -1
- package/dist-server/graphql/types/reports/inbound-serial-number-report-list.js +0 -14
- package/dist-server/graphql/types/reports/inbound-serial-number-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/inbound-serial-number-report.js +0 -23
- package/dist-server/graphql/types/reports/inbound-serial-number-report.js.map +0 -1
- package/dist-server/graphql/types/reports/index.js +0 -89
- package/dist-server/graphql/types/reports/index.js.map +0 -1
- package/dist-server/graphql/types/reports/loading-qc-report-list.js +0 -14
- package/dist-server/graphql/types/reports/loading-qc-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/loading-qc-report.js +0 -24
- package/dist-server/graphql/types/reports/loading-qc-report.js.map +0 -1
- package/dist-server/graphql/types/reports/manifest-report-list.js +0 -14
- package/dist-server/graphql/types/reports/manifest-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/manifest-report-type.js +0 -23
- package/dist-server/graphql/types/reports/manifest-report-type.js.map +0 -1
- package/dist-server/graphql/types/reports/non-loaded-inventory-report-list.js +0 -14
- package/dist-server/graphql/types/reports/non-loaded-inventory-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/non-loaded-inventory-report.js +0 -23
- package/dist-server/graphql/types/reports/non-loaded-inventory-report.js.map +0 -1
- package/dist-server/graphql/types/reports/outbound-order-details-report-list.js +0 -14
- package/dist-server/graphql/types/reports/outbound-order-details-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/outbound-order-details-report.js +0 -79
- package/dist-server/graphql/types/reports/outbound-order-details-report.js.map +0 -1
- package/dist-server/graphql/types/reports/outbound-serial-number-report-list.js +0 -14
- package/dist-server/graphql/types/reports/outbound-serial-number-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/outbound-serial-number-report.js +0 -25
- package/dist-server/graphql/types/reports/outbound-serial-number-report.js.map +0 -1
- package/dist-server/graphql/types/reports/pg-udf-query-list.js +0 -13
- package/dist-server/graphql/types/reports/pg-udf-query-list.js.map +0 -1
- package/dist-server/graphql/types/reports/product-label-report-list.js +0 -14
- package/dist-server/graphql/types/reports/product-label-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/product-label-report.js +0 -16
- package/dist-server/graphql/types/reports/product-label-report.js.map +0 -1
- package/dist-server/graphql/types/reports/release-inventory-report-list.js +0 -14
- package/dist-server/graphql/types/reports/release-inventory-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/release-inventory-report.js +0 -29
- package/dist-server/graphql/types/reports/release-inventory-report.js.map +0 -1
- package/dist-server/graphql/types/reports/shortage-report-list.js +0 -14
- package/dist-server/graphql/types/reports/shortage-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/shortage-report-type.js +0 -26
- package/dist-server/graphql/types/reports/shortage-report-type.js.map +0 -1
- package/dist-server/graphql/types/reports/vas-report-list.js +0 -20
- package/dist-server/graphql/types/reports/vas-report-list.js.map +0 -1
- package/dist-server/graphql/types/reports/vas-report.js +0 -29
- package/dist-server/graphql/types/reports/vas-report.js.map +0 -1
- package/dist-server/graphql/types/shipping-provider/index.js +0 -10
- package/dist-server/graphql/types/shipping-provider/index.js.map +0 -1
- package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js +0 -13
- package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js.map +0 -1
- package/dist-server/graphql/types/shipping-provider/shipping-provider.js +0 -13
- package/dist-server/graphql/types/shipping-provider/shipping-provider.js.map +0 -1
- package/dist-server/graphql/types/warehouse-inventory-adjustment/index.js +0 -9
- package/dist-server/graphql/types/warehouse-inventory-adjustment/index.js.map +0 -1
- package/dist-server/graphql/types/zone-worksheet/index.js +0 -22
- package/dist-server/graphql/types/zone-worksheet/index.js.map +0 -1
- package/dist-server/graphql/types/zone-worksheet/zone-picking-worksheet.js +0 -18
- package/dist-server/graphql/types/zone-worksheet/zone-picking-worksheet.js.map +0 -1
- package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview-list.js +0 -13
- package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview-list.js.map +0 -1
- package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview.js +0 -16
- package/dist-server/graphql/types/zone-worksheet/zone-worksheet-overview.js.map +0 -1
- package/dist-server/index.js +0 -20
- package/dist-server/index.js.map +0 -1
- package/dist-server/migrations/1568858861188-SeedSetting.js +0 -51
- package/dist-server/migrations/1568858861188-SeedSetting.js.map +0 -1
- package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js +0 -35
- package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js.map +0 -1
- package/dist-server/migrations/1623381200659-SeedStoringRule.js +0 -33
- package/dist-server/migrations/1623381200659-SeedStoringRule.js.map +0 -1
- package/dist-server/migrations/1687413760311-UpdateProductDetailStockQty.js +0 -36
- package/dist-server/migrations/1687413760311-UpdateProductDetailStockQty.js.map +0 -1
- package/dist-server/migrations/1687415141200-InsertNewProductDetailStock.js +0 -32
- package/dist-server/migrations/1687415141200-InsertNewProductDetailStock.js.map +0 -1
- package/dist-server/migrations/index.js +0 -12
- package/dist-server/migrations/index.js.map +0 -1
- package/dist-server/opa-app-setting-constants.js +0 -15
- package/dist-server/opa-app-setting-constants.js.map +0 -1
- package/dist-server/routes.js +0 -3
- package/dist-server/routes.js.map +0 -1
- package/dist-server/utils/index.js +0 -18
- package/dist-server/utils/index.js.map +0 -1
- package/dist-server/utils/report-query-util.js +0 -42
- package/dist-server/utils/report-query-util.js.map +0 -1
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findLoadableReleaseGoodByBin = void 0;
|
|
4
|
-
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
5
|
-
const sales_base_1 = require("@things-factory/sales-base");
|
|
6
|
-
/**
|
|
7
|
-
* Custom error class for outbound order related errors
|
|
8
|
-
* Covers both ReleaseGood and OrderInventory related errors
|
|
9
|
-
*/
|
|
10
|
-
class OutboundOrderError extends Error {
|
|
11
|
-
constructor(message, code) {
|
|
12
|
-
super(message);
|
|
13
|
-
this.code = code;
|
|
14
|
-
this.name = 'OutboundOrderError';
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Builds a query to find a release good by order number
|
|
19
|
-
*/
|
|
20
|
-
const buildfindReleaseGoodByNameQuery = (tx, domainId, orderNo) => {
|
|
21
|
-
return tx
|
|
22
|
-
.getRepository(sales_base_1.ReleaseGood)
|
|
23
|
-
.createQueryBuilder('releaseGood')
|
|
24
|
-
.leftJoinAndSelect('releaseGood.bizplace', 'bizplace')
|
|
25
|
-
.where('releaseGood.domain_id = :domainId', { domainId })
|
|
26
|
-
.andWhere('releaseGood.name = :orderNo', { orderNo })
|
|
27
|
-
.andWhere('releaseGood.status IN (:...status)', {
|
|
28
|
-
status: [sales_base_1.ORDER_STATUS.LOADING, sales_base_1.ORDER_STATUS.PROCESSING, sales_base_1.ORDER_STATUS.PARTIAL_PROCESSING, sales_base_1.ORDER_STATUS.DONE]
|
|
29
|
-
});
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Builds a query to find order inventories by bin location
|
|
33
|
-
*/
|
|
34
|
-
const buildOrderInventoryQuery = (tx, domainId, locationId) => {
|
|
35
|
-
return tx
|
|
36
|
-
.getRepository(sales_base_1.OrderInventory)
|
|
37
|
-
.createQueryBuilder('orderInventory')
|
|
38
|
-
.leftJoinAndSelect('orderInventory.inventory', 'inventory')
|
|
39
|
-
.leftJoinAndSelect('inventory.product', 'product')
|
|
40
|
-
.leftJoinAndSelect('inventory.productDetail', 'productDetail')
|
|
41
|
-
.leftJoinAndSelect('orderInventory.binLocation', 'binLocation')
|
|
42
|
-
.where('orderInventory.domain_id = :domainId', { domainId })
|
|
43
|
-
.andWhere('orderInventory.status IN (:...orderInventoryStatus)', {
|
|
44
|
-
orderInventoryStatus: [
|
|
45
|
-
sales_base_1.ORDER_INVENTORY_STATUS.SORTING,
|
|
46
|
-
sales_base_1.ORDER_INVENTORY_STATUS.LOADING,
|
|
47
|
-
sales_base_1.ORDER_INVENTORY_STATUS.LOADED
|
|
48
|
-
]
|
|
49
|
-
})
|
|
50
|
-
.andWhere('orderInventory.bin_location_id = :locationId', { locationId })
|
|
51
|
-
.orderBy('orderInventory.createdAt', 'ASC');
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* Transforms order inventory data into the required worksheet format
|
|
55
|
-
*/
|
|
56
|
-
const transformToWorksheetFormat = (orderInventories) => {
|
|
57
|
-
if (!orderInventories.length)
|
|
58
|
-
return null;
|
|
59
|
-
// Extract unique bin location names
|
|
60
|
-
const uniqueBinLocations = [...new Set(orderInventories.map(oi => { var _a; return (_a = oi.binLocation) === null || _a === void 0 ? void 0 : _a.name; }).filter(Boolean))];
|
|
61
|
-
return {
|
|
62
|
-
worksheetInfo: {
|
|
63
|
-
worksheet: {
|
|
64
|
-
id: null,
|
|
65
|
-
name: null,
|
|
66
|
-
type: null,
|
|
67
|
-
status: null
|
|
68
|
-
},
|
|
69
|
-
bizplaceName: null,
|
|
70
|
-
startedAt: null,
|
|
71
|
-
releaseGood: null,
|
|
72
|
-
binLocationName: uniqueBinLocations.join(', ') // Join multiple bin locations with comma
|
|
73
|
-
},
|
|
74
|
-
worksheetDetailInfos: orderInventories.map(oi => {
|
|
75
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
76
|
-
return ({
|
|
77
|
-
id: null,
|
|
78
|
-
name: null,
|
|
79
|
-
batchId: oi.batchId,
|
|
80
|
-
releaseQty: oi.releaseQty,
|
|
81
|
-
pickedQty: oi.pickedQty,
|
|
82
|
-
sortedQty: oi.sortedQty,
|
|
83
|
-
status: oi.status,
|
|
84
|
-
packingType: oi.packingType,
|
|
85
|
-
packingSize: oi.packingSize,
|
|
86
|
-
expirationDate: (_a = oi.inventory) === null || _a === void 0 ? void 0 : _a.expirationDate,
|
|
87
|
-
binLocation: {
|
|
88
|
-
name: (_b = oi.binLocation) === null || _b === void 0 ? void 0 : _b.name
|
|
89
|
-
},
|
|
90
|
-
productName: (_d = (_c = oi.inventory) === null || _c === void 0 ? void 0 : _c.product) === null || _d === void 0 ? void 0 : _d.name,
|
|
91
|
-
productSku: (_f = (_e = oi.inventory) === null || _e === void 0 ? void 0 : _e.product) === null || _f === void 0 ? void 0 : _f.sku,
|
|
92
|
-
relatedOrderInv: {
|
|
93
|
-
id: oi.id,
|
|
94
|
-
batchId: oi.batchId,
|
|
95
|
-
packingType: oi.packingType,
|
|
96
|
-
product: ((_g = oi.inventory) === null || _g === void 0 ? void 0 : _g.product)
|
|
97
|
-
? {
|
|
98
|
-
id: oi.inventory.product.id,
|
|
99
|
-
sku: oi.inventory.product.sku,
|
|
100
|
-
name: oi.inventory.product.name
|
|
101
|
-
}
|
|
102
|
-
: null,
|
|
103
|
-
productDetail: ((_h = oi.inventory) === null || _h === void 0 ? void 0 : _h.productDetail)
|
|
104
|
-
? {
|
|
105
|
-
id: oi.inventory.productDetail.id
|
|
106
|
-
}
|
|
107
|
-
: null
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
})
|
|
111
|
-
};
|
|
112
|
-
};
|
|
113
|
-
/**
|
|
114
|
-
* Finds loadable release goods by bin location
|
|
115
|
-
* @param _ - GraphQL resolver parent object
|
|
116
|
-
* @param orderNo - The order number or bin location name to search for
|
|
117
|
-
* @param context - GraphQL context containing domain and transaction manager
|
|
118
|
-
* @returns Promise<Object> - Transformed worksheet data structure
|
|
119
|
-
* @throws OutboundOrderError if order is DONE or if no items found in bin
|
|
120
|
-
*/
|
|
121
|
-
exports.findLoadableReleaseGoodByBin = {
|
|
122
|
-
async findLoadableReleaseGoodByBin(_, { orderNo }, context) {
|
|
123
|
-
const { domain, tx } = context.state;
|
|
124
|
-
let orderInventoryByBin = [];
|
|
125
|
-
let foundReleaseGood = await buildfindReleaseGoodByNameQuery(tx, domain.id, orderNo).getOne();
|
|
126
|
-
if (foundReleaseGood && foundReleaseGood.status == sales_base_1.ORDER_STATUS.DONE) {
|
|
127
|
-
throw new OutboundOrderError('This order is DONE', 'ORDER_DONE');
|
|
128
|
-
}
|
|
129
|
-
else if (foundReleaseGood) {
|
|
130
|
-
throw new OutboundOrderError('You are scanning using order number. Your setting for QC by BIN is enabled. Please contact your administrator.', 'QC_BY_BIN_ENABLED');
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
const binLocation = await tx.getRepository(warehouse_base_1.Location).findOne({
|
|
134
|
-
where: { domain, name: orderNo }
|
|
135
|
-
});
|
|
136
|
-
if (binLocation) {
|
|
137
|
-
orderInventoryByBin = await buildOrderInventoryQuery(tx, domain.id, binLocation.id).getMany();
|
|
138
|
-
}
|
|
139
|
-
if (orderInventoryByBin.length > 0) {
|
|
140
|
-
return transformToWorksheetFormat(orderInventoryByBin);
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
throw new OutboundOrderError('There is no item in this bin', 'NO_ITEMS_IN_BIN');
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
//# sourceMappingURL=find-loadable-release-good-by-bin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"find-loadable-release-good-by-bin.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.ts"],"names":[],"mappings":";;;AAEA,mEAAyD;AAEzD,2DAA8G;AAE9G;;;GAGG;AACH,MAAM,kBAAmB,SAAQ,KAAK;IACpC,YAAY,OAAe,EAAS,IAAY;QAC9C,KAAK,CAAC,OAAO,CAAC,CAAA;QADoB,SAAI,GAAJ,IAAI,CAAQ;QAE9C,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,+BAA+B,GAAG,CAAC,EAAiB,EAAE,QAAgB,EAAE,OAAe,EAAE,EAAE;IAC/F,OAAO,EAAE;SACN,aAAa,CAAC,wBAAW,CAAC;SAC1B,kBAAkB,CAAC,aAAa,CAAC;SACjC,iBAAiB,CAAC,sBAAsB,EAAE,UAAU,CAAC;SACrD,KAAK,CAAC,mCAAmC,EAAE,EAAE,QAAQ,EAAE,CAAC;SACxD,QAAQ,CAAC,6BAA6B,EAAE,EAAE,OAAO,EAAE,CAAC;SACpD,QAAQ,CAAC,oCAAoC,EAAE;QAC9C,MAAM,EAAE,CAAC,yBAAY,CAAC,OAAO,EAAE,yBAAY,CAAC,UAAU,EAAE,yBAAY,CAAC,kBAAkB,EAAE,yBAAY,CAAC,IAAI,CAAC;KAC5G,CAAC,CAAA;AACN,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,wBAAwB,GAAG,CAAC,EAAiB,EAAE,QAAgB,EAAE,UAAkB,EAAE,EAAE;IAC3F,OAAO,EAAE;SACN,aAAa,CAAC,2BAAc,CAAC;SAC7B,kBAAkB,CAAC,gBAAgB,CAAC;SACpC,iBAAiB,CAAC,0BAA0B,EAAE,WAAW,CAAC;SAC1D,iBAAiB,CAAC,mBAAmB,EAAE,SAAS,CAAC;SACjD,iBAAiB,CAAC,yBAAyB,EAAE,eAAe,CAAC;SAC7D,iBAAiB,CAAC,4BAA4B,EAAE,aAAa,CAAC;SAC9D,KAAK,CAAC,sCAAsC,EAAE,EAAE,QAAQ,EAAE,CAAC;SAC3D,QAAQ,CAAC,qDAAqD,EAAE;QAC/D,oBAAoB,EAAE;YACpB,mCAAsB,CAAC,OAAO;YAC9B,mCAAsB,CAAC,OAAO;YAC9B,mCAAsB,CAAC,MAAM;SAC9B;KACF,CAAC;SACD,QAAQ,CAAC,8CAA8C,EAAE,EAAE,UAAU,EAAE,CAAC;SACxE,OAAO,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,0BAA0B,GAAG,CAAC,gBAAkC,EAAE,EAAE;IACxE,IAAI,CAAC,gBAAgB,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAEzC,oCAAoC;IACpC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,WAAC,OAAA,MAAA,EAAE,CAAC,WAAW,0CAAE,IAAI,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAEzG,OAAO;QACL,aAAa,EAAE;YACb,SAAS,EAAE;gBACT,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI;aACb;YACD,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,yCAAyC;SACzF;QACD,oBAAoB,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;;YAAC,OAAA,CAAC;gBAChD,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,UAAU,EAAE,EAAE,CAAC,UAAU;gBACzB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,WAAW,EAAE,EAAE,CAAC,WAAW;gBAC3B,WAAW,EAAE,EAAE,CAAC,WAAW;gBAC3B,cAAc,EAAE,MAAA,EAAE,CAAC,SAAS,0CAAE,cAAc;gBAC5C,WAAW,EAAE;oBACX,IAAI,EAAE,MAAA,EAAE,CAAC,WAAW,0CAAE,IAAI;iBAC3B;gBACD,WAAW,EAAE,MAAA,MAAA,EAAE,CAAC,SAAS,0CAAE,OAAO,0CAAE,IAAI;gBACxC,UAAU,EAAE,MAAA,MAAA,EAAE,CAAC,SAAS,0CAAE,OAAO,0CAAE,GAAG;gBACtC,eAAe,EAAE;oBACf,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,OAAO,EAAE,EAAE,CAAC,OAAO;oBACnB,WAAW,EAAE,EAAE,CAAC,WAAW;oBAC3B,OAAO,EAAE,CAAA,MAAA,EAAE,CAAC,SAAS,0CAAE,OAAO;wBAC5B,CAAC,CAAC;4BACE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;4BAC3B,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;4BAC7B,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI;yBAChC;wBACH,CAAC,CAAC,IAAI;oBACR,aAAa,EAAE,CAAA,MAAA,EAAE,CAAC,SAAS,0CAAE,aAAa;wBACxC,CAAC,CAAC;4BACE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;yBAClC;wBACH,CAAC,CAAC,IAAI;iBACT;aACF,CAAC,CAAA;SAAA,CAAC;KACJ,CAAA;AACH,CAAC,CAAA;AAED;;;;;;;GAOG;AACU,QAAA,4BAA4B,GAAG;IAC1C,KAAK,CAAC,4BAA4B,CAAC,CAAM,EAAE,EAAE,OAAO,EAAuB,EAAE,OAAY;QACvF,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAA0C,OAAO,CAAC,KAAK,CAAA;QAE3E,IAAI,mBAAmB,GAAqB,EAAE,CAAA;QAE9C,IAAI,gBAAgB,GAAgB,MAAM,+BAA+B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;QAE1G,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,IAAI,yBAAY,CAAC,IAAI,EAAE;YACpE,MAAM,IAAI,kBAAkB,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAA;SACjE;aAAM,IAAI,gBAAgB,EAAE;YAC3B,MAAM,IAAI,kBAAkB,CAC1B,gHAAgH,EAChH,mBAAmB,CACpB,CAAA;SACF;aAAM;YACL,MAAM,WAAW,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,yBAAQ,CAAC,CAAC,OAAO,CAAC;gBACrE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;aACjC,CAAC,CAAA;YAEF,IAAI,WAAW,EAAE;gBACf,mBAAmB,GAAG,MAAM,wBAAwB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;aAC9F;YAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,OAAO,0BAA0B,CAAC,mBAAmB,CAAC,CAAA;aACvD;iBAAM;gBACL,MAAM,IAAI,kBAAkB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAA;aAChF;SACF;IACH,CAAC;CACF,CAAA"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findLoadableReleaseGood = void 0;
|
|
4
|
-
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
5
|
-
const sales_base_1 = require("@things-factory/sales-base");
|
|
6
|
-
exports.findLoadableReleaseGood = {
|
|
7
|
-
async findLoadableReleaseGood(_, { orderNo, tabName }, context) {
|
|
8
|
-
const { domain, tx } = context.state;
|
|
9
|
-
let releaseGoods = [];
|
|
10
|
-
//put query in util same as find-loadable-release-good-by-bin.ts
|
|
11
|
-
//jiahhao
|
|
12
|
-
let foundReleaseGood = await tx
|
|
13
|
-
.getRepository(sales_base_1.ReleaseGood)
|
|
14
|
-
.createQueryBuilder('releaseGood')
|
|
15
|
-
.where('releaseGood.domain_id = :domainId', { domainId: domain.id })
|
|
16
|
-
.andWhere('releaseGood.name = :orderNo', { orderNo })
|
|
17
|
-
.andWhere('releaseGood.status IN (:...status)', {
|
|
18
|
-
status: [sales_base_1.ORDER_STATUS.LOADING, sales_base_1.ORDER_STATUS.PROCESSING, sales_base_1.ORDER_STATUS.PARTIAL_PROCESSING, sales_base_1.ORDER_STATUS.DONE]
|
|
19
|
-
})
|
|
20
|
-
.getOne();
|
|
21
|
-
if (foundReleaseGood && foundReleaseGood.status == sales_base_1.ORDER_STATUS.DONE) {
|
|
22
|
-
throw new Error('This order is DONE');
|
|
23
|
-
}
|
|
24
|
-
else if (foundReleaseGood) {
|
|
25
|
-
// Get counts for single release good
|
|
26
|
-
const counts = await tx
|
|
27
|
-
.getRepository(sales_base_1.OrderInventory)
|
|
28
|
-
.createQueryBuilder('orderInventory')
|
|
29
|
-
.select('COUNT(*)', 'total')
|
|
30
|
-
.addSelect(`SUM(CASE WHEN orderInventory.status IN (:...completedStatuses) THEN 1 ELSE 0 END)`, 'completed')
|
|
31
|
-
.where('orderInventory.release_good_id = :releaseGoodId', { releaseGoodId: foundReleaseGood.id })
|
|
32
|
-
.andWhere('orderInventory.domain_id = :domainId', { domainId: domain.id })
|
|
33
|
-
.setParameter('completedStatuses', tabName === 'QC'
|
|
34
|
-
? [sales_base_1.ORDER_INVENTORY_STATUS.LOADING, sales_base_1.ORDER_INVENTORY_STATUS.LOADED]
|
|
35
|
-
: tabName === 'LOADING'
|
|
36
|
-
? [sales_base_1.ORDER_INVENTORY_STATUS.LOADED]
|
|
37
|
-
: [sales_base_1.ORDER_INVENTORY_STATUS.LOADED])
|
|
38
|
-
.getRawOne();
|
|
39
|
-
foundReleaseGood['itemCounts'] = {
|
|
40
|
-
total: parseInt(counts.total) || 0,
|
|
41
|
-
pending: parseInt(counts.completed) || 0
|
|
42
|
-
};
|
|
43
|
-
releaseGoods.push(foundReleaseGood);
|
|
44
|
-
return releaseGoods;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
const binLocation = await tx.getRepository(warehouse_base_1.Location).findOne({
|
|
48
|
-
where: { domain, name: orderNo }
|
|
49
|
-
});
|
|
50
|
-
if (binLocation) {
|
|
51
|
-
// First get all matching release goods
|
|
52
|
-
const orderInventoryByBin = await tx
|
|
53
|
-
.getRepository(sales_base_1.OrderInventory)
|
|
54
|
-
.createQueryBuilder('orderInventory')
|
|
55
|
-
.innerJoinAndSelect('orderInventory.releaseGood', 'releaseGood')
|
|
56
|
-
.innerJoinAndSelect('releaseGood.bizplace', 'bizplace')
|
|
57
|
-
.innerJoinAndSelect('bizplace.domain', 'domain')
|
|
58
|
-
.leftJoinAndSelect('releaseGood.sortedBy', 'sortedBy')
|
|
59
|
-
.where('orderInventory.domain_id = :domainId', { domainId: domain.id })
|
|
60
|
-
.andWhere('orderInventory.status = :orderInventoryStatus', {
|
|
61
|
-
orderInventoryStatus: tabName === 'QC'
|
|
62
|
-
? sales_base_1.ORDER_INVENTORY_STATUS.SORTING
|
|
63
|
-
: tabName === 'LOADING'
|
|
64
|
-
? sales_base_1.ORDER_INVENTORY_STATUS.LOADING
|
|
65
|
-
: sales_base_1.ORDER_INVENTORY_STATUS.LOADED
|
|
66
|
-
})
|
|
67
|
-
.andWhere('orderInventory.bin_location_id = :locationId', { locationId: binLocation.id })
|
|
68
|
-
.andWhere('releaseGood.status IN (:...status)', {
|
|
69
|
-
status: [sales_base_1.ORDER_STATUS.LOADING, sales_base_1.ORDER_STATUS.PROCESSING, sales_base_1.ORDER_STATUS.PARTIAL_PROCESSING]
|
|
70
|
-
})
|
|
71
|
-
.orderBy('releaseGood.createdAt', 'ASC')
|
|
72
|
-
.getMany();
|
|
73
|
-
// Get unique release goods
|
|
74
|
-
releaseGoods = orderInventoryByBin.reduce((acc, oi) => {
|
|
75
|
-
if (!acc.some(rg => rg.id === oi.releaseGood.id)) {
|
|
76
|
-
acc.push(oi.releaseGood);
|
|
77
|
-
}
|
|
78
|
-
return acc;
|
|
79
|
-
}, []);
|
|
80
|
-
// Get counts for each release good
|
|
81
|
-
for (const releaseGood of releaseGoods) {
|
|
82
|
-
const counts = await tx
|
|
83
|
-
.getRepository(sales_base_1.OrderInventory)
|
|
84
|
-
.createQueryBuilder('orderInventory')
|
|
85
|
-
.select('COUNT(*)', 'total')
|
|
86
|
-
.addSelect(`SUM(CASE WHEN orderInventory.status IN (:...completedStatuses) THEN 1 ELSE 0 END)`, 'completed')
|
|
87
|
-
.where('orderInventory.release_good_id = :releaseGoodId', { releaseGoodId: releaseGood.id })
|
|
88
|
-
.andWhere('orderInventory.domain_id = :domainId', { domainId: domain.id })
|
|
89
|
-
.setParameter('completedStatuses', tabName === 'LOADING'
|
|
90
|
-
? [sales_base_1.ORDER_INVENTORY_STATUS.LOADING]
|
|
91
|
-
: tabName === 'LOADED'
|
|
92
|
-
? [sales_base_1.ORDER_INVENTORY_STATUS.LOADED]
|
|
93
|
-
: [sales_base_1.ORDER_INVENTORY_STATUS.LOADED])
|
|
94
|
-
.getRawOne();
|
|
95
|
-
releaseGood['itemCounts'] = {
|
|
96
|
-
total: parseInt(counts.total) || 0,
|
|
97
|
-
pending: parseInt(counts.completed) || 0
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
if (releaseGoods.length > 0)
|
|
102
|
-
return releaseGoods;
|
|
103
|
-
else {
|
|
104
|
-
const errorMessage = tabName === 'QC'
|
|
105
|
-
? 'No items pending QC verification'
|
|
106
|
-
: tabName === 'LOADING'
|
|
107
|
-
? 'No items pending loading'
|
|
108
|
-
: 'No items pending dispatch';
|
|
109
|
-
throw new Error(errorMessage);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
//# sourceMappingURL=find-loadable-release-good.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"find-loadable-release-good.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/outbound/find-loadable-release-good.ts"],"names":[],"mappings":";;;AAEA,mEAAyD;AAEzD,2DAA8G;AAEjG,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,OAAY;QACtE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAA0C,OAAO,CAAC,KAAK,CAAA;QAE3E,IAAI,YAAY,GAAG,EAAE,CAAA;QAErB,gEAAgE;QAChE,SAAS;QACT,IAAI,gBAAgB,GAAgB,MAAM,EAAE;aACzC,aAAa,CAAC,wBAAW,CAAC;aAC1B,kBAAkB,CAAC,aAAa,CAAC;aACjC,KAAK,CAAC,mCAAmC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;aACnE,QAAQ,CAAC,6BAA6B,EAAE,EAAE,OAAO,EAAE,CAAC;aACpD,QAAQ,CAAC,oCAAoC,EAAE;YAC9C,MAAM,EAAE,CAAC,yBAAY,CAAC,OAAO,EAAE,yBAAY,CAAC,UAAU,EAAE,yBAAY,CAAC,kBAAkB,EAAE,yBAAY,CAAC,IAAI,CAAC;SAC5G,CAAC;aACD,MAAM,EAAE,CAAA;QAEX,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,IAAI,yBAAY,CAAC,IAAI,EAAE;YACpE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;SACtC;aAAM,IAAI,gBAAgB,EAAE;YAC3B,qCAAqC;YACrC,MAAM,MAAM,GAAG,MAAM,EAAE;iBACpB,aAAa,CAAC,2BAAc,CAAC;iBAC7B,kBAAkB,CAAC,gBAAgB,CAAC;iBACpC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC;iBAC3B,SAAS,CAAC,mFAAmF,EAAE,WAAW,CAAC;iBAC3G,KAAK,CAAC,iDAAiD,EAAE,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC;iBAChG,QAAQ,CAAC,sCAAsC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;iBACzE,YAAY,CACX,mBAAmB,EACnB,OAAO,KAAK,IAAI;gBACd,CAAC,CAAC,CAAC,mCAAsB,CAAC,OAAO,EAAE,mCAAsB,CAAC,MAAM,CAAC;gBACjE,CAAC,CAAC,OAAO,KAAK,SAAS;oBACvB,CAAC,CAAC,CAAC,mCAAsB,CAAC,MAAM,CAAC;oBACjC,CAAC,CAAC,CAAC,mCAAsB,CAAC,MAAM,CAAC,CACpC;iBACA,SAAS,EAAE,CAAA;YAEd,gBAAgB,CAAC,YAAY,CAAC,GAAG;gBAC/B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAClC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;aACzC,CAAA;YAED,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YACnC,OAAO,YAAY,CAAA;SACpB;aAAM;YACL,MAAM,WAAW,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,yBAAQ,CAAC,CAAC,OAAO,CAAC;gBACrE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;aACjC,CAAC,CAAA;YAEF,IAAI,WAAW,EAAE;gBACf,uCAAuC;gBACvC,MAAM,mBAAmB,GAAqB,MAAM,EAAE;qBACnD,aAAa,CAAC,2BAAc,CAAC;qBAC7B,kBAAkB,CAAC,gBAAgB,CAAC;qBACpC,kBAAkB,CAAC,4BAA4B,EAAE,aAAa,CAAC;qBAC/D,kBAAkB,CAAC,sBAAsB,EAAE,UAAU,CAAC;qBACtD,kBAAkB,CAAC,iBAAiB,EAAE,QAAQ,CAAC;qBAC/C,iBAAiB,CAAC,sBAAsB,EAAE,UAAU,CAAC;qBACrD,KAAK,CAAC,sCAAsC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;qBACtE,QAAQ,CAAC,+CAA+C,EAAE;oBACzD,oBAAoB,EAClB,OAAO,KAAK,IAAI;wBACd,CAAC,CAAC,mCAAsB,CAAC,OAAO;wBAChC,CAAC,CAAC,OAAO,KAAK,SAAS;4BACvB,CAAC,CAAC,mCAAsB,CAAC,OAAO;4BAChC,CAAC,CAAC,mCAAsB,CAAC,MAAM;iBACpC,CAAC;qBACD,QAAQ,CAAC,8CAA8C,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;qBACxF,QAAQ,CAAC,oCAAoC,EAAE;oBAC9C,MAAM,EAAE,CAAC,yBAAY,CAAC,OAAO,EAAE,yBAAY,CAAC,UAAU,EAAE,yBAAY,CAAC,kBAAkB,CAAC;iBACzF,CAAC;qBACD,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC;qBACvC,OAAO,EAAE,CAAA;gBAEZ,2BAA2B;gBAC3B,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;oBACpD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;wBAChD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;qBACzB;oBACD,OAAO,GAAG,CAAA;gBACZ,CAAC,EAAE,EAAE,CAAC,CAAA;gBAEN,mCAAmC;gBACnC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;oBACtC,MAAM,MAAM,GAAG,MAAM,EAAE;yBACpB,aAAa,CAAC,2BAAc,CAAC;yBAC7B,kBAAkB,CAAC,gBAAgB,CAAC;yBACpC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC;yBAC3B,SAAS,CAAC,mFAAmF,EAAE,WAAW,CAAC;yBAC3G,KAAK,CAAC,iDAAiD,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;yBAC3F,QAAQ,CAAC,sCAAsC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;yBACzE,YAAY,CACX,mBAAmB,EACnB,OAAO,KAAK,SAAS;wBACnB,CAAC,CAAC,CAAC,mCAAsB,CAAC,OAAO,CAAC;wBAClC,CAAC,CAAC,OAAO,KAAK,QAAQ;4BACtB,CAAC,CAAC,CAAC,mCAAsB,CAAC,MAAM,CAAC;4BACjC,CAAC,CAAC,CAAC,mCAAsB,CAAC,MAAM,CAAC,CACpC;yBACA,SAAS,EAAE,CAAA;oBAEd,WAAW,CAAC,YAAY,CAAC,GAAG;wBAC1B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;wBAClC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;qBACzC,CAAA;iBACF;aACF;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,YAAY,CAAA;iBAC3C;gBACH,MAAM,YAAY,GAChB,OAAO,KAAK,IAAI;oBACd,CAAC,CAAC,kCAAkC;oBACpC,CAAC,CAAC,OAAO,KAAK,SAAS;wBACvB,CAAC,CAAC,0BAA0B;wBAC5B,CAAC,CAAC,2BAA2B,CAAA;gBACjC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;aAC9B;SACF;IACH,CAAC;CACF,CAAA"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDeliveryOrders = void 0;
|
|
4
|
-
const typeorm_1 = require("typeorm");
|
|
5
|
-
const sales_base_1 = require("@things-factory/sales-base");
|
|
6
|
-
const setting_base_1 = require("@things-factory/setting-base");
|
|
7
|
-
const SETTINGS = {
|
|
8
|
-
QC_SKU: 'qc-sku'
|
|
9
|
-
};
|
|
10
|
-
exports.getDeliveryOrders = {
|
|
11
|
-
async getDeliveryOrders(_, { releaseGoodNo }, context) {
|
|
12
|
-
var _a, _b;
|
|
13
|
-
const { domain, tx } = context.state;
|
|
14
|
-
const releaseGood = await (0, typeorm_1.getRepository)(sales_base_1.ReleaseGood).findOne({
|
|
15
|
-
where: { domain, name: releaseGoodNo },
|
|
16
|
-
relations: ['orderInventories']
|
|
17
|
-
});
|
|
18
|
-
if (!releaseGood) {
|
|
19
|
-
throw new Error(`ReleaseGood with name ${releaseGoodNo} not found`);
|
|
20
|
-
}
|
|
21
|
-
const complete_status = [sales_base_1.ORDER_INVENTORY_STATUS.LOADED, sales_base_1.ORDER_INVENTORY_STATUS.TERMINATED, sales_base_1.ORDER_INVENTORY_STATUS.RETURNING, sales_base_1.ORDER_INVENTORY_STATUS.MISSING];
|
|
22
|
-
const completable = (_a = releaseGood.orderInventories) === null || _a === void 0 ? void 0 : _a.every(oi => complete_status.includes(oi.status));
|
|
23
|
-
const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, typeorm_1.getRepository)(setting_base_1.Setting);
|
|
24
|
-
const qcSetting = await settingRepo.findOne({
|
|
25
|
-
where: { domain, name: SETTINGS.QC_SKU }
|
|
26
|
-
});
|
|
27
|
-
const useQcSku = ((_b = qcSetting === null || qcSetting === void 0 ? void 0 : qcSetting.value) === null || _b === void 0 ? void 0 : _b.toString().toLowerCase().trim()) === 'true';
|
|
28
|
-
let deliveryOrders = await (0, typeorm_1.getRepository)(sales_base_1.DeliveryOrder).find({
|
|
29
|
-
where: { releaseGood },
|
|
30
|
-
relations: ['orderInventories', 'orderInventories.inventory', 'orderInventories.product']
|
|
31
|
-
});
|
|
32
|
-
if (useQcSku) {
|
|
33
|
-
deliveryOrders = deliveryOrders
|
|
34
|
-
.map((do_) => {
|
|
35
|
-
const liveOIs = do_.orderInventories.filter((oi) => oi.status !== sales_base_1.ORDER_INVENTORY_STATUS.TERMINATED);
|
|
36
|
-
return Object.assign(Object.assign({}, do_), { orderInventories: liveOIs });
|
|
37
|
-
})
|
|
38
|
-
.filter((do_) => do_.orderInventories.length > 0);
|
|
39
|
-
}
|
|
40
|
-
return {
|
|
41
|
-
completable: completable,
|
|
42
|
-
deliveryOrders: deliveryOrders
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=get-delivery-orders.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-delivery-orders.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/outbound/get-delivery-orders.ts"],"names":[],"mappings":";;;AAAA,qCAAkE;AAGlE,2DAA+F;AAC/F,+DAAsD;AAEtD,MAAM,QAAQ,GAAG;IACf,MAAM,EAAE,QAAQ;CACjB,CAAA;AAEY,QAAA,iBAAiB,GAAG;IAC/B,KAAK,CAAC,iBAAiB,CAAC,CAAM,EAAE,EAAE,aAAa,EAAE,EAAE,OAAY;;QAC7D,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAA0C,OAAO,CAAC,KAAK,CAAA;QAE3E,MAAM,WAAW,GAAgB,MAAM,IAAA,uBAAa,EAAC,wBAAW,CAAC,CAAC,OAAO,CAAC;YACxE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;YACtC,SAAS,EAAE,CAAC,kBAAkB,CAAC;SAChC,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,aAAa,YAAY,CAAC,CAAA;SACpE;QAED,MAAM,eAAe,GAAG,CAAC,mCAAsB,CAAC,MAAM,EAAE,mCAAsB,CAAC,UAAU,EAAE,mCAAsB,CAAC,SAAS,EAAE,mCAAsB,CAAC,OAAO,CAAC,CAAA;QAC5J,MAAM,WAAW,GAAG,MAAA,WAAW,CAAC,gBAAgB,0CAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;QAElG,MAAM,WAAW,GAAwB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,sBAAO,CAAC,KAAI,IAAA,uBAAa,EAAC,sBAAO,CAAC,CAAA;QAC7F,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE;SACzC,CAAC,CAAA;QAEF,MAAM,QAAQ,GACZ,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,0CAAE,QAAQ,GAAG,WAAW,GAAG,IAAI,EAAE,MAAK,MAAM,CAAA;QAE9D,IAAI,cAAc,GAAoB,MAAM,IAAA,uBAAa,EAAC,0BAAa,CAAC,CAAC,IAAI,CAAC;YAC5E,KAAK,EAAE,EAAE,WAAW,EAAE;YACtB,SAAS,EAAE,CAAC,kBAAkB,EAAE,4BAA4B,EAAE,0BAA0B,CAAC;SAC1F,CAAC,CAAA;QAEF,IAAI,QAAQ,EAAE;YACZ,cAAc,GAAG,cAAc;iBAC9B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,CACzC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,mCAAsB,CAAC,UAAU,CACxD,CAAA;gBACD,uCAAY,GAAG,KAAE,gBAAgB,EAAE,OAAO,IAAE;YAC9C,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;SAClD;QAED,OAAO;YACL,WAAW,EAAE,WAAW;YACxB,cAAc,EAAE,cAAc;SAC/B,CAAA;IACH,CAAC;CACF,CAAA"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLoadingTask = void 0;
|
|
4
|
-
const typeorm_1 = require("typeorm");
|
|
5
|
-
const sales_base_1 = require("@things-factory/sales-base");
|
|
6
|
-
const worksheet_base_1 = require("@things-factory/worksheet-base");
|
|
7
|
-
const loading_worksheet_v2_1 = require("./loading-worksheet-v2");
|
|
8
|
-
exports.getLoadingTask = {
|
|
9
|
-
async getLoadingTask(_, {}, context) {
|
|
10
|
-
const { tx, domain, user } = context.state;
|
|
11
|
-
if (process.env.NODE_ENV == 'development') {
|
|
12
|
-
console.time('getLoadingTask');
|
|
13
|
-
}
|
|
14
|
-
try {
|
|
15
|
-
// 1. Find assigned worksheet
|
|
16
|
-
let worksheet = await tx
|
|
17
|
-
.getRepository(worksheet_base_1.Worksheet)
|
|
18
|
-
.createQueryBuilder('ws')
|
|
19
|
-
.innerJoinAndSelect('ws.bizplace', 'biz')
|
|
20
|
-
.innerJoinAndSelect('ws.releaseGood', 'rg')
|
|
21
|
-
.innerJoin('ws.worksheetDetails', 'wsd')
|
|
22
|
-
.where({
|
|
23
|
-
domain,
|
|
24
|
-
type: worksheet_base_1.WORKSHEET_TYPE.LOADING,
|
|
25
|
-
sorter: user,
|
|
26
|
-
status: (0, typeorm_1.In)([worksheet_base_1.WORKSHEET_STATUS.EXECUTING, worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED])
|
|
27
|
-
})
|
|
28
|
-
.andWhere('rg.status IN (:...status)', {
|
|
29
|
-
status: [sales_base_1.ORDER_STATUS.LOADING, sales_base_1.ORDER_STATUS.PROCESSING, sales_base_1.ORDER_STATUS.PARTIAL_PROCESSING]
|
|
30
|
-
})
|
|
31
|
-
.andWhere('wsd.status NOT IN (:...status)', { status: [worksheet_base_1.WORKSHEET_STATUS.DONE, worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED] })
|
|
32
|
-
.getOne();
|
|
33
|
-
// 2. If no assigned worksheet, find and assign next available one
|
|
34
|
-
if (!worksheet) {
|
|
35
|
-
let updatedWorksheets = await (0, typeorm_1.getConnection)().transaction(async (tx2) => {
|
|
36
|
-
let x = await tx2.query(`
|
|
37
|
-
UPDATE worksheets ws SET
|
|
38
|
-
sorter_id = $2,
|
|
39
|
-
updated_at = NOW(),
|
|
40
|
-
updater_id = $2
|
|
41
|
-
FROM (
|
|
42
|
-
SELECT ws.id
|
|
43
|
-
FROM worksheets ws
|
|
44
|
-
INNER JOIN release_goods rg ON rg.id = ws.release_good_id
|
|
45
|
-
INNER JOIN worksheet_details wsd ON wsd.worksheet_id = ws.id
|
|
46
|
-
WHERE ws.domain_id = $1
|
|
47
|
-
AND ws.type = 'LOADING'
|
|
48
|
-
AND ws.status IN ('EXECUTING', 'DEACTIVATED')
|
|
49
|
-
AND ws.sorter_id IS NULL
|
|
50
|
-
AND rg.status IN ('LOADING', 'PROCESSING', 'PARTIAL_PROCESSING')
|
|
51
|
-
AND wsd.status NOT IN ('DONE', 'DEACTIVATED')
|
|
52
|
-
AND (rg.sorted_by_id = $2 OR rg.sorted_by_id IS NULL)
|
|
53
|
-
ORDER BY rg.created_at
|
|
54
|
-
LIMIT 1
|
|
55
|
-
) src
|
|
56
|
-
WHERE src.id = ws.id
|
|
57
|
-
RETURNING ws.id
|
|
58
|
-
`, [domain.id, user.id]);
|
|
59
|
-
return x[0];
|
|
60
|
-
});
|
|
61
|
-
if (updatedWorksheets.length == 0)
|
|
62
|
-
throw new Error('no suitable worksheet found');
|
|
63
|
-
//fetch updated ws
|
|
64
|
-
worksheet = await tx
|
|
65
|
-
.getRepository(worksheet_base_1.Worksheet)
|
|
66
|
-
.createQueryBuilder('ws')
|
|
67
|
-
.innerJoinAndSelect('ws.releaseGood', 'rg')
|
|
68
|
-
.where('ws.id = :id', { id: updatedWorksheets[0].id })
|
|
69
|
-
.andWhere('ws.sorter_id = :sorter', { sorter: user.id })
|
|
70
|
-
.getOne();
|
|
71
|
-
}
|
|
72
|
-
//validate worksheet is assigned to user
|
|
73
|
-
if (!worksheet)
|
|
74
|
-
throw new Error('Please try again by clicking the "Get Task" button');
|
|
75
|
-
if (worksheet.status == worksheet_base_1.WORKSHEET_STATUS.DEACTIVATED) {
|
|
76
|
-
await tx.getRepository(worksheet_base_1.Worksheet).update(worksheet.id, {
|
|
77
|
-
status: worksheet_base_1.WORKSHEET_STATUS.EXECUTING,
|
|
78
|
-
startedAt: new Date()
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
//update ro sorter if its null
|
|
82
|
-
if ((worksheet === null || worksheet === void 0 ? void 0 : worksheet.releaseGood.sortedBy) == null) {
|
|
83
|
-
await tx.getRepository(sales_base_1.ReleaseGood).update(worksheet.releaseGood.id, {
|
|
84
|
-
sortedBy: user
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
return loading_worksheet_v2_1.loadingWorksheetv2.loadingWorksheetv2(_, { orderNo: worksheet.releaseGood.name, filter: 'all' }, context);
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
console.error(error);
|
|
91
|
-
throw error;
|
|
92
|
-
}
|
|
93
|
-
finally {
|
|
94
|
-
if (process.env.NODE_ENV == 'development') {
|
|
95
|
-
console.timeEnd('getLoadingTask');
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
//# sourceMappingURL=get-loading-task.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-loading-task.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/outbound/get-loading-task.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Mutation = exports.Query = void 0;
|
|
4
|
-
const get_loading_task_1 = require("./get-loading-task");
|
|
5
|
-
const sort_item_1 = require("./sort-item");
|
|
6
|
-
const find_loadable_release_good_1 = require("./find-loadable-release-good");
|
|
7
|
-
const find_loadable_release_good_by_bin_1 = require("./find-loadable-release-good-by-bin");
|
|
8
|
-
const loading_worksheet_v2_1 = require("./loading-worksheet-v2");
|
|
9
|
-
const load_by_qty_1 = require("./load-by-qty");
|
|
10
|
-
const my_loading_assignment_status_1 = require("./my-loading-assignment-status");
|
|
11
|
-
const get_delivery_orders_1 = require("./get-delivery-orders");
|
|
12
|
-
const undo_load_1 = require("./undo-load");
|
|
13
|
-
const warehouse_return_1 = require("./warehouse-return");
|
|
14
|
-
const complete_load_1 = require("./complete-load");
|
|
15
|
-
exports.Query = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, find_loadable_release_good_1.findLoadableReleaseGood), find_loadable_release_good_by_bin_1.findLoadableReleaseGoodByBin), loading_worksheet_v2_1.loadingWorksheetv2), my_loading_assignment_status_1.myLoadingAssignmentStatus), get_delivery_orders_1.getDeliveryOrders);
|
|
16
|
-
exports.Mutation = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, get_loading_task_1.getLoadingTask), sort_item_1.sortItem), load_by_qty_1.loadByQty), undo_load_1.undoLoad), warehouse_return_1.warehouseReturn), complete_load_1.completeLoad);
|
|
17
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/outbound/index.ts"],"names":[],"mappings":";;;AAAA,yDAAmD;AACnD,2CAAsC;AACtC,6EAAsE;AACtE,2FAAkF;AAClF,iEAA2D;AAC3D,+CAAyC;AACzC,iFAA0E;AAC1E,+DAAyD;AACzD,2CAAsC;AACtC,yDAAoD;AACpD,mDAA8C;AAEjC,QAAA,KAAK,6EACb,oDAAuB,GACvB,gEAA4B,GAC5B,yCAAkB,GAClB,wDAAyB,GACzB,uCAAiB,EACrB;AAEY,QAAA,QAAQ,2FAChB,iCAAc,GACd,oBAAQ,GACR,uBAAS,GACT,oBAAQ,GACR,kCAAe,GACf,4BAAY,EAChB"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadByQty = void 0;
|
|
4
|
-
const typeorm_1 = require("typeorm");
|
|
5
|
-
const uuid_1 = require("uuid");
|
|
6
|
-
const sales_base_1 = require("@things-factory/sales-base");
|
|
7
|
-
const worksheet_base_1 = require("@things-factory/worksheet-base");
|
|
8
|
-
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
9
|
-
exports.loadByQty = {
|
|
10
|
-
async loadByQty(_, { worksheetDetailPatch }, context) {
|
|
11
|
-
var _a;
|
|
12
|
-
try {
|
|
13
|
-
const { domain, user, tx } = context.state;
|
|
14
|
-
console.time('load');
|
|
15
|
-
const updatedWorksheetDetails = worksheetDetailPatch.orderInventories;
|
|
16
|
-
const releaseGoodNo = worksheetDetailPatch.releaseGoodNo;
|
|
17
|
-
const releaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
|
|
18
|
-
where: { domain, name: releaseGoodNo },
|
|
19
|
-
relations: ['bizplace', 'orderInventories']
|
|
20
|
-
});
|
|
21
|
-
if (!releaseGood) {
|
|
22
|
-
throw new Error('Release good not found');
|
|
23
|
-
}
|
|
24
|
-
const worksheet = await tx.getRepository(worksheet_base_1.Worksheet).findOne({
|
|
25
|
-
where: {
|
|
26
|
-
domain,
|
|
27
|
-
releaseGood,
|
|
28
|
-
type: worksheet_base_1.WORKSHEET_TYPE.LOADING,
|
|
29
|
-
status: (0, typeorm_1.In)([
|
|
30
|
-
worksheet_base_1.WORKSHEET_STATUS.EXECUTING,
|
|
31
|
-
worksheet_base_1.WORKSHEET_STATUS.PARTIAL_EXECUTING
|
|
32
|
-
])
|
|
33
|
-
},
|
|
34
|
-
relations: ['worksheetDetails', 'worksheetDetails.targetInventory', 'worksheetDetails.domain']
|
|
35
|
-
});
|
|
36
|
-
if (!worksheet) {
|
|
37
|
-
throw new Error('No loading worksheet found for order ' + releaseGoodNo);
|
|
38
|
-
}
|
|
39
|
-
const oiIds = worksheet.worksheetDetails.map((wsd) => wsd.targetInventory.id);
|
|
40
|
-
const orderInventories = await tx.getRepository(sales_base_1.OrderInventory).find({
|
|
41
|
-
where: { id: (0, typeorm_1.In)(oiIds) },
|
|
42
|
-
relations: [
|
|
43
|
-
'inventory',
|
|
44
|
-
'domain',
|
|
45
|
-
'bizplace',
|
|
46
|
-
'releaseGood',
|
|
47
|
-
'product',
|
|
48
|
-
'productDetail',
|
|
49
|
-
'binLocation',
|
|
50
|
-
'orderProduct'
|
|
51
|
-
]
|
|
52
|
-
});
|
|
53
|
-
const updatedOrderInventories = [];
|
|
54
|
-
for (const wsd of updatedWorksheetDetails) {
|
|
55
|
-
//find the respective wsd and oi to update
|
|
56
|
-
const foundWorksheetDetail = worksheet.worksheetDetails.find(foundWsd => foundWsd.name === wsd.name);
|
|
57
|
-
let orderInventory = orderInventories.find(oi => oi.id === foundWorksheetDetail.targetInventory.id);
|
|
58
|
-
//validate oi status and do is not yet generated
|
|
59
|
-
if (orderInventory.status === sales_base_1.ORDER_INVENTORY_STATUS.LOADED || orderInventory.deliveryOrderId !== null) {
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
// compare with sort qty
|
|
63
|
-
if (wsd.loadedQty > orderInventory.pickedQty) {
|
|
64
|
-
throw new Error('Load qty is more than picked qty for sku ' + wsd.productSku);
|
|
65
|
-
}
|
|
66
|
-
else if (wsd.loadedQty == orderInventory.releaseQty) {
|
|
67
|
-
//compare load qty to release, if order is partially picked, has to split oi
|
|
68
|
-
//update oi
|
|
69
|
-
orderInventory = Object.assign(Object.assign({}, orderInventory), { status: sales_base_1.ORDER_INVENTORY_STATUS.LOADED, updater: user, updatedAt: new Date() });
|
|
70
|
-
//update wsd
|
|
71
|
-
await tx.getRepository(worksheet_base_1.WorksheetDetail).update(foundWorksheetDetail.id, {
|
|
72
|
-
status: worksheet_base_1.WORKSHEET_STATUS.DONE,
|
|
73
|
-
updater: user,
|
|
74
|
-
updatedAt: new Date()
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
else if (wsd.loadedQty < orderInventory.releaseQty) {
|
|
78
|
-
//split oi
|
|
79
|
-
//create new order inventory with remaining quantity
|
|
80
|
-
const remainingQty = orderInventory.releaseQty - wsd.loadedQty;
|
|
81
|
-
const newOrderInventory = tx.getRepository(sales_base_1.OrderInventory).create(Object.assign(Object.assign({}, orderInventory), { id: undefined, name: sales_base_1.OrderNoGenerator.orderInventory(), releaseQty: remainingQty, releaseUomValue: (orderInventory.releaseUomValue / orderInventory.releaseQty) * remainingQty, pickedQty: orderInventory.pickedQty - wsd.loadedQty, sortedQty: orderInventory.sortedQty === 0 ? 0 : orderInventory.sortedQty - wsd.loadedQty, status: orderInventory.status, updater: user, updatedAt: new Date() }));
|
|
82
|
-
await tx.getRepository(sales_base_1.OrderInventory).save(newOrderInventory);
|
|
83
|
-
//create new worksheet detail for the new order inventory
|
|
84
|
-
const newWorksheetDetail = tx.getRepository(worksheet_base_1.WorksheetDetail).create(Object.assign(Object.assign({}, foundWorksheetDetail), { id: undefined, name: `LOAD-DETAIL-` + (0, uuid_1.v4)(), worksheet: worksheet, targetInventory: newOrderInventory, status: worksheet_base_1.WORKSHEET_STATUS.EXECUTING, updater: user, updatedAt: new Date() }));
|
|
85
|
-
await tx.getRepository(worksheet_base_1.WorksheetDetail).save(newWorksheetDetail);
|
|
86
|
-
//update current order inventory to loaded with loaded quantity
|
|
87
|
-
orderInventory = Object.assign(Object.assign({}, orderInventory), { status: sales_base_1.ORDER_INVENTORY_STATUS.LOADED, releaseUomValue: (orderInventory.releaseUomValue / orderInventory.releaseQty) * wsd.loadedQty, releaseQty: wsd.loadedQty, pickedQty: wsd.loadedQty, sortedQty: wsd.loadedQty, updater: user, updatedAt: new Date() });
|
|
88
|
-
//update current wsd
|
|
89
|
-
await tx.getRepository(worksheet_base_1.WorksheetDetail).update(foundWorksheetDetail.id, {
|
|
90
|
-
status: worksheet_base_1.WORKSHEET_STATUS.DONE,
|
|
91
|
-
updater: user,
|
|
92
|
-
updatedAt: new Date()
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
const inventory = await tx.getRepository(warehouse_base_1.Inventory).findOne({
|
|
96
|
-
where: { id: orderInventory.inventoryId }
|
|
97
|
-
});
|
|
98
|
-
// generate inventory history
|
|
99
|
-
await (0, warehouse_base_1.generateInventoryHistory)(inventory, releaseGood, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.LOADING, 0, 0, user, tx);
|
|
100
|
-
updatedOrderInventories.push(orderInventory);
|
|
101
|
-
}
|
|
102
|
-
if (updatedOrderInventories.length < 1) {
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
const deliveryOrder = {
|
|
107
|
-
truckNo: worksheetDetailPatch === null || worksheetDetailPatch === void 0 ? void 0 : worksheetDetailPatch.vehicleNo,
|
|
108
|
-
ownCollection: worksheetDetailPatch === null || worksheetDetailPatch === void 0 ? void 0 : worksheetDetailPatch.ownCollection,
|
|
109
|
-
totalPalletQty: worksheetDetailPatch === null || worksheetDetailPatch === void 0 ? void 0 : worksheetDetailPatch.palletQty,
|
|
110
|
-
contactPointRefId: ((_a = releaseGood.deliverTo) === null || _a === void 0 ? void 0 : _a.id) || null
|
|
111
|
-
};
|
|
112
|
-
const createdDo = await (0, sales_base_1.generateDeliveryOrder)(deliveryOrder, updatedOrderInventories, releaseGood.bizplace, releaseGood, domain, user, tx);
|
|
113
|
-
return true;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
catch (e) {
|
|
117
|
-
throw e;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
//# sourceMappingURL=load-by-qty.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"load-by-qty.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/outbound/load-by-qty.ts"],"names":[],"mappings":"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"}
|