@things-factory/sales-base 4.3.143 → 4.3.146
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/service/index.js +39 -25
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/manifest/manifest-mutation.js +13 -9
- package/dist-server/service/manifest/manifest-mutation.js.map +1 -1
- package/dist-server/service/manifest/manifest-query.js +14 -24
- package/dist-server/service/manifest/manifest-query.js.map +1 -1
- package/dist-server/service/order-package/index.js +9 -0
- package/dist-server/service/order-package/index.js.map +1 -0
- package/dist-server/service/order-package/order-package-mutation.js +120 -0
- package/dist-server/service/order-package/order-package-mutation.js.map +1 -0
- package/dist-server/service/order-package/order-package-query.js +119 -0
- package/dist-server/service/order-package/order-package-query.js.map +1 -0
- package/dist-server/service/order-package/order-package-types.js +105 -0
- package/dist-server/service/order-package/order-package-types.js.map +1 -0
- package/dist-server/service/order-package/order-package.js +147 -0
- package/dist-server/service/order-package/order-package.js.map +1 -0
- package/dist-server/service/order-package-item/index.js +9 -0
- package/dist-server/service/order-package-item/index.js.map +1 -0
- package/dist-server/service/order-package-item/order-package-item-mutation.js +120 -0
- package/dist-server/service/order-package-item/order-package-item-mutation.js.map +1 -0
- package/dist-server/service/order-package-item/order-package-item-query.js +126 -0
- package/dist-server/service/order-package-item/order-package-item-query.js.map +1 -0
- package/dist-server/service/order-package-item/order-package-item-types.js +87 -0
- package/dist-server/service/order-package-item/order-package-item-types.js.map +1 -0
- package/dist-server/service/order-package-item/order-package-item.js +123 -0
- package/dist-server/service/order-package-item/order-package-item.js.map +1 -0
- package/dist-server/service/order-product/order-product.js +6 -0
- package/dist-server/service/order-product/order-product.js.map +1 -1
- package/dist-server/service/others/other-query.js +19 -17
- package/dist-server/service/others/other-query.js.map +1 -1
- package/dist-server/service/release-good/release-good-query.js +15 -4
- package/dist-server/service/release-good/release-good-query.js.map +1 -1
- package/dist-server/service/release-good/release-good.js +10 -0
- package/dist-server/service/release-good/release-good.js.map +1 -1
- package/dist-server/utils/order-no-generator.js +7 -0
- package/dist-server/utils/order-no-generator.js.map +1 -1
- package/package.json +14 -14
- package/server/service/index.ts +41 -29
- package/server/service/manifest/manifest-mutation.ts +18 -9
- package/server/service/manifest/manifest-query.ts +22 -30
- package/server/service/order-package/index.ts +6 -0
- package/server/service/order-package/order-package-mutation.ts +113 -0
- package/server/service/order-package/order-package-query.ts +86 -0
- package/server/service/order-package/order-package-types.ts +66 -0
- package/server/service/order-package/order-package.ts +118 -0
- package/server/service/order-package-item/index.ts +6 -0
- package/server/service/order-package-item/order-package-item-mutation.ts +113 -0
- package/server/service/order-package-item/order-package-item-query.ts +89 -0
- package/server/service/order-package-item/order-package-item-types.ts +51 -0
- package/server/service/order-package-item/order-package-item.ts +102 -0
- package/server/service/order-product/order-product.ts +5 -0
- package/server/service/others/other-query.ts +25 -25
- package/server/service/release-good/release-good-query.ts +26 -10
- package/server/service/release-good/release-good.ts +9 -0
- package/server/utils/order-no-generator.ts +11 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'
|
|
2
|
+
|
|
3
|
+
import { OrderPackageItem } from './order-package-item'
|
|
4
|
+
|
|
5
|
+
@InputType()
|
|
6
|
+
export class NewOrderPackageItem {
|
|
7
|
+
@Field()
|
|
8
|
+
name: string
|
|
9
|
+
|
|
10
|
+
@Field({ nullable: true })
|
|
11
|
+
status?: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@InputType()
|
|
15
|
+
export class OrderPackageItemPatch {
|
|
16
|
+
@Field(type => ID, { nullable: true })
|
|
17
|
+
id?: string
|
|
18
|
+
|
|
19
|
+
@Field({ nullable: true })
|
|
20
|
+
name?: string
|
|
21
|
+
|
|
22
|
+
@Field({ nullable: true })
|
|
23
|
+
releaseQty?: number
|
|
24
|
+
|
|
25
|
+
@Field({ nullable: true })
|
|
26
|
+
status?: string
|
|
27
|
+
|
|
28
|
+
@Field()
|
|
29
|
+
cuFlag: string
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@ObjectType()
|
|
33
|
+
export class OrderPackageItemList {
|
|
34
|
+
@Field(type => [OrderPackageItem])
|
|
35
|
+
items: OrderPackageItem[]
|
|
36
|
+
|
|
37
|
+
@Field(type => Int)
|
|
38
|
+
total: number
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@ObjectType()
|
|
42
|
+
export class TrackingInformation {
|
|
43
|
+
@Field(type => String)
|
|
44
|
+
trackingNo: string
|
|
45
|
+
|
|
46
|
+
@Field(type => String)
|
|
47
|
+
sku: string
|
|
48
|
+
|
|
49
|
+
@Field(type => String)
|
|
50
|
+
releaseQty: number
|
|
51
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Field, ID, ObjectType } from 'type-graphql'
|
|
2
|
+
import {
|
|
3
|
+
Column,
|
|
4
|
+
CreateDateColumn,
|
|
5
|
+
Entity,
|
|
6
|
+
Index,
|
|
7
|
+
ManyToOne,
|
|
8
|
+
PrimaryGeneratedColumn,
|
|
9
|
+
RelationId,
|
|
10
|
+
UpdateDateColumn
|
|
11
|
+
} from 'typeorm'
|
|
12
|
+
|
|
13
|
+
import { User } from '@things-factory/auth-base'
|
|
14
|
+
import { Bizplace } from '@things-factory/biz-base'
|
|
15
|
+
import { Domain } from '@things-factory/shell'
|
|
16
|
+
|
|
17
|
+
import { OrderPackage, OrderProduct } from '../'
|
|
18
|
+
|
|
19
|
+
@Entity()
|
|
20
|
+
@Index(
|
|
21
|
+
'ix_order_package_item_0',
|
|
22
|
+
(orderPackageItem: OrderPackageItem) => [orderPackageItem.domain, orderPackageItem.name],
|
|
23
|
+
{ unique: true }
|
|
24
|
+
)
|
|
25
|
+
@ObjectType({ description: 'Entity for OrderPackageItem' })
|
|
26
|
+
export class OrderPackageItem {
|
|
27
|
+
@PrimaryGeneratedColumn('uuid')
|
|
28
|
+
@Field(type => ID)
|
|
29
|
+
readonly id: string
|
|
30
|
+
|
|
31
|
+
@ManyToOne(type => Domain)
|
|
32
|
+
@Field({ nullable: true })
|
|
33
|
+
domain?: Domain
|
|
34
|
+
|
|
35
|
+
@RelationId((orderPackageItem: OrderPackageItem) => orderPackageItem.domain)
|
|
36
|
+
domainId?: string
|
|
37
|
+
|
|
38
|
+
@ManyToOne(type => Bizplace)
|
|
39
|
+
@Field(type => Bizplace, { nullable: true })
|
|
40
|
+
bizplace?: Bizplace
|
|
41
|
+
|
|
42
|
+
@RelationId((orderPackageItem: OrderPackageItem) => orderPackageItem.bizplace)
|
|
43
|
+
bizplaceId?: string
|
|
44
|
+
|
|
45
|
+
@ManyToOne(type => OrderPackage)
|
|
46
|
+
@Field(type => OrderPackage, { nullable: true })
|
|
47
|
+
orderPackage?: OrderPackage
|
|
48
|
+
|
|
49
|
+
@RelationId((orderPackageItem: OrderPackageItem) => orderPackageItem.orderPackage)
|
|
50
|
+
orderPackageId?: string
|
|
51
|
+
|
|
52
|
+
@ManyToOne(type => OrderProduct)
|
|
53
|
+
@Field(type => OrderProduct, { nullable: true })
|
|
54
|
+
orderProduct?: OrderProduct
|
|
55
|
+
|
|
56
|
+
@RelationId((orderPackageItem: OrderPackageItem) => orderPackageItem.orderProduct)
|
|
57
|
+
orderProductId?: string
|
|
58
|
+
|
|
59
|
+
@Column()
|
|
60
|
+
@Field()
|
|
61
|
+
name: string
|
|
62
|
+
|
|
63
|
+
@Column({
|
|
64
|
+
nullable: true
|
|
65
|
+
})
|
|
66
|
+
@Field({ nullable: true })
|
|
67
|
+
status?: string
|
|
68
|
+
|
|
69
|
+
@Column({ nullable: true })
|
|
70
|
+
@Field({ nullable: true })
|
|
71
|
+
releaseQty: number
|
|
72
|
+
|
|
73
|
+
@Column({ nullable: true })
|
|
74
|
+
@Field({ nullable: true })
|
|
75
|
+
packedQty: number
|
|
76
|
+
|
|
77
|
+
@CreateDateColumn()
|
|
78
|
+
@Field({ nullable: true })
|
|
79
|
+
createdAt?: Date
|
|
80
|
+
|
|
81
|
+
@UpdateDateColumn()
|
|
82
|
+
@Field({ nullable: true })
|
|
83
|
+
updatedAt?: Date
|
|
84
|
+
|
|
85
|
+
@ManyToOne(type => User, {
|
|
86
|
+
nullable: true
|
|
87
|
+
})
|
|
88
|
+
@Field({ nullable: true })
|
|
89
|
+
creator?: User
|
|
90
|
+
|
|
91
|
+
@RelationId((orderPackageItem: OrderPackageItem) => orderPackageItem.creator)
|
|
92
|
+
creatorId?: string
|
|
93
|
+
|
|
94
|
+
@ManyToOne(type => User, {
|
|
95
|
+
nullable: true
|
|
96
|
+
})
|
|
97
|
+
@Field({ nullable: true })
|
|
98
|
+
updater?: User
|
|
99
|
+
|
|
100
|
+
@RelationId((orderPackageItem: OrderPackageItem) => orderPackageItem.creator)
|
|
101
|
+
updaterId?: string
|
|
102
|
+
}
|
|
@@ -22,6 +22,7 @@ import { CollectionOrder } from '../collection-order/collection-order'
|
|
|
22
22
|
import { DeliveryOrder } from '../delivery-order/delivery-order'
|
|
23
23
|
import { DraftReleaseGood } from '../draft-release-good/draft-release-good'
|
|
24
24
|
import { OrderInventory } from '../order-inventory/order-inventory'
|
|
25
|
+
import { OrderPackageItem } from '../order-package-item/order-package-item'
|
|
25
26
|
import { PurchaseOrder } from '../purchase-order/purchase-order'
|
|
26
27
|
import { ReleaseGood } from '../release-good/release-good'
|
|
27
28
|
import { RetailReplenishmentOrder } from '../retail-replenishment-order/retail-replenishment-order'
|
|
@@ -131,6 +132,10 @@ export class OrderProduct {
|
|
|
131
132
|
@Field(type => [OrderInventory], { nullable: true })
|
|
132
133
|
orderInventories: OrderInventory
|
|
133
134
|
|
|
135
|
+
@OneToMany(type => OrderPackageItem, orderPackageItem => orderPackageItem.orderProduct)
|
|
136
|
+
@Field(type => [OrderPackageItem], { nullable: true })
|
|
137
|
+
orderPackageItems: OrderPackageItem[]
|
|
138
|
+
|
|
134
139
|
@ManyToOne(type => RetailReplenishmentOrder)
|
|
135
140
|
@Field(type => RetailReplenishmentOrder, { nullable: true })
|
|
136
141
|
retailReplenishmentOrder: RetailReplenishmentOrder
|
|
@@ -206,30 +206,30 @@ export class OtherQuery {
|
|
|
206
206
|
|
|
207
207
|
let packageUomValue = availableItem ? availableItem.remainUomValue / availableItem.remainQty : null
|
|
208
208
|
const newOrderInventory: any = {
|
|
209
|
-
product:
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
productId:
|
|
222
|
-
productDetailID:
|
|
223
|
-
productSKU:
|
|
224
|
-
productName:
|
|
225
|
-
uom:
|
|
226
|
-
remainQty:
|
|
227
|
-
remainUomValue:
|
|
228
|
-
remainUomValueWithUom:
|
|
229
|
-
batchId:
|
|
230
|
-
batchIdRef:
|
|
231
|
-
packingType:
|
|
232
|
-
packingSize:
|
|
209
|
+
product: availableItem
|
|
210
|
+
? { id: availableItem.productId, sku: availableItem.productSKU, name: availableItem.productName }
|
|
211
|
+
: { id: null },
|
|
212
|
+
productDetail: availableItem ? { id: availableItem.productDetailId } : null,
|
|
213
|
+
inventory: availableItem
|
|
214
|
+
? {
|
|
215
|
+
...availableItem,
|
|
216
|
+
remainQty: availableItem ? availableItem.remainQty : null,
|
|
217
|
+
remainUomValue: availableItem ? availableItem.remainUomValue : null,
|
|
218
|
+
remainUomValueWithUom: availableItem ? availableItem.remainUomValueWithUom : ''
|
|
219
|
+
}
|
|
220
|
+
: null,
|
|
221
|
+
productId: availableItem ? availableItem.productId : null,
|
|
222
|
+
productDetailID: availableItem ? availableItem.productDetailId : null,
|
|
223
|
+
productSKU: availableItem ? availableItem.productSKU : orderInventory.productSKU,
|
|
224
|
+
productName: availableItem ? availableItem.productName : null,
|
|
225
|
+
uom: availableItem ? availableItem.uom : null,
|
|
226
|
+
remainQty: availableItem ? availableItem.remainQty : null,
|
|
227
|
+
remainUomValue: availableItem ? availableItem.remainUomValue : null,
|
|
228
|
+
remainUomValueWithUom: availableItem ? availableItem.remainUomValueWithUom : '',
|
|
229
|
+
batchId: availableItem ? availableItem.batchId : null,
|
|
230
|
+
batchIdRef: availableItem ? availableItem.batchIdRef : null,
|
|
231
|
+
packingType: availableItem ? availableItem.packingType : orderInventory.packingType,
|
|
232
|
+
packingSize: availableItem ? availableItem.packingSize : 1,
|
|
233
233
|
releaseQty: orderInventory.releaseQty
|
|
234
234
|
? Number.isInteger(orderInventory.releaseQty)
|
|
235
235
|
? orderInventory.releaseQty
|
|
@@ -241,7 +241,7 @@ export class OtherQuery {
|
|
|
241
241
|
: null
|
|
242
242
|
: null,
|
|
243
243
|
groupType: availableItem ? availableItem.groupType : null,
|
|
244
|
-
isError: !availableItem || !orderInventory.releaseQty
|
|
244
|
+
isError: !availableItem || !orderInventory.releaseQty ? true : false
|
|
245
245
|
}
|
|
246
246
|
|
|
247
247
|
newOrderInventories.push(newOrderInventory)
|
|
@@ -10,6 +10,7 @@ import { Inventory, LOCATION_TYPE } from '@things-factory/warehouse-base'
|
|
|
10
10
|
|
|
11
11
|
import { ATTACHMENT_TYPE, ORDER_INVENTORY_STATUS, ORDER_STATUS } from '../../constants'
|
|
12
12
|
import { OrderInventory } from '../order-inventory/order-inventory'
|
|
13
|
+
import { OrderPackage } from '../order-package/order-package'
|
|
13
14
|
import { ShippingOrder } from '../shipping-order/shipping-order'
|
|
14
15
|
import { ReleaseGood } from './release-good'
|
|
15
16
|
import { NewReleaseGood, ReleasableInventoryList, ReleaseGoodList } from './release-good-types'
|
|
@@ -182,6 +183,7 @@ export class ReleaseGoodQuery {
|
|
|
182
183
|
'arrivalNotice',
|
|
183
184
|
'orderProducts',
|
|
184
185
|
'orderProducts.product',
|
|
186
|
+
'orderPackages',
|
|
185
187
|
'orderVass',
|
|
186
188
|
'orderVass.vas',
|
|
187
189
|
'orderVass.targetProduct',
|
|
@@ -492,16 +494,30 @@ export class ReleaseGoodQuery {
|
|
|
492
494
|
|
|
493
495
|
let [items, total] = await qb.getManyAndCount()
|
|
494
496
|
|
|
495
|
-
items =
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
497
|
+
items = await Promise.all(
|
|
498
|
+
items
|
|
499
|
+
.filter(item => {
|
|
500
|
+
return item.domainId === domain.id
|
|
501
|
+
})
|
|
502
|
+
.map(async item => {
|
|
503
|
+
const orderPackages: OrderPackage[] = await getRepository(OrderPackage).find({
|
|
504
|
+
where: { releaseGood: item, domain, bizplace: item.bizplace }
|
|
505
|
+
})
|
|
506
|
+
return {
|
|
507
|
+
...item,
|
|
508
|
+
transporter: orderPackages?.length
|
|
509
|
+
? [
|
|
510
|
+
...new Set(
|
|
511
|
+
orderPackages.map(op => {
|
|
512
|
+
return op.transporter
|
|
513
|
+
})
|
|
514
|
+
)
|
|
515
|
+
].join(', ')
|
|
516
|
+
: null,
|
|
517
|
+
orderRemark: item?.remark ? true : false
|
|
518
|
+
}
|
|
519
|
+
})
|
|
520
|
+
)
|
|
505
521
|
console.timeEnd('t1')
|
|
506
522
|
return { items, total }
|
|
507
523
|
} catch (error) {
|
|
@@ -25,6 +25,7 @@ import {
|
|
|
25
25
|
InventoryInfos,
|
|
26
26
|
Manifest,
|
|
27
27
|
OrderInventory,
|
|
28
|
+
OrderPackage,
|
|
28
29
|
OrderProduct,
|
|
29
30
|
OrderVas,
|
|
30
31
|
ShippingOrder,
|
|
@@ -159,6 +160,10 @@ export class ReleaseGood {
|
|
|
159
160
|
@Field(type => [OrderProduct], { nullable: true })
|
|
160
161
|
orderProducts: OrderProduct[]
|
|
161
162
|
|
|
163
|
+
@OneToMany(type => OrderPackage, orderPackage => orderPackage.releaseGood)
|
|
164
|
+
@Field(type => [OrderPackage], { nullable: true })
|
|
165
|
+
orderPackages: OrderPackage[]
|
|
166
|
+
|
|
162
167
|
@Column()
|
|
163
168
|
@Field()
|
|
164
169
|
status: string
|
|
@@ -307,6 +312,10 @@ export class ReleaseGood {
|
|
|
307
312
|
@Field({ nullable: true })
|
|
308
313
|
packageId: string
|
|
309
314
|
|
|
315
|
+
@Column({ nullable: true, default: false })
|
|
316
|
+
@Field({ nullable: true })
|
|
317
|
+
packOrderFail: Boolean
|
|
318
|
+
|
|
310
319
|
@Column({ nullable: true })
|
|
311
320
|
@Field({ nullable: true })
|
|
312
321
|
transporter: string
|
|
@@ -50,6 +50,13 @@ export class OrderNoGenerator {
|
|
|
50
50
|
}${currentDate.getDate()}${currentDate.getHours()}${currentDate.getMinutes()}${currentDate.getSeconds()}${currentDate.getMilliseconds()}`
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
+
static orderPackage() {
|
|
54
|
+
const currentDate = new Date()
|
|
55
|
+
return `OPK-${currentDate.getFullYear()}${
|
|
56
|
+
currentDate.getMonth() + 1
|
|
57
|
+
}${currentDate.getDate()}${currentDate.getHours()}${currentDate.getMinutes()}${currentDate.getSeconds()}${currentDate.getMilliseconds()}`
|
|
58
|
+
}
|
|
59
|
+
|
|
53
60
|
static orderInventory() {
|
|
54
61
|
return uuidv4()
|
|
55
62
|
}
|
|
@@ -58,6 +65,10 @@ export class OrderNoGenerator {
|
|
|
58
65
|
return `OP-${uuidv4()}`
|
|
59
66
|
}
|
|
60
67
|
|
|
68
|
+
static orderPackageItem() {
|
|
69
|
+
return `OPKI-${uuidv4()}`
|
|
70
|
+
}
|
|
71
|
+
|
|
61
72
|
static invoiceProduct() {
|
|
62
73
|
return `IP-${uuidv4()}`
|
|
63
74
|
}
|