Merged in izzati-bugfix-return-back-code-lama (pull request #305)

return back code asal
This commit is contained in:
izzati zulkifli
2025-08-11 03:21:52 +00:00
2 changed files with 26 additions and 145 deletions
+23 -140
View File
@@ -337,170 +337,53 @@ class CallCenterController extends Controller
}
}
public function search(Request $request){
public function search(Request $request){
// dd($request->all());
$noic = $request->noic;
$nama = $request->nama;
$idtype = $request->customerIDType;
$kodcaw = $request->cawangan;
// Simpan ke session hanya jika ada input
if ($noic) {
Session::put('noic', $noic);
}
if ($kodcaw) {
Session::put('kodcaw', $kodcaw);
}
Session::put('noic', $noic);
Session::put('kodcaw', $kodcaw);
$api_url = config('api.url');
$auth_user = Auth::user();
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $kodcaw)->json();
$bank = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/bank')->json();
$customer_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/customers/'. $noic)->json();
// Dapatkan maklumat cawangan jika kodcaw ada
$cawangan_info = null;
if ($kodcaw) {
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])
->get($api_url . '/api/cawangan/' . $kodcaw)
->json();
}
// Dapatkan senarai bank (jika perlu)
$bank = Http::withOptions(['verify' => config('app.api_verify')])->get($api_url . '/api/bank')->json();
// Bersihkan session yang tidak perlu
$request->session()->forget('page_reload');
$request->session()->forget('norujukan');
$customer_info = null;
$search = true;
// Cari ikut IC jika diisi
if ($noic) {
$customer_info = Http::withOptions(['verify' => config('app.api_verify')])
->get($api_url . '/api/customers/' . $noic)
->json();
if($customer_info){
Session::put('customer_info_arcc',$customer_info);
return redirect()->route('arcc.customer_info', ['customer_info' => $customer_info,'cawangan_info'=>$cawangan_info,'api_url'=>$api_url]);
}else{
return redirect()->route('arcc.pelanggan')
->with('failed','Maaf,Tiada Data Pelanggan...');
}
// Kalau nama diberi & IC tidak jumpa
elseif ($nama) {
$queryParams = ['nama' => $nama];
if ($kodcaw) {
$queryParams['kodcaw'] = $kodcaw;
}
$response = Http::withOptions(['verify' => config('app.api_verify')])
->get($api_url . '/api/customers', $queryParams);
if ($response->successful()) {
$customers = $response->json();
// Jika lebih dari satu pelanggan dijumpai
if (is_array($customers) && count($customers) > 1) {
// Tambah nama cawangan untuk setiap pelanggan
foreach ($customers as &$customer) {
$kodcaw = $customer['kodcaw'] ?? null;
if ($kodcaw) {
$cawangan = Http::withOptions(['verify' => config('app.api_verify')])
->get($api_url . '/api/cawangan/' . $kodcaw)
->json();
$customer['nama_cawangan'] = $cawangan['details_caw'] ?? $kodcaw;
} else {
$customer['nama_cawangan'] = '-';
}
}
Session::put('customer_list', $customers);
return redirect()->route('arcc.pilihpelanggan');
}
// Jika satu pelanggan dijumpai
$customer_info = $customers[0] ?? null;
} else {
logger('API carian nama gagal: ' . $response->body());
}
}
// Jika berjaya jumpa pelanggan
if ($customer_info) {
Session::put('customer_info_arcc', $customer_info);
return redirect()->route('arcc.customer_info', [
'customer_info' => $customer_info,
'cawangan_info' => $cawangan_info,
'api_url' => $api_url
]);
}
// Gagal jumpa pelanggan
return redirect()->route('arcc.pelanggan')
->with('failed', 'Maaf, Tiada Data Pelanggan...');
}
public function info(Request $request)
{
$customer = $request->input('customer_info');
if (!$customer || !isset($customer['kodcaw'])) {
return redirect()->route('arcc.pelanggan')->with('failed', 'Maklumat pelanggan tidak lengkap.');
}
$kodcaw = $customer['kodcaw'];
$nokp = $customer['kpbaru'] ?? $customer['kplama'] ?? null;
if (!$nokp) {
return redirect()->route('arcc.pelanggan')->with('failed', 'No KP pelanggan tidak dijumpai.');
}
Session::put('noic', $nokp);
public function info(Request $request){
$auth_user = Auth::user();
$api_url = config('api.url');
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. Session::get('kodcaw'))->json();
$customer_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/customers/'. Session::get('noic'))->json();
// Maklumat cawangan
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])
->get($api_url . '/api/cawangan/' . $kodcaw)
->json();
$bakilelong = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/bakilelong/cawangan/' . Session::get('kodcaw') . '/' . Session::get('noic') . '/baki')->json();
$rugilelong = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/bakilelong/cawangan/' . Session::get('kodcaw') . '/' . Session::get('noic') . '/rugi')->json();
if (!isset($cawangan_info['version'])) {
return redirect()->route('arcc.pelanggan')->with('failed', 'Maklumat cawangan tidak dijumpai.');
}
// Maklumat pelanggan
$customer_info = Http::withOptions(['verify' => config('app.api_verify')])
->get($api_url . '/api/customers/' . $nokp)
->json();
if (!$customer_info || isset($customer_info['error'])) {
return redirect()->route('arcc.pelanggan')->with('failed', 'Pelanggan tidak wujud dalam sistem.');
}
// Data lelong
$bakilelong = Http::withOptions(['verify' => config('app.api_verify')])
->get($api_url . '/api/bakilelong/cawangan/' . $kodcaw . '/' . $nokp . '/baki')
->json();
$rugilelong = Http::withOptions(['verify' => config('app.api_verify')])
->get($api_url . '/api/bakilelong/cawangan/' . $kodcaw . '/' . $nokp . '/rugi')
->json();
// Negeri
$negeri = Http::withOptions(['verify' => config('app.api_verify')])
->get($api_url . '/api/negeri/')
->json();
$negeri = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/negeri/')->json();
$request->session()->forget('page_reload');
$request->session()->forget('norujukan');
return view('callcenter.' . $cawangan_info['version'] . '.info', compact(
'cawangan_info',
'api_url',
'customer_info',
'bakilelong',
'rugilelong',
'negeri'
));
return view('callcenter.' . $cawangan_info['version'] . '.info',compact('cawangan_info','api_url','customer_info','bakilelong','rugilelong','negeri'));
}
public function notisperingatankedua(Request $request){
$auth_user = Auth::user();
$api_url = config('api.url');
+3 -5
View File
@@ -48,7 +48,7 @@
<div class="card">
<div class="card-body">
<div class="text-center">
<h5 class="text-uppercase">Pilih Cawangan Dan Nombor Kad Pengenalan <br>Atau Nama Pelanggan</h5>
<h5 class="text-uppercase">Pilih Cawangan Dan Nombor Kad Pengenalan</h5>
<form id="searchForm" name="frmsearch" onsubmit="return verifynokp(event)" action="{{ route('arcc.searchpelanggan') }}" method="GET">
<div class="row justify-content-center">
<div class="col-md-9">
@@ -80,12 +80,10 @@
</div>
<!-- Nama pelanggan -->
<div class="col-md-12">
<!-- <div class="col"> -->
<!-- <div class="col-md-12">
<input type="text" size='10' class="form-control" id="nama" name="nama" placeholder="Nama Pelanggan"
value="{{ $search == false ? '' : $nama ?? '' }}">
<!-- </div> -->
</div>
</div> -->
<!-- Butang cari -->
<div class="row">