@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,308 +0,0 @@
1
- import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
2
- import { In, MoreThan } from 'typeorm'
3
-
4
- import { Bizplace } from '@things-factory/biz-base'
5
- import { getRepository } from '@things-factory/shell'
6
- import { TransportDriver, TransportVehicle } from '@things-factory/transport-base'
7
-
8
- import {
9
- ClaimDetail,
10
- ClaimDetailPatch,
11
- ClaimOrder,
12
- ClaimPatch,
13
- CollectionOrder,
14
- DeliveryOrder,
15
- NewClaim,
16
- NewClaimDetail
17
- } from '../'
18
- import { Claim } from './claim'
19
-
20
- @Resolver(Claim)
21
- export class ClaimMutation {
22
- @Directive('@privilege(category: "claim", privilege: "mutation" )')
23
- @Directive('@transaction')
24
- @Mutation(returns => Claim)
25
- async createClaim(@Arg('claim', type => NewClaim) claim: NewClaim, @Ctx() context: ResolverContext): Promise<Claim> {
26
- const { tx } = context.state
27
-
28
- let arrClaimOrdersName = claim.claimOrders.map(item => {
29
- return item.name
30
- })
31
-
32
- let newClaimOrders = []
33
- let deliveryOrder = await getRepository(DeliveryOrder).find({
34
- where: { name: In(arrClaimOrdersName), domain: { id: context.state.domain.id } }
35
- })
36
-
37
- let collectionOrder = await getRepository(CollectionOrder).find({
38
- where: { name: In(arrClaimOrdersName), domain: { id: context.state.domain.id } }
39
- })
40
-
41
- deliveryOrder.map(order => {
42
- newClaimOrders.push({
43
- name: order.name,
44
- deliveryOrder: order
45
- })
46
- })
47
-
48
- collectionOrder.map(order => {
49
- newClaimOrders.push({
50
- name: order.name,
51
- collectionOrder: order
52
- })
53
- })
54
-
55
- let bizplace = await getRepository(Bizplace).findOne({
56
- where: {
57
- domain: { id: context.state.domain.id },
58
- id: claim.bizplace
59
- }
60
- })
61
-
62
- let transportDriver = await getRepository(TransportDriver).findOne({
63
- where: {
64
- domain: { id: context.state.domain.id },
65
- id: claim.transportDriver
66
- }
67
- })
68
-
69
- let transportVehicle = await getRepository(TransportVehicle).findOne({
70
- where: {
71
- domain: { id: context.state.domain.id },
72
- id: claim.transportVehicle
73
- }
74
- })
75
-
76
- // if (newClaimOrders.length > 0) {
77
- // await getRepository(ClaimOrder).findAndCount({
78
- // where: { deliveryOrder: In(), domain: { id: context.state.domain.id } }
79
- // })
80
- // throw new Error('Data Error')
81
- // }
82
-
83
- let today = new Date()
84
- let year = today.getFullYear()
85
- let month = today.getMonth()
86
- let date = today.getDate()
87
-
88
- const [items, total] = await getRepository(Claim).findAndCountBy({
89
- createdAt: MoreThan(new Date(year, month, date))
90
- })
91
-
92
- let claimName =
93
- 'CLAIM' +
94
- year.toString().substr(year.toString().length - 2) +
95
- ('0' + month.toString()).substr(('0' + (month + 1).toString()).toString().length - 2) +
96
- ('0' + date.toString()).substr(('0' + date.toString()).length - 2) +
97
- '/' +
98
- ('0000' + (total + 1).toString()).substr(('0000' + (total + 1).toString()).length - 4)
99
-
100
- // //Save All Data//
101
- const createdClaim: Claim = await tx.getRepository(Claim).save({
102
- ...claim,
103
- name: claimName,
104
- bizplace: bizplace,
105
- transportDriver: transportDriver,
106
- transportVehicle: transportVehicle,
107
- status: 'PENDING',
108
- domain: context.state.domain,
109
- creator: context.state.user,
110
- updater: context.state.user
111
- })
112
-
113
- const claimOrders = await Promise.all(
114
- newClaimOrders.map(async (claimOrder: ClaimOrder) => {
115
- return {
116
- ...claimOrder,
117
- claim: createdClaim,
118
- domain: context.state.domain,
119
- creator: context.state.user,
120
- updater: context.state.user
121
- }
122
- })
123
- )
124
-
125
- const claimDetails = await Promise.all(
126
- claim.claimDetails.map(async (claimDetail: NewClaimDetail) => {
127
- return {
128
- ...claimDetail,
129
- claim: createdClaim,
130
- domain: context.state.domain,
131
- creator: context.state.user,
132
- updater: context.state.user
133
- }
134
- })
135
- )
136
-
137
- await tx.getRepository(ClaimOrder).save(claimOrders)
138
- await tx.getRepository(ClaimDetail).save(claimDetails)
139
- //Save All Data//
140
-
141
- return createdClaim
142
- }
143
-
144
- @Directive('@transaction')
145
- @Mutation(returns => Claim)
146
- async updateClaim(
147
- @Arg('id') id: string,
148
- @Arg('patch', type => ClaimPatch) patch: ClaimPatch,
149
- @Ctx() context: ResolverContext
150
- ): Promise<Claim> {
151
- try {
152
- const { tx } = context.state
153
- const targetClaim: Claim = await tx.getRepository(Claim).findOne({
154
- where: { domain: { id: context.state.domain.id }, id },
155
- relations: ['claimDetails', 'claimOrders', 'bizplace', 'updater']
156
- })
157
- if (!targetClaim) throw new Error('claim not exists')
158
-
159
- let bizplace = await tx.getRepository(Bizplace).findOne({
160
- where: {
161
- domain: { id: context.state.domain.id },
162
- id: patch.bizplace
163
- }
164
- })
165
-
166
- tx.query(`
167
- DELETE FROM
168
- claim_orders
169
- WHERE
170
- claim_id = '${targetClaim.id}'
171
- `)
172
- tx.query(`
173
- DELETE FROM
174
- claim_details
175
- WHERE
176
- claim_id = '${targetClaim.id}'
177
- `)
178
-
179
- let arrClaimOrdersName = patch.claimOrders.map(item => {
180
- return item.name
181
- })
182
-
183
- let newClaimOrders = []
184
- let deliveryOrder = await tx.getRepository(DeliveryOrder).find({
185
- where: { name: In(arrClaimOrdersName), domain: { id: context.state.domain.id } }
186
- })
187
-
188
- let collectionOrder = await tx.getRepository(CollectionOrder).find({
189
- where: { name: In(arrClaimOrdersName), domain: { id: context.state.domain.id } }
190
- })
191
-
192
- deliveryOrder.map(order => {
193
- newClaimOrders.push({
194
- name: order.name,
195
- deliveryOrder: order
196
- })
197
- })
198
-
199
- collectionOrder.map(order => {
200
- newClaimOrders.push({
201
- name: order.name,
202
- collectionOrder: order
203
- })
204
- })
205
-
206
- debugger
207
- await tx.getRepository(Claim).save({
208
- ...targetClaim,
209
- ...patch,
210
- bizplace: bizplace,
211
- updater: context.state.user
212
- } as any)
213
-
214
- const claimOrders = await Promise.all(
215
- newClaimOrders.map(async (ClaimOrder: ClaimOrder) => {
216
- return {
217
- ...ClaimOrder,
218
- claim: targetClaim,
219
- domain: context.state.domain,
220
- creator: context.state.user,
221
- updater: context.state.user
222
- }
223
- })
224
- )
225
-
226
- const claimDetails = await Promise.all(
227
- patch.claimDetails.map(async (claimDetail: ClaimDetailPatch) => {
228
- return {
229
- ...claimDetail,
230
- claim: targetClaim,
231
- domain: context.state.domain,
232
- creator: context.state.user,
233
- updater: context.state.user
234
- }
235
- })
236
- )
237
-
238
- await tx.getRepository(ClaimOrder).save(claimOrders)
239
- await tx.getRepository(ClaimDetail).save(claimDetails)
240
-
241
- return targetClaim
242
- } catch (e) {
243
- throw e
244
- }
245
- }
246
-
247
- @Mutation(returns => [Claim])
248
- async updateMultipleClaim(
249
- @Arg('patches', type => [ClaimPatch]) patches: ClaimPatch[],
250
- @Ctx() context: ResolverContext
251
- ): Promise<Claim[]> {
252
- let results: Claim[] = []
253
- const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
254
- const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
255
- const claimRepo = getRepository(Claim)
256
-
257
- if (_createRecords.length > 0) {
258
- for (let i = 0; i < _createRecords.length; i++) {
259
- const newRecord = _createRecords[i]
260
-
261
- const result = await claimRepo.save({
262
- ...newRecord,
263
- domain: context.state.domain,
264
- creator: context.state.user,
265
- updater: context.state.user
266
- } as any)
267
-
268
- results.push(result)
269
- }
270
- }
271
-
272
- if (_updateRecords.length > 0) {
273
- for (let i = 0; i < _updateRecords.length; i++) {
274
- const newRecord = _updateRecords[i]
275
- const claim = await claimRepo.findOneBy({ id: newRecord.id })
276
-
277
- const result = await claimRepo.save({
278
- ...claim,
279
- ...newRecord,
280
- updater: context.state.user
281
- } as any)
282
-
283
- results.push(result)
284
- }
285
- }
286
-
287
- return results
288
- }
289
-
290
- @Mutation(returns => Boolean)
291
- async deleteClaim(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<boolean> {
292
- await getRepository(Claim).delete({ domain: { id: context.state.domain.id }, name })
293
- return true
294
- }
295
-
296
- @Mutation(returns => Boolean)
297
- async deleteClaims(
298
- @Arg('names', type => [String]) names: string[],
299
- @Ctx() context: ResolverContext
300
- ): Promise<boolean> {
301
- await getRepository(Claim).delete({
302
- domain: { id: context.state.domain.id },
303
- name: In(names)
304
- })
305
-
306
- return true
307
- }
308
- }
@@ -1,122 +0,0 @@
1
- import { Arg, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
-
3
- import { User } from '@things-factory/auth-base'
4
- import { convertListParams, Domain, Filter, getRepository, Pagination, Sorting } from '@things-factory/shell'
5
-
6
- import { ClaimList } from '../'
7
- import { Claim } from './claim'
8
-
9
- @Resolver(Claim)
10
- export class ClaimQuery {
11
- @Query(returns => Claim)
12
- async claim(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Claim> {
13
- return await getRepository(Claim).findOne({
14
- where: {
15
- domain: { id: context.state.domain.id },
16
- id
17
- },
18
- relations: [
19
- 'domain',
20
- 'claimDetails',
21
- 'claimOrders',
22
- 'transportDriver',
23
- 'transportVehicle',
24
- 'bizplace',
25
- 'creator',
26
- 'updater'
27
- ]
28
- })
29
- }
30
-
31
- @Query(returns => ClaimList)
32
- async claims(
33
- @Arg('filters', type => [Filter], { nullable: true }) filters?: [Filter],
34
- @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,
35
- @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: [Sorting]
36
- ): Promise<ClaimList> {
37
- const convertedParams = convertListParams({ filters, pagination, sortings })
38
- let [items, total] = await getRepository<Claim>(Claim).findAndCount({
39
- ...convertedParams,
40
- relations: ['domain', 'creator', 'updater', 'bizplace', 'transportVehicle', 'transportDriver', 'claimDetails']
41
- })
42
-
43
- return { items, total }
44
- }
45
-
46
- @Query(returns => [Claim])
47
- async claimOrderList(
48
- @Ctx() context: ResolverContext,
49
- @Arg('transportDriver', { nullable: true }) transportDriver?: string,
50
- @Arg('transportVehicle', { nullable: true }) transportVehicle?: string
51
- ): Promise<Claim[]> {
52
- let domainId = context.state.domain.id
53
- let arrOrders = []
54
- if (transportDriver && transportVehicle && transportDriver !== '' && transportVehicle !== '') {
55
- arrOrders = await getRepository(Claim).query(`
56
- select delOrd.id, delOrd.name AS name from transport_order_details transportOrd
57
- inner join delivery_orders delOrd on delOrd.id = transportord.delivery_order_id and delOrd.domain_id = transportOrd.domain_id
58
- where delOrd.name NOT IN (SELECT name FROM claim_orders) AND
59
- truck_no IS NULL AND delOrd.domain_id = '${domainId}' AND
60
- transport_driver_id = '${transportDriver}' and transport_vehicle_id = '${transportVehicle}'
61
- AND status = 'DONE'
62
- UNION
63
- select colOrd.id, colOrd.name AS name from transport_order_details transportOrd
64
- inner join collection_orders colOrd on colOrd.id = transportord.collection_order_id and colOrd.domain_id = transportOrd.domain_id
65
- where colOrd.name NOT IN (SELECT name FROM claim_orders) AND
66
- truck_no IS NULL AND colOrd.domain_id = '${domainId}' AND
67
- transport_driver_id = '${transportDriver}' and transport_vehicle_id = '${transportVehicle}'
68
- AND status = 'DONE'
69
- `)
70
- }
71
- return arrOrders
72
- }
73
-
74
- @Query(returns => Claim)
75
- async claimOrderDetail(
76
- @Ctx() context: ResolverContext,
77
- @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[]
78
- ): Promise<Claim> {
79
- let claim = new Claim()
80
- // let deliveryOrder = await getRepository(DeliveryOrder).findOne({
81
- // where: {
82
- // domain: { id: context.state.domain.id },
83
- // name: params.filters[0].value
84
- // },
85
- // relations: ['domain', 'bizplace', 'transportDriver', 'transportVehicle', 'creator', 'updater']
86
- // })
87
-
88
- // let collectionOrder = await getRepository(CollectionOrder).findOne({
89
- // where: {
90
- // domain: { id: context.state.domain.id },
91
- // name: params.filters[0].value
92
- // },
93
- // relations: ['domain', 'bizplace', 'transportDriver', 'transportVehicle', 'creator', 'updater']
94
- // })
95
- // var x = await getRepository(Claim).findOne({
96
- // where: {
97
- // domain: { id: context.state.domain.id },
98
- // deliveryOrder: 'DO-201992495155390'
99
- // },
100
- // relations: ['deliveryOrder']
101
- // })
102
-
103
- // claim.deliveryOrder = deliveryOrder
104
- // claim.collectionOrder = collectionOrder
105
- return claim
106
- }
107
-
108
- @FieldResolver(type => Domain)
109
- async domain(@Root() claim: Claim): Promise<Domain> {
110
- return await getRepository(Domain).findOneBy({ id: claim.domainId })
111
- }
112
-
113
- @FieldResolver(type => User)
114
- async creator(@Root() claim: Claim): Promise<User> {
115
- return await getRepository(User).findOneBy({ id: claim.creatorId })
116
- }
117
-
118
- @FieldResolver(type => User)
119
- async updater(@Root() claim: Claim): Promise<User> {
120
- return await getRepository(User).findOneBy({ id: claim.updaterId })
121
- }
122
- }
@@ -1,130 +0,0 @@
1
- import { Field, InputType, Int, ObjectType } from 'type-graphql'
2
- import { ClaimDetailPatch, NewClaimDetail } from '../claim-detail/claim-detail-types'
3
- import { ClaimOrderPatch, NewClaimOrder } from '../claim-order/claim-order-types'
4
- import { Claim } from './claim'
5
-
6
- @ObjectType()
7
- export class ClaimList {
8
- @Field(type => [Claim], { nullable: true })
9
- items: Claim[]
10
-
11
- @Field(type => Int, { nullable: true })
12
- total: number
13
- }
14
-
15
- @InputType()
16
- export class NewClaim {
17
- @Field({ nullable: true })
18
- name: string
19
-
20
- @Field({ nullable: true })
21
- description: string
22
-
23
- @Field({ nullable: true })
24
- billingMode: string
25
-
26
- @Field({ nullable: true })
27
- charges: number
28
-
29
- @Field({ nullable: true })
30
- transportDriver: string
31
-
32
- @Field({ nullable: true })
33
- transportVehicle: string
34
-
35
- @Field({ nullable: true })
36
- from: string
37
-
38
- @Field({ nullable: true })
39
- to: string
40
-
41
- @Field({ nullable: true })
42
- remark: string
43
-
44
- @Field({ nullable: true })
45
- bizplace: string
46
-
47
- @Field({ nullable: true })
48
- drum: number
49
-
50
- @Field({ nullable: true })
51
- pallet: number
52
-
53
- @Field({ nullable: true })
54
- carton: number
55
-
56
- @Field({ nullable: true })
57
- bag: number
58
-
59
- @Field({ nullable: true })
60
- other: number
61
-
62
- @Field(type => [NewClaimDetail], { nullable: true })
63
- claimDetails: NewClaimDetail[]
64
-
65
- @Field(type => [NewClaimOrder], { nullable: true })
66
- claimOrders: NewClaimOrder[]
67
- }
68
-
69
- @InputType()
70
- export class ClaimPatch {
71
- @Field({ nullable: true })
72
- id: string
73
-
74
- @Field({ nullable: true })
75
- name: string
76
-
77
- @Field({ nullable: true })
78
- description: string
79
-
80
- @Field({ nullable: true })
81
- cuFlag: string
82
-
83
- @Field({ nullable: true })
84
- billingMode: string
85
-
86
- @Field({ nullable: true })
87
- charges: number
88
-
89
- @Field({ nullable: true })
90
- transportDriver: string
91
-
92
- @Field({ nullable: true })
93
- transportVehicle: string
94
-
95
- @Field({ nullable: true })
96
- from: string
97
-
98
- @Field({ nullable: true })
99
- to: string
100
-
101
- @Field({ nullable: true })
102
- remark: string
103
-
104
- @Field({ nullable: true })
105
- bizplace: string
106
-
107
- @Field({ nullable: true })
108
- status: string
109
-
110
- @Field({ nullable: true })
111
- drum: number
112
-
113
- @Field({ nullable: true })
114
- pallet: number
115
-
116
- @Field({ nullable: true })
117
- carton: number
118
-
119
- @Field({ nullable: true })
120
- bag: number
121
-
122
- @Field({ nullable: true })
123
- other: number
124
-
125
- @Field(type => [ClaimDetailPatch], { nullable: true })
126
- claimDetails: ClaimDetailPatch[]
127
-
128
- @Field(type => [ClaimOrderPatch], { nullable: true })
129
- claimOrders: ClaimOrderPatch[]
130
- }
@@ -1,140 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { Bizplace } from '@things-factory/biz-base'
3
- import { Domain } from '@things-factory/shell'
4
- import { TransportDriver, TransportVehicle } from '@things-factory/transport-base'
5
- import { Field, ID, ObjectType } from 'type-graphql'
6
- import {
7
- Column,
8
- CreateDateColumn,
9
- Entity,
10
- Index,
11
- JoinColumn,
12
- ManyToOne,
13
- OneToMany,
14
- PrimaryGeneratedColumn,
15
- RelationId,
16
- UpdateDateColumn
17
- } from 'typeorm'
18
- import { ClaimDetail, ClaimOrder } from '../'
19
-
20
- @Entity()
21
- @Index('ix_claim_0', (claim: Claim) => [claim.domain, claim.id], { unique: true })
22
- @ObjectType()
23
- export class Claim {
24
- @PrimaryGeneratedColumn('uuid')
25
- @Field(type => ID)
26
- readonly id: string
27
-
28
- @ManyToOne(type => Domain)
29
- @Field(type => Domain, { nullable: true })
30
- domain: Domain
31
-
32
- @RelationId((claim: Claim) => claim.domain)
33
- domainId: string
34
-
35
- @Column()
36
- @Field()
37
- name: string
38
-
39
- @Column({ nullable: true })
40
- @Field({ nullable: true })
41
- description: string
42
-
43
- @Column({ nullable: true })
44
- @Field({ nullable: true })
45
- billingMode: string
46
-
47
- @Column({ nullable: true })
48
- @Field({ nullable: true })
49
- from: string
50
-
51
- @Column({ nullable: true })
52
- @Field({ nullable: true })
53
- to: string
54
-
55
- @Column({ nullable: true })
56
- @Field({ nullable: true })
57
- remark: string
58
-
59
- @Column({ nullable: true })
60
- @Field({ nullable: true })
61
- charges: number
62
-
63
- @Column({ nullable: true })
64
- @Field({ nullable: true })
65
- drum: number
66
-
67
- @Column({ nullable: true })
68
- @Field({ nullable: true })
69
- pallet: number
70
-
71
- @Column({ nullable: true })
72
- @Field({ nullable: true })
73
- carton: number
74
-
75
- @Column({ nullable: true })
76
- @Field({ nullable: true })
77
- bag: number
78
-
79
- @Column({ nullable: true })
80
- @Field({ nullable: true })
81
- other: number
82
-
83
- @Column()
84
- @Field()
85
- status: string
86
-
87
- @CreateDateColumn()
88
- @Field()
89
- createdAt: Date
90
-
91
- @UpdateDateColumn()
92
- @Field()
93
- updatedAt: Date
94
-
95
- @OneToMany(type => ClaimDetail, claimDetail => claimDetail.claim)
96
- @Field(type => [ClaimDetail], { nullable: true })
97
- claimDetails: ClaimDetail[]
98
-
99
- @OneToMany(type => ClaimOrder, claimOrder => claimOrder.claim)
100
- @Field(type => [ClaimOrder], { nullable: true })
101
- claimOrders: ClaimOrder[]
102
-
103
- @ManyToOne(type => TransportDriver)
104
- @JoinColumn()
105
- @Field(type => TransportDriver, { nullable: true })
106
- transportDriver: TransportDriver
107
-
108
- @RelationId((claim: Claim) => claim.transportDriver)
109
- transportDriverId: string
110
-
111
- @ManyToOne(type => TransportVehicle)
112
- @JoinColumn()
113
- @Field(type => TransportVehicle, { nullable: true })
114
- transportVehicle: TransportVehicle
115
-
116
- @RelationId((claim: Claim) => claim.transportVehicle)
117
- transportVehicleId: string
118
-
119
- @ManyToOne(type => Bizplace, { nullable: true })
120
- @JoinColumn()
121
- @Field(type => Bizplace, { nullable: true })
122
- bizplace: Bizplace
123
-
124
- @RelationId((claim: Claim) => claim.bizplace)
125
- bizplaceId: string
126
-
127
- @ManyToOne(type => User)
128
- @Field(type => User, { nullable: true })
129
- creator: User
130
-
131
- @RelationId((claim: Claim) => claim.creator)
132
- creatorId: string
133
-
134
- @ManyToOne(type => User)
135
- @Field(type => User, { nullable: true })
136
- updater: User
137
-
138
- @RelationId((claim: Claim) => claim.updater)
139
- updaterId: string
140
- }
@@ -1,9 +0,0 @@
1
- import { Claim } from './claim'
2
- import { ClaimMutation } from './claim-mutation'
3
- import { ClaimQuery } from './claim-query'
4
-
5
- export const entities = [Claim]
6
- export const resolvers = [ClaimQuery, ClaimMutation]
7
-
8
- export * from './claim-mutation'
9
- export * from './claim-query'