@things-factory/sales-base 3.7.13 → 3.8.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/validation-error-code.js +2 -1
- package/dist-server/constants/validation-error-code.js.map +1 -1
- package/dist-server/entities/release-good.js +4 -0
- package/dist-server/entities/release-good.js.map +1 -1
- package/dist-server/graphql/resolvers/arrival-notice/update-arrival-notice-details.js +28 -0
- package/dist-server/graphql/resolvers/arrival-notice/update-arrival-notice-details.js.map +1 -0
- package/dist-server/graphql/resolvers/release-good/bulk-add-release-goods.js +213 -0
- package/dist-server/graphql/resolvers/release-good/bulk-add-release-goods.js.map +1 -0
- package/dist-server/graphql/resolvers/release-good/bulk-release-goods-available-items.js +163 -0
- package/dist-server/graphql/resolvers/release-good/bulk-release-goods-available-items.js.map +1 -0
- package/dist-server/graphql/resolvers/release-good/generate-release-good.js +2 -1
- package/dist-server/graphql/resolvers/release-good/generate-release-good.js.map +1 -1
- package/dist-server/graphql/resolvers/release-good/index.js +5 -3
- package/dist-server/graphql/resolvers/release-good/index.js.map +1 -1
- package/dist-server/graphql/resolvers/release-good/release-good-requests.js +17 -0
- package/dist-server/graphql/resolvers/release-good/release-good-requests.js.map +1 -1
- package/dist-server/graphql/resolvers/release-good/update-release-good-details.js +4 -5
- package/dist-server/graphql/resolvers/release-good/update-release-good-details.js.map +1 -1
- package/dist-server/graphql/resolvers/return-order/generate-return-order.js +2 -4
- package/dist-server/graphql/resolvers/return-order/generate-return-order.js.map +1 -1
- package/dist-server/graphql/types/release-good/index.js +14 -0
- package/dist-server/graphql/types/release-good/index.js.map +1 -1
- package/dist-server/graphql/types/release-good/new-raw-release-good.js +62 -0
- package/dist-server/graphql/types/release-good/new-raw-release-good.js.map +1 -0
- package/dist-server/graphql/types/release-good/raw-release-good.js +65 -0
- package/dist-server/graphql/types/release-good/raw-release-good.js.map +1 -0
- package/dist-server/graphql/types/release-good/release-good.js +1 -0
- package/dist-server/graphql/types/release-good/release-good.js.map +1 -1
- package/dist-server/utils/inventory-util.js +5 -2
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/package.json +12 -12
- package/server/constants/validation-error-code.ts +3 -2
- package/server/entities/release-good.ts +3 -0
- package/server/graphql/resolvers/arrival-notice/update-arrival-notice-details.ts +32 -0
- package/server/graphql/resolvers/release-good/bulk-add-release-goods.ts +343 -0
- package/server/graphql/resolvers/release-good/bulk-release-goods-available-items.ts +207 -0
- package/server/graphql/resolvers/release-good/generate-release-good.ts +3 -2
- package/server/graphql/resolvers/release-good/index.ts +5 -1
- package/server/graphql/resolvers/release-good/release-good-requests.ts +23 -0
- package/server/graphql/resolvers/release-good/update-release-good-details.ts +8 -5
- package/server/graphql/resolvers/return-order/generate-return-order.ts +6 -6
- package/server/graphql/types/release-good/index.ts +14 -0
- package/server/graphql/types/release-good/new-raw-release-good.ts +56 -0
- package/server/graphql/types/release-good/raw-release-good.ts +59 -0
- package/server/graphql/types/release-good/release-good.ts +1 -0
- package/server/utils/inventory-util.ts +7 -2
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { EntityManager } from 'typeorm'
|
|
2
|
+
|
|
1
3
|
import { Attachment, createAttachments } from '@things-factory/attachment-base'
|
|
2
4
|
import { User } from '@things-factory/auth-base'
|
|
3
|
-
import { Bizplace
|
|
5
|
+
import { Bizplace } from '@things-factory/biz-base'
|
|
4
6
|
import { Product } from '@things-factory/product-base'
|
|
5
7
|
import { Domain } from '@things-factory/shell'
|
|
6
8
|
import { Inventory } from '@things-factory/warehouse-base'
|
|
7
|
-
|
|
9
|
+
|
|
8
10
|
import { ORDER_STATUS } from '../../../constants'
|
|
9
11
|
import { ATTACHMENT_TYPE } from '../../../constants/attachment-type'
|
|
10
12
|
import { ORDER_INVENTORY_STATUS } from '../../../constants/order'
|
|
@@ -17,7 +19,6 @@ export const generateReturnOrder = {
|
|
|
17
19
|
|
|
18
20
|
const bizplace: Bizplace = await tx.getRepository(Bizplace).findOne(returnOrder.customerBizplaceId)
|
|
19
21
|
let orderInventories: OrderInventory[] = returnOrder.orderInventories
|
|
20
|
-
let foundInv = Inventory
|
|
21
22
|
|
|
22
23
|
let newReturnOrder: ReturnOrder = {
|
|
23
24
|
...returnOrder,
|
|
@@ -29,7 +30,7 @@ export const generateReturnOrder = {
|
|
|
29
30
|
updater: user
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
if (newReturnOrder.orderInventories[0].returnQty < 0) {
|
|
33
|
+
if (newReturnOrder.orderInventories[0].returnQty < 0) {
|
|
33
34
|
throw new Error('invalid return quantity')
|
|
34
35
|
}
|
|
35
36
|
|
|
@@ -47,8 +48,7 @@ export const generateReturnOrder = {
|
|
|
47
48
|
newOrderInv.updater = user
|
|
48
49
|
|
|
49
50
|
if (newOrderInv.inventory?.id) {
|
|
50
|
-
|
|
51
|
-
newOrderInv.inventory = foundInv
|
|
51
|
+
newOrderInv.inventory = await tx.getRepository(Inventory).findOne(newOrderInv.inventory?.id)
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
await tx.getRepository(OrderInventory).save(newOrderInv)
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { InventoryInfos } from './inventory-infos'
|
|
2
|
+
import { NewRawReleaseGood } from './new-raw-release-good'
|
|
2
3
|
import { NewReleaseGood } from './new-release-good'
|
|
4
|
+
import { RawReleaseGood } from './raw-release-good'
|
|
3
5
|
import { ReleasableInventory } from './releasable-inventory'
|
|
4
6
|
import { ReleasableInventoryList } from './releasable-inventory-list'
|
|
5
7
|
import { ReleaseGood } from './release-good'
|
|
@@ -9,6 +11,11 @@ import { ReleaseGoodPatch } from './release-good-patch'
|
|
|
9
11
|
import { ShippingOrderInfo } from './shipping-order-info'
|
|
10
12
|
|
|
11
13
|
export const Mutation = /* GraphQL */ `
|
|
14
|
+
bulkAddReleaseGoods (
|
|
15
|
+
rawReleaseGoods: [NewRawReleaseGood]
|
|
16
|
+
bizplaceId: String
|
|
17
|
+
): ReleaseGoodList @privilege(category: "order_customer", privilege: "mutation") @transaction
|
|
18
|
+
|
|
12
19
|
deleteReleaseGood (
|
|
13
20
|
name: String!
|
|
14
21
|
): Boolean @privilege(category: "order_customer", privilege: "mutation") @transaction
|
|
@@ -49,6 +56,11 @@ export const Mutation = /* GraphQL */ `
|
|
|
49
56
|
`
|
|
50
57
|
|
|
51
58
|
export const Query = /* GraphQL */ `
|
|
59
|
+
bulkReleaseGoodsAvailableItems (
|
|
60
|
+
rawReleaseGoods: [NewRawReleaseGood]
|
|
61
|
+
bizplaceId: String
|
|
62
|
+
): [RawReleaseGood] @privilege(category: "order_customer", privilege: "query") @transaction
|
|
63
|
+
|
|
52
64
|
releaseGoods (
|
|
53
65
|
filters: [Filter],
|
|
54
66
|
pagination: Pagination,
|
|
@@ -78,7 +90,9 @@ export const Query = /* GraphQL */ `
|
|
|
78
90
|
`
|
|
79
91
|
|
|
80
92
|
export const Types = [
|
|
93
|
+
RawReleaseGood,
|
|
81
94
|
ReleaseGood,
|
|
95
|
+
NewRawReleaseGood,
|
|
82
96
|
NewReleaseGood,
|
|
83
97
|
ReleaseGoodPatch,
|
|
84
98
|
ReleaseGoodList,
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import gql from 'graphql-tag'
|
|
2
|
+
|
|
3
|
+
export const NewRawReleaseGood = gql`
|
|
4
|
+
input NewRawReleaseGood {
|
|
5
|
+
name: String
|
|
6
|
+
releaseDate: String
|
|
7
|
+
type: String
|
|
8
|
+
collectionOrderNo: String
|
|
9
|
+
ownTransport: Boolean
|
|
10
|
+
crossDocking: Boolean
|
|
11
|
+
courierOption: Boolean
|
|
12
|
+
packingOption: Boolean
|
|
13
|
+
packageId: String
|
|
14
|
+
truckNo: String
|
|
15
|
+
refNo: String
|
|
16
|
+
refNo2: String
|
|
17
|
+
refNo3: String
|
|
18
|
+
pickupAddress: String
|
|
19
|
+
pickupTime: String
|
|
20
|
+
handoverType: String
|
|
21
|
+
dropoffAddress: String
|
|
22
|
+
marketplaceOrderStatus: String
|
|
23
|
+
billingAddress: String
|
|
24
|
+
deliveryAddress1: String
|
|
25
|
+
deliveryAddress2: String
|
|
26
|
+
deliveryAddress3: String
|
|
27
|
+
deliveryAddress4: String
|
|
28
|
+
deliveryAddress5: String
|
|
29
|
+
attentionTo: String
|
|
30
|
+
attentionCompany: String
|
|
31
|
+
city: String
|
|
32
|
+
state: String
|
|
33
|
+
postalCode: String
|
|
34
|
+
country: String
|
|
35
|
+
phone1: String
|
|
36
|
+
phone2: String
|
|
37
|
+
email: String
|
|
38
|
+
transporter: String
|
|
39
|
+
trackingNo: String
|
|
40
|
+
airwayBill: String
|
|
41
|
+
invoice: String
|
|
42
|
+
status: String
|
|
43
|
+
description: String
|
|
44
|
+
warehouseId: String #outletID
|
|
45
|
+
deliverTo: String
|
|
46
|
+
customerBizplaceId: String
|
|
47
|
+
partnerBizplaceId: String
|
|
48
|
+
batchId: String
|
|
49
|
+
packingType: String
|
|
50
|
+
packingSize: Int
|
|
51
|
+
uom: String
|
|
52
|
+
productId: String
|
|
53
|
+
sku: String
|
|
54
|
+
releaseQty: Int
|
|
55
|
+
}
|
|
56
|
+
`
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import gql from 'graphql-tag'
|
|
2
|
+
|
|
3
|
+
export const RawReleaseGood = gql`
|
|
4
|
+
type RawReleaseGood {
|
|
5
|
+
name: String
|
|
6
|
+
releaseDate: String
|
|
7
|
+
type: String
|
|
8
|
+
collectionOrderNo: String
|
|
9
|
+
ownTransport: Boolean
|
|
10
|
+
crossDocking: Boolean
|
|
11
|
+
courierOption: Boolean
|
|
12
|
+
packingOption: Boolean
|
|
13
|
+
packageId: String
|
|
14
|
+
truckNo: String
|
|
15
|
+
refNo: String
|
|
16
|
+
refNo2: String
|
|
17
|
+
refNo3: String
|
|
18
|
+
pickupAddress: String
|
|
19
|
+
pickupTime: String
|
|
20
|
+
handoverType: String
|
|
21
|
+
dropoffAddress: String
|
|
22
|
+
marketplaceOrderStatus: String
|
|
23
|
+
billingAddress: String
|
|
24
|
+
deliveryAddress1: String
|
|
25
|
+
deliveryAddress2: String
|
|
26
|
+
deliveryAddress3: String
|
|
27
|
+
deliveryAddress4: String
|
|
28
|
+
deliveryAddress5: String
|
|
29
|
+
attentionTo: String
|
|
30
|
+
attentionCompany: String
|
|
31
|
+
city: String
|
|
32
|
+
state: String
|
|
33
|
+
postalCode: String
|
|
34
|
+
country: String
|
|
35
|
+
phone1: String
|
|
36
|
+
phone2: String
|
|
37
|
+
email: String
|
|
38
|
+
transporter: String
|
|
39
|
+
trackingNo: String
|
|
40
|
+
airwayBill: String
|
|
41
|
+
invoice: String
|
|
42
|
+
status: String
|
|
43
|
+
description: String
|
|
44
|
+
warehouseId: String #outletID
|
|
45
|
+
deliverTo: String
|
|
46
|
+
customerBizplaceId: String
|
|
47
|
+
partnerBizplaceId: String
|
|
48
|
+
batchId: String
|
|
49
|
+
packingType: String
|
|
50
|
+
packingSize: Int
|
|
51
|
+
uom: String
|
|
52
|
+
productId: String
|
|
53
|
+
sku: String
|
|
54
|
+
releaseQty: Int
|
|
55
|
+
releaseUomValue: Float
|
|
56
|
+
assignedQty: Int
|
|
57
|
+
assignedUomValue: Float
|
|
58
|
+
}
|
|
59
|
+
`
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
InventoryNoGenerator,
|
|
12
12
|
Location,
|
|
13
13
|
LOCATION_STATUS,
|
|
14
|
+
LOCATION_TYPE,
|
|
14
15
|
Pallet
|
|
15
16
|
} from '@things-factory/warehouse-base'
|
|
16
17
|
|
|
@@ -109,6 +110,7 @@ export const InventoryUtil = {
|
|
|
109
110
|
inventories i
|
|
110
111
|
LEFT JOIN products p ON i.product_id = p.id
|
|
111
112
|
LEFT JOIN oi ON i.batch_id = oi.batch_id AND p.name = oi.product_name AND i.packing_type = oi.packing_type AND i.packing_size = oi.packing_size AND i.uom = oi.uom
|
|
113
|
+
LEFT JOIN locations l2 ON i.location_id = l2.id AND i.domain_id = l2.domain_id
|
|
112
114
|
LEFT JOIN (
|
|
113
115
|
SELECT pbs.product_id, SUM(pbs.bundle_qty * src.release_qty) AS bundle_product_release_qty, SUM(pbs.bundle_qty * src.release_uom_value) AS bundle_product_release_uom_value
|
|
114
116
|
FROM product_bundle_settings pbs
|
|
@@ -116,6 +118,7 @@ export const InventoryUtil = {
|
|
|
116
118
|
GROUP BY pbs.product_id
|
|
117
119
|
) bp on i.product_id = bp.product_id
|
|
118
120
|
WHERE i.domain_id = $1
|
|
121
|
+
AND l2.type NOT IN ('${LOCATION_TYPE.QUARANTINE}', '${LOCATION_TYPE.RESERVE}')
|
|
119
122
|
${productWhereClause}
|
|
120
123
|
GROUP BY
|
|
121
124
|
i.batch_id,
|
|
@@ -422,6 +425,10 @@ async function getConditions(
|
|
|
422
425
|
whereClause += `AND LOWER("groupType") LIKE 'bundle'`
|
|
423
426
|
break
|
|
424
427
|
|
|
428
|
+
case 'hideBundle':
|
|
429
|
+
whereClause += `AND LOWER("groupType") LIKE 'single'`
|
|
430
|
+
break
|
|
431
|
+
|
|
425
432
|
case 'batch_product':
|
|
426
433
|
productWhereClause += `
|
|
427
434
|
AND (i.batch_id, p.id, i.packing_type) ${operator === 'in' ? 'IN' : 'NOT IN'} (${value
|
|
@@ -551,8 +558,6 @@ async function generateInventoryHistory(
|
|
|
551
558
|
inventoryHistory.uom = inventory.uom
|
|
552
559
|
inventoryHistory.qty = qty
|
|
553
560
|
inventoryHistory.openingQty = openingQty
|
|
554
|
-
inventoryHistory.weight = 0
|
|
555
|
-
inventoryHistory.openingWeight = 0
|
|
556
561
|
inventoryHistory.uomValue = uomValue
|
|
557
562
|
inventoryHistory.openingUomValue = openingUomValue
|
|
558
563
|
inventoryHistory.unitCost = inventory.unitCost
|