diff --git a/app/BlastSMS.php b/app/BlastSMS.php new file mode 100644 index 0000000..2cd3d60 --- /dev/null +++ b/app/BlastSMS.php @@ -0,0 +1,20 @@ +telefon != 'null'){ $telefon=$customer->telefon; - //insert log blast wasap - $logblastwasap = new BlastWasap(); - $logblastwasap->kodcaw = $kodcaw; - $logblastwasap->nokp = $nokp; - $logblastwasap->notelefon = $customer->telefon; - $logblastwasap->norujukan = $cal3->norujukan; - $logblastwasap->tempoh = $cal3->tempoh; - $logblastwasap->created_at = $current; - $logblastwasap->updated_at = $current; - $logblastwasap->save(); + // //insert log blast wasap + // $logblastwasap = new BlastWasap(); + // $logblastwasap->kodcaw = $kodcaw; + // $logblastwasap->nokp = $nokp; + // $logblastwasap->notelefon = $customer->telefon; + // $logblastwasap->norujukan = $cal3->norujukan; + // $logblastwasap->tempoh = $cal3->tempoh; + // $logblastwasap->created_at = $current; + // $logblastwasap->updated_at = $current; + // $logblastwasap->save(); //log auditrail $audit = new Audit(); @@ -188,8 +189,8 @@ class StokAuditController extends Controller $audit->updated_at = $current; $audit->save(); - dispatch(new WhatsappPelangganSAGLAMA($nokp,$customer->telefon,$caw_name,$nofoncaw)); - dispatch(new SMSPelangganSAGLAMA($nokp,$customer->telefon,$caw_name,$nofoncaw)); + dispatch(new WhatsappPelangganSAGLAMA($nokp,$customer->telefon,$caw_name,$nofoncaw,$kodcaw,$cal3->norujukan,$cal3->tempoh)); + dispatch(new SMSPelangganSAGLAMA($nokp,$customer->telefon,$caw_name,$nofoncaw,$kodcaw,$cal3->norujukan,$cal3->tempoh)); } } else{ @@ -254,5 +255,58 @@ class StokAuditController extends Controller 'totaltunggakan'=>$totaltunggakan ?? null]; return response()->json($arrayrekod,200); } - + + public function rekodblastsms($kodcaw,Request $request) + { + + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); + + $rekodblast = BlastSMS::on('mysql7') + ->where('kodcaw','=',$kodcaw); + $arraynorujukan = $rekodblast->pluck('norujukan')->toArray(); + $rekodaudit = $rekodblast->orderBy('id', 'asc')->get(); + $keybynorujukan = $rekodaudit->keyBy('norujukan'); + + $gadainokp = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $arraynorujukan) + ->select('nokp') + ->groupBy('nokp') + ->get(); + $gadai_all_groupby_nokp = $rekodaudit->groupBy('nokp'); + // dd($gadai_all_groupby_nokp); + + foreach($gadainokp as $index1=>$cal){ + + if($gadai_all_groupby_nokp[$cal->nokp]){ + $gadainokp[$index1]['rekodblast'] = $gadai_all_groupby_nokp[$cal->nokp]; + } + $customer = Customer::on('mysql7')->where('kpbaru','=',$cal['nokp']) + ->orWhere('kplama','=',$cal['nokp']) + ->first(); + + $listsag = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $arraynorujukan) + ->where('nokp', 'like', '%'.$cal['nokp'].'%') + ->get(); + // dd($listsag); + $gadainokp[$index1]['info'] = $customer; + $gadainokp[$index1]['listsag'] = $listsag; + } + + if($listsag ?? ''){ + $totalrekod = $listsag->sum('pinjaman'); + $totalberat = $listsag->sum('berat'); + $totalnilaimarhun = $listsag->sum('nilaimarhun'); + $totalpinjaman = $listsag->sum('pinjaman'); + $totalbakipjm = $listsag->sum('bakipjm'); + $totaltunggakan = $listsag->sum('tunggakan'); + } + + $arrayrekod = ['rekod' => $gadainokp ?? null, + 'total' => $totalrekod ?? null, + 'totalberat' => $totalberat ?? null, + 'totalnilaimarhun' => $totalnilaimarhun ?? null, + 'totalpinjaman'=>$totalpinjaman ?? null, + 'totalbakipjm'=>$totalbakipjm ?? null, + 'totaltunggakan'=>$totaltunggakan ?? null]; + return response()->json($arrayrekod,200); + } } diff --git a/app/Jobs/SMSPelangganSAGLAMA.php b/app/Jobs/SMSPelangganSAGLAMA.php index b3fe13d..4d0ea4e 100644 --- a/app/Jobs/SMSPelangganSAGLAMA.php +++ b/app/Jobs/SMSPelangganSAGLAMA.php @@ -4,6 +4,8 @@ namespace App\Jobs; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Http; +use App\BlastSMS; +use Carbon\Carbon; class SMSPelangganSAGLAMA extends Job { @@ -11,17 +13,23 @@ class SMSPelangganSAGLAMA extends Job public $telefon; public $caw_name; public $nofoncaw; + public $kodcaw; + public $norujukan; + public $tempoh; /** * Create a new job instance. * * @return void */ - public function __construct($nokp, $telefon, $caw_name,$nofoncaw) + public function __construct($nokp, $telefon, $caw_name,$nofoncaw,$kodcaw,$norujukan,$tempoh) { $this->nokp = $nokp; $this->telefon = $telefon; $this->caw_name = $caw_name; $this->nofoncaw = $nofoncaw; + $this->kodcaw = $kodcaw; + $this->norujukan = $norujukan; + $this->tempoh = $tempoh; } /** @@ -31,6 +39,8 @@ class SMSPelangganSAGLAMA extends Job */ public function handle() { + $current = Carbon::now(); + $current = new Carbon(); // $mobile_no = ltrim($this->telefon, '+6'); $mobile_no = '60178916936'; $message = 'AR-RAHN '.$this->caw_name.': MAKLUMAN, selaras penambahbaikan Sistem Ar-Rahn, Tuan/Puan diminta hadir ke premis sebelum 15/7/2024 bagi menukar SAG dengan cara: @@ -40,8 +50,7 @@ Hubungi '.$this->nofoncaw.' untuk maklumat lanjut.'; if(env('APP_ENV') != 'production'){ $mobile_no = env('ADMIN_PHONE_NUMBER'); } - - Http::get(env('ONEWAYSMS_API'), [ + $response = Http::get(env('ONEWAYSMS_API'), [ 'apiusername' => env('ONEWAYSMS_AUTH_USER'), 'apipassword' => env('ONEWAYSMS_AUTH_PASS'), 'senderid' => 'INFO', @@ -50,6 +59,18 @@ Hubungi '.$this->nofoncaw.' untuk maklumat lanjut.'; 'languagetype' => 1 ]); + //insert log blast sms + $logblastsms = new BlastSMS(); + $logblastsms->kodcaw = $this->kodcaw; + $logblastsms->nokp = $this->nokp; + $logblastsms->notelefon = $this->telefon; + $logblastsms->norujukan = $this->norujukan; + $logblastsms->tempoh = $this->tempoh; + $logblastsms->status = $response; + $logblastsms->created_at = $current; + $logblastsms->updated_at = $current; + $logblastsms->save(); + Log::info("SMS - Pelanggan ".$this->caw_name." SAG Tawarruq Lama -".$mobile_no); } diff --git a/app/Jobs/WhatsappPelangganSAGLAMA.php b/app/Jobs/WhatsappPelangganSAGLAMA.php index 2bf4704..67ef1c4 100644 --- a/app/Jobs/WhatsappPelangganSAGLAMA.php +++ b/app/Jobs/WhatsappPelangganSAGLAMA.php @@ -4,6 +4,8 @@ namespace App\Jobs; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Http; +use App\BlastWasap; +use Carbon\Carbon; class WhatsappPelangganSAGLAMA extends Job { @@ -11,17 +13,27 @@ class WhatsappPelangganSAGLAMA extends Job public $telefon; public $caw_name; public $nofoncaw; + public $kodcaw; + public $norujukan; + public $tempoh; + + /** * Create a new job instance. * * @return void */ - public function __construct($nokp, $telefon, $caw_name,$nofoncaw) + public function __construct($nokp, $telefon, $caw_name,$nofoncaw,$kodcaw,$norujukan,$tempoh) { $this->nokp = $nokp; $this->telefon = $telefon; $this->caw_name = $caw_name; $this->nofoncaw = $nofoncaw; + $this->kodcaw = $kodcaw; + $this->norujukan = $norujukan; + $this->tempoh = $tempoh; + + } /** @@ -31,6 +43,8 @@ class WhatsappPelangganSAGLAMA extends Job */ public function handle() { + $current = Carbon::now(); + $current = new Carbon(); // $mobile_no = ltrim($this->telefon, '+6'); //$mobile_no = '60178916936'; $message = 'AR-RAHN '.$this->caw_name.': MAKLUMAN, selaras penambahbaikan Sistem Ar-Rahn, Tuan/Puan diminta hadir ke premis *sebelum 15/7/2024* bagi menukar SAG dengan cara: @@ -50,6 +64,18 @@ Hubungi '.$this->nofoncaw.' untuk maklumat lanjut.'; 'instance_id' => env('WABOT_INSTANCES_ID'), 'access_token' => env('WABOT_TOKEN_KEYS') ]); + + //insert log blast wasap + $logblastwasap = new BlastWasap(); + $logblastwasap->kodcaw = $this->kodcaw; + $logblastwasap->nokp = $this->nokp; + $logblastwasap->notelefon = $this->telefon; + $logblastwasap->norujukan = $this->norujukan; + $logblastwasap->tempoh = $this->tempoh; + $logblastwasap->status = $response; + $logblastwasap->created_at = $current; + $logblastwasap->updated_at = $current; + $logblastwasap->save(); Log::info("WABOT - Pelanggan SAG Tawarruq Lama".$response); diff --git a/database/migrations/2023_11_19_111428_create_log_blast_wasap.php b/database/migrations/2023_11_19_111428_create_log_blast_wasap.php index fe2d09a..3556b11 100644 --- a/database/migrations/2023_11_19_111428_create_log_blast_wasap.php +++ b/database/migrations/2023_11_19_111428_create_log_blast_wasap.php @@ -20,6 +20,7 @@ class CreateLogBlastWasap extends Migration $table->string('notelefon')->nullable(); $table->string('norujukan')->nullable(); $table->string('tempoh')->nullable(); + $table->text('status')->nullable(); $table->timestamps(); }); } diff --git a/database/migrations/2023_11_22_123033_log_blast_sms.php b/database/migrations/2023_11_22_123033_log_blast_sms.php new file mode 100644 index 0000000..28515c8 --- /dev/null +++ b/database/migrations/2023_11_22_123033_log_blast_sms.php @@ -0,0 +1,37 @@ +id(); + $table->string('kodcaw')->nullable(); + $table->string('nokp')->nullable(); + $table->string('notelefon')->nullable(); + $table->string('norujukan')->nullable(); + $table->string('tempoh')->nullable(); + $table->text('status')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('log_blast_sms'); + } +} diff --git a/routes/web.php b/routes/web.php index aa61eab..fd2db7e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -585,6 +585,7 @@ $router->group(['prefix'=>'api'], function () use ($router){ //API BLAST WASAP $router->post('blastwasap/{kodcaw}',['uses'=>'StokAuditController@blastwasap']); $router->get('rekodblast/{kodcaw}',['uses'=>'StokAuditController@rekodblast']); + $router->get('rekodblastsms/{kodcaw}',['uses'=>'StokAuditController@rekodblastsms']); });