@things-factory/warehouse-base 5.0.14 → 6.0.0-alpha.0
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/ecommerce/ecommerce-controller.js +1 -1
- package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
- package/dist-server/controllers/ecommerce/sellercraft-controller.js +64 -60
- package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
- package/dist-server/controllers/warehouse-controller.js +7 -5
- package/dist-server/controllers/warehouse-controller.js.map +1 -1
- package/dist-server/service/inventory/inventory-mutation.js +6 -6
- package/dist-server/service/inventory/inventory-mutation.js.map +1 -1
- package/dist-server/service/inventory/inventory-query.js +217 -195
- package/dist-server/service/inventory/inventory-query.js.map +1 -1
- package/dist-server/service/inventory/inventory-types.js +14 -15
- package/dist-server/service/inventory/inventory-types.js.map +1 -1
- package/dist-server/service/inventory/inventory.js +62 -42
- package/dist-server/service/inventory/inventory.js.map +1 -1
- package/dist-server/service/inventory-change/inventory-change-mutation.js +252 -216
- package/dist-server/service/inventory-change/inventory-change-mutation.js.map +1 -1
- package/dist-server/service/inventory-change/inventory-change-query.js +6 -7
- package/dist-server/service/inventory-change/inventory-change-query.js.map +1 -1
- package/dist-server/service/inventory-change/inventory-change.js +7 -7
- package/dist-server/service/inventory-change/inventory-change.js.map +1 -1
- package/dist-server/service/inventory-history/inventory-history-mutation.js +1 -1
- package/dist-server/service/inventory-history/inventory-history-mutation.js.map +1 -1
- package/dist-server/service/inventory-history/inventory-history-query.js +89 -99
- package/dist-server/service/inventory-history/inventory-history-query.js.map +1 -1
- package/dist-server/service/inventory-history/inventory-history-types.js +3 -3
- package/dist-server/service/inventory-history/inventory-history-types.js.map +1 -1
- package/dist-server/service/inventory-history/inventory-history.js +7 -7
- package/dist-server/service/inventory-history/inventory-history.js.map +1 -1
- package/dist-server/service/inventory-item/inventory-item-mutation.js +10 -10
- package/dist-server/service/inventory-item/inventory-item-mutation.js.map +1 -1
- package/dist-server/service/inventory-item/inventory-item-query.js +18 -17
- package/dist-server/service/inventory-item/inventory-item-query.js.map +1 -1
- package/dist-server/service/inventory-item/inventory-item-type.js +4 -5
- package/dist-server/service/inventory-item/inventory-item-type.js.map +1 -1
- package/dist-server/service/inventory-item/inventory-item.js +5 -5
- package/dist-server/service/inventory-item/inventory-item.js.map +1 -1
- package/dist-server/service/inventory-item-change/inventory-item-change-mutation.js +4 -4
- package/dist-server/service/inventory-item-change/inventory-item-change-mutation.js.map +1 -1
- package/dist-server/service/inventory-item-change/inventory-item-change-query.js +7 -9
- package/dist-server/service/inventory-item-change/inventory-item-change-query.js.map +1 -1
- package/dist-server/service/inventory-item-change/inventory-item-change-type.js +6 -7
- package/dist-server/service/inventory-item-change/inventory-item-change-type.js.map +1 -1
- package/dist-server/service/inventory-item-change/inventory-item-change.js +3 -4
- package/dist-server/service/inventory-item-change/inventory-item-change.js.map +1 -1
- package/dist-server/service/inventory-product/inventory-product-mutation.js +4 -4
- package/dist-server/service/inventory-product/inventory-product-mutation.js.map +1 -1
- package/dist-server/service/inventory-product/inventory-product-query.js +7 -9
- package/dist-server/service/inventory-product/inventory-product-query.js.map +1 -1
- package/dist-server/service/inventory-product/inventory-product-type.js +1 -2
- package/dist-server/service/inventory-product/inventory-product-type.js.map +1 -1
- package/dist-server/service/inventory-product/inventory-product.js +5 -5
- package/dist-server/service/inventory-product/inventory-product.js.map +1 -1
- package/dist-server/service/location/location-mutation.js +5 -5
- package/dist-server/service/location/location-mutation.js.map +1 -1
- package/dist-server/service/location/location-query.js +17 -19
- package/dist-server/service/location/location-query.js.map +1 -1
- package/dist-server/service/location/location-types.js +3 -3
- package/dist-server/service/location/location-types.js.map +1 -1
- package/dist-server/service/location/location.js +14 -14
- package/dist-server/service/location/location.js.map +1 -1
- package/dist-server/service/movement/movement-mutation.js +6 -5
- package/dist-server/service/movement/movement-mutation.js.map +1 -1
- package/dist-server/service/movement/movement-query.js +15 -15
- package/dist-server/service/movement/movement-query.js.map +1 -1
- package/dist-server/service/movement/movement-types.js +4 -5
- package/dist-server/service/movement/movement-types.js.map +1 -1
- package/dist-server/service/movement/movement.js +5 -5
- package/dist-server/service/movement/movement.js.map +1 -1
- package/dist-server/service/pallet/pallet-mutation.js +5 -5
- package/dist-server/service/pallet/pallet-mutation.js.map +1 -1
- package/dist-server/service/pallet/pallet-query.js +9 -11
- package/dist-server/service/pallet/pallet-query.js.map +1 -1
- package/dist-server/service/pallet/pallet-types.js +5 -6
- package/dist-server/service/pallet/pallet-types.js.map +1 -1
- package/dist-server/service/pallet/pallet.js +6 -6
- package/dist-server/service/pallet/pallet.js.map +1 -1
- package/dist-server/service/pallet-count/pallet-count-mutation.js +1 -1
- package/dist-server/service/pallet-count/pallet-count-mutation.js.map +1 -1
- package/dist-server/service/pallet-count/pallet-count-query.js +6 -8
- package/dist-server/service/pallet-count/pallet-count-query.js.map +1 -1
- package/dist-server/service/pallet-count/pallet-count.js +3 -4
- package/dist-server/service/pallet-count/pallet-count.js.map +1 -1
- package/dist-server/service/pallet-history/pallet-history-mutation.js +1 -1
- package/dist-server/service/pallet-history/pallet-history-mutation.js.map +1 -1
- package/dist-server/service/pallet-history/pallet-history-query.js +6 -8
- package/dist-server/service/pallet-history/pallet-history-query.js.map +1 -1
- package/dist-server/service/pallet-history/pallet-history.js +6 -6
- package/dist-server/service/pallet-history/pallet-history.js.map +1 -1
- package/dist-server/service/reduced-inventory-history/reduced-inventory-history.js +1 -1
- package/dist-server/service/reduced-inventory-history/reduced-inventory-history.js.map +1 -1
- package/dist-server/service/tote/tote-mutation.js +4 -4
- package/dist-server/service/tote/tote-mutation.js.map +1 -1
- package/dist-server/service/tote/tote-query.js +12 -13
- package/dist-server/service/tote/tote-query.js.map +1 -1
- package/dist-server/service/tote/tote-types.js +2 -3
- package/dist-server/service/tote/tote-types.js.map +1 -1
- package/dist-server/service/tote/tote.js +5 -5
- package/dist-server/service/tote/tote.js.map +1 -1
- package/dist-server/service/warehouse/warehouse-mutation.js +1 -1
- package/dist-server/service/warehouse/warehouse-mutation.js.map +1 -1
- package/dist-server/service/warehouse/warehouse-query.js +9 -10
- package/dist-server/service/warehouse/warehouse-query.js.map +1 -1
- package/dist-server/service/warehouse/warehouse.js +12 -12
- package/dist-server/service/warehouse/warehouse.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/utils/inventory-util.js +16 -16
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/package.json +8 -8
- package/server/controllers/ecommerce/ecommerce-controller.ts +1 -1
- package/server/controllers/ecommerce/sellercraft-controller.ts +75 -65
- package/server/controllers/warehouse-controller.ts +9 -4
- package/server/service/inventory/inventory-mutation.ts +28 -24
- package/server/service/inventory/inventory-query.ts +269 -304
- package/server/service/inventory/inventory.ts +50 -35
- package/server/service/inventory-change/inventory-change-mutation.ts +305 -256
- package/server/service/inventory-change/inventory-change-query.ts +9 -9
- package/server/service/inventory-history/inventory-history-mutation.ts +12 -15
- package/server/service/inventory-history/inventory-history-query.ts +158 -133
- package/server/service/inventory-item/inventory-item-mutation.ts +20 -17
- package/server/service/inventory-item/inventory-item-query.ts +28 -18
- package/server/service/inventory-item-change/inventory-item-change-mutation.ts +12 -9
- package/server/service/inventory-item-change/inventory-item-change-query.ts +10 -8
- package/server/service/inventory-product/inventory-product-mutation.ts +16 -12
- package/server/service/inventory-product/inventory-product-query.ts +7 -8
- package/server/service/location/location-mutation.ts +24 -24
- package/server/service/location/location-query.ts +27 -23
- package/server/service/location/location.ts +11 -10
- package/server/service/movement/movement-mutation.ts +7 -8
- package/server/service/movement/movement-query.ts +18 -16
- package/server/service/pallet/pallet-mutation.ts +18 -20
- package/server/service/pallet/pallet-query.ts +13 -14
- package/server/service/pallet-count/pallet-count-mutation.ts +20 -17
- package/server/service/pallet-count/pallet-count-query.ts +6 -7
- package/server/service/pallet-history/pallet-history-mutation.ts +15 -15
- package/server/service/pallet-history/pallet-history-query.ts +7 -8
- package/server/service/reduced-inventory-history/reduced-inventory-history.ts +1 -1
- package/server/service/tote/tote-mutation.ts +23 -22
- package/server/service/tote/tote-query.ts +18 -14
- package/server/service/warehouse/warehouse-mutation.ts +21 -18
- package/server/service/warehouse/warehouse-query.ts +11 -11
- package/server/service/warehouse/warehouse.ts +7 -7
- package/server/utils/inventory-util.ts +10 -10
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a, _b, _c;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.MovementQuery = void 0;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
@@ -15,15 +14,16 @@ let MovementQuery = class MovementQuery {
|
|
|
15
14
|
async movements(params, context) {
|
|
16
15
|
const convertedParams = (0, shell_1.convertListParams)(params);
|
|
17
16
|
convertedParams.where.bizplace = (0, typeorm_1.In)(await (0, biz_base_1.getPermittedBizplaceIds)(context.state.domain, context.state.user));
|
|
18
|
-
const [items, total] = await (0,
|
|
17
|
+
const [items, total] = await (0, shell_1.getRepository)(movement_1.Movement).findAndCount(Object.assign(Object.assign({}, convertedParams), { relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater'] }));
|
|
19
18
|
return { items, total };
|
|
20
19
|
}
|
|
21
20
|
async movement(name, context) {
|
|
22
|
-
|
|
21
|
+
const { domain, user } = context.state;
|
|
22
|
+
return await (0, shell_1.getRepository)(movement_1.Movement).findOne({
|
|
23
23
|
where: {
|
|
24
|
-
domain:
|
|
25
|
-
name
|
|
26
|
-
bizplace: (0, typeorm_1.In)(await (0, biz_base_1.getPermittedBizplaceIds)(
|
|
24
|
+
domain: { id: domain.id },
|
|
25
|
+
/* name,*/
|
|
26
|
+
bizplace: (0, typeorm_1.In)(await (0, biz_base_1.getPermittedBizplaceIds)(domain, user))
|
|
27
27
|
},
|
|
28
28
|
relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater']
|
|
29
29
|
});
|
|
@@ -42,7 +42,7 @@ let MovementQuery = class MovementQuery {
|
|
|
42
42
|
startDate.setMinutes(0);
|
|
43
43
|
startDate.setSeconds(0);
|
|
44
44
|
const timeNow = `${endDate.getHours()}:${endDate.getMinutes()}:${endDate.getSeconds()}`;
|
|
45
|
-
const counter = await (0,
|
|
45
|
+
const counter = await (0, shell_1.getRepository)(inventory_history_1.InventoryHistory).query(`
|
|
46
46
|
select inbound_date, count(*) from(
|
|
47
47
|
select date(ih.created_at) inbound_date from inventory_histories ih
|
|
48
48
|
where ih.bizplace_id in (${bizplaces})
|
|
@@ -91,7 +91,7 @@ let MovementQuery = class MovementQuery {
|
|
|
91
91
|
startDate.setMinutes(0);
|
|
92
92
|
startDate.setSeconds(0);
|
|
93
93
|
const timeNow = `${endDate.getHours()}:${endDate.getMinutes()}:${endDate.getSeconds()}`;
|
|
94
|
-
const counter = await (0,
|
|
94
|
+
const counter = await (0, shell_1.getRepository)(inventory_history_1.InventoryHistory).query(`
|
|
95
95
|
select outbound_date, count(*) from(
|
|
96
96
|
select date(ih.created_at) outbound_date, row_number() over(partition by ih.pallet_id order by ih.created_at desc) as rn, ih.*, iv.bizplace_id
|
|
97
97
|
from inventory_histories ih
|
|
@@ -148,7 +148,7 @@ let MovementQuery = class MovementQuery {
|
|
|
148
148
|
var lastOfMonth = new Date(year, month, 0);
|
|
149
149
|
}
|
|
150
150
|
// get data from database
|
|
151
|
-
const data = await (0,
|
|
151
|
+
const data = await (0, shell_1.getRepository)(inventory_history_1.InventoryHistory).query(`
|
|
152
152
|
select movement_date, sum(outbound_count) as outbound_count, sum(inbound_count) as inbound_count from (
|
|
153
153
|
select movement_date, count(*) as outbound_count, 0 as inbound_count from(
|
|
154
154
|
select date(ih.created_at) movement_date, row_number() over(partition by ih.pallet_id order by ih.created_at desc) as rn, ih.*, iv.bizplace_id
|
|
@@ -183,13 +183,13 @@ let MovementQuery = class MovementQuery {
|
|
|
183
183
|
return movements;
|
|
184
184
|
}
|
|
185
185
|
async domain(movement) {
|
|
186
|
-
return await (0,
|
|
186
|
+
return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: movement.domainId });
|
|
187
187
|
}
|
|
188
188
|
async updater(movement) {
|
|
189
|
-
return await (0,
|
|
189
|
+
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: movement.updaterId });
|
|
190
190
|
}
|
|
191
191
|
async creator(movement) {
|
|
192
|
-
return await (0,
|
|
192
|
+
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: movement.creatorId });
|
|
193
193
|
}
|
|
194
194
|
};
|
|
195
195
|
tslib_1.__decorate([
|
|
@@ -198,7 +198,7 @@ tslib_1.__decorate([
|
|
|
198
198
|
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
199
199
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
200
200
|
tslib_1.__metadata("design:type", Function),
|
|
201
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
201
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
202
202
|
tslib_1.__metadata("design:returntype", Promise)
|
|
203
203
|
], MovementQuery.prototype, "movements", null);
|
|
204
204
|
tslib_1.__decorate([
|
|
@@ -215,7 +215,7 @@ tslib_1.__decorate([
|
|
|
215
215
|
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
216
216
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
217
217
|
tslib_1.__metadata("design:type", Function),
|
|
218
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
218
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
219
219
|
tslib_1.__metadata("design:returntype", Promise)
|
|
220
220
|
], MovementQuery.prototype, "inboundMovementsCounter", null);
|
|
221
221
|
tslib_1.__decorate([
|
|
@@ -223,7 +223,7 @@ tslib_1.__decorate([
|
|
|
223
223
|
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
224
224
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
225
225
|
tslib_1.__metadata("design:type", Function),
|
|
226
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
226
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
227
227
|
tslib_1.__metadata("design:returntype", Promise)
|
|
228
228
|
], MovementQuery.prototype, "outboundMovementsCounter", null);
|
|
229
229
|
tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"movement-query.js","sourceRoot":"","sources":["../../../server/service/movement/movement-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { getRepository, In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { convertListParams, Domain, ListParam } from '@things-factory/shell'\n\nimport { InventoryHistory } from '../inventory-history/inventory-history'\nimport { Movement } from './movement'\nimport { MovementCount, MovementList } from './movement-types'\n\n@Resolver(Movement)\nexport class MovementQuery {\n @Directive('@privilege(category: \"movement\", privilege: \"query\")')\n @Query(returns => MovementList)\n async movements(@Args() params: ListParam, @Ctx() context: any): Promise<MovementList> {\n const convertedParams = convertListParams(params)\n convertedParams.where.bizplace = In(await getPermittedBizplaceIds(context.state.domain, context.state.user))\n\n const [items, total] = await getRepository(Movement).findAndCount({\n ...convertedParams,\n relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater']\n })\n return { items, total }\n }\n\n @Directive('@privilege(category: \"movement\", privilege: \"query\")')\n @Query(returns => Movement)\n async movement(@Arg('name') name: string, @Ctx() context: any): Promise<Movement> {\n return await getRepository(Movement).findOne({\n where: {\n domain: context.state.domain,\n name,\n bizplace: In(await getPermittedBizplaceIds(context.state.domain, context.state.user))\n },\n relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater']\n })\n }\n\n @Query(returns => [MovementCount])\n async inboundMovementsCounter(@Args() params: ListParam, @Ctx() context: any): Promise<MovementCount[]> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n let bizplaces = (await getPermittedBizplaceIds(domain, user))\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n let startDate = new Date()\n let endDate = new Date()\n startDate.setDate(startDate.getDate() - 30)\n startDate.setHours(0)\n startDate.setMinutes(0)\n startDate.setSeconds(0)\n const timeNow = `${endDate.getHours()}:${endDate.getMinutes()}:${endDate.getSeconds()}`\n\n const counter = await getRepository(InventoryHistory).query(`\n select inbound_date, count(*) from(\n select date(ih.created_at) inbound_date from inventory_histories ih\n where ih.bizplace_id in (${bizplaces})\n and ih.transaction_type in ('NEW', 'PUTAWAY')\n and created_at between '${startDate.toLocaleDateString()} 00:00:00' and '${endDate.toLocaleDateString()} ${timeNow}'\n and domain_id = '${domain.id}'\n ) as foo\n group by inbound_date\n order by inbound_date asc\n `)\n\n let items = []\n for (let i = 0; i < 30; i++) {\n const month = startDate.toLocaleString('default', { month: 'short' })\n const day = startDate.getDate()\n\n items.push({\n date: `${month} ${day.toString().padStart(2, '0')}`,\n count: '0'\n })\n startDate.setDate(startDate.getDate() + 1)\n }\n\n let compareDate = new Date()\n compareDate.setDate(compareDate.getDate() - 30)\n compareDate.setHours(0)\n compareDate.setMinutes(0)\n compareDate.setSeconds(0)\n\n items = items.map((item: { date: string; count: number }) => {\n item.count =\n counter.find(ctr => ctr.inbound_date.toLocaleDateString() === compareDate.toLocaleDateString())?.count || 0\n\n compareDate.setDate(compareDate.getDate() + 1)\n\n return item\n })\n\n return items\n }\n\n @Query(returns => [MovementCount])\n async outboundMovementsCounter(@Args() params: ListParam, @Ctx() context: any): Promise<MovementCount[]> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n let bizplaces = (await getPermittedBizplaceIds(domain, user))\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n let startDate = new Date()\n let endDate = new Date()\n startDate.setDate(startDate.getDate() - 30)\n startDate.setHours(0)\n startDate.setMinutes(0)\n startDate.setSeconds(0)\n const timeNow = `${endDate.getHours()}:${endDate.getMinutes()}:${endDate.getSeconds()}`\n\n const counter = await getRepository(InventoryHistory).query(`\n select outbound_date, count(*) from(\n select date(ih.created_at) outbound_date, row_number() over(partition by ih.pallet_id order by ih.created_at desc) as rn, ih.*, iv.bizplace_id\n from inventory_histories ih\n inner join inventories iv on iv.pallet_id = ih.pallet_id and iv.domain_id = ih.domain_id\n where ih.domain_id='${domain.id}'\n and iv.bizplace_id in (${bizplaces}) and ih.status = 'TERMINATED'\n ) as src \n where rn = 1\n and created_at between '${startDate.toLocaleDateString()} 00:00:00' and '${endDate.toLocaleDateString()} ${timeNow}'\n group by src.outbound_date\n order by src.outbound_date\n `)\n\n let items = []\n for (let i = 0; i < 30; i++) {\n const month = startDate.toLocaleString('default', { month: 'short' })\n const day = startDate.getDate()\n\n items.push({\n date: `${month} ${day.toString().padStart(2, '0')}`,\n count: '0'\n })\n startDate.setDate(startDate.getDate() + 1)\n }\n\n let compareDate = new Date()\n compareDate.setDate(compareDate.getDate() - 30)\n compareDate.setHours(0)\n compareDate.setMinutes(0)\n compareDate.setSeconds(0)\n\n items = items.map((item: { date: string; count: number }) => {\n item.count =\n counter.find(ctr => ctr.outbound_date.toLocaleDateString() === compareDate.toLocaleDateString())?.count || 0\n\n compareDate.setDate(compareDate.getDate() + 1)\n\n return item\n })\n\n return items\n }\n\n @Query(returns => [MovementCount])\n async weeklyMovementsCounter(\n @Arg('month') month: number,\n @Arg('year') year: number,\n @Ctx() context: any\n ): Promise<MovementCount[]> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n let bizplaces = (await getPermittedBizplaceIds(domain, user))\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n if (!month && !year) {\n // if user didn't specify the month and year, set default as last month\n var firstOfMonth = new Date()\n var lastOfMonth = new Date()\n\n firstOfMonth.setMonth(firstOfMonth.getMonth() - 1)\n firstOfMonth.setDate(1)\n lastOfMonth.setDate(0)\n } else {\n var firstOfMonth = new Date(year, month - 1, 1)\n var lastOfMonth = new Date(year, month, 0)\n }\n\n // get data from database\n const data = await getRepository(InventoryHistory).query(`\n\t\t\tselect movement_date, sum(outbound_count) as outbound_count, sum(inbound_count) as inbound_count from (\n\t\t\t\tselect movement_date, count(*) as outbound_count, 0 as inbound_count from(\n\t\t\t\t\tselect date(ih.created_at) movement_date, row_number() over(partition by ih.pallet_id order by ih.created_at desc) as rn, ih.*, iv.bizplace_id\n\t\t\t\t\tfrom inventory_histories ih\n\t\t\t\t\tinner join inventories iv on iv.pallet_id = ih.pallet_id and iv.domain_id = ih.domain_id\n\t\t\t\t\twhere ih.domain_id = '${domain.id}'\n\t\t\t\t\tand iv.bizplace_id in (${bizplaces}) and ih.status = 'TERMINATED'\n\t\t\t\t) as src \n\t\t\t\twhere rn = 1\n\t\t\t\tand created_at between '${firstOfMonth.toLocaleDateString()} 00:00:00' and '${lastOfMonth.toLocaleDateString()} 23:59:59'\n\t\t\t\tgroup by movement_date\n\t\t\t\tunion all\n\t\t\t\tselect movement_date, 0 as outbound_count, count(*) as inbound_count from(\n\t\t\t\t\t\tselect date(ih.created_at) movement_date from inventory_histories ih\n\t\t\t\t\t\twhere ih.bizplace_id in (${bizplaces})\n\t\t\t\t\t\tand ih.transaction_type in ('NEW', 'PUTAWAY')\n\t\t\t\t\t\tand created_at between '${firstOfMonth.toLocaleDateString()} 00:00:00' and '${lastOfMonth.toLocaleDateString()} 23:59:59'\n\t\t\t\t\tand domain_id = '${domain.id}'\n\t\t\t\t) as foo\n\t\t\t\tgroup by movement_date\n\t\t\t\torder by movement_date\n\t\t\t) src\n\t\t\tgroup by movement_date\n\t\t`)\n\n let movements = [\n { week: 'Week 01', ...getMovementByWeek(data, [0, 7]) },\n { week: 'Week 02', ...getMovementByWeek(data, [8, 14]) },\n { week: 'Week 03', ...getMovementByWeek(data, [15, 21]) },\n { week: 'Week 04', ...getMovementByWeek(data, [21, 31]) }\n ]\n\n // return total 4 weeks of in/outbound movements for a specific month\n return movements\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() movement: Movement) {\n return await getRepository(Domain).findOne(movement.domainId)\n }\n\n @FieldResolver(type => User)\n async updater(@Root() movement: Movement) {\n return await getRepository(User).findOne(movement.updaterId)\n }\n\n @FieldResolver(type => User)\n async creator(@Root() movement: Movement) {\n return await getRepository(User).findOne(movement.creatorId)\n }\n}\n\nfunction getMovementByWeek(data, range): { inbound: number; outbound: number } {\n return data\n .filter(item => item.movement_date.getDate() > range[0] && item.movement_date.getDate() <= range[1])\n .reduce(\n (inout: { inbound: number; outbound: number }, curr) => {\n inout.inbound += Number(curr.inbound_count)\n inout.outbound += Number(curr.outbound_count)\n\n return inout\n },\n { inbound: 0, outbound: 0 }\n )\n}\n"]}
|
|
1
|
+
{"version":3,"file":"movement-query.js","sourceRoot":"","sources":["../../../server/service/movement/movement-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { convertListParams, Domain, getRepository, ListParam } from '@things-factory/shell'\n\nimport { InventoryHistory } from '../inventory-history/inventory-history'\nimport { Movement } from './movement'\nimport { MovementCount, MovementList } from './movement-types'\n\n@Resolver(Movement)\nexport class MovementQuery {\n @Directive('@privilege(category: \"movement\", privilege: \"query\")')\n @Query(returns => MovementList)\n async movements(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<MovementList> {\n const convertedParams = convertListParams(params)\n convertedParams.where.bizplace = In(await getPermittedBizplaceIds(context.state.domain, context.state.user))\n\n const [items, total] = await getRepository(Movement).findAndCount({\n ...convertedParams,\n relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater']\n })\n return { items, total }\n }\n\n @Directive('@privilege(category: \"movement\", privilege: \"query\")')\n @Query(returns => Movement)\n async movement(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Movement> {\n const { domain, user } = context.state\n\n return await getRepository(Movement).findOne({\n where: {\n domain: { id: domain.id },\n /* name,*/\n bizplace: In(await getPermittedBizplaceIds(domain, user))\n },\n relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater']\n })\n }\n\n @Query(returns => [MovementCount])\n async inboundMovementsCounter(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<MovementCount[]> {\n const { domain, user } = context.state\n\n let bizplaces = (await getPermittedBizplaceIds(domain, user))\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n let startDate = new Date()\n let endDate = new Date()\n startDate.setDate(startDate.getDate() - 30)\n startDate.setHours(0)\n startDate.setMinutes(0)\n startDate.setSeconds(0)\n const timeNow = `${endDate.getHours()}:${endDate.getMinutes()}:${endDate.getSeconds()}`\n\n const counter = await getRepository(InventoryHistory).query(`\n select inbound_date, count(*) from(\n select date(ih.created_at) inbound_date from inventory_histories ih\n where ih.bizplace_id in (${bizplaces})\n and ih.transaction_type in ('NEW', 'PUTAWAY')\n and created_at between '${startDate.toLocaleDateString()} 00:00:00' and '${endDate.toLocaleDateString()} ${timeNow}'\n and domain_id = '${domain.id}'\n ) as foo\n group by inbound_date\n order by inbound_date asc\n `)\n\n let items = []\n for (let i = 0; i < 30; i++) {\n const month = startDate.toLocaleString('default', { month: 'short' })\n const day = startDate.getDate()\n\n items.push({\n date: `${month} ${day.toString().padStart(2, '0')}`,\n count: '0'\n })\n startDate.setDate(startDate.getDate() + 1)\n }\n\n let compareDate = new Date()\n compareDate.setDate(compareDate.getDate() - 30)\n compareDate.setHours(0)\n compareDate.setMinutes(0)\n compareDate.setSeconds(0)\n\n items = items.map((item: { date: string; count: number }) => {\n item.count =\n counter.find(ctr => ctr.inbound_date.toLocaleDateString() === compareDate.toLocaleDateString())?.count || 0\n\n compareDate.setDate(compareDate.getDate() + 1)\n\n return item\n })\n\n return items\n }\n\n @Query(returns => [MovementCount])\n async outboundMovementsCounter(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<MovementCount[]> {\n const { domain, user } = context.state\n\n let bizplaces = (await getPermittedBizplaceIds(domain, user))\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n let startDate = new Date()\n let endDate = new Date()\n startDate.setDate(startDate.getDate() - 30)\n startDate.setHours(0)\n startDate.setMinutes(0)\n startDate.setSeconds(0)\n const timeNow = `${endDate.getHours()}:${endDate.getMinutes()}:${endDate.getSeconds()}`\n\n const counter = await getRepository(InventoryHistory).query(`\n select outbound_date, count(*) from(\n select date(ih.created_at) outbound_date, row_number() over(partition by ih.pallet_id order by ih.created_at desc) as rn, ih.*, iv.bizplace_id\n from inventory_histories ih\n inner join inventories iv on iv.pallet_id = ih.pallet_id and iv.domain_id = ih.domain_id\n where ih.domain_id='${domain.id}'\n and iv.bizplace_id in (${bizplaces}) and ih.status = 'TERMINATED'\n ) as src \n where rn = 1\n and created_at between '${startDate.toLocaleDateString()} 00:00:00' and '${endDate.toLocaleDateString()} ${timeNow}'\n group by src.outbound_date\n order by src.outbound_date\n `)\n\n let items = []\n for (let i = 0; i < 30; i++) {\n const month = startDate.toLocaleString('default', { month: 'short' })\n const day = startDate.getDate()\n\n items.push({\n date: `${month} ${day.toString().padStart(2, '0')}`,\n count: '0'\n })\n startDate.setDate(startDate.getDate() + 1)\n }\n\n let compareDate = new Date()\n compareDate.setDate(compareDate.getDate() - 30)\n compareDate.setHours(0)\n compareDate.setMinutes(0)\n compareDate.setSeconds(0)\n\n items = items.map((item: { date: string; count: number }) => {\n item.count =\n counter.find(ctr => ctr.outbound_date.toLocaleDateString() === compareDate.toLocaleDateString())?.count || 0\n\n compareDate.setDate(compareDate.getDate() + 1)\n\n return item\n })\n\n return items\n }\n\n @Query(returns => [MovementCount])\n async weeklyMovementsCounter(\n @Arg('month') month: number,\n @Arg('year') year: number,\n @Ctx() context: ResolverContext\n ): Promise<MovementCount[]> {\n const { domain, user } = context.state\n\n let bizplaces = (await getPermittedBizplaceIds(domain, user))\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n if (!month && !year) {\n // if user didn't specify the month and year, set default as last month\n var firstOfMonth = new Date()\n var lastOfMonth = new Date()\n\n firstOfMonth.setMonth(firstOfMonth.getMonth() - 1)\n firstOfMonth.setDate(1)\n lastOfMonth.setDate(0)\n } else {\n var firstOfMonth = new Date(year, month - 1, 1)\n var lastOfMonth = new Date(year, month, 0)\n }\n\n // get data from database\n const data = await getRepository(InventoryHistory).query(`\n\t\t\tselect movement_date, sum(outbound_count) as outbound_count, sum(inbound_count) as inbound_count from (\n\t\t\t\tselect movement_date, count(*) as outbound_count, 0 as inbound_count from(\n\t\t\t\t\tselect date(ih.created_at) movement_date, row_number() over(partition by ih.pallet_id order by ih.created_at desc) as rn, ih.*, iv.bizplace_id\n\t\t\t\t\tfrom inventory_histories ih\n\t\t\t\t\tinner join inventories iv on iv.pallet_id = ih.pallet_id and iv.domain_id = ih.domain_id\n\t\t\t\t\twhere ih.domain_id = '${domain.id}'\n\t\t\t\t\tand iv.bizplace_id in (${bizplaces}) and ih.status = 'TERMINATED'\n\t\t\t\t) as src \n\t\t\t\twhere rn = 1\n\t\t\t\tand created_at between '${firstOfMonth.toLocaleDateString()} 00:00:00' and '${lastOfMonth.toLocaleDateString()} 23:59:59'\n\t\t\t\tgroup by movement_date\n\t\t\t\tunion all\n\t\t\t\tselect movement_date, 0 as outbound_count, count(*) as inbound_count from(\n\t\t\t\t\t\tselect date(ih.created_at) movement_date from inventory_histories ih\n\t\t\t\t\t\twhere ih.bizplace_id in (${bizplaces})\n\t\t\t\t\t\tand ih.transaction_type in ('NEW', 'PUTAWAY')\n\t\t\t\t\t\tand created_at between '${firstOfMonth.toLocaleDateString()} 00:00:00' and '${lastOfMonth.toLocaleDateString()} 23:59:59'\n\t\t\t\t\tand domain_id = '${domain.id}'\n\t\t\t\t) as foo\n\t\t\t\tgroup by movement_date\n\t\t\t\torder by movement_date\n\t\t\t) src\n\t\t\tgroup by movement_date\n\t\t`)\n\n let movements = [\n { week: 'Week 01', ...getMovementByWeek(data, [0, 7]) },\n { week: 'Week 02', ...getMovementByWeek(data, [8, 14]) },\n { week: 'Week 03', ...getMovementByWeek(data, [15, 21]) },\n { week: 'Week 04', ...getMovementByWeek(data, [21, 31]) }\n ]\n\n // return total 4 weeks of in/outbound movements for a specific month\n return movements\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() movement: Movement) {\n return await getRepository(Domain).findOneBy({ id: movement.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() movement: Movement) {\n return await getRepository(User).findOneBy({ id: movement.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() movement: Movement) {\n return await getRepository(User).findOneBy({ id: movement.creatorId })\n }\n}\n\nfunction getMovementByWeek(data, range): { inbound: number; outbound: number } {\n return data\n .filter(item => item.movement_date.getDate() > range[0] && item.movement_date.getDate() <= range[1])\n .reduce(\n (inout: { inbound: number; outbound: number }, curr) => {\n inout.inbound += Number(curr.inbound_count)\n inout.outbound += Number(curr.outbound_count)\n\n return inout\n },\n { inbound: 0, outbound: 0 }\n )\n}\n"]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a, _b, _c, _d;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.NewMovement = exports.MovementPatch = exports.MovementList = exports.MovementCount = void 0;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
@@ -54,11 +53,11 @@ tslib_1.__decorate([
|
|
|
54
53
|
], MovementPatch.prototype, "id", void 0);
|
|
55
54
|
tslib_1.__decorate([
|
|
56
55
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
57
|
-
tslib_1.__metadata("design:type",
|
|
56
|
+
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
58
57
|
], MovementPatch.prototype, "bizplace", void 0);
|
|
59
58
|
tslib_1.__decorate([
|
|
60
59
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
61
|
-
tslib_1.__metadata("design:type",
|
|
60
|
+
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
62
61
|
], MovementPatch.prototype, "inventory", void 0);
|
|
63
62
|
tslib_1.__decorate([
|
|
64
63
|
(0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
|
|
@@ -84,11 +83,11 @@ tslib_1.__decorate([
|
|
|
84
83
|
], NewMovement.prototype, "id", void 0);
|
|
85
84
|
tslib_1.__decorate([
|
|
86
85
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
87
|
-
tslib_1.__metadata("design:type",
|
|
86
|
+
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
88
87
|
], NewMovement.prototype, "bizplace", void 0);
|
|
89
88
|
tslib_1.__decorate([
|
|
90
89
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
91
|
-
tslib_1.__metadata("design:type",
|
|
90
|
+
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
92
91
|
], NewMovement.prototype, "inventory", void 0);
|
|
93
92
|
tslib_1.__decorate([
|
|
94
93
|
(0, type_graphql_1.Field)(type => type_graphql_1.Int),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"movement-types.js","sourceRoot":"","sources":["../../../server/service/movement/movement-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"movement-types.js","sourceRoot":"","sources":["../../../server/service/movement/movement-types.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { Movement } from './movement'\n\n@ObjectType()\nexport class MovementCount {\n @Field({ nullable: true })\n date?: string\n\n @Field({ nullable: true })\n count?: string\n\n @Field({ nullable: true })\n week?: string\n\n @Field(type => Int, { nullable: true })\n inbound?: number\n\n @Field(type => Int, { nullable: true })\n outbound?: number\n}\n\n@ObjectType()\nexport class MovementList {\n @Field(type => [Movement], { nullable: true })\n items?: Movement[]\n\n @Field(type => Int, { nullable: true })\n total?: number\n}\n\n@InputType()\nexport class MovementPatch {\n @Field({ nullable: true })\n id?: string\n\n @Field(type => ObjectRef, { nullable: true })\n bizplace?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n inventory?: ObjectRef\n\n @Field(type => Int, { nullable: true })\n inQty?: number\n\n @Field(type => Int, { nullable: true })\n outQty?: number\n\n @Field({ nullable: true })\n descrtiption?: string\n}\n\n@InputType()\nexport class NewMovement {\n @Field({ nullable: true })\n id?: string\n\n @Field(type => ObjectRef, { nullable: true })\n bizplace?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n inventory?: ObjectRef\n\n @Field(type => Int)\n inQty: number\n\n @Field(type => Int)\n outQty: number\n\n @Field({ nullable: true })\n description?: string\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a
|
|
2
|
+
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.Movement = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
@@ -19,7 +19,7 @@ tslib_1.__decorate([
|
|
|
19
19
|
tslib_1.__decorate([
|
|
20
20
|
(0, typeorm_1.ManyToOne)(type => shell_1.Domain),
|
|
21
21
|
(0, type_graphql_1.Field)(),
|
|
22
|
-
tslib_1.__metadata("design:type",
|
|
22
|
+
tslib_1.__metadata("design:type", shell_1.Domain)
|
|
23
23
|
], Movement.prototype, "domain", void 0);
|
|
24
24
|
tslib_1.__decorate([
|
|
25
25
|
(0, typeorm_1.RelationId)((movement) => movement.domain),
|
|
@@ -28,7 +28,7 @@ tslib_1.__decorate([
|
|
|
28
28
|
tslib_1.__decorate([
|
|
29
29
|
(0, typeorm_1.ManyToOne)(type => biz_base_1.Bizplace),
|
|
30
30
|
(0, type_graphql_1.Field)(),
|
|
31
|
-
tslib_1.__metadata("design:type", typeof (
|
|
31
|
+
tslib_1.__metadata("design:type", typeof (_a = typeof biz_base_1.Bizplace !== "undefined" && biz_base_1.Bizplace) === "function" ? _a : Object)
|
|
32
32
|
], Movement.prototype, "bizplace", void 0);
|
|
33
33
|
tslib_1.__decorate([
|
|
34
34
|
(0, typeorm_1.ManyToOne)(type => inventory_1.Inventory),
|
|
@@ -57,7 +57,7 @@ tslib_1.__decorate([
|
|
|
57
57
|
nullable: true
|
|
58
58
|
}),
|
|
59
59
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
60
|
-
tslib_1.__metadata("design:type",
|
|
60
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
61
61
|
], Movement.prototype, "creator", void 0);
|
|
62
62
|
tslib_1.__decorate([
|
|
63
63
|
(0, typeorm_1.RelationId)((movement) => movement.creator),
|
|
@@ -68,7 +68,7 @@ tslib_1.__decorate([
|
|
|
68
68
|
nullable: true
|
|
69
69
|
}),
|
|
70
70
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
71
|
-
tslib_1.__metadata("design:type",
|
|
71
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
72
72
|
], Movement.prototype, "updater", void 0);
|
|
73
73
|
tslib_1.__decorate([
|
|
74
74
|
(0, typeorm_1.RelationId)((movement) => movement.updater),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"movement.js","sourceRoot":"","sources":["../../../server/service/movement/movement.ts"],"names":[],"mappings":";;;;;AAAA,+CAA2D;AAC3D,qCASgB;AAEhB,yDAAgD;AAChD,uDAAmD;AACnD,iDAA8C;AAE9C,sDAAkD;AAKlD,IAAa,QAAQ,GAArB,MAAa,QAAQ;CA2DpB,CAAA;AAxDC;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;oCACR;AAIV;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IACzB,IAAA,oBAAK,GAAE;
|
|
1
|
+
{"version":3,"file":"movement.js","sourceRoot":"","sources":["../../../server/service/movement/movement.ts"],"names":[],"mappings":";;;;;AAAA,+CAA2D;AAC3D,qCASgB;AAEhB,yDAAgD;AAChD,uDAAmD;AACnD,iDAA8C;AAE9C,sDAAkD;AAKlD,IAAa,QAAQ,GAArB,MAAa,QAAQ;CA2DpB,CAAA;AAxDC;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;oCACR;AAIV;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IACzB,IAAA,oBAAK,GAAE;sCACA,cAAM;wCAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;;0CACpC;AAIhB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,mBAAQ,CAAC;IAC3B,IAAA,oBAAK,GAAE;0DACE,mBAAQ,oBAAR,mBAAQ;0CAAA;AAIlB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,qBAAS,CAAC;IAC5B,IAAA,oBAAK,GAAE;sCACG,qBAAS;2CAAA;AAIpB;IAFC,IAAA,gBAAM,EAAC,OAAO,CAAC;IACf,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,CAAC;;uCACR;AAIb;IAFC,IAAA,gBAAM,EAAC,OAAO,CAAC;IACf,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,CAAC;;wCACP;AAMd;IAJC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACP;AAMnB;IAJC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjB,gBAAI;yCAAA;AAGb;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;;2CACpC;AAMjB;IAJC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjB,gBAAI;yCAAA;AAGb;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;;2CACpC;AAIjB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACf,IAAI;2CAAA;AAIf;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACf,IAAI;2CAAA;AA1DJ,QAAQ;IAHpB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,eAAe,EAAE,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACnF,IAAA,yBAAU,GAAE;GACA,QAAQ,CA2DpB;AA3DY,4BAAQ","sourcesContent":["import { Field, Float, ID, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { Inventory } from '../inventory/inventory'\n\n@Entity()\n@Index('ix_movement_0', (movement: Movement) => [movement.domain], { unique: true })\n@ObjectType()\nexport class Movement {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n id: string\n\n @ManyToOne(type => Domain)\n @Field()\n domain: Domain\n\n @RelationId((movement: Movement) => movement.domain)\n domainId: string\n\n @ManyToOne(type => Bizplace)\n @Field()\n bizplace: Bizplace\n\n @ManyToOne(type => Inventory)\n @Field()\n inventory: Inventory\n\n @Column('float')\n @Field(type => Float)\n inQty: number\n\n @Column('float')\n @Field(type => Float)\n outQty: number\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n description: string\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field({ nullable: true })\n creator: User\n\n @RelationId((movement: Movement) => movement.creator)\n creatorId: string\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field({ nullable: true })\n updater: User\n\n @RelationId((movement: Movement) => movement.updater)\n updaterId: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n}\n"]}
|
|
@@ -30,10 +30,10 @@ let PalletMutation = class PalletMutation {
|
|
|
30
30
|
for (let i = 0; i < _createRecords.length; i++) {
|
|
31
31
|
const newRecord = _createRecords[i];
|
|
32
32
|
if (newRecord.owner && newRecord.owner.id) {
|
|
33
|
-
newRecord.owner = await tx.getRepository(biz_base_1.Bizplace).
|
|
33
|
+
newRecord.owner = (await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: newRecord.owner.id }));
|
|
34
34
|
}
|
|
35
35
|
if (newRecord.holder && newRecord.holder.id) {
|
|
36
|
-
newRecord.holder = await tx.getRepository(biz_base_1.Bizplace).
|
|
36
|
+
newRecord.holder = (await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: newRecord.holder.id }));
|
|
37
37
|
}
|
|
38
38
|
const result = await tx.getRepository(pallet_1.Pallet).save(Object.assign({ domain: domain, creator: user, updater: user }, newRecord));
|
|
39
39
|
await tx.getRepository(pallet_history_1.PalletHistory).save(Object.assign(Object.assign({}, newRecord), { pallet: result, domain: domain, creator: user, updater: user, transactionType: 'NEW' }));
|
|
@@ -49,10 +49,10 @@ let PalletMutation = class PalletMutation {
|
|
|
49
49
|
});
|
|
50
50
|
const seq = pallet.seq + 1;
|
|
51
51
|
if (newRecord.owner && newRecord.owner.id) {
|
|
52
|
-
newRecord.owner = await tx.getRepository(biz_base_1.Bizplace).
|
|
52
|
+
newRecord.owner = (await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: newRecord.owner.id }));
|
|
53
53
|
}
|
|
54
54
|
if (newRecord.holder && newRecord.holder.id) {
|
|
55
|
-
newRecord.holder = await tx.getRepository(biz_base_1.Bizplace).
|
|
55
|
+
newRecord.holder = (await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: newRecord.holder.id }));
|
|
56
56
|
}
|
|
57
57
|
const result = await tx.getRepository(pallet_1.Pallet).save(Object.assign(Object.assign(Object.assign({}, pallet), newRecord), { seq, updater: user, refOrderNo: null }));
|
|
58
58
|
let newHistory = Object.assign(Object.assign(Object.assign({}, pallet), newRecord), { pallet: result, seq, domain: domain, creator: user, updater: user, transactionType: 'UPDATE' });
|
|
@@ -107,7 +107,7 @@ let PalletMutation = class PalletMutation {
|
|
|
107
107
|
relations: ['owner', 'holder']
|
|
108
108
|
});
|
|
109
109
|
const seq = pallet.seq + 1;
|
|
110
|
-
newRecord.owner = await tx.getRepository(biz_base_1.Bizplace).
|
|
110
|
+
newRecord.owner = (await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: newRecord.owner.id }));
|
|
111
111
|
newRecord.holder = newRecord.owner;
|
|
112
112
|
const result = await tx.getRepository(pallet_1.Pallet).save(Object.assign(Object.assign(Object.assign({}, pallet), newRecord), { seq, updater: user, refOrderNo: null }));
|
|
113
113
|
let newHistory = Object.assign(Object.assign(Object.assign({}, pallet), newRecord), { pallet: result, seq, domain: domain, creator: user, updater: user, transactionType: 'RETURN' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pallet-mutation.js","sourceRoot":"","sources":["../../../server/service/pallet/pallet-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { PalletHistory } from '../pallet-history/pallet-history'\nimport { Pallet } from './pallet'\nimport { NewPallet, PalletPatch } from './pallet-types'\n\n@Resolver(Pallet)\nexport class PalletMutation {\n @Directive('@transaction')\n @Mutation(returns => Pallet)\n async createPallet(@Arg('pallet') pallet: NewPallet, @Ctx() context: any): Promise<Pallet> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n return await tx.getRepository(Pallet).save({\n ...pallet,\n domain: domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Pallet)\n async updatePallet(\n @Arg('name') name: string,\n @Arg('patch') patch: PalletPatch,\n @Ctx() context: any\n ): Promise<Pallet> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n const repository = tx.getRepository(Pallet)\n const pallet = await repository.findOne({\n where: { domain: domain, name }\n })\n\n return await repository.save({\n ...pallet,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Pallet])\n async updateMultiplePallet(\n @Arg('patches', type => [PalletPatch]) patches: PalletPatch[],\n @Ctx() context: any\n ): Promise<Pallet[]> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n if (newRecord.owner && newRecord.owner.id) {\n newRecord.owner = await tx.getRepository(Bizplace).findOne(newRecord.owner.id)\n }\n\n if (newRecord.holder && newRecord.holder.id) {\n newRecord.holder = await tx.getRepository(Bizplace).findOne(newRecord.holder.id)\n }\n\n const result: Pallet = await tx.getRepository(Pallet).save({\n domain: domain,\n creator: user,\n updater: user,\n ...newRecord\n })\n\n await tx.getRepository(PalletHistory).save({\n ...newRecord,\n pallet: result,\n domain: domain,\n creator: user,\n updater: user,\n transactionType: 'NEW'\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const pallet = await tx.getRepository(Pallet).findOne({\n where: { id: newRecord.id },\n relations: ['owner', 'holder']\n })\n const seq = pallet.seq + 1\n\n if (newRecord.owner && newRecord.owner.id) {\n newRecord.owner = await tx.getRepository(Bizplace).findOne(newRecord.owner.id)\n }\n\n if (newRecord.holder && newRecord.holder.id) {\n newRecord.holder = await tx.getRepository(Bizplace).findOne(newRecord.holder.id)\n }\n\n const result = await tx.getRepository(Pallet).save({\n ...pallet,\n ...newRecord,\n seq,\n updater: user,\n refOrderNo: null\n })\n\n let newHistory = {\n ...pallet,\n ...newRecord,\n pallet: result,\n seq,\n domain: domain,\n creator: user,\n updater: user,\n transactionType: 'UPDATE'\n }\n\n delete newHistory.id\n\n await tx.getRepository(PalletHistory).save({\n ...newHistory\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deletePallet(@Arg('name') name: string, @Ctx() context: any): Promise<Boolean> {\n const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state\n\n await tx.getRepository(Pallet).delete({ domain: domain, name })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deletePallets(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<Boolean> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n const pallets = await tx.getRepository(Pallet).find({\n where: {\n domain: domain,\n id: In(ids)\n },\n relations: ['owner', 'holder']\n })\n\n await Promise.all(\n pallets.map(async (pallet: Pallet) => {\n let seq = pallet.seq + 1\n await tx.getRepository(Pallet).save({\n ...pallet,\n status: 'TERMINATED',\n seq,\n updater: user\n })\n\n await tx.getRepository(PalletHistory).save({\n pallet: pallet,\n name: pallet.name,\n owner: pallet.owner,\n holder: pallet.holder,\n seq,\n domain: domain,\n creator: user,\n updater: user,\n status: 'TERMINATED',\n transactionType: 'UPDATE'\n })\n })\n )\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Pallet])\n async palletReturn(\n @Arg('patches', type => [PalletPatch]) patches: PalletPatch[],\n @Ctx() context: any\n ): Promise<Pallet[]> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n let results = []\n const _updateRecords = patches\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const pallet = await tx.getRepository(Pallet).findOne({\n where: { id: newRecord.id },\n relations: ['owner', 'holder']\n })\n const seq = pallet.seq + 1\n\n newRecord.owner = await tx.getRepository(Bizplace).findOne(newRecord.owner.id)\n newRecord.holder = newRecord.owner\n\n const result = await tx.getRepository(Pallet).save({\n ...pallet,\n ...newRecord,\n seq,\n updater: user,\n refOrderNo: null\n })\n\n let newHistory = {\n ...pallet,\n ...newRecord,\n pallet: result,\n seq,\n domain: domain,\n creator: user,\n updater: user,\n transactionType: 'RETURN'\n }\n\n delete newHistory.id\n\n await tx.getRepository(PalletHistory).save({\n ...newHistory\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pallet-mutation.js","sourceRoot":"","sources":["../../../server/service/pallet/pallet-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\n\nimport { PalletHistory } from '../pallet-history/pallet-history'\nimport { Pallet } from './pallet'\nimport { NewPallet, PalletPatch } from './pallet-types'\n\n@Resolver(Pallet)\nexport class PalletMutation {\n @Directive('@transaction')\n @Mutation(returns => Pallet)\n async createPallet(@Arg('pallet') pallet: NewPallet, @Ctx() context: ResolverContext): Promise<Pallet> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(Pallet).save({\n ...pallet,\n domain: domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Pallet)\n async updatePallet(\n @Arg('name') name: string,\n @Arg('patch') patch: PalletPatch,\n @Ctx() context: ResolverContext\n ): Promise<Pallet> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(Pallet)\n const pallet = await repository.findOne({\n where: { domain: domain, name }\n })\n\n return await repository.save({\n ...pallet,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Pallet])\n async updateMultiplePallet(\n @Arg('patches', type => [PalletPatch]) patches: PalletPatch[],\n @Ctx() context: ResolverContext\n ): Promise<Pallet[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n if (newRecord.owner && newRecord.owner.id) {\n newRecord.owner = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.owner.id })) as any\n }\n\n if (newRecord.holder && newRecord.holder.id) {\n newRecord.holder = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.holder.id })) as any\n }\n\n const result: Pallet = await tx.getRepository(Pallet).save({\n domain: domain,\n creator: user,\n updater: user,\n ...newRecord\n })\n\n await tx.getRepository(PalletHistory).save({\n ...newRecord,\n pallet: result,\n domain: domain,\n creator: user,\n updater: user,\n transactionType: 'NEW'\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const pallet = await tx.getRepository(Pallet).findOne({\n where: { id: newRecord.id },\n relations: ['owner', 'holder']\n })\n const seq = pallet.seq + 1\n\n if (newRecord.owner && newRecord.owner.id) {\n newRecord.owner = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.owner.id })) as any\n }\n\n if (newRecord.holder && newRecord.holder.id) {\n newRecord.holder = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.holder.id })) as any\n }\n\n const result = await tx.getRepository(Pallet).save({\n ...pallet,\n ...newRecord,\n seq,\n updater: user,\n refOrderNo: null\n })\n\n let newHistory = {\n ...pallet,\n ...newRecord,\n pallet: result,\n seq,\n domain: domain,\n creator: user,\n updater: user,\n transactionType: 'UPDATE'\n }\n\n delete newHistory.id\n\n await tx.getRepository(PalletHistory).save({\n ...newHistory\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deletePallet(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Pallet).delete({ domain: domain, name })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deletePallets(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<Boolean> {\n const { domain, user, tx } = context.state\n\n const pallets = await tx.getRepository(Pallet).find({\n where: {\n domain: domain,\n id: In(ids)\n },\n relations: ['owner', 'holder']\n })\n\n await Promise.all(\n pallets.map(async (pallet: Pallet) => {\n let seq = pallet.seq + 1\n await tx.getRepository(Pallet).save({\n ...pallet,\n status: 'TERMINATED',\n seq,\n updater: user\n })\n\n await tx.getRepository(PalletHistory).save({\n pallet: pallet,\n name: pallet.name,\n owner: pallet.owner,\n holder: pallet.holder,\n seq,\n domain: domain,\n creator: user,\n updater: user,\n status: 'TERMINATED',\n transactionType: 'UPDATE'\n })\n })\n )\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Pallet])\n async palletReturn(\n @Arg('patches', type => [PalletPatch]) patches: PalletPatch[],\n @Ctx() context: ResolverContext\n ): Promise<Pallet[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _updateRecords = patches\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const pallet = await tx.getRepository(Pallet).findOne({\n where: { id: newRecord.id },\n relations: ['owner', 'holder']\n })\n const seq = pallet.seq + 1\n\n newRecord.owner = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.owner.id })) as any\n newRecord.holder = newRecord.owner\n\n const result = await tx.getRepository(Pallet).save({\n ...pallet,\n ...newRecord,\n seq,\n updater: user,\n refOrderNo: null\n })\n\n let newHistory = {\n ...pallet,\n ...newRecord,\n pallet: result,\n seq,\n domain: domain,\n creator: user,\n updater: user,\n transactionType: 'RETURN'\n }\n\n delete newHistory.id\n\n await tx.getRepository(PalletHistory).save({\n ...newHistory\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n}\n"]}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.PalletQuery = void 0;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
6
5
|
const type_graphql_1 = require("type-graphql");
|
|
7
|
-
const typeorm_1 = require("typeorm");
|
|
8
6
|
const auth_base_1 = require("@things-factory/auth-base");
|
|
9
7
|
const shell_1 = require("@things-factory/shell");
|
|
10
8
|
const pallet_1 = require("./pallet");
|
|
@@ -20,12 +18,12 @@ let PalletQuery = class PalletQuery {
|
|
|
20
18
|
});
|
|
21
19
|
}
|
|
22
20
|
const convertedParams = (0, shell_1.convertListParams)(params, { domain });
|
|
23
|
-
const [items, total] = await (0,
|
|
21
|
+
const [items, total] = await (0, shell_1.getRepository)(pallet_1.Pallet).findAndCount(Object.assign(Object.assign({}, convertedParams), { relations: ['owner', 'holder', 'domain', 'creator', 'updater'] }));
|
|
24
22
|
return { items, total };
|
|
25
23
|
}
|
|
26
24
|
async pallet(name, context) {
|
|
27
25
|
const { domain } = context.state;
|
|
28
|
-
let records = await (0,
|
|
26
|
+
let records = await (0, shell_1.getRepository)(pallet_1.Pallet).findOne({
|
|
29
27
|
where: { domain: domain, name },
|
|
30
28
|
relations: ['owner', 'holder', 'domain', 'creator', 'updater']
|
|
31
29
|
});
|
|
@@ -35,7 +33,7 @@ let PalletQuery = class PalletQuery {
|
|
|
35
33
|
var _a, _b;
|
|
36
34
|
try {
|
|
37
35
|
const { domain } = context.state;
|
|
38
|
-
let item = await (0,
|
|
36
|
+
let item = await (0, shell_1.getRepository)(pallet_1.Pallet).findOne({
|
|
39
37
|
where: { domain: domain, name },
|
|
40
38
|
relations: ['owner', 'holder', 'domain', 'creator', 'updater']
|
|
41
39
|
});
|
|
@@ -53,7 +51,7 @@ let PalletQuery = class PalletQuery {
|
|
|
53
51
|
var _a, _b;
|
|
54
52
|
try {
|
|
55
53
|
const { domain } = context.state;
|
|
56
|
-
let item = await (0,
|
|
54
|
+
let item = await (0, shell_1.getRepository)(pallet_1.Pallet).findOne({
|
|
57
55
|
where: { domain: domain, name },
|
|
58
56
|
relations: ['owner', 'holder', 'domain', 'creator', 'updater']
|
|
59
57
|
});
|
|
@@ -69,20 +67,20 @@ let PalletQuery = class PalletQuery {
|
|
|
69
67
|
}
|
|
70
68
|
async palletByStatus(name, status, context) {
|
|
71
69
|
const { domain } = context.state;
|
|
72
|
-
let records = await (0,
|
|
70
|
+
let records = await (0, shell_1.getRepository)(pallet_1.Pallet).findOne({
|
|
73
71
|
where: { domain: domain, name, status },
|
|
74
72
|
relations: ['owner', 'holder', 'domain', 'creator', 'updater']
|
|
75
73
|
});
|
|
76
74
|
return records;
|
|
77
75
|
}
|
|
78
76
|
async domain(pallet) {
|
|
79
|
-
return await (0,
|
|
77
|
+
return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: pallet.domainId });
|
|
80
78
|
}
|
|
81
79
|
async updater(pallet) {
|
|
82
|
-
return await (0,
|
|
80
|
+
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: pallet.updaterId });
|
|
83
81
|
}
|
|
84
82
|
async creator(pallet) {
|
|
85
|
-
return await (0,
|
|
83
|
+
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: pallet.creatorId });
|
|
86
84
|
}
|
|
87
85
|
};
|
|
88
86
|
tslib_1.__decorate([
|
|
@@ -90,7 +88,7 @@ tslib_1.__decorate([
|
|
|
90
88
|
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
91
89
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
92
90
|
tslib_1.__metadata("design:type", Function),
|
|
93
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
91
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
94
92
|
tslib_1.__metadata("design:returntype", Promise)
|
|
95
93
|
], PalletQuery.prototype, "pallets", null);
|
|
96
94
|
tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pallet-query.js","sourceRoot":"","sources":["../../../server/service/pallet/pallet-query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pallet-query.js","sourceRoot":"","sources":["../../../server/service/pallet/pallet-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAmF;AAEnF,yDAAgD;AAChD,iDAA2F;AAE3F,qCAAiC;AACjC,iDAA2D;AAG3D,IAAa,WAAW,GAAxB,MAAa,WAAW;IAEtB,KAAK,CAAC,OAAO,CAAS,MAAiB,EAAS,OAAwB;QACtE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE;YACnE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,YAAY;aACpB,CAAC,CAAA;SACH;QAED,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7D,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,qBAAa,EAAC,eAAM,CAAC,CAAC,YAAY,iCAC1D,eAAe,KAClB,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,IAC9D,CAAA;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGD,KAAK,CAAC,MAAM,CAAc,IAAY,EAAS,OAAwB;QACrE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,IAAI,OAAO,GAAG,MAAM,IAAA,qBAAa,EAAC,eAAM,CAAC,CAAC,OAAO,CAAC;YAChD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;YAC/B,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;SAC/D,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC;IAGD,KAAK,CAAC,qBAAqB,CAAc,IAAY,EAAS,OAAwB;;QACpF,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAEhC,IAAI,IAAI,GAAG,MAAM,IAAA,qBAAa,EAAC,eAAM,CAAC,CAAC,OAAO,CAAC;gBAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC/B,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;aAC/D,CAAC,CAAA;YACF,IAAI,CAAC,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,QAAQ;gBAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;YACpE,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,EAAE,OAAK,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,EAAE,CAAA;gBAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAA;YAC1F,OAAO,EAAE,IAAI,EAAE,CAAA;SAChB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAGD,KAAK,CAAC,sBAAsB,CAAc,IAAY,EAAS,OAAwB;;QACrF,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAEhC,IAAI,IAAI,GAAG,MAAM,IAAA,qBAAa,EAAC,eAAM,CAAC,CAAC,OAAO,CAAC;gBAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC/B,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;aAC/D,CAAC,CAAA;YACF,IAAI,CAAC,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,QAAQ;gBAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;YACpE,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,EAAE,MAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,EAAE,CAAA;gBAAE,OAAO,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAA;YACrF,OAAO,EAAE,IAAI,EAAE,CAAA;SAChB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAGD,KAAK,CAAC,cAAc,CACL,IAAY,EACV,MAAc,EACtB,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,IAAI,OAAO,GAAG,MAAM,IAAA,qBAAa,EAAC,eAAM,CAAC,CAAC,OAAO,CAAC;YAChD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;YACvC,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;SAC/D,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAChB,CAAC;IAGD,KAAK,CAAC,MAAM,CAAS,MAAc;QACjC,OAAO,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvE,CAAC;IAGD,KAAK,CAAC,OAAO,CAAS,MAAc;QAClC,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;IACtE,CAAC;IAGD,KAAK,CAAC,OAAO,CAAS,MAAc;QAClC,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;IACtE,CAAC;CACF,CAAA;AA9FC;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,yBAAU,CAAC;IACd,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,iBAAS;;0CAiBtC;AAGD;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,eAAM,CAAC;IACX,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;yCAQ7C;AAGD;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,6BAAc,CAAC;IACJ,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;wDAc5D;AAGD;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,6BAAc,CAAC;IACH,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;yDAc7D;AAGD;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,eAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAE1C,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,QAAQ,CAAC,CAAA;IACb,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iDAUP;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAS,eAAM;;yCAElC;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAS,eAAM;;0CAEnC;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAS,eAAM;;0CAEnC;AA/FU,WAAW;IADvB,IAAA,uBAAQ,EAAC,eAAM,CAAC;GACJ,WAAW,CAgGvB;AAhGY,kCAAW","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { convertListParams, Domain, getRepository, ListParam } from '@things-factory/shell'\n\nimport { Pallet } from './pallet'\nimport { PalletList, PalletValidate } from './pallet-types'\n\n@Resolver(Pallet)\nexport class PalletQuery {\n @Query(returns => PalletList)\n async pallets(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<PalletList> {\n const { domain } = context.state\n\n if (!params.filters.find((filter: any) => filter.name === 'status')) {\n params.filters.push({\n name: 'status',\n operator: 'noteq',\n value: 'TERMINATED'\n })\n }\n\n const convertedParams = convertListParams(params, { domain })\n const [items, total] = await getRepository(Pallet).findAndCount({\n ...convertedParams,\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n return { items, total }\n }\n\n @Query(returns => Pallet)\n async pallet(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Pallet> {\n const { domain } = context.state\n\n let records = await getRepository(Pallet).findOne({\n where: { domain: domain, name },\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n return records\n }\n\n @Query(returns => PalletValidate)\n async palletInboundValidate(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<PalletValidate> {\n try {\n const { domain } = context.state\n\n let item = await getRepository(Pallet).findOne({\n where: { domain: domain, name },\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n if (!item || item?.status != 'ACTIVE') return { error: 'Not found' }\n if (item?.owner?.id === item?.holder?.id) return { error: 'Pallet already in warehouse!' }\n return { item }\n } catch (error) {\n throw error\n }\n }\n\n @Query(returns => PalletValidate)\n async palletOutboundValidate(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<PalletValidate> {\n try {\n const { domain } = context.state\n\n let item = await getRepository(Pallet).findOne({\n where: { domain: domain, name },\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n if (!item || item?.status != 'ACTIVE') return { error: 'Not found' }\n if (item?.owner?.id != item?.holder?.id) return { error: 'Pallet not in warehouse!' }\n return { item }\n } catch (error) {\n throw error\n }\n }\n\n @Query(returns => Pallet, { nullable: true })\n async palletByStatus(\n @Arg('name') name: string,\n @Arg('status') status: string,\n @Ctx() context: ResolverContext\n ): Promise<Pallet | boolean> {\n const { domain } = context.state\n\n let records = await getRepository(Pallet).findOne({\n where: { domain: domain, name, status },\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n\n return records\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() pallet: Pallet) {\n return await getRepository(Domain).findOneBy({ id: pallet.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() pallet: Pallet) {\n return await getRepository(User).findOneBy({ id: pallet.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() pallet: Pallet) {\n return await getRepository(User).findOneBy({ id: pallet.creatorId })\n }\n}\n"]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a, _b, _c, _d, _e;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.PalletValidate = exports.PalletPatch = exports.PalletList = exports.NewPallet = void 0;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
@@ -18,11 +17,11 @@ tslib_1.__decorate([
|
|
|
18
17
|
], NewPallet.prototype, "seq", void 0);
|
|
19
18
|
tslib_1.__decorate([
|
|
20
19
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
21
|
-
tslib_1.__metadata("design:type",
|
|
20
|
+
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
22
21
|
], NewPallet.prototype, "owner", void 0);
|
|
23
22
|
tslib_1.__decorate([
|
|
24
23
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
25
|
-
tslib_1.__metadata("design:type",
|
|
24
|
+
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
26
25
|
], NewPallet.prototype, "holder", void 0);
|
|
27
26
|
tslib_1.__decorate([
|
|
28
27
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
@@ -62,15 +61,15 @@ tslib_1.__decorate([
|
|
|
62
61
|
], PalletPatch.prototype, "seq", void 0);
|
|
63
62
|
tslib_1.__decorate([
|
|
64
63
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
65
|
-
tslib_1.__metadata("design:type",
|
|
64
|
+
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
66
65
|
], PalletPatch.prototype, "owner", void 0);
|
|
67
66
|
tslib_1.__decorate([
|
|
68
67
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
69
|
-
tslib_1.__metadata("design:type",
|
|
68
|
+
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
70
69
|
], PalletPatch.prototype, "holder", void 0);
|
|
71
70
|
tslib_1.__decorate([
|
|
72
71
|
(0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
|
|
73
|
-
tslib_1.__metadata("design:type",
|
|
72
|
+
tslib_1.__metadata("design:type", shell_1.ObjectRef)
|
|
74
73
|
], PalletPatch.prototype, "inventory", void 0);
|
|
75
74
|
tslib_1.__decorate([
|
|
76
75
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pallet-types.js","sourceRoot":"","sources":["../../../server/service/pallet/pallet-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pallet-types.js","sourceRoot":"","sources":["../../../server/service/pallet/pallet-types.ts"],"names":[],"mappings":";;;;AAAA,+CAAgE;AAEhE,iDAAiD;AAEjD,qCAAiC;AAGjC,IAAa,SAAS,GAAtB,MAAa,SAAS;CAerB,CAAA;AAbC;IADC,IAAA,oBAAK,GAAE;;uCACI;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC3B;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACrC,iBAAS;wCAAA;AAGjB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACpC,iBAAS;yCAAA;AAGlB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACX;AAdJ,SAAS;IADrB,IAAA,wBAAS,GAAE;GACC,SAAS,CAerB;AAfY,8BAAS;AAkBtB,IAAa,UAAU,GAAvB,MAAa,UAAU;CAMtB,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,eAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCAC5B;AAGhB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACzB;AALH,UAAU;IADtB,IAAA,yBAAU,GAAE;GACA,UAAU,CAMtB;AANY,gCAAU;AASvB,IAAa,WAAW,GAAxB,MAAa,WAAW;CAwBvB,CAAA;AAtBC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACf;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACb;AAGb;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCAC3B;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACrC,iBAAS;0CAAA;AAGjB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACpC,iBAAS;2CAAA;AAGlB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjC,iBAAS;8CAAA;AAGrB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACX;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACX;AAvBJ,WAAW;IADvB,IAAA,wBAAS,GAAE;GACC,WAAW,CAwBvB;AAxBY,kCAAW;AA2BxB,IAAa,cAAc,GAA3B,MAAa,cAAc;CAM1B,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,eAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACnC,eAAM;4CAAA;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACZ;AALH,cAAc;IAD1B,IAAA,yBAAU,GAAE;GACA,cAAc,CAM1B;AANY,wCAAc","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { Pallet } from './pallet'\n\n@InputType()\nexport class NewPallet {\n @Field()\n name: string\n\n @Field(type => Int, { nullable: true })\n seq?: number\n\n @Field(type => ObjectRef, { nullable: true })\n owner?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n holder?: ObjectRef\n\n @Field({ nullable: true })\n status?: string\n}\n\n@ObjectType()\nexport class PalletList {\n @Field(type => [Pallet], { nullable: true })\n items?: Pallet[]\n\n @Field(type => Int, { nullable: true })\n total?: number\n}\n\n@InputType()\nexport class PalletPatch {\n @Field({ nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field(type => Int, { nullable: true })\n seq?: number\n\n @Field(type => ObjectRef, { nullable: true })\n owner?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n holder?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n inventory?: ObjectRef\n\n @Field({ nullable: true })\n status?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class PalletValidate {\n @Field(type => Pallet, { nullable: true })\n item?: Pallet\n\n @Field({ nullable: true })\n error?: string\n}\n"]}
|