update all controllers for kadar anggota koperasi
This commit is contained in:
@@ -15,6 +15,7 @@ use App\AuditCustomer;
|
||||
use Illuminate\Http\Request;
|
||||
use App\TuntutBaki;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use App\Anggota;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
@@ -394,12 +395,38 @@ class CustomerController extends Controller
|
||||
'nota_pekerjaan'=>$request->nota_pekerjaan,
|
||||
// 'nota_arcc'=>$request->nota_arcc,
|
||||
'telefon' => $request->telefon1,
|
||||
'telefon2' => $request->telefon2
|
||||
'telefon2' => $request->telefon2,
|
||||
));
|
||||
|
||||
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){
|
||||
$current = Carbon::now();
|
||||
|
||||
@@ -826,6 +853,14 @@ class CustomerController extends Controller
|
||||
return response()->json($blacklist);
|
||||
}
|
||||
|
||||
public function anggotaKoperasi(Request $request){
|
||||
|
||||
$anggota = Anggota::where('noic',$request->noic)->first();
|
||||
|
||||
return response()->json($anggota);
|
||||
}
|
||||
|
||||
|
||||
public function showCustomerByEachCawangan($ic)
|
||||
{
|
||||
$cawangan_all = Cawangan::on('mysql7')->get();
|
||||
|
||||
@@ -6,6 +6,8 @@ use App\Audit;
|
||||
use App\Mohon;
|
||||
use App\Cawangan;
|
||||
use App\Mohonid;
|
||||
use App\MohonAnggota;
|
||||
use App\Customer;
|
||||
|
||||
use Carbon\Carbon;
|
||||
|
||||
@@ -229,6 +231,98 @@ class KelulusanController extends Controller
|
||||
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)
|
||||
{
|
||||
$harini = Carbon::now();
|
||||
@@ -314,6 +408,64 @@ public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
|
||||
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
|
||||
|
||||
public function kepohonancreate(REQUEST $request,$kodcaw,$norujukan)
|
||||
@@ -526,7 +678,7 @@ public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
|
||||
return response()->json($kelulusan, 200);
|
||||
}
|
||||
|
||||
public function getApprovalLaporan(Request $request){
|
||||
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')
|
||||
@@ -540,6 +692,34 @@ public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
|
||||
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