46c7cc08a7
2. bug fix when table 0 marhun must cannot press papar margin. 3. bug fix when in papar margin display must cannot press daftar marhun. 4. change bersih to bersih in editmarhun
419 lines
16 KiB
PHP
419 lines
16 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
//Events
|
|
use App\Events\OperasiNotice;
|
|
use App\Events\StatusLiked;
|
|
use App\Events\NotifikasiKelulusan;
|
|
use App\Events\Dashboard\KomoditiNotify;
|
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Http;
|
|
use Illuminate\Support\Facades\Hash;
|
|
|
|
|
|
use Carbon\Carbon;
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
class OperasiController extends Controller
|
|
{
|
|
public function __construct()
|
|
{
|
|
$this->middleware('auth');
|
|
}
|
|
|
|
public function kelulusan(Request $request){
|
|
$auth_user = Auth::user();
|
|
$api_url = config('api.url');
|
|
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
|
|
|
$kelulusan = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/ListOperasi/')->json();
|
|
|
|
$arraykelulusan = [];
|
|
|
|
|
|
foreach($kelulusan as $index=>$lulus)
|
|
{
|
|
foreach($lulus['kelulusanall'] as $index=>$kel)
|
|
{
|
|
array_push($arraykelulusan,["cawangan" => $lulus['cawangan'], "cawangankod" => $lulus['cawangankod'],"namateller" => $kel['teller'], 'siri' => $kel['siri'] , "norujukan" => $kel['norujukan'], 'pinjaman' => $kel['jumpinj'],'komen' => $kel['komen'], 'nilaimarhun' => ($kel['nilaimarhun'] ?? '-'), 'berat' => ($kel['berat'] ?? '-'),'margin' => ($kel['margin'] ?? '-'), 'status' => ($kel['status'] ?? '-'), 'pelulus' => $kel['pelulus']]);
|
|
}
|
|
|
|
foreach($lulus['kelulusanMohonid'] as $index=>$mohon)
|
|
{
|
|
array_push($arraykelulusan,["mohonid" => true,"ansuran" => $mohon['ansuran'],"cawangan" => $lulus['cawangan'], "cawangankod" => $lulus['cawangankod'],"namateller" => $mohon['teller'], 'recno' => $mohon['recno'] , "norujukan" => $mohon['norujukan'], 'pinjaman' => $mohon['pinjaman'],'komen' => $mohon['katalaluan'], 'nilaimarhun' => ($mohon['nilaimarhun'] ?? '-'), 'berat' => ($mohon['berat'] ?? '-'),'margin' => ($mohon['margin'] ?? '-'), 'status' => ($mohon['mohon'] ?? '-')]);
|
|
}
|
|
}
|
|
|
|
|
|
return view('operasi.kelulusan',compact('cawangan_info','api_url','arraykelulusan'));
|
|
}
|
|
|
|
public function getkelulusan(Request $request)
|
|
{
|
|
$auth_user = Auth::user();
|
|
$api_url = config('api.url');
|
|
|
|
$norujukan = $request->norujukan;
|
|
|
|
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
|
|
|
$kelulusan = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/SenaraiDahLulus/' . $auth_user['cawangan'] . '/' . $norujukan)->json();
|
|
|
|
if(sizeof($kelulusan) > 0)
|
|
{
|
|
$kelulusan = $kelulusan[0]['masalulus'];
|
|
}
|
|
else
|
|
{
|
|
$kelulusan = '';
|
|
}
|
|
|
|
return response($kelulusan);
|
|
}
|
|
|
|
public function updatekelulusan(Request $request)
|
|
{
|
|
$auth_user = Auth::user();
|
|
|
|
$api_url = config('api.url');
|
|
|
|
$norujukan = $request->norujukan;
|
|
|
|
|
|
if($request->pembatalan == null)
|
|
{
|
|
if(!$request->taglulus){
|
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusanKomen/' . $request->kodcaw . '/' . $norujukan,[
|
|
"komen" => $request->komenkelulusan,
|
|
'siri' => $request->siri
|
|
])->json();
|
|
|
|
$updateData = [
|
|
'sahkan' => 1,
|
|
'namaoperasi' => $request->namaoperasi,
|
|
'siri' => $request->siri
|
|
];
|
|
|
|
if ($request->has('actions')) {
|
|
$updateData['actions'] = $request->actions;
|
|
}
|
|
|
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusan/' . $request->kodcaw . '/' . $norujukan, $updateData)->json();
|
|
}else{
|
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateHapusAnsuran',[
|
|
'siri' => $request->siri,
|
|
"kodcaw" => $request->kodcaw,
|
|
"norujukan" => $request->norujukan,
|
|
'namaoperasi' => $request->namaoperasi,
|
|
'sahkan' => 1,
|
|
])->json();
|
|
}
|
|
|
|
|
|
if($updatelulus)
|
|
{
|
|
event(new NotifikasiKelulusan($norujukan,"lulus",$request->siri,$request->komenkelulusan,$request->teller));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if(!$request->taglulus){
|
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusanKomen/' . $request->kodcaw . '/' . $norujukan,[
|
|
"komen" => $request->komenkelulusan,
|
|
'siri' => $request->siri
|
|
])->json();
|
|
|
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateKelulusan/' . $request->kodcaw . '/' . $norujukan,[
|
|
'sahkan' => 2,
|
|
'namaoperasi' => $request->namaoperasi,
|
|
'siri' => $request->siri
|
|
])->json();
|
|
}else{
|
|
$updatelulus = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/UpdateHapusAnsuran',[
|
|
'siri' => $request->siri,
|
|
"kodcaw" => $request->kodcaw,
|
|
"norujukan" => $request->norujukan,
|
|
'namaoperasi' => $request->namaoperasi,
|
|
'sahkan' => 2,
|
|
])->json();
|
|
}
|
|
|
|
if($updatelulus)
|
|
{
|
|
event(new NotifikasiKelulusan($norujukan,"batal",$request->siri,$request->komenkelulusan,$request->teller));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
return response()->json($updatelulus,200);
|
|
}
|
|
|
|
public function createKelulusanByKhazanah(Request $request)
|
|
{
|
|
$auth_user = Auth::user();
|
|
$api_url = config('api.url');
|
|
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$norujukan = $request->norujukan;
|
|
|
|
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
|
|
|
$getsiri = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/ListLatestLulus/'. $auth_user['cawangan'] . '/' . $norujukan)->json();
|
|
|
|
if(isset($getsiri['siri']))
|
|
{
|
|
$siri = $getsiri['siri'] + 1;
|
|
}else{
|
|
$siri = 1;
|
|
}
|
|
|
|
$createlulus = Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url') . '/api/CreateKelulusan/' . $auth_user['cawangan'] . '/' . $norujukan . '/roles/khazanah', [
|
|
'komen' => $request->komen,
|
|
'dategadai' => $current->toDateString(),
|
|
'bilgadai' => 1,
|
|
'siri' => $siri,
|
|
'margin' => $request->margin,
|
|
'berat' => $request->berat,
|
|
'nilaimarhun' => $request->nilaimarhun,
|
|
'status' => $request->status,
|
|
'jumpinjam' => $request->jumpinjam,
|
|
'jenistebus' => "G",
|
|
'teller' => $request->teller,
|
|
'peloperasi' => "operasi",
|
|
'pelulus' => "operasi",
|
|
'actions' => "Mohon Pengesahan Pembayaran Pampasan"
|
|
])->json();
|
|
|
|
event(new OperasiNotice($auth_user['cawangan'],$auth_user['name']));
|
|
|
|
return response()->json($siri,201);
|
|
}
|
|
|
|
public function createkelulusan(Request $request)
|
|
{
|
|
$auth_user = Auth::user();
|
|
$api_url = config('api.url');
|
|
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$norujukan = $request->norujukan;
|
|
|
|
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
|
|
|
$getsiri = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/ListLatestLulus/'. $auth_user['cawangan'] . '/' . $norujukan)->json();
|
|
|
|
if(isset($getsiri['siri']))
|
|
{
|
|
$siri = $getsiri['siri'] + 1;
|
|
}else{
|
|
$siri = 1;
|
|
}
|
|
|
|
$createlulus = Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url') . '/api/CreateKelulusan/' . $auth_user['cawangan'] . '/' . $norujukan . '/roles/operasi', [
|
|
'komen' => $request->komen,
|
|
'dategadai' => $current->toDateString(),
|
|
'bilgadai' => 1,
|
|
'siri' => $siri,
|
|
'margin' => $request->margin,
|
|
'berat' => $request->berat,
|
|
'nilaimarhun' => $request->nilaimarhun,
|
|
'status' => $request->status,
|
|
'jumpinjam' => $request->jumpinjam,
|
|
'jenistebus' => "G",
|
|
'teller' => $request->teller,
|
|
'peloperasi' => "operasi"
|
|
|
|
])->json();
|
|
|
|
event(new StatusLiked($auth_user['cawangan'],$auth_user['name']));
|
|
|
|
return response()->json($siri,201);
|
|
}
|
|
|
|
public function mintakatalaluansemula(Request $request)
|
|
{
|
|
|
|
if(Hash::check($request->passsemula, Auth::user()->password))
|
|
{
|
|
return "True";
|
|
}
|
|
else
|
|
{
|
|
return "False";
|
|
}
|
|
|
|
}
|
|
|
|
public function parameter()
|
|
{
|
|
$auth_user = Auth::user();
|
|
$api_url = config('api.url');
|
|
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
|
|
|
return view('operasi.parameter',compact('cawangan_info','api_url'));
|
|
}
|
|
|
|
public function hargaemas()
|
|
{
|
|
$auth_user = Auth::user();
|
|
$api_url = config('api.url');
|
|
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
|
$harga_emas = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/harga_emas/')->json();
|
|
|
|
return view('operasi.hargaemas',compact('cawangan_info','api_url','harga_emas'));
|
|
}
|
|
|
|
public function margin(){
|
|
$auth_user = Auth::user();
|
|
$api_url = config('api.url');
|
|
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
|
$margin_pembiayaan = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/maxpinjaman')->json();
|
|
return view('operasi.margin_pembiayaan',compact('cawangan_info','api_url','margin_pembiayaan'));
|
|
}
|
|
|
|
public function kelulusanrekodlepas()
|
|
{
|
|
$auth_user = Auth::user();
|
|
$api_url = config('api.url');
|
|
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
|
|
|
//declare array baru
|
|
$arraykelulusan = [];
|
|
|
|
$kelulusan = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/ListOperasiKelulusan/')->json();
|
|
|
|
|
|
foreach($kelulusan as $index=>$k)
|
|
{
|
|
foreach($k['kelulusanall'] as $index1=>$kel)
|
|
{
|
|
$komen = explode("|",$kel['komen']);
|
|
|
|
$results=array_search("",$komen,true);
|
|
if($results !== false) {
|
|
unset($komen[$results]);
|
|
}
|
|
|
|
array_push($arraykelulusan,['norujukan' => $kel['norujukan'], 'pinjaman' => $kel['jumpinj'], 'nilaimarhun' => ($komen[1] ?? $kel['nilaimarhun'] ?? '-'), 'berat' => ($komen[2] ?? $kel['berat'] ?? '-'),'margin' => ($komen[3] ?? $kel['margin'] ?? '-'), 'komen' => ($komen[0] ?? $kel['komen'] ?? '-'), 'status' => ($kel['status'] ?? '-'), 'pelulus' => $kel['operasi'],]);
|
|
|
|
}
|
|
}
|
|
|
|
return view('operasi.rekodtelahlulus',compact('cawangan_info','api_url','arraykelulusan'));
|
|
|
|
}
|
|
|
|
public function notifyKomoditi()
|
|
{
|
|
$auth_user = Auth::user();
|
|
event(new KomoditiNotify('lulus',$auth_user['cawangan']));
|
|
}
|
|
|
|
public function marginmutu()
|
|
{
|
|
$auth_user = Auth::user();
|
|
$api_url = config('api.url');
|
|
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
|
|
|
// Get MaxMutuEmas data from API
|
|
$maxmutuemas = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/maxmutuemas')->json();
|
|
|
|
return view('operasi.marginmutu', compact('cawangan_info', 'api_url', 'maxmutuemas'));
|
|
}
|
|
|
|
public function editMarginMutu()
|
|
{
|
|
$auth_user = Auth::user();
|
|
$api_url = config('api.url');
|
|
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
|
|
|
return view('operasi.edit_marginmutu', compact('cawangan_info', 'api_url'));
|
|
}
|
|
|
|
public function laporanAudit()
|
|
{
|
|
$auth_user = Auth::user();
|
|
$api_url = config('api.url');
|
|
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
|
|
|
return view('homepage.operasi.laporan-audit', compact('cawangan_info', 'api_url'));
|
|
}
|
|
|
|
public function cetakLaporanAuditTrail(Request $request)
|
|
{
|
|
$api_url = config('api.url');
|
|
$auth_user = Auth::user();
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
$tarikh_cetak = $current->toDateString();
|
|
|
|
if($request->dateaudit == null){
|
|
$date = $current->toDateString();
|
|
}else{
|
|
$split_date = explode('-', $request->dateaudit);
|
|
$date = $split_date[0] . '-' . $split_date[1] . '-' . $split_date[2];
|
|
}
|
|
|
|
if($request->dateaudit_till == null){
|
|
$date_till = $current->toDateString();
|
|
}else{
|
|
$split_date_till = explode('-', $request->dateaudit_till);
|
|
$date_till = $split_date_till[0] . '-' . $split_date_till[1] . '-' . $split_date_till[2];
|
|
}
|
|
|
|
$audittrail_raw = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url'). '/api/reports/audittrail/operasi',['date' => $date,'date_till' => $date_till])->json();
|
|
if(!$audittrail_raw){
|
|
return redirect()->back()->with('errormessage', 'Tiada data pada tarikh tersebut.');
|
|
}
|
|
|
|
// Transform the data to match view format
|
|
$audittrail = [];
|
|
foreach($audittrail_raw as $item) {
|
|
$created_at = \Carbon\Carbon::parse($item['created_at']);
|
|
|
|
// Format differences for display
|
|
$differences_text = '-';
|
|
if (isset($item['differences']) && !empty($item['differences'])) {
|
|
$diff_parts = [];
|
|
foreach ($item['differences'] as $field => $changes) {
|
|
$old = $changes['old'] ?? 'null';
|
|
$new = $changes['new'] ?? 'null';
|
|
$diff_parts[] = "{$field}: {$old} → {$new}";
|
|
}
|
|
$differences_text = implode('; ', $diff_parts);
|
|
}
|
|
|
|
$audittrail[] = [
|
|
'tarikh' => $created_at->format('d/m/Y'),
|
|
'masa' => $created_at->format('H:i:s'),
|
|
'users' => $item['users'],
|
|
'actions' => $item['actions'],
|
|
'differ' => $differences_text
|
|
];
|
|
}
|
|
|
|
$cawangan_detail = [
|
|
'kodcaw' => 'operasi',
|
|
'namacaw' => 'Operasi Ar-Rahn',
|
|
'alamat1' => 'Lot 107, Jalan Parit Dalam,',
|
|
'alamat2' => 'Seksyen 8',
|
|
'poskod' => '15000',
|
|
'bandar' => 'Kota Bahru',
|
|
'negeri' => 'Kelantan',
|
|
'notel' => '03-12345678',
|
|
'nofaks' => '03-12345678',
|
|
];
|
|
|
|
return view('print.laporan_audittrail_operasi', compact('audittrail','cawangan_detail','tarikh_cetak','date','date_till','api_url'));
|
|
}
|
|
}
|