@things-factory/sales-base 4.3.239 → 4.3.241
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/constants/order.js +2 -1
- package/dist-server/constants/order.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order-query.js +2 -2
- package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -1
- package/dist-server/service/index.js +4 -0
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-query.js +2 -1
- package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-mutation.js +85 -0
- package/dist-server/service/order-vas/order-vas-mutation.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-query.js +4 -1
- package/dist-server/service/order-vas/order-vas-query.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-types.js +54 -10
- package/dist-server/service/order-vas/order-vas-types.js.map +1 -1
- package/dist-server/service/order-vas/order-vas.js +103 -21
- package/dist-server/service/order-vas/order-vas.js.map +1 -1
- package/dist-server/service/order-vas-item/index.js +9 -0
- package/dist-server/service/order-vas-item/index.js.map +1 -0
- package/dist-server/service/order-vas-item/order-vas-item-mutation.js +120 -0
- package/dist-server/service/order-vas-item/order-vas-item-mutation.js.map +1 -0
- package/dist-server/service/order-vas-item/order-vas-item-query.js +99 -0
- package/dist-server/service/order-vas-item/order-vas-item-query.js.map +1 -0
- package/dist-server/service/order-vas-item/order-vas-item-type.js +111 -0
- package/dist-server/service/order-vas-item/order-vas-item-type.js.map +1 -0
- package/dist-server/service/order-vas-item/order-vas-item.js +146 -0
- package/dist-server/service/order-vas-item/order-vas-item.js.map +1 -0
- package/dist-server/service/release-good/release-good-mutation.js +3 -0
- package/dist-server/service/release-good/release-good-mutation.js.map +1 -1
- package/dist-server/service/release-good/release-good-query.js +6 -1
- package/dist-server/service/release-good/release-good-query.js.map +1 -1
- package/dist-server/service/vas/vas.js +8 -6
- package/dist-server/service/vas/vas.js.map +1 -1
- package/dist-server/service/vas-order/vas-order-mutation.js +2 -2
- package/dist-server/service/vas-order/vas-order-mutation.js.map +1 -1
- package/package.json +3 -3
- package/server/constants/order.ts +2 -1
- package/server/service/delivery-order/delivery-order-query.ts +19 -19
- package/server/service/index.ts +4 -0
- package/server/service/order-inventory/order-inventory-query.ts +2 -1
- package/server/service/order-vas/order-vas-mutation.ts +94 -1
- package/server/service/order-vas/order-vas-query.ts +4 -1
- package/server/service/order-vas/order-vas-types.ts +34 -1
- package/server/service/order-vas/order-vas.ts +89 -10
- package/server/service/order-vas-item/index.ts +6 -0
- package/server/service/order-vas-item/order-vas-item-mutation.ts +112 -0
- package/server/service/order-vas-item/order-vas-item-query.ts +58 -0
- package/server/service/order-vas-item/order-vas-item-type.ts +71 -0
- package/server/service/order-vas-item/order-vas-item.ts +128 -0
- package/server/service/release-good/release-good-mutation.ts +4 -0
- package/server/service/release-good/release-good-query.ts +56 -87
- package/server/service/vas/vas.ts +11 -5
- package/server/service/vas-order/vas-order-mutation.ts +2 -2
|
@@ -1,60 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
Args,
|
|
4
|
-
Ctx,
|
|
5
|
-
Directive,
|
|
6
|
-
FieldResolver,
|
|
7
|
-
Query,
|
|
8
|
-
Resolver,
|
|
9
|
-
Root
|
|
10
|
-
} from 'type-graphql'
|
|
11
|
-
import {
|
|
12
|
-
EntityManager,
|
|
13
|
-
getRepository,
|
|
14
|
-
In,
|
|
15
|
-
Repository,
|
|
16
|
-
SelectQueryBuilder
|
|
17
|
-
} from 'typeorm'
|
|
1
|
+
import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
|
|
2
|
+
import { EntityManager, getRepository, In, Repository, SelectQueryBuilder } from 'typeorm'
|
|
18
3
|
|
|
19
4
|
import { Attachment } from '@things-factory/attachment-base'
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
User
|
|
23
|
-
} from '@things-factory/auth-base'
|
|
24
|
-
import {
|
|
25
|
-
Bizplace,
|
|
26
|
-
getCompanyBizplace,
|
|
27
|
-
getMyBizplace,
|
|
28
|
-
getPermittedBizplaceIds
|
|
29
|
-
} from '@things-factory/biz-base'
|
|
5
|
+
import { checkUserBelongsDomain, User } from '@things-factory/auth-base'
|
|
6
|
+
import { Bizplace, getCompanyBizplace, getMyBizplace, getPermittedBizplaceIds } from '@things-factory/biz-base'
|
|
30
7
|
import { logger } from '@things-factory/env'
|
|
31
|
-
import {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
ListParam,
|
|
36
|
-
Pagination,
|
|
37
|
-
Sorting
|
|
38
|
-
} from '@things-factory/shell'
|
|
39
|
-
import {
|
|
40
|
-
Inventory,
|
|
41
|
-
LOCATION_TYPE
|
|
42
|
-
} from '@things-factory/warehouse-base'
|
|
43
|
-
|
|
44
|
-
import {
|
|
45
|
-
ATTACHMENT_TYPE,
|
|
46
|
-
ORDER_INVENTORY_STATUS,
|
|
47
|
-
ORDER_STATUS
|
|
48
|
-
} from '../../constants'
|
|
8
|
+
import { buildQuery, Domain, Filter, ListParam, Pagination, Sorting } from '@things-factory/shell'
|
|
9
|
+
import { Inventory, LOCATION_TYPE } from '@things-factory/warehouse-base'
|
|
10
|
+
|
|
11
|
+
import { ATTACHMENT_TYPE, ORDER_INVENTORY_STATUS, ORDER_STATUS } from '../../constants'
|
|
49
12
|
import { OrderInventory } from '../order-inventory/order-inventory'
|
|
50
13
|
import { OrderPackage } from '../order-package/order-package'
|
|
51
14
|
import { ShippingOrder } from '../shipping-order/shipping-order'
|
|
52
15
|
import { ReleaseGood } from './release-good'
|
|
53
|
-
import {
|
|
54
|
-
NewReleaseGood,
|
|
55
|
-
ReleasableInventoryList,
|
|
56
|
-
ReleaseGoodList
|
|
57
|
-
} from './release-good-types'
|
|
16
|
+
import { NewReleaseGood, ReleasableInventoryList, ReleaseGoodList } from './release-good-types'
|
|
58
17
|
|
|
59
18
|
@Resolver(ReleaseGood)
|
|
60
19
|
export class ReleaseGoodQuery {
|
|
@@ -227,8 +186,13 @@ export class ReleaseGoodQuery {
|
|
|
227
186
|
'orderPackages',
|
|
228
187
|
'orderVass',
|
|
229
188
|
'orderVass.vas',
|
|
230
|
-
'orderVass.
|
|
189
|
+
'orderVass.newProduct',
|
|
190
|
+
'orderVass.newProductDetail',
|
|
191
|
+
'orderVass.product',
|
|
192
|
+
'orderVass.productDetail',
|
|
231
193
|
'orderVass.inventory',
|
|
194
|
+
'orderVass.orderVasItems',
|
|
195
|
+
'orderVass.orderVasItems.vas',
|
|
232
196
|
'creator',
|
|
233
197
|
'updater'
|
|
234
198
|
]
|
|
@@ -475,10 +439,12 @@ export class ReleaseGoodQuery {
|
|
|
475
439
|
)
|
|
476
440
|
|
|
477
441
|
if (transporterFilter) {
|
|
478
|
-
qb.andWhere(
|
|
442
|
+
qb.andWhere(
|
|
443
|
+
`exists (select id from order_packages op where
|
|
479
444
|
op.release_good_id = rg.id
|
|
480
|
-
and op.transporter ilike :transporter)`,
|
|
481
|
-
|
|
445
|
+
and op.transporter ilike :transporter)`,
|
|
446
|
+
{ transporter: transporterFilter.value }
|
|
447
|
+
)
|
|
482
448
|
}
|
|
483
449
|
|
|
484
450
|
if (skuFilter) {
|
|
@@ -558,12 +524,12 @@ export class ReleaseGoodQuery {
|
|
|
558
524
|
...item,
|
|
559
525
|
transporter: orderPackages?.length
|
|
560
526
|
? [
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
527
|
+
...new Set(
|
|
528
|
+
orderPackages.map(op => {
|
|
529
|
+
return op.transporter
|
|
530
|
+
})
|
|
531
|
+
)
|
|
532
|
+
].join(', ')
|
|
567
533
|
: null,
|
|
568
534
|
orderRemark: item?.remark ? true : false
|
|
569
535
|
}
|
|
@@ -629,24 +595,27 @@ export class ReleaseGoodQuery {
|
|
|
629
595
|
${batchId ? `AND LOWER(${INV_ALIAS}.batch_id) LIKE '%${batchId.toLowerCase()}%'` : ''}
|
|
630
596
|
${packingType ? `AND LOWER(${INV_ALIAS}.packing_type) LIKE '%${packingType.toLowerCase()}%'` : ''}
|
|
631
597
|
${containerNo ? `AND LOWER(${GAN_ALIAS}.container_no) LIKE '%${containerNo.toLowerCase()}%'` : ''}
|
|
632
|
-
${
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
598
|
+
${
|
|
599
|
+
product?.length > 0 && product[0]
|
|
600
|
+
? `AND ${PROD_ALIAS}.id IN (${product.map((id: string) => `'${id}'`).join(', ')})`
|
|
601
|
+
: product[0] === null
|
|
602
|
+
? `AND ${PROD_ALIAS}.id isnull`
|
|
603
|
+
: ''
|
|
604
|
+
}
|
|
605
|
+
${
|
|
606
|
+
inventory?.length > 0
|
|
607
|
+
? `
|
|
608
|
+
AND (${INV_ALIAS}.batch_id, ${PROD_ALIAS}.id) ${
|
|
609
|
+
filters.find((filter: { name: string; operator: string; value: any }) => filter.name === 'inventory')
|
|
610
|
+
.operator
|
|
611
|
+
} (
|
|
643
612
|
${inventory
|
|
644
|
-
|
|
645
|
-
|
|
613
|
+
.map((inv: { batchId: string; productId: string }) => `('${inv.batchId}', '${inv.productId}')`)
|
|
614
|
+
.join(', ')}
|
|
646
615
|
)
|
|
647
616
|
`
|
|
648
|
-
|
|
649
|
-
|
|
617
|
+
: ''
|
|
618
|
+
}
|
|
650
619
|
`
|
|
651
620
|
|
|
652
621
|
// ${product?.length > 0 ? `AND ${PROD_ALIAS}.id IN (${product.map((id: string) => id ? `'${id}'` : null).join(', ')})` : ''}
|
|
@@ -1004,18 +973,18 @@ function _extractData(rawData, validatedData) {
|
|
|
1004
973
|
!raw.productId || !raw.productDetailId
|
|
1005
974
|
? 'inventory or product not found'
|
|
1006
975
|
: raw.releaseQty <= 0 || raw.releaseQty % 1 != 0
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
976
|
+
? 'invalid release qty'
|
|
977
|
+
: raw.assignedQty < raw.releaseQty
|
|
978
|
+
? 'insufficient stock'
|
|
979
|
+
: raw.releaseDate == ''
|
|
980
|
+
? 'release date is empty'
|
|
981
|
+
: releaseDate < _getStdDateStr(new Date())
|
|
982
|
+
? 'backdate is not allowed'
|
|
983
|
+
: !raw.refNo
|
|
984
|
+
? 'ref no is empty'
|
|
985
|
+
: !Number.isInteger(raw.packingSize)
|
|
986
|
+
? 'packing size must be an integer'
|
|
987
|
+
: ''
|
|
1019
988
|
}
|
|
1020
989
|
})
|
|
1021
990
|
}
|
|
@@ -13,7 +13,8 @@ import {
|
|
|
13
13
|
} from 'typeorm'
|
|
14
14
|
|
|
15
15
|
@Entity('vass')
|
|
16
|
-
|
|
16
|
+
// name can be the same , thus, removing the validation here
|
|
17
|
+
// @Index('ix_vas_0', (vas: Vas) => [vas.domain, vas.name], { unique: true })
|
|
17
18
|
@ObjectType()
|
|
18
19
|
export class Vas {
|
|
19
20
|
@PrimaryGeneratedColumn('uuid')
|
|
@@ -35,10 +36,12 @@ export class Vas {
|
|
|
35
36
|
@Field({ nullable: true })
|
|
36
37
|
description: string
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
@
|
|
39
|
+
//can be removed
|
|
40
|
+
@Column({ nullable: true })
|
|
41
|
+
@Field({ nullable: true })
|
|
40
42
|
currency: string
|
|
41
43
|
|
|
44
|
+
//can be removed
|
|
42
45
|
@Column({ nullable: true })
|
|
43
46
|
@Field({ nullable: true })
|
|
44
47
|
uom: string
|
|
@@ -47,14 +50,17 @@ export class Vas {
|
|
|
47
50
|
@Field({ nullable: true })
|
|
48
51
|
type: string
|
|
49
52
|
|
|
50
|
-
|
|
51
|
-
@
|
|
53
|
+
//can be removed
|
|
54
|
+
@Column('float', { nullable: true })
|
|
55
|
+
@Field({ nullable: true })
|
|
52
56
|
defaultPrice: number
|
|
53
57
|
|
|
58
|
+
//can be removed
|
|
54
59
|
@Column({ nullable: true })
|
|
55
60
|
@Field({ nullable: true })
|
|
56
61
|
operationGuideType: string
|
|
57
62
|
|
|
63
|
+
//can be removed
|
|
58
64
|
@Column({ nullable: true })
|
|
59
65
|
@Field({ nullable: true })
|
|
60
66
|
operationGuide: string
|
|
@@ -81,8 +81,8 @@ export class VasOrderMutation {
|
|
|
81
81
|
// 2. Create VasOrder vas
|
|
82
82
|
orderVass = await Promise.all(
|
|
83
83
|
orderVass.map(async (ov: OrderVas) => {
|
|
84
|
-
if (ov?.
|
|
85
|
-
ov.
|
|
84
|
+
if (ov?.product?.id) {
|
|
85
|
+
ov.product = await tx.getRepository(Product).findOne(ov.product.id)
|
|
86
86
|
}
|
|
87
87
|
return {
|
|
88
88
|
...ov,
|