update all controllers for kadar anggota koperasi
This commit is contained in:
@@ -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();
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user