UNPKG

cloud-ide-model-schema

Version:

Pachage for schema management of Cloud IDEsys LMS

117 lines (116 loc) 3.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CFleetMaintenanceRecord = void 0; var mongoose_1 = require("mongoose"); /* SCHEMA START */ var fleet_maintenance_record = new mongoose_1.Schema({ fltmr_vehicle_id_fltvh: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "fleet_vehicle_master", required: true }, fltmr_maintenance_type_sygms: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_general_master", required: true }, fltmr_service_category_sygms: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_general_master" }, fltmr_scheduled_date: { type: Date }, fltmr_actual_date: { type: Date, required: true }, fltmr_odometer_reading: { type: Number, min: 0 }, fltmr_service_provider: { type: String, trim: true }, fltmr_description: { type: String, required: true, trim: true }, fltmr_parts_replaced: [{ part_name: { type: String, trim: true }, quantity: { type: Number, min: 1 }, cost: { type: Number, min: 0 } }], fltmr_labor_cost: { type: Number, default: 0, min: 0 }, fltmr_parts_cost: { type: Number, default: 0, min: 0 }, fltmr_total_cost: { type: Number, default: 0, min: 0 }, fltmr_next_service_date: { type: Date }, fltmr_next_service_odometer: { type: Number, min: 0 }, fltmr_status_sygms: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_general_master", required: true }, fltmr_entity_id_syen: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_system_entity", required: true }, fltmr_performed_by_user: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "auth_user_mst" }, fltmr_isactive: { type: Boolean, default: true }, fltmr_created_at: { type: Date, default: Date.now }, fltmr_updated_at: { type: Date, default: Date.now } }, { collection: 'fleet_maintenance_record', timestamps: { createdAt: 'fltmr_created_at', updatedAt: 'fltmr_updated_at' } }); // Indexes for performance optimization // Compound index for vehicle maintenance history (most common query) fleet_maintenance_record.index({ fltmr_vehicle_id_fltvh: 1, fltmr_actual_date: -1 }); // Index for upcoming maintenance monitoring fleet_maintenance_record.index({ fltmr_next_service_date: 1 }); // Index for status filtering fleet_maintenance_record.index({ fltmr_status_sygms: 1 }); // Index for entity filtering fleet_maintenance_record.index({ fltmr_entity_id_syen: 1 }); // Index for maintenance type reporting fleet_maintenance_record.index({ fltmr_maintenance_type_sygms: 1 }); var CFleetMaintenanceRecord = mongoose_1.default.model("fleet_maintenance_record", fleet_maintenance_record); exports.CFleetMaintenanceRecord = CFleetMaintenanceRecord;