diff --git a/app/Http/Controllers/Reports/StokAuditController.php b/app/Http/Controllers/Reports/StokAuditController.php index 16ad7bd..af2ff70 100644 --- a/app/Http/Controllers/Reports/StokAuditController.php +++ b/app/Http/Controllers/Reports/StokAuditController.php @@ -2,9 +2,11 @@ namespace App\Http\Controllers\Reports; use App\Cawangan; +use App\Gadai; use App\Helper; use App\Http\Controllers\Controller; use Illuminate\Http\Request; +use Carbon\Carbon; class StokAuditController extends Controller { @@ -38,6 +40,40 @@ class StokAuditController extends Controller public function getSummaryLaporanStokAudit(Request $request) { + $connections = $this->getActiveCawanganConnections(); + + // MODE 1: TARIKH SEMASA + if ($request->dateOption === 'current') { + + $today = Carbon::today(); + + $total_audit = $connections->map(function ($connection) { + + $data = Gadai::on($connection->mysql) + ->where('tagpalsu', 0) + ->where(function($q) { + $q->where('sttebus', '') + ->orWhereNull('sttebus'); + }) + ->get(); + + return [ + 'cawangan' => $connection->details_caw, + 'bilangan_pembiayaan' => $data->count(), + 'berat' => $data->sum('berat'), + 'nilai_marhun' => $data->sum('nilaimarhun'), + 'baki_pembiayaan' => $data->sum('bakipjm'), + 'pembiayaan' => $data->sum('pinjaman'), + 'upah_belum_bayar' => $data->sum('upahblmbyar'), + 'total_utg_onepercent' => 0, + 'total_ujrah' => $data->sum('ujrah'), + ]; + }); + + } + // MODE 2: BULAN TERTENTU + else { + $month = $request->month; $year = $request->year; @@ -59,34 +95,24 @@ class StokAuditController extends Controller 'total_ujrah' => $data->sum('ujrah'), ]; }); + } - $getTotalAcrossCawangan = function($property) use($total_audit) { - $total = array_reduce($total_audit->toArray(), function($carry, $subarray) use($property) { - return $carry + $subarray[$property]; - }, 0); - - return $total; - }; - - $total_all_cawangan_audit = [ + // TOTAL SEMUA CAWANGAN + $total_all = [ 'cawangan' => 'Total Semua Cawangan', - 'bilangan_pembiayaan' => $getTotalAcrossCawangan('bilangan_pembiayaan'), - 'berat' => $getTotalAcrossCawangan('berat'), - 'nilai_marhun' => $getTotalAcrossCawangan('nilai_marhun'), - 'baki_pembiayaan' => $getTotalAcrossCawangan('baki_pembiayaan'), - 'pembiayaan' => $getTotalAcrossCawangan('pembiayaan'), - 'upah_belum_bayar' => $getTotalAcrossCawangan('upah_belum_bayar'), - 'total_utg_onepercent' => $getTotalAcrossCawangan('total_utg_onepercent'), - 'total_ujrah' => $getTotalAcrossCawangan('total_ujrah'), + 'bilangan_pembiayaan' => $total_audit->sum('bilangan_pembiayaan'), + 'berat' => $total_audit->sum('berat'), + 'nilai_marhun' => $total_audit->sum('nilai_marhun'), + 'baki_pembiayaan' => $total_audit->sum('baki_pembiayaan'), + 'pembiayaan' => $total_audit->sum('pembiayaan'), + 'upah_belum_bayar' => $total_audit->sum('upah_belum_bayar'), + 'total_utg_onepercent' => $total_audit->sum('total_utg_onepercent'), + 'total_ujrah' => $total_audit->sum('total_ujrah'), ]; - $total_audit->push($total_all_cawangan_audit); + $total_audit->push($total_all); - if (sizeof($total_audit) == 0) { - return response()->json('failed', 200); - } else { - return response()->json($total_audit, 200); - } + return response()->json($total_audit, 200); } }