mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-28 14:50:57 +00:00
Add maintenance intervals configuration to track maintenance by kilometers driven. When a maintenance is marked COMPLETED, automatically calculate and schedule the next maintenance based on interval + current odometer reading. Features: - MaintenanceInterval entity: stores KM/day intervals per vehicle & type - scheduleNextMaintenance(): creates next SCHEDULED item after completion - nextDueKm field: tracks when next maintenance is due (in kilometers) - getDueBoard() queries already support KM-based tracking Maintenance now "marches forward" based on distance driven, not just dates. Each vehicle type can have different intervals (e.g., oil every 10k km, tires 50k km). Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
44 lines
1.6 KiB
TypeScript
44 lines
1.6 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { MaintenanceSchedule } from './entities/maintenance-schedule.entity';
|
|
import { MaintenanceCost } from './entities/maintenance-cost.entity';
|
|
import { MaintenanceInterval } from './entities/maintenance-interval.entity';
|
|
import { WorkOrder } from './entities/work-order.entity';
|
|
import { Part } from './entities/part.entity';
|
|
import { Warranty } from './entities/warranty.entity';
|
|
import { MaintenanceService } from './maintenance.service';
|
|
import { MaintenanceDepthService } from './maintenance-depth.service';
|
|
import { MaintenanceRepository } from './maintenance.repository';
|
|
import { MaintenanceIntervalRepository } from './maintenance-interval.repository';
|
|
import { WorkOrderRepository } from './work-order.repository';
|
|
import { PartRepository } from './part.repository';
|
|
import { WarrantyRepository } from './warranty.repository';
|
|
import { MaintenanceController } from './maintenance.controller';
|
|
import { NotificationInboxModule } from '../notification-inbox/notification-inbox.module';
|
|
|
|
@Module({
|
|
imports: [
|
|
TypeOrmModule.forFeature([
|
|
MaintenanceSchedule,
|
|
MaintenanceCost,
|
|
MaintenanceInterval,
|
|
WorkOrder,
|
|
Part,
|
|
Warranty,
|
|
]),
|
|
NotificationInboxModule,
|
|
],
|
|
providers: [
|
|
MaintenanceService,
|
|
MaintenanceDepthService,
|
|
MaintenanceRepository,
|
|
MaintenanceIntervalRepository,
|
|
WorkOrderRepository,
|
|
PartRepository,
|
|
WarrantyRepository,
|
|
],
|
|
controllers: [MaintenanceController],
|
|
exports: [MaintenanceService, MaintenanceDepthService],
|
|
})
|
|
export class MaintenanceModule {}
|