@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,7 +1,7 @@
|
|
|
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, getConnection,
|
|
4
|
+
import { EntityManager, getConnection, In, Not, Repository } from 'typeorm'
|
|
5
5
|
|
|
6
6
|
import { Attachment, createAttachments } from '@things-factory/attachment-base'
|
|
7
7
|
import { Partner, Role, User } from '@things-factory/auth-base'
|
|
@@ -18,15 +18,16 @@ import { MarketplaceStore } from '@things-factory/integration-marketplace'
|
|
|
18
18
|
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
19
19
|
import { Sftp } from '@things-factory/integration-sftp'
|
|
20
20
|
import { MarketplaceOrder, MarketplaceProductVariation } from '@things-factory/marketplace-base'
|
|
21
|
-
import { sendNotification } from '@things-factory/notification'
|
|
22
21
|
import { Product, ProductBundleSetting } from '@things-factory/product-base'
|
|
23
22
|
import { PartnerSetting, Setting } from '@things-factory/setting-base'
|
|
24
|
-
import { Domain } from '@things-factory/shell'
|
|
23
|
+
import { Domain, getRepository } from '@things-factory/shell'
|
|
25
24
|
import { Inventory } from '@things-factory/warehouse-base'
|
|
26
25
|
|
|
26
|
+
// import { NewOrderProduct } from '../order-product/order-product-types'
|
|
27
27
|
import {
|
|
28
28
|
ATTACHMENT_TYPE,
|
|
29
29
|
ORDER_INVENTORY_STATUS,
|
|
30
|
+
ORDER_METHOD,
|
|
30
31
|
ORDER_NUMBER_RULE_TYPE,
|
|
31
32
|
ORDER_NUMBER_SETTING_KEY,
|
|
32
33
|
ORDER_PRODUCT_STATUS,
|
|
@@ -43,7 +44,7 @@ import { confirmArrivalNoticeFunction, deleteArrivalNotice } from '../arrival-no
|
|
|
43
44
|
import { OrderInventory } from '../order-inventory/order-inventory'
|
|
44
45
|
import { OrderProduct } from '../order-product/order-product'
|
|
45
46
|
import { OrderVas } from '../order-vas/order-vas'
|
|
46
|
-
import { NewReleaseGood, ReleaseGoodPatch } from '../release-good/release-good-types'
|
|
47
|
+
import { NewReleaseGood, ReleaseGoodPatch, ShippingOrderInfoPatch } from '../release-good/release-good-types'
|
|
47
48
|
import { ShippingOrder } from '../shipping-order/shipping-order'
|
|
48
49
|
import { ShippingOrderPatch } from '../shipping-order/shipping-order-types'
|
|
49
50
|
import { Vas } from '../vas/vas'
|
|
@@ -56,7 +57,7 @@ export class ReleaseGoodMutation {
|
|
|
56
57
|
@Directive('@transaction')
|
|
57
58
|
@Mutation(returns => [ReleaseGood])
|
|
58
59
|
async bulkAddReleaseGoods(
|
|
59
|
-
@Ctx() context:
|
|
60
|
+
@Ctx() context: ResolverContext,
|
|
60
61
|
@Arg('rawReleaseGoods', type => [NewReleaseGood], { nullable: true }) rawReleaseGoods: NewReleaseGood[],
|
|
61
62
|
@Arg('bizplaceId', type => String) bizplaceId: string
|
|
62
63
|
): Promise<ReleaseGood[]> {
|
|
@@ -69,7 +70,7 @@ export class ReleaseGoodMutation {
|
|
|
69
70
|
|
|
70
71
|
const roNoSetting: Setting = await settingRepo.findOne({
|
|
71
72
|
where: {
|
|
72
|
-
domain,
|
|
73
|
+
domain: { id: domain.id },
|
|
73
74
|
name: ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE
|
|
74
75
|
}
|
|
75
76
|
})
|
|
@@ -150,18 +151,21 @@ export class ReleaseGoodMutation {
|
|
|
150
151
|
@Directive('@privilege(category: "order_customer", privilege: "mutation")')
|
|
151
152
|
@Directive('@transaction')
|
|
152
153
|
@Mutation(returns => Boolean)
|
|
153
|
-
async deleteReleaseGood(@Arg('name') name: string, @Ctx() context:
|
|
154
|
-
const { tx, user, domain }
|
|
154
|
+
async deleteReleaseGood(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {
|
|
155
|
+
const { tx, user, domain } = context.state
|
|
155
156
|
return await deleteReleaseGood(tx, name, user, domain)
|
|
156
157
|
}
|
|
157
158
|
|
|
158
159
|
@Directive('@privilege(category: "order_customer", privilege: "mutation")')
|
|
159
160
|
@Directive('@transaction')
|
|
160
161
|
@Mutation(returns => Boolean)
|
|
161
|
-
async deleteReleaseGoods(
|
|
162
|
-
|
|
162
|
+
async deleteReleaseGoods(
|
|
163
|
+
@Arg('names', type => [String]) names: string[],
|
|
164
|
+
@Ctx() context: ResolverContext
|
|
165
|
+
): Promise<Boolean> {
|
|
166
|
+
const { tx } = context.state
|
|
163
167
|
await tx.getRepository(ReleaseGood).delete({
|
|
164
|
-
domain: context.state.domain,
|
|
168
|
+
domain: { id: context.state.domain.id },
|
|
165
169
|
name: In(names)
|
|
166
170
|
})
|
|
167
171
|
return true
|
|
@@ -171,16 +175,19 @@ export class ReleaseGoodMutation {
|
|
|
171
175
|
@Directive('@transaction')
|
|
172
176
|
@Mutation(returns => ReleaseGood)
|
|
173
177
|
async generateReleaseGood(
|
|
174
|
-
@Ctx() context:
|
|
178
|
+
@Ctx() context: ResolverContext,
|
|
175
179
|
@Arg('attachments', type => [GraphQLUpload], { nullable: true }) attachments?: FileUpload[],
|
|
176
180
|
@Arg('releaseGood', type => NewReleaseGood, { nullable: true }) releaseGood?: NewReleaseGood,
|
|
177
|
-
@Arg('shippingOrder', type => ShippingOrderPatch, { nullable: true }) shippingOrder?: ShippingOrderPatch
|
|
181
|
+
@Arg('shippingOrder', type => ShippingOrderPatch, { nullable: true }) shippingOrder?: ShippingOrderPatch,
|
|
182
|
+
@Arg('shippingOrderInfo', type => ShippingOrderInfoPatch, { nullable: true })
|
|
183
|
+
shippingOrderInfo?: ShippingOrderInfoPatch
|
|
178
184
|
): Promise<ReleaseGood> {
|
|
179
|
-
const { tx }
|
|
185
|
+
const { tx } = context.state
|
|
180
186
|
const createdReleaseGood: ReleaseGood = await generateReleaseGoodFunction(
|
|
181
187
|
null,
|
|
182
188
|
releaseGood,
|
|
183
189
|
shippingOrder,
|
|
190
|
+
shippingOrderInfo,
|
|
184
191
|
attachments,
|
|
185
192
|
context,
|
|
186
193
|
tx
|
|
@@ -193,9 +200,11 @@ export class ReleaseGoodMutation {
|
|
|
193
200
|
@Directive('@transaction')
|
|
194
201
|
@Mutation(returns => ReleaseGood)
|
|
195
202
|
async updateReleaseGoodDetails(
|
|
196
|
-
@Ctx() context:
|
|
203
|
+
@Ctx() context: ResolverContext,
|
|
197
204
|
@Arg('releaseGood', type => ReleaseGoodPatch, { nullable: true }) releaseGood?: ReleaseGoodPatch,
|
|
198
|
-
@Arg('shippingOrder', type => ShippingOrderPatch, { nullable: true }) shippingOrder?: ShippingOrderPatch
|
|
205
|
+
@Arg('shippingOrder', type => ShippingOrderPatch, { nullable: true }) shippingOrder?: ShippingOrderPatch,
|
|
206
|
+
@Arg('shippingOrderInfo', type => ShippingOrderInfoPatch, { nullable: true })
|
|
207
|
+
shippingOrderInfo?: ShippingOrderInfoPatch
|
|
199
208
|
): Promise<ReleaseGood> {
|
|
200
209
|
const { tx, domain, user } = context.state
|
|
201
210
|
let foundReleaseGood = await tx.getRepository(ReleaseGood).findOne({
|
|
@@ -208,6 +217,12 @@ export class ReleaseGoodMutation {
|
|
|
208
217
|
}
|
|
209
218
|
|
|
210
219
|
// case to update existing shippingOrder
|
|
220
|
+
if (shippingOrder !== null) {
|
|
221
|
+
shippingOrder.remark = shippingOrder.exportRemark
|
|
222
|
+
shippingOrder.containerClosureDateTime = new Date(shippingOrder.containerClosureDate)
|
|
223
|
+
delete shippingOrder.exportRemark
|
|
224
|
+
}
|
|
225
|
+
|
|
211
226
|
if (foundReleaseGood.shippingOrder && shippingOrder) {
|
|
212
227
|
await tx.getRepository(ShippingOrder).update(foundReleaseGood.shippingOrder.id, shippingOrder)
|
|
213
228
|
}
|
|
@@ -227,8 +242,9 @@ export class ReleaseGoodMutation {
|
|
|
227
242
|
}
|
|
228
243
|
|
|
229
244
|
foundReleaseGood = await tx.getRepository(ReleaseGood).save({
|
|
230
|
-
...foundReleaseGood,
|
|
245
|
+
...(foundReleaseGood as any),
|
|
231
246
|
...releaseGood,
|
|
247
|
+
...shippingOrderInfo,
|
|
232
248
|
remark: releaseGood?.remark ? releaseGood.remark : null
|
|
233
249
|
})
|
|
234
250
|
|
|
@@ -238,13 +254,14 @@ export class ReleaseGoodMutation {
|
|
|
238
254
|
@Directive('@privilege(category: "order_customer", privilege: "mutation")')
|
|
239
255
|
@Directive('@transaction')
|
|
240
256
|
@Mutation(returns => ReleaseGood)
|
|
241
|
-
async confirmReleaseGood(@Arg('name') name: string, @Ctx() context:
|
|
242
|
-
const { tx }
|
|
257
|
+
async confirmReleaseGood(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<ReleaseGood> {
|
|
258
|
+
const { tx } = context.state
|
|
243
259
|
const releaseGood: ReleaseGood = await confirmReleaseGood(name, context, tx)
|
|
244
260
|
|
|
245
261
|
// If current RO has cross docking
|
|
246
262
|
if (releaseGood.crossDocking) {
|
|
247
|
-
const { arrivalNotice } = await tx.getRepository(ReleaseGood).findOne(
|
|
263
|
+
const { arrivalNotice } = await tx.getRepository(ReleaseGood).findOne({
|
|
264
|
+
where: { id: releaseGood.id },
|
|
248
265
|
relations: ['arrivalNotice']
|
|
249
266
|
})
|
|
250
267
|
|
|
@@ -260,8 +277,8 @@ export class ReleaseGoodMutation {
|
|
|
260
277
|
@Directive('@privilege(category: "order_customer", privilege: "mutation")')
|
|
261
278
|
@Directive('@transaction')
|
|
262
279
|
@Mutation(returns => ReleaseGood)
|
|
263
|
-
async receiveReleaseGood(@Arg('name') name: string, @Ctx() context:
|
|
264
|
-
const { tx }
|
|
280
|
+
async receiveReleaseGood(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<ReleaseGood> {
|
|
281
|
+
const { tx } = context.state
|
|
265
282
|
const releaseGood: ReleaseGood = await receiveReleaseGood(name, context, tx)
|
|
266
283
|
return releaseGood
|
|
267
284
|
}
|
|
@@ -272,9 +289,9 @@ export class ReleaseGoodMutation {
|
|
|
272
289
|
async rejectReleaseGood(
|
|
273
290
|
@Arg('name') name: string,
|
|
274
291
|
@Arg('patch', type => ReleaseGoodPatch) patch: ReleaseGoodPatch,
|
|
275
|
-
@Ctx() context:
|
|
292
|
+
@Ctx() context: ResolverContext
|
|
276
293
|
): Promise<ReleaseGood> {
|
|
277
|
-
const { tx }
|
|
294
|
+
const { tx } = context.state
|
|
278
295
|
|
|
279
296
|
return await rejectReleaseGood(tx, context, name, patch.remark)
|
|
280
297
|
}
|
|
@@ -282,16 +299,17 @@ export class ReleaseGoodMutation {
|
|
|
282
299
|
@Directive('@transaction')
|
|
283
300
|
@Mutation(returns => ReleaseGood)
|
|
284
301
|
async addReleaseGood(
|
|
285
|
-
@Ctx() context:
|
|
302
|
+
@Ctx() context: ResolverContext,
|
|
286
303
|
@Arg('releaseGood', type => NewReleaseGood, { nullable: true }) releaseGood: NewReleaseGood,
|
|
287
304
|
@Arg('shippingOrder', type => ShippingOrderPatch, { nullable: true }) shippingOrder: ShippingOrderPatch,
|
|
288
305
|
@Arg('file', type => GraphQLUpload, { nullable: true }) file: FileUpload
|
|
289
306
|
): Promise<ReleaseGood> {
|
|
290
|
-
const { tx }
|
|
307
|
+
const { tx } = context.state
|
|
291
308
|
const createdRO: ReleaseGood = await generateReleaseGoodFunction(
|
|
292
309
|
null,
|
|
293
310
|
releaseGood,
|
|
294
311
|
shippingOrder,
|
|
312
|
+
null,
|
|
295
313
|
file,
|
|
296
314
|
context,
|
|
297
315
|
tx
|
|
@@ -307,12 +325,15 @@ export class ReleaseGoodMutation {
|
|
|
307
325
|
@Directive('@privilege(category: "order_customer", privilege: "mutation")')
|
|
308
326
|
@Directive('@transaction')
|
|
309
327
|
@Mutation(returns => Boolean)
|
|
310
|
-
async executeOrderRemark(
|
|
328
|
+
async executeOrderRemark(
|
|
329
|
+
@Arg('releaseGoodNo') releaseGoodNo: string,
|
|
330
|
+
@Ctx() context: ResolverContext
|
|
331
|
+
): Promise<boolean> {
|
|
311
332
|
const { domain, tx, user } = context.state
|
|
312
333
|
|
|
313
334
|
await tx.getRepository(ReleaseGood).update(
|
|
314
335
|
{
|
|
315
|
-
domain,
|
|
336
|
+
domain: { id: domain.id },
|
|
316
337
|
name: releaseGoodNo
|
|
317
338
|
},
|
|
318
339
|
{
|
|
@@ -328,7 +349,7 @@ export class ReleaseGoodMutation {
|
|
|
328
349
|
|
|
329
350
|
export async function deleteReleaseGood(tx: EntityManager, name: string, user: User, domain: Domain): Promise<boolean> {
|
|
330
351
|
let foundReleaseOrder: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
|
|
331
|
-
where: { domain, name },
|
|
352
|
+
where: { domain: { id: domain.id }, name },
|
|
332
353
|
relations: [
|
|
333
354
|
'arrivalNotice',
|
|
334
355
|
'orderInventories',
|
|
@@ -341,7 +362,7 @@ export async function deleteReleaseGood(tx: EntityManager, name: string, user: U
|
|
|
341
362
|
]
|
|
342
363
|
})
|
|
343
364
|
|
|
344
|
-
if (!foundReleaseOrder) throw new Error(`
|
|
365
|
+
if (!foundReleaseOrder) throw new Error(`Release order doesn't exists.`)
|
|
345
366
|
const foundOIs: OrderInventory[] = foundReleaseOrder.orderInventories
|
|
346
367
|
const foundOVs: OrderVas[] = foundReleaseOrder.orderVass
|
|
347
368
|
const foundSO: ShippingOrder = foundReleaseOrder.shippingOrder
|
|
@@ -350,7 +371,7 @@ export async function deleteReleaseGood(tx: EntityManager, name: string, user: U
|
|
|
350
371
|
if (foundReleaseOrder?.ownTransport) {
|
|
351
372
|
foundAttachment = await tx.getRepository(Attachment).findOne({
|
|
352
373
|
where: {
|
|
353
|
-
domain,
|
|
374
|
+
domain: { id: domain.id },
|
|
354
375
|
refBy: foundReleaseOrder.id,
|
|
355
376
|
category: ATTACHMENT_TYPE.DELIVERY_ORDER
|
|
356
377
|
}
|
|
@@ -361,7 +382,7 @@ export async function deleteReleaseGood(tx: EntityManager, name: string, user: U
|
|
|
361
382
|
await Promise.all(
|
|
362
383
|
foundOIs.map(async (oi: OrderInventory) => {
|
|
363
384
|
if (oi?.inventory?.id) {
|
|
364
|
-
oi.inventory = await tx.getRepository(Inventory).
|
|
385
|
+
oi.inventory = await tx.getRepository(Inventory).findOneBy({ id: oi.inventory.id })
|
|
365
386
|
|
|
366
387
|
await tx.getRepository(Inventory).save({
|
|
367
388
|
...oi.inventory,
|
|
@@ -413,13 +434,14 @@ export async function deleteReleaseGood(tx: EntityManager, name: string, user: U
|
|
|
413
434
|
export async function generateReleaseGoodFunction(
|
|
414
435
|
_: any,
|
|
415
436
|
releaseGood: any,
|
|
416
|
-
shippingOrder:
|
|
437
|
+
shippingOrder: ShippingOrderPatch,
|
|
438
|
+
shippingOrderInfo: any,
|
|
417
439
|
attachments: FileUpload[],
|
|
418
|
-
context:
|
|
440
|
+
context: ResolverContext,
|
|
419
441
|
tx?: EntityManager
|
|
420
442
|
): Promise<ReleaseGood> {
|
|
421
443
|
try {
|
|
422
|
-
const { domain, user }
|
|
444
|
+
const { domain, user } = context.state
|
|
423
445
|
const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)
|
|
424
446
|
|
|
425
447
|
// let orderInventories: OrderInventory[] = releaseGood.orderInventories
|
|
@@ -429,11 +451,12 @@ export async function generateReleaseGoodFunction(
|
|
|
429
451
|
|
|
430
452
|
let bizplace: Bizplace
|
|
431
453
|
let warehouseDomain: Domain = domain
|
|
454
|
+
let finalOrderInventories: OrderInventory[] = []
|
|
432
455
|
|
|
433
456
|
if (releaseGood.deliverTo) {
|
|
434
457
|
const deliverTo: ContactPoint = await tx
|
|
435
458
|
.getRepository(ContactPoint)
|
|
436
|
-
.findOne({ where: { bizplace: releaseGood.deliverTo, domain },
|
|
459
|
+
.findOne({ where: { bizplace: releaseGood.deliverTo, domain }, relations: ['bizplace'] })
|
|
437
460
|
|
|
438
461
|
if (!deliverTo) throw new Error('contact point does not exist')
|
|
439
462
|
|
|
@@ -484,7 +507,7 @@ export async function generateReleaseGoodFunction(
|
|
|
484
507
|
if (releaseGood.type == 'b2c') {
|
|
485
508
|
const sellercraft: Sellercraft = await tx
|
|
486
509
|
.getRepository(Sellercraft)
|
|
487
|
-
.
|
|
510
|
+
.findOneBy({ domain: bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
488
511
|
|
|
489
512
|
let customerAvailableSftp: Sftp = await tx.getRepository(Sftp).findOne({
|
|
490
513
|
where: { domain: bizplace.domain }
|
|
@@ -498,7 +521,7 @@ export async function generateReleaseGoodFunction(
|
|
|
498
521
|
const refNo: string = releaseGood.refNo
|
|
499
522
|
const foundReleaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
|
|
500
523
|
where: {
|
|
501
|
-
domain: warehouseDomain,
|
|
524
|
+
domain: { id: warehouseDomain.id },
|
|
502
525
|
refNo,
|
|
503
526
|
status: Not(In([ORDER_STATUS.CANCELLED, ORDER_STATUS.PENDING_CANCEL]))
|
|
504
527
|
},
|
|
@@ -516,7 +539,7 @@ export async function generateReleaseGoodFunction(
|
|
|
516
539
|
const refNo2: string = releaseGood.refNo2
|
|
517
540
|
const foundSplittedReleaseGood = await tx.getRepository(ReleaseGood).findOne({
|
|
518
541
|
where: {
|
|
519
|
-
domain: warehouseDomain,
|
|
542
|
+
domain: { id: warehouseDomain.id },
|
|
520
543
|
refNo2,
|
|
521
544
|
status: Not(In([ORDER_STATUS.CANCELLED, ORDER_STATUS.PENDING_CANCEL]))
|
|
522
545
|
},
|
|
@@ -535,6 +558,12 @@ export async function generateReleaseGoodFunction(
|
|
|
535
558
|
|
|
536
559
|
/** Generate Shipping Order */
|
|
537
560
|
if (shippingOrder) {
|
|
561
|
+
shippingOrder.remark = shippingOrder.exportRemark
|
|
562
|
+
if (shippingOrder.containerClosureDate !== undefined) {
|
|
563
|
+
shippingOrder.containerClosureDateTime = new Date(shippingOrder.containerClosureDate)
|
|
564
|
+
}
|
|
565
|
+
delete shippingOrder.exportRemark
|
|
566
|
+
|
|
538
567
|
const createdSO: ShippingOrder = await tx.getRepository(ShippingOrder).save({
|
|
539
568
|
...shippingOrder,
|
|
540
569
|
name: OrderNoGenerator.shippingOrder(),
|
|
@@ -552,7 +581,7 @@ export async function generateReleaseGoodFunction(
|
|
|
552
581
|
// find RO number rule setting
|
|
553
582
|
const roNoSetting: Setting = await settingRepo.findOne({
|
|
554
583
|
where: {
|
|
555
|
-
domain,
|
|
584
|
+
domain: { id: domain.id },
|
|
556
585
|
name: ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE
|
|
557
586
|
}
|
|
558
587
|
})
|
|
@@ -569,23 +598,35 @@ export async function generateReleaseGoodFunction(
|
|
|
569
598
|
exportOption: releaseGood.exportOption,
|
|
570
599
|
ownTransport: releaseGood.ownTransport,
|
|
571
600
|
packingOption: releaseGood.packingOption,
|
|
601
|
+
recall: releaseGood.recall,
|
|
572
602
|
marketplaceOrderStatus: releaseGood?.marketplaceOrderStatus || null,
|
|
573
|
-
billingAddress:
|
|
574
|
-
|
|
575
|
-
deliveryAddress1:
|
|
603
|
+
billingAddress:
|
|
604
|
+
releaseGood.type == 'b2c' ? releaseGood?.billingAddress || null : shippingOrderInfo.billingAddress || null,
|
|
605
|
+
deliveryAddress1:
|
|
606
|
+
releaseGood.type == 'b2c' ? releaseGood?.deliveryAddress1 || null : shippingOrderInfo.deliveryAddress1 || null,
|
|
576
607
|
deliveryAddress2: releaseGood?.deliveryAddress2 || null,
|
|
577
608
|
deliveryAddress3: releaseGood?.deliveryAddress3 || null,
|
|
578
609
|
deliveryAddress4: releaseGood?.deliveryAddress4 || null,
|
|
579
610
|
deliveryAddress5: releaseGood?.deliveryAddress5 || null,
|
|
580
|
-
attentionTo: releaseGood?.attentionTo || null,
|
|
581
|
-
attentionCompany:
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
611
|
+
attentionTo: releaseGood.type == 'b2c' ? releaseGood?.attentionTo || null : shippingOrderInfo.attentionTo || null,
|
|
612
|
+
attentionCompany:
|
|
613
|
+
releaseGood.type == 'b2c' ? releaseGood?.companyName || null : shippingOrderInfo.attentionCompany || null,
|
|
614
|
+
city: releaseGood.type == 'b2c' ? releaseGood?.city || null : shippingOrderInfo.city || null,
|
|
615
|
+
state: releaseGood.type == 'b2c' ? releaseGood?.state || null : shippingOrderInfo.state || null,
|
|
616
|
+
postalCode: releaseGood.type == 'b2c' ? releaseGood?.postalCode || null : shippingOrderInfo.postalCode || null,
|
|
617
|
+
country: releaseGood.type == 'b2c' ? releaseGood?.country || null : shippingOrderInfo.country || null,
|
|
618
|
+
phone1: releaseGood.type == 'b2c' ? releaseGood?.phone1 || null : shippingOrderInfo.phone1 || null,
|
|
587
619
|
phone2: releaseGood?.phone2 || null,
|
|
588
620
|
email: releaseGood?.email || null,
|
|
621
|
+
billingCity: releaseGood.type == 'b2c' ? releaseGood?.billingCity || null : shippingOrderInfo.billingCity || null,
|
|
622
|
+
billingCountry:
|
|
623
|
+
releaseGood.type == 'b2c' ? releaseGood?.billingCountry || null : shippingOrderInfo.billingCountry || null,
|
|
624
|
+
billingPostalCode:
|
|
625
|
+
releaseGood.type == 'b2c'
|
|
626
|
+
? releaseGood?.billingPostalCode || null
|
|
627
|
+
: shippingOrderInfo.billingPostalCode || null,
|
|
628
|
+
billingState:
|
|
629
|
+
releaseGood.type == 'b2c' ? releaseGood?.billingState || null : shippingOrderInfo.billingState || null,
|
|
589
630
|
transporter: releaseGood?.transporter,
|
|
590
631
|
trackingNo: releaseGood?.trackingNo,
|
|
591
632
|
airwayBill: releaseGood?.airwayBill,
|
|
@@ -599,7 +640,13 @@ export async function generateReleaseGoodFunction(
|
|
|
599
640
|
bundleInfo: releaseGood?.bundleInfo || [],
|
|
600
641
|
orderInventories: releaseGood.orderInventories,
|
|
601
642
|
type: releaseGood?.type ? releaseGood.type : 'b2b',
|
|
643
|
+
orderMethod: releaseGood?.orderMethod
|
|
644
|
+
? releaseGood.orderMethod
|
|
645
|
+
: releaseGood.orderInventories[0]?.inventory?.id
|
|
646
|
+
? ORDER_METHOD.SELECT_BY_PALLET
|
|
647
|
+
: ORDER_METHOD.SELECT_BY_PRODUCT,
|
|
602
648
|
status: ORDER_STATUS.PENDING,
|
|
649
|
+
packageId: releaseGood?.packageId,
|
|
603
650
|
storeName: releaseGood?.storeName,
|
|
604
651
|
storeId: releaseGood?.storeId,
|
|
605
652
|
routeId: releaseGood?.routeId,
|
|
@@ -612,7 +659,7 @@ export async function generateReleaseGoodFunction(
|
|
|
612
659
|
let crossDockingGAN: ArrivalNotice = undefined
|
|
613
660
|
if (releaseGood.crossDocking && releaseGood.ganNo) {
|
|
614
661
|
crossDockingGAN = await tx.getRepository(ArrivalNotice).findOne({
|
|
615
|
-
where: { domain, bizplace, name: releaseGood.ganNo, status: ORDER_STATUS.PENDING }
|
|
662
|
+
where: { domain: { id: domain.id }, bizplace, name: releaseGood.ganNo, status: ORDER_STATUS.PENDING }
|
|
616
663
|
})
|
|
617
664
|
if (!crossDockingGAN) throw new Error(`Failed to find GAN (${releaseGood.ganNo}) for cross docking`)
|
|
618
665
|
|
|
@@ -680,22 +727,11 @@ export async function generateReleaseGoodFunction(
|
|
|
680
727
|
status: ORDER_INVENTORY_STATUS.PENDING,
|
|
681
728
|
name: OrderNoGenerator.orderInventory(),
|
|
682
729
|
releaseGood: newReleaseGood,
|
|
683
|
-
product: await tx.getRepository(Product).
|
|
730
|
+
product: await tx.getRepository(Product).findOneBy({ id: oi.product.id }),
|
|
684
731
|
creator: user,
|
|
685
732
|
updater: user
|
|
686
733
|
}
|
|
687
734
|
|
|
688
|
-
if (newOrderInv.inventory?.id) {
|
|
689
|
-
const foundInv: Inventory = await tx.getRepository(Inventory).findOne(newOrderInv.inventory.id)
|
|
690
|
-
newOrderInv.inventory = foundInv
|
|
691
|
-
|
|
692
|
-
foundInv.lockedQty = Number(foundInv.lockedQty) + newOrderInv.releaseQty
|
|
693
|
-
foundInv.lockedUomValue = Number(foundInv.lockedUomValue) + newOrderInv.releaseUomValue
|
|
694
|
-
foundInv.updater = user
|
|
695
|
-
|
|
696
|
-
await tx.getRepository(Inventory).save(foundInv)
|
|
697
|
-
}
|
|
698
|
-
|
|
699
735
|
let newOrderProduct: OrderProduct = Object.assign(new OrderProduct(), newOrderInv)
|
|
700
736
|
newOrderProduct = {
|
|
701
737
|
...newOrderProduct,
|
|
@@ -703,19 +739,81 @@ export async function generateReleaseGoodFunction(
|
|
|
703
739
|
actualPackQty: 0,
|
|
704
740
|
palletQty: 0,
|
|
705
741
|
actualPalletQty: 0,
|
|
706
|
-
status:
|
|
742
|
+
status: ORDER_PRODUCT_STATUS.ASSIGNED
|
|
707
743
|
}
|
|
708
744
|
|
|
709
745
|
newOrderProduct = await tx.getRepository(OrderProduct).save(newOrderProduct)
|
|
710
746
|
|
|
711
|
-
|
|
747
|
+
if (newOrderInv.inventory?.id) {
|
|
748
|
+
const foundInv: Inventory = await tx.getRepository(Inventory).findOneBy({ id: newOrderInv.inventory.id })
|
|
749
|
+
newOrderInv.inventory = foundInv
|
|
750
|
+
newOrderInv.orderProduct = newOrderProduct
|
|
751
|
+
|
|
752
|
+
finalOrderInventories.push(newOrderInv)
|
|
753
|
+
} else {
|
|
754
|
+
// Preassign Inventories
|
|
755
|
+
const inventoryAssignmentSetting: Setting = await tx.getRepository(Setting).findOne({
|
|
756
|
+
where: { domain: { id: domain.id }, name: 'rule-for-inventory-assignment' }
|
|
757
|
+
})
|
|
758
|
+
|
|
759
|
+
let locationSortingRules = []
|
|
760
|
+
if (inventoryAssignmentSetting) {
|
|
761
|
+
let locationSetting = JSON.parse(inventoryAssignmentSetting.value)
|
|
762
|
+
for (const key in locationSetting) {
|
|
763
|
+
locationSortingRules.push({ name: key, desc: locationSetting[key] == 'ASC' ? false : true })
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
let assignedOrderInventories: OrderInventory[] = await InventoryUtil.autoAssignInventoryForRelease(
|
|
768
|
+
newOrderInv.product,
|
|
769
|
+
oi,
|
|
770
|
+
oi.packingType,
|
|
771
|
+
locationSortingRules,
|
|
772
|
+
bizplace,
|
|
773
|
+
warehouseDomain,
|
|
774
|
+
tx,
|
|
775
|
+
oi.batchId
|
|
776
|
+
)
|
|
777
|
+
|
|
778
|
+
assignedOrderInventories = assignedOrderInventories.map(aoi => {
|
|
779
|
+
return {
|
|
780
|
+
...aoi,
|
|
781
|
+
orderProduct: newOrderProduct
|
|
782
|
+
}
|
|
783
|
+
})
|
|
784
|
+
|
|
785
|
+
finalOrderInventories.push(...assignedOrderInventories)
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
for (let oi of finalOrderInventories) {
|
|
790
|
+
let generatedOI: OrderInventory = Object.assign(new OrderInventory(), oi)
|
|
791
|
+
generatedOI = {
|
|
792
|
+
...generatedOI,
|
|
793
|
+
domain: warehouseDomain,
|
|
794
|
+
bizplace,
|
|
795
|
+
status: ORDER_INVENTORY_STATUS.PENDING,
|
|
796
|
+
name: OrderNoGenerator.orderInventory(),
|
|
797
|
+
releaseGood: newReleaseGood,
|
|
798
|
+
creator: user,
|
|
799
|
+
updater: user
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
await tx.getRepository(OrderInventory).save({ ...generatedOI })
|
|
803
|
+
|
|
804
|
+
// update inventory locked qty and uom value
|
|
805
|
+
await tx.getRepository(Inventory).update({ id: oi.inventory.id }, {
|
|
806
|
+
lockedQty: (oi.inventory?.lockedQty || 0) + generatedOI.releaseQty,
|
|
807
|
+
lockedUomValue: (oi.inventory?.lockedUomValue || 0) + generatedOI.releaseUomValue,
|
|
808
|
+
updater: user
|
|
809
|
+
} as any)
|
|
712
810
|
}
|
|
713
811
|
|
|
714
812
|
if (orderVass?.length) {
|
|
715
813
|
orderVass = await Promise.all(
|
|
716
814
|
orderVass.map(async orderVas => {
|
|
717
815
|
if (orderVas?.targetProduct?.id) {
|
|
718
|
-
orderVas.targetProduct = await tx.getRepository(Product).
|
|
816
|
+
orderVas.targetProduct = await tx.getRepository(Product).findOneBy({ id: orderVas.targetProduct.id })
|
|
719
817
|
}
|
|
720
818
|
|
|
721
819
|
let newOrderVas: OrderVas = {
|
|
@@ -723,7 +821,7 @@ export async function generateReleaseGoodFunction(
|
|
|
723
821
|
domain: warehouseDomain,
|
|
724
822
|
bizplace,
|
|
725
823
|
name: OrderNoGenerator.releaseVas(),
|
|
726
|
-
vas: await tx.getRepository(Vas).
|
|
824
|
+
vas: await tx.getRepository(Vas).findOneBy({ id: orderVas.vas.id }),
|
|
727
825
|
type: ORDER_TYPES.RELEASE_OF_GOODS,
|
|
728
826
|
releaseGood: newReleaseGood,
|
|
729
827
|
status: ORDER_VAS_STATUS.PENDING,
|
|
@@ -732,7 +830,7 @@ export async function generateReleaseGoodFunction(
|
|
|
732
830
|
}
|
|
733
831
|
|
|
734
832
|
if (orderVas?.inventory?.id) {
|
|
735
|
-
newOrderVas.inventory = await tx.getRepository(Inventory).
|
|
833
|
+
newOrderVas.inventory = await tx.getRepository(Inventory).findOneBy({ id: orderVas.inventory.id })
|
|
736
834
|
}
|
|
737
835
|
|
|
738
836
|
return newOrderVas
|
|
@@ -755,7 +853,7 @@ export async function generateReleaseGoodFunction(
|
|
|
755
853
|
}
|
|
756
854
|
|
|
757
855
|
const directReceiveSetting: Setting = await tx.getRepository(Setting).findOne({
|
|
758
|
-
where: { domain, category: 'id-rule', name: 'enable-direct-receive-release-order' }
|
|
856
|
+
where: { domain: { id: domain.id }, category: 'id-rule', name: 'enable-direct-receive-release-order' }
|
|
759
857
|
})
|
|
760
858
|
|
|
761
859
|
const partnerDirectReceiveSetting: PartnerSetting = await tx.getRepository(PartnerSetting).findOne({
|
|
@@ -784,7 +882,7 @@ export async function generateReleaseGoodFunction(
|
|
|
784
882
|
}
|
|
785
883
|
|
|
786
884
|
export async function confirmReleaseGood(name: string, context: any, tx?: EntityManager): Promise<ReleaseGood> {
|
|
787
|
-
const { user, domain }
|
|
885
|
+
const { user, domain } = context.state
|
|
788
886
|
|
|
789
887
|
let foundReleaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
|
|
790
888
|
where: { name, status: ORDER_STATUS.PENDING },
|
|
@@ -795,13 +893,13 @@ export async function confirmReleaseGood(name: string, context: any, tx?: Entity
|
|
|
795
893
|
|
|
796
894
|
// query orderInventories separately from releaseGood to reduce resource usage
|
|
797
895
|
let foundOIs: OrderInventory[] = await tx.getRepository(OrderInventory).find({
|
|
798
|
-
where: { domain, releaseGood: foundReleaseGood },
|
|
896
|
+
where: { domain: { id: domain.id }, releaseGood: { id: foundReleaseGood.id } },
|
|
799
897
|
relations: ['product']
|
|
800
898
|
})
|
|
801
899
|
|
|
802
900
|
// query orderProducts separately from releaseGood to reduce resource usage
|
|
803
901
|
let foundOPs: OrderProduct[] = await tx.getRepository(OrderProduct).find({
|
|
804
|
-
where: { domain, releaseGood: foundReleaseGood },
|
|
902
|
+
where: { domain: { id: domain.id }, releaseGood: { id: foundReleaseGood.id } },
|
|
805
903
|
relations: ['bizplace', 'product', 'product.productDetails']
|
|
806
904
|
})
|
|
807
905
|
|
|
@@ -948,10 +1046,15 @@ export async function confirmReleaseGood(name: string, context: any, tx?: Entity
|
|
|
948
1046
|
url: context.header.referer,
|
|
949
1047
|
data: { url: context.header.referer }
|
|
950
1048
|
}
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
1049
|
+
|
|
1050
|
+
/**
|
|
1051
|
+
* @notes Temporary off sendNotification due to suspect of causing wms down
|
|
1052
|
+
*/
|
|
1053
|
+
|
|
1054
|
+
// await sendNotification({
|
|
1055
|
+
// receivers,
|
|
1056
|
+
// message: { ...msg }
|
|
1057
|
+
// })
|
|
955
1058
|
}
|
|
956
1059
|
}
|
|
957
1060
|
|
|
@@ -959,10 +1062,10 @@ export async function confirmReleaseGood(name: string, context: any, tx?: Entity
|
|
|
959
1062
|
}
|
|
960
1063
|
|
|
961
1064
|
export async function receiveReleaseGood(name: string, context: any, tx: EntityManager): Promise<ReleaseGood> {
|
|
962
|
-
const { domain, user }
|
|
1065
|
+
const { domain, user } = context.state
|
|
963
1066
|
|
|
964
1067
|
const foundReleaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
|
|
965
|
-
where: { domain, name, status: ORDER_STATUS.PENDING_RECEIVE },
|
|
1068
|
+
where: { domain: { id: domain.id }, name, status: ORDER_STATUS.PENDING_RECEIVE },
|
|
966
1069
|
relations: ['bizplace', 'orderInventories', 'orderVass']
|
|
967
1070
|
})
|
|
968
1071
|
|
|
@@ -1031,10 +1134,14 @@ export async function receiveReleaseGood(name: string, context: any, tx: EntityM
|
|
|
1031
1134
|
data: { url: context.header.referer }
|
|
1032
1135
|
}
|
|
1033
1136
|
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1137
|
+
/**
|
|
1138
|
+
* @notes Temporary off sendNotification due to suspect of causing wms down
|
|
1139
|
+
*/
|
|
1140
|
+
|
|
1141
|
+
// await sendNotification({
|
|
1142
|
+
// receivers,
|
|
1143
|
+
// message: { ...msg }
|
|
1144
|
+
// })
|
|
1038
1145
|
}
|
|
1039
1146
|
}
|
|
1040
1147
|
|
|
@@ -1043,14 +1150,14 @@ export async function receiveReleaseGood(name: string, context: any, tx: EntityM
|
|
|
1043
1150
|
|
|
1044
1151
|
export async function rejectReleaseGood(
|
|
1045
1152
|
tx: EntityManager,
|
|
1046
|
-
context:
|
|
1153
|
+
context: ResolverContext,
|
|
1047
1154
|
name: string,
|
|
1048
1155
|
remark: string
|
|
1049
1156
|
): Promise<ReleaseGood> {
|
|
1050
|
-
const { domain, user }
|
|
1157
|
+
const { domain, user } = context.state
|
|
1051
1158
|
|
|
1052
1159
|
const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
|
|
1053
|
-
where: { domain, name, status: ORDER_STATUS.PENDING_RECEIVE },
|
|
1160
|
+
where: { domain: { id: domain.id }, name, status: ORDER_STATUS.PENDING_RECEIVE },
|
|
1054
1161
|
relations: [
|
|
1055
1162
|
'bizplace',
|
|
1056
1163
|
'bizplace.domain',
|
|
@@ -1077,7 +1184,7 @@ export async function rejectReleaseGood(
|
|
|
1077
1184
|
await Promise.all(
|
|
1078
1185
|
foundOIs.map(async (oi: OrderInventory) => {
|
|
1079
1186
|
if (oi?.inventory?.id) {
|
|
1080
|
-
oi.inventory = await tx.getRepository(Inventory).
|
|
1187
|
+
oi.inventory = await tx.getRepository(Inventory).findOneBy({ id: oi.inventory.id })
|
|
1081
1188
|
|
|
1082
1189
|
await tx.getRepository(Inventory).save({
|
|
1083
1190
|
...oi.inventory,
|
|
@@ -1098,7 +1205,7 @@ export async function rejectReleaseGood(
|
|
|
1098
1205
|
if (foundOPs && foundOPs.length) {
|
|
1099
1206
|
const sellercraft: Sellercraft = await tx
|
|
1100
1207
|
.getRepository(Sellercraft)
|
|
1101
|
-
.
|
|
1208
|
+
.findOneBy({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
1102
1209
|
|
|
1103
1210
|
if (sellercraft) {
|
|
1104
1211
|
const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
@@ -1129,7 +1236,7 @@ export async function rejectReleaseGood(
|
|
|
1129
1236
|
if (releaseGood.shippingOrder) {
|
|
1130
1237
|
// 2. 1) if it's yes update status of collection order
|
|
1131
1238
|
const shippingOrder: ShippingOrder = await tx.getRepository(ShippingOrder).findOne({
|
|
1132
|
-
where: { domain, name: releaseGood.shippingOrder.name }
|
|
1239
|
+
where: { domain: { id: domain.id }, name: releaseGood.shippingOrder.name }
|
|
1133
1240
|
})
|
|
1134
1241
|
|
|
1135
1242
|
shippingOrder.status = ORDER_STATUS.REJECTED
|
|
@@ -1154,10 +1261,14 @@ export async function rejectReleaseGood(
|
|
|
1154
1261
|
data: { url: context.header.referer }
|
|
1155
1262
|
}
|
|
1156
1263
|
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1264
|
+
/**
|
|
1265
|
+
* @notes Temporary off sendNotification due to suspect of causing wms down
|
|
1266
|
+
*/
|
|
1267
|
+
|
|
1268
|
+
// await sendNotification({
|
|
1269
|
+
// receivers,
|
|
1270
|
+
// message: { ...msg }
|
|
1271
|
+
// })
|
|
1161
1272
|
}
|
|
1162
1273
|
|
|
1163
1274
|
return releaseGood
|
|
@@ -1173,9 +1284,9 @@ export async function bulkGenerateReleaseGood(
|
|
|
1173
1284
|
): Promise<ReleaseGood> {
|
|
1174
1285
|
try {
|
|
1175
1286
|
let warehouseDomain: Domain = domain
|
|
1176
|
-
let { orderInventories } = releaseGood
|
|
1287
|
+
let { orderInventories, shippingOrder } = releaseGood
|
|
1177
1288
|
|
|
1178
|
-
let bizplace: Bizplace = await tx.getRepository(Bizplace).
|
|
1289
|
+
let bizplace: Bizplace = await tx.getRepository(Bizplace).findOneBy({ id: bizplaceId })
|
|
1179
1290
|
|
|
1180
1291
|
let newReleaseGood: ReleaseGood = {
|
|
1181
1292
|
...releaseGood,
|
|
@@ -1203,18 +1314,41 @@ export async function bulkGenerateReleaseGood(
|
|
|
1203
1314
|
refNo3: releaseGood.refNo3,
|
|
1204
1315
|
releaseDate: releaseGood.releaseDate,
|
|
1205
1316
|
ownTransport: releaseGood?.ownTransport || false,
|
|
1317
|
+
orderMethod: ORDER_METHOD.SELECT_BY_PRODUCT,
|
|
1206
1318
|
status: ORDER_STATUS.PENDING,
|
|
1207
1319
|
creator: user,
|
|
1208
1320
|
updater: user
|
|
1209
1321
|
}
|
|
1210
1322
|
|
|
1211
1323
|
newReleaseGood = await tx.getRepository(ReleaseGood).save(newReleaseGood)
|
|
1212
|
-
|
|
1324
|
+
|
|
1325
|
+
/** Generate Shipping Order */
|
|
1326
|
+
if (shippingOrder) {
|
|
1327
|
+
shippingOrder.remark = shippingOrder.exportRemark
|
|
1328
|
+
if (shippingOrder.containerClosureDate !== undefined) {
|
|
1329
|
+
shippingOrder.containerClosureDateTime = new Date(shippingOrder.containerClosureDate)
|
|
1330
|
+
}
|
|
1331
|
+
delete shippingOrder.exportRemark
|
|
1332
|
+
|
|
1333
|
+
const createdSO: ShippingOrder = await tx.getRepository(ShippingOrder).save({
|
|
1334
|
+
...shippingOrder,
|
|
1335
|
+
name: OrderNoGenerator.shippingOrder(),
|
|
1336
|
+
domain,
|
|
1337
|
+
bizplace,
|
|
1338
|
+
status: ORDER_STATUS.PENDING,
|
|
1339
|
+
creator: user,
|
|
1340
|
+
updater: user
|
|
1341
|
+
})
|
|
1342
|
+
|
|
1343
|
+
newReleaseGood.shippingOrder = createdSO
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
let finalOrderInventories: Partial<OrderInventory>[] = []
|
|
1213
1347
|
|
|
1214
1348
|
// pre assign inventory to orderInventories
|
|
1215
1349
|
for (let oi of orderInventories) {
|
|
1216
1350
|
const pickingProductSetting: Setting = await tx.getRepository(Setting).findOne({
|
|
1217
|
-
where: { domain, name: 'rule-for-picking-product' }
|
|
1351
|
+
where: { domain: { id: domain.id }, name: 'rule-for-picking-product' }
|
|
1218
1352
|
})
|
|
1219
1353
|
|
|
1220
1354
|
let locationSortingRules = []
|
|
@@ -1225,18 +1359,25 @@ export async function bulkGenerateReleaseGood(
|
|
|
1225
1359
|
}
|
|
1226
1360
|
}
|
|
1227
1361
|
|
|
1228
|
-
const product: Product = await tx.getRepository(Product).
|
|
1362
|
+
const product: Product = await tx.getRepository(Product).findOneBy({ id: oi.productId })
|
|
1363
|
+
|
|
1364
|
+
let assignedResult = await InventoryUtil.autoAssignInventoryForRelease(
|
|
1365
|
+
product,
|
|
1366
|
+
oi,
|
|
1367
|
+
oi.packingType,
|
|
1368
|
+
locationSortingRules,
|
|
1369
|
+
bizplace,
|
|
1370
|
+
warehouseDomain,
|
|
1371
|
+
tx
|
|
1372
|
+
)
|
|
1229
1373
|
|
|
1230
1374
|
finalOrderInventories.push(
|
|
1231
|
-
...(
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
warehouseDomain,
|
|
1238
|
-
tx
|
|
1239
|
-
))
|
|
1375
|
+
...assignedResult.map(itm => {
|
|
1376
|
+
return {
|
|
1377
|
+
...itm,
|
|
1378
|
+
orderProduct: oi?.orderProduct
|
|
1379
|
+
}
|
|
1380
|
+
})
|
|
1240
1381
|
)
|
|
1241
1382
|
}
|
|
1242
1383
|
|
|
@@ -1253,28 +1394,38 @@ export async function bulkGenerateReleaseGood(
|
|
|
1253
1394
|
updater: user
|
|
1254
1395
|
}
|
|
1255
1396
|
|
|
1256
|
-
let newOrderProduct: Partial<OrderProduct>
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1397
|
+
let newOrderProduct: Partial<OrderProduct>
|
|
1398
|
+
if (!oi?.orderProduct) {
|
|
1399
|
+
newOrderProduct = {
|
|
1400
|
+
name: generatedOI.name,
|
|
1401
|
+
product: generatedOI.product,
|
|
1402
|
+
batchId: generatedOI.batchId,
|
|
1403
|
+
packingType: generatedOI.packingType,
|
|
1404
|
+
packingSize: generatedOI.packingSize,
|
|
1405
|
+
uom: generatedOI.uom,
|
|
1406
|
+
domain: warehouseDomain,
|
|
1407
|
+
bizplace,
|
|
1408
|
+
releaseQty: generatedOI.releaseQty,
|
|
1409
|
+
releaseUomValue: generatedOI.releaseUomValue,
|
|
1410
|
+
packQty: 0,
|
|
1411
|
+
actualPackQty: 0,
|
|
1412
|
+
palletQty: 0,
|
|
1413
|
+
actualPalletQty: 0,
|
|
1414
|
+
status: ORDER_PRODUCT_STATUS.ASSIGNED,
|
|
1415
|
+
releaseGood: newReleaseGood,
|
|
1416
|
+
creator: user,
|
|
1417
|
+
updater: user
|
|
1418
|
+
}
|
|
1276
1419
|
|
|
1277
|
-
|
|
1420
|
+
newOrderProduct = await tx.getRepository(OrderProduct).save(newOrderProduct)
|
|
1421
|
+
} else {
|
|
1422
|
+
newOrderProduct = await tx.getRepository(OrderProduct).save({
|
|
1423
|
+
...oi.orderProduct,
|
|
1424
|
+
totalUomValue: `${oi.orderProduct.releaseUomValue} ${oi.orderProduct.uom}`,
|
|
1425
|
+
status: ORDER_PRODUCT_STATUS.ASSIGNED,
|
|
1426
|
+
updater: user
|
|
1427
|
+
})
|
|
1428
|
+
}
|
|
1278
1429
|
|
|
1279
1430
|
await tx.getRepository(OrderInventory).save({ ...generatedOI, orderProduct: newOrderProduct })
|
|
1280
1431
|
|
|
@@ -1283,7 +1434,7 @@ export async function bulkGenerateReleaseGood(
|
|
|
1283
1434
|
lockedQty: (oi.inventory?.lockedQty || 0) + generatedOI.releaseQty,
|
|
1284
1435
|
lockedUomValue: (oi.inventory?.lockedUomValue || 0) + generatedOI.releaseUomValue,
|
|
1285
1436
|
updater: user
|
|
1286
|
-
})
|
|
1437
|
+
} as any)
|
|
1287
1438
|
}
|
|
1288
1439
|
|
|
1289
1440
|
return newReleaseGood
|
|
@@ -1308,7 +1459,7 @@ export async function bulkConfirmReleaseGoods(
|
|
|
1308
1459
|
let customerBizplace: Bizplace = foundReleaseGoods[0].bizplace
|
|
1309
1460
|
|
|
1310
1461
|
let foundOrderInventories: OrderInventory[] = await tx.getRepository(OrderInventory).find({
|
|
1311
|
-
where: { domain, releaseGood: In(foundReleaseGoods.map((rg: ReleaseGood) => rg.id)) }
|
|
1462
|
+
where: { domain: { id: domain.id }, releaseGood: In(foundReleaseGoods.map((rg: ReleaseGood) => rg.id)) }
|
|
1312
1463
|
})
|
|
1313
1464
|
|
|
1314
1465
|
await tx
|
|
@@ -1348,10 +1499,15 @@ export async function bulkConfirmReleaseGoods(
|
|
|
1348
1499
|
url: context.header.referer,
|
|
1349
1500
|
data: { url: context.header.referer }
|
|
1350
1501
|
}
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1502
|
+
|
|
1503
|
+
/**
|
|
1504
|
+
* @notes Temporary off sendNotification due to suspect of causing wms down
|
|
1505
|
+
*/
|
|
1506
|
+
|
|
1507
|
+
// await sendNotification({
|
|
1508
|
+
// receivers,
|
|
1509
|
+
// message
|
|
1510
|
+
// })
|
|
1355
1511
|
}
|
|
1356
1512
|
}
|
|
1357
1513
|
|
|
@@ -1359,7 +1515,9 @@ export async function bulkConfirmReleaseGoods(
|
|
|
1359
1515
|
foundReleaseGoods.map(async (releaseGood: ReleaseGood) => {
|
|
1360
1516
|
return {
|
|
1361
1517
|
...releaseGood,
|
|
1362
|
-
orderInventories: await tx
|
|
1518
|
+
orderInventories: await tx
|
|
1519
|
+
.getRepository(OrderInventory)
|
|
1520
|
+
.find({ where: { releaseGood: { id: releaseGood.id } } }) /* CONFIRMME regarding TYPEORM */,
|
|
1363
1521
|
status: ORDER_STATUS.PENDING_RECEIVE,
|
|
1364
1522
|
updater: user
|
|
1365
1523
|
}
|
|
@@ -1430,6 +1588,11 @@ function extractRawReleaseGoods(rawReleaseGoods): Partial<ReleaseGood[]> {
|
|
|
1430
1588
|
deliveryAddress2: item.deliveryAddress2,
|
|
1431
1589
|
deliveryAddress3: item.deliveryAddress3,
|
|
1432
1590
|
deliveryAddress4: item.deliveryAddress4,
|
|
1591
|
+
billingAddress: item.billingAddress,
|
|
1592
|
+
billingCity: item.billingPostalCode,
|
|
1593
|
+
billingState: item.billingState,
|
|
1594
|
+
billingCountry: item.billingCountry,
|
|
1595
|
+
billingPostalCode: item.billingPostalCode,
|
|
1433
1596
|
city: item.city,
|
|
1434
1597
|
postalCode: item.postalCode,
|
|
1435
1598
|
state: item.state,
|