tambah carian nama arcc
This commit is contained in:
@@ -338,50 +338,154 @@ class CallCenterController extends Controller
|
||||
}
|
||||
|
||||
public function search(Request $request){
|
||||
// dd($request->all());
|
||||
$noic = $request->noic;
|
||||
$nama = $request->nama;
|
||||
$idtype = $request->customerIDType;
|
||||
$kodcaw = $request->cawangan;
|
||||
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();
|
||||
|
||||
$request->session()->forget('page_reload');
|
||||
$request->session()->forget('norujukan');
|
||||
|
||||
$search = true;
|
||||
|
||||
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...');
|
||||
// Simpan ke session hanya jika ada input
|
||||
if ($noic) {
|
||||
Session::put('noic', $noic);
|
||||
}
|
||||
if ($kodcaw) {
|
||||
Session::put('kodcaw', $kodcaw);
|
||||
}
|
||||
|
||||
$api_url = config('api.url');
|
||||
$auth_user = Auth::user();
|
||||
|
||||
// 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;
|
||||
|
||||
// Cari ikut IC jika diisi
|
||||
if ($noic) {
|
||||
$customer_info = Http::withOptions(['verify' => config('app.api_verify')])
|
||||
->get($api_url . '/api/customers/' . $noic)
|
||||
->json();
|
||||
}
|
||||
|
||||
// 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) {
|
||||
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){
|
||||
$auth_user = Auth::user();
|
||||
|
||||
|
||||
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);
|
||||
|
||||
$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();
|
||||
|
||||
$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();
|
||||
// Maklumat cawangan
|
||||
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])
|
||||
->get($api_url . '/api/cawangan/' . $kodcaw)
|
||||
->json();
|
||||
|
||||
$negeri = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/negeri/')->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();
|
||||
|
||||
$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');
|
||||
@@ -966,4 +1070,67 @@ class CallCenterController extends Controller
|
||||
$pertambahpinjaman = 0.80;
|
||||
return view('callcenter.' . $cawangan_info['version'] . '.index',compact('cawangan_info','api_url','gadai','marhun','nama','nilaihargasemasa','pertambahpinjaman'));
|
||||
}
|
||||
|
||||
|
||||
public function pilihPelanggan()
|
||||
{
|
||||
if (!Session::has('customer_list')) {
|
||||
return redirect()->route('arcc.pelanggan')->with('failed', 'Tiada pelanggan untuk dipilih.');
|
||||
}
|
||||
|
||||
$kodcaw = Session::get('kodcaw'); // Ambil dari sesi
|
||||
|
||||
$cawangan_info = null;
|
||||
|
||||
// Kalau kodcaw ada, baru ambil cawangan_info
|
||||
if ($kodcaw) {
|
||||
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])
|
||||
->get(config('api.url') . '/api/cawangan/' . $kodcaw)
|
||||
->json();
|
||||
// dd($cawangan_info );
|
||||
}
|
||||
|
||||
return view('callcenter.pilihpelanggan', compact('cawangan_info'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function pilihPelangganProceed(Request $request)
|
||||
{
|
||||
$customerData = $request->input('customer');
|
||||
|
||||
|
||||
if ($customerData) {
|
||||
$customer = json_decode(base64_decode($customerData), true);
|
||||
$kodcaw = $customer['kodcaw'];
|
||||
Session::put('customer_info_arcc', $customer);
|
||||
|
||||
$api_url = config('api.url');
|
||||
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])
|
||||
->get($api_url . '/api/cawangan/' . $kodcaw)->json();
|
||||
|
||||
return redirect()->route('arcc.customer_info', [
|
||||
'customer_info' => $customer,
|
||||
'cawangan_info' => $cawangan_info,
|
||||
'api_url' => $api_url
|
||||
]);
|
||||
}
|
||||
|
||||
return redirect()->route('arcc.pelanggan')->with('failed', 'Pelanggan tidak sah dipilih.');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function ajaxSearchCustomer(Request $request)
|
||||
{
|
||||
$search = strtolower($request->query('search', ''));
|
||||
$customers = collect(session('customer_list', []))
|
||||
->filter(function ($customer) use ($search) {
|
||||
return strpos(strtolower($customer['nama']), $search) !== false ||
|
||||
strpos(strtolower($customer['nokp']), $search) !== false;
|
||||
});
|
||||
|
||||
return view('callcenter.partials.customertable', ['customers' => $customers])->render();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user