diff --git a/app/Http/Controllers/ReportsController.php b/app/Http/Controllers/ReportsController.php
index 2536d47..499ef23 100644
--- a/app/Http/Controllers/ReportsController.php
+++ b/app/Http/Controllers/ReportsController.php
@@ -145,28 +145,65 @@ class ReportsController extends Controller
// ORDER BY agg.id, trip_id
// ", [$from_date, $to_date, $vid, $vid]);
- $list = DB::select("WITH TotalMileage AS (
- SELECT id, SUM(mileage) AS total_mileage, count(*) total_trip
- FROM trips
- WHERE start BETWEEN ? AND ?
- GROUP BY id
- )
- SELECT
- t.*,
- tm.total_mileage, total_trip,
- vt.name as type_name,
- ROW_NUMBER() OVER (PARTITION BY t.id ORDER BY t.start) AS trip_id
- FROM trips t
- 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
- WHERE
- t.start BETWEEN ? AND ?
- and if(? , t.id = ? , 1=1)
- and if(? , vt.id = ? , 1=1)
- and if(? , t.pool_code = ? , 1=1)
- ", [$from_date, $to_date, $from_date, $to_date, $vid, $vid, $vt, $vt, $poolcode, $poolcode]);
+ // $list = DB::select("WITH TotalMileage AS (
+ // SELECT id, SUM(mileage) AS total_mileage, count(*) total_trip
+ // FROM trips
+ // WHERE start BETWEEN ? AND ?
+ // GROUP BY id
+ // )
+ // SELECT
+ // t.*,
+ // tm.total_mileage, total_trip,
+ // vt.name as type_name,
+ // ROW_NUMBER() OVER (PARTITION BY t.id ORDER BY t.start) AS trip_id
+ // FROM trips t
+ // 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
+ // WHERE
+ // t.start BETWEEN ? AND ?
+ // and if(? , t.id = ? , 1=1)
+ // and if(? , vt.id = ? , 1=1)
+ // and if(? , t.pool_code = ? , 1=1)
+ // ", [$from_date, $to_date, $from_date, $to_date, $vid, $vid, $vt, $vt, $poolcode, $poolcode]);
+ $sql = "WITH TotalMileage AS (
+ SELECT id, SUM(mileage) AS total_mileage, count(*) total_trip
+ FROM trips
+ WHERE start BETWEEN ? AND ?
+ GROUP BY id
+ )
+ SELECT
+ t.*,
+ tm.total_mileage, total_trip,
+ vt.name as type_name,
+ ROW_NUMBER() OVER (PARTITION BY t.id ORDER BY t.start) AS trip_id
+ FROM trips t
+ 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
+ WHERE
+ t.start BETWEEN ? AND ?
+ and (? IS NULL or t.id = ?)
+ and (? IS NULL or vt.id = ?)
+ and (? IS NULL or t.pool_code = ?)
+ ";
+ $vid = $vid ?: null;
+ $vt = $vt ?: null;
+ $poolcode = $poolcode ?: null;
+
+ $list = DB::select($sql, [
+ $from_date,
+ $to_date,
+ $from_date,
+ $to_date,
+ $vid,
+ $vid,
+ $vt,
+ $vt,
+ $poolcode,
+ $poolcode,
+ ]);
// // RETURN 1 - LIST
// if($req->type != 'report'){
$apiResp = Responses::success("success list vehicles report");
@@ -311,9 +348,11 @@ class ReportsController extends Controller
{
$q = "select id, nopol1 from t_vehicles WHERE dlt is null order by nopol1";
$listNopol = DB::select($q);
+ $listpool = DB::table('t_conf_pool')->where('dlt', null)->get();
$data = [
'listNopol' => $listNopol,
+ 'listpool' => $listpool
];
$log = [
@@ -342,6 +381,7 @@ class ReportsController extends Controller
$from_date = $req->input('from_date') - Helper::TIMEFIX;
$to_date = $req->input('to_date') - Helper::TIMEFIX;
$vid = $req->input('vid');
+ $poolcode = $req->input('poolcode');
// Create a period between the two timestamps
$period = CarbonPeriod::create(
@@ -363,25 +403,57 @@ class ReportsController extends Controller
$qString = "(" . implode(' UNION ALL ', $subQueryParts) . ")";
// dd("qString", $qString);
try {
- $list = DB::select("SELECT
- tv.name,
- tv.nopol1,
- t.crt_d,
- t.speed,
- tgta.fulladdress,
- tvd.speed_limit,
- tvd.pool_code,
- tvd.dc_code
- FROM
- $qString t
- INNER JOIN t_vehicles tv ON tv.id = t.vhc_id
- INNER JOIN t_vehicles_detail tvd ON tvd.vid = tv.id
- LEFT JOIN t_gps_tracks_address tgta ON tgta.master_id = t.id
- WHERE
- if(? , tv.id = ? , 1=1)
- AND t.speed > tvd.speed_limit
- ORDER BY t.crt_d;
- ", [$vid, $vid]);
+ // $list = DB::select("SELECT
+ // tv.name,
+ // tv.nopol1,
+ // t.crt_d,
+ // t.speed,
+ // tgta.fulladdress,
+ // tvd.speed_limit,
+ // tvd.pool_code,
+ // tvd.dc_code
+ // FROM
+ // $qString t
+ // INNER JOIN t_vehicles tv ON tv.id = t.vhc_id
+ // INNER JOIN t_vehicles_detail tvd ON tvd.vid = tv.id
+ // LEFT JOIN t_gps_tracks_address tgta ON tgta.master_id = t.id
+ // WHERE
+ // if(? , tv.id = ? , 1=1)
+ // AND t.speed > tvd.speed_limit
+ // AND if(? , tvd.pool_code = ? , 1=1)
+ // ORDER BY t.crt_d;
+ // ", [$vid, $vid, $poolcode, $poolcode]);
+
+ $vid = $vid ?: null;
+ $poolcode = $poolcode ?: null;
+
+ $sql = "SELECT
+ tv.name,
+ tv.nopol1,
+ t.crt_d,
+ t.speed,
+ tgta.fulladdress,
+ tvd.speed_limit,
+ tvd.pool_code,
+ tvd.dc_code
+ FROM
+ $qString t
+ INNER JOIN t_vehicles tv ON tv.id = t.vhc_id
+ INNER JOIN t_vehicles_detail tvd ON tvd.vid = tv.id
+ LEFT JOIN t_gps_tracks_address tgta ON tgta.master_id = t.id
+ WHERE
+ (? IS NULL OR tv.id = ?)
+ AND t.speed > tvd.speed_limit
+ AND (? IS NULL OR tvd.pool_code = ?)
+ ORDER BY t.crt_d
+ ";
+
+ $list = DB::select($sql, [
+ $vid,
+ $vid,
+ $poolcode,
+ $poolcode,
+ ]);
// // RETURN 1 - LIST
// if($req->type != 'report'){
diff --git a/resources/views/menu_v1/reports/abnormalities.blade.php b/resources/views/menu_v1/reports/abnormalities.blade.php
index 6fa2643..82d918c 100644
--- a/resources/views/menu_v1/reports/abnormalities.blade.php
+++ b/resources/views/menu_v1/reports/abnormalities.blade.php
@@ -23,8 +23,8 @@
@if ($user_role == \App\Models\Users::ROLE_VENDOR || $user_role == \App\Models\Users::ROLE_ADMIN)
@can('vehicle.create')
+
+ -->
@endcan
{{--
@@ -37,73 +37,90 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- | License Plate Number |
- Dist. Cat. |
- Pool |
- Time |
- Speed (kph) |
- Location |
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | License Plate Number |
+ Dist. Cat. |
+ Pool |
+ Time |
+ Speed (kph) |
+ Location |
+
+
+
+
+
-
+
@endsection
@section('customjs')
-
-
-
-
-
+
+
+