diff --git a/app/Exports/WTDDetailExport.php b/app/Exports/WTDDetailExport.php new file mode 100644 index 0000000..3155ac9 --- /dev/null +++ b/app/Exports/WTDDetailExport.php @@ -0,0 +1,41 @@ +kodcaw = $kodcaw; + $this->startDate = $startDate; + $this->endDate = $endDate; + } + + public function view(): View + { + $data = Http::get(config('api.url') . '/admin/wtd/summaryWtd', [ + 'startDate' => $this->startDate, + 'endDate' => $this->endDate, + ])->json(); + + $branch = collect($data)->firstWhere('kodcaw', $this->kodcaw); + $details = collect($branch['details'] ?? []); + + return view('reports.wtd.excel', [ + 'details' => $details, // data WTD + 'branch' => $branch, + 'generatedAt' => now()->format('d/m/Y H:i'), + 'startDate' => $this->startDate, + 'endDate' => $this->endDate, + ]); + } + +} diff --git a/app/Http/Controllers/WTDController.php b/app/Http/Controllers/WTDController.php index 927702d..07e52aa 100644 --- a/app/Http/Controllers/WTDController.php +++ b/app/Http/Controllers/WTDController.php @@ -2,7 +2,6 @@ namespace App\Http\Controllers; - use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Session; @@ -10,7 +9,8 @@ use Illuminate\Support\Facades\Http; use Carbon\Carbon; use PDF; -use Maatwebsite\Excel\Excel; +use Maatwebsite\Excel\Facades\Excel; +use App\Exports\WTDDetailExport; class WTDController extends Controller { @@ -178,4 +178,50 @@ class WTDController extends Controller dd($response); } + + public function summaryWtd(Request $request) + { + $current = Carbon::now(); + + $getReportDate = function ($date_string) use ($current) { + return $date_string ? $date_string : $current->toDateString(); + }; + + $request->hostname = config('api.url'); + + $startDate = $getReportDate($request->startDate); + $endDate = $getReportDate($request->endDate); + + + + // $summarywtd = Http::get($request->hostname . '/admin/wtd/summaryWtd', [ + // 'startDate' => $startDate, + // 'endDate' => $endDate, + // ])->effectiveUri()->__toString(); + + // dd($summarywtd); + + + $summarywtd = Http::get($request->hostname . '/admin/wtd/summaryWtd', [ + 'startDate' => $startDate, + 'endDate' => $endDate, + ])->json(); + + + if (!is_array($summarywtd)) { + $summarywtd = []; + } + + return view('reports.wtd.index', compact('summarywtd', 'startDate', 'endDate')); + } + + public function exportExcel(Request $request, $kodcaw) + { + return Excel::download( + new WTDDetailExport( + $kodcaw, + $request->startDate, + $request->endDate + ),"Detail_Laporan_WTD_{$kodcaw}.xlsx"); + } } diff --git a/resources/views/indexOverallReport.blade.php b/resources/views/indexOverallReport.blade.php index 6a5bc19..cb53006 100644 --- a/resources/views/indexOverallReport.blade.php +++ b/resources/views/indexOverallReport.blade.php @@ -110,6 +110,12 @@

Saringan Gadaian

+
+ +

Selesai WTD

+
+
diff --git a/resources/views/reports/wtd/excel.blade.php b/resources/views/reports/wtd/excel.blade.php new file mode 100644 index 0000000..1abc8a8 --- /dev/null +++ b/resources/views/reports/wtd/excel.blade.php @@ -0,0 +1,80 @@ + + + + + + + + + + + + + +
+ LAPORAN RUMUSAN WTD +
+ Cawangan : {{ $branch['details_caw'] ?? '-' }} ({{ $branch['kodcaw'] ?? '-' }}) +
+ Tarikh : {{ $startDate }} hingga {{ $endDate }} +
+ Tarikh Dijana : {{ $generatedAt }} +
+ +
+ + + + + + + + + + + + + + + + + @php + $bil = 1; + $sum_baki = 0; + $jumlah = 0; + @endphp + + @foreach ($details as $item) + + @php + $jumlah = $item['jumlah']; + @endphp + + + + + + + + + + + @php + $sum_baki += $item['jumlah']; + @endphp + @endforeach + + + + + + + +
BilBatch WTDNo RujukanNo KPNamaTarikh ProsesJumlah (RM)
{{ $bil++ }}{{ $item['batchno'] ?? 0 }}{{ $item['norujukan'] ?? null }}{{ $item['nokp'] ?? null }}{{ $item['nama_cust'] ?? null }}{{ $item['t_proses'] ?? null }}{{ number_format($jumlah, 2) }}
+ JUMLAH KESELURUHAN + + {{ number_format($sum_baki, 2) }} +
+ + + diff --git a/resources/views/reports/wtd/index.blade.php b/resources/views/reports/wtd/index.blade.php new file mode 100644 index 0000000..330fc57 --- /dev/null +++ b/resources/views/reports/wtd/index.blade.php @@ -0,0 +1,165 @@ +@extends('layouts.app') + +@section('content') + +
+
+ +
+ + + + +
+
+
+
Laporan Selesai WTD +
+
+
+
+
+ Mula + + Hingga + + +
+ +
+
+
+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+ + + + + + + + + + + + + + @php + $totalsag = 0; // jumlah semua surat + $totalbaki = 0; + @endphp + + + + @forelse ($summarywtd ?? [] as $wtd) + @php + // Jumlah semua surat + $totalsag += $wtd['jumlah_surat'] ?? 0; + $totalbaki += $wtd['sum_baki'] ?? 0; + @endphp + + + + + + + + + @empty + + + + @endforelse + + + + + + + + + +
+ No + + Kod Cawangan + + Cawangan + + Jumlah Surat + + Jumlah WTD Dihantar + + Action +
+
{{ $loop->iteration }}
+
+
{{ $wtd['kodcaw'] }}
+
+
{{ $wtd['details_caw'] }}
+
+
{{ $wtd['jumlah_surat'] }}
+
+
{{ number_format($wtd['sum_baki'], 2) }}
+
+ +
+ Data not available +
+ Jumlah Keseluruhan + + {{ $totalsag }} + + {{ number_format($totalbaki, 2) }} +
+ +
+
+
+ @include('layouts.footer') +
+@endsection diff --git a/routes/reports.php b/routes/reports.php index 60e3404..fbff1ed 100644 --- a/routes/reports.php +++ b/routes/reports.php @@ -14,6 +14,7 @@ use App\Http\Controllers\Reports\PetibesiController; use App\Http\Controllers\Reports\AnalisaController; use App\Http\Controllers\Reports\BakiLelongController; use App\Http\Controllers\SaringanGadaianController; +use App\Http\Controllers\WTDController; use Illuminate\Support\Facades\Route; Route::middleware(['roleChecker:admin,akaun,operasi,kpo,callcenter, null'])->group(function () { @@ -49,4 +50,8 @@ Route::middleware(['roleChecker:admin,akaun,operasi,kpo,callcenter, null'])->gro Route::get('saringan-gadaian-index', [SaringanGadaianController::class, 'index'])->name('reports.saringan-gadaian.index'); Route::get('saringan-gadaian-excel/{kodcaw}', [SaringanGadaianController::class, 'exportExcel'])->name('reports.gadaian.cawangan.excel'); + + Route::get('summary-wtd-index', [WTDController::class, 'summaryWtd'])->name('reports.summary-wtd.index'); + Route::get('summary-wtd-excel/{kodcaw}', [WTDController::class, 'exportExcel'])->name('reports.wtd.cawangan.excel'); + });