From 029863a84550aa22332f03807faefebbf36cc902 Mon Sep 17 00:00:00 2001 From: Nur Izzati Zulkifli Date: Mon, 18 Dec 2023 17:05:01 +0800 Subject: [PATCH] tambah function call center --- app/CawanganNotis.php | 27 ++ app/Http/Controllers/CallCenterController.php | 245 ++++++++++++++++++ app/Notis.php | 27 ++ app/NotisPeringatan.php | 39 +++ .../2023_12_17_153031_create_notis_table.php | 73 ++++++ routes/web.php | 12 + 6 files changed, 423 insertions(+) create mode 100644 app/CawanganNotis.php create mode 100644 app/Http/Controllers/CallCenterController.php create mode 100644 app/Notis.php create mode 100644 app/NotisPeringatan.php create mode 100644 database/migrations/2023_12_17_153031_create_notis_table.php diff --git a/app/CawanganNotis.php b/app/CawanganNotis.php new file mode 100644 index 0000000..2fd67ca --- /dev/null +++ b/app/CawanganNotis.php @@ -0,0 +1,27 @@ +json(Cawangan::on('mysql7')->orderBy('details_caw','ASC')->get()); + } + public function datagadai($kodcaw,Request $request) + { + // dd($request->all(), $kodcaw); + $daritempoh = $request->daritempoh; + $hinggatempoh = $request->hinggatempoh; + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); + $datagadai = Gadai::on($cawangan['mysql']) + ->where([['tagpalsu','=',0],['tempoh','>=',$daritempoh],['tempoh','<=',$hinggatempoh],['sttebus','=',''],['taglel','=',0]]) + ->orderBy('t_gadai', 'ASC') + ->orderBy('sirig', 'ASC'); + // ->get(); + // dd($datagadai); + $arraynorujukan = $datagadai->pluck('norujukan')->toArray(); + $rekodgadai = $datagadai->get(); + + $totalrekod = $datagadai->count('norujukan'); + $totalberat = $datagadai->sum('berat'); + $totalnilaimarhun = $datagadai->sum('nilaimarhun'); + $totalpinjaman = $datagadai->sum('pinjaman'); + $totalbakipjm = $datagadai->sum('bakipjm'); + $totaltunggakan = $datagadai->sum('tunggakan'); + + $arrayrekod = ['rekod' => $rekodgadai, 'totalsag' => $totalrekod,'totalberat' => $totalberat,'totalnilaimarhun' => $totalnilaimarhun,'totalpembiayaan'=>$totalpinjaman,'totalbakipjm'=>$totalbakipjm,'totaltunggakan'=>$totaltunggakan]; + // dd($arrayrekod); + return response()->json($arrayrekod,200); + } + + public function insertdatagadai($kodcaw,Request $request) + { + $daritempoh = $request->daritempoh; + $hinggatempoh = $request->hinggatempoh; + $notisid = $request->notisid; + $currentDate = Carbon::now(); + // $currentDate = $currentDate->toDateString(); + $tarikh_notis = $currentDate->toDateString(); + $sag_cawangans = []; + $bil_surat = 0; + // dd($kodcaw); + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); + + // $notis = Notis::create([ + // 'tarikh_notis' => $tarikh_notis, + // 'daritempoh' => $daritempoh, + // 'hinggatempoh' => $hinggatempoh, + // 'sts_notis' => 1, + // 'peringatan' => 1 + // ]); + + $datagadai = Gadai::on($cawangan['mysql']) + ->where([['tagpalsu','=',0],['tempoh','>=',$daritempoh],['tempoh','<=',$hinggatempoh],['sttebus','=',''],['taglel','=',0]]) + ->orderBy('t_gadai', 'ASC') + ->orderBy('sirig', 'ASC'); + // ->get(); + + + array_push($sag_cawangans,['data'=>$datagadai->get()]); + // dd($sag_cawangans); + + foreach($sag_cawangans as $index=>$cawnotis){ + + $caw_notis = new CawanganNotis; + $caw_notis->notis_id = $notisid; + $caw_notis->kodcaw = $kodcaw; + $caw_notis->peringatan = 1; + $caw_notis->daritempoh = $daritempoh; + $caw_notis->hinggatempoh = $hinggatempoh; + $caw_notis->status = 1; + $caw_notis->save(); + + + $suratcaw = $cawnotis['data']; + + $notis_peringatan_arr = []; + $now = Carbon::now(); + foreach($suratcaw as $surat) + { + $notis_to_be_inserted = new NotisPeringatan(); + $notis_to_be_inserted->notis_id = $notisid; + $notis_to_be_inserted->tarikh_notis = $tarikh_notis; + $notis_to_be_inserted->kodcaw = $kodcaw; + $notis_to_be_inserted->norujukan = $surat->norujukan; + $notis_to_be_inserted->nokp = $surat->nokp; + $notis_to_be_inserted->jbg = $surat->tempoh; + $notis_to_be_inserted->kadarupah = $surat->kadarupah; + $notis_to_be_inserted->nilaimarhun = $surat->nilaimarhun; + $notis_to_be_inserted->pinjaman = $surat->bakipjm; + $notis_to_be_inserted->bakiupah = $surat->bakiupah; + $notis_to_be_inserted->berat = $surat->berat; + $notis_to_be_inserted->marhun = $surat->marhun; + $notis_to_be_inserted->percent = $surat->percentpinj; + $notis_to_be_inserted->peringatan = '1'; + $notis_peringatan_arr[] = $notis_to_be_inserted->attributesToArray(); + } + + $notis_peringatan_collection = collect($notis_peringatan_arr); + + NotisPeringatan::insert($notis_peringatan_arr); + } + return response()->json("success"); + } + + public function getbatchnotis(Request $request) + { + + $currentDate = Carbon::now(); + $tarikh_notis = $currentDate->toDateString(); + $daritempoh = $request->daritempoh; + $hinggatempoh = $request->hinggatempoh; + + $notis = Notis::create([ + 'tarikh_notis' => $tarikh_notis, + 'daritempoh' => $daritempoh, + 'hinggatempoh' => $hinggatempoh, + 'sts_notis' => 1, + 'peringatan' => 1 + ]); + + $batchnotis = Notis::on('mysql7')->orderBy('id','desc')->first()->id; + + return response()->json($batchnotis); + + } + + public function senarainotisperingatan() + { + $current = Carbon::now(); + $current = new Carbon(); + + $arraybatch = []; + $batchnotis = Notis::on('mysql7')->get(); + // $cawangan_all = Cawangan::on('mysql7')->get(); + // $cawnotis_all = []; + // foreach ($batchnotis as $index => $cawangan){ + // $notis = CawanganNotis::on('mysql7')->get(); + // if(sizeof($notis) != 0){ + // array_push($cawnotis_all,$notis); + // } + // } + return response()->json($batchnotis); + } + + public function getcawnotis($notisid) + { + $current = Carbon::now(); + $current = new Carbon(); + + $arraybatch = []; + $batchnotis = Notis::on('mysql7')->where('id',$notisid)->get(); + $cawangan_all = Cawangan::on('mysql7')->get(); + $cawnotis_all = []; + foreach ($batchnotis as $index => $cawangan){ + $notis = CawanganNotis::on('mysql7') + ->join('arrahn_master_db', 'arrahn_master_db.kodcaw', '=', 'cawangan_notis.kodcaw') + ->where('notis_id',$notisid)->get(); + if(sizeof($notis) != 0){ + array_push($cawnotis_all,$notis); + } + } + return response()->json($cawnotis_all); + } + + public function getcawnotisbycaw(Request $request) + { + $current = Carbon::now(); + $current = new Carbon(); + + $kodcaw = $request->kodcaw; + $notisid = $request->notisid; + + $arraybatch = []; + $batchnotis = CawanganNotis::on('mysql7')->where('id',$notisid)->where('kodcaw',$kodcaw)->get(); + $cawnotis_all = []; + foreach ($batchnotis as $index => $cawangan){ + $notis = NotisPeringatan::on('mysql7') + ->join('arrahn_master_db', 'arrahn_master_db.kodcaw', '=', 'notisperingatan.kodcaw') + ->join('cawangan_notis', 'cawangan_notis.kodcaw', '=', 'notisperingatan.kodcaw') + ->where('cawangan_notis.notis_id',$notisid)->where('cawangan_notis.kodcaw',$kodcaw)->get(); + + $totalsag = $notis->count('norujukan'); + // dd($totalsag); + if(sizeof($notis) != 0){ + array_push($cawnotis_all,$notis); + } + } + // dd($cawnotis_all); + + $arrayrekod = ['rekod' => $cawnotis_all,'totalsag' =>$totalsag]; + return response()->json($arrayrekod); + } + + +} diff --git a/app/Notis.php b/app/Notis.php new file mode 100644 index 0000000..45c85e8 --- /dev/null +++ b/app/Notis.php @@ -0,0 +1,27 @@ +bigIncrements('id'); + $table->string('tarikh_notis')->nullable(); + $table->string('daritempoh')->nullable(); + $table->string('hinggatempoh')->nullable(); + $table->integer('sts_notis')->nullable(); + $table->integer('peringatan')->nullable(); + $table->timestamps(); + }); + + Schema::create('notisperingatan', function (Blueprint $table) { + $table->bigIncrements('id'); + $table->unsignedBigInteger('notis_id')->unsigned(); + $table->string('tarikh_notis'); + $table->string('kodcaw'); + $table->string('norujukan'); + $table->string('nokp'); + $table->decimal('jbg', $precision = 7, $scale = 2); + $table->decimal('kadarupah', $precision = 5, $scale = 2)->nullable(); + $table->decimal('nilaimarhun', $precision = 9, $scale = 2); + $table->decimal('pinjaman', $precision = 9, $scale = 2)->nullable(); + $table->decimal('bakiupah', $precision = 7, $scale = 2); + $table->decimal('berat', $precision = 7, $scale = 2); + $table->string('marhun'); + $table->decimal('percent', $precision = 7, $scale = 2); + $table->integer('peringatan')->default(0); + $table->date('tarikhnotis1')->nullable(); + $table->date('tarikhnotis2')->nullable(); + $table->timestamps(); + + }); + + + Schema::create('cawangan_notis', function (Blueprint $table) { + $table->bigIncrements('id'); + $table->unsignedBigInteger('notis_id')->unsigned(); + $table->unsignedBigInteger('kodcaw')->unsigned(); + $table->integer('peringatan')->default(0); + $table->string('daritempoh')->nullable(); + $table->string('hinggatempoh')->nullable(); + $table->integer('status')->nullable(); + $table->timestamps(); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('notis'); + Schema::dropIfExists('notisperingatan'); + Schema::dropIfExists('cawangan_notis'); + } +} diff --git a/routes/web.php b/routes/web.php index 3ce9bd5..81a80ef 100644 --- a/routes/web.php +++ b/routes/web.php @@ -828,3 +828,15 @@ $router->group(['prefix'=>'kelantanpay'], function () use ($router){ $router->get('gadai/customer',['uses'=>'KelantanPayController@index']); $router->post('payment/gadai',['uses'=>'KelantanPayController@postPayment']); }); + +$router->group(['prefix'=>'arcc'], function () use ($router){ + //ARCC API + $router->get('datagadai/aktif/{kodcaw}',['uses'=>'CallCenterController@datagadai']); + $router->get('cawangan',['uses'=>'CallCenterController@showAllCawangans']); + $router->post('insertdatagadai/aktif/{kodcaw}',['uses'=>'CallCenterController@insertdatagadai']); + $router->get('getbatchnotis',['uses'=>'CallCenterController@getbatchnotis']); + $router->get('senarainotisperingatan',['uses'=>'CallCenterController@senarainotisperingatan']); + $router->get('getcawnotis/{notisid}',['uses'=>'CallCenterController@getcawnotis']); + $router->get('getcawnotisbycaw',['uses'=>'CallCenterController@getcawnotisbycaw']); + +});