@things-factory/sales-base 8.0.2 → 8.0.5

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 (178) hide show
  1. package/dist-server/tsconfig.tsbuildinfo +1 -1
  2. package/package.json +12 -12
  3. package/server/constants/attachment-type.ts +0 -9
  4. package/server/constants/index.ts +0 -7
  5. package/server/constants/load-type.ts +0 -4
  6. package/server/constants/order.ts +0 -203
  7. package/server/constants/product-group-type.ts +0 -4
  8. package/server/constants/release-good.ts +0 -9
  9. package/server/constants/transfer-order-type.ts +0 -6
  10. package/server/constants/validation-error-code.ts +0 -3
  11. package/server/constants/vas-target-type.ts +0 -25
  12. package/server/controllers/ecommerce/ecommerce-controller.ts +0 -122
  13. package/server/controllers/ecommerce/index.ts +0 -2
  14. package/server/controllers/ecommerce/sellercraft-controller.ts +0 -182
  15. package/server/controllers/index.ts +0 -2
  16. package/server/controllers/order-controller.ts +0 -296
  17. package/server/errors/index.ts +0 -1
  18. package/server/errors/validation-error.ts +0 -25
  19. package/server/index.ts +0 -5
  20. package/server/migrations/index.ts +0 -9
  21. package/server/service/arrival-notice/arrival-notice-mutation.ts +0 -1152
  22. package/server/service/arrival-notice/arrival-notice-query.ts +0 -549
  23. package/server/service/arrival-notice/arrival-notice-types.ts +0 -310
  24. package/server/service/arrival-notice/arrival-notice.ts +0 -202
  25. package/server/service/arrival-notice/index.ts +0 -9
  26. package/server/service/claim/claim-mutation.ts +0 -308
  27. package/server/service/claim/claim-query.ts +0 -122
  28. package/server/service/claim/claim-types.ts +0 -130
  29. package/server/service/claim/claim.ts +0 -140
  30. package/server/service/claim/index.ts +0 -9
  31. package/server/service/claim-detail/claim-detail-mutation.ts +0 -102
  32. package/server/service/claim-detail/claim-detail-query.ts +0 -55
  33. package/server/service/claim-detail/claim-detail-types.ts +0 -47
  34. package/server/service/claim-detail/claim-detail.ts +0 -69
  35. package/server/service/claim-detail/index.ts +0 -9
  36. package/server/service/claim-order/claim-order-mutation.ts +0 -101
  37. package/server/service/claim-order/claim-order-query.ts +0 -47
  38. package/server/service/claim-order/claim-order-types.ts +0 -35
  39. package/server/service/claim-order/claim-order.ts +0 -81
  40. package/server/service/claim-order/index.ts +0 -9
  41. package/server/service/collection-order/collection-order-mutation.ts +0 -245
  42. package/server/service/collection-order/collection-order-query.ts +0 -97
  43. package/server/service/collection-order/collection-order-types.ts +0 -165
  44. package/server/service/collection-order/collection-order.ts +0 -135
  45. package/server/service/collection-order/index.ts +0 -9
  46. package/server/service/delivery-order/delivery-order-mutation.ts +0 -967
  47. package/server/service/delivery-order/delivery-order-query.ts +0 -631
  48. package/server/service/delivery-order/delivery-order-types.ts +0 -268
  49. package/server/service/delivery-order/delivery-order.ts +0 -258
  50. package/server/service/delivery-order/index.ts +0 -9
  51. package/server/service/draft-release-good/draft-release-good-mutation.ts +0 -765
  52. package/server/service/draft-release-good/draft-release-good-query.ts +0 -354
  53. package/server/service/draft-release-good/draft-release-good-type.ts +0 -261
  54. package/server/service/draft-release-good/draft-release-good.ts +0 -284
  55. package/server/service/draft-release-good/index.ts +0 -9
  56. package/server/service/goods-receival-note/goods-receival-note-mutation.ts +0 -129
  57. package/server/service/goods-receival-note/goods-receival-note-query.ts +0 -280
  58. package/server/service/goods-receival-note/goods-receival-note-types.ts +0 -105
  59. package/server/service/goods-receival-note/goods-receival-note.ts +0 -127
  60. package/server/service/goods-receival-note/index.ts +0 -9
  61. package/server/service/index.ts +0 -238
  62. package/server/service/inventory-check/index.ts +0 -9
  63. package/server/service/inventory-check/inventory-check-mutation.ts +0 -149
  64. package/server/service/inventory-check/inventory-check-query.ts +0 -48
  65. package/server/service/inventory-check/inventory-check-types.ts +0 -48
  66. package/server/service/inventory-check/inventory-check.ts +0 -90
  67. package/server/service/invoice/index.ts +0 -9
  68. package/server/service/invoice/invoice-mutation.ts +0 -95
  69. package/server/service/invoice/invoice-query.ts +0 -53
  70. package/server/service/invoice/invoice-types.ts +0 -279
  71. package/server/service/invoice/invoice.ts +0 -230
  72. package/server/service/invoice-product/index.ts +0 -9
  73. package/server/service/invoice-product/invoice-product-mutation.ts +0 -54
  74. package/server/service/invoice-product/invoice-product-query.ts +0 -54
  75. package/server/service/invoice-product/invoice-product-types.ts +0 -84
  76. package/server/service/invoice-product/invoice-product.ts +0 -92
  77. package/server/service/job-sheet/index.ts +0 -9
  78. package/server/service/job-sheet/job-sheet-mutation.ts +0 -92
  79. package/server/service/job-sheet/job-sheet-query.ts +0 -112
  80. package/server/service/job-sheet/job-sheet-types.ts +0 -78
  81. package/server/service/job-sheet/job-sheet.ts +0 -102
  82. package/server/service/manifest/index.ts +0 -6
  83. package/server/service/manifest/manifest-mutation.ts +0 -190
  84. package/server/service/manifest/manifest-query.ts +0 -149
  85. package/server/service/manifest/manifest-type.ts +0 -84
  86. package/server/service/manifest/manifest.ts +0 -114
  87. package/server/service/order-inventory/index.ts +0 -9
  88. package/server/service/order-inventory/order-inventory-mutation.ts +0 -54
  89. package/server/service/order-inventory/order-inventory-query.ts +0 -722
  90. package/server/service/order-inventory/order-inventory-types.ts +0 -238
  91. package/server/service/order-inventory/order-inventory.ts +0 -401
  92. package/server/service/order-product/index.ts +0 -9
  93. package/server/service/order-product/order-product-mutation.ts +0 -48
  94. package/server/service/order-product/order-product-query.ts +0 -89
  95. package/server/service/order-product/order-product-types.ts +0 -335
  96. package/server/service/order-product/order-product.ts +0 -362
  97. package/server/service/order-tote/index.ts +0 -9
  98. package/server/service/order-tote/order-tote-mutation.ts +0 -31
  99. package/server/service/order-tote/order-tote-query.ts +0 -112
  100. package/server/service/order-tote/order-tote-types.ts +0 -47
  101. package/server/service/order-tote/order-tote.ts +0 -73
  102. package/server/service/order-tote-item/index.ts +0 -9
  103. package/server/service/order-tote-item/order-tote-item-mutation.ts +0 -31
  104. package/server/service/order-tote-item/order-tote-item-query.ts +0 -82
  105. package/server/service/order-tote-item/order-tote-item-types.ts +0 -56
  106. package/server/service/order-tote-item/order-tote-item.ts +0 -72
  107. package/server/service/order-tote-seal/index.ts +0 -9
  108. package/server/service/order-tote-seal/order-tote-seal-mutation.ts +0 -31
  109. package/server/service/order-tote-seal/order-tote-seal-query.ts +0 -59
  110. package/server/service/order-tote-seal/order-tote-seal-types.ts +0 -41
  111. package/server/service/order-tote-seal/order-tote-seal.ts +0 -46
  112. package/server/service/order-vas/index.ts +0 -9
  113. package/server/service/order-vas/order-vas-mutation.ts +0 -20
  114. package/server/service/order-vas/order-vas-query.ts +0 -72
  115. package/server/service/order-vas/order-vas-types.ts +0 -159
  116. package/server/service/order-vas/order-vas.ts +0 -207
  117. package/server/service/others/index.ts +0 -5
  118. package/server/service/others/other-query.ts +0 -563
  119. package/server/service/others/other-types.ts +0 -115
  120. package/server/service/purchase-order/index.ts +0 -9
  121. package/server/service/purchase-order/purchase-order-mutation.ts +0 -458
  122. package/server/service/purchase-order/purchase-order-query.ts +0 -90
  123. package/server/service/purchase-order/purchase-order-types.ts +0 -154
  124. package/server/service/purchase-order/purchase-order.ts +0 -172
  125. package/server/service/purchase-order-other-charge/index.ts +0 -9
  126. package/server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.ts +0 -31
  127. package/server/service/purchase-order-other-charge/purchase-order-other-charge-query.ts +0 -52
  128. package/server/service/purchase-order-other-charge/purchase-order-other-charge-types.ts +0 -44
  129. package/server/service/purchase-order-other-charge/purchase-order-other-charge.ts +0 -68
  130. package/server/service/release-good/index.ts +0 -9
  131. package/server/service/release-good/release-good-mutation.ts +0 -1686
  132. package/server/service/release-good/release-good-query.ts +0 -980
  133. package/server/service/release-good/release-good-types.ts +0 -662
  134. package/server/service/release-good/release-good.ts +0 -490
  135. package/server/service/retail-replenishment-order/index.ts +0 -9
  136. package/server/service/retail-replenishment-order/retail-replenishment-order-mutation.ts +0 -382
  137. package/server/service/retail-replenishment-order/retail-replenishment-order-query.ts +0 -54
  138. package/server/service/retail-replenishment-order/retail-replenishment-order-types.ts +0 -101
  139. package/server/service/retail-replenishment-order/retail-replenishment-order.ts +0 -115
  140. package/server/service/return-order/index.ts +0 -9
  141. package/server/service/return-order/return-order-mutation.ts +0 -516
  142. package/server/service/return-order/return-order-query.ts +0 -226
  143. package/server/service/return-order/return-order-types.ts +0 -196
  144. package/server/service/return-order/return-order.ts +0 -127
  145. package/server/service/reverse-kitting-order/index.ts +0 -9
  146. package/server/service/reverse-kitting-order/reverse-kitting-order-mutation.ts +0 -500
  147. package/server/service/reverse-kitting-order/reverse-kitting-order-query.ts +0 -197
  148. package/server/service/reverse-kitting-order/reverse-kitting-order-type.ts +0 -173
  149. package/server/service/reverse-kitting-order/reverse-kitting-order.ts +0 -121
  150. package/server/service/reverse-kitting-order-inventory/index.ts +0 -9
  151. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.ts +0 -129
  152. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.ts +0 -52
  153. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.ts +0 -95
  154. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.ts +0 -143
  155. package/server/service/shipping-order/index.ts +0 -9
  156. package/server/service/shipping-order/shipping-order-mutation.ts +0 -61
  157. package/server/service/shipping-order/shipping-order-query.ts +0 -61
  158. package/server/service/shipping-order/shipping-order-types.ts +0 -89
  159. package/server/service/shipping-order/shipping-order.ts +0 -129
  160. package/server/service/transfer-order/index.ts +0 -9
  161. package/server/service/transfer-order/transfer-order-mutation.ts +0 -309
  162. package/server/service/transfer-order/transfer-order-query.ts +0 -66
  163. package/server/service/transfer-order/transfer-order-types.ts +0 -97
  164. package/server/service/transfer-order/transfer-order.ts +0 -117
  165. package/server/service/vas/index.ts +0 -9
  166. package/server/service/vas/vas-mutation.ts +0 -106
  167. package/server/service/vas/vas-query.ts +0 -60
  168. package/server/service/vas/vas-types.ts +0 -71
  169. package/server/service/vas/vas.ts +0 -77
  170. package/server/service/vas-order/index.ts +0 -9
  171. package/server/service/vas-order/vas-order-mutation.ts +0 -259
  172. package/server/service/vas-order/vas-order-query.ts +0 -119
  173. package/server/service/vas-order/vas-order-types.ts +0 -49
  174. package/server/service/vas-order/vas-order.ts +0 -81
  175. package/server/utils/datetime-util.ts +0 -54
  176. package/server/utils/index.ts +0 -3
  177. package/server/utils/inventory-util.ts +0 -1155
  178. 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'