@things-factory/warehouse-base 4.3.113-alpha.0 → 4.3.119
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/controllers/warehouse-controller.js.map +1 -1
- package/dist-server/service/inventory/inventory-query.js +36 -27
- package/dist-server/service/inventory/inventory-query.js.map +1 -1
- package/dist-server/service/inventory/inventory-types.js +12 -16
- package/dist-server/service/inventory/inventory-types.js.map +1 -1
- package/dist-server/service/inventory/inventory.js +1 -4
- package/dist-server/service/inventory/inventory.js.map +1 -1
- package/dist-server/service/inventory-change/inventory-change-mutation.js +3 -6
- package/dist-server/service/inventory-change/inventory-change-mutation.js.map +1 -1
- package/dist-server/service/inventory-history/inventory-history-query.js +3 -3
- package/dist-server/service/inventory-item/inventory-item.js +3 -8
- package/dist-server/service/inventory-item/inventory-item.js.map +1 -1
- package/dist-server/service/inventory-product/inventory-product.js +3 -8
- package/dist-server/service/inventory-product/inventory-product.js.map +1 -1
- package/dist-server/service/location/location-mutation.js +1 -3
- package/dist-server/service/location/location-mutation.js.map +1 -1
- package/dist-server/service/pallet/pallet-mutation.js +33 -35
- package/dist-server/service/pallet/pallet-mutation.js.map +1 -1
- package/dist-server/service/tote/tote-mutation.js +1 -1
- package/dist-server/service/tote/tote-mutation.js.map +1 -1
- package/dist-server/service/tote/tote-query.js +5 -7
- package/dist-server/service/tote/tote-query.js.map +1 -1
- package/dist-server/service/warehouse/warehouse-mutation.js +1 -33
- package/dist-server/service/warehouse/warehouse-mutation.js.map +1 -1
- package/dist-server/utils/inventory-util.js +25 -86
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/package.json +8 -8
- package/server/controllers/warehouse-controller.ts +1 -0
- package/server/service/inventory/inventory-query.ts +44 -32
- package/server/service/inventory/inventory-types.ts +0 -3
- package/server/service/inventory/inventory.ts +1 -3
- package/server/service/inventory-change/inventory-change-mutation.ts +7 -8
- package/server/service/inventory-history/inventory-history-query.ts +3 -3
- package/server/service/inventory-item/inventory-item.ts +2 -9
- package/server/service/inventory-product/inventory-product.ts +1 -5
- package/server/service/location/location-mutation.ts +1 -3
- package/server/service/pallet/pallet-mutation.ts +69 -50
- package/server/service/tote/tote-mutation.ts +1 -1
- package/server/service/tote/tote-query.ts +7 -9
- package/server/service/warehouse/warehouse-mutation.ts +2 -41
- package/server/utils/inventory-util.ts +51 -116
- package/translations/en.json +2 -4
- package/translations/ko.json +2 -4
- package/translations/ms.json +2 -4
- package/translations/zh.json +12 -14
|
@@ -11,15 +11,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
13
|
};
|
|
14
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
-
};
|
|
17
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
15
|
exports.deleteWarehouses = exports.deleteWarehouse = exports.updateWarehouse = exports.createWarehouse = exports.WarehouseMutation = void 0;
|
|
19
16
|
const type_graphql_1 = require("type-graphql");
|
|
20
17
|
const warehouse_1 = require("./warehouse");
|
|
21
18
|
const warehouse_types_1 = require("./warehouse-types");
|
|
22
|
-
const i18next_1 = __importDefault(require("i18next"));
|
|
23
19
|
let WarehouseMutation = class WarehouseMutation {
|
|
24
20
|
async createWarehouse(warehouse, context) {
|
|
25
21
|
return await createWarehouse(warehouse, context);
|
|
@@ -28,34 +24,6 @@ let WarehouseMutation = class WarehouseMutation {
|
|
|
28
24
|
return await updateWarehouse(id, patch, context);
|
|
29
25
|
}
|
|
30
26
|
async updateMultipleWarehouse(patches, context) {
|
|
31
|
-
const { tx, domain, user } = context.state;
|
|
32
|
-
for (let patch of patches) {
|
|
33
|
-
let foundWarehouse;
|
|
34
|
-
if (patch === null || patch === void 0 ? void 0 : patch.name) {
|
|
35
|
-
foundWarehouse = await tx.getRepository(warehouse_1.Warehouse).findOne({
|
|
36
|
-
domain,
|
|
37
|
-
name: patch.name
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
else if (patch === null || patch === void 0 ? void 0 : patch.id) {
|
|
41
|
-
foundWarehouse = await tx.getRepository(warehouse_1.Warehouse).findOne({
|
|
42
|
-
domain,
|
|
43
|
-
id: patch.id
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
if (!foundWarehouse) {
|
|
47
|
-
patch === null || patch === void 0 ? true : delete patch.id;
|
|
48
|
-
await tx.getRepository(warehouse_1.Warehouse).save(Object.assign(Object.assign({}, patch), { domain, creator: user, updater: user }));
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
if (patch.cuFlag === '+') {
|
|
52
|
-
throw new Error(i18next_1.default.t('error.warehouse (x) already exists', { x: patch.name }));
|
|
53
|
-
}
|
|
54
|
-
delete patch.cuFlag;
|
|
55
|
-
await tx.getRepository(warehouse_1.Warehouse).update({ id: foundWarehouse.id }, Object.assign(Object.assign({}, patch), { updater: user }));
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return true;
|
|
59
27
|
let results = [];
|
|
60
28
|
const _createRecords = patches.filter((patch) => patch.cuFlag === '+');
|
|
61
29
|
const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
|
|
@@ -106,7 +74,7 @@ __decorate([
|
|
|
106
74
|
__decorate([
|
|
107
75
|
(0, type_graphql_1.Directive)('@privilege(category: "warehouse", privilege: "mutation")'),
|
|
108
76
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
109
|
-
(0, type_graphql_1.Mutation)(returns =>
|
|
77
|
+
(0, type_graphql_1.Mutation)(returns => [warehouse_1.Warehouse]),
|
|
110
78
|
__param(0, (0, type_graphql_1.Arg)('patches', type => [warehouse_types_1.WarehousePatch])),
|
|
111
79
|
__param(1, (0, type_graphql_1.Ctx)()),
|
|
112
80
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warehouse-mutation.js","sourceRoot":"","sources":["../../../server/service/warehouse/warehouse-mutation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"warehouse-mutation.js","sourceRoot":"","sources":["../../../server/service/warehouse/warehouse-mutation.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,7 +100,7 @@ async function generateInventoryHistory(inventory, refOrder, transactionType, qt
|
|
|
100
100
|
throw new Error(`Can't find out ID of inventory.`);
|
|
101
101
|
inventory = await invRepo.findOne({
|
|
102
102
|
where: { id: inventory.id },
|
|
103
|
-
relations: ['domain', 'bizplace', 'product', 'warehouse', 'location'
|
|
103
|
+
relations: ['domain', 'bizplace', 'product', 'warehouse', 'location']
|
|
104
104
|
});
|
|
105
105
|
const domain = inventory.domain;
|
|
106
106
|
const location = inventory.location;
|
|
@@ -113,94 +113,33 @@ async function generateInventoryHistory(inventory, refOrder, transactionType, qt
|
|
|
113
113
|
seq: 'DESC'
|
|
114
114
|
}
|
|
115
115
|
});
|
|
116
|
-
let
|
|
117
|
-
let
|
|
118
|
-
let
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
creator: user,
|
|
124
|
-
updater: user,
|
|
125
|
-
domain: inventory === null || inventory === void 0 ? void 0 : inventory.domain,
|
|
126
|
-
bizplace: inventory === null || inventory === void 0 ? void 0 : inventory.bizplace,
|
|
127
|
-
reusablePallet: inventory === null || inventory === void 0 ? void 0 : inventory.reusablePallet,
|
|
128
|
-
inventory: inventory,
|
|
129
|
-
product: inventory === null || inventory === void 0 ? void 0 : inventory.product,
|
|
130
|
-
productDetail: inventory === null || inventory === void 0 ? void 0 : inventory.productDetail,
|
|
131
|
-
warehouse: inventory === null || inventory === void 0 ? void 0 : inventory.warehouse,
|
|
132
|
-
location: inventory === null || inventory === void 0 ? void 0 : inventory.location,
|
|
133
|
-
palletId: inventory === null || inventory === void 0 ? void 0 : inventory.palletId,
|
|
134
|
-
batchId: inventory === null || inventory === void 0 ? void 0 : inventory.batchId,
|
|
135
|
-
zone: inventory === null || inventory === void 0 ? void 0 : inventory.zone,
|
|
136
|
-
packingType: inventory === null || inventory === void 0 ? void 0 : inventory.packingType,
|
|
137
|
-
description: inventory === null || inventory === void 0 ? void 0 : inventory.description,
|
|
138
|
-
expirationDate: inventory === null || inventory === void 0 ? void 0 : inventory.expirationDate,
|
|
139
|
-
unitCost: inventory === null || inventory === void 0 ? void 0 : inventory.unitCost,
|
|
140
|
-
batchIdRef: inventory === null || inventory === void 0 ? void 0 : inventory.batchIdRef,
|
|
141
|
-
cartonId: inventory === null || inventory === void 0 ? void 0 : inventory.cartonId,
|
|
142
|
-
manufactureYear: inventory === null || inventory === void 0 ? void 0 : inventory.manufactureYear,
|
|
143
|
-
packingSize: inventory === null || inventory === void 0 ? void 0 : inventory.packingSize,
|
|
144
|
-
manufactureDate: inventory === null || inventory === void 0 ? void 0 : inventory.manufactureDate,
|
|
145
|
-
status: inventory.status
|
|
146
|
-
};
|
|
147
|
-
if (!lastInvHistory) {
|
|
148
|
-
res = await invHistoryRepo
|
|
149
|
-
.createQueryBuilder()
|
|
150
|
-
.insert()
|
|
151
|
-
.into(service_1.InventoryHistory)
|
|
152
|
-
.values([
|
|
153
|
-
Object.assign(Object.assign({}, inventoryHistoryFields), { name: utils_1.InventoryNoGenerator.inventoryHistoryName(), status: inventory.status, transactionType,
|
|
154
|
-
qty, openingQty: 0, uomValue, openingUomValue: 0, seq: 0 })
|
|
155
|
-
])
|
|
156
|
-
.returning('*')
|
|
157
|
-
.execute();
|
|
116
|
+
let seq = 0;
|
|
117
|
+
let openingQty = 0;
|
|
118
|
+
let openingUomValue = 0;
|
|
119
|
+
if (lastInvHistory) {
|
|
120
|
+
openingQty = lastInvHistory.openingQty + lastInvHistory.qty;
|
|
121
|
+
openingUomValue = lastInvHistory.openingUomValue + lastInvHistory.uomValue;
|
|
122
|
+
seq = lastInvHistory.seq + 1;
|
|
158
123
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
qty -= prevTotalQty;
|
|
174
|
-
uomValue -= prevTotalUomValue;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
res = await invHistoryRepo
|
|
178
|
-
.createQueryBuilder()
|
|
179
|
-
.insert()
|
|
180
|
-
.into(service_1.InventoryHistory)
|
|
181
|
-
.values([
|
|
182
|
-
Object.assign(Object.assign({}, inventoryHistoryFields), { name: utils_1.InventoryNoGenerator.inventoryHistoryName(), transactionType,
|
|
183
|
-
qty, openingQty: () => `(select opening_qty from inventory_histories where pallet_id = '${inventory.palletId}' and domain_id = '${domain.id}' order by seq desc limit 1) + (select qty from inventory_histories where pallet_id = '${inventory.palletId}' and domain_id = '${domain.id}' order by seq desc limit 1)`, uomValue, openingUomValue: () => `(select opening_uom_value from inventory_histories where pallet_id = '${inventory.palletId}' and domain_id = '${domain.id}' order by seq desc limit 1) + ${uomValue}`, seq: () => `(select seq from inventory_histories where pallet_id = '${inventory.palletId}' and domain_id = '${domain.id}' order by seq desc limit 1) + 1` })
|
|
184
|
-
])
|
|
185
|
-
.returning('*')
|
|
186
|
-
.execute();
|
|
187
|
-
}
|
|
188
|
-
let newInventoryHistory = res.generatedMaps[0];
|
|
189
|
-
lastSeq = newInventoryHistory.seq;
|
|
190
|
-
if (newInventoryHistory.openingQty + qty == 0 && transactionType != 'UNDO_UNLOADING') {
|
|
191
|
-
let terminatedRes = await invHistoryRepo
|
|
192
|
-
.createQueryBuilder()
|
|
193
|
-
.insert()
|
|
194
|
-
.into(service_1.InventoryHistory)
|
|
195
|
-
.values([
|
|
196
|
-
Object.assign(Object.assign({}, inventoryHistoryFields), { name: utils_1.InventoryNoGenerator.inventoryHistoryName(), status: constants_1.INVENTORY_STATUS.TERMINATED, transactionType: constants_1.INVENTORY_TRANSACTION_TYPE.TERMINATED, qty: 0, openingQty: 0, uomValue: 0, openingUomValue: 0, seq: () => `(select seq from inventory_histories where inventory_id = '${inventory.id}' order by seq desc limit 1) + 1` })
|
|
197
|
-
])
|
|
198
|
-
.returning('seq')
|
|
199
|
-
.execute();
|
|
200
|
-
lastSeq = terminatedRes.generatedMaps[0].seq;
|
|
124
|
+
let remainQty = (openingQty || 0) + (qty || 0);
|
|
125
|
+
let inventoryHistory = new service_1.InventoryHistory();
|
|
126
|
+
inventoryHistory = Object.assign(Object.assign({}, inventory), { name: utils_1.InventoryNoGenerator.inventoryHistoryName(), inventory, seq: seq, status: remainQty == 0 ? constants_1.INVENTORY_STATUS.TERMINATED : inventory.status, transactionType, refOrderId: (refOrder === null || refOrder === void 0 ? void 0 : refOrder.id) || null, orderNo: (refOrder === null || refOrder === void 0 ? void 0 : refOrder.name) || null, orderRefNo: (refOrder === null || refOrder === void 0 ? void 0 : refOrder.refNo) || null, qty,
|
|
127
|
+
openingQty,
|
|
128
|
+
uomValue, openingUomValue: openingUomValue, creator: user, updater: user });
|
|
129
|
+
delete inventoryHistory.updatedAt;
|
|
130
|
+
delete inventoryHistory.createdAt;
|
|
131
|
+
delete inventoryHistory.id;
|
|
132
|
+
let newInventoryHistory = await invHistoryRepo.save(inventoryHistory);
|
|
133
|
+
if (remainQty == 0) {
|
|
134
|
+
seq = seq + 1;
|
|
135
|
+
let terminatedHistory = Object.assign(Object.assign({}, newInventoryHistory), { name: utils_1.InventoryNoGenerator.inventoryHistoryName(), seq: seq, status: constants_1.INVENTORY_STATUS.TERMINATED, transactionType: constants_1.INVENTORY_TRANSACTION_TYPE.TERMINATED, uom: inventory.uom, qty: 0, openingQty: 0, uomValue: 0, openingUomValue: 0 });
|
|
136
|
+
delete terminatedHistory.id;
|
|
137
|
+
newInventoryHistory = await invHistoryRepo.save(terminatedHistory);
|
|
201
138
|
inventory.status = constants_1.INVENTORY_STATUS.TERMINATED;
|
|
202
139
|
}
|
|
203
|
-
|
|
140
|
+
if (inventory.lastSeq !== seq) {
|
|
141
|
+
await invRepo.update(inventory.id, { lastSeq: newInventoryHistory.seq, updater: user });
|
|
142
|
+
}
|
|
204
143
|
await switchLocationStatus(domain, location, user, trxMgr);
|
|
205
144
|
return newInventoryHistory;
|
|
206
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory-util.js","sourceRoot":"","sources":["../../server/utils/inventory-util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inventory-util.js","sourceRoot":"","sources":["../../server/utils/inventory-util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/warehouse-base",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.119",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
"migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@things-factory/biz-base": "^4.3.
|
|
28
|
-
"@things-factory/id-rule-base": "^4.3.
|
|
29
|
-
"@things-factory/integration-sellercraft": "^4.3.
|
|
30
|
-
"@things-factory/marketplace-base": "^4.3.
|
|
31
|
-
"@things-factory/product-base": "^4.3.
|
|
32
|
-
"@things-factory/setting-base": "^4.3.
|
|
27
|
+
"@things-factory/biz-base": "^4.3.114",
|
|
28
|
+
"@things-factory/id-rule-base": "^4.3.114",
|
|
29
|
+
"@things-factory/integration-sellercraft": "^4.3.114",
|
|
30
|
+
"@things-factory/marketplace-base": "^4.3.119",
|
|
31
|
+
"@things-factory/product-base": "^4.3.114",
|
|
32
|
+
"@things-factory/setting-base": "^4.3.114"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "ddaadde331a4640ee9c933fc7f399e24d49d6823"
|
|
35
35
|
}
|
|
@@ -2,6 +2,7 @@ import { EntityManager } from 'typeorm'
|
|
|
2
2
|
|
|
3
3
|
import { Role, User } from '@things-factory/auth-base'
|
|
4
4
|
import { Bizplace, getDomainUsers } from '@things-factory/biz-base'
|
|
5
|
+
import { sendNotification } from '@things-factory/notification'
|
|
5
6
|
import { ProductDetail } from '@things-factory/product-base'
|
|
6
7
|
import { Domain } from '@things-factory/shell'
|
|
7
8
|
|
|
@@ -66,12 +66,7 @@ export class InventoryQuery {
|
|
|
66
66
|
|
|
67
67
|
qb.leftJoinAndSelect('inventory.bizplace', 'bizplace')
|
|
68
68
|
.leftJoinAndSelect('inventory.product', 'product')
|
|
69
|
-
|
|
70
|
-
.leftJoinAndSelect(
|
|
71
|
-
'product.productDetails',
|
|
72
|
-
'productDetails',
|
|
73
|
-
'productDetails.id = inventory.product_detail_id'
|
|
74
|
-
)
|
|
69
|
+
//.leftJoinAndSelect('product.productDetails', 'productDetail', 'productDetail.product_id = product.id')
|
|
75
70
|
.leftJoinAndSelect('inventory.warehouse', 'warehouse')
|
|
76
71
|
.leftJoinAndSelect('inventory.location', 'location')
|
|
77
72
|
.leftJoinAndSelect('inventory.creator', 'creator')
|
|
@@ -151,12 +146,36 @@ export class InventoryQuery {
|
|
|
151
146
|
qb.offset((page - 1) * limit).limit(limit)
|
|
152
147
|
}
|
|
153
148
|
|
|
154
|
-
let items =
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
149
|
+
let items: any = await qb.getRawMany()
|
|
150
|
+
|
|
151
|
+
items = await Promise.all(
|
|
152
|
+
items.map(async item => {
|
|
153
|
+
let productDetails = await tx.getRepository(ProductDetail).find({ where: { product: item.product_id } })
|
|
154
|
+
let productDetail
|
|
155
|
+
//if more than one productDetail
|
|
156
|
+
if (productDetails.length > 1) {
|
|
157
|
+
productDetail = productDetails.filter(
|
|
158
|
+
(itm: ProductDetail) =>
|
|
159
|
+
itm.packingType == item.inventory_packing_type && itm.packingSize == item.inventory_packing_size
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
//if more than one with same packingType and packingSize
|
|
163
|
+
if (productDetail.length > 1) {
|
|
164
|
+
productDetail = productDetail.find((itm: ProductDetail) => itm.isDefault == true)
|
|
165
|
+
} else {
|
|
166
|
+
productDetail = productDetail[0]
|
|
167
|
+
}
|
|
168
|
+
} else {
|
|
169
|
+
productDetail = productDetails[0]
|
|
170
|
+
}
|
|
171
|
+
item = {
|
|
172
|
+
...new Inventory(item),
|
|
173
|
+
serialNumbers: item.serial_numbers,
|
|
174
|
+
productDetail
|
|
175
|
+
}
|
|
176
|
+
return item
|
|
177
|
+
})
|
|
178
|
+
)
|
|
160
179
|
let total = await qb.getCount()
|
|
161
180
|
|
|
162
181
|
return {
|
|
@@ -579,27 +598,23 @@ export class InventoryQuery {
|
|
|
579
598
|
@Arg('bizplaceName') bizplaceName: string,
|
|
580
599
|
@Ctx() context: any
|
|
581
600
|
): Promise<Boolean> {
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
const bizRepo: Repository<Bizplace> = getRepository(Bizplace)
|
|
601
|
+
const invRepo: Repository<Inventory> = getRepository(Inventory)
|
|
602
|
+
const bizRepo: Repository<Bizplace> = getRepository(Bizplace)
|
|
585
603
|
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
604
|
+
const inventory: Inventory = await invRepo.findOne({
|
|
605
|
+
where: { domain: context.state.domain, palletId, status: INVENTORY_STATUS.STORED },
|
|
606
|
+
relations: ['bizplace']
|
|
607
|
+
})
|
|
590
608
|
|
|
591
|
-
|
|
609
|
+
if (!inventory) throw new Error('This inventory status is not stored.')
|
|
592
610
|
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
611
|
+
const ownerBizplace: Bizplace = await bizRepo.findOne({
|
|
612
|
+
where: { name: bizplaceName }
|
|
613
|
+
})
|
|
596
614
|
|
|
597
|
-
|
|
615
|
+
const foundBizplace: Bizplace = inventory.bizplace
|
|
598
616
|
|
|
599
|
-
|
|
600
|
-
} catch (e) {
|
|
601
|
-
return false
|
|
602
|
-
}
|
|
617
|
+
return Boolean(ownerBizplace.id === foundBizplace.id)
|
|
603
618
|
}
|
|
604
619
|
|
|
605
620
|
@Directive('@privilege(category: "inventory", privilege: "query")')
|
|
@@ -659,7 +674,7 @@ export class InventoryQuery {
|
|
|
659
674
|
|
|
660
675
|
const productBundleSettings: ProductBundleSetting[] = await getRepository(ProductBundleSetting).find({
|
|
661
676
|
where: { productBundle: productBundleId },
|
|
662
|
-
relations: ['product', '
|
|
677
|
+
relations: ['product', 'productBundle']
|
|
663
678
|
})
|
|
664
679
|
|
|
665
680
|
if (!productBundleSettings.length) {
|
|
@@ -670,7 +685,6 @@ export class InventoryQuery {
|
|
|
670
685
|
buildQuery(qb, params, context)
|
|
671
686
|
|
|
672
687
|
qb.select('iv.product_id', 'productId')
|
|
673
|
-
.addSelect('iv.product_detail_id', 'productDetailId')
|
|
674
688
|
.addSelect('iv.batch_id', 'batchId')
|
|
675
689
|
.addSelect('iv.batch_id_ref', 'batchIdRef')
|
|
676
690
|
.addSelect('iv.packing_type', 'packingType')
|
|
@@ -699,7 +713,6 @@ export class InventoryQuery {
|
|
|
699
713
|
productIds: productBundleSettings.map(productBundle => productBundle.product.id)
|
|
700
714
|
})
|
|
701
715
|
.groupBy('iv.product_id')
|
|
702
|
-
.addGroupBy('iv.product_detail_id')
|
|
703
716
|
.addGroupBy('iv.batch_id')
|
|
704
717
|
.addGroupBy('iv.batch_id_ref')
|
|
705
718
|
.addGroupBy('iv.packing_type')
|
|
@@ -728,7 +741,6 @@ export class InventoryQuery {
|
|
|
728
741
|
return {
|
|
729
742
|
id: pbs.id,
|
|
730
743
|
productId: pbs.product.id,
|
|
731
|
-
productDetailId: pbs.productDetail.id,
|
|
732
744
|
bundleId: pbs.productBundle.id,
|
|
733
745
|
bundleQty: pbs.bundleQty,
|
|
734
746
|
releaseQty: bundleReleaseQty * pbs.bundleQty,
|
|
@@ -210,9 +210,6 @@ export class Inventory {
|
|
|
210
210
|
@Field({ nullable: true })
|
|
211
211
|
productId: string
|
|
212
212
|
|
|
213
|
-
@Field({ nullable: true })
|
|
214
|
-
productDetailId: string
|
|
215
|
-
|
|
216
213
|
@Field({ nullable: true })
|
|
217
214
|
productName: string
|
|
218
215
|
|
|
@@ -305,6 +302,7 @@ export class Inventory {
|
|
|
305
302
|
description: obj.bizplace_description
|
|
306
303
|
}
|
|
307
304
|
this.product = new Product(obj)
|
|
305
|
+
this.productDetail = new ProductDetail(obj)
|
|
308
306
|
this.location = new Location(obj)
|
|
309
307
|
this.warehouse = new Warehouse(obj)
|
|
310
308
|
this.name = obj.inventory_name
|
|
@@ -6,7 +6,8 @@ import { Bizplace } from '@things-factory/biz-base'
|
|
|
6
6
|
import { generateId } from '@things-factory/id-rule-base'
|
|
7
7
|
import { MarketplaceStore } from '@things-factory/integration-marketplace'
|
|
8
8
|
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
9
|
-
import {
|
|
9
|
+
import { sendNotification } from '@things-factory/notification'
|
|
10
|
+
import { Product } from '@things-factory/product-base'
|
|
10
11
|
import { PartnerSetting, Setting } from '@things-factory/setting-base'
|
|
11
12
|
import { Domain } from '@things-factory/shell'
|
|
12
13
|
|
|
@@ -202,9 +203,7 @@ export class InventoryChangeMutation {
|
|
|
202
203
|
newRecord.bizplace = await tx.getRepository(Bizplace).findOne(newRecord.bizplace.id)
|
|
203
204
|
|
|
204
205
|
var product: Product = await tx.getRepository(Product).findOne(newRecord.product.id)
|
|
205
|
-
var productDetail: ProductDetail = await tx.getRepository(ProductDetail).findOne(newRecord.productDetailId)
|
|
206
206
|
newRecord.product = product
|
|
207
|
-
newRecord.productDetail = productDetail
|
|
208
207
|
|
|
209
208
|
newRecord.status = 'PENDING'
|
|
210
209
|
newRecord.transactionType = 'NEW'
|
|
@@ -531,7 +530,6 @@ async function upsertInventoryItems(context, inventoryChange, approvalStatus, tx
|
|
|
531
530
|
inventoryItem.serialNumber = inventoryItemChange.serialNumber
|
|
532
531
|
inventoryItem.status = INVENTORY_STATUS.STORED
|
|
533
532
|
inventoryItem.product = inventoryChange.inventory.product
|
|
534
|
-
inventoryItem.productDetail = inventoryChange.inventory.productDetail
|
|
535
533
|
inventoryItem.domain = inventoryItemChange.domain
|
|
536
534
|
inventoryItem.inventory = inventoryChange.inventory
|
|
537
535
|
inventoryItem.source = INVENTORY_ITEM_SOURCE.ADJUSTMENT
|
|
@@ -551,8 +549,7 @@ async function upsertInventoryItems(context, inventoryChange, approvalStatus, tx
|
|
|
551
549
|
inventoryItem = {
|
|
552
550
|
...existingInventoryItem,
|
|
553
551
|
serialNumber: inventoryItemChange.serialNumber,
|
|
554
|
-
product: inventoryItemChange.inventory.product
|
|
555
|
-
productDetail: inventoryItemChange.inventory.productDetail
|
|
552
|
+
product: inventoryItemChange.inventory.product
|
|
556
553
|
}
|
|
557
554
|
} else if (changeType == INVENTORY_ITEM_CHANGE_TYPE.REMOVED) {
|
|
558
555
|
inventoryItem = {
|
|
@@ -589,7 +586,6 @@ export async function approveInventoryChanges(patches: any, context: any) {
|
|
|
589
586
|
'bizplace.company',
|
|
590
587
|
'bizplace.company.domain',
|
|
591
588
|
'product',
|
|
592
|
-
'productDetail',
|
|
593
589
|
'product.productDetails',
|
|
594
590
|
'product.productDetails.childProductDetail',
|
|
595
591
|
'location'
|
|
@@ -625,7 +621,6 @@ export async function approveInventoryChanges(patches: any, context: any) {
|
|
|
625
621
|
'bizplace.company',
|
|
626
622
|
'bizplace.company.domain',
|
|
627
623
|
'product',
|
|
628
|
-
'productDetail',
|
|
629
624
|
'product.productDetails',
|
|
630
625
|
'product.productDetails.childProductDetail',
|
|
631
626
|
'warehouse',
|
|
@@ -635,6 +630,8 @@ export async function approveInventoryChanges(patches: any, context: any) {
|
|
|
635
630
|
]
|
|
636
631
|
})
|
|
637
632
|
|
|
633
|
+
const customerDomain: Domain = inventory.bizplace.domain
|
|
634
|
+
|
|
638
635
|
// Check for locked inventory, and stop from udpating inventory
|
|
639
636
|
if (inventory.qty < inventory.lockedQty) {
|
|
640
637
|
arrLockedInventory.push(_inventoryChanges[i])
|
|
@@ -794,6 +791,8 @@ export async function approveInventoryChanges(patches: any, context: any) {
|
|
|
794
791
|
} else {
|
|
795
792
|
statusFilter = (newRecord.qty != null ? newRecord.qty : inventory.qty) > 0 ? 'STORED' : 'TERMINATED'
|
|
796
793
|
}
|
|
794
|
+
|
|
795
|
+
delete newRecord.createdAt
|
|
797
796
|
await tx.getRepository(Inventory).save({
|
|
798
797
|
...inventory,
|
|
799
798
|
...newRecord,
|
|
@@ -1425,7 +1425,7 @@ export class InventoryHistoryQuery {
|
|
|
1425
1425
|
rih.bizplace_id as bizplace_id,
|
|
1426
1426
|
cast(rih.created_at + (interval '8 hour') as DATE) as "tempDate"
|
|
1427
1427
|
from reduced_inventory_histories rih
|
|
1428
|
-
left join product_details pd on pd.
|
|
1428
|
+
left join product_details pd on pd.product_id = rih.product_id and pd.packing_type = rih.packing_type
|
|
1429
1429
|
where rih.status not like 'TERMINATED' and rih.bizplace_id = $1
|
|
1430
1430
|
group by CAST(rih.created_at + (interval '8 hour') as DATE), rih.bizplace_id
|
|
1431
1431
|
)
|
|
@@ -1465,8 +1465,8 @@ export class InventoryHistoryQuery {
|
|
|
1465
1465
|
await tx.query(
|
|
1466
1466
|
`
|
|
1467
1467
|
create temp table temp_result ON COMMIT drop as(
|
|
1468
|
-
select lag(sub."closingQty", 1, 0
|
|
1469
|
-
lag(sub."closingVolume", 1, 0
|
|
1468
|
+
select lag(sub."closingQty", 1, 0) over (partition by sub.bizplace_id order by sub.date) as "openingQty",
|
|
1469
|
+
lag(sub."closingVolume", 1, 0) over (partition by sub.bizplace_id order by sub.date) as "openingVolume", sub.* from(
|
|
1470
1470
|
select (select sum(tmp2.total) from temp_reduced_inventory_histories_with_date_range tmp2 where tmp2.row <= tmp.row) as "closingQty",
|
|
1471
1471
|
(select sum(tmp2."totalVolume") from temp_reduced_inventory_histories_with_date_range tmp2 where tmp2.row <= tmp.row) as "closingVolume", tmp.* from
|
|
1472
1472
|
temp_reduced_inventory_histories_with_date_range tmp) sub
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from 'typeorm'
|
|
12
12
|
|
|
13
13
|
import { User } from '@things-factory/auth-base'
|
|
14
|
-
import { Product
|
|
14
|
+
import { Product } from '@things-factory/product-base'
|
|
15
15
|
import { Domain } from '@things-factory/shell'
|
|
16
16
|
|
|
17
17
|
import { Inventory } from '../inventory/inventory'
|
|
@@ -32,8 +32,7 @@ export class InventoryItem {
|
|
|
32
32
|
|
|
33
33
|
@RelationId((inventoryItem: InventoryItem) => inventoryItem.domain)
|
|
34
34
|
domainId?: string
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
|
|
37
36
|
@Column()
|
|
38
37
|
@Field()
|
|
39
38
|
name: string
|
|
@@ -58,19 +57,13 @@ export class InventoryItem {
|
|
|
58
57
|
@Field({ nullable: true })
|
|
59
58
|
outboundOrderId: string
|
|
60
59
|
|
|
61
|
-
|
|
62
60
|
@ManyToOne(type => Product)
|
|
63
61
|
@Field(type => Product, { nullable: true })
|
|
64
62
|
product?: Product
|
|
65
63
|
|
|
66
|
-
|
|
67
64
|
@RelationId((inventoryItem: InventoryItem) => inventoryItem.product)
|
|
68
65
|
productId?: string
|
|
69
66
|
|
|
70
|
-
@ManyToOne(type => ProductDetail, { nullable: true })
|
|
71
|
-
@Field({ nullable: true })
|
|
72
|
-
productDetail: ProductDetail
|
|
73
|
-
|
|
74
67
|
@ManyToOne(type => Inventory)
|
|
75
68
|
@Field(type => Inventory)
|
|
76
69
|
inventory?: Inventory
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from 'typeorm'
|
|
12
12
|
|
|
13
13
|
import { User } from '@things-factory/auth-base'
|
|
14
|
-
import { Product
|
|
14
|
+
import { Product } from '@things-factory/product-base'
|
|
15
15
|
import { Domain } from '@things-factory/shell'
|
|
16
16
|
|
|
17
17
|
@Entity()
|
|
@@ -60,10 +60,6 @@ export class InventoryProduct {
|
|
|
60
60
|
@RelationId((inventoryProduct: InventoryProduct) => inventoryProduct.product)
|
|
61
61
|
productId?: string
|
|
62
62
|
|
|
63
|
-
@ManyToOne(type => ProductDetail, { nullable: true })
|
|
64
|
-
@Field({ nullable: true })
|
|
65
|
-
productDetail: ProductDetail
|
|
66
|
-
|
|
67
63
|
@CreateDateColumn()
|
|
68
64
|
@Field({ nullable: true })
|
|
69
65
|
createdAt?: Date
|
|
@@ -77,12 +77,10 @@ export class LocationMutation {
|
|
|
77
77
|
@Mutation(returns => Boolean)
|
|
78
78
|
async deleteAllLocations(@Arg('warehouseId') warehouseId: string, @Ctx() context: any) {
|
|
79
79
|
const { tx }: { tx: EntityManager } = context.state
|
|
80
|
-
let warehouse = await tx.getRepository(Warehouse).findOne(warehouseId)
|
|
81
80
|
|
|
82
81
|
await tx.getRepository(Location).delete({
|
|
83
|
-
warehouse
|
|
82
|
+
warehouse: await tx.getRepository(Warehouse).findOne(warehouseId)
|
|
84
83
|
})
|
|
85
|
-
return true
|
|
86
84
|
}
|
|
87
85
|
}
|
|
88
86
|
|