@things-factory/sales-base 3.7.2 → 3.7.7
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 +9 -1
- package/dist-server/constants/order.js.map +1 -1
- package/dist-server/entities/index.js +4 -1
- package/dist-server/entities/index.js.map +1 -1
- package/dist-server/entities/manifest.js +100 -0
- package/dist-server/entities/manifest.js.map +1 -0
- package/dist-server/entities/order-inventory.js +4 -0
- package/dist-server/entities/order-inventory.js.map +1 -1
- package/dist-server/entities/order-reverse-kitting.js +7 -9
- package/dist-server/entities/order-reverse-kitting.js.map +1 -1
- package/dist-server/entities/release-good.js +22 -1
- package/dist-server/entities/release-good.js.map +1 -1
- package/dist-server/graphql/resolvers/arrival-notice/add-edit-arrival-notice-products.js +1 -1
- package/dist-server/graphql/resolvers/arrival-notice/add-edit-arrival-notice-products.js.map +1 -1
- package/dist-server/graphql/resolvers/arrival-notice/arrival-notice.js +74 -73
- package/dist-server/graphql/resolvers/arrival-notice/arrival-notice.js.map +1 -1
- package/dist-server/graphql/resolvers/delivery-order/delivery-orders.js +20 -4
- package/dist-server/graphql/resolvers/delivery-order/delivery-orders.js.map +1 -1
- package/dist-server/graphql/resolvers/goods-receival-note/goods-receival-notes.js +86 -43
- package/dist-server/graphql/resolvers/goods-receival-note/goods-receival-notes.js.map +1 -1
- package/dist-server/graphql/resolvers/index.js +7 -2
- package/dist-server/graphql/resolvers/index.js.map +1 -1
- package/dist-server/graphql/resolvers/manifest/delete-manifest.js +13 -0
- package/dist-server/graphql/resolvers/manifest/delete-manifest.js.map +1 -0
- package/dist-server/graphql/resolvers/manifest/dispatch-manifest.js +22 -0
- package/dist-server/graphql/resolvers/manifest/dispatch-manifest.js.map +1 -0
- package/dist-server/graphql/resolvers/manifest/generate-manifest.js +45 -0
- package/dist-server/graphql/resolvers/manifest/generate-manifest.js.map +1 -0
- package/dist-server/graphql/resolvers/manifest/index.js +11 -0
- package/dist-server/graphql/resolvers/manifest/index.js.map +1 -0
- package/dist-server/graphql/resolvers/manifest/manifest.js +25 -0
- package/dist-server/graphql/resolvers/manifest/manifest.js.map +1 -0
- package/dist-server/graphql/resolvers/manifest/manifests.js +36 -0
- package/dist-server/graphql/resolvers/manifest/manifests.js.map +1 -0
- package/dist-server/graphql/resolvers/order-inventory/index.js +2 -1
- package/dist-server/graphql/resolvers/order-inventory/index.js.map +1 -1
- package/dist-server/graphql/resolvers/order-inventory/order-inventories.js +1 -0
- package/dist-server/graphql/resolvers/order-inventory/order-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/order-inventory/order-inventory.js +3 -3
- package/dist-server/graphql/resolvers/order-inventory/order-inventory.js.map +1 -1
- package/dist-server/graphql/resolvers/order-inventory/update-order-inventories-serial-number.js +23 -0
- package/dist-server/graphql/resolvers/order-inventory/update-order-inventories-serial-number.js.map +1 -0
- package/dist-server/graphql/resolvers/order-reverse-kitting/index.js +2 -1
- package/dist-server/graphql/resolvers/order-reverse-kitting/index.js.map +1 -1
- package/dist-server/graphql/resolvers/order-reverse-kitting/update-order-reverse-kitting.js +20 -0
- package/dist-server/graphql/resolvers/order-reverse-kitting/update-order-reverse-kitting.js.map +1 -0
- package/dist-server/graphql/resolvers/others/bulk-upload-validate-warehouse-partners-products-quantity.js +2 -1
- package/dist-server/graphql/resolvers/others/bulk-upload-validate-warehouse-partners-products-quantity.js.map +1 -1
- package/dist-server/graphql/resolvers/release-good/index.js +2 -1
- package/dist-server/graphql/resolvers/release-good/index.js.map +1 -1
- package/dist-server/graphql/resolvers/release-good/release-good-detail.js +12 -6
- package/dist-server/graphql/resolvers/release-good/release-good-detail.js.map +1 -1
- package/dist-server/graphql/resolvers/release-good/release-good-requests.js +2 -2
- package/dist-server/graphql/resolvers/release-good/release-good-requests.js.map +1 -1
- package/dist-server/graphql/resolvers/release-good/release-good.js +18 -2
- package/dist-server/graphql/resolvers/release-good/release-good.js.map +1 -1
- package/dist-server/graphql/resolvers/release-good/update-release-good-details.js +42 -0
- package/dist-server/graphql/resolvers/release-good/update-release-good-details.js.map +1 -0
- package/dist-server/graphql/resolvers/reverse-kitting-order/cancel-reverse-kitting-order.js +9 -3
- package/dist-server/graphql/resolvers/reverse-kitting-order/cancel-reverse-kitting-order.js.map +1 -1
- package/dist-server/graphql/resolvers/reverse-kitting-order/complete-reverse-kitting-order.js +2 -0
- package/dist-server/graphql/resolvers/reverse-kitting-order/complete-reverse-kitting-order.js.map +1 -1
- package/dist-server/graphql/resolvers/reverse-kitting-order/delete-reverse-kitting-order.js +11 -1
- package/dist-server/graphql/resolvers/reverse-kitting-order/delete-reverse-kitting-order.js.map +1 -1
- package/dist-server/graphql/resolvers/reverse-kitting-order/execute-reverse-kitting.js +1 -2
- package/dist-server/graphql/resolvers/reverse-kitting-order/execute-reverse-kitting.js.map +1 -1
- package/dist-server/graphql/resolvers/reverse-kitting-order/generate-reverse-kitting-order.js +6 -1
- package/dist-server/graphql/resolvers/reverse-kitting-order/generate-reverse-kitting-order.js.map +1 -1
- package/dist-server/graphql/resolvers/reverse-kitting-order/generate-reverse-kitting-pallet-id.js +60 -0
- package/dist-server/graphql/resolvers/reverse-kitting-order/generate-reverse-kitting-pallet-id.js.map +1 -0
- package/dist-server/graphql/resolvers/reverse-kitting-order/index.js +3 -1
- package/dist-server/graphql/resolvers/reverse-kitting-order/index.js.map +1 -1
- package/dist-server/graphql/resolvers/reverse-kitting-order/reverse-kitting-inventories.js +9 -2
- package/dist-server/graphql/resolvers/reverse-kitting-order/reverse-kitting-inventories.js.map +1 -1
- package/dist-server/graphql/resolvers/reverse-kitting-order/undo-reverse-kitting-inventory.js +46 -0
- package/dist-server/graphql/resolvers/reverse-kitting-order/undo-reverse-kitting-inventory.js.map +1 -0
- package/dist-server/graphql/types/index.js +7 -3
- package/dist-server/graphql/types/index.js.map +1 -1
- package/dist-server/graphql/types/manifest/index.js +35 -0
- package/dist-server/graphql/types/manifest/index.js.map +1 -0
- package/dist-server/graphql/types/manifest/manifest-item.js +15 -0
- package/dist-server/graphql/types/manifest/manifest-item.js.map +1 -0
- package/dist-server/graphql/types/manifest/manifest-list.js +14 -0
- package/dist-server/graphql/types/manifest/manifest-list.js.map +1 -0
- package/dist-server/graphql/types/manifest/manifest-patch.js +19 -0
- package/dist-server/graphql/types/manifest/manifest-patch.js.map +1 -0
- package/dist-server/graphql/types/manifest/manifest.js +25 -0
- package/dist-server/graphql/types/manifest/manifest.js.map +1 -0
- package/dist-server/graphql/types/manifest/new-manifest.js +13 -0
- package/dist-server/graphql/types/manifest/new-manifest.js.map +1 -0
- package/dist-server/graphql/types/manifest/tracking-no.js +20 -0
- package/dist-server/graphql/types/manifest/tracking-no.js.map +1 -0
- package/dist-server/graphql/types/order-inventory/index.js +5 -1
- package/dist-server/graphql/types/order-inventory/index.js.map +1 -1
- package/dist-server/graphql/types/order-inventory/new-order-inventory.js +1 -0
- package/dist-server/graphql/types/order-inventory/new-order-inventory.js.map +1 -1
- package/dist-server/graphql/types/order-inventory/order-inventory-patch.js +1 -0
- package/dist-server/graphql/types/order-inventory/order-inventory-patch.js.map +1 -1
- package/dist-server/graphql/types/order-inventory/order-inventory.js +1 -0
- package/dist-server/graphql/types/order-inventory/order-inventory.js.map +1 -1
- package/dist-server/graphql/types/order-reverse-kitting/index.js +6 -1
- package/dist-server/graphql/types/order-reverse-kitting/index.js.map +1 -1
- package/dist-server/graphql/types/order-reverse-kitting/new-order-reverse-kitting.js +1 -0
- package/dist-server/graphql/types/order-reverse-kitting/new-order-reverse-kitting.js.map +1 -1
- package/dist-server/graphql/types/order-reverse-kitting/order-reverse-kitting-patch.js +1 -0
- package/dist-server/graphql/types/order-reverse-kitting/order-reverse-kitting-patch.js.map +1 -1
- package/dist-server/graphql/types/order-reverse-kitting/order-reverse-kitting.js +1 -0
- package/dist-server/graphql/types/order-reverse-kitting/order-reverse-kitting.js.map +1 -1
- package/dist-server/graphql/types/release-good/index.js +5 -0
- package/dist-server/graphql/types/release-good/index.js.map +1 -1
- package/dist-server/graphql/types/release-good/inventory-infos.js +2 -0
- package/dist-server/graphql/types/release-good/inventory-infos.js.map +1 -1
- package/dist-server/graphql/types/release-good/release-good-detail.js +1 -0
- package/dist-server/graphql/types/release-good/release-good-detail.js.map +1 -1
- package/dist-server/graphql/types/release-good/release-good-patch.js +1 -0
- package/dist-server/graphql/types/release-good/release-good-patch.js.map +1 -1
- package/dist-server/graphql/types/release-good/release-good.js +2 -0
- package/dist-server/graphql/types/release-good/release-good.js.map +1 -1
- package/dist-server/graphql/types/release-good/shipping-order-info.js +1 -0
- package/dist-server/graphql/types/release-good/shipping-order-info.js.map +1 -1
- package/dist-server/graphql/types/reverse-kitting-order/index.js +8 -1
- package/dist-server/graphql/types/reverse-kitting-order/index.js.map +1 -1
- package/dist-server/graphql/types/shipping-order/shipping-order-patch.js +1 -0
- package/dist-server/graphql/types/shipping-order/shipping-order-patch.js.map +1 -1
- package/dist-server/utils/inventory-util.js +9 -5
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/dist-server/utils/order-no-generator.js +35 -31
- package/dist-server/utils/order-no-generator.js.map +1 -1
- package/package.json +12 -12
- package/server/constants/order.ts +10 -0
- package/server/entities/index.ts +3 -0
- package/server/entities/manifest.ts +79 -0
- package/server/entities/order-inventory.ts +3 -0
- package/server/entities/order-reverse-kitting.ts +6 -9
- package/server/entities/release-good.ts +29 -1
- package/server/graphql/resolvers/arrival-notice/add-edit-arrival-notice-products.ts +3 -1
- package/server/graphql/resolvers/arrival-notice/arrival-notice.ts +79 -74
- package/server/graphql/resolvers/delivery-order/delivery-orders.ts +27 -5
- package/server/graphql/resolvers/goods-receival-note/goods-receival-notes.ts +105 -47
- package/server/graphql/resolvers/index.ts +7 -2
- package/server/graphql/resolvers/manifest/delete-manifest.ts +13 -0
- package/server/graphql/resolvers/manifest/dispatch-manifest.ts +34 -0
- package/server/graphql/resolvers/manifest/generate-manifest.ts +50 -0
- package/server/graphql/resolvers/manifest/index.ts +16 -0
- package/server/graphql/resolvers/manifest/manifest.ts +28 -0
- package/server/graphql/resolvers/manifest/manifests.ts +43 -0
- package/server/graphql/resolvers/order-inventory/index.ts +3 -1
- package/server/graphql/resolvers/order-inventory/order-inventories.ts +1 -0
- package/server/graphql/resolvers/order-inventory/order-inventory.ts +3 -3
- package/server/graphql/resolvers/order-inventory/update-order-inventories-serial-number.ts +28 -0
- package/server/graphql/resolvers/order-reverse-kitting/index.ts +4 -1
- package/server/graphql/resolvers/order-reverse-kitting/update-order-reverse-kitting.ts +26 -0
- package/server/graphql/resolvers/others/bulk-upload-validate-warehouse-partners-products-quantity.ts +10 -7
- package/server/graphql/resolvers/release-good/index.ts +3 -1
- package/server/graphql/resolvers/release-good/release-good-detail.ts +16 -7
- package/server/graphql/resolvers/release-good/release-good-requests.ts +2 -2
- package/server/graphql/resolvers/release-good/release-good.ts +27 -3
- package/server/graphql/resolvers/release-good/update-release-good-details.ts +61 -0
- package/server/graphql/resolvers/reverse-kitting-order/cancel-reverse-kitting-order.ts +18 -4
- package/server/graphql/resolvers/reverse-kitting-order/complete-reverse-kitting-order.ts +2 -0
- package/server/graphql/resolvers/reverse-kitting-order/delete-reverse-kitting-order.ts +19 -1
- package/server/graphql/resolvers/reverse-kitting-order/execute-reverse-kitting.ts +1 -2
- package/server/graphql/resolvers/reverse-kitting-order/generate-reverse-kitting-order.ts +8 -1
- package/server/graphql/resolvers/reverse-kitting-order/generate-reverse-kitting-pallet-id.ts +71 -0
- package/server/graphql/resolvers/reverse-kitting-order/index.ts +5 -1
- package/server/graphql/resolvers/reverse-kitting-order/reverse-kitting-inventories.ts +12 -2
- package/server/graphql/resolvers/reverse-kitting-order/undo-reverse-kitting-inventory.ts +70 -0
- package/server/graphql/types/index.ts +7 -3
- package/server/graphql/types/manifest/index.ts +34 -0
- package/server/graphql/types/manifest/manifest-item.ts +9 -0
- package/server/graphql/types/manifest/manifest-list.ts +8 -0
- package/server/graphql/types/manifest/manifest-patch.ts +13 -0
- package/server/graphql/types/manifest/manifest.ts +19 -0
- package/server/graphql/types/manifest/new-manifest.ts +7 -0
- package/server/graphql/types/manifest/tracking-no.ts +14 -0
- package/server/graphql/types/order-inventory/index.ts +5 -1
- package/server/graphql/types/order-inventory/new-order-inventory.ts +1 -0
- package/server/graphql/types/order-inventory/order-inventory-patch.ts +1 -0
- package/server/graphql/types/order-inventory/order-inventory.ts +1 -0
- package/server/graphql/types/order-reverse-kitting/index.ts +6 -1
- package/server/graphql/types/order-reverse-kitting/new-order-reverse-kitting.ts +1 -0
- package/server/graphql/types/order-reverse-kitting/order-reverse-kitting-patch.ts +1 -0
- package/server/graphql/types/order-reverse-kitting/order-reverse-kitting.ts +1 -0
- package/server/graphql/types/release-good/index.ts +5 -0
- package/server/graphql/types/release-good/inventory-infos.ts +2 -0
- package/server/graphql/types/release-good/release-good-detail.ts +1 -0
- package/server/graphql/types/release-good/release-good-patch.ts +1 -0
- package/server/graphql/types/release-good/release-good.ts +2 -0
- package/server/graphql/types/release-good/shipping-order-info.ts +1 -0
- package/server/graphql/types/reverse-kitting-order/index.ts +8 -1
- package/server/graphql/types/shipping-order/shipping-order-patch.ts +1 -0
- package/server/utils/inventory-util.ts +17 -12
- package/server/utils/order-no-generator.ts +43 -36
|
@@ -83,7 +83,7 @@ export const releaseGoodRequestsResolver = {
|
|
|
83
83
|
'cc.status = rg.status'
|
|
84
84
|
)
|
|
85
85
|
|
|
86
|
-
const arrChildSortData = ['bizplace']
|
|
86
|
+
const arrChildSortData = ['bizplace', 'creator']
|
|
87
87
|
const sort = (params.sortings || []).reduce(
|
|
88
88
|
(acc, sort) => ({
|
|
89
89
|
...acc,
|
|
@@ -91,7 +91,7 @@ export const releaseGoodRequestsResolver = {
|
|
|
91
91
|
? 'DESC'
|
|
92
92
|
: 'ASC'
|
|
93
93
|
}),
|
|
94
|
-
|
|
94
|
+
params.sortings.length < 1 ? { rank: 'ASC', 'rg.createdAt': 'DESC' } : {}
|
|
95
95
|
)
|
|
96
96
|
|
|
97
97
|
qb.orderBy(sort)
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
import { getRepository, In } from 'typeorm'
|
|
2
|
+
|
|
1
3
|
import { User } from '@things-factory/auth-base'
|
|
2
4
|
import { getPermittedBizplaceIds } from '@things-factory/biz-base'
|
|
5
|
+
import { ProductDetail } from '@things-factory/product-base'
|
|
3
6
|
import { Domain } from '@things-factory/shell'
|
|
4
|
-
|
|
5
|
-
import { ReleaseGood } from '../../../entities'
|
|
7
|
+
|
|
8
|
+
import { OrderInventory, ReleaseGood } from '../../../entities'
|
|
6
9
|
|
|
7
10
|
export const releaseGoodResolver = {
|
|
8
11
|
async releaseGood(_: any, { name }, context: any) {
|
|
9
12
|
const { domain, user }: { domain: Domain; user: User } = context.state
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
let releaseGood: ReleaseGood = await getRepository(ReleaseGood).findOne({
|
|
12
15
|
where: {
|
|
13
16
|
domain,
|
|
14
17
|
name,
|
|
@@ -23,11 +26,32 @@ export const releaseGoodResolver = {
|
|
|
23
26
|
'orderInventories.product',
|
|
24
27
|
'orderInventories.inventory',
|
|
25
28
|
'orderInventories.inventory.product',
|
|
29
|
+
'orderInventories.inventory.location',
|
|
26
30
|
'orderVass',
|
|
27
31
|
'orderVass.vas',
|
|
28
32
|
'creator',
|
|
29
33
|
'updater'
|
|
30
34
|
]
|
|
31
35
|
})
|
|
36
|
+
|
|
37
|
+
releaseGood.orderInventories = await Promise.all(
|
|
38
|
+
releaseGood.orderInventories.map(async (orderInventory: OrderInventory) => {
|
|
39
|
+
const productDetails: ProductDetail[] = await getRepository(ProductDetail).find({
|
|
40
|
+
where: {
|
|
41
|
+
product: orderInventory.product.id,
|
|
42
|
+
packingType: orderInventory.packingType,
|
|
43
|
+
packingSize: orderInventory.packingSize
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
orderInventory.product['productDetails'] = productDetails
|
|
48
|
+
|
|
49
|
+
if (orderInventory.inventory) orderInventory.inventory.product['productDetails'] = productDetails
|
|
50
|
+
|
|
51
|
+
return orderInventory
|
|
52
|
+
})
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
return releaseGood
|
|
32
56
|
}
|
|
33
57
|
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { EntityManager } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { User } from '@things-factory/auth-base'
|
|
4
|
+
import { getMyBizplace } from '@things-factory/biz-base'
|
|
5
|
+
import { Domain } from '@things-factory/shell'
|
|
6
|
+
|
|
7
|
+
import { ORDER_STATUS } from '../../../constants'
|
|
8
|
+
import { ReleaseGood, ShippingOrder } from '../../../entities'
|
|
9
|
+
import { OrderNoGenerator } from '../../../utils/order-no-generator'
|
|
10
|
+
|
|
11
|
+
export const updateReleaseGoodDetailsResolver = {
|
|
12
|
+
async updateReleaseGoodDetails(_: any, { releaseGood, shippingOrder }, context: any) {
|
|
13
|
+
const { tx }: { tx: EntityManager } = context.state
|
|
14
|
+
|
|
15
|
+
try {
|
|
16
|
+
return updateReleaseGoodFunction(releaseGood, shippingOrder, context, tx)
|
|
17
|
+
} catch (error) {
|
|
18
|
+
throw error
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export async function updateReleaseGoodFunction(
|
|
24
|
+
releaseGood: ReleaseGood,
|
|
25
|
+
shippingOrder: ShippingOrder,
|
|
26
|
+
context: any,
|
|
27
|
+
tx?: EntityManager
|
|
28
|
+
) {
|
|
29
|
+
const { domain, user }: { domain: Domain; user: User } = context.state
|
|
30
|
+
let foundReleaseGood = await tx.getRepository(ReleaseGood).findOne({
|
|
31
|
+
where: { id: releaseGood.id, name: releaseGood.name, domain },
|
|
32
|
+
relations: ['shippingOrder']
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
if (!foundReleaseGood) {
|
|
36
|
+
throw new Error(`Release Order ${releaseGood.name} is not found.`)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// case to update existing shippingOrder
|
|
40
|
+
if (foundReleaseGood.shippingOrder && shippingOrder) {
|
|
41
|
+
await tx.getRepository(ShippingOrder).update(foundReleaseGood.shippingOrder.id, shippingOrder)
|
|
42
|
+
}
|
|
43
|
+
// case for new shippingOrder
|
|
44
|
+
else if (!foundReleaseGood.shippingOrder && shippingOrder) {
|
|
45
|
+
let newShippingOrder: ShippingOrder = await tx.getRepository(ShippingOrder).save({
|
|
46
|
+
...shippingOrder,
|
|
47
|
+
name: OrderNoGenerator.shippingOrder(),
|
|
48
|
+
domain,
|
|
49
|
+
bizplace: await getMyBizplace(domain, user),
|
|
50
|
+
status: ORDER_STATUS.PENDING,
|
|
51
|
+
creator: user,
|
|
52
|
+
updater: user
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
releaseGood.shippingOrder = newShippingOrder
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
await tx.getRepository(ReleaseGood).update(foundReleaseGood.id, releaseGood)
|
|
59
|
+
// return updated Release Good
|
|
60
|
+
return await tx.getRepository(ReleaseGood).findOne(foundReleaseGood.id)
|
|
61
|
+
}
|
|
@@ -2,6 +2,7 @@ import { EntityManager } from 'typeorm'
|
|
|
2
2
|
|
|
3
3
|
import { User } from '@things-factory/auth-base'
|
|
4
4
|
import { Domain } from '@things-factory/shell'
|
|
5
|
+
import { Inventory } from '@things-factory/warehouse-base'
|
|
5
6
|
|
|
6
7
|
import { ORDER_STATUS, ORDER_VAS_STATUS } from '../../../constants'
|
|
7
8
|
import { OrderReverseKitting, ReverseKittingOrder } from '../../../entities'
|
|
@@ -24,7 +25,7 @@ export async function cancelReverseKittingOrderFunction(
|
|
|
24
25
|
|
|
25
26
|
const foundReverseKittingOrder: ReverseKittingOrder = await tx.getRepository(ReverseKittingOrder).findOne({
|
|
26
27
|
where: { domain, name, status: ORDER_STATUS.READY_TO_EXECUTE },
|
|
27
|
-
relations: ['bizplace', 'orderReverseKittings', 'creator', 'updater']
|
|
28
|
+
relations: ['bizplace', 'orderReverseKittings', 'orderReverseKittings.inventory', 'creator', 'updater']
|
|
28
29
|
})
|
|
29
30
|
|
|
30
31
|
let foundORKs: OrderReverseKitting[] = foundReverseKittingOrder.orderReverseKittings
|
|
@@ -38,9 +39,22 @@ export async function cancelReverseKittingOrderFunction(
|
|
|
38
39
|
updater: user
|
|
39
40
|
})
|
|
40
41
|
|
|
41
|
-
foundORKs =
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
foundORKs = await Promise.all(
|
|
43
|
+
foundORKs.map(async (ork: OrderReverseKitting) => {
|
|
44
|
+
if (ork?.inventory?.id) {
|
|
45
|
+
ork.inventory = await tx.getRepository(Inventory).findOne(ork.inventory.id)
|
|
46
|
+
|
|
47
|
+
await tx.getRepository(Inventory).save({
|
|
48
|
+
...ork.inventory,
|
|
49
|
+
lockedQty: ork.inventory.lockedQty - ork.qty,
|
|
50
|
+
lockedUomValue: ork.inventory.lockedUomValue - ork.uomValue,
|
|
51
|
+
updater: user
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return { ...ork, status: ORDER_VAS_STATUS.CANCELLED }
|
|
56
|
+
})
|
|
57
|
+
)
|
|
44
58
|
await tx.getRepository(OrderReverseKitting).save(foundORKs)
|
|
45
59
|
|
|
46
60
|
return reverseKitting
|
|
@@ -25,7 +25,9 @@ export const completeReverseKittingOrderResolver = {
|
|
|
25
25
|
orderReverseKittings.map(async orderReverseKitting => {
|
|
26
26
|
let inventory: Inventory = orderReverseKitting.inventory
|
|
27
27
|
inventory.qty = inventory.qty - orderReverseKitting.qty
|
|
28
|
+
inventory.lockedQty = inventory.lockedQty - orderReverseKitting.qty
|
|
28
29
|
inventory.uomValue = inventory.uomValue - orderReverseKitting.uomValue
|
|
30
|
+
inventory.lockedUomValue = inventory.lockedUomValue - orderReverseKitting.uomValue
|
|
29
31
|
|
|
30
32
|
await InventoryUtil.transactionInventory(
|
|
31
33
|
inventory,
|
|
@@ -2,6 +2,7 @@ import { EntityManager, In } from 'typeorm'
|
|
|
2
2
|
|
|
3
3
|
import { User } from '@things-factory/auth-base'
|
|
4
4
|
import { Domain } from '@things-factory/shell'
|
|
5
|
+
import { Inventory } from '@things-factory/warehouse-base'
|
|
5
6
|
|
|
6
7
|
import { OrderReverseKitting, ReverseKittingOrder } from '../../../entities'
|
|
7
8
|
|
|
@@ -21,13 +22,30 @@ export async function deleteReverseKittingOrder(
|
|
|
21
22
|
): Promise<boolean> {
|
|
22
23
|
let foundReverseKittingOrder: ReverseKittingOrder = await tx.getRepository(ReverseKittingOrder).findOne({
|
|
23
24
|
where: { domain, name },
|
|
24
|
-
relations: ['bizplace', 'orderReverseKittings', 'creator', 'updater']
|
|
25
|
+
relations: ['bizplace', 'orderReverseKittings', 'orderReverseKittings.inventory', 'creator', 'updater']
|
|
25
26
|
})
|
|
26
27
|
|
|
27
28
|
if (!foundReverseKittingOrder) throw new Error(`Reverse kitting order doesn't exists.`)
|
|
28
29
|
|
|
29
30
|
const foundORKs: OrderReverseKitting[] = foundReverseKittingOrder.orderReverseKittings
|
|
30
31
|
|
|
32
|
+
// Delete order reverse kittings by ids
|
|
33
|
+
await Promise.all(
|
|
34
|
+
foundORKs.map(async (ork: OrderReverseKitting) => {
|
|
35
|
+
if (ork?.inventory?.id) {
|
|
36
|
+
ork.inventory = await tx.getRepository(Inventory).findOne(ork.inventory.id)
|
|
37
|
+
|
|
38
|
+
await tx.getRepository(Inventory).save({
|
|
39
|
+
...ork.inventory,
|
|
40
|
+
lockedQty: ork.inventory.lockedQty - ork.qty,
|
|
41
|
+
lockedUomValue: ork.inventory.lockedUomValue - ork.uomValue,
|
|
42
|
+
updater: user
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
return ork
|
|
46
|
+
})
|
|
47
|
+
)
|
|
48
|
+
|
|
31
49
|
// 1. delete order reverse kittings
|
|
32
50
|
const productIds = foundORKs.map((ork: OrderReverseKitting) => ork.id)
|
|
33
51
|
if (productIds.length) {
|
|
@@ -50,7 +50,6 @@ export async function executeReverseKittingFunction(
|
|
|
50
50
|
|
|
51
51
|
const productDetail: ProductDetail = await tx.getRepository(ProductDetail).findOne({
|
|
52
52
|
where: {
|
|
53
|
-
domain: customerCompanyBizplace.domain,
|
|
54
53
|
id: inventory.productDetailId
|
|
55
54
|
},
|
|
56
55
|
relations: ['product']
|
|
@@ -115,7 +114,7 @@ export async function executeReverseKittingFunction(
|
|
|
115
114
|
let productCombinationSets: any[] = operationGuide.data.productCombinationSets
|
|
116
115
|
operationGuide.data.productCombinationSets = productCombinationSets.map(item => {
|
|
117
116
|
if (item.productDetailId == inventory.productDetailId) {
|
|
118
|
-
item.actualQty
|
|
117
|
+
item.actualQty += qty
|
|
119
118
|
}
|
|
120
119
|
return item
|
|
121
120
|
})
|
|
@@ -38,7 +38,14 @@ export const generateReverseKittingOrder = {
|
|
|
38
38
|
orderReverseKittings = await Promise.all(
|
|
39
39
|
orderReverseKittings.map(async (ork: OrderReverseKitting) => {
|
|
40
40
|
if (ork?.inventory?.id) {
|
|
41
|
-
|
|
41
|
+
const foundInv: Inventory = await tx.getRepository(Inventory).findOne(ork.inventory.id)
|
|
42
|
+
ork.inventory = foundInv
|
|
43
|
+
|
|
44
|
+
foundInv.lockedQty = Number(foundInv.lockedQty) + ork.qty
|
|
45
|
+
foundInv.lockedUomValue = Number(foundInv.lockedUomValue) + ork.uomValue
|
|
46
|
+
foundInv.updater = user
|
|
47
|
+
|
|
48
|
+
await tx.getRepository(Inventory).save(foundInv)
|
|
42
49
|
}
|
|
43
50
|
return {
|
|
44
51
|
...ork,
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { EntityManager, In } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { generateId } from '@things-factory/id-rule-base'
|
|
4
|
+
import { Domain } from '@things-factory/shell'
|
|
5
|
+
|
|
6
|
+
import { OrderReverseKitting } from '../../../entities'
|
|
7
|
+
|
|
8
|
+
export const generateReverseKittingPalletIdResolver = {
|
|
9
|
+
async generateReverseKittingPalletId(_: any, { targets, type }, context: any) {
|
|
10
|
+
const { tx, domain }: { tx: EntityManager; domain: Domain } = context.state
|
|
11
|
+
// 1. get and set the date
|
|
12
|
+
const today = new Date()
|
|
13
|
+
const year = today.getFullYear()
|
|
14
|
+
const month = today.getMonth()
|
|
15
|
+
const day = today.getDate()
|
|
16
|
+
|
|
17
|
+
const yy = String(year).substr(String(year).length - 2)
|
|
18
|
+
const mm = String(month + 1).padStart(2, '0')
|
|
19
|
+
const dd = String(day).padStart(2, '0')
|
|
20
|
+
|
|
21
|
+
const date = yy + mm + dd
|
|
22
|
+
let results = []
|
|
23
|
+
|
|
24
|
+
// 2. get worksheet detail
|
|
25
|
+
let ids = targets.map(target => target.id)
|
|
26
|
+
|
|
27
|
+
// - getRepository using In(array) to pass the value to defined variable
|
|
28
|
+
const foundOrderReverseKittings: OrderReverseKitting[] = await tx.getRepository(OrderReverseKitting).find({
|
|
29
|
+
where: {
|
|
30
|
+
domain,
|
|
31
|
+
id: In(ids)
|
|
32
|
+
},
|
|
33
|
+
relations: ['domain', 'bizplace']
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
// 3. from worksheet detail get product name, product type, batchid, packing type, bizplace
|
|
37
|
+
|
|
38
|
+
if (foundOrderReverseKittings.length <= 0) throw new Error('Unable to find order reverse kittings')
|
|
39
|
+
else {
|
|
40
|
+
for (let i = 0; i < foundOrderReverseKittings.length; i++) {
|
|
41
|
+
let foundORK = foundOrderReverseKittings[i]
|
|
42
|
+
for (let idx = 0; idx < targets.length; idx++) {
|
|
43
|
+
if (foundORK.id === targets[idx].id) {
|
|
44
|
+
// 4. generate pallet id based on print qty > call generateId resolver
|
|
45
|
+
for (let i = 0; i < targets[idx].printQty; i++) {
|
|
46
|
+
const generatedPalletId = await generateId({
|
|
47
|
+
domain,
|
|
48
|
+
type,
|
|
49
|
+
seed: {
|
|
50
|
+
batchId: foundORK.inventory.batchId,
|
|
51
|
+
date: date
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
// 5. map all data to be returned
|
|
56
|
+
if (foundORK != null) {
|
|
57
|
+
results.push({
|
|
58
|
+
...foundORK,
|
|
59
|
+
palletId: generatedPalletId,
|
|
60
|
+
bizplace: foundORK.bizplace
|
|
61
|
+
})
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return results
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -6,9 +6,11 @@ import { deleteReverseKittingOrderResolver } from './delete-reverse-kitting-orde
|
|
|
6
6
|
import { executeReverseKittingResolver } from './execute-reverse-kitting'
|
|
7
7
|
import { executingReverseKittingOrderResolver } from './executing-reverse-kitting-order'
|
|
8
8
|
import { generateReverseKittingOrder } from './generate-reverse-kitting-order'
|
|
9
|
+
import { generateReverseKittingPalletIdResolver } from './generate-reverse-kitting-pallet-id'
|
|
9
10
|
import { reverseKittingInventoriesResolver } from './reverse-kitting-inventories'
|
|
10
11
|
import { reverseKittingOrderResolver } from './reverse-kitting-order'
|
|
11
12
|
import { reverseKittingOrdersResolver } from './reverse-kitting-orders'
|
|
13
|
+
import { undoReverseKittingInventoryResolver } from './undo-reverse-kitting-inventory'
|
|
12
14
|
|
|
13
15
|
export const Query = {
|
|
14
16
|
...reverseKittingOrdersResolver,
|
|
@@ -24,5 +26,7 @@ export const Mutation = {
|
|
|
24
26
|
...deleteReverseKittingOrderResolver,
|
|
25
27
|
...cancelReverseKittingOrderResolver,
|
|
26
28
|
...executeReverseKittingResolver,
|
|
27
|
-
...completeReverseKittingOrderResolver
|
|
29
|
+
...completeReverseKittingOrderResolver,
|
|
30
|
+
...generateReverseKittingPalletIdResolver,
|
|
31
|
+
...undoReverseKittingInventoryResolver
|
|
28
32
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getRepository } from 'typeorm'
|
|
2
2
|
|
|
3
3
|
import { Bizplace } from '@things-factory/biz-base'
|
|
4
|
+
import { Product, ProductDetail } from '@things-factory/product-base'
|
|
4
5
|
import { Domain } from '@things-factory/shell'
|
|
5
6
|
import { Inventory, INVENTORY_STATUS } from '@things-factory/warehouse-base'
|
|
6
7
|
|
|
@@ -8,8 +9,16 @@ import { ORDER_VAS_STATUS } from '../../../constants'
|
|
|
8
9
|
import { OrderReverseKitting, ReverseKittingOrder } from '../../../entities'
|
|
9
10
|
|
|
10
11
|
export const reverseKittingInventoriesResolver = {
|
|
11
|
-
async reverseKittingInventories(_: any, { orderReverseKittingName }, context: any) {
|
|
12
|
+
async reverseKittingInventories(_: any, { orderReverseKittingName, productDetailId }, context: any) {
|
|
12
13
|
const { domain }: { domain: Domain } = context.state
|
|
14
|
+
|
|
15
|
+
const productDetail: ProductDetail = await getRepository(ProductDetail).findOne({
|
|
16
|
+
where: { id: productDetailId },
|
|
17
|
+
relations: ['product']
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
const product: Product = productDetail.product
|
|
21
|
+
|
|
13
22
|
const foundOrderReverseKitting: OrderReverseKitting = await getRepository(OrderReverseKitting).findOne({
|
|
14
23
|
where: {
|
|
15
24
|
domain,
|
|
@@ -29,9 +38,10 @@ export const reverseKittingInventoriesResolver = {
|
|
|
29
38
|
bizplace: customerBizplace,
|
|
30
39
|
refOrderId: reverseKittingOrder.id,
|
|
31
40
|
orderVasId: foundOrderReverseKitting.id,
|
|
41
|
+
product: product,
|
|
32
42
|
status: INVENTORY_STATUS.STORED
|
|
33
43
|
},
|
|
34
|
-
relations: ['product', 'bizplace']
|
|
44
|
+
relations: ['product', 'bizplace', 'location']
|
|
35
45
|
})
|
|
36
46
|
}
|
|
37
47
|
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { EntityManager } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { User } from '@things-factory/auth-base'
|
|
4
|
+
import { Bizplace } from '@things-factory/biz-base'
|
|
5
|
+
import { Domain } from '@things-factory/shell'
|
|
6
|
+
import {
|
|
7
|
+
Inventory,
|
|
8
|
+
INVENTORY_STATUS,
|
|
9
|
+
INVENTORY_TRANSACTION_TYPE,
|
|
10
|
+
InventoryHistory
|
|
11
|
+
} from '@things-factory/warehouse-base'
|
|
12
|
+
|
|
13
|
+
import { OrderReverseKitting, ReverseKittingOrder } from '../../../entities'
|
|
14
|
+
import { InventoryUtil } from '../../../utils'
|
|
15
|
+
|
|
16
|
+
export const undoReverseKittingInventoryResolver = {
|
|
17
|
+
async undoReverseKittingInventory(_: any, { orderReverseKittingName, palletId }, context: any) {
|
|
18
|
+
const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
|
|
19
|
+
|
|
20
|
+
//@sumjoekin please add stricter validation. It is dangerous without strict validation. Unexpected behaviour will cause accidental deletion of inventory.
|
|
21
|
+
|
|
22
|
+
const orderReverseKitting: OrderReverseKitting = await tx.getRepository(OrderReverseKitting).findOne({
|
|
23
|
+
where: { domain, name: orderReverseKittingName },
|
|
24
|
+
relations: ['bizplace', 'reverseKittingOrder']
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
const bizplace: Bizplace = orderReverseKitting.bizplace
|
|
28
|
+
const reverseKittingOrder: ReverseKittingOrder = orderReverseKitting.reverseKittingOrder
|
|
29
|
+
let foundInventory: Inventory = await tx.getRepository(Inventory).findOne({
|
|
30
|
+
where: { domain, bizplace, orderVasId: orderReverseKitting.id, palletId },
|
|
31
|
+
relations: ['bizplace', 'product']
|
|
32
|
+
})
|
|
33
|
+
if (!foundInventory) throw new Error(`There's no results matched with condition ${foundInventory.palletId}`)
|
|
34
|
+
|
|
35
|
+
let operationGuide: any = JSON.parse(orderReverseKitting.operationGuide)
|
|
36
|
+
let productCombinationSets: any[] = operationGuide.data.productCombinationSets
|
|
37
|
+
productCombinationSets = productCombinationSets.map(item => {
|
|
38
|
+
if (foundInventory.product.id == item.productId) {
|
|
39
|
+
item.actualQty -= foundInventory.qty
|
|
40
|
+
}
|
|
41
|
+
return item
|
|
42
|
+
})
|
|
43
|
+
operationGuide.data.productCombinationSets = productCombinationSets
|
|
44
|
+
|
|
45
|
+
await tx
|
|
46
|
+
.getRepository(OrderReverseKitting)
|
|
47
|
+
.update({ id: orderReverseKitting.id }, { operationGuide: operationGuide })
|
|
48
|
+
|
|
49
|
+
foundInventory.lastSeq++
|
|
50
|
+
foundInventory.status = INVENTORY_STATUS.DELETED
|
|
51
|
+
foundInventory = await InventoryUtil.transactionInventory(
|
|
52
|
+
foundInventory,
|
|
53
|
+
reverseKittingOrder,
|
|
54
|
+
-foundInventory.qty,
|
|
55
|
+
-foundInventory.uomValue,
|
|
56
|
+
INVENTORY_TRANSACTION_TYPE.UNDO_REVERSE_KITTING,
|
|
57
|
+
user,
|
|
58
|
+
tx
|
|
59
|
+
)
|
|
60
|
+
foundInventory.qty = 0
|
|
61
|
+
foundInventory.uomValue = 0
|
|
62
|
+
foundInventory.updater = this.user
|
|
63
|
+
|
|
64
|
+
await tx.getRepository(InventoryHistory).update({ inventory: foundInventory }, { inventory: null })
|
|
65
|
+
|
|
66
|
+
await tx.getRepository(Inventory).delete({ id: foundInventory.id })
|
|
67
|
+
|
|
68
|
+
return true
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -8,6 +8,7 @@ import * as GoodsReceivalNote from './goods-receival-note'
|
|
|
8
8
|
import * as InventoryCheck from './inventory-check'
|
|
9
9
|
import * as Invoice from './invoice'
|
|
10
10
|
import * as JobSheet from './job-sheet'
|
|
11
|
+
import * as Manifest from './manifest'
|
|
11
12
|
import * as OrderInventory from './order-inventory'
|
|
12
13
|
import * as OrderProduct from './order-product'
|
|
13
14
|
import * as OrderReverseKitting from './order-reverse-kitting'
|
|
@@ -49,7 +50,8 @@ export const queries = [
|
|
|
49
50
|
GoodsReceivalNote.Query,
|
|
50
51
|
Others.Query,
|
|
51
52
|
OrderReverseKitting.Query,
|
|
52
|
-
ReverseKittingOrder.Query
|
|
53
|
+
ReverseKittingOrder.Query,
|
|
54
|
+
Manifest.Query
|
|
53
55
|
]
|
|
54
56
|
|
|
55
57
|
export const mutations = [
|
|
@@ -76,7 +78,8 @@ export const mutations = [
|
|
|
76
78
|
VasOrder.Mutation,
|
|
77
79
|
GoodsReceivalNote.Mutation,
|
|
78
80
|
ReverseKittingOrder.Mutation,
|
|
79
|
-
OrderReverseKitting.Mutation
|
|
81
|
+
OrderReverseKitting.Mutation,
|
|
82
|
+
Manifest.Mutation
|
|
80
83
|
]
|
|
81
84
|
|
|
82
85
|
export const types = [
|
|
@@ -104,5 +107,6 @@ export const types = [
|
|
|
104
107
|
...GoodsReceivalNote.Types,
|
|
105
108
|
...Others.Types,
|
|
106
109
|
...ReverseKittingOrder.Types,
|
|
107
|
-
...OrderReverseKitting.Types
|
|
110
|
+
...OrderReverseKitting.Types,
|
|
111
|
+
...Manifest.Types
|
|
108
112
|
]
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Manifest } from './manifest'
|
|
2
|
+
import { ManifestItem } from './manifest-item'
|
|
3
|
+
import { ManifestList } from './manifest-list'
|
|
4
|
+
import { ManifestPatch } from './manifest-patch'
|
|
5
|
+
import { NewManifest } from './new-manifest'
|
|
6
|
+
import { TrackingNo } from './tracking-no'
|
|
7
|
+
|
|
8
|
+
export const Mutation = `
|
|
9
|
+
generateManifest (
|
|
10
|
+
manifest: NewManifest
|
|
11
|
+
): Boolean @transaction
|
|
12
|
+
|
|
13
|
+
dispatchManifest (
|
|
14
|
+
name: String!
|
|
15
|
+
patch: ManifestPatch!
|
|
16
|
+
): Manifest @transaction
|
|
17
|
+
|
|
18
|
+
deleteManifest (
|
|
19
|
+
name: String!
|
|
20
|
+
): Manifest @transaction
|
|
21
|
+
`
|
|
22
|
+
|
|
23
|
+
export const Query = `
|
|
24
|
+
manifests(
|
|
25
|
+
filters: [Filter],
|
|
26
|
+
pagination: Pagination,sortings: [Sorting]
|
|
27
|
+
): ManifestList @transaction
|
|
28
|
+
|
|
29
|
+
manifest(
|
|
30
|
+
name: String!
|
|
31
|
+
): Manifest @transaction
|
|
32
|
+
`
|
|
33
|
+
|
|
34
|
+
export const Types = [Manifest, NewManifest, ManifestList, ManifestPatch, ManifestItem, TrackingNo]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import gql from 'graphql-tag'
|
|
2
|
+
|
|
3
|
+
export const Manifest = gql`
|
|
4
|
+
type Manifest {
|
|
5
|
+
id: String
|
|
6
|
+
name: String
|
|
7
|
+
domain: Domain
|
|
8
|
+
shippingProvider: String
|
|
9
|
+
dispatcherName: String
|
|
10
|
+
dispatcherIdentity: String
|
|
11
|
+
dispatchedAt: String
|
|
12
|
+
trackingNos: [TrackingNo]
|
|
13
|
+
status: String
|
|
14
|
+
updater: User
|
|
15
|
+
creator: User
|
|
16
|
+
updatedAt: String
|
|
17
|
+
createdAt: String
|
|
18
|
+
}
|
|
19
|
+
`
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import gql from 'graphql-tag'
|
|
2
|
+
|
|
3
|
+
export const TrackingNo = gql`
|
|
4
|
+
type TrackingNo {
|
|
5
|
+
trackingNo: String
|
|
6
|
+
refNo: String
|
|
7
|
+
dispatchmentStatus: String
|
|
8
|
+
deliveryAddress: String
|
|
9
|
+
attentionTo: String
|
|
10
|
+
postalCode: String
|
|
11
|
+
phone: String
|
|
12
|
+
city: String
|
|
13
|
+
}
|
|
14
|
+
`
|
|
@@ -11,12 +11,16 @@ export const Mutation = /* GraphQL */ `
|
|
|
11
11
|
deleteOrderInventories (
|
|
12
12
|
names: [String]!
|
|
13
13
|
): Boolean @transaction
|
|
14
|
+
|
|
15
|
+
updateOrderInventorySerialNumber(
|
|
16
|
+
orderInventory: OrderInventoryPatch
|
|
17
|
+
): OrderInventory @transaction
|
|
14
18
|
`
|
|
15
19
|
|
|
16
20
|
export const Query = /* GraphQL */ `
|
|
17
21
|
orderInventories(filters: [Filter], pagination: Pagination, sortings: [Sorting]): OrderInventoryList
|
|
18
22
|
mergedProductOrderInventories(filters: [Filter], pagination: Pagination, sortings: [Sorting]): OrderInventoryList
|
|
19
|
-
orderInventory(
|
|
23
|
+
orderInventory(id: String!): OrderInventory
|
|
20
24
|
inventoriesByOrder(filters: [Filter], pagination: Pagination, sortings: [Sorting]): OrderInventoryList
|
|
21
25
|
`
|
|
22
26
|
|