@things-factory/sales-base 7.0.1-beta.0 → 7.0.1-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/constants/attachment-type.d.ts +9 -0
- package/dist-server/constants/index.d.ts +7 -0
- package/dist-server/constants/load-type.d.ts +4 -0
- package/dist-server/constants/order.d.ts +191 -0
- package/dist-server/constants/product-group-type.d.ts +4 -0
- package/dist-server/constants/release-good.d.ts +8 -0
- package/dist-server/constants/release-good.js +1 -1
- package/dist-server/constants/release-good.js.map +1 -1
- package/dist-server/constants/transfer-order-type.d.ts +5 -0
- package/dist-server/constants/validation-error-code.d.ts +12 -0
- package/dist-server/constants/vas-target-type.d.ts +22 -0
- package/dist-server/controllers/ecommerce/ecommerce-controller.d.ts +6 -0
- package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
- package/dist-server/controllers/ecommerce/index.d.ts +2 -0
- package/dist-server/controllers/ecommerce/sellercraft-controller.d.ts +9 -0
- package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
- package/dist-server/controllers/index.d.ts +2 -0
- package/dist-server/controllers/order-controller.d.ts +109 -0
- package/dist-server/controllers/order-controller.js +2 -2
- package/dist-server/controllers/order-controller.js.map +1 -1
- package/dist-server/errors/index.d.ts +1 -0
- package/dist-server/errors/validation-error.d.ts +12 -0
- package/dist-server/index.d.ts +5 -0
- package/dist-server/migrations/index.d.ts +1 -0
- package/dist-server/service/arrival-notice/arrival-notice-mutation.d.ts +28 -0
- package/dist-server/service/arrival-notice/arrival-notice-mutation.js +55 -16
- package/dist-server/service/arrival-notice/arrival-notice-mutation.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice-query.d.ts +15 -0
- package/dist-server/service/arrival-notice/arrival-notice-query.js +2 -2
- package/dist-server/service/arrival-notice/arrival-notice-query.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice-types.d.ts +107 -0
- package/dist-server/service/arrival-notice/arrival-notice-types.js +8 -8
- package/dist-server/service/arrival-notice/arrival-notice-types.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice.d.ts +56 -0
- package/dist-server/service/arrival-notice/arrival-notice.js +4 -5
- package/dist-server/service/arrival-notice/arrival-notice.js.map +1 -1
- package/dist-server/service/arrival-notice/index.d.ts +7 -0
- package/dist-server/service/claim/claim-mutation.d.ts +9 -0
- package/dist-server/service/claim/claim-mutation.js +2 -2
- package/dist-server/service/claim/claim-mutation.js.map +1 -1
- package/dist-server/service/claim/claim-query.d.ts +13 -0
- package/dist-server/service/claim/claim-query.js +2 -2
- package/dist-server/service/claim/claim-query.js.map +1 -1
- package/dist-server/service/claim/claim-types.d.ts +48 -0
- package/dist-server/service/claim/claim-types.js +6 -6
- package/dist-server/service/claim/claim-types.js.map +1 -1
- package/dist-server/service/claim/claim.d.ts +37 -0
- package/dist-server/service/claim/claim.js +5 -6
- package/dist-server/service/claim/claim.js.map +1 -1
- package/dist-server/service/claim/index.d.ts +7 -0
- package/dist-server/service/claim-detail/claim-detail-mutation.d.ts +9 -0
- package/dist-server/service/claim-detail/claim-detail-mutation.js +2 -2
- package/dist-server/service/claim-detail/claim-detail-mutation.js.map +1 -1
- package/dist-server/service/claim-detail/claim-detail-query.d.ts +11 -0
- package/dist-server/service/claim-detail/claim-detail-query.js +2 -2
- package/dist-server/service/claim-detail/claim-detail-query.js.map +1 -1
- package/dist-server/service/claim-detail/claim-detail-types.d.ts +19 -0
- package/dist-server/service/claim-detail/claim-detail-types.js +6 -6
- package/dist-server/service/claim-detail/claim-detail-types.js.map +1 -1
- package/dist-server/service/claim-detail/claim-detail.d.ts +21 -0
- package/dist-server/service/claim-detail/claim-detail.js +2 -2
- package/dist-server/service/claim-detail/claim-detail.js.map +1 -1
- package/dist-server/service/claim-detail/index.d.ts +7 -0
- package/dist-server/service/claim-order/claim-order-mutation.d.ts +9 -0
- package/dist-server/service/claim-order/claim-order-mutation.js +2 -2
- package/dist-server/service/claim-order/claim-order-mutation.js.map +1 -1
- package/dist-server/service/claim-order/claim-order-query.d.ts +11 -0
- package/dist-server/service/claim-order/claim-order-query.js +2 -2
- package/dist-server/service/claim-order/claim-order-query.js.map +1 -1
- package/dist-server/service/claim-order/claim-order-types.d.ts +15 -0
- package/dist-server/service/claim-order/claim-order-types.js +6 -6
- package/dist-server/service/claim-order/claim-order-types.js.map +1 -1
- package/dist-server/service/claim-order/claim-order.d.ts +21 -0
- package/dist-server/service/claim-order/claim-order.js +2 -2
- package/dist-server/service/claim-order/claim-order.js.map +1 -1
- package/dist-server/service/claim-order/index.d.ts +7 -0
- package/dist-server/service/collection-order/collection-order-mutation.d.ts +13 -0
- package/dist-server/service/collection-order/collection-order-mutation.js +2 -2
- package/dist-server/service/collection-order/collection-order-mutation.js.map +1 -1
- package/dist-server/service/collection-order/collection-order-query.d.ts +12 -0
- package/dist-server/service/collection-order/collection-order-query.js +2 -2
- package/dist-server/service/collection-order/collection-order-query.js.map +1 -1
- package/dist-server/service/collection-order/collection-order-types.d.ts +60 -0
- package/dist-server/service/collection-order/collection-order-types.js +8 -8
- package/dist-server/service/collection-order/collection-order-types.js.map +1 -1
- package/dist-server/service/collection-order/collection-order.d.ts +39 -0
- package/dist-server/service/collection-order/collection-order.js +5 -6
- package/dist-server/service/collection-order/collection-order.js.map +1 -1
- package/dist-server/service/collection-order/index.d.ts +7 -0
- package/dist-server/service/delivery-order/delivery-order-mutation.d.ts +38 -0
- package/dist-server/service/delivery-order/delivery-order-mutation.js +3 -3
- package/dist-server/service/delivery-order/delivery-order-mutation.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order-query.d.ts +20 -0
- package/dist-server/service/delivery-order/delivery-order-query.js +2 -2
- package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order-types.d.ts +96 -0
- package/dist-server/service/delivery-order/delivery-order-types.js +8 -8
- package/dist-server/service/delivery-order/delivery-order-types.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order.d.ts +73 -0
- package/dist-server/service/delivery-order/delivery-order.js +5 -6
- package/dist-server/service/delivery-order/delivery-order.js.map +1 -1
- package/dist-server/service/delivery-order/index.d.ts +7 -0
- package/dist-server/service/draft-release-good/draft-release-good-mutation.d.ts +21 -0
- package/dist-server/service/draft-release-good/draft-release-good-mutation.js +5 -5
- package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +1 -1
- package/dist-server/service/draft-release-good/draft-release-good-query.d.ts +10 -0
- package/dist-server/service/draft-release-good/draft-release-good-query.js +2 -2
- package/dist-server/service/draft-release-good/draft-release-good-query.js.map +1 -1
- package/dist-server/service/draft-release-good/draft-release-good-type.d.ts +91 -0
- package/dist-server/service/draft-release-good/draft-release-good-type.js +6 -6
- package/dist-server/service/draft-release-good/draft-release-good-type.js.map +1 -1
- package/dist-server/service/draft-release-good/draft-release-good.d.ts +66 -0
- package/dist-server/service/draft-release-good/draft-release-good.js +4 -5
- package/dist-server/service/draft-release-good/draft-release-good.js.map +1 -1
- package/dist-server/service/draft-release-good/index.d.ts +7 -0
- package/dist-server/service/goods-receival-note/goods-receival-note-mutation.d.ts +16 -0
- package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js +2 -2
- package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js.map +1 -1
- package/dist-server/service/goods-receival-note/goods-receival-note-query.d.ts +11 -0
- package/dist-server/service/goods-receival-note/goods-receival-note-query.js +2 -2
- package/dist-server/service/goods-receival-note/goods-receival-note-query.js.map +1 -1
- package/dist-server/service/goods-receival-note/goods-receival-note-types.d.ts +39 -0
- package/dist-server/service/goods-receival-note/goods-receival-note-types.js +8 -8
- package/dist-server/service/goods-receival-note/goods-receival-note-types.js.map +1 -1
- package/dist-server/service/goods-receival-note/goods-receival-note.d.ts +36 -0
- package/dist-server/service/goods-receival-note/goods-receival-note.js +3 -4
- package/dist-server/service/goods-receival-note/goods-receival-note.js.map +1 -1
- package/dist-server/service/goods-receival-note/index.d.ts +7 -0
- package/dist-server/service/index.d.ts +119 -0
- package/dist-server/service/inventory-check/index.d.ts +7 -0
- package/dist-server/service/inventory-check/inventory-check-mutation.d.ts +14 -0
- package/dist-server/service/inventory-check/inventory-check-mutation.js +2 -2
- package/dist-server/service/inventory-check/inventory-check-mutation.js.map +1 -1
- package/dist-server/service/inventory-check/inventory-check-query.d.ts +11 -0
- package/dist-server/service/inventory-check/inventory-check-query.js +2 -2
- package/dist-server/service/inventory-check/inventory-check-query.js.map +1 -1
- package/dist-server/service/inventory-check/inventory-check-types.d.ts +20 -0
- package/dist-server/service/inventory-check/inventory-check-types.js +6 -6
- package/dist-server/service/inventory-check/inventory-check-types.js.map +1 -1
- package/dist-server/service/inventory-check/inventory-check.d.ts +24 -0
- package/dist-server/service/inventory-check/inventory-check.js +3 -4
- package/dist-server/service/inventory-check/inventory-check.js.map +1 -1
- package/dist-server/service/invoice/index.d.ts +7 -0
- package/dist-server/service/invoice/invoice-mutation.d.ts +11 -0
- package/dist-server/service/invoice/invoice-mutation.js +2 -2
- package/dist-server/service/invoice/invoice-mutation.js.map +1 -1
- package/dist-server/service/invoice/invoice-query.d.ts +11 -0
- package/dist-server/service/invoice/invoice-query.js +2 -2
- package/dist-server/service/invoice/invoice-query.js.map +1 -1
- package/dist-server/service/invoice/invoice-types.d.ts +97 -0
- package/dist-server/service/invoice/invoice-types.js +6 -6
- package/dist-server/service/invoice/invoice-types.js.map +1 -1
- package/dist-server/service/invoice/invoice.d.ts +58 -0
- package/dist-server/service/invoice/invoice.js +2 -2
- package/dist-server/service/invoice/invoice.js.map +1 -1
- package/dist-server/service/invoice-product/index.d.ts +7 -0
- package/dist-server/service/invoice-product/invoice-product-mutation.d.ts +7 -0
- package/dist-server/service/invoice-product/invoice-product-mutation.js +2 -2
- package/dist-server/service/invoice-product/invoice-product-mutation.js.map +1 -1
- package/dist-server/service/invoice-product/invoice-product-query.d.ts +11 -0
- package/dist-server/service/invoice-product/invoice-product-query.js +2 -2
- package/dist-server/service/invoice-product/invoice-product-query.js.map +1 -1
- package/dist-server/service/invoice-product/invoice-product-types.d.ts +32 -0
- package/dist-server/service/invoice-product/invoice-product-types.js +8 -8
- package/dist-server/service/invoice-product/invoice-product-types.js.map +1 -1
- package/dist-server/service/invoice-product/invoice-product.d.ts +26 -0
- package/dist-server/service/invoice-product/invoice-product.js +3 -4
- package/dist-server/service/invoice-product/invoice-product.js.map +1 -1
- package/dist-server/service/job-sheet/index.d.ts +7 -0
- package/dist-server/service/job-sheet/job-sheet-mutation.d.ts +10 -0
- package/dist-server/service/job-sheet/job-sheet-mutation.js +2 -2
- package/dist-server/service/job-sheet/job-sheet-mutation.js.map +1 -1
- package/dist-server/service/job-sheet/job-sheet-query.d.ts +11 -0
- package/dist-server/service/job-sheet/job-sheet-query.js +2 -2
- package/dist-server/service/job-sheet/job-sheet-query.js.map +1 -1
- package/dist-server/service/job-sheet/job-sheet-types.d.ts +27 -0
- package/dist-server/service/job-sheet/job-sheet-types.js +6 -6
- package/dist-server/service/job-sheet/job-sheet-types.js.map +1 -1
- package/dist-server/service/job-sheet/job-sheet.d.ts +27 -0
- package/dist-server/service/job-sheet/job-sheet.js +3 -4
- package/dist-server/service/job-sheet/job-sheet.js.map +1 -1
- package/dist-server/service/manifest/index.d.ts +5 -0
- package/dist-server/service/manifest/manifest-mutation.d.ts +9 -0
- package/dist-server/service/manifest/manifest-mutation.js +2 -2
- package/dist-server/service/manifest/manifest-mutation.js.map +1 -1
- package/dist-server/service/manifest/manifest-query.d.ts +11 -0
- package/dist-server/service/manifest/manifest-query.js +2 -2
- package/dist-server/service/manifest/manifest-query.js.map +1 -1
- package/dist-server/service/manifest/manifest-type.d.ts +33 -0
- package/dist-server/service/manifest/manifest-type.js +10 -10
- package/dist-server/service/manifest/manifest-type.js.map +1 -1
- package/dist-server/service/manifest/manifest.d.ts +27 -0
- package/dist-server/service/manifest/manifest.js +3 -3
- package/dist-server/service/manifest/manifest.js.map +1 -1
- package/dist-server/service/order-inventory/index.d.ts +7 -0
- package/dist-server/service/order-inventory/order-inventory-mutation.d.ts +7 -0
- package/dist-server/service/order-inventory/order-inventory-mutation.js +2 -2
- package/dist-server/service/order-inventory/order-inventory-mutation.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-query.d.ts +18 -0
- package/dist-server/service/order-inventory/order-inventory-query.js +2 -2
- package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-types.d.ts +84 -0
- package/dist-server/service/order-inventory/order-inventory-types.js +8 -9
- package/dist-server/service/order-inventory/order-inventory-types.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory.d.ts +114 -0
- package/dist-server/service/order-inventory/order-inventory.js +8 -9
- package/dist-server/service/order-inventory/order-inventory.js.map +1 -1
- package/dist-server/service/order-product/index.d.ts +7 -0
- package/dist-server/service/order-product/order-product-mutation.d.ts +7 -0
- package/dist-server/service/order-product/order-product-mutation.js +2 -2
- package/dist-server/service/order-product/order-product-mutation.js.map +1 -1
- package/dist-server/service/order-product/order-product-query.d.ts +11 -0
- package/dist-server/service/order-product/order-product-query.js +2 -2
- package/dist-server/service/order-product/order-product-query.js.map +1 -1
- package/dist-server/service/order-product/order-product-types.d.ts +116 -0
- package/dist-server/service/order-product/order-product-types.js +8 -8
- package/dist-server/service/order-product/order-product-types.js.map +1 -1
- package/dist-server/service/order-product/order-product.d.ts +95 -0
- package/dist-server/service/order-product/order-product.js +24 -13
- package/dist-server/service/order-product/order-product.js.map +1 -1
- package/dist-server/service/order-tote/index.d.ts +7 -0
- package/dist-server/service/order-tote/order-tote-mutation.d.ts +4 -0
- package/dist-server/service/order-tote/order-tote-mutation.js +2 -2
- package/dist-server/service/order-tote/order-tote-mutation.js.map +1 -1
- package/dist-server/service/order-tote/order-tote-query.d.ts +8 -0
- package/dist-server/service/order-tote/order-tote-query.js +2 -2
- package/dist-server/service/order-tote/order-tote-query.js.map +1 -1
- package/dist-server/service/order-tote/order-tote-types.d.ts +19 -0
- package/dist-server/service/order-tote/order-tote-types.js +6 -6
- package/dist-server/service/order-tote/order-tote-types.js.map +1 -1
- package/dist-server/service/order-tote/order-tote.d.ts +20 -0
- package/dist-server/service/order-tote/order-tote.js +3 -4
- package/dist-server/service/order-tote/order-tote.js.map +1 -1
- package/dist-server/service/order-tote-item/index.d.ts +7 -0
- package/dist-server/service/order-tote-item/order-tote-item-mutation.d.ts +4 -0
- package/dist-server/service/order-tote-item/order-tote-item-mutation.js +2 -2
- package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +1 -1
- package/dist-server/service/order-tote-item/order-tote-item-query.d.ts +7 -0
- package/dist-server/service/order-tote-item/order-tote-item-query.js +2 -2
- package/dist-server/service/order-tote-item/order-tote-item-query.js.map +1 -1
- package/dist-server/service/order-tote-item/order-tote-item-types.d.ts +22 -0
- package/dist-server/service/order-tote-item/order-tote-item-types.js +6 -6
- package/dist-server/service/order-tote-item/order-tote-item-types.js.map +1 -1
- package/dist-server/service/order-tote-item/order-tote-item.d.ts +23 -0
- package/dist-server/service/order-tote-item/order-tote-item.js +2 -2
- package/dist-server/service/order-tote-item/order-tote-item.js.map +1 -1
- package/dist-server/service/order-tote-seal/index.d.ts +7 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-mutation.d.ts +4 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js +2 -2
- package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +1 -1
- package/dist-server/service/order-tote-seal/order-tote-seal-query.d.ts +12 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-query.js +2 -2
- package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +1 -1
- package/dist-server/service/order-tote-seal/order-tote-seal-types.d.ts +17 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-types.js +6 -6
- package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +1 -1
- package/dist-server/service/order-tote-seal/order-tote-seal.d.ts +14 -0
- package/dist-server/service/order-tote-seal/order-tote-seal.js +2 -2
- package/dist-server/service/order-tote-seal/order-tote-seal.js.map +1 -1
- package/dist-server/service/order-vas/index.d.ts +7 -0
- package/dist-server/service/order-vas/order-vas-mutation.d.ts +5 -0
- package/dist-server/service/order-vas/order-vas-mutation.js +2 -2
- package/dist-server/service/order-vas/order-vas-mutation.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-query.d.ts +11 -0
- package/dist-server/service/order-vas/order-vas-query.js +2 -2
- package/dist-server/service/order-vas/order-vas-query.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-types.d.ts +57 -0
- package/dist-server/service/order-vas/order-vas-types.js +6 -6
- package/dist-server/service/order-vas/order-vas-types.js.map +1 -1
- package/dist-server/service/order-vas/order-vas.d.ts +65 -0
- package/dist-server/service/order-vas/order-vas.js +8 -10
- package/dist-server/service/order-vas/order-vas.js.map +1 -1
- package/dist-server/service/others/index.d.ts +3 -0
- package/dist-server/service/others/other-query.d.ts +10 -0
- package/dist-server/service/others/other-query.js +41 -11
- package/dist-server/service/others/other-query.js.map +1 -1
- package/dist-server/service/others/other-types.d.ts +40 -0
- package/dist-server/service/others/other-types.js +5 -6
- package/dist-server/service/others/other-types.js.map +1 -1
- package/dist-server/service/purchase-order/index.d.ts +7 -0
- package/dist-server/service/purchase-order/purchase-order-mutation.d.ts +18 -0
- package/dist-server/service/purchase-order/purchase-order-mutation.js +11 -21
- package/dist-server/service/purchase-order/purchase-order-mutation.js.map +1 -1
- package/dist-server/service/purchase-order/purchase-order-query.d.ts +54 -0
- package/dist-server/service/purchase-order/purchase-order-query.js +2 -2
- package/dist-server/service/purchase-order/purchase-order-query.js.map +1 -1
- package/dist-server/service/purchase-order/purchase-order-types.d.ts +56 -0
- package/dist-server/service/purchase-order/purchase-order-types.js +6 -6
- package/dist-server/service/purchase-order/purchase-order-types.js.map +1 -1
- package/dist-server/service/purchase-order/purchase-order.d.ts +46 -0
- package/dist-server/service/purchase-order/purchase-order.js +5 -6
- package/dist-server/service/purchase-order/purchase-order.js.map +1 -1
- package/dist-server/service/purchase-order-other-charge/index.d.ts +7 -0
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.d.ts +4 -0
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js +2 -2
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js.map +1 -1
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.d.ts +11 -0
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js +2 -2
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js.map +1 -1
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.d.ts +18 -0
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js +6 -6
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js.map +1 -1
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.d.ts +20 -0
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js +2 -2
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js.map +1 -1
- package/dist-server/service/release-good/index.d.ts +7 -0
- package/dist-server/service/release-good/release-good-mutation.d.ts +26 -0
- package/dist-server/service/release-good/release-good-mutation.js +3 -3
- package/dist-server/service/release-good/release-good-mutation.js.map +1 -1
- package/dist-server/service/release-good/release-good-query.d.ts +17 -0
- package/dist-server/service/release-good/release-good-query.js +2 -2
- package/dist-server/service/release-good/release-good-query.js.map +1 -1
- package/dist-server/service/release-good/release-good-types.d.ts +233 -0
- package/dist-server/service/release-good/release-good-types.js +21 -22
- package/dist-server/service/release-good/release-good-types.js.map +1 -1
- package/dist-server/service/release-good/release-good.d.ts +121 -0
- package/dist-server/service/release-good/release-good.js +5 -6
- package/dist-server/service/release-good/release-good.js.map +1 -1
- package/dist-server/service/retail-replenishment-order/index.d.ts +7 -0
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.d.ts +16 -0
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js +2 -2
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js.map +1 -1
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.d.ts +11 -0
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js +2 -2
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js.map +1 -1
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.d.ts +39 -0
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js +6 -6
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js.map +1 -1
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order.d.ts +29 -0
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js +3 -4
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js.map +1 -1
- package/dist-server/service/return-order/index.d.ts +7 -0
- package/dist-server/service/return-order/return-order-mutation.d.ts +18 -0
- package/dist-server/service/return-order/return-order-mutation.js +3 -3
- package/dist-server/service/return-order/return-order-mutation.js.map +1 -1
- package/dist-server/service/return-order/return-order-query.d.ts +13 -0
- package/dist-server/service/return-order/return-order-query.js +2 -2
- package/dist-server/service/return-order/return-order-query.js.map +1 -1
- package/dist-server/service/return-order/return-order-types.d.ts +76 -0
- package/dist-server/service/return-order/return-order-types.js +10 -11
- package/dist-server/service/return-order/return-order-types.js.map +1 -1
- package/dist-server/service/return-order/return-order.d.ts +33 -0
- package/dist-server/service/return-order/return-order.js +3 -4
- package/dist-server/service/return-order/return-order.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/index.d.ts +7 -0
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.d.ts +14 -0
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js +2 -2
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.d.ts +14 -0
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js +2 -2
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.d.ts +61 -0
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js +15 -16
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order.d.ts +34 -0
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js +5 -6
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js.map +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/index.d.ts +7 -0
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.d.ts +9 -0
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js +2 -2
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js.map +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.d.ts +11 -0
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js +2 -2
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js.map +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.d.ts +35 -0
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js +6 -6
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js.map +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.d.ts +39 -0
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js +5 -6
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js.map +1 -1
- package/dist-server/service/shipping-order/index.d.ts +7 -0
- package/dist-server/service/shipping-order/shipping-order-mutation.d.ts +7 -0
- package/dist-server/service/shipping-order/shipping-order-mutation.js +2 -2
- package/dist-server/service/shipping-order/shipping-order-mutation.js.map +1 -1
- package/dist-server/service/shipping-order/shipping-order-query.d.ts +11 -0
- package/dist-server/service/shipping-order/shipping-order-query.js +2 -2
- package/dist-server/service/shipping-order/shipping-order-query.js.map +1 -1
- package/dist-server/service/shipping-order/shipping-order-types.d.ts +33 -0
- package/dist-server/service/shipping-order/shipping-order-types.js +6 -6
- package/dist-server/service/shipping-order/shipping-order-types.js.map +1 -1
- package/dist-server/service/shipping-order/shipping-order.d.ts +33 -0
- package/dist-server/service/shipping-order/shipping-order.js +3 -4
- package/dist-server/service/shipping-order/shipping-order.js.map +1 -1
- package/dist-server/service/transfer-order/index.d.ts +7 -0
- package/dist-server/service/transfer-order/transfer-order-mutation.d.ts +16 -0
- package/dist-server/service/transfer-order/transfer-order-mutation.js +3 -3
- package/dist-server/service/transfer-order/transfer-order-mutation.js.map +1 -1
- package/dist-server/service/transfer-order/transfer-order-query.d.ts +11 -0
- package/dist-server/service/transfer-order/transfer-order-query.js +2 -2
- package/dist-server/service/transfer-order/transfer-order-query.js.map +1 -1
- package/dist-server/service/transfer-order/transfer-order-types.d.ts +37 -0
- package/dist-server/service/transfer-order/transfer-order-types.js +6 -6
- package/dist-server/service/transfer-order/transfer-order-types.js.map +1 -1
- package/dist-server/service/transfer-order/transfer-order.d.ts +30 -0
- package/dist-server/service/transfer-order/transfer-order.js +3 -4
- package/dist-server/service/transfer-order/transfer-order.js.map +1 -1
- package/dist-server/service/vas/index.d.ts +7 -0
- package/dist-server/service/vas/vas-mutation.d.ts +9 -0
- package/dist-server/service/vas/vas-mutation.js +2 -2
- package/dist-server/service/vas/vas-mutation.js.map +1 -1
- package/dist-server/service/vas/vas-query.d.ts +11 -0
- package/dist-server/service/vas/vas-query.js +2 -2
- package/dist-server/service/vas/vas-query.js.map +1 -1
- package/dist-server/service/vas/vas-types.d.ts +27 -0
- package/dist-server/service/vas/vas-types.js +6 -6
- package/dist-server/service/vas/vas-types.js.map +1 -1
- package/dist-server/service/vas/vas.d.ts +22 -0
- package/dist-server/service/vas/vas.js +2 -2
- package/dist-server/service/vas/vas.js.map +1 -1
- package/dist-server/service/vas-order/index.d.ts +7 -0
- package/dist-server/service/vas-order/vas-order-mutation.d.ts +9 -0
- package/dist-server/service/vas-order/vas-order-mutation.js +2 -2
- package/dist-server/service/vas-order/vas-order-mutation.js.map +1 -1
- package/dist-server/service/vas-order/vas-order-query.d.ts +12 -0
- package/dist-server/service/vas-order/vas-order-query.js +2 -2
- package/dist-server/service/vas-order/vas-order-query.js.map +1 -1
- package/dist-server/service/vas-order/vas-order-types.d.ts +21 -0
- package/dist-server/service/vas-order/vas-order-types.js +6 -6
- package/dist-server/service/vas-order/vas-order-types.js.map +1 -1
- package/dist-server/service/vas-order/vas-order.d.ts +22 -0
- package/dist-server/service/vas-order/vas-order.js +3 -4
- package/dist-server/service/vas-order/vas-order.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/utils/datetime-util.d.ts +7 -0
- package/dist-server/utils/datetime-util.js.map +1 -1
- package/dist-server/utils/index.d.ts +3 -0
- package/dist-server/utils/inventory-util.d.ts +75 -0
- package/dist-server/utils/inventory-util.js +2 -2
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/dist-server/utils/order-no-generator.d.ts +25 -0
- package/package.json +13 -13
- package/server/controllers/order-controller.ts +1 -1
- package/server/service/arrival-notice/arrival-notice-mutation.ts +123 -26
- package/server/service/claim/claim-mutation.ts +3 -3
- package/server/service/delivery-order/delivery-order-mutation.ts +6 -6
- package/server/service/draft-release-good/draft-release-good-mutation.ts +11 -10
- package/server/service/draft-release-good/draft-release-good-query.ts +1 -1
- package/server/service/inventory-check/inventory-check-mutation.ts +1 -1
- package/server/service/order-inventory/order-inventory-query.ts +1 -1
- package/server/service/order-product/order-product.ts +26 -4
- package/server/service/others/other-query.ts +78 -19
- package/server/service/purchase-order/purchase-order-mutation.ts +5 -4
- package/server/service/release-good/release-good-mutation.ts +7 -7
- package/server/service/release-good/release-good-query.ts +16 -16
- package/server/service/return-order/return-order-mutation.ts +3 -3
- package/server/service/reverse-kitting-order/reverse-kitting-order-mutation.ts +5 -5
- package/server/service/reverse-kitting-order/reverse-kitting-order-query.ts +1 -1
- package/server/service/transfer-order/transfer-order-mutation.ts +3 -3
- package/server/utils/inventory-util.ts +20 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-order.js","sourceRoot":"","sources":["../../../server/service/delivery-order/delivery-order.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType } from 'type-graphql'\nimport { Column, CreateDateColumn, Entity, Index, ManyToOne, OneToMany, PrimaryGeneratedColumn, RelationId, UpdateDateColumn } from 'typeorm'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { Domain, roundTransformer } from '@things-factory/shell'\nimport { TransportDriver, TransportVehicle } from '@things-factory/transport-base'\n\nimport { OrderInventory } from '../order-inventory/order-inventory'\nimport { ReleaseGood } from '../release-good/release-good'\nimport { RetailReplenishmentOrder } from '../retail-replenishment-order/retail-replenishment-order'\nimport { TransferOrder } from '../transfer-order/transfer-order'\n\n@Entity()\n@Index('ix_delivery-order_0', (deliveryOrder: DeliveryOrder) => [deliveryOrder.domain, deliveryOrder.name], {\n unique: true\n})\n@Index('ix_delivery-order_1', (deliveryOrder: DeliveryOrder) => [deliveryOrder.domain, deliveryOrder.bizplace])\n@Index('ix_delivery-order_2', (deliveryOrder: DeliveryOrder) => [deliveryOrder.domain, deliveryOrder.releaseGood])\n@ObjectType()\nexport class DeliveryOrder {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain, { nullable: true })\n domain: Domain\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.domain)\n domainId: string\n\n @ManyToOne(type => Bizplace)\n @Field(type => Bizplace, { nullable: true })\n bizplace: Bizplace\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.bizplace)\n bizplaceId: string\n\n @Column()\n @Field()\n name: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n from: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n to: string\n\n @Column({ type: 'uuid', nullable: true })\n @Field({ nullable: true })\n contactPointRefId: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n truckNo: string\n\n @Field({ nullable: true })\n truck?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n ownCollection: Boolean\n\n @ManyToOne(type => ReleaseGood)\n @Field(type => ReleaseGood, { nullable: true })\n releaseGood: ReleaseGood\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.releaseGood)\n releaseGoodId: string\n\n @ManyToOne(type => TransferOrder)\n @Field(type => TransferOrder, { nullable: true })\n transferOrder: TransferOrder\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.transferOrder)\n transferOrderId: string\n\n @ManyToOne(type => RetailReplenishmentOrder)\n @Field(type => RetailReplenishmentOrder, { nullable: true })\n retailReplenishmentOrder: RetailReplenishmentOrder\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.retailReplenishmentOrder)\n retailReplenishmentOrderId: string\n\n @OneToMany(type => OrderInventory, orderInventory => orderInventory.deliveryOrder)\n @Field(type => [OrderInventory], { nullable: true })\n orderInventories: OrderInventory[]\n\n @Field(type => [OrderInventory], { nullable: true })\n targetInventories?: OrderInventory[]\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n looseItem: Boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryDate: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryDateTime: Date\n\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n loadWeight: Number\n\n @ManyToOne(type => TransportDriver)\n @Field(type => TransportDriver, { nullable: true })\n transportDriver: TransportDriver\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.transportDriver)\n transportDriverId: string\n\n @ManyToOne(type => TransportVehicle)\n @Field(type => TransportVehicle, { nullable: true })\n transportVehicle: TransportVehicle\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.transportVehicle)\n transportVehicleId: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n cargoType: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n urgency: Boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n telNo: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n refNo: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n otherDriver: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n palletQty: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n remark: string\n\n @Column()\n @Field()\n status: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n attentionTo: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n attentionCompany: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n city: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n state: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n postalCode: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n country: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n phone1: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryAddress1: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryAddress2: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryAddress3: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryAddress4: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryAddress5: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n billingAddress: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n billingCountry: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n billingPostalCode: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n billingState: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n billingCity: string\n\n @CreateDateColumn()\n @Field()\n createdAt: Date\n\n @UpdateDateColumn()\n @Field()\n updatedAt: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reusablePallet: string\n\n @ManyToOne(type => User)\n @Field(type => User, { nullable: true })\n creator: User\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.creator)\n creatorId: string\n\n @ManyToOne(type => User)\n @Field(type => User, { nullable: true })\n updater: User\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.updater)\n updaterId: string\n\n @Field(type => [Attachment], { nullable: true })\n attachments: Attachment[]\n}\n"]}
|
|
1
|
+
{"version":3,"file":"delivery-order.js","sourceRoot":"","sources":["../../../server/service/delivery-order/delivery-order.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType } from 'type-graphql'\nimport { Column, CreateDateColumn, Entity, Index, ManyToOne, OneToMany, PrimaryGeneratedColumn, RelationId, UpdateDateColumn } from 'typeorm'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { Domain, roundTransformer } from '@things-factory/shell'\nimport { TransportDriver, TransportVehicle } from '@things-factory/transport-base'\n\nimport { OrderInventory } from '../order-inventory/order-inventory'\nimport { ReleaseGood } from '../release-good/release-good'\nimport { RetailReplenishmentOrder } from '../retail-replenishment-order/retail-replenishment-order'\nimport { TransferOrder } from '../transfer-order/transfer-order'\n\n@Entity()\n@Index('ix_delivery-order_0', (deliveryOrder: DeliveryOrder) => [deliveryOrder.domain, deliveryOrder.name], {\n unique: true\n})\n@Index('ix_delivery-order_1', (deliveryOrder: DeliveryOrder) => [deliveryOrder.domain, deliveryOrder.bizplace])\n@Index('ix_delivery-order_2', (deliveryOrder: DeliveryOrder) => [deliveryOrder.domain, deliveryOrder.releaseGood])\n@ObjectType()\nexport class DeliveryOrder {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain, { nullable: true })\n domain: Domain\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.domain)\n domainId: string\n\n @ManyToOne(type => Bizplace)\n @Field(type => Bizplace, { nullable: true })\n bizplace: Bizplace\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.bizplace)\n bizplaceId: string\n\n @Column()\n @Field()\n name: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n from: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n to: string\n\n @Column({ type: 'uuid', nullable: true })\n @Field({ nullable: true })\n contactPointRefId: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n truckNo: string\n\n @Field({ nullable: true })\n truck?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n ownCollection: Boolean\n\n @ManyToOne(type => ReleaseGood)\n @Field(type => ReleaseGood, { nullable: true })\n releaseGood: ReleaseGood\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.releaseGood)\n releaseGoodId: string\n\n @ManyToOne(type => TransferOrder)\n @Field(type => TransferOrder, { nullable: true })\n transferOrder: TransferOrder\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.transferOrder)\n transferOrderId: string\n\n @ManyToOne(type => RetailReplenishmentOrder)\n @Field(type => RetailReplenishmentOrder, { nullable: true })\n retailReplenishmentOrder: RetailReplenishmentOrder\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.retailReplenishmentOrder)\n retailReplenishmentOrderId: string\n\n @OneToMany(type => OrderInventory, orderInventory => orderInventory.deliveryOrder)\n @Field(type => [OrderInventory], { nullable: true })\n orderInventories: OrderInventory[]\n\n @Field(type => [OrderInventory], { nullable: true })\n targetInventories?: OrderInventory[]\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n looseItem: Boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryDate: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryDateTime: Date\n\n @Column('float', { nullable: true, transformer: roundTransformer })\n @Field({ nullable: true })\n loadWeight: Number\n\n @ManyToOne(type => TransportDriver)\n @Field(type => TransportDriver, { nullable: true })\n transportDriver: TransportDriver\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.transportDriver)\n transportDriverId: string\n\n @ManyToOne(type => TransportVehicle)\n @Field(type => TransportVehicle, { nullable: true })\n transportVehicle: TransportVehicle\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.transportVehicle)\n transportVehicleId: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n cargoType: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n urgency: Boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n telNo: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n refNo: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n otherDriver: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n palletQty: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n remark: string\n\n @Column()\n @Field()\n status: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n attentionTo: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n attentionCompany: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n city: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n state: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n postalCode: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n country: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n phone1: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryAddress1: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryAddress2: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryAddress3: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryAddress4: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deliveryAddress5: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n billingAddress: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n billingCountry: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n billingPostalCode: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n billingState: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n billingCity: string\n\n @CreateDateColumn()\n @Field()\n createdAt: Date\n\n @UpdateDateColumn()\n @Field()\n updatedAt: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n reusablePallet: string\n\n @ManyToOne(type => User)\n @Field(type => User, { nullable: true })\n creator: User\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.creator)\n creatorId: string\n\n @ManyToOne(type => User)\n @Field(type => User, { nullable: true })\n updater: User\n\n @RelationId((deliveryOrder: DeliveryOrder) => deliveryOrder.updater)\n updaterId: string\n\n @Field(type => [Attachment], { nullable: true })\n attachments: Attachment[]\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DeliveryOrder } from './delivery-order';
|
|
2
|
+
import { DeliveryOrderMutation } from './delivery-order-mutation';
|
|
3
|
+
import { DeliveryOrderQuery } from './delivery-order-query';
|
|
4
|
+
export declare const entities: (typeof DeliveryOrder)[];
|
|
5
|
+
export declare const resolvers: (typeof DeliveryOrderMutation | typeof DeliveryOrderQuery)[];
|
|
6
|
+
export * from './delivery-order-mutation';
|
|
7
|
+
export * from './delivery-order-query';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { FileUpload } from 'graphql-upload/GraphQLUpload.js';
|
|
2
|
+
import { EntityManager } from 'typeorm';
|
|
3
|
+
import { User } from '@things-factory/auth-base';
|
|
4
|
+
import { Bizplace } from '@things-factory/biz-base';
|
|
5
|
+
import { Domain } from '@things-factory/shell';
|
|
6
|
+
import { DraftReleaseGood, DraftReleaseGoodPatch, NewDraftReleaseGood } from '../';
|
|
7
|
+
import { OrderProductPatch } from '../order-product/order-product-types';
|
|
8
|
+
import { ShippingOrderPatch } from '../shipping-order/shipping-order-types';
|
|
9
|
+
export declare class DraftReleaseGoodMutation {
|
|
10
|
+
upsertDraftReleaseGood(context: ResolverContext, draftReleaseGood: DraftReleaseGoodPatch, orderProducts: [OrderProductPatch], files?: FileUpload[], shippingOrder?: ShippingOrderPatch): Promise<DraftReleaseGood>;
|
|
11
|
+
createDraftReleaseGood(draftReleaseGood: NewDraftReleaseGood, context: ResolverContext): Promise<DraftReleaseGood>;
|
|
12
|
+
updateDraftReleaseGood(id: string, patch: DraftReleaseGoodPatch, context: ResolverContext): Promise<DraftReleaseGood>;
|
|
13
|
+
updateMultipleDraftReleaseGood(patches: DraftReleaseGoodPatch[], context: ResolverContext): Promise<DraftReleaseGood[]>;
|
|
14
|
+
deleteDraftReleaseGood(id: string, context: ResolverContext): Promise<boolean>;
|
|
15
|
+
deleteDraftReleaseGoods(ids: string[], context: ResolverContext): Promise<boolean>;
|
|
16
|
+
generateReleaseGoodsFromDraft(context: ResolverContext, ids: string[]): Promise<boolean>;
|
|
17
|
+
}
|
|
18
|
+
export declare function upsertDraftReleaseGoodFunction(_: any, draftReleaseGood: any, orderProducts: OrderProductPatch[], shippingOrder: any, files: FileUpload[], context: any, tx?: EntityManager): Promise<DraftReleaseGood>;
|
|
19
|
+
export declare function createDraftReleaseGoodFunction(_: any, draftReleaseGood: any, orderProducts: OrderProductPatch[], shippingOrder: any, files: FileUpload[], context: any, tx?: EntityManager): Promise<DraftReleaseGood>;
|
|
20
|
+
export declare function updateDraftReleaseGoodFunction(_: any, draftReleaseGood: any, orderProducts: OrderProductPatch[], shippingOrder: any, files: FileUpload[], context: any, tx?: EntityManager): Promise<DraftReleaseGood>;
|
|
21
|
+
export declare function upsertDraftReleaseGoodProducts(domain: Domain, bizplace: Bizplace, draftReleaseGood: DraftReleaseGood, orderProductsPatch: OrderProductPatch[], user: User, tx?: EntityManager): Promise<void>;
|
|
@@ -116,7 +116,7 @@ let DraftReleaseGoodMutation = class DraftReleaseGoodMutation {
|
|
|
116
116
|
const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, shell_1.getRepository)(setting_base_1.Setting);
|
|
117
117
|
const roNoSetting = await settingRepo.findOne({
|
|
118
118
|
where: {
|
|
119
|
-
|
|
119
|
+
domain: { id: domain.id },
|
|
120
120
|
name: constants_1.ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE
|
|
121
121
|
}
|
|
122
122
|
});
|
|
@@ -265,6 +265,7 @@ let DraftReleaseGoodMutation = class DraftReleaseGoodMutation {
|
|
|
265
265
|
return true;
|
|
266
266
|
}
|
|
267
267
|
};
|
|
268
|
+
exports.DraftReleaseGoodMutation = DraftReleaseGoodMutation;
|
|
268
269
|
tslib_1.__decorate([
|
|
269
270
|
(0, type_graphql_1.Directive)('@privilege(category: "order_customer", privilege: "mutation")'),
|
|
270
271
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
@@ -334,10 +335,9 @@ tslib_1.__decorate([
|
|
|
334
335
|
tslib_1.__metadata("design:paramtypes", [Object, Array]),
|
|
335
336
|
tslib_1.__metadata("design:returntype", Promise)
|
|
336
337
|
], DraftReleaseGoodMutation.prototype, "generateReleaseGoodsFromDraft", null);
|
|
337
|
-
DraftReleaseGoodMutation = tslib_1.__decorate([
|
|
338
|
+
exports.DraftReleaseGoodMutation = DraftReleaseGoodMutation = tslib_1.__decorate([
|
|
338
339
|
(0, type_graphql_1.Resolver)(__1.DraftReleaseGood)
|
|
339
340
|
], DraftReleaseGoodMutation);
|
|
340
|
-
exports.DraftReleaseGoodMutation = DraftReleaseGoodMutation;
|
|
341
341
|
async function upsertDraftReleaseGoodFunction(_, draftReleaseGood, orderProducts, shippingOrder, files, context, tx) {
|
|
342
342
|
if (!draftReleaseGood.id) {
|
|
343
343
|
draftReleaseGood = await createDraftReleaseGoodFunction(_, draftReleaseGood, orderProducts, shippingOrder, files, context, tx);
|
|
@@ -471,7 +471,7 @@ async function upsertDraftReleaseGoodProducts(domain, bizplace, draftReleaseGood
|
|
|
471
471
|
const orderProductRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(__1.OrderProduct)) || (0, shell_1.getRepository)(__1.OrderProduct);
|
|
472
472
|
const productRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(product_base_1.Product)) || (0, shell_1.getRepository)(product_base_1.Product);
|
|
473
473
|
const productBundleRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(product_base_1.ProductBundle)) || (0, shell_1.getRepository)(product_base_1.ProductBundle);
|
|
474
|
-
draftReleaseGood = await draftReleaseGoodRepo.findOne({
|
|
474
|
+
draftReleaseGood = (await draftReleaseGoodRepo.findOne({
|
|
475
475
|
where: { id: draftReleaseGood.id },
|
|
476
476
|
relations: [
|
|
477
477
|
'orderProducts',
|
|
@@ -480,7 +480,7 @@ async function upsertDraftReleaseGoodProducts(domain, bizplace, draftReleaseGood
|
|
|
480
480
|
'orderProducts.creator',
|
|
481
481
|
'orderProducts.updater'
|
|
482
482
|
]
|
|
483
|
-
});
|
|
483
|
+
}));
|
|
484
484
|
// Remove all existing order products that do not exist in current input
|
|
485
485
|
let removeOP = draftReleaseGood.orderProducts.filter(existingOP => orderProductsPatch.filter(inOP => inOP.id == existingOP.id).length == 0);
|
|
486
486
|
// removeOP.forEach(async op => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft-release-good-mutation.js","sourceRoot":"","sources":["../../../server/service/draft-release-good/draft-release-good-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, getConnection, In, IsNull, Repository } from 'typeorm'\n\nimport { Attachment, createAttachments, deleteAttachmentsByRef } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, getPermittedBizplaces } from '@things-factory/biz-base'\nimport { generateId } from '@things-factory/id-rule-base'\nimport { Product, ProductBundle, ProductDetail } from '@things-factory/product-base'\nimport { Setting } from '@things-factory/setting-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\n// import { Location } from '@things-factory/warehouse-base'\nimport { DraftReleaseGood, DraftReleaseGoodPatch, NewDraftReleaseGood, OrderProduct } from '../'\nimport {\n ATTACHMENT_TYPE,\n DRAFT_RELEASE_ORDER_STATUS,\n ORDER_NUMBER_RULE_TYPE,\n ORDER_NUMBER_SETTING_KEY,\n ORDER_STATUS\n} from '../../constants'\nimport { ValidationError } from '../../errors'\nimport { InventoryUtil, OrderNoGenerator } from '../../utils'\nimport { OrderProductPatch } from '../order-product/order-product-types'\nimport { ReleaseGood } from '../release-good/release-good'\nimport { bulkGenerateReleaseGood, confirmReleaseGood } from '../release-good/release-good-mutation'\nimport { bulkReleaseGoodsAvailableItemsFunction } from '../release-good/release-good-query'\nimport { ShippingOrder } from '../shipping-order/shipping-order'\nimport { ShippingOrderPatch } from '../shipping-order/shipping-order-types'\n// import {\n// checkArrivedNoticeFunction,\n// confirmArrivalNoticeFunction,\n// generateArrivalNoticeFunction,\n// receiveArrivalNoticeFunction\n// } from '../arrival-notice/arrival-notice-mutation'\nimport { getDraftReleaseGoodFunction } from './draft-release-good-query'\n\n@Resolver(DraftReleaseGood)\nexport class DraftReleaseGoodMutation {\n @Directive('@privilege(category: \"order_customer\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => DraftReleaseGood)\n async upsertDraftReleaseGood(\n @Ctx() context: ResolverContext,\n @Arg('draftReleaseGood', type => DraftReleaseGoodPatch) draftReleaseGood: DraftReleaseGoodPatch,\n @Arg('orderProducts', type => [OrderProductPatch]) orderProducts: [OrderProductPatch],\n @Arg('files', type => [GraphQLUpload], { nullable: true }) files?: FileUpload[],\n @Arg('shippingOrder', type => ShippingOrderPatch, { nullable: true }) shippingOrder?: ShippingOrderPatch\n ): Promise<DraftReleaseGood> {\n try {\n const { tx } = context.state\n const createdDraftReleaseGood: DraftReleaseGood = await upsertDraftReleaseGoodFunction(\n null,\n draftReleaseGood,\n orderProducts,\n shippingOrder,\n files,\n context,\n tx\n )\n\n return createdDraftReleaseGood\n } catch (error) {\n throw error\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DraftReleaseGood, { description: 'To create new DraftReleaseGood' })\n async createDraftReleaseGood(\n @Arg('draftReleaseGood', type => NewDraftReleaseGood, { nullable: true }) draftReleaseGood: NewDraftReleaseGood,\n @Ctx() context: ResolverContext\n ): Promise<DraftReleaseGood> {\n const { domain, user, tx } = context.state\n\n let drg = await tx.getRepository(DraftReleaseGood).save({\n ...(draftReleaseGood as any),\n domain,\n status: 'INSUFFICIENT',\n creator: user,\n updater: user\n })\n\n // add order products\n\n return drg\n }\n\n @Directive('@transaction')\n @Mutation(returns => DraftReleaseGood, { description: 'To modify DraftReleaseGood information' })\n async updateDraftReleaseGood(\n @Arg('id') id: string,\n @Arg('patch', type => DraftReleaseGoodPatch) patch: DraftReleaseGoodPatch,\n @Ctx() context: ResolverContext\n ): Promise<DraftReleaseGood> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(DraftReleaseGood)\n const draftReleaseGood = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n return await repository.save({\n ...draftReleaseGood,\n ...(patch as any),\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [DraftReleaseGood], { description: \"To modify multiple DraftReleaseGoods' information\" })\n async updateMultipleDraftReleaseGood(\n @Arg('patches', type => [DraftReleaseGoodPatch]) patches: DraftReleaseGoodPatch[],\n @Ctx() context: ResolverContext\n ): Promise<DraftReleaseGood[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const draftReleaseGoodRepo = tx.getRepository(DraftReleaseGood)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await draftReleaseGoodRepo.save({\n ...(newRecord as any),\n domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const draftReleaseGood = await draftReleaseGoodRepo.findOneBy({ id: newRecord.id })\n\n const result = await draftReleaseGoodRepo.save({\n ...draftReleaseGood,\n ...(newRecord as any),\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete DraftReleaseGood' })\n async deleteDraftReleaseGood(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DraftReleaseGood).delete({ domain: { id: domain.id }, id })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple draftReleaseGoods' })\n async deleteDraftReleaseGoods(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DraftReleaseGood).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@privilege(category: \"order_customer\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To generate Release Goods from Draft' })\n async generateReleaseGoodsFromDraft(\n @Ctx() context: ResolverContext,\n @Arg('ids', type => [String]) ids: string[]\n // @Arg('rawReleaseGoods', type => [NewReleaseGood], { nullable: true }) rawReleaseGoods: NewReleaseGood[],\n // @Arg('bizplaceId', type => String) bizplaceId: string\n ): Promise<boolean> {\n const { domain, user, tx } = context.state\n\n const updatableDraftOrders = await tx.getRepository(DraftReleaseGood).find({\n where: {\n domain: { id: domain.id },\n id: In(ids),\n status: DRAFT_RELEASE_ORDER_STATUS.DRAFT\n },\n relations: [\n 'orderProducts',\n 'orderProducts.product',\n 'orderProducts.productBundle',\n 'shippingOrder',\n 'bizplace',\n 'domain',\n 'creator',\n 'updater'\n ]\n })\n if (updatableDraftOrders.length > 0) {\n let createdReleaseGoods: ReleaseGood[] = []\n const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)\n\n const roNoSetting: Setting = await settingRepo.findOne({\n where: {\n dodomain: { id: domain.id },\n name: ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE\n }\n })\n\n for (let index = 0; index < updatableDraftOrders.length; index++) {\n await getConnection().transaction(async (parentTx: EntityManager) => {\n const draftOrder = updatableDraftOrders[index]\n\n let foundPermittedBizplace: Bizplace\n let companyBizplace: Bizplace\n\n if (draftOrder?.bizplace?.id) {\n foundPermittedBizplace = await parentTx.getRepository(Bizplace).findOne({\n where: { id: draftOrder.bizplace.id },\n relations: ['company', 'company.domain']\n })\n const companyDomain: Domain = foundPermittedBizplace.company.domain\n companyBizplace = await parentTx\n .getRepository(Bizplace)\n .findOne({ where: { domain: { id: companyDomain.id } } })\n } else {\n return false\n }\n\n const bizplaces: Bizplace[] = [foundPermittedBizplace, companyBizplace]\n\n let productInventory = await InventoryUtil.bizplaceProductInventory(\n bizplaces,\n {\n filters: [\n {\n name: 'productId',\n operator: 'in',\n value: [\n ...draftOrder.orderProducts\n .filter(itm => itm?.product)\n .map(itm => {\n return itm.product.id\n }),\n ...draftOrder.orderProducts\n .filter(itm => itm?.productBundle)\n .map(itm => {\n return itm.productBundle.id\n })\n ]\n }\n ]\n },\n context,\n parentTx\n )\n\n draftOrder.orderProducts = draftOrder.orderProducts.map(itm => {\n let foundProductInv = productInventory.items.find(\n i =>\n (i.productId == itm?.product?.id || i.productId == itm?.productBundle?.id) &&\n i.packingType == itm.packingType &&\n i.packingSize == itm.packingSize &&\n i.uom == itm.uom &&\n itm.releaseQty <= i.remainQty\n )\n return {\n ...itm,\n releaseUomValue: (foundProductInv.remainUomValue / foundProductInv.remainQty) * itm.releaseQty,\n status: foundProductInv ? 'suffice' : 'insufficient'\n }\n })\n\n let insufficient = draftOrder.orderProducts.find(op => op.status == 'insufficient')\n if (!insufficient) {\n //create RO\n let releaseGood = { ...draftOrder }\n delete releaseGood.id\n delete releaseGood.name\n delete releaseGood.createdAt\n delete (releaseGood as any).createdBy\n delete releaseGood.updatedAt\n delete (releaseGood as any).updatedBy\n\n let orderInventories = []\n\n for (let index = 0; index < draftOrder.orderProducts.length; index++) {\n const itm: Partial<OrderProduct> = draftOrder.orderProducts[index]\n let data = []\n if (itm.productBundle) {\n let bundle: ProductBundle = await parentTx.getRepository(ProductBundle).findOne({\n where: { id: itm.productBundle.id },\n relations: [\n 'productBundleSettings',\n 'productBundleSettings.productDetail',\n 'productBundleSettings.product'\n ]\n })\n\n for (let index2 = 0; index2 < bundle.productBundleSettings.length; index2++) {\n const objProductBundleSetting = bundle.productBundleSettings[index2]\n data.push({\n sku: objProductBundleSetting.product.sku,\n packingType: objProductBundleSetting.productDetail.packingType,\n packingSize: objProductBundleSetting.productDetail.packingSize,\n uom: objProductBundleSetting.productDetail.uom,\n releaseQty: objProductBundleSetting.bundleQty * itm.releaseQty,\n assignedQty: undefined,\n assignedUomValue: undefined,\n releaseUomValue: objProductBundleSetting.bundleQty * itm.releaseQty * itm.releaseUomValue\n })\n }\n } else {\n data = [\n {\n sku: itm.product.sku,\n packingType: itm.packingType,\n packingSize: itm.packingSize,\n uom: itm.uom,\n releaseQty: itm.releaseQty,\n assignedQty: undefined,\n assignedUomValue: undefined,\n releaseUomValue: itm.releaseUomValue\n }\n ]\n }\n\n data.forEach(data => {\n let existingOI = orderInventories.find(\n itm =>\n itm.sku == data.sku &&\n itm.packingType == data.packingType &&\n itm.packingSize == data.packingSize &&\n itm.uom == data.uom\n )\n\n if (existingOI) {\n existingOI.releaseQty = existingOI.releaseQty + data.releaseQty\n existingOI.releaseUomValue = existingOI.releaseUomValue + data.uomValue\n existingOI.uomValue = existingOI.uomValue + data.uomValue\n } else {\n orderInventories.push({ ...data, orderProduct: itm })\n }\n })\n }\n try {\n await getConnection().transaction(async (childTx: EntityManager) => {\n let availableItems: any[] = await bulkReleaseGoodsAvailableItemsFunction(\n orderInventories,\n draftOrder.bizplace.id,\n context,\n childTx\n )\n if (availableItems.some(item => !item.releaseQty || item.releaseQty > item.assignedQty)) {\n throw new ValidationError({\n ...ValidationError.ERROR_CODES.INSUFFICIENT_STOCK,\n detail: { data: JSON.stringify(availableItems) }\n })\n }\n\n // update orderInventories if availableItems are valid\n ;(releaseGood as any).orderInventories = availableItems.map(itm => {\n return {\n ...itm,\n releaseQty: itm.releaseQty,\n releaseUomValue: itm.releaseUomValue,\n uomValue: itm.uomValue\n }\n })\n let createdReleaseGood: ReleaseGood = await bulkGenerateReleaseGood(\n releaseGood,\n releaseGood.bizplace.id,\n roNoSetting,\n domain,\n user,\n childTx\n )\n await childTx\n .getRepository(DraftReleaseGood)\n .update(\n { id: draftOrder.id },\n { releaseGood: createdReleaseGood, status: DRAFT_RELEASE_ORDER_STATUS.SUBMITTED }\n )\n createdReleaseGood = await confirmReleaseGood(createdReleaseGood.name, context, childTx)\n })\n } catch (error) {\n console.error(error)\n }\n }\n })\n }\n }\n\n return true\n }\n}\n\nexport async function upsertDraftReleaseGoodFunction(\n _: any,\n draftReleaseGood: any,\n orderProducts: OrderProductPatch[],\n shippingOrder: any,\n files: FileUpload[],\n context: any,\n tx?: EntityManager\n): Promise<DraftReleaseGood> {\n if (!draftReleaseGood.id) {\n draftReleaseGood = await createDraftReleaseGoodFunction(\n _,\n draftReleaseGood,\n orderProducts,\n shippingOrder,\n files,\n context,\n tx\n )\n } else {\n draftReleaseGood = await updateDraftReleaseGoodFunction(\n _,\n draftReleaseGood,\n orderProducts,\n shippingOrder,\n files,\n context,\n tx\n )\n }\n\n return draftReleaseGood\n}\n\nexport async function createDraftReleaseGoodFunction(\n _: any,\n draftReleaseGood: any,\n orderProducts: OrderProductPatch[],\n shippingOrder: any,\n files: FileUpload[],\n context: any,\n tx?: EntityManager\n): Promise<DraftReleaseGood> {\n const { domain, user } = context.state\n\n let myBizplace: Bizplace\n let orderNo: string = ''\n let arrError: string[] = []\n\n const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)\n\n if (draftReleaseGood?.bizplace?.id) {\n const permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)\n let foundPermittedBizplace: Bizplace = permittedBizplaces.find(biz => biz.id == draftReleaseGood.bizplace.id)\n\n if (!foundPermittedBizplace) throw new Error(`This user does not permitted for this company`)\n\n draftReleaseGood.bizplace = foundPermittedBizplace\n } else {\n arrError.push(`No bizplace was selected`)\n }\n\n if (arrError.length > 0) {\n throw new Error(arrError.join(', '))\n }\n\n // // find DRO number rule setting\n const droNoSetting: Setting = await settingRepo.findOne({\n where: {\n domain: { id: domain.id },\n name: ORDER_NUMBER_SETTING_KEY.DO_NUMBER_RULE\n }\n })\n\n if (droNoSetting) {\n orderNo = await generateId({ domain, type: ORDER_NUMBER_RULE_TYPE.DRO_NUMBER, seed: {} })\n } else {\n orderNo = OrderNoGenerator.draftReleaseGood()\n }\n\n // // 1. Create shipping order if found\n if (shippingOrder) {\n let newShippingOrder: ShippingOrder = await tx.getRepository(ShippingOrder).save({\n ...shippingOrder,\n name: OrderNoGenerator.shippingOrder(),\n domain,\n bizplace: draftReleaseGood.bizplace,\n status: ORDER_STATUS.PENDING,\n creator: user,\n updater: user\n })\n draftReleaseGood.shippingOrder = newShippingOrder\n }\n\n // // 2. Create draft release good\n const createdDraftReleaseGood: DraftReleaseGood = await tx.getRepository(DraftReleaseGood).save({\n ...draftReleaseGood,\n name: orderNo,\n status: DRAFT_RELEASE_ORDER_STATUS.DRAFT,\n domain,\n creator: user,\n updater: user\n })\n\n // // 3. Create draft release good product\n await upsertDraftReleaseGoodProducts(\n domain,\n draftReleaseGood.bizplace,\n createdDraftReleaseGood,\n orderProducts,\n user,\n tx\n )\n\n // // 4. Create Attachments\n if (files?.length) {\n const attachments: Attachment[] = files.map(attachment => {\n return {\n file: attachment,\n refType: ATTACHMENT_TYPE.DGRN,\n refBy: createdDraftReleaseGood.id,\n category: ATTACHMENT_TYPE.DGRN /* TODO use refType */\n }\n })\n await createAttachments(_, { attachments }, context)\n }\n\n return createdDraftReleaseGood\n}\n\nexport async function updateDraftReleaseGoodFunction(\n _: any,\n draftReleaseGood: any,\n orderProducts: OrderProductPatch[],\n shippingOrder: any,\n files: FileUpload[],\n context: any,\n tx?: EntityManager\n): Promise<DraftReleaseGood> {\n const { domain, user } = context.state\n\n let existingDraftReleaseGood: any = await getDraftReleaseGoodFunction(_, draftReleaseGood.name, context, tx)\n\n if (draftReleaseGood?.bizplace?.id) {\n const permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)\n let foundPermittedBizplace: Bizplace = permittedBizplaces.find(biz => biz.id == draftReleaseGood.bizplace.id)\n\n if (!foundPermittedBizplace) throw new Error(`This user does not permitted for this company`)\n\n draftReleaseGood.bizplace = foundPermittedBizplace\n }\n\n if (shippingOrder) {\n // case to update existing shippingOrder\n if (existingDraftReleaseGood.shippingOrder) {\n await tx.getRepository(ShippingOrder).update(existingDraftReleaseGood.shippingOrder.id, shippingOrder)\n } else {\n let newShippingOrder: ShippingOrder = await tx.getRepository(ShippingOrder).save({\n ...shippingOrder,\n name: OrderNoGenerator.shippingOrder(),\n domain,\n bizplace: draftReleaseGood.bizplace,\n status: ORDER_STATUS.PENDING,\n creator: user,\n updater: user\n })\n draftReleaseGood.shippingOrder = newShippingOrder\n }\n } else {\n // case to delete existing shippingOrder\n if (existingDraftReleaseGood.shippingOrder) {\n await tx.getRepository(ShippingOrder).delete(existingDraftReleaseGood.shippingOrder)\n }\n }\n\n // // 1. Update draft release good\n const updateDraftReleaseGood: DraftReleaseGood = await tx.getRepository(DraftReleaseGood).save({\n ...existingDraftReleaseGood,\n ...draftReleaseGood,\n domain,\n creator: existingDraftReleaseGood.creator,\n updater: user\n })\n\n // // 2. Update draft release good product\n await upsertDraftReleaseGoodProducts(domain, draftReleaseGood.bizplace, draftReleaseGood, orderProducts, user, tx)\n\n // // 3. Remove Purchase Order Attachment\n const foundAttachments: Attachment[] = await getRepository(Attachment).find({\n where: {\n domain: { id: domain.id },\n refBy: draftReleaseGood.id,\n category: ATTACHMENT_TYPE.DGRN\n }\n })\n\n // // 4. Remove All Attachment\n if (foundAttachments?.length) {\n await deleteAttachmentsByRef(_, { refBys: foundAttachments.map(file => file.refBy) }, context)\n }\n\n // // 5. Add New Attachment\n if (files?.length > 0) {\n const attachments: Attachment[] = files.map(attachment => {\n return {\n file: attachment,\n refType: ATTACHMENT_TYPE.DGRN,\n refBy: updateDraftReleaseGood.id,\n category: ATTACHMENT_TYPE.DGRN /* TODO use refType */\n }\n })\n await createAttachments(_, { attachments }, context)\n }\n\n return existingDraftReleaseGood\n}\n\nexport async function upsertDraftReleaseGoodProducts(\n domain: Domain,\n bizplace: Bizplace,\n draftReleaseGood: DraftReleaseGood,\n orderProductsPatch: OrderProductPatch[],\n user: User,\n tx?: EntityManager\n): Promise<void> {\n try {\n let orderProducts: OrderProduct[] = []\n\n const draftReleaseGoodRepo: Repository<Product> =\n tx?.getRepository(DraftReleaseGood) || getRepository(DraftReleaseGood)\n const bizplaceRepo: Repository<Product> = tx?.getRepository(Bizplace) || getRepository(Bizplace)\n const orderProductRepo: Repository<OrderProduct> = tx?.getRepository(OrderProduct) || getRepository(OrderProduct)\n const productRepo: Repository<Product> = tx?.getRepository(Product) || getRepository(Product)\n const productBundleRepo: Repository<Product> = tx?.getRepository(ProductBundle) || getRepository(ProductBundle)\n\n draftReleaseGood = await draftReleaseGoodRepo.findOne({\n where: { id: draftReleaseGood.id },\n relations: [\n 'orderProducts',\n 'orderProducts.product',\n 'orderProducts.productBundle',\n 'orderProducts.creator',\n 'orderProducts.updater'\n ]\n })\n\n // Remove all existing order products that do not exist in current input\n let removeOP = draftReleaseGood.orderProducts.filter(\n existingOP => orderProductsPatch.filter(inOP => inOP.id == existingOP.id).length == 0\n )\n // removeOP.forEach(async op => {\n // await orderProductRepo.delete(op)\n // })\n\n if (removeOP.length > 0) await orderProductRepo.delete(removeOP.map(itm => itm.id))\n\n bizplace = await bizplaceRepo.findOne({\n where: { id: bizplace.id },\n relations: ['domain', 'company', 'company.domain']\n })\n\n orderProducts = await Promise.all(\n orderProductsPatch.map(async (op: any) => {\n if (!op?.id) delete op.id\n\n const customerCompanyDomain: Domain = bizplace.company.domain\n let product: Product = null\n let productBundle: ProductBundle = null\n let existingOP = draftReleaseGood.orderProducts.find(existOP => existOP.id == op.id)\n\n let updatePatch = {\n ...existingOP,\n ...op,\n domain,\n batchId: '',\n packQty: 0,\n actualPackQty: 0,\n palletQty: 0,\n actualPalletQty: 0,\n bizplace: bizplace,\n name: op?.id ? op.name : OrderNoGenerator.orderProduct(),\n draftReleaseGood: draftReleaseGood,\n status: draftReleaseGood.status,\n creator: op?.id ? op.creator : user,\n updater: user\n }\n\n if (op?.product?.id) {\n product = await productRepo.findOne({\n where: { domain: { id: customerCompanyDomain.id }, id: op.product.id }\n })\n updatePatch['product'] = product || undefined\n\n if (!product) {\n productBundle = await productBundleRepo.findOne({\n where: { domain: { id: customerCompanyDomain.id }, id: op.product.id }\n })\n updatePatch['productBundle'] = productBundle || undefined\n }\n\n if (!product && !productBundle) throw new Error(`product not found`)\n } else {\n if (existingOP) {\n product = existingOP.product\n productBundle = existingOP.productBundle\n updatePatch['product'] = existingOP.product || undefined\n updatePatch['productBundle'] = existingOP.productBundle || undefined\n } else {\n product = await productRepo.findOne({\n where: { domain: { id: customerCompanyDomain.id }, sku: op.product.sku, deletedAt: IsNull() },\n relations: ['productDetails']\n })\n if (product) {\n const productDetails: ProductDetail[] = product.productDetails\n let selectedProductDetail: ProductDetail[]\n if (op?.product?.packingType) {\n selectedProductDetail = productDetails.filter(pd => pd.packingType == op.product.packingType)\n } else {\n selectedProductDetail = productDetails.filter(pd => pd.isDefault)\n }\n\n product.packingType = selectedProductDetail[0].packingType\n product.primaryUnit = selectedProductDetail[0].uom\n product.primaryValue = selectedProductDetail[0].uomValue\n }\n\n updatePatch['product'] = product || undefined\n\n if (!product) {\n productBundle = await productBundleRepo.findOne({\n where: { domain: { id: customerCompanyDomain.id }, sku: op.product.sku }\n })\n updatePatch['productBundle'] = productBundle || undefined\n }\n\n if (!product && !productBundle) throw new Error(`product not found`)\n }\n }\n\n updatePatch['packingType'] = op?.packingType\n ? op.packingType\n : product?.packingType\n ? product.packingType\n : productBundle.packingType\n updatePatch['uom'] = op?.uom ? op.uom : product?.primaryUnit ? product.primaryUnit : 'UNIT'\n updatePatch['uomValue'] = op?.uomValue ? op.uomValue : product?.primaryValue ? product.primaryValue : 0\n\n return updatePatch\n })\n )\n\n await orderProductRepo.save(orderProducts)\n } catch (error) {\n throw error\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"draft-release-good-mutation.js","sourceRoot":"","sources":["../../../server/service/draft-release-good/draft-release-good-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, getConnection, In, IsNull, Repository } from 'typeorm'\n\nimport { Attachment, createAttachments, deleteAttachmentsByRef } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, getPermittedBizplaces } from '@things-factory/biz-base'\nimport { generateId } from '@things-factory/id-rule-base'\nimport { Product, ProductBundle, ProductDetail } from '@things-factory/product-base'\nimport { Setting } from '@things-factory/setting-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\n// import { Location } from '@things-factory/warehouse-base'\nimport { DraftReleaseGood, DraftReleaseGoodPatch, NewDraftReleaseGood, OrderProduct } from '../'\nimport {\n ATTACHMENT_TYPE,\n DRAFT_RELEASE_ORDER_STATUS,\n ORDER_NUMBER_RULE_TYPE,\n ORDER_NUMBER_SETTING_KEY,\n ORDER_STATUS\n} from '../../constants'\nimport { ValidationError } from '../../errors'\nimport { InventoryUtil, OrderNoGenerator } from '../../utils'\nimport { OrderProductPatch } from '../order-product/order-product-types'\nimport { ReleaseGood } from '../release-good/release-good'\nimport { bulkGenerateReleaseGood, confirmReleaseGood } from '../release-good/release-good-mutation'\nimport { bulkReleaseGoodsAvailableItemsFunction } from '../release-good/release-good-query'\nimport { ShippingOrder } from '../shipping-order/shipping-order'\nimport { ShippingOrderPatch } from '../shipping-order/shipping-order-types'\n// import {\n// checkArrivedNoticeFunction,\n// confirmArrivalNoticeFunction,\n// generateArrivalNoticeFunction,\n// receiveArrivalNoticeFunction\n// } from '../arrival-notice/arrival-notice-mutation'\nimport { getDraftReleaseGoodFunction } from './draft-release-good-query'\n\n@Resolver(DraftReleaseGood)\nexport class DraftReleaseGoodMutation {\n @Directive('@privilege(category: \"order_customer\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => DraftReleaseGood)\n async upsertDraftReleaseGood(\n @Ctx() context: ResolverContext,\n @Arg('draftReleaseGood', type => DraftReleaseGoodPatch) draftReleaseGood: DraftReleaseGoodPatch,\n @Arg('orderProducts', type => [OrderProductPatch]) orderProducts: [OrderProductPatch],\n @Arg('files', type => [GraphQLUpload], { nullable: true }) files?: FileUpload[],\n @Arg('shippingOrder', type => ShippingOrderPatch, { nullable: true }) shippingOrder?: ShippingOrderPatch\n ): Promise<DraftReleaseGood> {\n try {\n const { tx } = context.state\n const createdDraftReleaseGood: DraftReleaseGood = await upsertDraftReleaseGoodFunction(\n null,\n draftReleaseGood,\n orderProducts,\n shippingOrder,\n files,\n context,\n tx\n )\n\n return createdDraftReleaseGood\n } catch (error) {\n throw error\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DraftReleaseGood, { description: 'To create new DraftReleaseGood' })\n async createDraftReleaseGood(\n @Arg('draftReleaseGood', type => NewDraftReleaseGood, { nullable: true }) draftReleaseGood: NewDraftReleaseGood,\n @Ctx() context: ResolverContext\n ): Promise<DraftReleaseGood> {\n const { domain, user, tx } = context.state\n\n let drg = await tx.getRepository(DraftReleaseGood).save({\n ...(draftReleaseGood as any),\n domain,\n status: 'INSUFFICIENT',\n creator: user,\n updater: user\n })\n\n // add order products\n\n return drg\n }\n\n @Directive('@transaction')\n @Mutation(returns => DraftReleaseGood, { description: 'To modify DraftReleaseGood information' })\n async updateDraftReleaseGood(\n @Arg('id') id: string,\n @Arg('patch', type => DraftReleaseGoodPatch) patch: DraftReleaseGoodPatch,\n @Ctx() context: ResolverContext\n ): Promise<DraftReleaseGood> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(DraftReleaseGood)\n const draftReleaseGood = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n return await repository.save({\n ...draftReleaseGood,\n ...(patch as any),\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [DraftReleaseGood], { description: \"To modify multiple DraftReleaseGoods' information\" })\n async updateMultipleDraftReleaseGood(\n @Arg('patches', type => [DraftReleaseGoodPatch]) patches: DraftReleaseGoodPatch[],\n @Ctx() context: ResolverContext\n ): Promise<DraftReleaseGood[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const draftReleaseGoodRepo = tx.getRepository(DraftReleaseGood)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await draftReleaseGoodRepo.save({\n ...(newRecord as any),\n domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const draftReleaseGood = await draftReleaseGoodRepo.findOneBy({ id: newRecord.id })\n\n const result = await draftReleaseGoodRepo.save({\n ...draftReleaseGood,\n ...(newRecord as any),\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete DraftReleaseGood' })\n async deleteDraftReleaseGood(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DraftReleaseGood).delete({ domain: { id: domain.id }, id })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple draftReleaseGoods' })\n async deleteDraftReleaseGoods(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DraftReleaseGood).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@privilege(category: \"order_customer\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To generate Release Goods from Draft' })\n async generateReleaseGoodsFromDraft(\n @Ctx() context: ResolverContext,\n @Arg('ids', type => [String]) ids: string[]\n // @Arg('rawReleaseGoods', type => [NewReleaseGood], { nullable: true }) rawReleaseGoods: NewReleaseGood[],\n // @Arg('bizplaceId', type => String) bizplaceId: string\n ): Promise<boolean> {\n const { domain, user, tx } = context.state\n\n const updatableDraftOrders = await tx.getRepository(DraftReleaseGood).find({\n where: {\n domain: { id: domain.id },\n id: In(ids),\n status: DRAFT_RELEASE_ORDER_STATUS.DRAFT\n },\n relations: [\n 'orderProducts',\n 'orderProducts.product',\n 'orderProducts.productBundle',\n 'shippingOrder',\n 'bizplace',\n 'domain',\n 'creator',\n 'updater'\n ]\n })\n if (updatableDraftOrders.length > 0) {\n let createdReleaseGoods: ReleaseGood[] = []\n const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)\n\n const roNoSetting: Setting = await settingRepo.findOne({\n where: {\n domain: { id: domain.id },\n name: ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE\n }\n })\n\n for (let index = 0; index < updatableDraftOrders.length; index++) {\n await getConnection().transaction(async (parentTx: EntityManager) => {\n const draftOrder = updatableDraftOrders[index]\n\n let foundPermittedBizplace: Bizplace\n let companyBizplace: Bizplace\n\n if (draftOrder?.bizplace?.id) {\n foundPermittedBizplace = await parentTx.getRepository(Bizplace).findOne({\n where: { id: draftOrder.bizplace.id },\n relations: ['company', 'company.domain']\n })\n const companyDomain: Domain = foundPermittedBizplace.company.domain\n companyBizplace = await parentTx\n .getRepository(Bizplace)\n .findOne({ where: { domain: { id: companyDomain.id } } })\n } else {\n return false\n }\n\n const bizplaces: Bizplace[] = [foundPermittedBizplace, companyBizplace]\n\n let productInventory = await InventoryUtil.bizplaceProductInventory(\n bizplaces,\n {\n filters: [\n {\n name: 'productId',\n operator: 'in',\n value: [\n ...draftOrder.orderProducts\n .filter(itm => itm?.product)\n .map(itm => {\n return itm.product.id\n }),\n ...draftOrder.orderProducts\n .filter(itm => itm?.productBundle)\n .map(itm => {\n return itm.productBundle.id\n })\n ]\n }\n ]\n },\n context,\n parentTx\n )\n\n draftOrder.orderProducts = draftOrder.orderProducts.map(itm => {\n let foundProductInv = productInventory.items.find(\n i =>\n (i.productId == itm?.product?.id || i.productId == itm?.productBundle?.id) &&\n i.packingType == itm.packingType &&\n i.packingSize == itm.packingSize &&\n i.uom == itm.uom &&\n itm.releaseQty <= i.remainQty\n )\n return {\n ...itm,\n releaseUomValue: (foundProductInv.remainUomValue / foundProductInv.remainQty) * itm.releaseQty,\n status: foundProductInv ? 'suffice' : 'insufficient'\n }\n })\n\n let insufficient = draftOrder.orderProducts.find(op => op.status == 'insufficient')\n if (!insufficient) {\n //create RO\n let releaseGood = { ...draftOrder }\n delete releaseGood.id\n delete releaseGood.name\n delete releaseGood.createdAt\n delete (releaseGood as any).createdBy\n delete releaseGood.updatedAt\n delete (releaseGood as any).updatedBy\n\n let orderInventories = []\n\n for (let index = 0; index < draftOrder.orderProducts.length; index++) {\n const itm: Partial<OrderProduct> = draftOrder.orderProducts[index]\n let data = []\n if (itm.productBundle) {\n let bundle: ProductBundle = await parentTx.getRepository(ProductBundle).findOne({\n where: { id: itm.productBundle.id },\n relations: [\n 'productBundleSettings',\n 'productBundleSettings.productDetail',\n 'productBundleSettings.product'\n ]\n })\n\n for (let index2 = 0; index2 < bundle.productBundleSettings.length; index2++) {\n const objProductBundleSetting = bundle.productBundleSettings[index2]\n data.push({\n sku: objProductBundleSetting.product.sku,\n packingType: objProductBundleSetting.productDetail.packingType,\n packingSize: objProductBundleSetting.productDetail.packingSize,\n uom: objProductBundleSetting.productDetail.uom,\n releaseQty: objProductBundleSetting.bundleQty * itm.releaseQty,\n assignedQty: undefined,\n assignedUomValue: undefined,\n releaseUomValue: objProductBundleSetting.bundleQty * itm.releaseQty * itm.releaseUomValue\n })\n }\n } else {\n data = [\n {\n sku: itm.product.sku,\n packingType: itm.packingType,\n packingSize: itm.packingSize,\n uom: itm.uom,\n releaseQty: itm.releaseQty,\n assignedQty: undefined,\n assignedUomValue: undefined,\n releaseUomValue: itm.releaseUomValue\n }\n ]\n }\n\n data.forEach(data => {\n let existingOI = orderInventories.find(\n itm =>\n itm.sku == data.sku &&\n itm.packingType == data.packingType &&\n itm.packingSize == data.packingSize &&\n itm.uom == data.uom\n )\n\n if (existingOI) {\n existingOI.releaseQty = existingOI.releaseQty + data.releaseQty\n existingOI.releaseUomValue = existingOI.releaseUomValue + data.uomValue\n existingOI.uomValue = existingOI.uomValue + data.uomValue\n } else {\n orderInventories.push({ ...data, orderProduct: itm })\n }\n })\n }\n try {\n await getConnection().transaction(async (childTx: EntityManager) => {\n let availableItems: any[] = await bulkReleaseGoodsAvailableItemsFunction(\n orderInventories,\n draftOrder.bizplace.id,\n context,\n childTx\n )\n if (availableItems.some(item => !item.releaseQty || item.releaseQty > item.assignedQty)) {\n throw new ValidationError({\n ...ValidationError.ERROR_CODES.INSUFFICIENT_STOCK,\n detail: { data: JSON.stringify(availableItems) }\n })\n }\n\n // update orderInventories if availableItems are valid\n ;(releaseGood as any).orderInventories = availableItems.map(itm => {\n return {\n ...itm,\n releaseQty: itm.releaseQty,\n releaseUomValue: itm.releaseUomValue,\n uomValue: itm.uomValue\n }\n })\n let createdReleaseGood: ReleaseGood = await bulkGenerateReleaseGood(\n releaseGood,\n releaseGood.bizplace.id,\n roNoSetting,\n domain,\n user,\n childTx\n )\n await childTx\n .getRepository(DraftReleaseGood)\n .update(\n { id: draftOrder.id },\n { releaseGood: createdReleaseGood, status: DRAFT_RELEASE_ORDER_STATUS.SUBMITTED }\n )\n createdReleaseGood = await confirmReleaseGood(createdReleaseGood.name, context, childTx)\n })\n } catch (error) {\n console.error(error)\n }\n }\n })\n }\n }\n\n return true\n }\n}\n\nexport async function upsertDraftReleaseGoodFunction(\n _: any,\n draftReleaseGood: any,\n orderProducts: OrderProductPatch[],\n shippingOrder: any,\n files: FileUpload[],\n context: any,\n tx?: EntityManager\n): Promise<DraftReleaseGood> {\n if (!draftReleaseGood.id) {\n draftReleaseGood = await createDraftReleaseGoodFunction(\n _,\n draftReleaseGood,\n orderProducts,\n shippingOrder,\n files,\n context,\n tx\n )\n } else {\n draftReleaseGood = await updateDraftReleaseGoodFunction(\n _,\n draftReleaseGood,\n orderProducts,\n shippingOrder,\n files,\n context,\n tx\n )\n }\n\n return draftReleaseGood\n}\n\nexport async function createDraftReleaseGoodFunction(\n _: any,\n draftReleaseGood: any,\n orderProducts: OrderProductPatch[],\n shippingOrder: any,\n files: FileUpload[],\n context: any,\n tx?: EntityManager\n): Promise<DraftReleaseGood> {\n const { domain, user } = context.state\n\n let myBizplace: Bizplace\n let orderNo: string = ''\n let arrError: string[] = []\n\n const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)\n\n if (draftReleaseGood?.bizplace?.id) {\n const permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)\n let foundPermittedBizplace: Bizplace = permittedBizplaces.find(biz => biz.id == draftReleaseGood.bizplace.id)\n\n if (!foundPermittedBizplace) throw new Error(`This user does not permitted for this company`)\n\n draftReleaseGood.bizplace = foundPermittedBizplace\n } else {\n arrError.push(`No bizplace was selected`)\n }\n\n if (arrError.length > 0) {\n throw new Error(arrError.join(', '))\n }\n\n // // find DRO number rule setting\n const droNoSetting: Setting = await settingRepo.findOne({\n where: {\n domain: { id: domain.id },\n name: ORDER_NUMBER_SETTING_KEY.DO_NUMBER_RULE\n }\n })\n\n if (droNoSetting) {\n orderNo = await generateId({ domain, type: ORDER_NUMBER_RULE_TYPE.DRO_NUMBER, seed: {} })\n } else {\n orderNo = OrderNoGenerator.draftReleaseGood()\n }\n\n // // 1. Create shipping order if found\n if (shippingOrder) {\n let newShippingOrder: ShippingOrder = await tx.getRepository(ShippingOrder).save({\n ...shippingOrder,\n name: OrderNoGenerator.shippingOrder(),\n domain,\n bizplace: draftReleaseGood.bizplace,\n status: ORDER_STATUS.PENDING,\n creator: user,\n updater: user\n })\n draftReleaseGood.shippingOrder = newShippingOrder\n }\n\n // // 2. Create draft release good\n const createdDraftReleaseGood: DraftReleaseGood = await tx.getRepository(DraftReleaseGood).save({\n ...draftReleaseGood,\n name: orderNo,\n status: DRAFT_RELEASE_ORDER_STATUS.DRAFT,\n domain,\n creator: user,\n updater: user\n })\n\n // // 3. Create draft release good product\n await upsertDraftReleaseGoodProducts(\n domain,\n draftReleaseGood.bizplace,\n createdDraftReleaseGood,\n orderProducts,\n user,\n tx\n )\n\n // // 4. Create Attachments\n if (files?.length) {\n const attachments: Partial<Attachment>[] = files.map(attachment => {\n return {\n file: attachment,\n refType: ATTACHMENT_TYPE.DGRN,\n refBy: createdDraftReleaseGood.id,\n category: ATTACHMENT_TYPE.DGRN /* TODO use refType */\n }\n })\n await createAttachments(_, { attachments }, context)\n }\n\n return createdDraftReleaseGood\n}\n\nexport async function updateDraftReleaseGoodFunction(\n _: any,\n draftReleaseGood: any,\n orderProducts: OrderProductPatch[],\n shippingOrder: any,\n files: FileUpload[],\n context: any,\n tx?: EntityManager\n): Promise<DraftReleaseGood> {\n const { domain, user } = context.state\n\n let existingDraftReleaseGood: any = await getDraftReleaseGoodFunction(_, draftReleaseGood.name, context, tx)\n\n if (draftReleaseGood?.bizplace?.id) {\n const permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)\n let foundPermittedBizplace: Bizplace = permittedBizplaces.find(biz => biz.id == draftReleaseGood.bizplace.id)\n\n if (!foundPermittedBizplace) throw new Error(`This user does not permitted for this company`)\n\n draftReleaseGood.bizplace = foundPermittedBizplace\n }\n\n if (shippingOrder) {\n // case to update existing shippingOrder\n if (existingDraftReleaseGood.shippingOrder) {\n await tx.getRepository(ShippingOrder).update(existingDraftReleaseGood.shippingOrder.id, shippingOrder)\n } else {\n let newShippingOrder: ShippingOrder = await tx.getRepository(ShippingOrder).save({\n ...shippingOrder,\n name: OrderNoGenerator.shippingOrder(),\n domain,\n bizplace: draftReleaseGood.bizplace,\n status: ORDER_STATUS.PENDING,\n creator: user,\n updater: user\n })\n draftReleaseGood.shippingOrder = newShippingOrder\n }\n } else {\n // case to delete existing shippingOrder\n if (existingDraftReleaseGood.shippingOrder) {\n await tx.getRepository(ShippingOrder).delete(existingDraftReleaseGood.shippingOrder)\n }\n }\n\n // // 1. Update draft release good\n const updateDraftReleaseGood: DraftReleaseGood = await tx.getRepository(DraftReleaseGood).save({\n ...existingDraftReleaseGood,\n ...draftReleaseGood,\n domain,\n creator: existingDraftReleaseGood.creator,\n updater: user\n })\n\n // // 2. Update draft release good product\n await upsertDraftReleaseGoodProducts(domain, draftReleaseGood.bizplace, draftReleaseGood, orderProducts, user, tx)\n\n // // 3. Remove Purchase Order Attachment\n const foundAttachments: Attachment[] = await getRepository(Attachment).find({\n where: {\n domain: { id: domain.id },\n refBy: draftReleaseGood.id,\n category: ATTACHMENT_TYPE.DGRN\n }\n })\n\n // // 4. Remove All Attachment\n if (foundAttachments?.length) {\n await deleteAttachmentsByRef(_, { refBys: foundAttachments.map(file => file.refBy) }, context)\n }\n\n // // 5. Add New Attachment\n if (files?.length > 0) {\n const attachments: Partial<Attachment>[] = files.map(attachment => {\n return {\n file: attachment,\n refType: ATTACHMENT_TYPE.DGRN,\n refBy: updateDraftReleaseGood.id,\n category: ATTACHMENT_TYPE.DGRN /* TODO use refType */\n }\n })\n await createAttachments(_, { attachments }, context)\n }\n\n return existingDraftReleaseGood\n}\n\nexport async function upsertDraftReleaseGoodProducts(\n domain: Domain,\n bizplace: Bizplace,\n draftReleaseGood: DraftReleaseGood,\n orderProductsPatch: OrderProductPatch[],\n user: User,\n tx?: EntityManager\n): Promise<void> {\n try {\n let orderProducts: OrderProduct[] = []\n\n const draftReleaseGoodRepo: Repository<DraftReleaseGood> =\n tx?.getRepository(DraftReleaseGood) || getRepository(DraftReleaseGood)\n const bizplaceRepo: Repository<Bizplace> = tx?.getRepository(Bizplace) || getRepository(Bizplace)\n const orderProductRepo: Repository<OrderProduct> = tx?.getRepository(OrderProduct) || getRepository(OrderProduct)\n const productRepo: Repository<Product> = tx?.getRepository(Product) || getRepository(Product)\n const productBundleRepo: Repository<ProductBundle> =\n tx?.getRepository(ProductBundle) || getRepository(ProductBundle)\n\n draftReleaseGood = (await draftReleaseGoodRepo.findOne({\n where: { id: draftReleaseGood.id },\n relations: [\n 'orderProducts',\n 'orderProducts.product',\n 'orderProducts.productBundle',\n 'orderProducts.creator',\n 'orderProducts.updater'\n ]\n })) as any\n\n // Remove all existing order products that do not exist in current input\n let removeOP = draftReleaseGood.orderProducts.filter(\n existingOP => orderProductsPatch.filter(inOP => inOP.id == existingOP.id).length == 0\n )\n // removeOP.forEach(async op => {\n // await orderProductRepo.delete(op)\n // })\n\n if (removeOP.length > 0) await orderProductRepo.delete(removeOP.map(itm => itm.id))\n\n bizplace = await bizplaceRepo.findOne({\n where: { id: bizplace.id },\n relations: ['domain', 'company', 'company.domain']\n })\n\n orderProducts = await Promise.all(\n orderProductsPatch.map(async (op: any) => {\n if (!op?.id) delete op.id\n\n const customerCompanyDomain: Domain = bizplace.company.domain\n let product: Product = null\n let productBundle: ProductBundle = null\n let existingOP = draftReleaseGood.orderProducts.find(existOP => existOP.id == op.id)\n\n let updatePatch = {\n ...existingOP,\n ...op,\n domain,\n batchId: '',\n packQty: 0,\n actualPackQty: 0,\n palletQty: 0,\n actualPalletQty: 0,\n bizplace: bizplace,\n name: op?.id ? op.name : OrderNoGenerator.orderProduct(),\n draftReleaseGood: draftReleaseGood,\n status: draftReleaseGood.status,\n creator: op?.id ? op.creator : user,\n updater: user\n }\n\n if (op?.product?.id) {\n product = await productRepo.findOne({\n where: { domain: { id: customerCompanyDomain.id }, id: op.product.id }\n })\n updatePatch['product'] = product || undefined\n\n if (!product) {\n productBundle = await productBundleRepo.findOne({\n where: { domain: { id: customerCompanyDomain.id }, id: op.product.id }\n })\n updatePatch['productBundle'] = productBundle || undefined\n }\n\n if (!product && !productBundle) throw new Error(`product not found`)\n } else {\n if (existingOP) {\n product = existingOP.product\n productBundle = existingOP.productBundle\n updatePatch['product'] = existingOP.product || undefined\n updatePatch['productBundle'] = existingOP.productBundle || undefined\n } else {\n product = await productRepo.findOne({\n where: { domain: { id: customerCompanyDomain.id }, sku: op.product.sku, deletedAt: IsNull() },\n relations: ['productDetails']\n })\n if (product) {\n const productDetails: ProductDetail[] = product.productDetails\n let selectedProductDetail: ProductDetail[]\n if (op?.product?.packingType) {\n selectedProductDetail = productDetails.filter(pd => pd.packingType == op.product.packingType)\n } else {\n selectedProductDetail = productDetails.filter(pd => pd.isDefault)\n }\n\n product.packingType = selectedProductDetail[0].packingType\n product.primaryUnit = selectedProductDetail[0].uom\n product.primaryValue = selectedProductDetail[0].uomValue\n }\n\n updatePatch['product'] = product || undefined\n\n if (!product) {\n productBundle = await productBundleRepo.findOne({\n where: { domain: { id: customerCompanyDomain.id }, sku: op.product.sku }\n })\n updatePatch['productBundle'] = productBundle || undefined\n }\n\n if (!product && !productBundle) throw new Error(`product not found`)\n }\n }\n\n updatePatch['packingType'] = op?.packingType\n ? op.packingType\n : product?.packingType\n ? product.packingType\n : productBundle.packingType\n updatePatch['uom'] = op?.uom ? op.uom : product?.primaryUnit ? product.primaryUnit : 'UNIT'\n updatePatch['uomValue'] = op?.uomValue ? op.uomValue : product?.primaryValue ? product.primaryValue : 0\n\n return updatePatch\n })\n )\n\n await orderProductRepo.save(orderProducts)\n } catch (error) {\n throw error\n }\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EntityManager } from 'typeorm';
|
|
2
|
+
import { ListParam } from '@things-factory/shell';
|
|
3
|
+
import { DraftReleaseGood } from './draft-release-good';
|
|
4
|
+
import { DraftReleaseGoodList } from './draft-release-good-type';
|
|
5
|
+
export declare class DraftReleaseGoodQuery {
|
|
6
|
+
draftReleaseGood(id: string, context: ResolverContext): Promise<DraftReleaseGood>;
|
|
7
|
+
draftReleaseGoodByName(name: string, context: ResolverContext): Promise<DraftReleaseGood>;
|
|
8
|
+
draftReleaseGoods(params: ListParam, context: ResolverContext): Promise<DraftReleaseGoodList>;
|
|
9
|
+
}
|
|
10
|
+
export declare function getDraftReleaseGoodFunction(_: any, name: any, context: any, tx?: EntityManager): Promise<any>;
|
|
@@ -186,6 +186,7 @@ let DraftReleaseGoodQuery = class DraftReleaseGoodQuery {
|
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
};
|
|
189
|
+
exports.DraftReleaseGoodQuery = DraftReleaseGoodQuery;
|
|
189
190
|
tslib_1.__decorate([
|
|
190
191
|
(0, type_graphql_1.Query)(returns => draft_release_good_1.DraftReleaseGood, { description: 'To fetch a DraftReleaseGood' }),
|
|
191
192
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
@@ -212,10 +213,9 @@ tslib_1.__decorate([
|
|
|
212
213
|
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
213
214
|
tslib_1.__metadata("design:returntype", Promise)
|
|
214
215
|
], DraftReleaseGoodQuery.prototype, "draftReleaseGoods", null);
|
|
215
|
-
DraftReleaseGoodQuery = tslib_1.__decorate([
|
|
216
|
+
exports.DraftReleaseGoodQuery = DraftReleaseGoodQuery = tslib_1.__decorate([
|
|
216
217
|
(0, type_graphql_1.Resolver)(draft_release_good_1.DraftReleaseGood)
|
|
217
218
|
], DraftReleaseGoodQuery);
|
|
218
|
-
exports.DraftReleaseGoodQuery = DraftReleaseGoodQuery;
|
|
219
219
|
async function getDraftReleaseGoodFunction(_, name, context, tx) {
|
|
220
220
|
var _a;
|
|
221
221
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft-release-good-query.js","sourceRoot":"","sources":["../../../server/service/draft-release-good/draft-release-good-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, Query, Resolver } from 'type-graphql'\nimport { EntityManager, In, OrderByCondition, SelectQueryBuilder } from 'typeorm'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, getPermittedBizplaceIds, getPermittedBizplaces } from '@things-factory/biz-base'\nimport { buildQuery, Domain, getRepository, ListParam } from '@things-factory/shell'\n\nimport { ATTACHMENT_TYPE, DRAFT_RELEASE_ORDER_STATUS } from '../../constants'\nimport { InventoryUtil } from '../../utils'\nimport { DraftReleaseGood } from './draft-release-good'\nimport { DraftReleaseGoodList } from './draft-release-good-type'\n\n@Resolver(DraftReleaseGood)\nexport class DraftReleaseGoodQuery {\n @Query(returns => DraftReleaseGood, { description: 'To fetch a DraftReleaseGood' })\n async draftReleaseGood(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<DraftReleaseGood> {\n const { domain } = context.state\n\n return await getRepository(DraftReleaseGood).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@transaction')\n @Query(returns => DraftReleaseGood, { description: 'To fetch a DraftReleaseGood' })\n async draftReleaseGoodByName(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<DraftReleaseGood> {\n const { domain, tx } = context.state\n\n return getDraftReleaseGoodFunction(null, name, context, tx)\n }\n\n @Directive('@transaction')\n @Query(returns => DraftReleaseGoodList, { description: 'To fetch multiple DraftReleaseGoods' })\n async draftReleaseGoods(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<DraftReleaseGoodList> {\n try {\n const { domain, user, tx } = context.state\n\n const statusFilter = params.filters.find(e => e.name === 'status')\n const bizplaceFilter = params.filters.find(param => param.name === 'bizplaceId')\n const noOfItemsFilter = params.filters.find(param => param.name === 'noOfItems')\n const skuFilter = params.filters.find(param => param.name === 'sku')\n const orderRemarkFilter = params.filters.find(param => param.name === 'orderRemark')\n\n if (!bizplaceFilter) {\n params.filters.push({\n name: 'bizplaceId',\n operator: 'in',\n value: await getPermittedBizplaceIds(domain, user),\n relation: false\n })\n }\n\n params.filters = params.filters.filter(\n itm => itm.name !== 'noOfItems' && itm.name !== 'sku' && itm.name !== 'status'\n )\n\n if (orderRemarkFilter) {\n const orderRemarkIdx = params.filters.findIndex(param => param.name === 'orderRemark')\n if (orderRemarkFilter.value == true) {\n params.filters.splice(orderRemarkIdx, 1)\n params.filters.push({\n name: 'remark',\n operator: 'is_not_null',\n value: null,\n relation: false\n })\n } else {\n params.filters.splice(orderRemarkIdx, 1)\n params.filters.push({\n name: 'remark',\n operator: 'is_null',\n value: null,\n relation: false\n })\n }\n }\n\n const fromDateParamIdx = params.filters.findIndex(param => param.name === 'fromDate')\n if (fromDateParamIdx >= 0) {\n let fromDateVal = new Date(params.filters[fromDateParamIdx].value)\n params.filters.splice(fromDateParamIdx, 1)\n\n params.filters.push({\n name: 'createdAt',\n operator: 'gte',\n value: fromDateVal.toISOString(),\n relation: false\n })\n }\n\n const toDateParamIdx = params.filters.findIndex(param => param.name === 'toDate')\n if (toDateParamIdx >= 0) {\n let toDateVal = new Date(params.filters[toDateParamIdx].value)\n params.filters.splice(toDateParamIdx, 1)\n\n params.filters.push({\n name: 'createdAt',\n operator: 'lt',\n value: new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),\n relation: false\n })\n }\n\n tx.query(\n `\n create temp table temp_op_calculation on commit drop as (\n SELECT drg1.id from draft_release_goods drg1\n left join order_products op on drg1.id = op.draft_release_good_id\n where drg1.status ='DRAFT' AND drg1.domain_id = $1\n AND NOT EXISTS (\n SELECT * FROM warehouse_bizplace_onhand_inventories wboi \n where (wboi.\"productId\" = op.product_id or wboi.\"productBundleId\" = op.product_id) \n and wboi.\"domainId\" = op.domain_id\n and wboi.\"bizplaceId\" = op.bizplace_id\n AND wboi.\"remainQty\" >= op.release_qty\n ) GROUP BY drg1.id\n )\n `,\n [domain.id]\n )\n\n const qb: SelectQueryBuilder<DraftReleaseGood> = tx.getRepository(DraftReleaseGood).createQueryBuilder('drg')\n buildQuery(qb, params, context)\n qb.addSelect('COALESCE(\"cc\".rank, 99999)', 'rank')\n qb.addSelect(\n `CASE WHEN \"drg\".status = 'DRAFT' and tmp_calc.id IS NOT null then 'INSUFFICIENT' else \"drg\".status END`,\n 'computed_status'\n )\n qb.leftJoin(`temp_op_calculation`, 'tmp_calc', 'tmp_calc.id = drg.id')\n qb.leftJoinAndSelect('drg.domain', 'domain')\n qb.leftJoinAndSelect('drg.bizplace', 'bizplace')\n qb.leftJoinAndSelect('drg.creator', 'creator')\n qb.leftJoinAndSelect('drg.updater', 'updater')\n qb.leftJoinAndSelect('drg.deliverTo', 'deliverTo')\n qb.leftJoin(\n subQuery => {\n return subQuery\n .select(`ccd.rank`, 'rank')\n .addSelect(`ccd.name`, 'status')\n .from(`common_code_details`, 'ccd')\n .innerJoin(`ccd.commonCode`, 'cc')\n .where(`ccd.domain_id = :domainId`, { domainId: domain.id })\n .andWhere(`cc.name = 'ODO_REQUESTS_STATUS'`)\n },\n 'cc',\n 'cc.status = drg.status'\n )\n\n if (skuFilter) {\n qb.andWhere(\n `\n exists (\n select * from order_products op \n inner join products p on op.product_id = p.id\n where op.draft_release_good_id = drg.id\n and lower(p.sku) ilike :sku\n )\n `,\n { sku: skuFilter.value.toLowerCase() }\n )\n }\n\n if (noOfItemsFilter) {\n qb.andWhere(\n `\n exists (\n select numberFilterOp.product_id from order_products numberFilterOp \n where numberFilterOp.draft_release_good_id = drg.id\n group by numberFilterOp.product_id having count(*) ${noOfItemsFilter.value == 1 ? ' = 1' : '> 1'}\n )\n `\n )\n }\n\n if (statusFilter) {\n if (statusFilter.value == DRAFT_RELEASE_ORDER_STATUS.DRAFT) {\n qb.andWhere(\n `\n drg.status = 'DRAFT' and tmp_calc.id IS null\n `\n )\n } else if (statusFilter.value == DRAFT_RELEASE_ORDER_STATUS.INSUFFICIENT) {\n qb.andWhere(\n `\n drg.status = 'DRAFT' and tmp_calc.id IS NOT null\n `\n )\n } else {\n qb.andWhere(\n `\n drg.status = '${statusFilter.value}'\n `\n )\n }\n }\n\n const arrChildSortData = ['bizplace', 'creator']\n const sort: OrderByCondition = (params.sortings || []).reduce(\n (acc, sort) => ({\n ...acc,\n [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'drg.' + sort.name]: sort.desc\n ? 'DESC'\n : 'ASC'\n }),\n params.sortings.length < 1 ? { rank: 'ASC', 'drg.createdAt': 'DESC' } : {}\n )\n\n qb.orderBy(sort)\n qb.offset((params.pagination.page - 1) * params.pagination.limit)\n qb.limit(params.pagination.limit)\n\n let [items, total] = await Promise.all([qb.getRawMany(), qb.getCount()])\n\n items = items.map(itm => {\n return {\n id: itm.drg_id,\n name: itm.drg_name,\n description: itm.drg_description,\n type: itm.drg_type,\n releaseDate: itm.drg_release_date,\n exportOption: itm.drg_export_option,\n ownTransport: itm.drg_own_transport,\n bizplace: { id: itm.bizplace_id, name: itm.bizplace_name, description: itm.bizplace_description },\n refNo: itm.drg_ref_no,\n refNo2: itm.drg_ref_no_2,\n refNo3: itm.drg_ref_no_3,\n status: itm.computed_status,\n createdAt: itm.drg_created_at,\n creator: { id: itm.creator_id, name: itm.creator_name, description: itm.creator_description },\n updatedAt: itm.drg_updated_at,\n updater: { id: itm.updater_id, name: itm.updater_name, description: itm.updater_description }\n }\n })\n\n return { items, total }\n } catch (error) {\n throw error\n }\n }\n}\n\nexport async function getDraftReleaseGoodFunction(_: any, name: any, context: any, tx?: EntityManager) {\n try {\n const { domain, user, bizplace }: { domain: Domain; user: User; bizplace: Bizplace } = context.state\n\n let permittedBizplaces = await getPermittedBizplaces(domain, user)\n let result = await tx.getRepository(DraftReleaseGood).findOne({\n where: { domain: { id: domain.id }, name, bizplace: { id: In(permittedBizplaces.map(biz => biz.id)) } },\n relations: [\n 'releaseGood',\n 'orderProducts',\n 'orderProducts.product',\n 'orderProducts.productBundle',\n 'shippingOrder',\n 'bizplace',\n 'domain',\n 'creator',\n 'updater'\n ]\n })\n\n if (!result?.id) throw new Error(`Failed to find draft release good ${name}`)\n\n let foundPermittedBizplace: Bizplace\n let companyBizplace: Bizplace\n\n if (result.bizplace.id) {\n foundPermittedBizplace = permittedBizplaces.find(biz => biz.id == result.bizplace.id)\n\n if (foundPermittedBizplace) {\n if (!foundPermittedBizplace.company?.id) {\n foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({\n where: { id: foundPermittedBizplace.id },\n relations: ['company', 'company.domain']\n })\n }\n const companyDomain: Domain = foundPermittedBizplace.company.domain\n companyBizplace = await tx.getRepository(Bizplace).findOne({ where: { domain: { id: companyDomain.id } } })\n }\n }\n\n const bizplaces: Bizplace[] = [foundPermittedBizplace, companyBizplace]\n\n let productInventory\n if (result.orderProducts.length > 0)\n productInventory = await InventoryUtil.bizplaceProductInventory(\n bizplaces,\n {\n filters: [\n { name: 'bizplaceId', operator: 'eq', value: result.bizplace.id },\n {\n name: 'productId',\n operator: 'in',\n value: [\n ...result.orderProducts\n .filter(itm => itm?.product)\n .map(itm => {\n return itm.product.id\n }),\n ...result.orderProducts\n .filter(itm => itm?.productBundle)\n .map(itm => {\n return itm.productBundle.id\n })\n ]\n }\n ]\n },\n context,\n tx\n )\n\n result.orderProducts = result.orderProducts.map(itm => {\n let foundProductInv = productInventory?.items.find(\n i =>\n (i.productId == itm?.product?.id || i.productId == itm?.productBundle?.id) &&\n i.packingType == itm.packingType &&\n i.packingSize == itm.packingSize &&\n i.uom == itm.uom\n )\n return {\n ...itm,\n product: itm.product || {\n id: foundProductInv.productId,\n name: foundProductInv.productName,\n brand: foundProductInv.productBrand,\n sku: foundProductInv.productSKU\n },\n groupType: foundProductInv ? foundProductInv.groupType : 'SINGLE',\n remainQty: foundProductInv ? foundProductInv.remainQty : 0,\n remainUomValue: foundProductInv ? foundProductInv.remainUomValue : 0,\n remainUomValueWithUom: foundProductInv ? foundProductInv.remainUomValueWithUom : 0\n }\n })\n const foundAttachments: Attachment[] = await tx.getRepository(Attachment).find({\n where: {\n domain: { id: domain.id },\n refBy: result.id,\n category: ATTACHMENT_TYPE.DGRN\n }\n })\n\n return {\n ...result,\n attachment: foundAttachments\n }\n } catch (error) {\n console.error(error)\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"draft-release-good-query.js","sourceRoot":"","sources":["../../../server/service/draft-release-good/draft-release-good-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, Query, Resolver } from 'type-graphql'\nimport { EntityManager, In, OrderByCondition, SelectQueryBuilder } from 'typeorm'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, getPermittedBizplaceIds, getPermittedBizplaces } from '@things-factory/biz-base'\nimport { buildQuery, Domain, getRepository, ListParam } from '@things-factory/shell'\n\nimport { ATTACHMENT_TYPE, DRAFT_RELEASE_ORDER_STATUS } from '../../constants'\nimport { InventoryUtil } from '../../utils'\nimport { DraftReleaseGood } from './draft-release-good'\nimport { DraftReleaseGoodList } from './draft-release-good-type'\n\n@Resolver(DraftReleaseGood)\nexport class DraftReleaseGoodQuery {\n @Query(returns => DraftReleaseGood, { description: 'To fetch a DraftReleaseGood' })\n async draftReleaseGood(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<DraftReleaseGood> {\n const { domain } = context.state\n\n return await getRepository(DraftReleaseGood).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@transaction')\n @Query(returns => DraftReleaseGood, { description: 'To fetch a DraftReleaseGood' })\n async draftReleaseGoodByName(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<DraftReleaseGood> {\n const { domain, tx } = context.state\n\n return getDraftReleaseGoodFunction(null, name, context, tx)\n }\n\n @Directive('@transaction')\n @Query(returns => DraftReleaseGoodList, { description: 'To fetch multiple DraftReleaseGoods' })\n async draftReleaseGoods(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<DraftReleaseGoodList> {\n try {\n const { domain, user, tx } = context.state\n\n const statusFilter = params.filters.find(e => e.name === 'status')\n const bizplaceFilter = params.filters.find(param => param.name === 'bizplaceId')\n const noOfItemsFilter = params.filters.find(param => param.name === 'noOfItems')\n const skuFilter = params.filters.find(param => param.name === 'sku')\n const orderRemarkFilter = params.filters.find(param => param.name === 'orderRemark')\n\n if (!bizplaceFilter) {\n params.filters.push({\n name: 'bizplaceId',\n operator: 'in',\n value: await getPermittedBizplaceIds(domain, user),\n relation: false\n })\n }\n\n params.filters = params.filters.filter(\n itm => itm.name !== 'noOfItems' && itm.name !== 'sku' && itm.name !== 'status'\n )\n\n if (orderRemarkFilter) {\n const orderRemarkIdx = params.filters.findIndex(param => param.name === 'orderRemark')\n if (orderRemarkFilter.value == true) {\n params.filters.splice(orderRemarkIdx, 1)\n params.filters.push({\n name: 'remark',\n operator: 'is_not_null',\n value: null,\n relation: false\n })\n } else {\n params.filters.splice(orderRemarkIdx, 1)\n params.filters.push({\n name: 'remark',\n operator: 'is_null',\n value: null,\n relation: false\n })\n }\n }\n\n const fromDateParamIdx = params.filters.findIndex(param => param.name === 'fromDate')\n if (fromDateParamIdx >= 0) {\n let fromDateVal = new Date(params.filters[fromDateParamIdx].value)\n params.filters.splice(fromDateParamIdx, 1)\n\n params.filters.push({\n name: 'createdAt',\n operator: 'gte',\n value: fromDateVal.toISOString(),\n relation: false\n })\n }\n\n const toDateParamIdx = params.filters.findIndex(param => param.name === 'toDate')\n if (toDateParamIdx >= 0) {\n let toDateVal = new Date(params.filters[toDateParamIdx].value)\n params.filters.splice(toDateParamIdx, 1)\n\n params.filters.push({\n name: 'createdAt',\n operator: 'lt',\n value: new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),\n relation: false\n })\n }\n\n tx.query(\n `\n create temp table temp_op_calculation on commit drop as (\n SELECT drg1.id from draft_release_goods drg1\n left join order_products op on drg1.id = op.draft_release_good_id\n where drg1.status ='DRAFT' AND drg1.domain_id = $1\n AND NOT EXISTS (\n SELECT * FROM warehouse_bizplace_onhand_inventories wboi \n where (wboi.\"productId\" = op.product_id or wboi.\"productBundleId\" = op.product_id) \n and wboi.\"domainId\" = op.domain_id\n and wboi.\"bizplaceId\" = op.bizplace_id\n AND wboi.\"remainQty\" >= op.release_qty\n ) GROUP BY drg1.id\n )\n `,\n [domain.id]\n )\n\n const qb: SelectQueryBuilder<DraftReleaseGood> = tx.getRepository(DraftReleaseGood).createQueryBuilder('drg')\n buildQuery(qb, params, context)\n qb.addSelect('COALESCE(\"cc\".rank, 99999)', 'rank')\n qb.addSelect(\n `CASE WHEN \"drg\".status = 'DRAFT' and tmp_calc.id IS NOT null then 'INSUFFICIENT' else \"drg\".status END`,\n 'computed_status'\n )\n qb.leftJoin(`temp_op_calculation`, 'tmp_calc', 'tmp_calc.id = drg.id')\n qb.leftJoinAndSelect('drg.domain', 'domain')\n qb.leftJoinAndSelect('drg.bizplace', 'bizplace')\n qb.leftJoinAndSelect('drg.creator', 'creator')\n qb.leftJoinAndSelect('drg.updater', 'updater')\n qb.leftJoinAndSelect('drg.deliverTo', 'deliverTo')\n qb.leftJoin(\n subQuery => {\n return subQuery\n .select(`ccd.rank`, 'rank')\n .addSelect(`ccd.name`, 'status')\n .from(`common_code_details`, 'ccd')\n .innerJoin(`ccd.commonCode`, 'cc')\n .where(`ccd.domain_id = :domainId`, { domainId: domain.id })\n .andWhere(`cc.name = 'ODO_REQUESTS_STATUS'`)\n },\n 'cc',\n 'cc.status = drg.status'\n )\n\n if (skuFilter) {\n qb.andWhere(\n `\n exists (\n select * from order_products op \n inner join products p on op.product_id = p.id\n where op.draft_release_good_id = drg.id\n and lower(p.sku) ilike :sku\n )\n `,\n { sku: skuFilter.value.toLowerCase() }\n )\n }\n\n if (noOfItemsFilter) {\n qb.andWhere(\n `\n exists (\n select numberFilterOp.product_id from order_products numberFilterOp \n where numberFilterOp.draft_release_good_id = drg.id\n group by numberFilterOp.product_id having count(*) ${noOfItemsFilter.value == 1 ? ' = 1' : '> 1'}\n )\n `\n )\n }\n\n if (statusFilter) {\n if (statusFilter.value == DRAFT_RELEASE_ORDER_STATUS.DRAFT) {\n qb.andWhere(\n `\n drg.status = 'DRAFT' and tmp_calc.id IS null\n `\n )\n } else if (statusFilter.value == DRAFT_RELEASE_ORDER_STATUS.INSUFFICIENT) {\n qb.andWhere(\n `\n drg.status = 'DRAFT' and tmp_calc.id IS NOT null\n `\n )\n } else {\n qb.andWhere(\n `\n drg.status = '${statusFilter.value}'\n `\n )\n }\n }\n\n const arrChildSortData = ['bizplace', 'creator']\n const sort: OrderByCondition = (params.sortings || []).reduce(\n (acc, sort) => ({\n ...acc,\n [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'drg.' + sort.name]: sort.desc\n ? 'DESC'\n : 'ASC'\n }),\n params.sortings.length < 1 ? { rank: 'ASC', 'drg.createdAt': 'DESC' } : {}\n )\n\n qb.orderBy(sort)\n qb.offset((params.pagination.page - 1) * params.pagination.limit)\n qb.limit(params.pagination.limit)\n\n let [items, total] = await Promise.all([qb.getRawMany(), qb.getCount()])\n\n items = items.map(itm => {\n return {\n id: itm.drg_id,\n name: itm.drg_name,\n description: itm.drg_description,\n type: itm.drg_type,\n releaseDate: itm.drg_release_date,\n exportOption: itm.drg_export_option,\n ownTransport: itm.drg_own_transport,\n bizplace: { id: itm.bizplace_id, name: itm.bizplace_name, description: itm.bizplace_description },\n refNo: itm.drg_ref_no,\n refNo2: itm.drg_ref_no_2,\n refNo3: itm.drg_ref_no_3,\n status: itm.computed_status,\n createdAt: itm.drg_created_at,\n creator: { id: itm.creator_id, name: itm.creator_name, description: itm.creator_description },\n updatedAt: itm.drg_updated_at,\n updater: { id: itm.updater_id, name: itm.updater_name, description: itm.updater_description }\n }\n })\n\n return { items, total }\n } catch (error) {\n throw error\n }\n }\n}\n\nexport async function getDraftReleaseGoodFunction(_: any, name: any, context: any, tx?: EntityManager) {\n try {\n const { domain, user, bizplace }: { domain: Domain; user: User; bizplace: Bizplace } = context.state\n\n let permittedBizplaces = await getPermittedBizplaces(domain, user)\n let result: any = await tx.getRepository(DraftReleaseGood).findOne({\n where: { domain: { id: domain.id }, name, bizplace: { id: In(permittedBizplaces.map(biz => biz.id)) } },\n relations: [\n 'releaseGood',\n 'orderProducts',\n 'orderProducts.product',\n 'orderProducts.productBundle',\n 'shippingOrder',\n 'bizplace',\n 'domain',\n 'creator',\n 'updater'\n ]\n })\n\n if (!result?.id) throw new Error(`Failed to find draft release good ${name}`)\n\n let foundPermittedBizplace: Bizplace\n let companyBizplace: Bizplace\n\n if (result.bizplace.id) {\n foundPermittedBizplace = permittedBizplaces.find(biz => biz.id == result.bizplace.id)\n\n if (foundPermittedBizplace) {\n if (!foundPermittedBizplace.company?.id) {\n foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({\n where: { id: foundPermittedBizplace.id },\n relations: ['company', 'company.domain']\n })\n }\n const companyDomain: Domain = foundPermittedBizplace.company.domain\n companyBizplace = await tx.getRepository(Bizplace).findOne({ where: { domain: { id: companyDomain.id } } })\n }\n }\n\n const bizplaces: Bizplace[] = [foundPermittedBizplace, companyBizplace]\n\n let productInventory\n if (result.orderProducts.length > 0)\n productInventory = await InventoryUtil.bizplaceProductInventory(\n bizplaces,\n {\n filters: [\n { name: 'bizplaceId', operator: 'eq', value: result.bizplace.id },\n {\n name: 'productId',\n operator: 'in',\n value: [\n ...result.orderProducts\n .filter(itm => itm?.product)\n .map(itm => {\n return itm.product.id\n }),\n ...result.orderProducts\n .filter(itm => itm?.productBundle)\n .map(itm => {\n return itm.productBundle.id\n })\n ]\n }\n ]\n },\n context,\n tx\n )\n\n result.orderProducts = result.orderProducts.map(itm => {\n let foundProductInv = productInventory?.items.find(\n i =>\n (i.productId == itm?.product?.id || i.productId == itm?.productBundle?.id) &&\n i.packingType == itm.packingType &&\n i.packingSize == itm.packingSize &&\n i.uom == itm.uom\n )\n return {\n ...itm,\n product: itm.product || {\n id: foundProductInv.productId,\n name: foundProductInv.productName,\n brand: foundProductInv.productBrand,\n sku: foundProductInv.productSKU\n },\n groupType: foundProductInv ? foundProductInv.groupType : 'SINGLE',\n remainQty: foundProductInv ? foundProductInv.remainQty : 0,\n remainUomValue: foundProductInv ? foundProductInv.remainUomValue : 0,\n remainUomValueWithUom: foundProductInv ? foundProductInv.remainUomValueWithUom : 0\n }\n })\n const foundAttachments: Attachment[] = await tx.getRepository(Attachment).find({\n where: {\n domain: { id: domain.id },\n refBy: result.id,\n category: ATTACHMENT_TYPE.DGRN\n }\n })\n\n return {\n ...result,\n attachment: foundAttachments\n }\n } catch (error) {\n console.error(error)\n }\n}\n"]}
|