Update WTD - Add jana simulasi feature 2024

This commit is contained in:
aiman
2025-09-25 11:59:19 +08:00
parent 457ff93fda
commit f97393ec7e
17 changed files with 851 additions and 36 deletions
+126 -26
View File
@@ -19,8 +19,8 @@ class WTDController extends Controller
// $this->middleware('auth');
// }
public function index(){
public function index()
{
return view('wtd.index');
}
@@ -30,27 +30,25 @@ class WTDController extends Controller
$norujukan = json_decode($request->norujukan);
$tuntutbaki = Http::get(config('api.url').'/admin/wtd/senarai',['norujukan' => $norujukan,'kodcaw' => $request->cawangan])->json();
$tuntutbaki = Http::get(config('api.url') . '/admin/wtd/senarai', ['norujukan' => $norujukan, 'kodcaw' => $request->cawangan])->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'. $request->cawangan)->json();
$cawangan_detail=$cawangan[0];
$cawangan = Http::get(config('api.url') . '/api/cawangan/detail/' . $request->cawangan)->json();
$cawangan_detail = $cawangan[0];
$current = Carbon::now();
$tarikh_cetak = $current->toDateString();
$api_url = config('api.url');
$mula = $request->mula;
$mula = $request->mula;
$hingga = $request->hingga;
// $myDateTime = DateTime::createFromFormat('Y-m-d', $tarikh_cetak);
// $tarikhcetakan = $myDateTime->format('d-m-Y');
if(isset($request->jenis))
{
if($request->jenis == 'pdf')
{
$pdf = PDF::loadView('wtd.cetakan', compact('tuntutbaki','cawangan_detail','tarikh_cetak','api_url','mula','hingga'))->setPaper('a4', 'potrait');
return $pdf->download('wtd_' . $request->cawangan .'_'. $tarikh_cetak . '.pdf');
}else{
return view('wtd.cetakanexcel', compact('tuntutbaki','cawangan_detail','tarikh_cetak','api_url','mula','hingga'));
if (isset($request->jenis)) {
if ($request->jenis == 'pdf') {
$pdf = PDF::loadView('wtd.cetakan', compact('tuntutbaki', 'cawangan_detail', 'tarikh_cetak', 'api_url', 'mula', 'hingga'))->setPaper('a4', 'potrait');
return $pdf->download('wtd_' . $request->cawangan . '_' . $tarikh_cetak . '.pdf');
} else {
return view('wtd.cetakanexcel', compact('tuntutbaki', 'cawangan_detail', 'tarikh_cetak', 'api_url', 'mula', 'hingga'));
}
}
}
@@ -61,21 +59,123 @@ class WTDController extends Controller
$current = Carbon::now();
$tarikh_cetak = $current->toDateString();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'. $request->cawangan)->json();
$cawangan_detail=$cawangan[0];
$cawangan = Http::get(config('api.url') . '/api/cawangan/detail/' . $request->cawangan)->json();
$cawangan_detail = $cawangan[0];
$wtdDalamProses = Http::get(config('api.url'). '/admin/wtd/dalamproses' ,['batchno' => $request->batchno,'kodcaw' => $request->cawangan])->json();
if(isset($request->jenis))
{
if($request->jenis == 'pdf')
{
$pdf = PDF::loadView('wtd.dalamprosespdf', compact('tarikh_cetak','cawangan_detail','wtdDalamProses','api_url'))->setPaper('a4', 'landscape');
return $pdf->download('wtd_' . $request->cawangan .'_'. $tarikh_cetak . '.pdf');
}else{
$wtdDalamProses = Http::get(config('api.url') . '/admin/wtd/dalamproses', ['batchno' => $request->batchno, 'kodcaw' => $request->cawangan])->json();
if (isset($request->jenis)) {
if ($request->jenis == 'pdf') {
$pdf = PDF::loadView('wtd.dalamprosespdf', compact('tarikh_cetak', 'cawangan_detail', 'wtdDalamProses', 'api_url'))->setPaper('a4', 'landscape');
return $pdf->download('wtd_' . $request->cawangan . '_' . $tarikh_cetak . '.pdf');
} else {
return view('wtd.dalamprosesexcel', compact('tarikh_cetak','cawangan_detail','wtdDalamProses','api_url'));
return view('wtd.dalamprosesexcel', compact('tarikh_cetak', 'cawangan_detail', 'wtdDalamProses', 'api_url'));
}
}
}
public function janaSimulasi(Request $request)
{
$cawangan = Http::get(config('api.url') . '/api/cawangan/')->json();
return view('wtd.simulasi.janaSimulasi', compact('cawangan'));
}
public function showSimulasi(Request $request)
{
$request->validate([
'kodcaw' => 'required',
'tahun' => 'required',
], [
'kodcaw.required' => 'Sila Pilih Cawangan Terlebih Dahulu.',
'tahun.required' => 'Sila Masukkan Tahun Terlebih Dahulu.',
]);
$senaraiSimulasi = Http::get(config('api.url') . '/admin/wtd/janaSimulasi', ['kodcaw' => $request->kodcaw, 'tahun' => $request->tahun])->json();
$year = $request->tahun;
// dd($senaraiSimulasi, $request->kodcaw, $request->tahun);
return view('wtd.simulasi.show', compact('senaraiSimulasi', 'year'));
}
public function showRekod(Request $request)
{
$bulan = $request->input('month');
$bulanNumber = date('n', strtotime($bulan));
$rekod = Http::get(config('api.url') . '/admin/wtd/rekodSimulasi', ['kodcaw' => $request->kodcaw, 'month' => $bulanNumber, 'year' => $request->year])->json();
$totalBaki = collect($rekod)->sum('baki');
// dd($rekod, $bulanNumber, $totalBaki, $bulan);
return view('wtd.simulasi.rekod', compact('bulan', 'rekod', 'totalBaki'));
}
public function prosesWTD(Request $request)
{
// dd($request->input());
$request->validate([
'data.*.bulan' => 'required|string',
'data.*.jumlah_norujukan' => 'required|numeric',
'data.*.pembiayaan' => 'required|numeric',
'data.*.baki' => 'required|numeric',
'data.*.selected' => 'nullable',
]);
// Process the selected data
$data = $request->input('data', []);
$insertedRecords = [];
$kodcaw = $request->data[0]['kodcaw'];
foreach ($data as $item) {
if (isset($item['selected'])) {
$insertedRecords[] = [
'bulan' => $item['bulan'],
'tahun' => $request->tahun,
'kodcaw' => $kodcaw,
'jumlah_sag' => $item['jumlah_norujukan'],
'pembiayaan' => $item['pembiayaan'],
'baki' => $item['baki'],
'created_at' => now(),
'updated_at' => now(),
];
}
}
$response = Http::post(config('api.url') . '/admin/wtd/prosesSimulasi', [
'input' => $insertedRecords
])->json();
// dd($data, $insertedRecords, $kodcaw, $response);
return view('wtd.simulasi.pengesahan', compact('insertedRecords', 'response', 'kodcaw'));
}
public function pengesahanSimulasi(Request $request)
{
$response = Http::post(config('api.url') . '/admin/wtd/pengesahanSimulasi', [
'records' => $request->records,
'kodcaw' => $request->kodcaw,
])->json();
return view('wtd.index');
}
public function serahbaki()
{
return view('wtd.simulasi.serahbaki');
}
public function simulasiToDraft(Request $request)
{
$response = Http::post(config('api.url') . '/admin/wtd/simulasiToDraft', [
'bulan' => $request->bulan,
])->json();
dd($response);
}
}