@things-factory/sales-base 4.3.3 → 4.4.0-alpha.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 +1 -2
- package/dist-server/constants/attachment-type.js.map +1 -1
- package/dist-server/constants/index.js +5 -2
- package/dist-server/constants/index.js.map +1 -1
- package/dist-server/constants/order.js +3 -12
- package/dist-server/constants/order.js.map +1 -1
- package/dist-server/controllers/ecommerce/index.js +5 -1
- package/dist-server/controllers/ecommerce/index.js.map +1 -1
- package/dist-server/controllers/index.js +5 -1
- package/dist-server/controllers/index.js.map +1 -1
- package/dist-server/errors/index.js +5 -1
- package/dist-server/errors/index.js.map +1 -1
- package/dist-server/errors/validation-error.js +5 -1
- package/dist-server/errors/validation-error.js.map +1 -1
- package/dist-server/index.js +5 -1
- package/dist-server/index.js.map +1 -1
- package/dist-server/service/arrival-notice/index.js +5 -1
- package/dist-server/service/arrival-notice/index.js.map +1 -1
- package/dist-server/service/claim/index.js +5 -1
- package/dist-server/service/claim/index.js.map +1 -1
- package/dist-server/service/claim-detail/index.js +5 -1
- package/dist-server/service/claim-detail/index.js.map +1 -1
- package/dist-server/service/claim-order/index.js +5 -1
- package/dist-server/service/claim-order/index.js.map +1 -1
- package/dist-server/service/collection-order/index.js +5 -1
- package/dist-server/service/collection-order/index.js.map +1 -1
- package/dist-server/service/delivery-order/index.js +5 -1
- package/dist-server/service/delivery-order/index.js.map +1 -1
- package/dist-server/service/goods-receival-note/index.js +5 -1
- package/dist-server/service/goods-receival-note/index.js.map +1 -1
- package/dist-server/service/index.js +24 -48
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/inventory-check/index.js +5 -1
- package/dist-server/service/inventory-check/index.js.map +1 -1
- package/dist-server/service/invoice/index.js +5 -1
- package/dist-server/service/invoice/index.js.map +1 -1
- package/dist-server/service/invoice-product/index.js +5 -1
- package/dist-server/service/invoice-product/index.js.map +1 -1
- package/dist-server/service/job-sheet/index.js +5 -1
- package/dist-server/service/job-sheet/index.js.map +1 -1
- package/dist-server/service/order-inventory/index.js +5 -1
- package/dist-server/service/order-inventory/index.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-query.js +1 -38
- package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-types.js +1 -9
- package/dist-server/service/order-inventory/order-inventory-types.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory.js +1 -5
- package/dist-server/service/order-inventory/order-inventory.js.map +1 -1
- package/dist-server/service/order-product/index.js +5 -1
- 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 +4 -39
- package/dist-server/service/order-product/order-product.js.map +1 -1
- package/dist-server/service/order-vas/index.js +5 -1
- package/dist-server/service/order-vas/index.js.map +1 -1
- package/dist-server/service/others/index.js +5 -1
- package/dist-server/service/others/index.js.map +1 -1
- package/dist-server/service/others/other-query.js +2 -37
- package/dist-server/service/others/other-query.js.map +1 -1
- package/dist-server/service/purchase-order/index.js +5 -1
- package/dist-server/service/purchase-order/index.js.map +1 -1
- package/dist-server/service/purchase-order-other-charge/index.js +5 -1
- package/dist-server/service/purchase-order-other-charge/index.js.map +1 -1
- package/dist-server/service/release-good/index.js +5 -1
- package/dist-server/service/release-good/index.js.map +1 -1
- package/dist-server/service/release-good/release-good-mutation.js +1 -23
- package/dist-server/service/release-good/release-good-mutation.js.map +1 -1
- package/dist-server/service/release-good/release-good-query.js +2 -28
- package/dist-server/service/release-good/release-good-query.js.map +1 -1
- package/dist-server/service/release-good/release-good.js +12 -32
- package/dist-server/service/release-good/release-good.js.map +1 -1
- package/dist-server/service/retail-replenishment-order/index.js +5 -1
- package/dist-server/service/retail-replenishment-order/index.js.map +1 -1
- package/dist-server/service/return-order/index.js +5 -1
- package/dist-server/service/return-order/index.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/index.js +5 -1
- package/dist-server/service/reverse-kitting-order/index.js.map +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/index.js +5 -1
- package/dist-server/service/reverse-kitting-order-inventory/index.js.map +1 -1
- package/dist-server/service/shipping-order/index.js +5 -1
- package/dist-server/service/shipping-order/index.js.map +1 -1
- package/dist-server/service/transfer-order/index.js +5 -1
- package/dist-server/service/transfer-order/index.js.map +1 -1
- package/dist-server/service/vas/index.js +5 -1
- package/dist-server/service/vas/index.js.map +1 -1
- package/dist-server/service/vas-order/index.js +5 -1
- package/dist-server/service/vas-order/index.js.map +1 -1
- package/dist-server/utils/index.js +5 -1
- package/dist-server/utils/index.js.map +1 -1
- package/dist-server/utils/inventory-util.js +99 -258
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/dist-server/utils/order-no-generator.js +0 -7
- package/dist-server/utils/order-no-generator.js.map +1 -1
- package/package.json +13 -13
- package/server/constants/attachment-type.ts +1 -2
- package/server/constants/index.ts +0 -1
- package/server/constants/order.ts +2 -12
- package/server/service/index.ts +21 -51
- package/server/service/order-inventory/order-inventory-query.ts +2 -40
- package/server/service/order-inventory/order-inventory-types.ts +0 -6
- package/server/service/order-inventory/order-inventory.ts +5 -5
- package/server/service/order-product/order-product-types.ts +3 -5
- package/server/service/order-product/order-product.ts +3 -30
- package/server/service/others/other-query.ts +8 -43
- package/server/service/release-good/release-good-mutation.ts +2 -24
- package/server/service/release-good/release-good-query.ts +30 -57
- package/server/service/release-good/release-good.ts +9 -28
- package/server/utils/inventory-util.ts +106 -287
- package/server/utils/order-no-generator.ts +48 -42
- package/dist-server/constants/release-good.js +0 -9
- package/dist-server/constants/release-good.js.map +0 -1
- package/dist-server/service/draft-release-good/draft-release-good-mutation.js +0 -563
- package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +0 -1
- package/dist-server/service/draft-release-good/draft-release-good-query.js +0 -289
- package/dist-server/service/draft-release-good/draft-release-good-query.js.map +0 -1
- package/dist-server/service/draft-release-good/draft-release-good-type.js +0 -364
- package/dist-server/service/draft-release-good/draft-release-good-type.js.map +0 -1
- package/dist-server/service/draft-release-good/draft-release-good.js +0 -321
- package/dist-server/service/draft-release-good/draft-release-good.js.map +0 -1
- package/dist-server/service/draft-release-good/index.js +0 -21
- package/dist-server/service/draft-release-good/index.js.map +0 -1
- package/dist-server/service/order-tote/index.js +0 -21
- package/dist-server/service/order-tote/index.js.map +0 -1
- package/dist-server/service/order-tote/order-tote-mutation.js +0 -56
- package/dist-server/service/order-tote/order-tote-mutation.js.map +0 -1
- package/dist-server/service/order-tote/order-tote-query.js +0 -123
- package/dist-server/service/order-tote/order-tote-query.js.map +0 -1
- package/dist-server/service/order-tote/order-tote-types.js +0 -79
- package/dist-server/service/order-tote/order-tote-types.js.map +0 -1
- package/dist-server/service/order-tote/order-tote.js +0 -91
- package/dist-server/service/order-tote/order-tote.js.map +0 -1
- package/dist-server/service/order-tote-item/index.js +0 -21
- package/dist-server/service/order-tote-item/index.js.map +0 -1
- package/dist-server/service/order-tote-item/order-tote-item-mutation.js +0 -56
- package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +0 -1
- package/dist-server/service/order-tote-item/order-tote-item-query.js +0 -100
- package/dist-server/service/order-tote-item/order-tote-item-query.js.map +0 -1
- package/dist-server/service/order-tote-item/order-tote-item-types.js +0 -91
- package/dist-server/service/order-tote-item/order-tote-item-types.js.map +0 -1
- package/dist-server/service/order-tote-item/order-tote-item.js +0 -104
- package/dist-server/service/order-tote-item/order-tote-item.js.map +0 -1
- package/dist-server/service/order-tote-seal/index.js +0 -21
- package/dist-server/service/order-tote-seal/index.js.map +0 -1
- package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js +0 -56
- package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +0 -1
- package/dist-server/service/order-tote-seal/order-tote-seal-query.js +0 -97
- package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +0 -1
- package/dist-server/service/order-tote-seal/order-tote-seal-types.js +0 -71
- package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +0 -1
- package/dist-server/service/order-tote-seal/order-tote-seal.js +0 -71
- package/dist-server/service/order-tote-seal/order-tote-seal.js.map +0 -1
- package/server/constants/release-good.ts +0 -6
- package/server/service/draft-release-good/draft-release-good-mutation.ts +0 -734
- package/server/service/draft-release-good/draft-release-good-query.ts +0 -314
- package/server/service/draft-release-good/draft-release-good-type.ts +0 -261
- package/server/service/draft-release-good/draft-release-good.ts +0 -270
- package/server/service/draft-release-good/index.ts +0 -9
- package/server/service/order-tote/index.ts +0 -9
- package/server/service/order-tote/order-tote-mutation.ts +0 -30
- package/server/service/order-tote/order-tote-query.ts +0 -114
- package/server/service/order-tote/order-tote-types.ts +0 -47
- package/server/service/order-tote/order-tote.ts +0 -62
- package/server/service/order-tote-item/index.ts +0 -9
- package/server/service/order-tote-item/order-tote-item-mutation.ts +0 -30
- package/server/service/order-tote-item/order-tote-item-query.ts +0 -88
- package/server/service/order-tote-item/order-tote-item-types.ts +0 -56
- package/server/service/order-tote-item/order-tote-item.ts +0 -72
- package/server/service/order-tote-seal/index.ts +0 -9
- package/server/service/order-tote-seal/order-tote-seal-mutation.ts +0 -30
- package/server/service/order-tote-seal/order-tote-seal-query.ts +0 -60
- package/server/service/order-tote-seal/order-tote-seal-types.ts +0 -41
- package/server/service/order-tote-seal/order-tote-seal.ts +0 -46
|
@@ -1,563 +0,0 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.upsertDraftReleaseGoodProducts = exports.updateDraftReleaseGoodFunction = exports.createDraftReleaseGoodFunction = exports.upsertDraftReleaseGoodFunction = exports.DraftReleaseGoodMutation = void 0;
|
|
16
|
-
const graphql_upload_1 = require("graphql-upload");
|
|
17
|
-
const type_graphql_1 = require("type-graphql");
|
|
18
|
-
const typeorm_1 = require("typeorm");
|
|
19
|
-
const attachment_base_1 = require("@things-factory/attachment-base");
|
|
20
|
-
const biz_base_1 = require("@things-factory/biz-base");
|
|
21
|
-
const id_rule_base_1 = require("@things-factory/id-rule-base");
|
|
22
|
-
const product_base_1 = require("@things-factory/product-base");
|
|
23
|
-
const setting_base_1 = require("@things-factory/setting-base");
|
|
24
|
-
// import { Location } from '@things-factory/warehouse-base'
|
|
25
|
-
const __1 = require("../");
|
|
26
|
-
const constants_1 = require("../../constants");
|
|
27
|
-
const errors_1 = require("../../errors");
|
|
28
|
-
const utils_1 = require("../../utils");
|
|
29
|
-
const order_product_types_1 = require("../order-product/order-product-types");
|
|
30
|
-
const release_good_mutation_1 = require("../release-good/release-good-mutation");
|
|
31
|
-
const release_good_query_1 = require("../release-good/release-good-query");
|
|
32
|
-
const shipping_order_1 = require("../shipping-order/shipping-order");
|
|
33
|
-
const shipping_order_types_1 = require("../shipping-order/shipping-order-types");
|
|
34
|
-
// import {
|
|
35
|
-
// checkArrivedNoticeFunction,
|
|
36
|
-
// confirmArrivalNoticeFunction,
|
|
37
|
-
// generateArrivalNoticeFunction,
|
|
38
|
-
// receiveArrivalNoticeFunction
|
|
39
|
-
// } from '../arrival-notice/arrival-notice-mutation'
|
|
40
|
-
const draft_release_good_query_1 = require("./draft-release-good-query");
|
|
41
|
-
let DraftReleaseGoodMutation = class DraftReleaseGoodMutation {
|
|
42
|
-
async upsertDraftReleaseGood(context, draftReleaseGood, orderProducts, files, shippingOrder) {
|
|
43
|
-
try {
|
|
44
|
-
const { tx } = context.state;
|
|
45
|
-
const createdDraftReleaseGood = await upsertDraftReleaseGoodFunction(null, draftReleaseGood, orderProducts, shippingOrder, files, context, tx);
|
|
46
|
-
return createdDraftReleaseGood;
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
throw error;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
async createDraftReleaseGood(draftReleaseGood, context) {
|
|
53
|
-
const { domain, user, tx } = context.state;
|
|
54
|
-
let drg = await tx.getRepository(__1.DraftReleaseGood).save(Object.assign(Object.assign({}, draftReleaseGood), { domain, status: 'INSUFFICIENT', creator: user, updater: user }));
|
|
55
|
-
// add order products
|
|
56
|
-
return drg;
|
|
57
|
-
}
|
|
58
|
-
async updateDraftReleaseGood(id, patch, context) {
|
|
59
|
-
const { domain, user, tx } = context.state;
|
|
60
|
-
const repository = tx.getRepository(__1.DraftReleaseGood);
|
|
61
|
-
const draftReleaseGood = await repository.findOne({
|
|
62
|
-
where: { domain, id }
|
|
63
|
-
});
|
|
64
|
-
return await repository.save(Object.assign(Object.assign(Object.assign({}, draftReleaseGood), patch), { updater: user }));
|
|
65
|
-
}
|
|
66
|
-
async updateMultipleDraftReleaseGood(patches, context) {
|
|
67
|
-
const { domain, user, tx } = context.state;
|
|
68
|
-
let results = [];
|
|
69
|
-
const _createRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === '+');
|
|
70
|
-
const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
|
|
71
|
-
const draftReleaseGoodRepo = tx.getRepository(__1.DraftReleaseGood);
|
|
72
|
-
if (_createRecords.length > 0) {
|
|
73
|
-
for (let i = 0; i < _createRecords.length; i++) {
|
|
74
|
-
const newRecord = _createRecords[i];
|
|
75
|
-
const result = await draftReleaseGoodRepo.save(Object.assign(Object.assign({}, newRecord), { domain, creator: user, updater: user }));
|
|
76
|
-
results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
if (_updateRecords.length > 0) {
|
|
80
|
-
for (let i = 0; i < _updateRecords.length; i++) {
|
|
81
|
-
const newRecord = _updateRecords[i];
|
|
82
|
-
const draftReleaseGood = await draftReleaseGoodRepo.findOne(newRecord.id);
|
|
83
|
-
const result = await draftReleaseGoodRepo.save(Object.assign(Object.assign(Object.assign({}, draftReleaseGood), newRecord), { updater: user }));
|
|
84
|
-
results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return results;
|
|
88
|
-
}
|
|
89
|
-
async deleteDraftReleaseGood(id, context) {
|
|
90
|
-
const { domain, tx } = context.state;
|
|
91
|
-
await tx.getRepository(__1.DraftReleaseGood).delete({ domain, id });
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
async deleteDraftReleaseGoods(ids, context) {
|
|
95
|
-
const { domain, tx } = context.state;
|
|
96
|
-
await tx.getRepository(__1.DraftReleaseGood).delete({
|
|
97
|
-
domain,
|
|
98
|
-
id: (0, typeorm_1.In)(ids)
|
|
99
|
-
});
|
|
100
|
-
return true;
|
|
101
|
-
}
|
|
102
|
-
async generateReleaseGoodsFromDraft(context, ids
|
|
103
|
-
// @Arg('rawReleaseGoods', type => [NewReleaseGood], { nullable: true }) rawReleaseGoods: NewReleaseGood[],
|
|
104
|
-
// @Arg('bizplaceId', type => String) bizplaceId: string
|
|
105
|
-
) {
|
|
106
|
-
var _a;
|
|
107
|
-
const { domain, user, tx } = context.state;
|
|
108
|
-
const updatableDraftOrders = await tx.getRepository(__1.DraftReleaseGood).find({
|
|
109
|
-
where: {
|
|
110
|
-
domain,
|
|
111
|
-
id: (0, typeorm_1.In)(ids),
|
|
112
|
-
status: constants_1.DRAFT_RELEASE_ORDER_STATUS.DRAFT
|
|
113
|
-
},
|
|
114
|
-
relations: [
|
|
115
|
-
'orderProducts',
|
|
116
|
-
'orderProducts.product',
|
|
117
|
-
'orderProducts.productBundle',
|
|
118
|
-
'shippingOrder',
|
|
119
|
-
'bizplace',
|
|
120
|
-
'domain',
|
|
121
|
-
'creator',
|
|
122
|
-
'updater'
|
|
123
|
-
]
|
|
124
|
-
});
|
|
125
|
-
if (updatableDraftOrders.length > 0) {
|
|
126
|
-
let createdReleaseGoods = [];
|
|
127
|
-
const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, typeorm_1.getRepository)(setting_base_1.Setting);
|
|
128
|
-
const roNoSetting = await settingRepo.findOne({
|
|
129
|
-
where: {
|
|
130
|
-
domain,
|
|
131
|
-
name: constants_1.ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
for (let index = 0; index < updatableDraftOrders.length; index++) {
|
|
135
|
-
const draftOrder = updatableDraftOrders[index];
|
|
136
|
-
let foundPermittedBizplace;
|
|
137
|
-
let companyBizplace;
|
|
138
|
-
if ((_a = draftOrder === null || draftOrder === void 0 ? void 0 : draftOrder.bizplace) === null || _a === void 0 ? void 0 : _a.id) {
|
|
139
|
-
foundPermittedBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne(draftOrder.bizplace.id, {
|
|
140
|
-
relations: ['company', 'company.domain']
|
|
141
|
-
});
|
|
142
|
-
const companyDomain = foundPermittedBizplace.company.domain;
|
|
143
|
-
companyBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({ where: { domain: companyDomain } });
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
return false;
|
|
147
|
-
}
|
|
148
|
-
const bizplaces = [foundPermittedBizplace, companyBizplace];
|
|
149
|
-
let productInventory = await utils_1.InventoryUtil.bizplaceProductInventory(bizplaces, {
|
|
150
|
-
filters: [
|
|
151
|
-
{
|
|
152
|
-
name: 'productId',
|
|
153
|
-
operator: 'in',
|
|
154
|
-
value: [
|
|
155
|
-
...draftOrder.orderProducts
|
|
156
|
-
.filter(itm => itm === null || itm === void 0 ? void 0 : itm.product)
|
|
157
|
-
.map(itm => {
|
|
158
|
-
return itm.product.id;
|
|
159
|
-
}),
|
|
160
|
-
...draftOrder.orderProducts
|
|
161
|
-
.filter(itm => itm === null || itm === void 0 ? void 0 : itm.productBundle)
|
|
162
|
-
.map(itm => {
|
|
163
|
-
return itm.productBundle.id;
|
|
164
|
-
})
|
|
165
|
-
]
|
|
166
|
-
}
|
|
167
|
-
]
|
|
168
|
-
}, context, tx);
|
|
169
|
-
draftOrder.orderProducts = draftOrder.orderProducts.map(itm => {
|
|
170
|
-
let foundProductInv = productInventory.items.find(i => {
|
|
171
|
-
var _a, _b;
|
|
172
|
-
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)) &&
|
|
173
|
-
i.packingType == itm.packingType &&
|
|
174
|
-
i.packingSize == itm.packingSize &&
|
|
175
|
-
i.uom == itm.uom &&
|
|
176
|
-
itm.releaseQty <= i.remainQty;
|
|
177
|
-
});
|
|
178
|
-
return Object.assign(Object.assign({}, itm), { status: foundProductInv ? 'suffice' : 'insufficient' });
|
|
179
|
-
});
|
|
180
|
-
let insufficient = draftOrder.orderProducts.find(op => op.status == 'insufficient');
|
|
181
|
-
if (!insufficient) {
|
|
182
|
-
//create RO
|
|
183
|
-
let releaseGood = Object.assign({}, draftOrder);
|
|
184
|
-
delete releaseGood.id;
|
|
185
|
-
delete releaseGood.name;
|
|
186
|
-
delete releaseGood.createdAt;
|
|
187
|
-
delete releaseGood.createdBy;
|
|
188
|
-
delete releaseGood.updatedAt;
|
|
189
|
-
delete releaseGood.updatedBy;
|
|
190
|
-
let orderInventories = [];
|
|
191
|
-
for (let index = 0; index < draftOrder.orderProducts.length; index++) {
|
|
192
|
-
const itm = draftOrder.orderProducts[index];
|
|
193
|
-
let data = [];
|
|
194
|
-
if (itm.productBundle) {
|
|
195
|
-
let bundle = await tx.getRepository(product_base_1.ProductBundle).findOne({
|
|
196
|
-
where: { id: itm.productBundle.id },
|
|
197
|
-
relations: [
|
|
198
|
-
'productBundleSettings',
|
|
199
|
-
'productBundleSettings.productDetail',
|
|
200
|
-
'productBundleSettings.product'
|
|
201
|
-
]
|
|
202
|
-
});
|
|
203
|
-
for (let index2 = 0; index2 < bundle.productBundleSettings.length; index2++) {
|
|
204
|
-
const objProductBundleSetting = bundle.productBundleSettings[index2];
|
|
205
|
-
data.push({
|
|
206
|
-
sku: objProductBundleSetting.product.sku,
|
|
207
|
-
packing_type: objProductBundleSetting.productDetail.packingType,
|
|
208
|
-
packing_size: objProductBundleSetting.productDetail.packingSize,
|
|
209
|
-
uom: objProductBundleSetting.productDetail.uom,
|
|
210
|
-
release_qty: objProductBundleSetting.bundleQty * itm.releaseQty,
|
|
211
|
-
assignedQty: undefined,
|
|
212
|
-
assignedUomValue: undefined,
|
|
213
|
-
releaseUomValue: undefined
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
else {
|
|
218
|
-
data = [
|
|
219
|
-
{
|
|
220
|
-
sku: itm.product.sku,
|
|
221
|
-
packing_type: itm.packingType,
|
|
222
|
-
packing_size: itm.packingSize,
|
|
223
|
-
uom: itm.uom,
|
|
224
|
-
release_qty: itm.releaseQty,
|
|
225
|
-
assignedQty: undefined,
|
|
226
|
-
assignedUomValue: undefined,
|
|
227
|
-
releaseUomValue: undefined
|
|
228
|
-
}
|
|
229
|
-
];
|
|
230
|
-
}
|
|
231
|
-
data.forEach(data => {
|
|
232
|
-
let existingOI = orderInventories.find(itm => itm.sku == data.sku &&
|
|
233
|
-
itm.packing_type == data.packing_type &&
|
|
234
|
-
itm.packing_size == data.packing_size &&
|
|
235
|
-
itm.uom == data.uom);
|
|
236
|
-
if (existingOI) {
|
|
237
|
-
existingOI.release_qty = existingOI.release_qty + data.release_qty;
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
orderInventories.push(data);
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
try {
|
|
245
|
-
await (0, typeorm_1.getConnection)().transaction(async (childTx) => {
|
|
246
|
-
let availableItems = await (0, release_good_query_1.bulkReleaseGoodsAvailableItemsFunction)(orderInventories, draftOrder.bizplace.id, context, childTx);
|
|
247
|
-
if (availableItems.some(item => !item.release_qty || item.release_qty > item.assignedQty))
|
|
248
|
-
throw new errors_1.ValidationError(Object.assign(Object.assign({}, errors_1.ValidationError.ERROR_CODES.INSUFFICIENT_STOCK), { detail: { data: JSON.stringify(availableItems) } }));
|
|
249
|
-
// update orderInventories if availableItems are valid
|
|
250
|
-
releaseGood.orderInventories = availableItems.map(itm => {
|
|
251
|
-
return Object.assign(Object.assign({}, itm), { releaseQty: itm.release_qty });
|
|
252
|
-
});
|
|
253
|
-
let createdReleaseGood = await (0, release_good_mutation_1.bulkGenerateReleaseGood)(releaseGood, releaseGood.bizplace.id, roNoSetting, domain, user, childTx);
|
|
254
|
-
await childTx
|
|
255
|
-
.getRepository(__1.DraftReleaseGood)
|
|
256
|
-
.update({ id: draftOrder.id }, { releaseGood: createdReleaseGood, status: constants_1.DRAFT_RELEASE_ORDER_STATUS.SUBMITTED });
|
|
257
|
-
createdReleaseGood = await (0, release_good_mutation_1.confirmReleaseGood)(createdReleaseGood.name, context, childTx);
|
|
258
|
-
});
|
|
259
|
-
}
|
|
260
|
-
catch (error) {
|
|
261
|
-
console.error(error);
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
return true;
|
|
267
|
-
}
|
|
268
|
-
};
|
|
269
|
-
__decorate([
|
|
270
|
-
(0, type_graphql_1.Directive)('@privilege(category: "order_customer", privilege: "mutation")'),
|
|
271
|
-
(0, type_graphql_1.Directive)('@transaction'),
|
|
272
|
-
(0, type_graphql_1.Mutation)(returns => __1.DraftReleaseGood),
|
|
273
|
-
__param(0, (0, type_graphql_1.Ctx)()),
|
|
274
|
-
__param(1, (0, type_graphql_1.Arg)('draftReleaseGood', type => __1.DraftReleaseGoodPatch)),
|
|
275
|
-
__param(2, (0, type_graphql_1.Arg)('orderProducts', type => [order_product_types_1.OrderProductPatch])),
|
|
276
|
-
__param(3, (0, type_graphql_1.Arg)('files', type => [graphql_upload_1.GraphQLUpload], { nullable: true })),
|
|
277
|
-
__param(4, (0, type_graphql_1.Arg)('shippingOrder', type => shipping_order_types_1.ShippingOrderPatch, { nullable: true })),
|
|
278
|
-
__metadata("design:type", Function),
|
|
279
|
-
__metadata("design:paramtypes", [Object, __1.DraftReleaseGoodPatch, Array, Array, shipping_order_types_1.ShippingOrderPatch]),
|
|
280
|
-
__metadata("design:returntype", Promise)
|
|
281
|
-
], DraftReleaseGoodMutation.prototype, "upsertDraftReleaseGood", null);
|
|
282
|
-
__decorate([
|
|
283
|
-
(0, type_graphql_1.Directive)('@transaction'),
|
|
284
|
-
(0, type_graphql_1.Mutation)(returns => __1.DraftReleaseGood, { description: 'To create new DraftReleaseGood' }),
|
|
285
|
-
__param(0, (0, type_graphql_1.Arg)('draftReleaseGood', type => __1.NewDraftReleaseGood, { nullable: true })),
|
|
286
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
287
|
-
__metadata("design:type", Function),
|
|
288
|
-
__metadata("design:paramtypes", [__1.NewDraftReleaseGood, Object]),
|
|
289
|
-
__metadata("design:returntype", Promise)
|
|
290
|
-
], DraftReleaseGoodMutation.prototype, "createDraftReleaseGood", null);
|
|
291
|
-
__decorate([
|
|
292
|
-
(0, type_graphql_1.Directive)('@transaction'),
|
|
293
|
-
(0, type_graphql_1.Mutation)(returns => __1.DraftReleaseGood, { description: 'To modify DraftReleaseGood information' }),
|
|
294
|
-
__param(0, (0, type_graphql_1.Arg)('id')),
|
|
295
|
-
__param(1, (0, type_graphql_1.Arg)('patch', type => __1.DraftReleaseGoodPatch)),
|
|
296
|
-
__param(2, (0, type_graphql_1.Ctx)()),
|
|
297
|
-
__metadata("design:type", Function),
|
|
298
|
-
__metadata("design:paramtypes", [String, __1.DraftReleaseGoodPatch, Object]),
|
|
299
|
-
__metadata("design:returntype", Promise)
|
|
300
|
-
], DraftReleaseGoodMutation.prototype, "updateDraftReleaseGood", null);
|
|
301
|
-
__decorate([
|
|
302
|
-
(0, type_graphql_1.Directive)('@transaction'),
|
|
303
|
-
(0, type_graphql_1.Mutation)(returns => [__1.DraftReleaseGood], { description: "To modify multiple DraftReleaseGoods' information" }),
|
|
304
|
-
__param(0, (0, type_graphql_1.Arg)('patches', type => [__1.DraftReleaseGoodPatch])),
|
|
305
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
306
|
-
__metadata("design:type", Function),
|
|
307
|
-
__metadata("design:paramtypes", [Array, Object]),
|
|
308
|
-
__metadata("design:returntype", Promise)
|
|
309
|
-
], DraftReleaseGoodMutation.prototype, "updateMultipleDraftReleaseGood", null);
|
|
310
|
-
__decorate([
|
|
311
|
-
(0, type_graphql_1.Directive)('@transaction'),
|
|
312
|
-
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete DraftReleaseGood' }),
|
|
313
|
-
__param(0, (0, type_graphql_1.Arg)('id')),
|
|
314
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
315
|
-
__metadata("design:type", Function),
|
|
316
|
-
__metadata("design:paramtypes", [String, Object]),
|
|
317
|
-
__metadata("design:returntype", Promise)
|
|
318
|
-
], DraftReleaseGoodMutation.prototype, "deleteDraftReleaseGood", null);
|
|
319
|
-
__decorate([
|
|
320
|
-
(0, type_graphql_1.Directive)('@transaction'),
|
|
321
|
-
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple draftReleaseGoods' }),
|
|
322
|
-
__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
|
|
323
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
324
|
-
__metadata("design:type", Function),
|
|
325
|
-
__metadata("design:paramtypes", [Array, Object]),
|
|
326
|
-
__metadata("design:returntype", Promise)
|
|
327
|
-
], DraftReleaseGoodMutation.prototype, "deleteDraftReleaseGoods", null);
|
|
328
|
-
__decorate([
|
|
329
|
-
(0, type_graphql_1.Directive)('@privilege(category: "order_customer", privilege: "mutation")'),
|
|
330
|
-
(0, type_graphql_1.Directive)('@transaction'),
|
|
331
|
-
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To generate Release Goods from Draft' }),
|
|
332
|
-
__param(0, (0, type_graphql_1.Ctx)()),
|
|
333
|
-
__param(1, (0, type_graphql_1.Arg)('ids', type => [String])),
|
|
334
|
-
__metadata("design:type", Function),
|
|
335
|
-
__metadata("design:paramtypes", [Object, Array]),
|
|
336
|
-
__metadata("design:returntype", Promise)
|
|
337
|
-
], DraftReleaseGoodMutation.prototype, "generateReleaseGoodsFromDraft", null);
|
|
338
|
-
DraftReleaseGoodMutation = __decorate([
|
|
339
|
-
(0, type_graphql_1.Resolver)(__1.DraftReleaseGood)
|
|
340
|
-
], DraftReleaseGoodMutation);
|
|
341
|
-
exports.DraftReleaseGoodMutation = DraftReleaseGoodMutation;
|
|
342
|
-
async function upsertDraftReleaseGoodFunction(_, draftReleaseGood, orderProducts, shippingOrder, files, context, tx) {
|
|
343
|
-
if (!draftReleaseGood.id) {
|
|
344
|
-
draftReleaseGood = await createDraftReleaseGoodFunction(_, draftReleaseGood, orderProducts, shippingOrder, files, context, tx);
|
|
345
|
-
}
|
|
346
|
-
else {
|
|
347
|
-
draftReleaseGood = await updateDraftReleaseGoodFunction(_, draftReleaseGood, orderProducts, shippingOrder, files, context, tx);
|
|
348
|
-
}
|
|
349
|
-
return draftReleaseGood;
|
|
350
|
-
}
|
|
351
|
-
exports.upsertDraftReleaseGoodFunction = upsertDraftReleaseGoodFunction;
|
|
352
|
-
async function createDraftReleaseGoodFunction(_, draftReleaseGood, orderProducts, shippingOrder, files, context, tx) {
|
|
353
|
-
var _a;
|
|
354
|
-
const { domain, user } = context.state;
|
|
355
|
-
let myBizplace;
|
|
356
|
-
let orderNo = '';
|
|
357
|
-
let arrError = [];
|
|
358
|
-
const settingRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(setting_base_1.Setting)) || (0, typeorm_1.getRepository)(setting_base_1.Setting);
|
|
359
|
-
if ((_a = draftReleaseGood === null || draftReleaseGood === void 0 ? void 0 : draftReleaseGood.bizplace) === null || _a === void 0 ? void 0 : _a.id) {
|
|
360
|
-
const permittedBizplaces = await (0, biz_base_1.getPermittedBizplaces)(domain, user);
|
|
361
|
-
let foundPermittedBizplace = permittedBizplaces.find(biz => biz.id == draftReleaseGood.bizplace.id);
|
|
362
|
-
if (!foundPermittedBizplace)
|
|
363
|
-
throw new Error(`This user does not permitted for this company`);
|
|
364
|
-
draftReleaseGood.bizplace = foundPermittedBizplace;
|
|
365
|
-
}
|
|
366
|
-
else {
|
|
367
|
-
arrError.push(`No bizplace was selected`);
|
|
368
|
-
}
|
|
369
|
-
if (arrError.length > 0) {
|
|
370
|
-
throw new Error(arrError.join(', '));
|
|
371
|
-
}
|
|
372
|
-
// // find DRO number rule setting
|
|
373
|
-
const droNoSetting = await settingRepo.findOne({
|
|
374
|
-
where: {
|
|
375
|
-
domain,
|
|
376
|
-
name: constants_1.ORDER_NUMBER_SETTING_KEY.PO_NUMBER_RULE
|
|
377
|
-
}
|
|
378
|
-
});
|
|
379
|
-
if (droNoSetting) {
|
|
380
|
-
orderNo = await (0, id_rule_base_1.generateId)({ domain, type: constants_1.ORDER_NUMBER_RULE_TYPE.DRO_NUMBER, seed: {} });
|
|
381
|
-
}
|
|
382
|
-
else {
|
|
383
|
-
orderNo = utils_1.OrderNoGenerator.draftReleaseGood();
|
|
384
|
-
}
|
|
385
|
-
// // 1. Create draft release good
|
|
386
|
-
const createdDraftReleaseGood = await tx.getRepository(__1.DraftReleaseGood).save(Object.assign(Object.assign({}, draftReleaseGood), { name: orderNo, status: constants_1.DRAFT_RELEASE_ORDER_STATUS.DRAFT, domain, creator: user, updater: user }));
|
|
387
|
-
// // 2. Create draft release good product
|
|
388
|
-
await upsertDraftReleaseGoodProducts(domain, draftReleaseGood.bizplace, createdDraftReleaseGood, orderProducts, user, tx);
|
|
389
|
-
// // 3. Create Attachments
|
|
390
|
-
if (files === null || files === void 0 ? void 0 : files.length) {
|
|
391
|
-
const attachments = files.map(attachment => {
|
|
392
|
-
return {
|
|
393
|
-
file: attachment,
|
|
394
|
-
refBy: createdDraftReleaseGood.id,
|
|
395
|
-
category: constants_1.ATTACHMENT_TYPE.DGRN
|
|
396
|
-
};
|
|
397
|
-
});
|
|
398
|
-
await (0, attachment_base_1.createAttachments)(_, { attachments }, context);
|
|
399
|
-
}
|
|
400
|
-
return createdDraftReleaseGood;
|
|
401
|
-
}
|
|
402
|
-
exports.createDraftReleaseGoodFunction = createDraftReleaseGoodFunction;
|
|
403
|
-
async function updateDraftReleaseGoodFunction(_, draftReleaseGood, orderProducts, shippingOrder, files, context, tx) {
|
|
404
|
-
var _a;
|
|
405
|
-
const { domain, user } = context.state;
|
|
406
|
-
let existingDraftReleaseGood = await (0, draft_release_good_query_1.getDraftReleaseGoodFunction)(_, draftReleaseGood.name, context, tx);
|
|
407
|
-
if ((_a = draftReleaseGood === null || draftReleaseGood === void 0 ? void 0 : draftReleaseGood.bizplace) === null || _a === void 0 ? void 0 : _a.id) {
|
|
408
|
-
const permittedBizplaces = await (0, biz_base_1.getPermittedBizplaces)(domain, user);
|
|
409
|
-
let foundPermittedBizplace = permittedBizplaces.find(biz => biz.id == draftReleaseGood.bizplace.id);
|
|
410
|
-
if (!foundPermittedBizplace)
|
|
411
|
-
throw new Error(`This user does not permitted for this company`);
|
|
412
|
-
draftReleaseGood.bizplace = foundPermittedBizplace;
|
|
413
|
-
}
|
|
414
|
-
if (shippingOrder) {
|
|
415
|
-
// case to update existing shippingOrder
|
|
416
|
-
if (existingDraftReleaseGood.shippingOrder) {
|
|
417
|
-
await tx.getRepository(shipping_order_1.ShippingOrder).update(existingDraftReleaseGood.shippingOrder.id, shippingOrder);
|
|
418
|
-
}
|
|
419
|
-
else {
|
|
420
|
-
let newShippingOrder = await tx.getRepository(shipping_order_1.ShippingOrder).save(Object.assign(Object.assign({}, shippingOrder), { name: utils_1.OrderNoGenerator.shippingOrder(), domain, bizplace: draftReleaseGood.bizplace, status: constants_1.ORDER_STATUS.PENDING, creator: user, updater: user }));
|
|
421
|
-
draftReleaseGood.shippingOrder = newShippingOrder;
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
else {
|
|
425
|
-
// case to delete existing shippingOrder
|
|
426
|
-
if (existingDraftReleaseGood.shippingOrder) {
|
|
427
|
-
await tx.getRepository(shipping_order_1.ShippingOrder).delete(existingDraftReleaseGood.shippingOrder);
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
// // 1. Update draft release good
|
|
431
|
-
const updateDraftReleaseGood = await tx.getRepository(__1.DraftReleaseGood).save(Object.assign(Object.assign(Object.assign({}, existingDraftReleaseGood), draftReleaseGood), { domain, creator: user, updater: user }));
|
|
432
|
-
// // 2. Update draft release good product
|
|
433
|
-
await upsertDraftReleaseGoodProducts(domain, draftReleaseGood.bizplace, draftReleaseGood, orderProducts, user, tx);
|
|
434
|
-
// // 3. Remove Purchase Order Attachment
|
|
435
|
-
const foundAttachments = await (0, typeorm_1.getRepository)(attachment_base_1.Attachment).find({
|
|
436
|
-
where: {
|
|
437
|
-
domain,
|
|
438
|
-
refBy: draftReleaseGood.id,
|
|
439
|
-
category: constants_1.ATTACHMENT_TYPE.DGRN
|
|
440
|
-
}
|
|
441
|
-
});
|
|
442
|
-
// // 4. Remove All Attachment
|
|
443
|
-
if (foundAttachments === null || foundAttachments === void 0 ? void 0 : foundAttachments.length) {
|
|
444
|
-
await (0, attachment_base_1.deleteAttachmentsByRef)(_, { refBys: foundAttachments.map(file => file.refBy) }, context);
|
|
445
|
-
}
|
|
446
|
-
// // 5. Add New Attachment
|
|
447
|
-
if ((files === null || files === void 0 ? void 0 : files.length) > 0) {
|
|
448
|
-
const attachments = files.map(attachment => {
|
|
449
|
-
return {
|
|
450
|
-
file: attachment,
|
|
451
|
-
refBy: updateDraftReleaseGood.id,
|
|
452
|
-
category: constants_1.ATTACHMENT_TYPE.DGRN
|
|
453
|
-
};
|
|
454
|
-
});
|
|
455
|
-
await (0, attachment_base_1.createAttachments)(_, { attachments }, context);
|
|
456
|
-
}
|
|
457
|
-
return existingDraftReleaseGood;
|
|
458
|
-
}
|
|
459
|
-
exports.updateDraftReleaseGoodFunction = updateDraftReleaseGoodFunction;
|
|
460
|
-
async function upsertDraftReleaseGoodProducts(domain, bizplace, draftReleaseGood, orderProductsPatch, user, tx) {
|
|
461
|
-
try {
|
|
462
|
-
let orderProducts = [];
|
|
463
|
-
const draftReleaseGoodRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(__1.DraftReleaseGood)) || (0, typeorm_1.getRepository)(__1.DraftReleaseGood);
|
|
464
|
-
const bizplaceRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(biz_base_1.Bizplace)) || (0, typeorm_1.getRepository)(biz_base_1.Bizplace);
|
|
465
|
-
const orderProductRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(__1.OrderProduct)) || (0, typeorm_1.getRepository)(__1.OrderProduct);
|
|
466
|
-
const productRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(product_base_1.Product)) || (0, typeorm_1.getRepository)(product_base_1.Product);
|
|
467
|
-
const productBundleRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(product_base_1.ProductBundle)) || (0, typeorm_1.getRepository)(product_base_1.ProductBundle);
|
|
468
|
-
draftReleaseGood = await draftReleaseGoodRepo.findOne({
|
|
469
|
-
where: { id: draftReleaseGood.id },
|
|
470
|
-
relations: [
|
|
471
|
-
'orderProducts',
|
|
472
|
-
'orderProducts.product',
|
|
473
|
-
'orderProducts.productBundle',
|
|
474
|
-
'orderProducts.creator',
|
|
475
|
-
'orderProducts.updater'
|
|
476
|
-
]
|
|
477
|
-
});
|
|
478
|
-
// Remove all existing order products that do not exist in current input
|
|
479
|
-
let removeOP = draftReleaseGood.orderProducts.filter(existingOP => orderProductsPatch.filter(inOP => inOP.id == existingOP.id).length == 0);
|
|
480
|
-
// removeOP.forEach(async op => {
|
|
481
|
-
// await orderProductRepo.delete(op)
|
|
482
|
-
// })
|
|
483
|
-
if (removeOP.length > 0)
|
|
484
|
-
await orderProductRepo.delete(removeOP.map(itm => itm.id));
|
|
485
|
-
bizplace = await bizplaceRepo.findOne(bizplace.id, {
|
|
486
|
-
relations: ['domain', 'company', 'company.domain']
|
|
487
|
-
});
|
|
488
|
-
orderProducts = await Promise.all(orderProductsPatch.map(async (op) => {
|
|
489
|
-
var _a, _b;
|
|
490
|
-
if (!(op === null || op === void 0 ? void 0 : op.id))
|
|
491
|
-
delete op.id;
|
|
492
|
-
const customerCompanyDomain = bizplace.company.domain;
|
|
493
|
-
let product = null;
|
|
494
|
-
let productBundle = null;
|
|
495
|
-
let existingOP = draftReleaseGood.orderProducts.find(existOP => existOP.id == op.id);
|
|
496
|
-
let updatePatch = Object.assign(Object.assign(Object.assign({}, existingOP), op), { domain, batchId: '', packQty: 0, actualPackQty: 0, palletQty: 0, actualPalletQty: 0, bizplace: bizplace, name: (op === null || op === void 0 ? void 0 : op.id) ? op.name : utils_1.OrderNoGenerator.orderProduct(), draftReleaseGood: draftReleaseGood, status: draftReleaseGood.status, creator: (op === null || op === void 0 ? void 0 : op.id) ? op.creator : user, updater: user });
|
|
497
|
-
if ((_a = op === null || op === void 0 ? void 0 : op.product) === null || _a === void 0 ? void 0 : _a.id) {
|
|
498
|
-
product = await productRepo.findOne({
|
|
499
|
-
where: { domain: customerCompanyDomain, id: op.product.id }
|
|
500
|
-
});
|
|
501
|
-
updatePatch['product'] = product || undefined;
|
|
502
|
-
if (!product) {
|
|
503
|
-
productBundle = await productBundleRepo.findOne({
|
|
504
|
-
where: { domain: customerCompanyDomain, id: op.product.id }
|
|
505
|
-
});
|
|
506
|
-
updatePatch['productBundle'] = productBundle || undefined;
|
|
507
|
-
}
|
|
508
|
-
if (!product && !productBundle)
|
|
509
|
-
throw new Error(`product not found`);
|
|
510
|
-
}
|
|
511
|
-
else {
|
|
512
|
-
if (existingOP) {
|
|
513
|
-
product = existingOP.product;
|
|
514
|
-
productBundle = existingOP.productBundle;
|
|
515
|
-
updatePatch['product'] = existingOP.product || undefined;
|
|
516
|
-
updatePatch['productBundle'] = existingOP.productBundle || undefined;
|
|
517
|
-
}
|
|
518
|
-
else {
|
|
519
|
-
product = await productRepo.findOne({
|
|
520
|
-
where: { domain: customerCompanyDomain, sku: op.product.sku, deletedAt: (0, typeorm_1.IsNull)() },
|
|
521
|
-
relations: ['productDetails']
|
|
522
|
-
});
|
|
523
|
-
if (product) {
|
|
524
|
-
const productDetails = product.productDetails;
|
|
525
|
-
let selectedProductDetail;
|
|
526
|
-
if ((_b = op === null || op === void 0 ? void 0 : op.product) === null || _b === void 0 ? void 0 : _b.packingType) {
|
|
527
|
-
selectedProductDetail = productDetails.filter(pd => pd.packingType == op.product.packingType);
|
|
528
|
-
}
|
|
529
|
-
else {
|
|
530
|
-
selectedProductDetail = productDetails.filter(pd => pd.isDefault);
|
|
531
|
-
}
|
|
532
|
-
product.packingType = selectedProductDetail[0].packingType;
|
|
533
|
-
product.primaryUnit = selectedProductDetail[0].uom;
|
|
534
|
-
product.primaryValue = selectedProductDetail[0].uomValue;
|
|
535
|
-
}
|
|
536
|
-
updatePatch['product'] = product || undefined;
|
|
537
|
-
if (!product) {
|
|
538
|
-
productBundle = await productBundleRepo.findOne({
|
|
539
|
-
where: { domain: customerCompanyDomain, sku: op.product.sku }
|
|
540
|
-
});
|
|
541
|
-
updatePatch['productBundle'] = productBundle || undefined;
|
|
542
|
-
}
|
|
543
|
-
if (!product && !productBundle)
|
|
544
|
-
throw new Error(`product not found`);
|
|
545
|
-
}
|
|
546
|
-
}
|
|
547
|
-
updatePatch['packingType'] = (op === null || op === void 0 ? void 0 : op.packingType)
|
|
548
|
-
? op.packingType
|
|
549
|
-
: (product === null || product === void 0 ? void 0 : product.packingType)
|
|
550
|
-
? product.packingType
|
|
551
|
-
: productBundle.packingType;
|
|
552
|
-
updatePatch['uom'] = (op === null || op === void 0 ? void 0 : op.uom) ? op.uom : (product === null || product === void 0 ? void 0 : product.primaryUnit) ? product.primaryUnit : 'UNIT';
|
|
553
|
-
updatePatch['uomValue'] = (op === null || op === void 0 ? void 0 : op.uomValue) ? op.uomValue : (product === null || product === void 0 ? void 0 : product.primaryValue) ? product.primaryValue : 0;
|
|
554
|
-
return updatePatch;
|
|
555
|
-
}));
|
|
556
|
-
await orderProductRepo.save(orderProducts);
|
|
557
|
-
}
|
|
558
|
-
catch (error) {
|
|
559
|
-
throw error;
|
|
560
|
-
}
|
|
561
|
-
}
|
|
562
|
-
exports.upsertDraftReleaseGoodProducts = upsertDraftReleaseGoodProducts;
|
|
563
|
-
//# sourceMappingURL=draft-release-good-mutation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"draft-release-good-mutation.js","sourceRoot":"","sources":["../../../server/service/draft-release-good/draft-release-good-mutation.ts"],"names":[],"mappings":"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"}
|