@things-factory/sales-base 8.0.0-beta.0 → 8.0.0-beta.2

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.
Files changed (177) hide show
  1. package/package.json +13 -13
  2. package/server/constants/attachment-type.ts +0 -9
  3. package/server/constants/index.ts +0 -7
  4. package/server/constants/load-type.ts +0 -4
  5. package/server/constants/order.ts +0 -203
  6. package/server/constants/product-group-type.ts +0 -4
  7. package/server/constants/release-good.ts +0 -9
  8. package/server/constants/transfer-order-type.ts +0 -6
  9. package/server/constants/validation-error-code.ts +0 -3
  10. package/server/constants/vas-target-type.ts +0 -25
  11. package/server/controllers/ecommerce/ecommerce-controller.ts +0 -122
  12. package/server/controllers/ecommerce/index.ts +0 -2
  13. package/server/controllers/ecommerce/sellercraft-controller.ts +0 -182
  14. package/server/controllers/index.ts +0 -2
  15. package/server/controllers/order-controller.ts +0 -296
  16. package/server/errors/index.ts +0 -1
  17. package/server/errors/validation-error.ts +0 -25
  18. package/server/index.ts +0 -5
  19. package/server/migrations/index.ts +0 -9
  20. package/server/service/arrival-notice/arrival-notice-mutation.ts +0 -1152
  21. package/server/service/arrival-notice/arrival-notice-query.ts +0 -549
  22. package/server/service/arrival-notice/arrival-notice-types.ts +0 -310
  23. package/server/service/arrival-notice/arrival-notice.ts +0 -202
  24. package/server/service/arrival-notice/index.ts +0 -9
  25. package/server/service/claim/claim-mutation.ts +0 -308
  26. package/server/service/claim/claim-query.ts +0 -122
  27. package/server/service/claim/claim-types.ts +0 -130
  28. package/server/service/claim/claim.ts +0 -140
  29. package/server/service/claim/index.ts +0 -9
  30. package/server/service/claim-detail/claim-detail-mutation.ts +0 -102
  31. package/server/service/claim-detail/claim-detail-query.ts +0 -55
  32. package/server/service/claim-detail/claim-detail-types.ts +0 -47
  33. package/server/service/claim-detail/claim-detail.ts +0 -69
  34. package/server/service/claim-detail/index.ts +0 -9
  35. package/server/service/claim-order/claim-order-mutation.ts +0 -101
  36. package/server/service/claim-order/claim-order-query.ts +0 -47
  37. package/server/service/claim-order/claim-order-types.ts +0 -35
  38. package/server/service/claim-order/claim-order.ts +0 -81
  39. package/server/service/claim-order/index.ts +0 -9
  40. package/server/service/collection-order/collection-order-mutation.ts +0 -245
  41. package/server/service/collection-order/collection-order-query.ts +0 -97
  42. package/server/service/collection-order/collection-order-types.ts +0 -165
  43. package/server/service/collection-order/collection-order.ts +0 -135
  44. package/server/service/collection-order/index.ts +0 -9
  45. package/server/service/delivery-order/delivery-order-mutation.ts +0 -967
  46. package/server/service/delivery-order/delivery-order-query.ts +0 -631
  47. package/server/service/delivery-order/delivery-order-types.ts +0 -268
  48. package/server/service/delivery-order/delivery-order.ts +0 -258
  49. package/server/service/delivery-order/index.ts +0 -9
  50. package/server/service/draft-release-good/draft-release-good-mutation.ts +0 -765
  51. package/server/service/draft-release-good/draft-release-good-query.ts +0 -354
  52. package/server/service/draft-release-good/draft-release-good-type.ts +0 -261
  53. package/server/service/draft-release-good/draft-release-good.ts +0 -284
  54. package/server/service/draft-release-good/index.ts +0 -9
  55. package/server/service/goods-receival-note/goods-receival-note-mutation.ts +0 -129
  56. package/server/service/goods-receival-note/goods-receival-note-query.ts +0 -280
  57. package/server/service/goods-receival-note/goods-receival-note-types.ts +0 -105
  58. package/server/service/goods-receival-note/goods-receival-note.ts +0 -127
  59. package/server/service/goods-receival-note/index.ts +0 -9
  60. package/server/service/index.ts +0 -238
  61. package/server/service/inventory-check/index.ts +0 -9
  62. package/server/service/inventory-check/inventory-check-mutation.ts +0 -149
  63. package/server/service/inventory-check/inventory-check-query.ts +0 -48
  64. package/server/service/inventory-check/inventory-check-types.ts +0 -48
  65. package/server/service/inventory-check/inventory-check.ts +0 -90
  66. package/server/service/invoice/index.ts +0 -9
  67. package/server/service/invoice/invoice-mutation.ts +0 -95
  68. package/server/service/invoice/invoice-query.ts +0 -53
  69. package/server/service/invoice/invoice-types.ts +0 -279
  70. package/server/service/invoice/invoice.ts +0 -230
  71. package/server/service/invoice-product/index.ts +0 -9
  72. package/server/service/invoice-product/invoice-product-mutation.ts +0 -54
  73. package/server/service/invoice-product/invoice-product-query.ts +0 -54
  74. package/server/service/invoice-product/invoice-product-types.ts +0 -84
  75. package/server/service/invoice-product/invoice-product.ts +0 -92
  76. package/server/service/job-sheet/index.ts +0 -9
  77. package/server/service/job-sheet/job-sheet-mutation.ts +0 -92
  78. package/server/service/job-sheet/job-sheet-query.ts +0 -112
  79. package/server/service/job-sheet/job-sheet-types.ts +0 -78
  80. package/server/service/job-sheet/job-sheet.ts +0 -102
  81. package/server/service/manifest/index.ts +0 -6
  82. package/server/service/manifest/manifest-mutation.ts +0 -190
  83. package/server/service/manifest/manifest-query.ts +0 -149
  84. package/server/service/manifest/manifest-type.ts +0 -84
  85. package/server/service/manifest/manifest.ts +0 -114
  86. package/server/service/order-inventory/index.ts +0 -9
  87. package/server/service/order-inventory/order-inventory-mutation.ts +0 -54
  88. package/server/service/order-inventory/order-inventory-query.ts +0 -722
  89. package/server/service/order-inventory/order-inventory-types.ts +0 -238
  90. package/server/service/order-inventory/order-inventory.ts +0 -401
  91. package/server/service/order-product/index.ts +0 -9
  92. package/server/service/order-product/order-product-mutation.ts +0 -48
  93. package/server/service/order-product/order-product-query.ts +0 -89
  94. package/server/service/order-product/order-product-types.ts +0 -335
  95. package/server/service/order-product/order-product.ts +0 -362
  96. package/server/service/order-tote/index.ts +0 -9
  97. package/server/service/order-tote/order-tote-mutation.ts +0 -31
  98. package/server/service/order-tote/order-tote-query.ts +0 -112
  99. package/server/service/order-tote/order-tote-types.ts +0 -47
  100. package/server/service/order-tote/order-tote.ts +0 -73
  101. package/server/service/order-tote-item/index.ts +0 -9
  102. package/server/service/order-tote-item/order-tote-item-mutation.ts +0 -31
  103. package/server/service/order-tote-item/order-tote-item-query.ts +0 -82
  104. package/server/service/order-tote-item/order-tote-item-types.ts +0 -56
  105. package/server/service/order-tote-item/order-tote-item.ts +0 -72
  106. package/server/service/order-tote-seal/index.ts +0 -9
  107. package/server/service/order-tote-seal/order-tote-seal-mutation.ts +0 -31
  108. package/server/service/order-tote-seal/order-tote-seal-query.ts +0 -59
  109. package/server/service/order-tote-seal/order-tote-seal-types.ts +0 -41
  110. package/server/service/order-tote-seal/order-tote-seal.ts +0 -46
  111. package/server/service/order-vas/index.ts +0 -9
  112. package/server/service/order-vas/order-vas-mutation.ts +0 -20
  113. package/server/service/order-vas/order-vas-query.ts +0 -72
  114. package/server/service/order-vas/order-vas-types.ts +0 -159
  115. package/server/service/order-vas/order-vas.ts +0 -207
  116. package/server/service/others/index.ts +0 -5
  117. package/server/service/others/other-query.ts +0 -563
  118. package/server/service/others/other-types.ts +0 -115
  119. package/server/service/purchase-order/index.ts +0 -9
  120. package/server/service/purchase-order/purchase-order-mutation.ts +0 -458
  121. package/server/service/purchase-order/purchase-order-query.ts +0 -90
  122. package/server/service/purchase-order/purchase-order-types.ts +0 -154
  123. package/server/service/purchase-order/purchase-order.ts +0 -172
  124. package/server/service/purchase-order-other-charge/index.ts +0 -9
  125. package/server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.ts +0 -31
  126. package/server/service/purchase-order-other-charge/purchase-order-other-charge-query.ts +0 -52
  127. package/server/service/purchase-order-other-charge/purchase-order-other-charge-types.ts +0 -44
  128. package/server/service/purchase-order-other-charge/purchase-order-other-charge.ts +0 -68
  129. package/server/service/release-good/index.ts +0 -9
  130. package/server/service/release-good/release-good-mutation.ts +0 -1686
  131. package/server/service/release-good/release-good-query.ts +0 -980
  132. package/server/service/release-good/release-good-types.ts +0 -662
  133. package/server/service/release-good/release-good.ts +0 -490
  134. package/server/service/retail-replenishment-order/index.ts +0 -9
  135. package/server/service/retail-replenishment-order/retail-replenishment-order-mutation.ts +0 -382
  136. package/server/service/retail-replenishment-order/retail-replenishment-order-query.ts +0 -54
  137. package/server/service/retail-replenishment-order/retail-replenishment-order-types.ts +0 -101
  138. package/server/service/retail-replenishment-order/retail-replenishment-order.ts +0 -115
  139. package/server/service/return-order/index.ts +0 -9
  140. package/server/service/return-order/return-order-mutation.ts +0 -516
  141. package/server/service/return-order/return-order-query.ts +0 -226
  142. package/server/service/return-order/return-order-types.ts +0 -196
  143. package/server/service/return-order/return-order.ts +0 -127
  144. package/server/service/reverse-kitting-order/index.ts +0 -9
  145. package/server/service/reverse-kitting-order/reverse-kitting-order-mutation.ts +0 -500
  146. package/server/service/reverse-kitting-order/reverse-kitting-order-query.ts +0 -197
  147. package/server/service/reverse-kitting-order/reverse-kitting-order-type.ts +0 -173
  148. package/server/service/reverse-kitting-order/reverse-kitting-order.ts +0 -121
  149. package/server/service/reverse-kitting-order-inventory/index.ts +0 -9
  150. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.ts +0 -129
  151. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.ts +0 -52
  152. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.ts +0 -95
  153. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.ts +0 -143
  154. package/server/service/shipping-order/index.ts +0 -9
  155. package/server/service/shipping-order/shipping-order-mutation.ts +0 -61
  156. package/server/service/shipping-order/shipping-order-query.ts +0 -61
  157. package/server/service/shipping-order/shipping-order-types.ts +0 -89
  158. package/server/service/shipping-order/shipping-order.ts +0 -129
  159. package/server/service/transfer-order/index.ts +0 -9
  160. package/server/service/transfer-order/transfer-order-mutation.ts +0 -309
  161. package/server/service/transfer-order/transfer-order-query.ts +0 -66
  162. package/server/service/transfer-order/transfer-order-types.ts +0 -97
  163. package/server/service/transfer-order/transfer-order.ts +0 -117
  164. package/server/service/vas/index.ts +0 -9
  165. package/server/service/vas/vas-mutation.ts +0 -106
  166. package/server/service/vas/vas-query.ts +0 -60
  167. package/server/service/vas/vas-types.ts +0 -71
  168. package/server/service/vas/vas.ts +0 -77
  169. package/server/service/vas-order/index.ts +0 -9
  170. package/server/service/vas-order/vas-order-mutation.ts +0 -259
  171. package/server/service/vas-order/vas-order-query.ts +0 -119
  172. package/server/service/vas-order/vas-order-types.ts +0 -49
  173. package/server/service/vas-order/vas-order.ts +0 -81
  174. package/server/utils/datetime-util.ts +0 -54
  175. package/server/utils/index.ts +0 -3
  176. package/server/utils/inventory-util.ts +0 -1155
  177. package/server/utils/order-no-generator.ts +0 -146
