added box komen on teller and added audit trail and added endpoints for laporan

This commit is contained in:
Hafifie PKB
2025-06-30 12:40:19 +08:00
parent adf0226f2b
commit 448402061f
6 changed files with 289 additions and 25 deletions
+68 -13
View File
@@ -10,6 +10,7 @@ use App\Mohonid;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
class KelulusanController extends Controller
{
@@ -298,13 +299,16 @@ public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
'tarikh'=> $harini->toDateString(),
'mohon' => $request->mohon,
'norujukan' => $norujukan,
'katalaluan' => '',
'katalaluan' => $request->komen,
'pinjaman' => $request->pinjaman,
'nilaimarhun' => $request->nilaimarhun,
'berat' => $request->berat,
'margin' => $request->margin,
'benar' => '0',
'teller' => $request->teller
'teller' => $request->teller,
'tagoperasi'=> ($request->tagoperasi) ? true : false,
'masa' => $harini->toTimeString(),
'ansuran' => ($request->ansuran) ? $request->ansuran : 0.00,
]);
return response()->json($mohonid,201);
@@ -322,18 +326,24 @@ public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
$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
'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' => '1',
'id' => $request->khazanah
'benar' => $benar,
'id' => $request->khazanah,
'timestamp_approved_by_pc' => $harini,
));
}
@@ -381,16 +391,28 @@ public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
$arraykelulusan = [];
foreach($cawangan_all as $index=>$cawangan){
$kelulusan=Mohon::on($cawangan['mysql'])
->where('tarikh','=',$harini->toDateString())
->where('masalulus','=','')
->where('pelulus','=','operasi')
->get();
$kelulusan = Mohon::on($cawangan['mysql'])
->where('tarikh','=',$harini->toDateString())
->where('masalulus','=','')
->where('pelulus','=','operasi')
->get();
if(sizeof($kelulusan) != 0){
array_push($arraykelulusan,["kelulusanall" => $kelulusan,"cawangan" => $cawangan['details_caw'],"cawangankod" => $cawangan['kodcaw']]);
$mohonid_data = Mohonid::on($cawangan['mysql'])
->where('tarikh','=',$harini->toDateString())
->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);
}
@@ -417,4 +439,37 @@ public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
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);
}
}
@@ -26,6 +26,7 @@ use Carbon\Carbon;
use App\imbangdugalama;
use App\Services\Reports\ImbangDugaService;
use App\Services\Reports\Account\GeneralLedger;
use App\Mohonid;
use Illuminate\Support\Facades\Log;
@@ -1698,4 +1699,47 @@ $date = new Carbon($request->tarikh);
return response()->json($array_imbangduga,200);
}
public function getLaporanKelulusan(Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$laporan_kelulusan = Mohonid::on($cawangan['mysql'])
->whereBetween('tarikh', [$request->mula, $request->akhir])
->when($request->mohon, function($query, $mohon) {
return $query->where('mohon', $mohon);
})
->get();
if($laporan_kelulusan->isEmpty()){
return response()->json(['message' => 'No data found'], 404);
}
return response()->json([
'success' => true,
'message' => 'Laporan kelulusan retrieved successfully',
'data' => $laporan_kelulusan,
'count' => $laporan_kelulusan->count(),
'timestamp' => Carbon::now()->toISOString()
], 200);
}
public function getListofKelulusan(Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$laporan_kelulusan = Mohonid::on($cawangan['mysql'])
->groupBy('mohon')
->pluck('mohon');
if($laporan_kelulusan->isEmpty()){
return response()->json(['message' => 'No data found'], 404);
}
return response()->json([
'success' => true,
'message' => 'List of Type Kelulusan retrieved successfully',
'data' => $laporan_kelulusan,
'count' => $laporan_kelulusan->count(),
'timestamp' => Carbon::now()->toISOString()
], 200);
}
}