Files
admin-erahn/app/Http/Controllers/Reports/RingkasanHarianController.php
T
2023-12-29 12:41:46 +08:00

140 lines
7.3 KiB
PHP

<?php
namespace App\Http\Controllers\Reports;
use App\Http\Controllers\Controller;
use Barryvdh\DomPDF\Facade as PDF;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Http;
use App\Helper;
class RingkasanHarianController extends Controller
{
public function index(Request $request)
{
$current = new Carbon();
$getReportDate = function ($date_string) use ($current) {
if ($date_string == null) {
return $current->toDateString();
}
return $date_string;
};
$request->hostname = config('api.url');
$ringkasanHarian = Http::get($request->hostname . '/api/reports/ringkasan-harian', [
'startDate' => $getReportDate($request->startDate),
'endDate' => $getReportDate($request->endDate),
])->json();
$startDate = $getReportDate($request->startDate);
$endDate = $getReportDate($request->endDate);
return view('reports.ringkasan-harian.index', compact('ringkasanHarian', 'startDate', 'endDate'));
}
public function downloadRingkasanHarianPdf($kod_cawangan, Request $request)
{
$api_url = $request->hostname;
$api_url = config('api.url');
$auth_user = Auth::user();
$current = Carbon::now();
$current = new Carbon();
$tarikh_cetak = $current->toDateString();
if ($request->dateringkasanharian == null) {
$ringkasan_date = $current->toDateString();
} else {
$split_date = explode('-', $request->dateringkasanharian);
$ringkasan_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
$ringkasan_date = $request->dateringkasanharian;
}
$cawangan = Http::get($api_url . '/api/cawangan/detail/' . $kod_cawangan)->json();
$laporan_ringkasan = Http::get($api_url . '/api/reports/ringkasan-harian/' . $kod_cawangan, [
'startDate' => $request->startDate,
'endDate' => $request->endDate,
])->json();
$kawalanstok = Http::get($api_url . '/api/reports/kawalan-stok/' . $kod_cawangan, [
'startDate' => $request->startDate,
'endDate' => $request->endDate,
])->json();
$laporan = $laporan_ringkasan[0];
/* Kawalan Stok */
//Gadai
$totalbilgadaikeseluruhan = $kawalanstok[0]['gadai1'][0]['bil'] + $kawalanstok[0]['gadai2'][0]['bil'] + $kawalanstok[0]['gadai3'][0]['bil'];
$totalbilgadaisehari = $kawalanstok[0]['gadaiini1'][0]['bil'] + $kawalanstok[0]['gadaiini2'][0]['bil'] + $kawalanstok[0]['gadaiini3'][0]['bil'];
$totalbilgadai = $totalbilgadaikeseluruhan + $totalbilgadaisehari;
$totalpinjgadaikeseluruhan = $kawalanstok[0]['gadai1'][0]['pinj'] + $kawalanstok[0]['gadai2'][0]['pinj'] + $kawalanstok[0]['gadai3'][0]['pinj'];
$totalpinjgadaisehari = $kawalanstok[0]['gadaiini1'][0]['pinj'] + $kawalanstok[0]['gadaiini2'][0]['pinj'] + $kawalanstok[0]['gadaiini3'][0]['pinj'];
$totalpinjgadai = $totalpinjgadaikeseluruhan + $totalpinjgadaisehari;
//Tebus
$totalbiltebuskeseluruhan = $kawalanstok[1]['tebus1'][0]['bil'] + $kawalanstok[1]['tebus2'][0]['bil'] + $kawalanstok[1]['tebus3'][0]['bil'];
$totalbiltebussehari = $kawalanstok[1]['tebusini1'][0]['bil'] + $kawalanstok[1]['tebusini2'][0]['bil'] + $kawalanstok[1]['tebusini3'][0]['bil'];
$totalbiltebus = $totalbiltebuskeseluruhan + $totalbiltebussehari;
$totalpinjtebuskeseluruhan = $kawalanstok[1]['tebus1'][0]['pinj'] + $kawalanstok[1]['tebus2'][0]['pinj'] + $kawalanstok[1]['tebus3'][0]['pinj'];
$totalpinjtebussehari = $kawalanstok[1]['tebusini1'][0]['pinj'] + $kawalanstok[1]['tebusini2'][0]['pinj'] + $kawalanstok[1]['tebusini3'][0]['pinj'];
$totalpinjtebus = $totalpinjtebuskeseluruhan + $totalpinjtebussehari;
//Ansuran
$totalbilanskeseluruhan = $kawalanstok[4]['ans1']['bil'] + $kawalanstok[4]['ans2']['bil'] + $kawalanstok[4]['ans3']['bil'];
$totalbilanssehari = $kawalanstok[4]['ansini1']['bil'] + $kawalanstok[4]['ansini2']['bil'] + $kawalanstok[4]['ansini3']['bil'];
$totalbilans = $totalbilanskeseluruhan + $totalbilanssehari;
$totalpinjanskeseluruhan = $kawalanstok[4]['ans1']['pinj'] + $kawalanstok[4]['ans2']['pinj'] + $kawalanstok[4]['ans3']['pinj'];
$totalpinjanssehari = $kawalanstok[4]['ansini1']['pinj'] + $kawalanstok[4]['ansini2']['pinj'] + $kawalanstok[4]['ansini3']['pinj'];
$totalpinjans = floatval($totalpinjanskeseluruhan + $totalpinjanssehari);
//Lelong
$totalbillelongkeseluruhan = $kawalanstok[2]['lelong1'][0]['bil'] + $kawalanstok[2]['lelong2'][0]['bil'] + $kawalanstok[2]['lelong3'][0]['bil'];
$totalbillelongsehari = $kawalanstok[2]['lelongini1'][0]['bil'] + $kawalanstok[2]['lelongini2'][0]['bil'] + $kawalanstok[2]['lelongini3'][0]['bil'];
$totalbillelong = $totalbillelongkeseluruhan + $totalbillelongsehari;
$totalpinjlelongkeseluruhan = $kawalanstok[2]['lelong1'][0]['pinj'] + $kawalanstok[2]['lelong2'][0]['pinj'] + $kawalanstok[2]['lelong3'][0]['pinj'];
$totalpinjlelongsehari = $kawalanstok[2]['lelongini1'][0]['pinj'] + $kawalanstok[2]['lelongini2'][0]['pinj'] + $kawalanstok[2]['lelongini3'][0]['pinj'];
$totalpinjlelong = floatval($totalpinjlelongkeseluruhan + $totalpinjlelongsehari);
$totalbilhapuskirakeseluruhan = $kawalanstok[3]['hapuskira1'][0]['bil'] + $kawalanstok[3]['hapuskira2'][0]['bil'] + $kawalanstok[3]['hapuskira3'][0]['bil'];
$totalbilhapuskirasehari = $kawalanstok[3]['hapuskiraini1'][0]['bil'] + $kawalanstok[3]['hapuskiraini2'][0]['bil'] + $kawalanstok[3]['hapuskiraini3'][0]['bil'];
$totalbilhapuskira = $totalbilhapuskirakeseluruhan + $totalbilhapuskirasehari;
$totalpinjhapuskirakeseluruhan = $kawalanstok[3]['hapuskira1'][0]['pinj'] + $kawalanstok[3]['hapuskira2'][0]['pinj'] + $kawalanstok[3]['hapuskira3'][0]['pinj'];
$totalpinjhapuskirasehari = $kawalanstok[3]['hapuskiraini1'][0]['pinj'] + $kawalanstok[3]['hapuskiraini2'][0]['pinj'] + $kawalanstok[3]['hapuskiraini3'][0]['pinj'];
$totalpinjhapuskira = $totalpinjhapuskirakeseluruhan + $totalpinjhapuskirasehari;
$totalbilkawalanstok = $totalbilgadai - $totalbiltebus /*-$totalbilans*/ - $totalbillelong - $totalbilhapuskira;
$totalpinjkawalanstok = $totalpinjgadai - $totalpinjtebus - $totalpinjans - $totalpinjlelong - $totalpinjhapuskira;
$report_data = [
'cawangan_detail' => $cawangan[0],
'tarikh_cetak' => Helper::formatDate(Carbon::now()),
'ringkasan_date' => sprintf('%s hingga %s', Helper::formatDate($request->startDate), Helper::formatDate($request->endDate)),
'api_url' => url()->current(),
'laporan' => $laporan,
'totalbilkawalanstok' => $totalbilkawalanstok,
'totalpinjkawalanstok' => $totalpinjkawalanstok,
];
if ($request->jenis == 'pdf') {
$pdf = PDF::loadView('akaun.laporan_ringkasanharian', $report_data)->setPaper('a4', 'landscape');
return $pdf->download('laporan_ringkasanharian_' . $request->kodcaw . '_' . $ringkasan_date . '.pdf');
} else {
return view('akaun.laporan_ringkasanharian', $report_data);
}
}
}