cloud-ide-model-schema 1.1.183 → 1.1.186
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/schema/auth/auth_user_mst.js +4 -7
- package/lib/schema/fleet/fleet_driver_master.d.ts +8 -0
- package/lib/schema/fleet/fleet_driver_master.js +118 -0
- package/lib/schema/fleet/fleet_fuel_log.d.ts +8 -0
- package/lib/schema/fleet/fleet_fuel_log.js +104 -0
- package/lib/schema/fleet/fleet_incident_report.d.ts +8 -0
- package/lib/schema/fleet/fleet_incident_report.js +105 -0
- package/lib/schema/fleet/fleet_maintenance_record.d.ts +8 -0
- package/lib/schema/fleet/fleet_maintenance_record.js +116 -0
- package/lib/schema/fleet/fleet_route_master.d.ts +8 -0
- package/lib/schema/fleet/fleet_route_master.js +103 -0
- package/lib/schema/fleet/fleet_route_stops.d.ts +8 -0
- package/lib/schema/fleet/fleet_route_stops.js +76 -0
- package/lib/schema/fleet/fleet_student_transport.d.ts +8 -0
- package/lib/schema/fleet/fleet_student_transport.js +81 -0
- package/lib/schema/fleet/fleet_trip_log.d.ts +8 -0
- package/lib/schema/fleet/fleet_trip_log.js +114 -0
- package/lib/schema/fleet/fleet_vehicle_assignment.d.ts +8 -0
- package/lib/schema/fleet/fleet_vehicle_assignment.js +91 -0
- package/lib/schema/fleet/fleet_vehicle_master.d.ts +8 -0
- package/lib/schema/fleet/fleet_vehicle_master.js +128 -0
- package/lib/schema/fleet/index.d.ts +10 -0
- package/lib/schema/fleet/index.js +24 -0
- package/lib/schema/index.d.ts +1 -0
- package/lib/schema/index.js +1 -0
- package/package.json +2 -2
|
@@ -47,19 +47,16 @@ var auth_user_mst = new mongoose_1.Schema({
|
|
|
47
47
|
minlength: 8,
|
|
48
48
|
maxlength: 50,
|
|
49
49
|
trim: true,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
comment: "Unique Email ID (when provided)",
|
|
53
|
-
message: "Unique Email ID (when provided)"
|
|
50
|
+
comment: "Email ID",
|
|
51
|
+
message: "Email ID"
|
|
54
52
|
},
|
|
55
53
|
user_mobileno: {
|
|
56
54
|
type: String,
|
|
57
55
|
minlength: 10,
|
|
58
56
|
maxlength: 15,
|
|
59
57
|
trim: true,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
message: "Unique Mobile no"
|
|
58
|
+
comment: "Mobile no",
|
|
59
|
+
message: "Mobile no"
|
|
63
60
|
},
|
|
64
61
|
user_password: {
|
|
65
62
|
type: String,
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FleetDriverMaster } from "cloud-ide-lms-model";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
declare const CFleetDriverMaster: mongoose.Model<FleetDriverMaster, {}, {}, {}, mongoose.Document<unknown, {}, FleetDriverMaster, {}> & FleetDriverMaster & Required<{
|
|
4
|
+
_id: string;
|
|
5
|
+
}> & {
|
|
6
|
+
__v: number;
|
|
7
|
+
}, any>;
|
|
8
|
+
export { CFleetDriverMaster };
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CFleetDriverMaster = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/* SCHEMA START */
|
|
6
|
+
var fleet_driver_master = new mongoose_1.Schema({
|
|
7
|
+
fltdr_driver_name: {
|
|
8
|
+
type: String,
|
|
9
|
+
required: true,
|
|
10
|
+
trim: true
|
|
11
|
+
},
|
|
12
|
+
fltdr_employee_id: {
|
|
13
|
+
type: String,
|
|
14
|
+
trim: true
|
|
15
|
+
},
|
|
16
|
+
fltdr_user_id_auth: {
|
|
17
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
18
|
+
ref: "auth_user_mst"
|
|
19
|
+
},
|
|
20
|
+
fltdr_license_number: {
|
|
21
|
+
type: String,
|
|
22
|
+
required: true,
|
|
23
|
+
trim: true,
|
|
24
|
+
uppercase: true
|
|
25
|
+
},
|
|
26
|
+
fltdr_license_type_sygms: {
|
|
27
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
28
|
+
ref: "core_general_master",
|
|
29
|
+
required: true
|
|
30
|
+
},
|
|
31
|
+
fltdr_license_expiry_date: {
|
|
32
|
+
type: Date,
|
|
33
|
+
required: true
|
|
34
|
+
},
|
|
35
|
+
fltdr_date_of_birth: {
|
|
36
|
+
type: Date
|
|
37
|
+
},
|
|
38
|
+
fltdr_phone_number: {
|
|
39
|
+
type: String,
|
|
40
|
+
trim: true
|
|
41
|
+
},
|
|
42
|
+
fltdr_email: {
|
|
43
|
+
type: String,
|
|
44
|
+
trim: true,
|
|
45
|
+
lowercase: true
|
|
46
|
+
},
|
|
47
|
+
fltdr_address: {
|
|
48
|
+
type: String,
|
|
49
|
+
trim: true
|
|
50
|
+
},
|
|
51
|
+
fltdr_blood_group_sygms: {
|
|
52
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
53
|
+
ref: "core_general_master"
|
|
54
|
+
},
|
|
55
|
+
fltdr_emergency_contact_name: {
|
|
56
|
+
type: String,
|
|
57
|
+
trim: true
|
|
58
|
+
},
|
|
59
|
+
fltdr_emergency_contact_phone: {
|
|
60
|
+
type: String,
|
|
61
|
+
trim: true
|
|
62
|
+
},
|
|
63
|
+
fltdr_joining_date: {
|
|
64
|
+
type: Date
|
|
65
|
+
},
|
|
66
|
+
fltdr_experience_years: {
|
|
67
|
+
type: Number,
|
|
68
|
+
min: 0
|
|
69
|
+
},
|
|
70
|
+
fltdr_entity_id_syen: {
|
|
71
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
72
|
+
ref: "core_system_entity",
|
|
73
|
+
required: true
|
|
74
|
+
},
|
|
75
|
+
fltdr_status_sygms: {
|
|
76
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
77
|
+
ref: "core_general_master",
|
|
78
|
+
required: true
|
|
79
|
+
},
|
|
80
|
+
fltdr_custom_fields: {
|
|
81
|
+
type: mongoose_1.Schema.Types.Mixed
|
|
82
|
+
},
|
|
83
|
+
fltdr_isactive: {
|
|
84
|
+
type: Boolean,
|
|
85
|
+
default: true
|
|
86
|
+
},
|
|
87
|
+
fltdr_created_at: {
|
|
88
|
+
type: Date,
|
|
89
|
+
default: Date.now
|
|
90
|
+
},
|
|
91
|
+
fltdr_updated_at: {
|
|
92
|
+
type: Date,
|
|
93
|
+
default: Date.now
|
|
94
|
+
},
|
|
95
|
+
fltdr_created_by_user: {
|
|
96
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
97
|
+
ref: "auth_user_mst"
|
|
98
|
+
}
|
|
99
|
+
}, { collection: 'fleet_driver_master', timestamps: { createdAt: 'fltdr_created_at', updatedAt: 'fltdr_updated_at' } });
|
|
100
|
+
// Indexes for performance optimization
|
|
101
|
+
// Compound index for entity-based queries with status filtering
|
|
102
|
+
fleet_driver_master.index({ fltdr_entity_id_syen: 1, fltdr_status_sygms: 1, fltdr_isactive: 1 });
|
|
103
|
+
// Unique index for license number
|
|
104
|
+
fleet_driver_master.index({ fltdr_license_number: 1 }, { unique: true });
|
|
105
|
+
// Index for user reference lookup
|
|
106
|
+
fleet_driver_master.index({ fltdr_user_id_auth: 1 }, { sparse: true });
|
|
107
|
+
// Index for active drivers only
|
|
108
|
+
fleet_driver_master.index({ fltdr_isactive: 1 });
|
|
109
|
+
// Index for license expiry monitoring
|
|
110
|
+
fleet_driver_master.index({ fltdr_license_expiry_date: 1 });
|
|
111
|
+
// Text index for search functionality
|
|
112
|
+
fleet_driver_master.index({
|
|
113
|
+
fltdr_driver_name: 'text',
|
|
114
|
+
fltdr_employee_id: 'text',
|
|
115
|
+
fltdr_license_number: 'text'
|
|
116
|
+
});
|
|
117
|
+
var CFleetDriverMaster = mongoose_1.default.model("fleet_driver_master", fleet_driver_master);
|
|
118
|
+
exports.CFleetDriverMaster = CFleetDriverMaster;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FleetFuelLog } from "cloud-ide-lms-model";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
declare const CFleetFuelLog: mongoose.Model<FleetFuelLog, {}, {}, {}, mongoose.Document<unknown, {}, FleetFuelLog, {}> & FleetFuelLog & Required<{
|
|
4
|
+
_id: string;
|
|
5
|
+
}> & {
|
|
6
|
+
__v: number;
|
|
7
|
+
}, any>;
|
|
8
|
+
export { CFleetFuelLog };
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CFleetFuelLog = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/* SCHEMA START */
|
|
6
|
+
var fleet_fuel_log = new mongoose_1.Schema({
|
|
7
|
+
fltfl_vehicle_id_fltvh: {
|
|
8
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
9
|
+
ref: "fleet_vehicle_master",
|
|
10
|
+
required: true
|
|
11
|
+
},
|
|
12
|
+
fltfl_driver_id_fltdr: {
|
|
13
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
14
|
+
ref: "fleet_driver_master"
|
|
15
|
+
},
|
|
16
|
+
fltfl_fill_date: {
|
|
17
|
+
type: Date,
|
|
18
|
+
required: true,
|
|
19
|
+
default: Date.now
|
|
20
|
+
},
|
|
21
|
+
fltfl_odometer_reading: {
|
|
22
|
+
type: Number,
|
|
23
|
+
required: true,
|
|
24
|
+
min: 0
|
|
25
|
+
},
|
|
26
|
+
fltfl_fuel_quantity: {
|
|
27
|
+
type: Number,
|
|
28
|
+
required: true,
|
|
29
|
+
min: 0
|
|
30
|
+
},
|
|
31
|
+
fltfl_fuel_unit_sygms: {
|
|
32
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
33
|
+
ref: "core_general_master",
|
|
34
|
+
required: true
|
|
35
|
+
},
|
|
36
|
+
fltfl_cost_per_unit: {
|
|
37
|
+
type: Number,
|
|
38
|
+
required: true,
|
|
39
|
+
min: 0
|
|
40
|
+
},
|
|
41
|
+
fltfl_total_cost: {
|
|
42
|
+
type: Number,
|
|
43
|
+
required: true,
|
|
44
|
+
min: 0
|
|
45
|
+
},
|
|
46
|
+
fltfl_fuel_type_sygms: {
|
|
47
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
48
|
+
ref: "core_general_master"
|
|
49
|
+
},
|
|
50
|
+
fltfl_vendor_name: {
|
|
51
|
+
type: String,
|
|
52
|
+
trim: true
|
|
53
|
+
},
|
|
54
|
+
fltfl_invoice_number: {
|
|
55
|
+
type: String,
|
|
56
|
+
trim: true
|
|
57
|
+
},
|
|
58
|
+
fltfl_payment_mode_sygms: {
|
|
59
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
60
|
+
ref: "core_general_master"
|
|
61
|
+
},
|
|
62
|
+
fltfl_distance_since_last_fill: {
|
|
63
|
+
type: Number,
|
|
64
|
+
default: 0,
|
|
65
|
+
min: 0
|
|
66
|
+
},
|
|
67
|
+
fltfl_fuel_efficiency: {
|
|
68
|
+
type: Number,
|
|
69
|
+
default: 0,
|
|
70
|
+
min: 0
|
|
71
|
+
},
|
|
72
|
+
fltfl_entity_id_syen: {
|
|
73
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
74
|
+
ref: "core_system_entity",
|
|
75
|
+
required: true
|
|
76
|
+
},
|
|
77
|
+
fltfl_created_by_user: {
|
|
78
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
79
|
+
ref: "auth_user_mst"
|
|
80
|
+
},
|
|
81
|
+
fltfl_isactive: {
|
|
82
|
+
type: Boolean,
|
|
83
|
+
default: true
|
|
84
|
+
},
|
|
85
|
+
fltfl_created_at: {
|
|
86
|
+
type: Date,
|
|
87
|
+
default: Date.now
|
|
88
|
+
},
|
|
89
|
+
fltfl_updated_at: {
|
|
90
|
+
type: Date,
|
|
91
|
+
default: Date.now
|
|
92
|
+
}
|
|
93
|
+
}, { collection: 'fleet_fuel_log', timestamps: { createdAt: 'fltfl_created_at', updatedAt: 'fltfl_updated_at' } });
|
|
94
|
+
// Indexes for performance optimization
|
|
95
|
+
// Compound index for vehicle fuel history (most common query)
|
|
96
|
+
fleet_fuel_log.index({ fltfl_vehicle_id_fltvh: 1, fltfl_fill_date: -1 });
|
|
97
|
+
// Index for entity filtering
|
|
98
|
+
fleet_fuel_log.index({ fltfl_entity_id_syen: 1 });
|
|
99
|
+
// Index for driver tracking
|
|
100
|
+
fleet_fuel_log.index({ fltfl_driver_id_fltdr: 1 }, { sparse: true });
|
|
101
|
+
// Index for date-based reporting
|
|
102
|
+
fleet_fuel_log.index({ fltfl_fill_date: -1 });
|
|
103
|
+
var CFleetFuelLog = mongoose_1.default.model("fleet_fuel_log", fleet_fuel_log);
|
|
104
|
+
exports.CFleetFuelLog = CFleetFuelLog;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FleetIncidentReport } from "cloud-ide-lms-model";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
declare const CFleetIncidentReport: mongoose.Model<FleetIncidentReport, {}, {}, {}, mongoose.Document<unknown, {}, FleetIncidentReport, {}> & FleetIncidentReport & Required<{
|
|
4
|
+
_id: string;
|
|
5
|
+
}> & {
|
|
6
|
+
__v: number;
|
|
7
|
+
}, any>;
|
|
8
|
+
export { CFleetIncidentReport };
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CFleetIncidentReport = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/* SCHEMA START */
|
|
6
|
+
var fleet_incident_report = new mongoose_1.Schema({
|
|
7
|
+
fltir_vehicle_id_fltvh: {
|
|
8
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
9
|
+
ref: "fleet_vehicle_master",
|
|
10
|
+
required: true
|
|
11
|
+
},
|
|
12
|
+
fltir_driver_id_fltdr: {
|
|
13
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
14
|
+
ref: "fleet_driver_master",
|
|
15
|
+
required: true
|
|
16
|
+
},
|
|
17
|
+
fltir_incident_date: {
|
|
18
|
+
type: Date,
|
|
19
|
+
required: true
|
|
20
|
+
},
|
|
21
|
+
fltir_incident_time: {
|
|
22
|
+
type: String,
|
|
23
|
+
trim: true,
|
|
24
|
+
match: /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$/ // HH:MM format
|
|
25
|
+
},
|
|
26
|
+
fltir_incident_type_sygms: {
|
|
27
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
28
|
+
ref: "core_general_master",
|
|
29
|
+
required: true
|
|
30
|
+
},
|
|
31
|
+
fltir_severity_sygms: {
|
|
32
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
33
|
+
ref: "core_general_master"
|
|
34
|
+
},
|
|
35
|
+
fltir_location: {
|
|
36
|
+
type: String,
|
|
37
|
+
trim: true
|
|
38
|
+
},
|
|
39
|
+
fltir_description: {
|
|
40
|
+
type: String,
|
|
41
|
+
required: true,
|
|
42
|
+
trim: true
|
|
43
|
+
},
|
|
44
|
+
fltir_police_report_number: {
|
|
45
|
+
type: String,
|
|
46
|
+
trim: true
|
|
47
|
+
},
|
|
48
|
+
fltir_insurance_claim_number: {
|
|
49
|
+
type: String,
|
|
50
|
+
trim: true
|
|
51
|
+
},
|
|
52
|
+
fltir_estimated_damage_cost: {
|
|
53
|
+
type: Number,
|
|
54
|
+
min: 0
|
|
55
|
+
},
|
|
56
|
+
fltir_injuries_reported: {
|
|
57
|
+
type: Boolean,
|
|
58
|
+
default: false
|
|
59
|
+
},
|
|
60
|
+
fltir_injury_details: {
|
|
61
|
+
type: String,
|
|
62
|
+
trim: true
|
|
63
|
+
},
|
|
64
|
+
fltir_status_sygms: {
|
|
65
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
66
|
+
ref: "core_general_master",
|
|
67
|
+
required: true
|
|
68
|
+
},
|
|
69
|
+
fltir_entity_id_syen: {
|
|
70
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
71
|
+
ref: "core_system_entity",
|
|
72
|
+
required: true
|
|
73
|
+
},
|
|
74
|
+
fltir_reported_by_user: {
|
|
75
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
76
|
+
ref: "auth_user_mst"
|
|
77
|
+
},
|
|
78
|
+
fltir_isactive: {
|
|
79
|
+
type: Boolean,
|
|
80
|
+
default: true
|
|
81
|
+
},
|
|
82
|
+
fltir_created_at: {
|
|
83
|
+
type: Date,
|
|
84
|
+
default: Date.now
|
|
85
|
+
},
|
|
86
|
+
fltir_updated_at: {
|
|
87
|
+
type: Date,
|
|
88
|
+
default: Date.now
|
|
89
|
+
}
|
|
90
|
+
}, { collection: 'fleet_incident_report', timestamps: { createdAt: 'fltir_created_at', updatedAt: 'fltir_updated_at' } });
|
|
91
|
+
// Indexes for performance optimization
|
|
92
|
+
// Compound index for entity and date-based queries
|
|
93
|
+
fleet_incident_report.index({ fltir_entity_id_syen: 1, fltir_incident_date: -1 });
|
|
94
|
+
// Index for vehicle incident history
|
|
95
|
+
fleet_incident_report.index({ fltir_vehicle_id_fltvh: 1 });
|
|
96
|
+
// Index for driver incident tracking
|
|
97
|
+
fleet_incident_report.index({ fltir_driver_id_fltdr: 1 });
|
|
98
|
+
// Index for status filtering
|
|
99
|
+
fleet_incident_report.index({ fltir_status_sygms: 1 });
|
|
100
|
+
// Index for incident type reporting
|
|
101
|
+
fleet_incident_report.index({ fltir_incident_type_sygms: 1 });
|
|
102
|
+
// Index for severity tracking
|
|
103
|
+
fleet_incident_report.index({ fltir_severity_sygms: 1 }, { sparse: true });
|
|
104
|
+
var CFleetIncidentReport = mongoose_1.default.model("fleet_incident_report", fleet_incident_report);
|
|
105
|
+
exports.CFleetIncidentReport = CFleetIncidentReport;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FleetMaintenanceRecord } from "cloud-ide-lms-model";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
declare const CFleetMaintenanceRecord: mongoose.Model<FleetMaintenanceRecord, {}, {}, {}, mongoose.Document<unknown, {}, FleetMaintenanceRecord, {}> & FleetMaintenanceRecord & Required<{
|
|
4
|
+
_id: string;
|
|
5
|
+
}> & {
|
|
6
|
+
__v: number;
|
|
7
|
+
}, any>;
|
|
8
|
+
export { CFleetMaintenanceRecord };
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CFleetMaintenanceRecord = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/* SCHEMA START */
|
|
6
|
+
var fleet_maintenance_record = new mongoose_1.Schema({
|
|
7
|
+
fltmr_vehicle_id_fltvh: {
|
|
8
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
9
|
+
ref: "fleet_vehicle_master",
|
|
10
|
+
required: true
|
|
11
|
+
},
|
|
12
|
+
fltmr_maintenance_type_sygms: {
|
|
13
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
14
|
+
ref: "core_general_master",
|
|
15
|
+
required: true
|
|
16
|
+
},
|
|
17
|
+
fltmr_service_category_sygms: {
|
|
18
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
19
|
+
ref: "core_general_master"
|
|
20
|
+
},
|
|
21
|
+
fltmr_scheduled_date: {
|
|
22
|
+
type: Date
|
|
23
|
+
},
|
|
24
|
+
fltmr_actual_date: {
|
|
25
|
+
type: Date,
|
|
26
|
+
required: true
|
|
27
|
+
},
|
|
28
|
+
fltmr_odometer_reading: {
|
|
29
|
+
type: Number,
|
|
30
|
+
min: 0
|
|
31
|
+
},
|
|
32
|
+
fltmr_service_provider: {
|
|
33
|
+
type: String,
|
|
34
|
+
trim: true
|
|
35
|
+
},
|
|
36
|
+
fltmr_description: {
|
|
37
|
+
type: String,
|
|
38
|
+
required: true,
|
|
39
|
+
trim: true
|
|
40
|
+
},
|
|
41
|
+
fltmr_parts_replaced: [{
|
|
42
|
+
part_name: {
|
|
43
|
+
type: String,
|
|
44
|
+
trim: true
|
|
45
|
+
},
|
|
46
|
+
quantity: {
|
|
47
|
+
type: Number,
|
|
48
|
+
min: 1
|
|
49
|
+
},
|
|
50
|
+
cost: {
|
|
51
|
+
type: Number,
|
|
52
|
+
min: 0
|
|
53
|
+
}
|
|
54
|
+
}],
|
|
55
|
+
fltmr_labor_cost: {
|
|
56
|
+
type: Number,
|
|
57
|
+
default: 0,
|
|
58
|
+
min: 0
|
|
59
|
+
},
|
|
60
|
+
fltmr_parts_cost: {
|
|
61
|
+
type: Number,
|
|
62
|
+
default: 0,
|
|
63
|
+
min: 0
|
|
64
|
+
},
|
|
65
|
+
fltmr_total_cost: {
|
|
66
|
+
type: Number,
|
|
67
|
+
default: 0,
|
|
68
|
+
min: 0
|
|
69
|
+
},
|
|
70
|
+
fltmr_next_service_date: {
|
|
71
|
+
type: Date
|
|
72
|
+
},
|
|
73
|
+
fltmr_next_service_odometer: {
|
|
74
|
+
type: Number,
|
|
75
|
+
min: 0
|
|
76
|
+
},
|
|
77
|
+
fltmr_status_sygms: {
|
|
78
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
79
|
+
ref: "core_general_master",
|
|
80
|
+
required: true
|
|
81
|
+
},
|
|
82
|
+
fltmr_entity_id_syen: {
|
|
83
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
84
|
+
ref: "core_system_entity",
|
|
85
|
+
required: true
|
|
86
|
+
},
|
|
87
|
+
fltmr_performed_by_user: {
|
|
88
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
89
|
+
ref: "auth_user_mst"
|
|
90
|
+
},
|
|
91
|
+
fltmr_isactive: {
|
|
92
|
+
type: Boolean,
|
|
93
|
+
default: true
|
|
94
|
+
},
|
|
95
|
+
fltmr_created_at: {
|
|
96
|
+
type: Date,
|
|
97
|
+
default: Date.now
|
|
98
|
+
},
|
|
99
|
+
fltmr_updated_at: {
|
|
100
|
+
type: Date,
|
|
101
|
+
default: Date.now
|
|
102
|
+
}
|
|
103
|
+
}, { collection: 'fleet_maintenance_record', timestamps: { createdAt: 'fltmr_created_at', updatedAt: 'fltmr_updated_at' } });
|
|
104
|
+
// Indexes for performance optimization
|
|
105
|
+
// Compound index for vehicle maintenance history (most common query)
|
|
106
|
+
fleet_maintenance_record.index({ fltmr_vehicle_id_fltvh: 1, fltmr_actual_date: -1 });
|
|
107
|
+
// Index for upcoming maintenance monitoring
|
|
108
|
+
fleet_maintenance_record.index({ fltmr_next_service_date: 1 });
|
|
109
|
+
// Index for status filtering
|
|
110
|
+
fleet_maintenance_record.index({ fltmr_status_sygms: 1 });
|
|
111
|
+
// Index for entity filtering
|
|
112
|
+
fleet_maintenance_record.index({ fltmr_entity_id_syen: 1 });
|
|
113
|
+
// Index for maintenance type reporting
|
|
114
|
+
fleet_maintenance_record.index({ fltmr_maintenance_type_sygms: 1 });
|
|
115
|
+
var CFleetMaintenanceRecord = mongoose_1.default.model("fleet_maintenance_record", fleet_maintenance_record);
|
|
116
|
+
exports.CFleetMaintenanceRecord = CFleetMaintenanceRecord;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FleetRouteMaster } from "cloud-ide-lms-model";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
declare const CFleetRouteMaster: mongoose.Model<FleetRouteMaster, {}, {}, {}, mongoose.Document<unknown, {}, FleetRouteMaster, {}> & FleetRouteMaster & Required<{
|
|
4
|
+
_id: string;
|
|
5
|
+
}> & {
|
|
6
|
+
__v: number;
|
|
7
|
+
}, any>;
|
|
8
|
+
export { CFleetRouteMaster };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CFleetRouteMaster = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/* SCHEMA START */
|
|
6
|
+
var fleet_route_master = new mongoose_1.Schema({
|
|
7
|
+
fltrm_route_code: {
|
|
8
|
+
type: String,
|
|
9
|
+
required: true,
|
|
10
|
+
trim: true,
|
|
11
|
+
uppercase: true
|
|
12
|
+
},
|
|
13
|
+
fltrm_route_name: {
|
|
14
|
+
type: String,
|
|
15
|
+
required: true,
|
|
16
|
+
trim: true
|
|
17
|
+
},
|
|
18
|
+
fltrm_route_type_sygms: {
|
|
19
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
20
|
+
ref: "core_general_master"
|
|
21
|
+
},
|
|
22
|
+
fltrm_starting_point: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: true,
|
|
25
|
+
trim: true
|
|
26
|
+
},
|
|
27
|
+
fltrm_ending_point: {
|
|
28
|
+
type: String,
|
|
29
|
+
required: true,
|
|
30
|
+
trim: true
|
|
31
|
+
},
|
|
32
|
+
fltrm_total_distance_km: {
|
|
33
|
+
type: Number,
|
|
34
|
+
min: 0
|
|
35
|
+
},
|
|
36
|
+
fltrm_estimated_duration_minutes: {
|
|
37
|
+
type: Number,
|
|
38
|
+
min: 0
|
|
39
|
+
},
|
|
40
|
+
fltrm_route_path_coordinates: [{
|
|
41
|
+
lat: {
|
|
42
|
+
type: Number,
|
|
43
|
+
min: -90,
|
|
44
|
+
max: 90
|
|
45
|
+
},
|
|
46
|
+
lng: {
|
|
47
|
+
type: Number,
|
|
48
|
+
min: -180,
|
|
49
|
+
max: 180
|
|
50
|
+
},
|
|
51
|
+
stop_name: {
|
|
52
|
+
type: String,
|
|
53
|
+
trim: true
|
|
54
|
+
},
|
|
55
|
+
stop_order: {
|
|
56
|
+
type: Number,
|
|
57
|
+
min: 1
|
|
58
|
+
}
|
|
59
|
+
}],
|
|
60
|
+
fltrm_entity_id_syen: {
|
|
61
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
62
|
+
ref: "core_system_entity",
|
|
63
|
+
required: true
|
|
64
|
+
},
|
|
65
|
+
fltrm_academic_year_id_acayr: {
|
|
66
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
67
|
+
ref: "aca_academic_year"
|
|
68
|
+
},
|
|
69
|
+
fltrm_isactive: {
|
|
70
|
+
type: Boolean,
|
|
71
|
+
default: true
|
|
72
|
+
},
|
|
73
|
+
fltrm_created_at: {
|
|
74
|
+
type: Date,
|
|
75
|
+
default: Date.now
|
|
76
|
+
},
|
|
77
|
+
fltrm_updated_at: {
|
|
78
|
+
type: Date,
|
|
79
|
+
default: Date.now
|
|
80
|
+
},
|
|
81
|
+
fltrm_created_by_user: {
|
|
82
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
83
|
+
ref: "auth_user_mst"
|
|
84
|
+
}
|
|
85
|
+
}, { collection: 'fleet_route_master', timestamps: { createdAt: 'fltrm_created_at', updatedAt: 'fltrm_updated_at' } });
|
|
86
|
+
// Indexes for performance optimization
|
|
87
|
+
// Compound index for entity-based queries
|
|
88
|
+
fleet_route_master.index({ fltrm_entity_id_syen: 1, fltrm_isactive: 1 });
|
|
89
|
+
// Unique compound index for route code per entity
|
|
90
|
+
fleet_route_master.index({ fltrm_route_code: 1, fltrm_entity_id_syen: 1 }, { unique: true });
|
|
91
|
+
// Index for academic year filtering (school-specific)
|
|
92
|
+
fleet_route_master.index({ fltrm_academic_year_id_acayr: 1 }, { sparse: true });
|
|
93
|
+
// Index for route type filtering
|
|
94
|
+
fleet_route_master.index({ fltrm_route_type_sygms: 1 }, { sparse: true });
|
|
95
|
+
// Text index for search functionality
|
|
96
|
+
fleet_route_master.index({
|
|
97
|
+
fltrm_route_code: 'text',
|
|
98
|
+
fltrm_route_name: 'text',
|
|
99
|
+
fltrm_starting_point: 'text',
|
|
100
|
+
fltrm_ending_point: 'text'
|
|
101
|
+
});
|
|
102
|
+
var CFleetRouteMaster = mongoose_1.default.model("fleet_route_master", fleet_route_master);
|
|
103
|
+
exports.CFleetRouteMaster = CFleetRouteMaster;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FleetRouteStops } from "cloud-ide-lms-model";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
declare const CFleetRouteStops: mongoose.Model<FleetRouteStops, {}, {}, {}, mongoose.Document<unknown, {}, FleetRouteStops, {}> & FleetRouteStops & Required<{
|
|
4
|
+
_id: string;
|
|
5
|
+
}> & {
|
|
6
|
+
__v: number;
|
|
7
|
+
}, any>;
|
|
8
|
+
export { CFleetRouteStops };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CFleetRouteStops = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/* SCHEMA START */
|
|
6
|
+
var fleet_route_stops = new mongoose_1.Schema({
|
|
7
|
+
fltrs_route_id_fltrm: {
|
|
8
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
9
|
+
ref: "fleet_route_master",
|
|
10
|
+
required: true
|
|
11
|
+
},
|
|
12
|
+
fltrs_stop_name: {
|
|
13
|
+
type: String,
|
|
14
|
+
required: true,
|
|
15
|
+
trim: true
|
|
16
|
+
},
|
|
17
|
+
fltrs_stop_address: {
|
|
18
|
+
type: String,
|
|
19
|
+
trim: true
|
|
20
|
+
},
|
|
21
|
+
fltrs_stop_latitude: {
|
|
22
|
+
type: Number,
|
|
23
|
+
min: -90,
|
|
24
|
+
max: 90
|
|
25
|
+
},
|
|
26
|
+
fltrs_stop_longitude: {
|
|
27
|
+
type: Number,
|
|
28
|
+
min: -180,
|
|
29
|
+
max: 180
|
|
30
|
+
},
|
|
31
|
+
fltrs_stop_order: {
|
|
32
|
+
type: Number,
|
|
33
|
+
required: true,
|
|
34
|
+
min: 1
|
|
35
|
+
},
|
|
36
|
+
fltrs_estimated_arrival_time: {
|
|
37
|
+
type: String,
|
|
38
|
+
trim: true,
|
|
39
|
+
match: /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$/ // HH:MM format
|
|
40
|
+
},
|
|
41
|
+
fltrs_stop_type_sygms: {
|
|
42
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
43
|
+
ref: "core_general_master"
|
|
44
|
+
},
|
|
45
|
+
fltrs_entity_id_syen: {
|
|
46
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
47
|
+
ref: "core_system_entity",
|
|
48
|
+
required: true
|
|
49
|
+
},
|
|
50
|
+
fltrs_isactive: {
|
|
51
|
+
type: Boolean,
|
|
52
|
+
default: true
|
|
53
|
+
},
|
|
54
|
+
fltrs_created_at: {
|
|
55
|
+
type: Date,
|
|
56
|
+
default: Date.now
|
|
57
|
+
},
|
|
58
|
+
fltrs_updated_at: {
|
|
59
|
+
type: Date,
|
|
60
|
+
default: Date.now
|
|
61
|
+
}
|
|
62
|
+
}, { collection: 'fleet_route_stops', timestamps: { createdAt: 'fltrs_created_at', updatedAt: 'fltrs_updated_at' } });
|
|
63
|
+
// Indexes for performance optimization
|
|
64
|
+
// Compound index for route-based queries with stop order
|
|
65
|
+
fleet_route_stops.index({ fltrs_route_id_fltrm: 1, fltrs_stop_order: 1 });
|
|
66
|
+
// Index for entity filtering
|
|
67
|
+
fleet_route_stops.index({ fltrs_entity_id_syen: 1 });
|
|
68
|
+
// Index for stop type filtering
|
|
69
|
+
fleet_route_stops.index({ fltrs_stop_type_sygms: 1 }, { sparse: true });
|
|
70
|
+
// Text index for stop search
|
|
71
|
+
fleet_route_stops.index({
|
|
72
|
+
fltrs_stop_name: 'text',
|
|
73
|
+
fltrs_stop_address: 'text'
|
|
74
|
+
});
|
|
75
|
+
var CFleetRouteStops = mongoose_1.default.model("fleet_route_stops", fleet_route_stops);
|
|
76
|
+
exports.CFleetRouteStops = CFleetRouteStops;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FleetStudentTransport } from "cloud-ide-lms-model";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
declare const CFleetStudentTransport: mongoose.Model<FleetStudentTransport, {}, {}, {}, mongoose.Document<unknown, {}, FleetStudentTransport, {}> & FleetStudentTransport & Required<{
|
|
4
|
+
_id: string;
|
|
5
|
+
}> & {
|
|
6
|
+
__v: number;
|
|
7
|
+
}, any>;
|
|
8
|
+
export { CFleetStudentTransport };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CFleetStudentTransport = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/* SCHEMA START */
|
|
6
|
+
var fleet_student_transport = new mongoose_1.Schema({
|
|
7
|
+
fltst_student_id_auth: {
|
|
8
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
9
|
+
ref: "auth_user_mst",
|
|
10
|
+
required: true
|
|
11
|
+
},
|
|
12
|
+
fltst_route_id_fltrm: {
|
|
13
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
14
|
+
ref: "fleet_route_master",
|
|
15
|
+
required: true
|
|
16
|
+
},
|
|
17
|
+
fltst_pickup_stop_id_fltrs: {
|
|
18
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
19
|
+
ref: "fleet_route_stops",
|
|
20
|
+
required: true
|
|
21
|
+
},
|
|
22
|
+
fltst_drop_stop_id_fltrs: {
|
|
23
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
24
|
+
ref: "fleet_route_stops",
|
|
25
|
+
required: true
|
|
26
|
+
},
|
|
27
|
+
fltst_valid_from: {
|
|
28
|
+
type: Date,
|
|
29
|
+
required: true
|
|
30
|
+
},
|
|
31
|
+
fltst_valid_to: {
|
|
32
|
+
type: Date
|
|
33
|
+
},
|
|
34
|
+
fltst_transport_type_sygms: {
|
|
35
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
36
|
+
ref: "core_general_master"
|
|
37
|
+
},
|
|
38
|
+
fltst_guardian_phone: {
|
|
39
|
+
type: String,
|
|
40
|
+
trim: true
|
|
41
|
+
},
|
|
42
|
+
fltst_entity_id_syen: {
|
|
43
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
44
|
+
ref: "core_system_entity",
|
|
45
|
+
required: true
|
|
46
|
+
},
|
|
47
|
+
fltst_academic_year_id_acayr: {
|
|
48
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
49
|
+
ref: "aca_academic_year",
|
|
50
|
+
required: true
|
|
51
|
+
},
|
|
52
|
+
fltst_isactive: {
|
|
53
|
+
type: Boolean,
|
|
54
|
+
default: true
|
|
55
|
+
},
|
|
56
|
+
fltst_created_at: {
|
|
57
|
+
type: Date,
|
|
58
|
+
default: Date.now
|
|
59
|
+
},
|
|
60
|
+
fltst_updated_at: {
|
|
61
|
+
type: Date,
|
|
62
|
+
default: Date.now
|
|
63
|
+
},
|
|
64
|
+
fltst_created_by_user: {
|
|
65
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
66
|
+
ref: "auth_user_mst"
|
|
67
|
+
}
|
|
68
|
+
}, { collection: 'fleet_student_transport', timestamps: { createdAt: 'fltst_created_at', updatedAt: 'fltst_updated_at' } });
|
|
69
|
+
// Indexes for performance optimization
|
|
70
|
+
// Compound index for entity and academic year queries (most common)
|
|
71
|
+
fleet_student_transport.index({ fltst_entity_id_syen: 1, fltst_academic_year_id_acayr: 1, fltst_isactive: 1 });
|
|
72
|
+
// Index for student lookup
|
|
73
|
+
fleet_student_transport.index({ fltst_student_id_auth: 1 });
|
|
74
|
+
// Index for route-based queries
|
|
75
|
+
fleet_student_transport.index({ fltst_route_id_fltrm: 1 });
|
|
76
|
+
// Index for pickup stop lookup
|
|
77
|
+
fleet_student_transport.index({ fltst_pickup_stop_id_fltrs: 1 });
|
|
78
|
+
// Index for drop stop lookup
|
|
79
|
+
fleet_student_transport.index({ fltst_drop_stop_id_fltrs: 1 });
|
|
80
|
+
var CFleetStudentTransport = mongoose_1.default.model("fleet_student_transport", fleet_student_transport);
|
|
81
|
+
exports.CFleetStudentTransport = CFleetStudentTransport;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FleetTripLog } from "cloud-ide-lms-model";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
declare const CFleetTripLog: mongoose.Model<FleetTripLog, {}, {}, {}, mongoose.Document<unknown, {}, FleetTripLog, {}> & FleetTripLog & Required<{
|
|
4
|
+
_id: string;
|
|
5
|
+
}> & {
|
|
6
|
+
__v: number;
|
|
7
|
+
}, any>;
|
|
8
|
+
export { CFleetTripLog };
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CFleetTripLog = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/* SCHEMA START */
|
|
6
|
+
var fleet_trip_log = new mongoose_1.Schema({
|
|
7
|
+
flttl_vehicle_id_fltvh: {
|
|
8
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
9
|
+
ref: "fleet_vehicle_master",
|
|
10
|
+
required: true
|
|
11
|
+
},
|
|
12
|
+
flttl_driver_id_fltdr: {
|
|
13
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
14
|
+
ref: "fleet_driver_master",
|
|
15
|
+
required: true
|
|
16
|
+
},
|
|
17
|
+
flttl_route_id_fltrm: {
|
|
18
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
19
|
+
ref: "fleet_route_master"
|
|
20
|
+
},
|
|
21
|
+
flttl_trip_date: {
|
|
22
|
+
type: Date,
|
|
23
|
+
required: true,
|
|
24
|
+
default: Date.now
|
|
25
|
+
},
|
|
26
|
+
flttl_start_datetime: {
|
|
27
|
+
type: Date,
|
|
28
|
+
required: true
|
|
29
|
+
},
|
|
30
|
+
flttl_end_datetime: {
|
|
31
|
+
type: Date
|
|
32
|
+
},
|
|
33
|
+
flttl_start_odometer_km: {
|
|
34
|
+
type: Number,
|
|
35
|
+
required: true,
|
|
36
|
+
min: 0
|
|
37
|
+
},
|
|
38
|
+
flttl_end_odometer_km: {
|
|
39
|
+
type: Number,
|
|
40
|
+
min: 0
|
|
41
|
+
},
|
|
42
|
+
flttl_distance_km: {
|
|
43
|
+
type: Number,
|
|
44
|
+
default: 0,
|
|
45
|
+
min: 0
|
|
46
|
+
},
|
|
47
|
+
flttl_trip_type_sygms: {
|
|
48
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
49
|
+
ref: "core_general_master"
|
|
50
|
+
},
|
|
51
|
+
flttl_purpose: {
|
|
52
|
+
type: String,
|
|
53
|
+
trim: true
|
|
54
|
+
},
|
|
55
|
+
flttl_passenger_count: {
|
|
56
|
+
type: Number,
|
|
57
|
+
default: 0,
|
|
58
|
+
min: 0
|
|
59
|
+
},
|
|
60
|
+
flttl_fuel_consumed_liters: {
|
|
61
|
+
type: Number,
|
|
62
|
+
default: 0,
|
|
63
|
+
min: 0
|
|
64
|
+
},
|
|
65
|
+
flttl_comments: {
|
|
66
|
+
type: String,
|
|
67
|
+
trim: true
|
|
68
|
+
},
|
|
69
|
+
flttl_trip_status_sygms: {
|
|
70
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
71
|
+
ref: "core_general_master",
|
|
72
|
+
required: true
|
|
73
|
+
},
|
|
74
|
+
flttl_entity_id_syen: {
|
|
75
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
76
|
+
ref: "core_system_entity",
|
|
77
|
+
required: true
|
|
78
|
+
},
|
|
79
|
+
flttl_academic_year_id_acayr: {
|
|
80
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
81
|
+
ref: "aca_academic_year"
|
|
82
|
+
},
|
|
83
|
+
flttl_isactive: {
|
|
84
|
+
type: Boolean,
|
|
85
|
+
default: true
|
|
86
|
+
},
|
|
87
|
+
flttl_created_at: {
|
|
88
|
+
type: Date,
|
|
89
|
+
default: Date.now
|
|
90
|
+
},
|
|
91
|
+
flttl_updated_at: {
|
|
92
|
+
type: Date,
|
|
93
|
+
default: Date.now
|
|
94
|
+
},
|
|
95
|
+
flttl_created_by_user: {
|
|
96
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
97
|
+
ref: "auth_user_mst"
|
|
98
|
+
}
|
|
99
|
+
}, { collection: 'fleet_trip_log', timestamps: { createdAt: 'flttl_created_at', updatedAt: 'flttl_updated_at' } });
|
|
100
|
+
// Indexes for performance optimization
|
|
101
|
+
// Compound index for entity and date-based queries (most common)
|
|
102
|
+
fleet_trip_log.index({ flttl_entity_id_syen: 1, flttl_start_datetime: -1, flttl_isactive: 1 });
|
|
103
|
+
// Index for vehicle trip history
|
|
104
|
+
fleet_trip_log.index({ flttl_vehicle_id_fltvh: 1 });
|
|
105
|
+
// Index for driver trip history
|
|
106
|
+
fleet_trip_log.index({ flttl_driver_id_fltdr: 1 });
|
|
107
|
+
// Index for status tracking
|
|
108
|
+
fleet_trip_log.index({ flttl_trip_status_sygms: 1 });
|
|
109
|
+
// Index for route-based reporting
|
|
110
|
+
fleet_trip_log.index({ flttl_route_id_fltrm: 1 }, { sparse: true });
|
|
111
|
+
// Index for academic year filtering (school-specific)
|
|
112
|
+
fleet_trip_log.index({ flttl_academic_year_id_acayr: 1 }, { sparse: true });
|
|
113
|
+
var CFleetTripLog = mongoose_1.default.model("fleet_trip_log", fleet_trip_log);
|
|
114
|
+
exports.CFleetTripLog = CFleetTripLog;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FleetVehicleAssignment } from "cloud-ide-lms-model";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
declare const CFleetVehicleAssignment: mongoose.Model<FleetVehicleAssignment, {}, {}, {}, mongoose.Document<unknown, {}, FleetVehicleAssignment, {}> & FleetVehicleAssignment & Required<{
|
|
4
|
+
_id: string;
|
|
5
|
+
}> & {
|
|
6
|
+
__v: number;
|
|
7
|
+
}, any>;
|
|
8
|
+
export { CFleetVehicleAssignment };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CFleetVehicleAssignment = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/* SCHEMA START */
|
|
6
|
+
var fleet_vehicle_assignment = new mongoose_1.Schema({
|
|
7
|
+
fltva_vehicle_id_fltvh: {
|
|
8
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
9
|
+
ref: "fleet_vehicle_master",
|
|
10
|
+
required: true
|
|
11
|
+
},
|
|
12
|
+
fltva_driver_id_fltdr: {
|
|
13
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
14
|
+
ref: "fleet_driver_master",
|
|
15
|
+
required: true
|
|
16
|
+
},
|
|
17
|
+
fltva_route_id_fltrm: {
|
|
18
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
19
|
+
ref: "fleet_route_master"
|
|
20
|
+
},
|
|
21
|
+
fltva_helper_id_fltdr: {
|
|
22
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
23
|
+
ref: "fleet_driver_master"
|
|
24
|
+
},
|
|
25
|
+
fltva_assignment_date: {
|
|
26
|
+
type: Date,
|
|
27
|
+
required: true,
|
|
28
|
+
default: Date.now
|
|
29
|
+
},
|
|
30
|
+
fltva_valid_from: {
|
|
31
|
+
type: Date,
|
|
32
|
+
required: true
|
|
33
|
+
},
|
|
34
|
+
fltva_valid_to: {
|
|
35
|
+
type: Date
|
|
36
|
+
},
|
|
37
|
+
fltva_shift_sygms: {
|
|
38
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
39
|
+
ref: "core_general_master"
|
|
40
|
+
},
|
|
41
|
+
fltva_assignment_type_sygms: {
|
|
42
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
43
|
+
ref: "core_general_master"
|
|
44
|
+
},
|
|
45
|
+
fltva_entity_id_syen: {
|
|
46
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
47
|
+
ref: "core_system_entity",
|
|
48
|
+
required: true
|
|
49
|
+
},
|
|
50
|
+
fltva_academic_year_id_acayr: {
|
|
51
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
52
|
+
ref: "aca_academic_year"
|
|
53
|
+
},
|
|
54
|
+
fltva_notes: {
|
|
55
|
+
type: String,
|
|
56
|
+
trim: true
|
|
57
|
+
},
|
|
58
|
+
fltva_isactive: {
|
|
59
|
+
type: Boolean,
|
|
60
|
+
default: true
|
|
61
|
+
},
|
|
62
|
+
fltva_created_at: {
|
|
63
|
+
type: Date,
|
|
64
|
+
default: Date.now
|
|
65
|
+
},
|
|
66
|
+
fltva_updated_at: {
|
|
67
|
+
type: Date,
|
|
68
|
+
default: Date.now
|
|
69
|
+
},
|
|
70
|
+
fltva_created_by_user: {
|
|
71
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
72
|
+
ref: "auth_user_mst"
|
|
73
|
+
}
|
|
74
|
+
}, { collection: 'fleet_vehicle_assignment', timestamps: { createdAt: 'fltva_created_at', updatedAt: 'fltva_updated_at' } });
|
|
75
|
+
// Indexes for performance optimization
|
|
76
|
+
// Compound index for entity-based queries with date range
|
|
77
|
+
fleet_vehicle_assignment.index({ fltva_entity_id_syen: 1, fltva_valid_from: 1, fltva_valid_to: 1, fltva_isactive: 1 });
|
|
78
|
+
// Index for vehicle assignment lookup
|
|
79
|
+
fleet_vehicle_assignment.index({ fltva_vehicle_id_fltvh: 1 });
|
|
80
|
+
// Index for driver assignment lookup
|
|
81
|
+
fleet_vehicle_assignment.index({ fltva_driver_id_fltdr: 1 });
|
|
82
|
+
// Index for route assignment lookup
|
|
83
|
+
fleet_vehicle_assignment.index({ fltva_route_id_fltrm: 1 }, { sparse: true });
|
|
84
|
+
// Index for academic year filtering
|
|
85
|
+
fleet_vehicle_assignment.index({ fltva_academic_year_id_acayr: 1 }, { sparse: true });
|
|
86
|
+
// Compound index for conflict detection (vehicle-date range)
|
|
87
|
+
fleet_vehicle_assignment.index({ fltva_vehicle_id_fltvh: 1, fltva_valid_from: 1, fltva_valid_to: 1 });
|
|
88
|
+
// Compound index for conflict detection (driver-date range)
|
|
89
|
+
fleet_vehicle_assignment.index({ fltva_driver_id_fltdr: 1, fltva_valid_from: 1, fltva_valid_to: 1 });
|
|
90
|
+
var CFleetVehicleAssignment = mongoose_1.default.model("fleet_vehicle_assignment", fleet_vehicle_assignment);
|
|
91
|
+
exports.CFleetVehicleAssignment = CFleetVehicleAssignment;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FleetVehicleMaster } from "cloud-ide-lms-model";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
declare const CFleetVehicleMaster: mongoose.Model<FleetVehicleMaster, {}, {}, {}, mongoose.Document<unknown, {}, FleetVehicleMaster, {}> & FleetVehicleMaster & Required<{
|
|
4
|
+
_id: string;
|
|
5
|
+
}> & {
|
|
6
|
+
__v: number;
|
|
7
|
+
}, any>;
|
|
8
|
+
export { CFleetVehicleMaster };
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CFleetVehicleMaster = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/* SCHEMA START */
|
|
6
|
+
var fleet_vehicle_master = new mongoose_1.Schema({
|
|
7
|
+
fltvh_registration_number: {
|
|
8
|
+
type: String,
|
|
9
|
+
required: true,
|
|
10
|
+
trim: true,
|
|
11
|
+
uppercase: true
|
|
12
|
+
},
|
|
13
|
+
fltvh_vehicle_name: {
|
|
14
|
+
type: String,
|
|
15
|
+
trim: true
|
|
16
|
+
},
|
|
17
|
+
fltvh_vehicle_type_sygms: {
|
|
18
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
19
|
+
ref: "core_general_master",
|
|
20
|
+
required: true
|
|
21
|
+
},
|
|
22
|
+
fltvh_make: {
|
|
23
|
+
type: String,
|
|
24
|
+
trim: true
|
|
25
|
+
},
|
|
26
|
+
fltvh_model: {
|
|
27
|
+
type: String,
|
|
28
|
+
trim: true
|
|
29
|
+
},
|
|
30
|
+
fltvh_year: {
|
|
31
|
+
type: Number,
|
|
32
|
+
min: 1900,
|
|
33
|
+
max: 2100
|
|
34
|
+
},
|
|
35
|
+
fltvh_color: {
|
|
36
|
+
type: String,
|
|
37
|
+
trim: true
|
|
38
|
+
},
|
|
39
|
+
fltvh_chassis_number: {
|
|
40
|
+
type: String,
|
|
41
|
+
trim: true,
|
|
42
|
+
uppercase: true
|
|
43
|
+
},
|
|
44
|
+
fltvh_engine_number: {
|
|
45
|
+
type: String,
|
|
46
|
+
trim: true,
|
|
47
|
+
uppercase: true
|
|
48
|
+
},
|
|
49
|
+
fltvh_fuel_type_sygms: {
|
|
50
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
51
|
+
ref: "core_general_master"
|
|
52
|
+
},
|
|
53
|
+
fltvh_seating_capacity: {
|
|
54
|
+
type: Number,
|
|
55
|
+
min: 1
|
|
56
|
+
},
|
|
57
|
+
fltvh_ownership_type_sygms: {
|
|
58
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
59
|
+
ref: "core_general_master"
|
|
60
|
+
},
|
|
61
|
+
fltvh_purchase_date: {
|
|
62
|
+
type: Date
|
|
63
|
+
},
|
|
64
|
+
fltvh_purchase_cost: {
|
|
65
|
+
type: Number,
|
|
66
|
+
min: 0
|
|
67
|
+
},
|
|
68
|
+
fltvh_entity_id_syen: {
|
|
69
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
70
|
+
ref: "core_system_entity",
|
|
71
|
+
required: true
|
|
72
|
+
},
|
|
73
|
+
fltvh_status_sygms: {
|
|
74
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
75
|
+
ref: "core_general_master",
|
|
76
|
+
required: true
|
|
77
|
+
},
|
|
78
|
+
fltvh_current_odometer_km: {
|
|
79
|
+
type: Number,
|
|
80
|
+
default: 0,
|
|
81
|
+
min: 0
|
|
82
|
+
},
|
|
83
|
+
fltvh_tracking_device_id: {
|
|
84
|
+
type: String,
|
|
85
|
+
trim: true
|
|
86
|
+
},
|
|
87
|
+
fltvh_custom_fields: {
|
|
88
|
+
type: mongoose_1.Schema.Types.Mixed
|
|
89
|
+
},
|
|
90
|
+
fltvh_isactive: {
|
|
91
|
+
type: Boolean,
|
|
92
|
+
default: true
|
|
93
|
+
},
|
|
94
|
+
fltvh_created_at: {
|
|
95
|
+
type: Date,
|
|
96
|
+
default: Date.now
|
|
97
|
+
},
|
|
98
|
+
fltvh_updated_at: {
|
|
99
|
+
type: Date,
|
|
100
|
+
default: Date.now
|
|
101
|
+
},
|
|
102
|
+
fltvh_created_by_user: {
|
|
103
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
104
|
+
ref: "auth_user_mst"
|
|
105
|
+
}
|
|
106
|
+
}, { collection: 'fleet_vehicle_master', timestamps: { createdAt: 'fltvh_created_at', updatedAt: 'fltvh_updated_at' } });
|
|
107
|
+
// Indexes for performance optimization
|
|
108
|
+
// Compound index for entity-based queries with status filtering (most common query pattern)
|
|
109
|
+
fleet_vehicle_master.index({ fltvh_entity_id_syen: 1, fltvh_status_sygms: 1, fltvh_isactive: 1 });
|
|
110
|
+
// Unique compound index for registration number per entity
|
|
111
|
+
fleet_vehicle_master.index({ fltvh_registration_number: 1, fltvh_entity_id_syen: 1 }, { unique: true });
|
|
112
|
+
// Index for chassis number lookup
|
|
113
|
+
fleet_vehicle_master.index({ fltvh_chassis_number: 1 }, { sparse: true });
|
|
114
|
+
// Index for vehicle type filtering
|
|
115
|
+
fleet_vehicle_master.index({ fltvh_vehicle_type_sygms: 1 });
|
|
116
|
+
// Index for tracking device lookup
|
|
117
|
+
fleet_vehicle_master.index({ fltvh_tracking_device_id: 1 }, { sparse: true });
|
|
118
|
+
// Index for active vehicles only
|
|
119
|
+
fleet_vehicle_master.index({ fltvh_isactive: 1 });
|
|
120
|
+
// Text index for search functionality
|
|
121
|
+
fleet_vehicle_master.index({
|
|
122
|
+
fltvh_registration_number: 'text',
|
|
123
|
+
fltvh_vehicle_name: 'text',
|
|
124
|
+
fltvh_make: 'text',
|
|
125
|
+
fltvh_model: 'text'
|
|
126
|
+
});
|
|
127
|
+
var CFleetVehicleMaster = mongoose_1.default.model("fleet_vehicle_master", fleet_vehicle_master);
|
|
128
|
+
exports.CFleetVehicleMaster = CFleetVehicleMaster;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { CFleetVehicleMaster } from './fleet_vehicle_master';
|
|
2
|
+
export { CFleetDriverMaster } from './fleet_driver_master';
|
|
3
|
+
export { CFleetRouteMaster } from './fleet_route_master';
|
|
4
|
+
export { CFleetRouteStops } from './fleet_route_stops';
|
|
5
|
+
export { CFleetVehicleAssignment } from './fleet_vehicle_assignment';
|
|
6
|
+
export { CFleetMaintenanceRecord } from './fleet_maintenance_record';
|
|
7
|
+
export { CFleetFuelLog } from './fleet_fuel_log';
|
|
8
|
+
export { CFleetTripLog } from './fleet_trip_log';
|
|
9
|
+
export { CFleetStudentTransport } from './fleet_student_transport';
|
|
10
|
+
export { CFleetIncidentReport } from './fleet_incident_report';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CFleetIncidentReport = exports.CFleetStudentTransport = exports.CFleetTripLog = exports.CFleetFuelLog = exports.CFleetMaintenanceRecord = exports.CFleetVehicleAssignment = exports.CFleetRouteStops = exports.CFleetRouteMaster = exports.CFleetDriverMaster = exports.CFleetVehicleMaster = void 0;
|
|
4
|
+
// Fleet Management Module Schema Exports
|
|
5
|
+
var fleet_vehicle_master_1 = require("./fleet_vehicle_master");
|
|
6
|
+
Object.defineProperty(exports, "CFleetVehicleMaster", { enumerable: true, get: function () { return fleet_vehicle_master_1.CFleetVehicleMaster; } });
|
|
7
|
+
var fleet_driver_master_1 = require("./fleet_driver_master");
|
|
8
|
+
Object.defineProperty(exports, "CFleetDriverMaster", { enumerable: true, get: function () { return fleet_driver_master_1.CFleetDriverMaster; } });
|
|
9
|
+
var fleet_route_master_1 = require("./fleet_route_master");
|
|
10
|
+
Object.defineProperty(exports, "CFleetRouteMaster", { enumerable: true, get: function () { return fleet_route_master_1.CFleetRouteMaster; } });
|
|
11
|
+
var fleet_route_stops_1 = require("./fleet_route_stops");
|
|
12
|
+
Object.defineProperty(exports, "CFleetRouteStops", { enumerable: true, get: function () { return fleet_route_stops_1.CFleetRouteStops; } });
|
|
13
|
+
var fleet_vehicle_assignment_1 = require("./fleet_vehicle_assignment");
|
|
14
|
+
Object.defineProperty(exports, "CFleetVehicleAssignment", { enumerable: true, get: function () { return fleet_vehicle_assignment_1.CFleetVehicleAssignment; } });
|
|
15
|
+
var fleet_maintenance_record_1 = require("./fleet_maintenance_record");
|
|
16
|
+
Object.defineProperty(exports, "CFleetMaintenanceRecord", { enumerable: true, get: function () { return fleet_maintenance_record_1.CFleetMaintenanceRecord; } });
|
|
17
|
+
var fleet_fuel_log_1 = require("./fleet_fuel_log");
|
|
18
|
+
Object.defineProperty(exports, "CFleetFuelLog", { enumerable: true, get: function () { return fleet_fuel_log_1.CFleetFuelLog; } });
|
|
19
|
+
var fleet_trip_log_1 = require("./fleet_trip_log");
|
|
20
|
+
Object.defineProperty(exports, "CFleetTripLog", { enumerable: true, get: function () { return fleet_trip_log_1.CFleetTripLog; } });
|
|
21
|
+
var fleet_student_transport_1 = require("./fleet_student_transport");
|
|
22
|
+
Object.defineProperty(exports, "CFleetStudentTransport", { enumerable: true, get: function () { return fleet_student_transport_1.CFleetStudentTransport; } });
|
|
23
|
+
var fleet_incident_report_1 = require("./fleet_incident_report");
|
|
24
|
+
Object.defineProperty(exports, "CFleetIncidentReport", { enumerable: true, get: function () { return fleet_incident_report_1.CFleetIncidentReport; } });
|
package/lib/schema/index.d.ts
CHANGED
package/lib/schema/index.js
CHANGED
|
@@ -22,6 +22,7 @@ __exportStar(require("./accounts"), exports);
|
|
|
22
22
|
__exportStar(require("./frontdesk"), exports);
|
|
23
23
|
__exportStar(require("./admission"), exports);
|
|
24
24
|
__exportStar(require("./fees"), exports);
|
|
25
|
+
__exportStar(require("./fleet"), exports);
|
|
25
26
|
__exportStar(require("./notifications"), exports);
|
|
26
27
|
__exportStar(require("./system"), exports);
|
|
27
28
|
__exportStar(require("./app"), exports);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
-
"cloud-ide-lms-model": "^1.1.
|
|
3
|
+
"cloud-ide-lms-model": "^1.1.66",
|
|
4
4
|
"dotenv": "^16.5.0",
|
|
5
5
|
"mongoose": "^8.15.0"
|
|
6
6
|
},
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"typescript": "^5.8.3"
|
|
10
10
|
},
|
|
11
11
|
"name": "cloud-ide-model-schema",
|
|
12
|
-
"version": "1.1.
|
|
12
|
+
"version": "1.1.186",
|
|
13
13
|
"description": "Pachage for schema management of Cloud IDEsys LMS",
|
|
14
14
|
"main": "lib/index.js",
|
|
15
15
|
"types": "lib/index.d.ts",
|