Merged in feature/hapus-ansuran-v2 (pull request #340)

Feature/hapus ansuran v2
This commit is contained in:
Muhd hafifie
2025-08-17 13:40:58 +00:00
7 changed files with 368 additions and 28 deletions
+7
View File
@@ -3930,4 +3930,11 @@ class GadaiController extends Controller
return response()->json($view);
}
public function getApprovalFromOperation(Request $request){
$ansuranserv = new AnsServ($request->kodcaw);
$view = $ansuranserv->getApprovalFromOperation($request);
return response()->json($view);
}
}
+109 -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,30 @@ 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())
->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);
}
@@ -417,4 +441,76 @@ 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);
}
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);
}
}
@@ -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);
}
}