182 lines
6.1 KiB
PHP
182 lines
6.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Session;
|
|
use Illuminate\Support\Facades\Http;
|
|
use Carbon\Carbon;
|
|
|
|
use PDF;
|
|
use Maatwebsite\Excel\Excel;
|
|
|
|
class WTDController extends Controller
|
|
{
|
|
// public function __construct()
|
|
// {
|
|
// $this->middleware('auth');
|
|
// }
|
|
|
|
public function index()
|
|
{
|
|
return view('wtd.index');
|
|
}
|
|
|
|
public function CetakSenarai(Request $request)
|
|
{
|
|
// $norujukan = $request->norujukan;
|
|
|
|
$norujukan = json_decode($request->norujukan);
|
|
|
|
$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];
|
|
|
|
$current = Carbon::now();
|
|
$tarikh_cetak = $current->toDateString();
|
|
$api_url = config('api.url');
|
|
$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'));
|
|
}
|
|
}
|
|
}
|
|
|
|
public function CetakWtdDalamProses(Request $request)
|
|
{
|
|
$api_url = config('api.url');
|
|
$current = Carbon::now();
|
|
$tarikh_cetak = $current->toDateString();
|
|
|
|
$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 {
|
|
|
|
|
|
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);
|
|
}
|
|
}
|