where('kodcaw','=',$kodcaw)->first(); $kelulusan=Mohon::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('masalulus','=','') ->where('pelulus','!=','operasi') ->get(); return response()->json($kelulusan); } public function listdahlulus($kodcaw,$norujukan,Request $request) { $harini = Carbon::now(); $harini = new Carbon; $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $kelulusan=Mohon::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$norujukan) ->where('masalulus','<>','') ->get(); // $audit = new Audit(); // $audit->users = $request->teller; // $audit->actions = "test"; // $audit->new_data = $kelulusan; // $audit->kodcaw = $kodcaw; // $audit->created_at = $harini; // $audit->updated_at = $harini; // $audit->save(); return response()->json($kelulusan); } public function listlatestlulus($kodcaw,$norujukan) { $harini = Carbon::now(); $harini = new Carbon; $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $kelulusan=Mohon::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$norujukan) ->orderBy('siri','desc') ->first(); return response()->json($kelulusan); } public function rekodlepas($kodcaw) { $harini = Carbon::now(); $harini = new Carbon; $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $kelulusan=Mohon::on($cawangan['mysql']) ->where('tarikh','<',$harini->toDateString()) ->where('pelulus','=','khazanah') ->where('peloperasi','=','') ->where('masalulus','<>','') ->get(); return response()->json($kelulusan); } public function update($kodcaw,$norujukan,Request $request) { $harini = Carbon::now(); $harini = new Carbon; $kelulusan = null; $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $pengesahan = $request->pengesahan; if($pengesahan == 'khazanah') { if($request->pembatalan == null) { $kelulusan=Mohon::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$norujukan) ->where('siri','=',$request->siri) ->update(array( 'masalulus' => $harini->toTimeString(), 'pelulus' => 'khazanah', 'khazanah' => $request->namakhazanah )); }else{ $kelulusan=Mohon::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$norujukan) ->where('siri','=',$request->siri) ->update(array( 'masalulus'=> 'batal', 'pelulus'=> 'khazanah', 'khazanah' => $request->namakhazanah )); } } else if($pengesahan == 'operasi') { if($request->pembatalan == null) { $kelulusan=Mohon::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$norujukan) ->where('siri','=',$request->siri) ->update(array( 'pelulus' => 'operasi', 'khazanah' => $request->namakhazanah )); } else { $kelulusan=Mohon::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$norujukan) ->where('siri','=',$request->siri) ->update(array( 'pelulus' => 'operasi', 'masalulus' => 'batal', 'khazanah' => $request->namakhazanah )); } $audit = new Audit(); $audit->users = (isset($request->namaoperasi) ? $request->namaoperasi : ''); $audit->actions = "pengesahan kelulusan 75%"; $audit->new_data = json_encode($kelulusan); $audit->kodcaw = $kodcaw; $audit->created_at = $harini; $audit->updated_at = $harini; $audit->save(); } if($request->sahkan === 1) { $kelulusan=Mohon::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$norujukan) ->where('siri','=',$request->siri) ->update(array( 'pelulus' => 'dahlulus', 'operasi' => $request->namaoperasi, 'masalulus'=> $harini->toTimeString() )); }else if($request->sahkan === 2){ $kelulusan=Mohon::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$norujukan) ->where('siri','=',$request->siri) ->update(array( 'pelulus' => 'dahlulus', 'operasi' => $request->namaoperasi, 'masalulus'=> 'batal' )); } $audit = new Audit(); $audit->users = (isset($request->namakhazanah) ? $request->namakhazanah : ''); $audit->actions = $request->actions ?? "pengesahan kelulusan 75%"; // Only prepare detailed audit data for Pampasan approval if($request->actions == 'Pengesahan Pembayaran Pampasan') { // Prepare data for audit - ensure it's an array $auditData = []; // If kelulusan is a scalar (update result), create array structure if (is_scalar($kelulusan) || is_null($kelulusan)) { $auditData = ['update_result' => $kelulusan]; } else { $auditData = $kelulusan; } // Add namapelulus and norujukanasal to the audit data if(isset($request->namaoperasi)) { $auditData['namapelulus'] = !empty($request->namaoperasi) ? $request->namaoperasi : null; } if(isset($request->norujukan)) { $auditData['norujukan'] = !empty($request->norujukan) ? $request->norujukan : null; } } else { // For other actions, use simple kelulusan data $auditData = $kelulusan; } $audit->new_data = json_encode($auditData); $audit->kodcaw = $kodcaw; $audit->created_at = $harini; $audit->updated_at = $harini; $audit->save(); return response()->json($kelulusan,201); } public function updatekomen($kodcaw,$norujukan,Request $request) { $harini = Carbon::now(); $harini = new Carbon; $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $kelulusan=Mohon::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$norujukan) ->where('siri','=',$request->siri) ->update(array( 'komen' => $request->komen )); return response()->json($kelulusan,201); } public function create(REQUEST $request,$kodcaw,$norujukan,$roles) { $harini = Carbon::now(); $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); if($roles == "khazanah") { $kelulusan=Mohon::on($cawangan['mysql']) ->create([ 'tarikh'=> $harini->toDateString(), 'norujukan'=> $norujukan, 'siri' => $request->siri, 'komen' => $request->komen, 'margin' => $request->margin, 'nilaimarhun' => $request->nilaimarhun, 'berat' => $request->berat, 'status' => $request->status, 'bilgad' => $request->bilgadai, 'jumpinj' => $request->jumpinjam, 'jenistebus' => $request->jenistebus, 'teller' => $request->teller, 'pelulus' => ($request->pelulus) ? $request->pelulus : '' ]); } else if($roles == "operasi") { $kelulusan=Mohon::on($cawangan['mysql']) ->create([ 'tarikh'=> $harini->toDateString(), 'norujukan'=> $norujukan, 'siri' => $request->siri, 'komen' => $request->komen, 'margin' => $request->margin, 'nilaimarhun' => $request->nilaimarhun, 'berat' => $request->berat, 'status' => $request->status, 'bilgad' => $request->bilgadai, 'jumpinj' => $request->jumpinjam, 'jenistebus' => $request->jenistebus, 'teller' => $request->teller, 'pelulus' => 'minta', 'peloperasi' => ($request->peloperasi) ? $request->peloperasi : '' ]); } $audit = new Audit(); $audit->users = (isset($request->teller) ? $request->teller : ''); $audit->actions = $request->actions ?? "Minta Pengesahan kelulusan 75%"; $audit->new_data = json_encode($kelulusan); $audit->kodcaw = $kodcaw; $audit->created_at = $harini; $audit->updated_at = $harini; $audit->save(); return response()->json($kelulusan); } //KEPOHONAN EDIT DAN HAPUS public function kepohonancreate(REQUEST $request,$kodcaw,$norujukan) { $harini = Carbon::now(); $harini = new Carbon; $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $mohonid=Mohonid::on($cawangan['mysql']) ->create([ 'tarikh'=> $harini->toDateString(), 'mohon' => $request->mohon, 'norujukan' => $norujukan, 'katalaluan' => $request->komen, 'pinjaman' => $request->pinjaman, 'nilaimarhun' => $request->nilaimarhun, 'berat' => $request->berat, 'margin' => $request->margin, 'benar' => '0', 'teller' => $request->teller, 'tagoperasi'=> ($request->tagoperasi) ? true : false, 'masa' => $harini->toTimeString(), 'ansuran' => ($request->ansuran) ? $request->ansuran : 0.00, ]); return response()->json($mohonid,201); } public function updatekepohonankhazanah($kodcaw,$norujukan,Request $request) { $harini = Carbon::now(); $harini = new Carbon; $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); if($request->pembatalan != null) { $kelulusan=Mohonid::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$norujukan) ->where('recno','=',$request->recno) ->update(array( 'katalaluan' => $request->komen, 'benar' => '2', 'id' => $request->khazanah, 'timestamp_approved_by_pc' => $harini, )); }else{ $benar = ($request->tagoperasi == 1) ? 0 : 1; $kelulusan=Mohonid::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$norujukan) ->where('recno','=',$request->recno) ->update(array( 'benar' => $benar, 'id' => $request->khazanah, 'timestamp_approved_by_pc' => $harini, )); } return response()->json($kelulusan,202); } public function kepohonangetteller(Request $request,$kodcaw) { $harini = Carbon::now(); $harini = new Carbon; $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $kelulusan=Mohonid::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$request->norujukan) ->orderBy('recno','desc') ->first(); return response()->json($kelulusan,200); } public function listkepohonan($kodcaw) { $harini = Carbon::now(); $harini = new Carbon; $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $kelulusan=Mohonid::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('benar','=', 0) ->orderBy('recno','desc') ->get(); return response()->json($kelulusan,200); } public function listoperasi() { $harini = Carbon::now(); $harini = new Carbon; $cawangan_all = Cawangan::on('mysql7')->get(); $arraykelulusan = []; foreach($cawangan_all as $index=>$cawangan){ $kelulusan = Mohon::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('masalulus','=','') ->where('pelulus','=','operasi') ->get(); $mohonid_data = Mohonid::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->whereNotNull('id') ->whereNotNull('timestamp_approved_by_pc') ->where('tagoperasi', '1') ->whereNull('operasi') ->get(); // Check if EITHER has data (not just $kelulusan) if(sizeof($kelulusan) != 0 || sizeof($mohonid_data) != 0){ array_push($arraykelulusan,[ "kelulusanall" => $kelulusan, "kelulusanMohonid" => $mohonid_data, "cawangan" => $cawangan['details_caw'], "cawangankod" => $cawangan['kodcaw'] ]); } } return response()->json($arraykelulusan,200); } public function listoperasikelulusan() { $harini = Carbon::now(); $harini = new Carbon; $cawangan_all = Cawangan::on('mysql7')->get(); $arraykelulusan = []; foreach($cawangan_all as $index=>$cawangan){ $kelulusan=Mohon::on($cawangan['mysql']) ->where('peloperasi','=','operasi') ->where('operasi','!=','') ->get(); if(sizeof($kelulusan) != 0){ array_push($arraykelulusan,["kelulusanall" => $kelulusan,"cawangan" => $cawangan['details_caw'],"cawangankod" => $cawangan['kodcaw']]); } } return response()->json($arraykelulusan,200); } public function UpdateHapusAnsuranOperasi(Request $request){ $harini = Carbon::now(); $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first(); if($request->sahkan === 1){ $kelulusan=Mohonid::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$request->norujukan) ->where('recno','=',$request->siri) ->where('tagoperasi', '=', 1) ->update(array( 'operasi' => $request->namaoperasi, 'timestamp_approved_by_operasi' => $harini, 'benar' => 1, )); }else if($request->sahkan === 2){ $kelulusan=Mohonid::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('norujukan','=',$request->norujukan) ->where('recno','=',$request->siri) ->where('tagoperasi', '=', 1) ->update(array( 'operasi' => $request->namaoperasi, 'timestamp_approved_by_operasi' => $harini, 'benar' => 2, )); } return response()->json($kelulusan,202); } public function getApproval(Request $request){ $harini = Carbon::now(); $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first(); $kelulusan = Mohonid::on($cawangan['mysql']) ->where('tarikh','=',$harini->toDateString()) ->where('teller','=',$request->teller) ->where('mohon','=',$request->mohon) ->where('benar','=',0) ->latest('masa') ->first(); return response()->json($kelulusan, 200); } public function getApprovalList(Request $request){ $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first(); $kelulusan = Mohonid::on($cawangan['mysql']) ->groupBy('mohon') ->pluck('mohon'); return response()->json($kelulusan, 200); } public function getApprovalLaporan(Request $request){ $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first(); $kelulusan = Mohonid::on($cawangan['mysql']) ->selectRaw('recno, benar, tarikh, onlineid, mohon, norujukan, id, katalaluan, benar, operasi, pinjaman, ansuran, nilaimarhun, berat, margin, teller ,masa, timestamp_approved_by_pc, timestamp_approved_by_operasi') ->whereBetween('tarikh', [$request->tarikh_mula, $request->tarikh_akhir]) ->where('mohon', $request->mohon) ->orderBy('tarikh', 'desc') ->orderBy('masa', 'desc') ->get(); return response()->json($kelulusan, 200); } }