cloud-ide-model-schema
Version:
Pachage for schema management of Cloud IDEsys LMS
105 lines (104 loc) • 2.89 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CFleetFuelLog = void 0;
var mongoose_1 = require("mongoose");
/* SCHEMA START */
var fleet_fuel_log = new mongoose_1.Schema({
fltfl_vehicle_id_fltvh: {
type: mongoose_1.default.Schema.Types.ObjectId,
ref: "fleet_vehicle_master",
required: true
},
fltfl_driver_id_fltdr: {
type: mongoose_1.default.Schema.Types.ObjectId,
ref: "fleet_driver_master"
},
fltfl_fill_date: {
type: Date,
required: true,
default: Date.now
},
fltfl_odometer_reading: {
type: Number,
required: true,
min: 0
},
fltfl_fuel_quantity: {
type: Number,
required: true,
min: 0
},
fltfl_fuel_unit_sygms: {
type: mongoose_1.default.Schema.Types.ObjectId,
ref: "core_general_master",
required: true
},
fltfl_cost_per_unit: {
type: Number,
required: true,
min: 0
},
fltfl_total_cost: {
type: Number,
required: true,
min: 0
},
fltfl_fuel_type_sygms: {
type: mongoose_1.default.Schema.Types.ObjectId,
ref: "core_general_master"
},
fltfl_vendor_name: {
type: String,
trim: true
},
fltfl_invoice_number: {
type: String,
trim: true
},
fltfl_payment_mode_sygms: {
type: mongoose_1.default.Schema.Types.ObjectId,
ref: "core_general_master"
},
fltfl_distance_since_last_fill: {
type: Number,
default: 0,
min: 0
},
fltfl_fuel_efficiency: {
type: Number,
default: 0,
min: 0
},
fltfl_entity_id_syen: {
type: mongoose_1.default.Schema.Types.ObjectId,
ref: "core_system_entity",
required: true
},
fltfl_created_by_user: {
type: mongoose_1.default.Schema.Types.ObjectId,
ref: "auth_user_mst"
},
fltfl_isactive: {
type: Boolean,
default: true
},
fltfl_created_at: {
type: Date,
default: Date.now
},
fltfl_updated_at: {
type: Date,
default: Date.now
}
}, { collection: 'fleet_fuel_log', timestamps: { createdAt: 'fltfl_created_at', updatedAt: 'fltfl_updated_at' } });
// Indexes for performance optimization
// Compound index for vehicle fuel history (most common query)
fleet_fuel_log.index({ fltfl_vehicle_id_fltvh: 1, fltfl_fill_date: -1 });
// Index for entity filtering
fleet_fuel_log.index({ fltfl_entity_id_syen: 1 });
// Index for driver tracking
fleet_fuel_log.index({ fltfl_driver_id_fltdr: 1 }, { sparse: true });
// Index for date-based reporting
fleet_fuel_log.index({ fltfl_fill_date: -1 });
var CFleetFuelLog = mongoose_1.default.model("fleet_fuel_log", fleet_fuel_log);
exports.CFleetFuelLog = CFleetFuelLog;