@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,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.confirmCancellationReleaseOrder = void 0;
|
|
4
|
-
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
5
4
|
const typeorm_1 = require("typeorm");
|
|
6
5
|
const sales_base_1 = require("@things-factory/sales-base");
|
|
7
|
-
const
|
|
6
|
+
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
8
7
|
const entities_1 = require("../../../entities");
|
|
8
|
+
const utils_1 = require("../../../utils");
|
|
9
9
|
exports.confirmCancellationReleaseOrder = {
|
|
10
10
|
async confirmCancellationReleaseOrder(_, { name }, context) {
|
|
11
11
|
const { tx, domain, user } = context.state;
|
|
12
12
|
let releaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
|
|
13
|
-
where: { domain, name, status: sales_base_1.ORDER_STATUS.PENDING_CANCEL },
|
|
13
|
+
where: { domain: { id: domain.id }, name, status: sales_base_1.ORDER_STATUS.PENDING_CANCEL },
|
|
14
14
|
relations: [
|
|
15
15
|
'bizplace',
|
|
16
16
|
'orderInventories',
|
|
@@ -24,87 +24,72 @@ exports.confirmCancellationReleaseOrder = {
|
|
|
24
24
|
let targetOIs = releaseGood.orderInventories;
|
|
25
25
|
let foundOVs = releaseGood.orderVass;
|
|
26
26
|
// 1. Check Order Inventory status
|
|
27
|
-
// 1a. separate into
|
|
28
|
-
let
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
acc.push(oi);
|
|
36
|
-
}
|
|
37
|
-
return acc;
|
|
38
|
-
}, []);
|
|
39
|
-
let pickedOI = targetOIs.filter((oi) => oi.status === sales_base_1.ORDER_INVENTORY_STATUS.PENDING_REVERSE).reduce((acc, oi) => {
|
|
40
|
-
let existingRecordIdx = acc.findIndex(i => i.inventory.id == oi.inventory.id);
|
|
41
|
-
if (existingRecordIdx >= 0) {
|
|
42
|
-
acc[existingRecordIdx].releaseQty += oi.releaseQty;
|
|
43
|
-
acc[existingRecordIdx].releaseUomValue += oi.releaseQty;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
acc.push(oi);
|
|
47
|
-
}
|
|
48
|
-
return acc;
|
|
49
|
-
}, []);
|
|
50
|
-
let replacedOI = targetOIs.filter((oi) => oi.status === sales_base_1.ORDER_INVENTORY_STATUS.REPLACED).reduce((acc, oi) => {
|
|
51
|
-
let existingRecordIdx = acc.findIndex(i => i.inventory.id == oi.inventory.id);
|
|
52
|
-
if (existingRecordIdx >= 0) {
|
|
53
|
-
acc[existingRecordIdx].releaseQty += oi.releaseQty;
|
|
54
|
-
acc[existingRecordIdx].releaseUomValue += oi.releaseQty;
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
acc.push(oi);
|
|
58
|
-
}
|
|
59
|
-
return acc;
|
|
60
|
-
}, []);
|
|
61
|
-
if (pickedOI && (pickedOI === null || pickedOI === void 0 ? void 0 : pickedOI.length)) {
|
|
62
|
-
await tx.getRepository(sales_base_1.OrderInventory).save(await Promise.all(pickedOI.map(async (orderInventory) => {
|
|
27
|
+
// 1a. separate into three groups, group 1: pending cancel, group 2: picked, group 3: replaced
|
|
28
|
+
let cancelOIs = _filterOrderInventoriesByStatus(targetOIs, sales_base_1.ORDER_INVENTORY_STATUS.PENDING_CANCEL);
|
|
29
|
+
let pickedOIs = _filterOrderInventoriesByStatus(targetOIs, sales_base_1.ORDER_INVENTORY_STATUS.PENDING_REVERSE);
|
|
30
|
+
let replacedOIs = _filterOrderInventoriesByStatus(targetOIs, sales_base_1.ORDER_INVENTORY_STATUS.REPLACED);
|
|
31
|
+
if (pickedOIs && pickedOIs.length) {
|
|
32
|
+
await Promise.all(pickedOIs.map(async (orderInventory) => {
|
|
63
33
|
let inventory = orderInventory.inventory;
|
|
64
|
-
let location = inventory.location;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
34
|
+
let location = inventory === null || inventory === void 0 ? void 0 : inventory.location;
|
|
35
|
+
if (inventory && inventory.id) {
|
|
36
|
+
await tx
|
|
37
|
+
.createQueryBuilder()
|
|
38
|
+
.update(warehouse_base_1.Inventory)
|
|
39
|
+
.set({
|
|
40
|
+
qty: () => `COALESCE("qty", 0) + ${orderInventory.releaseQty}`,
|
|
41
|
+
uomValue: () => `COALESCE("uom_value", 0) + ${orderInventory.releaseUomValue}`,
|
|
42
|
+
status: warehouse_base_1.INVENTORY_STATUS.STORED,
|
|
43
|
+
updater: user
|
|
44
|
+
})
|
|
45
|
+
.where('id = :id', { id: inventory.id })
|
|
46
|
+
.execute();
|
|
75
47
|
await (0, utils_1.generateInventoryHistory)(inventory, releaseGood, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.CANCEL_ORDER, orderInventory.releaseQty, orderInventory.releaseUomValue, user, tx);
|
|
76
48
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
return cancelledTargetInventory;
|
|
84
|
-
})));
|
|
49
|
+
return orderInventory;
|
|
50
|
+
}));
|
|
51
|
+
await tx
|
|
52
|
+
.getRepository(sales_base_1.OrderInventory)
|
|
53
|
+
.update(pickedOIs, { status: sales_base_1.ORDER_INVENTORY_STATUS.CANCELLED, updater: user });
|
|
85
54
|
}
|
|
86
|
-
// change status to cancelled for order inventory that has not executed yet
|
|
87
|
-
if (
|
|
88
|
-
await
|
|
55
|
+
// change status to cancelled for order inventory that has not executed yet and remove locked qty
|
|
56
|
+
if (cancelOIs && cancelOIs.length) {
|
|
57
|
+
await Promise.all(cancelOIs.map(async (orderInventory) => {
|
|
89
58
|
let inventory = orderInventory.inventory;
|
|
90
|
-
if (inventory) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
59
|
+
if (inventory && inventory.id) {
|
|
60
|
+
await tx
|
|
61
|
+
.createQueryBuilder()
|
|
62
|
+
.update(warehouse_base_1.Inventory)
|
|
63
|
+
.set({
|
|
64
|
+
lockedQty: () => `COALESCE("locked_qty", 0) - ${orderInventory.releaseQty}`,
|
|
65
|
+
lockedUomValue: () => `COALESCE("locked_uom_value", 0) - ${orderInventory.releaseUomValue}`,
|
|
66
|
+
updater: user
|
|
67
|
+
})
|
|
68
|
+
.where('id = :id', { id: inventory.id })
|
|
69
|
+
.execute();
|
|
70
|
+
// @ChrisLim-git commented for further review as it causes qty to add into inventory
|
|
71
|
+
// await tx
|
|
72
|
+
// .createQueryBuilder()
|
|
73
|
+
// .update(Inventory)
|
|
74
|
+
// .set({
|
|
75
|
+
// qty: () => `COALESCE("qty", 0) + ${orderInventory.releaseQty}`,
|
|
76
|
+
// uomValue: () => `COALESCE("uom_value", 0) + ${orderInventory.releaseUomValue}`,
|
|
77
|
+
// status: INVENTORY_STATUS.STORED,
|
|
78
|
+
// updater: user
|
|
79
|
+
// })
|
|
80
|
+
// .where('id = :id', { id: inventory.id })
|
|
81
|
+
// .execute()
|
|
96
82
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
83
|
+
return orderInventory;
|
|
84
|
+
}));
|
|
85
|
+
await tx
|
|
86
|
+
.getRepository(sales_base_1.OrderInventory)
|
|
87
|
+
.update(cancelOIs, { status: sales_base_1.ORDER_INVENTORY_STATUS.CANCELLED, updater: user });
|
|
102
88
|
}
|
|
103
|
-
if (
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
await tx.getRepository(sales_base_1.OrderInventory).save(replacedOI);
|
|
89
|
+
if (replacedOIs && replacedOIs.length) {
|
|
90
|
+
await tx
|
|
91
|
+
.getRepository(sales_base_1.OrderInventory)
|
|
92
|
+
.update(replacedOIs, { status: sales_base_1.ORDER_INVENTORY_STATUS.CANCELLED, updater: user });
|
|
108
93
|
}
|
|
109
94
|
if (foundOVs && (foundOVs === null || foundOVs === void 0 ? void 0 : foundOVs.length)) {
|
|
110
95
|
// update status of order vass to CANCELLED
|
|
@@ -114,7 +99,9 @@ exports.confirmCancellationReleaseOrder = {
|
|
|
114
99
|
await tx.getRepository(sales_base_1.OrderVas).save(foundOVs);
|
|
115
100
|
}
|
|
116
101
|
// find worksheet and update status to CANCELLED
|
|
117
|
-
let foundWS = await tx
|
|
102
|
+
let foundWS = await tx
|
|
103
|
+
.getRepository(entities_1.Worksheet)
|
|
104
|
+
.find({ where: { domain: { id: domain.id }, releaseGood } });
|
|
118
105
|
foundWS = foundWS.map((ws) => {
|
|
119
106
|
return Object.assign(Object.assign({}, ws), { status: sales_base_1.ORDER_STATUS.CANCELLED, updater: user });
|
|
120
107
|
});
|
|
@@ -122,7 +109,7 @@ exports.confirmCancellationReleaseOrder = {
|
|
|
122
109
|
// find worksheet detail and update status to CANCELLED
|
|
123
110
|
let foundWSD = await tx.getRepository(entities_1.WorksheetDetail).find({
|
|
124
111
|
where: {
|
|
125
|
-
domain,
|
|
112
|
+
domain: { id: domain.id },
|
|
126
113
|
targetInventory: (0, typeorm_1.In)(targetOIs.map((oi) => oi.id))
|
|
127
114
|
}
|
|
128
115
|
});
|
|
@@ -134,7 +121,7 @@ exports.confirmCancellationReleaseOrder = {
|
|
|
134
121
|
}
|
|
135
122
|
// find DO and change status to pending cancel
|
|
136
123
|
let foundDO = await tx.getRepository(sales_base_1.DeliveryOrder).find({
|
|
137
|
-
where: { domain, releaseGood, status: sales_base_1.ORDER_STATUS.PENDING_CANCEL },
|
|
124
|
+
where: { domain: { id: domain.id }, releaseGood, status: sales_base_1.ORDER_STATUS.PENDING_CANCEL },
|
|
138
125
|
relations: ['transportVehicle']
|
|
139
126
|
});
|
|
140
127
|
if (foundDO && (foundDO === null || foundDO === void 0 ? void 0 : foundDO.length)) {
|
|
@@ -149,4 +136,19 @@ exports.confirmCancellationReleaseOrder = {
|
|
|
149
136
|
return;
|
|
150
137
|
}
|
|
151
138
|
};
|
|
139
|
+
function _filterOrderInventoriesByStatus(orderInventories, status) {
|
|
140
|
+
return orderInventories
|
|
141
|
+
.filter((oi) => oi.status === status)
|
|
142
|
+
.reduce((acc, oi) => {
|
|
143
|
+
let existingInvIdx = !oi.inventory ? -1 : acc.findIndex(i => { var _a, _b; return ((_a = i.inventory) === null || _a === void 0 ? void 0 : _a.id) == ((_b = oi.inventory) === null || _b === void 0 ? void 0 : _b.id); });
|
|
144
|
+
if (existingInvIdx >= 0) {
|
|
145
|
+
acc[existingInvIdx].releaseQty += oi.releaseQty;
|
|
146
|
+
acc[existingInvIdx].releaseUomValue += oi.releaseQty;
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
acc.push(oi);
|
|
150
|
+
}
|
|
151
|
+
return acc;
|
|
152
|
+
}, []);
|
|
153
|
+
}
|
|
152
154
|
//# sourceMappingURL=confirm-cancellation-release-order.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirm-cancellation-release-order.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Inventory,\n Location,\n LOCATION_STATUS,\n INVENTORY_STATUS,\n INVENTORY_TRANSACTION_TYPE\n} from '@things-factory/warehouse-base'\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { EntityManager, In } from 'typeorm'\nimport {\n ORDER_INVENTORY_STATUS,\n ORDER_STATUS,\n ORDER_VAS_STATUS,\n OrderInventory,\n DeliveryOrder,\n OrderVas,\n ReleaseGood\n} from '@things-factory/sales-base'\nimport { generateInventoryHistory } from '../../../utils'\nimport { Worksheet, WorksheetDetail } from '../../../entities'\n\nexport const confirmCancellationReleaseOrder = {\n async confirmCancellationReleaseOrder(_: any, { name }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n let releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({\n where: { domain, name, status: ORDER_STATUS.PENDING_CANCEL },\n relations: [\n 'bizplace',\n 'orderInventories',\n 'orderInventories.inventory',\n 'orderInventories.inventory.location',\n 'orderVass'\n ]\n })\n\n if (!releaseGood) throw new Error(`Release good order doesn't exists.`)\n let targetOIs: OrderInventory[] = releaseGood.orderInventories\n let foundOVs: OrderVas[] = releaseGood.orderVass\n\n // 1. Check Order Inventory status\n // 1a. separate into two groups, group 1: pending cancel, group 2: picked\n let cancelOI: OrderInventory[] = targetOIs.filter(\n (oi: OrderInventory) => oi.status === ORDER_INVENTORY_STATUS.PENDING_CANCEL\n ).reduce((acc, oi) => {\n let existingRecordIdx = acc.findIndex(i => i.inventory.id == oi.inventory.id)\n if (existingRecordIdx >= 0) {\n acc[existingRecordIdx].releaseQty += oi.releaseQty\n acc[existingRecordIdx].releaseUomValue += oi.releaseQty\n } else {\n acc.push(oi)\n }\n return acc\n }, [])\n\n let pickedOI: OrderInventory[] = targetOIs.filter(\n (oi: OrderInventory) => oi.status === ORDER_INVENTORY_STATUS.PENDING_REVERSE\n ).reduce((acc, oi) => {\n let existingRecordIdx = acc.findIndex(i => i.inventory.id == oi.inventory.id)\n if (existingRecordIdx >= 0) {\n acc[existingRecordIdx].releaseQty += oi.releaseQty\n acc[existingRecordIdx].releaseUomValue += oi.releaseQty\n } else {\n acc.push(oi)\n }\n return acc\n }, [])\n\n let replacedOI: OrderInventory[] = targetOIs.filter(\n (oi: OrderInventory) => oi.status === ORDER_INVENTORY_STATUS.REPLACED\n ).reduce((acc, oi) => {\n let existingRecordIdx = acc.findIndex(i => i.inventory.id == oi.inventory.id)\n if (existingRecordIdx >= 0) {\n acc[existingRecordIdx].releaseQty += oi.releaseQty\n acc[existingRecordIdx].releaseUomValue += oi.releaseQty\n } else {\n acc.push(oi)\n }\n return acc\n }, [])\n\n if (pickedOI && pickedOI?.length) {\n await tx.getRepository(OrderInventory).save(\n await Promise.all(\n pickedOI.map(async (orderInventory: OrderInventory) => {\n let inventory: Inventory = orderInventory.inventory\n let location: Location = inventory.location\n\n let cancelledTargetInventory: OrderInventory = Object.assign({}, orderInventory)\n cancelledTargetInventory.status = ORDER_INVENTORY_STATUS.CANCELLED\n cancelledTargetInventory.updater = user\n\n if (inventory) {\n inventory = await tx.getRepository(Inventory).findOne({ id: inventory.id })\n inventory.qty += orderInventory.releaseQty\n inventory.uomValue += orderInventory.releaseUomValue\n inventory.status = INVENTORY_STATUS.STORED\n inventory.updater = user\n inventory = await tx.getRepository(Inventory).save(inventory)\n\n await generateInventoryHistory(\n inventory,\n releaseGood,\n INVENTORY_TRANSACTION_TYPE.CANCEL_ORDER,\n orderInventory.releaseQty,\n orderInventory.releaseUomValue,\n user,\n tx\n )\n }\n\n // Update status of location\n if (location.status === LOCATION_STATUS.EMPTY) {\n location.status = LOCATION_STATUS.OCCUPIED\n location.updater = user\n await tx.getRepository(Location).save(location)\n }\n\n return cancelledTargetInventory\n })\n )\n )\n }\n\n // change status to cancelled for order inventory that has not executed yet\n if (cancelOI && cancelOI?.length) {\n await tx.getRepository(OrderInventory).save(\n await Promise.all(\n cancelOI.map(async (orderInventory: OrderInventory) => {\n let inventory: Inventory = orderInventory.inventory\n\n if (inventory) {\n inventory = await tx.getRepository(Inventory).findOne({ id: inventory.id })\n inventory.lockedQty -= orderInventory.releaseQty\n inventory.lockedUomValue -= orderInventory.releaseUomValue\n await tx.getRepository(Inventory).save(inventory)\n\n await generateInventoryHistory(\n inventory,\n releaseGood,\n INVENTORY_TRANSACTION_TYPE.CANCEL_ORDER,\n 0,\n 0,\n user,\n tx\n )\n }\n\n let cancelledTargetInventory: OrderInventory = Object.assign({}, orderInventory)\n cancelledTargetInventory.status = ORDER_INVENTORY_STATUS.CANCELLED\n cancelledTargetInventory.updater = user\n\n return cancelledTargetInventory\n })\n )\n )\n }\n\n if (replacedOI && replacedOI?.length) {\n replacedOI = replacedOI.map((orderInventory: OrderInventory) => {\n return {\n ...orderInventory,\n status: ORDER_INVENTORY_STATUS.CANCELLED,\n updater: user\n }\n })\n await tx.getRepository(OrderInventory).save(replacedOI)\n }\n\n if (foundOVs && foundOVs?.length) {\n // update status of order vass to CANCELLED\n foundOVs = foundOVs.map((orderVas: OrderVas) => {\n return {\n ...orderVas,\n status: ORDER_VAS_STATUS.CANCELLED,\n updater: user\n }\n })\n await tx.getRepository(OrderVas).save(foundOVs)\n }\n\n // find worksheet and update status to CANCELLED\n let foundWS: Worksheet[] = await tx.getRepository(Worksheet).find({ where: { domain, releaseGood } })\n\n foundWS = foundWS.map((ws: Worksheet) => {\n return {\n ...ws,\n status: ORDER_STATUS.CANCELLED,\n updater: user\n }\n })\n await tx.getRepository(Worksheet).save(foundWS)\n\n // find worksheet detail and update status to CANCELLED\n let foundWSD: WorksheetDetail[] = await tx.getRepository(WorksheetDetail).find({\n where: {\n domain,\n targetInventory: In(targetOIs.map((oi: OrderInventory) => oi.id))\n }\n })\n\n if (foundWSD && foundWSD?.length) {\n foundWSD = foundWSD.map((wsd: WorksheetDetail) => {\n return {\n ...wsd,\n status: ORDER_STATUS.CANCELLED,\n updater: user\n }\n })\n await tx.getRepository(WorksheetDetail).save(foundWSD)\n }\n\n // find DO and change status to pending cancel\n let foundDO: DeliveryOrder[] = await tx.getRepository(DeliveryOrder).find({\n where: { domain, releaseGood, status: ORDER_STATUS.PENDING_CANCEL },\n relations: ['transportVehicle']\n })\n\n if (foundDO && foundDO?.length) {\n foundDO = foundDO.map((deliveryOrder: DeliveryOrder) => {\n return {\n ...deliveryOrder,\n status: ORDER_STATUS.CANCELLED,\n updater: user\n }\n })\n await tx.getRepository(DeliveryOrder).save(foundDO)\n }\n\n releaseGood.status = ORDER_STATUS.CANCELLED\n releaseGood.updater = user\n await tx.getRepository(ReleaseGood).save(releaseGood)\n\n return\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"confirm-cancellation-release-order.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts"],"names":[],"mappings":"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","sourcesContent":["import { In } from 'typeorm'\n\nimport {\n DeliveryOrder,\n ORDER_INVENTORY_STATUS,\n ORDER_STATUS,\n ORDER_VAS_STATUS,\n OrderInventory,\n OrderVas,\n ReleaseGood\n} from '@things-factory/sales-base'\nimport { Inventory, INVENTORY_STATUS, INVENTORY_TRANSACTION_TYPE, Location } from '@things-factory/warehouse-base'\n\nimport { Worksheet, WorksheetDetail } from '../../../entities'\nimport { generateInventoryHistory } from '../../../utils'\n\nexport const confirmCancellationReleaseOrder = {\n async confirmCancellationReleaseOrder(_: any, { name }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n let releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({\n where: { domain: { id: domain.id }, name, status: ORDER_STATUS.PENDING_CANCEL },\n relations: [\n 'bizplace',\n 'orderInventories',\n 'orderInventories.inventory',\n 'orderInventories.inventory.location',\n 'orderVass'\n ]\n })\n\n if (!releaseGood) throw new Error(`Release good order doesn't exists.`)\n let targetOIs: OrderInventory[] = releaseGood.orderInventories\n let foundOVs: OrderVas[] = releaseGood.orderVass\n\n // 1. Check Order Inventory status\n // 1a. separate into three groups, group 1: pending cancel, group 2: picked, group 3: replaced\n let cancelOIs: OrderInventory[] = _filterOrderInventoriesByStatus(targetOIs, ORDER_INVENTORY_STATUS.PENDING_CANCEL)\n let pickedOIs: OrderInventory[] = _filterOrderInventoriesByStatus(targetOIs, ORDER_INVENTORY_STATUS.PENDING_REVERSE)\n let replacedOIs: OrderInventory[] = _filterOrderInventoriesByStatus(targetOIs, ORDER_INVENTORY_STATUS.REPLACED)\n\n if (pickedOIs && pickedOIs.length) {\n await Promise.all(\n pickedOIs.map(async (orderInventory: OrderInventory) => {\n let inventory: Inventory = orderInventory.inventory\n let location: Location = inventory?.location\n\n if (inventory && inventory.id) {\n await tx\n .createQueryBuilder()\n .update(Inventory)\n .set({\n qty: () => `COALESCE(\"qty\", 0) + ${orderInventory.releaseQty}`,\n uomValue: () => `COALESCE(\"uom_value\", 0) + ${orderInventory.releaseUomValue}`,\n status: INVENTORY_STATUS.STORED,\n updater: user\n } as any)\n .where('id = :id', { id: inventory.id })\n .execute()\n\n await generateInventoryHistory(\n inventory,\n releaseGood,\n INVENTORY_TRANSACTION_TYPE.CANCEL_ORDER,\n orderInventory.releaseQty,\n orderInventory.releaseUomValue,\n user,\n tx\n )\n }\n\n return orderInventory\n })\n )\n\n await tx\n .getRepository(OrderInventory)\n .update(pickedOIs, { status: ORDER_INVENTORY_STATUS.CANCELLED, updater: user } as any)\n }\n\n // change status to cancelled for order inventory that has not executed yet and remove locked qty\n if (cancelOIs && cancelOIs.length) {\n await Promise.all(\n cancelOIs.map(async (orderInventory: OrderInventory) => {\n let inventory: Inventory = orderInventory.inventory\n\n if (inventory && inventory.id) {\n await tx\n .createQueryBuilder()\n .update(Inventory)\n .set({\n lockedQty: () => `COALESCE(\"locked_qty\", 0) - ${orderInventory.releaseQty}`,\n lockedUomValue: () => `COALESCE(\"locked_uom_value\", 0) - ${orderInventory.releaseUomValue}`,\n updater: user\n } as any)\n .where('id = :id', { id: inventory.id })\n .execute()\n\n // @ChrisLim-git commented for further review as it causes qty to add into inventory\n // await tx\n // .createQueryBuilder()\n // .update(Inventory)\n // .set({\n // qty: () => `COALESCE(\"qty\", 0) + ${orderInventory.releaseQty}`,\n // uomValue: () => `COALESCE(\"uom_value\", 0) + ${orderInventory.releaseUomValue}`,\n // status: INVENTORY_STATUS.STORED,\n // updater: user\n // })\n // .where('id = :id', { id: inventory.id })\n // .execute()\n }\n\n return orderInventory\n })\n )\n\n await tx\n .getRepository(OrderInventory)\n .update(cancelOIs, { status: ORDER_INVENTORY_STATUS.CANCELLED, updater: user } as any)\n }\n\n if (replacedOIs && replacedOIs.length) {\n await tx\n .getRepository(OrderInventory)\n .update(replacedOIs, { status: ORDER_INVENTORY_STATUS.CANCELLED, updater: user } as any)\n }\n\n if (foundOVs && foundOVs?.length) {\n // update status of order vass to CANCELLED\n foundOVs = foundOVs.map((orderVas: OrderVas) => {\n return {\n ...orderVas,\n status: ORDER_VAS_STATUS.CANCELLED,\n updater: user\n }\n })\n await tx.getRepository(OrderVas).save(foundOVs)\n }\n\n // find worksheet and update status to CANCELLED\n let foundWS: Worksheet[] = await tx\n .getRepository(Worksheet)\n .find({ where: { domain: { id: domain.id }, releaseGood } })\n\n foundWS = foundWS.map((ws: Worksheet) => {\n return {\n ...ws,\n status: ORDER_STATUS.CANCELLED,\n updater: user\n }\n })\n await tx.getRepository(Worksheet).save(foundWS)\n\n // find worksheet detail and update status to CANCELLED\n let foundWSD: WorksheetDetail[] = await tx.getRepository(WorksheetDetail).find({\n where: {\n domain: { id: domain.id },\n targetInventory: In(targetOIs.map((oi: OrderInventory) => oi.id))\n }\n })\n\n if (foundWSD && foundWSD?.length) {\n foundWSD = foundWSD.map((wsd: WorksheetDetail) => {\n return {\n ...wsd,\n status: ORDER_STATUS.CANCELLED,\n updater: user\n }\n })\n await tx.getRepository(WorksheetDetail).save(foundWSD)\n }\n\n // find DO and change status to pending cancel\n let foundDO: DeliveryOrder[] = await tx.getRepository(DeliveryOrder).find({\n where: { domain: { id: domain.id }, releaseGood, status: ORDER_STATUS.PENDING_CANCEL },\n relations: ['transportVehicle']\n })\n\n if (foundDO && foundDO?.length) {\n foundDO = foundDO.map((deliveryOrder: DeliveryOrder) => {\n return {\n ...deliveryOrder,\n status: ORDER_STATUS.CANCELLED,\n updater: user\n }\n })\n await tx.getRepository(DeliveryOrder).save(foundDO)\n }\n\n releaseGood.status = ORDER_STATUS.CANCELLED\n releaseGood.updater = user\n await tx.getRepository(ReleaseGood).save(releaseGood)\n\n return\n }\n}\n\nfunction _filterOrderInventoriesByStatus(orderInventories: OrderInventory[], status: string): OrderInventory[] {\n return orderInventories\n .filter((oi: OrderInventory) => oi.status === status)\n .reduce((acc, oi) => {\n let existingInvIdx = !oi.inventory ? -1 : acc.findIndex(i => i.inventory?.id == oi.inventory?.id)\n if (existingInvIdx >= 0) {\n acc[existingInvIdx].releaseQty += oi.releaseQty\n acc[existingInvIdx].releaseUomValue += oi.releaseQty\n } else {\n acc.push(oi)\n }\n return acc\n }, [])\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/create-worksheet.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"create-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/create-worksheet.ts"],"names":[],"mappings":";;;AAMA,gDAA6C;AAEhC,QAAA,eAAe,GAAG;IAC7B,KAAK,CAAC,eAAe,CAAC,CAAM,EAAE,EAAE,SAAS,EAAE,EAAE,OAAwB;QACnE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAClC,OAAO,CAAC,KAAK,CAAA;QAEf,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,IAAI,iCACxC,SAAS,KACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;CACF,CAAA","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { Worksheet } from '../../../entities'\n\nexport const createWorksheet = {\n async createWorksheet(_: any, { worksheet }, context: ResolverContext) {\n const { tx, domain, bizplace, user }: { tx: EntityManager; domain: Domain; bizplace?: Bizplace; user: User } =\n context.state\n\n return await tx.getRepository(Worksheet).save({\n ...worksheet,\n domain: domain,\n bizplace: bizplace[0],\n creator: user,\n updater: user\n })\n }\n}\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.fetchOriginalWSD = exports.crossDockPickingResolver = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
4
5
|
const sales_base_1 = require("@things-factory/sales-base");
|
|
5
6
|
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
6
|
-
const typeorm_1 = require("typeorm");
|
|
7
7
|
const constants_1 = require("../../../constants");
|
|
8
8
|
const worksheet_controller_1 = require("../../../controllers/worksheet-controller");
|
|
9
9
|
const entities_1 = require("../../../entities");
|
|
@@ -12,7 +12,7 @@ exports.crossDockPickingResolver = {
|
|
|
12
12
|
async crossDockPicking(_, { worksheetDetailName, worksheetType, palletId, releaseQty }, context) {
|
|
13
13
|
const { tx, domain, user } = context.state;
|
|
14
14
|
const wsd = await tx.getRepository(entities_1.WorksheetDetail).findOne({
|
|
15
|
-
where: { domain, name: worksheetDetailName },
|
|
15
|
+
where: { domain: { id: domain.id }, name: worksheetDetailName },
|
|
16
16
|
relations: [
|
|
17
17
|
'targetInventory',
|
|
18
18
|
'targetInventory.domain',
|
|
@@ -32,7 +32,7 @@ exports.crossDockPickingResolver = {
|
|
|
32
32
|
const bizplace = targetInv.bizplace;
|
|
33
33
|
let inventory = await tx.getRepository(warehouse_base_1.Inventory).findOne({
|
|
34
34
|
where: {
|
|
35
|
-
domain,
|
|
35
|
+
domain: { id: domain.id },
|
|
36
36
|
bizplace,
|
|
37
37
|
palletId,
|
|
38
38
|
status: (0, typeorm_1.In)([warehouse_base_1.INVENTORY_STATUS.STORED, warehouse_base_1.INVENTORY_STATUS.PARTIALLY_UNLOADED, warehouse_base_1.INVENTORY_STATUS.UNLOADED])
|
|
@@ -81,7 +81,8 @@ exports.crossDockPickingResolver = {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
else {
|
|
84
|
-
let { targetInventory: originOrdInv } = await tx.getRepository(entities_1.WorksheetDetail).findOne(
|
|
84
|
+
let { targetInventory: originOrdInv } = await tx.getRepository(entities_1.WorksheetDetail).findOne({
|
|
85
|
+
where: { id: originWSD.id },
|
|
85
86
|
relations: ['targetInventory']
|
|
86
87
|
});
|
|
87
88
|
originOrdInv.releaseQty += releaseQty;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-dock-picking.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/cross-dock-picking.ts"],"names":[],"mappings":"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","sourcesContent":["import { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { OrderInventory, OrderNoGenerator, ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { Inventory, INVENTORY_STATUS } from '@things-factory/warehouse-base'\nimport { EntityManager, In, SelectQueryBuilder } from 'typeorm'\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'\nimport { WorksheetController } from '../../../controllers/worksheet-controller'\nimport { Worksheet, WorksheetDetail } from '../../../entities'\nimport { picking } from './picking/picking'\n\nexport const crossDockPickingResolver = {\n async crossDockPicking(\n _: any,\n {\n worksheetDetailName,\n worksheetType,\n palletId,\n releaseQty\n }: { worksheetDetailName: string; worksheetType: string; palletId: string; releaseQty: number },\n context: any\n ): Promise<void> {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n const wsd: WorksheetDetail = await tx.getRepository(WorksheetDetail).findOne({\n where: { domain, name: worksheetDetailName },\n relations: [\n 'targetInventory',\n 'targetInventory.domain',\n 'targetInventory.bizplace',\n 'targetInventory.releaseGood',\n 'targetInventory.product',\n 'worksheet',\n 'worksheet.releaseGood',\n 'worksheet.releaseGood.arrivalNotice'\n ]\n })\n\n if (!wsd) throw new Error(`Failed to find picking worksheet detail by passed worksheet detail name`)\n const worksheet: Worksheet = wsd.worksheet\n const releaseGood: ReleaseGood = worksheet.releaseGood\n\n let targetInv: OrderInventory = wsd.targetInventory\n const bizplace: Bizplace = targetInv.bizplace\n let inventory: Inventory = await tx.getRepository(Inventory).findOne({\n where: {\n domain,\n bizplace,\n palletId,\n status: In([INVENTORY_STATUS.STORED, INVENTORY_STATUS.PARTIALLY_UNLOADED, INVENTORY_STATUS.UNLOADED])\n },\n relations: ['product', 'location']\n })\n\n if (!inventory) throw new Error(`Failed to find inventory by passed pallet ID (${palletId})`)\n const hasSameCondition: boolean =\n inventory.batchId === targetInv.batchId &&\n inventory.product.id === targetInv.product.id &&\n inventory.packingType === targetInv.packingType\n if (!hasSameCondition) throw new Error(`Pallet (${palletId}) doesn't have same condition compared with order has`)\n if (inventory.qty < releaseQty) throw new Error(`Release qty is bigger than what pallet has`)\n if (targetInv.releaseQty < releaseQty) throw new Error(`Release qty is bigger than required qty`)\n\n const unitUomValue: number = inventory.uomValue / inventory.qty\n const releaseUomValue: number = releaseQty * unitUomValue\n const remainQty: number = targetInv.releaseQty - releaseQty\n const remainUomValue: number = targetInv.releaseUomValue - releaseUomValue\n\n const originWSD: WorksheetDetail = await fetchOriginalWSD(\n tx,\n domain.id,\n releaseGood.id,\n targetInv.batchId,\n targetInv.packingType,\n targetInv.product.id,\n inventory.id\n )\n\n if (!originWSD) {\n // Update target inventory information\n // 1. update release amount\n // 2. assign inventory\n targetInv.releaseQty = releaseQty\n targetInv.releaseUomValue = releaseUomValue\n\n targetInv.inventory = inventory\n targetInv = await tx.getRepository(OrderInventory).save(targetInv)\n\n if (remainQty > 0 || remainUomValue > 0) {\n // Need to create order inventory and worksheet detail without inventory assignment\n let targetInventory: OrderInventory = tx.getRepository(OrderInventory).create(targetInv)\n delete targetInventory.id\n targetInventory.name = OrderNoGenerator.orderInventory()\n targetInventory.releaseQty = remainQty\n targetInventory.releaseUomValue = remainUomValue\n targetInventory.inventory = null\n targetInventory.creator = user\n targetInventory.updater = user\n targetInventory = await tx.getRepository(OrderInventory).save(targetInventory)\n\n const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)\n await worksheetController.createWorksheetDetails(worksheet, WORKSHEET_TYPE.PICKING, [targetInventory], {\n status: WORKSHEET_STATUS.EXECUTING\n })\n }\n } else {\n let { targetInventory: originOrdInv } = await tx.getRepository(WorksheetDetail).findOne(originWSD.id, {\n relations: ['targetInventory']\n })\n originOrdInv.releaseQty += releaseQty\n originOrdInv.releaseUomValue += releaseUomValue\n originOrdInv.updater = user\n await tx.getRepository(OrderInventory).save(originOrdInv)\n\n targetInv.releaseQty -= releaseQty\n targetInv.releaseUomValue -= releaseUomValue\n targetInv.updater = user\n\n if (targetInv.releaseQty === 0 || targetInv.releaseUomValue === 0) {\n // Delete worksheet detail\n await tx.getRepository(WorksheetDetail).delete(wsd.id)\n // Delete order inventory\n await tx.getRepository(OrderInventory).delete(targetInv.id)\n } else {\n await tx.getRepository(OrderInventory).save(targetInv)\n }\n }\n\n await picking(\n tx,\n domain,\n user,\n worksheetDetailName,\n worksheetType,\n inventory.palletId,\n inventory.location.name,\n releaseQty\n )\n }\n}\n\nexport async function fetchOriginalWSD(\n tx: EntityManager,\n domainId: string,\n releaseGoodId: string,\n batchId: string,\n packingType: string,\n productId: string,\n inventoryId: string\n): Promise<WorksheetDetail> {\n let qb: SelectQueryBuilder<WorksheetDetail> = tx.createQueryBuilder(WorksheetDetail, 'wsd')\n return qb\n .leftJoin(OrderInventory, 'oi', 'wsd.target_inventory_id = oi.id')\n .leftJoin(Inventory, 'inv', 'oi.inventory_id = inv.id')\n .andWhere('wsd.domain_id = :domainId')\n .andWhere('wsd.status = :status')\n .andWhere('oi.release_good_id = :releaseGoodId')\n .andWhere('oi.batch_id = :batchId')\n .andWhere('oi.packing_type = :packingType')\n .andWhere('oi.product_id = :productId')\n .andWhere('inv.id = :inventoryId')\n .setParameters({\n domainId,\n status: WORKSHEET_STATUS.DONE,\n releaseGoodId,\n batchId,\n packingType,\n productId,\n inventoryId\n })\n .getOne()\n}\n"]}
|
|
1
|
+
{"version":3,"file":"cross-dock-picking.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/cross-dock-picking.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager, In, SelectQueryBuilder } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\nimport { OrderInventory, OrderNoGenerator, ReleaseGood } from '@things-factory/sales-base'\nimport { Inventory, INVENTORY_STATUS } from '@things-factory/warehouse-base'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'\nimport { WorksheetController } from '../../../controllers/worksheet-controller'\nimport { Worksheet, WorksheetDetail } from '../../../entities'\nimport { picking } from './picking/picking'\n\nexport const crossDockPickingResolver = {\n async crossDockPicking(\n _: any,\n {\n worksheetDetailName,\n worksheetType,\n palletId,\n releaseQty\n }: { worksheetDetailName: string; worksheetType: string; palletId: string; releaseQty: number },\n context: any\n ): Promise<void> {\n const { tx, domain, user } = context.state\n const wsd: WorksheetDetail = await tx.getRepository(WorksheetDetail).findOne({\n where: { domain: { id: domain.id }, name: worksheetDetailName },\n relations: [\n 'targetInventory',\n 'targetInventory.domain',\n 'targetInventory.bizplace',\n 'targetInventory.releaseGood',\n 'targetInventory.product',\n 'worksheet',\n 'worksheet.releaseGood',\n 'worksheet.releaseGood.arrivalNotice'\n ]\n })\n\n if (!wsd) throw new Error(`Failed to find picking worksheet detail by passed worksheet detail name`)\n const worksheet: Worksheet = wsd.worksheet\n const releaseGood: ReleaseGood = worksheet.releaseGood\n\n let targetInv: OrderInventory = wsd.targetInventory\n const bizplace: Bizplace = targetInv.bizplace\n let inventory: Inventory = await tx.getRepository(Inventory).findOne({\n where: {\n domain: { id: domain.id },\n bizplace,\n palletId,\n status: In([INVENTORY_STATUS.STORED, INVENTORY_STATUS.PARTIALLY_UNLOADED, INVENTORY_STATUS.UNLOADED])\n },\n relations: ['product', 'location']\n })\n\n if (!inventory) throw new Error(`Failed to find inventory by passed pallet ID (${palletId})`)\n const hasSameCondition: boolean =\n inventory.batchId === targetInv.batchId &&\n inventory.product.id === targetInv.product.id &&\n inventory.packingType === targetInv.packingType\n if (!hasSameCondition) throw new Error(`Pallet (${palletId}) doesn't have same condition compared with order has`)\n if (inventory.qty < releaseQty) throw new Error(`Release qty is bigger than what pallet has`)\n if (targetInv.releaseQty < releaseQty) throw new Error(`Release qty is bigger than required qty`)\n\n const unitUomValue: number = inventory.uomValue / inventory.qty\n const releaseUomValue: number = releaseQty * unitUomValue\n const remainQty: number = targetInv.releaseQty - releaseQty\n const remainUomValue: number = targetInv.releaseUomValue - releaseUomValue\n\n const originWSD: WorksheetDetail = await fetchOriginalWSD(\n tx,\n domain.id,\n releaseGood.id,\n targetInv.batchId,\n targetInv.packingType,\n targetInv.product.id,\n inventory.id\n )\n\n if (!originWSD) {\n // Update target inventory information\n // 1. update release amount\n // 2. assign inventory\n targetInv.releaseQty = releaseQty\n targetInv.releaseUomValue = releaseUomValue\n\n targetInv.inventory = inventory\n targetInv = await tx.getRepository(OrderInventory).save(targetInv)\n\n if (remainQty > 0 || remainUomValue > 0) {\n // Need to create order inventory and worksheet detail without inventory assignment\n let targetInventory: OrderInventory = tx.getRepository(OrderInventory).create(targetInv)\n delete targetInventory.id\n targetInventory.name = OrderNoGenerator.orderInventory()\n targetInventory.releaseQty = remainQty\n targetInventory.releaseUomValue = remainUomValue\n targetInventory.inventory = null\n targetInventory.creator = user\n targetInventory.updater = user\n targetInventory = await tx.getRepository(OrderInventory).save(targetInventory)\n\n const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)\n await worksheetController.createWorksheetDetails(worksheet, WORKSHEET_TYPE.PICKING, [targetInventory], {\n status: WORKSHEET_STATUS.EXECUTING\n })\n }\n } else {\n let { targetInventory: originOrdInv } = await tx.getRepository(WorksheetDetail).findOne({\n where: { id: originWSD.id },\n relations: ['targetInventory']\n })\n originOrdInv.releaseQty += releaseQty\n originOrdInv.releaseUomValue += releaseUomValue\n originOrdInv.updater = user\n await tx.getRepository(OrderInventory).save(originOrdInv)\n\n targetInv.releaseQty -= releaseQty\n targetInv.releaseUomValue -= releaseUomValue\n targetInv.updater = user\n\n if (targetInv.releaseQty === 0 || targetInv.releaseUomValue === 0) {\n // Delete worksheet detail\n await tx.getRepository(WorksheetDetail).delete(wsd.id)\n // Delete order inventory\n await tx.getRepository(OrderInventory).delete(targetInv.id)\n } else {\n await tx.getRepository(OrderInventory).save(targetInv)\n }\n }\n\n await picking(\n tx,\n domain,\n user,\n worksheetDetailName,\n worksheetType,\n inventory.palletId,\n inventory.location.name,\n releaseQty\n )\n }\n}\n\nexport async function fetchOriginalWSD(\n tx: EntityManager,\n domainId: string,\n releaseGoodId: string,\n batchId: string,\n packingType: string,\n productId: string,\n inventoryId: string\n): Promise<WorksheetDetail> {\n let qb: SelectQueryBuilder<WorksheetDetail> = tx.createQueryBuilder(WorksheetDetail, 'wsd')\n return qb\n .leftJoin(OrderInventory, 'oi', 'wsd.target_inventory_id = oi.id')\n .leftJoin(Inventory, 'inv', 'oi.inventory_id = inv.id')\n .andWhere('wsd.domain_id = :domainId')\n .andWhere('wsd.status = :status')\n .andWhere('oi.release_good_id = :releaseGoodId')\n .andWhere('oi.batch_id = :batchId')\n .andWhere('oi.packing_type = :packingType')\n .andWhere('oi.product_id = :productId')\n .andWhere('inv.id = :inventoryId')\n .setParameters({\n domainId,\n status: WORKSHEET_STATUS.DONE,\n releaseGoodId,\n batchId,\n packingType,\n productId,\n inventoryId\n })\n .getOne()\n}\n"]}
|
|
@@ -19,14 +19,14 @@ async function cycleCountAdjustment(tx, domain, user, cycleCountNo) {
|
|
|
19
19
|
// get cycle count no
|
|
20
20
|
const cycleCount = await tx.getRepository(sales_base_1.InventoryCheck).findOne({
|
|
21
21
|
where: {
|
|
22
|
-
domain,
|
|
22
|
+
domain: { id: domain.id },
|
|
23
23
|
name: cycleCountNo,
|
|
24
24
|
status: sales_base_1.ORDER_STATUS.PENDING_REVIEW
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
let worksheet = await tx.getRepository(entities_1.Worksheet).findOne({
|
|
28
28
|
where: {
|
|
29
|
-
domain,
|
|
29
|
+
domain: { id: domain.id },
|
|
30
30
|
type: (0, typeorm_1.In)([constants_1.WORKSHEET_TYPE.CYCLE_COUNT, constants_1.WORKSHEET_TYPE.CYCLE_COUNT_RECHECK]),
|
|
31
31
|
inventoryCheck: cycleCount
|
|
32
32
|
}
|
|
@@ -34,8 +34,8 @@ async function cycleCountAdjustment(tx, domain, user, cycleCountNo) {
|
|
|
34
34
|
// get cycle count wsd that is not tally
|
|
35
35
|
const worksheetDetails = await tx.getRepository(entities_1.WorksheetDetail).find({
|
|
36
36
|
where: {
|
|
37
|
-
domain,
|
|
38
|
-
worksheet,
|
|
37
|
+
domain: { id: domain.id },
|
|
38
|
+
worksheet: { id: worksheet.id },
|
|
39
39
|
type: (0, typeorm_1.In)([constants_1.WORKSHEET_TYPE.CYCLE_COUNT, constants_1.WORKSHEET_TYPE.CYCLE_COUNT_RECHECK]),
|
|
40
40
|
status: constants_1.WORKSHEET_STATUS.NOT_TALLY
|
|
41
41
|
},
|
|
@@ -124,7 +124,7 @@ async function cycleCountAdjustment(tx, domain, user, cycleCountNo) {
|
|
|
124
124
|
inventory.updater = user;
|
|
125
125
|
inventory = await tx.getRepository(warehouse_base_1.Inventory).save(inventory);
|
|
126
126
|
if (prevLocationId !== targetInventory.inspectedLocation.id) {
|
|
127
|
-
const prevLocation = await tx.getRepository(warehouse_base_1.Location).
|
|
127
|
+
const prevLocation = await tx.getRepository(warehouse_base_1.Location).findOneBy({ id: prevLocationId });
|
|
128
128
|
await (0, utils_1.switchLocationStatus)(domain, prevLocation, user, tx);
|
|
129
129
|
}
|
|
130
130
|
await (0, utils_1.generateInventoryHistory)(inventory, cycleCount, warehouse_base_1.INVENTORY_TRANSACTION_TYPE.CC_ADJUSTMENT, transactQty, transactUomValue, user, tx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cycle-count-adjustment.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/cycle-count-adjustment.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager, In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport { InventoryCheck, ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { Inventory, INVENTORY_STATUS, INVENTORY_TRANSACTION_TYPE, Location } from '@things-factory/warehouse-base'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'\nimport { SellercraftController } from '../../../controllers'\nimport { Worksheet, WorksheetDetail } from '../../../entities'\nimport { generateInventoryHistory, switchLocationStatus } from '../../../utils'\n\nexport const cycleCountAdjustmentResolver = {\n async cycleCountAdjustment(_: any, { cycleCountNo }, context: any) {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n await cycleCountAdjustment(tx, domain, user, cycleCountNo)\n }\n}\n\nexport async function cycleCountAdjustment(\n tx: EntityManager,\n domain: Domain,\n user: User,\n cycleCountNo: string\n): Promise<void> {\n // get cycle count no\n const cycleCount: InventoryCheck = await tx.getRepository(InventoryCheck).findOne({\n where: {\n domain,\n name: cycleCountNo,\n status: ORDER_STATUS.PENDING_REVIEW\n }\n })\n\n let worksheet: Worksheet = await tx.getRepository(Worksheet).findOne({\n where: {\n domain,\n type: In([WORKSHEET_TYPE.CYCLE_COUNT, WORKSHEET_TYPE.CYCLE_COUNT_RECHECK]),\n inventoryCheck: cycleCount\n }\n })\n\n // get cycle count wsd that is not tally\n const worksheetDetails: WorksheetDetail[] = await tx.getRepository(WorksheetDetail).find({\n where: {\n domain,\n worksheet,\n type: In([WORKSHEET_TYPE.CYCLE_COUNT, WORKSHEET_TYPE.CYCLE_COUNT_RECHECK]),\n status: WORKSHEET_STATUS.NOT_TALLY\n },\n relations: [\n 'targetInventory',\n 'targetInventory.inventory',\n 'targetInventory.inventory.product',\n 'targetInventory.inventory.product.productDetails',\n 'targetInventory.inventory.product.productDetails.childProductDetail',\n 'targetInventory.inventory.bizplace',\n 'targetInventory.inventory.domain',\n 'targetInventory.inventory.bizplace.domain',\n 'targetInventory.inventory.warehouse',\n 'targetInventory.inventory.location',\n 'targetInventory.inspectedLocation',\n 'targetInventory.inspectedLocation.warehouse'\n ]\n })\n\n for (let worksheetDetail of worksheetDetails) {\n const targetInventory: OrderInventory = worksheetDetail.targetInventory\n let inventory: Inventory = targetInventory.inventory\n\n let transactQty: number = targetInventory.inspectedQty - inventory.qty\n let transactUomValue: number = targetInventory.inspectedUomValue - inventory.uomValue\n\n const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({\n where: { domain: inventory.bizplace.domain, status: SellercraftStatus.ACTIVE },\n relations: ['domain']\n })\n\n if (targetInventory.status === ORDER_INVENTORY_STATUS.MISSING) {\n // create STORED, CC_ADJUSTMENT history\n await generateInventoryHistory(\n inventory,\n cycleCount,\n INVENTORY_TRANSACTION_TYPE.CC_ADJUSTMENT,\n -inventory.qty,\n -inventory.uomValue,\n user,\n tx\n )\n\n inventory.qty = 0\n inventory.uomValue = 0\n inventory.lockedQty = 0\n inventory.lockeduomValue = 0\n inventory.updater = user\n inventory.status = INVENTORY_STATUS.TERMINATED\n inventory = await tx.getRepository(Inventory).save(inventory)\n\n // create TERMINATED, TERMINATED history\n await generateInventoryHistory(inventory, cycleCount, INVENTORY_TRANSACTION_TYPE.TERMINATED, 0, 0, user, tx)\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory)\n }\n } else if (targetInventory.inspectedQty == 0) {\n // create STORED, CC_ADJUSTMENT history\n await generateInventoryHistory(\n inventory,\n cycleCount,\n INVENTORY_TRANSACTION_TYPE.CC_ADJUSTMENT,\n transactQty,\n transactUomValue,\n user,\n tx\n )\n\n // change inventory qty to 0 and terminate it\n inventory.batchId = targetInventory.inspectedBatchNo\n inventory.qty = targetInventory.inspectedQty\n inventory.lockedQty = 0\n inventory.uomValue = targetInventory.inspectedUomValue\n inventory.lockedUomValue = 0\n inventory.location = targetInventory.inspectedLocation\n inventory.warehouse = targetInventory.inspectedLocation.warehouse\n inventory.status = INVENTORY_STATUS.TERMINATED\n inventory.updater = user\n inventory = await tx.getRepository(Inventory).save(inventory)\n\n // create TERMINATED, TERMINATED history\n await generateInventoryHistory(inventory, cycleCount, INVENTORY_TRANSACTION_TYPE.TERMINATED, 0, 0, user, tx)\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory)\n }\n } else {\n const prevLocationId: string = inventory.location.id\n\n if (targetInventory.inspectedBatchNo !== inventory.batchId) {\n // generate TERMINATED, ADJUSTMENT history\n const { qty, uomValue }: { qty: number; uomValue: number } = inventory\n inventory.status = INVENTORY_STATUS.TERMINATED\n inventory.qty = 0\n inventory.uomValue = 0\n\n await generateInventoryHistory(\n inventory,\n cycleCount,\n INVENTORY_TRANSACTION_TYPE.CC_ADJUSTMENT,\n -qty,\n -uomValue,\n user,\n tx\n )\n\n transactQty = targetInventory.inspectedQty\n transactUomValue = targetInventory.inspectedUomValue\n }\n\n inventory.batchId = targetInventory.inspectedBatchNo\n inventory.qty = targetInventory.inspectedQty\n inventory.lockedQty = 0\n inventory.uomValue = targetInventory.inspectedUomValue\n inventory.lockedUomValue = 0\n inventory.location = targetInventory.inspectedLocation\n inventory.warehouse = targetInventory.inspectedLocation.warehouse\n inventory.status = INVENTORY_STATUS.STORED\n inventory.updater = user\n inventory = await tx.getRepository(Inventory).save(inventory)\n\n if (prevLocationId !== targetInventory.inspectedLocation.id) {\n const prevLocation: Location = await tx.getRepository(Location).findOne(prevLocationId)\n await switchLocationStatus(domain, prevLocation, user, tx)\n }\n\n await generateInventoryHistory(\n inventory,\n cycleCount,\n INVENTORY_TRANSACTION_TYPE.CC_ADJUSTMENT,\n transactQty,\n transactUomValue,\n user,\n tx\n )\n }\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory)\n }\n\n targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED\n targetInventory.updater = user\n await tx.getRepository(OrderInventory).save(targetInventory)\n\n worksheetDetail.status = WORKSHEET_STATUS.ADJUSTED\n worksheetDetail.updater = user\n await tx.getRepository(WorksheetDetail).save(worksheetDetail)\n }\n\n worksheet.status = WORKSHEET_STATUS.DONE\n await tx.getRepository(Worksheet).save(worksheet)\n\n // change cycle count status to DONE\n cycleCount.status = ORDER_STATUS.DONE\n cycleCount.updater = user\n await tx.getRepository(InventoryCheck).save(cycleCount)\n}\n"]}
|
|
1
|
+
{"version":3,"file":"cycle-count-adjustment.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/cycle-count-adjustment.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager, In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport { InventoryCheck, ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { Inventory, INVENTORY_STATUS, INVENTORY_TRANSACTION_TYPE, Location } from '@things-factory/warehouse-base'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'\nimport { SellercraftController } from '../../../controllers'\nimport { Worksheet, WorksheetDetail } from '../../../entities'\nimport { generateInventoryHistory, switchLocationStatus } from '../../../utils'\n\nexport const cycleCountAdjustmentResolver = {\n async cycleCountAdjustment(_: any, { cycleCountNo }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n await cycleCountAdjustment(tx, domain, user, cycleCountNo)\n }\n}\n\nexport async function cycleCountAdjustment(\n tx: EntityManager,\n domain: Domain,\n user: User,\n cycleCountNo: string\n): Promise<void> {\n // get cycle count no\n const cycleCount: InventoryCheck = await tx.getRepository(InventoryCheck).findOne({\n where: {\n domain: { id: domain.id },\n name: cycleCountNo,\n status: ORDER_STATUS.PENDING_REVIEW\n }\n })\n\n let worksheet: Worksheet = await tx.getRepository(Worksheet).findOne({\n where: {\n domain: { id: domain.id },\n type: In([WORKSHEET_TYPE.CYCLE_COUNT, WORKSHEET_TYPE.CYCLE_COUNT_RECHECK]),\n inventoryCheck: cycleCount\n }\n })\n\n // get cycle count wsd that is not tally\n const worksheetDetails: WorksheetDetail[] = await tx.getRepository(WorksheetDetail).find({\n where: {\n domain: { id: domain.id },\n worksheet: { id: worksheet.id },\n type: In([WORKSHEET_TYPE.CYCLE_COUNT, WORKSHEET_TYPE.CYCLE_COUNT_RECHECK]),\n status: WORKSHEET_STATUS.NOT_TALLY\n },\n relations: [\n 'targetInventory',\n 'targetInventory.inventory',\n 'targetInventory.inventory.product',\n 'targetInventory.inventory.product.productDetails',\n 'targetInventory.inventory.product.productDetails.childProductDetail',\n 'targetInventory.inventory.bizplace',\n 'targetInventory.inventory.domain',\n 'targetInventory.inventory.bizplace.domain',\n 'targetInventory.inventory.warehouse',\n 'targetInventory.inventory.location',\n 'targetInventory.inspectedLocation',\n 'targetInventory.inspectedLocation.warehouse'\n ]\n })\n\n for (let worksheetDetail of worksheetDetails) {\n const targetInventory: OrderInventory = worksheetDetail.targetInventory\n let inventory: Inventory = targetInventory.inventory\n\n let transactQty: number = targetInventory.inspectedQty - inventory.qty\n let transactUomValue: number = targetInventory.inspectedUomValue - inventory.uomValue\n\n const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({\n where: { domain: inventory.bizplace.domain, status: SellercraftStatus.ACTIVE },\n relations: ['domain']\n })\n\n if (targetInventory.status === ORDER_INVENTORY_STATUS.MISSING) {\n // create STORED, CC_ADJUSTMENT history\n await generateInventoryHistory(\n inventory,\n cycleCount,\n INVENTORY_TRANSACTION_TYPE.CC_ADJUSTMENT,\n -inventory.qty,\n -inventory.uomValue,\n user,\n tx\n )\n\n inventory.qty = 0\n inventory.uomValue = 0\n inventory.lockedQty = 0\n inventory.lockeduomValue = 0\n inventory.updater = user\n inventory.status = INVENTORY_STATUS.TERMINATED\n inventory = await tx.getRepository(Inventory).save(inventory)\n\n // create TERMINATED, TERMINATED history\n await generateInventoryHistory(inventory, cycleCount, INVENTORY_TRANSACTION_TYPE.TERMINATED, 0, 0, user, tx)\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory)\n }\n } else if (targetInventory.inspectedQty == 0) {\n // create STORED, CC_ADJUSTMENT history\n await generateInventoryHistory(\n inventory,\n cycleCount,\n INVENTORY_TRANSACTION_TYPE.CC_ADJUSTMENT,\n transactQty,\n transactUomValue,\n user,\n tx\n )\n\n // change inventory qty to 0 and terminate it\n inventory.batchId = targetInventory.inspectedBatchNo\n inventory.qty = targetInventory.inspectedQty\n inventory.lockedQty = 0\n inventory.uomValue = targetInventory.inspectedUomValue\n inventory.lockedUomValue = 0\n inventory.location = targetInventory.inspectedLocation\n inventory.warehouse = targetInventory.inspectedLocation.warehouse\n inventory.status = INVENTORY_STATUS.TERMINATED\n inventory.updater = user\n inventory = await tx.getRepository(Inventory).save(inventory)\n\n // create TERMINATED, TERMINATED history\n await generateInventoryHistory(inventory, cycleCount, INVENTORY_TRANSACTION_TYPE.TERMINATED, 0, 0, user, tx)\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory)\n }\n } else {\n const prevLocationId: string = inventory.location.id\n\n if (targetInventory.inspectedBatchNo !== inventory.batchId) {\n // generate TERMINATED, ADJUSTMENT history\n const { qty, uomValue }: { qty: number; uomValue: number } = inventory\n inventory.status = INVENTORY_STATUS.TERMINATED\n inventory.qty = 0\n inventory.uomValue = 0\n\n await generateInventoryHistory(\n inventory,\n cycleCount,\n INVENTORY_TRANSACTION_TYPE.CC_ADJUSTMENT,\n -qty,\n -uomValue,\n user,\n tx\n )\n\n transactQty = targetInventory.inspectedQty\n transactUomValue = targetInventory.inspectedUomValue\n }\n\n inventory.batchId = targetInventory.inspectedBatchNo\n inventory.qty = targetInventory.inspectedQty\n inventory.lockedQty = 0\n inventory.uomValue = targetInventory.inspectedUomValue\n inventory.lockedUomValue = 0\n inventory.location = targetInventory.inspectedLocation\n inventory.warehouse = targetInventory.inspectedLocation.warehouse\n inventory.status = INVENTORY_STATUS.STORED\n inventory.updater = user\n inventory = await tx.getRepository(Inventory).save(inventory)\n\n if (prevLocationId !== targetInventory.inspectedLocation.id) {\n const prevLocation: Location = await tx.getRepository(Location).findOneBy({ id: prevLocationId })\n await switchLocationStatus(domain, prevLocation, user, tx)\n }\n\n await generateInventoryHistory(\n inventory,\n cycleCount,\n INVENTORY_TRANSACTION_TYPE.CC_ADJUSTMENT,\n transactQty,\n transactUomValue,\n user,\n tx\n )\n }\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory)\n }\n\n targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED\n targetInventory.updater = user\n await tx.getRepository(OrderInventory).save(targetInventory)\n\n worksheetDetail.status = WORKSHEET_STATUS.ADJUSTED\n worksheetDetail.updater = user\n await tx.getRepository(WorksheetDetail).save(worksheetDetail)\n }\n\n worksheet.status = WORKSHEET_STATUS.DONE\n await tx.getRepository(Worksheet).save(worksheet)\n\n // change cycle count status to DONE\n cycleCount.status = ORDER_STATUS.DONE\n cycleCount.updater = user\n await tx.getRepository(InventoryCheck).save(cycleCount)\n}\n"]}
|
|
@@ -3,20 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.cycleCountWorksheetResolver = void 0;
|
|
4
4
|
const typeorm_1 = require("typeorm");
|
|
5
5
|
const sales_base_1 = require("@things-factory/sales-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.cycleCountWorksheetResolver = {
|
|
9
10
|
async cycleCountWorksheet(_, { inventoryCheckNo, locationSortingRules }, context) {
|
|
10
11
|
var _a;
|
|
11
12
|
const { domain } = context.state;
|
|
12
|
-
const cycleCount = await (0,
|
|
13
|
-
where: { domain, name: inventoryCheckNo, status: sales_base_1.ORDER_STATUS.INSPECTING }
|
|
13
|
+
const cycleCount = await (0, shell_1.getRepository)(sales_base_1.InventoryCheck).findOne({
|
|
14
|
+
where: { domain: { id: domain.id }, name: inventoryCheckNo, status: sales_base_1.ORDER_STATUS.INSPECTING }
|
|
14
15
|
});
|
|
15
16
|
if (!cycleCount)
|
|
16
17
|
throw new Error('Failed to find cycle count worksheet');
|
|
17
|
-
const worksheet = await (0,
|
|
18
|
+
const worksheet = await (0, shell_1.getRepository)(entities_1.Worksheet).findOne({
|
|
18
19
|
where: {
|
|
19
|
-
domain,
|
|
20
|
+
domain: { id: domain.id },
|
|
20
21
|
inventoryCheck: cycleCount,
|
|
21
22
|
type: (0, typeorm_1.In)([constants_1.WORKSHEET_TYPE.CYCLE_COUNT, constants_1.WORKSHEET_TYPE.CYCLE_COUNT_RECHECK]),
|
|
22
23
|
status: constants_1.WORKSHEET_STATUS.EXECUTING
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cycle-count-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/cycle-count-worksheet.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"cycle-count-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/cycle-count-worksheet.ts"],"names":[],"mappings":"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","sourcesContent":["import { createQueryBuilder, In, SelectQueryBuilder } from 'typeorm'\n\nimport { InventoryCheck, ORDER_STATUS, OrderInventory } from '@things-factory/sales-base'\nimport { getRepository } from '@things-factory/shell'\nimport { Inventory } from '@things-factory/warehouse-base'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'\nimport { Worksheet, WorksheetDetail } from '../../../entities'\n\nexport const cycleCountWorksheetResolver = {\n async cycleCountWorksheet(_: any, { inventoryCheckNo, locationSortingRules }, context: ResolverContext) {\n const { domain } = context.state\n const cycleCount: InventoryCheck = await getRepository(InventoryCheck).findOne({\n where: { domain: { id: domain.id }, name: inventoryCheckNo, status: ORDER_STATUS.INSPECTING }\n })\n\n if (!cycleCount) throw new Error('Failed to find cycle count worksheet')\n\n const worksheet: Worksheet = await getRepository(Worksheet).findOne({\n where: {\n domain: { id: domain.id },\n inventoryCheck: cycleCount,\n type: In([WORKSHEET_TYPE.CYCLE_COUNT, WORKSHEET_TYPE.CYCLE_COUNT_RECHECK]),\n status: WORKSHEET_STATUS.EXECUTING\n },\n relations: ['bizplace', 'bizplace.domain']\n })\n\n const qb: SelectQueryBuilder<WorksheetDetail> = createQueryBuilder(WorksheetDetail, 'WSD')\n qb.leftJoinAndSelect('WSD.targetInventory', 'T_INV')\n .leftJoinAndSelect('T_INV.inventory', 'INV')\n .leftJoinAndSelect('T_INV.inspectedLocation', 'INS_LOC')\n .leftJoinAndSelect('INV.location', 'LOC')\n .leftJoinAndSelect('INV.product', 'PROD')\n .leftJoinAndSelect('LOC.warehouse', 'WH')\n\n if (locationSortingRules?.length > 0) {\n locationSortingRules.forEach((rule: { name: string; desc: boolean }) => {\n qb.addOrderBy(`LOC.${rule.name}`, rule.desc ? 'DESC' : 'ASC')\n })\n }\n\n const worksheetDetails: WorksheetDetail[] = await qb\n .where('\"WSD\".\"worksheet_id\" = :worksheetId', { worksheetId: worksheet.id })\n .andWhere('\"WSD\".\"status\" != :status', { status: WORKSHEET_STATUS.REPLACED })\n .getMany()\n\n return {\n worksheetInfo: {\n startedAt: worksheet.startedAt,\n bizplace: worksheet.bizplace,\n partnerDomainId: worksheet.bizplace?.domain.id\n },\n worksheetDetailInfos: worksheetDetails.map(async (cycleCountWSD: WorksheetDetail) => {\n const targetInventory: OrderInventory = cycleCountWSD.targetInventory\n const inventory: Inventory = targetInventory.inventory\n\n return {\n name: cycleCountWSD.name,\n palletId: inventory?.palletId,\n batchId: inventory?.batchId,\n product: inventory?.product,\n qty: inventory?.qty,\n uomValue: inventory?.uomValue,\n uom: inventory?.uom,\n inspectedQty: targetInventory.inspectedQty,\n inspectedUomValue: targetInventory.inspectedUomValue,\n inspectedLocation: targetInventory.inspectedLocation,\n inspectedBatchNo: targetInventory.inspectedBatchNo,\n status: cycleCountWSD.status,\n targetName: targetInventory.name,\n packingType: inventory?.packingType,\n location: inventory?.location,\n relatedOrderInv: targetInventory\n }\n })\n }\n }\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.deleteWorksheet = void 0;
|
|
4
|
-
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
4
|
const typeorm_1 = require("typeorm");
|
|
5
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
6
6
|
const entities_1 = require("../../../entities");
|
|
7
7
|
exports.deleteWorksheet = {
|
|
8
8
|
async deleteWorksheet(_, { id }, context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/delete-worksheet.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"delete-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/delete-worksheet.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAG3C,uDAAkE;AAGlE,gDAA6C;AAEhC,QAAA,eAAe,GAAG;IAC7B,KAAK,CAAC,eAAe,CAAC,CAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAwB;QAC5D,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,MAAM,CAAC;YACvC,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,IAAA,YAAE,EAAC,MAAM,IAAA,kCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACzD,EAAE;SACH,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA","sourcesContent":["import { EntityManager, In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { Worksheet } from '../../../entities'\n\nexport const deleteWorksheet = {\n async deleteWorksheet(_: any, { id }, context: ResolverContext) {\n const { tx, domain, user } = context.state\n\n await tx.getRepository(Worksheet).delete({\n domain: domain,\n bizplace: In(await getPermittedBizplaceIds(domain, user)),\n id\n })\n\n return true\n }\n}\n"]}
|