@things-factory/worksheet-base 4.0.0-alpha.9 → 4.0.0-beta.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/ecommerce-controller.js +46 -2
- package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
- package/dist-server/controllers/ecommerce/index.js +1 -0
- package/dist-server/controllers/ecommerce/index.js.map +1 -1
- package/dist-server/controllers/ecommerce/sellercraft-controller.js +168 -0
- package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -0
- package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js +7 -7
- package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inbound/putaway-worksheet-controller.js +7 -7
- package/dist-server/controllers/inbound/putaway-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js +1 -1
- package/dist-server/controllers/inbound/unloading-returning-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inbound/unloading-worksheet-controller.js +14 -14
- package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/index.js +2 -0
- package/dist-server/controllers/index.js.map +1 -1
- package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js +48 -13
- package/dist-server/controllers/inspect/cycle-count-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/loading-worksheet-controller.js +4 -4
- package/dist-server/controllers/outbound/loading-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/packing-worksheet-controller.js +16 -1
- package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/picking-worksheet-controller.js +20 -12
- package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/returning-worksheet-controller.js +1 -1
- package/dist-server/controllers/outbound/returning-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/render-elccl-grn.js +13 -16
- package/dist-server/controllers/render-elccl-grn.js.map +1 -1
- package/dist-server/controllers/render-grn.js +192 -0
- package/dist-server/controllers/render-grn.js.map +1 -0
- package/dist-server/controllers/render-job-sheet.js +63 -47
- package/dist-server/controllers/render-job-sheet.js.map +1 -1
- package/dist-server/controllers/render-kimeda-grn.js +35 -21
- package/dist-server/controllers/render-kimeda-grn.js.map +1 -1
- package/dist-server/controllers/render-manual-do.js +9 -9
- package/dist-server/controllers/render-manual-do.js.map +1 -1
- package/dist-server/controllers/render-orientage-do.js +61 -35
- package/dist-server/controllers/render-orientage-do.js.map +1 -1
- package/dist-server/controllers/render-orientage-grn.js +53 -27
- package/dist-server/controllers/render-orientage-grn.js.map +1 -1
- package/dist-server/controllers/render-ro-do.js +34 -20
- package/dist-server/controllers/render-ro-do.js.map +1 -1
- package/dist-server/controllers/render-seebuu-grn.js +177 -0
- package/dist-server/controllers/render-seebuu-grn.js.map +1 -0
- package/dist-server/controllers/vas/vas-worksheet-controller.js +78 -17
- package/dist-server/controllers/vas/vas-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/worksheet-controller.js +59 -11
- package/dist-server/controllers/worksheet-controller.js.map +1 -1
- package/dist-server/entities/worksheet-detail.js +23 -23
- package/dist-server/entities/worksheet-detail.js.map +1 -1
- package/dist-server/entities/worksheet-movement.js +9 -9
- package/dist-server/entities/worksheet-movement.js.map +1 -1
- package/dist-server/entities/worksheet.js +28 -26
- package/dist-server/entities/worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/pallet/pallet-outbound.js +2 -2
- package/dist-server/graphql/resolvers/pallet/pallet-outbound.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/batch-picking-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/check-inventory-release.js +3 -3
- 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 +3 -3
- 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 +3 -3
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/cross-dock-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +32 -10
- package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cycle-count-worksheet.js +8 -6
- 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 +4 -4
- package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js +25 -0
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js.map +1 -0
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/having-vas.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/having-vas.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/index.js +5 -4
- package/dist-server/graphql/resolvers/worksheet/index.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loaded-inventories.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/loaded-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/activate-loading.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/loading/activate-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/loading.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/loading-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js +5 -5
- package/dist-server/graphql/resolvers/worksheet/not-tally-target-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js +13 -1
- package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js +38 -28
- package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/packing.js +13 -1
- package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +13 -1
- package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +68 -19
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/palletizing-pallets.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js +7 -5
- 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 +22 -2
- package/dist-server/graphql/resolvers/worksheet/picking/activate-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +31 -6
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-inventories.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/picking/assign-picking-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +20 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +129 -125
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/my-picking-assignment-status.js +2 -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 +9 -9
- package/dist-server/graphql/resolvers/worksheet/picking/picking-assignment-status-by-user.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/undo-picking-assignment.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/picking/undo-picking-assignment.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +5 -4
- package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/proceed-extra-products.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/activate-putaway.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/activate-putaway.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/activate-putaway-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/putaway-returning-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-worksheet.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/putaway-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js +12 -7
- package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js +13 -4
- package/dist-server/graphql/resolvers/worksheet/replace-picking-pallets.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/return-worksheet.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/return-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories-by-reusable-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js +14 -14
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/unloading/activate-unloading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js +24 -4
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js +18 -1
- 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 +2 -2
- package/dist-server/graphql/resolvers/worksheet/unloading-return-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading-worksheet.js +3 -3
- 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-candidates.js +8 -8
- package/dist-server/graphql/resolvers/worksheet/vas-candidates.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-inventories.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/vas-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js +308 -17
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/common-utils.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/index.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/interfaces/repackaging.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/relabeling/check-relabelable.js +2 -2
- 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 +5 -5
- 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 +6 -6
- 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 +3 -3
- 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 +137 -31
- 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 +163 -48
- 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 +37 -23
- 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 +5 -5
- 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 +8 -8
- 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 +3 -3
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/repalletizing/undo-repalletizing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/vas-transactions/unpacking/unpacking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js +8 -8
- package/dist-server/graphql/resolvers/worksheet/vas-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/worksheet-with-pagination.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheet.js +43 -37
- package/dist-server/graphql/resolvers/worksheet/worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/worksheets.js +46 -17
- package/dist-server/graphql/resolvers/worksheet/worksheets.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 +89 -125
- 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-carton-id.js +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 +2 -2
- package/dist-server/graphql/resolvers/worksheet-detail/generate-pallet-id.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js +3 -2
- package/dist-server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/update-worksheet-detail.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet-detail/worksheet-detail.js +1 -1
- 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 +3 -2
- 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/worksheet-movements.js +1 -1
- package/dist-server/graphql/resolvers/worksheet-movement/worksheet-movements.js.map +1 -1
- package/dist-server/graphql/types/index.js +2 -1
- package/dist-server/graphql/types/index.js.map +1 -1
- package/dist-server/graphql/types/pallet/index.js +10 -0
- package/dist-server/graphql/types/pallet/index.js.map +1 -0
- package/dist-server/graphql/types/worksheet/airwaybill.js +10 -0
- package/dist-server/graphql/types/worksheet/airwaybill.js.map +1 -0
- package/dist-server/graphql/types/worksheet/arrival-notice-worksheet.js +1 -1
- package/dist-server/graphql/types/worksheet/arrival-notice-worksheet.js.map +1 -1
- package/dist-server/graphql/types/worksheet/contact-point-info.js +1 -1
- package/dist-server/graphql/types/worksheet/contact-point-info.js.map +1 -1
- package/dist-server/graphql/types/worksheet/cycle-count-worksheet.js +1 -1
- package/dist-server/graphql/types/worksheet/cycle-count-worksheet.js.map +1 -1
- package/dist-server/graphql/types/worksheet/delivery-info.js +1 -1
- package/dist-server/graphql/types/worksheet/delivery-info.js.map +1 -1
- package/dist-server/graphql/types/worksheet/delivery-order-info.js +1 -1
- package/dist-server/graphql/types/worksheet/delivery-order-info.js.map +1 -1
- package/dist-server/graphql/types/worksheet/delivery-worksheet.js +1 -1
- package/dist-server/graphql/types/worksheet/delivery-worksheet.js.map +1 -1
- package/dist-server/graphql/types/worksheet/executing-worksheet.js +1 -1
- package/dist-server/graphql/types/worksheet/executing-worksheet.js.map +1 -1
- package/dist-server/graphql/types/worksheet/goods-delivery-note.js +1 -1
- package/dist-server/graphql/types/worksheet/goods-delivery-note.js.map +1 -1
- package/dist-server/graphql/types/worksheet/index.js +10 -2
- package/dist-server/graphql/types/worksheet/index.js.map +1 -1
- package/dist-server/graphql/types/worksheet/inventory-check-worksheet.js +1 -1
- package/dist-server/graphql/types/worksheet/inventory-check-worksheet.js.map +1 -1
- package/dist-server/graphql/types/worksheet/loaded-worksheet-detail.js +1 -1
- package/dist-server/graphql/types/worksheet/loaded-worksheet-detail.js.map +1 -1
- package/dist-server/graphql/types/worksheet/my-picking-assignment-status.js +1 -1
- package/dist-server/graphql/types/worksheet/my-picking-assignment-status.js.map +1 -1
- package/dist-server/graphql/types/worksheet/new-worksheet.js +1 -1
- package/dist-server/graphql/types/worksheet/new-worksheet.js.map +1 -1
- package/dist-server/graphql/types/worksheet/picking-assignment-status.js +1 -1
- package/dist-server/graphql/types/worksheet/picking-assignment-status.js.map +1 -1
- package/dist-server/graphql/types/worksheet/product-approval.js +1 -1
- package/dist-server/graphql/types/worksheet/product-approval.js.map +1 -1
- package/dist-server/graphql/types/worksheet/release-good-worksheet.js +1 -1
- package/dist-server/graphql/types/worksheet/release-good-worksheet.js.map +1 -1
- package/dist-server/graphql/types/worksheet/return-order-worksheet.js +1 -1
- package/dist-server/graphql/types/worksheet/return-order-worksheet.js.map +1 -1
- package/dist-server/graphql/types/worksheet/vas-order-worksheet.js +1 -1
- package/dist-server/graphql/types/worksheet/vas-order-worksheet.js.map +1 -1
- package/dist-server/graphql/types/worksheet/vas-worksheet.js +1 -1
- package/dist-server/graphql/types/worksheet/vas-worksheet.js.map +1 -1
- package/dist-server/graphql/types/worksheet/worksheet-detail-info.js +1 -1
- package/dist-server/graphql/types/worksheet/worksheet-detail-info.js.map +1 -1
- package/dist-server/graphql/types/worksheet/worksheet-info.js +3 -1
- package/dist-server/graphql/types/worksheet/worksheet-info.js.map +1 -1
- package/dist-server/graphql/types/worksheet/worksheet-list.js +1 -1
- package/dist-server/graphql/types/worksheet/worksheet-list.js.map +1 -1
- package/dist-server/graphql/types/worksheet/worksheet-patch.js +1 -1
- package/dist-server/graphql/types/worksheet/worksheet-patch.js.map +1 -1
- package/dist-server/graphql/types/worksheet/worksheet-with-pagination.js +1 -1
- package/dist-server/graphql/types/worksheet/worksheet-with-pagination.js.map +1 -1
- package/dist-server/graphql/types/worksheet/worksheet.js +1 -1
- package/dist-server/graphql/types/worksheet/worksheet.js.map +1 -1
- package/dist-server/graphql/types/worksheet-detail/index.js +2 -1
- package/dist-server/graphql/types/worksheet-detail/index.js.map +1 -1
- package/dist-server/graphql/types/worksheet-detail/inventory-detail.js +2 -1
- package/dist-server/graphql/types/worksheet-detail/inventory-detail.js.map +1 -1
- package/dist-server/graphql/types/worksheet-detail/new-worksheet-detail.js +1 -1
- package/dist-server/graphql/types/worksheet-detail/new-worksheet-detail.js.map +1 -1
- package/dist-server/graphql/types/worksheet-detail/pallet-info.js +1 -1
- package/dist-server/graphql/types/worksheet-detail/pallet-info.js.map +1 -1
- package/dist-server/graphql/types/worksheet-detail/worksheet-detail-list.js +1 -1
- package/dist-server/graphql/types/worksheet-detail/worksheet-detail-list.js.map +1 -1
- package/dist-server/graphql/types/worksheet-detail/worksheet-detail-patch.js +1 -1
- package/dist-server/graphql/types/worksheet-detail/worksheet-detail-patch.js.map +1 -1
- package/dist-server/graphql/types/worksheet-detail/worksheet-detail.js +1 -1
- package/dist-server/graphql/types/worksheet-detail/worksheet-detail.js.map +1 -1
- package/dist-server/graphql/types/worksheet-movement/new-worksheet-movement.js +1 -1
- package/dist-server/graphql/types/worksheet-movement/new-worksheet-movement.js.map +1 -1
- package/dist-server/graphql/types/worksheet-movement/worksheet-movement-list.js +1 -1
- package/dist-server/graphql/types/worksheet-movement/worksheet-movement-list.js.map +1 -1
- package/dist-server/graphql/types/worksheet-movement/worksheet-movement-patch.js +1 -1
- package/dist-server/graphql/types/worksheet-movement/worksheet-movement-patch.js.map +1 -1
- package/dist-server/graphql/types/worksheet-movement/worksheet-movement.js +1 -1
- package/dist-server/graphql/types/worksheet-movement/worksheet-movement.js.map +1 -1
- package/dist-server/routes.js +20 -12
- package/dist-server/routes.js.map +1 -1
- package/dist-server/utils/inventory-util.js +59 -17
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/dist-server/utils/worksheet-no-generator.js +24 -24
- package/dist-server/utils/worksheet-no-generator.js.map +1 -1
- package/dist-server/utils/worksheet-util.js +2 -2
- package/dist-server/utils/worksheet-util.js.map +1 -1
- package/package.json +16 -15
- package/server/controllers/ecommerce/ecommerce-controller.ts +82 -4
- package/server/controllers/ecommerce/index.ts +1 -0
- package/server/controllers/ecommerce/sellercraft-controller.ts +223 -0
- package/server/controllers/inbound/unloading-returning-worksheet-controller.ts +1 -0
- package/server/controllers/inbound/unloading-worksheet-controller.ts +16 -14
- package/server/controllers/index.ts +2 -0
- package/server/controllers/inspect/cycle-count-worksheet-controller.ts +108 -43
- package/server/controllers/outbound/packing-worksheet-controller.ts +21 -4
- package/server/controllers/outbound/picking-worksheet-controller.ts +26 -11
- package/server/controllers/render-elccl-grn.ts +3 -7
- package/server/controllers/render-grn.ts +218 -0
- package/server/controllers/render-job-sheet.ts +51 -39
- package/server/controllers/render-kimeda-grn.ts +28 -16
- package/server/controllers/render-orientage-do.ts +41 -11
- package/server/controllers/render-orientage-grn.ts +39 -10
- package/server/controllers/render-ro-do.ts +22 -6
- package/server/controllers/render-seebuu-grn.ts +198 -0
- package/server/controllers/vas/vas-worksheet-controller.ts +104 -23
- package/server/controllers/worksheet-controller.ts +80 -19
- package/server/entities/worksheet.ts +2 -0
- package/server/graphql/resolvers/pallet/pallet-outbound.ts +2 -1
- package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +30 -2
- package/server/graphql/resolvers/worksheet/cycle-count-worksheet.ts +7 -4
- package/server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.ts +30 -0
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-cycle-count-worksheet.ts +18 -3
- package/server/graphql/resolvers/worksheet/index.ts +6 -4
- package/server/graphql/resolvers/worksheet/not-tally-target-inventories.ts +4 -2
- package/server/graphql/resolvers/worksheet/packing/activate-packing.ts +20 -3
- package/server/graphql/resolvers/worksheet/packing/complete-packing.ts +47 -38
- package/server/graphql/resolvers/worksheet/packing/packing.ts +22 -3
- package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +22 -3
- package/server/graphql/resolvers/worksheet/packing-worksheet.ts +79 -19
- package/server/graphql/resolvers/worksheet/pending-cancellation-release-order.ts +5 -1
- package/server/graphql/resolvers/worksheet/picking/activate-batch-picking.ts +34 -4
- package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +41 -8
- package/server/graphql/resolvers/worksheet/picking/assign-picking-inventories.ts +4 -3
- package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +31 -3
- package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +149 -148
- package/server/graphql/resolvers/worksheet/picking/undo-picking-assignment.ts +5 -4
- package/server/graphql/resolvers/worksheet/picking-worksheet.ts +5 -2
- package/server/graphql/resolvers/worksheet/recommend-putway-location.ts +7 -2
- package/server/graphql/resolvers/worksheet/replace-picking-pallets.ts +22 -9
- package/server/graphql/resolvers/worksheet/unloading/complete-unloading.ts +29 -5
- package/server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.ts +23 -2
- package/server/graphql/resolvers/worksheet/vas-transactions/common-utils.ts +452 -14
- package/server/graphql/resolvers/worksheet/vas-transactions/interfaces/index.ts +36 -1
- package/server/graphql/resolvers/worksheet/vas-transactions/interfaces/repackaging.ts +8 -2
- package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/complete-repackaging.ts +185 -56
- package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/repackaging.ts +210 -54
- package/server/graphql/resolvers/worksheet/vas-transactions/repackaging/undo-repackaging.ts +64 -32
- package/server/graphql/resolvers/worksheet/worksheet.ts +67 -62
- package/server/graphql/resolvers/worksheet/worksheets.ts +51 -13
- package/server/graphql/resolvers/worksheet-detail/generate-batch-picking-worksheet-details-by-bulk.ts +119 -168
- package/server/graphql/resolvers/worksheet-detail/generate-release-good-worksheet-details.ts +2 -1
- package/server/graphql/resolvers/worksheet-detail/worksheet-details-by-product-group.ts +2 -1
- package/server/graphql/types/index.ts +2 -1
- package/server/graphql/types/pallet/index.ts +6 -0
- package/server/graphql/types/worksheet/airwaybill.ts +7 -0
- package/server/graphql/types/worksheet/index.ts +10 -2
- package/server/graphql/types/worksheet/worksheet-info.ts +2 -0
- package/server/graphql/types/worksheet-detail/index.ts +2 -1
- package/server/graphql/types/worksheet-detail/inventory-detail.ts +1 -0
- package/server/routes.ts +15 -5
- package/server/utils/inventory-util.ts +64 -21
|
@@ -1,27 +1,29 @@
|
|
|
1
|
+
import { In } from 'typeorm'
|
|
2
|
+
|
|
1
3
|
import { Bizplace } from '@things-factory/biz-base'
|
|
4
|
+
import { generateId } from '@things-factory/id-rule-base'
|
|
2
5
|
import { Product, ProductDetail } from '@things-factory/product-base'
|
|
3
6
|
import {
|
|
7
|
+
ORDER_INVENTORY_STATUS,
|
|
8
|
+
ORDER_STATUS,
|
|
4
9
|
OrderInventory,
|
|
5
10
|
OrderNoGenerator,
|
|
6
11
|
OrderVas,
|
|
7
|
-
ORDER_INVENTORY_STATUS,
|
|
8
|
-
ORDER_STATUS,
|
|
9
12
|
ReleaseGood
|
|
10
13
|
} from '@things-factory/sales-base'
|
|
11
|
-
import { generateId } from '@things-factory/id-rule-base'
|
|
12
14
|
import { Setting } from '@things-factory/setting-base'
|
|
13
|
-
import { In } from 'typeorm'
|
|
14
15
|
import {
|
|
15
16
|
Inventory,
|
|
16
17
|
INVENTORY_STATUS,
|
|
17
18
|
INVENTORY_TRANSACTION_TYPE,
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
Location,
|
|
20
|
+
LOCATION_TYPE
|
|
20
21
|
} from '@things-factory/warehouse-base'
|
|
21
|
-
|
|
22
|
+
|
|
23
|
+
import { TASK_NUMBER_RULE_TYPE, TASK_NUMBER_SETTING_KEY, WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../constants'
|
|
22
24
|
import { Worksheet, WorksheetDetail } from '../../entities'
|
|
23
|
-
import { VasWorksheetController } from '../vas/vas-worksheet-controller'
|
|
24
25
|
import { WorksheetNoGenerator } from '../../utils'
|
|
26
|
+
import { VasWorksheetController } from '../vas/vas-worksheet-controller'
|
|
25
27
|
|
|
26
28
|
export class PickingWorksheetController extends VasWorksheetController {
|
|
27
29
|
async generatePickingWorksheet(releaseGoodNo: string): Promise<Worksheet> {
|
|
@@ -157,7 +159,9 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
157
159
|
let worksheet: Worksheet = await this.findActivatableWorksheet(worksheetNo, WORKSHEET_TYPE.PICKING, [
|
|
158
160
|
'releaseGood',
|
|
159
161
|
'releaseGood.bizplace',
|
|
162
|
+
'domain',
|
|
160
163
|
'bizplace',
|
|
164
|
+
'bizplace.domain',
|
|
161
165
|
'bizplace.company',
|
|
162
166
|
'bizplace.company.domain',
|
|
163
167
|
'worksheetDetails',
|
|
@@ -203,8 +207,10 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
203
207
|
let worksheet: Worksheet = await this.findActivatableWorksheet(worksheetNo, WORKSHEET_TYPE.BATCH_PICKING, [
|
|
204
208
|
'worksheetDetails',
|
|
205
209
|
'worksheetDetails.targetInventory',
|
|
210
|
+
'worksheetDetails.targetInventory.releaseGood',
|
|
206
211
|
'worksheetDetails.targetInventory.product',
|
|
207
212
|
'bizplace',
|
|
213
|
+
'bizplace.domain',
|
|
208
214
|
'bizplace.company',
|
|
209
215
|
'bizplace.company.domain'
|
|
210
216
|
])
|
|
@@ -251,6 +257,7 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
251
257
|
batchId: string,
|
|
252
258
|
productId: string,
|
|
253
259
|
packingType: string,
|
|
260
|
+
packingSize: number,
|
|
254
261
|
worksheetDetails: Partial<WorksheetDetail>[]
|
|
255
262
|
): Promise<void> {
|
|
256
263
|
// 1. Remove prev worksheet details if it's exists
|
|
@@ -265,7 +272,8 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
265
272
|
worksheet.worksheetDetails,
|
|
266
273
|
batchId,
|
|
267
274
|
productId,
|
|
268
|
-
packingType
|
|
275
|
+
packingType,
|
|
276
|
+
packingSize
|
|
269
277
|
)
|
|
270
278
|
// Delete order inventories
|
|
271
279
|
if (prevWorksheetDetails?.length) {
|
|
@@ -301,6 +309,7 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
301
309
|
newTargetInventory.batchId = batchId
|
|
302
310
|
newTargetInventory.product = product
|
|
303
311
|
newTargetInventory.packingType = packingType
|
|
312
|
+
newTargetInventory.packingSize = packingSize
|
|
304
313
|
newTargetInventory.creator = this.user
|
|
305
314
|
newTargetInventory.updater = this.user
|
|
306
315
|
newTargetInventory = await this.trxMgr.getRepository(OrderInventory).save(newTargetInventory)
|
|
@@ -319,7 +328,8 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
319
328
|
worksheetNo: string,
|
|
320
329
|
batchId: string,
|
|
321
330
|
productId: string,
|
|
322
|
-
packingType: string
|
|
331
|
+
packingType: string,
|
|
332
|
+
packingSize: number
|
|
323
333
|
): Promise<void> {
|
|
324
334
|
const worksheet: Worksheet = await this.findWorksheetByNo(worksheetNo, [
|
|
325
335
|
'worksheetDetails',
|
|
@@ -333,6 +343,7 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
333
343
|
batchId,
|
|
334
344
|
productId,
|
|
335
345
|
packingType,
|
|
346
|
+
packingSize,
|
|
336
347
|
['targetInventory', 'targetInventory.inventory']
|
|
337
348
|
)
|
|
338
349
|
|
|
@@ -363,6 +374,7 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
363
374
|
batchId,
|
|
364
375
|
product: { id: productId },
|
|
365
376
|
packingType,
|
|
377
|
+
packingSize,
|
|
366
378
|
status: ORDER_INVENTORY_STATUS.COMPLETE_SPLIT
|
|
367
379
|
},
|
|
368
380
|
{ status: ORDER_INVENTORY_STATUS.PENDING_SPLIT, updater: this.user, updatedAt: new Date() }
|
|
@@ -849,6 +861,7 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
849
861
|
},
|
|
850
862
|
relations: [
|
|
851
863
|
'bizplace',
|
|
864
|
+
'bizplace.domain',
|
|
852
865
|
'worksheetDetails',
|
|
853
866
|
'worksheetDetails.targetInventory',
|
|
854
867
|
'worksheetDetails.targetInventory.releaseGood'
|
|
@@ -901,6 +914,7 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
901
914
|
standardBatchId: string,
|
|
902
915
|
standardProductId: string,
|
|
903
916
|
standardPackingType: string,
|
|
917
|
+
standardPackingSize: number,
|
|
904
918
|
relations: string[] = ['targetInventory', 'targetInventory.product']
|
|
905
919
|
): Promise<WorksheetDetail[]> {
|
|
906
920
|
for (let wsd of worksheetDetails) {
|
|
@@ -913,7 +927,8 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
913
927
|
(wsd: WorksheetDetail) =>
|
|
914
928
|
wsd.targetInventory.batchId === standardBatchId &&
|
|
915
929
|
wsd.targetInventory.product.id === standardProductId &&
|
|
916
|
-
wsd.targetInventory.packingType === standardPackingType
|
|
930
|
+
wsd.targetInventory.packingType === standardPackingType &&
|
|
931
|
+
wsd.targetInventory.packingSize === standardPackingSize
|
|
917
932
|
)
|
|
918
933
|
|
|
919
934
|
for (let wsd of worksheetDetails) {
|
|
@@ -97,7 +97,7 @@ export async function renderElcclGRN({ grnNo }, context: any) {
|
|
|
97
97
|
await getManager().transaction(async (trxMgr: EntityManager) => {
|
|
98
98
|
await trxMgr.query(
|
|
99
99
|
`
|
|
100
|
-
create temp table tmp as(
|
|
100
|
+
create temp table tmp on commit drop as(
|
|
101
101
|
select invh.*, invh2.ref_order_id as release_order_id, invh2.qty as release_qty, invh.qty as inbound_qty,
|
|
102
102
|
invh.qty + invh2.qty as remaining_qty, invh2.uom_value as release_uom_value, invh.uom_value as inbound_uom_value,
|
|
103
103
|
invh.uom_value + invh2.uom_value as remaining_uom_value
|
|
@@ -115,7 +115,7 @@ export async function renderElcclGRN({ grnNo }, context: any) {
|
|
|
115
115
|
|
|
116
116
|
await trxMgr.query(
|
|
117
117
|
`
|
|
118
|
-
create temp table tmp2 as(
|
|
118
|
+
create temp table tmp2 on commit drop as(
|
|
119
119
|
select id,seq,ref_order_id,order_no,"name",pallet_id,batch_id,product_id,warehouse_id,location_id,"zone",order_ref_no,packing_type,uom as unit,qty,
|
|
120
120
|
opening_qty,uom_value,opening_weight,description,status,transaction_type,created_at,updated_at,domain_id,bizplace_id,creator_id,updater_id,
|
|
121
121
|
reusable_pallet_id,release_order_id,release_qty,inbound_qty,remaining_qty, inbound_qty as loose_amt, release_uom_value, inbound_uom_value,remaining_uom_value,
|
|
@@ -139,7 +139,7 @@ export async function renderElcclGRN({ grnNo }, context: any) {
|
|
|
139
139
|
|
|
140
140
|
await trxMgr.query(
|
|
141
141
|
`
|
|
142
|
-
create temp table tmp3 as (
|
|
142
|
+
create temp table tmp3 on commit drop as (
|
|
143
143
|
select main.*, concat(p2.name, ' (', p2.description, ')') as product_name, plt.name as pallet_name,
|
|
144
144
|
case when main.reusable_pallet_id notnull then concat(main.qty, ' ', main.packing_type, '(S) ', plt.name) else concat(main.pallet, ' PALLET(S)')
|
|
145
145
|
end as remarks,
|
|
@@ -175,10 +175,6 @@ export async function renderElcclGRN({ grnNo }, context: any) {
|
|
|
175
175
|
`,
|
|
176
176
|
[foundGAN.id]
|
|
177
177
|
)
|
|
178
|
-
|
|
179
|
-
await trxMgr.query(`
|
|
180
|
-
drop table tmp, tmp2, tmp3
|
|
181
|
-
`)
|
|
182
178
|
})
|
|
183
179
|
|
|
184
180
|
const data = {
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import FormData from 'form-data'
|
|
2
|
+
import fetch from 'node-fetch'
|
|
3
|
+
import { getRepository, IsNull, Not } from 'typeorm'
|
|
4
|
+
|
|
5
|
+
import { Attachment, STORAGE } from '@things-factory/attachment-base'
|
|
6
|
+
import { Partner } from '@things-factory/auth-base'
|
|
7
|
+
import { Bizplace, ContactPoint } from '@things-factory/biz-base'
|
|
8
|
+
import { config } from '@things-factory/env'
|
|
9
|
+
import { ArrivalNotice, GoodsReceivalNote, ORDER_STATUS, OrderProduct } from '@things-factory/sales-base'
|
|
10
|
+
import { Domain } from '@things-factory/shell'
|
|
11
|
+
import { ReducedInventoryHistory } from '@things-factory/warehouse-base'
|
|
12
|
+
|
|
13
|
+
import { TEMPLATE_TYPE, WORKSHEET_TYPE } from '../constants'
|
|
14
|
+
import { Worksheet } from '../entities'
|
|
15
|
+
import { DateTimeConverter } from '../utils/datetime-util'
|
|
16
|
+
|
|
17
|
+
const REPORT_API_URL = config.get('reportApiUrl', 'http://localhost:8888/rest/report/show_html')
|
|
18
|
+
|
|
19
|
+
export async function renderGRN({ grnNo, timezoneOffSet }, context: any) {
|
|
20
|
+
// 1. find domain
|
|
21
|
+
const domain: Domain = await getRepository(Domain).findOne({
|
|
22
|
+
where: { id: context.state.domain.id }
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
// 2. find grn
|
|
26
|
+
const foundGRN: GoodsReceivalNote = await getRepository(GoodsReceivalNote).findOne({
|
|
27
|
+
where: { domain, name: grnNo },
|
|
28
|
+
relations: ['domain', 'bizplace', 'bizplace.domain', 'bizplace.company', 'arrivalNotice']
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
// 3. find GAN
|
|
32
|
+
const foundGAN: ArrivalNotice = foundGRN.arrivalNotice
|
|
33
|
+
const ownRefNo = foundGAN.refNo
|
|
34
|
+
|
|
35
|
+
// 4. find customer bizplace
|
|
36
|
+
const partnerBiz: Bizplace = foundGRN.bizplace
|
|
37
|
+
|
|
38
|
+
const partnerDomain: Partner = await getRepository(Partner).findOne({
|
|
39
|
+
where: { partnerDomain: partnerBiz.domain, domain },
|
|
40
|
+
relations: ['domain']
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
const domainOwner: Domain = partnerDomain.domain
|
|
44
|
+
const domainBizplace: Bizplace = await getRepository(Bizplace).findOne({
|
|
45
|
+
where: { domain: domainOwner },
|
|
46
|
+
relations: ['company']
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
const qbReducedInventory = getRepository(ReducedInventoryHistory)
|
|
50
|
+
.createQueryBuilder(`ivh`)
|
|
51
|
+
.select(`product_id`, `productId`)
|
|
52
|
+
.addSelect(`batch_id`, `batchId`)
|
|
53
|
+
.addSelect(`reusable_pallet_id`, `reusablePalletId`)
|
|
54
|
+
.addSelect(`packing_type`, `packingType`)
|
|
55
|
+
.addSelect(`sum(qty)`, `qty`)
|
|
56
|
+
.addSelect(`sum(uom_value)`, `uomValue`)
|
|
57
|
+
.addSelect(`uom`, `uom`)
|
|
58
|
+
.addSelect(`count(distinct pallet_id)`, `pallet`)
|
|
59
|
+
.addSelect(`string_agg(distinct expiration_date::varchar,', ' order by expiration_date::varchar)`, `expiryDate`)
|
|
60
|
+
.addSelect(`string_agg(distinct pallet_id::varchar,', ' order by pallet_id::varchar)`, `palletId`)
|
|
61
|
+
.where(`ivh.domain_id = :domainId`, { domainId: domain.id })
|
|
62
|
+
.andWhere(`ivh.ref_order_id = :refOrderId`, { refOrderId: foundGAN.id })
|
|
63
|
+
.andWhere(`ivh.transaction_type = 'UNLOADING'`)
|
|
64
|
+
.groupBy(`reusable_pallet_id`)
|
|
65
|
+
.addGroupBy(`product_id`)
|
|
66
|
+
.addGroupBy(`batch_id`)
|
|
67
|
+
.addGroupBy(`packing_type`)
|
|
68
|
+
.addGroupBy(`uom`)
|
|
69
|
+
.getRawMany()
|
|
70
|
+
|
|
71
|
+
// 5. find domain contact point
|
|
72
|
+
const foundCP: ContactPoint = await getRepository(ContactPoint).findOne({
|
|
73
|
+
where: { domain, bizplace: domainBizplace }
|
|
74
|
+
})
|
|
75
|
+
|
|
76
|
+
// 5. find domain contact point
|
|
77
|
+
const foundPartnerCP: ContactPoint = await getRepository(ContactPoint).findOne({
|
|
78
|
+
where: { domain, bizplace: partnerBiz }
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
// 6. find unloading worksheet
|
|
82
|
+
const foundWS: Worksheet = await getRepository(Worksheet).findOne({
|
|
83
|
+
where: { domain, arrivalNotice: foundGAN, type: WORKSHEET_TYPE.UNLOADING, status: ORDER_STATUS.DONE },
|
|
84
|
+
relations: ['worksheetDetails', 'updater']
|
|
85
|
+
})
|
|
86
|
+
|
|
87
|
+
// find putaway worksheet
|
|
88
|
+
const foundPutawayWS: Worksheet = await getRepository(Worksheet).findOne({
|
|
89
|
+
where: { domain, arrivalNotice: foundGAN, type: WORKSHEET_TYPE.PUTAWAY, status: ORDER_STATUS.DONE },
|
|
90
|
+
relations: ['worksheetDetails', 'updater']
|
|
91
|
+
})
|
|
92
|
+
|
|
93
|
+
const targetProducts: OrderProduct[] = await getRepository(OrderProduct).find({
|
|
94
|
+
where: { domain, arrivalNotice: foundGAN, actualPalletQty: Not(IsNull()), actualPackQty: Not(IsNull()) },
|
|
95
|
+
relations: ['product']
|
|
96
|
+
})
|
|
97
|
+
|
|
98
|
+
// 7. find grn template based on category
|
|
99
|
+
const foundTemplate: Attachment = await getRepository(Attachment).findOne({
|
|
100
|
+
where: { domain, category: TEMPLATE_TYPE.GRN_TEMPLATE }
|
|
101
|
+
})
|
|
102
|
+
|
|
103
|
+
// 8. find grn logo
|
|
104
|
+
const foundLogo: Attachment = await getRepository(Attachment).findOne({
|
|
105
|
+
where: {
|
|
106
|
+
domain,
|
|
107
|
+
category: TEMPLATE_TYPE.LOGO
|
|
108
|
+
}
|
|
109
|
+
})
|
|
110
|
+
|
|
111
|
+
// 9. find signature
|
|
112
|
+
const foundSignature: Attachment = await getRepository(Attachment).findOne({
|
|
113
|
+
where: {
|
|
114
|
+
domain,
|
|
115
|
+
category: TEMPLATE_TYPE.SIGNATURE
|
|
116
|
+
}
|
|
117
|
+
})
|
|
118
|
+
|
|
119
|
+
const foundCop: Attachment = await getRepository(Attachment).findOne({
|
|
120
|
+
where: {
|
|
121
|
+
domain,
|
|
122
|
+
category: TEMPLATE_TYPE.COP
|
|
123
|
+
}
|
|
124
|
+
})
|
|
125
|
+
|
|
126
|
+
const inboundInventories: any[] = await qbReducedInventory
|
|
127
|
+
|
|
128
|
+
const template = await STORAGE.readFile(foundTemplate.path, 'utf-8')
|
|
129
|
+
|
|
130
|
+
let logo = null
|
|
131
|
+
if (foundLogo?.path) {
|
|
132
|
+
logo = 'data:' + foundLogo.mimetype + ';base64,' + (await STORAGE.readFile(foundLogo.path, 'base64'))
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
let signature = null
|
|
136
|
+
if (foundSignature?.path) {
|
|
137
|
+
signature = 'data:' + foundSignature.mimetype + ';base64,' + (await STORAGE.readFile(foundSignature.path, 'base64'))
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
let cop = null
|
|
141
|
+
if (foundCop?.path) {
|
|
142
|
+
cop = 'data:' + foundSignature.mimetype + ';base64,' + (await STORAGE.readFile(foundCop.path, 'base64'))
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
const data = {
|
|
146
|
+
logo_url: logo,
|
|
147
|
+
sign_url: signature,
|
|
148
|
+
cop_url: cop,
|
|
149
|
+
customer_biz: partnerBiz.name,
|
|
150
|
+
customer_address: partnerBiz.address,
|
|
151
|
+
company_domain: domainBizplace.company.name,
|
|
152
|
+
company_phone: foundCP.phone,
|
|
153
|
+
company_email: foundCP.email,
|
|
154
|
+
company_brn: domainBizplace.company.brn,
|
|
155
|
+
company_address: domainBizplace.company.address,
|
|
156
|
+
warehouse_address: foundCP.address,
|
|
157
|
+
warehouse_address2: foundCP.address2,
|
|
158
|
+
warehouse_postcode: foundCP.postCode,
|
|
159
|
+
warehouse_city: foundCP.city,
|
|
160
|
+
warehouse_state: foundCP.state,
|
|
161
|
+
warehouse_phone: foundCP.phone,
|
|
162
|
+
warehouse_fax: foundCP.fax,
|
|
163
|
+
warehouse_email: foundCP.email,
|
|
164
|
+
order_no: foundGRN.name,
|
|
165
|
+
gan_no: foundGAN.name,
|
|
166
|
+
gan_accepted_at: foundGAN.acceptedAt ? DateTimeConverter.datetime(foundGAN.acceptedAt, timezoneOffSet) : '',
|
|
167
|
+
unload_date: DateTimeConverter.date(foundWS.endedAt),
|
|
168
|
+
ref_no: ownRefNo ? `${foundGAN.name} / ${foundGAN.refNo}` : `${foundGAN.name}`,
|
|
169
|
+
received_date: DateTimeConverter.date(foundWS.endedAt),
|
|
170
|
+
truck_no: foundGAN.truckNo || '',
|
|
171
|
+
container_no: foundGAN.containerNo || '',
|
|
172
|
+
delivery_order_no: foundGAN.deliveryOrderNo ? foundGAN.deliveryOrderNo : '',
|
|
173
|
+
account_no: foundPartnerCP ? foundPartnerCP.accountNo : '',
|
|
174
|
+
unloaded_by: foundWS ? foundWS.updater.name : '',
|
|
175
|
+
putaway_by: foundPutawayWS ? foundPutawayWS.updater.name : '',
|
|
176
|
+
product_list: targetProducts.map((item, idx) => {
|
|
177
|
+
let unloadInvHistory = inboundInventories.find(
|
|
178
|
+
ih =>
|
|
179
|
+
ih.productId == item.product.id &&
|
|
180
|
+
ih.batchId == item.batchId &&
|
|
181
|
+
ih.packingType == item.packingType &&
|
|
182
|
+
ih.uom == item.uom
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
return {
|
|
186
|
+
list_no: idx + 1,
|
|
187
|
+
product_sku: `${item.product.sku}`,
|
|
188
|
+
product_name: `${item.product.name}(${item.product.description})`,
|
|
189
|
+
product_desc: item.product.description,
|
|
190
|
+
product_nameOnly: item.product.name,
|
|
191
|
+
product_type: item.packingType,
|
|
192
|
+
product_size: item.packingSize,
|
|
193
|
+
product_batch: item.batchId,
|
|
194
|
+
pallet_qty: item.actualPalletQty,
|
|
195
|
+
product_qty: unloadInvHistory.qty || item.actualPackQty,
|
|
196
|
+
product_unit_uom_value: `${Math.round(item.uomValue * 100) / 100}`,
|
|
197
|
+
product_total_uom_value: `${
|
|
198
|
+
Math.round((unloadInvHistory.uomValue || item.uomValue * item.actualPackQty) * 100) / 100
|
|
199
|
+
}`,
|
|
200
|
+
product_uom: `${unloadInvHistory.uom || item.uom}`,
|
|
201
|
+
expiry_date: unloadInvHistory.expiryDate || ``,
|
|
202
|
+
reusable_pallet_id: unloadInvHistory.reusablePalletId || ``,
|
|
203
|
+
remark: (item.remark ? item.remark : '') + (item.issue ? ' [Issue]: ' + item.issue : '')
|
|
204
|
+
}
|
|
205
|
+
})
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
const formData = new FormData()
|
|
209
|
+
formData.append('template', template)
|
|
210
|
+
formData.append('jsonString', JSON.stringify(data))
|
|
211
|
+
|
|
212
|
+
const response = await fetch(REPORT_API_URL, {
|
|
213
|
+
method: 'POST',
|
|
214
|
+
body: formData
|
|
215
|
+
})
|
|
216
|
+
|
|
217
|
+
return await response.text()
|
|
218
|
+
}
|
|
@@ -79,7 +79,7 @@ export async function renderJobSheet({ ganNo, timezoneOffSet }, context) {
|
|
|
79
79
|
return await getManager().transaction(async (trxMgr: EntityManager) => {
|
|
80
80
|
await trxMgr.query(
|
|
81
81
|
`
|
|
82
|
-
create temp table temp_invHistory as (
|
|
82
|
+
create temp table temp_invHistory on commit drop as (
|
|
83
83
|
select i2.id as inventory_id, i2.pallet_id, i2.product_id, i2.packing_type, i2.batch_id,
|
|
84
84
|
ih.id as inventory_history_id, ih.seq, ih.status, ih.transaction_type, ih.qty, ih.opening_qty, ih.uom_value, ih.opening_uom_value,
|
|
85
85
|
ih.created_at
|
|
@@ -95,52 +95,63 @@ export async function renderJobSheet({ ganNo, timezoneOffSet }, context) {
|
|
|
95
95
|
)
|
|
96
96
|
|
|
97
97
|
const invItems: any[] = await trxMgr.query(
|
|
98
|
-
`
|
|
99
|
-
SELECT
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
98
|
+
`
|
|
99
|
+
SELECT rn,
|
|
100
|
+
inv_id,
|
|
101
|
+
case when rn = 1 then "packingType" else null end as "packingType",
|
|
102
|
+
case when rn = 1 then "createdAt" else null end as "createdAt",
|
|
103
|
+
case when rn = 1 then "productName" else null end as "productName",
|
|
104
|
+
case when rn = 1 then "unloadedQty" else null end as "unloadedQty",
|
|
105
|
+
case when rn = 1 then "outboundAt" else null end as "outboundAt",
|
|
106
|
+
"doName",
|
|
107
|
+
case when rn = 1 then "palletId" else null end as "palletId",
|
|
108
|
+
qty,
|
|
109
|
+
case when rn = 1 then "ownTransport" else null end as "ownTransport",
|
|
110
|
+
case when rn = 1 then "vasName" else null end as "vasName"
|
|
111
|
+
from
|
|
112
|
+
(
|
|
113
|
+
SELECT
|
|
114
|
+
row_number() over(partition by pallet_id order by inv.pallet_id, product.name asc) as rn,
|
|
115
|
+
inv.id AS "inv_id", inv.packing_type AS "packingType", inv.created_at AS "createdAt", product.name AS "productName",
|
|
116
|
+
(
|
|
117
|
+
select distinct on(pallet_id) COALESCE(qty, 0) AS unloadedQty from temp_invHistory invh
|
|
118
|
+
where invh.status = 'UNLOADED' and invh.inventory_id = inv.id
|
|
119
|
+
order by pallet_id, seq asc
|
|
120
|
+
) AS "unloadedQty",
|
|
121
|
+
(
|
|
122
|
+
select distinct on(pallet_id) COALESCE(created_at, null) AS outboundAt from temp_invHistory invh
|
|
123
|
+
where invh.status = 'TERMINATED' and invh.inventory_id = inv.id
|
|
124
|
+
order by pallet_id, seq desc
|
|
125
|
+
) AS "outboundAt",
|
|
126
|
+
STRING_AGG (case when do2.name is not null then (CONCAT(do2.delivery_date, ' (', orderInv.release_qty, ') ', do2.name, ', ', case when do2.own_collection = true then 'TPT N' else 'TPT Y' end )) else null end, ', ') AS "doName",
|
|
127
|
+
case when plt.name is not null then (CONCAT(inv.pallet_id, ' (', plt.name, ')')) else inv.pallet_id end AS "palletId",
|
|
128
|
+
SUM(orderInv.release_qty) as "qty",
|
|
129
|
+
do2.own_collection AS "ownTransport",
|
|
130
|
+
STRING_AGG (vas.name, ', ') AS "vasName"
|
|
131
|
+
FROM inventories inv
|
|
132
|
+
LEFT JOIN order_inventories orderInv ON orderInv.inventory_id = inv.id AND orderInv.release_good_id is not null and orderInv.status <> 'CANCELLED' AND orderinv.picked_qty > 0
|
|
133
|
+
LEFT JOIN order_vass orderVass ON orderVass.inventory_id = inv.id
|
|
134
|
+
LEFT JOIN vass vas ON vas.id = orderVass.vas_id
|
|
135
|
+
LEFT JOIN pallets plt on plt.id = inv.reusable_pallet_id
|
|
136
|
+
LEFT JOIN delivery_orders do2 ON do2.id = orderInv.delivery_order_id
|
|
137
|
+
LEFT JOIN products product ON product.id=inv.product_id
|
|
138
|
+
inner join order_inventories oi on oi.inventory_id = inv.id
|
|
139
|
+
where oi.arrival_notice_id = $1
|
|
140
|
+
AND inv.domain_id = $2
|
|
141
|
+
GROUP BY inv.id, product.name, do2.own_collection, plt.name
|
|
142
|
+
ORDER BY inv.pallet_id, product.name asc
|
|
143
|
+
) foo
|
|
127
144
|
`,
|
|
128
145
|
[foundGAN.id, domain.id]
|
|
129
146
|
)
|
|
130
147
|
|
|
131
|
-
await trxMgr.query(
|
|
132
|
-
`
|
|
133
|
-
drop table temp_invHistory
|
|
134
|
-
`
|
|
135
|
-
)
|
|
136
|
-
|
|
137
148
|
const sumPackQty = targetProducts.map((op: OrderProduct) => op.actualPackQty).reduce((a, b) => a + b, 0)
|
|
138
149
|
|
|
139
150
|
let sumPalletQty = 0
|
|
140
151
|
if (foundJS?.sumPalletQty) {
|
|
141
152
|
sumPalletQty = foundJS.sumPalletQty
|
|
142
153
|
}
|
|
143
|
-
|
|
154
|
+
let index = 0
|
|
144
155
|
const data = {
|
|
145
156
|
logo_url: logo,
|
|
146
157
|
customer_biz: partnerBiz.company.name,
|
|
@@ -163,9 +174,10 @@ export async function renderJobSheet({ ganNo, timezoneOffSet }, context) {
|
|
|
163
174
|
created_on: DateTimeConverter.date(foundJS.createdAt),
|
|
164
175
|
job_no: foundJS ? foundJS.name : null,
|
|
165
176
|
ref_no: foundGAN.name,
|
|
166
|
-
product_list: invItems.map(
|
|
177
|
+
product_list: invItems.map(item => {
|
|
178
|
+
index = item.rn == 1 ? index + 1 : index
|
|
167
179
|
return {
|
|
168
|
-
idx:
|
|
180
|
+
idx: item.rn == 1 ? index : '',
|
|
169
181
|
pallet_id: item.palletId,
|
|
170
182
|
product_name: item.productName,
|
|
171
183
|
product_type: item.packingType,
|
|
@@ -1,25 +1,21 @@
|
|
|
1
|
+
import FormData from 'form-data'
|
|
2
|
+
import fetch from 'node-fetch'
|
|
3
|
+
import { getRepository, IsNull, Not } from 'typeorm'
|
|
4
|
+
|
|
1
5
|
import { Attachment, STORAGE } from '@things-factory/attachment-base'
|
|
2
6
|
import { Partner } from '@things-factory/auth-base'
|
|
3
7
|
import { Bizplace, ContactPoint } from '@things-factory/biz-base'
|
|
4
8
|
import { config } from '@things-factory/env'
|
|
5
|
-
import {
|
|
6
|
-
ArrivalNotice,
|
|
7
|
-
GoodsReceivalNote,
|
|
8
|
-
OrderProduct,
|
|
9
|
-
ORDER_PRODUCT_STATUS,
|
|
10
|
-
ORDER_STATUS
|
|
11
|
-
} from '@things-factory/sales-base'
|
|
9
|
+
import { ArrivalNotice, GoodsReceivalNote, ORDER_STATUS, OrderProduct } from '@things-factory/sales-base'
|
|
12
10
|
import { Domain } from '@things-factory/shell'
|
|
13
|
-
|
|
14
|
-
import
|
|
15
|
-
import { getRepository, IsNull, Not } from 'typeorm'
|
|
16
|
-
import { TEMPLATE_TYPE } from '../constants'
|
|
11
|
+
|
|
12
|
+
import { TEMPLATE_TYPE, WORKSHEET_TYPE } from '../constants'
|
|
17
13
|
import { Worksheet } from '../entities'
|
|
18
14
|
import { DateTimeConverter } from '../utils/datetime-util'
|
|
19
15
|
|
|
20
16
|
const REPORT_API_URL = config.get('reportApiUrl', 'http://localhost:8888/rest/report/show_html')
|
|
21
17
|
|
|
22
|
-
export async function renderKimedaGRN({ grnNo }, context: any) {
|
|
18
|
+
export async function renderKimedaGRN({ grnNo, timezoneOffSet }, context: any) {
|
|
23
19
|
// 1. find domain
|
|
24
20
|
const domain: Domain = await getRepository(Domain).findOne({
|
|
25
21
|
where: { id: context.state.domain.id }
|
|
@@ -39,7 +35,7 @@ export async function renderKimedaGRN({ grnNo }, context: any) {
|
|
|
39
35
|
const partnerBiz: Bizplace = foundGRN.bizplace
|
|
40
36
|
|
|
41
37
|
const partnerDomain: Partner = await getRepository(Partner).findOne({
|
|
42
|
-
where: { partnerDomain: partnerBiz.domain },
|
|
38
|
+
where: { partnerDomain: partnerBiz.domain, domain },
|
|
43
39
|
relations: ['domain']
|
|
44
40
|
})
|
|
45
41
|
|
|
@@ -54,10 +50,21 @@ export async function renderKimedaGRN({ grnNo }, context: any) {
|
|
|
54
50
|
where: { domain, bizplace: domainBizplace }
|
|
55
51
|
})
|
|
56
52
|
|
|
53
|
+
// 5. find domain contact point
|
|
54
|
+
const foundPartnerCP: ContactPoint = await getRepository(ContactPoint).findOne({
|
|
55
|
+
where: { domain, bizplace: partnerBiz }
|
|
56
|
+
})
|
|
57
|
+
|
|
57
58
|
// 6. find unloading worksheet
|
|
58
59
|
const foundWS: Worksheet = await getRepository(Worksheet).findOne({
|
|
59
|
-
where: { domain, arrivalNotice: foundGAN, type:
|
|
60
|
-
relations: ['worksheetDetails']
|
|
60
|
+
where: { domain, arrivalNotice: foundGAN, type: WORKSHEET_TYPE.UNLOADING, status: ORDER_STATUS.DONE },
|
|
61
|
+
relations: ['worksheetDetails', 'updater']
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
// find putaway worksheet
|
|
65
|
+
const foundPutawayWS: Worksheet = await getRepository(Worksheet).findOne({
|
|
66
|
+
where: { domain, arrivalNotice: foundGAN, type: WORKSHEET_TYPE.PUTAWAY, status: ORDER_STATUS.DONE },
|
|
67
|
+
relations: ['worksheetDetails', 'updater']
|
|
61
68
|
})
|
|
62
69
|
|
|
63
70
|
const targetProducts: OrderProduct[] = await getRepository(OrderProduct).find({
|
|
@@ -123,15 +130,20 @@ export async function renderKimedaGRN({ grnNo }, context: any) {
|
|
|
123
130
|
company_address: domainBizplace.company.address,
|
|
124
131
|
order_no: foundGRN.name,
|
|
125
132
|
gan_no: foundGAN.name,
|
|
133
|
+
gan_accepted_at: foundGAN.acceptedAt ? DateTimeConverter.datetime(foundGAN.acceptedAt, timezoneOffSet) : '',
|
|
126
134
|
unload_date: DateTimeConverter.date(foundWS.endedAt),
|
|
127
135
|
ref_no: ownRefNo ? `${foundGAN.name} / ${foundGAN.refNo}` : `${foundGAN.name}`,
|
|
128
136
|
received_date: DateTimeConverter.date(foundWS.endedAt),
|
|
129
137
|
truck_no: foundGAN.truckNo || '',
|
|
130
138
|
container_no: foundGAN.containerNo || '',
|
|
139
|
+
delivery_order_no: foundGAN.deliveryOrderNo ? foundGAN.deliveryOrderNo : '',
|
|
140
|
+
account_no: foundPartnerCP ? foundPartnerCP.accountNo : '',
|
|
141
|
+
unloaded_by: foundWS ? foundWS.updater.name : '',
|
|
142
|
+
putaway_by: foundPutawayWS ? foundPutawayWS.updater.name : '',
|
|
131
143
|
product_list: targetProducts.map((item, idx) => {
|
|
132
144
|
return {
|
|
133
145
|
list_no: idx + 1,
|
|
134
|
-
product_sku: `${item.
|
|
146
|
+
product_sku: `${item.product.sku}`,
|
|
135
147
|
product_name: `${item.product.name}(${item.product.description})`,
|
|
136
148
|
product_desc: item.product.description,
|
|
137
149
|
product_nameOnly: item.product.name,
|