@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
|
@@ -24,10 +24,10 @@ export class OtherQuery {
|
|
|
24
24
|
@Directive('@transaction')
|
|
25
25
|
@Query(returns => InventoryProductGroupList)
|
|
26
26
|
async allBizplaceProductInventory(
|
|
27
|
-
@Ctx() context:
|
|
27
|
+
@Ctx() context: ResolverContext,
|
|
28
28
|
@Args() params: ListParam
|
|
29
29
|
): Promise<InventoryProductGroupList> {
|
|
30
|
-
const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace
|
|
30
|
+
const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace?: Bizplace } =
|
|
31
31
|
context.state
|
|
32
32
|
|
|
33
33
|
let permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)
|
|
@@ -41,7 +41,8 @@ export class OtherQuery {
|
|
|
41
41
|
|
|
42
42
|
if (foundPermittedBizplace) {
|
|
43
43
|
if (!foundPermittedBizplace.company?.id) {
|
|
44
|
-
foundPermittedBizplace = await tx.getRepository(Bizplace).findOne(
|
|
44
|
+
foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({
|
|
45
|
+
where: { id: foundPermittedBizplace.id },
|
|
45
46
|
relations: ['company', 'company.domain']
|
|
46
47
|
})
|
|
47
48
|
}
|
|
@@ -61,8 +62,11 @@ export class OtherQuery {
|
|
|
61
62
|
@Directive('@privilege(category: "inventory", privilege: "query")')
|
|
62
63
|
@Directive('@transaction')
|
|
63
64
|
@Query(returns => InventoryProductGroupList)
|
|
64
|
-
async inventoryProductGroup(
|
|
65
|
-
|
|
65
|
+
async inventoryProductGroup(
|
|
66
|
+
@Ctx() context: ResolverContext,
|
|
67
|
+
@Args() params: ListParam
|
|
68
|
+
): Promise<InventoryProductGroupList> {
|
|
69
|
+
const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace?: Bizplace } =
|
|
66
70
|
context.state
|
|
67
71
|
|
|
68
72
|
let permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)
|
|
@@ -76,7 +80,8 @@ export class OtherQuery {
|
|
|
76
80
|
|
|
77
81
|
if (foundPermittedBizplace) {
|
|
78
82
|
if (!foundPermittedBizplace.company?.id) {
|
|
79
|
-
foundPermittedBizplace = await tx.getRepository(Bizplace).findOne(
|
|
83
|
+
foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({
|
|
84
|
+
where: { id: foundPermittedBizplace.id },
|
|
80
85
|
relations: ['company', 'company.domain']
|
|
81
86
|
})
|
|
82
87
|
}
|
|
@@ -96,10 +101,10 @@ export class OtherQuery {
|
|
|
96
101
|
@Directive('@transaction')
|
|
97
102
|
@Query(returns => InventoryProductGroupList)
|
|
98
103
|
async inventoryProductGroupOpenAPI(
|
|
99
|
-
@Ctx() context:
|
|
104
|
+
@Ctx() context: ResolverContext,
|
|
100
105
|
@Args() params: ListParam
|
|
101
106
|
): Promise<InventoryProductGroupList> {
|
|
102
|
-
const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace
|
|
107
|
+
const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace?: Bizplace } =
|
|
103
108
|
context.state
|
|
104
109
|
|
|
105
110
|
let permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)
|
|
@@ -113,7 +118,8 @@ export class OtherQuery {
|
|
|
113
118
|
|
|
114
119
|
if (foundPermittedBizplace) {
|
|
115
120
|
if (!foundPermittedBizplace.company?.id) {
|
|
116
|
-
foundPermittedBizplace = await tx.getRepository(Bizplace).findOne(
|
|
121
|
+
foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({
|
|
122
|
+
where: { id: foundPermittedBizplace.id },
|
|
117
123
|
relations: ['company', 'company.domain']
|
|
118
124
|
})
|
|
119
125
|
}
|
|
@@ -134,11 +140,12 @@ export class OtherQuery {
|
|
|
134
140
|
@Directive('@transaction')
|
|
135
141
|
@Query(returns => [OrderInventory])
|
|
136
142
|
async bulkUploadValidateWarehousePartnersProductsQuantity(
|
|
137
|
-
@Ctx() context:
|
|
143
|
+
@Ctx() context: ResolverContext,
|
|
138
144
|
@Arg('partnerBizplaceId') partnerBizplaceId: string,
|
|
139
145
|
@Arg('orderInventories', type => [NewOrderInventory], { nullable: true }) orderInventories?: NewOrderInventory[]
|
|
140
146
|
): Promise<OrderInventory[]> {
|
|
141
|
-
const { domain, user, tx, bizplace } =
|
|
147
|
+
const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace?: Bizplace } =
|
|
148
|
+
context.state
|
|
142
149
|
|
|
143
150
|
let permittedBizplaces: Bizplace[] = await getPermittedBizplaces(domain, user)
|
|
144
151
|
let foundPermittedBizplace: Bizplace
|
|
@@ -156,7 +163,8 @@ export class OtherQuery {
|
|
|
156
163
|
|
|
157
164
|
if (foundPermittedBizplace) {
|
|
158
165
|
if (!foundPermittedBizplace.company?.id) {
|
|
159
|
-
foundPermittedBizplace = await tx.getRepository(Bizplace).findOne(
|
|
166
|
+
foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({
|
|
167
|
+
where: { id: foundPermittedBizplace.id },
|
|
160
168
|
relations: ['company', 'company.domain']
|
|
161
169
|
})
|
|
162
170
|
}
|
|
@@ -195,47 +203,59 @@ export class OtherQuery {
|
|
|
195
203
|
|
|
196
204
|
const { items, total } = await InventoryUtil.bizplaceInventoryProductGroup(bizplaces, params, context, tx)
|
|
197
205
|
|
|
198
|
-
|
|
206
|
+
// Filter to find for item with enough remain qty
|
|
207
|
+
const availableItems = items.filter(item => item.remainQty >= orderInventory.releaseQty)
|
|
208
|
+
let availableItem
|
|
199
209
|
|
|
210
|
+
if (availableItems.length > 0) {
|
|
211
|
+
availableItem = availableItems[0]
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
let packageUomValue = availableItem ? availableItem.remainUomValue / availableItem.remainQty : null
|
|
200
215
|
const newOrderInventory: any = {
|
|
201
|
-
product:
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
216
|
+
product: availableItem
|
|
217
|
+
? {
|
|
218
|
+
id: availableItem.productId,
|
|
219
|
+
sku: availableItem.productSKU,
|
|
220
|
+
name: availableItem.productName
|
|
221
|
+
}
|
|
222
|
+
: { id: null },
|
|
223
|
+
inventory: availableItem
|
|
224
|
+
? {
|
|
225
|
+
...availableItem,
|
|
226
|
+
remainQty: availableItem ? availableItem.remainQty : null,
|
|
227
|
+
remainUomValue: availableItem ? availableItem.remainUomValue : null,
|
|
228
|
+
remainUomValueWithUom: availableItem ? availableItem.remainUomValueWithUom : ''
|
|
229
|
+
}
|
|
230
|
+
: null,
|
|
231
|
+
productId: availableItem ? availableItem.productId : null,
|
|
232
|
+
productSKU: availableItem ? availableItem.productSKU : orderInventory.productSKU,
|
|
233
|
+
productName: availableItem ? availableItem.productName : null,
|
|
234
|
+
uom: availableItem ? availableItem.uom : null,
|
|
235
|
+
remainQty: availableItem ? availableItem.remainQty : null,
|
|
236
|
+
remainUomValue: availableItem ? availableItem.remainUomValue : null,
|
|
237
|
+
remainUomValueWithUom: availableItem ? availableItem.remainUomValueWithUom : '',
|
|
238
|
+
batchId: availableItem ? availableItem.batchId : null,
|
|
239
|
+
batchIdRef: availableItem ? availableItem.batchIdRef : null,
|
|
240
|
+
packingType: availableItem ? availableItem.packingType : orderInventory.packingType,
|
|
241
|
+
packingSize: availableItem ? availableItem.packingSize : 1,
|
|
223
242
|
releaseQty: orderInventory.releaseQty
|
|
224
243
|
? Number.isInteger(orderInventory.releaseQty)
|
|
225
244
|
? orderInventory.releaseQty
|
|
226
245
|
: null
|
|
227
246
|
: null,
|
|
228
|
-
releaseUomValue:
|
|
229
|
-
|
|
230
|
-
?
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
isError: total <= 0 ? true : false
|
|
247
|
+
releaseUomValue: availableItem
|
|
248
|
+
? Number.isInteger(orderInventory.releaseQty)
|
|
249
|
+
? parseFloat((orderInventory.releaseQty * packageUomValue).toFixed(2))
|
|
250
|
+
: null
|
|
251
|
+
: null,
|
|
252
|
+
groupType: availableItem ? availableItem.groupType : null,
|
|
253
|
+
isError: !availableItem ? true : false
|
|
236
254
|
}
|
|
237
255
|
|
|
238
256
|
newOrderInventories.push(newOrderInventory)
|
|
257
|
+
|
|
258
|
+
// end loop
|
|
239
259
|
}
|
|
240
260
|
|
|
241
261
|
try {
|
|
@@ -280,11 +300,11 @@ export class OtherQuery {
|
|
|
280
300
|
@Directive('@transaction')
|
|
281
301
|
@Query(returns => [InventoryProductGroup])
|
|
282
302
|
async bulkUploadValidateOrderProducts(
|
|
283
|
-
@Ctx() context:
|
|
303
|
+
@Ctx() context: ResolverContext,
|
|
284
304
|
@Arg('partnerBizplaceId') partnerBizplaceId: string,
|
|
285
305
|
@Arg('orderProducts', type => [NewOrderProduct], { nullable: true }) orderProducts: NewOrderProduct[]
|
|
286
306
|
): Promise<OrderProduct[]> {
|
|
287
|
-
const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace
|
|
307
|
+
const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace?: Bizplace } =
|
|
288
308
|
context.state
|
|
289
309
|
|
|
290
310
|
const productDetailRepo = tx.getRepository(ProductDetail)
|
|
@@ -298,7 +318,8 @@ export class OtherQuery {
|
|
|
298
318
|
|
|
299
319
|
if (foundPermittedBizplace) {
|
|
300
320
|
if (!foundPermittedBizplace.company?.id) {
|
|
301
|
-
foundPermittedBizplace = await tx.getRepository(Bizplace).findOne(
|
|
321
|
+
foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({
|
|
322
|
+
where: { id: foundPermittedBizplace.id },
|
|
302
323
|
relations: ['domain', 'company', 'company.domain']
|
|
303
324
|
})
|
|
304
325
|
}
|
|
@@ -313,7 +334,7 @@ export class OtherQuery {
|
|
|
313
334
|
let strictProduct: boolean = false
|
|
314
335
|
|
|
315
336
|
const strictProductSelectionSetting: Setting = await tx.getRepository(Setting).findOne({
|
|
316
|
-
where: { domain, category: 'id-rule', name: 'strict-product-selection' }
|
|
337
|
+
where: { domain: { id: domain.id }, category: 'id-rule', name: 'strict-product-selection' }
|
|
317
338
|
})
|
|
318
339
|
|
|
319
340
|
if (strictProductSelectionSetting) strictProduct = strictProductSelectionSetting.value
|
|
@@ -410,11 +431,11 @@ export class OtherQuery {
|
|
|
410
431
|
@Directive('@transaction')
|
|
411
432
|
@Query(returns => [InventoryProductGroup])
|
|
412
433
|
async bulkUploadValidatePoOrderProducts(
|
|
413
|
-
@Ctx() context:
|
|
434
|
+
@Ctx() context: ResolverContext,
|
|
414
435
|
@Arg('partnerBizplaceId') partnerBizplaceId: string,
|
|
415
436
|
@Arg('orderProducts', type => [NewOrderProduct], { nullable: true }) orderProducts: NewOrderProduct[]
|
|
416
437
|
): Promise<OrderProduct[]> {
|
|
417
|
-
const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace
|
|
438
|
+
const { domain, user, tx, bizplace }: { domain: Domain; user: User; tx: EntityManager; bizplace?: Bizplace } =
|
|
418
439
|
context.state
|
|
419
440
|
|
|
420
441
|
const productDetailRepo = tx.getRepository(ProductDetail)
|
|
@@ -428,7 +449,8 @@ export class OtherQuery {
|
|
|
428
449
|
|
|
429
450
|
if (foundPermittedBizplace) {
|
|
430
451
|
if (!foundPermittedBizplace.company?.id) {
|
|
431
|
-
foundPermittedBizplace = await tx.getRepository(Bizplace).findOne(
|
|
452
|
+
foundPermittedBizplace = await tx.getRepository(Bizplace).findOne({
|
|
453
|
+
where: { id: foundPermittedBizplace.id },
|
|
432
454
|
relations: ['domain', 'company', 'company.domain']
|
|
433
455
|
})
|
|
434
456
|
}
|
|
@@ -443,7 +465,7 @@ export class OtherQuery {
|
|
|
443
465
|
let strictProduct: boolean = false
|
|
444
466
|
|
|
445
467
|
const strictProductSelectionSetting: Setting = await tx.getRepository(Setting).findOne({
|
|
446
|
-
where: { domain, category: 'id-rule', name: 'strict-product-selection' }
|
|
468
|
+
where: { domain: { id: domain.id }, category: 'id-rule', name: 'strict-product-selection' }
|
|
447
469
|
})
|
|
448
470
|
|
|
449
471
|
if (strictProductSelectionSetting) strictProduct = strictProductSelectionSetting.value
|
|
@@ -472,7 +494,7 @@ export class OtherQuery {
|
|
|
472
494
|
let productDetail: ProductDetail
|
|
473
495
|
const hasConditions: boolean = Boolean(
|
|
474
496
|
(orderProduct?.packingType && orderProduct?.packingType.trim() != '') ||
|
|
475
|
-
|
|
497
|
+
(orderProduct?.uom && orderProduct?.uom.trim() != '')
|
|
476
498
|
)
|
|
477
499
|
let productDetailCondition: any = { product: foundProduct }
|
|
478
500
|
|
|
@@ -495,8 +517,8 @@ export class OtherQuery {
|
|
|
495
517
|
? productDetail.uomValue
|
|
496
518
|
: null
|
|
497
519
|
: orderProduct?.uomValue
|
|
498
|
-
|
|
499
|
-
|
|
520
|
+
? orderProduct.uomValue
|
|
521
|
+
: productDetail.uomValue
|
|
500
522
|
|
|
501
523
|
newOrderProduct = {
|
|
502
524
|
...orderProduct,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'
|
|
2
2
|
import GraphQLUpload from 'graphql-upload/GraphQLUpload.js'
|
|
3
3
|
import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
|
|
4
|
-
import { EntityManager,
|
|
4
|
+
import { EntityManager, Repository } from 'typeorm'
|
|
5
5
|
|
|
6
6
|
import { Attachment, createAttachments, deleteAttachmentsByRef } from '@things-factory/attachment-base'
|
|
7
7
|
import { User } from '@things-factory/auth-base'
|
|
8
8
|
import { Bizplace, ContactPoint, getPermittedBizplaces } from '@things-factory/biz-base'
|
|
9
9
|
import { generateId } from '@things-factory/id-rule-base'
|
|
10
|
-
import { Product } from '@things-factory/product-base'
|
|
10
|
+
import { Product, ProductDetail } from '@things-factory/product-base'
|
|
11
11
|
import { Setting } from '@things-factory/setting-base'
|
|
12
|
-
import { Domain } from '@things-factory/shell'
|
|
12
|
+
import { Domain, getRepository } from '@things-factory/shell'
|
|
13
13
|
import { Location } from '@things-factory/warehouse-base'
|
|
14
14
|
|
|
15
15
|
import {
|
|
@@ -24,15 +24,11 @@ import {
|
|
|
24
24
|
ATTACHMENT_TYPE,
|
|
25
25
|
ORDER_NUMBER_RULE_TYPE,
|
|
26
26
|
ORDER_NUMBER_SETTING_KEY,
|
|
27
|
+
ORDER_STATUS,
|
|
27
28
|
PURCHASE_ORDER_STATUS
|
|
28
29
|
} from '../../constants'
|
|
29
30
|
import { OrderNoGenerator } from '../../utils'
|
|
30
|
-
import {
|
|
31
|
-
checkArrivedNoticeFunction,
|
|
32
|
-
confirmArrivalNoticeFunction,
|
|
33
|
-
generateArrivalNoticeFunction,
|
|
34
|
-
receiveArrivalNoticeFunction
|
|
35
|
-
} from '../arrival-notice/arrival-notice-mutation'
|
|
31
|
+
import { checkArrivedNoticeFunction, generateArrivalNoticeFunction } from '../arrival-notice/arrival-notice-mutation'
|
|
36
32
|
import { getPurchaseOrderFunction } from './purchase-order-query'
|
|
37
33
|
|
|
38
34
|
@Resolver(PurchaseOrder)
|
|
@@ -41,12 +37,12 @@ export class PurchaseOrderMutation {
|
|
|
41
37
|
@Directive('@transaction')
|
|
42
38
|
@Mutation(returns => PurchaseOrder)
|
|
43
39
|
async upsertPurchaseOrder(
|
|
44
|
-
@Ctx() context:
|
|
40
|
+
@Ctx() context: ResolverContext,
|
|
45
41
|
@Arg('purchaseOrder', type => PurchaseOrderPatch) purchaseOrder: PurchaseOrderPatch,
|
|
46
42
|
@Arg('files', type => [GraphQLUpload], { nullable: true }) files?: FileUpload
|
|
47
43
|
): Promise<PurchaseOrder> {
|
|
48
44
|
try {
|
|
49
|
-
const { tx }
|
|
45
|
+
const { tx } = context.state
|
|
50
46
|
const createdPurchaseOrder: PurchaseOrder = await upsertPurchaseOrderFunction(
|
|
51
47
|
null,
|
|
52
48
|
purchaseOrder,
|
|
@@ -64,16 +60,16 @@ export class PurchaseOrderMutation {
|
|
|
64
60
|
@Directive('@privilege(category: "order_customer", privilege: "mutation")')
|
|
65
61
|
@Directive('@transaction')
|
|
66
62
|
@Mutation(returns => PurchaseOrder)
|
|
67
|
-
async approvePurchaseOrder(@Arg('id') id: string, @Ctx() context:
|
|
68
|
-
const { tx, domain, user }
|
|
63
|
+
async approvePurchaseOrder(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<PurchaseOrder> {
|
|
64
|
+
const { tx, domain, user } = context.state
|
|
69
65
|
|
|
70
66
|
const findPurchaseOrder: PurchaseOrder = await getRepository(PurchaseOrder).findOne({
|
|
71
|
-
where: { domain, id },
|
|
67
|
+
where: { domain: { id: domain.id }, id },
|
|
72
68
|
relations: ['orderProducts', 'orderProducts.product', 'bufferLocation', 'bizplace', 'domain']
|
|
73
69
|
})
|
|
74
70
|
|
|
75
|
-
// const findPurchaseOrder: PurchaseOrder = await tx.getRepository(PurchaseOrder).findOne({id},
|
|
76
|
-
// const findOrderProducts: OrderProduct[] = await tx.getRepository(OrderProduct).
|
|
71
|
+
// const findPurchaseOrder: PurchaseOrder = await tx.getRepository(PurchaseOrder).findOne({where: {id}, relations:['bizplace']})
|
|
72
|
+
// const findOrderProducts: OrderProduct[] = await tx.getRepository(OrderProduct).findBy({purchaseOrder: findPurchaseOrder})
|
|
77
73
|
|
|
78
74
|
// // 1. Approve purchase order
|
|
79
75
|
const approvePurchaseOrder: PurchaseOrder = await tx.getRepository(PurchaseOrder).save({
|
|
@@ -110,12 +106,14 @@ export class PurchaseOrderMutation {
|
|
|
110
106
|
}
|
|
111
107
|
|
|
112
108
|
delete newGANOrder.id
|
|
109
|
+
//change gan status to intransit and call check arrived notice function right
|
|
110
|
+
newGANOrder.status = ORDER_STATUS.INTRANSIT
|
|
113
111
|
|
|
114
|
-
const createdGAN: ArrivalNotice = await generateArrivalNoticeFunction(null, newGANOrder, [], context, tx)
|
|
112
|
+
const createdGAN: ArrivalNotice = await generateArrivalNoticeFunction(null, newGANOrder, true, [], context, tx)
|
|
115
113
|
|
|
116
|
-
await confirmArrivalNoticeFunction(createdGAN.name, context, tx)
|
|
114
|
+
// await confirmArrivalNoticeFunction(createdGAN.name, context, tx)
|
|
117
115
|
|
|
118
|
-
await receiveArrivalNoticeFunction(null, createdGAN.name, context)
|
|
116
|
+
// await receiveArrivalNoticeFunction(null, createdGAN.name, context)
|
|
119
117
|
|
|
120
118
|
await checkArrivedNoticeFunction(createdGAN.name, context, tx)
|
|
121
119
|
|
|
@@ -125,11 +123,11 @@ export class PurchaseOrderMutation {
|
|
|
125
123
|
@Directive('@privilege(category: "order_customer", privilege: "mutation")')
|
|
126
124
|
@Directive('@transaction')
|
|
127
125
|
@Mutation(returns => PurchaseOrder)
|
|
128
|
-
async rejectPurchaseOrder(@Arg('id') id: string, @Ctx() context:
|
|
129
|
-
const { tx, domain, user }
|
|
126
|
+
async rejectPurchaseOrder(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<PurchaseOrder> {
|
|
127
|
+
const { tx, domain, user } = context.state
|
|
130
128
|
|
|
131
129
|
const findPurchaseOrder: PurchaseOrder = await getRepository(PurchaseOrder).findOne({
|
|
132
|
-
where: { domain, id },
|
|
130
|
+
where: { domain: { id: domain.id }, id },
|
|
133
131
|
relations: ['orderProducts']
|
|
134
132
|
})
|
|
135
133
|
// // 1. Reject purchase order
|
|
@@ -155,9 +153,9 @@ export class PurchaseOrderMutation {
|
|
|
155
153
|
@Mutation(returns => PurchaseOrder)
|
|
156
154
|
async createPurchaseOrder(
|
|
157
155
|
@Arg('purchaseOrder', type => NewPurchaseOrder) purchaseOrder: NewPurchaseOrder,
|
|
158
|
-
@Ctx() context:
|
|
156
|
+
@Ctx() context: ResolverContext
|
|
159
157
|
): Promise<PurchaseOrder> {
|
|
160
|
-
const { tx, domain, user }
|
|
158
|
+
const { tx, domain, user } = context.state
|
|
161
159
|
|
|
162
160
|
return await tx.getRepository(PurchaseOrder).save({
|
|
163
161
|
...purchaseOrder,
|
|
@@ -172,13 +170,13 @@ export class PurchaseOrderMutation {
|
|
|
172
170
|
async updatePurchaseOrder(
|
|
173
171
|
@Arg('name') name: string,
|
|
174
172
|
@Arg('patch', type => PurchaseOrderPatch) patch: PurchaseOrderPatch,
|
|
175
|
-
@Ctx() context:
|
|
173
|
+
@Ctx() context: ResolverContext
|
|
176
174
|
): Promise<PurchaseOrder> {
|
|
177
|
-
const { tx, domain, user }
|
|
175
|
+
const { tx, domain, user } = context.state
|
|
178
176
|
|
|
179
177
|
const repository = tx.getRepository(PurchaseOrder)
|
|
180
178
|
const purchaseOrder = await repository.findOne({
|
|
181
|
-
where: { domain, name }
|
|
179
|
+
where: { domain: { id: domain.id }, name }
|
|
182
180
|
})
|
|
183
181
|
|
|
184
182
|
return await repository.save({
|
|
@@ -190,8 +188,8 @@ export class PurchaseOrderMutation {
|
|
|
190
188
|
|
|
191
189
|
@Directive('@transaction')
|
|
192
190
|
@Mutation(returns => Boolean)
|
|
193
|
-
async deletePurchaseOrder(@Arg('name') name: string, @Ctx() context:
|
|
194
|
-
const { tx, domain }
|
|
191
|
+
async deletePurchaseOrder(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
|
192
|
+
const { tx, domain } = context.state
|
|
195
193
|
await tx.getRepository(PurchaseOrder).delete({ domain, name })
|
|
196
194
|
return true
|
|
197
195
|
}
|
|
@@ -220,7 +218,7 @@ export async function createPurchaseOrderFunction(
|
|
|
220
218
|
context: any,
|
|
221
219
|
tx?: EntityManager
|
|
222
220
|
): Promise<PurchaseOrder> {
|
|
223
|
-
const { domain, user }
|
|
221
|
+
const { domain, user } = context.state
|
|
224
222
|
let orderProducts: OrderProduct[] = purchaseOrder.orderProducts
|
|
225
223
|
let otherCharges: PurchaseOrderOtherCharge[] = purchaseOrder.otherCharges
|
|
226
224
|
|
|
@@ -242,13 +240,13 @@ export async function createPurchaseOrderFunction(
|
|
|
242
240
|
}
|
|
243
241
|
|
|
244
242
|
if (purchaseOrder?.supplier?.id) {
|
|
245
|
-
purchaseOrder.supplier = await getRepository(ContactPoint).
|
|
243
|
+
purchaseOrder.supplier = await getRepository(ContactPoint).findOneBy({ id: purchaseOrder.supplier.id })
|
|
246
244
|
} else {
|
|
247
245
|
arrError.push(`No supplier was selected`)
|
|
248
246
|
}
|
|
249
247
|
|
|
250
248
|
if (purchaseOrder?.bufferLocation?.id) {
|
|
251
|
-
purchaseOrder.bufferLocation = await getRepository(Location).
|
|
249
|
+
purchaseOrder.bufferLocation = await getRepository(Location).findOneBy({ id: purchaseOrder.bufferLocation.id })
|
|
252
250
|
} else {
|
|
253
251
|
arrError.push(`No buffer location was selected`)
|
|
254
252
|
}
|
|
@@ -260,16 +258,14 @@ export async function createPurchaseOrderFunction(
|
|
|
260
258
|
// // find PO number rule setting
|
|
261
259
|
const poNoSetting: Setting = await settingRepo.findOne({
|
|
262
260
|
where: {
|
|
263
|
-
domain,
|
|
261
|
+
domain: { id: domain.id },
|
|
264
262
|
name: ORDER_NUMBER_SETTING_KEY.PO_NUMBER_RULE
|
|
265
263
|
}
|
|
266
264
|
})
|
|
267
265
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
orderNo = OrderNoGenerator.purchaseOrder()
|
|
272
|
-
}
|
|
266
|
+
orderNo = poNoSetting
|
|
267
|
+
? await generateId({ domain, type: ORDER_NUMBER_RULE_TYPE.PO_NUMBER, seed: {} })
|
|
268
|
+
: OrderNoGenerator.purchaseOrder()
|
|
273
269
|
|
|
274
270
|
// // 1. Create purchase order
|
|
275
271
|
const createdPurchaseOrder: PurchaseOrder = await tx.getRepository(PurchaseOrder).save({
|
|
@@ -319,7 +315,7 @@ export async function updatePurchaseOrderFunction(
|
|
|
319
315
|
context: any,
|
|
320
316
|
tx?: EntityManager
|
|
321
317
|
): Promise<PurchaseOrder> {
|
|
322
|
-
const { domain, user }
|
|
318
|
+
const { domain, user } = context.state
|
|
323
319
|
|
|
324
320
|
let existingPurchaseOrder: any = await getPurchaseOrderFunction(_, purchaseOrder.name, context, tx)
|
|
325
321
|
|
|
@@ -336,11 +332,11 @@ export async function updatePurchaseOrderFunction(
|
|
|
336
332
|
}
|
|
337
333
|
|
|
338
334
|
if (purchaseOrder?.supplier?.id) {
|
|
339
|
-
purchaseOrder.supplier = await getRepository(ContactPoint).
|
|
335
|
+
purchaseOrder.supplier = await getRepository(ContactPoint).findOneBy({ id: purchaseOrder.supplier.id })
|
|
340
336
|
}
|
|
341
337
|
|
|
342
338
|
if (purchaseOrder?.bufferLocation?.id) {
|
|
343
|
-
purchaseOrder.bufferLocation = await getRepository(Location).
|
|
339
|
+
purchaseOrder.bufferLocation = await getRepository(Location).findOneBy({ id: purchaseOrder.bufferLocation.id })
|
|
344
340
|
}
|
|
345
341
|
|
|
346
342
|
// // 1. Update purchase order
|
|
@@ -380,7 +376,7 @@ export async function updatePurchaseOrderFunction(
|
|
|
380
376
|
// // 5. Remove Purchase Order Products
|
|
381
377
|
const foundAttachments: Attachment[] = await getRepository(Attachment).find({
|
|
382
378
|
where: {
|
|
383
|
-
domain,
|
|
379
|
+
domain: { id: domain.id },
|
|
384
380
|
refBy: purchaseOrder.id,
|
|
385
381
|
category: ATTACHMENT_TYPE.PO
|
|
386
382
|
}
|
|
@@ -426,22 +422,26 @@ export async function upsertPurchaseOrderProducts(
|
|
|
426
422
|
existingOP => (orderProducts.filter(inOP => inOP.id == existingOP.id).length = 0)
|
|
427
423
|
)
|
|
428
424
|
removeOP.forEach(async op => {
|
|
429
|
-
await orderProductRepo.delete(op)
|
|
425
|
+
await orderProductRepo.delete(op.id)
|
|
430
426
|
})
|
|
431
427
|
|
|
432
|
-
purchaseOrder = await purchaseOrderRepo.
|
|
428
|
+
purchaseOrder = await purchaseOrderRepo.findOneBy({ id: purchaseOrder.id })
|
|
433
429
|
|
|
434
|
-
bizplace = await bizplaceRepo.
|
|
430
|
+
bizplace = await bizplaceRepo.findOneBy({ id: bizplace.id })
|
|
435
431
|
|
|
436
432
|
orderProducts = await Promise.all(
|
|
437
433
|
orderProducts.map(async (op: OrderProduct) => {
|
|
438
434
|
if (!op?.id) delete op.id
|
|
435
|
+
let foundProductDetail: ProductDetail = await tx
|
|
436
|
+
.getRepository(ProductDetail)
|
|
437
|
+
.findOne({ where: { product: op.product.id, packingType: op.packingType } })
|
|
439
438
|
return {
|
|
440
439
|
...op,
|
|
441
440
|
domain,
|
|
442
441
|
bizplace: bizplace,
|
|
443
442
|
name: op?.id ? op.name : OrderNoGenerator.orderProduct(),
|
|
444
|
-
product: await productRepo.
|
|
443
|
+
product: await productRepo.findOneBy({ id: op.product.id }),
|
|
444
|
+
packingSize: foundProductDetail?.packingSize || 1,
|
|
445
445
|
purchaseOrder: purchaseOrder,
|
|
446
446
|
status: purchaseOrder.status,
|
|
447
447
|
creator: op?.id ? op.creator : user,
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { Arg, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
|
|
2
|
+
import { EntityManager, In } from 'typeorm'
|
|
3
|
+
|
|
1
4
|
import { Attachment } from '@things-factory/attachment-base'
|
|
2
5
|
import { User } from '@things-factory/auth-base'
|
|
3
6
|
import { Bizplace, getPermittedBizplaceIds } from '@things-factory/biz-base'
|
|
4
|
-
import { buildQuery, Domain, Filter, Pagination, Sorting } from '@things-factory/shell'
|
|
5
|
-
|
|
6
|
-
import { EntityManager, getRepository, In } from 'typeorm'
|
|
7
|
+
import { buildQuery, Domain, Filter, getRepository, Pagination, Sorting } from '@things-factory/shell'
|
|
8
|
+
|
|
7
9
|
import { PurchaseOrderList } from '../'
|
|
8
10
|
import { ATTACHMENT_TYPE } from '../../constants'
|
|
9
11
|
import { PurchaseOrder } from './purchase-order'
|
|
@@ -12,7 +14,7 @@ import { PurchaseOrder } from './purchase-order'
|
|
|
12
14
|
export class PurchaseOrderQuery {
|
|
13
15
|
@Query(returns => PurchaseOrderList)
|
|
14
16
|
async purchaseOrders(
|
|
15
|
-
@Ctx() context:
|
|
17
|
+
@Ctx() context: ResolverContext,
|
|
16
18
|
@Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],
|
|
17
19
|
@Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,
|
|
18
20
|
@Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[]
|
|
@@ -31,24 +33,24 @@ export class PurchaseOrderQuery {
|
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
@Query(returns => PurchaseOrder)
|
|
34
|
-
async purchaseOrder(@Arg('name') name: string, @Ctx() context:
|
|
35
|
-
const { tx }
|
|
36
|
+
async purchaseOrder(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<PurchaseOrder> {
|
|
37
|
+
const { tx } = context.state
|
|
36
38
|
return getPurchaseOrderFunction(null, name, context, tx)
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
@FieldResolver(type => Domain)
|
|
40
42
|
async domain(@Root() purchaseOrder: PurchaseOrder): Promise<Domain> {
|
|
41
|
-
return await getRepository(Domain).
|
|
43
|
+
return await getRepository(Domain).findOneBy({ id: purchaseOrder.domainId })
|
|
42
44
|
}
|
|
43
45
|
|
|
44
46
|
@FieldResolver(type => User)
|
|
45
47
|
async creator(@Root() purchaseOrder: PurchaseOrder): Promise<User> {
|
|
46
|
-
return await getRepository(User).
|
|
48
|
+
return await getRepository(User).findOneBy({ id: purchaseOrder.creatorId })
|
|
47
49
|
}
|
|
48
50
|
|
|
49
51
|
@FieldResolver(type => User)
|
|
50
52
|
async updater(@Root() purchaseOrder: PurchaseOrder): Promise<User> {
|
|
51
|
-
return await getRepository(User).
|
|
53
|
+
return await getRepository(User).findOneBy({ id: purchaseOrder.updaterId })
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
|
|
@@ -56,7 +58,7 @@ export async function getPurchaseOrderFunction(_: any, name: any, context: any,
|
|
|
56
58
|
const { domain, user, bizplace }: { domain: Domain; user: User; bizplace: Bizplace } = context.state
|
|
57
59
|
|
|
58
60
|
let result = await getRepository(PurchaseOrder).findOne({
|
|
59
|
-
where: { domain, name, bizplace: In(await getPermittedBizplaceIds(domain, user)) },
|
|
61
|
+
where: { domain: { id: domain.id }, name, bizplace: In(await getPermittedBizplaceIds(domain, user)) },
|
|
60
62
|
relations: [
|
|
61
63
|
'arrivalNotice',
|
|
62
64
|
'supplier',
|
|
@@ -75,7 +77,7 @@ export async function getPurchaseOrderFunction(_: any, name: any, context: any,
|
|
|
75
77
|
|
|
76
78
|
const foundAttachments: Attachment[] = await getRepository(Attachment).find({
|
|
77
79
|
where: {
|
|
78
|
-
domain,
|
|
80
|
+
domain: { id: domain.id },
|
|
79
81
|
refBy: result.id,
|
|
80
82
|
category: ATTACHMENT_TYPE.PO
|
|
81
83
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Domain } from '@things-factory/shell'
|
|
2
1
|
import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
|
|
3
|
-
import {
|
|
2
|
+
import { In } from 'typeorm'
|
|
3
|
+
|
|
4
4
|
import { PurchaseOrderOtherCharge } from './purchase-order-other-charge'
|
|
5
5
|
|
|
6
6
|
@Resolver(PurchaseOrderOtherCharge)
|
|
7
7
|
export class PurchaseOrderOtherChargeMutation {
|
|
8
8
|
@Directive('@transaction')
|
|
9
9
|
@Mutation(returns => Boolean)
|
|
10
|
-
async deletePurchaseOrderOtherCharge(@Arg('name') name: string, @Ctx() context:
|
|
11
|
-
const { tx, domain }
|
|
10
|
+
async deletePurchaseOrderOtherCharge(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
|
11
|
+
const { tx, domain } = context.state
|
|
12
12
|
|
|
13
13
|
await tx.getRepository(PurchaseOrderOtherCharge).delete({ domain, name })
|
|
14
14
|
return true
|
|
@@ -18,12 +18,12 @@ export class PurchaseOrderOtherChargeMutation {
|
|
|
18
18
|
@Mutation(returns => Boolean)
|
|
19
19
|
async deletePurchaseOrderOtherCharges(
|
|
20
20
|
@Arg('names', type => [String]) names: string[],
|
|
21
|
-
@Ctx() context:
|
|
21
|
+
@Ctx() context: ResolverContext
|
|
22
22
|
): Promise<boolean> {
|
|
23
|
-
const { tx, domain }
|
|
23
|
+
const { tx, domain } = context.state
|
|
24
24
|
|
|
25
25
|
await tx.getRepository(PurchaseOrderOtherCharge).delete({
|
|
26
|
-
domain,
|
|
26
|
+
domain: { id: domain.id },
|
|
27
27
|
name: In(names)
|
|
28
28
|
})
|
|
29
29
|
return true
|