@extends('layouts.index') @section('header')
Bulan | @foreach($datas as $data){{ $data->nama_perusahaan }} | @endforeach||
---|---|---|---|
Distribusi | Overtime | Ratio | @endforeach|
{{ $bulan }} | @foreach ($datas as $data) @php $detailTransaksi = \App\Models\DetailTransaksi::whereHas('transaksi', function ($tr) use($key, $data){ $tr->whereMonth('start_picking', $key)->where('status', 'selesai')->whereHas('dealer', function($d) use($data) { $d->whereHas('perusahaan', function($p) use($data) { $p->where('id', $data->id); }); }); })->get(); foreach ($detailTransaksi as $dt) { $distribusi = $detailTransaksi->count(); $leadTimeHari = date_diff( date_create(date('Y-m-d', strtotime($dt->transaksi->start_picking))), date_create(date('Y-m-d', strtotime($dt->transaksi->tgl_datang))) )->format('%d'); $leadTimeJam = date_diff( date_create(date('H:i:s', strtotime($dt->transaksi->tgl_berangkat))), date_create(date('H:i:s', strtotime($dt->transaksi->tgl_datang))) )->format('%H'); // Jika Over Hari / Over Jam if ( $leadTimeHari > str_replace('H+','',$dt->transaksi->dealer->jadwal->hari) || date('H:i:s', strtotime($dt->transaksi->tgl_datang)) > $dt->transaksi->dealer->jadwal->jam ){ $overtime += 1; } if ($overtime > 0) { $ratio = round($overtime / $distribusi * 100, 2); } } @endphp{{ $distribusi }} | {{ $overtime }} | {{ $ratio }}% | @endforeach
Total | @foreach ($datas as $data) @php $detailTransaksi = \App\Models\DetailTransaksi::whereHas('transaksi', function ($tr) use($data){ $tr->where('status', 'selesai')->whereHas('dealer', function($d) use($data) { $d->whereHas('perusahaan', function($p) use($data) { $p->where('id', $data->id); }); }); })->get(); foreach ($detailTransaksi as $dt) { $ttlDistribusi = $detailTransaksi->count(); $leadTimeHari = date_diff( date_create(date('Y-m-d', strtotime($dt->transaksi->start_picking))), date_create(date('Y-m-d', strtotime($dt->transaksi->tgl_datang))) )->format('%d'); $leadTimeJam = date_diff( date_create(date('H:i:s', strtotime($dt->transaksi->tgl_berangkat))), date_create(date('H:i:s', strtotime($dt->transaksi->tgl_datang))) )->format('%H'); // Jika Over Hari / Over Jam if ( $leadTimeHari > str_replace('H+','',$dt->transaksi->dealer->jadwal->hari) || date('H:i:s', strtotime($dt->transaksi->tgl_datang)) > $dt->transaksi->dealer->jadwal->jam ){ $ttlOvertime += 1; } if ($ttlOvertime > 0) { $ttlRatio = round($ttlOvertime / $ttlDistribusi * 100, 2); } } @endphp @endforeach{{ $ttlDistribusi }} | {{ $ttlOvertime }} | {{ $ttlRatio }} % |