@things-factory/sales-base 5.0.13 → 6.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/constants/order.js +4 -1
- package/dist-server/constants/order.js.map +1 -1
- package/dist-server/constants/release-good.js +5 -1
- package/dist-server/constants/release-good.js.map +1 -1
- package/dist-server/controllers/ecommerce/ecommerce-controller.js +1 -1
- package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
- package/dist-server/controllers/ecommerce/sellercraft-controller.js +102 -94
- package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
- package/dist-server/controllers/order-controller.js +7 -5
- package/dist-server/controllers/order-controller.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice-mutation.js +152 -65
- package/dist-server/service/arrival-notice/arrival-notice-mutation.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice-query.js +15 -16
- package/dist-server/service/arrival-notice/arrival-notice-query.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice-types.js +1 -2
- package/dist-server/service/arrival-notice/arrival-notice-types.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice.js +7 -7
- package/dist-server/service/arrival-notice/arrival-notice.js.map +1 -1
- package/dist-server/service/claim/claim-mutation.js +15 -14
- package/dist-server/service/claim/claim-mutation.js.map +1 -1
- package/dist-server/service/claim/claim-query.js +8 -10
- package/dist-server/service/claim/claim-query.js.map +1 -1
- package/dist-server/service/claim/claim.js +7 -7
- package/dist-server/service/claim/claim.js.map +1 -1
- package/dist-server/service/claim-detail/claim-detail-mutation.js +9 -8
- package/dist-server/service/claim-detail/claim-detail-mutation.js.map +1 -1
- package/dist-server/service/claim-detail/claim-detail-query.js +9 -10
- package/dist-server/service/claim-detail/claim-detail-query.js.map +1 -1
- package/dist-server/service/claim-detail/claim-detail.js +3 -4
- package/dist-server/service/claim-detail/claim-detail.js.map +1 -1
- package/dist-server/service/claim-order/claim-order-mutation.js +9 -8
- package/dist-server/service/claim-order/claim-order-mutation.js.map +1 -1
- package/dist-server/service/claim-order/claim-order-query.js +9 -10
- package/dist-server/service/claim-order/claim-order-query.js.map +1 -1
- package/dist-server/service/claim-order/claim-order.js +3 -4
- package/dist-server/service/claim-order/claim-order.js.map +1 -1
- package/dist-server/service/collection-order/collection-order-mutation.js +15 -14
- package/dist-server/service/collection-order/collection-order-mutation.js.map +1 -1
- package/dist-server/service/collection-order/collection-order-query.js +14 -14
- package/dist-server/service/collection-order/collection-order-query.js.map +1 -1
- package/dist-server/service/collection-order/collection-order-types.js +4 -5
- package/dist-server/service/collection-order/collection-order-types.js.map +1 -1
- package/dist-server/service/collection-order/collection-order.js +7 -7
- package/dist-server/service/collection-order/collection-order.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order-mutation.js +138 -51
- package/dist-server/service/delivery-order/delivery-order-mutation.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order-query.js +51 -38
- package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order-types.js +22 -3
- package/dist-server/service/delivery-order/delivery-order-types.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order.js +92 -7
- package/dist-server/service/delivery-order/delivery-order.js.map +1 -1
- package/dist-server/service/draft-release-good/draft-release-good-mutation.js +157 -143
- 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.js +54 -24
- 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.js +3 -4
- 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.js +11 -6
- package/dist-server/service/draft-release-good/draft-release-good.js.map +1 -1
- package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js +12 -11
- 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.js +104 -12
- 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.js +67 -4
- 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.js +46 -5
- package/dist-server/service/goods-receival-note/goods-receival-note.js.map +1 -1
- package/dist-server/service/inventory-check/inventory-check-mutation.js +6 -6
- package/dist-server/service/inventory-check/inventory-check-mutation.js.map +1 -1
- package/dist-server/service/inventory-check/inventory-check-query.js +8 -10
- package/dist-server/service/inventory-check/inventory-check-query.js.map +1 -1
- package/dist-server/service/inventory-check/inventory-check.js +5 -5
- package/dist-server/service/inventory-check/inventory-check.js.map +1 -1
- package/dist-server/service/invoice/invoice-mutation.js +5 -5
- package/dist-server/service/invoice/invoice-mutation.js.map +1 -1
- package/dist-server/service/invoice/invoice-query.js +7 -9
- package/dist-server/service/invoice/invoice-query.js.map +1 -1
- package/dist-server/service/invoice/invoice-types.js +2 -3
- package/dist-server/service/invoice/invoice-types.js.map +1 -1
- package/dist-server/service/invoice/invoice.js +3 -4
- package/dist-server/service/invoice/invoice.js.map +1 -1
- package/dist-server/service/invoice-product/invoice-product-mutation.js +1 -1
- package/dist-server/service/invoice-product/invoice-product-mutation.js.map +1 -1
- package/dist-server/service/invoice-product/invoice-product-query.js +7 -9
- package/dist-server/service/invoice-product/invoice-product-query.js.map +1 -1
- package/dist-server/service/invoice-product/invoice-product.js +5 -5
- package/dist-server/service/invoice-product/invoice-product.js.map +1 -1
- package/dist-server/service/job-sheet/job-sheet-mutation.js +5 -5
- package/dist-server/service/job-sheet/job-sheet-mutation.js.map +1 -1
- package/dist-server/service/job-sheet/job-sheet-query.js +6 -8
- package/dist-server/service/job-sheet/job-sheet-query.js.map +1 -1
- package/dist-server/service/job-sheet/job-sheet.js +5 -5
- package/dist-server/service/job-sheet/job-sheet.js.map +1 -1
- package/dist-server/service/manifest/manifest-mutation.js +84 -4
- package/dist-server/service/manifest/manifest-mutation.js.map +1 -1
- package/dist-server/service/manifest/manifest-query.js +52 -19
- package/dist-server/service/manifest/manifest-query.js.map +1 -1
- package/dist-server/service/manifest/manifest-type.js +8 -0
- package/dist-server/service/manifest/manifest-type.js.map +1 -1
- package/dist-server/service/manifest/manifest.js +8 -4
- package/dist-server/service/manifest/manifest.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-mutation.js +3 -3
- package/dist-server/service/order-inventory/order-inventory-mutation.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-query.js +202 -221
- package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-types.js +15 -15
- package/dist-server/service/order-inventory/order-inventory-types.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory.js +45 -15
- package/dist-server/service/order-inventory/order-inventory.js.map +1 -1
- 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.js +44 -14
- package/dist-server/service/order-product/order-product-query.js.map +1 -1
- package/dist-server/service/order-product/order-product-types.js +18 -19
- package/dist-server/service/order-product/order-product-types.js.map +1 -1
- package/dist-server/service/order-product/order-product.js +14 -11
- package/dist-server/service/order-product/order-product.js.map +1 -1
- 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.js +13 -14
- package/dist-server/service/order-tote/order-tote-query.js.map +1 -1
- package/dist-server/service/order-tote/order-tote-types.js +4 -5
- package/dist-server/service/order-tote/order-tote-types.js.map +1 -1
- package/dist-server/service/order-tote/order-tote.js +6 -5
- package/dist-server/service/order-tote/order-tote.js.map +1 -1
- 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.js +7 -9
- 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.js +5 -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.js +2 -3
- package/dist-server/service/order-tote-item/order-tote-item.js.map +1 -1
- 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.js +8 -10
- 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.js +2 -3
- 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.js +2 -3
- package/dist-server/service/order-tote-seal/order-tote-seal.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-mutation.js +1 -1
- package/dist-server/service/order-vas/order-vas-mutation.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-query.js +8 -10
- package/dist-server/service/order-vas/order-vas-query.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-types.js +16 -17
- package/dist-server/service/order-vas/order-vas-types.js.map +1 -1
- package/dist-server/service/order-vas/order-vas.js +7 -7
- package/dist-server/service/order-vas/order-vas.js.map +1 -1
- package/dist-server/service/others/other-query.js +48 -30
- package/dist-server/service/others/other-query.js.map +1 -1
- package/dist-server/service/purchase-order/purchase-order-mutation.js +36 -34
- package/dist-server/service/purchase-order/purchase-order-mutation.js.map +1 -1
- package/dist-server/service/purchase-order/purchase-order-query.js +11 -12
- package/dist-server/service/purchase-order/purchase-order-query.js.map +1 -1
- package/dist-server/service/purchase-order/purchase-order-types.js +8 -9
- package/dist-server/service/purchase-order/purchase-order-types.js.map +1 -1
- package/dist-server/service/purchase-order/purchase-order.js +8 -8
- package/dist-server/service/purchase-order/purchase-order.js.map +1 -1
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js +1 -1
- 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.js +9 -10
- 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.js +3 -4
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js.map +1 -1
- package/dist-server/service/release-good/release-good-mutation.js +182 -94
- package/dist-server/service/release-good/release-good-mutation.js.map +1 -1
- package/dist-server/service/release-good/release-good-query.js +251 -172
- package/dist-server/service/release-good/release-good-query.js.map +1 -1
- package/dist-server/service/release-good/release-good-types.js +181 -9
- package/dist-server/service/release-good/release-good-types.js.map +1 -1
- package/dist-server/service/release-good/release-good.js +64 -13
- package/dist-server/service/release-good/release-good.js.map +1 -1
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js +19 -14
- 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.js +8 -10
- 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.js +6 -7
- 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.js +5 -5
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js.map +1 -1
- package/dist-server/service/return-order/return-order-mutation.js +38 -27
- package/dist-server/service/return-order/return-order-mutation.js.map +1 -1
- package/dist-server/service/return-order/return-order-query.js +14 -16
- package/dist-server/service/return-order/return-order-query.js.map +1 -1
- package/dist-server/service/return-order/return-order-types.js +9 -9
- package/dist-server/service/return-order/return-order-types.js.map +1 -1
- package/dist-server/service/return-order/return-order.js +6 -6
- package/dist-server/service/return-order/return-order.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js +17 -13
- 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.js +13 -14
- 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.js +9 -9
- 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.js +8 -8
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js.map +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js +4 -4
- 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.js +7 -9
- 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.js +4 -5
- 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.js +7 -7
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js.map +1 -1
- 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.js +9 -10
- package/dist-server/service/shipping-order/shipping-order-query.js.map +1 -1
- package/dist-server/service/shipping-order/shipping-order-types.js +21 -1
- package/dist-server/service/shipping-order/shipping-order-types.js.map +1 -1
- package/dist-server/service/shipping-order/shipping-order.js +27 -7
- package/dist-server/service/shipping-order/shipping-order.js.map +1 -1
- package/dist-server/service/transfer-order/transfer-order-mutation.js +19 -14
- package/dist-server/service/transfer-order/transfer-order-mutation.js.map +1 -1
- package/dist-server/service/transfer-order/transfer-order-query.js +8 -10
- package/dist-server/service/transfer-order/transfer-order-query.js.map +1 -1
- package/dist-server/service/transfer-order/transfer-order-types.js +1 -2
- package/dist-server/service/transfer-order/transfer-order-types.js.map +1 -1
- package/dist-server/service/transfer-order/transfer-order.js +5 -5
- package/dist-server/service/transfer-order/transfer-order.js.map +1 -1
- 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.js +8 -10
- package/dist-server/service/vas/vas-query.js.map +1 -1
- package/dist-server/service/vas/vas.js +3 -4
- package/dist-server/service/vas/vas.js.map +1 -1
- package/dist-server/service/vas-order/vas-order-mutation.js +20 -15
- package/dist-server/service/vas-order/vas-order-mutation.js.map +1 -1
- package/dist-server/service/vas-order/vas-order-query.js +11 -12
- package/dist-server/service/vas-order/vas-order-query.js.map +1 -1
- package/dist-server/service/vas-order/vas-order.js +5 -5
- 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.js +49 -0
- package/dist-server/utils/datetime-util.js.map +1 -0
- package/dist-server/utils/index.js +1 -0
- package/dist-server/utils/index.js.map +1 -1
- package/dist-server/utils/inventory-util.js +89 -29
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/package.json +13 -13
- package/server/constants/order.ts +4 -1
- package/server/constants/release-good.ts +6 -3
- package/server/controllers/ecommerce/ecommerce-controller.ts +1 -1
- package/server/controllers/ecommerce/sellercraft-controller.ts +124 -107
- package/server/controllers/order-controller.ts +7 -5
- package/server/service/arrival-notice/arrival-notice-mutation.ts +204 -91
- package/server/service/arrival-notice/arrival-notice-query.ts +17 -17
- package/server/service/claim/claim-mutation.ts +20 -14
- package/server/service/claim/claim-query.ts +10 -9
- package/server/service/claim-detail/claim-detail-mutation.ts +16 -10
- package/server/service/claim-detail/claim-detail-query.ts +13 -8
- package/server/service/claim-order/claim-order-mutation.ts +16 -10
- package/server/service/claim-order/claim-order-query.ts +10 -8
- package/server/service/collection-order/collection-order-mutation.ts +31 -32
- package/server/service/collection-order/collection-order-query.ts +18 -15
- package/server/service/delivery-order/delivery-order-mutation.ts +206 -73
- package/server/service/delivery-order/delivery-order-query.ts +90 -53
- package/server/service/delivery-order/delivery-order-types.ts +15 -0
- package/server/service/delivery-order/delivery-order.ts +68 -0
- package/server/service/draft-release-good/draft-release-good-mutation.ts +208 -183
- package/server/service/draft-release-good/draft-release-good-query.ts +81 -44
- package/server/service/draft-release-good/draft-release-good.ts +7 -3
- package/server/service/goods-receival-note/goods-receival-note-mutation.ts +23 -18
- package/server/service/goods-receival-note/goods-receival-note-query.ts +126 -15
- package/server/service/goods-receival-note/goods-receival-note-types.ts +48 -0
- package/server/service/goods-receival-note/goods-receival-note.ts +32 -0
- package/server/service/inventory-check/inventory-check-mutation.ts +24 -19
- package/server/service/inventory-check/inventory-check-query.ts +10 -9
- package/server/service/invoice/invoice-mutation.ts +14 -11
- package/server/service/invoice/invoice-query.ts +8 -9
- package/server/service/invoice-product/invoice-product-mutation.ts +4 -4
- package/server/service/invoice-product/invoice-product-query.ts +8 -9
- package/server/service/job-sheet/job-sheet-mutation.ts +12 -10
- package/server/service/job-sheet/job-sheet-query.ts +16 -11
- package/server/service/manifest/manifest-mutation.ts +93 -8
- package/server/service/manifest/manifest-query.ts +73 -23
- package/server/service/manifest/manifest-type.ts +6 -0
- package/server/service/manifest/manifest.ts +6 -2
- package/server/service/order-inventory/order-inventory-mutation.ts +13 -12
- package/server/service/order-inventory/order-inventory-query.ts +226 -253
- package/server/service/order-inventory/order-inventory.ts +26 -2
- package/server/service/order-product/order-product-mutation.ts +11 -10
- package/server/service/order-product/order-product-query.ts +55 -18
- package/server/service/order-product/order-product.ts +7 -0
- package/server/service/order-tote/order-tote-mutation.ts +10 -9
- package/server/service/order-tote/order-tote-query.ts +13 -15
- package/server/service/order-tote/order-tote.ts +13 -2
- package/server/service/order-tote-item/order-tote-item-mutation.ts +10 -9
- package/server/service/order-tote-item/order-tote-item-query.ts +12 -18
- package/server/service/order-tote-seal/order-tote-seal-mutation.ts +10 -9
- package/server/service/order-tote-seal/order-tote-seal-query.ts +10 -11
- package/server/service/order-vas/order-vas-mutation.ts +4 -5
- package/server/service/order-vas/order-vas-query.ts +10 -9
- package/server/service/others/other-query.ts +76 -54
- package/server/service/purchase-order/purchase-order-mutation.ts +46 -46
- package/server/service/purchase-order/purchase-order-query.ts +13 -11
- package/server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.ts +7 -7
- package/server/service/purchase-order-other-charge/purchase-order-other-charge-query.ts +14 -9
- package/server/service/release-good/release-good-mutation.ts +297 -134
- package/server/service/release-good/release-good-query.ts +268 -186
- package/server/service/release-good/release-good-types.ts +132 -4
- package/server/service/release-good/release-good.ts +55 -24
- package/server/service/retail-replenishment-order/retail-replenishment-order-mutation.ts +35 -29
- package/server/service/retail-replenishment-order/retail-replenishment-order-query.ts +13 -9
- package/server/service/retail-replenishment-order/retail-replenishment-order-types.ts +7 -5
- package/server/service/return-order/return-order-mutation.ts +82 -54
- package/server/service/return-order/return-order-query.ts +21 -19
- package/server/service/reverse-kitting-order/reverse-kitting-order-mutation.ts +38 -23
- package/server/service/reverse-kitting-order/reverse-kitting-order-query.ts +19 -16
- package/server/service/reverse-kitting-order/reverse-kitting-order.ts +2 -2
- package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.ts +9 -9
- package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.ts +7 -8
- package/server/service/shipping-order/shipping-order-mutation.ts +11 -11
- package/server/service/shipping-order/shipping-order-query.ts +13 -11
- package/server/service/shipping-order/shipping-order-types.ts +16 -1
- package/server/service/shipping-order/shipping-order.ts +18 -2
- package/server/service/transfer-order/transfer-order-mutation.ts +34 -25
- package/server/service/transfer-order/transfer-order-query.ts +11 -10
- package/server/service/vas/vas-mutation.ts +13 -15
- package/server/service/vas/vas-query.ts +12 -10
- package/server/service/vas-order/vas-order-mutation.ts +38 -28
- package/server/service/vas-order/vas-order-query.ts +15 -13
- package/server/utils/datetime-util.ts +54 -0
- package/server/utils/index.ts +1 -0
- package/server/utils/inventory-util.ts +128 -34
- package/translations/en.json +4 -0
- package/translations/ko.json +6 -2
- package/translations/ms.json +5 -1
|
@@ -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, getRepository, 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 } 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: any,\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 }: { tx: EntityManager } = 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: any\n ): Promise<DraftReleaseGood> {\n const { domain, user, tx } = context.state\n\n let drg = await tx.getRepository(DraftReleaseGood).save({\n ...draftReleaseGood,\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: any\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 }\n })\n\n return await repository.save({\n ...draftReleaseGood,\n ...patch,\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: any\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,\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.findOne(newRecord.id)\n\n const result = await draftReleaseGoodRepo.save({\n ...draftReleaseGood,\n ...newRecord,\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: any): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DraftReleaseGood).delete({ domain, id })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple draftReleaseGoods' })\n async deleteDraftReleaseGoods(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DraftReleaseGood).delete({\n domain,\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: any,\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,\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,\n name: ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE\n }\n })\n\n for (let index = 0; index < updatableDraftOrders.length; index++) {\n const draftOrder = updatableDraftOrders[index]\n\n let foundPermittedBizplace: Bizplace\n let companyBizplace: Bizplace\n\n if (draftOrder?.bizplace?.id) {\n foundPermittedBizplace = await tx.getRepository(Bizplace).findOne(draftOrder.bizplace.id, {\n relations: ['company', 'company.domain']\n })\n const companyDomain: Domain = foundPermittedBizplace.company.domain\n companyBizplace = await tx.getRepository(Bizplace).findOne({ where: { domain: companyDomain } })\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 tx\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 { ...itm, status: foundProductInv ? 'suffice' : 'insufficient' }\n })\n\n let insufficient = draftOrder.orderProducts.find(op => op.status == 'insufficient')\n\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.createdBy\n delete releaseGood.updatedAt\n delete releaseGood.updatedBy\n\n let orderInventories = []\n\n for (let index = 0; index < draftOrder.orderProducts.length; index++) {\n const itm = draftOrder.orderProducts[index]\n let data = []\n if (itm.productBundle) {\n let bundle = await tx.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 packing_type: objProductBundleSetting.productDetail.packingType,\n packing_size: objProductBundleSetting.productDetail.packingSize,\n uom: objProductBundleSetting.productDetail.uom,\n release_qty: objProductBundleSetting.bundleQty * itm.releaseQty,\n assignedQty: undefined,\n assignedUomValue: undefined,\n releaseUomValue: undefined\n })\n }\n } else {\n data = [\n {\n sku: itm.product.sku,\n packing_type: itm.packingType,\n packing_size: itm.packingSize,\n uom: itm.uom,\n release_qty: itm.releaseQty,\n assignedQty: undefined,\n assignedUomValue: undefined,\n releaseUomValue: undefined\n }\n ]\n }\n\n data.forEach(data => {\n let existingOI = orderInventories.find(\n itm =>\n itm.sku == data.sku &&\n itm.packing_type == data.packing_type &&\n itm.packing_size == data.packing_size &&\n itm.uom == data.uom\n )\n\n if (existingOI) {\n existingOI.release_qty = existingOI.release_qty + data.release_qty\n } else {\n orderInventories.push(data)\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\n if (availableItems.some(item => !item.release_qty || item.release_qty > item.assignedQty))\n throw new ValidationError({\n ...ValidationError.ERROR_CODES.INSUFFICIENT_STOCK,\n detail: { data: JSON.stringify(availableItems) }\n })\n\n // update orderInventories if availableItems are valid\n releaseGood.orderInventories = availableItems.map(itm => {\n return {\n ...itm,\n releaseQty: itm.release_qty\n }\n })\n\n let createdReleaseGood: ReleaseGood = await bulkGenerateReleaseGood(\n releaseGood,\n releaseGood.bizplace.id,\n roNoSetting,\n domain,\n user,\n childTx\n )\n\n await childTx\n .getRepository(DraftReleaseGood)\n .update(\n { id: draftOrder.id },\n { releaseGood: createdReleaseGood, status: DRAFT_RELEASE_ORDER_STATUS.SUBMITTED }\n )\n\n createdReleaseGood = await confirmReleaseGood(createdReleaseGood.name, context, childTx)\n })\n } catch (error) {\n console.error(error)\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 }: { domain: Domain; user: 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,\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 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 // // 2. Create draft release good product\n await upsertDraftReleaseGoodProducts(\n domain,\n draftReleaseGood.bizplace,\n createdDraftReleaseGood,\n orderProducts,\n user,\n tx\n )\n\n // // 3. 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 }: { domain: Domain; user: 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: user,\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,\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(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: customerCompanyDomain, id: op.product.id }\n })\n updatePatch['product'] = product || undefined\n\n if (!product) {\n productBundle = await productBundleRepo.findOne({\n where: { domain: customerCompanyDomain, 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: customerCompanyDomain, 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: customerCompanyDomain, 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 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.getRepository(Bizplace).findOne({ where: { domain: companyDomain } })\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: customerCompanyDomain, id: op.product.id }\n })\n updatePatch['product'] = product || undefined\n\n if (!product) {\n productBundle = await productBundleRepo.findOne({\n where: { domain: customerCompanyDomain, 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: customerCompanyDomain, 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: customerCompanyDomain, 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,23 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.getDraftReleaseGoodFunction = exports.DraftReleaseGoodQuery = void 0;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
6
5
|
const type_graphql_1 = require("type-graphql");
|
|
7
6
|
const typeorm_1 = require("typeorm");
|
|
7
|
+
const attachment_base_1 = require("@things-factory/attachment-base");
|
|
8
8
|
const biz_base_1 = require("@things-factory/biz-base");
|
|
9
9
|
const shell_1 = require("@things-factory/shell");
|
|
10
10
|
const constants_1 = require("../../constants");
|
|
11
|
+
const utils_1 = require("../../utils");
|
|
11
12
|
const draft_release_good_1 = require("./draft-release-good");
|
|
12
13
|
const draft_release_good_type_1 = require("./draft-release-good-type");
|
|
13
|
-
const attachment_base_1 = require("@things-factory/attachment-base");
|
|
14
|
-
const constants_2 = require("../../constants");
|
|
15
|
-
const utils_1 = require("../../utils");
|
|
16
14
|
let DraftReleaseGoodQuery = class DraftReleaseGoodQuery {
|
|
17
15
|
async draftReleaseGood(id, context) {
|
|
18
16
|
const { domain } = context.state;
|
|
19
|
-
return await (0,
|
|
20
|
-
where: { domain, id }
|
|
17
|
+
return await (0, shell_1.getRepository)(draft_release_good_1.DraftReleaseGood).findOne({
|
|
18
|
+
where: { domain: { id: domain.id }, id }
|
|
21
19
|
});
|
|
22
20
|
}
|
|
23
21
|
async draftReleaseGoodByName(name, context) {
|
|
@@ -86,24 +84,22 @@ let DraftReleaseGoodQuery = class DraftReleaseGoodQuery {
|
|
|
86
84
|
}
|
|
87
85
|
tx.query(`
|
|
88
86
|
create temp table temp_op_calculation on commit drop as (
|
|
89
|
-
|
|
90
|
-
from draft_release_goods drg1
|
|
87
|
+
SELECT drg1.id from draft_release_goods drg1
|
|
91
88
|
left join order_products op on drg1.id = op.draft_release_good_id
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
and wboi.uom = op.uom
|
|
89
|
+
where drg1.status ='DRAFT' AND drg1.domain_id = $1
|
|
90
|
+
AND NOT EXISTS (
|
|
91
|
+
SELECT * FROM warehouse_bizplace_onhand_inventories wboi
|
|
92
|
+
where (wboi."productId" = op.product_id or wboi."productBundleId" = op.product_id)
|
|
97
93
|
and wboi."domainId" = op.domain_id
|
|
98
94
|
and wboi."bizplaceId" = op.bizplace_id
|
|
99
|
-
|
|
100
|
-
|
|
95
|
+
AND wboi."remainQty" >= op.release_qty
|
|
96
|
+
) GROUP BY drg1.id
|
|
101
97
|
)
|
|
102
98
|
`, [domain.id]);
|
|
103
99
|
const qb = tx.getRepository(draft_release_good_1.DraftReleaseGood).createQueryBuilder('drg');
|
|
104
100
|
(0, shell_1.buildQuery)(qb, params, context);
|
|
105
101
|
qb.addSelect('COALESCE("cc".rank, 99999)', 'rank');
|
|
106
|
-
qb.addSelect(`CASE WHEN "drg".status = 'DRAFT' and
|
|
102
|
+
qb.addSelect(`CASE WHEN "drg".status = 'DRAFT' and tmp_calc.id IS NOT null then 'INSUFFICIENT' else "drg".status END`, 'computed_status');
|
|
107
103
|
qb.leftJoin(`temp_op_calculation`, 'tmp_calc', 'tmp_calc.id = drg.id');
|
|
108
104
|
qb.leftJoinAndSelect('drg.domain', 'domain');
|
|
109
105
|
qb.leftJoinAndSelect('drg.bizplace', 'bizplace');
|
|
@@ -160,6 +156,8 @@ let DraftReleaseGoodQuery = class DraftReleaseGoodQuery {
|
|
|
160
156
|
? 'DESC'
|
|
161
157
|
: 'ASC' })), params.sortings.length < 1 ? { rank: 'ASC', 'drg.createdAt': 'DESC' } : {});
|
|
162
158
|
qb.orderBy(sort);
|
|
159
|
+
qb.offset((params.pagination.page - 1) * params.pagination.limit);
|
|
160
|
+
qb.limit(params.pagination.limit);
|
|
163
161
|
let [items, total] = await Promise.all([qb.getRawMany(), qb.getCount()]);
|
|
164
162
|
items = items.map(itm => {
|
|
165
163
|
return {
|
|
@@ -211,7 +209,7 @@ tslib_1.__decorate([
|
|
|
211
209
|
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
212
210
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
213
211
|
tslib_1.__metadata("design:type", Function),
|
|
214
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
212
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
215
213
|
tslib_1.__metadata("design:returntype", Promise)
|
|
216
214
|
], DraftReleaseGoodQuery.prototype, "draftReleaseGoods", null);
|
|
217
215
|
DraftReleaseGoodQuery = tslib_1.__decorate([
|
|
@@ -224,7 +222,7 @@ async function getDraftReleaseGoodFunction(_, name, context, tx) {
|
|
|
224
222
|
const { domain, user, bizplace } = context.state;
|
|
225
223
|
let permittedBizplaces = await (0, biz_base_1.getPermittedBizplaces)(domain, user);
|
|
226
224
|
let result = await tx.getRepository(draft_release_good_1.DraftReleaseGood).findOne({
|
|
227
|
-
where: { domain, name, bizplace: (0, typeorm_1.In)(permittedBizplaces.map(biz => biz.id)) },
|
|
225
|
+
where: { domain: { id: domain.id }, name, bizplace: (0, typeorm_1.In)(permittedBizplaces.map(biz => biz.id)) },
|
|
228
226
|
relations: [
|
|
229
227
|
'releaseGood',
|
|
230
228
|
'orderProducts',
|
|
@@ -245,7 +243,8 @@ async function getDraftReleaseGoodFunction(_, name, context, tx) {
|
|
|
245
243
|
foundPermittedBizplace = permittedBizplaces.find(biz => biz.id == result.bizplace.id);
|
|
246
244
|
if (foundPermittedBizplace) {
|
|
247
245
|
if (!((_a = foundPermittedBizplace.company) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
248
|
-
foundPermittedBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne(
|
|
246
|
+
foundPermittedBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({
|
|
247
|
+
where: { id: foundPermittedBizplace.id },
|
|
249
248
|
relations: ['company', 'company.domain']
|
|
250
249
|
});
|
|
251
250
|
}
|
|
@@ -256,16 +255,47 @@ async function getDraftReleaseGoodFunction(_, name, context, tx) {
|
|
|
256
255
|
const bizplaces = [foundPermittedBizplace, companyBizplace];
|
|
257
256
|
let productInventory;
|
|
258
257
|
if (result.orderProducts.length > 0)
|
|
259
|
-
productInventory = await utils_1.InventoryUtil.bizplaceProductInventory(bizplaces, {
|
|
258
|
+
productInventory = await utils_1.InventoryUtil.bizplaceProductInventory(bizplaces, {
|
|
259
|
+
filters: [
|
|
260
|
+
{ name: 'bizplaceId', operator: 'eq', value: result.bizplace.id },
|
|
261
|
+
{
|
|
262
|
+
name: 'productId',
|
|
263
|
+
operator: 'in',
|
|
264
|
+
value: [
|
|
265
|
+
...result.orderProducts
|
|
266
|
+
.filter(itm => itm === null || itm === void 0 ? void 0 : itm.product)
|
|
267
|
+
.map(itm => {
|
|
268
|
+
return itm.product.id;
|
|
269
|
+
}),
|
|
270
|
+
...result.orderProducts
|
|
271
|
+
.filter(itm => itm === null || itm === void 0 ? void 0 : itm.productBundle)
|
|
272
|
+
.map(itm => {
|
|
273
|
+
return itm.productBundle.id;
|
|
274
|
+
})
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
]
|
|
278
|
+
}, context, tx);
|
|
260
279
|
result.orderProducts = result.orderProducts.map(itm => {
|
|
261
|
-
let foundProductInv = productInventory === null || productInventory === void 0 ? void 0 : productInventory.items.find(i => {
|
|
262
|
-
|
|
280
|
+
let foundProductInv = productInventory === null || productInventory === void 0 ? void 0 : productInventory.items.find(i => {
|
|
281
|
+
var _a, _b;
|
|
282
|
+
return (i.productId == ((_a = itm === null || itm === void 0 ? void 0 : itm.product) === null || _a === void 0 ? void 0 : _a.id) || i.productId == ((_b = itm === null || itm === void 0 ? void 0 : itm.productBundle) === null || _b === void 0 ? void 0 : _b.id)) &&
|
|
283
|
+
i.packingType == itm.packingType &&
|
|
284
|
+
i.packingSize == itm.packingSize &&
|
|
285
|
+
i.uom == itm.uom;
|
|
286
|
+
});
|
|
287
|
+
return Object.assign(Object.assign({}, itm), { product: itm.product || {
|
|
288
|
+
id: foundProductInv.productId,
|
|
289
|
+
name: foundProductInv.productName,
|
|
290
|
+
brand: foundProductInv.productBrand,
|
|
291
|
+
sku: foundProductInv.productSKU
|
|
292
|
+
}, groupType: foundProductInv ? foundProductInv.groupType : 'SINGLE', remainQty: foundProductInv ? foundProductInv.remainQty : 0, remainUomValue: foundProductInv ? foundProductInv.remainUomValue : 0, remainUomValueWithUom: foundProductInv ? foundProductInv.remainUomValueWithUom : 0 });
|
|
263
293
|
});
|
|
264
294
|
const foundAttachments = await tx.getRepository(attachment_base_1.Attachment).find({
|
|
265
295
|
where: {
|
|
266
|
-
domain,
|
|
296
|
+
domain: { id: domain.id },
|
|
267
297
|
refBy: result.id,
|
|
268
|
-
category:
|
|
298
|
+
category: constants_1.ATTACHMENT_TYPE.DGRN
|
|
269
299
|
}
|
|
270
300
|
});
|
|
271
301
|
return Object.assign(Object.assign({}, result), { attachment: foundAttachments });
|
|
@@ -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, FieldResolver, Query, Resolver, Root, Directive } from 'type-graphql'\nimport { getRepository, SelectQueryBuilder, EntityManager, In, getManager } from 'typeorm'\n\nimport { checkUserBelongsDomain, User } from '@things-factory/auth-base'\nimport { Bizplace, getPermittedBizplaces, getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { buildQuery, Domain, ListParam, Filter, Pagination, Sorting } from '@things-factory/shell'\n\nimport { DRAFT_RELEASE_ORDER_STATUS, ORDER_STATUS } from '../../constants'\nimport { DraftReleaseGood } from './draft-release-good'\nimport { DraftReleaseGoodList } from './draft-release-good-type'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { ATTACHMENT_TYPE } from '../../constants'\n\nimport { InventoryUtil } from '../../utils'\nimport { OrderProduct } from '../order-product/order-product'\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: any): Promise<DraftReleaseGood> {\n const { domain } = context.state\n\n return await getRepository(DraftReleaseGood).findOne({\n where: { domain, 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: any): Promise<DraftReleaseGood> {\n const { domain, tx }: { domain: Domain; tx: EntityManager } = 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: any): Promise<DraftReleaseGoodList> {\n try {\n const { domain, user, tx }: { domain: Domain; user: User, tx: EntityManager } = 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(itm => itm.name !== 'noOfItems' && itm.name !== 'sku' && itm.name !== 'status')\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 create temp table temp_op_calculation on commit drop as (\n select drg1.id, sum(case when wboi.\"remainQty\" >= op.release_qty then 0 else 1 end) as insufficient_count, count(*) as total_row \n from draft_release_goods drg1\n left join order_products op on drg1.id = op.draft_release_good_id\n left join warehouse_bizplace_onhand_inventories wboi \n on (wboi.\"productId\" = op.product_id or wboi.\"productBundleId\" = op.product_id) \n and wboi.\"packingType\" = op.packing_type \n and wboi.\"packingSize\" = op.packing_size \n and wboi.uom = op.uom\n and wboi.\"domainId\" = op.domain_id\n and wboi.\"bizplaceId\" = op.bizplace_id\n where op.domain_id = $1 and drg1.status ='DRAFT'\n group by drg1.id\n )\n `, [domain.id])\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(`CASE WHEN \"drg\".status = 'DRAFT' and (tmp_calc.insufficient_count > 0 or tmp_calc.total_row = 0) then 'INSUFFICIENT' else \"drg\".status END`, 'computed_status')\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.insufficient_count = 0 AND tmp_calc.total_row > 0\n `\n )\n } else if (statusFilter.value == DRAFT_RELEASE_ORDER_STATUS.INSUFFICIENT) {\n qb.andWhere(\n `\n drg.status = 'DRAFT' AND (tmp_calc.insufficient_count > 0 OR tmp_calc.total_row = 0)\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 = (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\n let [items, total] = await Promise.all([qb.getRawMany(), qb.getCount()])\n\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}\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, name, bizplace: 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\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(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: companyDomain } })\n }\n }\n\n const bizplaces: Bizplace[] = [foundPermittedBizplace, companyBizplace]\n\n let productInventory\n if (result.orderProducts.length > 0)\n productInventory = await InventoryUtil.bizplaceProductInventory(bizplaces, { filters: [{ name: 'bizplaceId', operator: 'eq', value: result.bizplace.id }, { name: 'productId', operator: 'in', value: [...result.orderProducts.filter(itm => itm?.product).map(itm => { return itm.product.id }), ...result.orderProducts.filter(itm => itm?.productBundle).map(itm => { return itm.productBundle.id })] }] }, context, tx)\n\n result.orderProducts = result.orderProducts.map(itm => {\n let foundProductInv = productInventory?.items.find(i => (i.productId == itm?.product?.id || i.productId == itm?.productBundle?.id) && i.packingType == itm.packingType && i.packingSize == itm.packingSize && i.uom == itm.uom)\n return {\n ...itm,\n product: itm.product || { id: foundProductInv.productId, name: foundProductInv.productName, brand: foundProductInv.productBrand, sku: foundProductInv.productSKU },\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,\n refBy: result.id,\n category: ATTACHMENT_TYPE.DGRN\n }\n })\n\n return {\n ...result,\n attachment: foundAttachments\n }\n\n } catch (error) {\n console.error(error)\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":";;;;AAAA,+CAAyE;AACzE,qCAAiF;AAEjF,qEAA4D;AAE5D,uDAAmG;AACnG,iDAAoF;AAEpF,+CAA6E;AAC7E,uCAA2C;AAC3C,6DAAuD;AACvD,uEAAgE;AAGhE,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAEhC,KAAK,CAAC,gBAAgB,CAAY,EAAU,EAAS,OAAwB;QAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,qBAAa,EAAC,qCAAgB,CAAC,CAAC,OAAO,CAAC;YACnD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;SACzC,CAAC,CAAA;IACJ,CAAC;IAID,KAAK,CAAC,sBAAsB,CAAc,IAAY,EAAS,OAAwB;QACrF,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,OAAO,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC7D,CAAC;IAID,KAAK,CAAC,iBAAiB,CAAS,MAAiB,EAAS,OAAwB;QAChF,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAE1C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;YAClE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;YAChF,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAA;YAChF,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;YACpE,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;YAEpF,IAAI,CAAC,cAAc,EAAE;gBACnB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,MAAM,IAAA,kCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC;oBAClD,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAA;aACH;YAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CACpC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAC/E,CAAA;YAED,IAAI,iBAAiB,EAAE;gBACrB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;gBACtF,IAAI,iBAAiB,CAAC,KAAK,IAAI,IAAI,EAAE;oBACnC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;oBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,aAAa;wBACvB,KAAK,EAAE,IAAI;wBACX,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAA;iBACH;qBAAM;oBACL,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;oBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,SAAS;wBACnB,KAAK,EAAE,IAAI;wBACX,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAA;iBACH;aACF;YAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;YACrF,IAAI,gBAAgB,IAAI,CAAC,EAAE;gBACzB,IAAI,WAAW,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAA;gBAClE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAA;gBAE1C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,KAAK;oBACf,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE;oBAChC,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAA;aACH;YAED,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;YACjF,IAAI,cAAc,IAAI,CAAC,EAAE;gBACvB,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAA;gBAC9D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;gBAExC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;oBACzE,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAA;aACH;YAED,EAAE,CAAC,KAAK,CACN;;;;;;;;;;;;;OAaD,EACC,CAAC,MAAM,CAAC,EAAE,CAAC,CACZ,CAAA;YAED,MAAM,EAAE,GAAyC,EAAE,CAAC,aAAa,CAAC,qCAAgB,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAC7G,IAAA,kBAAU,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YAC/B,EAAE,CAAC,SAAS,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAA;YAClD,EAAE,CAAC,SAAS,CACV,wGAAwG,EACxG,iBAAiB,CAClB,CAAA;YACD,EAAE,CAAC,QAAQ,CAAC,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAA;YACtE,EAAE,CAAC,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;YAC5C,EAAE,CAAC,iBAAiB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;YAChD,EAAE,CAAC,iBAAiB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;YAC9C,EAAE,CAAC,iBAAiB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;YAC9C,EAAE,CAAC,iBAAiB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;YAClD,EAAE,CAAC,QAAQ,CACT,QAAQ,CAAC,EAAE;gBACT,OAAO,QAAQ;qBACZ,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;qBAC1B,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC;qBAC/B,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC;qBAClC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC;qBACjC,KAAK,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;qBAC3D,QAAQ,CAAC,iCAAiC,CAAC,CAAA;YAChD,CAAC,EACD,IAAI,EACJ,wBAAwB,CACzB,CAAA;YAED,IAAI,SAAS,EAAE;gBACb,EAAE,CAAC,QAAQ,CACT;;;;;;;SAOD,EACC,EAAE,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CACvC,CAAA;aACF;YAED,IAAI,eAAe,EAAE;gBACnB,EAAE,CAAC,QAAQ,CACT;;;;qEAI2D,eAAe,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;;WAErG,CACF,CAAA;aACF;YAED,IAAI,YAAY,EAAE;gBAChB,IAAI,YAAY,CAAC,KAAK,IAAI,sCAA0B,CAAC,KAAK,EAAE;oBAC1D,EAAE,CAAC,QAAQ,CACT;;aAEC,CACF,CAAA;iBACF;qBAAM,IAAI,YAAY,CAAC,KAAK,IAAI,sCAA0B,CAAC,YAAY,EAAE;oBACxE,EAAE,CAAC,QAAQ,CACT;;aAEC,CACF,CAAA;iBACF;qBAAM;oBACL,EAAE,CAAC,QAAQ,CACT;8BACkB,YAAY,CAAC,KAAK;aACnC,CACF,CAAA;iBACF;aACF;YAED,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YAChD,MAAM,IAAI,GAAqB,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAC3D,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,iCACV,GAAG,KACN,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI;oBAC9F,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,KAAK,IACT,EACF,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAC3E,CAAA;YAED,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAChB,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YACjE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAEjC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YAExE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACtB,OAAO;oBACL,EAAE,EAAE,GAAG,CAAC,MAAM;oBACd,IAAI,EAAE,GAAG,CAAC,QAAQ;oBAClB,WAAW,EAAE,GAAG,CAAC,eAAe;oBAChC,IAAI,EAAE,GAAG,CAAC,QAAQ;oBAClB,WAAW,EAAE,GAAG,CAAC,gBAAgB;oBACjC,YAAY,EAAE,GAAG,CAAC,iBAAiB;oBACnC,YAAY,EAAE,GAAG,CAAC,iBAAiB;oBACnC,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,CAAC,oBAAoB,EAAE;oBACjG,KAAK,EAAE,GAAG,CAAC,UAAU;oBACrB,MAAM,EAAE,GAAG,CAAC,YAAY;oBACxB,MAAM,EAAE,GAAG,CAAC,YAAY;oBACxB,MAAM,EAAE,GAAG,CAAC,eAAe;oBAC3B,SAAS,EAAE,GAAG,CAAC,cAAc;oBAC7B,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,CAAC,mBAAmB,EAAE;oBAC7F,SAAS,EAAE,GAAG,CAAC,cAAc;oBAC7B,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,CAAC,mBAAmB,EAAE;iBAC9F,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;SACxB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA;AAhOC;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,qCAAgB,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IAC3D,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;6DAMnD;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,qCAAgB,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IACrD,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;mEAI7D;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,8CAAoB,EAAE,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;IACtE,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,iBAAS;;8DA6MhD;AAjOU,qBAAqB;IADjC,IAAA,uBAAQ,EAAC,qCAAgB,CAAC;GACd,qBAAqB,CAkOjC;AAlOY,sDAAqB;AAoO3B,KAAK,UAAU,2BAA2B,CAAC,CAAM,EAAE,IAAS,EAAE,OAAY,EAAE,EAAkB;;IACnG,IAAI;QACF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAuD,OAAO,CAAC,KAAK,CAAA;QAEpG,IAAI,kBAAkB,GAAG,MAAM,IAAA,gCAAqB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClE,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,qCAAgB,CAAC,CAAC,OAAO,CAAC;YAC5D,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAA,YAAE,EAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;YAC/F,SAAS,EAAE;gBACT,aAAa;gBACb,eAAe;gBACf,uBAAuB;gBACvB,6BAA6B;gBAC7B,eAAe;gBACf,UAAU;gBACV,QAAQ;gBACR,SAAS;gBACT,SAAS;aACV;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAA;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAA;QAE7E,IAAI,sBAAgC,CAAA;QACpC,IAAI,eAAyB,CAAA;QAE7B,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;YACtB,sBAAsB,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAErF,IAAI,sBAAsB,EAAE;gBAC1B,IAAI,CAAC,CAAA,MAAA,sBAAsB,CAAC,OAAO,0CAAE,EAAE,CAAA,EAAE;oBACvC,sBAAsB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;wBAChE,KAAK,EAAE,EAAE,EAAE,EAAE,sBAAsB,CAAC,EAAE,EAAE;wBACxC,SAAS,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;qBACzC,CAAC,CAAA;iBACH;gBACD,MAAM,aAAa,GAAW,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAA;gBACnE,eAAe,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;aACjG;SACF;QAED,MAAM,SAAS,GAAe,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAA;QAEvE,IAAI,gBAAgB,CAAA;QACpB,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YACjC,gBAAgB,GAAG,MAAM,qBAAa,CAAC,wBAAwB,CAC7D,SAAS,EACT;gBACE,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;oBACjE;wBACE,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE;4BACL,GAAG,MAAM,CAAC,aAAa;iCACpB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC;iCAC3B,GAAG,CAAC,GAAG,CAAC,EAAE;gCACT,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,CAAA;4BACvB,CAAC,CAAC;4BACJ,GAAG,MAAM,CAAC,aAAa;iCACpB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,aAAa,CAAC;iCACjC,GAAG,CAAC,GAAG,CAAC,EAAE;gCACT,OAAO,GAAG,CAAC,aAAa,CAAC,EAAE,CAAA;4BAC7B,CAAC,CAAC;yBACL;qBACF;iBACF;aACF,EACD,OAAO,EACP,EAAE,CACH,CAAA;QAEH,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpD,IAAI,eAAe,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,CAAC,IAAI,CAChD,CAAC,CAAC,EAAE;;gBACF,OAAA,CAAC,CAAC,CAAC,SAAS,KAAI,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,0CAAE,EAAE,CAAA,IAAI,CAAC,CAAC,SAAS,KAAI,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,aAAa,0CAAE,EAAE,CAAA,CAAC;oBAC1E,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW;oBAChC,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW;oBAChC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAA;aAAA,CACnB,CAAA;YACD,uCACK,GAAG,KACN,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI;oBACtB,EAAE,EAAE,eAAe,CAAC,SAAS;oBAC7B,IAAI,EAAE,eAAe,CAAC,WAAW;oBACjC,KAAK,EAAE,eAAe,CAAC,YAAY;oBACnC,GAAG,EAAE,eAAe,CAAC,UAAU;iBAChC,EACD,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EACjE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC1D,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EACpE,qBAAqB,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IACnF;QACH,CAAC,CAAC,CAAA;QACF,MAAM,gBAAgB,GAAiB,MAAM,EAAE,CAAC,aAAa,CAAC,4BAAU,CAAC,CAAC,IAAI,CAAC;YAC7E,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;gBACzB,KAAK,EAAE,MAAM,CAAC,EAAE;gBAChB,QAAQ,EAAE,2BAAe,CAAC,IAAI;aAC/B;SACF,CAAC,CAAA;QAEF,uCACK,MAAM,KACT,UAAU,EAAE,gBAAgB,IAC7B;KACF;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;KACrB;AACH,CAAC;AA5GD,kEA4GC","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.insufficient_count = 0 AND tmp_calc.total_row > 0\n `\n )\n } else if (statusFilter.value == DRAFT_RELEASE_ORDER_STATUS.INSUFFICIENT) {\n qb.andWhere(\n `\n drg.status = 'DRAFT' AND (tmp_calc.insufficient_count > 0 OR tmp_calc.total_row = 0)\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: 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: companyDomain } })\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,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a, _b, _c;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.DraftReleaseGoodList = exports.DraftReleaseGoodPatch = exports.NewDraftReleaseGood = void 0;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
@@ -155,7 +154,7 @@ tslib_1.__decorate([
|
|
|
155
154
|
], NewDraftReleaseGood.prototype, "deliverTo", void 0);
|
|
156
155
|
tslib_1.__decorate([
|
|
157
156
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
158
|
-
tslib_1.__metadata("design:type",
|
|
157
|
+
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
159
158
|
], NewDraftReleaseGood.prototype, "bizplace", void 0);
|
|
160
159
|
tslib_1.__decorate([
|
|
161
160
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
@@ -181,7 +180,7 @@ tslib_1.__decorate([
|
|
|
181
180
|
], DraftReleaseGoodPatch.prototype, "name", void 0);
|
|
182
181
|
tslib_1.__decorate([
|
|
183
182
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
184
|
-
tslib_1.__metadata("design:type",
|
|
183
|
+
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
185
184
|
], DraftReleaseGoodPatch.prototype, "bizplace", void 0);
|
|
186
185
|
tslib_1.__decorate([
|
|
187
186
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
@@ -229,7 +228,7 @@ tslib_1.__decorate([
|
|
|
229
228
|
], DraftReleaseGoodPatch.prototype, "packingOption", void 0);
|
|
230
229
|
tslib_1.__decorate([
|
|
231
230
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
232
|
-
tslib_1.__metadata("design:type",
|
|
231
|
+
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
233
232
|
], DraftReleaseGoodPatch.prototype, "shippingOrder", void 0);
|
|
234
233
|
tslib_1.__decorate([
|
|
235
234
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft-release-good-type.js","sourceRoot":"","sources":["../../../server/service/draft-release-good/draft-release-good-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { OrderProductPatch } from '../order-product/order-product-types'\nimport { DraftReleaseGood } from './draft-release-good'\n\n@InputType()\nexport class NewDraftReleaseGood {\n @Field({ nullable: true })\n name: string\n\n @Field({ nullable: true })\n releaseDate: string\n\n @Field({ nullable: true })\n type: string\n\n @Field({ nullable: true })\n collectionOrderNo: string\n\n @Field({ nullable: true })\n ownTransport: Boolean\n\n @Field({ nullable: true })\n courierOption: Boolean\n\n @Field({ nullable: true })\n packingOption: Boolean\n\n @Field({ nullable: true })\n packageId: string\n\n @Field({ nullable: true })\n truckNo: string\n\n @Field({ nullable: true })\n refNo: string\n\n @Field({ nullable: true })\n refNo2: string\n\n @Field({ nullable: true })\n refNo3: string\n\n @Field({ nullable: true })\n pickupAddress: string\n\n @Field({ nullable: true })\n pickupTime: string\n\n @Field({ nullable: true })\n handoverType: string\n\n @Field({ nullable: true })\n dropoffAddress: string\n\n @Field({ nullable: true })\n marketplaceOrderStatus: string\n\n @Field({ nullable: true })\n billingAddress: string\n\n @Field({ nullable: true })\n deliveryAddress1: string\n\n @Field({ nullable: true })\n deliveryAddress2: string\n\n @Field({ nullable: true })\n deliveryAddress3: string\n\n @Field({ nullable: true })\n deliveryAddress4: string\n\n @Field({ nullable: true })\n deliveryAddress5: string\n\n @Field({ nullable: true })\n attentionTo: string\n\n @Field({ nullable: true })\n attentionCompany: string\n\n @Field({ nullable: true })\n city: string\n\n @Field({ nullable: true })\n state: string\n\n @Field({ nullable: true })\n postalCode: string\n\n @Field({ nullable: true })\n country: string\n\n @Field({ nullable: true })\n phone1: string\n\n @Field({ nullable: true })\n phone2: string\n\n @Field({ nullable: true })\n email: string\n\n @Field()\n exportOption: Boolean\n\n @Field({ nullable: true })\n status: string\n\n @Field({ nullable: true })\n description: string\n\n @Field({ nullable: true })\n deliverTo: string\n\n @Field(type => ObjectRef, { nullable: true })\n bizplace: ObjectRef\n\n @Field({ nullable: true })\n remark: string\n\n @Field(type => [ObjectRef], { nullable: true })\n orderProducts: ObjectRef[]\n}\n\n@InputType()\nexport class DraftReleaseGoodPatch {\n @Field({ nullable: true })\n id: string\n\n @Field({ nullable: true })\n name: string\n\n @Field(type => ObjectRef, { nullable: true })\n bizplace: ObjectRef\n\n @Field({ nullable: true })\n releaseDate: string\n\n @Field({ nullable: true })\n collectionOrderNo: string\n\n @Field({ nullable: true })\n ownTransport: Boolean\n\n @Field({ nullable: true })\n type: string\n\n @Field({ nullable: true })\n truckNo: string\n\n @Field({ nullable: true })\n packageId: string\n\n @Field({ nullable: true })\n refNo: string\n\n @Field({ nullable: true })\n refNo2: string\n\n @Field({ nullable: true })\n refNo3: string\n\n @Field({ nullable: true })\n exportOption: Boolean\n\n @Field({ nullable: true })\n packingOption: Boolean\n\n @Field(type => ObjectRef, { nullable: true })\n shippingOrder: ObjectRef\n\n @Field({ nullable: true })\n status: string\n\n @Field({ nullable: true })\n remark: string\n\n @Field({ nullable: true })\n billingAddress: string\n\n @Field({ nullable: true })\n deliveryAddress1: string\n\n @Field({ nullable: true })\n deliveryAddress2: string\n\n @Field({ nullable: true })\n deliveryAddress3: string\n\n @Field({ nullable: true })\n deliveryAddress4: string\n\n @Field({ nullable: true })\n deliveryAddress5: string\n\n @Field({ nullable: true })\n attentionTo: string\n\n @Field({ nullable: true })\n attentionCompany: string\n\n @Field({ nullable: true })\n city: string\n\n @Field({ nullable: true })\n state: string\n\n @Field({ nullable: true })\n postalCode: string\n\n @Field({ nullable: true })\n country: string\n\n @Field({ nullable: true })\n phone1: string\n\n @Field({ nullable: true })\n phone2: string\n\n @Field({ nullable: true })\n email: string\n\n @Field({ nullable: true })\n description: string\n\n @Field({ nullable: true })\n courierOption: Boolean\n\n @Field({ nullable: true })\n pickupAddress: string\n\n @Field({ nullable: true })\n pickupTime: string\n\n @Field({ nullable: true })\n handoverType: string\n\n @Field({ nullable: true })\n dropoffAddress: string\n\n @Field({ nullable: true })\n marketplaceOrderStatus: string\n\n @Field({ nullable: true })\n deliverTo: string\n\n @Field(type => [OrderProductPatch], { nullable: true })\n orderProducts: OrderProductPatch[]\n}\n\n@ObjectType()\nexport class DraftReleaseGoodList {\n @Field(type => [DraftReleaseGood])\n items: DraftReleaseGood[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
1
|
+
{"version":3,"file":"draft-release-good-type.js","sourceRoot":"","sources":["../../../server/service/draft-release-good/draft-release-good-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { OrderProductPatch } from '../order-product/order-product-types'\nimport { DraftReleaseGood } from './draft-release-good'\n\n@InputType()\nexport class NewDraftReleaseGood {\n @Field({ nullable: true })\n name: string\n\n @Field({ nullable: true })\n releaseDate: string\n\n @Field({ nullable: true })\n type: string\n\n @Field({ nullable: true })\n collectionOrderNo: string\n\n @Field({ nullable: true })\n ownTransport: Boolean\n\n @Field({ nullable: true })\n courierOption: Boolean\n\n @Field({ nullable: true })\n packingOption: Boolean\n\n @Field({ nullable: true })\n packageId: string\n\n @Field({ nullable: true })\n truckNo: string\n\n @Field({ nullable: true })\n refNo: string\n\n @Field({ nullable: true })\n refNo2: string\n\n @Field({ nullable: true })\n refNo3: string\n\n @Field({ nullable: true })\n pickupAddress: string\n\n @Field({ nullable: true })\n pickupTime: string\n\n @Field({ nullable: true })\n handoverType: string\n\n @Field({ nullable: true })\n dropoffAddress: string\n\n @Field({ nullable: true })\n marketplaceOrderStatus: string\n\n @Field({ nullable: true })\n billingAddress: string\n\n @Field({ nullable: true })\n deliveryAddress1: string\n\n @Field({ nullable: true })\n deliveryAddress2: string\n\n @Field({ nullable: true })\n deliveryAddress3: string\n\n @Field({ nullable: true })\n deliveryAddress4: string\n\n @Field({ nullable: true })\n deliveryAddress5: string\n\n @Field({ nullable: true })\n attentionTo: string\n\n @Field({ nullable: true })\n attentionCompany: string\n\n @Field({ nullable: true })\n city: string\n\n @Field({ nullable: true })\n state: string\n\n @Field({ nullable: true })\n postalCode: string\n\n @Field({ nullable: true })\n country: string\n\n @Field({ nullable: true })\n phone1: string\n\n @Field({ nullable: true })\n phone2: string\n\n @Field({ nullable: true })\n email: string\n\n @Field()\n exportOption: Boolean\n\n @Field({ nullable: true })\n status: string\n\n @Field({ nullable: true })\n description: string\n\n @Field({ nullable: true })\n deliverTo: string\n\n @Field(type => ObjectRef, { nullable: true })\n bizplace: ObjectRef\n\n @Field({ nullable: true })\n remark: string\n\n @Field(type => [ObjectRef], { nullable: true })\n orderProducts: ObjectRef[]\n}\n\n@InputType()\nexport class DraftReleaseGoodPatch {\n @Field({ nullable: true })\n id: string\n\n @Field({ nullable: true })\n name: string\n\n @Field(type => ObjectRef, { nullable: true })\n bizplace: ObjectRef\n\n @Field({ nullable: true })\n releaseDate: string\n\n @Field({ nullable: true })\n collectionOrderNo: string\n\n @Field({ nullable: true })\n ownTransport: Boolean\n\n @Field({ nullable: true })\n type: string\n\n @Field({ nullable: true })\n truckNo: string\n\n @Field({ nullable: true })\n packageId: string\n\n @Field({ nullable: true })\n refNo: string\n\n @Field({ nullable: true })\n refNo2: string\n\n @Field({ nullable: true })\n refNo3: string\n\n @Field({ nullable: true })\n exportOption: Boolean\n\n @Field({ nullable: true })\n packingOption: Boolean\n\n @Field(type => ObjectRef, { nullable: true })\n shippingOrder: ObjectRef\n\n @Field({ nullable: true })\n status: string\n\n @Field({ nullable: true })\n remark: string\n\n @Field({ nullable: true })\n billingAddress: string\n\n @Field({ nullable: true })\n deliveryAddress1: string\n\n @Field({ nullable: true })\n deliveryAddress2: string\n\n @Field({ nullable: true })\n deliveryAddress3: string\n\n @Field({ nullable: true })\n deliveryAddress4: string\n\n @Field({ nullable: true })\n deliveryAddress5: string\n\n @Field({ nullable: true })\n attentionTo: string\n\n @Field({ nullable: true })\n attentionCompany: string\n\n @Field({ nullable: true })\n city: string\n\n @Field({ nullable: true })\n state: string\n\n @Field({ nullable: true })\n postalCode: string\n\n @Field({ nullable: true })\n country: string\n\n @Field({ nullable: true })\n phone1: string\n\n @Field({ nullable: true })\n phone2: string\n\n @Field({ nullable: true })\n email: string\n\n @Field({ nullable: true })\n description: string\n\n @Field({ nullable: true })\n courierOption: Boolean\n\n @Field({ nullable: true })\n pickupAddress: string\n\n @Field({ nullable: true })\n pickupTime: string\n\n @Field({ nullable: true })\n handoverType: string\n\n @Field({ nullable: true })\n dropoffAddress: string\n\n @Field({ nullable: true })\n marketplaceOrderStatus: string\n\n @Field({ nullable: true })\n deliverTo: string\n\n @Field(type => [OrderProductPatch], { nullable: true })\n orderProducts: OrderProductPatch[]\n}\n\n@ObjectType()\nexport class DraftReleaseGoodList {\n @Field(type => [DraftReleaseGood])\n items: DraftReleaseGood[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|