cloud-ide-model-schema
Version:
Pachage for schema management of Cloud IDEsys LMS
117 lines (116 loc) • 3.31 kB
JavaScript
"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;