@things-factory/sales-base 4.3.0-alpha.0 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/constants/attachment-type.js +2 -1
- package/dist-server/constants/attachment-type.js.map +1 -1
- package/dist-server/constants/index.js +2 -5
- package/dist-server/constants/index.js.map +1 -1
- package/dist-server/constants/order.js +12 -3
- package/dist-server/constants/order.js.map +1 -1
- package/dist-server/constants/release-good.js +9 -0
- package/dist-server/constants/release-good.js.map +1 -0
- package/dist-server/controllers/ecommerce/index.js +1 -5
- package/dist-server/controllers/ecommerce/index.js.map +1 -1
- package/dist-server/controllers/index.js +1 -5
- package/dist-server/controllers/index.js.map +1 -1
- package/dist-server/errors/index.js +1 -5
- package/dist-server/errors/index.js.map +1 -1
- package/dist-server/errors/validation-error.js +1 -5
- package/dist-server/errors/validation-error.js.map +1 -1
- package/dist-server/index.js +1 -5
- package/dist-server/index.js.map +1 -1
- package/dist-server/service/arrival-notice/index.js +1 -5
- package/dist-server/service/arrival-notice/index.js.map +1 -1
- package/dist-server/service/claim/index.js +1 -5
- package/dist-server/service/claim/index.js.map +1 -1
- package/dist-server/service/claim-detail/index.js +1 -5
- package/dist-server/service/claim-detail/index.js.map +1 -1
- package/dist-server/service/claim-order/index.js +1 -5
- package/dist-server/service/claim-order/index.js.map +1 -1
- package/dist-server/service/collection-order/index.js +1 -5
- package/dist-server/service/collection-order/index.js.map +1 -1
- package/dist-server/service/delivery-order/index.js +1 -5
- package/dist-server/service/delivery-order/index.js.map +1 -1
- package/dist-server/service/draft-release-good/draft-release-good-mutation.js +501 -0
- package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +1 -0
- package/dist-server/service/draft-release-good/draft-release-good-query.js +289 -0
- package/dist-server/service/draft-release-good/draft-release-good-query.js.map +1 -0
- package/dist-server/service/draft-release-good/draft-release-good-type.js +364 -0
- package/dist-server/service/draft-release-good/draft-release-good-type.js.map +1 -0
- package/dist-server/service/draft-release-good/draft-release-good.js +321 -0
- package/dist-server/service/draft-release-good/draft-release-good.js.map +1 -0
- package/dist-server/service/draft-release-good/index.js +21 -0
- package/dist-server/service/draft-release-good/index.js.map +1 -0
- package/dist-server/service/goods-receival-note/index.js +1 -5
- package/dist-server/service/goods-receival-note/index.js.map +1 -1
- package/dist-server/service/index.js +48 -24
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/inventory-check/index.js +1 -5
- package/dist-server/service/inventory-check/index.js.map +1 -1
- package/dist-server/service/invoice/index.js +1 -5
- package/dist-server/service/invoice/index.js.map +1 -1
- package/dist-server/service/invoice-product/index.js +1 -5
- package/dist-server/service/invoice-product/index.js.map +1 -1
- package/dist-server/service/job-sheet/index.js +1 -5
- package/dist-server/service/job-sheet/index.js.map +1 -1
- package/dist-server/service/order-inventory/index.js +1 -5
- package/dist-server/service/order-inventory/index.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-query.js +38 -1
- package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-types.js +9 -1
- package/dist-server/service/order-inventory/order-inventory-types.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory.js +5 -1
- package/dist-server/service/order-inventory/order-inventory.js.map +1 -1
- package/dist-server/service/order-product/index.js +1 -5
- package/dist-server/service/order-product/index.js.map +1 -1
- package/dist-server/service/order-product/order-product-types.js +13 -13
- package/dist-server/service/order-product/order-product-types.js.map +1 -1
- package/dist-server/service/order-product/order-product.js +39 -4
- package/dist-server/service/order-product/order-product.js.map +1 -1
- package/dist-server/service/order-tote/index.js +21 -0
- package/dist-server/service/order-tote/index.js.map +1 -0
- package/dist-server/service/order-tote/order-tote-mutation.js +56 -0
- package/dist-server/service/order-tote/order-tote-mutation.js.map +1 -0
- package/dist-server/service/order-tote/order-tote-query.js +123 -0
- package/dist-server/service/order-tote/order-tote-query.js.map +1 -0
- package/dist-server/service/order-tote/order-tote-types.js +79 -0
- package/dist-server/service/order-tote/order-tote-types.js.map +1 -0
- package/dist-server/service/order-tote/order-tote.js +91 -0
- package/dist-server/service/order-tote/order-tote.js.map +1 -0
- package/dist-server/service/order-tote-item/index.js +21 -0
- package/dist-server/service/order-tote-item/index.js.map +1 -0
- package/dist-server/service/order-tote-item/order-tote-item-mutation.js +56 -0
- package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +1 -0
- package/dist-server/service/order-tote-item/order-tote-item-query.js +100 -0
- package/dist-server/service/order-tote-item/order-tote-item-query.js.map +1 -0
- package/dist-server/service/order-tote-item/order-tote-item-types.js +91 -0
- package/dist-server/service/order-tote-item/order-tote-item-types.js.map +1 -0
- package/dist-server/service/order-tote-item/order-tote-item.js +104 -0
- package/dist-server/service/order-tote-item/order-tote-item.js.map +1 -0
- package/dist-server/service/order-tote-seal/index.js +21 -0
- package/dist-server/service/order-tote-seal/index.js.map +1 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js +56 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +1 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-query.js +97 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +1 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-types.js +71 -0
- package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +1 -0
- package/dist-server/service/order-tote-seal/order-tote-seal.js +71 -0
- package/dist-server/service/order-tote-seal/order-tote-seal.js.map +1 -0
- package/dist-server/service/order-vas/index.js +1 -5
- package/dist-server/service/order-vas/index.js.map +1 -1
- package/dist-server/service/others/index.js +1 -5
- package/dist-server/service/others/index.js.map +1 -1
- package/dist-server/service/others/other-query.js +37 -2
- package/dist-server/service/others/other-query.js.map +1 -1
- package/dist-server/service/purchase-order/index.js +1 -5
- package/dist-server/service/purchase-order/index.js.map +1 -1
- package/dist-server/service/purchase-order-other-charge/index.js +1 -5
- package/dist-server/service/purchase-order-other-charge/index.js.map +1 -1
- package/dist-server/service/release-good/index.js +1 -5
- package/dist-server/service/release-good/index.js.map +1 -1
- package/dist-server/service/release-good/release-good-mutation.js +23 -1
- package/dist-server/service/release-good/release-good-mutation.js.map +1 -1
- package/dist-server/service/release-good/release-good-query.js +28 -2
- package/dist-server/service/release-good/release-good-query.js.map +1 -1
- package/dist-server/service/release-good/release-good.js +32 -12
- package/dist-server/service/release-good/release-good.js.map +1 -1
- package/dist-server/service/retail-replenishment-order/index.js +1 -5
- package/dist-server/service/retail-replenishment-order/index.js.map +1 -1
- package/dist-server/service/return-order/index.js +1 -5
- package/dist-server/service/return-order/index.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/index.js +1 -5
- package/dist-server/service/reverse-kitting-order/index.js.map +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/index.js +1 -5
- package/dist-server/service/reverse-kitting-order-inventory/index.js.map +1 -1
- package/dist-server/service/shipping-order/index.js +1 -5
- package/dist-server/service/shipping-order/index.js.map +1 -1
- package/dist-server/service/transfer-order/index.js +1 -5
- package/dist-server/service/transfer-order/index.js.map +1 -1
- package/dist-server/service/vas/index.js +1 -5
- package/dist-server/service/vas/index.js.map +1 -1
- package/dist-server/service/vas-order/index.js +1 -5
- package/dist-server/service/vas-order/index.js.map +1 -1
- package/dist-server/utils/index.js +1 -5
- package/dist-server/utils/index.js.map +1 -1
- package/dist-server/utils/inventory-util.js +258 -99
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/dist-server/utils/order-no-generator.js +7 -0
- package/dist-server/utils/order-no-generator.js.map +1 -1
- package/package.json +13 -13
- package/server/constants/attachment-type.ts +2 -1
- package/server/constants/index.ts +1 -0
- package/server/constants/order.ts +12 -2
- package/server/constants/release-good.ts +6 -0
- package/server/service/draft-release-good/draft-release-good-mutation.ts +671 -0
- package/server/service/draft-release-good/draft-release-good-query.ts +314 -0
- package/server/service/draft-release-good/draft-release-good-type.ts +261 -0
- package/server/service/draft-release-good/draft-release-good.ts +270 -0
- package/server/service/draft-release-good/index.ts +9 -0
- package/server/service/index.ts +51 -21
- package/server/service/order-inventory/order-inventory-query.ts +40 -2
- package/server/service/order-inventory/order-inventory-types.ts +6 -0
- package/server/service/order-inventory/order-inventory.ts +5 -5
- package/server/service/order-product/order-product-types.ts +5 -3
- package/server/service/order-product/order-product.ts +30 -3
- package/server/service/order-tote/index.ts +9 -0
- package/server/service/order-tote/order-tote-mutation.ts +30 -0
- package/server/service/order-tote/order-tote-query.ts +114 -0
- package/server/service/order-tote/order-tote-types.ts +47 -0
- package/server/service/order-tote/order-tote.ts +62 -0
- package/server/service/order-tote-item/index.ts +9 -0
- package/server/service/order-tote-item/order-tote-item-mutation.ts +30 -0
- package/server/service/order-tote-item/order-tote-item-query.ts +88 -0
- package/server/service/order-tote-item/order-tote-item-types.ts +56 -0
- package/server/service/order-tote-item/order-tote-item.ts +72 -0
- package/server/service/order-tote-seal/index.ts +9 -0
- package/server/service/order-tote-seal/order-tote-seal-mutation.ts +30 -0
- package/server/service/order-tote-seal/order-tote-seal-query.ts +60 -0
- package/server/service/order-tote-seal/order-tote-seal-types.ts +41 -0
- package/server/service/order-tote-seal/order-tote-seal.ts +46 -0
- package/server/service/others/other-query.ts +43 -8
- package/server/service/release-good/release-good-mutation.ts +24 -2
- package/server/service/release-good/release-good-query.ts +57 -30
- package/server/service/release-good/release-good.ts +28 -9
- package/server/utils/inventory-util.ts +287 -106
- package/server/utils/order-no-generator.ts +42 -48
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var _a;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.getDraftReleaseGoodFunction = exports.DraftReleaseGoodQuery = void 0;
|
|
17
|
+
const type_graphql_1 = require("type-graphql");
|
|
18
|
+
const typeorm_1 = require("typeorm");
|
|
19
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
20
|
+
const shell_1 = require("@things-factory/shell");
|
|
21
|
+
const constants_1 = require("../../constants");
|
|
22
|
+
const draft_release_good_1 = require("./draft-release-good");
|
|
23
|
+
const draft_release_good_type_1 = require("./draft-release-good-type");
|
|
24
|
+
const attachment_base_1 = require("@things-factory/attachment-base");
|
|
25
|
+
const constants_2 = require("../../constants");
|
|
26
|
+
const utils_1 = require("../../utils");
|
|
27
|
+
let DraftReleaseGoodQuery = class DraftReleaseGoodQuery {
|
|
28
|
+
async draftReleaseGood(id, context) {
|
|
29
|
+
const { domain } = context.state;
|
|
30
|
+
return await (0, typeorm_1.getRepository)(draft_release_good_1.DraftReleaseGood).findOne({
|
|
31
|
+
where: { domain, id }
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async draftReleaseGoodByName(name, context) {
|
|
35
|
+
const { domain, tx } = context.state;
|
|
36
|
+
return getDraftReleaseGoodFunction(null, name, context, tx);
|
|
37
|
+
}
|
|
38
|
+
async draftReleaseGoods(params, context) {
|
|
39
|
+
try {
|
|
40
|
+
const { domain, user, tx } = context.state;
|
|
41
|
+
const statusFilter = params.filters.find(e => e.name === 'status');
|
|
42
|
+
const bizplaceFilter = params.filters.find(param => param.name === 'bizplaceId');
|
|
43
|
+
const noOfItemsFilter = params.filters.find(param => param.name === 'noOfItems');
|
|
44
|
+
const skuFilter = params.filters.find(param => param.name === 'sku');
|
|
45
|
+
const orderRemarkFilter = params.filters.find(param => param.name === 'orderRemark');
|
|
46
|
+
if (!bizplaceFilter) {
|
|
47
|
+
params.filters.push({
|
|
48
|
+
name: 'bizplaceId',
|
|
49
|
+
operator: 'in',
|
|
50
|
+
value: await (0, biz_base_1.getPermittedBizplaceIds)(domain, user),
|
|
51
|
+
relation: false
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
params.filters = params.filters.filter(itm => itm.name !== 'noOfItems' && itm.name !== 'sku' && itm.name !== 'status');
|
|
55
|
+
if (orderRemarkFilter) {
|
|
56
|
+
const orderRemarkIdx = params.filters.findIndex(param => param.name === 'orderRemark');
|
|
57
|
+
if (orderRemarkFilter.value == true) {
|
|
58
|
+
params.filters.splice(orderRemarkIdx, 1);
|
|
59
|
+
params.filters.push({
|
|
60
|
+
name: 'remark',
|
|
61
|
+
operator: 'is_not_null',
|
|
62
|
+
value: null,
|
|
63
|
+
relation: false
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
params.filters.splice(orderRemarkIdx, 1);
|
|
68
|
+
params.filters.push({
|
|
69
|
+
name: 'remark',
|
|
70
|
+
operator: 'is_null',
|
|
71
|
+
value: null,
|
|
72
|
+
relation: false
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const fromDateParamIdx = params.filters.findIndex(param => param.name === 'fromDate');
|
|
77
|
+
if (fromDateParamIdx >= 0) {
|
|
78
|
+
let fromDateVal = new Date(params.filters[fromDateParamIdx].value);
|
|
79
|
+
params.filters.splice(fromDateParamIdx, 1);
|
|
80
|
+
params.filters.push({
|
|
81
|
+
name: 'createdAt',
|
|
82
|
+
operator: 'gte',
|
|
83
|
+
value: fromDateVal.toISOString(),
|
|
84
|
+
relation: false
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
const toDateParamIdx = params.filters.findIndex(param => param.name === 'toDate');
|
|
88
|
+
if (toDateParamIdx >= 0) {
|
|
89
|
+
let toDateVal = new Date(params.filters[toDateParamIdx].value);
|
|
90
|
+
params.filters.splice(toDateParamIdx, 1);
|
|
91
|
+
params.filters.push({
|
|
92
|
+
name: 'createdAt',
|
|
93
|
+
operator: 'lt',
|
|
94
|
+
value: new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),
|
|
95
|
+
relation: false
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
tx.query(`
|
|
99
|
+
create temp table temp_op_calculation on commit drop as (
|
|
100
|
+
select drg1.id, sum(case when wboi."remainQty" >= op.release_qty then 0 else 1 end) as insufficient_count, count(*) as total_row
|
|
101
|
+
from draft_release_goods drg1
|
|
102
|
+
left join order_products op on drg1.id = op.draft_release_good_id
|
|
103
|
+
left join warehouse_bizplace_onhand_inventories wboi
|
|
104
|
+
on (wboi."productId" = op.product_id or wboi."productBundleId" = op.product_id)
|
|
105
|
+
and wboi."packingType" = op.packing_type
|
|
106
|
+
and wboi."packingSize" = op.packing_size
|
|
107
|
+
and wboi.uom = op.uom
|
|
108
|
+
and wboi."domainId" = op.domain_id
|
|
109
|
+
and wboi."bizplaceId" = op.bizplace_id
|
|
110
|
+
where op.domain_id = $1 and drg1.status ='DRAFT'
|
|
111
|
+
group by drg1.id
|
|
112
|
+
)
|
|
113
|
+
`, [domain.id]);
|
|
114
|
+
const qb = tx.getRepository(draft_release_good_1.DraftReleaseGood).createQueryBuilder('drg');
|
|
115
|
+
(0, shell_1.buildQuery)(qb, params, context);
|
|
116
|
+
qb.addSelect('COALESCE("cc".rank, 99999)', 'rank');
|
|
117
|
+
qb.addSelect(`CASE WHEN "drg".status = 'DRAFT' and (tmp_calc.insufficient_count > 0 or tmp_calc.total_row = 0) then 'INSUFFICIENT' else "drg".status END`, 'computed_status');
|
|
118
|
+
qb.leftJoin(`temp_op_calculation`, 'tmp_calc', 'tmp_calc.id = drg.id');
|
|
119
|
+
qb.leftJoinAndSelect('drg.domain', 'domain');
|
|
120
|
+
qb.leftJoinAndSelect('drg.bizplace', 'bizplace');
|
|
121
|
+
qb.leftJoinAndSelect('drg.creator', 'creator');
|
|
122
|
+
qb.leftJoinAndSelect('drg.updater', 'updater');
|
|
123
|
+
qb.leftJoinAndSelect('drg.deliverTo', 'deliverTo');
|
|
124
|
+
qb.leftJoin(subQuery => {
|
|
125
|
+
return subQuery
|
|
126
|
+
.select(`ccd.rank`, 'rank')
|
|
127
|
+
.addSelect(`ccd.name`, 'status')
|
|
128
|
+
.from(`common_code_details`, 'ccd')
|
|
129
|
+
.innerJoin(`ccd.commonCode`, 'cc')
|
|
130
|
+
.where(`ccd.domain_id = :domainId`, { domainId: domain.id })
|
|
131
|
+
.andWhere(`cc.name = 'ODO_REQUESTS_STATUS'`);
|
|
132
|
+
}, 'cc', 'cc.status = drg.status');
|
|
133
|
+
if (skuFilter) {
|
|
134
|
+
qb.andWhere(`
|
|
135
|
+
exists (
|
|
136
|
+
select * from order_products op
|
|
137
|
+
inner join products p on op.product_id = p.id
|
|
138
|
+
where op.draft_release_good_id = drg.id
|
|
139
|
+
and lower(p.sku) ilike :sku
|
|
140
|
+
)
|
|
141
|
+
`, { sku: skuFilter.value.toLowerCase() });
|
|
142
|
+
}
|
|
143
|
+
if (noOfItemsFilter) {
|
|
144
|
+
qb.andWhere(`
|
|
145
|
+
exists (
|
|
146
|
+
select numberFilterOp.product_id from order_products numberFilterOp
|
|
147
|
+
where numberFilterOp.draft_release_good_id = drg.id
|
|
148
|
+
group by numberFilterOp.product_id having count(*) ${noOfItemsFilter.value == 1 ? ' = 1' : '> 1'}
|
|
149
|
+
)
|
|
150
|
+
`);
|
|
151
|
+
}
|
|
152
|
+
if (statusFilter) {
|
|
153
|
+
if (statusFilter.value == constants_1.DRAFT_RELEASE_ORDER_STATUS.DRAFT) {
|
|
154
|
+
qb.andWhere(`
|
|
155
|
+
drg.status = 'DRAFT' AND tmp_calc.insufficient_count = 0 AND tmp_calc.total_row > 0
|
|
156
|
+
`);
|
|
157
|
+
}
|
|
158
|
+
else if (statusFilter.value == constants_1.DRAFT_RELEASE_ORDER_STATUS.INSUFFICIENT) {
|
|
159
|
+
qb.andWhere(`
|
|
160
|
+
drg.status = 'DRAFT' AND (tmp_calc.insufficient_count > 0 OR tmp_calc.total_row = 0)
|
|
161
|
+
`);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
qb.andWhere(`
|
|
165
|
+
drg.status = '${statusFilter.value}'
|
|
166
|
+
`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
const arrChildSortData = ['bizplace', 'creator'];
|
|
170
|
+
const sort = (params.sortings || []).reduce((acc, sort) => (Object.assign(Object.assign({}, acc), { [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'drg.' + sort.name]: sort.desc
|
|
171
|
+
? 'DESC'
|
|
172
|
+
: 'ASC' })), params.sortings.length < 1 ? { rank: 'ASC', 'drg.createdAt': 'DESC' } : {});
|
|
173
|
+
qb.orderBy(sort);
|
|
174
|
+
let [items, total] = await Promise.all([qb.getRawMany(), qb.getCount()]);
|
|
175
|
+
items = items.map(itm => {
|
|
176
|
+
return {
|
|
177
|
+
id: itm.drg_id,
|
|
178
|
+
name: itm.drg_name,
|
|
179
|
+
description: itm.drg_description,
|
|
180
|
+
type: itm.drg_type,
|
|
181
|
+
releaseDate: itm.drg_release_date,
|
|
182
|
+
exportOption: itm.drg_export_option,
|
|
183
|
+
ownTransport: itm.drg_own_transport,
|
|
184
|
+
bizplace: { id: itm.bizplace_id, name: itm.bizplace_name, description: itm.bizplace_description },
|
|
185
|
+
refNo: itm.drg_ref_no,
|
|
186
|
+
refNo2: itm.drg_ref_no_2,
|
|
187
|
+
refNo3: itm.drg_ref_no_3,
|
|
188
|
+
status: itm.computed_status,
|
|
189
|
+
createdAt: itm.drg_created_at,
|
|
190
|
+
creator: { id: itm.creator_id, name: itm.creator_name, description: itm.creator_description },
|
|
191
|
+
updatedAt: itm.drg_updated_at,
|
|
192
|
+
updater: { id: itm.updater_id, name: itm.updater_name, description: itm.updater_description }
|
|
193
|
+
};
|
|
194
|
+
});
|
|
195
|
+
return { items, total };
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
throw error;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
__decorate([
|
|
203
|
+
(0, type_graphql_1.Query)(returns => draft_release_good_1.DraftReleaseGood, { description: 'To fetch a DraftReleaseGood' }),
|
|
204
|
+
__param(0, (0, type_graphql_1.Arg)('id')),
|
|
205
|
+
__param(1, (0, type_graphql_1.Ctx)()),
|
|
206
|
+
__metadata("design:type", Function),
|
|
207
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
208
|
+
__metadata("design:returntype", Promise)
|
|
209
|
+
], DraftReleaseGoodQuery.prototype, "draftReleaseGood", null);
|
|
210
|
+
__decorate([
|
|
211
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
|
212
|
+
(0, type_graphql_1.Query)(returns => draft_release_good_1.DraftReleaseGood, { description: 'To fetch a DraftReleaseGood' }),
|
|
213
|
+
__param(0, (0, type_graphql_1.Arg)('name')),
|
|
214
|
+
__param(1, (0, type_graphql_1.Ctx)()),
|
|
215
|
+
__metadata("design:type", Function),
|
|
216
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
217
|
+
__metadata("design:returntype", Promise)
|
|
218
|
+
], DraftReleaseGoodQuery.prototype, "draftReleaseGoodByName", null);
|
|
219
|
+
__decorate([
|
|
220
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
|
221
|
+
(0, type_graphql_1.Query)(returns => draft_release_good_type_1.DraftReleaseGoodList, { description: 'To fetch multiple DraftReleaseGoods' }),
|
|
222
|
+
__param(0, (0, type_graphql_1.Args)()),
|
|
223
|
+
__param(1, (0, type_graphql_1.Ctx)()),
|
|
224
|
+
__metadata("design:type", Function),
|
|
225
|
+
__metadata("design:paramtypes", [typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object, Object]),
|
|
226
|
+
__metadata("design:returntype", Promise)
|
|
227
|
+
], DraftReleaseGoodQuery.prototype, "draftReleaseGoods", null);
|
|
228
|
+
DraftReleaseGoodQuery = __decorate([
|
|
229
|
+
(0, type_graphql_1.Resolver)(draft_release_good_1.DraftReleaseGood)
|
|
230
|
+
], DraftReleaseGoodQuery);
|
|
231
|
+
exports.DraftReleaseGoodQuery = DraftReleaseGoodQuery;
|
|
232
|
+
async function getDraftReleaseGoodFunction(_, name, context, tx) {
|
|
233
|
+
var _a;
|
|
234
|
+
try {
|
|
235
|
+
const { domain, user, bizplace } = context.state;
|
|
236
|
+
let permittedBizplaces = await (0, biz_base_1.getPermittedBizplaces)(domain, user);
|
|
237
|
+
let result = await tx.getRepository(draft_release_good_1.DraftReleaseGood).findOne({
|
|
238
|
+
where: { domain, name, bizplace: (0, typeorm_1.In)(permittedBizplaces.map(biz => biz.id)) },
|
|
239
|
+
relations: [
|
|
240
|
+
'releaseGood',
|
|
241
|
+
'orderProducts',
|
|
242
|
+
'orderProducts.product',
|
|
243
|
+
'orderProducts.productBundle',
|
|
244
|
+
'shippingOrder',
|
|
245
|
+
'bizplace',
|
|
246
|
+
'domain',
|
|
247
|
+
'creator',
|
|
248
|
+
'updater'
|
|
249
|
+
]
|
|
250
|
+
});
|
|
251
|
+
if (!(result === null || result === void 0 ? void 0 : result.id))
|
|
252
|
+
throw new Error(`Failed to find draft release good ${name}`);
|
|
253
|
+
let foundPermittedBizplace;
|
|
254
|
+
let companyBizplace;
|
|
255
|
+
if (result.bizplace.id) {
|
|
256
|
+
foundPermittedBizplace = permittedBizplaces.find(biz => biz.id == result.bizplace.id);
|
|
257
|
+
if (foundPermittedBizplace) {
|
|
258
|
+
if (!((_a = foundPermittedBizplace.company) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
259
|
+
foundPermittedBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne(foundPermittedBizplace.id, {
|
|
260
|
+
relations: ['company', 'company.domain']
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
const companyDomain = foundPermittedBizplace.company.domain;
|
|
264
|
+
companyBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({ where: { domain: companyDomain } });
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
const bizplaces = [foundPermittedBizplace, companyBizplace];
|
|
268
|
+
let productInventory;
|
|
269
|
+
if (result.orderProducts.length > 0)
|
|
270
|
+
productInventory = await utils_1.InventoryUtil.bizplaceProductInventory(bizplaces, { filters: [{ name: 'productId', operator: 'in', value: [...result.orderProducts.filter(itm => itm === null || itm === void 0 ? void 0 : itm.product).map(itm => { return itm.product.id; }), ...result.orderProducts.filter(itm => itm === null || itm === void 0 ? void 0 : itm.productBundle).map(itm => { return itm.productBundle.id; })] }] }, context, tx);
|
|
271
|
+
result.orderProducts = result.orderProducts.map(itm => {
|
|
272
|
+
let foundProductInv = productInventory === null || productInventory === void 0 ? void 0 : productInventory.items.find(i => { var _a, _b; return (i.productId == ((_a = itm === null || itm === void 0 ? void 0 : itm.product) === null || _a === void 0 ? void 0 : _a.id) || i.productId == ((_b = itm === null || itm === void 0 ? void 0 : itm.productBundle) === null || _b === void 0 ? void 0 : _b.id)) && i.packingType == itm.packingType && i.packingSize == itm.packingSize && i.uom == itm.uom; });
|
|
273
|
+
return Object.assign(Object.assign({}, itm), { product: itm.product || { id: foundProductInv.productId, name: foundProductInv.productName, brand: foundProductInv.productBrand, sku: foundProductInv.productSKU }, groupType: foundProductInv ? foundProductInv.groupType : 'SINGLE', remainQty: foundProductInv ? foundProductInv.remainQty : 0, remainUomValue: foundProductInv ? foundProductInv.remainUomValue : 0, remainUomValueWithUom: foundProductInv ? foundProductInv.remainUomValueWithUom : 0 });
|
|
274
|
+
});
|
|
275
|
+
const foundAttachments = await tx.getRepository(attachment_base_1.Attachment).find({
|
|
276
|
+
where: {
|
|
277
|
+
domain,
|
|
278
|
+
refBy: result.id,
|
|
279
|
+
category: constants_2.ATTACHMENT_TYPE.DGRN
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
return Object.assign(Object.assign({}, result), { attachment: foundAttachments });
|
|
283
|
+
}
|
|
284
|
+
catch (error) {
|
|
285
|
+
console.error(error);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
exports.getDraftReleaseGoodFunction = getDraftReleaseGoodFunction;
|
|
289
|
+
//# sourceMappingURL=draft-release-good-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draft-release-good-query.js","sourceRoot":"","sources":["../../../server/service/draft-release-good/draft-release-good-query.ts"],"names":[],"mappings":"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"}
|