@things-factory/warehouse-base 4.3.113-alpha.0 → 4.3.114

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist-server/controllers/warehouse-controller.js.map +1 -1
  2. package/dist-server/service/inventory/inventory-query.js +36 -27
  3. package/dist-server/service/inventory/inventory-query.js.map +1 -1
  4. package/dist-server/service/inventory/inventory-types.js +12 -16
  5. package/dist-server/service/inventory/inventory-types.js.map +1 -1
  6. package/dist-server/service/inventory/inventory.js +1 -4
  7. package/dist-server/service/inventory/inventory.js.map +1 -1
  8. package/dist-server/service/inventory-change/inventory-change-mutation.js +3 -6
  9. package/dist-server/service/inventory-change/inventory-change-mutation.js.map +1 -1
  10. package/dist-server/service/inventory-history/inventory-history-query.js +3 -3
  11. package/dist-server/service/inventory-item/inventory-item.js +3 -8
  12. package/dist-server/service/inventory-item/inventory-item.js.map +1 -1
  13. package/dist-server/service/inventory-product/inventory-product.js +3 -8
  14. package/dist-server/service/inventory-product/inventory-product.js.map +1 -1
  15. package/dist-server/service/location/location-mutation.js +1 -3
  16. package/dist-server/service/location/location-mutation.js.map +1 -1
  17. package/dist-server/service/pallet/pallet-mutation.js +33 -35
  18. package/dist-server/service/pallet/pallet-mutation.js.map +1 -1
  19. package/dist-server/service/tote/tote-mutation.js +1 -1
  20. package/dist-server/service/tote/tote-mutation.js.map +1 -1
  21. package/dist-server/service/tote/tote-query.js +5 -7
  22. package/dist-server/service/tote/tote-query.js.map +1 -1
  23. package/dist-server/service/warehouse/warehouse-mutation.js +1 -33
  24. package/dist-server/service/warehouse/warehouse-mutation.js.map +1 -1
  25. package/dist-server/utils/inventory-util.js +25 -86
  26. package/dist-server/utils/inventory-util.js.map +1 -1
  27. package/package.json +8 -8
  28. package/server/controllers/warehouse-controller.ts +1 -0
  29. package/server/service/inventory/inventory-query.ts +44 -32
  30. package/server/service/inventory/inventory-types.ts +0 -3
  31. package/server/service/inventory/inventory.ts +1 -3
  32. package/server/service/inventory-change/inventory-change-mutation.ts +7 -8
  33. package/server/service/inventory-history/inventory-history-query.ts +3 -3
  34. package/server/service/inventory-item/inventory-item.ts +2 -9
  35. package/server/service/inventory-product/inventory-product.ts +1 -5
  36. package/server/service/location/location-mutation.ts +1 -3
  37. package/server/service/pallet/pallet-mutation.ts +69 -50
  38. package/server/service/tote/tote-mutation.ts +1 -1
  39. package/server/service/tote/tote-query.ts +7 -9
  40. package/server/service/warehouse/warehouse-mutation.ts +2 -41
  41. package/server/utils/inventory-util.ts +51 -116
  42. package/translations/en.json +2 -4
  43. package/translations/ko.json +2 -4
  44. package/translations/ms.json +2 -4
  45. 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 => Boolean),
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":"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"}
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', 'productDetail']
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 lastSeq;
117
- let res;
118
- let inventoryHistoryFields = {
119
- refOrderId: (refOrder === null || refOrder === void 0 ? void 0 : refOrder.id) || null,
120
- orderNo: (refOrder === null || refOrder === void 0 ? void 0 : refOrder.name) || null,
121
- orderRefNo: (refOrder === null || refOrder === void 0 ? void 0 : refOrder.refNo) || null,
122
- uom: inventory === null || inventory === void 0 ? void 0 : inventory.uom,
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
- else {
160
- if (transactionType == 'PICKING' || transactionType == 'UNLOADING') {
161
- const findSameOrderHistory = await invHistoryRepo.find({
162
- domain: inventory.domain,
163
- palletId: inventory.palletId,
164
- refOrderId: refOrder.id
165
- });
166
- if (findSameOrderHistory.length > 0) {
167
- let prevTotalQty = 0;
168
- let prevTotalUomValue = 0;
169
- for (let oh of findSameOrderHistory) {
170
- prevTotalQty += oh.qty;
171
- prevTotalUomValue += oh.uomValue;
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
- await invRepo.update(inventory.id, { lastSeq, updater: user });
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":";;;AAAA,qCAAkE;AAIlE,+DAAsD;AAGtD,4CAA2G;AAC3G,wCAAkE;AAClE,oCAA+C;AAE/C,MAAa,aAAa;IAKxB,YAAY,MAAqB,EAAE,MAAc,EAAE,IAAU;QAM7C,cAAS,GAAG;YAC1B,IAAI,EAAE;gBACJ,SAAS,EAAE,CAAC,SAAc,EAAE,EAAE,CAAC,6CAA6C,SAAS,EAAE;gBACvF,eAAe,EAAE,CAAC,SAAc,EAAE,EAAE,CAAC,kDAAkD,SAAS,EAAE;gBAClG,SAAS,EAAE,CAAC,MAAW,EAAE,MAAW,EAAE,EAAE,CAAC,2BAA2B,MAAM,UAAU,MAAM,EAAE;aAC7F;YACD,UAAU,EAAE;gBACV,kBAAkB,EAAE,CAAC,SAAc,EAAE,UAAe,EAAE,EAAE,CACtD,qBAAqB,SAAS,KAAK,UAAU,4BAA4B;gBAC3E,UAAU,EAAE,CAAC,SAAc,EAAE,UAAe,EAAE,UAAe,EAAE,EAAE,CAC/D,kCAAkC,SAAS,KAAK,UAAU,KAAK,UAAU,GAAG;aAC/E;YACD,OAAO,EAAE;gBACP,kBAAkB,EAAE,CAAC,SAAc,EAAE,UAAe,EAAE,EAAE,CACtD,sEAAsE,SAAS,KAAK,UAAU,GAAG;gBACnG,iBAAiB,EAAE,CAAC,SAAc,EAAE,UAAe,EAAE,UAAe,EAAE,EAAE,CACtE,qBAAqB,SAAS,SAAS,UAAU,IAAI,UAAU,6BAA6B;aAC/F;YACD,MAAM,EAAE;gBACN,SAAS,EAAE,uBAAuB;gBAClC,aAAa,EAAE,+BAA+B;gBAC9C,aAAa,EAAE,+BAA+B;aAC/C;YACD,MAAM,EAAE;gBACN,aAAa,EAAE,wBAAwB;gBACvC,aAAa,EAAE,+BAA+B;aAC/C;YACD,QAAQ,EAAE;gBACR,sBAAsB,EAAE,CAAC,KAAa,EAAE,aAAkB,EAAE,WAAgB,EAAE,EAAE,CAC9E,YAAY,KAAK,aAAa,aAAa,YAAY,WAAW,EAAE;gBACtE,UAAU,EAAE,CAAC,KAAa,EAAE,KAAU,EAAE,EAAE,CAAC,uBAAuB,KAAK,WAAW,KAAK,GAAG;gBAC1F,oBAAoB,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE,CAAC,oBAAoB,IAAI,YAAY,MAAM,EAAE;aACrG;SACF,CAAA;QAtCC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAqCD,KAAK,CAAC,eAAe,CAAC,SAA6B;QACjD,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACpC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,SAA6B;QACjD,IAAI,CAAC,SAAS,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACvE,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACpC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CACxB,SAAoB,EACpB,QAAa,EACb,UAAkB,EAClB,UAAkB,EAClB,eAAuB;QAEvB,IAAI,SAAS,CAAC,EAAE,EAAE;YAChB,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;SAClD;aAAM;YACL,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;SAClD;QAED,MAAM,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEpH,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,MAA2B;QAClC,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC/C,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAC7D,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAE/C,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAnGD,sCAmGC;AAED;;;GAGG;AACI,KAAK,UAAU,wBAAwB,CAC5C,SAAoB,EACpB,QAAa,EACb,eAAuB,EACvB,GAAW,EACX,QAAgB,EAChB,IAAU,EACV,MAAsB;IAEtB,MAAM,cAAc,GAClB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,0BAAgB,CAAC,KAAI,IAAA,uBAAa,EAAC,0BAAgB,CAAC,CAAA;IAC5E,MAAM,OAAO,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,mBAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,mBAAS,CAAC,CAAA;IAEnG,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAA;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IAEtE,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;QAChC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE;QAC3B,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC;KACvF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAW,SAAS,CAAC,MAAM,CAAA;IACvC,MAAM,QAAQ,GAAa,SAAS,CAAC,QAAQ,CAAA;IAE7C,MAAM,cAAc,GAAqB,MAAM,cAAc,CAAC,OAAO,CAAC;QACpE,KAAK,EAAE;YACL,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;SAC7B;QACD,KAAK,EAAE;YACL,GAAG,EAAE,MAAM;SACZ;KACF,CAAC,CAAA;IAEF,IAAI,OAAe,CAAA;IACnB,IAAI,GAAQ,CAAA;IACZ,IAAI,sBAAsB,GAAQ;QAChC,UAAU,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,KAAI,IAAI;QAChC,OAAO,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,KAAI,IAAI;QAC/B,UAAU,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,KAAI,IAAI;QACnC,GAAG,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG;QAEnB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM;QACzB,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;QAC7B,cAAc,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc;QACzC,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO;QAC3B,aAAa,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa;QACvC,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS;QAC/B,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;QAE7B,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;QAC7B,OAAO,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO;QAC3B,IAAI,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI;QACrB,WAAW,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW;QACnC,WAAW,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW;QACnC,cAAc,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc;QACzC,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;QAC7B,UAAU,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU;QACjC,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;QAC7B,eAAe,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,eAAe;QAC3C,WAAW,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW;QACnC,eAAe,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,eAAe;QAC3C,MAAM,EAAE,SAAS,CAAC,MAAM;KACzB,CAAA;IAED,IAAI,CAAC,cAAc,EAAE;QACnB,GAAG,GAAG,MAAM,cAAc;aACvB,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,IAAI,CAAC,0BAAgB,CAAC;aACtB,MAAM,CAAC;4CAED,sBAAsB,KACzB,IAAI,EAAE,4BAAoB,CAAC,oBAAoB,EAAE,EACjD,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,eAAe;gBACf,GAAG,EACH,UAAU,EAAE,CAAC,EACb,QAAQ,EACR,eAAe,EAAE,CAAC,EAClB,GAAG,EAAE,CAAC;SAET,CAAC;aACD,SAAS,CAAC,GAAG,CAAC;aACd,OAAO,EAAE,CAAA;KACb;SAAM;QACL,IAAI,eAAe,IAAI,SAAS,IAAI,eAAe,IAAI,WAAW,EAAE;YAClE,MAAM,oBAAoB,GAAuB,MAAM,cAAc,CAAC,IAAI,CAAC;gBACzE,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,UAAU,EAAE,QAAQ,CAAC,EAAE;aACxB,CAAC,CAAA;YAEF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,IAAI,YAAY,GAAG,CAAC,CAAA;gBACpB,IAAI,iBAAiB,GAAG,CAAC,CAAA;gBACzB,KAAK,IAAI,EAAE,IAAI,oBAAoB,EAAE;oBACnC,YAAY,IAAI,EAAE,CAAC,GAAG,CAAA;oBACtB,iBAAiB,IAAI,EAAE,CAAC,QAAQ,CAAA;iBACjC;gBACD,GAAG,IAAI,YAAY,CAAA;gBACnB,QAAQ,IAAI,iBAAiB,CAAA;aAC9B;SACF;QAED,GAAG,GAAG,MAAM,cAAc;aACvB,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,IAAI,CAAC,0BAAgB,CAAC;aACtB,MAAM,CAAC;4CAED,sBAAsB,KACzB,IAAI,EAAE,4BAAoB,CAAC,oBAAoB,EAAE,EACjD,eAAe;gBACf,GAAG,EACH,UAAU,EAAE,GAAG,EAAE,CACf,mEAAmE,SAAS,CAAC,QAAQ,sBAAsB,MAAM,CAAC,EAAE,0FAA0F,SAAS,CAAC,QAAQ,sBAAsB,MAAM,CAAC,EAAE,8BAA8B,EAC/R,QAAQ,EACR,eAAe,EAAE,GAAG,EAAE,CACpB,yEAAyE,SAAS,CAAC,QAAQ,sBAAsB,MAAM,CAAC,EAAE,kCAAkC,QAAQ,EAAE,EACxK,GAAG,EAAE,GAAG,EAAE,CACR,2DAA2D,SAAS,CAAC,QAAQ,sBAAsB,MAAM,CAAC,EAAE,kCAAkC;SAEnJ,CAAC;aACD,SAAS,CAAC,GAAG,CAAC;aACd,OAAO,EAAE,CAAA;KACb;IAED,IAAI,mBAAmB,GAAqB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IAChE,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAA;IAEjC,IAAI,mBAAmB,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,IAAI,eAAe,IAAI,gBAAgB,EAAE;QACpF,IAAI,aAAa,GAAG,MAAM,cAAc;aACrC,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,IAAI,CAAC,0BAAgB,CAAC;aACtB,MAAM,CAAC;4CAED,sBAAsB,KACzB,IAAI,EAAE,4BAAoB,CAAC,oBAAoB,EAAE,EACjD,MAAM,EAAE,4BAAgB,CAAC,UAAU,EACnC,eAAe,EAAE,sCAA0B,CAAC,UAAU,EACtD,GAAG,EAAE,CAAC,EACN,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,eAAe,EAAE,CAAC,EAClB,GAAG,EAAE,GAAG,EAAE,CACR,8DAA8D,SAAS,CAAC,EAAE,kCAAkC;SAEjH,CAAC;aACD,SAAS,CAAC,KAAK,CAAC;aAChB,OAAO,EAAE,CAAA;QAEZ,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAC5C,SAAS,CAAC,MAAM,GAAG,4BAAgB,CAAC,UAAU,CAAA;KAC/C;IAED,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAE9D,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAC1D,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAnKD,4DAmKC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,QAAkB,EAClB,OAAa,EACb,MAAsB;IAEtB,MAAM,OAAO,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,mBAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,mBAAS,CAAC,CAAA;IACnG,MAAM,YAAY,GAAyB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,kBAAQ,CAAC,KAAI,IAAA,uBAAa,EAAC,kBAAQ,CAAC,CAAA;IACrG,MAAM,iBAAiB,GAAW,MAAM,OAAO,CAAC,KAAK,CAAC;QACpD,MAAM;QACN,MAAM,EAAE,4BAAgB,CAAC,MAAM;QAC/B,QAAQ;KACT,CAAC,CAAA;IAEF,IAAI,CAAC,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,2BAAe,CAAC,KAAK,EAAE;QACnE,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,iCAC7B,QAAQ,KACX,MAAM,EAAE,2BAAe,CAAC,KAAK,EAC7B,OAAO,IACP,CAAA;KACH;SAAM,IAAI,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,2BAAe,CAAC,KAAK,EAAE;QACzE,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,iCAC7B,QAAQ,KACX,MAAM,EAAE,2BAAe,CAAC,QAAQ,EAChC,OAAO,IACP,CAAA;KACH;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AA7BD,oDA6BC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,QAAkB,EAClB,QAAgB,EAChB,MAAsB;IAEtB,MAAM,OAAO,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,mBAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,mBAAS,CAAC,CAAA;IACnG,MAAM,mBAAmB,GAAW,MAAM,OAAO,CAAC,KAAK,CAAC;QACtD,MAAM;QACN,QAAQ;QACR,QAAQ;KACT,CAAC,CAAA;IAEF,OAAO,OAAO,CAAC,mBAAmB,CAAC,CAAA;AACrC,CAAC;AAdD,wDAcC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,wBAAwB,CAC5C,MAAc,EACd,QAAkB,EAClB,QAAgB,EAChB,OAAe,EACf,OAAyB,EACzB,WAAmB,EACnB,MAAsB;;IAEtB,MAAM,WAAW,GAAwB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,sBAAO,CAAC,KAAI,IAAA,uBAAa,EAAC,sBAAO,CAAC,CAAA;IACjG,MAAM,OAAO,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,mBAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,mBAAS,CAAC,CAAA;IAEnG,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,MAAM,YAAY,GAAY,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAChE,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAA;QAC5E,OAAO,GAAG,YAAY,CAAA;KACvB;IAED,MAAM,GAAG,GAAc,MAAM,OAAO,CAAC,OAAO,CAAC;QAC3C,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;QACrC,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB,CAAC,CAAA;IAEF,IAAI,OAAO,KAAK,GAAG,CAAC,OAAO;QAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,gCAAgC,OAAO,EAAE,EAAE,CAAA;IAErH,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,OAAK,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,0CAAE,EAAE,CAAA;QAClC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,+BAA+B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAA;IAE9F,IAAI,WAAW,KAAK,GAAG,CAAC,WAAW;QACjC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,oCAAoC,WAAW,EAAE,EAAE,CAAA;IAElG,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;AAChC,CAAC;AAhCD,4DAgCC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,kBAA0B,EAC1B,aAAoB,EACpB,MAAqB;IAErB,IAAI,iBAAiB,GAAG,IAAI,CAAC,SAAS,CACpC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACtB,uCACK,GAAG,KACN,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAC1B,YAAY,EAAE,GAAG,CAAC,WAAW,EAC7B,YAAY,EAAE,GAAG,CAAC,WAAW,EAC7B,GAAG,EAAE,GAAG,CAAC,GAAG,IACb;IACH,CAAC,CAAC,IAAI,EAAE,CACT,CAAA;IAED,MAAM,MAAM,GAAU,MAAM,MAAM,CAAC,KAAK,CACtC;;;;;;;;+DAQ2D,iBAAiB;;;;;;;;;;;;;KAa3E,EACD,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CACnC,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AA7CD,8DA6CC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,wBAAwB,CAC5C,QAAgB,EAChB,UAAkB,EAClB,WAAmB,EACnB,aAAoB,EACpB,oBAA2B,EAC3B,MAAqB;IAErB,IAAI,iBAAiB,GAAW,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;IAC7D,IAAI,eAAe,GAAW,CAAC,oBAAoB,IAAI,EAAE,CAAC;SACvD,GAAG,CAAC,CAAC,IAA0C,EAAE,EAAE;QAClD,OAAO,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACxD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,IAAI,eAAe,KAAK,EAAE;QAAE,eAAe,GAAG,QAAQ,CAAA;IAEtD,MAAM,MAAM,CAAC,KAAK,CAChB;;;;;;;;;;;GAWD,CACA,CAAA;IAED,MAAM,MAAM,CAAC,KAAK,CAChB;;;;GAID,EACC,CAAC,iBAAiB,CAAC,CACpB,CAAA;IAED,MAAM,MAAM,CAAC,KAAK,CAChB;;;;;;;;;;GAUD,EACC,CAAC,UAAU,EAAE,WAAW,CAAC,CAC1B,CAAA;IAED,kBAAkB;IAClB,IAAI,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CAClC;;;;;;;;;;;;;;;;;;UAkBM,eAAe;;;;;;;;;;;;;;GActB,EACC,CAAC,yBAAa,CAAC,UAAU,EAAE,yBAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,4BAAgB,CAAC,MAAM,CAAC,CACjG,CAAA;IAED,MAAM,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAElD,OAAO,WAAW,CAAA;AACpB,CAAC;AAjGD,4DAiGC"}
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.113-alpha.0",
3
+ "version": "4.3.114",
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.113-alpha.0",
28
- "@things-factory/id-rule-base": "^4.3.113-alpha.0",
29
- "@things-factory/integration-sellercraft": "^4.3.113-alpha.0",
30
- "@things-factory/marketplace-base": "^4.3.113-alpha.0",
31
- "@things-factory/product-base": "^4.3.113-alpha.0",
32
- "@things-factory/setting-base": "^4.3.113-alpha.0"
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.114",
31
+ "@things-factory/product-base": "^4.3.114",
32
+ "@things-factory/setting-base": "^4.3.114"
33
33
  },
34
- "gitHead": "3dd2e6f58cc2828ab5e2658d3fa47120165c802b"
34
+ "gitHead": "6f16bd9dfb3210e848e5118d894424972ed83773"
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
- .leftJoinAndSelect('inventory.productDetail', 'productDetail')
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 = (await qb.getRawMany()).map(item => {
155
- return {
156
- ...new Inventory(item),
157
- serialNumbers: item.serial_numbers
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
- try {
583
- const invRepo: Repository<Inventory> = getRepository(Inventory)
584
- const bizRepo: Repository<Bizplace> = getRepository(Bizplace)
601
+ const invRepo: Repository<Inventory> = getRepository(Inventory)
602
+ const bizRepo: Repository<Bizplace> = getRepository(Bizplace)
585
603
 
586
- const inventory: Inventory = await invRepo.findOne({
587
- where: { domain: context.state.domain, palletId, status: INVENTORY_STATUS.STORED },
588
- relations: ['bizplace']
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
- if (!inventory) throw new Error('This inventory status is not stored.')
609
+ if (!inventory) throw new Error('This inventory status is not stored.')
592
610
 
593
- const ownerBizplace: Bizplace = await bizRepo.findOne({
594
- where: { name: bizplaceName }
595
- })
611
+ const ownerBizplace: Bizplace = await bizRepo.findOne({
612
+ where: { name: bizplaceName }
613
+ })
596
614
 
597
- const foundBizplace: Bizplace = inventory.bizplace
615
+ const foundBizplace: Bizplace = inventory.bizplace
598
616
 
599
- return Boolean(ownerBizplace.id === foundBizplace.id)
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', 'productDetail', 'productBundle']
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,
@@ -47,9 +47,6 @@ export class InventoryPatch {
47
47
  @Field(type => ObjectRef, { nullable: true })
48
48
  product?: ObjectRef
49
49
 
50
- @Field(type => ObjectRef, { nullable: true })
51
- productDetail?: ObjectRef
52
-
53
50
  @Field({ nullable: true })
54
51
  sku?: string
55
52
 
@@ -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 { Product, ProductDetail } from '@things-factory/product-base'
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.id = rih.product_detail_id
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::double precision) over (partition by sub.bizplace_id order by sub.date) as "openingQty",
1469
- lag(sub."closingVolume", 1, 0::numeric) over (partition by sub.bizplace_id order by sub.date) as "openingVolume", sub.* from(
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, ProductDetail} from '@things-factory/product-base'
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, ProductDetail } from '@things-factory/product-base'
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