@things-factory/worksheet-base 7.0.1-beta.0 → 7.0.1-beta.12
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/constants/index.d.ts +5 -0
- package/dist-server/constants/rule-type.d.ts +4 -0
- package/dist-server/constants/target-type.d.ts +6 -0
- package/dist-server/constants/template.d.ts +12 -0
- package/dist-server/constants/transaction-type.d.ts +9 -0
- package/dist-server/constants/worksheet.d.ts +35 -0
- package/dist-server/controllers/ecommerce/ecommerce-controller.d.ts +10 -0
- package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
- package/dist-server/controllers/ecommerce/index.d.ts +2 -0
- package/dist-server/controllers/ecommerce/sellercraft-controller.d.ts +13 -0
- package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
- package/dist-server/controllers/inbound/index.d.ts +4 -0
- package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.d.ts +16 -0
- package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js +11 -2
- package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inbound/putaway-worksheet-controller.d.ts +16 -0
- package/dist-server/controllers/inbound/putaway-worksheet-controller.js +7 -1
- package/dist-server/controllers/inbound/putaway-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.d.ts +17 -0
- package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js +13 -2
- package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inbound/unloading-worksheet-controller.d.ts +27 -0
- package/dist-server/controllers/inbound/unloading-worksheet-controller.js +102 -24
- package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/index.d.ts +18 -0
- package/dist-server/controllers/inspect/cycle-count-worksheet-controller.d.ts +13 -0
- package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js +14 -1
- package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inspect/index.d.ts +1 -0
- package/dist-server/controllers/outbound/index.d.ts +5 -0
- package/dist-server/controllers/outbound/loading-worksheet-controller.d.ts +15 -0
- package/dist-server/controllers/outbound/loading-worksheet-controller.js +22 -5
- package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/packing-worksheet-controller.d.ts +10 -0
- package/dist-server/controllers/outbound/packing-worksheet-controller.js +25 -1
- package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/picking-worksheet-controller.d.ts +27 -0
- package/dist-server/controllers/outbound/picking-worksheet-controller.js +21 -1
- package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/returning-worksheet-controller.d.ts +11 -0
- package/dist-server/controllers/outbound/returning-worksheet-controller.js +9 -2
- package/dist-server/controllers/outbound/returning-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/sorting-worksheet-controller.d.ts +12 -0
- package/dist-server/controllers/outbound/sorting-worksheet-controller.js +17 -2
- package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/render-elccl-grn.d.ts +3 -0
- package/dist-server/controllers/render-elccl-grn.js.map +1 -1
- package/dist-server/controllers/render-fm-grn.d.ts +4 -0
- package/dist-server/controllers/render-fm-grn.js +3 -0
- package/dist-server/controllers/render-fm-grn.js.map +1 -1
- package/dist-server/controllers/render-grn.d.ts +4 -0
- package/dist-server/controllers/render-grn.js +3 -0
- package/dist-server/controllers/render-grn.js.map +1 -1
- package/dist-server/controllers/render-invoices.d.ts +4 -0
- package/dist-server/controllers/render-invoices.js.map +1 -1
- package/dist-server/controllers/render-job-sheet.d.ts +4 -0
- package/dist-server/controllers/render-job-sheet.js +2 -0
- package/dist-server/controllers/render-job-sheet.js.map +1 -1
- package/dist-server/controllers/render-kimeda-grn.d.ts +4 -0
- package/dist-server/controllers/render-kimeda-grn.js.map +1 -1
- package/dist-server/controllers/render-manifest.d.ts +3 -0
- package/dist-server/controllers/render-manual-do.d.ts +3 -0
- package/dist-server/controllers/render-manual-do.js +1 -0
- package/dist-server/controllers/render-manual-do.js.map +1 -1
- package/dist-server/controllers/render-orientage-do.d.ts +3 -0
- package/dist-server/controllers/render-orientage-do.js +10 -4
- package/dist-server/controllers/render-orientage-do.js.map +1 -1
- package/dist-server/controllers/render-orientage-grn.d.ts +3 -0
- package/dist-server/controllers/render-orientage-grn.js +5 -2
- package/dist-server/controllers/render-orientage-grn.js.map +1 -1
- package/dist-server/controllers/render-po.d.ts +4 -0
- package/dist-server/controllers/render-po.js +1 -0
- package/dist-server/controllers/render-po.js.map +1 -1
- package/dist-server/controllers/render-ro-do.d.ts +3 -0
- package/dist-server/controllers/render-ro-do.js +1 -0
- package/dist-server/controllers/render-ro-do.js.map +1 -1
- package/dist-server/controllers/render-seebuu-grn.d.ts +3 -0
- package/dist-server/controllers/render-seebuu-grn.js.map +1 -1
- package/dist-server/controllers/vas/index.d.ts +1 -0
- package/dist-server/controllers/vas/vas-worksheet-controller.d.ts +19 -0
- package/dist-server/controllers/vas/vas-worksheet-controller.js +31 -3
- package/dist-server/controllers/vas/vas-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/worksheet-controller.d.ts +328 -0
- package/dist-server/controllers/worksheet-controller.js +31 -3
- package/dist-server/controllers/worksheet-controller.js.map +1 -1
- package/dist-server/entities/index.d.ts +6 -0
- package/dist-server/entities/warehouse-bizplace-onhand-inventory.d.ts +14 -0
- package/dist-server/entities/warehouse-bizplace-onhand-inventory.js +2 -2
- package/dist-server/entities/warehouse-bizplace-onhand-inventory.js.map +1 -1
- package/dist-server/entities/worksheet-detail.d.ts +32 -0
- package/dist-server/entities/worksheet-detail.js +9 -10
- package/dist-server/entities/worksheet-detail.js.map +1 -1
- package/dist-server/entities/worksheet-movement.d.ts +11 -0
- package/dist-server/entities/worksheet-movement.js +2 -2
- package/dist-server/entities/worksheet-movement.js.map +1 -1
- package/dist-server/entities/worksheet.d.ts +31 -0
- package/dist-server/entities/worksheet.js +10 -11
- package/dist-server/entities/worksheet.js.map +1 -1
- package/dist-server/graphql/index.d.ts +6 -0
- package/dist-server/graphql/resolvers/index.d.ts +541 -0
- package/dist-server/graphql/resolvers/pallet/index.d.ts +7 -0
- package/dist-server/graphql/resolvers/pallet/pallet-outbound.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.d.ts +47 -0
- package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cancel-draft-release-order.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet/cancel-draft-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/check-inventory-release.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet/check-stock-take-current-location.d.ts +16 -0
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js +3 -0
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/create-worksheet.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js +1 -0
- package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.d.ts +9 -0
- package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +1 -0
- package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.d.ts +31 -0
- package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/delete-worksheet.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.d.ts +147 -0
- package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js +3 -0
- package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/fetch-delivery-order-ro.d.ts +23 -0
- package/dist-server/graphql/resolvers/worksheet/fetch-delivery-order-ro.js +1 -0
- package/dist-server/graphql/resolvers/worksheet/fetch-delivery-order-ro.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.d.ts +8 -0
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.d.ts +9 -0
- package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-worksheet-no.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-worksheet-no.js +1 -0
- 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.d.ts +9 -0
- package/dist-server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.d.ts +16 -0
- 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.d.ts +11 -0
- 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.d.ts +15 -0
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.d.ts +5 -0
- 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.d.ts +12 -0
- 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.d.ts +12 -0
- 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.d.ts +12 -0
- 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.d.ts +25 -0
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js +3 -0
- 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.d.ts +10 -0
- 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.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/index.d.ts +45 -0
- package/dist-server/graphql/resolvers/worksheet/having-vas.d.ts +8 -0
- package/dist-server/graphql/resolvers/worksheet/having-vas.js +2 -0
- package/dist-server/graphql/resolvers/worksheet/having-vas.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/index.d.ts +479 -0
- package/dist-server/graphql/resolvers/worksheet/index.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/activate-cycle-count.d.ts +10 -0
- package/dist-server/graphql/resolvers/worksheet/inspecting/add-extra-pallet.d.ts +14 -0
- package/dist-server/graphql/resolvers/worksheet/inspecting/check-missing-pallet.d.ts +9 -0
- package/dist-server/graphql/resolvers/worksheet/inspecting/complete-inspection.d.ts +10 -0
- package/dist-server/graphql/resolvers/worksheet/inspecting/complete-inspection.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/index.d.ts +35 -0
- package/dist-server/graphql/resolvers/worksheet/inspecting/inspecting.d.ts +12 -0
- package/dist-server/graphql/resolvers/worksheet/inspecting/relocate-pallet.d.ts +13 -0
- package/dist-server/graphql/resolvers/worksheet/inspecting/undo-inspection.d.ts +9 -0
- package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.d.ts +12 -0
- package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loaded-inventories.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet/loaded-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/activate-loading.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/loading/activate-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.d.ts +12 -0
- package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js +10 -2
- package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/index.d.ts +18 -0
- package/dist-server/graphql/resolvers/worksheet/loading/loading.d.ts +16 -0
- package/dist-server/graphql/resolvers/worksheet/loading/loading.js +4 -1
- package/dist-server/graphql/resolvers/worksheet/loading/loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/undo-loading.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/loading-worksheet.d.ts +31 -0
- package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js +2 -0
- package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.d.ts +10 -0
- package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.d.ts +9 -0
- package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/index.d.ts +22 -0
- package/dist-server/graphql/resolvers/worksheet/packing/packing.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.d.ts +11 -0
- 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.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.d.ts +47 -0
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +1 -0
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js +1 -0
- package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.d.ts +10 -0
- package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.d.ts +10 -0
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-inventories.d.ts +15 -0
- package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.d.ts +8 -0
- package/dist-server/graphql/resolvers/worksheet/picking/batch-picking.d.ts +14 -0
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.d.ts +9 -0
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.d.ts +9 -0
- 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.d.ts +40 -0
- package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/index.d.ts +116 -0
- package/dist-server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.d.ts +10 -0
- package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/picking/picking.d.ts +16 -0
- package/dist-server/graphql/resolvers/worksheet/picking/scan-product-batch-picking.d.ts +15 -0
- package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.d.ts +12 -0
- package/dist-server/graphql/resolvers/worksheet/picking/seal-tote.d.ts +7 -0
- package/dist-server/graphql/resolvers/worksheet/picking/undo-picking-assignment.d.ts +13 -0
- package/dist-server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet/picking-worksheet.d.ts +83 -0
- package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +2 -0
- package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.d.ts +8 -0
- package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js +2 -0
- package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/activate-putaway.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/putaway/activate-putaway.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.d.ts +9 -0
- package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/index.d.ts +20 -0
- package/dist-server/graphql/resolvers/worksheet/putaway/putaway.d.ts +8 -0
- package/dist-server/graphql/resolvers/worksheet/putaway/undo-putaway.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.d.ts +11 -0
- 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.d.ts +9 -0
- package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/index.d.ts +20 -0
- package/dist-server/graphql/resolvers/worksheet/putaway-return/putaway-return.d.ts +8 -0
- package/dist-server/graphql/resolvers/worksheet/putaway-return/undo-putaway-return.d.ts +7 -0
- package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.d.ts +32 -0
- package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js +2 -0
- package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-worksheet.d.ts +33 -0
- package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js +4 -1
- package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js +3 -1
- package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/relocate-pallet.d.ts +13 -0
- package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.d.ts +8 -0
- package/dist-server/graphql/resolvers/worksheet/return-worksheet.d.ts +31 -0
- package/dist-server/graphql/resolvers/worksheet/returning/activate-return.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/returning/complete-return.d.ts +10 -0
- package/dist-server/graphql/resolvers/worksheet/returning/complete-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/returning/index.d.ts +15 -0
- package/dist-server/graphql/resolvers/worksheet/returning/returning.d.ts +12 -0
- package/dist-server/graphql/resolvers/worksheet/sorting/activate-sorting.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/sorting/complete-order-sorting.d.ts +9 -0
- package/dist-server/graphql/resolvers/worksheet/sorting/complete-order-sorting.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting/complete-worksheet-sorting.d.ts +9 -0
- package/dist-server/graphql/resolvers/worksheet/sorting/index.d.ts +27 -0
- package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.d.ts +13 -0
- package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.d.ts +14 -0
- package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.d.ts +33 -0
- package/dist-server/graphql/resolvers/worksheet/transfer.d.ts +7 -0
- package/dist-server/graphql/resolvers/worksheet/transfer.js +2 -0
- package/dist-server/graphql/resolvers/worksheet/transfer.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.d.ts +7 -0
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.d.ts +12 -0
- package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-product-scan-unload.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading-partially.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js +2 -0
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/index.d.ts +42 -0
- package/dist-server/graphql/resolvers/worksheet/unloading/scan-product-unload.d.ts +7 -0
- package/dist-server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.d.ts +7 -0
- package/dist-server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet/unloading/undo-unloading.d.ts +7 -0
- package/dist-server/graphql/resolvers/worksheet/unloading/unload.d.ts +7 -0
- package/dist-server/graphql/resolvers/worksheet/unloading-return/activate-unloading-return.d.ts +12 -0
- package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-return-partially.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading-return/index.d.ts +14 -0
- package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.d.ts +33 -0
- package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.d.ts +41 -0
- package/dist-server/graphql/resolvers/worksheet/update-worksheet.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet/vas/activate-vas.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/vas/assign-vas-inventories.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/vas/complete-vas.d.ts +12 -0
- package/dist-server/graphql/resolvers/worksheet/vas/execute-vas.d.ts +11 -0
- package/dist-server/graphql/resolvers/worksheet/vas/index.d.ts +26 -0
- package/dist-server/graphql/resolvers/worksheet/vas/undo-vas-inventory.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet/vas/undo-vas.d.ts +10 -0
- package/dist-server/graphql/resolvers/worksheet/vas-candidates.d.ts +92 -0
- package/dist-server/graphql/resolvers/worksheet/vas-candidates.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-inventories.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet/vas-inventories.js +1 -0
- package/dist-server/graphql/resolvers/worksheet/vas-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.d.ts +119 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js +16 -3
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/index.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/index.d.ts +45 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/relabeling.d.ts +17 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/repackaging.d.ts +23 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/repackaging.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/repackaging.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/repalletizing.d.ts +12 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/unpacking.d.ts +12 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.d.ts +27 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.js +1 -0
- 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.d.ts +4 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.js +1 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/index.d.ts +4 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.d.ts +8 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.js +2 -0
- 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.d.ts +7 -0
- 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.d.ts +4 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js +1 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/index.d.ts +3 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.d.ts +9 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.js +5 -0
- 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.d.ts +14 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.js +2 -0
- 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.d.ts +4 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.js +1 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/index.d.ts +3 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.d.ts +8 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.js +2 -0
- 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.d.ts +7 -0
- 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.d.ts +4 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/index.d.ts +2 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.d.ts +10 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js +2 -0
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-worksheet.d.ts +39 -0
- package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js +2 -0
- package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheet-by-order-no.d.ts +10 -0
- package/dist-server/graphql/resolvers/worksheet/worksheet-by-order-no.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.d.ts +14 -0
- package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheet.d.ts +15 -0
- package/dist-server/graphql/resolvers/worksheet/worksheet.js +8 -4
- package/dist-server/graphql/resolvers/worksheet/worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheets.d.ts +8 -0
- package/dist-server/graphql/resolvers/worksheet/worksheets.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/check-progressing-pallet.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet-detail/create-worksheet-detail.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet-detail/create-worksheet-detail.js +1 -0
- package/dist-server/graphql/resolvers/worksheet-detail/create-worksheet-detail.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.d.ts +7 -0
- package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js +2 -0
- 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.d.ts +9 -0
- package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js +1 -0
- 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.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet-detail/generate-carton-id.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.d.ts +6 -0
- 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.d.ts +8 -0
- package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js +3 -0
- 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.d.ts +15 -0
- package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/index.d.ts +78 -0
- package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.d.ts +16 -0
- package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js +1 -0
- package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-detail.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.d.ts +14 -0
- 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.d.ts +8 -0
- package/dist-server/graphql/resolvers/worksheet-movement/create-worksheet-movement.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet-movement/delete-worksheet-movement.d.ts +5 -0
- package/dist-server/graphql/resolvers/worksheet-movement/index.d.ts +21 -0
- package/dist-server/graphql/resolvers/worksheet-movement/update-worksheet-movement.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movement.d.ts +6 -0
- package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movements.d.ts +8 -0
- package/dist-server/graphql/types/index.d.ts +3 -0
- package/dist-server/graphql/types/pallet/index.d.ts +3 -0
- package/dist-server/graphql/types/pallet/pallet.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/arrival-notice-worksheet.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/batch-pick-worksheet-info.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/contact-point-info.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/cycle-count-worksheet.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/delivery-info.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/delivery-order-info.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/delivery-order-ro.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/delivery-worksheet.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/executing-worksheet.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/find-release-orders-by-task-no.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/goods-delivery-note.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/index.d.ts +3 -0
- package/dist-server/graphql/types/worksheet/inventory-check-worksheet.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/loaded-worksheet-detail.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/multiple-release-good-worksheet.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/my-picking-assignment-status.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/new-worksheet.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/picking-assignment-status.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/product-approval.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/release-good-worksheet.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/return-order-worksheet.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/sellercraft-document.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/vas-order-worksheet.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/vas-worksheet.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/worksheet-detail-info.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/worksheet-info.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/worksheet-list.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/worksheet-patch.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/worksheet-with-pagination.d.ts +1 -0
- package/dist-server/graphql/types/worksheet/worksheet.d.ts +1 -0
- package/dist-server/graphql/types/worksheet-detail/index.d.ts +3 -0
- package/dist-server/graphql/types/worksheet-detail/inventory-detail.d.ts +1 -0
- package/dist-server/graphql/types/worksheet-detail/new-worksheet-detail.d.ts +1 -0
- package/dist-server/graphql/types/worksheet-detail/pallet-info.d.ts +1 -0
- package/dist-server/graphql/types/worksheet-detail/worksheet-detail-list.d.ts +1 -0
- package/dist-server/graphql/types/worksheet-detail/worksheet-detail-patch.d.ts +1 -0
- package/dist-server/graphql/types/worksheet-detail/worksheet-detail.d.ts +1 -0
- package/dist-server/graphql/types/worksheet-movement/index.d.ts +3 -0
- package/dist-server/graphql/types/worksheet-movement/new-worksheet-movement.d.ts +1 -0
- package/dist-server/graphql/types/worksheet-movement/worksheet-movement-list.d.ts +1 -0
- package/dist-server/graphql/types/worksheet-movement/worksheet-movement-patch.d.ts +1 -0
- package/dist-server/graphql/types/worksheet-movement/worksheet-movement.d.ts +1 -0
- package/dist-server/index.d.ts +13 -0
- package/dist-server/middlewares/index.d.ts +0 -0
- package/dist-server/migrations/index.d.ts +1 -0
- package/dist-server/routes.d.ts +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/utils/datetime-util.d.ts +7 -0
- package/dist-server/utils/datetime-util.js.map +1 -1
- package/dist-server/utils/index.d.ts +4 -0
- package/dist-server/utils/inventory-util.d.ts +137 -0
- package/dist-server/utils/inventory-util.js +7 -2
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/dist-server/utils/worksheet-no-generator.d.ts +30 -0
- package/dist-server/utils/worksheet-no-generator.js.map +1 -1
- package/dist-server/utils/worksheet-util.d.ts +7 -0
- package/dist-server/utils/worksheet-util.js.map +1 -1
- package/package.json +17 -17
- package/server/controllers/inbound/putaway-returning-worksheet-controller.ts +14 -5
- package/server/controllers/inbound/putaway-worksheet-controller.ts +5 -0
- package/server/controllers/inbound/unloading-returning-worksheet-controller.ts +9 -0
- package/server/controllers/inbound/unloading-worksheet-controller.ts +197 -45
- package/server/controllers/inspect/cycle-count-worksheet-controller.ts +12 -0
- package/server/controllers/outbound/loading-worksheet-controller.ts +12 -0
- package/server/controllers/outbound/packing-worksheet-controller.ts +23 -0
- package/server/controllers/outbound/picking-worksheet-controller.ts +20 -0
- package/server/controllers/outbound/returning-worksheet-controller.ts +5 -0
- package/server/controllers/outbound/sorting-worksheet-controller.ts +13 -0
- package/server/controllers/render-fm-grn.ts +3 -0
- package/server/controllers/render-grn.ts +3 -0
- package/server/controllers/render-job-sheet.ts +2 -0
- package/server/controllers/render-manual-do.ts +7 -6
- package/server/controllers/render-orientage-do.ts +21 -15
- package/server/controllers/render-orientage-grn.ts +15 -12
- package/server/controllers/render-po.ts +1 -0
- package/server/controllers/render-ro-do.ts +7 -6
- package/server/controllers/vas/vas-worksheet-controller.ts +26 -2
- package/server/controllers/worksheet-controller.ts +27 -0
- package/server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts +3 -0
- package/server/graphql/resolvers/worksheet/cross-dock-picking.ts +1 -0
- package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +1 -0
- package/server/graphql/resolvers/worksheet/delivery-order-by-worksheet.ts +3 -0
- package/server/graphql/resolvers/worksheet/fetch-delivery-order-ro.ts +1 -0
- package/server/graphql/resolvers/worksheet/find-release-orders-by-worksheet-no.ts +1 -0
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-batch-picking-worksheet.ts +1 -0
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts +4 -1
- package/server/graphql/resolvers/worksheet/having-vas.ts +2 -0
- package/server/graphql/resolvers/worksheet/index.ts +1 -1
- package/server/graphql/resolvers/worksheet/loading/complete-loading.ts +9 -2
- package/server/graphql/resolvers/worksheet/loading/loading.ts +2 -0
- package/server/graphql/resolvers/worksheet/loading-worksheet.ts +2 -0
- package/server/graphql/resolvers/worksheet/packing-worksheet.ts +1 -0
- package/server/graphql/resolvers/worksheet/palletizing-pallets.ts +3 -0
- package/server/graphql/resolvers/worksheet/picking-worksheet.ts +2 -0
- package/server/graphql/resolvers/worksheet/proceed-extra-products.ts +2 -0
- package/server/graphql/resolvers/worksheet/putaway-returning-worksheet.ts +2 -0
- package/server/graphql/resolvers/worksheet/recommend-putway-location.ts +2 -1
- package/server/graphql/resolvers/worksheet/reject-cancellation-release-order.ts +19 -17
- package/server/graphql/resolvers/worksheet/transfer.ts +9 -1
- package/server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.ts +1 -0
- package/server/graphql/resolvers/worksheet/unloaded-inventories.ts +1 -0
- package/server/graphql/resolvers/worksheet/unloading/complete-unloading.ts +2 -0
- package/server/graphql/resolvers/worksheet/vas-inventories.ts +2 -0
- package/server/graphql/resolvers/worksheet/vas-transactions/common-utils.ts +10 -0
- package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.ts +1 -0
- package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.ts +1 -0
- package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.ts +2 -0
- package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.ts +1 -0
- package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.ts +5 -0
- package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.ts +2 -0
- package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.ts +1 -0
- package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.ts +2 -0
- package/server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.ts +2 -0
- package/server/graphql/resolvers/worksheet/vas-worksheet.ts +2 -0
- package/server/graphql/resolvers/worksheet/worksheet.ts +12 -4
- package/server/graphql/resolvers/worksheet-detail/create-worksheet-detail.ts +1 -0
- package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.ts +3 -1
- package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.ts +1 -0
- package/server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.ts +3 -0
- package/server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts +1 -0
- package/server/utils/inventory-util.ts +38 -10
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const TEMPLATE_TYPE: {
|
|
2
|
+
DO_TEMPLATE: string;
|
|
3
|
+
CO_TEMPLATE: string;
|
|
4
|
+
GRN_TEMPLATE: string;
|
|
5
|
+
JOB_TEMPLATE: string;
|
|
6
|
+
MANIFEST_TEMPLATE: string;
|
|
7
|
+
INVOICE_TEMPLATE: string;
|
|
8
|
+
PO_TEMPLATE: string;
|
|
9
|
+
COP: string;
|
|
10
|
+
SIGNATURE: string;
|
|
11
|
+
LOGO: string;
|
|
12
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export declare const WORKSHEET_TYPE: {
|
|
2
|
+
UNLOADING: string;
|
|
3
|
+
PUTAWAY: string;
|
|
4
|
+
VAS: string;
|
|
5
|
+
PACKING: string;
|
|
6
|
+
PICKING: string;
|
|
7
|
+
SORTING: string;
|
|
8
|
+
BATCH_PICKING: string;
|
|
9
|
+
LOADING: string;
|
|
10
|
+
CYCLE_COUNT: string;
|
|
11
|
+
CYCLE_COUNT_RECHECK: string;
|
|
12
|
+
WAREHOUSE_RETURN: string;
|
|
13
|
+
UNLOADING_RETURN: string;
|
|
14
|
+
PUTAWAY_RETURN: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const WORKSHEET_STATUS: {
|
|
17
|
+
PROCESSING: string;
|
|
18
|
+
DEACTIVATED: string;
|
|
19
|
+
EXECUTING: string;
|
|
20
|
+
NOT_TALLY: string;
|
|
21
|
+
ADJUSTED: string;
|
|
22
|
+
PENDING_APPROVAL: string;
|
|
23
|
+
INSPECTED: string;
|
|
24
|
+
PENDING_ADJUSTMENT: string;
|
|
25
|
+
PARTIALLY_UNLOADED: string;
|
|
26
|
+
DONE: string;
|
|
27
|
+
REPLACED: string;
|
|
28
|
+
CANCELLED: string;
|
|
29
|
+
};
|
|
30
|
+
export declare const TASK_NUMBER_SETTING_KEY: {
|
|
31
|
+
TASK_NO_RULE: string;
|
|
32
|
+
};
|
|
33
|
+
export declare const TASK_NUMBER_RULE_TYPE: {
|
|
34
|
+
TASK_NO: string;
|
|
35
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MarketplaceStore } from '@things-factory/integration-marketplace';
|
|
2
|
+
import { MarketplaceOrder } from '@things-factory/marketplace-base';
|
|
3
|
+
import { ReleaseGood } from '@things-factory/sales-base';
|
|
4
|
+
import { Domain } from '@things-factory/shell';
|
|
5
|
+
import { WorksheetController } from '../worksheet-controller';
|
|
6
|
+
export declare class EcommerceController extends WorksheetController {
|
|
7
|
+
updateProductVariationStock(marketplaceStores: MarketplaceStore[], orderProducts: any[], companyDomain: Domain): Promise<void>;
|
|
8
|
+
createOrderShip(releaseGood: ReleaseGood, marketplaceStore: MarketplaceStore, marketplaceOrder: MarketplaceOrder, companyDomain: Domain): Promise<void>;
|
|
9
|
+
createOrderComment(marketplaceStore: MarketplaceStore, marketplaceOrder: MarketplaceOrder, orderStatus: String): Promise<void>;
|
|
10
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecommerce-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/ecommerce-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { MarketplaceSetting, MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'\nimport {\n MarketplaceOrder,\n MarketplaceOrderItem,\n MarketplaceOrderShipping,\n MarketplaceOrderShippingItem,\n MarketplaceProductVariation\n} from '@things-factory/marketplace-base'\nimport { ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { getProductBundleInventory, Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/warehouse-base'\n\nimport { WorksheetController } from '../worksheet-controller'\n\nexport class EcommerceController extends WorksheetController {\n async updateProductVariationStock(\n marketplaceStores: MarketplaceStore[],\n orderProducts: any[],\n companyDomain: Domain\n ): Promise<void> {\n let inventoryProducts: any[] = await Promise.all(\n orderProducts.map(async orderProduct => {\n const product = orderProduct.product\n let qb = await this.trxMgr.getRepository(Inventory).createQueryBuilder('inv')\n qb.leftJoinAndSelect('inv.location', 'loc')\n .andWhere('\"inv\".\"domain_id\" = :domainId')\n .andWhere('\"inv\".\"product_id\" = :productId')\n .andWhere('\"inv\".\"status\" != :status')\n .andWhere('\"loc\".\"type\" NOT IN (:...locationTypes)')\n .setParameters({\n domainId: this.domain.id,\n productId: orderProduct.product.id,\n status: INVENTORY_STATUS.TERMINATED,\n locationTypes: [LOCATION_TYPE.QUARANTINE, LOCATION_TYPE.RESERVE]\n })\n\n let inventories: Inventory[] = await qb.getMany()\n\n inventories = inventories.filter(\n inventory =>\n inventory?.location.type !== LOCATION_TYPE.QUARANTINE || inventory?.location.type !== LOCATION_TYPE.RESERVE\n )\n\n const inventoryQty: number = inventories.reduce((total, currentValue) => {\n total += currentValue.qty\n return total\n }, 0)\n\n const inventoryLockedQty: number = inventories.reduce((total, currentValue) => {\n total += currentValue.lockedQty\n return total\n }, 0)\n\n return { sku: product.sku, name: product.name, qty: inventoryQty - inventoryLockedQty }\n })\n )\n\n let bundleProductInventory: any[] = await getProductBundleInventory(\n this.domain,\n companyDomain,\n orderProducts,\n this.trxMgr\n )\n\n inventoryProducts.push(bundleProductInventory)\n\n for (var i = 0; i < marketplaceStores.length; i++) {\n const marketplaceStore = marketplaceStores[i]\n\n // get marketplace setting based on marketplace connection\n const marketplaceSetting: MarketplaceSetting = await this.trxMgr.getRepository(MarketplaceSetting).findOne({\n where: { marketplaceStore: { id: marketplaceStore.id }, category: 'stock_allocation' }\n })\n\n for (var j = 0; j < inventoryProducts.length; j++) {\n const inventoryProduct = inventoryProducts[j]\n const marketplaceProductVariations: MarketplaceProductVariation[] = await this.trxMgr\n .getRepository(MarketplaceProductVariation)\n .find({\n where: { domain: { id: companyDomain.id }, sku: inventoryProduct.sku },\n relations: ['marketplaceProduct', 'marketplaceProduct.marketplaceStore']\n })\n\n let storeProductVariations: MarketplaceProductVariation[] = marketplaceProductVariations.filter(\n productVariation => productVariation.marketplaceProduct.marketplaceStore.id === marketplaceStore.id\n )\n\n let percentageValue: number = 100\n if (storeProductVariations) {\n for (let k = 0; k < storeProductVariations.length; k++) {\n let storeProductVariation: MarketplaceProductVariation = storeProductVariations[k]\n if (marketplaceSetting) {\n percentageValue = parseInt(marketplaceSetting.value)\n }\n\n let remainQty: number = Math.floor(\n (inventoryProduct.qty - storeProductVariation.reserveQty) * (percentageValue / 100)\n )\n if (remainQty < 0) remainQty = 0\n\n let productVariationLocationId = storeProductVariation?.locationId\n let adjustQty: number = remainQty\n\n if (marketplaceStore.platform === 'shopify') {\n let locationIds: any[] = JSON.parse(productVariationLocationId)\n adjustQty = adjustQty - storeProductVariation.qty\n if (locationIds[0]?.location_id) productVariationLocationId = locationIds[0].location_id\n }\n\n let validMarketplaceDistributors: any[] = []\n if (marketplaceStore.marketplaceDistributors) {\n validMarketplaceDistributors = marketplaceStore.marketplaceDistributors.filter(\n distributor => distributor.status === 'ACTIVE'\n )\n }\n\n await StoreAPI.updateStoreProductVariationStock(marketplaceStore, [\n {\n itemId: storeProductVariation.marketplaceProduct.itemId,\n variationId: storeProductVariation.variationId,\n variationSku: storeProductVariation.variationSku,\n qty: adjustQty,\n locationId: productVariationLocationId,\n inventoryItemId: storeProductVariation.inventoryItemId,\n distributors: validMarketplaceDistributors\n }\n ])\n\n storeProductVariation.qty = remainQty\n storeProductVariation.updater = this.user\n await this.trxMgr.getRepository(MarketplaceProductVariation).save(storeProductVariation)\n }\n }\n }\n }\n }\n\n async createOrderShip(\n releaseGood: ReleaseGood,\n marketplaceStore: MarketplaceStore,\n marketplaceOrder: MarketplaceOrder,\n companyDomain: Domain\n ): Promise<void> {\n let marketplaceOrderShipping: MarketplaceOrderShipping\n\n if (marketplaceOrder.isSplitted) {\n marketplaceOrderShipping = await this.trxMgr.getRepository(MarketplaceOrderShipping).findOne({\n where: {\n domain: { id: companyDomain.id },\n marketplaceStore: { id: marketplaceStore.id },\n subOrderNoRef: releaseGood.refNo2\n }\n })\n } else {\n marketplaceOrderShipping = await this.trxMgr.getRepository(MarketplaceOrderShipping).findOne({\n where: {\n domain: { id: companyDomain.id },\n marketplaceStore: { id: marketplaceStore.id },\n orderNoRef: releaseGood.refNo\n }\n })\n }\n\n const trackingNo: string = marketplaceOrderShipping.ownTrackingNo\n ? marketplaceOrderShipping.ownTrackingNo\n : marketplaceOrderShipping.trackingNo\n const shippingProvider: string = marketplaceOrderShipping.ownTransporter\n ? marketplaceOrderShipping.ownTransporter\n : marketplaceOrderShipping.transporter\n\n let validMarketplaceDistributors: any[] = []\n if (marketplaceOrder.marketplaceStore.marketplaceDistributors) {\n validMarketplaceDistributors = marketplaceOrder.marketplaceStore.marketplaceDistributors.filter(\n distributor => distributor.status === 'ACTIVE'\n )\n }\n\n let marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems\n let orderItems: any[] = []\n marketplaceOrderItems.map(marketplaceOrderItem => {\n const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] =\n marketplaceOrderItem.marketplaceOrderShippingItems\n marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {\n if (marketplaceOrderShippingItem?.marketplaceOrderShipping.id == marketplaceOrderShipping.id) {\n orderItems.push({ name: marketplaceOrderItem.name, qty: marketplaceOrderShippingItem.qty })\n }\n })\n })\n\n await StoreAPI.createOrderShip(marketplaceStore, {\n orderId: marketplaceOrder.name,\n orderItems,\n shippings: [{ trackingNo, carrierCode: shippingProvider }],\n sourceCodes: validMarketplaceDistributors.map(distributor => distributor.name)\n })\n }\n\n async createOrderComment(\n marketplaceStore: MarketplaceStore,\n marketplaceOrder: MarketplaceOrder,\n orderStatus: String\n ): Promise<void> {\n await StoreAPI.createOrderComment(marketplaceStore, {\n orderId: marketplaceOrder.name,\n remark: orderStatus,\n status: marketplaceOrder.status\n })\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ecommerce-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/ecommerce-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { MarketplaceSetting, MarketplaceStore, StoreAPI } from '@things-factory/integration-marketplace'\nimport {\n MarketplaceOrder,\n MarketplaceOrderItem,\n MarketplaceOrderShipping,\n MarketplaceOrderShippingItem,\n MarketplaceProductVariation\n} from '@things-factory/marketplace-base'\nimport { ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { getProductBundleInventory, Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/warehouse-base'\n\nimport { WorksheetController } from '../worksheet-controller'\n\nexport class EcommerceController extends WorksheetController {\n async updateProductVariationStock(\n marketplaceStores: MarketplaceStore[],\n orderProducts: any[],\n companyDomain: Domain\n ): Promise<void> {\n let inventoryProducts: any[] = await Promise.all(\n orderProducts.map(async orderProduct => {\n const product = orderProduct.product\n let qb = await this.trxMgr.getRepository(Inventory).createQueryBuilder('inv')\n qb.leftJoinAndSelect('inv.location', 'loc')\n .andWhere('\"inv\".\"domain_id\" = :domainId')\n .andWhere('\"inv\".\"product_id\" = :productId')\n .andWhere('\"inv\".\"status\" != :status')\n .andWhere('\"loc\".\"type\" NOT IN (:...locationTypes)')\n .setParameters({\n domainId: this.domain.id,\n productId: orderProduct.product.id,\n status: INVENTORY_STATUS.TERMINATED,\n locationTypes: [LOCATION_TYPE.QUARANTINE, LOCATION_TYPE.RESERVE]\n })\n\n let inventories: Inventory[] = await qb.getMany()\n\n inventories = inventories.filter(\n inventory =>\n inventory?.location.type !== LOCATION_TYPE.QUARANTINE || inventory?.location.type !== LOCATION_TYPE.RESERVE\n )\n\n const inventoryQty: number = inventories.reduce((total, currentValue) => {\n total += currentValue.qty\n return total\n }, 0)\n\n const inventoryLockedQty: number = inventories.reduce((total, currentValue) => {\n total += currentValue.lockedQty\n return total\n }, 0)\n\n return { sku: product.sku, name: product.name, qty: inventoryQty - inventoryLockedQty }\n })\n )\n\n let bundleProductInventory: any[] = await getProductBundleInventory(\n this.domain,\n companyDomain,\n orderProducts,\n this.trxMgr\n )\n\n inventoryProducts.push(bundleProductInventory)\n\n for (var i = 0; i < marketplaceStores.length; i++) {\n const marketplaceStore = marketplaceStores[i]\n\n // get marketplace setting based on marketplace connection\n const marketplaceSetting: MarketplaceSetting = await this.trxMgr.getRepository(MarketplaceSetting).findOne({\n where: { marketplaceStore: { id: marketplaceStore.id }, category: 'stock_allocation' }\n })\n\n for (var j = 0; j < inventoryProducts.length; j++) {\n const inventoryProduct = inventoryProducts[j]\n const marketplaceProductVariations: MarketplaceProductVariation[] = await this.trxMgr\n .getRepository(MarketplaceProductVariation)\n .find({\n where: { domain: { id: companyDomain.id }, sku: inventoryProduct.sku },\n relations: ['marketplaceProduct', 'marketplaceProduct.marketplaceStore']\n })\n\n let storeProductVariations: MarketplaceProductVariation[] = marketplaceProductVariations.filter(\n productVariation => productVariation.marketplaceProduct.marketplaceStore.id === marketplaceStore.id\n )\n\n let percentageValue: number = 100\n if (storeProductVariations) {\n for (let k = 0; k < storeProductVariations.length; k++) {\n let storeProductVariation: MarketplaceProductVariation = storeProductVariations[k]\n if (marketplaceSetting) {\n percentageValue = parseInt(marketplaceSetting.value)\n }\n\n let remainQty: number = Math.floor(\n (inventoryProduct.qty - storeProductVariation.reserveQty) * (percentageValue / 100)\n )\n if (remainQty < 0) remainQty = 0\n\n let productVariationLocationId = storeProductVariation?.locationId\n let adjustQty: number = remainQty\n\n if (marketplaceStore.platform === 'shopify') {\n let locationIds: any[] = JSON.parse(productVariationLocationId)\n adjustQty = adjustQty - storeProductVariation.qty\n if (locationIds[0]?.location_id) productVariationLocationId = locationIds[0].location_id\n }\n\n let validMarketplaceDistributors: any[] = []\n if (marketplaceStore.marketplaceDistributors) {\n validMarketplaceDistributors = marketplaceStore.marketplaceDistributors.filter(\n distributor => distributor.status === 'ACTIVE'\n )\n }\n\n await StoreAPI.updateStoreProductVariationStock(marketplaceStore, [\n {\n itemId: storeProductVariation.marketplaceProduct.itemId,\n variationId: storeProductVariation.variationId,\n variationSku: storeProductVariation.variationSku,\n qty: adjustQty,\n locationId: productVariationLocationId,\n inventoryItemId: storeProductVariation.inventoryItemId,\n distributors: validMarketplaceDistributors\n }\n ])\n\n storeProductVariation.qty = remainQty\n storeProductVariation.updater = this.user\n await this.trxMgr.getRepository(MarketplaceProductVariation).save(storeProductVariation)\n }\n }\n }\n }\n }\n\n async createOrderShip(\n releaseGood: ReleaseGood,\n marketplaceStore: MarketplaceStore,\n marketplaceOrder: MarketplaceOrder,\n companyDomain: Domain\n ): Promise<void> {\n let marketplaceOrderShipping: MarketplaceOrderShipping\n\n if (marketplaceOrder.isSplitted) {\n marketplaceOrderShipping = await this.trxMgr.getRepository(MarketplaceOrderShipping).findOne({\n where: {\n domain: { id: companyDomain.id },\n marketplaceStore: { id: marketplaceStore.id },\n subOrderNoRef: releaseGood.refNo2\n }\n })\n } else {\n marketplaceOrderShipping = await this.trxMgr.getRepository(MarketplaceOrderShipping).findOne({\n where: {\n domain: { id: companyDomain.id },\n marketplaceStore: { id: marketplaceStore.id },\n orderNoRef: releaseGood.refNo\n }\n })\n }\n\n const trackingNo: string = marketplaceOrderShipping.ownTrackingNo\n ? marketplaceOrderShipping.ownTrackingNo\n : marketplaceOrderShipping.trackingNo\n const shippingProvider: string = marketplaceOrderShipping.ownTransporter\n ? marketplaceOrderShipping.ownTransporter\n : marketplaceOrderShipping.transporter\n\n let validMarketplaceDistributors: any[] = []\n if (marketplaceOrder.marketplaceStore.marketplaceDistributors) {\n validMarketplaceDistributors = marketplaceOrder.marketplaceStore.marketplaceDistributors.filter(\n distributor => distributor.status === 'ACTIVE'\n )\n }\n\n let marketplaceOrderItems: MarketplaceOrderItem[] = marketplaceOrder.marketplaceOrderItems\n let orderItems: any[] = []\n marketplaceOrderItems.map(marketplaceOrderItem => {\n const marketplaceOrderShippingItems: MarketplaceOrderShippingItem[] =\n marketplaceOrderItem.marketplaceOrderShippingItems\n marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {\n if (marketplaceOrderShippingItem?.marketplaceOrderShipping.id == marketplaceOrderShipping.id) {\n orderItems.push({ name: marketplaceOrderItem.name, qty: marketplaceOrderShippingItem.qty })\n }\n })\n })\n\n await StoreAPI.createOrderShip(marketplaceStore, {\n orderId: marketplaceOrder.name,\n orderItems,\n shippings: [{ trackingNo, carrierCode: shippingProvider }],\n sourceCodes: validMarketplaceDistributors.map(distributor => distributor.name)\n })\n }\n\n async createOrderComment(\n marketplaceStore: MarketplaceStore,\n marketplaceOrder: MarketplaceOrder,\n orderStatus: String\n ): Promise<void> {\n await StoreAPI.createOrderComment(marketplaceStore, {\n orderId: marketplaceOrder.name,\n remark: orderStatus,\n status: marketplaceOrder.status\n })\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Sellercraft } from '@things-factory/integration-sellercraft';
|
|
2
|
+
import { ArrivalNotice, ReleaseGood, ReturnOrder } from '@things-factory/sales-base';
|
|
3
|
+
import { Inventory } from '@things-factory/warehouse-base';
|
|
4
|
+
import { WorksheetController } from '../worksheet-controller';
|
|
5
|
+
export declare class SellercraftController extends WorksheetController {
|
|
6
|
+
packOrder(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood>;
|
|
7
|
+
registerProductInbound(sellercraft: Sellercraft, arrivalNotice: ArrivalNotice): Promise<void>;
|
|
8
|
+
registerProductReturn(sellercraft: Sellercraft, returnOrder: ReturnOrder): Promise<void>;
|
|
9
|
+
updateSellercraftStock(sellercraft: Sellercraft, inventory: Inventory): Promise<void>;
|
|
10
|
+
initiateOrderShipment(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void>;
|
|
11
|
+
initiateOrderDocument(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void>;
|
|
12
|
+
fetchOrderDocument(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood>;
|
|
13
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sellercraft-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/sellercraft-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { Bizplace } from '@things-factory/biz-base'\nimport { Sellercraft, SellercraftAPI } from '@things-factory/integration-sellercraft'\nimport { Product, ProductDetail } from '@things-factory/product-base'\nimport {\n ArrivalNotice,\n OrderInventory,\n OrderProduct,\n PurchaseOrder,\n ReleaseGood,\n ReturnOrder\n} from '@things-factory/sales-base'\nimport { Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/warehouse-base'\n\nimport { WorksheetController } from '../worksheet-controller'\n\nexport class SellercraftController extends WorksheetController {\n async packOrder(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disablePackOrder: boolean =\n sellercraftSetting?.disablePackOrder && sellercraftSetting?.disablePackOrder == 1 ? true : false\n\n if (!disablePackOrder) {\n const orderProducts: OrderProduct[] = releaseGood.orderProducts\n let sellercraftOPs: any[] = []\n\n sellercraftOPs = orderProducts.map(orderProduct => {\n const product: Product = orderProduct.product\n\n return {\n sku: product.sku,\n releaseQty: orderProduct.releaseQty,\n uom: 'EA'\n }\n })\n\n const orderInformation: any = {\n accountId: sellercraft.accountId,\n orderId: releaseGood.refNo2,\n sellercraftOPs\n }\n const packageId: string = await SellercraftAPI.packMarketplaceOrder(sellercraft, {\n ...orderInformation,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n\n releaseGood.packageId = packageId\n releaseGood.updater = this.user\n }\n\n return releaseGood\n }\n\n async registerProductInbound(sellercraft: Sellercraft, arrivalNotice: ArrivalNotice): Promise<void> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableRegisterInbound: boolean =\n sellercraftSetting?.disableRegisterInbound && sellercraftSetting?.disableRegisterInbound == 1 ? true : false\n\n if (!disableRegisterInbound) {\n const orderProducts: OrderProduct[] = arrivalNotice.orderProducts\n const purchaseOrder: PurchaseOrder = arrivalNotice.purchaseOrder\n const sellercraftOPs: any[] = await Promise.all(\n orderProducts.map(async (orderProduct: OrderProduct) => {\n const product: Product = orderProduct.product\n const productDetails: ProductDetail[] = product.productDetails\n const unloadedPackingType: string = orderProduct.packingType\n const defaultProductDetail: ProductDetail = product.productDetails.find(\n productDetail => productDetail.isDefault\n )\n\n let packingSize: number = 1\n if (unloadedPackingType !== defaultProductDetail.packingType) {\n const unmatchingProductDetail: ProductDetail = product.productDetails.find(\n productDetail => productDetail.packingType === unloadedPackingType\n )\n\n packingSize = await this.getChildPackingSize(productDetails, defaultProductDetail, unmatchingProductDetail)\n }\n\n return {\n sku: product.sku,\n purchaseOrderQty: orderProduct.packQty * packingSize,\n receivedQty: orderProduct.actualPackQty * packingSize,\n uom: 'EA',\n batchId: orderProduct.batchId,\n productName: product.name,\n gtin: defaultProductDetail.gtin,\n forceCreateProduct: true,\n expiryTime: 0,\n weight: defaultProductDetail.nettWeight < 1 ? 1 : defaultProductDetail.nettWeight,\n packageDimension: {\n length: defaultProductDetail.depth < 1 ? 1 : defaultProductDetail.depth,\n width: defaultProductDetail.width < 1 ? 1 : defaultProductDetail.width,\n height: defaultProductDetail.height < 1 ? 1 : defaultProductDetail.height\n }\n }\n })\n )\n\n const inboundOrder: any = {\n accountId: sellercraft.accountId,\n inboundId: arrivalNotice.name,\n inboundTime: Math.floor(new Date(arrivalNotice.updatedAt).getTime() / 1000),\n inboundType: purchaseOrder ? 'purchase_order' : 'blind_receive',\n purchaseOrderId: purchaseOrder ? purchaseOrder.name : '',\n sellercraftOPs\n }\n await SellercraftAPI.addInboundOrder(sellercraft, {\n ...inboundOrder,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n }\n }\n\n async registerProductReturn(sellercraft: Sellercraft, returnOrder: ReturnOrder): Promise<void> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableRegisterReturn: boolean =\n sellercraftSetting?.disableRegisterReturn && sellercraftSetting?.disableRegisterReturn == 1 ? true : false\n\n if (!disableRegisterReturn) {\n const orderInventories: OrderInventory[] = returnOrder.orderInventories\n const sellercraftOPs: any[] = await Promise.all(\n orderInventories.map(async (orderInventory: OrderInventory) => {\n const product: Product = orderInventory.product\n const productDetails: ProductDetail[] = product.productDetails\n const unloadedPackingType: string = orderInventory.packingType\n const defaultProductDetail: ProductDetail = product.productDetails.find(\n productDetail => productDetail.isDefault\n )\n\n let packingSize: number = 1\n if (unloadedPackingType !== defaultProductDetail.packingType) {\n const unmatchingProductDetail: ProductDetail = product.productDetails.find(\n productDetail => productDetail.packingType === unloadedPackingType\n )\n\n packingSize = await this.getChildPackingSize(productDetails, defaultProductDetail, unmatchingProductDetail)\n }\n\n return {\n sku: product.sku,\n productName: product.name,\n gtin: defaultProductDetail.gtin,\n purchaseOrderQty: orderInventory.returnQty * packingSize,\n receivedQty: orderInventory.returnQty * packingSize,\n uom: 'EA',\n batchId: orderInventory.batchId,\n forceCreateProduct: true,\n expiryTime: 0,\n weight: defaultProductDetail.nettWeight < 1 ? 1 : defaultProductDetail.nettWeight,\n packageDimension: {\n length: defaultProductDetail.depth < 1 ? 1 : defaultProductDetail.depth,\n width: defaultProductDetail.width < 1 ? 1 : defaultProductDetail.width,\n height: defaultProductDetail.height < 1 ? 1 : defaultProductDetail.height\n }\n }\n })\n )\n\n const returnInbound: any = {\n accountId: sellercraft.accountId,\n inboundId: returnOrder.name,\n inboundTime: Math.floor(new Date(returnOrder.updatedAt).getTime() / 1000),\n purchaseOrderId: '',\n inboundType: 'sales_return',\n sellercraftOPs\n }\n await SellercraftAPI.addInboundOrder(sellercraft, {\n ...returnInbound,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n }\n }\n\n async updateSellercraftStock(sellercraft: Sellercraft, inventory: Inventory): Promise<void> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableUpdateStock: boolean =\n sellercraftSetting?.disableUpdateStock && sellercraftSetting?.disableUpdateStock == 1 ? true : false\n\n if (!disableUpdateStock) {\n const bizplace: Bizplace = await this.trxMgr.getRepository(Bizplace).findOneBy({ domain: sellercraft.domain })\n let product: Product = inventory.product\n const productDetails: ProductDetail[] = product.productDetails\n let qb = await this.trxMgr.getRepository(Inventory).createQueryBuilder('inv')\n qb.leftJoinAndSelect('inv.location', 'loc')\n .andWhere('\"inv\".\"domain_id\" = :domainId')\n .andWhere('\"inv\".\"bizplace_id\" = :bizplaceId')\n .andWhere('\"inv\".\"product_id\" = :productId')\n .andWhere('\"inv\".\"status\" = :status')\n .andWhere('\"loc\".\"type\" NOT IN (:...locationTypes)')\n .setParameters({\n domainId: this.domain.id,\n bizplaceId: bizplace.id,\n productId: product.id,\n status: INVENTORY_STATUS.STORED,\n locationTypes: [LOCATION_TYPE.QUARANTINE, LOCATION_TYPE.RESERVE]\n })\n\n let inventories: Inventory[] = await qb.getMany()\n let inventoryTotalQty: number = 0\n let inventoryTotalLockedQty: number = 0\n\n let defaultProductDetail: ProductDetail = product.productDetails.find(productDetail => productDetail.isDefault)\n\n if (inventories?.length > 0) {\n const sellercraftInvs: any[] = await Promise.all(\n inventories.map(async (inventory: Inventory) => {\n const inventoryPackingType: string = inventory.packingType\n\n let packingSize: number = 1\n if (inventoryPackingType !== defaultProductDetail.packingType) {\n const unmatchingProductDetail: ProductDetail = product.productDetails.find(\n productDetail => productDetail.packingType === inventoryPackingType\n )\n\n packingSize = await this.getChildPackingSize(\n productDetails,\n defaultProductDetail,\n unmatchingProductDetail\n )\n }\n\n return { totalQty: inventory.qty * packingSize, totalLockedQty: inventory.lockedQty * packingSize }\n })\n )\n\n inventoryTotalQty = sellercraftInvs.reduce((total, currentValue) => {\n total += currentValue.totalQty\n return total\n }, 0)\n\n inventoryTotalQty = sellercraftInvs.reduce((total, currentValue) => {\n total += currentValue.totalLockedQty\n return total\n }, 0)\n }\n\n const sellercraftInv: any[] = [\n {\n sku: product.sku,\n gtin: defaultProductDetail.gtin,\n stock: {\n quantity_total: inventoryTotalQty,\n quantity_reserved: inventoryTotalLockedQty,\n unit_of_measure: 'EA'\n },\n package_weight_gm: defaultProductDetail.nettWeight < 1 ? 1 : defaultProductDetail.nettWeight,\n package_dimensions: {\n length_mm: defaultProductDetail.depth < 1 ? 1 : defaultProductDetail.depth,\n width_mm: defaultProductDetail.width < 1 ? 1 : defaultProductDetail.width,\n height_mm: defaultProductDetail.height < 1 ? 1 : defaultProductDetail.height\n }\n }\n ]\n\n await SellercraftAPI.updateProduct(sellercraft, {\n context: { state: { domain: this?.domain, user: this?.user } },\n accountId: sellercraft.accountId,\n sellercraftInv\n })\n }\n }\n\n async initiateOrderShipment(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableInitiateOrderShipment: boolean =\n sellercraftSetting?.disableInitiateOrderShipment && sellercraftSetting?.disableInitiateOrderShipment == 1\n ? true\n : false\n\n if (!disableInitiateOrderShipment) {\n if (!releaseGood?.packageId) throw new Error('Order package id is not found')\n\n const orderInformation: any = {\n accountId: sellercraft.accountId,\n orderId: releaseGood.refNo2,\n packageId: releaseGood.packageId\n }\n\n await SellercraftAPI.initiateOrderShipment(sellercraft, {\n ...orderInformation,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n }\n }\n\n async initiateOrderDocument(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableInitiateOrderDocument: boolean =\n sellercraftSetting?.disableInitiateOrderDocument && sellercraftSetting?.disableInitiateOrderDocument == 1\n ? true\n : false\n\n if (!disableInitiateOrderDocument) {\n const orderInformation: any = {\n accountId: sellercraft.accountId,\n orderId: releaseGood.refNo2,\n packageId: releaseGood.packageId\n }\n await SellercraftAPI.initiateOrderDocument(sellercraft, {\n ...orderInformation,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n }\n }\n\n async fetchOrderDocument(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood> {\n if (releaseGood?.ownTransport) {\n return\n }\n try {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableFetchOrderDocument: boolean =\n sellercraftSetting?.disableFetchOrderDocument && sellercraftSetting?.disableFetchOrderDocument == 1\n ? true\n : false\n\n if (!disableFetchOrderDocument) {\n const orderInformation: any = {\n accountId: sellercraft.accountId,\n orderId: releaseGood.refNo2,\n packageId: releaseGood.packageId\n }\n const { documents, trackingNo, transporter }: { documents: any[]; trackingNo: string; transporter: string } =\n await SellercraftAPI.fetchOrderDocument(sellercraft, {\n ...orderInformation,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n\n let updateInfo: any\n if (documents?.length) {\n documents.map(document => {\n if (document.type === 'invoice') {\n updateInfo = { ...updateInfo, invoice: document.download_url }\n } else if (document.type === 'airway_bill') {\n updateInfo = { ...updateInfo, airwayBill: document.download_url }\n }\n })\n\n updateInfo = {\n ...updateInfo,\n trackingNo: trackingNo,\n transporter: transporter,\n updater: this.user\n }\n\n // releaseGood = await this.trxMgr.getRepository(ReleaseGood).save(releaseGood)\n\n await this.trxMgr.getRepository(ReleaseGood).update({ id: releaseGood.id }, { ...updateInfo })\n releaseGood = await this.trxMgr.getRepository(ReleaseGood).findOneBy({ id: releaseGood.id })\n }\n }\n\n return releaseGood\n } catch (error) {\n throw error\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"sellercraft-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/sellercraft-controller.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,qFAAqF;AAErF,2DAOmC;AACnC,mEAA2F;AAE3F,kEAA6D;AAE7D,MAAa,qBAAsB,SAAQ,0CAAmB;IAC5D,KAAK,CAAC,SAAS,CAAC,WAAwB,EAAE,WAAwB;QAChE,IAAI,kBAAkB,GAAQ,WAAW,CAAC,kBAAkB,CAAA;QAC5D,IAAI,gBAAgB,GAClB,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,gBAAgB,KAAI,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,gBAAgB,KAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QAElG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,aAAa,GAAmB,WAAW,CAAC,aAAa,CAAA;YAC/D,IAAI,cAAc,GAAU,EAAE,CAAA;YAE9B,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;gBAChD,MAAM,OAAO,GAAY,YAAY,CAAC,OAAO,CAAA;gBAE7C,OAAO;oBACL,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,GAAG,EAAE,IAAI;iBACV,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,gBAAgB,GAAQ;gBAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,OAAO,EAAE,WAAW,CAAC,MAAM;gBAC3B,cAAc;aACf,CAAA;YACD,MAAM,SAAS,GAAW,MAAM,wCAAc,CAAC,oBAAoB,CAAC,WAAW,kCAC1E,gBAAgB,KACnB,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,EAAE,IAC9D,CAAA;YAEF,WAAW,CAAC,SAAS,GAAG,SAAS,CAAA;YACjC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QACjC,CAAC;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,WAAwB,EAAE,aAA4B;QACjF,IAAI,kBAAkB,GAAQ,WAAW,CAAC,kBAAkB,CAAA;QAC5D,IAAI,sBAAsB,GACxB,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,sBAAsB,KAAI,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,sBAAsB,KAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QAE9G,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAmB,aAAa,CAAC,aAAa,CAAA;YACjE,MAAM,aAAa,GAAkB,aAAa,CAAC,aAAa,CAAA;YAChE,MAAM,cAAc,GAAU,MAAM,OAAO,CAAC,GAAG,CAC7C,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAA0B,EAAE,EAAE;gBACrD,MAAM,OAAO,GAAY,YAAY,CAAC,OAAO,CAAA;gBAC7C,MAAM,cAAc,GAAoB,OAAO,CAAC,cAAc,CAAA;gBAC9D,MAAM,mBAAmB,GAAW,YAAY,CAAC,WAAW,CAAA;gBAC5D,MAAM,oBAAoB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CACrE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CACzC,CAAA;gBAED,IAAI,WAAW,GAAW,CAAC,CAAA;gBAC3B,IAAI,mBAAmB,KAAK,oBAAoB,CAAC,WAAW,EAAE,CAAC;oBAC7D,MAAM,uBAAuB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CACxE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,KAAK,mBAAmB,CACnE,CAAA;oBAED,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,oBAAoB,EAAE,uBAAuB,CAAC,CAAA;gBAC7G,CAAC;gBAED,OAAO;oBACL,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,gBAAgB,EAAE,YAAY,CAAC,OAAO,GAAG,WAAW;oBACpD,WAAW,EAAE,YAAY,CAAC,aAAa,GAAG,WAAW;oBACrD,GAAG,EAAE,IAAI;oBACT,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,WAAW,EAAE,OAAO,CAAC,IAAI;oBACzB,IAAI,EAAE,oBAAoB,CAAC,IAAI;oBAC/B,kBAAkB,EAAE,IAAI;oBACxB,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,oBAAoB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU;oBACjF,gBAAgB,EAAE;wBAChB,MAAM,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;wBACvE,KAAK,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;wBACtE,MAAM,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM;qBAC1E;iBACF,CAAA;YACH,CAAC,CAAC,CACH,CAAA;YAED,MAAM,YAAY,GAAQ;gBACxB,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,SAAS,EAAE,aAAa,CAAC,IAAI;gBAC7B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBAC3E,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe;gBAC/D,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACxD,cAAc;aACf,CAAA;YACD,MAAM,wCAAc,CAAC,eAAe,CAAC,WAAW,kCAC3C,YAAY,KACf,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,EAAE,IAC9D,CAAA;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,WAAwB,EAAE,WAAwB;QAC5E,IAAI,kBAAkB,GAAQ,WAAW,CAAC,kBAAkB,CAAA;QAC5D,IAAI,qBAAqB,GACvB,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,qBAAqB,KAAI,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,qBAAqB,KAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QAE5G,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,MAAM,gBAAgB,GAAqB,WAAW,CAAC,gBAAgB,CAAA;YACvE,MAAM,cAAc,GAAU,MAAM,OAAO,CAAC,GAAG,CAC7C,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,cAA8B,EAAE,EAAE;gBAC5D,MAAM,OAAO,GAAY,cAAc,CAAC,OAAO,CAAA;gBAC/C,MAAM,cAAc,GAAoB,OAAO,CAAC,cAAc,CAAA;gBAC9D,MAAM,mBAAmB,GAAW,cAAc,CAAC,WAAW,CAAA;gBAC9D,MAAM,oBAAoB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CACrE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CACzC,CAAA;gBAED,IAAI,WAAW,GAAW,CAAC,CAAA;gBAC3B,IAAI,mBAAmB,KAAK,oBAAoB,CAAC,WAAW,EAAE,CAAC;oBAC7D,MAAM,uBAAuB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CACxE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,KAAK,mBAAmB,CACnE,CAAA;oBAED,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,oBAAoB,EAAE,uBAAuB,CAAC,CAAA;gBAC7G,CAAC;gBAED,OAAO;oBACL,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,WAAW,EAAE,OAAO,CAAC,IAAI;oBACzB,IAAI,EAAE,oBAAoB,CAAC,IAAI;oBAC/B,gBAAgB,EAAE,cAAc,CAAC,SAAS,GAAG,WAAW;oBACxD,WAAW,EAAE,cAAc,CAAC,SAAS,GAAG,WAAW;oBACnD,GAAG,EAAE,IAAI;oBACT,OAAO,EAAE,cAAc,CAAC,OAAO;oBAC/B,kBAAkB,EAAE,IAAI;oBACxB,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,oBAAoB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU;oBACjF,gBAAgB,EAAE;wBAChB,MAAM,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;wBACvE,KAAK,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;wBACtE,MAAM,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM;qBAC1E;iBACF,CAAA;YACH,CAAC,CAAC,CACH,CAAA;YAED,MAAM,aAAa,GAAQ;gBACzB,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,SAAS,EAAE,WAAW,CAAC,IAAI;gBAC3B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBACzE,eAAe,EAAE,EAAE;gBACnB,WAAW,EAAE,cAAc;gBAC3B,cAAc;aACf,CAAA;YACD,MAAM,wCAAc,CAAC,eAAe,CAAC,WAAW,kCAC3C,aAAa,KAChB,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,EAAE,IAC9D,CAAA;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,WAAwB,EAAE,SAAoB;QACzE,IAAI,kBAAkB,GAAQ,WAAW,CAAC,kBAAkB,CAAA;QAC5D,IAAI,kBAAkB,GACpB,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,kBAAkB,KAAI,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,kBAAkB,KAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QAEtG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAa,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;YAC9G,IAAI,OAAO,GAAY,SAAS,CAAC,OAAO,CAAA;YACxC,MAAM,cAAc,GAAoB,OAAO,CAAC,cAAc,CAAA;YAC9D,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAS,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAC7E,EAAE,CAAC,iBAAiB,CAAC,cAAc,EAAE,KAAK,CAAC;iBACxC,QAAQ,CAAC,+BAA+B,CAAC;iBACzC,QAAQ,CAAC,mCAAmC,CAAC;iBAC7C,QAAQ,CAAC,iCAAiC,CAAC;iBAC3C,QAAQ,CAAC,0BAA0B,CAAC;iBACpC,QAAQ,CAAC,yCAAyC,CAAC;iBACnD,aAAa,CAAC;gBACb,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;gBACxB,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,MAAM,EAAE,iCAAgB,CAAC,MAAM;gBAC/B,aAAa,EAAE,CAAC,8BAAa,CAAC,UAAU,EAAE,8BAAa,CAAC,OAAO,CAAC;aACjE,CAAC,CAAA;YAEJ,IAAI,WAAW,GAAgB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;YACjD,IAAI,iBAAiB,GAAW,CAAC,CAAA;YACjC,IAAI,uBAAuB,GAAW,CAAC,CAAA;YAEvC,IAAI,oBAAoB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;YAE/G,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,IAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,eAAe,GAAU,MAAM,OAAO,CAAC,GAAG,CAC9C,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,SAAoB,EAAE,EAAE;oBAC7C,MAAM,oBAAoB,GAAW,SAAS,CAAC,WAAW,CAAA;oBAE1D,IAAI,WAAW,GAAW,CAAC,CAAA;oBAC3B,IAAI,oBAAoB,KAAK,oBAAoB,CAAC,WAAW,EAAE,CAAC;wBAC9D,MAAM,uBAAuB,GAAkB,OAAO,CAAC,cAAc,CAAC,IAAI,CACxE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,KAAK,oBAAoB,CACpE,CAAA;wBAED,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC1C,cAAc,EACd,oBAAoB,EACpB,uBAAuB,CACxB,CAAA;oBACH,CAAC;oBAED,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,WAAW,EAAE,cAAc,EAAE,SAAS,CAAC,SAAS,GAAG,WAAW,EAAE,CAAA;gBACrG,CAAC,CAAC,CACH,CAAA;gBAED,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;oBACjE,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAA;oBAC9B,OAAO,KAAK,CAAA;gBACd,CAAC,EAAE,CAAC,CAAC,CAAA;gBAEL,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;oBACjE,KAAK,IAAI,YAAY,CAAC,cAAc,CAAA;oBACpC,OAAO,KAAK,CAAA;gBACd,CAAC,EAAE,CAAC,CAAC,CAAA;YACP,CAAC;YAED,MAAM,cAAc,GAAU;gBAC5B;oBACE,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,IAAI,EAAE,oBAAoB,CAAC,IAAI;oBAC/B,KAAK,EAAE;wBACL,cAAc,EAAE,iBAAiB;wBACjC,iBAAiB,EAAE,uBAAuB;wBAC1C,eAAe,EAAE,IAAI;qBACtB;oBACD,iBAAiB,EAAE,oBAAoB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU;oBAC5F,kBAAkB,EAAE;wBAClB,SAAS,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;wBAC1E,QAAQ,EAAE,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK;wBACzE,SAAS,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM;qBAC7E;iBACF;aACF,CAAA;YAED,MAAM,wCAAc,CAAC,aAAa,CAAC,WAAW,EAAE;gBAC9C,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,EAAE;gBAC9D,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,cAAc;aACf,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,WAAwB,EAAE,WAAwB;QAC5E,IAAI,kBAAkB,GAAQ,WAAW,CAAC,kBAAkB,CAAA;QAC5D,IAAI,4BAA4B,GAC9B,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,4BAA4B,KAAI,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,4BAA4B,KAAI,CAAC;YACvG,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,KAAK,CAAA;QAEX,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAClC,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAA;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAE7E,MAAM,gBAAgB,GAAQ;gBAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,OAAO,EAAE,WAAW,CAAC,MAAM;gBAC3B,SAAS,EAAE,WAAW,CAAC,SAAS;aACjC,CAAA;YAED,MAAM,wCAAc,CAAC,qBAAqB,CAAC,WAAW,kCACjD,gBAAgB,KACnB,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,EAAE,IAC9D,CAAA;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,WAAwB,EAAE,WAAwB;QAC5E,IAAI,kBAAkB,GAAQ,WAAW,CAAC,kBAAkB,CAAA;QAC5D,IAAI,4BAA4B,GAC9B,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,4BAA4B,KAAI,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,4BAA4B,KAAI,CAAC;YACvG,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,KAAK,CAAA;QAEX,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAClC,MAAM,gBAAgB,GAAQ;gBAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,OAAO,EAAE,WAAW,CAAC,MAAM;gBAC3B,SAAS,EAAE,WAAW,CAAC,SAAS;aACjC,CAAA;YACD,MAAM,wCAAc,CAAC,qBAAqB,CAAC,WAAW,kCACjD,gBAAgB,KACnB,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,EAAE,IAC9D,CAAA;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,WAAwB,EAAE,WAAwB;QACzE,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,EAAE,CAAC;YAC9B,OAAM;QACR,CAAC;QACD,IAAI,CAAC;YACH,IAAI,kBAAkB,GAAQ,WAAW,CAAC,kBAAkB,CAAA;YAC5D,IAAI,yBAAyB,GAC3B,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,yBAAyB,KAAI,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,yBAAyB,KAAI,CAAC;gBACjG,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,KAAK,CAAA;YAEX,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBAC/B,MAAM,gBAAgB,GAAQ;oBAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,OAAO,EAAE,WAAW,CAAC,MAAM;oBAC3B,SAAS,EAAE,WAAW,CAAC,SAAS;iBACjC,CAAA;gBACD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,GAC1C,MAAM,wCAAc,CAAC,kBAAkB,CAAC,WAAW,kCAC9C,gBAAgB,KACnB,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,EAAE,IAC9D,CAAA;gBAEJ,IAAI,UAAe,CAAA;gBACnB,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,EAAE,CAAC;oBACtB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;wBACvB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4BAChC,UAAU,mCAAQ,UAAU,KAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,GAAE,CAAA;wBAChE,CAAC;6BAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;4BAC3C,UAAU,mCAAQ,UAAU,KAAE,UAAU,EAAE,QAAQ,CAAC,YAAY,GAAE,CAAA;wBACnE,CAAC;oBACH,CAAC,CAAC,CAAA;oBAEF,UAAU,mCACL,UAAU,KACb,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,IAAI,CAAC,IAAI,GACnB,CAAA;oBAED,+EAA+E;oBAE/E,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,oBAAO,UAAU,EAAG,CAAA;oBAC9F,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC9F,CAAC;YACH,CAAC;YAED,OAAO,WAAW,CAAA;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF;AAtVD,sDAsVC","sourcesContent":["import { Bizplace } from '@things-factory/biz-base'\nimport { Sellercraft, SellercraftAPI } from '@things-factory/integration-sellercraft'\nimport { Product, ProductDetail } from '@things-factory/product-base'\nimport {\n ArrivalNotice,\n OrderInventory,\n OrderProduct,\n PurchaseOrder,\n ReleaseGood,\n ReturnOrder\n} from '@things-factory/sales-base'\nimport { Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/warehouse-base'\n\nimport { WorksheetController } from '../worksheet-controller'\n\nexport class SellercraftController extends WorksheetController {\n async packOrder(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disablePackOrder: boolean =\n sellercraftSetting?.disablePackOrder && sellercraftSetting?.disablePackOrder == 1 ? true : false\n\n if (!disablePackOrder) {\n const orderProducts: OrderProduct[] = releaseGood.orderProducts\n let sellercraftOPs: any[] = []\n\n sellercraftOPs = orderProducts.map(orderProduct => {\n const product: Product = orderProduct.product\n\n return {\n sku: product.sku,\n releaseQty: orderProduct.releaseQty,\n uom: 'EA'\n }\n })\n\n const orderInformation: any = {\n accountId: sellercraft.accountId,\n orderId: releaseGood.refNo2,\n sellercraftOPs\n }\n const packageId: string = await SellercraftAPI.packMarketplaceOrder(sellercraft, {\n ...orderInformation,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n\n releaseGood.packageId = packageId\n releaseGood.updater = this.user\n }\n\n return releaseGood\n }\n\n async registerProductInbound(sellercraft: Sellercraft, arrivalNotice: ArrivalNotice): Promise<void> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableRegisterInbound: boolean =\n sellercraftSetting?.disableRegisterInbound && sellercraftSetting?.disableRegisterInbound == 1 ? true : false\n\n if (!disableRegisterInbound) {\n const orderProducts: OrderProduct[] = arrivalNotice.orderProducts\n const purchaseOrder: PurchaseOrder = arrivalNotice.purchaseOrder\n const sellercraftOPs: any[] = await Promise.all(\n orderProducts.map(async (orderProduct: OrderProduct) => {\n const product: Product = orderProduct.product\n const productDetails: ProductDetail[] = product.productDetails\n const unloadedPackingType: string = orderProduct.packingType\n const defaultProductDetail: ProductDetail = product.productDetails.find(\n productDetail => productDetail.isDefault\n )\n\n let packingSize: number = 1\n if (unloadedPackingType !== defaultProductDetail.packingType) {\n const unmatchingProductDetail: ProductDetail = product.productDetails.find(\n productDetail => productDetail.packingType === unloadedPackingType\n )\n\n packingSize = await this.getChildPackingSize(productDetails, defaultProductDetail, unmatchingProductDetail)\n }\n\n return {\n sku: product.sku,\n purchaseOrderQty: orderProduct.packQty * packingSize,\n receivedQty: orderProduct.actualPackQty * packingSize,\n uom: 'EA',\n batchId: orderProduct.batchId,\n productName: product.name,\n gtin: defaultProductDetail.gtin,\n forceCreateProduct: true,\n expiryTime: 0,\n weight: defaultProductDetail.nettWeight < 1 ? 1 : defaultProductDetail.nettWeight,\n packageDimension: {\n length: defaultProductDetail.depth < 1 ? 1 : defaultProductDetail.depth,\n width: defaultProductDetail.width < 1 ? 1 : defaultProductDetail.width,\n height: defaultProductDetail.height < 1 ? 1 : defaultProductDetail.height\n }\n }\n })\n )\n\n const inboundOrder: any = {\n accountId: sellercraft.accountId,\n inboundId: arrivalNotice.name,\n inboundTime: Math.floor(new Date(arrivalNotice.updatedAt).getTime() / 1000),\n inboundType: purchaseOrder ? 'purchase_order' : 'blind_receive',\n purchaseOrderId: purchaseOrder ? purchaseOrder.name : '',\n sellercraftOPs\n }\n await SellercraftAPI.addInboundOrder(sellercraft, {\n ...inboundOrder,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n }\n }\n\n async registerProductReturn(sellercraft: Sellercraft, returnOrder: ReturnOrder): Promise<void> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableRegisterReturn: boolean =\n sellercraftSetting?.disableRegisterReturn && sellercraftSetting?.disableRegisterReturn == 1 ? true : false\n\n if (!disableRegisterReturn) {\n const orderInventories: OrderInventory[] = returnOrder.orderInventories\n const sellercraftOPs: any[] = await Promise.all(\n orderInventories.map(async (orderInventory: OrderInventory) => {\n const product: Product = orderInventory.product\n const productDetails: ProductDetail[] = product.productDetails\n const unloadedPackingType: string = orderInventory.packingType\n const defaultProductDetail: ProductDetail = product.productDetails.find(\n productDetail => productDetail.isDefault\n )\n\n let packingSize: number = 1\n if (unloadedPackingType !== defaultProductDetail.packingType) {\n const unmatchingProductDetail: ProductDetail = product.productDetails.find(\n productDetail => productDetail.packingType === unloadedPackingType\n )\n\n packingSize = await this.getChildPackingSize(productDetails, defaultProductDetail, unmatchingProductDetail)\n }\n\n return {\n sku: product.sku,\n productName: product.name,\n gtin: defaultProductDetail.gtin,\n purchaseOrderQty: orderInventory.returnQty * packingSize,\n receivedQty: orderInventory.returnQty * packingSize,\n uom: 'EA',\n batchId: orderInventory.batchId,\n forceCreateProduct: true,\n expiryTime: 0,\n weight: defaultProductDetail.nettWeight < 1 ? 1 : defaultProductDetail.nettWeight,\n packageDimension: {\n length: defaultProductDetail.depth < 1 ? 1 : defaultProductDetail.depth,\n width: defaultProductDetail.width < 1 ? 1 : defaultProductDetail.width,\n height: defaultProductDetail.height < 1 ? 1 : defaultProductDetail.height\n }\n }\n })\n )\n\n const returnInbound: any = {\n accountId: sellercraft.accountId,\n inboundId: returnOrder.name,\n inboundTime: Math.floor(new Date(returnOrder.updatedAt).getTime() / 1000),\n purchaseOrderId: '',\n inboundType: 'sales_return',\n sellercraftOPs\n }\n await SellercraftAPI.addInboundOrder(sellercraft, {\n ...returnInbound,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n }\n }\n\n async updateSellercraftStock(sellercraft: Sellercraft, inventory: Inventory): Promise<void> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableUpdateStock: boolean =\n sellercraftSetting?.disableUpdateStock && sellercraftSetting?.disableUpdateStock == 1 ? true : false\n\n if (!disableUpdateStock) {\n const bizplace: Bizplace = await this.trxMgr.getRepository(Bizplace).findOneBy({ domain: sellercraft.domain })\n let product: Product = inventory.product\n const productDetails: ProductDetail[] = product.productDetails\n let qb = await this.trxMgr.getRepository(Inventory).createQueryBuilder('inv')\n qb.leftJoinAndSelect('inv.location', 'loc')\n .andWhere('\"inv\".\"domain_id\" = :domainId')\n .andWhere('\"inv\".\"bizplace_id\" = :bizplaceId')\n .andWhere('\"inv\".\"product_id\" = :productId')\n .andWhere('\"inv\".\"status\" = :status')\n .andWhere('\"loc\".\"type\" NOT IN (:...locationTypes)')\n .setParameters({\n domainId: this.domain.id,\n bizplaceId: bizplace.id,\n productId: product.id,\n status: INVENTORY_STATUS.STORED,\n locationTypes: [LOCATION_TYPE.QUARANTINE, LOCATION_TYPE.RESERVE]\n })\n\n let inventories: Inventory[] = await qb.getMany()\n let inventoryTotalQty: number = 0\n let inventoryTotalLockedQty: number = 0\n\n let defaultProductDetail: ProductDetail = product.productDetails.find(productDetail => productDetail.isDefault)\n\n if (inventories?.length > 0) {\n const sellercraftInvs: any[] = await Promise.all(\n inventories.map(async (inventory: Inventory) => {\n const inventoryPackingType: string = inventory.packingType\n\n let packingSize: number = 1\n if (inventoryPackingType !== defaultProductDetail.packingType) {\n const unmatchingProductDetail: ProductDetail = product.productDetails.find(\n productDetail => productDetail.packingType === inventoryPackingType\n )\n\n packingSize = await this.getChildPackingSize(\n productDetails,\n defaultProductDetail,\n unmatchingProductDetail\n )\n }\n\n return { totalQty: inventory.qty * packingSize, totalLockedQty: inventory.lockedQty * packingSize }\n })\n )\n\n inventoryTotalQty = sellercraftInvs.reduce((total, currentValue) => {\n total += currentValue.totalQty\n return total\n }, 0)\n\n inventoryTotalQty = sellercraftInvs.reduce((total, currentValue) => {\n total += currentValue.totalLockedQty\n return total\n }, 0)\n }\n\n const sellercraftInv: any[] = [\n {\n sku: product.sku,\n gtin: defaultProductDetail.gtin,\n stock: {\n quantity_total: inventoryTotalQty,\n quantity_reserved: inventoryTotalLockedQty,\n unit_of_measure: 'EA'\n },\n package_weight_gm: defaultProductDetail.nettWeight < 1 ? 1 : defaultProductDetail.nettWeight,\n package_dimensions: {\n length_mm: defaultProductDetail.depth < 1 ? 1 : defaultProductDetail.depth,\n width_mm: defaultProductDetail.width < 1 ? 1 : defaultProductDetail.width,\n height_mm: defaultProductDetail.height < 1 ? 1 : defaultProductDetail.height\n }\n }\n ]\n\n await SellercraftAPI.updateProduct(sellercraft, {\n context: { state: { domain: this?.domain, user: this?.user } },\n accountId: sellercraft.accountId,\n sellercraftInv\n })\n }\n }\n\n async initiateOrderShipment(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableInitiateOrderShipment: boolean =\n sellercraftSetting?.disableInitiateOrderShipment && sellercraftSetting?.disableInitiateOrderShipment == 1\n ? true\n : false\n\n if (!disableInitiateOrderShipment) {\n if (!releaseGood?.packageId) throw new Error('Order package id is not found')\n\n const orderInformation: any = {\n accountId: sellercraft.accountId,\n orderId: releaseGood.refNo2,\n packageId: releaseGood.packageId\n }\n\n await SellercraftAPI.initiateOrderShipment(sellercraft, {\n ...orderInformation,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n }\n }\n\n async initiateOrderDocument(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void> {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableInitiateOrderDocument: boolean =\n sellercraftSetting?.disableInitiateOrderDocument && sellercraftSetting?.disableInitiateOrderDocument == 1\n ? true\n : false\n\n if (!disableInitiateOrderDocument) {\n const orderInformation: any = {\n accountId: sellercraft.accountId,\n orderId: releaseGood.refNo2,\n packageId: releaseGood.packageId\n }\n await SellercraftAPI.initiateOrderDocument(sellercraft, {\n ...orderInformation,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n }\n }\n\n async fetchOrderDocument(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood> {\n if (releaseGood?.ownTransport) {\n return\n }\n try {\n let sellercraftSetting: any = sellercraft.sellercraftSetting\n let disableFetchOrderDocument: boolean =\n sellercraftSetting?.disableFetchOrderDocument && sellercraftSetting?.disableFetchOrderDocument == 1\n ? true\n : false\n\n if (!disableFetchOrderDocument) {\n const orderInformation: any = {\n accountId: sellercraft.accountId,\n orderId: releaseGood.refNo2,\n packageId: releaseGood.packageId\n }\n const { documents, trackingNo, transporter }: { documents: any[]; trackingNo: string; transporter: string } =\n await SellercraftAPI.fetchOrderDocument(sellercraft, {\n ...orderInformation,\n context: { state: { domain: this?.domain, user: this?.user } }\n })\n\n let updateInfo: any\n if (documents?.length) {\n documents.map(document => {\n if (document.type === 'invoice') {\n updateInfo = { ...updateInfo, invoice: document.download_url }\n } else if (document.type === 'airway_bill') {\n updateInfo = { ...updateInfo, airwayBill: document.download_url }\n }\n })\n\n updateInfo = {\n ...updateInfo,\n trackingNo: trackingNo,\n transporter: transporter,\n updater: this.user\n }\n\n // releaseGood = await this.trxMgr.getRepository(ReleaseGood).save(releaseGood)\n\n await this.trxMgr.getRepository(ReleaseGood).update({ id: releaseGood.id }, { ...updateInfo })\n releaseGood = await this.trxMgr.getRepository(ReleaseGood).findOneBy({ id: releaseGood.id })\n }\n }\n\n return releaseGood\n } catch (error) {\n throw error\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Inventory, Pallet } from '@things-factory/warehouse-base';
|
|
2
|
+
import { Worksheet, WorksheetDetail } from '../../entities';
|
|
3
|
+
import { VasWorksheetController } from '../vas/vas-worksheet-controller';
|
|
4
|
+
export declare class PutawayReturningWorksheetController extends VasWorksheetController {
|
|
5
|
+
generatePutawayReturnWorksheet(returnOrderNo: string, inventories: Inventory[]): Promise<Worksheet>;
|
|
6
|
+
activatePutawayReturning(worksheetNo: string, putawayWorksheetDetails: Partial<WorksheetDetail>[]): Promise<Worksheet>;
|
|
7
|
+
completePutawayReturn(returnOrderNo: string): Promise<Worksheet>;
|
|
8
|
+
putawayReturn(worksheetDetailName: [string], palletId: string, cartonId: string, locationName: string): Promise<void>;
|
|
9
|
+
putawayPallets(worksheetDetailName: string, reusablePallet: Pallet, locationName: string): Promise<void>;
|
|
10
|
+
putawayCarton(worksheetDetailName: [string], cartonId: string, locationName: string): Promise<void>;
|
|
11
|
+
putawayPallet(worksheetDetailName: string, palletId: string, locationName: string): Promise<void>;
|
|
12
|
+
undoPutawayReturn(worksheetDetailName: [string], palletId: string, cartonId: string): Promise<void>;
|
|
13
|
+
undoPutawayReturnCarton(worksheetDetailName: [string], cartonId: string): Promise<void>;
|
|
14
|
+
undoPutawayReturnPallet(worksheetDetailName: string, palletId: string): Promise<void>;
|
|
15
|
+
private checkReleaseTarget;
|
|
16
|
+
}
|
|
@@ -10,7 +10,7 @@ const utils_1 = require("../../utils");
|
|
|
10
10
|
const vas_worksheet_controller_1 = require("../vas/vas-worksheet-controller");
|
|
11
11
|
class PutawayReturningWorksheetController extends vas_worksheet_controller_1.VasWorksheetController {
|
|
12
12
|
async generatePutawayReturnWorksheet(returnOrderNo, inventories) {
|
|
13
|
-
let returnOrder = await this.findRefOrder(sales_base_1.ReturnOrder, { domain: { id: this.domain.id }, name: returnOrderNo }, ['bizplace']);
|
|
13
|
+
let returnOrder = (await this.findRefOrder(sales_base_1.ReturnOrder, { domain: { id: this.domain.id }, name: returnOrderNo }, ['bizplace']));
|
|
14
14
|
const bizplace = returnOrder.bizplace;
|
|
15
15
|
const unloadingWorksheet = await this.findWorksheetByRefOrder(returnOrder, constants_1.WORKSHEET_TYPE.UNLOADING_RETURN, ['bufferLocation']);
|
|
16
16
|
const bufferLocation = unloadingWorksheet.bufferLocation;
|
|
@@ -45,7 +45,10 @@ class PutawayReturningWorksheetController extends vas_worksheet_controller_1.Vas
|
|
|
45
45
|
targetInventory.bizplace = bizplace;
|
|
46
46
|
targetInventory.name = sales_base_1.OrderNoGenerator.orderInventory();
|
|
47
47
|
targetInventory.status = oiStatus;
|
|
48
|
-
|
|
48
|
+
//@ts-ignore
|
|
49
|
+
targetInventory.type = ORDE;
|
|
50
|
+
//@ts-ignore
|
|
51
|
+
R_TYPES.RETURN_ORDER;
|
|
49
52
|
targetInventory.returnOrder = returnOrder;
|
|
50
53
|
targetInventory.inventory = inventory;
|
|
51
54
|
targetInventory.creator = this.user;
|
|
@@ -89,6 +92,7 @@ class PutawayReturningWorksheetController extends vas_worksheet_controller_1.Vas
|
|
|
89
92
|
// Because of partial unloading current status of arrivalNotice can be PUTTING_AWAY or PROCESSING
|
|
90
93
|
// PUTTING_AWAY means unloading is completely finished.
|
|
91
94
|
// PROCESSING means some products are still being unloaded.
|
|
95
|
+
//@ts-ignore
|
|
92
96
|
let returnOrder = await this.findRefOrder(sales_base_1.ReturnOrder, {
|
|
93
97
|
name: returnOrderNo,
|
|
94
98
|
status: (0, typeorm_1.In)([sales_base_1.ORDER_STATUS.PUTTING_AWAY, sales_base_1.ORDER_STATUS.PROCESSING])
|
|
@@ -156,6 +160,7 @@ class PutawayReturningWorksheetController extends vas_worksheet_controller_1.Vas
|
|
|
156
160
|
warehouse_base_1.LOCATION_TYPE.BUFFER,
|
|
157
161
|
warehouse_base_1.LOCATION_TYPE.FLOOR,
|
|
158
162
|
warehouse_base_1.LOCATION_TYPE.QUARANTINE,
|
|
163
|
+
//@ts-ignore
|
|
159
164
|
warehouse_base_1.LOCATION_TYPE.RESERVED
|
|
160
165
|
])
|
|
161
166
|
},
|
|
@@ -199,6 +204,7 @@ class PutawayReturningWorksheetController extends vas_worksheet_controller_1.Vas
|
|
|
199
204
|
warehouse_base_1.LOCATION_TYPE.FLOOR,
|
|
200
205
|
warehouse_base_1.LOCATION_TYPE.BIN,
|
|
201
206
|
warehouse_base_1.LOCATION_TYPE.QUARANTINE,
|
|
207
|
+
//@ts-ignore
|
|
202
208
|
warehouse_base_1.LOCATION_TYPE.RESERVED
|
|
203
209
|
])
|
|
204
210
|
},
|
|
@@ -207,6 +213,7 @@ class PutawayReturningWorksheetController extends vas_worksheet_controller_1.Vas
|
|
|
207
213
|
if (!location)
|
|
208
214
|
throw new Error(this.ERROR_MSG.FIND.NO_RESULT(locationName));
|
|
209
215
|
const warehouse = location.warehouse;
|
|
216
|
+
//@ts-ignore
|
|
210
217
|
const zone = warehouse.zone;
|
|
211
218
|
inventory.location = location;
|
|
212
219
|
inventory.status = warehouse_base_1.INVENTORY_STATUS.STORED;
|
|
@@ -240,6 +247,7 @@ class PutawayReturningWorksheetController extends vas_worksheet_controller_1.Vas
|
|
|
240
247
|
warehouse_base_1.LOCATION_TYPE.BIN,
|
|
241
248
|
warehouse_base_1.LOCATION_TYPE.BUFFER,
|
|
242
249
|
warehouse_base_1.LOCATION_TYPE.QUARANTINE,
|
|
250
|
+
//@ts-ignore
|
|
243
251
|
warehouse_base_1.LOCATION_TYPE.RESERVED
|
|
244
252
|
])
|
|
245
253
|
},
|
|
@@ -248,6 +256,7 @@ class PutawayReturningWorksheetController extends vas_worksheet_controller_1.Vas
|
|
|
248
256
|
if (!location)
|
|
249
257
|
throw new Error(this.ERROR_MSG.FIND.NO_RESULT(locationName));
|
|
250
258
|
const warehouse = location.warehouse;
|
|
259
|
+
//@ts-ignore
|
|
251
260
|
const zone = warehouse.zone;
|
|
252
261
|
inventory.location = location;
|
|
253
262
|
inventory.status = warehouse_base_1.INVENTORY_STATUS.STORED;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"putaway-returning-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/inbound/putaway-returning-worksheet-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { Equal, In, Not } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\nimport {\n ORDER_INVENTORY_STATUS,\n ORDER_PRODUCT_STATUS,\n ORDER_STATUS,\n ORDER_TYPES,\n OrderInventory,\n OrderNoGenerator,\n ReturnOrder\n} from '@things-factory/sales-base'\nimport {\n Inventory,\n INVENTORY_STATUS,\n INVENTORY_TRANSACTION_TYPE,\n Location,\n LOCATION_TYPE,\n Pallet,\n Warehouse\n} from '@things-factory/warehouse-base'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../constants'\nimport { Worksheet, WorksheetDetail } from '../../entities'\nimport { switchLocationStatus } from '../../utils'\nimport { VasWorksheetController } from '../vas/vas-worksheet-controller'\n\nexport class PutawayReturningWorksheetController extends VasWorksheetController {\n async generatePutawayReturnWorksheet(returnOrderNo: string, inventories: Inventory[]): Promise<Worksheet> {\n let returnOrder: ReturnOrder = await this.findRefOrder(\n ReturnOrder,\n { domain: { id: this.domain.id }, name: returnOrderNo },\n ['bizplace']\n )\n\n const bizplace: Bizplace = returnOrder.bizplace\n const unloadingWorksheet: Worksheet = await this.findWorksheetByRefOrder(\n returnOrder,\n WORKSHEET_TYPE.UNLOADING_RETURN,\n ['bufferLocation']\n )\n const bufferLocation: Location = unloadingWorksheet.bufferLocation\n\n // Check whether putaway worksheet is exists or not\n let worksheet: Worksheet\n try {\n worksheet = await this.findWorksheetByRefOrder(returnOrder, WORKSHEET_TYPE.PUTAWAY_RETURN)\n } catch (e) {}\n\n let oiStatus: string = ORDER_PRODUCT_STATUS.UNLOADED // Default status of order inventories is UNLOADED\n let wsdStatus: string = WORKSHEET_STATUS.DEACTIVATED // Default status of worksheet is DEACTIVATED\n if (!worksheet) {\n // If it's not exists create new putaway worksheet\n worksheet = await this.createWorksheet(returnOrder, WORKSHEET_TYPE.PUTAWAY_RETURN, { bufferLocation })\n } else {\n // If there is putaway worksheet. It means unloading is completed partially.\n // So status of newly created worksheet details and order inventories should be changed to\n // Executing situation.\n oiStatus = ORDER_PRODUCT_STATUS.PUTTING_AWAY // Default status = PUTTING_AWAY\n wsdStatus = WORKSHEET_STATUS.EXECUTING // Default status = EXECUTING\n }\n\n if (inventories.some((inv: Inventory) => !(inv instanceof Inventory))) {\n inventories = await this.trxMgr.getRepository(Inventory).findByIds(inventories.map((inv: Inventory) => inv.id))\n }\n\n for (let inventory of inventories) {\n inventory.status = INVENTORY_STATUS.PUTTING_AWAY\n inventory.updater = this.user\n inventory = await this.trxMgr.getRepository(Inventory).save(inventory)\n\n let targetInventory: OrderInventory = new OrderInventory()\n targetInventory.domain = this.domain\n targetInventory.bizplace = bizplace\n targetInventory.name = OrderNoGenerator.orderInventory()\n targetInventory.status = oiStatus\n targetInventory.type = ORDER_TYPES.RETURN_ORDER\n targetInventory.returnOrder = returnOrder\n targetInventory.inventory = inventory\n targetInventory.creator = this.user\n targetInventory.updater = this.user\n targetInventory = await this.trxMgr.getRepository(OrderInventory).save(targetInventory)\n\n worksheet.worksheetDetails = await this.createWorksheetDetails(\n worksheet,\n WORKSHEET_TYPE.PUTAWAY_RETURN,\n [targetInventory],\n { status: wsdStatus, fromLocation: bufferLocation }\n )\n }\n\n return worksheet\n }\n\n async activatePutawayReturning(\n worksheetNo: string,\n putawayWorksheetDetails: Partial<WorksheetDetail>[]\n ): Promise<Worksheet> {\n let worksheet: Worksheet = await this.findActivatableWorksheet(worksheetNo, WORKSHEET_TYPE.PUTAWAY_RETURN, [\n 'returnOrder',\n 'worksheetDetails',\n 'worksheetDetails.targetInventory'\n ])\n\n let returnOrder: ReturnOrder = worksheet.returnOrder\n const nonFinishedVasCnt: number = await this.trxMgr.getRepository(Worksheet).count({\n where: {\n domain: { id: this.domain.id },\n returnOrder: { id: returnOrder.id },\n type: WORKSHEET_TYPE.VAS,\n status: Not(Equal(WORKSHEET_STATUS.DONE))\n }\n })\n if (nonFinishedVasCnt) return\n\n const worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails\n const targetInventories: OrderInventory[] = worksheetDetails.map((wsd: WorksheetDetail) => {\n let targetInventory: OrderInventory = wsd.targetInventory\n targetInventory.status = ORDER_PRODUCT_STATUS.PUTTING_AWAY\n targetInventory.updater = this.user\n return targetInventory\n })\n await this.updateOrderTargets(targetInventories)\n\n returnOrder.status = ORDER_STATUS.PUTTING_AWAY\n returnOrder.updater = this.user\n await this.updateRefOrder(returnOrder)\n return this.activateWorksheet(worksheet, worksheetDetails, putawayWorksheetDetails)\n }\n\n async completePutawayReturn(returnOrderNo: string): Promise<Worksheet> {\n // Because of partial unloading current status of arrivalNotice can be PUTTING_AWAY or PROCESSING\n // PUTTING_AWAY means unloading is completely finished.\n // PROCESSING means some products are still being unloaded.\n let returnOrder: ReturnOrder = await this.findRefOrder(ReturnOrder, {\n name: returnOrderNo,\n status: In([ORDER_STATUS.PUTTING_AWAY, ORDER_STATUS.PROCESSING])\n })\n\n // Check whether unloading is done or not.\n const unloadingWorksheetCnt: number = await this.trxMgr.getRepository(Worksheet).count({\n where: {\n domain: { id: this.domain.id },\n returnOrder: { id: returnOrder.id },\n type: WORKSHEET_TYPE.UNLOADING_RETURN,\n status: WORKSHEET_STATUS.EXECUTING\n }\n })\n if (unloadingWorksheetCnt) throw new Error(`Unloading is not completed yet`)\n\n const putawayWorksheet: Worksheet = await this.findWorksheetByRefOrder(returnOrder, WORKSHEET_TYPE.PUTAWAY_RETURN, [\n 'bufferLocation'\n ])\n await switchLocationStatus(this.domain, putawayWorksheet.bufferLocation, this.user, this.trxMgr)\n return await this.completeWorksheet(putawayWorksheet, ORDER_STATUS.DONE)\n }\n\n async putawayReturn(\n worksheetDetailName: [string],\n palletId: string,\n cartonId: string,\n locationName: string\n ): Promise<void> {\n const reusablePallet: Pallet = await this.trxMgr.getRepository(Pallet).findOne({\n where: { domain: { id: this.domain.id }, name: palletId }\n })\n\n if (reusablePallet) {\n await this.putawayPallets(worksheetDetailName[0], reusablePallet, locationName)\n } else if (cartonId) {\n await this.putawayCarton(worksheetDetailName, cartonId, locationName)\n } else {\n await this.putawayPallet(worksheetDetailName[0], palletId, locationName)\n }\n }\n\n async putawayPallets(worksheetDetailName: string, reusablePallet: Pallet, locationName: string): Promise<void> {\n const worksheetDetail: WorksheetDetail = await this.findExecutableWorksheetDetailByName(\n worksheetDetailName,\n WORKSHEET_TYPE.PUTAWAY_RETURN,\n [\n 'worksheet',\n 'worksheet.returnOrder',\n 'worksheet.worksheetDetails',\n 'worksheet.worksheetDetails.targetInventory',\n 'worksheet.worksheetDetails.targetInventory.inventory'\n ]\n )\n\n const worksheet: Worksheet = worksheetDetail.worksheet\n const returnOrder: ReturnOrder = worksheet.returnOrder\n const worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails\n const inventories: Inventory[] = await this.trxMgr.getRepository(Inventory).find({\n where: {\n domain: { id: this.domain.id },\n reusablePallet: { id: reusablePallet.id },\n refOrderId: returnOrder.id,\n status: In([INVENTORY_STATUS.PUTTING_AWAY, INVENTORY_STATUS.UNLOADED])\n }\n })\n\n for (let inventory of inventories) {\n const worksheetDetail: WorksheetDetail = worksheetDetails.find(\n (wsd: WorksheetDetail) => wsd.targetInventory.inventory.name === inventory.name\n )\n\n let targetInventory: OrderInventory = worksheetDetail.targetInventory\n inventory = targetInventory.inventory\n\n let location: Location = await this.trxMgr.getRepository(Location).findOne({\n where: {\n domain: { id: this.domain.id },\n name: locationName,\n type: In([\n LOCATION_TYPE.SHELF,\n LOCATION_TYPE.BUFFER,\n LOCATION_TYPE.FLOOR,\n LOCATION_TYPE.QUARANTINE,\n LOCATION_TYPE.RESERVED\n ])\n },\n relations: ['warehouse']\n })\n if (!location) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(locationName))\n const warehouse: Warehouse = location.warehouse\n const zone: string = location.zone\n\n inventory.location = location\n inventory.status = INVENTORY_STATUS.STORED\n inventory.warehouse = warehouse\n inventory.zone = zone\n await this.transactionInventory(inventory, returnOrder, 0, 0, INVENTORY_TRANSACTION_TYPE.PUTAWAY)\n\n targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED\n targetInventory.updater = this.user\n await this.updateOrderTargets([targetInventory])\n\n worksheetDetail.status = WORKSHEET_STATUS.DONE\n worksheetDetail.updater = this.user\n await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetail)\n }\n }\n\n async putawayCarton(worksheetDetailName: [string], cartonId: string, locationName: string): Promise<void> {\n const worksheetDetails: WorksheetDetail[] = await this.findExecutableWorksheetDetailByNames(\n worksheetDetailName,\n WORKSHEET_TYPE.PUTAWAY_RETURN,\n ['worksheet', 'worksheet.returnOrder', 'targetInventory', 'targetInventory.inventory']\n )\n\n for (var i = 0; i < worksheetDetails.length; i++) {\n const worksheetDetail = worksheetDetails[i]\n const worksheet: Worksheet = worksheetDetail.worksheet\n const returnOrder: ReturnOrder = worksheet.returnOrder\n let targetInventory: OrderInventory = worksheetDetail.targetInventory\n let inventory: Inventory = targetInventory.inventory\n\n if (inventory.cartonId !== cartonId) {\n throw new Error(this.ERROR_MSG.VALIDITY.UNEXPECTED_FIELD_VALUE('cartonId', cartonId, inventory.cartonId))\n }\n\n const location: Location = await this.trxMgr.getRepository(Location).findOne({\n where: {\n domain: { id: this.domain.id },\n name: locationName,\n type: In([\n LOCATION_TYPE.SHELF,\n LOCATION_TYPE.BUFFER,\n LOCATION_TYPE.FLOOR,\n LOCATION_TYPE.BIN,\n LOCATION_TYPE.QUARANTINE,\n LOCATION_TYPE.RESERVED\n ])\n },\n relations: ['warehouse']\n })\n\n if (!location) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(locationName))\n const warehouse: Warehouse = location.warehouse\n const zone: string = warehouse.zone\n\n inventory.location = location\n inventory.status = INVENTORY_STATUS.STORED\n inventory.warehouse = warehouse\n inventory.zone = zone\n await this.transactionInventory(inventory, returnOrder, 0, 0, INVENTORY_TRANSACTION_TYPE.PUTAWAY)\n\n targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED\n targetInventory.updater = this.user\n await this.updateOrderTargets([targetInventory])\n\n worksheetDetail.status = WORKSHEET_STATUS.DONE\n worksheetDetail.updater = this.user\n await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetail)\n }\n }\n\n async putawayPallet(worksheetDetailName: string, palletId: string, locationName: string): Promise<void> {\n const worksheetDetail: WorksheetDetail = await this.findExecutableWorksheetDetailByName(\n worksheetDetailName,\n WORKSHEET_TYPE.PUTAWAY_RETURN,\n ['worksheet', 'worksheet.returnOrder', 'targetInventory', 'targetInventory.inventory']\n )\n\n const worksheet: Worksheet = worksheetDetail.worksheet\n const returnOrder: ReturnOrder = worksheet.returnOrder\n let targetInventory: OrderInventory = worksheetDetail.targetInventory\n let inventory: Inventory = targetInventory.inventory\n\n if (inventory.palletId !== palletId) {\n throw new Error(this.ERROR_MSG.VALIDITY.UNEXPECTED_FIELD_VALUE('palletId', palletId, inventory.palletId))\n }\n\n const location: Location = await this.trxMgr.getRepository(Location).findOne({\n where: {\n domain: { id: this.domain.id },\n name: locationName,\n type: In([\n LOCATION_TYPE.SHELF,\n LOCATION_TYPE.FLOOR,\n LOCATION_TYPE.BIN,\n LOCATION_TYPE.BUFFER,\n LOCATION_TYPE.QUARANTINE,\n LOCATION_TYPE.RESERVED\n ])\n },\n relations: ['warehouse']\n })\n if (!location) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(locationName))\n const warehouse: Warehouse = location.warehouse\n const zone: string = warehouse.zone\n\n inventory.location = location\n inventory.status = INVENTORY_STATUS.STORED\n inventory.warehouse = warehouse\n inventory.zone = zone\n await this.transactionInventory(inventory, returnOrder, 0, 0, INVENTORY_TRANSACTION_TYPE.PUTAWAY)\n\n targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED\n targetInventory.updater = this.user\n await this.updateOrderTargets([targetInventory])\n\n worksheetDetail.status = WORKSHEET_STATUS.DONE\n worksheetDetail.updater = this.user\n await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetail)\n }\n\n async undoPutawayReturn(worksheetDetailName: [string], palletId: string, cartonId: string): Promise<void> {\n if (cartonId) {\n await this.undoPutawayReturnCarton(worksheetDetailName, cartonId)\n } else {\n await this.undoPutawayReturnPallet(worksheetDetailName[0], palletId)\n }\n }\n\n async undoPutawayReturnCarton(worksheetDetailName: [string], cartonId: string): Promise<void> {\n let worksheetDetails: WorksheetDetail[] = await this.findWorksheetDetailByNames(worksheetDetailName, [\n 'worksheet',\n 'worksheet.returnOrder',\n 'targetInventory',\n 'targetInventory.inventory',\n 'fromLocation'\n ])\n\n for (var i = 0; i < worksheetDetails?.length; i++) {\n const worksheetDetail = worksheetDetails[i]\n this.checkRecordValidity(worksheetDetail, { status: WORKSHEET_STATUS.DONE })\n const worksheet: Worksheet = worksheetDetail.worksheet\n const returnOrder: ReturnOrder = worksheet.returnOrder\n const targetInventory: OrderInventory = worksheetDetail.targetInventory\n let inventory: Inventory = await this.trxMgr.getRepository(Inventory).findOne({\n where: { domain: { id: this.domain.id }, cartonId, palletId: targetInventory.inventory.palletId }\n })\n await this.checkReleaseTarget(inventory)\n\n const bufferLocation: Location = await this.trxMgr.getRepository(Location).findOne({\n where: { domain: { id: this.domain.id }, name: worksheetDetail.fromLocation.name }\n })\n inventory.location = bufferLocation\n inventory.status = INVENTORY_STATUS.UNLOADED\n await this.transactionInventory(inventory, returnOrder, 0, 0, INVENTORY_TRANSACTION_TYPE.UNDO_PUTAWAY)\n\n targetInventory.status = ORDER_PRODUCT_STATUS.PUTTING_AWAY\n targetInventory.updater = this.user\n await this.updateOrderTargets([targetInventory])\n\n worksheetDetail.status = WORKSHEET_STATUS.EXECUTING\n worksheetDetail.updater = this.user\n await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetail)\n }\n }\n\n async undoPutawayReturnPallet(worksheetDetailName: string, palletId: string): Promise<void> {\n let worksheetDetail: WorksheetDetail = await this.findWorksheetDetailByName(worksheetDetailName, [\n 'worksheet',\n 'worksheet.returnOrder',\n 'targetInventory',\n 'targetInventory.inventory',\n 'fromLocation'\n ])\n this.checkRecordValidity(worksheetDetail, { status: WORKSHEET_STATUS.DONE })\n\n const worksheet: Worksheet = worksheetDetail.worksheet\n const returnOrder: ReturnOrder = worksheet.returnOrder\n const targetInventory: OrderInventory = worksheetDetail.targetInventory\n let inventory: Inventory = await this.trxMgr.getRepository(Inventory).findOne({\n where: { domain: { id: this.domain.id }, palletId }\n })\n await this.checkReleaseTarget(inventory)\n\n const bufferLocation: Location = await this.trxMgr.getRepository(Location).findOne({\n where: { domain: { id: this.domain.id }, name: worksheetDetail.fromLocation.name }\n })\n inventory.location = bufferLocation\n inventory.status = INVENTORY_STATUS.UNLOADED\n await this.transactionInventory(inventory, returnOrder, 0, 0, INVENTORY_TRANSACTION_TYPE.UNDO_PUTAWAY)\n\n targetInventory.status = ORDER_PRODUCT_STATUS.PUTTING_AWAY\n targetInventory.updater = this.user\n await this.updateOrderTargets([targetInventory])\n\n worksheetDetail.status = WORKSHEET_STATUS.EXECUTING\n worksheetDetail.updater = this.user\n await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetail)\n }\n\n private async checkReleaseTarget(inventory: Inventory): Promise<void> {\n const releaseTargetInventory: OrderInventory = await this.trxMgr.getRepository(OrderInventory).findOne({\n where: {\n domain: { id: this.domain.id },\n type: ORDER_TYPES.RELEASE_OF_GOODS,\n inventory: { id: inventory.id }\n }\n })\n\n if (releaseTargetInventory)\n throw new Error(\n this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('undo putaway', 'this pallet ID has been selected for releasing')\n )\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"putaway-returning-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/inbound/putaway-returning-worksheet-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { Equal, In, Not } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\nimport {\n ORDER_INVENTORY_STATUS,\n ORDER_PRODUCT_STATUS,\n ORDER_STATUS,\n ORDER_TYPES,\n OrderInventory,\n OrderNoGenerator,\n ReturnOrder\n} from '@things-factory/sales-base'\nimport {\n Inventory,\n INVENTORY_STATUS,\n INVENTORY_TRANSACTION_TYPE,\n Location,\n LOCATION_TYPE,\n Pallet,\n Warehouse\n} from '@things-factory/warehouse-base'\n\nimport { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../constants'\nimport { Worksheet, WorksheetDetail } from '../../entities'\nimport { switchLocationStatus } from '../../utils'\nimport { VasWorksheetController } from '../vas/vas-worksheet-controller'\n\nexport class PutawayReturningWorksheetController extends VasWorksheetController {\n async generatePutawayReturnWorksheet(returnOrderNo: string, inventories: Inventory[]): Promise<Worksheet> {\n let returnOrder: ReturnOrder = (await this.findRefOrder(\n ReturnOrder as any,\n { domain: { id: this.domain.id }, name: returnOrderNo } as any,\n ['bizplace']\n )) as any\n\n const bizplace: Bizplace = returnOrder.bizplace\n const unloadingWorksheet: Worksheet = await this.findWorksheetByRefOrder(\n returnOrder,\n WORKSHEET_TYPE.UNLOADING_RETURN,\n ['bufferLocation']\n )\n const bufferLocation: Location = unloadingWorksheet.bufferLocation\n\n // Check whether putaway worksheet is exists or not\n let worksheet: Worksheet\n try {\n worksheet = await this.findWorksheetByRefOrder(returnOrder, WORKSHEET_TYPE.PUTAWAY_RETURN)\n } catch (e) {}\n\n let oiStatus: string = ORDER_PRODUCT_STATUS.UNLOADED // Default status of order inventories is UNLOADED\n let wsdStatus: string = WORKSHEET_STATUS.DEACTIVATED // Default status of worksheet is DEACTIVATED\n if (!worksheet) {\n // If it's not exists create new putaway worksheet\n worksheet = await this.createWorksheet(returnOrder, WORKSHEET_TYPE.PUTAWAY_RETURN, { bufferLocation })\n } else {\n // If there is putaway worksheet. It means unloading is completed partially.\n // So status of newly created worksheet details and order inventories should be changed to\n // Executing situation.\n oiStatus = ORDER_PRODUCT_STATUS.PUTTING_AWAY // Default status = PUTTING_AWAY\n wsdStatus = WORKSHEET_STATUS.EXECUTING // Default status = EXECUTING\n }\n\n if (inventories.some((inv: Inventory) => !(inv instanceof Inventory))) {\n inventories = await this.trxMgr.getRepository(Inventory).findByIds(inventories.map((inv: Inventory) => inv.id))\n }\n\n for (let inventory of inventories) {\n inventory.status = INVENTORY_STATUS.PUTTING_AWAY\n inventory.updater = this.user\n inventory = await this.trxMgr.getRepository(Inventory).save(inventory)\n\n let targetInventory: OrderInventory = new OrderInventory()\n targetInventory.domain = this.domain\n targetInventory.bizplace = bizplace\n targetInventory.name = OrderNoGenerator.orderInventory()\n targetInventory.status = oiStatus\n //@ts-ignore\n targetInventory.type = ORDE\n //@ts-ignore\n R_TYPES.RETURN_ORDER\n targetInventory.returnOrder = returnOrder\n targetInventory.inventory = inventory\n targetInventory.creator = this.user\n targetInventory.updater = this.user\n targetInventory = await this.trxMgr.getRepository(OrderInventory).save(targetInventory)\n\n worksheet.worksheetDetails = await this.createWorksheetDetails(\n worksheet,\n WORKSHEET_TYPE.PUTAWAY_RETURN,\n [targetInventory],\n { status: wsdStatus, fromLocation: bufferLocation }\n )\n }\n\n return worksheet\n }\n\n async activatePutawayReturning(\n worksheetNo: string,\n putawayWorksheetDetails: Partial<WorksheetDetail>[]\n ): Promise<Worksheet> {\n let worksheet: Worksheet = await this.findActivatableWorksheet(worksheetNo, WORKSHEET_TYPE.PUTAWAY_RETURN, [\n 'returnOrder',\n 'worksheetDetails',\n 'worksheetDetails.targetInventory'\n ])\n\n let returnOrder: ReturnOrder = worksheet.returnOrder\n const nonFinishedVasCnt: number = await this.trxMgr.getRepository(Worksheet).count({\n where: {\n domain: { id: this.domain.id },\n returnOrder: { id: returnOrder.id },\n type: WORKSHEET_TYPE.VAS,\n status: Not(Equal(WORKSHEET_STATUS.DONE))\n }\n })\n if (nonFinishedVasCnt) return\n\n const worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails\n const targetInventories: OrderInventory[] = worksheetDetails.map((wsd: WorksheetDetail) => {\n let targetInventory: OrderInventory = wsd.targetInventory\n targetInventory.status = ORDER_PRODUCT_STATUS.PUTTING_AWAY\n targetInventory.updater = this.user\n return targetInventory\n })\n await this.updateOrderTargets(targetInventories)\n\n returnOrder.status = ORDER_STATUS.PUTTING_AWAY\n returnOrder.updater = this.user\n await this.updateRefOrder(returnOrder)\n return this.activateWorksheet(worksheet, worksheetDetails, putawayWorksheetDetails)\n }\n\n async completePutawayReturn(returnOrderNo: string): Promise<Worksheet> {\n // Because of partial unloading current status of arrivalNotice can be PUTTING_AWAY or PROCESSING\n // PUTTING_AWAY means unloading is completely finished.\n // PROCESSING means some products are still being unloaded.\n //@ts-ignore\n let returnOrder: ReturnOrder = await this.findRefOrder(ReturnOrder, {\n name: returnOrderNo,\n status: In([ORDER_STATUS.PUTTING_AWAY, ORDER_STATUS.PROCESSING])\n })\n\n // Check whether unloading is done or not.\n const unloadingWorksheetCnt: number = await this.trxMgr.getRepository(Worksheet).count({\n where: {\n domain: { id: this.domain.id },\n returnOrder: { id: returnOrder.id },\n type: WORKSHEET_TYPE.UNLOADING_RETURN,\n status: WORKSHEET_STATUS.EXECUTING\n }\n })\n if (unloadingWorksheetCnt) throw new Error(`Unloading is not completed yet`)\n\n const putawayWorksheet: Worksheet = await this.findWorksheetByRefOrder(returnOrder, WORKSHEET_TYPE.PUTAWAY_RETURN, [\n 'bufferLocation'\n ])\n await switchLocationStatus(this.domain, putawayWorksheet.bufferLocation, this.user, this.trxMgr)\n return await this.completeWorksheet(putawayWorksheet, ORDER_STATUS.DONE)\n }\n\n async putawayReturn(\n worksheetDetailName: [string],\n palletId: string,\n cartonId: string,\n locationName: string\n ): Promise<void> {\n const reusablePallet: Pallet = await this.trxMgr.getRepository(Pallet).findOne({\n where: { domain: { id: this.domain.id }, name: palletId }\n })\n\n if (reusablePallet) {\n await this.putawayPallets(worksheetDetailName[0], reusablePallet, locationName)\n } else if (cartonId) {\n await this.putawayCarton(worksheetDetailName, cartonId, locationName)\n } else {\n await this.putawayPallet(worksheetDetailName[0], palletId, locationName)\n }\n }\n\n async putawayPallets(worksheetDetailName: string, reusablePallet: Pallet, locationName: string): Promise<void> {\n const worksheetDetail: WorksheetDetail = await this.findExecutableWorksheetDetailByName(\n worksheetDetailName,\n WORKSHEET_TYPE.PUTAWAY_RETURN,\n [\n 'worksheet',\n 'worksheet.returnOrder',\n 'worksheet.worksheetDetails',\n 'worksheet.worksheetDetails.targetInventory',\n 'worksheet.worksheetDetails.targetInventory.inventory'\n ]\n )\n\n const worksheet: Worksheet = worksheetDetail.worksheet\n const returnOrder: ReturnOrder = worksheet.returnOrder\n const worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails\n const inventories: Inventory[] = await this.trxMgr.getRepository(Inventory).find({\n where: {\n domain: { id: this.domain.id },\n reusablePallet: { id: reusablePallet.id },\n refOrderId: returnOrder.id,\n status: In([INVENTORY_STATUS.PUTTING_AWAY, INVENTORY_STATUS.UNLOADED])\n }\n })\n\n for (let inventory of inventories) {\n const worksheetDetail: WorksheetDetail = worksheetDetails.find(\n (wsd: WorksheetDetail) => wsd.targetInventory.inventory.name === inventory.name\n )\n\n let targetInventory: OrderInventory = worksheetDetail.targetInventory\n inventory = targetInventory.inventory\n\n let location: Location = await this.trxMgr.getRepository(Location).findOne({\n where: {\n domain: { id: this.domain.id },\n name: locationName,\n type: In([\n LOCATION_TYPE.SHELF,\n LOCATION_TYPE.BUFFER,\n LOCATION_TYPE.FLOOR,\n LOCATION_TYPE.QUARANTINE,\n //@ts-ignore\n LOCATION_TYPE.RESERVED\n ])\n },\n relations: ['warehouse']\n })\n if (!location) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(locationName))\n const warehouse: Warehouse = location.warehouse\n const zone: string = location.zone\n\n inventory.location = location\n inventory.status = INVENTORY_STATUS.STORED\n inventory.warehouse = warehouse\n inventory.zone = zone\n await this.transactionInventory(inventory, returnOrder, 0, 0, INVENTORY_TRANSACTION_TYPE.PUTAWAY)\n\n targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED\n targetInventory.updater = this.user\n await this.updateOrderTargets([targetInventory])\n\n worksheetDetail.status = WORKSHEET_STATUS.DONE\n worksheetDetail.updater = this.user\n await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetail)\n }\n }\n\n async putawayCarton(worksheetDetailName: [string], cartonId: string, locationName: string): Promise<void> {\n const worksheetDetails: WorksheetDetail[] = await this.findExecutableWorksheetDetailByNames(\n worksheetDetailName,\n WORKSHEET_TYPE.PUTAWAY_RETURN,\n ['worksheet', 'worksheet.returnOrder', 'targetInventory', 'targetInventory.inventory']\n )\n\n for (var i = 0; i < worksheetDetails.length; i++) {\n const worksheetDetail = worksheetDetails[i]\n const worksheet: Worksheet = worksheetDetail.worksheet\n const returnOrder: ReturnOrder = worksheet.returnOrder\n let targetInventory: OrderInventory = worksheetDetail.targetInventory\n let inventory: Inventory = targetInventory.inventory\n\n if (inventory.cartonId !== cartonId) {\n throw new Error(this.ERROR_MSG.VALIDITY.UNEXPECTED_FIELD_VALUE('cartonId', cartonId, inventory.cartonId))\n }\n\n const location: Location = await this.trxMgr.getRepository(Location).findOne({\n where: {\n domain: { id: this.domain.id },\n name: locationName,\n type: In([\n LOCATION_TYPE.SHELF,\n LOCATION_TYPE.BUFFER,\n LOCATION_TYPE.FLOOR,\n LOCATION_TYPE.BIN,\n LOCATION_TYPE.QUARANTINE,\n //@ts-ignore\n LOCATION_TYPE.RESERVED\n ])\n },\n relations: ['warehouse']\n })\n\n if (!location) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(locationName))\n const warehouse: Warehouse = location.warehouse\n //@ts-ignore\n const zone: string = warehouse.zone\n\n inventory.location = location\n inventory.status = INVENTORY_STATUS.STORED\n inventory.warehouse = warehouse\n inventory.zone = zone\n await this.transactionInventory(inventory, returnOrder, 0, 0, INVENTORY_TRANSACTION_TYPE.PUTAWAY)\n\n targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED\n targetInventory.updater = this.user\n await this.updateOrderTargets([targetInventory])\n\n worksheetDetail.status = WORKSHEET_STATUS.DONE\n worksheetDetail.updater = this.user\n await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetail)\n }\n }\n\n async putawayPallet(worksheetDetailName: string, palletId: string, locationName: string): Promise<void> {\n const worksheetDetail: WorksheetDetail = await this.findExecutableWorksheetDetailByName(\n worksheetDetailName,\n WORKSHEET_TYPE.PUTAWAY_RETURN,\n ['worksheet', 'worksheet.returnOrder', 'targetInventory', 'targetInventory.inventory']\n )\n\n const worksheet: Worksheet = worksheetDetail.worksheet\n const returnOrder: ReturnOrder = worksheet.returnOrder\n let targetInventory: OrderInventory = worksheetDetail.targetInventory\n let inventory: Inventory = targetInventory.inventory\n\n if (inventory.palletId !== palletId) {\n throw new Error(this.ERROR_MSG.VALIDITY.UNEXPECTED_FIELD_VALUE('palletId', palletId, inventory.palletId))\n }\n\n const location: Location = await this.trxMgr.getRepository(Location).findOne({\n where: {\n domain: { id: this.domain.id },\n name: locationName,\n type: In([\n LOCATION_TYPE.SHELF,\n LOCATION_TYPE.FLOOR,\n LOCATION_TYPE.BIN,\n LOCATION_TYPE.BUFFER,\n LOCATION_TYPE.QUARANTINE,\n //@ts-ignore\n LOCATION_TYPE.RESERVED\n ])\n },\n relations: ['warehouse']\n })\n if (!location) throw new Error(this.ERROR_MSG.FIND.NO_RESULT(locationName))\n const warehouse: Warehouse = location.warehouse\n //@ts-ignore\n const zone: string = warehouse.zone\n\n inventory.location = location\n inventory.status = INVENTORY_STATUS.STORED\n inventory.warehouse = warehouse\n inventory.zone = zone\n await this.transactionInventory(inventory, returnOrder, 0, 0, INVENTORY_TRANSACTION_TYPE.PUTAWAY)\n\n targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED\n targetInventory.updater = this.user\n await this.updateOrderTargets([targetInventory])\n\n worksheetDetail.status = WORKSHEET_STATUS.DONE\n worksheetDetail.updater = this.user\n await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetail)\n }\n\n async undoPutawayReturn(worksheetDetailName: [string], palletId: string, cartonId: string): Promise<void> {\n if (cartonId) {\n await this.undoPutawayReturnCarton(worksheetDetailName, cartonId)\n } else {\n await this.undoPutawayReturnPallet(worksheetDetailName[0], palletId)\n }\n }\n\n async undoPutawayReturnCarton(worksheetDetailName: [string], cartonId: string): Promise<void> {\n let worksheetDetails: WorksheetDetail[] = await this.findWorksheetDetailByNames(worksheetDetailName, [\n 'worksheet',\n 'worksheet.returnOrder',\n 'targetInventory',\n 'targetInventory.inventory',\n 'fromLocation'\n ])\n\n for (var i = 0; i < worksheetDetails?.length; i++) {\n const worksheetDetail = worksheetDetails[i]\n this.checkRecordValidity(worksheetDetail, { status: WORKSHEET_STATUS.DONE })\n const worksheet: Worksheet = worksheetDetail.worksheet\n const returnOrder: ReturnOrder = worksheet.returnOrder\n const targetInventory: OrderInventory = worksheetDetail.targetInventory\n let inventory: Inventory = await this.trxMgr.getRepository(Inventory).findOne({\n where: { domain: { id: this.domain.id }, cartonId, palletId: targetInventory.inventory.palletId }\n })\n await this.checkReleaseTarget(inventory)\n\n const bufferLocation: Location = await this.trxMgr.getRepository(Location).findOne({\n where: { domain: { id: this.domain.id }, name: worksheetDetail.fromLocation.name }\n })\n inventory.location = bufferLocation\n inventory.status = INVENTORY_STATUS.UNLOADED\n await this.transactionInventory(inventory, returnOrder, 0, 0, INVENTORY_TRANSACTION_TYPE.UNDO_PUTAWAY)\n\n targetInventory.status = ORDER_PRODUCT_STATUS.PUTTING_AWAY\n targetInventory.updater = this.user\n await this.updateOrderTargets([targetInventory])\n\n worksheetDetail.status = WORKSHEET_STATUS.EXECUTING\n worksheetDetail.updater = this.user\n await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetail)\n }\n }\n\n async undoPutawayReturnPallet(worksheetDetailName: string, palletId: string): Promise<void> {\n let worksheetDetail: WorksheetDetail = await this.findWorksheetDetailByName(worksheetDetailName, [\n 'worksheet',\n 'worksheet.returnOrder',\n 'targetInventory',\n 'targetInventory.inventory',\n 'fromLocation'\n ])\n this.checkRecordValidity(worksheetDetail, { status: WORKSHEET_STATUS.DONE })\n\n const worksheet: Worksheet = worksheetDetail.worksheet\n const returnOrder: ReturnOrder = worksheet.returnOrder\n const targetInventory: OrderInventory = worksheetDetail.targetInventory\n let inventory: Inventory = await this.trxMgr.getRepository(Inventory).findOne({\n where: { domain: { id: this.domain.id }, palletId }\n })\n await this.checkReleaseTarget(inventory)\n\n const bufferLocation: Location = await this.trxMgr.getRepository(Location).findOne({\n where: { domain: { id: this.domain.id }, name: worksheetDetail.fromLocation.name }\n })\n inventory.location = bufferLocation\n inventory.status = INVENTORY_STATUS.UNLOADED\n await this.transactionInventory(inventory, returnOrder, 0, 0, INVENTORY_TRANSACTION_TYPE.UNDO_PUTAWAY)\n\n targetInventory.status = ORDER_PRODUCT_STATUS.PUTTING_AWAY\n targetInventory.updater = this.user\n await this.updateOrderTargets([targetInventory])\n\n worksheetDetail.status = WORKSHEET_STATUS.EXECUTING\n worksheetDetail.updater = this.user\n await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetail)\n }\n\n private async checkReleaseTarget(inventory: Inventory): Promise<void> {\n const releaseTargetInventory: OrderInventory = await this.trxMgr.getRepository(OrderInventory).findOne({\n where: {\n domain: { id: this.domain.id },\n type: ORDER_TYPES.RELEASE_OF_GOODS,\n inventory: { id: inventory.id }\n }\n })\n\n if (releaseTargetInventory)\n throw new Error(\n this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('undo putaway', 'this pallet ID has been selected for releasing')\n )\n }\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Inventory, Pallet } from '@things-factory/warehouse-base';
|
|
2
|
+
import { Worksheet, WorksheetDetail } from '../../entities';
|
|
3
|
+
import { VasWorksheetController } from '../vas/vas-worksheet-controller';
|
|
4
|
+
export declare class PutawayWorksheetController extends VasWorksheetController {
|
|
5
|
+
generatePutawayWorksheet(arrivalNoticeNo: string, inventories: Inventory[]): Promise<Worksheet>;
|
|
6
|
+
activatePutaway(worksheetNo: string, putawayWorksheetDetails: Partial<WorksheetDetail>[]): Promise<Worksheet>;
|
|
7
|
+
completePutaway(arrivalNoticeNo: string): Promise<Worksheet>;
|
|
8
|
+
putaway(worksheetDetailName: [string], palletId: string, cartonId: string, locationName: string): Promise<void>;
|
|
9
|
+
putawayPallets(worksheetDetailName: string, reusablePallet: Pallet, locationName: string): Promise<void>;
|
|
10
|
+
putawayCarton(worksheetDetailName: [string], cartonId: string, locationName: string): Promise<void>;
|
|
11
|
+
putawayPallet(worksheetDetailName: string, palletId: string, locationName: string): Promise<void>;
|
|
12
|
+
undoPutaway(worksheetDetailName: [string], palletId: string, cartonId: string): Promise<void>;
|
|
13
|
+
undoPallet(worksheetDetailName: string, palletId: string): Promise<void>;
|
|
14
|
+
undoCarton(worksheetDetailName: [string], cartonId: string): Promise<void>;
|
|
15
|
+
private checkReleaseTarget;
|
|
16
|
+
}
|