diff --git a/src/entity/unit/equipment/equipmentType.ts b/src/entity/unit/equipment/equipmentType.ts index 3d0b134..1739cfa 100644 --- a/src/entity/unit/equipment/equipmentType.ts +++ b/src/entity/unit/equipment/equipmentType.ts @@ -18,4 +18,6 @@ export class equipmentType { @OneToMany(() => inspectionPlan, (ip) => ip.equipmentType) inspectionPlans: inspectionPlan[]; + + equipmentCount: number; } diff --git a/src/entity/unit/vehicle/vehicleType.ts b/src/entity/unit/vehicle/vehicleType.ts index a3e3403..2e83b23 100644 --- a/src/entity/unit/vehicle/vehicleType.ts +++ b/src/entity/unit/vehicle/vehicleType.ts @@ -18,4 +18,6 @@ export class vehicleType { @OneToMany(() => inspectionPlan, (ip) => ip.vehicleType) inspectionPlans: inspectionPlan[]; + + vehicleCount: number; } diff --git a/src/entity/unit/wearable/wearableType.ts b/src/entity/unit/wearable/wearableType.ts index 15ae351..099ed26 100644 --- a/src/entity/unit/wearable/wearableType.ts +++ b/src/entity/unit/wearable/wearableType.ts @@ -18,4 +18,6 @@ export class wearableType { @OneToMany(() => inspectionPlan, (ip) => ip.wearableType) inspectionPlans: inspectionPlan[]; + + wearableCount: number; } diff --git a/src/factory/admin/unit/equipment/equipmentType.ts b/src/factory/admin/unit/equipment/equipmentType.ts index 6e84107..6906215 100644 --- a/src/factory/admin/unit/equipment/equipmentType.ts +++ b/src/factory/admin/unit/equipment/equipmentType.ts @@ -12,6 +12,7 @@ export default abstract class EquipmentTypeFactory { id: record.id, type: record.type, description: record.description, + equipmentCount: record.equipmentCount, }; } diff --git a/src/factory/admin/unit/vehicle/vehicleType.ts b/src/factory/admin/unit/vehicle/vehicleType.ts index 6155ca1..b282b79 100644 --- a/src/factory/admin/unit/vehicle/vehicleType.ts +++ b/src/factory/admin/unit/vehicle/vehicleType.ts @@ -12,6 +12,7 @@ export default abstract class VehicleTypeFactory { id: record.id, type: record.type, description: record.description, + vehicleCount: record.vehicleCount, }; } diff --git a/src/factory/admin/unit/wearable/wearableType.ts b/src/factory/admin/unit/wearable/wearableType.ts index b574bae..89c1066 100644 --- a/src/factory/admin/unit/wearable/wearableType.ts +++ b/src/factory/admin/unit/wearable/wearableType.ts @@ -12,6 +12,7 @@ export default abstract class WearableTypeFactory { id: record.id, type: record.type, description: record.description, + wearableCount: record.wearableCount, }; } diff --git a/src/service/unit/equipment/equipmentTypeService.ts b/src/service/unit/equipment/equipmentTypeService.ts index b85b9f1..16a9527 100644 --- a/src/service/unit/equipment/equipmentTypeService.ts +++ b/src/service/unit/equipment/equipmentTypeService.ts @@ -19,7 +19,10 @@ export default abstract class EquipmentTypeService { search?: string; noLimit?: boolean; }): Promise<[Array, number]> { - let query = dataSource.getRepository(equipmentType).createQueryBuilder("equipmentType"); + let query = dataSource + .getRepository(equipmentType) + .createQueryBuilder("equipmentType") + .loadRelationCountAndMap("equipmentType.equipmentCount", "equipmentType.equipment"); if (search != "") { query = query.where({ diff --git a/src/service/unit/vehicle/vehicleTypeService.ts b/src/service/unit/vehicle/vehicleTypeService.ts index c1dbdf2..438d46b 100644 --- a/src/service/unit/vehicle/vehicleTypeService.ts +++ b/src/service/unit/vehicle/vehicleTypeService.ts @@ -19,7 +19,10 @@ export default abstract class VehicleTypeService { search?: string; noLimit?: boolean; }): Promise<[Array, number]> { - let query = dataSource.getRepository(vehicleType).createQueryBuilder("vehicleType"); + let query = dataSource + .getRepository(vehicleType) + .createQueryBuilder("vehicleType") + .loadRelationCountAndMap("vehicleType.vehicleCount", "vehicleType.vehicle"); if (search != "") { query = query.where({ diff --git a/src/service/unit/wearable/wearableTypeService.ts b/src/service/unit/wearable/wearableTypeService.ts index cd91a26..a9f06f3 100644 --- a/src/service/unit/wearable/wearableTypeService.ts +++ b/src/service/unit/wearable/wearableTypeService.ts @@ -19,7 +19,10 @@ export default abstract class WearableTypeService { search?: string; noLimit?: boolean; }): Promise<[Array, number]> { - let query = dataSource.getRepository(wearableType).createQueryBuilder("wearableType"); + let query = dataSource + .getRepository(wearableType) + .createQueryBuilder("wearableType") + .loadRelationCountAndMap("wearableType.wearableCount", "wearableType.wearable"); if (search != "") { query = query.where({ diff --git a/src/viewmodel/admin/unit/equipment/equipmentType.models.ts b/src/viewmodel/admin/unit/equipment/equipmentType.models.ts index 05ad905..b7a1648 100644 --- a/src/viewmodel/admin/unit/equipment/equipmentType.models.ts +++ b/src/viewmodel/admin/unit/equipment/equipmentType.models.ts @@ -2,4 +2,5 @@ export interface EquipmentTypeViewModel { id: string; type: string; description: string; + equipmentCount: number; } diff --git a/src/viewmodel/admin/unit/vehicle/vehicleType.models.ts b/src/viewmodel/admin/unit/vehicle/vehicleType.models.ts index 726311e..a005853 100644 --- a/src/viewmodel/admin/unit/vehicle/vehicleType.models.ts +++ b/src/viewmodel/admin/unit/vehicle/vehicleType.models.ts @@ -2,4 +2,5 @@ export interface VehicleTypeViewModel { id: string; type: string; description: string; + vehicleCount: number; } diff --git a/src/viewmodel/admin/unit/wearable/wearableType.models.ts b/src/viewmodel/admin/unit/wearable/wearableType.models.ts index 73fd7c5..0c15a26 100644 --- a/src/viewmodel/admin/unit/wearable/wearableType.models.ts +++ b/src/viewmodel/admin/unit/wearable/wearableType.models.ts @@ -2,4 +2,5 @@ export interface WearableTypeViewModel { id: string; type: string; description: string; + wearableCount: number; }