diff --git a/app/Http/Controllers/ReportsController.php b/app/Http/Controllers/ReportsController.php
index 388e0fc..b1df9a8 100644
--- a/app/Http/Controllers/ReportsController.php
+++ b/app/Http/Controllers/ReportsController.php
@@ -178,6 +178,10 @@ class ReportsController extends Controller
)
SELECT
t.*,
+ ttll.start_latitude,
+ ttll.start_longitude,
+ ttll.finish_latitude,
+ ttll.finish_longitude,
tm.total_mileage,
tm.total_trip,
vt.name AS type_name,
@@ -189,6 +193,7 @@ class ReportsController extends Controller
JOIN TotalMileage tm ON t.id = tm.id
LEFT JOIN t_vehicles tvt ON tvt.id = t.vhc_id
LEFT JOIN t_vehicles_cats vt ON vt.id = tvt.cat_id
+ LEFT JOIN t_trips_latitude_longitude ttll ON t.id = ttll.tripsid
WHERE
t.start BETWEEN ? AND ?
AND (? IS NULL OR t.id = ?)
diff --git a/resources/views/menu_v1/reports/vehicle_trips.blade.php b/resources/views/menu_v1/reports/vehicle_trips.blade.php
index 9f4c7d9..b5027e4 100644
--- a/resources/views/menu_v1/reports/vehicle_trips.blade.php
+++ b/resources/views/menu_v1/reports/vehicle_trips.blade.php
@@ -25,8 +25,8 @@
@if ($user_role == \App\Models\Users::ROLE_VENDOR || $user_role == \App\Models\Users::ROLE_ADMIN)
@can('vehicle.create')
+
+ -->
@endcan
{{--
@@ -129,73 +129,73 @@
+
+ | 24-679 |
+ 24-679 |
+ 26 |
+ 442.3 |
+
+
+ | 24-682 |
+ 24-682 |
+ 28 |
+ 312.7 |
+
+
+ | 24-877 |
+ 24-877 |
+ 15 |
+ 276.4 |
+
+
+ | A.16-347 |
+ A.16-347 |
+ 37 |
+ 543.2 |
+
+
+ | AL2025-B21 |
+ AL2025-B21 |
+ 18 |
+ 295.4 |
+
+
+ | B.16-542 |
+ B.16-542 |
+ 32 |
+ 478.2 |
+
+
+ | B.24-264 |
+ B.24-264 |
+ 24 |
+ 188.4 |
+
+
+ | B.24-274 |
+ B.24-274 |
+ 33 |
+ 440.1 |
+
+
+ | Ford Ranger |
+ 26-199 |
+ 30 |
+ 631.4 |
+
+
+ | Nissan AD |
+ B.10-517 |
+ 27 |
+ 375.9 |
+
+
+ | Triton |
+ A.29-127 |
+ 26 |
+ 508.2 |
+
+ -->
@@ -207,17 +207,17 @@
-->
@endsection
@@ -472,30 +472,46 @@
render: (data, type, row, meta) => {
// saat export, hanya tampilkan lokasi tanpa tanggal/jam
if (type === 'export') {
+ const nearestSite = findNearestSite(
+ row.start_latitude,
+ row.start_longitude
+ );
+
+ if (nearestSite) {
+ return formatSiteLabel(nearestSite);
+ }
return Helper.shortenText(decodeURIComponent(row.startLoc ||
'address'), 255) || "-";
}
+ const nearestSite = findNearestSite(
+ row.start_latitude,
+ row.start_longitude
+ );
+
+ if (nearestSite) {
+ return formatSiteLabel(nearestSite);
+ }
return `
${moment.unix(data + AppState.TIMEFIX).format('DD MMM YYYY HH:mm:ss')}
${Helper.shortenText(decodeURIComponent(row.startLoc || 'address'), 255) || "-"}
`;
}
},
- // {
- // data: 'finish',
- // render: (data, type, row, meta) => {
- // console.log(row)
- // // saat export, hanya tampilkan lokasi tanpa tanggal/jam
- // if (type === 'export') {
- // return Helper.shortenText(decodeURIComponent(row.finishLoc ||
- // 'address'), 255) || "-";
- // }
- // return `
+ // {
+ // data: 'finish',
+ // render: (data, type, row, meta) => {
+ // console.log(row)
+ // // saat export, hanya tampilkan lokasi tanpa tanggal/jam
+ // if (type === 'export') {
+ // return Helper.shortenText(decodeURIComponent(row.finishLoc ||
+ // 'address'), 255) || "-";
+ // }
+ // return `
// ${moment.unix(data + AppState.TIMEFIX).format('DD MMM YYYY HH:mm:ss')}
// ${Helper.shortenText(decodeURIComponent(row.finishLoc || 'address'), 255) || "-"}
// `;
- // }
- // },
+ // }
+ // },
{
data: 'finish',
render: (data, type, row) => {
@@ -507,14 +523,14 @@
// Saat export Excel
if (type === 'export') {
- // const nearestSite = findNearestSite(
- // row.latitude,
- // row.longitude
- // );
+ const nearestSite = findNearestSite(
+ row.finish_latitude,
+ row.finish_longitude
+ );
- // if (nearestSite) {
- // return formatSiteLabel(nearestSite);
- // }
+ if (nearestSite) {
+ return formatSiteLabel(nearestSite);
+ }
return Helper.shortenText(
decodeURIComponent(row.finishLoc || 'address'),
@@ -522,6 +538,15 @@
) || '-';
}
+ const nearestSite = findNearestSite(
+ row.finish_latitude,
+ row.finish_longitude
+ );
+
+ if (nearestSite) {
+ return formatSiteLabel(nearestSite);
+ }
+
// Tampilan di tabel
return `
${moment.unix(data + AppState.TIMEFIX)
@@ -536,7 +561,7 @@
`;
}
},
- {
+ {
className: 'text-start',
render: function(data, type, row, meta) {
const start = moment.unix(row.start);
diff --git a/resources/views/template/navbar.blade.php b/resources/views/template/navbar.blade.php
index 133e7f2..80d9298 100755
--- a/resources/views/template/navbar.blade.php
+++ b/resources/views/template/navbar.blade.php
@@ -69,12 +69,13 @@
@endif
@if (
- auth()->user()->can('config_truck_type.view') ||
- auth()->user()->can('config_master_device.view') ||
+ auth()->user()->can('config_truck_type.view') ||
+ auth()->user()->can('config_master_device.view') ||
auth()->user()->can('config_logs_gps.view') ||
auth()->user()->can('config_distribution_category.view') ||
auth()->user()->can('config_pool.view') ||
auth()->user()->can('user_logs.view')
+ || auth()->user()->can('config_vehicle_maintenance_type.view')
)
@@ -86,12 +87,17 @@
Vehicle Type
@endcan
+ @can('vehicle_maintenance_type.view')
+
+ Maintenance Type
+
+ @endcan
@can('config_master_device.view')
Master Devices
@endcan
- @can('config_logs_gps.view')
+ @can('config_logs_gps.view')
Logs Gps
diff --git a/routes/web.php b/routes/web.php
index c321824..4cd369b 100755
--- a/routes/web.php
+++ b/routes/web.php
@@ -141,6 +141,10 @@ Route::middleware(["auth", "auth.user"])->group(function () {
->name("view_config_truck_types")
->middleware("permission:config_truck_type.view");
+ Route::get("/config/maintenance_type", "VehicleMaintenanceController@view_vehicle_maintenance_type")
+ ->name("view_vehicle_maintenance_type")
+ ->middleware("permission:vehicle_maintenance_type.view");
+
Route::get("/config/devices", "DevicesController@view_devices")
->name("view_config_devices")
->middleware("permission:config_master_device.view");
@@ -611,6 +615,24 @@ Route::middleware(["auth", "auth.user"])->group(function () {
"api_conf_del_truck_type"
);
+ Route::get("/api/conf/maintenance_type/{id}", "VehicleMaintenanceController@api_show_maintenance_type")->name(
+ "api_show_maintenance_type"
+ );
+
+ Route::get("/api/conf/maintenance_type", "VehicleMaintenanceController@api_list_vehicle_maintenance_type")->name(
+ "api_list_vehicle_maintenance_type"
+ );
+
+ Route::post("/api/conf/maintenance_type", "VehicleMaintenanceController@api_add_vehicle_maintenance_type")->name(
+ "api_add_vehicle_maintenance_type"
+ );
+ Route::put("/api/conf/maintenance_type/{id}", "VehicleMaintenanceController@api_edit_vehicle_maintenance_type")->name(
+ "api_edit_vehicle_maintenance_type"
+ );
+ Route::delete("/api/conf/maintenance_type/{id}", "VehicleMaintenanceController@api_del_vehicle_maintenance_type")->name(
+ "api_del_vehicle_maintenance_type"
+ );
+
Route::get("/api/devices", "DevicesController@api_list_devices")->name("api_list_devices");
Route::get("/api/devices/{id}", "DevicesController@api_show_device")->name("api_show_device");
Route::post("/api/devices", "DevicesController@api_add_device")->name("api_add_device");