@things-factory/worksheet-base 5.0.13 → 6.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/controllers/ecommerce/sellercraft-controller.js +225 -191
- package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
- package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js +2 -2
- package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inbound/unloading-worksheet-controller.js +28 -17
- package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js +1 -1
- package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/packing-worksheet-controller.js +17 -3
- package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/picking-worksheet-controller.js +221 -144
- package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/returning-worksheet-controller.js +16 -0
- package/dist-server/controllers/outbound/returning-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/sorting-worksheet-controller.js +8 -8
- package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/render-elccl-grn.js +21 -16
- package/dist-server/controllers/render-elccl-grn.js.map +1 -1
- package/dist-server/controllers/render-fm-grn.js +43 -26
- package/dist-server/controllers/render-fm-grn.js.map +1 -1
- package/dist-server/controllers/render-grn.js +42 -28
- package/dist-server/controllers/render-grn.js.map +1 -1
- package/dist-server/controllers/render-invoices.js +4 -5
- package/dist-server/controllers/render-invoices.js.map +1 -1
- package/dist-server/controllers/render-job-sheet.js +19 -19
- package/dist-server/controllers/render-job-sheet.js.map +1 -1
- package/dist-server/controllers/render-kimeda-grn.js +38 -23
- package/dist-server/controllers/render-kimeda-grn.js.map +1 -1
- package/dist-server/controllers/render-manifest.js +8 -9
- package/dist-server/controllers/render-manifest.js.map +1 -1
- package/dist-server/controllers/render-manual-do.js +15 -15
- package/dist-server/controllers/render-manual-do.js.map +1 -1
- package/dist-server/controllers/render-orientage-do.js +74 -28
- package/dist-server/controllers/render-orientage-do.js.map +1 -1
- package/dist-server/controllers/render-orientage-grn.js +25 -15
- package/dist-server/controllers/render-orientage-grn.js.map +1 -1
- package/dist-server/controllers/render-po.js +28 -19
- package/dist-server/controllers/render-po.js.map +1 -1
- package/dist-server/controllers/render-ro-do.js +139 -105
- package/dist-server/controllers/render-ro-do.js.map +1 -1
- package/dist-server/controllers/render-seebuu-grn.js +29 -19
- package/dist-server/controllers/render-seebuu-grn.js.map +1 -1
- package/dist-server/controllers/vas/vas-worksheet-controller.js +5 -5
- package/dist-server/controllers/vas/vas-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/worksheet-controller.js +75 -25
- package/dist-server/controllers/worksheet-controller.js.map +1 -1
- package/dist-server/entities/warehouse-bizplace-onhand-inventory.js +2 -1
- package/dist-server/entities/warehouse-bizplace-onhand-inventory.js.map +1 -1
- package/dist-server/entities/worksheet-detail.js +14 -12
- package/dist-server/entities/worksheet-detail.js.map +1 -1
- package/dist-server/entities/worksheet-movement.js +1 -2
- package/dist-server/entities/worksheet-movement.js.map +1 -1
- package/dist-server/entities/worksheet.js +13 -13
- package/dist-server/entities/worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/pallet/pallet-outbound.js +1 -1
- package/dist-server/graphql/resolvers/pallet/pallet-outbound.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js +6 -6
- package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cancel-draft-release-order.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/cancel-draft-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/check-inventory-release.js +6 -5
- package/dist-server/graphql/resolvers/worksheet/check-inventory-release.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/check-stock-take-current-location.js +8 -8
- package/dist-server/graphql/resolvers/worksheet/check-stock-take-current-location.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js +82 -80
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/create-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js +5 -4
- package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +5 -5
- package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js +5 -4
- package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/delete-worksheet.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/delete-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js +83 -52
- package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/fetch-delivery-order-ro.js +169 -0
- package/dist-server/graphql/resolvers/worksheet/fetch-delivery-order-ro.js.map +1 -0
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.js +67 -0
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.js.map +1 -0
- package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js +1 -34
- package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-worksheet-no.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.js +70 -0
- package/dist-server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.js.map +1 -0
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js +34 -3
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-batch-picking-worksheet.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-batch-picking-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-return-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-putaway-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js +14 -10
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-return-order-worksheet.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-return-order-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-vas-order-worksheet.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-vas-order-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/having-vas.js +7 -7
- package/dist-server/graphql/resolvers/worksheet/having-vas.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/index.js +5 -3
- package/dist-server/graphql/resolvers/worksheet/index.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/activate-cycle-count.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/add-extra-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/check-missing-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/complete-inspection.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/inspecting.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/relocate-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/undo-inspection.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +18 -9
- package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loaded-inventories.js +6 -5
- package/dist-server/graphql/resolvers/worksheet/loaded-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/activate-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js +14 -14
- package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/undo-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js +11 -10
- package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js +5 -4
- package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js +3 -4
- package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/packing.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +16 -11
- package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +96 -22
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js +5 -5
- package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js +93 -81
- package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js +0 -19
- package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js +11 -5
- package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +10 -4
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +34 -38
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js +46 -35
- package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.js +7 -2
- package/dist-server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js +33 -16
- package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/scan-product-batch-picking.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/picking/scan-product-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js +5 -8
- package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/seal-tote.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/undo-picking-assignment.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +6 -5
- package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js +10 -8
- package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/activate-putaway.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js +4 -3
- package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/putaway.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/undo-putaway.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js +2 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/putaway-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/undo-putaway-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-worksheet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/putaway-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js +16 -11
- package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js +139 -149
- package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/relocate-pallet.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/relocate-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/return-worksheet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/return-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/returning/activate-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/returning/complete-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/returning/returning.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting/activate-sorting.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting/complete-order-sorting.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting/complete-worksheet-sorting.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/transfer.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.js +8 -7
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js +9 -8
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.js +4 -2
- package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-product-scan-unload.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading-partially.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js +6 -2
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/scan-product-unload.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/undo-unloading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/unload.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading-return/activate-unloading-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-return-partially.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js +7 -3
- package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js +5 -5
- package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/update-worksheet.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/update-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas/activate-vas.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas/assign-vas-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas/complete-vas.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas/execute-vas.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas/undo-vas-inventory.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas/undo-vas.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-candidates.js +13 -12
- package/dist-server/graphql/resolvers/worksheet/vas-candidates.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-inventories.js +7 -6
- package/dist-server/graphql/resolvers/worksheet/vas-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js +36 -18
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.js +10 -3
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.js +3 -2
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.js +11 -3
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/undo-relabeling.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js +3 -2
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.js +2 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/undo-repalletizing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/complete-unpacking.js +2 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/complete-unpacking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js +7 -7
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js +11 -10
- package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheet-by-order-no.js +7 -4
- package/dist-server/graphql/resolvers/worksheet/worksheet-by-order-no.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.js +5 -5
- package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheet.js +72 -42
- package/dist-server/graphql/resolvers/worksheet/worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheets.js +42 -17
- package/dist-server/graphql/resolvers/worksheet/worksheets.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/check-progressing-pallet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet-detail/check-progressing-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/create-worksheet-detail.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/create-worksheet-detail.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js +13 -10
- package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js +7 -5
- package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-carton-id.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.js +3 -3
- package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js +5 -2
- package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/index.js +2 -1
- package/dist-server/graphql/resolvers/worksheet-detail/index.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js +81 -0
- package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js.map +1 -0
- package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.js +2 -2
- package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-detail.js +2 -2
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-detail.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details.js +2 -2
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/create-worksheet-movement.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/create-worksheet-movement.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/delete-worksheet-movement.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/update-worksheet-movement.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/update-worksheet-movement.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movement.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movement.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movements.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movements.js.map +1 -1
- package/dist-server/graphql/types/worksheet/batch-pick-worksheet-info.js +12 -0
- package/dist-server/graphql/types/worksheet/batch-pick-worksheet-info.js.map +1 -0
- package/dist-server/graphql/types/worksheet/delivery-order-info.js +3 -0
- package/dist-server/graphql/types/worksheet/delivery-order-info.js.map +1 -1
- package/dist-server/graphql/types/worksheet/delivery-order-ro.js +18 -0
- package/dist-server/graphql/types/worksheet/delivery-order-ro.js.map +1 -0
- package/dist-server/graphql/types/worksheet/index.js +26 -15
- package/dist-server/graphql/types/worksheet/index.js.map +1 -1
- package/dist-server/graphql/types/worksheet/multiple-release-good-worksheet.js +11 -0
- package/dist-server/graphql/types/worksheet/multiple-release-good-worksheet.js.map +1 -0
- package/dist-server/graphql/types/worksheet/sellercraft-document.js +11 -0
- package/dist-server/graphql/types/worksheet/sellercraft-document.js.map +1 -0
- package/dist-server/graphql/types/worksheet-detail/index.js +10 -0
- package/dist-server/graphql/types/worksheet-detail/index.js.map +1 -1
- package/dist-server/graphql/types/worksheet-detail/inventory-detail.js +1 -0
- package/dist-server/graphql/types/worksheet-detail/inventory-detail.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/utils/inventory-util.js +26 -20
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/dist-server/utils/worksheet-util.js +8 -6
- package/dist-server/utils/worksheet-util.js.map +1 -1
- package/package.json +17 -17
- package/server/controllers/ecommerce/sellercraft-controller.ts +282 -223
- package/server/controllers/inbound/unloading-returning-worksheet-controller.ts +9 -17
- package/server/controllers/inbound/unloading-worksheet-controller.ts +55 -66
- package/server/controllers/inspect/cycle-count-worksheet-controller.ts +1 -1
- package/server/controllers/outbound/packing-worksheet-controller.ts +25 -4
- package/server/controllers/outbound/picking-worksheet-controller.ts +292 -172
- package/server/controllers/outbound/returning-worksheet-controller.ts +23 -0
- package/server/controllers/outbound/sorting-worksheet-controller.ts +20 -20
- package/server/controllers/render-elccl-grn.ts +16 -11
- package/server/controllers/render-fm-grn.ts +32 -14
- package/server/controllers/render-grn.ts +31 -16
- package/server/controllers/render-invoices.ts +3 -3
- package/server/controllers/render-job-sheet.ts +13 -11
- package/server/controllers/render-kimeda-grn.ts +28 -13
- package/server/controllers/render-manifest.ts +25 -24
- package/server/controllers/render-manual-do.ts +9 -10
- package/server/controllers/render-orientage-do.ts +79 -30
- package/server/controllers/render-orientage-grn.ts +30 -20
- package/server/controllers/render-po.ts +31 -20
- package/server/controllers/render-ro-do.ts +151 -124
- package/server/controllers/render-seebuu-grn.ts +21 -11
- package/server/controllers/vas/vas-worksheet-controller.ts +19 -20
- package/server/controllers/worksheet-controller.ts +97 -27
- package/server/entities/warehouse-bizplace-onhand-inventory.ts +2 -1
- package/server/entities/worksheet-detail.ts +9 -0
- package/server/graphql/resolvers/pallet/pallet-outbound.ts +5 -8
- package/server/graphql/resolvers/worksheet/batch-picking-worksheet.ts +8 -6
- package/server/graphql/resolvers/worksheet/cancel-draft-release-order.ts +4 -11
- package/server/graphql/resolvers/worksheet/check-inventory-release.ts +8 -7
- package/server/graphql/resolvers/worksheet/check-stock-take-current-location.ts +10 -8
- package/server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts +112 -138
- package/server/graphql/resolvers/worksheet/create-worksheet.ts +6 -8
- package/server/graphql/resolvers/worksheet/cross-dock-picking.ts +8 -7
- package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +7 -7
- package/server/graphql/resolvers/worksheet/cycle-count-worksheet.ts +6 -6
- package/server/graphql/resolvers/worksheet/delete-worksheet.ts +5 -3
- package/server/graphql/resolvers/worksheet/delivery-order-by-worksheet.ts +87 -53
- package/server/graphql/resolvers/worksheet/fetch-delivery-order-ro.ts +190 -0
- package/server/graphql/resolvers/worksheet/fetch-sellercraft-document.ts +69 -0
- package/server/graphql/resolvers/worksheet/find-release-orders-by-task-no.ts +5 -45
- package/server/graphql/resolvers/worksheet/find-release-orders-by-worksheet-no.ts +5 -5
- package/server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.ts +80 -0
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.ts +45 -5
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-batch-picking-worksheet.ts +11 -10
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.ts +1 -1
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.ts +7 -14
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-return-worksheet.ts +10 -4
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-worksheet.ts +10 -4
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-putaway-worksheet.ts +5 -3
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts +25 -29
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-return-order-worksheet.ts +6 -4
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-vas-order-worksheet.ts +6 -4
- package/server/graphql/resolvers/worksheet/having-vas.ts +10 -8
- package/server/graphql/resolvers/worksheet/index.ts +7 -3
- package/server/graphql/resolvers/worksheet/inspecting/activate-cycle-count.ts +5 -3
- package/server/graphql/resolvers/worksheet/inspecting/add-extra-pallet.ts +4 -2
- package/server/graphql/resolvers/worksheet/inspecting/check-missing-pallet.ts +5 -3
- package/server/graphql/resolvers/worksheet/inspecting/complete-inspection.ts +5 -3
- package/server/graphql/resolvers/worksheet/inspecting/inspecting.ts +9 -3
- package/server/graphql/resolvers/worksheet/inspecting/relocate-pallet.ts +16 -4
- package/server/graphql/resolvers/worksheet/inspecting/undo-inspection.ts +5 -3
- package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +34 -17
- package/server/graphql/resolvers/worksheet/loaded-inventories.ts +7 -6
- package/server/graphql/resolvers/worksheet/loading/activate-loading.ts +5 -3
- package/server/graphql/resolvers/worksheet/loading/complete-loading.ts +16 -16
- package/server/graphql/resolvers/worksheet/loading/loading.ts +5 -3
- package/server/graphql/resolvers/worksheet/loading/undo-loading.ts +5 -3
- package/server/graphql/resolvers/worksheet/loading-worksheet.ts +11 -11
- package/server/graphql/resolvers/worksheet/not-tally-target-inventories.ts +6 -6
- package/server/graphql/resolvers/worksheet/packing/activate-packing.ts +14 -13
- package/server/graphql/resolvers/worksheet/packing/complete-packing.ts +4 -4
- package/server/graphql/resolvers/worksheet/packing/packing.ts +3 -3
- package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +21 -17
- package/server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.ts +2 -2
- package/server/graphql/resolvers/worksheet/packing-worksheet.ts +102 -24
- package/server/graphql/resolvers/worksheet/palletizing-pallets.ts +10 -8
- package/server/graphql/resolvers/worksheet/pending-cancellation-release-order.ts +107 -97
- package/server/graphql/resolvers/worksheet/picking/activate-batch-picking.ts +3 -30
- package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +3 -3
- package/server/graphql/resolvers/worksheet/picking/assign-picking-inventories.ts +23 -4
- package/server/graphql/resolvers/worksheet/picking/assign-picking-worker.ts +25 -17
- package/server/graphql/resolvers/worksheet/picking/batch-picking.ts +4 -2
- package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +15 -6
- package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +37 -42
- package/server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.ts +52 -42
- package/server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.ts +15 -6
- package/server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.ts +49 -35
- package/server/graphql/resolvers/worksheet/picking/picking.ts +4 -2
- package/server/graphql/resolvers/worksheet/picking/scan-product-batch-picking.ts +11 -6
- package/server/graphql/resolvers/worksheet/picking/scan-product-picking.ts +10 -35
- package/server/graphql/resolvers/worksheet/picking/seal-tote.ts +2 -2
- package/server/graphql/resolvers/worksheet/picking/undo-picking-assignment.ts +9 -3
- package/server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.ts +2 -2
- package/server/graphql/resolvers/worksheet/picking-worksheet.ts +11 -11
- package/server/graphql/resolvers/worksheet/proceed-extra-products.ts +13 -13
- package/server/graphql/resolvers/worksheet/putaway/activate-putaway.ts +5 -3
- package/server/graphql/resolvers/worksheet/putaway/complete-putaway.ts +6 -5
- package/server/graphql/resolvers/worksheet/putaway/putaway.ts +5 -3
- package/server/graphql/resolvers/worksheet/putaway/undo-putaway.ts +5 -3
- package/server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.ts +5 -3
- package/server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts +13 -6
- package/server/graphql/resolvers/worksheet/putaway-return/putaway-return.ts +5 -3
- package/server/graphql/resolvers/worksheet/putaway-return/undo-putaway-return.ts +5 -3
- package/server/graphql/resolvers/worksheet/putaway-returning-worksheet.ts +4 -6
- package/server/graphql/resolvers/worksheet/putaway-worksheet.ts +4 -6
- package/server/graphql/resolvers/worksheet/recommend-putway-location.ts +20 -19
- package/server/graphql/resolvers/worksheet/reject-cancellation-release-order.ts +154 -220
- package/server/graphql/resolvers/worksheet/relocate-pallet.ts +6 -4
- package/server/graphql/resolvers/worksheet/replace-picking-pallets.ts +3 -7
- package/server/graphql/resolvers/worksheet/return-worksheet.ts +4 -6
- package/server/graphql/resolvers/worksheet/returning/activate-return.ts +5 -3
- package/server/graphql/resolvers/worksheet/returning/complete-return.ts +5 -3
- package/server/graphql/resolvers/worksheet/returning/returning.ts +5 -3
- package/server/graphql/resolvers/worksheet/sorting/activate-sorting.ts +5 -3
- package/server/graphql/resolvers/worksheet/sorting/complete-order-sorting.ts +7 -5
- package/server/graphql/resolvers/worksheet/sorting/complete-worksheet-sorting.ts +5 -3
- package/server/graphql/resolvers/worksheet/sorting/scan-product-sorting.ts +9 -3
- package/server/graphql/resolvers/worksheet/sorting/sorting-product.ts +9 -3
- package/server/graphql/resolvers/worksheet/sorting-worksheet.ts +5 -5
- package/server/graphql/resolvers/worksheet/transfer.ts +10 -12
- package/server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.ts +13 -7
- package/server/graphql/resolvers/worksheet/unloaded-inventories.ts +9 -9
- package/server/graphql/resolvers/worksheet/unloading/activate-unloading.ts +9 -5
- package/server/graphql/resolvers/worksheet/unloading/complete-product-scan-unload.ts +5 -3
- package/server/graphql/resolvers/worksheet/unloading/complete-unloading-partially.ts +5 -3
- package/server/graphql/resolvers/worksheet/unloading/complete-unloading.ts +8 -4
- package/server/graphql/resolvers/worksheet/unloading/scan-product-unload.ts +5 -3
- package/server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.ts +2 -2
- package/server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.ts +2 -2
- package/server/graphql/resolvers/worksheet/unloading/undo-unloading.ts +2 -2
- package/server/graphql/resolvers/worksheet/unloading/unload.ts +7 -7
- package/server/graphql/resolvers/worksheet/unloading-return/activate-unloading-return.ts +5 -3
- package/server/graphql/resolvers/worksheet/unloading-return/complete-unload-return-partially.ts +5 -3
- package/server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.ts +9 -5
- package/server/graphql/resolvers/worksheet/unloading-return-worksheet.ts +4 -6
- package/server/graphql/resolvers/worksheet/unloading-worksheet.ts +5 -7
- package/server/graphql/resolvers/worksheet/update-worksheet.ts +5 -5
- package/server/graphql/resolvers/worksheet/vas/activate-vas.ts +5 -3
- package/server/graphql/resolvers/worksheet/vas/assign-vas-inventories.ts +5 -3
- package/server/graphql/resolvers/worksheet/vas/complete-vas.ts +5 -3
- package/server/graphql/resolvers/worksheet/vas/execute-vas.ts +5 -3
- package/server/graphql/resolvers/worksheet/vas/undo-vas-inventory.ts +5 -3
- package/server/graphql/resolvers/worksheet/vas/undo-vas.ts +5 -3
- package/server/graphql/resolvers/worksheet/vas-candidates.ts +20 -17
- package/server/graphql/resolvers/worksheet/vas-inventories.ts +9 -7
- package/server/graphql/resolvers/worksheet/vas-transactions/common-utils.ts +36 -18
- package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.ts +12 -5
- package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.ts +6 -3
- package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.ts +14 -6
- package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/undo-relabeling.ts +5 -7
- package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.ts +3 -2
- package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.ts +8 -5
- package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.ts +6 -16
- package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.ts +5 -2
- package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.ts +10 -8
- package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/undo-repalletizing.ts +3 -5
- package/server/graphql/resolvers/worksheet/vas-transactions/unpacking/complete-unpacking.ts +6 -6
- package/server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.ts +10 -13
- package/server/graphql/resolvers/worksheet/vas-worksheet.ts +13 -11
- package/server/graphql/resolvers/worksheet/worksheet-by-order-no.ts +13 -8
- package/server/graphql/resolvers/worksheet/worksheet-with-pagination.ts +7 -5
- package/server/graphql/resolvers/worksheet/worksheet.ts +86 -32
- package/server/graphql/resolvers/worksheet/worksheets.ts +60 -19
- package/server/graphql/resolvers/worksheet-detail/check-progressing-pallet.ts +7 -8
- package/server/graphql/resolvers/worksheet-detail/create-worksheet-detail.ts +4 -6
- package/server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.ts +5 -6
- package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.ts +13 -19
- package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.ts +19 -27
- package/server/graphql/resolvers/worksheet-detail/generate-carton-id.ts +2 -4
- package/server/graphql/resolvers/worksheet-detail/generate-pallet-id.ts +6 -6
- package/server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.ts +7 -4
- package/server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.ts +3 -3
- package/server/graphql/resolvers/worksheet-detail/index.ts +3 -1
- package/server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts +164 -0
- package/server/graphql/resolvers/worksheet-detail/update-worksheet-detail.ts +8 -7
- package/server/graphql/resolvers/worksheet-detail/worksheet-detail.ts +6 -7
- package/server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.ts +5 -5
- package/server/graphql/resolvers/worksheet-detail/worksheet-details.ts +6 -7
- package/server/graphql/resolvers/worksheet-movement/create-worksheet-movement.ts +4 -3
- package/server/graphql/resolvers/worksheet-movement/delete-worksheet-movement.ts +3 -2
- package/server/graphql/resolvers/worksheet-movement/update-worksheet-movement.ts +2 -4
- package/server/graphql/resolvers/worksheet-movement/worksheet-movement.ts +3 -6
- package/server/graphql/resolvers/worksheet-movement/worksheet-movements.ts +4 -4
- package/server/graphql/types/worksheet/batch-pick-worksheet-info.ts +9 -0
- package/server/graphql/types/worksheet/delivery-order-info.ts +3 -0
- package/server/graphql/types/worksheet/delivery-order-ro.ts +15 -0
- package/server/graphql/types/worksheet/index.ts +49 -38
- package/server/graphql/types/worksheet/multiple-release-good-worksheet.ts +8 -0
- package/server/graphql/types/worksheet/sellercraft-document.ts +8 -0
- package/server/graphql/types/worksheet-detail/index.ts +10 -0
- package/server/graphql/types/worksheet-detail/inventory-detail.ts +1 -0
- package/server/utils/inventory-util.ts +20 -14
- package/server/utils/worksheet-util.ts +10 -6
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js +0 -25
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js.map +0 -1
- package/dist-server/graphql/types/worksheet/airwaybill.js +0 -11
- package/dist-server/graphql/types/worksheet/airwaybill.js.map +0 -1
- package/server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.ts +0 -30
- package/server/graphql/types/worksheet/airwaybill.ts +0 -7
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.completePicking = exports.completePickingResolver = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
4
5
|
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
6
|
const integration_lmd_1 = require("@things-factory/integration-lmd");
|
|
6
7
|
const integration_marketplace_1 = require("@things-factory/integration-marketplace");
|
|
7
8
|
const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
|
|
8
9
|
const marketplace_base_1 = require("@things-factory/marketplace-base");
|
|
9
10
|
const sales_base_1 = require("@things-factory/sales-base");
|
|
10
|
-
const setting_base_1 = require("@things-factory/setting-base");
|
|
11
11
|
const constants_1 = require("../../../../constants");
|
|
12
12
|
const controllers_1 = require("../../../../controllers/");
|
|
13
13
|
const ecommerce_1 = require("../../../../controllers/ecommerce");
|
|
@@ -28,10 +28,10 @@ exports.completePickingResolver = {
|
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
async function completePicking(tx, domain, user, releaseGoodNo) {
|
|
31
|
-
var _a, _b
|
|
31
|
+
var _a, _b;
|
|
32
32
|
const pickingWSCtrl = new controllers_1.PickingWorksheetController(tx, domain, user);
|
|
33
33
|
let releaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
|
|
34
|
-
where: { domain, name: releaseGoodNo },
|
|
34
|
+
where: { domain: { id: domain.id }, name: releaseGoodNo },
|
|
35
35
|
relations: ['bizplace', 'bizplace.domain', 'bizplace.company', 'bizplace.company.domain']
|
|
36
36
|
});
|
|
37
37
|
const worksheet = await pickingWSCtrl.findWorksheetByRefOrder(releaseGood, constants_1.WORKSHEET_TYPE.PICKING, [
|
|
@@ -40,7 +40,7 @@ async function completePicking(tx, domain, user, releaseGoodNo) {
|
|
|
40
40
|
]);
|
|
41
41
|
const warehouseContactPoint = await tx.getRepository(biz_base_1.ContactPoint).findOne({
|
|
42
42
|
where: {
|
|
43
|
-
domain,
|
|
43
|
+
domain: { id: domain.id },
|
|
44
44
|
type: 'WAREHOUSE'
|
|
45
45
|
}
|
|
46
46
|
});
|
|
@@ -49,21 +49,34 @@ async function completePicking(tx, domain, user, releaseGoodNo) {
|
|
|
49
49
|
const pickedTargetInventories = targetInventories.filter(targetInventory => targetInventory.status === sales_base_1.ORDER_INVENTORY_STATUS.PICKED);
|
|
50
50
|
await pickingWSCtrl.completePicking(releaseGoodNo);
|
|
51
51
|
if (releaseGood.type == 'b2c') {
|
|
52
|
-
const sellercraft = await tx
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
52
|
+
const sellercraft = await tx.getRepository(integration_sellercraft_1.Sellercraft).findOneBy({
|
|
53
|
+
domain: {
|
|
54
|
+
id: releaseGood.bizplace.domain.id
|
|
55
|
+
},
|
|
56
|
+
status: integration_sellercraft_1.SellercraftStatus.ACTIVE
|
|
57
|
+
});
|
|
58
|
+
const initSCOrderShipment = async (sellercraft) => {
|
|
59
|
+
if (sellercraft) {
|
|
60
|
+
await (0, typeorm_1.getManager)().transaction(async (txMgr) => {
|
|
61
|
+
const sellercraftCtrl = new controllers_1.SellercraftController(txMgr, domain, user);
|
|
62
|
+
if (!(releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.packageId)) {
|
|
63
|
+
const orderProducts = await tx.getRepository(sales_base_1.OrderProduct).find({
|
|
64
|
+
where: { releaseGood },
|
|
65
|
+
relations: ['product', 'product.productDetails']
|
|
66
|
+
});
|
|
67
|
+
releaseGood = await sellercraftCtrl.packOrder(sellercraft, Object.assign(Object.assign({}, releaseGood), { orderProducts }));
|
|
68
|
+
if (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.packageId) {
|
|
69
|
+
await txMgr
|
|
70
|
+
.getRepository(sales_base_1.ReleaseGood)
|
|
71
|
+
.update({ id: releaseGood.id }, { packageId: releaseGood.packageId, updater: releaseGood.updater });
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood);
|
|
61
75
|
});
|
|
62
|
-
releaseGood = await sellercraftCtrl.packOrder(sellercraft, Object.assign(Object.assign({}, releaseGood), { orderProducts }));
|
|
63
76
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
77
|
+
};
|
|
78
|
+
// asynchronouly call to initiate sellercraft order shipment/ RTS
|
|
79
|
+
initSCOrderShipment(sellercraft);
|
|
67
80
|
const companyDomain = releaseGood.bizplace.company.domain;
|
|
68
81
|
let marketplaceOrder = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
|
|
69
82
|
where: { orderNo: releaseGood.refNo, domain: companyDomain },
|
|
@@ -94,7 +107,7 @@ async function completePicking(tx, domain, user, releaseGoodNo) {
|
|
|
94
107
|
const marketplaceOrderShipping = marketplaceOrderShippingItems[0].marketplaceOrderShipping;
|
|
95
108
|
const lmd = await tx.getRepository(integration_lmd_1.LastMileDelivery).findOne({
|
|
96
109
|
where: {
|
|
97
|
-
domain,
|
|
110
|
+
domain: { id: domain.id },
|
|
98
111
|
platform: 'eTrax'
|
|
99
112
|
}
|
|
100
113
|
});
|
|
@@ -169,24 +182,7 @@ async function completePicking(tx, domain, user, releaseGoodNo) {
|
|
|
169
182
|
}
|
|
170
183
|
if (releaseGood.packingOption) {
|
|
171
184
|
const packingWSCtrl = new controllers_1.PackingWorksheetController(tx, domain, user);
|
|
172
|
-
|
|
173
|
-
where: { domain: domain, category: 'id-rule', name: 'enable-direct-activate-packing-worksheet' }
|
|
174
|
-
});
|
|
175
|
-
const partnerDirectActivatePackingWorksheetSetting = await tx
|
|
176
|
-
.getRepository(setting_base_1.PartnerSetting)
|
|
177
|
-
.findOne({
|
|
178
|
-
where: { setting: directActivatePackingWorksheet, domain: domain, partnerDomain: (_a = releaseGood.bizplace) === null || _a === void 0 ? void 0 : _a.domain }
|
|
179
|
-
});
|
|
180
|
-
let packingWorksheet = await packingWSCtrl.generatePackingWorksheet(releaseGoodNo);
|
|
181
|
-
if (directActivatePackingWorksheet != undefined && directActivatePackingWorksheet.value.toLowerCase() == 'true') {
|
|
182
|
-
if (partnerDirectActivatePackingWorksheetSetting != undefined) {
|
|
183
|
-
if (partnerDirectActivatePackingWorksheetSetting.value.toLowerCase() == 'true')
|
|
184
|
-
await packingWSCtrl.activatePacking(packingWorksheet.name);
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
await packingWSCtrl.activatePacking(packingWorksheet.name);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
185
|
+
await packingWSCtrl.generatePackingWorksheet(releaseGoodNo);
|
|
190
186
|
}
|
|
191
187
|
else {
|
|
192
188
|
// Find Existing Loading Worksheet if any
|
|
@@ -201,7 +197,7 @@ async function completePicking(tx, domain, user, releaseGoodNo) {
|
|
|
201
197
|
if (pickedTargetInventories.length > 0) {
|
|
202
198
|
const loadingWSCtrl = new controllers_1.LoadingWorksheetController(tx, domain, user);
|
|
203
199
|
let loadingWorksheet = await loadingWSCtrl.generateLoadingWorksheet(releaseGoodNo, pickedTargetInventories);
|
|
204
|
-
if (!((
|
|
200
|
+
if (!((_a = loadingWorksheet.worksheetDetails) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
205
201
|
loadingWorksheet = await pickingWSCtrl.findWorksheetById(loadingWorksheet.id);
|
|
206
202
|
}
|
|
207
203
|
const loadingWorksheetDetails = loadingWorksheet.worksheetDetails;
|
|
@@ -211,7 +207,7 @@ async function completePicking(tx, domain, user, releaseGoodNo) {
|
|
|
211
207
|
else {
|
|
212
208
|
const loadingWSCtrl = new controllers_1.LoadingWorksheetController(tx, domain, user);
|
|
213
209
|
let loadingWorksheet = await loadingWSCtrl.updateLoadingWorksheet(releaseGoodNo, pickedTargetInventories, existLoadingWorksheet);
|
|
214
|
-
if (!((
|
|
210
|
+
if (!((_b = loadingWorksheet.worksheetDetails) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
215
211
|
loadingWorksheet = await pickingWSCtrl.findWorksheetById(loadingWorksheet.id);
|
|
216
212
|
}
|
|
217
213
|
const loadingWorksheetDetails = loadingWorksheet.worksheetDetails;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complete-picking.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/complete-picking.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, ContactPoint, getMyBizplace } from '@things-factory/biz-base'\nimport { LastMileAPI, LastMileDelivery } from '@things-factory/integration-lmd'\nimport { MarketplaceStore, MarketplaceTransporter } from '@things-factory/integration-marketplace'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport {\n MarketplaceOrder,\n MarketplaceOrderItem,\n MarketplaceOrderShipping,\n MarketplaceOrderShippingItem\n} from '@things-factory/marketplace-base'\nimport {\n ORDER_INVENTORY_STATUS,\n ORDER_STATUS,\n OrderInventory,\n OrderProduct,\n ReleaseGood\n} from '@things-factory/sales-base'\nimport { PartnerSetting, Setting } from '@things-factory/setting-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'\nimport {\n LoadingWorksheetController,\n PackingWorksheetController,\n PickingWorksheetController,\n SellercraftController\n} from '../../../../controllers/'\nimport { EcommerceController } from '../../../../controllers/ecommerce'\nimport { WorksheetController } from '../../../../controllers/worksheet-controller'\nimport { Worksheet, WorksheetDetail } from '../../../../entities'\n\nexport const completePickingResolver = {\n async completePicking(_: any, { releaseGoodNo }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n await completePicking(tx, domain, user, releaseGoodNo)\n\n const bizplace: Bizplace = await getMyBizplace(domain, user)\n const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)\n await worksheetController.notifyToCustomer(bizplace, {\n title: `Picking has been completed (${bizplace.name}, ${releaseGoodNo})`,\n body: `Items now are ready to be loaded`,\n url: context.header.referer,\n data: { url: context.header.referer }\n })\n }\n}\n\nexport async function completePicking(\n tx: EntityManager,\n domain: Domain,\n user: User,\n releaseGoodNo: string\n): Promise<void> {\n const pickingWSCtrl: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)\n let releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({\n where: { domain, name: releaseGoodNo },\n relations: ['bizplace', 'bizplace.domain', 'bizplace.company', 'bizplace.company.domain']\n })\n\n const worksheet: Worksheet = await pickingWSCtrl.findWorksheetByRefOrder(releaseGood, WORKSHEET_TYPE.PICKING, [\n 'worksheetDetails',\n 'worksheetDetails.targetInventory'\n ])\n\n const warehouseContactPoint: ContactPoint = await tx.getRepository(ContactPoint).findOne({\n where: {\n domain,\n type: 'WAREHOUSE'\n }\n })\n\n const worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails\n const targetInventories: OrderInventory[] = worksheetDetails.map((wsd: WorksheetDetail) => wsd.targetInventory)\n const pickedTargetInventories: OrderInventory[] = targetInventories.filter(\n targetInventory => targetInventory.status === ORDER_INVENTORY_STATUS.PICKED\n )\n\n await pickingWSCtrl.completePicking(releaseGoodNo)\n\n if (releaseGood.type == 'b2c') {\n const sellercraft: Sellercraft = await tx\n .getRepository(Sellercraft)\n .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n\n if (!releaseGood?.packageId) {\n const orderProducts: OrderProduct[] = await tx.getRepository(OrderProduct).find({\n where: { releaseGood },\n relations: ['product', 'product.productDetails']\n })\n releaseGood = await sellercraftCtrl.packOrder(sellercraft, { ...releaseGood, orderProducts })\n }\n\n releaseGood = await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)\n await sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood)\n }\n\n const companyDomain: Domain = releaseGood.bizplace.company.domain\n let marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({\n where: { orderNo: releaseGood.refNo, domain: companyDomain },\n relations: [\n 'marketplaceStore',\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'\n ]\n })\n\n if (!sellercraft && marketplaceOrder) {\n const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore\n let eTraxOption: boolean\n\n if (marketplaceStore.isAutoUpdateShipment) {\n const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)\n await ecommerceCtrl.createOrderComment(marketplaceStore, marketplaceOrder, ORDER_STATUS.PACKING)\n }\n\n if (!marketplaceOrder)\n throw new Error('Failed to find ecommerce order, kindly contact our support team regarding this issue')\n eTraxOption = marketplaceOrder?.marketplaceStore.eTrax\n\n // if eTrax option is true\n if (eTraxOption) {\n const marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems\n\n // access every marketplaceOrderItems for shipping information you need\n // trigger the controller from integration-lmd that trigger the API, build the parameters needed\n // for etrax didn't support multi awb per order\n const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] =\n marketplaceOrderItems[0].marketplaceOrderShippingItems\n const marketplaceOrderShipping: MarketplaceOrderShipping =\n marketplaceOrderShippingItems[0].marketplaceOrderShipping\n const lmd: LastMileDelivery = await tx.getRepository(LastMileDelivery).findOne({\n where: {\n domain,\n platform: 'eTrax'\n }\n })\n\n //Get which transporter to use\n const marketplaceTransporter: MarketplaceTransporter = await tx.getRepository(MarketplaceTransporter).findOne({\n where: { marketplaceStore: marketplaceOrder.marketplaceStore },\n relations: ['pickupTransporter', 'deliveryTransporter']\n })\n\n const resp = await LastMileAPI.createShipmentRequest(lmd, {\n orderNo: marketplaceOrder.orderNo,\n clientId: lmd.clientId,\n clientType: lmd.clientType,\n clientName: lmd.clientName,\n transporterId: marketplaceTransporter.pickupTransporter.transporterId,\n pickupName: warehouseContactPoint.name,\n pickupAddress1: warehouseContactPoint.address,\n pickupAddress2: warehouseContactPoint.address2,\n pickupPostcode: warehouseContactPoint.postCode,\n pickupState: warehouseContactPoint.state,\n pickupCity: warehouseContactPoint.city,\n pickupPhone: warehouseContactPoint.phone,\n pickupEmail: warehouseContactPoint.email,\n name: marketplaceOrderShipping?.attentionTo ? marketplaceOrderShipping.attentionTo.trim() : '',\n address1: marketplaceOrderShipping?.address1 ? marketplaceOrderShipping?.address1.trim() : '-',\n address2: marketplaceOrderShipping?.address2 ? marketplaceOrderShipping?.address2.trim() : '-',\n postCode: marketplaceOrderShipping?.postCode ? marketplaceOrderShipping?.postCode.trim() : '',\n city: marketplaceOrderShipping?.city ? marketplaceOrderShipping?.city.trim() : '',\n state: marketplaceOrderShipping?.state ? marketplaceOrderShipping?.state.trim() : '',\n phone: marketplaceOrderShipping.phone1 || '',\n email: marketplaceOrderShipping.email || '',\n attentionTo: marketplaceOrderShipping.attentionTo,\n quantity: marketplaceOrderItems.length\n })\n\n const delay = (ms: number) => {\n return new Promise(resolve => setTimeout(resolve, ms))\n }\n\n if (resp.Status === 'SUCCESS') {\n //Success\n let awbObtained = false\n let retry = 0\n while (!awbObtained) {\n const marketplaceOrder2: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({\n where: { releaseOrderId: releaseGood.id },\n relations: [\n 'marketplaceStore',\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'\n ]\n })\n const orderShipping =\n marketplaceOrder2.marketplaceOrderItems[0].marketplaceOrderShippingItems[0].marketplaceOrderShipping\n if (orderShipping?.airwayBill) {\n awbObtained = true\n }\n await delay(5000)\n //Timeout after 15sec\n if (++retry > 3) {\n break\n }\n }\n } else {\n if (resp?.AWBurl && resp?.TrackingNo)\n await tx\n .getRepository(MarketplaceOrderShipping)\n .update({ id: marketplaceOrderShipping.id }, { airwayBill: resp.AWBurl, trackingNo: resp.TrackingNo })\n else throw resp\n }\n }\n }\n }\n\n if (releaseGood.packingOption) {\n const packingWSCtrl: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)\n\n const directActivatePackingWorksheet: Setting = await tx.getRepository(Setting).findOne({\n where: { domain: domain, category: 'id-rule', name: 'enable-direct-activate-packing-worksheet' }\n })\n const partnerDirectActivatePackingWorksheetSetting: PartnerSetting = await tx\n .getRepository(PartnerSetting)\n .findOne({\n where: { setting: directActivatePackingWorksheet, domain: domain, partnerDomain: releaseGood.bizplace?.domain }\n })\n\n let packingWorksheet: Worksheet = await packingWSCtrl.generatePackingWorksheet(releaseGoodNo)\n\n if (directActivatePackingWorksheet != undefined && directActivatePackingWorksheet.value.toLowerCase() == 'true') {\n if (partnerDirectActivatePackingWorksheetSetting != undefined) {\n if (partnerDirectActivatePackingWorksheetSetting.value.toLowerCase() == 'true')\n await packingWSCtrl.activatePacking(packingWorksheet.name)\n } else {\n await packingWSCtrl.activatePacking(packingWorksheet.name)\n }\n }\n } else {\n // Find Existing Loading Worksheet if any\n let existLoadingWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({\n where: {\n releaseGood,\n type: WORKSHEET_TYPE.LOADING,\n status: WORKSHEET_STATUS.DEACTIVATED\n }\n })\n\n if (!existLoadingWorksheet && !releaseGood.courierOption && !releaseGood.packingOption) {\n if(pickedTargetInventories.length>0){\n const loadingWSCtrl: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n let loadingWorksheet: Worksheet = await loadingWSCtrl.generateLoadingWorksheet(\n releaseGoodNo,\n pickedTargetInventories\n )\n \n if (!loadingWorksheet.worksheetDetails?.length) {\n loadingWorksheet = await pickingWSCtrl.findWorksheetById(loadingWorksheet.id)\n }\n \n const loadingWorksheetDetails: WorksheetDetail[] = loadingWorksheet.worksheetDetails\n await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails)\n }\n } else {\n const loadingWSCtrl: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n let loadingWorksheet: Worksheet = await loadingWSCtrl.updateLoadingWorksheet(\n releaseGoodNo,\n pickedTargetInventories,\n existLoadingWorksheet\n )\n\n if (!loadingWorksheet.worksheetDetails?.length) {\n loadingWorksheet = await pickingWSCtrl.findWorksheetById(loadingWorksheet.id)\n }\n\n const loadingWorksheetDetails: WorksheetDetail[] = loadingWorksheet.worksheetDetails\n await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails)\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"complete-picking.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/complete-picking.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager, getManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, ContactPoint, getMyBizplace } from '@things-factory/biz-base'\nimport { LastMileAPI, LastMileDelivery } from '@things-factory/integration-lmd'\nimport { MarketplaceStore, MarketplaceTransporter } from '@things-factory/integration-marketplace'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport {\n MarketplaceOrder,\n MarketplaceOrderItem,\n MarketplaceOrderShipping,\n MarketplaceOrderShippingItem\n} from '@things-factory/marketplace-base'\nimport {\n ORDER_INVENTORY_STATUS,\n ORDER_STATUS,\n OrderInventory,\n OrderProduct,\n ReleaseGood\n} from '@things-factory/sales-base'\nimport { PartnerSetting, Setting } from '@things-factory/setting-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'\nimport {\n LoadingWorksheetController,\n PackingWorksheetController,\n PickingWorksheetController,\n SellercraftController\n} from '../../../../controllers/'\nimport { EcommerceController } from '../../../../controllers/ecommerce'\nimport { WorksheetController } from '../../../../controllers/worksheet-controller'\nimport { Worksheet, WorksheetDetail } from '../../../../entities'\n\nexport const completePickingResolver = {\n async completePicking(_: any, { releaseGoodNo }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n\n await completePicking(tx, domain, user, releaseGoodNo)\n\n const bizplace: Bizplace = await getMyBizplace(domain, user)\n const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)\n await worksheetController.notifyToCustomer(bizplace, {\n title: `Picking has been completed (${bizplace.name}, ${releaseGoodNo})`,\n body: `Items now are ready to be loaded`,\n url: context.header.referer,\n data: { url: context.header.referer }\n })\n }\n}\n\nexport async function completePicking(\n tx: EntityManager,\n domain: Domain,\n user: User,\n releaseGoodNo: string\n): Promise<void> {\n const pickingWSCtrl: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)\n let releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({\n where: { domain: { id: domain.id }, name: releaseGoodNo },\n relations: ['bizplace', 'bizplace.domain', 'bizplace.company', 'bizplace.company.domain']\n })\n\n const worksheet: Worksheet = await pickingWSCtrl.findWorksheetByRefOrder(releaseGood, WORKSHEET_TYPE.PICKING, [\n 'worksheetDetails',\n 'worksheetDetails.targetInventory'\n ])\n\n const warehouseContactPoint: ContactPoint = await tx.getRepository(ContactPoint).findOne({\n where: {\n domain: { id: domain.id },\n type: 'WAREHOUSE'\n }\n })\n\n const worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails\n const targetInventories: OrderInventory[] = worksheetDetails.map((wsd: WorksheetDetail) => wsd.targetInventory)\n const pickedTargetInventories: OrderInventory[] = targetInventories.filter(\n targetInventory => targetInventory.status === ORDER_INVENTORY_STATUS.PICKED\n )\n\n await pickingWSCtrl.completePicking(releaseGoodNo)\n\n if (releaseGood.type == 'b2c') {\n const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOneBy({\n domain: {\n id: releaseGood.bizplace.domain.id\n },\n status: SellercraftStatus.ACTIVE\n })\n const initSCOrderShipment = async sellercraft => {\n if (sellercraft) {\n await getManager().transaction(async txMgr => {\n const sellercraftCtrl: SellercraftController = new SellercraftController(txMgr, domain, user)\n\n if (!releaseGood?.packageId) {\n const orderProducts: OrderProduct[] = await tx.getRepository(OrderProduct).find({\n where: { releaseGood },\n relations: ['product', 'product.productDetails']\n })\n releaseGood = await sellercraftCtrl.packOrder(sellercraft, { ...releaseGood, orderProducts })\n\n if (releaseGood?.packageId) {\n await txMgr\n .getRepository(ReleaseGood)\n .update({ id: releaseGood.id }, { packageId: releaseGood.packageId, updater: releaseGood.updater })\n }\n }\n\n await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)\n })\n }\n }\n\n // asynchronouly call to initiate sellercraft order shipment/ RTS\n initSCOrderShipment(sellercraft)\n\n const companyDomain: Domain = releaseGood.bizplace.company.domain\n let marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({\n where: { orderNo: releaseGood.refNo, domain: companyDomain },\n relations: [\n 'marketplaceStore',\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'\n ]\n })\n\n if (!sellercraft && marketplaceOrder) {\n const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore\n let eTraxOption: boolean\n\n if (marketplaceStore.isAutoUpdateShipment) {\n const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)\n await ecommerceCtrl.createOrderComment(marketplaceStore, marketplaceOrder, ORDER_STATUS.PACKING)\n }\n\n if (!marketplaceOrder)\n throw new Error('Failed to find ecommerce order, kindly contact our support team regarding this issue')\n eTraxOption = marketplaceOrder?.marketplaceStore.eTrax\n\n // if eTrax option is true\n if (eTraxOption) {\n const marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems\n\n // access every marketplaceOrderItems for shipping information you need\n // trigger the controller from integration-lmd that trigger the API, build the parameters needed\n // for etrax didn't support multi awb per order\n const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] =\n marketplaceOrderItems[0].marketplaceOrderShippingItems\n const marketplaceOrderShipping: MarketplaceOrderShipping =\n marketplaceOrderShippingItems[0].marketplaceOrderShipping\n const lmd: LastMileDelivery = await tx.getRepository(LastMileDelivery).findOne({\n where: {\n domain: { id: domain.id },\n platform: 'eTrax'\n }\n })\n\n //Get which transporter to use\n const marketplaceTransporter: MarketplaceTransporter = await tx.getRepository(MarketplaceTransporter).findOne({\n where: { marketplaceStore: marketplaceOrder.marketplaceStore },\n relations: ['pickupTransporter', 'deliveryTransporter']\n })\n\n const resp = await LastMileAPI.createShipmentRequest(lmd, {\n orderNo: marketplaceOrder.orderNo,\n clientId: lmd.clientId,\n clientType: lmd.clientType,\n clientName: lmd.clientName,\n transporterId: marketplaceTransporter.pickupTransporter.transporterId,\n pickupName: warehouseContactPoint.name,\n pickupAddress1: warehouseContactPoint.address,\n pickupAddress2: warehouseContactPoint.address2,\n pickupPostcode: warehouseContactPoint.postCode,\n pickupState: warehouseContactPoint.state,\n pickupCity: warehouseContactPoint.city,\n pickupPhone: warehouseContactPoint.phone,\n pickupEmail: warehouseContactPoint.email,\n name: marketplaceOrderShipping?.attentionTo ? marketplaceOrderShipping.attentionTo.trim() : '',\n address1: marketplaceOrderShipping?.address1 ? marketplaceOrderShipping?.address1.trim() : '-',\n address2: marketplaceOrderShipping?.address2 ? marketplaceOrderShipping?.address2.trim() : '-',\n postCode: marketplaceOrderShipping?.postCode ? marketplaceOrderShipping?.postCode.trim() : '',\n city: marketplaceOrderShipping?.city ? marketplaceOrderShipping?.city.trim() : '',\n state: marketplaceOrderShipping?.state ? marketplaceOrderShipping?.state.trim() : '',\n phone: marketplaceOrderShipping.phone1 || '',\n email: marketplaceOrderShipping.email || '',\n attentionTo: marketplaceOrderShipping.attentionTo,\n quantity: marketplaceOrderItems.length\n })\n\n const delay = (ms: number) => {\n return new Promise(resolve => setTimeout(resolve, ms))\n }\n\n if (resp.Status === 'SUCCESS') {\n //Success\n let awbObtained = false\n let retry = 0\n while (!awbObtained) {\n const marketplaceOrder2: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({\n where: { releaseOrderId: releaseGood.id },\n relations: [\n 'marketplaceStore',\n 'marketplaceOrderItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems',\n 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'\n ]\n })\n const orderShipping =\n marketplaceOrder2.marketplaceOrderItems[0].marketplaceOrderShippingItems[0].marketplaceOrderShipping\n if (orderShipping?.airwayBill) {\n awbObtained = true\n }\n await delay(5000)\n //Timeout after 15sec\n if (++retry > 3) {\n break\n }\n }\n } else {\n if (resp?.AWBurl && resp?.TrackingNo)\n await tx\n .getRepository(MarketplaceOrderShipping)\n .update({ id: marketplaceOrderShipping.id }, { airwayBill: resp.AWBurl, trackingNo: resp.TrackingNo })\n else throw resp\n }\n }\n }\n }\n\n if (releaseGood.packingOption) {\n const packingWSCtrl: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)\n await packingWSCtrl.generatePackingWorksheet(releaseGoodNo)\n } else {\n // Find Existing Loading Worksheet if any\n let existLoadingWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({\n where: {\n releaseGood,\n type: WORKSHEET_TYPE.LOADING,\n status: WORKSHEET_STATUS.DEACTIVATED\n }\n })\n\n if (!existLoadingWorksheet && !releaseGood.courierOption && !releaseGood.packingOption) {\n if (pickedTargetInventories.length > 0) {\n const loadingWSCtrl: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n let loadingWorksheet: Worksheet = await loadingWSCtrl.generateLoadingWorksheet(\n releaseGoodNo,\n pickedTargetInventories\n )\n\n if (!loadingWorksheet.worksheetDetails?.length) {\n loadingWorksheet = await pickingWSCtrl.findWorksheetById(loadingWorksheet.id)\n }\n\n const loadingWorksheetDetails: WorksheetDetail[] = loadingWorksheet.worksheetDetails\n await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails)\n }\n } else {\n const loadingWSCtrl: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)\n let loadingWorksheet: Worksheet = await loadingWSCtrl.updateLoadingWorksheet(\n releaseGoodNo,\n pickedTargetInventories,\n existLoadingWorksheet\n )\n\n if (!loadingWorksheet.worksheetDetails?.length) {\n loadingWorksheet = await pickingWSCtrl.findWorksheetById(loadingWorksheet.id)\n }\n\n const loadingWorksheetDetails: WorksheetDetail[] = loadingWorksheet.worksheetDetails\n await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails)\n }\n }\n}\n"]}
|
|
@@ -13,7 +13,10 @@ exports.fetchAndAssignPickingTaskResolver = {
|
|
|
13
13
|
async fetchAndAssignPickingTask(_, {}, context) {
|
|
14
14
|
try {
|
|
15
15
|
const { tx, domain, user } = context.state;
|
|
16
|
-
const assignee = await tx.getRepository(auth_base_1.User).findOne(
|
|
16
|
+
const assignee = await tx.getRepository(auth_base_1.User).findOne({
|
|
17
|
+
where: { id: user.id },
|
|
18
|
+
relations: ['domains']
|
|
19
|
+
});
|
|
17
20
|
if (((assignee === null || assignee === void 0 ? void 0 : assignee.domains) || []).every((userDomain) => userDomain.id !== domain.id))
|
|
18
21
|
throw new Error('Target user is not belong to current domain');
|
|
19
22
|
if (!assignee)
|
|
@@ -25,7 +28,7 @@ exports.fetchAndAssignPickingTaskResolver = {
|
|
|
25
28
|
.select('ws.id')
|
|
26
29
|
.addSelect('ws.name')
|
|
27
30
|
.addSelect('ws.status')
|
|
28
|
-
.
|
|
31
|
+
.innerJoinAndSelect('ws.releaseGood', 'rg')
|
|
29
32
|
.where('(ws.domain_id = :domain_id AND ws.type = :type AND ws.assignee_id =:assignee AND (ws.status = :status1 OR ws.status = :status2))', {
|
|
30
33
|
domain_id: domain.id,
|
|
31
34
|
type: constants_1.WORKSHEET_TYPE.PICKING,
|
|
@@ -44,49 +47,57 @@ exports.fetchAndAssignPickingTaskResolver = {
|
|
|
44
47
|
.having('COUNT(*) > 0')
|
|
45
48
|
.getQuery();
|
|
46
49
|
return 'NOT EXISTS ' + subQuery;
|
|
47
|
-
})
|
|
48
|
-
|
|
50
|
+
})
|
|
51
|
+
.orderBy('"rg"."created_at"', 'ASC');
|
|
52
|
+
worksheet = await worksheetQb.getOne();
|
|
49
53
|
if (!worksheet) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
54
|
+
// update and return updated worksheet id
|
|
55
|
+
let updatedWorksheets = await (0, typeorm_1.getConnection)().transaction(async (tx2) => {
|
|
56
|
+
let x = await tx2.getRepository(entities_1.Worksheet).query(`
|
|
57
|
+
UPDATE worksheets ws SET assignee_id = $2,
|
|
58
|
+
updated_at = NOW(),
|
|
59
|
+
updater_id = $2
|
|
60
|
+
FROM (
|
|
61
|
+
SELECT ws.id, ws.name, ws.status, ws.release_good_id FROM worksheets ws
|
|
62
|
+
INNER JOIN release_goods rg ON rg.id = ws.release_good_id
|
|
63
|
+
WHERE
|
|
64
|
+
ws.domain_id = $1 AND
|
|
65
|
+
ws.type = 'PICKING' AND
|
|
66
|
+
ws.assignee_id IS NULL AND
|
|
67
|
+
(ws.status = 'EXECUTING' OR ws.status = 'DEACTIVATED') AND
|
|
68
|
+
NOT EXISTS (
|
|
69
|
+
SELECT count(id) AS "totalPS"
|
|
70
|
+
FROM order_inventories oi
|
|
71
|
+
WHERE oi.release_good_id = ws.release_good_id AND
|
|
72
|
+
oi.status = 'PENDING_SPLIT'
|
|
73
|
+
GROUP BY oi.release_good_id
|
|
74
|
+
HAVING count(id) > 0
|
|
75
|
+
)
|
|
76
|
+
ORDER BY rg.release_date, rg.created_at LIMIT 1
|
|
77
|
+
) src where src.id = ws.id
|
|
78
|
+
RETURNING ws.id;
|
|
79
|
+
`, [domain.id, assignee.id]);
|
|
80
|
+
return x[0];
|
|
74
81
|
});
|
|
75
|
-
|
|
76
|
-
if (!worksheet)
|
|
82
|
+
if (updatedWorksheets.length == 0)
|
|
77
83
|
throw new Error('no suitable worksheet found');
|
|
78
|
-
|
|
84
|
+
// relace worksheet with newly assigned worksheet
|
|
85
|
+
worksheet = await tx
|
|
86
|
+
.getRepository(entities_1.Worksheet)
|
|
87
|
+
.findOne({ where: { id: updatedWorksheets[0].id }, relations: ['releaseGood'] });
|
|
79
88
|
}
|
|
80
|
-
if (worksheet.
|
|
81
|
-
await (0, activate_picking_1.activatePicking)(tx, domain, user, worksheet.
|
|
89
|
+
if (worksheet.status == constants_1.WORKSHEET_STATUS.DEACTIVATED)
|
|
90
|
+
await (0, activate_picking_1.activatePicking)(tx, domain, user, worksheet.name);
|
|
82
91
|
const locationSortingRules = await tx.getRepository(setting_base_1.Setting).findOne({
|
|
83
|
-
where: { domain, name: 'rule-for-picking-product' }
|
|
92
|
+
where: { domain: { id: domain.id }, name: 'rule-for-picking-product' }
|
|
84
93
|
});
|
|
85
94
|
const sortingRule = JSON.parse(locationSortingRules.value);
|
|
86
95
|
const locationSortingRule = Object.keys(sortingRule).map(field => {
|
|
87
96
|
return { name: field, desc: sortingRule[field] === 'DESC' };
|
|
88
97
|
});
|
|
89
|
-
const releaseGood = await tx.getRepository(sales_base_1.ReleaseGood).
|
|
98
|
+
const releaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOneBy({
|
|
99
|
+
id: worksheet.releaseGood.id
|
|
100
|
+
});
|
|
90
101
|
return await (0, picking_worksheet_1.pickingWorksheet)(domain, releaseGood.name, locationSortingRule, tx);
|
|
91
102
|
}
|
|
92
103
|
catch (error) {
|
package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-and-assign-picking-task.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.ts"],"names":[],"mappings":";;;AAAA,qCAAsD;AAEtD,yDAAgD;AAChD,2DAAwE;AACxE,+DAAsD;AAGtD,qDAAwE;AACxE,mDAAgD;AAChD,4DAAuD;AACvD,yDAAoD;AAEvC,QAAA,iCAAiC,GAAG;IAC/C,KAAK,CAAC,yBAAyB,CAAC,CAAM,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"fetch-and-assign-picking-task.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager, getConnection } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { OrderInventory, ReleaseGood } from '@things-factory/sales-base'\nimport { Setting } from '@things-factory/setting-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'\nimport { Worksheet } from '../../../../entities'\nimport { pickingWorksheet } from '../picking-worksheet'\nimport { activatePicking } from './activate-picking'\n\nexport const fetchAndAssignPickingTaskResolver = {\n async fetchAndAssignPickingTask(_: any, {}, context: ResolverContext) {\n try {\n const { tx, domain, user } = context.state\n const assignee: User = await tx.getRepository(User).findOne({\n where: { id: user.id },\n relations: ['domains']\n })\n if ((assignee?.domains || []).every((userDomain: Domain) => userDomain.id !== domain.id))\n throw new Error('Target user is not belong to current domain')\n\n if (!assignee) throw new Error('failed to find target user')\n\n let worksheet: Worksheet\n let worksheetQb = await tx\n .getRepository(Worksheet)\n .createQueryBuilder('ws')\n .select('ws.id')\n .addSelect('ws.name')\n .addSelect('ws.status')\n .innerJoinAndSelect('ws.releaseGood', 'rg')\n .where(\n '(ws.domain_id = :domain_id AND ws.type = :type AND ws.assignee_id =:assignee AND (ws.status = :status1 OR ws.status = :status2))',\n {\n domain_id: domain.id,\n type: WORKSHEET_TYPE.PICKING,\n assignee: assignee.id,\n status1: WORKSHEET_STATUS.EXECUTING,\n status2: WORKSHEET_STATUS.DEACTIVATED\n }\n )\n .andWhere(qb => {\n const subQuery = qb\n .subQuery()\n .select('COUNT(*) AS totalPS')\n .from(OrderInventory, 'OrderInventory')\n .where('OrderInventory.release_good_id = ws.release_good_id')\n .andWhere(`OrderInventory.status = 'PENDING_SPLIT'`)\n .groupBy('OrderInventory.release_good_id')\n .having('COUNT(*) > 0')\n .getQuery()\n return 'NOT EXISTS ' + subQuery\n })\n .orderBy('\"rg\".\"created_at\"', 'ASC')\n\n worksheet = await worksheetQb.getOne()\n\n if (!worksheet) {\n // update and return updated worksheet id\n let updatedWorksheets = await getConnection().transaction(async (tx2: EntityManager) => {\n let x = await tx2.getRepository(Worksheet).query(\n `\n UPDATE worksheets ws SET assignee_id = $2,\n updated_at = NOW(),\n updater_id = $2\n FROM (\n SELECT ws.id, ws.name, ws.status, ws.release_good_id FROM worksheets ws\n INNER JOIN release_goods rg ON rg.id = ws.release_good_id\n WHERE \n ws.domain_id = $1 AND \n ws.type = 'PICKING' AND \n ws.assignee_id IS NULL AND \n (ws.status = 'EXECUTING' OR ws.status = 'DEACTIVATED') AND\n NOT EXISTS (\n SELECT count(id) AS \"totalPS\"\n FROM order_inventories oi \n WHERE oi.release_good_id = ws.release_good_id AND\n oi.status = 'PENDING_SPLIT'\n GROUP BY oi.release_good_id \n HAVING count(id) > 0\n )\n ORDER BY rg.release_date, rg.created_at LIMIT 1\n ) src where src.id = ws.id\n RETURNING ws.id;\n `,\n [domain.id, assignee.id]\n )\n return x[0]\n })\n\n if (updatedWorksheets.length == 0) throw new Error('no suitable worksheet found')\n\n // relace worksheet with newly assigned worksheet\n worksheet = await tx\n .getRepository(Worksheet)\n .findOne({ where: { id: updatedWorksheets[0].id }, relations: ['releaseGood'] })\n }\n\n if (worksheet.status == WORKSHEET_STATUS.DEACTIVATED) await activatePicking(tx, domain, user, worksheet.name)\n\n const locationSortingRules: Setting = await tx.getRepository(Setting).findOne({\n where: { domain: { id: domain.id }, name: 'rule-for-picking-product' }\n })\n\n const sortingRule = JSON.parse(locationSortingRules.value)\n const locationSortingRule = Object.keys(sortingRule).map(field => {\n return { name: field, desc: sortingRule[field] === 'DESC' }\n })\n\n const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOneBy({\n id: worksheet.releaseGood.id\n })\n\n return await pickingWorksheet(domain, releaseGood.name, locationSortingRule, tx)\n } catch (error) {\n throw error\n }\n }\n}\n"]}
|
|
@@ -2,13 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.myPickingAssignmentStatusResolver = void 0;
|
|
4
4
|
const typeorm_1 = require("typeorm");
|
|
5
|
+
const shell_1 = require("@things-factory/shell");
|
|
5
6
|
const constants_1 = require("../../../../constants");
|
|
6
7
|
const entities_1 = require("../../../../entities");
|
|
7
8
|
exports.myPickingAssignmentStatusResolver = {
|
|
8
9
|
async myPickingAssignmentStatus(_parentObj, _params, context) {
|
|
9
10
|
const { domain, user } = context.state;
|
|
10
|
-
const pickingWorksheets = await (0,
|
|
11
|
-
where: {
|
|
11
|
+
const pickingWorksheets = await (0, shell_1.getRepository)(entities_1.Worksheet).find({
|
|
12
|
+
where: {
|
|
13
|
+
domain: { id: domain.id },
|
|
14
|
+
assignee: { id: user.id },
|
|
15
|
+
status: (0, typeorm_1.In)([constants_1.WORKSHEET_STATUS.DEACTIVATED, constants_1.WORKSHEET_STATUS.EXECUTING])
|
|
16
|
+
}
|
|
12
17
|
});
|
|
13
18
|
return (pickingWorksheets || []).reduce((assignmentStatus, worksheet) => {
|
|
14
19
|
if (worksheet.status === constants_1.WORKSHEET_STATUS.DEACTIVATED)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"my-picking-assignment-status.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"my-picking-assignment-status.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.ts"],"names":[],"mappings":";;;AAAA,qCAA4B;AAE5B,iDAAqD;AAErD,qDAAwD;AACxD,mDAAgD;AAInC,QAAA,iCAAiC,GAAG;IAC/C,KAAK,CAAC,yBAAyB,CAC7B,UAAgB,EAChB,OAAa,EACb,OAAwB;QAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,MAAM,iBAAiB,GAAgB,MAAM,IAAA,qBAAa,EAAC,oBAAS,CAAC,CAAC,IAAI,CAAC;YACzE,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;gBACzB,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;gBACzB,MAAM,EAAE,IAAA,YAAE,EAAC,CAAC,4BAAgB,CAAC,WAAW,EAAE,4BAAgB,CAAC,SAAS,CAAC,CAAC;aACvE;SACF,CAAC,CAAA;QAEF,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,MAAM,CACrC,CAAC,gBAAsC,EAAE,SAAoB,EAAE,EAAE;YAC/D,IAAI,SAAS,CAAC,MAAM,KAAK,4BAAgB,CAAC,WAAW;gBAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC/F,IAAI,SAAS,CAAC,MAAM,KAAK,4BAAgB,CAAC,SAAS;gBAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC7F,OAAO,gBAAgB,CAAA;QACzB,CAAC,EACD,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAC9C,CAAA;IACH,CAAC;CACF,CAAA","sourcesContent":["import { In } from 'typeorm'\n\nimport { getRepository } from '@things-factory/shell'\n\nimport { WORKSHEET_STATUS } from '../../../../constants'\nimport { Worksheet } from '../../../../entities'\n\ntype AssignmentStatusType = { userId: string; pending?: Worksheet[]; picking: Worksheet[] }\n\nexport const myPickingAssignmentStatusResolver = {\n async myPickingAssignmentStatus(\n _parentObj: void,\n _params: void,\n context: ResolverContext\n ): Promise<AssignmentStatusType> {\n const { domain, user } = context.state\n\n const pickingWorksheets: Worksheet[] = await getRepository(Worksheet).find({\n where: {\n domain: { id: domain.id },\n assignee: { id: user.id },\n status: In([WORKSHEET_STATUS.DEACTIVATED, WORKSHEET_STATUS.EXECUTING])\n }\n })\n\n return (pickingWorksheets || []).reduce(\n (assignmentStatus: AssignmentStatusType, worksheet: Worksheet) => {\n if (worksheet.status === WORKSHEET_STATUS.DEACTIVATED) assignmentStatus.pending.push(worksheet)\n if (worksheet.status === WORKSHEET_STATUS.EXECUTING) assignmentStatus.picking.push(worksheet)\n return assignmentStatus\n },\n { userId: user.id, pending: [], picking: [] }\n )\n }\n}\n"]}
|
package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js
CHANGED
|
@@ -1,34 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.pickingAssignmentStatusByUsersResolver = void 0;
|
|
4
|
-
const auth_base_1 = require("@things-factory/auth-base");
|
|
5
4
|
const typeorm_1 = require("typeorm");
|
|
5
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
6
|
+
const shell_1 = require("@things-factory/shell");
|
|
6
7
|
const constants_1 = require("../../../../constants");
|
|
7
8
|
const entities_1 = require("../../../../entities");
|
|
8
9
|
exports.pickingAssignmentStatusByUsersResolver = {
|
|
9
10
|
async pickingAssignmentStatusByUsers(_, params, context) {
|
|
10
11
|
const { domain } = context.state;
|
|
11
|
-
const nameFilter = params.filters.find(p => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
const nameFilter = params.filters.find(p => {
|
|
13
|
+
return p.name == 'name';
|
|
14
|
+
});
|
|
15
|
+
const emailFilter = params.filters.find(p => {
|
|
16
|
+
return p.name == 'email';
|
|
17
|
+
});
|
|
18
|
+
const roleFilter = params.filters.find(p => {
|
|
19
|
+
return p.name == 'roles';
|
|
20
|
+
});
|
|
21
|
+
const pendingSorter = params.sortings.find(p => {
|
|
22
|
+
return p.name == 'pending';
|
|
23
|
+
});
|
|
24
|
+
const pickingSorter = params.sortings.find(p => {
|
|
25
|
+
return p.name == 'picking';
|
|
26
|
+
});
|
|
27
|
+
const getUserInfoQb = await (0, shell_1.getRepository)(auth_base_1.User).createQueryBuilder('u');
|
|
17
28
|
getUserInfoQb.select('u.id');
|
|
18
29
|
getUserInfoQb.addSelect('u.name');
|
|
19
30
|
getUserInfoQb.addSelect('u.email');
|
|
20
31
|
getUserInfoQb.addSelect("string_agg(r.name,', ') as roles");
|
|
21
32
|
getUserInfoQb.innerJoin('u.roles', 'r');
|
|
22
33
|
getUserInfoQb.where('r.domain_id = :domainId', { domainId: domain.id });
|
|
23
|
-
roleFilter ? getUserInfoQb.andWhere('r.name ilike :userRole', { userRole: `%${roleFilter.value}%` }) :
|
|
24
|
-
nameFilter ? getUserInfoQb.andWhere('u.name ilike :userName', { userName: `%${nameFilter.value}%` }) :
|
|
25
|
-
emailFilter ? getUserInfoQb.andWhere('u.email ilike :userEmail', { userEmail: `%${emailFilter.value}%` }) :
|
|
34
|
+
roleFilter ? getUserInfoQb.andWhere('r.name ilike :userRole', { userRole: `%${roleFilter.value}%` }) : '';
|
|
35
|
+
nameFilter ? getUserInfoQb.andWhere('u.name ilike :userName', { userName: `%${nameFilter.value}%` }) : '';
|
|
36
|
+
emailFilter ? getUserInfoQb.andWhere('u.email ilike :userEmail', { userEmail: `%${emailFilter.value}%` }) : '';
|
|
26
37
|
getUserInfoQb.andWhere('r.name not ilike :userR', { userR: `%CLIENT%` });
|
|
27
|
-
getUserInfoQb.andWhere('u.user_type = :userType', { userType:
|
|
38
|
+
getUserInfoQb.andWhere('u.user_type = :userType', { userType: 'user' });
|
|
28
39
|
getUserInfoQb.groupBy('u.id');
|
|
29
40
|
getUserInfoQb.addGroupBy('u.name');
|
|
30
41
|
getUserInfoQb.addGroupBy('u.email');
|
|
31
|
-
const getAssignedWSQb = await (0,
|
|
42
|
+
const getAssignedWSQb = await (0, shell_1.getRepository)(entities_1.Worksheet).createQueryBuilder('ws');
|
|
32
43
|
getAssignedWSQb.select('ws.assignee_id');
|
|
33
44
|
getAssignedWSQb.addSelect('u.name');
|
|
34
45
|
getAssignedWSQb.addSelect("sum(case when ws.status='EXECUTING' then 1 else 0 end) as picking");
|
|
@@ -36,7 +47,9 @@ exports.pickingAssignmentStatusByUsersResolver = {
|
|
|
36
47
|
getAssignedWSQb.innerJoin('ws.assignee', 'u');
|
|
37
48
|
getAssignedWSQb.where('ws.domain_id = :id', { id: domain.id });
|
|
38
49
|
getAssignedWSQb.andWhere('ws.type IN (:...type)', { type: [constants_1.WORKSHEET_TYPE.PICKING, constants_1.WORKSHEET_TYPE.BATCH_PICKING] });
|
|
39
|
-
getAssignedWSQb.andWhere('ws.status IN (:...status)', {
|
|
50
|
+
getAssignedWSQb.andWhere('ws.status IN (:...status)', {
|
|
51
|
+
status: [constants_1.WORKSHEET_STATUS.DEACTIVATED, constants_1.WORKSHEET_STATUS.EXECUTING]
|
|
52
|
+
});
|
|
40
53
|
getAssignedWSQb.groupBy('ws.assignee_id');
|
|
41
54
|
getAssignedWSQb.addGroupBy('u.name');
|
|
42
55
|
(pendingSorter === null || pendingSorter === void 0 ? void 0 : pendingSorter.desc) ? getAssignedWSQb.orderBy('pending', 'DESC') : '';
|
|
@@ -50,12 +63,16 @@ exports.pickingAssignmentStatusByUsersResolver = {
|
|
|
50
63
|
combineQb.select('u.*');
|
|
51
64
|
combineQb.addSelect('coalesce(ws.picking, 0) as picking');
|
|
52
65
|
combineQb.addSelect('coalesce(ws.pending, 0) as pending');
|
|
53
|
-
combineQb.from(
|
|
54
|
-
combineQb.leftJoin(
|
|
66
|
+
combineQb.from('(' + getUserInfoQb.getQuery() + ')', 'u');
|
|
67
|
+
combineQb.leftJoin('(' + getAssignedWSQb.getQuery() + ')', 'ws', ' ws.assignee_id = u.u_id');
|
|
55
68
|
combineQb.setParameters(combineParams);
|
|
56
69
|
const combineInfo = await combineQb.getRawMany();
|
|
57
70
|
return combineInfo.map(itm => {
|
|
58
|
-
return {
|
|
71
|
+
return {
|
|
72
|
+
user: { id: itm.u_id, email: itm.u_email, name: itm.u_name, description: itm.roles },
|
|
73
|
+
pending: itm.pending,
|
|
74
|
+
picking: itm.picking
|
|
75
|
+
};
|
|
59
76
|
});
|
|
60
77
|
}
|
|
61
78
|
};
|
package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picking-assignment-status-by-user.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"picking-assignment-status-by-user.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.ts"],"names":[],"mappings":"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","sourcesContent":["import { getManager, SelectQueryBuilder } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { getRepository, ListParam } from '@things-factory/shell'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'\nimport { Worksheet } from '../../../../entities'\n\ntype AssignmentStatusByUserType = { user: User; pending?: String; picking?: String }\n\nexport const pickingAssignmentStatusByUsersResolver = {\n async pickingAssignmentStatusByUsers(\n _: void,\n params: ListParam,\n context: any\n ): Promise<AssignmentStatusByUserType[]> {\n const { domain } = context.state\n\n const nameFilter = params.filters.find(p => {\n return p.name == 'name'\n })\n const emailFilter = params.filters.find(p => {\n return p.name == 'email'\n })\n const roleFilter = params.filters.find(p => {\n return p.name == 'roles'\n })\n\n const pendingSorter = params.sortings.find(p => {\n return p.name == 'pending'\n })\n const pickingSorter = params.sortings.find(p => {\n return p.name == 'picking'\n })\n\n const getUserInfoQb: SelectQueryBuilder<User> = await getRepository(User).createQueryBuilder('u')\n\n getUserInfoQb.select('u.id')\n getUserInfoQb.addSelect('u.name')\n getUserInfoQb.addSelect('u.email')\n getUserInfoQb.addSelect(\"string_agg(r.name,', ') as roles\")\n getUserInfoQb.innerJoin('u.roles', 'r')\n getUserInfoQb.where('r.domain_id = :domainId', { domainId: domain.id })\n roleFilter ? getUserInfoQb.andWhere('r.name ilike :userRole', { userRole: `%${roleFilter.value}%` }) : ''\n nameFilter ? getUserInfoQb.andWhere('u.name ilike :userName', { userName: `%${nameFilter.value}%` }) : ''\n emailFilter ? getUserInfoQb.andWhere('u.email ilike :userEmail', { userEmail: `%${emailFilter.value}%` }) : ''\n getUserInfoQb.andWhere('r.name not ilike :userR', { userR: `%CLIENT%` })\n getUserInfoQb.andWhere('u.user_type = :userType', { userType: 'user' })\n getUserInfoQb.groupBy('u.id')\n getUserInfoQb.addGroupBy('u.name')\n getUserInfoQb.addGroupBy('u.email')\n\n const getAssignedWSQb = await getRepository(Worksheet).createQueryBuilder('ws')\n\n getAssignedWSQb.select('ws.assignee_id')\n getAssignedWSQb.addSelect('u.name')\n getAssignedWSQb.addSelect(\"sum(case when ws.status='EXECUTING' then 1 else 0 end) as picking\")\n getAssignedWSQb.addSelect(\"sum(case when ws.status='DEACTIVATED' then 1 else 0 end) as pending\")\n getAssignedWSQb.innerJoin('ws.assignee', 'u')\n getAssignedWSQb.where('ws.domain_id = :id', { id: domain.id })\n getAssignedWSQb.andWhere('ws.type IN (:...type)', { type: [WORKSHEET_TYPE.PICKING, WORKSHEET_TYPE.BATCH_PICKING] })\n getAssignedWSQb.andWhere('ws.status IN (:...status)', {\n status: [WORKSHEET_STATUS.DEACTIVATED, WORKSHEET_STATUS.EXECUTING]\n })\n getAssignedWSQb.groupBy('ws.assignee_id')\n getAssignedWSQb.addGroupBy('u.name')\n pendingSorter?.desc ? getAssignedWSQb.orderBy('pending', 'DESC') : ''\n pickingSorter?.desc ? getAssignedWSQb.orderBy('picking', 'DESC') : ''\n pickingSorter && Object.keys(pickingSorter).length == 1 ? getAssignedWSQb.orderBy('picking', 'ASC') : ''\n pendingSorter && Object.keys(pendingSorter).length == 1 ? getAssignedWSQb.orderBy('pending', 'ASC') : ''\n\n const parameter1 = getUserInfoQb.getParameters()\n const parameter2 = getAssignedWSQb.getParameters()\n\n const combineParams = Object.assign(parameter1, parameter2)\n\n const combineQb = getManager().createQueryBuilder()\n\n combineQb.select('u.*')\n combineQb.addSelect('coalesce(ws.picking, 0) as picking')\n combineQb.addSelect('coalesce(ws.pending, 0) as pending')\n combineQb.from('(' + getUserInfoQb.getQuery() + ')', 'u')\n combineQb.leftJoin('(' + getAssignedWSQb.getQuery() + ')', 'ws', ' ws.assignee_id = u.u_id')\n combineQb.setParameters(combineParams)\n\n const combineInfo = await combineQb.getRawMany()\n\n return combineInfo.map(itm => {\n return {\n user: { id: itm.u_id, email: itm.u_email, name: itm.u_name, description: itm.roles },\n pending: itm.pending,\n picking: itm.picking\n } as any\n })\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picking.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/picking.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"picking.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/picking.ts"],"names":[],"mappings":";;;AAKA,yDAAoE;AAEvD,QAAA,eAAe,GAAG;IAC7B,KAAK,CAAC,OAAO,CACX,CAAM,EACN,EAAE,mBAAmB,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,EAC7G,OAAY;QAEZ,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,OAAO,CACX,EAAE,EACF,MAAM,EACN,IAAI,EACJ,mBAAmB,EACnB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,MAAM,CACP,CAAA;IACH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,OAAO,CAC3B,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,mBAA2B,EAC3B,aAAqB,EACrB,QAAgB,EAChB,YAAoB,EACpB,UAAkB,EAClB,WAAoB,EACpB,YAAqB,EACrB,MAAe;IAEf,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,MAAM,mBAAmB,CAAC,OAAO,CAC/B,mBAAmB,EACnB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,MAAM,CACP,CAAA;AACH,CAAC;AAxBD,0BAwBC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { PickingWorksheetController } from '../../../../controllers'\n\nexport const pickingResolver = {\n async picking(\n _: any,\n { worksheetDetailName, worksheetType, palletId, locationName, releaseQty, binLocation, serialNumber, toteNo },\n context: any\n ) {\n const { tx, domain, user } = context.state\n await picking(\n tx,\n domain,\n user,\n worksheetDetailName,\n worksheetType,\n palletId,\n locationName,\n releaseQty,\n binLocation,\n serialNumber,\n toteNo\n )\n }\n}\n\nexport async function picking(\n tx: EntityManager,\n domain: Domain,\n user: User,\n worksheetDetailName: string,\n worksheetType: string,\n palletId: string,\n locationName: string,\n releaseQty: number,\n binLocation?: string,\n serialNumber?: string,\n toteNo?: string\n) {\n const worksheetController: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)\n await worksheetController.picking(\n worksheetDetailName,\n worksheetType,\n palletId,\n locationName,\n releaseQty,\n binLocation,\n serialNumber,\n toteNo\n )\n}\n"]}
|