update all controllers for kadar anggota koperasi

This commit is contained in:
nurafrinaalimi16
2025-11-10 18:55:17 +08:00
parent 0358878e83
commit fed2cfea72
2 changed files with 217 additions and 2 deletions
+36 -1
View File
@@ -15,6 +15,7 @@ use App\AuditCustomer;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\TuntutBaki; use App\TuntutBaki;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use App\Anggota;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
@@ -394,12 +395,38 @@ class CustomerController extends Controller
'nota_pekerjaan'=>$request->nota_pekerjaan, 'nota_pekerjaan'=>$request->nota_pekerjaan,
// 'nota_arcc'=>$request->nota_arcc, // 'nota_arcc'=>$request->nota_arcc,
'telefon' => $request->telefon1, 'telefon' => $request->telefon1,
'telefon2' => $request->telefon2 'telefon2' => $request->telefon2,
)); ));
return response()->json($customer_update, 200); return response()->json($customer_update, 200);
} }
public function assignAnggota($noic, Request $request)
{
// Semak sama ada pelanggan wujud
$customer = Customer::on('mysql7')
->where('kpbaru', $noic)
->orWhere('kplama', $noic)
->first();
if (!$customer) {
return response()->json([
'success' => false,
'message' => 'Pelanggan tidak dijumpai.'
], 404);
}
// Kemaskini tag_anggota
$customer->tag_anggota = 1;
$customer->save();
return response()->json([
'success' => true,
'message' => 'Tag anggota berjaya dikemaskini.',
'data' => $customer
], 200);
}
public function customerUpdateKaunter($nokp,$kodcaw, Request $request){ public function customerUpdateKaunter($nokp,$kodcaw, Request $request){
$current = Carbon::now(); $current = Carbon::now();
@@ -826,6 +853,14 @@ class CustomerController extends Controller
return response()->json($blacklist); return response()->json($blacklist);
} }
public function anggotaKoperasi(Request $request){
$anggota = Anggota::where('noic',$request->noic)->first();
return response()->json($anggota);
}
public function showCustomerByEachCawangan($ic) public function showCustomerByEachCawangan($ic)
{ {
$cawangan_all = Cawangan::on('mysql7')->get(); $cawangan_all = Cawangan::on('mysql7')->get();
+181 -1
View File
@@ -6,6 +6,8 @@ use App\Audit;
use App\Mohon; use App\Mohon;
use App\Cawangan; use App\Cawangan;
use App\Mohonid; use App\Mohonid;
use App\MohonAnggota;
use App\Customer;
use Carbon\Carbon; use Carbon\Carbon;
@@ -229,6 +231,98 @@ class KelulusanController extends Controller
return response()->json($kelulusan,201); return response()->json($kelulusan,201);
} }
public function updateAnggota($kodcaw, Request $request)
{
$harini = Carbon::now();
// Dapatkan sambungan database cawangan
$cawangan = Cawangan::on('mysql7')
->where('kodcaw', '=', $kodcaw)
->first();
if (!$cawangan) {
return response()->json(['success' => false, 'message' => 'Kod cawangan tidak sah'], 404);
}
$nokp = $request->nokp;
$komen = $request->komenkelulusan;
$namaoperasi = $request->namaoperasi;
$status = $request->sahkan; // 1 = Lulus, 2 = Batal
// Debug log masuk
Log::info('UpdateKelulusanAnggota triggered', [
'kodcaw' => $kodcaw,
'nokp' => $nokp,
'status' => $status,
'komen' => $komen,
'namaoperasi' => $namaoperasi
]);
// ✅ Kalau LULUS
if ($status == 1) {
$kelulusan = MohonAnggota::on($cawangan['mysql'])
->where('nokp', '=', $nokp)
->update([
'status' => 'DILULUSKAN',
'komen' => $komen,
'peloperasi' => $namaoperasi,
'datetime_pelulus' => $harini,
'updated_at' => $harini,
]);
// 🟢 Update CUSTOMER di pusat (mysql7)
Customer::on('mysql7')
->where('kpbaru', '=', $nokp)
->update([
'tag_anggota' => 1,
]);
}
// ❌ Kalau BATAL / TOLAK
else if ($status == 2) {
$kelulusan = MohonAnggota::on($cawangan['mysql'])
->where('nokp', '=', $nokp)
->update([
'status' => 'DITOLAK',
'komen' => $komen,
'peloperasi' => $namaoperasi,
'datetime_pelulus' => $harini,
'updated_at' => $harini,
]);
} else {
return response()->json(['success' => false, 'message' => 'Status tidak sah'], 400);
}
// 🧾 Simpan audit log
$audit = new Audit();
$audit->users = $namaoperasi;
$audit->actions = ($status == 1)
? "Kelulusan anggota oleh operasi (tag_anggota=1)"
: "Pembatalan / tolak anggota oleh operasi";
$audit->new_data = json_encode([
'nokp' => $nokp,
'status' => $status,
'komen' => $komen,
]);
$audit->kodcaw = $kodcaw;
$audit->created_at = $harini;
$audit->updated_at = $harini;
$audit->save();
Log::info('Kelulusan anggota dikemas kini', [
'nokp' => $nokp,
'status' => $status,
'updated_tag_anggota' => ($status == 1) ? 1 : 0
]);
return response()->json([
'success' => true,
'status' => ($status == 1) ? 'DILULUSKAN' : 'DITOLAK',
'updated_rows' => $kelulusan
], 200);
}
public function updatekomen($kodcaw,$norujukan,Request $request) public function updatekomen($kodcaw,$norujukan,Request $request)
{ {
$harini = Carbon::now(); $harini = Carbon::now();
@@ -314,6 +408,64 @@ public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
return response()->json($kelulusan); return response()->json($kelulusan);
} }
public function createKelulusanAnggota(Request $request, $kodcaw)
{
try {
$harini = Carbon::now();
// ✅ Dapatkan maklumat cawangan (database connection)
$cawangan = Cawangan::on('mysql7')->where('kodcaw', $kodcaw)->first();
if (!$cawangan) {
return response()->json(['success' => false, 'message' => 'Cawangan tidak dijumpai'], 404);
}
// ✅ Simpan ke dalam model MohonAnggota
$kelulusan = new MohonAnggota();
$kelulusan->setConnection($cawangan['mysql']); // guna connection cawangan dinamik
$kelulusan->tarikh = $harini->toDateString();
$kelulusan->nokp = $request->nokp;
$kelulusan->nama = $request->nama ?? null;
$kelulusan->status = 'MENUNGGU OPERASI';
$kelulusan->komen = $request->komen;
$kelulusan->teller = $request->teller;
$kelulusan->peloperasi = null;
$kelulusan->created_at = $harini;
$kelulusan->updated_at = $harini;
$kelulusan->save();
// ✅ Simpan audit trail
$audit = new Audit();
$audit->users = $request->teller;
$audit->actions = 'Mohon kelulusan anggota';
$audit->new_data = json_encode(['mohon_anggota_id' => $kelulusan->id]);
$audit->kodcaw = $kodcaw;
$audit->created_at = $harini;
$audit->updated_at = $harini;
$audit->save();
// ✅ Return JSON response ke frontend
return response()->json([
'success' => true,
'message' => 'Permohonan kelulusan anggota berjaya dihantar kepada operasi.',
'data' => [
'id' => $kelulusan->id,
'nokp' => $kelulusan->nokp,
'status' => $kelulusan->status,
'komen' => $kelulusan->komen,
'teller' => $kelulusan->teller,
],
], 201);
} catch (\Throwable $th) {
Log::error('❌ createKelulusanAnggota error: ' . $th->getMessage());
return response()->json([
'success' => false,
'message' => $th->getMessage(),
], 500);
}
}
//KEPOHONAN EDIT DAN HAPUS //KEPOHONAN EDIT DAN HAPUS
public function kepohonancreate(REQUEST $request,$kodcaw,$norujukan) public function kepohonancreate(REQUEST $request,$kodcaw,$norujukan)
@@ -526,7 +678,7 @@ public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
return response()->json($kelulusan, 200); return response()->json($kelulusan, 200);
} }
public function getApprovalLaporan(Request $request){ public function getApprovalLaporan(Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first(); $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$kelulusan = Mohonid::on($cawangan['mysql']) $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') ->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')
@@ -540,6 +692,34 @@ public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
return response()->json($kelulusan, 200); return response()->json($kelulusan, 200);
} }
public function listKelulusanAnggota(Request $request){
$harini = Carbon::now();
$harini = new Carbon;
Log::info($request->all());
$cawangan = Cawangan::on('mysql7')->get();
$array_kelulusan = [];
foreach($cawangan as $caw){
$kelulusan = MohonAnggota::on($caw['mysql'])
->where('tarikh', '=', $harini->toDateString())
->where('peloperasi', '=', 0)
->orWhereNull('peloperasi') // Corrected this part
->orderBy('id', 'desc')
->get();
if(sizeof($kelulusan) != 0){
array_push($array_kelulusan,["kelulusanall" => $kelulusan,"cawangan" => $caw['details_caw'],"cawangankod" => $caw['kodcaw']]);
}
}
return response()->json($array_kelulusan,200);
}
} }