@@ -1,245 +0,0 @@
1
- import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'
2
- import GraphQLUpload from 'graphql-upload/GraphQLUpload.js'
3
- import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
4
- import { In } from 'typeorm'
5
-
6
- import { Attachment, createAttachments, deleteAttachment } from '@things-factory/attachment-base'
7
- import { Bizplace, getMyBizplace, getPermittedBizplaceIds } from '@things-factory/biz-base'
8
- import { getRepository } from '@things-factory/shell'
9
- import { TransportDriver, TransportVehicle } from '@things-factory/transport-base'
10
-
11
- import { ArrivalNotice, CollectionOrderPatch, GenerateCollectionOrder } from '../'
12
- import { ORDER_STATUS } from '../../constants'
13
- import { OrderNoGenerator } from '../../utils'
14
- import { CollectionOrder } from './collection-order'
15
-
16
- @Resolver(CollectionOrder)
17
- export class CollectionOrderMutation {
18
- @Directive('@transaction')
19
- @Mutation(returns => CollectionOrder)
20
- async updateCollectionOrder(
21
- @Arg('name') name: string,
22
- @Arg('patch', type => CollectionOrderPatch) patch: CollectionOrderPatch,
23
- @Ctx() context: ResolverContext
24
- ): Promise<CollectionOrder> {
25
- const { tx, domain, user } = context.state
26
-
27
- const collectionOrder = await tx.getRepository(CollectionOrder).findOne({
28
- where: {
29
- domain: { id: domain.id },
30
- name,
31
- bizplace: In(await getPermittedBizplaceIds(domain, user))
32
- }
33
- })
34
-
35
- return await tx.getRepository(CollectionOrder).save({
36
- ...collectionOrder,
37
- ...patch,
38
- updater: user
39
- })
40
- }
41
-
42
- @Directive('@transaction')
43
- @Mutation(returns => Boolean)
44
- async deleteCollectionOrder(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<boolean> {
45
- const { tx, domain } = context.state
46
-
47
- const foundCO = await tx.getRepository(CollectionOrder).findOne({
48
- where: { domain: { id: domain.id }, name }
49
- })
50
- if (foundCO) {
51
- const previousAttachment: Attachment = await tx.getRepository(Attachment).findOne({
52
- where: { domain: { id: domain.id }, refBy: foundCO.id }
53
- })
54
- if (previousAttachment) await deleteAttachment(null, { id: previousAttachment.id }, context)
55
- await tx.getRepository(CollectionOrder).delete({ domain: { id: domain.id }, name })
56
- }
57
- return true
58
- }
59
-
60
- @Directive('@transaction')
61
- @Mutation(returns => CollectionOrder)
62
- async generateCollectionOrder(
63
- @Arg('collectionOrder', type => GenerateCollectionOrder) collectionOrder: GenerateCollectionOrder,
64
- @Arg('attachments', type => [GraphQLUpload], { nullable: true }) attachments: FileUpload[],
65
- @Ctx() context: ResolverContext
66
- ): Promise<CollectionOrder> {
67
- const { tx, domain, user } = context.state
68
-
69
- const myBizplace: Bizplace = await getMyBizplace(domain, user)
70
- // 1. Create collection order
71
- const createdCollectionOrder: CollectionOrder = await tx.getRepository(CollectionOrder).save({
72
- ...collectionOrder,
73
- domain,
74
- bizplace: myBizplace,
75
- arrivalNotice: await tx.getRepository(ArrivalNotice).findOne({
76
- where: { domain: { id: domain.id }, name: collectionOrder.refNo }
77
- }),
78
- status: ORDER_STATUS.PENDING,
79
- creator: user,
80
- updater: user
81
- })
82
-
83
- // 2. Create attachment
84
- if (!attachments) return createdCollectionOrder
85
-
86
- attachments = attachments.map(attachment => {
87
- return {
88
- refType: 'ORDER',
89
- refBy: createdCollectionOrder.id,
90
- file: attachment,
91
- category: 'ORDER' /* TODO use refType */
92
- }
93
- })
94
- await createAttachments(null, { attachments }, context)
95
-
96
- return createdCollectionOrder
97
- }
98
-
99
- @Directive('@transaction')
100
- @Mutation(returns => CollectionOrder)
101
- async confirmCollectionOrder(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<CollectionOrder> {
102
- const { tx, domain, user } = context.state
103
-
104
- const foundCollectionOrder: CollectionOrder = await tx.getRepository(CollectionOrder).findOne({
105
- where: { domain: { id: domain.id }, name },
106
- relations: ['creator', 'updater']
107
- })
108
-
109
- let collectionOrder: CollectionOrder
110
- if (!foundCollectionOrder) throw new Error(`Collection Order doesn't exists.`)
111
- if (foundCollectionOrder.status !== ORDER_STATUS.PENDING) throw new Error('Not confirmable status.')
112
-
113
- // Collection Order Status change (PENDING => PENDING_RECEIVE)
114
- collectionOrder = await tx.getRepository(CollectionOrder).save({
115
- ...foundCollectionOrder,
116
- status: ORDER_STATUS.PENDING_RECEIVE,
117
- updater: user
118
- })
119
-
120
- return collectionOrder
121
- }
122
-
123
- @Directive('@transaction')
124
- @Mutation(returns => CollectionOrder)
125
- async receiveCollectionOrder(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<CollectionOrder> {
126
- try {
127
- const { tx, domain, user } = context.state
128
-
129
- const collectionOrder: CollectionOrder = await tx.getRepository(CollectionOrder).findOne({
130
- where: { domain: { id: domain.id }, name }
131
- })
132
-
133
- if (!collectionOrder) throw new Error(`Collection order doesn't exists.`)
134
- if (collectionOrder.status !== ORDER_STATUS.PENDING_RECEIVE) throw new Error(`Status is not receivable.`)
135
-
136
- await tx.getRepository(CollectionOrder).save({
137
- ...collectionOrder,
138
- status: ORDER_STATUS.READY_TO_DISPATCH,
139
- updater: user
140
- })
141
-
142
- return collectionOrder
143
- } catch (e) {
144
- throw e
145
- }
146
- }
147
-
148
- @Directive('@transaction')
149
- @Mutation(returns => CollectionOrder)
150
- async checkCollectedOrder(
151
- @Ctx() context: ResolverContext,
152
- @Arg('name') name: string,
153
- @Arg('patch', type => CollectionOrderPatch, { nullable: true }) patch?: CollectionOrderPatch
154
- ): Promise<CollectionOrder> {
155
- try {
156
- const { tx, domain, user } = context.state
157
-
158
- const collectionOrder: CollectionOrder = await tx.getRepository(CollectionOrder).findOne({
159
- where: { domain: { id: domain.id }, name }
160
- })
161
-
162
- if (!collectionOrder) throw new Error(`Collection order doesn't exists.`)
163
- if (collectionOrder.status !== ORDER_STATUS.COLLECTING) throw new Error(`Status is not receivable.`)
164
-
165
- await getRepository(CollectionOrder).save({
166
- ...collectionOrder,
167
- ...patch,
168
- status: ORDER_STATUS.DONE,
169
- updater: user
170
- })
171
-
172
- return collectionOrder
173
- } catch (e) {
174
- throw e
175
- }
176
- }
177
-
178
- @Directive('@transaction')
179
- @Mutation(returns => CollectionOrder)
180
- async dispatchCollectionOrder(
181
- @Ctx() context: ResolverContext,
182
- @Arg('orderInfo', type => CollectionOrderPatch, { nullable: true }) orderInfo?: CollectionOrderPatch
183
- ): Promise<CollectionOrder> {
184
- try {
185
- const { tx, domain, user } = context.state
186
-
187
- const foundCollectionOrder: CollectionOrder = await tx.getRepository(CollectionOrder).findOne({
188
- where: { domain: { id: domain.id }, name: orderInfo.name }
189
- })
190
-
191
- if (!foundCollectionOrder) throw new Error(`Collection order doesn't exists.`)
192
- if (foundCollectionOrder.status !== ORDER_STATUS.READY_TO_DISPATCH) throw new Error(`Status is not receivable.`)
193
-
194
- await tx.getRepository(CollectionOrder).save({
195
- ...foundCollectionOrder,
196
- name: OrderNoGenerator.collectionOrder(),
197
- transportDriver: await tx.getRepository(TransportDriver).findOneBy({
198
- domain: { id: domain.id },
199
- id: foundCollectionOrder.transportDriver.id
200
- }),
201
- transportVehicle: await tx.getRepository(TransportVehicle).findOneBy({
202
- domain: { id: domain.id },
203
- id: foundCollectionOrder.transportVehicle.id
204
- }),
205
- status: ORDER_STATUS.COLLECTING,
206
- updater: user
207
- })
208
-
209
- return foundCollectionOrder
210
- } catch (e) {
211
- throw e
212
- }
213
- }
214
-
215
- @Directive('@transaction')
216
- @Mutation(returns => CollectionOrder)
217
- async rejectCollectionOrder(
218
- @Arg('name') name: string,
219
- @Arg('patch', type => CollectionOrderPatch) patch: CollectionOrderPatch,
220
- @Ctx() context: ResolverContext
221
- ): Promise<CollectionOrder> {
222
- try {
223
- const { tx, domain, user } = context.state
224
-
225
- const collectionOrder: CollectionOrder = await tx.getRepository(CollectionOrder).findOne({
226
- where: { domain: { id: domain.id }, name }
227
- })
228
-
229
- if (!collectionOrder) throw new Error(`Collection order doesn't exists.`)
230
- if (!patch.remark) throw new Error('Remark is not exist.')
231
- if (collectionOrder.status !== ORDER_STATUS.PENDING_RECEIVE) throw new Error(`Status is not receivable.`)
232
-
233
- await tx.getRepository(CollectionOrder).save({
234
- ...collectionOrder,
235
- ...patch,
236
- status: ORDER_STATUS.REJECTED,
237
- updater: user
238
- })
239
-
240
- return collectionOrder
241
- } catch (e) {
242
- throw e
243
- }
244
- }
245
- }
@@ -1,97 +0,0 @@
1
- import { Arg, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
- import { In, Not } from 'typeorm'
3
-
4
- import { Attachment } from '@things-factory/attachment-base'
5
- import { User } from '@things-factory/auth-base'
6
- import { getPermittedBizplaceIds } from '@things-factory/biz-base'
7
- import { convertListParams, Domain, Filter, getRepository, Pagination, Sorting } from '@things-factory/shell'
8
-
9
- import { CollectionOrderList } from '../'
10
- import { ORDER_STATUS } from '../../constants'
11
- import { CollectionOrder } from './collection-order'
12
-
13
- @Resolver(CollectionOrder)
14
- export class CollectionOrderQuery {
15
- @Query(returns => CollectionOrder)
16
- async collectionOrder(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<CollectionOrder> {
17
- const { domain, user } = context.state
18
-
19
- const foundCO = await getRepository(CollectionOrder).findOne({
20
- where: {
21
- domain: { id: domain.id },
22
- name,
23
- bizplace: In(await getPermittedBizplaceIds(domain, user))
24
- },
25
- relations: ['domain', 'bizplace', 'arrivalNotice', 'transportDriver', 'transportVehicle', 'creator', 'updater']
26
- })
27
-
28
- const foundAttachments = await getRepository(Attachment).find({
29
- where: {
30
- domain: { id: domain.id },
31
- refBy: foundCO.id
32
- }
33
- })
34
-
35
- return { ...foundCO, attachments: foundAttachments }
36
- }
37
-
38
- @Query(returns => CollectionOrderList)
39
- async collectionOrders(
40
- @Ctx() context: ResolverContext,
41
- @Arg('filters', type => [Filter], { nullable: true }) filters?: [Filter],
42
- @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,
43
- @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: [Sorting]
44
- ): Promise<CollectionOrderList> {
45
- const { domain, user } = context.state
46
-
47
- const convertedParams = convertListParams({ filters, pagination, sortings })
48
- convertedParams.where.bizplace = In(await getPermittedBizplaceIds(domain, user))
49
-
50
- const [items, total] = await getRepository(CollectionOrder).findAndCount({
51
- ...convertedParams,
52
- relations: ['domain', 'bizplace', 'arrivalNotice', 'transportDriver', 'transportVehicle', 'creator', 'updater']
53
- })
54
-
55
- return { items, total }
56
- }
57
-
58
- @Query(returns => CollectionOrderList)
59
- async collectionOrderRequests(
60
- @Ctx() context: ResolverContext,
61
- @Arg('filters', type => [Filter], { nullable: true }) filters?: [Filter],
62
- @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,
63
- @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: [Sorting]
64
- ): Promise<CollectionOrderList> {
65
- const { domain, user } = context.state
66
-
67
- const convertedParams = convertListParams({ filters, pagination, sortings })
68
-
69
- if (!convertedParams.where || !convertedParams.where.status) {
70
- convertedParams.where.status = Not(In([ORDER_STATUS.PENDING, ORDER_STATUS.EDITING]))
71
- }
72
-
73
- ;(convertedParams as any).bizplace = In(await getPermittedBizplaceIds(domain, user))
74
-
75
- const [items, total] = await getRepository(CollectionOrder).findAndCount({
76
- ...convertedParams,
77
- relations: ['domain', 'bizplace', 'arrivalNotice', 'transportDriver', 'transportVehicle', 'creator', 'updater']
78
- })
79
-
80
- return { items, total }
81
- }
82
-
83
- @FieldResolver(type => Domain)
84
- async domain(@Root() collectionOrder: CollectionOrder): Promise<Domain> {
85
- return await getRepository(Domain).findOneBy({ id: collectionOrder.domainId })
86
- }
87
-
88
- @FieldResolver(type => User)
89
- async creator(@Root() collectionOrder: CollectionOrder): Promise<User> {
90
- return await getRepository(User).findOneBy({ id: collectionOrder.creatorId })
91
- }
92
-
93
- @FieldResolver(type => User)
94
- async updater(@Root() collectionOrder: CollectionOrder): Promise<User> {
95
- return await getRepository(User).findOneBy({ id: collectionOrder.updaterId })
96
- }
97
- }
@@ -1,165 +0,0 @@
1
- import { ObjectRef } from '@things-factory/shell'
2
- import { Field, Float, ID, InputType, Int, ObjectType } from 'type-graphql'
3
- import { CollectionOrder } from './collection-order'
4
-
5
- @ObjectType()
6
- export class CollectionOrderList {
7
- @Field(type => [CollectionOrder], { nullable: true })
8
- items: CollectionOrder[]
9
-
10
- @Field(type => Int, { nullable: true })
11
- total: number
12
- }
13
-
14
- @InputType()
15
- export class NewCollectionOrder {
16
- @Field({ nullable: true })
17
- name: string
18
-
19
- @Field({ nullable: true })
20
- description: string
21
-
22
- @Field({ nullable: true })
23
- from: string
24
-
25
- @Field({ nullable: true })
26
- to: string
27
-
28
- @Field({ nullable: true })
29
- truckNo: string
30
-
31
- @Field({ nullable: true })
32
- refNo: string
33
-
34
- @Field({ nullable: true })
35
- telNo: string
36
-
37
- @Field(type => Float, { nullable: true })
38
- loadWeight: number
39
-
40
- @Field({ nullable: true })
41
- urgency: Boolean
42
-
43
- @Field({ nullable: true })
44
- cargoType: string
45
-
46
- @Field({ nullable: true })
47
- looseItem: Boolean
48
-
49
- @Field(type => ObjectRef, { nullable: true })
50
- arrivalNotice: ObjectRef
51
-
52
- @Field({ nullable: true })
53
- collectionDateTime: string
54
-
55
- @Field()
56
- collectionDate: string
57
-
58
- @Field({ nullable: true })
59
- status: string
60
- }
61
-
62
- @InputType()
63
- export class GenerateCollectionOrder {
64
- @Field({ nullable: true })
65
- name: string
66
-
67
- @Field({ nullable: true })
68
- description: string
69
-
70
- @Field({ nullable: true })
71
- from: string
72
-
73
- @Field({ nullable: true })
74
- to: string
75
-
76
- @Field({ nullable: true })
77
- truckNo: string
78
-
79
- @Field({ nullable: true })
80
- refNo: string
81
-
82
- @Field({ nullable: true })
83
- telNo: string
84
-
85
- @Field(type => Float, { nullable: true })
86
- loadWeight: number
87
-
88
- @Field({ nullable: true })
89
- looseItem: Boolean
90
-
91
- @Field({ nullable: true })
92
- urgency: Boolean
93
-
94
- @Field({ nullable: true })
95
- cargoType: string
96
-
97
- @Field({ nullable: true })
98
- collectionDateTime: string
99
-
100
- @Field()
101
- collectionDate: string
102
-
103
- @Field({ nullable: true })
104
- status: string
105
- }
106
-
107
- @InputType()
108
- export class CollectionOrderPatch {
109
- @Field(type => ID, { nullable: true })
110
- id: string
111
-
112
- @Field({ nullable: true })
113
- name: string
114
-
115
- @Field({ nullable: true })
116
- description: string
117
-
118
- @Field({ nullable: true })
119
- from: string
120
-
121
- @Field({ nullable: true })
122
- to: string
123
-
124
- @Field({ nullable: true })
125
- refNo: string
126
-
127
- @Field(type => Float, { nullable: true })
128
- loadWeight: number
129
-
130
- @Field({ nullable: true })
131
- urgency: Boolean
132
-
133
- @Field({ nullable: true })
134
- looseItem: Boolean
135
-
136
- @Field({ nullable: true })
137
- cargoType: string
138
-
139
- @Field({ nullable: true })
140
- collectionDateTime: string
141
-
142
- @Field({ nullable: true })
143
- collectionDate: string
144
-
145
- @Field(type => ObjectRef, { nullable: true })
146
- arrivalNotice: ObjectRef
147
-
148
- @Field(type => ObjectRef, { nullable: true })
149
- transportDriver: ObjectRef
150
-
151
- @Field(type => ObjectRef, { nullable: true })
152
- transportVehicle: ObjectRef
153
-
154
- @Field({ nullable: true })
155
- telNo: string
156
-
157
- @Field({ nullable: true })
158
- remark: string
159
-
160
- @Field({ nullable: true })
161
- truckNo: string
162
-
163
- @Field({ nullable: true })
164
- status: string
165
- }
@@ -1,135 +0,0 @@
1
- import { Attachment } from '@things-factory/attachment-base'
2
- import { User } from '@things-factory/auth-base'
3
- import { Bizplace } from '@things-factory/biz-base'
4
- import { Domain, roundTransformer } from '@things-factory/shell'
5
- import { TransportDriver, TransportVehicle } from '@things-factory/transport-base'
6
- import { Field, ObjectType } from 'type-graphql'
7
- import { Column, CreateDateColumn, Entity, Index, JoinColumn, ManyToOne, OneToOne, PrimaryGeneratedColumn, RelationId, UpdateDateColumn } from 'typeorm'
8
- import { ArrivalNotice } from '../'
9
-
10
- @Entity()
11
- @Index('ix_collection-order_0', (collectionOrder: CollectionOrder) => [collectionOrder.domain, collectionOrder.name], {
12
- unique: true
13
- })
14
- @ObjectType()
15
- export class CollectionOrder {
16
- @PrimaryGeneratedColumn('uuid')
17
- @Field()
18
- readonly id: string
19
-
20
- @ManyToOne(type => Domain)
21
- @Field(type => Domain, { nullable: true })
22
- domain: Domain
23
-
24
- @RelationId((collectionOrder: CollectionOrder) => collectionOrder.domain)
25
- domainId: string
26
-
27
- @ManyToOne(type => Bizplace)
28
- @Field(type => Bizplace, { nullable: true })
29
- bizplace: Bizplace
30
-
31
- @RelationId((collectionOrder: CollectionOrder) => collectionOrder.bizplace)
32
- bizplaceId: string
33
-
34
- @Column()
35
- @Field()
36
- name: string
37
-
38
- @Column({ nullable: true })
39
- @Field({ nullable: true })
40
- from: string
41
-
42
- @Column({ nullable: true })
43
- @Field({ nullable: true })
44
- to: string
45
-
46
- @Column({ nullable: true })
47
- @Field({ nullable: true })
48
- collectionDateTime: Date
49
-
50
- @Column({ nullable: true })
51
- @Field({ nullable: true })
52
- collectionDate: string
53
-
54
- @Column('float', { nullable: true, transformer: roundTransformer })
55
- @Field({ nullable: true })
56
- loadWeight: Number
57
-
58
- @Column({ nullable: true })
59
- @Field({ nullable: true })
60
- cargoType: string
61
-
62
- @OneToOne(type => TransportDriver)
63
- @JoinColumn()
64
- @Field(type => TransportDriver, { nullable: true })
65
- transportDriver: TransportDriver
66
-
67
- @OneToOne(type => TransportVehicle)
68
- @JoinColumn()
69
- @Field(type => TransportVehicle, { nullable: true })
70
- transportVehicle: TransportVehicle
71
-
72
- @Column({ nullable: true })
73
- @Field({ nullable: true })
74
- urgency: Boolean
75
-
76
- @Column({ nullable: true })
77
- @Field({ nullable: true })
78
- looseItem: Boolean
79
-
80
- @Column({ nullable: true })
81
- @Field({ nullable: true })
82
- refNo: string
83
-
84
- @Column({ nullable: true })
85
- @Field({ nullable: true })
86
- truckNo: string
87
-
88
- @ManyToOne(type => ArrivalNotice)
89
- @Field(type => ArrivalNotice, { nullable: true })
90
- arrivalNotice: ArrivalNotice
91
-
92
- @RelationId((collectionOrder: CollectionOrder) => collectionOrder.arrivalNotice)
93
- arrivalNoticeId: string
94
-
95
- @Column({ nullable: true })
96
- @Field({ nullable: true })
97
- telNo: string
98
-
99
- @Column({ nullable: true })
100
- @Field({ nullable: true })
101
- remark: string
102
-
103
- @Column()
104
- @Field()
105
- status: string
106
-
107
- @Column({ nullable: true })
108
- @Field({ nullable: true })
109
- description: string
110
-
111
- @CreateDateColumn()
112
- @Field()
113
- createdAt: Date
114
-
115
- @UpdateDateColumn()
116
- @Field()
117
- updatedAt: Date
118
-
119
- @ManyToOne(type => User)
120
- @Field(type => User, { nullable: true })
121
- creator: User
122
-
123
- @RelationId((collectionOrder: CollectionOrder) => collectionOrder.creator)
124
- creatorId: string
125
-
126
- @ManyToOne(type => User)
127
- @Field(type => User, { nullable: true })
128
- updater: User
129
-
130
- @RelationId((collectionOrder: CollectionOrder) => collectionOrder.updater)
131
- updaterId: string
132
-
133
- @Field(type => Attachment, { nullable: true })
134
- attachments: Attachment[]
135
- }
@@ -1,9 +0,0 @@
1
- import { CollectionOrder } from './collection-order'
2
- import { CollectionOrderMutation } from './collection-order-mutation'
3
- import { CollectionOrderQuery } from './collection-order-query'
4
-
5
- export const entities = [CollectionOrder]
6
- export const resolvers = [CollectionOrderQuery, CollectionOrderMutation]
7
-
8
- export * from './collection-order-mutation'
9
- export * from './collection-order-query'