detail trip
This commit is contained in:
@ -17,6 +17,7 @@ use Maatwebsite\Excel\Concerns\WithHeadings;
|
||||
use Maatwebsite\Excel\Concerns\WithStyles;
|
||||
use Maatwebsite\Excel\Concerns\WithCustomStartCell;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class ReportsController extends Controller
|
||||
{
|
||||
@ -107,7 +108,8 @@ class ReportsController extends Controller
|
||||
tvd.pool_code, tvd.dc_code
|
||||
FROM agg agg
|
||||
join t_vehicles_detail tvd on tvd.vid = agg.id
|
||||
ORDER BY agg.id, trip_id ";
|
||||
ORDER BY agg.id, trip_id
|
||||
";
|
||||
$d = [$from_date, $to_date, $vid, $vid];
|
||||
|
||||
$list = DB::select($q, $d);
|
||||
@ -193,7 +195,88 @@ class ReportsController extends Controller
|
||||
}
|
||||
public function view_report_trip_detail(Request $req)
|
||||
{
|
||||
return view('menu_v1.reports._trip_detail');
|
||||
$vid = $req->vid;
|
||||
$tgl0 = $req->tgl0;
|
||||
$tgl1 = $req->tgl1;
|
||||
$nopol1 = $req->nopol1;
|
||||
|
||||
$q = "
|
||||
select
|
||||
t.crt_s , t.latitude, t.longitude, t.speed,
|
||||
tgta.fulladdress,
|
||||
t.pre_milleage, t.vhc_milleage
|
||||
FROM
|
||||
t_gps_tracks t
|
||||
join t_gps_tracks_address tgta on tgta.master_id = t.id
|
||||
WHERE
|
||||
t.vhc_id = ?
|
||||
and t.latitude IS NOT NULL
|
||||
AND t.longitude IS NOT NULL
|
||||
AND t.action = 'location'
|
||||
AND t.crt_s BETWEEN ? AND ?
|
||||
ORDER BY t.crt_s asc
|
||||
";
|
||||
$d = [$vid, $tgl0, $tgl1];
|
||||
$list = DB::select($q, $d);
|
||||
|
||||
$start = [
|
||||
'time' => date('d-m-Y H:i:s', $list[0]->crt_s),
|
||||
'fulladdress' => urldecode($list[0]->fulladdress),
|
||||
'mileage' => $list[0]->vhc_milleage,
|
||||
];
|
||||
$finish = [
|
||||
'time' => date('d-m-Y H:i:s', $list[count($list) - 1]->crt_s),
|
||||
'fulladdress' => urldecode($list[count($list) - 1]->fulladdress),
|
||||
'mileage' => $list[count($list) - 1]->vhc_milleage,
|
||||
];
|
||||
|
||||
$t0 = Carbon::createFromTimestamp($list[0]->crt_s);
|
||||
$t1 = Carbon::createFromTimestamp($list[count($list) - 1]->crt_s);
|
||||
$diff = $t1->diff($t0);
|
||||
$hours = $diff->h + ($diff->days * 24); // include days converted to hours
|
||||
$minutes = $diff->i;
|
||||
$duration = "{$hours} hour" . ($hours > 1 ? 's' : '') . " {$minutes} minute" . ($minutes > 1 ? 's' : '');
|
||||
|
||||
$distance = $list[count($list) - 1]->vhc_milleage - $list[0]->vhc_milleage;
|
||||
|
||||
$polyline = [];
|
||||
foreach ($list as $item) {
|
||||
$polyline[] = [$item->latitude, $item->longitude];
|
||||
}
|
||||
|
||||
// $q0 = "
|
||||
// select
|
||||
// t.crt_s , t.latitude, t.longitude, t.speed,
|
||||
// tgta.fulladdress,
|
||||
// t.pre_milleage, t.vhc_milleage
|
||||
// FROM
|
||||
// t_gps_tracks t
|
||||
// join t_gps_tracks_address tgta on tgta.master_id = t.id
|
||||
// WHERE
|
||||
// t.vhc_id = ?
|
||||
// and t.latitude IS NOT NULL
|
||||
// AND t.longitude IS NOT NULL
|
||||
// AND t.action = 'location'
|
||||
// AND t.crt_s BETWEEN ? AND ?
|
||||
// ORDER BY t.crt_s asc
|
||||
// ";
|
||||
// $d = [$vid, $tgl0, $tgl1];
|
||||
|
||||
|
||||
$data = [
|
||||
'nopol1' => $nopol1,
|
||||
'vid' => $vid,
|
||||
'tgl0' => $tgl0,
|
||||
'tgl1' => $tgl1,
|
||||
'list' => $list,
|
||||
'start' => $start,
|
||||
'finish' => $finish,
|
||||
'duration' => $duration,
|
||||
'distance' => $distance,
|
||||
'polyline' => json_encode($polyline),
|
||||
];
|
||||
// dd($list);
|
||||
return view('menu_v1.reports._trip_detail', $data);
|
||||
}
|
||||
|
||||
public function view_report_abnormalities(Request $req)
|
||||
|
||||
Reference in New Issue
Block a user