@things-factory/worksheet-base 5.0.12 → 6.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/controllers/ecommerce/sellercraft-controller.js +225 -191
- package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
- package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js +2 -2
- package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inbound/unloading-worksheet-controller.js +28 -17
- package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js +1 -1
- package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/packing-worksheet-controller.js +17 -3
- package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/picking-worksheet-controller.js +221 -144
- package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/returning-worksheet-controller.js +16 -0
- package/dist-server/controllers/outbound/returning-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/sorting-worksheet-controller.js +8 -8
- package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/render-elccl-grn.js +21 -16
- package/dist-server/controllers/render-elccl-grn.js.map +1 -1
- package/dist-server/controllers/render-fm-grn.js +43 -26
- package/dist-server/controllers/render-fm-grn.js.map +1 -1
- package/dist-server/controllers/render-grn.js +42 -28
- package/dist-server/controllers/render-grn.js.map +1 -1
- package/dist-server/controllers/render-invoices.js +4 -5
- package/dist-server/controllers/render-invoices.js.map +1 -1
- package/dist-server/controllers/render-job-sheet.js +19 -19
- package/dist-server/controllers/render-job-sheet.js.map +1 -1
- package/dist-server/controllers/render-kimeda-grn.js +38 -23
- package/dist-server/controllers/render-kimeda-grn.js.map +1 -1
- package/dist-server/controllers/render-manifest.js +8 -9
- package/dist-server/controllers/render-manifest.js.map +1 -1
- package/dist-server/controllers/render-manual-do.js +15 -15
- package/dist-server/controllers/render-manual-do.js.map +1 -1
- package/dist-server/controllers/render-orientage-do.js +74 -28
- package/dist-server/controllers/render-orientage-do.js.map +1 -1
- package/dist-server/controllers/render-orientage-grn.js +25 -15
- package/dist-server/controllers/render-orientage-grn.js.map +1 -1
- package/dist-server/controllers/render-po.js +28 -19
- package/dist-server/controllers/render-po.js.map +1 -1
- package/dist-server/controllers/render-ro-do.js +139 -105
- package/dist-server/controllers/render-ro-do.js.map +1 -1
- package/dist-server/controllers/render-seebuu-grn.js +29 -19
- package/dist-server/controllers/render-seebuu-grn.js.map +1 -1
- package/dist-server/controllers/vas/vas-worksheet-controller.js +5 -5
- package/dist-server/controllers/vas/vas-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/worksheet-controller.js +75 -25
- package/dist-server/controllers/worksheet-controller.js.map +1 -1
- package/dist-server/entities/warehouse-bizplace-onhand-inventory.js +2 -1
- package/dist-server/entities/warehouse-bizplace-onhand-inventory.js.map +1 -1
- package/dist-server/entities/worksheet-detail.js +14 -12
- package/dist-server/entities/worksheet-detail.js.map +1 -1
- package/dist-server/entities/worksheet-movement.js +1 -2
- package/dist-server/entities/worksheet-movement.js.map +1 -1
- package/dist-server/entities/worksheet.js +13 -13
- package/dist-server/entities/worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/pallet/pallet-outbound.js +1 -1
- package/dist-server/graphql/resolvers/pallet/pallet-outbound.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js +6 -6
- package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cancel-draft-release-order.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/cancel-draft-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/check-inventory-release.js +6 -5
- package/dist-server/graphql/resolvers/worksheet/check-inventory-release.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/check-stock-take-current-location.js +8 -8
- package/dist-server/graphql/resolvers/worksheet/check-stock-take-current-location.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js +82 -80
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/create-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js +5 -4
- package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +5 -5
- package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js +5 -4
- package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/delete-worksheet.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/delete-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js +83 -52
- package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/fetch-delivery-order-ro.js +169 -0
- package/dist-server/graphql/resolvers/worksheet/fetch-delivery-order-ro.js.map +1 -0
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.js +67 -0
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.js.map +1 -0
- package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js +1 -34
- package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-task-no.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/find-release-orders-by-worksheet-no.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.js +70 -0
- package/dist-server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.js.map +1 -0
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js +34 -3
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-batch-picking-worksheet.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-batch-picking-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-return-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-putaway-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js +14 -10
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-return-order-worksheet.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-return-order-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-vas-order-worksheet.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-vas-order-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/having-vas.js +7 -7
- package/dist-server/graphql/resolvers/worksheet/having-vas.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/index.js +5 -3
- package/dist-server/graphql/resolvers/worksheet/index.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/activate-cycle-count.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/add-extra-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/check-missing-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/complete-inspection.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/inspecting.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/relocate-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inspecting/undo-inspection.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +18 -9
- package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loaded-inventories.js +6 -5
- package/dist-server/graphql/resolvers/worksheet/loaded-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/activate-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js +14 -14
- package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/undo-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js +11 -10
- package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js +5 -4
- package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js +3 -4
- package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/packing.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +16 -11
- package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +96 -22
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js +5 -5
- package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js +93 -81
- package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js +0 -19
- package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js +11 -5
- package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-worker.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +10 -4
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +34 -38
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js +46 -35
- package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.js +7 -2
- package/dist-server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js +33 -16
- package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/scan-product-batch-picking.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/picking/scan-product-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js +5 -8
- package/dist-server/graphql/resolvers/worksheet/picking/scan-product-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/seal-tote.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/undo-picking-assignment.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +6 -5
- package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js +10 -8
- package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/activate-putaway.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js +4 -3
- package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/putaway.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/undo-putaway.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js +2 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/putaway-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/undo-putaway-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-worksheet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/putaway-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js +16 -11
- package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js +139 -149
- package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/relocate-pallet.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/relocate-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/return-worksheet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/return-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/returning/activate-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/returning/complete-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/returning/returning.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting/activate-sorting.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting/complete-order-sorting.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting/complete-worksheet-sorting.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting/scan-product-sorting.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting/sorting-product.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/transfer.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.js +8 -7
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js +9 -8
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.js +4 -2
- package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-product-scan-unload.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading-partially.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js +6 -2
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/scan-product-unload.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/undo-unloading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/unload.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading-return/activate-unloading-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-return-partially.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js +7 -3
- package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js +5 -5
- package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/update-worksheet.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/update-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas/activate-vas.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas/assign-vas-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas/complete-vas.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas/execute-vas.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas/undo-vas-inventory.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas/undo-vas.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-candidates.js +13 -12
- package/dist-server/graphql/resolvers/worksheet/vas-candidates.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-inventories.js +7 -6
- package/dist-server/graphql/resolvers/worksheet/vas-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js +36 -18
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.js +10 -3
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.js +3 -2
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.js +11 -3
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/undo-relabeling.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js +3 -2
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.js +2 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/undo-repalletizing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/complete-unpacking.js +2 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/complete-unpacking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js +7 -7
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js +11 -10
- package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheet-by-order-no.js +7 -4
- package/dist-server/graphql/resolvers/worksheet/worksheet-by-order-no.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.js +5 -5
- package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheet.js +72 -42
- package/dist-server/graphql/resolvers/worksheet/worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheets.js +42 -17
- package/dist-server/graphql/resolvers/worksheet/worksheets.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/check-progressing-pallet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet-detail/check-progressing-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/create-worksheet-detail.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/create-worksheet-detail.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js +13 -10
- package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js +7 -5
- package/dist-server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-carton-id.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.js +3 -3
- package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js +5 -2
- package/dist-server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/index.js +2 -1
- package/dist-server/graphql/resolvers/worksheet-detail/index.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js +81 -0
- package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js.map +1 -0
- package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.js +2 -2
- package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-detail.js +2 -2
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-detail.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details.js +2 -2
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-details.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/create-worksheet-movement.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/create-worksheet-movement.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/delete-worksheet-movement.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/update-worksheet-movement.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/update-worksheet-movement.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movement.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movement.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movements.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movements.js.map +1 -1
- package/dist-server/graphql/types/worksheet/batch-pick-worksheet-info.js +12 -0
- package/dist-server/graphql/types/worksheet/batch-pick-worksheet-info.js.map +1 -0
- package/dist-server/graphql/types/worksheet/delivery-order-info.js +3 -0
- package/dist-server/graphql/types/worksheet/delivery-order-info.js.map +1 -1
- package/dist-server/graphql/types/worksheet/delivery-order-ro.js +18 -0
- package/dist-server/graphql/types/worksheet/delivery-order-ro.js.map +1 -0
- package/dist-server/graphql/types/worksheet/index.js +26 -15
- package/dist-server/graphql/types/worksheet/index.js.map +1 -1
- package/dist-server/graphql/types/worksheet/multiple-release-good-worksheet.js +11 -0
- package/dist-server/graphql/types/worksheet/multiple-release-good-worksheet.js.map +1 -0
- package/dist-server/graphql/types/worksheet/sellercraft-document.js +11 -0
- package/dist-server/graphql/types/worksheet/sellercraft-document.js.map +1 -0
- package/dist-server/graphql/types/worksheet-detail/index.js +10 -0
- package/dist-server/graphql/types/worksheet-detail/index.js.map +1 -1
- package/dist-server/graphql/types/worksheet-detail/inventory-detail.js +1 -0
- package/dist-server/graphql/types/worksheet-detail/inventory-detail.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/utils/inventory-util.js +26 -20
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/dist-server/utils/worksheet-util.js +8 -6
- package/dist-server/utils/worksheet-util.js.map +1 -1
- package/package.json +17 -17
- package/server/controllers/ecommerce/sellercraft-controller.ts +282 -223
- package/server/controllers/inbound/unloading-returning-worksheet-controller.ts +9 -17
- package/server/controllers/inbound/unloading-worksheet-controller.ts +55 -66
- package/server/controllers/inspect/cycle-count-worksheet-controller.ts +1 -1
- package/server/controllers/outbound/packing-worksheet-controller.ts +25 -4
- package/server/controllers/outbound/picking-worksheet-controller.ts +292 -172
- package/server/controllers/outbound/returning-worksheet-controller.ts +23 -0
- package/server/controllers/outbound/sorting-worksheet-controller.ts +20 -20
- package/server/controllers/render-elccl-grn.ts +16 -11
- package/server/controllers/render-fm-grn.ts +32 -14
- package/server/controllers/render-grn.ts +31 -16
- package/server/controllers/render-invoices.ts +3 -3
- package/server/controllers/render-job-sheet.ts +13 -11
- package/server/controllers/render-kimeda-grn.ts +28 -13
- package/server/controllers/render-manifest.ts +25 -24
- package/server/controllers/render-manual-do.ts +9 -10
- package/server/controllers/render-orientage-do.ts +79 -30
- package/server/controllers/render-orientage-grn.ts +30 -20
- package/server/controllers/render-po.ts +31 -20
- package/server/controllers/render-ro-do.ts +151 -124
- package/server/controllers/render-seebuu-grn.ts +21 -11
- package/server/controllers/vas/vas-worksheet-controller.ts +19 -20
- package/server/controllers/worksheet-controller.ts +97 -27
- package/server/entities/warehouse-bizplace-onhand-inventory.ts +2 -1
- package/server/entities/worksheet-detail.ts +9 -0
- package/server/graphql/resolvers/pallet/pallet-outbound.ts +5 -8
- package/server/graphql/resolvers/worksheet/batch-picking-worksheet.ts +8 -6
- package/server/graphql/resolvers/worksheet/cancel-draft-release-order.ts +4 -11
- package/server/graphql/resolvers/worksheet/check-inventory-release.ts +8 -7
- package/server/graphql/resolvers/worksheet/check-stock-take-current-location.ts +10 -8
- package/server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts +112 -138
- package/server/graphql/resolvers/worksheet/create-worksheet.ts +6 -8
- package/server/graphql/resolvers/worksheet/cross-dock-picking.ts +8 -7
- package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +7 -7
- package/server/graphql/resolvers/worksheet/cycle-count-worksheet.ts +6 -6
- package/server/graphql/resolvers/worksheet/delete-worksheet.ts +5 -3
- package/server/graphql/resolvers/worksheet/delivery-order-by-worksheet.ts +87 -53
- package/server/graphql/resolvers/worksheet/fetch-delivery-order-ro.ts +190 -0
- package/server/graphql/resolvers/worksheet/fetch-sellercraft-document.ts +69 -0
- package/server/graphql/resolvers/worksheet/find-release-orders-by-task-no.ts +5 -45
- package/server/graphql/resolvers/worksheet/find-release-orders-by-worksheet-no.ts +5 -5
- package/server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.ts +80 -0
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-arrival-notice-worksheet.ts +45 -5
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-batch-picking-worksheet.ts +11 -10
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.ts +1 -1
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.ts +7 -14
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-return-worksheet.ts +10 -4
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-partial-putaway-worksheet.ts +10 -4
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-putaway-worksheet.ts +5 -3
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts +25 -29
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-return-order-worksheet.ts +6 -4
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-vas-order-worksheet.ts +6 -4
- package/server/graphql/resolvers/worksheet/having-vas.ts +10 -8
- package/server/graphql/resolvers/worksheet/index.ts +7 -3
- package/server/graphql/resolvers/worksheet/inspecting/activate-cycle-count.ts +5 -3
- package/server/graphql/resolvers/worksheet/inspecting/add-extra-pallet.ts +4 -2
- package/server/graphql/resolvers/worksheet/inspecting/check-missing-pallet.ts +5 -3
- package/server/graphql/resolvers/worksheet/inspecting/complete-inspection.ts +5 -3
- package/server/graphql/resolvers/worksheet/inspecting/inspecting.ts +9 -3
- package/server/graphql/resolvers/worksheet/inspecting/relocate-pallet.ts +16 -4
- package/server/graphql/resolvers/worksheet/inspecting/undo-inspection.ts +5 -3
- package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +34 -17
- package/server/graphql/resolvers/worksheet/loaded-inventories.ts +7 -6
- package/server/graphql/resolvers/worksheet/loading/activate-loading.ts +5 -3
- package/server/graphql/resolvers/worksheet/loading/complete-loading.ts +16 -16
- package/server/graphql/resolvers/worksheet/loading/loading.ts +5 -3
- package/server/graphql/resolvers/worksheet/loading/undo-loading.ts +5 -3
- package/server/graphql/resolvers/worksheet/loading-worksheet.ts +11 -11
- package/server/graphql/resolvers/worksheet/not-tally-target-inventories.ts +6 -6
- package/server/graphql/resolvers/worksheet/packing/activate-packing.ts +14 -13
- package/server/graphql/resolvers/worksheet/packing/complete-packing.ts +4 -4
- package/server/graphql/resolvers/worksheet/packing/packing.ts +3 -3
- package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +21 -17
- package/server/graphql/resolvers/worksheet/packing/undo-serial-number-packing.ts +2 -2
- package/server/graphql/resolvers/worksheet/packing-worksheet.ts +102 -24
- package/server/graphql/resolvers/worksheet/palletizing-pallets.ts +10 -8
- package/server/graphql/resolvers/worksheet/pending-cancellation-release-order.ts +107 -97
- package/server/graphql/resolvers/worksheet/picking/activate-batch-picking.ts +3 -30
- package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +3 -3
- package/server/graphql/resolvers/worksheet/picking/assign-picking-inventories.ts +23 -4
- package/server/graphql/resolvers/worksheet/picking/assign-picking-worker.ts +25 -17
- package/server/graphql/resolvers/worksheet/picking/batch-picking.ts +4 -2
- package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +15 -6
- package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +37 -42
- package/server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.ts +52 -42
- package/server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.ts +15 -6
- package/server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.ts +49 -35
- package/server/graphql/resolvers/worksheet/picking/picking.ts +4 -2
- package/server/graphql/resolvers/worksheet/picking/scan-product-batch-picking.ts +11 -6
- package/server/graphql/resolvers/worksheet/picking/scan-product-picking.ts +10 -35
- package/server/graphql/resolvers/worksheet/picking/seal-tote.ts +2 -2
- package/server/graphql/resolvers/worksheet/picking/undo-picking-assignment.ts +9 -3
- package/server/graphql/resolvers/worksheet/picking/undo-serial-number-picking.ts +2 -2
- package/server/graphql/resolvers/worksheet/picking-worksheet.ts +11 -11
- package/server/graphql/resolvers/worksheet/proceed-extra-products.ts +13 -13
- package/server/graphql/resolvers/worksheet/putaway/activate-putaway.ts +5 -3
- package/server/graphql/resolvers/worksheet/putaway/complete-putaway.ts +6 -5
- package/server/graphql/resolvers/worksheet/putaway/putaway.ts +5 -3
- package/server/graphql/resolvers/worksheet/putaway/undo-putaway.ts +5 -3
- package/server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.ts +5 -3
- package/server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts +13 -6
- package/server/graphql/resolvers/worksheet/putaway-return/putaway-return.ts +5 -3
- package/server/graphql/resolvers/worksheet/putaway-return/undo-putaway-return.ts +5 -3
- package/server/graphql/resolvers/worksheet/putaway-returning-worksheet.ts +4 -6
- package/server/graphql/resolvers/worksheet/putaway-worksheet.ts +4 -6
- package/server/graphql/resolvers/worksheet/recommend-putway-location.ts +20 -19
- package/server/graphql/resolvers/worksheet/reject-cancellation-release-order.ts +154 -220
- package/server/graphql/resolvers/worksheet/relocate-pallet.ts +6 -4
- package/server/graphql/resolvers/worksheet/replace-picking-pallets.ts +3 -7
- package/server/graphql/resolvers/worksheet/return-worksheet.ts +4 -6
- package/server/graphql/resolvers/worksheet/returning/activate-return.ts +5 -3
- package/server/graphql/resolvers/worksheet/returning/complete-return.ts +5 -3
- package/server/graphql/resolvers/worksheet/returning/returning.ts +5 -3
- package/server/graphql/resolvers/worksheet/sorting/activate-sorting.ts +5 -3
- package/server/graphql/resolvers/worksheet/sorting/complete-order-sorting.ts +7 -5
- package/server/graphql/resolvers/worksheet/sorting/complete-worksheet-sorting.ts +5 -3
- package/server/graphql/resolvers/worksheet/sorting/scan-product-sorting.ts +9 -3
- package/server/graphql/resolvers/worksheet/sorting/sorting-product.ts +9 -3
- package/server/graphql/resolvers/worksheet/sorting-worksheet.ts +5 -5
- package/server/graphql/resolvers/worksheet/transfer.ts +10 -12
- package/server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.ts +13 -7
- package/server/graphql/resolvers/worksheet/unloaded-inventories.ts +9 -9
- package/server/graphql/resolvers/worksheet/unloading/activate-unloading.ts +9 -5
- package/server/graphql/resolvers/worksheet/unloading/complete-product-scan-unload.ts +5 -3
- package/server/graphql/resolvers/worksheet/unloading/complete-unloading-partially.ts +5 -3
- package/server/graphql/resolvers/worksheet/unloading/complete-unloading.ts +8 -4
- package/server/graphql/resolvers/worksheet/unloading/scan-product-unload.ts +5 -3
- package/server/graphql/resolvers/worksheet/unloading/scan-serial-number-unload.ts +2 -2
- package/server/graphql/resolvers/worksheet/unloading/undo-serial-number-unload.ts +2 -2
- package/server/graphql/resolvers/worksheet/unloading/undo-unloading.ts +2 -2
- package/server/graphql/resolvers/worksheet/unloading/unload.ts +7 -7
- package/server/graphql/resolvers/worksheet/unloading-return/activate-unloading-return.ts +5 -3
- package/server/graphql/resolvers/worksheet/unloading-return/complete-unload-return-partially.ts +5 -3
- package/server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.ts +9 -5
- package/server/graphql/resolvers/worksheet/unloading-return-worksheet.ts +4 -6
- package/server/graphql/resolvers/worksheet/unloading-worksheet.ts +5 -7
- package/server/graphql/resolvers/worksheet/update-worksheet.ts +5 -5
- package/server/graphql/resolvers/worksheet/vas/activate-vas.ts +5 -3
- package/server/graphql/resolvers/worksheet/vas/assign-vas-inventories.ts +5 -3
- package/server/graphql/resolvers/worksheet/vas/complete-vas.ts +5 -3
- package/server/graphql/resolvers/worksheet/vas/execute-vas.ts +5 -3
- package/server/graphql/resolvers/worksheet/vas/undo-vas-inventory.ts +5 -3
- package/server/graphql/resolvers/worksheet/vas/undo-vas.ts +5 -3
- package/server/graphql/resolvers/worksheet/vas-candidates.ts +20 -17
- package/server/graphql/resolvers/worksheet/vas-inventories.ts +9 -7
- package/server/graphql/resolvers/worksheet/vas-transactions/common-utils.ts +36 -18
- package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.ts +12 -5
- package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/complete-relabeling.ts +6 -3
- package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/relabeling.ts +14 -6
- package/server/graphql/resolvers/worksheet/vas-transactions/relabeling/undo-relabeling.ts +5 -7
- package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.ts +3 -2
- package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.ts +8 -5
- package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.ts +6 -16
- package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/complete-repalletizing.ts +5 -2
- package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/repalletizing.ts +10 -8
- package/server/graphql/resolvers/worksheet/vas-transactions/repalletizing/undo-repalletizing.ts +3 -5
- package/server/graphql/resolvers/worksheet/vas-transactions/unpacking/complete-unpacking.ts +6 -6
- package/server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.ts +10 -13
- package/server/graphql/resolvers/worksheet/vas-worksheet.ts +13 -11
- package/server/graphql/resolvers/worksheet/worksheet-by-order-no.ts +13 -8
- package/server/graphql/resolvers/worksheet/worksheet-with-pagination.ts +7 -5
- package/server/graphql/resolvers/worksheet/worksheet.ts +86 -32
- package/server/graphql/resolvers/worksheet/worksheets.ts +60 -19
- package/server/graphql/resolvers/worksheet-detail/check-progressing-pallet.ts +7 -8
- package/server/graphql/resolvers/worksheet-detail/create-worksheet-detail.ts +4 -6
- package/server/graphql/resolvers/worksheet-detail/delete-worksheet-detail.ts +5 -6
- package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.ts +13 -19
- package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details.ts +19 -27
- package/server/graphql/resolvers/worksheet-detail/generate-carton-id.ts +2 -4
- package/server/graphql/resolvers/worksheet-detail/generate-pallet-id.ts +6 -6
- package/server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.ts +7 -4
- package/server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.ts +3 -3
- package/server/graphql/resolvers/worksheet-detail/index.ts +3 -1
- package/server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts +164 -0
- package/server/graphql/resolvers/worksheet-detail/update-worksheet-detail.ts +8 -7
- package/server/graphql/resolvers/worksheet-detail/worksheet-detail.ts +6 -7
- package/server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.ts +5 -5
- package/server/graphql/resolvers/worksheet-detail/worksheet-details.ts +6 -7
- package/server/graphql/resolvers/worksheet-movement/create-worksheet-movement.ts +4 -3
- package/server/graphql/resolvers/worksheet-movement/delete-worksheet-movement.ts +3 -2
- package/server/graphql/resolvers/worksheet-movement/update-worksheet-movement.ts +2 -4
- package/server/graphql/resolvers/worksheet-movement/worksheet-movement.ts +3 -6
- package/server/graphql/resolvers/worksheet-movement/worksheet-movements.ts +4 -4
- package/server/graphql/types/worksheet/batch-pick-worksheet-info.ts +9 -0
- package/server/graphql/types/worksheet/delivery-order-info.ts +3 -0
- package/server/graphql/types/worksheet/delivery-order-ro.ts +15 -0
- package/server/graphql/types/worksheet/index.ts +49 -38
- package/server/graphql/types/worksheet/multiple-release-good-worksheet.ts +8 -0
- package/server/graphql/types/worksheet/sellercraft-document.ts +8 -0
- package/server/graphql/types/worksheet-detail/index.ts +10 -0
- package/server/graphql/types/worksheet-detail/inventory-detail.ts +1 -0
- package/server/utils/inventory-util.ts +20 -14
- package/server/utils/worksheet-util.ts +10 -6
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js +0 -25
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js.map +0 -1
- package/dist-server/graphql/types/worksheet/airwaybill.js +0 -11
- package/dist-server/graphql/types/worksheet/airwaybill.js.map +0 -1
- package/server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.ts +0 -30
- package/server/graphql/types/worksheet/airwaybill.ts +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-po.js","sourceRoot":"","sources":["../../server/controllers/render-po.ts"],"names":[],"mappings":"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","sourcesContent":["import FormData from 'form-data'\nimport fetch from 'node-fetch'\nimport { getRepository, SelectQueryBuilder } from 'typeorm'\n\nimport { Attachment, STORAGE } from '@things-factory/attachment-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { config } from '@things-factory/env'\nimport { InvoiceProduct, ReleaseGood, PurchaseOrder, PurchaseOrderOtherCharge, OrderProduct } from '@things-factory/sales-base'\n\nimport { Domain } from '@things-factory/shell'\n\nimport { TEMPLATE_TYPE } from '../constants'\nimport { DateTimeConverter } from '../utils/datetime-util'\n\nconst REPORT_API_URL = config.get('reportApiUrl', 'http://localhost:8888/rest/report/show_html')\n\nexport async function renderPO({ req, timezoneOffSet }, context: any) {\n try {\n const domain: Domain = await getRepository(Domain).findOne({\n where: { id: context.state.domain.id }\n })\n\n let result = await Promise.all(\n req.poIds.map(async poId => {\n try {\n const qb: SelectQueryBuilder<PurchaseOrder> = await getRepository(PurchaseOrder)\n .createQueryBuilder('po')\n .innerJoinAndSelect('po.domain', 'domain')\n .innerJoinAndSelect('po.bizplace', 'bizplace')\n .innerJoinAndSelect('bizplace.domain', 'bizplace_domain')\n .innerJoinAndSelect('bizplace.company', 'company')\n .innerJoinAndSelect('company.domain', 'company_domain')\n .leftJoinAndSelect('contact_points', 'cp', 'po.supplier_id = cp.id')\n .where('po.id = :poId')\n .andWhere('po.domain = :domainId')\n .setParameters({ poId, domainId: domain.id })\n\n let record: any = await qb.getRawOne()\n\n if (record) {\n const partnerBiz: Partial<Bizplace> = {\n id: record.bizplace_id,\n name: record.bizplace_name,\n address: record.bizplace_address,\n domain: { id: record.bizplace_domain_id }\n }\n\n const foundTemplate: Attachment = await getRepository(Attachment).findOne({\n where: { domain: partnerBiz.domain, category: TEMPLATE_TYPE.PO_TEMPLATE }\n })\n\n const foundLogo: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: partnerBiz.domain,\n category: TEMPLATE_TYPE.LOGO\n }\n })\n\n let logo = null\n if (foundLogo?.path) {\n logo = 'data:' + foundLogo.mimetype + ';base64,' + (await STORAGE.readFile(foundLogo.path, 'base64'))\n }\n\n const template = await STORAGE.readFile(foundTemplate.path, 'utf-8')\n\n const poocQb: SelectQueryBuilder<PurchaseOrderOtherCharge> = await getRepository(PurchaseOrderOtherCharge)\n .createQueryBuilder('pooc')\n .where('pooc.purchase_order_id = :poId')\n .andWhere('pooc.apply_in_items = false')\n .setParameters({ poId })\n\n let poOtherCharges: any[] = await poocQb.getRawMany()\n\n\n const qb: SelectQueryBuilder<OrderProduct> = await getRepository(OrderProduct)\n .createQueryBuilder('op')\n .innerJoin('domains', 'd', 'op.domain_id = d.id')\n .leftJoinAndSelect('purchase_orders', 'po', 'po.id = op.purchase_order_id')\n .leftJoinAndSelect('products', 'p', 'op.product_id = p.id')\n .where('op.purchase_order_id = :poId')\n .andWhere('op.domain = :domainId')\n .setParameters({ poId, domainId: domain.id })\n\n let items: any[] = await qb.getRawMany()\n\n const product_list = items.map((item, idx) => {\n return {\n list_no: idx + 1,\n product_sku: item.p_sku,\n product_name: item.p_name,\n product_desc: item.p_description,\n product_qty: item.op_pack_qty,\n product_uom: item.op_uom,\n product_other_charges: item.ip_other_charges,\n product_unit_price: (item.op_unit_price).toFixed(2),\n product_total_price: ((((item.op_unit_price || 0) * item.op_pack_qty) - (item.op_discount_amt || 0)) * (1 + (item.op_tax_rate / 100))).toFixed(2),\n product_tax_rate: item.op_tax_rate,\n product_disc_amt: item.op_discount_amt\n }\n })\n\n\n let date = DateTimeConverter.date(new Date(record.po_created_at - timezoneOffSet))\n let eta = DateTimeConverter.date(new Date(record.po_eta_date))\n\n let subtotal = getRoundedValue(\n product_list.reduce((init, item) => {\n return (init += parseFloat(item.product_total_price))\n }, 0) || 0\n )\n\n const data = {\n logo_url: logo,\n company_name: record.company_description,\n company_address: record.company_address,\n company_postal_code: record.company_postal_code,\n po_number: record.po_name,\n po_order_date: date,\n po_delivery_date: eta,\n ref_no: record.po_ref_no,\n cp_company_name: record.cp_company_name,\n cp_address: record.cp_address2 ? [record.cp_address, record.cp_address2].join(', ') : record.cp_address,\n cp_contact_name: record.cp_name,\n cp_email: record.cp_email,\n cp_phone_number: record.cp_phone,\n product_list,\n charges_list: [\n {\n field: 'SUBTOTAL', value: subtotal.toFixed(2)\n },\n ...poOtherCharges.map(itm => { return { field: itm.pooc_name.toUpperCase(), value: itm.pooc_total_amt.toFixed(2) } }),\n {\n field: 'TOTAL', value: (poOtherCharges.reduce((init, item) => {\n return init += (item.pooc_total_amt)\n }, subtotal) || 0).toFixed(2),\n },\n ]\n }\n\n const formData = new FormData()\n formData.append('template', template)\n formData.append('jsonString', JSON.stringify(data))\n\n const response = await fetch(REPORT_API_URL, {\n method: 'POST',\n body: formData\n })\n\n return await response.text()\n }\n return null\n } catch (ex) {\n return null\n }\n })\n )\n\n if (result.filter(x => x != null).length <= 0) {\n throw Error('No purchase order found!')\n }\n\n return result.join()\n } catch (ex) {\n throw ex\n }\n}\n\nfunction getRoundedValue(value = 0) {\n return Math.round((value + Number.EPSILON) * 100) / 100\n}\n"]}
|
|
1
|
+
{"version":3,"file":"render-po.js","sourceRoot":"","sources":["../../server/controllers/render-po.ts"],"names":[],"mappings":"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","sourcesContent":["import FormData from 'form-data'\nimport fetch from 'node-fetch'\nimport { SelectQueryBuilder } from 'typeorm'\n\nimport { Attachment, STORAGE } from '@things-factory/attachment-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { config } from '@things-factory/env'\nimport { OrderProduct, PurchaseOrder, PurchaseOrderOtherCharge } from '@things-factory/sales-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { TEMPLATE_TYPE } from '../constants'\nimport { DateTimeConverter } from '../utils/datetime-util'\n\nconst REPORT_API_URL = config.get('reportApiUrl', 'http://localhost:8888/rest/report/show_html')\n\nexport async function renderPO({ req, timezoneOffSet }, context: ResolverContext) {\n try {\n const domain: Domain = await getRepository(Domain).findOne({\n where: { id: context.state.domain.id }\n })\n\n let result = await Promise.all(\n req.poIds.map(async poId => {\n try {\n const qb: SelectQueryBuilder<PurchaseOrder> = await getRepository(PurchaseOrder)\n .createQueryBuilder('po')\n .innerJoinAndSelect('po.domain', 'domain')\n .innerJoinAndSelect('po.bizplace', 'bizplace')\n .innerJoinAndSelect('bizplace.domain', 'bizplace_domain')\n .innerJoinAndSelect('bizplace.company', 'company')\n .innerJoinAndSelect('company.domain', 'company_domain')\n .leftJoinAndSelect('contact_points', 'cp', 'po.supplier_id = cp.id')\n .leftJoinAndSelect('arrival_notices', 'an', 'an.purchase_order_id = po.id')\n .where('po.id = :poId')\n .andWhere('po.domain = :domainId')\n .setParameters({ poId, domainId: domain.id })\n\n let record: any = await qb.getRawOne()\n\n if (record) {\n const partnerBiz: Partial<Bizplace> = {\n id: record.bizplace_id,\n name: record.bizplace_name,\n address: record.bizplace_address,\n domain: { id: record.bizplace_domain_id }\n }\n\n const foundTemplate: Attachment = await getRepository(Attachment).findOne({\n where: { domain: partnerBiz.domain, category: TEMPLATE_TYPE.PO_TEMPLATE }\n })\n\n const foundLogo: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: partnerBiz.domain,\n category: TEMPLATE_TYPE.LOGO\n }\n })\n\n let logo = null\n if (foundLogo?.path) {\n logo = 'data:' + foundLogo.mimetype + ';base64,' + (await STORAGE.readFile(foundLogo.path, 'base64'))\n }\n\n const template = await STORAGE.readFile(foundTemplate.path, 'utf-8')\n\n const poocQb: SelectQueryBuilder<PurchaseOrderOtherCharge> = getRepository(PurchaseOrderOtherCharge)\n .createQueryBuilder('pooc')\n .where('pooc.purchase_order_id = :poId')\n .andWhere('pooc.apply_in_items = false')\n .setParameters({ poId })\n\n let poOtherCharges: any[] = await poocQb.getRawMany()\n\n const qb: SelectQueryBuilder<OrderProduct> = getRepository(OrderProduct)\n .createQueryBuilder('op')\n .innerJoin('domains', 'd', 'op.domain_id = d.id')\n .innerJoinAndSelect('purchase_orders', 'po', 'po.id = op.purchase_order_id')\n .innerJoinAndSelect('products', 'p', 'op.product_id = p.id')\n .where('op.purchase_order_id = :poId')\n .andWhere('op.domain = :domainId')\n .setParameters({ poId, domainId: domain.id })\n .orderBy('p.sku')\n\n let items: any[] = await qb.getRawMany()\n\n const product_list = items.map((item, idx) => {\n return {\n list_no: idx + 1,\n product_sku: item.p_sku,\n product_name: item.p_name,\n product_desc: item.p_description,\n product_remark: item.op_remark,\n product_qty: item.op_pack_qty,\n product_uom: item.op_uom,\n product_other_charges: item.ip_other_charges,\n product_unit_price: item.op_unit_price.toFixed(2),\n product_total_price: (\n ((item.op_unit_price || 0) * item.op_pack_qty - (item.op_discount_amt || 0)) *\n (1 + item.op_tax_rate / 100)\n ).toFixed(2),\n product_tax_rate: item.op_tax_rate,\n product_disc_amt: item.op_discount_amt,\n ref_no: record.po_ref_no\n }\n })\n\n let date = DateTimeConverter.date(new Date(record.po_created_at - timezoneOffSet))\n let eta = DateTimeConverter.date(new Date(record.po_eta_date))\n\n let subtotal = getRoundedValue(\n product_list.reduce((init, item) => {\n return (init += parseFloat(item.product_total_price))\n }, 0) || 0\n )\n\n const data = {\n logo_url: logo,\n company_name: record.company_description,\n company_address: record.company_address,\n company_postal_code: record.company_postal_code,\n an_name: record.an_name,\n po_number: record.po_name,\n po_order_date: date,\n po_delivery_date: eta,\n ref_no: record.po_ref_no,\n cp_company_name: record.cp_company_name,\n cp_address: record.cp_address2 ? [record.cp_address, record.cp_address2].join(', ') : record.cp_address,\n cp_contact_name: record.cp_name,\n cp_email: record.cp_email,\n cp_phone_number: record.cp_phone,\n product_list,\n charges_list: [\n {\n field: 'SUBTOTAL',\n value: subtotal.toFixed(2)\n },\n ...poOtherCharges.map(itm => {\n return { field: itm.pooc_name.toUpperCase(), value: itm.pooc_total_amt.toFixed(2) }\n }),\n {\n field: 'TOTAL',\n value: (\n poOtherCharges.reduce((init, item) => {\n return (init += item.pooc_total_amt)\n }, subtotal) || 0\n ).toFixed(2)\n }\n ]\n }\n\n const formData = new FormData()\n formData.append('template', template)\n formData.append('jsonString', JSON.stringify(data))\n\n const response = await fetch(REPORT_API_URL, {\n method: 'POST',\n body: formData\n })\n\n return await response.text()\n }\n return null\n } catch (ex) {\n return null\n }\n })\n )\n\n if (result.filter(x => x != null).length <= 0) {\n throw Error('No purchase order found!')\n }\n\n return result.join()\n } catch (ex) {\n throw ex\n }\n}\n\nfunction getRoundedValue(value = 0) {\n return Math.round((value + Number.EPSILON) * 100) / 100\n}\n"]}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.renderRODO = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
6
5
|
const form_data_1 = tslib_1.__importDefault(require("form-data"));
|
|
7
6
|
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
|
|
8
7
|
const typeorm_1 = require("typeorm");
|
|
@@ -13,17 +12,17 @@ const env_1 = require("@things-factory/env");
|
|
|
13
12
|
const sales_base_1 = require("@things-factory/sales-base");
|
|
14
13
|
const shell_1 = require("@things-factory/shell");
|
|
15
14
|
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
16
|
-
const warehouse_base_2 = require("@things-factory/warehouse-base");
|
|
17
15
|
const constants_1 = require("../constants");
|
|
18
16
|
const entities_1 = require("../entities");
|
|
19
17
|
const datetime_util_1 = require("../utils/datetime-util");
|
|
20
18
|
const REPORT_API_URL = env_1.config.get('reportApiUrl', 'http://localhost:8888/rest/report/show_html');
|
|
21
19
|
async function renderRODO({ doNo }, context) {
|
|
22
|
-
const
|
|
20
|
+
const { user, tx } = context.state;
|
|
21
|
+
const domain = await (0, shell_1.getRepository)(shell_1.Domain).findOne({
|
|
23
22
|
where: { id: context.state.domain.id }
|
|
24
23
|
}); //.. find domain
|
|
25
|
-
const foundDO = await (0,
|
|
26
|
-
where: { domain, name: doNo },
|
|
24
|
+
const foundDO = await (0, shell_1.getRepository)(sales_base_1.DeliveryOrder).findOne({
|
|
25
|
+
where: { domain: { id: domain.id }, name: doNo },
|
|
27
26
|
relations: [
|
|
28
27
|
'domain',
|
|
29
28
|
'bizplace',
|
|
@@ -39,68 +38,88 @@ async function renderRODO({ doNo }, context) {
|
|
|
39
38
|
const ownTransportFlag = foundDO.ownCollection;
|
|
40
39
|
let foundCP = null;
|
|
41
40
|
if (foundDO === null || foundDO === void 0 ? void 0 : foundDO.contactPointRefId) {
|
|
42
|
-
foundCP = await (0,
|
|
43
|
-
where: { domain, id: foundDO.contactPointRefId }
|
|
41
|
+
foundCP = await (0, shell_1.getRepository)(biz_base_1.ContactPoint).findOne({
|
|
42
|
+
where: { domain: { id: domain.id }, id: foundDO.contactPointRefId }
|
|
44
43
|
});
|
|
45
44
|
}
|
|
46
45
|
const foundRO = foundDO.releaseGood;
|
|
47
46
|
const partnerBiz = foundDO.bizplace; //customer bizplace
|
|
48
47
|
const ownRefNo = foundRO.refNo;
|
|
49
|
-
let foundInventoryItem
|
|
50
|
-
|
|
48
|
+
let foundInventoryItem;
|
|
49
|
+
await (0, typeorm_1.getManager)().transaction(async (trxMgr) => {
|
|
50
|
+
foundInventoryItem = await trxMgr.query(`
|
|
51
|
+
SELECT seq, CASE WHEN total_count = seq THEN seq ELSE NULL END AS max_seq,sku,brand_sku,serial_number FROM (
|
|
52
|
+
select row_number() over(partition by p.brand_sku ORDER BY p.brand_sku, ii.serial_number) AS "seq",
|
|
53
|
+
count(*) over(partition by p.brand_sku) AS total_count,
|
|
54
|
+
p.sku,p.brand_sku, ii.serial_number
|
|
55
|
+
from inventory_items ii
|
|
56
|
+
left join products p on ii.product_id = p.id
|
|
57
|
+
where outbound_order_id = $1
|
|
58
|
+
group by p.sku,ii.serial_number,p.brand_sku
|
|
59
|
+
) src
|
|
60
|
+
ORDER BY sku, brand_sku, serial_number, seq
|
|
61
|
+
`, [foundDO.releaseGoodId]);
|
|
62
|
+
});
|
|
63
|
+
if (foundInventoryItem.length > 0) {
|
|
64
|
+
foundInventoryItem[0].ref_no = ownRefNo || '';
|
|
65
|
+
}
|
|
66
|
+
const partnerDomain = await (0, shell_1.getRepository)(auth_base_1.Partner).findOne({
|
|
51
67
|
where: { partnerDomain: partnerBiz.domain, domain },
|
|
52
68
|
relations: ['domain']
|
|
53
69
|
});
|
|
54
70
|
const domainOwner = partnerDomain.domain;
|
|
55
|
-
const domainBizplace = await (0,
|
|
71
|
+
const domainBizplace = await (0, shell_1.getRepository)(biz_base_1.Bizplace).findOne({
|
|
56
72
|
where: { domain: domainOwner },
|
|
57
73
|
relations: ['company']
|
|
58
74
|
});
|
|
59
75
|
// 5. find domain contact point
|
|
60
|
-
const foundWarehouseCP = await (0,
|
|
61
|
-
where: { domain, bizplace: domainBizplace, type: 'WAREHOUSE' }
|
|
76
|
+
const foundWarehouseCP = await (0, shell_1.getRepository)(biz_base_1.ContactPoint).findOne({
|
|
77
|
+
where: { domain: { id: domain.id }, bizplace: domainBizplace, type: 'WAREHOUSE' }
|
|
62
78
|
});
|
|
63
|
-
const foundWS = await (0,
|
|
64
|
-
where: { domain, releaseGood: foundRO },
|
|
79
|
+
const foundWS = await (0, shell_1.getRepository)(entities_1.Worksheet).findOne({
|
|
80
|
+
where: { domain: { id: domain.id }, releaseGood: foundRO },
|
|
65
81
|
relations: ['updater']
|
|
66
82
|
});
|
|
67
|
-
const foundLoadingWS = await (0,
|
|
68
|
-
where: { domain, releaseGood: foundRO, type: constants_1.WORKSHEET_TYPE.LOADING },
|
|
83
|
+
const foundLoadingWS = await (0, shell_1.getRepository)(entities_1.Worksheet).findOne({
|
|
84
|
+
where: { domain: { id: domain.id }, releaseGood: foundRO, type: constants_1.WORKSHEET_TYPE.LOADING },
|
|
69
85
|
relations: ['updater']
|
|
70
86
|
});
|
|
71
87
|
//find reusable pallet
|
|
72
|
-
const foundRP = await (0,
|
|
73
|
-
where: { domain, refOrderNo: foundRO.name }
|
|
88
|
+
const foundRP = await (0, shell_1.getRepository)(warehouse_base_1.Pallet).find({
|
|
89
|
+
where: { domain: { id: domain.id }, refOrderNo: foundRO.name }
|
|
74
90
|
});
|
|
75
91
|
//find list of loaded inventory
|
|
76
|
-
const targetInventories = await (0,
|
|
77
|
-
where: { domain, deliveryOrder: foundDO },
|
|
92
|
+
const targetInventories = await (0, shell_1.getRepository)(sales_base_1.OrderInventory).find({
|
|
93
|
+
where: { domain: { id: domain.id }, deliveryOrder: foundDO },
|
|
78
94
|
relations: ['inventory']
|
|
79
95
|
});
|
|
80
96
|
const orderInvIds = targetInventories.map((oi) => oi.id);
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
const wdQb = (0, shell_1.getRepository)(entities_1.WorksheetDetail).createQueryBuilder('wd');
|
|
98
|
+
wdQb
|
|
99
|
+
.leftJoinAndSelect('wd.targetInventory', 'targetInventory')
|
|
100
|
+
.leftJoinAndSelect('targetInventory.inventory', 'inventory')
|
|
101
|
+
.leftJoinAndSelect('inventory.location', 'location')
|
|
102
|
+
.leftJoinAndSelect('inventory.product', 'product')
|
|
103
|
+
.leftJoinAndSelect('product.productDetails', 'productDetails')
|
|
104
|
+
.leftJoinAndSelect('inventory.reusablePallet', 'reusablePallet')
|
|
105
|
+
.leftJoinAndSelect('wd.domain', 'domain')
|
|
106
|
+
.leftJoinAndSelect('wd.creator', 'creator')
|
|
107
|
+
.leftJoinAndSelect('wd.updater', 'updater')
|
|
108
|
+
.where('wd.domain_id = :domainId', { domainId: domain.id })
|
|
109
|
+
.andWhere('wd.target_inventory_id IN (:...orderInvIds) ', { orderInvIds })
|
|
110
|
+
.andWhere('wd.type = :type ', { type: constants_1.WORKSHEET_TYPE.LOADING })
|
|
111
|
+
.andWhere('wd.status = :status ', { status: constants_1.WORKSHEET_STATUS.DONE })
|
|
112
|
+
.orderBy('product.sku')
|
|
113
|
+
.addOrderBy('product.name')
|
|
114
|
+
.addOrderBy('product.description')
|
|
115
|
+
.addOrderBy('inventory.batch_id');
|
|
116
|
+
const foundWSD = await wdQb.getMany();
|
|
117
|
+
const foundTemplate = await (0, shell_1.getRepository)(attachment_base_1.Attachment).findOne({
|
|
118
|
+
where: { domain: { id: domain.id }, category: constants_1.TEMPLATE_TYPE.DO_TEMPLATE }
|
|
100
119
|
});
|
|
101
|
-
const foundLogo = await (0,
|
|
120
|
+
const foundLogo = await (0, shell_1.getRepository)(attachment_base_1.Attachment).findOne({
|
|
102
121
|
where: {
|
|
103
|
-
domain,
|
|
122
|
+
domain: { id: domain.id },
|
|
104
123
|
category: constants_1.TEMPLATE_TYPE.LOGO
|
|
105
124
|
}
|
|
106
125
|
});
|
|
@@ -191,50 +210,6 @@ async function renderRODO({ doNo }, context) {
|
|
|
191
210
|
});
|
|
192
211
|
}
|
|
193
212
|
}, []);
|
|
194
|
-
let tempFoundInventoryItem = [];
|
|
195
|
-
const sepProductList = productList.flatMap(p => Array.from({ length: p.product_qty }, () => (Object.assign({}, p))));
|
|
196
|
-
sepProductList.forEach((product) => {
|
|
197
|
-
let temp = foundInventoryItem.filter((item) => {
|
|
198
|
-
return item.sku == product.product_sku;
|
|
199
|
-
});
|
|
200
|
-
if (temp.length > 1) {
|
|
201
|
-
temp.forEach(res => {
|
|
202
|
-
console.log(res);
|
|
203
|
-
if (tempFoundInventoryItem.length == 0) {
|
|
204
|
-
tempFoundInventoryItem.push(res);
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
const index = tempFoundInventoryItem.findIndex(res => res.serial_number == res.serial_number);
|
|
208
|
-
if (!index) {
|
|
209
|
-
tempFoundInventoryItem.push(res);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
tempFoundInventoryItem = lodash_1.default.uniqWith(tempFoundInventoryItem, lodash_1.default.isEqual);
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
tempFoundInventoryItem.push(Object.assign({}, ...temp));
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
foundInventoryItem = tempFoundInventoryItem;
|
|
220
|
-
const filterInventoryItem = lodash_1.default.groupBy(foundInventoryItem, i => i.sku);
|
|
221
|
-
const tempIndexArr = [];
|
|
222
|
-
const tempTotalQuantity = [];
|
|
223
|
-
Object.keys(filterInventoryItem).forEach(k => {
|
|
224
|
-
const tempIndex = foundInventoryItem.findIndex(i => {
|
|
225
|
-
return i.sku == k;
|
|
226
|
-
});
|
|
227
|
-
tempIndexArr.push(tempIndex);
|
|
228
|
-
});
|
|
229
|
-
Object.values(filterInventoryItem).forEach(k => {
|
|
230
|
-
const tempQuantity = k.length;
|
|
231
|
-
tempTotalQuantity.push(tempQuantity);
|
|
232
|
-
});
|
|
233
|
-
tempIndexArr.forEach((t, index) => {
|
|
234
|
-
if (t >= 0)
|
|
235
|
-
foundInventoryItem[t].totalQuantity = tempTotalQuantity[index];
|
|
236
|
-
});
|
|
237
|
-
foundInventoryItem[0].ref_no = ownRefNo || "";
|
|
238
213
|
const data = {
|
|
239
214
|
logo_url: logo,
|
|
240
215
|
customer_biz: partnerBiz.name,
|
|
@@ -252,28 +227,87 @@ async function renderRODO({ doNo }, context) {
|
|
|
252
227
|
warehouse_phone: foundWarehouseCP ? foundWarehouseCP.phone : null,
|
|
253
228
|
warehouse_fax: foundWarehouseCP ? foundWarehouseCP.fax : null,
|
|
254
229
|
warehouse_email: foundWarehouseCP ? foundWarehouseCP.email : null,
|
|
255
|
-
customer_name: foundCP ? foundCP.name
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
230
|
+
customer_name: (foundCP === null || foundCP === void 0 ? void 0 : foundCP.name) ||
|
|
231
|
+
foundDO.attentionTo ||
|
|
232
|
+
foundDO.attentionCompany ||
|
|
233
|
+
(foundRO === null || foundRO === void 0 ? void 0 : foundRO.attentionTo) ||
|
|
234
|
+
(foundRO === null || foundRO === void 0 ? void 0 : foundRO.attentionCompany) ||
|
|
235
|
+
null,
|
|
236
|
+
customer_delivery_address: (foundCP === null || foundCP === void 0 ? void 0 : foundCP.address) ||
|
|
237
|
+
[
|
|
238
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress1,
|
|
239
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress2,
|
|
240
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress3,
|
|
241
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress4,
|
|
242
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress5,
|
|
243
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.postalCode,
|
|
244
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.city,
|
|
245
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.state,
|
|
246
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.country
|
|
247
|
+
]
|
|
248
|
+
.filter(Boolean)
|
|
249
|
+
.join(', ') ||
|
|
250
|
+
[
|
|
251
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress1,
|
|
252
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress2,
|
|
253
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress3,
|
|
254
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress4,
|
|
255
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress5,
|
|
256
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.postalCode,
|
|
257
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.city,
|
|
258
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.state,
|
|
259
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.country
|
|
260
|
+
]
|
|
261
|
+
.filter(Boolean)
|
|
262
|
+
.join(', ') ||
|
|
263
|
+
null,
|
|
264
|
+
customer_billing_address: (foundCP === null || foundCP === void 0 ? void 0 : foundCP.billingAddress) || (foundDO === null || foundDO === void 0 ? void 0 : foundDO.billingAddress) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.billingAddress) || null,
|
|
265
|
+
new_billing_address: (foundDO === null || foundDO === void 0 ? void 0 : foundDO.billingAddress) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.billingAddress) || null,
|
|
266
|
+
new_delivery_address: (foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress1) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress1) || null,
|
|
267
|
+
new_delivery_address2: (foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress2) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress2) || null,
|
|
268
|
+
new_delivery_address3: (foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress3) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress3) || null,
|
|
269
|
+
new_delivery_address4: (foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress4) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress4) || null,
|
|
270
|
+
new_delivery_address5: (foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress5) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress5) || null,
|
|
271
|
+
new_delivery_city: (foundDO === null || foundDO === void 0 ? void 0 : foundDO.city) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.city) || null,
|
|
272
|
+
new_delivery_state: (foundDO === null || foundDO === void 0 ? void 0 : foundDO.state) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.state) || null,
|
|
273
|
+
new_delivery_postal_code: (foundDO === null || foundDO === void 0 ? void 0 : foundDO.postalCode) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.postalCode) || null,
|
|
274
|
+
new_delivery_country: (foundDO === null || foundDO === void 0 ? void 0 : foundDO.country) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.country) || null,
|
|
275
|
+
new_attention_to: (foundDO === null || foundDO === void 0 ? void 0 : foundDO.attentionTo) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.attentionTo) || null,
|
|
276
|
+
new_attention_company: (foundDO === null || foundDO === void 0 ? void 0 : foundDO.attentionCompany) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.attentionCompany) || null,
|
|
277
|
+
new_phone_no: (foundDO === null || foundDO === void 0 ? void 0 : foundDO.phone1) || (foundRO === null || foundRO === void 0 ? void 0 : foundRO.phone1) || null,
|
|
278
|
+
customer_phone: foundCP ? foundCP.phone : null || (foundDO === null || foundDO === void 0 ? void 0 : foundDO.phone1),
|
|
272
279
|
customer_fax: foundCP ? foundCP.fax : null,
|
|
273
280
|
customer_email: foundCP ? foundCP.email : null,
|
|
274
|
-
customer_company: foundCP ? foundCP.companyName : null,
|
|
281
|
+
customer_company: foundCP ? foundCP.companyName : null || foundDO.attentionCompany,
|
|
275
282
|
own_collection: ownTransportFlag ? '[SELF-COLLECTION]' : `[${domain.brandName} TRANSPORT]`,
|
|
276
|
-
destination: foundDO.to ||
|
|
283
|
+
destination: foundDO.to ||
|
|
284
|
+
[
|
|
285
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress1,
|
|
286
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress2,
|
|
287
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress3,
|
|
288
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress4,
|
|
289
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.deliveryAddress5,
|
|
290
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.postalCode,
|
|
291
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.city,
|
|
292
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.state,
|
|
293
|
+
foundDO === null || foundDO === void 0 ? void 0 : foundDO.country
|
|
294
|
+
]
|
|
295
|
+
.filter(Boolean)
|
|
296
|
+
.join(', ') ||
|
|
297
|
+
[
|
|
298
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress1,
|
|
299
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress2,
|
|
300
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress3,
|
|
301
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress4,
|
|
302
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.deliveryAddress5,
|
|
303
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.postalCode,
|
|
304
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.city,
|
|
305
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.state,
|
|
306
|
+
foundRO === null || foundRO === void 0 ? void 0 : foundRO.country
|
|
307
|
+
]
|
|
308
|
+
.filter(Boolean)
|
|
309
|
+
.join(', ') ||
|
|
310
|
+
'',
|
|
277
311
|
ro_no: foundRO.name,
|
|
278
312
|
ro_created_at: foundRO.createdAt ? foundRO.createdAt : '',
|
|
279
313
|
ref_no: ownRefNo ? `${foundRO.name} / ${foundRO.refNo}` : `${foundRO.name}`,
|
|
@@ -304,7 +338,7 @@ async function renderRODO({ doNo }, context) {
|
|
|
304
338
|
}),
|
|
305
339
|
serialNumber: foundInventoryItem.map((item, idx) => {
|
|
306
340
|
return Object.assign(Object.assign({}, item), { delivery_to: foundDO.to });
|
|
307
|
-
})
|
|
341
|
+
}) || ''
|
|
308
342
|
}; //.. make data from do
|
|
309
343
|
const formData = new form_data_1.default();
|
|
310
344
|
formData.append('template', template);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-ro-do.js","sourceRoot":"","sources":["../../server/controllers/render-ro-do.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash'\nimport FormData from 'form-data'\nimport fetch from 'node-fetch'\nimport { Equal, getRepository, In } from 'typeorm'\n\nimport { Attachment, STORAGE } from '@things-factory/attachment-base'\nimport { Partner } from '@things-factory/auth-base'\nimport { Bizplace, ContactPoint } from '@things-factory/biz-base'\nimport { config } from '@things-factory/env'\nimport { ProductDetail } from '@things-factory/product-base'\nimport { DeliveryOrder, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'\nimport { Domain } from '@things-factory/shell'\nimport { Inventory, Pallet } from '@things-factory/warehouse-base'\nimport { InventoryItem } from '@things-factory/warehouse-base'\nimport { TEMPLATE_TYPE, WORKSHEET_STATUS, WORKSHEET_TYPE } from '../constants'\nimport { Worksheet, WorksheetDetail } from '../entities'\nimport { DateTimeConverter } from '../utils/datetime-util'\n\nconst REPORT_API_URL = config.get('reportApiUrl', 'http://localhost:8888/rest/report/show_html')\n\nexport async function renderRODO({ doNo }, context: any) {\n const domain: Domain = await getRepository(Domain).findOne({\n where: { id: context.state.domain.id }\n }) //.. find domain\n const foundDO: DeliveryOrder = await getRepository(DeliveryOrder).findOne({\n where: { domain, name: doNo },\n relations: [\n 'domain',\n 'bizplace',\n 'bizplace.company',\n 'bizplace.domain',\n 'transportDriver',\n 'transportVehicle',\n 'releaseGood',\n 'creator',\n 'updater'\n ]\n }) // .. find do from deliveryOrderId\n\n const ownTransportFlag: Boolean = foundDO.ownCollection\n\n let foundCP: ContactPoint = null\n if (foundDO?.contactPointRefId) {\n foundCP = await getRepository(ContactPoint).findOne({\n where: { domain, id: foundDO.contactPointRefId }\n })\n }\n\n const foundRO: ReleaseGood = foundDO.releaseGood\n const partnerBiz: Bizplace = foundDO.bizplace //customer bizplace\n const ownRefNo = foundRO.refNo\n\n let foundInventoryItem: InventoryItem[] = await getRepository(InventoryItem).query(\n `select row_number() over (partition by p.sku) as \"seq\",p.sku,p.brand_sku, ii.serial_number from inventory_items ii left join products p on ii.product_id = p.id where outbound_order_id = '${foundDO.releaseGood.id}' group by p.sku,ii.serial_number,p.brand_sku`\n )\n\n const partnerDomain: Partner = await getRepository(Partner).findOne({\n where: { partnerDomain: partnerBiz.domain, domain },\n relations: ['domain']\n })\n\n const domainOwner: Domain = partnerDomain.domain\n\n const domainBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { domain: domainOwner },\n relations: ['company']\n })\n\n // 5. find domain contact point\n const foundWarehouseCP: ContactPoint = await getRepository(ContactPoint).findOne({\n where: { domain, bizplace: domainBizplace, type: 'WAREHOUSE' }\n })\n\n const foundWS: Worksheet = await getRepository(Worksheet).findOne({\n where: { domain, releaseGood: foundRO },\n relations: ['updater']\n })\n\n const foundLoadingWS: Worksheet = await getRepository(Worksheet).findOne({\n where: { domain, releaseGood: foundRO, type: WORKSHEET_TYPE.LOADING },\n relations: ['updater']\n })\n\n //find reusable pallet\n const foundRP: Pallet[] = await getRepository(Pallet).find({\n where: { domain, refOrderNo: foundRO.name }\n })\n\n //find list of loaded inventory\n const targetInventories: OrderInventory[] = await getRepository(OrderInventory).find({\n where: { domain, deliveryOrder: foundDO },\n relations: ['inventory']\n })\n const orderInvIds: string[] = targetInventories.map((oi: any) => oi.id)\n\n const foundWSD: WorksheetDetail[] = await getRepository(WorksheetDetail).find({\n where: {\n domain,\n targetInventory: In(orderInvIds),\n type: WORKSHEET_TYPE.LOADING,\n status: Equal(WORKSHEET_STATUS.DONE)\n },\n relations: [\n 'targetInventory',\n 'targetInventory.inventory',\n 'targetInventory.inventory.location',\n 'targetInventory.inventory.product',\n 'targetInventory.inventory.product.productDetails',\n 'targetInventory.inventory.reusablePallet',\n 'updater'\n ]\n })\n\n const foundTemplate: Attachment = await getRepository(Attachment).findOne({\n where: { domain, category: TEMPLATE_TYPE.DO_TEMPLATE }\n })\n\n const foundLogo: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain,\n category: TEMPLATE_TYPE.LOGO\n }\n })\n\n let foundDriver: any = null\n if (foundDO.status !== ORDER_STATUS.READY_TO_DISPATCH) {\n if (foundDO?.ownCollection && foundDO?.otherDriver) {\n foundDriver = foundDO.otherDriver\n } else {\n foundDriver = foundDO.transportDriver.name\n }\n }\n\n const template = await STORAGE.readFile(foundTemplate.path, 'utf-8')\n let logo = null\n if (foundLogo?.path) {\n logo = 'data:' + foundLogo.mimetype + ';base64,' + (await STORAGE.readFile(foundLogo.path, 'base64'))\n }\n\n let productList: any[] = []\n productList = foundWSD\n .map((wsd: WorksheetDetail) => {\n const targetInventory: OrderInventory = wsd.targetInventory\n const inventory: Inventory = targetInventory.inventory\n const productDetails: ProductDetail[] = inventory.product.productDetails\n const matchedProductDetail: ProductDetail = productDetails.find(\n productDetail => productDetail.packingType === inventory.packingType\n )\n return {\n product_name: `${inventory.product.name} (${inventory.product.description})`,\n product_desc: `${inventory.product?.description || ''}`,\n product_nameOnly: `${inventory.product.name}`,\n product_sku: `${inventory.product.sku}`,\n product_type: inventory.packingType,\n product_size: matchedProductDetail ? matchedProductDetail.packingSize : inventory.packingSize,\n product_batch: inventory.batchId,\n product_batch_ref: inventory.batchIdRef,\n product_qty: targetInventory.releaseQty,\n product_weight: targetInventory.releaseWeight,\n product_gross_weight: inventory.product.grossWeight,\n product_uom_value: targetInventory.releaseUomValue,\n product_uom: inventory.uom,\n remark: targetInventory.remark,\n inventory_remark: inventory.remark,\n cross_docking: targetInventory.crossDocking,\n pallet: inventory?.reusablePallet && inventory?.reusablePallet?.name ? inventory.reusablePallet.name : ''\n }\n })\n .reduce((newItem, item) => {\n var foundItem = newItem.find(\n newItem =>\n newItem.product_name === item.product_name &&\n newItem.product_batch === item.product_batch &&\n newItem.product_batch_ref === item.product_batch_ref &&\n newItem.cross_docking === item.cross_docking &&\n newItem.pallet === item.pallet\n )\n if (!foundItem) {\n foundItem = {\n product_sku: item.product_sku,\n product_name: item.product_name,\n product_type: item.product_type,\n product_size: item.product_size,\n product_batch: item.product_batch,\n product_batch_ref: item.product_batch_ref,\n product_qty: item.product_qty,\n product_weight: item.product_weight,\n product_gross_weight: item.product_gross_weight,\n product_uom_value: item.product_uom_value,\n product_uom: item.product_uom,\n product_desc: item.product_desc,\n product_nameOnly: item.product_nameOnly,\n remark: item.remark,\n inventory_remark: item.inventory_remark,\n palletQty: 1,\n cross_docking: item.cross_docking,\n pallet: item.pallet\n }\n\n newItem.push(foundItem)\n return newItem\n } else {\n return newItem.map(ni => {\n if (\n ni.product_name === item.product_name &&\n ni.product_batch === item.product_batch &&\n ni.product_batch_ref === item.product_batch_ref &&\n ni.cross_docking === item.cross_docking &&\n ni.pallet === item.pallet\n ) {\n return {\n ...ni,\n palletQty: ni.palletQty + 1,\n product_qty: ni.product_qty + item.product_qty,\n product_weight: ni.product_weight + item.product_weight,\n product_uom_value: ni.product_uom_value + item.product_uom_value\n }\n } else {\n return ni\n }\n })\n }\n }, [])\n\n\n\n let tempFoundInventoryItem: any = []\n\n const sepProductList = productList.flatMap(p => Array.from({ length: p.product_qty }, () => ({ ...p })))\n\n sepProductList.forEach((product) => {\n\n let temp = foundInventoryItem.filter((item) => {\n return item.sku == product.product_sku\n })\n\n if (temp.length > 1) {\n temp.forEach(res => {\n console.log(res)\n\n if (tempFoundInventoryItem.length == 0) {\n tempFoundInventoryItem.push(res)\n } else {\n const index = tempFoundInventoryItem.findIndex(res => res.serial_number == res.serial_number)\n\n if (!index) {\n tempFoundInventoryItem.push(res)\n }\n }\n\n tempFoundInventoryItem = _.uniqWith(tempFoundInventoryItem, _.isEqual)\n })\n } else {\n tempFoundInventoryItem.push(Object.assign({}, ...temp))\n }\n })\n\n foundInventoryItem = tempFoundInventoryItem;\n\n const filterInventoryItem = _.groupBy(foundInventoryItem, i => i.sku)\n\n const tempIndexArr = []\n\n const tempTotalQuantity = []\n\n Object.keys(filterInventoryItem).forEach(k => {\n const tempIndex = foundInventoryItem.findIndex(i => {\n return i.sku == k\n })\n\n tempIndexArr.push(tempIndex)\n })\n\n Object.values(filterInventoryItem).forEach(k => {\n const tempQuantity = k.length\n\n tempTotalQuantity.push(tempQuantity)\n })\n\n tempIndexArr.forEach((t, index) => {\n if (t >= 0)\n foundInventoryItem[t].totalQuantity = tempTotalQuantity[index]\n })\n\n foundInventoryItem[0].ref_no = ownRefNo || \"\"\n\n const data = {\n logo_url: logo,\n customer_biz: partnerBiz.name,\n customer_full_biz: partnerBiz.company.name,\n company_domain: domainBizplace.company.name,\n company_brn: domainBizplace.company.brn,\n company_address: domainBizplace.company.address,\n company_email: foundWarehouseCP ? foundWarehouseCP?.email : null,\n company_phone: foundWarehouseCP ? foundWarehouseCP.phone : null,\n warehouse_address: foundWarehouseCP ? foundWarehouseCP.address : null,\n warehouse_address2: foundWarehouseCP ? foundWarehouseCP.address2 : null,\n warehouse_postcode: foundWarehouseCP ? foundWarehouseCP.postCode : null,\n warehouse_city: foundWarehouseCP ? foundWarehouseCP.city : null,\n warehouse_state: foundWarehouseCP ? foundWarehouseCP.state : null,\n warehouse_phone: foundWarehouseCP ? foundWarehouseCP.phone : null,\n warehouse_fax: foundWarehouseCP ? foundWarehouseCP.fax : null,\n warehouse_email: foundWarehouseCP ? foundWarehouseCP.email : null,\n customer_name: foundCP ? foundCP.name : null,\n customer_delivery_address: foundCP ? foundCP.address : null,\n customer_billing_address: foundCP ? foundCP.billingAddress : null,\n new_billing_address: foundRO?.billingAddress || null,\n new_delivery_address: foundRO?.deliveryAddress1 || null,\n new_delivery_address2: foundRO?.deliveryAddress2 || null,\n new_delivery_address3: foundRO?.deliveryAddress3 || null,\n new_delivery_address4: foundRO?.deliveryAddress4 || null,\n new_delivery_address5: foundRO?.deliveryAddress5 || null,\n new_delivery_city: foundRO?.city || null,\n new_delivery_state: foundRO?.state || null,\n new_delivery_postal_code: foundRO?.postalCode || null,\n new_delivery_country: foundRO?.country || null,\n new_attention_to: foundRO?.attentionTo || null,\n new_attention_company: foundRO?.attentionCompany || null,\n new_phone_no: foundRO?.phone1 || null,\n customer_phone: foundCP ? foundCP.phone : null,\n customer_fax: foundCP ? foundCP.fax : null,\n customer_email: foundCP ? foundCP.email : null,\n customer_company: foundCP ? foundCP.companyName : null,\n own_collection: ownTransportFlag ? '[SELF-COLLECTION]' : `[${domain.brandName} TRANSPORT]`,\n destination: foundDO.to || '',\n ro_no: foundRO.name,\n ro_created_at: foundRO.createdAt ? foundRO.createdAt : '',\n ref_no: ownRefNo ? `${foundRO.name} / ${foundRO.refNo}` : `${foundRO.name}`,\n ref_no_only: ownRefNo ? `${foundRO.refNo}` : '',\n ref_no2: foundRO.refNo2 ? `${foundRO.refNo2}` : '',\n ref_no3: foundRO.refNo3 ? `${foundRO.refNo3}` : '',\n order_no: foundDO.name,\n delivery_date: foundDO.deliveryDate || '',\n complete_loading_date: DateTimeConverter.date(foundLoadingWS.endedAt),\n ro_created_date: DateTimeConverter.date(foundRO.createdAt),\n truck_no: foundDO.truckNo,\n driver_name: foundDriver || '',\n pallet_qty: foundDO.palletQty,\n worker_name: foundWS.updater.name,\n do_remark: foundDO.remark,\n reusable_pallet: foundDO.reusablePallet,\n pallet_list: foundRP.map(rp => rp.name).join(', '),\n product_list: productList.map((prod: any, idx) => {\n return {\n ...prod,\n list_no: idx + 1,\n product_uom_value: `${Math.round(prod.product_uom_value * 100) / 100} ${prod.product_uom}`,\n remark: prod?.remark\n ? prod.remark\n : prod.cross_docking\n ? prod.pallet === ''\n ? `${prod.palletQty} PALLET(S) [C/D]`\n : `${prod.palletQty} PALLET(S) (${prod.pallet}) [C/D]`\n : prod.pallet === ''\n ? `${prod.palletQty} PALLET(S)`\n : `${prod.palletQty} PALLET(S) (${prod.pallet})`,\n inventory_remark: prod?.inventory_remark ? prod.inventory_remark : '',\n batch_id_ref: prod.product_batch_ref\n }\n }),\n serialNumber: foundInventoryItem.map((item: any, idx) => {\n return { ...item, delivery_to: foundDO.to }\n })\n } //.. make data from do\n const formData = new FormData()\n\n formData.append('template', template)\n formData.append('jsonString', JSON.stringify(data))\n\n const response = await fetch(REPORT_API_URL, {\n method: 'POST',\n body: formData\n })\n\n return await response.text()\n}\n"]}
|
|
1
|
+
{"version":3,"file":"render-ro-do.js","sourceRoot":"","sources":["../../server/controllers/render-ro-do.ts"],"names":[],"mappings":"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","sourcesContent":["import FormData from 'form-data'\nimport _ from 'lodash'\nimport fetch from 'node-fetch'\nimport { EntityManager, getManager } from 'typeorm'\n\nimport { Attachment, STORAGE } from '@things-factory/attachment-base'\nimport { Partner } from '@things-factory/auth-base'\nimport { Bizplace, ContactPoint } from '@things-factory/biz-base'\nimport { config } from '@things-factory/env'\nimport { ProductDetail } from '@things-factory/product-base'\nimport { DeliveryOrder, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { Inventory, Pallet } from '@things-factory/warehouse-base'\n\nimport { TEMPLATE_TYPE, WORKSHEET_STATUS, WORKSHEET_TYPE } from '../constants'\nimport { Worksheet, WorksheetDetail } from '../entities'\nimport { DateTimeConverter } from '../utils/datetime-util'\n\nconst REPORT_API_URL = config.get('reportApiUrl', 'http://localhost:8888/rest/report/show_html')\n\nexport async function renderRODO({ doNo }, context: ResolverContext) {\n const { user, tx } = context.state\n\n const domain: Domain = await getRepository(Domain).findOne({\n where: { id: context.state.domain.id }\n }) //.. find domain\n const foundDO: DeliveryOrder = await getRepository(DeliveryOrder).findOne({\n where: { domain: { id: domain.id }, name: doNo },\n relations: [\n 'domain',\n 'bizplace',\n 'bizplace.company',\n 'bizplace.domain',\n 'transportDriver',\n 'transportVehicle',\n 'releaseGood',\n 'creator',\n 'updater'\n ]\n }) // .. find do from deliveryOrderId\n\n const ownTransportFlag: Boolean = foundDO.ownCollection\n\n let foundCP: ContactPoint = null\n if (foundDO?.contactPointRefId) {\n foundCP = await getRepository(ContactPoint).findOne({\n where: { domain: { id: domain.id }, id: foundDO.contactPointRefId }\n })\n }\n\n const foundRO: ReleaseGood = foundDO.releaseGood\n const partnerBiz: Bizplace = foundDO.bizplace //customer bizplace\n const ownRefNo = foundRO.refNo\n\n let foundInventoryItem: any\n\n await getManager().transaction(async (trxMgr: EntityManager) => {\n foundInventoryItem = await trxMgr.query(\n `\n SELECT seq, CASE WHEN total_count = seq THEN seq ELSE NULL END AS max_seq,sku,brand_sku,serial_number FROM (\n select row_number() over(partition by p.brand_sku ORDER BY p.brand_sku, ii.serial_number) AS \"seq\", \n count(*) over(partition by p.brand_sku) AS total_count,\n p.sku,p.brand_sku, ii.serial_number \n from inventory_items ii \n left join products p on ii.product_id = p.id \n where outbound_order_id = $1\n group by p.sku,ii.serial_number,p.brand_sku\n ) src\n ORDER BY sku, brand_sku, serial_number, seq\n `,\n [foundDO.releaseGoodId]\n )\n })\n\n if (foundInventoryItem.length > 0) {\n foundInventoryItem[0].ref_no = ownRefNo || ''\n }\n\n const partnerDomain: Partner = await getRepository(Partner).findOne({\n where: { partnerDomain: partnerBiz.domain, domain },\n relations: ['domain']\n })\n\n const domainOwner: Domain = partnerDomain.domain\n\n const domainBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { domain: domainOwner },\n relations: ['company']\n })\n\n // 5. find domain contact point\n const foundWarehouseCP: ContactPoint = await getRepository(ContactPoint).findOne({\n where: { domain: { id: domain.id }, bizplace: domainBizplace, type: 'WAREHOUSE' }\n })\n\n const foundWS: Worksheet = await getRepository(Worksheet).findOne({\n where: { domain: { id: domain.id }, releaseGood: foundRO },\n relations: ['updater']\n })\n\n const foundLoadingWS: Worksheet = await getRepository(Worksheet).findOne({\n where: { domain: { id: domain.id }, releaseGood: foundRO, type: WORKSHEET_TYPE.LOADING },\n relations: ['updater']\n })\n\n //find reusable pallet\n const foundRP: Pallet[] = await getRepository(Pallet).find({\n where: { domain: { id: domain.id }, refOrderNo: foundRO.name }\n })\n\n //find list of loaded inventory\n const targetInventories: OrderInventory[] = await getRepository(OrderInventory).find({\n where: { domain: { id: domain.id }, deliveryOrder: foundDO },\n relations: ['inventory']\n })\n const orderInvIds: string[] = targetInventories.map((oi: any) => oi.id)\n\n const wdQb = getRepository(WorksheetDetail).createQueryBuilder('wd')\n wdQb\n .leftJoinAndSelect('wd.targetInventory', 'targetInventory')\n .leftJoinAndSelect('targetInventory.inventory', 'inventory')\n .leftJoinAndSelect('inventory.location', 'location')\n .leftJoinAndSelect('inventory.product', 'product')\n .leftJoinAndSelect('product.productDetails', 'productDetails')\n .leftJoinAndSelect('inventory.reusablePallet', 'reusablePallet')\n .leftJoinAndSelect('wd.domain', 'domain')\n .leftJoinAndSelect('wd.creator', 'creator')\n .leftJoinAndSelect('wd.updater', 'updater')\n .where('wd.domain_id = :domainId', { domainId: domain.id })\n .andWhere('wd.target_inventory_id IN (:...orderInvIds) ', { orderInvIds })\n .andWhere('wd.type = :type ', { type: WORKSHEET_TYPE.LOADING })\n .andWhere('wd.status = :status ', { status: WORKSHEET_STATUS.DONE })\n .orderBy('product.sku')\n .addOrderBy('product.name')\n .addOrderBy('product.description')\n .addOrderBy('inventory.batch_id')\n\n const foundWSD: WorksheetDetail[] = await wdQb.getMany()\n\n const foundTemplate: Attachment = await getRepository(Attachment).findOne({\n where: { domain: { id: domain.id }, category: TEMPLATE_TYPE.DO_TEMPLATE }\n })\n\n const foundLogo: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: { id: domain.id },\n category: TEMPLATE_TYPE.LOGO\n }\n })\n\n let foundDriver: any = null\n if (foundDO.status !== ORDER_STATUS.READY_TO_DISPATCH) {\n if (foundDO?.ownCollection && foundDO?.otherDriver) {\n foundDriver = foundDO.otherDriver\n } else {\n foundDriver = foundDO.transportDriver.name\n }\n }\n\n const template = await STORAGE.readFile(foundTemplate.path, 'utf-8')\n let logo = null\n if (foundLogo?.path) {\n logo = 'data:' + foundLogo.mimetype + ';base64,' + (await STORAGE.readFile(foundLogo.path, 'base64'))\n }\n\n let productList: any[] = []\n productList = foundWSD\n .map((wsd: WorksheetDetail) => {\n const targetInventory: OrderInventory = wsd.targetInventory\n const inventory: Inventory = targetInventory.inventory\n const productDetails: ProductDetail[] = inventory.product.productDetails\n const matchedProductDetail: ProductDetail = productDetails.find(\n productDetail => productDetail.packingType === inventory.packingType\n )\n return {\n product_name: `${inventory.product.name} (${inventory.product.description})`,\n product_desc: `${inventory.product?.description || ''}`,\n product_nameOnly: `${inventory.product.name}`,\n product_sku: `${inventory.product.sku}`,\n product_type: inventory.packingType,\n product_size: matchedProductDetail ? matchedProductDetail.packingSize : inventory.packingSize,\n product_batch: inventory.batchId,\n product_batch_ref: inventory.batchIdRef,\n product_qty: targetInventory.releaseQty,\n product_weight: targetInventory.releaseWeight,\n product_gross_weight: inventory.product.grossWeight,\n product_uom_value: targetInventory.releaseUomValue,\n product_uom: inventory.uom,\n remark: targetInventory.remark,\n inventory_remark: inventory.remark,\n cross_docking: targetInventory.crossDocking,\n pallet: inventory?.reusablePallet && inventory?.reusablePallet?.name ? inventory.reusablePallet.name : ''\n }\n })\n .reduce((newItem, item) => {\n var foundItem = newItem.find(\n newItem =>\n newItem.product_name === item.product_name &&\n newItem.product_batch === item.product_batch &&\n newItem.product_batch_ref === item.product_batch_ref &&\n newItem.cross_docking === item.cross_docking &&\n newItem.pallet === item.pallet\n )\n if (!foundItem) {\n foundItem = {\n product_sku: item.product_sku,\n product_name: item.product_name,\n product_type: item.product_type,\n product_size: item.product_size,\n product_batch: item.product_batch,\n product_batch_ref: item.product_batch_ref,\n product_qty: item.product_qty,\n product_weight: item.product_weight,\n product_gross_weight: item.product_gross_weight,\n product_uom_value: item.product_uom_value,\n product_uom: item.product_uom,\n product_desc: item.product_desc,\n product_nameOnly: item.product_nameOnly,\n remark: item.remark,\n inventory_remark: item.inventory_remark,\n palletQty: 1,\n cross_docking: item.cross_docking,\n pallet: item.pallet\n }\n\n newItem.push(foundItem)\n return newItem\n } else {\n return newItem.map(ni => {\n if (\n ni.product_name === item.product_name &&\n ni.product_batch === item.product_batch &&\n ni.product_batch_ref === item.product_batch_ref &&\n ni.cross_docking === item.cross_docking &&\n ni.pallet === item.pallet\n ) {\n return {\n ...ni,\n palletQty: ni.palletQty + 1,\n product_qty: ni.product_qty + item.product_qty,\n product_weight: ni.product_weight + item.product_weight,\n product_uom_value: ni.product_uom_value + item.product_uom_value\n }\n } else {\n return ni\n }\n })\n }\n }, [])\n\n const data = {\n logo_url: logo,\n customer_biz: partnerBiz.name,\n customer_full_biz: partnerBiz.company.name,\n company_domain: domainBizplace.company.name,\n company_brn: domainBizplace.company.brn,\n company_address: domainBizplace.company.address,\n company_email: foundWarehouseCP ? foundWarehouseCP?.email : null,\n company_phone: foundWarehouseCP ? foundWarehouseCP.phone : null,\n warehouse_address: foundWarehouseCP ? foundWarehouseCP.address : null,\n warehouse_address2: foundWarehouseCP ? foundWarehouseCP.address2 : null,\n warehouse_postcode: foundWarehouseCP ? foundWarehouseCP.postCode : null,\n warehouse_city: foundWarehouseCP ? foundWarehouseCP.city : null,\n warehouse_state: foundWarehouseCP ? foundWarehouseCP.state : null,\n warehouse_phone: foundWarehouseCP ? foundWarehouseCP.phone : null,\n warehouse_fax: foundWarehouseCP ? foundWarehouseCP.fax : null,\n warehouse_email: foundWarehouseCP ? foundWarehouseCP.email : null,\n customer_name:\n foundCP?.name ||\n foundDO.attentionTo ||\n foundDO.attentionCompany ||\n foundRO?.attentionTo ||\n foundRO?.attentionCompany ||\n null,\n customer_delivery_address:\n foundCP?.address ||\n [\n foundDO?.deliveryAddress1,\n foundDO?.deliveryAddress2,\n foundDO?.deliveryAddress3,\n foundDO?.deliveryAddress4,\n foundDO?.deliveryAddress5,\n foundDO?.postalCode,\n foundDO?.city,\n foundDO?.state,\n foundDO?.country\n ]\n .filter(Boolean)\n .join(', ') ||\n [\n foundRO?.deliveryAddress1,\n foundRO?.deliveryAddress2,\n foundRO?.deliveryAddress3,\n foundRO?.deliveryAddress4,\n foundRO?.deliveryAddress5,\n foundRO?.postalCode,\n foundRO?.city,\n foundRO?.state,\n foundRO?.country\n ]\n .filter(Boolean)\n .join(', ') ||\n null,\n customer_billing_address: foundCP?.billingAddress || foundDO?.billingAddress || foundRO?.billingAddress || null,\n new_billing_address: foundDO?.billingAddress || foundRO?.billingAddress || null,\n new_delivery_address: foundDO?.deliveryAddress1 || foundRO?.deliveryAddress1 || null,\n new_delivery_address2: foundDO?.deliveryAddress2 || foundRO?.deliveryAddress2 || null,\n new_delivery_address3: foundDO?.deliveryAddress3 || foundRO?.deliveryAddress3 || null,\n new_delivery_address4: foundDO?.deliveryAddress4 || foundRO?.deliveryAddress4 || null,\n new_delivery_address5: foundDO?.deliveryAddress5 || foundRO?.deliveryAddress5 || null,\n new_delivery_city: foundDO?.city || foundRO?.city || null,\n new_delivery_state: foundDO?.state || foundRO?.state || null,\n new_delivery_postal_code: foundDO?.postalCode || foundRO?.postalCode || null,\n new_delivery_country: foundDO?.country || foundRO?.country || null,\n new_attention_to: foundDO?.attentionTo || foundRO?.attentionTo || null,\n new_attention_company: foundDO?.attentionCompany || foundRO?.attentionCompany || null,\n new_phone_no: foundDO?.phone1 || foundRO?.phone1 || null,\n customer_phone: foundCP ? foundCP.phone : null || foundDO?.phone1,\n customer_fax: foundCP ? foundCP.fax : null,\n customer_email: foundCP ? foundCP.email : null,\n customer_company: foundCP ? foundCP.companyName : null || foundDO.attentionCompany,\n own_collection: ownTransportFlag ? '[SELF-COLLECTION]' : `[${domain.brandName} TRANSPORT]`,\n destination:\n foundDO.to ||\n [\n foundDO?.deliveryAddress1,\n foundDO?.deliveryAddress2,\n foundDO?.deliveryAddress3,\n foundDO?.deliveryAddress4,\n foundDO?.deliveryAddress5,\n foundDO?.postalCode,\n foundDO?.city,\n foundDO?.state,\n foundDO?.country\n ]\n .filter(Boolean)\n .join(', ') ||\n [\n foundRO?.deliveryAddress1,\n foundRO?.deliveryAddress2,\n foundRO?.deliveryAddress3,\n foundRO?.deliveryAddress4,\n foundRO?.deliveryAddress5,\n foundRO?.postalCode,\n foundRO?.city,\n foundRO?.state,\n foundRO?.country\n ]\n .filter(Boolean)\n .join(', ') ||\n '',\n ro_no: foundRO.name,\n ro_created_at: foundRO.createdAt ? foundRO.createdAt : '',\n ref_no: ownRefNo ? `${foundRO.name} / ${foundRO.refNo}` : `${foundRO.name}`,\n ref_no_only: ownRefNo ? `${foundRO.refNo}` : '',\n ref_no2: foundRO.refNo2 ? `${foundRO.refNo2}` : '',\n ref_no3: foundRO.refNo3 ? `${foundRO.refNo3}` : '',\n order_no: foundDO.name,\n delivery_date: foundDO.deliveryDate || '',\n complete_loading_date: DateTimeConverter.date(foundLoadingWS.endedAt),\n ro_created_date: DateTimeConverter.date(foundRO.createdAt),\n truck_no: foundDO.truckNo,\n driver_name: foundDriver || '',\n pallet_qty: foundDO.palletQty,\n worker_name: foundWS.updater.name,\n do_remark: foundDO.remark,\n reusable_pallet: foundDO.reusablePallet,\n pallet_list: foundRP.map(rp => rp.name).join(', '),\n product_list: productList.map((prod: any, idx) => {\n return {\n ...prod,\n list_no: idx + 1,\n product_uom_value: `${Math.round(prod.product_uom_value * 100) / 100} ${prod.product_uom}`,\n remark: prod?.remark\n ? prod.remark\n : prod.cross_docking\n ? prod.pallet === ''\n ? `${prod.palletQty} PALLET(S) [C/D]`\n : `${prod.palletQty} PALLET(S) (${prod.pallet}) [C/D]`\n : prod.pallet === ''\n ? `${prod.palletQty} PALLET(S)`\n : `${prod.palletQty} PALLET(S) (${prod.pallet})`,\n inventory_remark: prod?.inventory_remark ? prod.inventory_remark : '',\n batch_id_ref: prod.product_batch_ref\n }\n }),\n serialNumber:\n foundInventoryItem.map((item: any, idx) => {\n return { ...item, delivery_to: foundDO.to }\n }) || ''\n } //.. make data from do\n const formData = new FormData()\n\n formData.append('template', template)\n formData.append('jsonString', JSON.stringify(data))\n\n const response = await fetch(REPORT_API_URL, {\n method: 'POST',\n body: formData\n })\n\n return await response.text()\n}\n"]}
|