@things-factory/sales-base 4.3.239 → 4.3.244
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 +2 -1
- package/dist-server/constants/order.js.map +1 -1
- package/dist-server/controllers/ecommerce/index.js +1 -0
- package/dist-server/controllers/ecommerce/index.js.map +1 -1
- package/dist-server/controllers/ecommerce/powrup-controller.js +211 -0
- package/dist-server/controllers/ecommerce/powrup-controller.js.map +1 -0
- package/dist-server/index.js +1 -0
- package/dist-server/index.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order-query.js +2 -2
- package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -1
- package/dist-server/service/index.js +4 -0
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-query.js +2 -1
- package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-mutation.js +85 -0
- package/dist-server/service/order-vas/order-vas-mutation.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-query.js +4 -1
- package/dist-server/service/order-vas/order-vas-query.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-types.js +54 -10
- package/dist-server/service/order-vas/order-vas-types.js.map +1 -1
- package/dist-server/service/order-vas/order-vas.js +103 -21
- package/dist-server/service/order-vas/order-vas.js.map +1 -1
- package/dist-server/service/order-vas-item/index.js +9 -0
- package/dist-server/service/order-vas-item/index.js.map +1 -0
- package/dist-server/service/order-vas-item/order-vas-item-mutation.js +120 -0
- package/dist-server/service/order-vas-item/order-vas-item-mutation.js.map +1 -0
- package/dist-server/service/order-vas-item/order-vas-item-query.js +99 -0
- package/dist-server/service/order-vas-item/order-vas-item-query.js.map +1 -0
- package/dist-server/service/order-vas-item/order-vas-item-type.js +111 -0
- package/dist-server/service/order-vas-item/order-vas-item-type.js.map +1 -0
- package/dist-server/service/order-vas-item/order-vas-item.js +146 -0
- package/dist-server/service/order-vas-item/order-vas-item.js.map +1 -0
- package/dist-server/service/release-good/release-good-mutation.js +28 -25
- package/dist-server/service/release-good/release-good-mutation.js.map +1 -1
- package/dist-server/service/release-good/release-good-query.js +6 -1
- package/dist-server/service/release-good/release-good-query.js.map +1 -1
- package/dist-server/service/vas/vas.js +8 -6
- package/dist-server/service/vas/vas.js.map +1 -1
- package/dist-server/service/vas-order/vas-order-mutation.js +2 -2
- package/dist-server/service/vas-order/vas-order-mutation.js.map +1 -1
- package/package.json +4 -3
- package/server/constants/order.ts +2 -1
- package/server/controllers/ecommerce/index.ts +1 -0
- package/server/controllers/ecommerce/powrup-controller.ts +301 -0
- package/server/index.ts +1 -0
- package/server/service/delivery-order/delivery-order-query.ts +19 -19
- package/server/service/index.ts +4 -0
- package/server/service/order-inventory/order-inventory-query.ts +2 -1
- package/server/service/order-vas/order-vas-mutation.ts +94 -1
- package/server/service/order-vas/order-vas-query.ts +4 -1
- package/server/service/order-vas/order-vas-types.ts +34 -1
- package/server/service/order-vas/order-vas.ts +89 -10
- package/server/service/order-vas-item/index.ts +6 -0
- package/server/service/order-vas-item/order-vas-item-mutation.ts +112 -0
- package/server/service/order-vas-item/order-vas-item-query.ts +58 -0
- package/server/service/order-vas-item/order-vas-item-type.ts +71 -0
- package/server/service/order-vas-item/order-vas-item.ts +128 -0
- package/server/service/release-good/release-good-mutation.ts +30 -26
- package/server/service/release-good/release-good-query.ts +56 -87
- package/server/service/vas/vas.ts +11 -5
- package/server/service/vas-order/vas-order-mutation.ts +2 -2
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
CreateDateColumn,
|
|
5
5
|
Entity,
|
|
6
6
|
Index,
|
|
7
|
+
OneToMany,
|
|
7
8
|
ManyToOne,
|
|
8
9
|
PrimaryGeneratedColumn,
|
|
9
10
|
RelationId,
|
|
@@ -17,6 +18,7 @@ import { Domain } from '@things-factory/shell'
|
|
|
17
18
|
import { Inventory } from '@things-factory/warehouse-base'
|
|
18
19
|
|
|
19
20
|
import { ArrivalNotice } from '../arrival-notice/arrival-notice'
|
|
21
|
+
import { OrderInventory } from '../order-inventory/order-inventory'
|
|
20
22
|
import { ReleaseGood } from '../release-good/release-good'
|
|
21
23
|
import { RetailReplenishmentOrder } from '../retail-replenishment-order/retail-replenishment-order'
|
|
22
24
|
import { ReturnOrder } from '../return-order/return-order'
|
|
@@ -24,9 +26,12 @@ import { ShippingOrder } from '../shipping-order/shipping-order'
|
|
|
24
26
|
import { TransferOrder } from '../transfer-order/transfer-order'
|
|
25
27
|
import { VasOrder } from '../vas-order/vas-order'
|
|
26
28
|
import { Vas } from '../vas/vas'
|
|
29
|
+
import { OrderVasItem } from '../order-vas-item/order-vas-item'
|
|
27
30
|
|
|
28
31
|
@Entity('order_vass')
|
|
29
|
-
@Index('ix_order-vas_0', (orderVas: OrderVas) => [orderVas.domain, orderVas.name], {
|
|
32
|
+
@Index('ix_order-vas_0', (orderVas: OrderVas) => [orderVas.domain, orderVas.name, orderVas.releaseGood], {
|
|
33
|
+
unique: true
|
|
34
|
+
})
|
|
30
35
|
@ObjectType()
|
|
31
36
|
export class OrderVas {
|
|
32
37
|
@PrimaryGeneratedColumn('uuid')
|
|
@@ -55,14 +60,17 @@ export class OrderVas {
|
|
|
55
60
|
@Field({ nullable: true })
|
|
56
61
|
batchId: string
|
|
57
62
|
|
|
63
|
+
// not used for restrructure VAS anymore
|
|
58
64
|
@Column({ nullable: true })
|
|
59
65
|
@Field({ nullable: true })
|
|
60
66
|
set: number
|
|
61
67
|
|
|
68
|
+
// not used for restrructure VAS anymore
|
|
62
69
|
@Column({ nullable: true })
|
|
63
70
|
@Field({ nullable: true })
|
|
64
71
|
targetType: string
|
|
65
72
|
|
|
73
|
+
// not used for restrructure VAS anymore
|
|
66
74
|
@Column({ nullable: true })
|
|
67
75
|
@Field({ nullable: true })
|
|
68
76
|
targetBatchId: string
|
|
@@ -74,6 +82,45 @@ export class OrderVas {
|
|
|
74
82
|
@RelationId((orderVas: OrderVas) => orderVas.targetProduct)
|
|
75
83
|
targetProductId: string
|
|
76
84
|
|
|
85
|
+
@ManyToOne(type => Product)
|
|
86
|
+
@Field(type => Product, { nullable: true })
|
|
87
|
+
product: Product
|
|
88
|
+
|
|
89
|
+
@RelationId((orderVas: OrderVas) => orderVas.product)
|
|
90
|
+
productId: string
|
|
91
|
+
|
|
92
|
+
// moved to order vas item
|
|
93
|
+
// used to be productDetail
|
|
94
|
+
@ManyToOne(type => ProductDetail, { nullable: true })
|
|
95
|
+
@Field({ nullable: true })
|
|
96
|
+
productDetail: ProductDetail
|
|
97
|
+
|
|
98
|
+
@Column({ nullable: true })
|
|
99
|
+
@Field({ nullable: true })
|
|
100
|
+
outputQty: number
|
|
101
|
+
|
|
102
|
+
@ManyToOne(type => OrderInventory)
|
|
103
|
+
@Field(type => OrderInventory, { nullable: true })
|
|
104
|
+
orderInventory: OrderInventory
|
|
105
|
+
|
|
106
|
+
@RelationId((orderVas: OrderVas) => orderVas.orderInventory)
|
|
107
|
+
orderInventoryId: string
|
|
108
|
+
|
|
109
|
+
@ManyToOne(type => Product)
|
|
110
|
+
@Field(type => Product, { nullable: true })
|
|
111
|
+
newProduct: Product
|
|
112
|
+
|
|
113
|
+
@RelationId((orderVas: OrderVas) => orderVas.newProduct)
|
|
114
|
+
newProductId: string
|
|
115
|
+
|
|
116
|
+
@ManyToOne(type => ProductDetail, { nullable: true })
|
|
117
|
+
@Field({ nullable: true })
|
|
118
|
+
newProductDetail: ProductDetail
|
|
119
|
+
|
|
120
|
+
@RelationId((orderVas: OrderVas) => orderVas.newProductDetail)
|
|
121
|
+
newProductDetailId: string
|
|
122
|
+
|
|
123
|
+
// not used for restrructure VAS anymore
|
|
77
124
|
@Column({ nullable: true })
|
|
78
125
|
@Field({ nullable: true })
|
|
79
126
|
otherTarget: string
|
|
@@ -82,18 +129,26 @@ export class OrderVas {
|
|
|
82
129
|
@Field({ nullable: true })
|
|
83
130
|
qty: number
|
|
84
131
|
|
|
132
|
+
// not used for restrructure VAS anymore
|
|
85
133
|
@Column({ nullable: true })
|
|
86
134
|
@Field({ nullable: true })
|
|
87
135
|
actualQty: number
|
|
88
136
|
|
|
137
|
+
@Column({ nullable: true })
|
|
138
|
+
@Field({ nullable: true })
|
|
139
|
+
uom: string
|
|
140
|
+
|
|
141
|
+
// use order vas item
|
|
89
142
|
@Column('float', { nullable: true })
|
|
90
143
|
@Field({ nullable: true })
|
|
91
144
|
uomValue: number
|
|
92
145
|
|
|
146
|
+
// not used for restrructure VAS anymore
|
|
93
147
|
@Column('float', { nullable: true })
|
|
94
148
|
@Field({ nullable: true })
|
|
95
149
|
actualUomValue: number
|
|
96
150
|
|
|
151
|
+
// can try use from target product instead
|
|
97
152
|
@Column({ nullable: true })
|
|
98
153
|
@Field({ nullable: true })
|
|
99
154
|
productName: string
|
|
@@ -116,45 +171,57 @@ export class OrderVas {
|
|
|
116
171
|
@RelationId((orderVas: OrderVas) => orderVas.releaseGood)
|
|
117
172
|
releaseGoodId: string
|
|
118
173
|
|
|
174
|
+
// not used for restrructure VAS anymore
|
|
119
175
|
@ManyToOne(type => ShippingOrder)
|
|
120
176
|
@Field(type => ShippingOrder, { nullable: true })
|
|
121
177
|
shippingOrder: ShippingOrder
|
|
122
178
|
|
|
179
|
+
// not used for restrructure VAS anymore
|
|
123
180
|
@RelationId((orderVas: OrderVas) => orderVas.shippingOrder)
|
|
124
181
|
shippingOrderId: string
|
|
125
182
|
|
|
183
|
+
// not used for restrructure VAS anymore
|
|
126
184
|
@ManyToOne(type => TransferOrder)
|
|
127
185
|
@Field(type => TransferOrder, { nullable: true })
|
|
128
186
|
transferOrder: TransferOrder
|
|
129
187
|
|
|
188
|
+
// not used for restrructure VAS anymore
|
|
130
189
|
@RelationId((orderVas: OrderVas) => orderVas.transferOrder)
|
|
131
190
|
transferOrderId: string
|
|
132
191
|
|
|
192
|
+
// not used for restrructure VAS anymore
|
|
133
193
|
@ManyToOne(type => ReturnOrder)
|
|
134
194
|
@Field(type => ReturnOrder, { nullable: true })
|
|
135
195
|
returnOrder: ReturnOrder
|
|
136
196
|
|
|
197
|
+
// not used for restrructure VAS anymore
|
|
137
198
|
@RelationId((orderVas: OrderVas) => orderVas.returnOrder)
|
|
138
199
|
returnOrderId: string
|
|
139
200
|
|
|
201
|
+
// not used for restrructure VAS anymore
|
|
140
202
|
@ManyToOne(type => RetailReplenishmentOrder)
|
|
141
203
|
@Field(type => RetailReplenishmentOrder, { nullable: true })
|
|
142
204
|
retailReplenishmentOrder: RetailReplenishmentOrder
|
|
143
205
|
|
|
206
|
+
// not used for restrructure VAS anymore
|
|
144
207
|
@RelationId((orderVas: OrderVas) => orderVas.retailReplenishmentOrder)
|
|
145
208
|
retailReplenishmentOrderId: string
|
|
146
209
|
|
|
210
|
+
// remove
|
|
147
211
|
@ManyToOne(type => OrderVas)
|
|
148
212
|
@Field(type => OrderVas, { nullable: true })
|
|
149
213
|
orderVas: OrderVas
|
|
150
214
|
|
|
215
|
+
// remove
|
|
151
216
|
@RelationId((orderVas: OrderVas) => orderVas.orderVas)
|
|
152
217
|
orderVasId: string
|
|
153
218
|
|
|
219
|
+
// not used for restrructure VAS anymore
|
|
154
220
|
@ManyToOne(type => VasOrder)
|
|
155
221
|
@Field(type => VasOrder, { nullable: true })
|
|
156
222
|
vasOrder: VasOrder
|
|
157
223
|
|
|
224
|
+
// not used for restrructure VAS anymore
|
|
158
225
|
@RelationId((orderVas: OrderVas) => orderVas.vasOrder)
|
|
159
226
|
vasOrderId: string
|
|
160
227
|
|
|
@@ -165,6 +232,7 @@ export class OrderVas {
|
|
|
165
232
|
@RelationId((orderVas: OrderVas) => orderVas.vas)
|
|
166
233
|
vasId: string
|
|
167
234
|
|
|
235
|
+
// not used for restrructure VAS anymore
|
|
168
236
|
@Column({ nullable: true })
|
|
169
237
|
@Field({ nullable: true })
|
|
170
238
|
operationGuide: string
|
|
@@ -184,6 +252,22 @@ export class OrderVas {
|
|
|
184
252
|
@Field({ nullable: true })
|
|
185
253
|
remark: string
|
|
186
254
|
|
|
255
|
+
@Column({ nullable: true })
|
|
256
|
+
@Field({ nullable: true })
|
|
257
|
+
newPackingType: string
|
|
258
|
+
|
|
259
|
+
@Column({ nullable: true })
|
|
260
|
+
@Field({ nullable: true })
|
|
261
|
+
newUom: string
|
|
262
|
+
|
|
263
|
+
@Column({ nullable: true })
|
|
264
|
+
@Field({ nullable: true })
|
|
265
|
+
newUomValue: number
|
|
266
|
+
|
|
267
|
+
@OneToMany(type => OrderVasItem, orderVasItem => orderVasItem.orderVas)
|
|
268
|
+
@Field(type => [OrderVasItem])
|
|
269
|
+
orderVasItems: OrderVasItem[]
|
|
270
|
+
|
|
187
271
|
@Column({ nullable: true })
|
|
188
272
|
@Field({ nullable: true })
|
|
189
273
|
description: string
|
|
@@ -196,14 +280,6 @@ export class OrderVas {
|
|
|
196
280
|
@Field()
|
|
197
281
|
createdAt: Date
|
|
198
282
|
|
|
199
|
-
@UpdateDateColumn()
|
|
200
|
-
@Field()
|
|
201
|
-
updatedAt: Date
|
|
202
|
-
|
|
203
|
-
@ManyToOne(type => ProductDetail, { nullable: true })
|
|
204
|
-
@Field({ nullable: true })
|
|
205
|
-
productDetail: ProductDetail
|
|
206
|
-
|
|
207
283
|
@ManyToOne(type => User)
|
|
208
284
|
@Field(type => User, { nullable: true })
|
|
209
285
|
creator: User
|
|
@@ -211,11 +287,14 @@ export class OrderVas {
|
|
|
211
287
|
@RelationId((orderVas: OrderVas) => orderVas.creator)
|
|
212
288
|
creatorId: string
|
|
213
289
|
|
|
290
|
+
@UpdateDateColumn()
|
|
291
|
+
@Field()
|
|
292
|
+
updatedAt: Date
|
|
293
|
+
|
|
214
294
|
@ManyToOne(type => User)
|
|
215
295
|
@Field(type => User, { nullable: true })
|
|
216
296
|
updater: User
|
|
217
297
|
|
|
218
298
|
@RelationId((orderVas: OrderVas) => orderVas.updater)
|
|
219
299
|
updaterId: string
|
|
220
|
-
|
|
221
300
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { OrderVasItem } from './order-vas-item'
|
|
2
|
+
import { OrderVasItemQuery } from './order-vas-item-query'
|
|
3
|
+
import { OrderVasItemMutation } from './order-vas-item-mutation'
|
|
4
|
+
|
|
5
|
+
export const entities = [OrderVasItem]
|
|
6
|
+
export const resolvers = [OrderVasItemQuery, OrderVasItemMutation]
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'
|
|
2
|
+
import { getRepository, In } from 'typeorm'
|
|
3
|
+
import { OrderVasItem } from './order-vas-item'
|
|
4
|
+
import { NewOrderVasItem, OrderVasItemPatch } from './order-vas-item-type'
|
|
5
|
+
|
|
6
|
+
@Resolver(OrderVasItem)
|
|
7
|
+
export class OrderVasItemMutation {
|
|
8
|
+
@Directive('@transaction')
|
|
9
|
+
@Mutation(returns => OrderVasItem, { description: 'To create new OrderVasItem' })
|
|
10
|
+
async createOrderVasItem(
|
|
11
|
+
@Arg('orderVasItem') orderVasItem: NewOrderVasItem,
|
|
12
|
+
@Ctx() context: any
|
|
13
|
+
): Promise<OrderVasItem> {
|
|
14
|
+
const { domain, user, tx } = context.state
|
|
15
|
+
|
|
16
|
+
return await tx.getRepository(OrderVasItem).save({
|
|
17
|
+
...orderVasItem,
|
|
18
|
+
domain,
|
|
19
|
+
creator: user,
|
|
20
|
+
updater: user
|
|
21
|
+
})
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@Directive('@transaction')
|
|
25
|
+
@Mutation(returns => OrderVasItem, { description: 'To modify OrderVasItem information' })
|
|
26
|
+
async updateOrderVasItem(
|
|
27
|
+
@Arg('id') id: string,
|
|
28
|
+
@Arg('patch') patch: OrderVasItemPatch,
|
|
29
|
+
@Ctx() context: any
|
|
30
|
+
): Promise<OrderVasItem> {
|
|
31
|
+
const { domain, user, tx } = context.state
|
|
32
|
+
|
|
33
|
+
const repository = tx.getRepository(OrderVasItem)
|
|
34
|
+
const orderVasItem = await repository.findOne({
|
|
35
|
+
where: { domain, id }
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
return await repository.save({
|
|
39
|
+
...orderVasItem,
|
|
40
|
+
...patch,
|
|
41
|
+
updater: user
|
|
42
|
+
})
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@Directive('@transaction')
|
|
46
|
+
@Mutation(returns => [OrderVasItem], { description: "To modify multiple OrderVasItems' information" })
|
|
47
|
+
async updateMultipleOrderVasItem(
|
|
48
|
+
@Arg('patches', type => [OrderVasItemPatch]) patches: OrderVasItemPatch[],
|
|
49
|
+
@Ctx() context: any
|
|
50
|
+
): Promise<OrderVasItem[]> {
|
|
51
|
+
const { domain, user, tx } = context.state
|
|
52
|
+
|
|
53
|
+
let results = []
|
|
54
|
+
const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
|
|
55
|
+
const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
|
|
56
|
+
const orderVasItemRepo = tx.getRepository(OrderVasItem)
|
|
57
|
+
|
|
58
|
+
if (_createRecords.length > 0) {
|
|
59
|
+
for (let i = 0; i < _createRecords.length; i++) {
|
|
60
|
+
const newRecord = _createRecords[i]
|
|
61
|
+
const result = await orderVasItemRepo.save({
|
|
62
|
+
...newRecord,
|
|
63
|
+
executedAt: null,
|
|
64
|
+
domain,
|
|
65
|
+
creator: user,
|
|
66
|
+
updater: user
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
results.push({ ...result, cuFlag: '+' })
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (_updateRecords.length > 0) {
|
|
74
|
+
for (let i = 0; i < _updateRecords.length; i++) {
|
|
75
|
+
const newRecord = _updateRecords[i]
|
|
76
|
+
const orderVasItem = await orderVasItemRepo.findOne(newRecord.id)
|
|
77
|
+
|
|
78
|
+
const result = await orderVasItemRepo.save({
|
|
79
|
+
...orderVasItem,
|
|
80
|
+
...newRecord,
|
|
81
|
+
updater: user
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
results.push({ ...result, cuFlag: 'M' })
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return results
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@Directive('@transaction')
|
|
92
|
+
@Mutation(returns => Boolean, { description: 'To delete OrderVasItem' })
|
|
93
|
+
async deleteOrderVasItem(@Arg('id') id: string, @Ctx() context: any): Promise<boolean> {
|
|
94
|
+
const { domain, tx } = context.state
|
|
95
|
+
|
|
96
|
+
await tx.getRepository(OrderVasItem).delete({ domain, id })
|
|
97
|
+
return true
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@Directive('@transaction')
|
|
101
|
+
@Mutation(returns => Boolean, { description: 'To delete multiple orderVasItems' })
|
|
102
|
+
async deleteOrderVasItems(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<boolean> {
|
|
103
|
+
const { domain, tx } = context.state
|
|
104
|
+
|
|
105
|
+
await tx.getRepository(OrderVasItem).delete({
|
|
106
|
+
domain,
|
|
107
|
+
id: In(ids)
|
|
108
|
+
})
|
|
109
|
+
|
|
110
|
+
return true
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'
|
|
2
|
+
import { getRepository } from 'typeorm'
|
|
3
|
+
import { Domain, ListParam, convertListParams } from '@things-factory/shell'
|
|
4
|
+
import { User } from '@things-factory/auth-base'
|
|
5
|
+
import { OrderVasItem } from './order-vas-item'
|
|
6
|
+
import { OrderVasItemList } from './order-vas-item-type'
|
|
7
|
+
|
|
8
|
+
@Resolver(OrderVasItem)
|
|
9
|
+
export class OrderVasItemQuery {
|
|
10
|
+
@Query(returns => OrderVasItem, { description: 'To fetch a OrderVasItem' })
|
|
11
|
+
async orderVasItem(@Arg('id') id: string, @Ctx() context: any): Promise<OrderVasItem> {
|
|
12
|
+
const { domain } = context.state
|
|
13
|
+
|
|
14
|
+
return await getRepository(OrderVasItem).findOne({
|
|
15
|
+
where: { domain, id }
|
|
16
|
+
})
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@Query(returns => OrderVasItemList, { description: 'To fetch multiple OrderVasItems' })
|
|
20
|
+
async orderVasItems(@Args() params: ListParam, @Ctx() context: any): Promise<OrderVasItemList> {
|
|
21
|
+
const { domain } = context.state
|
|
22
|
+
|
|
23
|
+
const convertedParams = convertListParams(params, domain.id)
|
|
24
|
+
const [items, total] = await getRepository(OrderVasItem).findAndCount({
|
|
25
|
+
...convertedParams,
|
|
26
|
+
relations: [
|
|
27
|
+
'domain',
|
|
28
|
+
'bizplace',
|
|
29
|
+
'orderVas',
|
|
30
|
+
'vas',
|
|
31
|
+
'product',
|
|
32
|
+
'productDetail',
|
|
33
|
+
'newProduct',
|
|
34
|
+
'newProductDetail',
|
|
35
|
+
'orderInventory',
|
|
36
|
+
'creator',
|
|
37
|
+
'updater'
|
|
38
|
+
]
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
return { items, total }
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@FieldResolver(type => Domain)
|
|
45
|
+
async domain(@Root() orderVasItem: OrderVasItem): Promise<Domain> {
|
|
46
|
+
return await getRepository(Domain).findOne(orderVasItem.domainId)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@FieldResolver(type => User)
|
|
50
|
+
async updater(@Root() orderVasItem: OrderVasItem): Promise<User> {
|
|
51
|
+
return await getRepository(User).findOne(orderVasItem.updaterId)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@FieldResolver(type => User)
|
|
55
|
+
async creator(@Root() orderVasItem: OrderVasItem): Promise<User> {
|
|
56
|
+
return await getRepository(User).findOne(orderVasItem.creatorId)
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ObjectType, Field, InputType, Int, ID, registerEnumType } from 'type-graphql'
|
|
2
|
+
|
|
3
|
+
import { OrderVasItem, OrderVasItemStatus } from './order-vas-item'
|
|
4
|
+
|
|
5
|
+
import { ObjectRef } from '@things-factory/shell'
|
|
6
|
+
|
|
7
|
+
@InputType()
|
|
8
|
+
export class NewOrderVasItem {
|
|
9
|
+
@Field()
|
|
10
|
+
name: string
|
|
11
|
+
|
|
12
|
+
@Field({ nullable: true })
|
|
13
|
+
description?: string
|
|
14
|
+
|
|
15
|
+
@Field(type => OrderVasItemStatus, { nullable: true })
|
|
16
|
+
state?: OrderVasItemStatus
|
|
17
|
+
|
|
18
|
+
@Field({ nullable: true })
|
|
19
|
+
active?: boolean
|
|
20
|
+
|
|
21
|
+
@Field({ nullable: true })
|
|
22
|
+
params?: string
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@InputType()
|
|
26
|
+
export class OrderVasItemPatch {
|
|
27
|
+
@Field(type => ID, { nullable: true })
|
|
28
|
+
id?: string
|
|
29
|
+
|
|
30
|
+
@Field({ nullable: true })
|
|
31
|
+
name?: string
|
|
32
|
+
|
|
33
|
+
@Field({ nullable: true })
|
|
34
|
+
description?: string
|
|
35
|
+
|
|
36
|
+
@Field({ nullable: true })
|
|
37
|
+
orderVas?: ObjectRef
|
|
38
|
+
|
|
39
|
+
@Field({ nullable: true })
|
|
40
|
+
orderVasId?: string
|
|
41
|
+
|
|
42
|
+
@Field({ nullable: true })
|
|
43
|
+
vas?: ObjectRef
|
|
44
|
+
|
|
45
|
+
@Field({ nullable: true })
|
|
46
|
+
vasId?: string
|
|
47
|
+
|
|
48
|
+
@Field({ nullable: true })
|
|
49
|
+
vasQty?: number
|
|
50
|
+
|
|
51
|
+
@Field({ nullable: true })
|
|
52
|
+
executedAt?: Date
|
|
53
|
+
|
|
54
|
+
@Field(type => OrderVasItemStatus, { nullable: true })
|
|
55
|
+
state?: OrderVasItemStatus
|
|
56
|
+
|
|
57
|
+
@Field({ nullable: true })
|
|
58
|
+
active?: boolean
|
|
59
|
+
|
|
60
|
+
@Field()
|
|
61
|
+
cuFlag: string
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@ObjectType()
|
|
65
|
+
export class OrderVasItemList {
|
|
66
|
+
@Field(type => [OrderVasItem])
|
|
67
|
+
items: OrderVasItem[]
|
|
68
|
+
|
|
69
|
+
@Field(type => Int)
|
|
70
|
+
total: number
|
|
71
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CreateDateColumn,
|
|
3
|
+
UpdateDateColumn,
|
|
4
|
+
Entity,
|
|
5
|
+
Index,
|
|
6
|
+
Column,
|
|
7
|
+
RelationId,
|
|
8
|
+
ManyToOne,
|
|
9
|
+
PrimaryGeneratedColumn
|
|
10
|
+
} from 'typeorm'
|
|
11
|
+
import { ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'
|
|
12
|
+
|
|
13
|
+
import { Domain } from '@things-factory/shell'
|
|
14
|
+
import { User } from '@things-factory/auth-base'
|
|
15
|
+
|
|
16
|
+
export enum OrderVasItemStatus {
|
|
17
|
+
STATUS_A = 'STATUS_A',
|
|
18
|
+
STATUS_B = 'STATUS_B'
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
import { OrderInventory } from '../order-inventory/order-inventory'
|
|
22
|
+
import { Product, ProductDetail } from '@things-factory/product-base'
|
|
23
|
+
import { OrderVas } from '../order-vas/order-vas'
|
|
24
|
+
import { Bizplace } from '@things-factory/biz-base'
|
|
25
|
+
import { Vas } from '../vas/vas'
|
|
26
|
+
|
|
27
|
+
registerEnumType(OrderVasItemStatus, {
|
|
28
|
+
name: 'OrderVasItemStatus',
|
|
29
|
+
description: 'state enumeration of a orderVasItem'
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
@Entity()
|
|
33
|
+
@Index(
|
|
34
|
+
'ix_order_vas_item_0',
|
|
35
|
+
(orderVasItem: OrderVasItem) => [orderVasItem.domain, orderVasItem.orderVas, orderVasItem.vas],
|
|
36
|
+
{
|
|
37
|
+
unique: true
|
|
38
|
+
}
|
|
39
|
+
)
|
|
40
|
+
@ObjectType({ description: 'Entity for OrderVasItem' })
|
|
41
|
+
export class OrderVasItem {
|
|
42
|
+
@PrimaryGeneratedColumn('uuid')
|
|
43
|
+
@Field(type => ID)
|
|
44
|
+
readonly id: string
|
|
45
|
+
|
|
46
|
+
@ManyToOne(type => Domain)
|
|
47
|
+
@Field({ nullable: true })
|
|
48
|
+
domain?: Domain
|
|
49
|
+
|
|
50
|
+
@RelationId((orderVasItem: OrderVasItem) => orderVasItem.domain)
|
|
51
|
+
domainId?: string
|
|
52
|
+
|
|
53
|
+
@Column()
|
|
54
|
+
@Field()
|
|
55
|
+
name: string
|
|
56
|
+
|
|
57
|
+
@Column({
|
|
58
|
+
nullable: true
|
|
59
|
+
})
|
|
60
|
+
@Field({ nullable: true })
|
|
61
|
+
description?: string
|
|
62
|
+
|
|
63
|
+
@ManyToOne(type => Vas)
|
|
64
|
+
@Field(type => Vas, { nullable: true })
|
|
65
|
+
vas: Vas
|
|
66
|
+
|
|
67
|
+
@RelationId((orderVasItem: OrderVasItem) => orderVasItem.vas)
|
|
68
|
+
vasId: string
|
|
69
|
+
|
|
70
|
+
@Column({ nullable: true })
|
|
71
|
+
@Field({ nullable: true })
|
|
72
|
+
vasQty: number
|
|
73
|
+
|
|
74
|
+
@ManyToOne(type => OrderVas)
|
|
75
|
+
@Field(type => OrderVas, { nullable: true })
|
|
76
|
+
orderVas: OrderVas
|
|
77
|
+
|
|
78
|
+
@RelationId((orderVasItem: OrderVasItem) => orderVasItem.orderVas)
|
|
79
|
+
orderVasId: string
|
|
80
|
+
|
|
81
|
+
@Column({
|
|
82
|
+
nullable: true
|
|
83
|
+
})
|
|
84
|
+
@Field({ nullable: true })
|
|
85
|
+
active?: boolean
|
|
86
|
+
|
|
87
|
+
@Column({
|
|
88
|
+
nullable: true
|
|
89
|
+
})
|
|
90
|
+
@Field({ nullable: true })
|
|
91
|
+
state?: OrderVasItemStatus
|
|
92
|
+
|
|
93
|
+
@Column({
|
|
94
|
+
nullable: true
|
|
95
|
+
})
|
|
96
|
+
@Field({ nullable: true })
|
|
97
|
+
params?: string
|
|
98
|
+
|
|
99
|
+
@Column({ nullable: true })
|
|
100
|
+
@Field({ nullable: true })
|
|
101
|
+
executedAt?: Date
|
|
102
|
+
|
|
103
|
+
@CreateDateColumn()
|
|
104
|
+
@Field({ nullable: true })
|
|
105
|
+
createdAt?: Date
|
|
106
|
+
|
|
107
|
+
@UpdateDateColumn()
|
|
108
|
+
@Field({ nullable: true })
|
|
109
|
+
updatedAt?: Date
|
|
110
|
+
|
|
111
|
+
@ManyToOne(type => User, {
|
|
112
|
+
nullable: true
|
|
113
|
+
})
|
|
114
|
+
@Field({ nullable: true })
|
|
115
|
+
creator?: User
|
|
116
|
+
|
|
117
|
+
@RelationId((orderVasItem: OrderVasItem) => orderVasItem.creator)
|
|
118
|
+
creatorId?: string
|
|
119
|
+
|
|
120
|
+
@ManyToOne(type => User, {
|
|
121
|
+
nullable: true
|
|
122
|
+
})
|
|
123
|
+
@Field({ nullable: true })
|
|
124
|
+
updater?: User
|
|
125
|
+
|
|
126
|
+
@RelationId((orderVasItem: OrderVasItem) => orderVasItem.creator)
|
|
127
|
+
updaterId?: string
|
|
128
|
+
}
|