@things-factory/sales-base 4.3.0-alpha.1 → 4.3.0
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/attachment-type.js +2 -1
- package/dist-server/constants/attachment-type.js.map +1 -1
- package/dist-server/constants/index.js +2 -5
- package/dist-server/constants/index.js.map +1 -1
- package/dist-server/constants/order.js +12 -3
- package/dist-server/constants/order.js.map +1 -1
- package/dist-server/constants/release-good.js +9 -0
- package/dist-server/constants/release-good.js.map +1 -0
- package/dist-server/controllers/ecommerce/index.js +1 -5
- package/dist-server/controllers/ecommerce/index.js.map +1 -1
- package/dist-server/controllers/index.js +1 -5
- package/dist-server/controllers/index.js.map +1 -1
- package/dist-server/errors/index.js +1 -5
- package/dist-server/errors/index.js.map +1 -1
- package/dist-server/errors/validation-error.js +1 -5
- package/dist-server/errors/validation-error.js.map +1 -1
- package/dist-server/index.js +1 -5
- package/dist-server/index.js.map +1 -1
- package/dist-server/service/arrival-notice/index.js +1 -5
- package/dist-server/service/arrival-notice/index.js.map +1 -1
- package/dist-server/service/claim/index.js +1 -5
- package/dist-server/service/claim/index.js.map +1 -1
- package/dist-server/service/claim-detail/index.js +1 -5
- package/dist-server/service/claim-detail/index.js.map +1 -1
- package/dist-server/service/claim-order/index.js +1 -5
- package/dist-server/service/claim-order/index.js.map +1 -1
- package/dist-server/service/collection-order/index.js +1 -5
- package/dist-server/service/collection-order/index.js.map +1 -1
- package/dist-server/service/delivery-order/index.js +1 -5
- package/dist-server/service/delivery-order/index.js.map +1 -1
- package/dist-server/service/draft-release-good/draft-release-good-mutation.js +501 -0
- package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +1 -0
- package/dist-server/service/draft-release-good/draft-release-good-query.js +289 -0
- package/dist-server/service/draft-release-good/draft-release-good-query.js.map +1 -0
- package/dist-server/service/draft-release-good/draft-release-good-type.js +364 -0
- package/dist-server/service/draft-release-good/draft-release-good-type.js.map +1 -0
- package/dist-server/service/draft-release-good/draft-release-good.js +321 -0
- package/dist-server/service/draft-release-good/draft-release-good.js.map +1 -0
- package/dist-server/service/draft-release-good/index.js +21 -0
- package/dist-server/service/draft-release-good/index.js.map +1 -0
- package/dist-server/service/goods-receival-note/index.js +1 -5
- package/dist-server/service/goods-receival-note/index.js.map +1 -1
- package/dist-server/service/index.js +48 -24
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/inventory-check/index.js +1 -5
- package/dist-server/service/inventory-check/index.js.map +1 -1
- package/dist-server/service/invoice/index.js +1 -5
- package/dist-server/service/invoice/index.js.map +1 -1
- package/dist-server/service/invoice-product/index.js +1 -5
- package/dist-server/service/invoice-product/index.js.map +1 -1
- package/dist-server/service/job-sheet/index.js +1 -5
- package/dist-server/service/job-sheet/index.js.map +1 -1
- package/dist-server/service/order-inventory/index.js +1 -5
- package/dist-server/service/order-inventory/index.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-query.js +38 -1
- package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-types.js +9 -1
- package/dist-server/service/order-inventory/order-inventory-types.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory.js +5 -1
- package/dist-server/service/order-inventory/order-inventory.js.map +1 -1
- package/dist-server/service/order-product/index.js +1 -5
- package/dist-server/service/order-product/index.js.map +1 -1
- package/dist-server/service/order-product/order-product-types.js +13 -13
- package/dist-server/service/order-product/order-product-types.js.map +1 -1
- package/dist-server/service/order-product/order-product.js +39 -4
- package/dist-server/service/order-product/order-product.js.map +1 -1
- package/dist-server/service/order-tote/index.js +21 -0
- package/dist-server/service/order-tote/index.js.map +1 -0
- package/dist-server/service/order-tote/order-tote-mutation.js +56 -0
- package/dist-server/service/order-tote/order-tote-mutation.js.map +1 -0
- package/dist-server/service/order-tote/order-tote-query.js +123 -0
- package/dist-server/service/order-tote/order-tote-query.js.map +1 -0
- package/dist-server/service/order-tote/order-tote-types.js +79 -0
- package/dist-server/service/order-tote/order-tote-types.js.map +1 -0
- package/dist-server/service/order-tote/order-tote.js +91 -0
- package/dist-server/service/order-tote/order-tote.js.map +1 -0
- package/dist-server/service/order-tote-item/index.js +21 -0
- package/dist-server/service/order-tote-item/index.js.map +1 -0
- package/dist-server/service/order-tote-item/order-tote-item-mutation.js +56 -0
- package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +1 -0
- package/dist-server/service/order-tote-item/order-tote-item-query.js +100 -0
- package/dist-server/service/order-tote-item/order-tote-item-query.js.map +1 -0
- package/dist-server/service/order-tote-item/order-tote-item-types.js +91 -0
- package/dist-server/service/order-tote-item/order-tote-item-types.js.map +1 -0
- package/dist-server/service/order-tote-item/order-tote-item.js +104 -0
- package/dist-server/service/order-tote-item/order-tote-item.js.map +1 -0
- package/dist-server/service/order-tote-seal/index.js +21 -0
- package/dist-server/service/order-tote-seal/index.js.map +1 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js +56 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +1 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-query.js +97 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +1 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-types.js +71 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +1 -0
- package/dist-server/service/order-tote-seal/order-tote-seal.js +71 -0
- package/dist-server/service/order-tote-seal/order-tote-seal.js.map +1 -0
- package/dist-server/service/order-vas/index.js +1 -5
- package/dist-server/service/order-vas/index.js.map +1 -1
- package/dist-server/service/others/index.js +1 -5
- package/dist-server/service/others/index.js.map +1 -1
- package/dist-server/service/others/other-query.js +37 -2
- package/dist-server/service/others/other-query.js.map +1 -1
- package/dist-server/service/purchase-order/index.js +1 -5
- package/dist-server/service/purchase-order/index.js.map +1 -1
- package/dist-server/service/purchase-order-other-charge/index.js +1 -5
- package/dist-server/service/purchase-order-other-charge/index.js.map +1 -1
- package/dist-server/service/release-good/index.js +1 -5
- package/dist-server/service/release-good/index.js.map +1 -1
- package/dist-server/service/release-good/release-good-mutation.js +23 -1
- package/dist-server/service/release-good/release-good-mutation.js.map +1 -1
- package/dist-server/service/release-good/release-good-query.js +28 -2
- package/dist-server/service/release-good/release-good-query.js.map +1 -1
- package/dist-server/service/release-good/release-good.js +32 -12
- package/dist-server/service/release-good/release-good.js.map +1 -1
- package/dist-server/service/retail-replenishment-order/index.js +1 -5
- package/dist-server/service/retail-replenishment-order/index.js.map +1 -1
- package/dist-server/service/return-order/index.js +1 -5
- package/dist-server/service/return-order/index.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/index.js +1 -5
- package/dist-server/service/reverse-kitting-order/index.js.map +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/index.js +1 -5
- package/dist-server/service/reverse-kitting-order-inventory/index.js.map +1 -1
- package/dist-server/service/shipping-order/index.js +1 -5
- package/dist-server/service/shipping-order/index.js.map +1 -1
- package/dist-server/service/transfer-order/index.js +1 -5
- package/dist-server/service/transfer-order/index.js.map +1 -1
- package/dist-server/service/vas/index.js +1 -5
- package/dist-server/service/vas/index.js.map +1 -1
- package/dist-server/service/vas-order/index.js +1 -5
- package/dist-server/service/vas-order/index.js.map +1 -1
- package/dist-server/utils/index.js +1 -5
- package/dist-server/utils/index.js.map +1 -1
- package/dist-server/utils/inventory-util.js +258 -99
- package/dist-server/utils/inventory-util.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 +13 -13
- package/server/constants/attachment-type.ts +2 -1
- package/server/constants/index.ts +1 -0
- package/server/constants/order.ts +12 -2
- package/server/constants/release-good.ts +6 -0
- package/server/service/draft-release-good/draft-release-good-mutation.ts +671 -0
- package/server/service/draft-release-good/draft-release-good-query.ts +314 -0
- package/server/service/draft-release-good/draft-release-good-type.ts +261 -0
- package/server/service/draft-release-good/draft-release-good.ts +270 -0
- package/server/service/draft-release-good/index.ts +9 -0
- package/server/service/index.ts +51 -21
- package/server/service/order-inventory/order-inventory-query.ts +40 -2
- package/server/service/order-inventory/order-inventory-types.ts +6 -0
- package/server/service/order-inventory/order-inventory.ts +5 -5
- package/server/service/order-product/order-product-types.ts +5 -3
- package/server/service/order-product/order-product.ts +30 -3
- package/server/service/order-tote/index.ts +9 -0
- package/server/service/order-tote/order-tote-mutation.ts +30 -0
- package/server/service/order-tote/order-tote-query.ts +114 -0
- package/server/service/order-tote/order-tote-types.ts +47 -0
- package/server/service/order-tote/order-tote.ts +62 -0
- package/server/service/order-tote-item/index.ts +9 -0
- package/server/service/order-tote-item/order-tote-item-mutation.ts +30 -0
- package/server/service/order-tote-item/order-tote-item-query.ts +88 -0
- package/server/service/order-tote-item/order-tote-item-types.ts +56 -0
- package/server/service/order-tote-item/order-tote-item.ts +72 -0
- package/server/service/order-tote-seal/index.ts +9 -0
- package/server/service/order-tote-seal/order-tote-seal-mutation.ts +30 -0
- package/server/service/order-tote-seal/order-tote-seal-query.ts +60 -0
- package/server/service/order-tote-seal/order-tote-seal-types.ts +41 -0
- package/server/service/order-tote-seal/order-tote-seal.ts +46 -0
- package/server/service/others/other-query.ts +43 -8
- package/server/service/release-good/release-good-mutation.ts +24 -2
- package/server/service/release-good/release-good-query.ts +57 -30
- package/server/service/release-good/release-good.ts +28 -9
- package/server/utils/inventory-util.ts +287 -106
- package/server/utils/order-no-generator.ts +42 -48
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { Field, ID, Float, ObjectType, registerEnumType } from 'type-graphql'
|
|
2
|
+
import {
|
|
3
|
+
Column,
|
|
4
|
+
CreateDateColumn,
|
|
5
|
+
Entity,
|
|
6
|
+
Index,
|
|
7
|
+
JoinColumn,
|
|
8
|
+
ManyToOne,
|
|
9
|
+
OneToMany,
|
|
10
|
+
OneToOne,
|
|
11
|
+
PrimaryGeneratedColumn,
|
|
12
|
+
RelationId,
|
|
13
|
+
UpdateDateColumn
|
|
14
|
+
} from 'typeorm'
|
|
15
|
+
|
|
16
|
+
import { Attachment } from '@things-factory/attachment-base'
|
|
17
|
+
import { User } from '@things-factory/auth-base'
|
|
18
|
+
import { Bizplace, ContactPoint } from '@things-factory/biz-base'
|
|
19
|
+
import { config } from '@things-factory/env'
|
|
20
|
+
import { Domain } from '@things-factory/shell'
|
|
21
|
+
|
|
22
|
+
import { OrderProduct, ReleaseGood, ShippingOrder, ShippingOrderInfo } from '../'
|
|
23
|
+
import { ReleaseOrderType } from '../../constants'
|
|
24
|
+
|
|
25
|
+
const ORMCONFIG = config.get('ormconfig', {})
|
|
26
|
+
const DATABASE_TYPE = ORMCONFIG.type
|
|
27
|
+
|
|
28
|
+
// export enum DraftReleaseGoodStatus {
|
|
29
|
+
// STATUS_A = 'STATUS_A',
|
|
30
|
+
// STATUS_B = 'STATUS_B'
|
|
31
|
+
// }
|
|
32
|
+
|
|
33
|
+
// registerEnumType(DraftReleaseGoodStatus, {
|
|
34
|
+
// name: 'DraftReleaseGoodStatus',
|
|
35
|
+
// description: 'state enumeration of a draftReleaseGood'
|
|
36
|
+
// })
|
|
37
|
+
|
|
38
|
+
@Entity()
|
|
39
|
+
@Index(
|
|
40
|
+
'ix_draft_release_good_0',
|
|
41
|
+
(draftReleaseGood: DraftReleaseGood) => [draftReleaseGood.domain, draftReleaseGood.name],
|
|
42
|
+
{ unique: true }
|
|
43
|
+
)
|
|
44
|
+
@ObjectType({ description: 'Entity for DraftReleaseGood' })
|
|
45
|
+
export class DraftReleaseGood {
|
|
46
|
+
@PrimaryGeneratedColumn('uuid')
|
|
47
|
+
@Field(type => ID)
|
|
48
|
+
readonly id: string
|
|
49
|
+
|
|
50
|
+
@ManyToOne(type => Domain)
|
|
51
|
+
@Field(type => Domain, { nullable: true })
|
|
52
|
+
domain: Domain
|
|
53
|
+
|
|
54
|
+
@RelationId((draftReleaseGood: DraftReleaseGood) => draftReleaseGood.domain)
|
|
55
|
+
domainId: string
|
|
56
|
+
|
|
57
|
+
@ManyToOne(type => Bizplace)
|
|
58
|
+
@Field(type => Bizplace, { nullable: true })
|
|
59
|
+
bizplace: Bizplace
|
|
60
|
+
|
|
61
|
+
@RelationId((draftReleaseGood: DraftReleaseGood) => draftReleaseGood.bizplace)
|
|
62
|
+
bizplaceId: string
|
|
63
|
+
|
|
64
|
+
@Column({ nullable: true })
|
|
65
|
+
@Field({ nullable: true })
|
|
66
|
+
name: string
|
|
67
|
+
|
|
68
|
+
@OneToOne(type => ReleaseGood)
|
|
69
|
+
@JoinColumn()
|
|
70
|
+
@Field(type => ReleaseGood, { nullable: true })
|
|
71
|
+
releaseGood: ReleaseGood
|
|
72
|
+
|
|
73
|
+
@RelationId((draftReleaseGood: DraftReleaseGood) => draftReleaseGood.releaseGood)
|
|
74
|
+
releaseGoodId: string
|
|
75
|
+
|
|
76
|
+
@OneToOne(type => ShippingOrder)
|
|
77
|
+
@JoinColumn()
|
|
78
|
+
@Field(type => ShippingOrder, { nullable: true })
|
|
79
|
+
shippingOrder: ShippingOrder
|
|
80
|
+
|
|
81
|
+
@RelationId((releaseGood: ReleaseGood) => releaseGood.shippingOrder)
|
|
82
|
+
shippingOrderId: string
|
|
83
|
+
|
|
84
|
+
@Column({ nullable: true })
|
|
85
|
+
@Field({ nullable: true })
|
|
86
|
+
collectionOrderNo: string
|
|
87
|
+
|
|
88
|
+
@Column({ nullable: true })
|
|
89
|
+
@Field({ nullable: true })
|
|
90
|
+
description: string
|
|
91
|
+
|
|
92
|
+
@Column({ nullable: true })
|
|
93
|
+
@Field({ nullable: true })
|
|
94
|
+
truckNo: string
|
|
95
|
+
|
|
96
|
+
@Column({
|
|
97
|
+
type:
|
|
98
|
+
DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
|
|
99
|
+
? 'enum'
|
|
100
|
+
: DATABASE_TYPE == 'oracle'
|
|
101
|
+
? 'varchar2'
|
|
102
|
+
: 'smallint',
|
|
103
|
+
enum: ReleaseOrderType,
|
|
104
|
+
default: ReleaseOrderType.B2B
|
|
105
|
+
})
|
|
106
|
+
@Field()
|
|
107
|
+
type: ReleaseOrderType
|
|
108
|
+
|
|
109
|
+
@Column({ default: false })
|
|
110
|
+
@Field()
|
|
111
|
+
exportOption: Boolean
|
|
112
|
+
|
|
113
|
+
@Column({ default: false })
|
|
114
|
+
@Field()
|
|
115
|
+
courierOption: Boolean
|
|
116
|
+
|
|
117
|
+
@Column({ default: false })
|
|
118
|
+
@Field()
|
|
119
|
+
packingOption: Boolean
|
|
120
|
+
|
|
121
|
+
@Column()
|
|
122
|
+
@Field()
|
|
123
|
+
ownTransport: Boolean
|
|
124
|
+
|
|
125
|
+
@Field(type => ShippingOrderInfo, { nullable: true })
|
|
126
|
+
shippingOrderInfo?: ShippingOrderInfo
|
|
127
|
+
|
|
128
|
+
@OneToMany(type => OrderProduct, orderProduct => orderProduct.draftReleaseGood)
|
|
129
|
+
@Field(type => [OrderProduct], { nullable: true })
|
|
130
|
+
orderProducts: OrderProduct[]
|
|
131
|
+
|
|
132
|
+
@Column()
|
|
133
|
+
@Field()
|
|
134
|
+
status: string
|
|
135
|
+
|
|
136
|
+
@Column({ nullable: true })
|
|
137
|
+
@Field({ nullable: true })
|
|
138
|
+
refNo: String
|
|
139
|
+
|
|
140
|
+
@Column({ nullable: true })
|
|
141
|
+
@Field({ nullable: true })
|
|
142
|
+
refNo2: String
|
|
143
|
+
|
|
144
|
+
@Column({ nullable: true })
|
|
145
|
+
@Field({ nullable: true })
|
|
146
|
+
refNo3: String
|
|
147
|
+
|
|
148
|
+
@Column({ nullable: true })
|
|
149
|
+
@Field({ nullable: true })
|
|
150
|
+
releaseDate: string
|
|
151
|
+
|
|
152
|
+
@Column({ nullable: true })
|
|
153
|
+
@Field({ nullable: true })
|
|
154
|
+
remark: string
|
|
155
|
+
|
|
156
|
+
@Column({ nullable: true })
|
|
157
|
+
@Field({ nullable: true })
|
|
158
|
+
marketplaceOrderStatus: string
|
|
159
|
+
|
|
160
|
+
@Column({ nullable: true })
|
|
161
|
+
@Field({ nullable: true })
|
|
162
|
+
billingAddress: string
|
|
163
|
+
|
|
164
|
+
@Column({ nullable: true })
|
|
165
|
+
@Field({ nullable: true })
|
|
166
|
+
pickupAddress: string
|
|
167
|
+
|
|
168
|
+
@Column({ nullable: true })
|
|
169
|
+
@Field({ nullable: true })
|
|
170
|
+
pickupTime: Date
|
|
171
|
+
|
|
172
|
+
@Column({ nullable: true })
|
|
173
|
+
@Field({ nullable: true })
|
|
174
|
+
handoverType: string
|
|
175
|
+
|
|
176
|
+
@Column({ nullable: true })
|
|
177
|
+
@Field({ nullable: true })
|
|
178
|
+
dropoffAddress: string
|
|
179
|
+
|
|
180
|
+
@Column({ nullable: true })
|
|
181
|
+
@Field({ nullable: true })
|
|
182
|
+
deliveryAddress1: string
|
|
183
|
+
|
|
184
|
+
@Column({ nullable: true })
|
|
185
|
+
@Field({ nullable: true })
|
|
186
|
+
deliveryAddress2: string
|
|
187
|
+
|
|
188
|
+
@Column({ nullable: true })
|
|
189
|
+
@Field({ nullable: true })
|
|
190
|
+
deliveryAddress3: string
|
|
191
|
+
|
|
192
|
+
@Column({ nullable: true })
|
|
193
|
+
@Field({ nullable: true })
|
|
194
|
+
deliveryAddress4: string
|
|
195
|
+
|
|
196
|
+
@Column({ nullable: true })
|
|
197
|
+
@Field({ nullable: true })
|
|
198
|
+
deliveryAddress5: string
|
|
199
|
+
|
|
200
|
+
@Column({ nullable: true })
|
|
201
|
+
@Field({ nullable: true })
|
|
202
|
+
attentionTo: string
|
|
203
|
+
|
|
204
|
+
@Column({ nullable: true })
|
|
205
|
+
@Field({ nullable: true })
|
|
206
|
+
attentionCompany: string
|
|
207
|
+
|
|
208
|
+
@Column({ nullable: true })
|
|
209
|
+
@Field({ nullable: true })
|
|
210
|
+
city: string
|
|
211
|
+
|
|
212
|
+
@Column({ nullable: true })
|
|
213
|
+
@Field({ nullable: true })
|
|
214
|
+
state: string
|
|
215
|
+
|
|
216
|
+
@Column({ nullable: true })
|
|
217
|
+
@Field({ nullable: true })
|
|
218
|
+
postalCode: string
|
|
219
|
+
|
|
220
|
+
@Column({ nullable: true })
|
|
221
|
+
@Field({ nullable: true })
|
|
222
|
+
country: string
|
|
223
|
+
|
|
224
|
+
@Column({ nullable: true })
|
|
225
|
+
@Field({ nullable: true })
|
|
226
|
+
phone1: string
|
|
227
|
+
|
|
228
|
+
@Column({ nullable: true })
|
|
229
|
+
@Field({ nullable: true })
|
|
230
|
+
phone2: string
|
|
231
|
+
|
|
232
|
+
@Column({ nullable: true })
|
|
233
|
+
@Field({ nullable: true })
|
|
234
|
+
email: string
|
|
235
|
+
|
|
236
|
+
@ManyToOne(type => ContactPoint)
|
|
237
|
+
@Field(type => ContactPoint, { nullable: true })
|
|
238
|
+
deliverTo: ContactPoint
|
|
239
|
+
|
|
240
|
+
@RelationId((draftReleaseGood: DraftReleaseGood) => draftReleaseGood.deliverTo)
|
|
241
|
+
deliverToId: string
|
|
242
|
+
|
|
243
|
+
@Field(type => [Attachment], { nullable: true })
|
|
244
|
+
attachment?: Attachment[]
|
|
245
|
+
|
|
246
|
+
@CreateDateColumn()
|
|
247
|
+
@Field()
|
|
248
|
+
createdAt: Date
|
|
249
|
+
|
|
250
|
+
@UpdateDateColumn()
|
|
251
|
+
@Field()
|
|
252
|
+
updatedAt: Date
|
|
253
|
+
|
|
254
|
+
@ManyToOne(type => User)
|
|
255
|
+
@Field(type => User, { nullable: true })
|
|
256
|
+
creator: User
|
|
257
|
+
|
|
258
|
+
@RelationId((draftReleaseGood: DraftReleaseGood) => draftReleaseGood.creator)
|
|
259
|
+
creatorId: string
|
|
260
|
+
|
|
261
|
+
@ManyToOne(type => User)
|
|
262
|
+
@Field(type => User, { nullable: true })
|
|
263
|
+
updater: User
|
|
264
|
+
|
|
265
|
+
@RelationId((draftReleaseGood: DraftReleaseGood) => draftReleaseGood.updater)
|
|
266
|
+
updaterId: string
|
|
267
|
+
|
|
268
|
+
@Field()
|
|
269
|
+
computedStatus: string
|
|
270
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DraftReleaseGood } from './draft-release-good'
|
|
2
|
+
import { DraftReleaseGoodQuery } from './draft-release-good-query'
|
|
3
|
+
import { DraftReleaseGoodMutation } from './draft-release-good-mutation'
|
|
4
|
+
|
|
5
|
+
export const entities = [DraftReleaseGood]
|
|
6
|
+
export const resolvers = [DraftReleaseGoodQuery, DraftReleaseGoodMutation]
|
|
7
|
+
|
|
8
|
+
export * from './draft-release-good-mutation'
|
|
9
|
+
export * from './draft-release-good-query'
|
package/server/service/index.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { entities as InvoiceEntity, resolvers as InvoiceResolvers } from './invo
|
|
|
10
10
|
import { entities as InvoiceProductEntity, resolvers as InvoiceProductResolvers } from './invoice-product'
|
|
11
11
|
import { entities as JobSheetEntity, resolvers as JobSheetResolvers } from './job-sheet'
|
|
12
12
|
/* IMPORT ENTITIES AND RESOLVERS */
|
|
13
|
+
import { entities as DraftReleaseGoodEntities, resolvers as DraftReleaseGoodResolvers } from './draft-release-good'
|
|
13
14
|
import { entities as ManifestEntities, resolvers as ManifestResolvers } from './manifest'
|
|
14
15
|
import { entities as OrderInventoryEntity, resolvers as OrderInventoryResolvers } from './order-inventory'
|
|
15
16
|
import { entities as OrderProductEntity, resolvers as OrderProductResolvers } from './order-product'
|
|
@@ -17,8 +18,7 @@ import { entities as OrderVasEntity, resolvers as OrderVasResolvers } from './or
|
|
|
17
18
|
import { resolvers as OthersResolvers } from './others'
|
|
18
19
|
import { entities as PurchaseOrderEntity, resolvers as PurchaseOrderResolvers } from './purchase-order'
|
|
19
20
|
import {
|
|
20
|
-
entities as PurchaseOrderOtherChargeEntity,
|
|
21
|
-
resolvers as PurchaseOrderOtherChargeResolvers
|
|
21
|
+
entities as PurchaseOrderOtherChargeEntity, resolvers as PurchaseOrderOtherChargeResolvers
|
|
22
22
|
} from './purchase-order-other-charge'
|
|
23
23
|
import { entities as ReleaseGoodEntity, resolvers as ReleaseGoodResolvers } from './release-good'
|
|
24
24
|
import {
|
|
@@ -38,22 +38,26 @@ import { entities as ShippingOrderEntity, resolvers as ShippingOrderResolvers }
|
|
|
38
38
|
import { entities as TransferOrderEntity, resolvers as TransferOrderResolvers } from './transfer-order'
|
|
39
39
|
import { entities as VasEntity, resolvers as VasResolvers } from './vas'
|
|
40
40
|
import { entities as VasOrderEntity, resolvers as VasOrderResolvers } from './vas-order'
|
|
41
|
+
import { entities as OrderToteEntity, resolvers as OrderToteResolvers } from './order-tote'
|
|
42
|
+
import { entities as OrderToteItemEntity, resolvers as OrderToteItemResolvers } from './order-tote-item'
|
|
43
|
+
import { entities as OrderToteSealEntity, resolvers as OrderToteSealResolvers } from './order-tote-seal'
|
|
44
|
+
import { OrderTote } from './order-tote/order-tote'
|
|
45
|
+
import { OrderToteSeal } from './order-tote-seal/order-tote-seal'
|
|
41
46
|
|
|
42
47
|
/* EXPORT ENTITY TYPES */
|
|
43
|
-
export * from './manifest/manifest'
|
|
44
|
-
export * from './reverse-kitting-order-inventory/reverse-kitting-order-inventory'
|
|
45
|
-
export * from './reverse-kitting-order/reverse-kitting-order'
|
|
46
48
|
export * from './arrival-notice/arrival-notice'
|
|
47
49
|
export * from './claim-detail/claim-detail'
|
|
48
50
|
export * from './claim-order/claim-order'
|
|
49
51
|
export * from './claim/claim'
|
|
50
52
|
export * from './collection-order/collection-order'
|
|
51
53
|
export * from './delivery-order/delivery-order'
|
|
54
|
+
export * from './draft-release-good/draft-release-good'
|
|
52
55
|
export * from './goods-receival-note/goods-receival-note'
|
|
53
56
|
export * from './inventory-check/inventory-check'
|
|
54
|
-
export * from './invoice/invoice'
|
|
55
57
|
export * from './invoice-product/invoice-product'
|
|
58
|
+
export * from './invoice/invoice'
|
|
56
59
|
export * from './job-sheet/job-sheet'
|
|
60
|
+
export * from './manifest/manifest'
|
|
57
61
|
export * from './order-inventory/order-inventory'
|
|
58
62
|
export * from './order-product/order-product'
|
|
59
63
|
export * from './order-vas/order-vas'
|
|
@@ -62,10 +66,15 @@ export * from './purchase-order/purchase-order'
|
|
|
62
66
|
export * from './release-good/release-good'
|
|
63
67
|
export * from './retail-replenishment-order/retail-replenishment-order'
|
|
64
68
|
export * from './return-order/return-order'
|
|
69
|
+
export * from './reverse-kitting-order-inventory/reverse-kitting-order-inventory'
|
|
70
|
+
export * from './reverse-kitting-order/reverse-kitting-order'
|
|
65
71
|
export * from './shipping-order/shipping-order'
|
|
66
72
|
export * from './transfer-order/transfer-order'
|
|
67
73
|
export * from './vas-order/vas-order'
|
|
68
74
|
export * from './vas/vas'
|
|
75
|
+
export * from './order-tote/order-tote'
|
|
76
|
+
export * from './order-tote-item/order-tote-item'
|
|
77
|
+
export * from './order-tote-seal/order-tote-seal'
|
|
69
78
|
|
|
70
79
|
/* EXPORT TYPES */
|
|
71
80
|
export * from './arrival-notice/arrival-notice-types'
|
|
@@ -74,10 +83,11 @@ export * from './claim-order/claim-order-types'
|
|
|
74
83
|
export * from './claim/claim-types'
|
|
75
84
|
export * from './collection-order/collection-order-types'
|
|
76
85
|
export * from './delivery-order/delivery-order-types'
|
|
86
|
+
export * from './draft-release-good/draft-release-good-type'
|
|
77
87
|
export * from './goods-receival-note/goods-receival-note-types'
|
|
78
88
|
export * from './inventory-check/inventory-check-types'
|
|
79
|
-
export * from './invoice/invoice-types'
|
|
80
89
|
export * from './invoice-product/invoice-product-types'
|
|
90
|
+
export * from './invoice/invoice-types'
|
|
81
91
|
export * from './job-sheet/job-sheet-types'
|
|
82
92
|
export * from './order-inventory/order-inventory-types'
|
|
83
93
|
export * from './order-product/order-product-types'
|
|
@@ -92,6 +102,10 @@ export * from './shipping-order/shipping-order-types'
|
|
|
92
102
|
export * from './transfer-order/transfer-order-types'
|
|
93
103
|
export * from './vas-order/vas-order-types'
|
|
94
104
|
export * from './vas/vas-types'
|
|
105
|
+
export * from './order-tote/order-tote-types'
|
|
106
|
+
export * from './order-tote-item/order-tote-item-types'
|
|
107
|
+
export * from './order-tote-seal/order-tote-seal-types'
|
|
108
|
+
|
|
95
109
|
|
|
96
110
|
/* EXPORT MUTATIONS */
|
|
97
111
|
export * from './arrival-notice/arrival-notice-mutation'
|
|
@@ -100,10 +114,11 @@ export * from './claim-order/claim-order-mutation'
|
|
|
100
114
|
export * from './claim/claim-mutation'
|
|
101
115
|
export * from './collection-order/collection-order-mutation'
|
|
102
116
|
export * from './delivery-order/delivery-order-mutation'
|
|
117
|
+
export * from './draft-release-good/draft-release-good-mutation'
|
|
103
118
|
export * from './goods-receival-note/goods-receival-note-mutation'
|
|
104
119
|
export * from './inventory-check/inventory-check-mutation'
|
|
105
|
-
export * from './invoice/invoice-mutation'
|
|
106
120
|
export * from './invoice-product/invoice-product-mutation'
|
|
121
|
+
export * from './invoice/invoice-mutation'
|
|
107
122
|
export * from './job-sheet/job-sheet-mutation'
|
|
108
123
|
export * from './order-inventory/order-inventory-mutation'
|
|
109
124
|
export * from './order-product/order-product-mutation'
|
|
@@ -117,6 +132,9 @@ export * from './shipping-order/shipping-order-mutation'
|
|
|
117
132
|
export * from './transfer-order/transfer-order-mutation'
|
|
118
133
|
export * from './vas-order/vas-order-mutation'
|
|
119
134
|
export * from './vas/vas-mutation'
|
|
135
|
+
export * from './order-tote/order-tote-mutation'
|
|
136
|
+
export * from './order-tote-item/order-tote-item-mutation'
|
|
137
|
+
export * from './order-tote-seal/order-tote-seal-mutation'
|
|
120
138
|
|
|
121
139
|
/* EXPORT QUERIES */
|
|
122
140
|
export * from './arrival-notice/arrival-notice-query'
|
|
@@ -125,10 +143,11 @@ export * from './claim-order/claim-order-query'
|
|
|
125
143
|
export * from './claim/claim-query'
|
|
126
144
|
export * from './collection-order/collection-order-query'
|
|
127
145
|
export * from './delivery-order/delivery-order-query'
|
|
146
|
+
export * from './draft-release-good/draft-release-good-query'
|
|
128
147
|
export * from './goods-receival-note/goods-receival-note-query'
|
|
129
148
|
export * from './inventory-check/inventory-check-query'
|
|
130
|
-
export * from './invoice/invoice-query'
|
|
131
149
|
export * from './invoice-product/invoice-product-query'
|
|
150
|
+
export * from './invoice/invoice-query'
|
|
132
151
|
export * from './job-sheet/job-sheet-query'
|
|
133
152
|
export * from './order-inventory/order-inventory-query'
|
|
134
153
|
export * from './order-product/order-product-query'
|
|
@@ -143,23 +162,25 @@ export * from './shipping-order/shipping-order-query'
|
|
|
143
162
|
export * from './transfer-order/transfer-order-query'
|
|
144
163
|
export * from './vas-order/vas-order-query'
|
|
145
164
|
export * from './vas/vas-query'
|
|
165
|
+
export * from './order-tote/order-tote-query'
|
|
166
|
+
export * from './order-tote-item/order-tote-item-query'
|
|
167
|
+
export * from './order-tote-seal/order-tote-seal-query'
|
|
146
168
|
|
|
147
169
|
export const entities = [
|
|
148
170
|
/* ENTITIES */
|
|
149
|
-
...ManifestEntities,
|
|
150
|
-
...ReverseKittingOrderInventoryEntities,
|
|
151
|
-
...ReverseKittingOrderEntities,
|
|
152
171
|
...ArrivalNoticeEntity,
|
|
153
|
-
...ClaimEntity,
|
|
154
172
|
...ClaimDetailEntity,
|
|
173
|
+
...ClaimEntity,
|
|
155
174
|
...ClaimOrderEntity,
|
|
156
175
|
...CollectionOrderEntity,
|
|
157
176
|
...DeliveryOrderEntity,
|
|
177
|
+
...DraftReleaseGoodEntities,
|
|
158
178
|
...GoodsReceivalNoteEntity,
|
|
159
179
|
...InventoryCheckEntity,
|
|
160
180
|
...InvoiceEntity,
|
|
161
181
|
...InvoiceProductEntity,
|
|
162
182
|
...JobSheetEntity,
|
|
183
|
+
...ManifestEntities,
|
|
163
184
|
...OrderInventoryEntity,
|
|
164
185
|
...OrderProductEntity,
|
|
165
186
|
...OrderVasEntity,
|
|
@@ -168,41 +189,50 @@ export const entities = [
|
|
|
168
189
|
...ReleaseGoodEntity,
|
|
169
190
|
...RetailReplenishmentOrderEntity,
|
|
170
191
|
...ReturnOrderEntity,
|
|
192
|
+
...ReverseKittingOrderEntities,
|
|
193
|
+
...ReverseKittingOrderInventoryEntities,
|
|
171
194
|
...ShippingOrderEntity,
|
|
172
195
|
...TransferOrderEntity,
|
|
173
196
|
...VasEntity,
|
|
174
|
-
...VasOrderEntity
|
|
197
|
+
...VasOrderEntity,
|
|
198
|
+
...OrderToteEntity,
|
|
199
|
+
...OrderToteItemEntity,
|
|
200
|
+
...OrderToteSealEntity
|
|
175
201
|
]
|
|
176
202
|
|
|
177
203
|
export const schema = {
|
|
178
204
|
resolverClasses: [
|
|
179
205
|
/* RESOLVER CLASSES */
|
|
180
|
-
...ManifestResolvers,
|
|
181
|
-
...ReverseKittingOrderInventoryResolvers,
|
|
182
|
-
...ReverseKittingOrderResolvers,
|
|
183
206
|
...ArrivalNoticeResolvers,
|
|
184
|
-
...ClaimResolvers,
|
|
185
207
|
...ClaimDetailResolvers,
|
|
186
208
|
...ClaimOrderResolvers,
|
|
209
|
+
...ClaimResolvers,
|
|
187
210
|
...CollectionOrderResolvers,
|
|
188
211
|
...DeliveryOrderResolvers,
|
|
212
|
+
...DraftReleaseGoodResolvers,
|
|
189
213
|
...GoodsReceivalNoteResolvers,
|
|
190
214
|
...InventoryCheckResolvers,
|
|
191
|
-
...InvoiceResolvers,
|
|
192
215
|
...InvoiceProductResolvers,
|
|
216
|
+
...InvoiceResolvers,
|
|
193
217
|
...JobSheetResolvers,
|
|
218
|
+
...ManifestResolvers,
|
|
194
219
|
...OrderInventoryResolvers,
|
|
195
220
|
...OrderProductResolvers,
|
|
196
221
|
...OrderVasResolvers,
|
|
197
222
|
...OthersResolvers,
|
|
198
|
-
...PurchaseOrderResolvers,
|
|
199
223
|
...PurchaseOrderOtherChargeResolvers,
|
|
224
|
+
...PurchaseOrderResolvers,
|
|
200
225
|
...ReleaseGoodResolvers,
|
|
201
226
|
...RetailReplenishmentOrderResolvers,
|
|
202
227
|
...ReturnOrderResolvers,
|
|
228
|
+
...ReverseKittingOrderInventoryResolvers,
|
|
229
|
+
...ReverseKittingOrderResolvers,
|
|
203
230
|
...ShippingOrderResolvers,
|
|
204
231
|
...TransferOrderResolvers,
|
|
205
232
|
...VasResolvers,
|
|
206
|
-
...VasOrderResolvers
|
|
233
|
+
...VasOrderResolvers,
|
|
234
|
+
...OrderToteResolvers,
|
|
235
|
+
...OrderToteItemResolvers,
|
|
236
|
+
...OrderToteSealResolvers
|
|
207
237
|
]
|
|
208
238
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
|
|
2
|
-
import { Brackets, getRepository, Like, SelectQueryBuilder
|
|
2
|
+
import { Brackets, EntityManager, getRepository, Like, SelectQueryBuilder } from 'typeorm'
|
|
3
3
|
|
|
4
4
|
import { User } from '@things-factory/auth-base'
|
|
5
5
|
import { getPermittedBizplaceIds } from '@things-factory/biz-base'
|
|
6
6
|
import { Product } from '@things-factory/product-base'
|
|
7
7
|
import { buildQuery, convertListParams, Domain, Filter, ListParam, Pagination, Sorting } from '@things-factory/shell'
|
|
8
|
+
import { Inventory, InventoryPatch, Location } from '@things-factory/warehouse-base'
|
|
8
9
|
|
|
9
10
|
import { ORDER_INVENTORY_STATUS, ORDER_STATUS } from '../../constants'
|
|
10
11
|
import { ArrivalNotice } from '../arrival-notice/arrival-notice'
|
|
11
12
|
import { OrderInventoryList } from '../order-inventory/order-inventory-types'
|
|
12
13
|
import { ReleaseGood } from '../release-good/release-good'
|
|
13
14
|
import { OrderInventory } from './order-inventory'
|
|
14
|
-
import { Location } from '@things-factory/warehouse-base'
|
|
15
15
|
|
|
16
16
|
interface filterInterface {
|
|
17
17
|
name: string
|
|
@@ -172,6 +172,44 @@ export class OrderInventoryQuery {
|
|
|
172
172
|
})
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
+
@Query(returns => Boolean)
|
|
176
|
+
async validateOrderInventory(
|
|
177
|
+
@Arg('patches', type => [InventoryPatch]) patches: InventoryPatch[],
|
|
178
|
+
@Ctx() context: any
|
|
179
|
+
) {
|
|
180
|
+
const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
|
|
181
|
+
|
|
182
|
+
let error = []
|
|
183
|
+
|
|
184
|
+
for (let i = 0; i < patches.length; i++) {
|
|
185
|
+
let foundExistingPallet: Inventory = await getRepository(Inventory).findOne({
|
|
186
|
+
where: { domain, palletId: patches[i]?.palletId }
|
|
187
|
+
})
|
|
188
|
+
|
|
189
|
+
if (!foundExistingPallet) {
|
|
190
|
+
foundExistingPallet = await getRepository(Inventory).findOne({
|
|
191
|
+
where: { id: patches[i]?.id }
|
|
192
|
+
})
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
if (patches[i]?.batchId != null) {
|
|
196
|
+
const worksheet: OrderInventory[] = await getRepository(OrderInventory).find({
|
|
197
|
+
where: { inventory: foundExistingPallet?.id, status: 'PICKING' }
|
|
198
|
+
})
|
|
199
|
+
|
|
200
|
+
if (worksheet.length > 0) {
|
|
201
|
+
error = [...worksheet]
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
if (error.length == 0) {
|
|
207
|
+
return true
|
|
208
|
+
} else {
|
|
209
|
+
return false
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
175
213
|
@Query(returns => OrderInventoryList)
|
|
176
214
|
async inventoriesByOrder(@Ctx() context: any, @Args() params: ListParam): Promise<OrderInventoryList> {
|
|
177
215
|
const { domain, user }: { domain: Domain; user: User } = context.state
|
|
@@ -158,6 +158,9 @@ export class OrderInventoryPatch {
|
|
|
158
158
|
@Field(type => ObjectRef, { nullable: true })
|
|
159
159
|
product: ObjectRef
|
|
160
160
|
|
|
161
|
+
@Field(type => ObjectRef, { nullable: true })
|
|
162
|
+
orderProduct: ObjectRef
|
|
163
|
+
|
|
161
164
|
@Field({ nullable: true })
|
|
162
165
|
batchId: string
|
|
163
166
|
|
|
@@ -197,6 +200,9 @@ export class OrderInventoryPatch {
|
|
|
197
200
|
@Field({ nullable: true })
|
|
198
201
|
productId: string
|
|
199
202
|
|
|
203
|
+
@Field({ nullable: true })
|
|
204
|
+
orderProductId: string
|
|
205
|
+
|
|
200
206
|
@Field({ nullable: true })
|
|
201
207
|
uom: string
|
|
202
208
|
|
|
@@ -37,11 +37,11 @@ import { TransferOrder } from '../transfer-order/transfer-order'
|
|
|
37
37
|
],
|
|
38
38
|
{ unique: true }
|
|
39
39
|
)
|
|
40
|
-
@Index(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
)
|
|
40
|
+
@Index('ix_order-inventory_2', (orderInventory: OrderInventory) => [
|
|
41
|
+
orderInventory.bizplace,
|
|
42
|
+
orderInventory.deliveryOrder,
|
|
43
|
+
orderInventory.inventory
|
|
44
|
+
])
|
|
45
45
|
@Index(
|
|
46
46
|
'ix_order-inventory_3',
|
|
47
47
|
(orderInventory: OrderInventory) => [
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { ObjectRef, ScalarDate } from '@things-factory/shell'
|
|
2
1
|
import { Field, Float, InputType, Int, ObjectType } from 'type-graphql'
|
|
2
|
+
|
|
3
|
+
import { ObjectRef, ScalarDate } from '@things-factory/shell'
|
|
4
|
+
|
|
3
5
|
import { OrderProduct } from './order-product'
|
|
4
6
|
|
|
5
7
|
@ObjectType()
|
|
@@ -82,8 +84,8 @@ export class OrderProductPatch {
|
|
|
82
84
|
@Field(type => ObjectRef, { nullable: true })
|
|
83
85
|
toInventory: ObjectRef
|
|
84
86
|
|
|
85
|
-
@Field(type =>
|
|
86
|
-
product:
|
|
87
|
+
@Field(type => InboundProduct, { nullable: true })
|
|
88
|
+
product: InboundProduct
|
|
87
89
|
|
|
88
90
|
@Field({ nullable: true })
|
|
89
91
|
batchId: string
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Field, ID, ObjectType } from 'type-graphql'
|
|
1
|
+
import { Field, ID, ObjectType, Float } from 'type-graphql'
|
|
2
2
|
import {
|
|
3
3
|
Column,
|
|
4
4
|
CreateDateColumn,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
|
|
13
13
|
import { User } from '@things-factory/auth-base'
|
|
14
14
|
import { Bizplace } from '@things-factory/biz-base'
|
|
15
|
-
import { Product } from '@things-factory/product-base'
|
|
15
|
+
import { Product, ProductBundle } from '@things-factory/product-base'
|
|
16
16
|
import { Domain, ScalarDate } from '@things-factory/shell'
|
|
17
17
|
import { Inventory } from '@things-factory/warehouse-base'
|
|
18
18
|
|
|
@@ -21,6 +21,7 @@ import { CollectionOrder } from '../collection-order/collection-order'
|
|
|
21
21
|
import { DeliveryOrder } from '../delivery-order/delivery-order'
|
|
22
22
|
import { PurchaseOrder } from '../purchase-order/purchase-order'
|
|
23
23
|
import { ReleaseGood } from '../release-good/release-good'
|
|
24
|
+
import { DraftReleaseGood } from '../draft-release-good/draft-release-good'
|
|
24
25
|
import { RetailReplenishmentOrder } from '../retail-replenishment-order/retail-replenishment-order'
|
|
25
26
|
|
|
26
27
|
@Entity()
|
|
@@ -102,6 +103,13 @@ export class OrderProduct {
|
|
|
102
103
|
@RelationId((orderProduct: OrderProduct) => orderProduct.releaseGood)
|
|
103
104
|
releaseGoodId: string
|
|
104
105
|
|
|
106
|
+
@ManyToOne(type => DraftReleaseGood)
|
|
107
|
+
@Field(type => DraftReleaseGood, { nullable: true })
|
|
108
|
+
draftReleaseGood: DraftReleaseGood
|
|
109
|
+
|
|
110
|
+
@RelationId((orderProduct: OrderProduct) => orderProduct.draftReleaseGood)
|
|
111
|
+
draftReleaseGoodId: string
|
|
112
|
+
|
|
105
113
|
@ManyToOne(type => CollectionOrder)
|
|
106
114
|
@Field(type => CollectionOrder, { nullable: true })
|
|
107
115
|
collectionOrder: CollectionOrder
|
|
@@ -151,13 +159,20 @@ export class OrderProduct {
|
|
|
151
159
|
@RelationId((orderProduct: OrderProduct) => orderProduct.toInventory)
|
|
152
160
|
toInventoryId: string
|
|
153
161
|
|
|
154
|
-
@ManyToOne(type => Product, { nullable:
|
|
162
|
+
@ManyToOne(type => Product, { nullable: true })
|
|
155
163
|
@Field(type => Product)
|
|
156
164
|
product: Product
|
|
157
165
|
|
|
158
166
|
@RelationId((orderProduct: OrderProduct) => orderProduct.product)
|
|
159
167
|
productId: string
|
|
160
168
|
|
|
169
|
+
@ManyToOne(type => ProductBundle, { nullable: true })
|
|
170
|
+
@Field(type => ProductBundle)
|
|
171
|
+
productBundle: ProductBundle
|
|
172
|
+
|
|
173
|
+
@RelationId((orderProduct: OrderProduct) => orderProduct.productBundle)
|
|
174
|
+
productBundleId: string
|
|
175
|
+
|
|
161
176
|
@Column()
|
|
162
177
|
@Field()
|
|
163
178
|
batchId: string
|
|
@@ -311,4 +326,16 @@ export class OrderProduct {
|
|
|
311
326
|
|
|
312
327
|
@RelationId((orderProduct: OrderProduct) => orderProduct.updater)
|
|
313
328
|
updaterId: string
|
|
329
|
+
|
|
330
|
+
@Field(type => Float, { nullable: true })
|
|
331
|
+
remainQty: number
|
|
332
|
+
|
|
333
|
+
@Field(type => Float, { nullable: true })
|
|
334
|
+
remainUomValue: number
|
|
335
|
+
|
|
336
|
+
@Field({ nullable: true })
|
|
337
|
+
remainUomValueWithUom: string
|
|
338
|
+
|
|
339
|
+
@Field({ nullable: true })
|
|
340
|
+
groupType: string
|
|
314
341
|
}
|