Description :

P
: Plan Delivery
A
: Actual Delivery
Truck Plan
: Truck Planning Arrival
Truck Plan
: Truck Planning Departure
Truck Actual
: Truck Actual Arrival
Truck Actual
: Truck Actual Departure

Truck Control Delivery | Loading E

{{ date('j F Y', strtotime($tgl)) }} | 00:00:00 WIB

Loading Total Plan SO Total Plan Delivery Total Actual Delivery
ALL LOADING {{ $plan_so }} KG {{ $total_tonase_plan }} KG {{ $total_tonase_actual }} KG
LOADING E {{ number_format($tonase_plan_E, 0, '.', ',') }} KG {{ number_format($tonase_actual_E, 0, '.', ',') }} KG
@if ($truckdelayed->isNotEmpty()) Delayed: @foreach ($truckdelayed as $item) {{ $item->cust_name }} - {{ $item->dlor_id }} - {{ $item->remark == '' || $item->remark == 'other' ? $item->notes : $item->remark }} | @endforeach @endif

Last Update : 00:00:00 WIB

Information :

@php $total = 0; $persen = $advanced + $ontime + $delayed; @endphp @foreach ($info as $item) @if ($item->truck_status == 'Advanced') @elseif ($item->truck_status == 'On Time') @elseif ($item->truck_status == 'Delayed') @endif @php $total += $item->jumlah; @endphp @endforeach
Status Jumlah Percentage
@if ($item->truck_status == 'Advanced') {{ $item->truck_status }} @elseif ($item->truck_status == 'On Time') {{ $item->truck_status }} @elseif ($item->truck_status == 'Delayed') {{ $item->truck_status }} @endif {{ $item->jumlah }} {{ $advanced }}% {{ $ontime }}% {{ $delayed }}%
Total {{ $total }} {{ $persen }}%
{{-- Add Customer Name header with left alignment --}} {{-- Blank header for the new column --}} @for ($hour = 8; $hour <= 21; $hour++) @endfor @php $angka = 1; @endphp @foreach ($customers as $customer) {{-- Initialize maps for truck images --}} @php $usedArrivalImages = []; // Map to track used arrival images for dlor_ids $usedDepartureImages = []; // Map to track used departure images for dlor_ids $arrivalImageIndex = 1; // Counter for arrival images $departureImageIndex = 1; // Counter for departure images @endphp {{-- Row for Planned Arrival and Departure --}} @for ($hour = 8; $hour <= 21; $hour++) @php $planArrivalDOIds = []; $planDepartureDOIds = []; $topArr = 0; $leftArr = 45; $leftDep = 45; @endphp {{-- Collect planned arrival and departure truck IDs --}} @foreach ($schedules as $schedule) @if ($schedule->cust_name == $customer->cust_name) @php $planArrivalHour = date( 'H', strtotime($schedule->plan_arrival), ); $planArrivalMinute = date( 'i', strtotime($schedule->plan_arrival), ); $planDepartureHour = date( 'H', strtotime($schedule->plan_departure), ); $planDepartureMinute = date( 'i', strtotime($schedule->plan_departure), ); $planArrivalDate = date( 'Y-m-d', strtotime($schedule->plan_arrival), ); // Simpan tanggal arrival $planDepartureDate = date( 'Y-m-d', strtotime($schedule->plan_departure), ); // Simpan tanggal departure // Simpan data untuk arrival if ($planArrivalHour == $hour) { // Buat string waktu yang valid, misalnya '08:00:00' $formattedTime = sprintf('%02d:00:00', $hour); // Waktu referensi (misalnya, 08:00) $referenceTime = strtotime($formattedTime); // Waktu yang diambil dari plan_arrival, hanya ambil bagian waktunya $planArrivalTime = strtotime( date( 'Y-m-d H:i:s', strtotime($schedule->plan_arrival), ), ); // Hitung selisih dalam detik $differenceInSeconds = $planArrivalTime - $referenceTime; // // Konversi selisih detik ke menit $totalMinute = $differenceInSeconds / 60; $leftStyleArr = $leftArr + $totalMinute * 1.33; $planArrivalDOIds[] = [ 'id' => $schedule->dlor_id, 'date' => $planArrivalDate, 'weight' => $schedule->total_weight, 'hour' => $planArrivalHour, 'left' => round($leftStyleArr), ]; } // Simpan data untuk departure if ($planDepartureHour == $hour) { // Buat string waktu yang valid, misalnya '08:00:00' $formattedTimeDep = sprintf('%02d:00:00', $hour); // Waktu referensi (misalnya, 08:00) $referenceTimeDep = strtotime($formattedTimeDep); // Waktu yang diambil dari plan_arrival, hanya ambil bagian waktunya $planDepartureTime = strtotime( date( 'Y-m-d H:i:s', strtotime($schedule->plan_departure), ), ); // Hitung selisih dalam detik $differenceInSecondsDep = $planDepartureTime - $referenceTimeDep; // // Konversi selisih detik ke menit $totalMinuteDep = $differenceInSecondsDep / 60; $leftStyleDep = $leftDep + $totalMinuteDep * 1.33; $planDepartureDOIds[] = [ 'id' => $schedule->dlor_id, 'date' => $planDepartureDate, 'weight' => $schedule->total_weight, 'hour' => $planDepartureHour, 'departure' => $schedule->actual_departure, 'left' => round($leftStyleDep), ]; } @endphp @endif @endforeach @php $tinggi = (count($planArrivalDOIds) + count($planDepartureDOIds)) * 50; @endphp @endfor {{-- Row for Actual Arrival and Departure --}} @for ($hour = 8; $hour <= 21; $hour++) @php $actualArrivalDOIds = []; $actualDepartureDOIds = []; $topAct = 0; $leftArrAct = 45; $leftDepAct = 45; @endphp {{-- Collect actual arrival and departure truck IDs --}} @foreach ($schedules as $schedule) @if ($schedule->cust_name == $customer->cust_name) @php // Inisialisasi variabel waktu dan tanggal $actualArrivalHour = date( 'H', strtotime($schedule->actual_arrival), ); $actualArrivalMinute = date( 'i', strtotime($schedule->actual_arrival), ); $actualDepartureHour = date( 'H', strtotime($schedule->actual_departure), ); $actualDepartureMinute = date( 'i', strtotime($schedule->actual_departure), ); // Gunakan plan_departure untuk ontime $actualArrivalDate = date( 'Y-m-d', strtotime($schedule->actual_arrival), ); $actualDepartureDate = date( 'Y-m-d', strtotime($schedule->actual_departure), ); // Simpan data untuk actual arrival if ($actualArrivalHour == $hour) { // Buat string waktu yang valid, misalnya '08:00:00' $formattedTime = sprintf('%02d:00:00', $hour); // Waktu referensi (misalnya, 08:00) $referenceTime = strtotime($formattedTime); // Waktu yang diambil dari actual_arrival, hanya ambil bagian waktunya $actualArrivalTime = strtotime( date( 'Y-m-d H:i:s', strtotime($schedule->actual_arrival), ), ); // Hitung selisih dalam detik $differenceInSeconds = $actualArrivalTime - $referenceTime; // Konversi selisih detik ke menit $totalMinute = $differenceInSeconds / 60; $leftStyleArrAct = $leftArrAct + $totalMinute * 1.33; $actualArrivalDOIds[] = [ 'id' => $schedule->dlor_id, 'date' => $actualArrivalDate, 'weight' => $schedule->total_weight, 'hour' => $actualArrivalHour, 'left' => round($leftStyleArrAct), ]; } // Simpan data untuk actual departure if ($actualDepartureHour == $hour) { // Buat string waktu yang valid, misalnya '08:00:00' $formattedTimeAct = sprintf('%02d:00:00', $hour); // Waktu referensi (misalnya, 08:00) $referenceTimeAct = strtotime($formattedTimeAct); // Waktu yang diambil dari actual_arrival, hanya ambil bagian waktunya $actualDepartureTime = strtotime( date( 'Y-m-d H:i:s', strtotime($schedule->actual_departure), ), ); // Hitung selisih dalam detik $differenceInSecondsAct = $actualDepartureTime - $referenceTimeAct; // // Konversi selisih detik ke menit $totalMinuteAct = $differenceInSecondsAct / 60; $leftStyleDepAct = $leftDepAct + $totalMinuteAct * 1.33; $actualDepartureDOIds[] = [ 'id' => $schedule->dlor_id, 'date' => $actualDepartureDate, 'weight' => $schedule->total_weight, 'hour' => $actualDepartureHour, 'left' => round($leftStyleDepAct), ]; } @endphp @endif @endforeach @php $tinggiAct = (count($actualArrivalDOIds) + count($actualDepartureDOIds)) * 50; @endphp @endfor @php $angka++; @endphp @endforeach
Customer Name Plan/Actual {{ sprintf('%02d:00', $hour) }}
{{ $customer->cust_name }} P {{-- Arrival trucks for planned arrivals --}} @foreach ($planArrivalDOIds as $planArrivalDO) @php $planArrivalDOId = $planArrivalDO['id']; $planArrivalDate = $planArrivalDO['date']; $planArrivalWeight = $planArrivalDO['weight']; $planArrivalLeft = $planArrivalDO['left']; if (!isset($usedArrivalImages[$planArrivalDOId])) { $usedArrivalImages[ $planArrivalDOId ] = $arrivalImageIndex++; $arrivalImageIndex = $arrivalImageIndex > 70 ? 1 : $arrivalImageIndex; // Loop after 70 } @endphp Arrival Truck
@php $topArr += 50; @endphp @endforeach {{-- Departure trucks for planned departures --}} @foreach ($planDepartureDOIds as $planDepartureDO) @php $planDepartureDOId = $planDepartureDO['id']; $planDepartureDate = $planDepartureDO['date']; $planArrivalWeight = $planArrivalDO['weight']; $planDepartureHour = $planDepartureDO['hour']; $dataDeparture = $planDepartureDO['departure']; $planDepartureLeft = $planDepartureDO['left']; if (!isset($usedDepartureImages[$planDepartureDOId])) { $usedDepartureImages[ $planDepartureDOId ] = $departureImageIndex++; $departureImageIndex = $departureImageIndex > 70 ? 1 : $departureImageIndex; // Loop after 70 } @endphp Departure Truck
@php $topArr += 50; @endphp @endforeach
A {{-- Arrival trucks for actual arrivals --}} @foreach ($actualArrivalDOIds as $actualArrivalDO) @php $actualArrivalDOId = $actualArrivalDO['id']; $actualArrivalDate = $actualArrivalDO['date']; $actualArrivalWeight = $actualArrivalDO['weight']; $actualArrivalLeft = $actualArrivalDO['left']; if (!isset($usedArrivalImages[$actualArrivalDOId])) { $usedArrivalImages[ $actualArrivalDOId ] = $arrivalImageIndex++; $arrivalImageIndex = $arrivalImageIndex > 70 ? 1 : $arrivalImageIndex; // Loop after 70 } @endphp Actual Arrival Truck
@php $topAct += 50; @endphp @endforeach {{-- Departure trucks for actual departures --}} @foreach ($actualDepartureDOIds as $actualDepartureDO) @php $actualDepartureDOId = $actualDepartureDO['id']; $actualDepartureDate = $actualDepartureDO['date']; $actualDepartureWeight = $actualDepartureDO['weight']; $actualDepartureLeft = $actualDepartureDO['left']; if (!isset($usedDepartureImages[$actualDepartureDOId])) { $usedDepartureImages[ $actualDepartureDOId ] = $departureImageIndex++; $departureImageIndex = $departureImageIndex > 70 ? 1 : $departureImageIndex; // Loop after 70 } @endphp Actual Departure Truck
@php $topAct += 50; @endphp @endforeach