feat(pb): vehicles.unit_type + plant_hours_log collection
Adds the schema needed for the weekly plant-equipment hours log: - vehicles gets a unit_type select (fuel|plant), defaults to fuel for backward-compat with existing rows - plant_hours_log collection with the 13 plant-hours fields plus vehicle_unit_type_at_import snapshot and composite unique index (vehicle_qr, start_date) - data_import_batches.batch_type gains plant_hours
This commit is contained in:
parent
2204989a3c
commit
ffd840eac1
1 changed files with 37 additions and 1 deletions
|
|
@ -58,7 +58,7 @@ DEFS["data_import_batches"] = {
|
|||
"name": "DATA_IMPORT_BATCHES", "type": "base",
|
||||
"fields": [
|
||||
field("batch_type", "select", required=True,
|
||||
values=["timesheets", "fuel_logs", "purchase_orders", "delivery_notes"], maxSelect=1),
|
||||
values=["timesheets", "fuel_logs", "purchase_orders", "delivery_notes", "plant_hours"], maxSelect=1),
|
||||
field("original_file", "file", required=False,
|
||||
maxSelect=1, maxSize=20971520,
|
||||
mimeTypes=["text/csv", "text/plain", "application/vnd.ms-excel", "application/csv"]),
|
||||
|
|
@ -180,6 +180,8 @@ DEFS["vehicles"] = {
|
|||
field("description", "text", required=False),
|
||||
field("standard_work_hours", "text", required=False),
|
||||
field("fuel_limits", "text", required=False),
|
||||
field("unit_type", "select", required=True,
|
||||
values=["fuel", "plant"], maxSelect=1),
|
||||
field("attention_dismissed_at", "date", required=False),
|
||||
],
|
||||
"indexes": [],
|
||||
|
|
@ -215,6 +217,39 @@ DEFS["fuel_logs"] = {
|
|||
"indexes": [],
|
||||
}
|
||||
|
||||
DEFS["plant_hours_log"] = {
|
||||
"name": "PLANT_HOURS_LOG", "type": "base",
|
||||
"fields": [
|
||||
field("date_logged", "date", required=True),
|
||||
field("vehicle_qr", "text", required=True),
|
||||
field("vehicle", "relation", required=True,
|
||||
collectionId="__VEHICLES_ID__", cascadeDelete=False, maxSelect=1, minSelect=1),
|
||||
field("site", "relation", required=True,
|
||||
collectionId="__SITES_ID__", cascadeDelete=False, maxSelect=1, minSelect=1),
|
||||
field("project_code", "text", required=True),
|
||||
field("start_date", "date", required=True),
|
||||
field("end_date", "date", required=True),
|
||||
field("start_time", "text", required=False),
|
||||
field("end_time", "text", required=False),
|
||||
field("start_hours", "number", required=True),
|
||||
field("end_hours", "number", required=True),
|
||||
field("hours", "number", required=True),
|
||||
field("notes", "text", required=False),
|
||||
field("hour_meter_budget", "number", required=True),
|
||||
field("cost_per_hour", "number", required=True),
|
||||
field("value", "number", required=True),
|
||||
field("over_budget", "bool", required=True),
|
||||
field("hours_mismatch", "bool", required=True),
|
||||
field("vehicle_unit_type_at_import", "select", required=True,
|
||||
values=["fuel", "plant"], maxSelect=1),
|
||||
field("batch_reference", "relation", required=False,
|
||||
collectionId="__DATA_IMPORT_BATCHES_ID__", cascadeDelete=False, maxSelect=1, minSelect=0),
|
||||
],
|
||||
"indexes": [
|
||||
"CREATE UNIQUE INDEX `idx_plant_hours_log_qr_start` ON `plant_hours_log` (`vehicle_qr`, `start_date`)",
|
||||
],
|
||||
}
|
||||
|
||||
DEFS["delivery_notes"] = {
|
||||
"name": "DELIVERY_NOTES", "type": "base",
|
||||
"fields": [
|
||||
|
|
@ -265,6 +300,7 @@ ORDER = [
|
|||
"vehicles",
|
||||
"timesheets",
|
||||
"fuel_logs",
|
||||
"plant_hours_log",
|
||||
"delivery_notes",
|
||||
"received_items",
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in a new issue