diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index 6b942503..fca6d2a6 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -20,6 +20,11 @@ use App\Models\FileMarhun; use App\Services\MarhunPhotoService; use App\Models\Pengesahan; use App\Models\LelongBidMarhun; +use App\Models\LogUser; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Log; +use App\Jobs\WhatsappPengesahanPembida; +use App\Jobs\WhatsappTidakSahBayaran; use PDF; class AccountController extends Controller @@ -277,6 +282,7 @@ class AccountController extends Controller public function sahbayaronline(Request $request) { + // dd($request->all()); $currentdate = Carbon::now(); $currentdate = $currentdate->toDateTimeString(); @@ -285,32 +291,65 @@ class AccountController extends Controller $total_payment = 0; $senaraisag = $request->senarai_sag; + $user_notelbimbit = $request->notel_pembida; + $user_namapembida = $request->nama_pembida; + + + if($request->jenis_button == 'tidaksah'){ + //insert loguser + $loguser = new LogUser; + $loguser->user_id = $user->id; + $loguser->date = $currentdate; + $loguser->username = $user->username; + $loguser->nama_user = $user->name; + // $loguser->norujukan = $data['norujukan']; + $loguser->nota = $request->kodcaw.': '.$request->nama_pembida.' ('.$request->nokp_pembida.'): Bukti Bayaran Tidak Sah'; + $loguser->save(); + + WhatsappTidakSahBayaran::dispatch($user_namapembida); + + return redirect()->route('home')->with('failed','Pembayaran Tidak Sah'); + + + }elseif($request->jenis_button == 'sah'){ + foreach(json_decode($senaraisag) as $sag) + { + $payment = Payment::where('id', $sag->payment_id)->first(); + $payment->disahkan_oleh = $user->id; + $payment->disahkan_pada = $currentdate; + $payment->save(); - foreach(json_decode($senaraisag) as $sag) - { - $payment = Payment::where('id', $sag->payment_id)->first(); - $payment->disahkan_oleh = $user->id; - $payment->disahkan_pada = $currentdate; - $payment->save(); - - $total_payment = $total_payment + $payment->total_payment; + $total_payment = $total_payment + $payment->total_payment; - $eachbid = LelongBid::where('id',$sag->lelongbid_id)->first(); - $eachbid->status_payment = 1; - $eachbid->status_jual = 1; - $eachbid->status_semak = 1; - $eachbid->t_jual = $currentdate; - $eachbid->save(); + $eachbid = LelongBid::where('id',$sag->lelongbid_id)->first(); + $eachbid->status_payment = 1; + $eachbid->status_jual = 1; + $eachbid->status_semak = 1; + $eachbid->t_jual = $currentdate; + $eachbid->save(); - $bidder = LelongBidder::where('lelongbid_id', $sag->lelongbid_id) - ->where('payment_id', $sag->payment_id) - ->where('user_id', $sag->user_id) - ->first(); - $bidder->status_payment = 1; - $bidder->update(); + $bidder = LelongBidder::where('lelongbid_id', $sag->lelongbid_id) + ->where('payment_id', $sag->payment_id) + ->where('user_id', $sag->user_id) + ->first(); + $bidder->status_payment = 1; + $bidder->update(); + } + WhatsappPengesahanPembida::dispatch($user_notelbimbit,$user_namapembida); + + //insert loguser + $loguser = new LogUser; + $loguser->user_id = $user->id; + $loguser->date = $currentdate; + $loguser->username = $user->username; + $loguser->nama_user = $user->name; + // $loguser->norujukan = $data['norujukan']; + $loguser->nota = $request->kodcaw.': '.$request->nama_pembida.' ('.$request->nokp_pembida.'): Bukti Bayaran Telah Sah'; + $loguser->save(); + + + return redirect()->route('home')->with('success','Pembayaran Berjaya'); } - - return redirect()->route('home')->with('success','Pembayaran Berjaya'); } diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 2f80ec25..01052082 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -426,7 +426,9 @@ class HomeController extends Controller $user = Auth::user(); $dateTime = date('Y-m-d'); - if ($user->hasRole('callcenter')) { + if ($user->hasRole('ajk')) { + return view('homeajk'); + } else if ($user->hasRole('callcenter')) { return view('homecallcenter'); } else if ($user->hasRole('operasi-kpi')) { return view('homeoperasikpi'); diff --git a/app/Http/Controllers/LelongController.php b/app/Http/Controllers/LelongController.php index 754a3938..8f9c4caf 100644 --- a/app/Http/Controllers/LelongController.php +++ b/app/Http/Controllers/LelongController.php @@ -54,6 +54,7 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use App\Jobs\HantarMail; use App\Jobs\WhatsappPemenang; +use App\Jobs\AutoTamatlelong; class LelongController extends Controller { @@ -1955,6 +1956,8 @@ class LelongController extends Controller $currentdate = Carbon::now(); $currenttime = $currentdate->toTimeString(); $endtime = $currentdate->addHours(2); + // $endtime = $currentdate->addMinutes(3); + $lelong = Lelong::where('id','=',$id)->first(); $lelong->masamula_lelong = $currenttime; @@ -1968,8 +1971,22 @@ class LelongController extends Controller $cawlel->masamula_lelong = $currenttime; $cawlel->masatamat_lelong = $endtime->toTimeString(); $cawlel->status_online = 1; //start lelong - $cawlel->save(); + $cawlel->save(); } + //run job tamat lelong + AutoTamatLelong::dispatch($id)->delay(Carbon::now()->addHours(2)); + // AutoTamatLelong::dispatch($id)->delay(Carbon::now()->addMinutes(3)); + + + //insert loguser + $loguser = new LogUser; + // $loguser->user_id = $user->id; + $loguser->date = $currentdate; + $loguser->username = 'System'; + $loguser->nama_user = 'System'; + // $loguser->norujukan = $data['norujukan']; + $loguser->nota = 'Lelongan Mula'; + $loguser->save(); return redirect()->route('home'); } @@ -3601,11 +3618,39 @@ class LelongController extends Controller $datalelbid = LelongBid::where('caw_id','=',$caw->caw_id)->where('lelong_id',$id)->where('status_jual','=', 0)->get(); $suratcaw = $datalelbid->all(); + foreach(array_chunk($suratcaw,100) as $data_chunk) { // dd($datalelbid); + foreach($data_chunk as $data1) + { + $biddersag = LelongBidder::where('lelongbid_id', $data1->id) + ->where('status_bidder','=', 0)->first(); + if($biddersag){ + $savedatabidder = $biddersag->replicate(); + $savedatabidder->setTable('lelongbidder_temp'); + $savedatabidder->save(); + + //insert loguser + $loguser = new LogUser; + $loguser->user_id = $biddersag->user_id; + $loguser->date = $currentdate; + $loguser->nama_user = $biddersag->nama_bidder; + $loguser->norujukan = $data1->norujukan; + $loguser->nota = 'Pernah Bid Sebelum Ini Tapi Kalah'; + $loguser->save(); + //hapus lelongbidder yg pernah bid + $lelongbidder = LelongBidder::where('lelongbid_id', $data1->id) + ->where('status_bidder', 0) + ->delete(); + } + + + + + } foreach($data_chunk as $data) - { + { $savedata = $data->replicate(); $savedata->setTable('lelongbid_xlaku'); $savedata->save(); diff --git a/app/Http/Controllers/NotisController.php b/app/Http/Controllers/NotisController.php index 4a15013e..56ba4113 100644 --- a/app/Http/Controllers/NotisController.php +++ b/app/Http/Controllers/NotisController.php @@ -330,6 +330,173 @@ class NotisController extends Controller return $pdf->download('Penjanaan Notis Fasa 1:Batch Lelong ' . $lelong_id . '.pdf'); } + public function jananotis2_new($lelong_id) + { + // focus only on variable: $marhuns, $lelongid, $caw, $tarikh_cetak + // variable not use: $lelong_id, $customer, $listsag + + $user = Auth::user(); + + $caw = Cawangan::where('caw_code', '=', $user->kodcaw)->first(); + + $currentdate = Carbon::now(); + $tarikh_cetak = $currentdate->toDateString(); + + $current_date_time = $currentdate->toDateTimeString(); + + Log::info("Jana notis fasa 1: " . $user->kodcaw . ", " . $user->name); + NotifyJanaNotis::dispatch($user->id, $user->kodcaw, $user->name, 'Jana Notis Fasa 1', $current_date_time); + + $lelongid = Lelong::find($lelong_id); + + $arraynorujukan = LelongBid::where('lelong_id', $lelong_id)->where('kodcaw', $caw->caw_code)->pluck('norujukan'); + + $marhuns = Gadai::on($caw->caw_code)->whereIn('norujukan', $arraynorujukan)->select('nokp', 'norujukan','bakipjm','tagbaru')->orderBy('nokp', 'asc')->get(); + + $marhuns_pluck_nokp = $marhuns->pluck('nokp'); + + $customers = Customer::whereIn('kpbaru', $marhuns_pluck_nokp) + ->orWhereIn('kplama', $marhuns_pluck_nokp) + ->join('poskod', 'customer.poskod', '=', 'poskod.poskod') + ->join('daerah', 'poskod.koddaerah', '=', 'daerah.koddaerah') + ->join('negeri', 'poskod.kodnegeri', '=', 'negeri.kodnegeri') + ->get(); + + $customers_keyBy_noKp = $customers->keyBy(function ($item) { + if ($item->kpbaru != '') { + return $item->kpbaru; + } else if ($item->kplama != '') { + return $item->kplama; + } + }); + + foreach ($marhuns as $index => $marhun) { + if ($customers_keyBy_noKp[$marhun->nokp]) { + $marhuns[$index]['nama'] = $customers_keyBy_noKp[$marhun->nokp]; + } + + $getdatalelongbid = LelongBid::where('lelong_id', $lelong_id)->where('norujukan', $marhun->norujukan)->first(); + //jika ambil data dari api + $tagbaru = $marhun->tagbaru; + // dd($tagbaru); + if($tagbaru == '0'){ + $getkeuntunganhinggatarikhlelong = Http::get(config('app.api_ujrah_url'). 'get/upahtawarruqbytarikh',[ + 'kodcaw' => $user->kodcaw, + 'norujukan' => $marhun->norujukan, + 'tarikh' => $getdatalelongbid['t_lelong'], + 'jeniskeuntungan' => 'asal' + ])->json(); + }elseif($tagbaru == '1'){ + $getkeuntunganhinggatarikhlelong = Http::get(config('app.api_ujrah_url'). 'get/upahtawarruqbytarikh',[ + 'kodcaw' => $user->kodcaw, + 'norujukan' => $marhun->norujukan, + 'tarikh' => $getdatalelongbid['t_lelong'], + 'jeniskeuntungan' => 'onepercent' + ])->json(); + } + // dd($getkeuntunganhinggatarikhlelong); + $nilaitebus = (float) $getkeuntunganhinggatarikhlelong['harga_tebus']; + $nilaipembiayaan = (float) $getdatalelongbid['pinjaman']; + $nilaikeuntungan = (float) $getkeuntunganhinggatarikhlelong['upahsemasa']; + $jumlah = $nilaipembiayaan + $nilaikeuntungan; + + $marhuns[$index]['nilaitebus'] = $nilaitebus; + $marhuns[$index]['nilaipembiayaan'] = $nilaipembiayaan; + $marhuns[$index]['nilaikeuntungan'] = $nilaikeuntungan; + $marhuns[$index]['jumlah'] = $jumlah; + } + // return view('pdf.jananotis', compact('marhuns', 'lelongid', 'caw', 'tarikh_cetak')); + $pdf = PDF::loadView('pdf.jananotis_new', compact('marhuns', 'lelongid', 'caw', 'tarikh_cetak')) + ->setPaper('a4', 'potrait'); + + return $pdf->download('Penjanaan Notis Fasa 1:Batch Lelong ' . $lelong_id . '.pdf'); + } + + public function jananotis2_new2($lelong_id) + { + // focus only on variable: $marhuns, $lelongid, $caw, $tarikh_cetak + // variable not use: $lelong_id, $customer, $listsag + + $user = Auth::user(); + + $caw = Cawangan::where('caw_code', '=', $user->kodcaw)->first(); + + $currentdate = Carbon::now(); + $tarikh_cetak = $currentdate->toDateString(); + + $current_date_time = $currentdate->toDateTimeString(); + + Log::info("Jana notis fasa 1: " . $user->kodcaw . ", " . $user->name); + NotifyJanaNotis::dispatch($user->id, $user->kodcaw, $user->name, 'Jana Notis Fasa 1', $current_date_time); + + $lelongid = Lelong::find($lelong_id); + + $arraynorujukan = LelongBid::where('lelong_id', $lelong_id)->where('kodcaw', $caw->caw_code)->pluck('norujukan'); + + $marhuns = Gadai::on($caw->caw_code)->whereIn('norujukan', $arraynorujukan)->select('nokp', 'norujukan','bakipjm','tagbaru')->orderBy('nokp', 'asc')->get(); + + $marhuns_pluck_nokp = $marhuns->pluck('nokp'); + + $customers = Customer::whereIn('kpbaru', $marhuns_pluck_nokp) + ->orWhereIn('kplama', $marhuns_pluck_nokp) + ->join('poskod', 'customer.poskod', '=', 'poskod.poskod') + ->join('daerah', 'poskod.koddaerah', '=', 'daerah.koddaerah') + ->join('negeri', 'poskod.kodnegeri', '=', 'negeri.kodnegeri') + ->get(); + + $customers_keyBy_noKp = $customers->keyBy(function ($item) { + if ($item->kpbaru != '') { + return $item->kpbaru; + } else if ($item->kplama != '') { + return $item->kplama; + } + }); + + foreach ($marhuns as $index => $marhun) { + if ($customers_keyBy_noKp[$marhun->nokp]) { + $marhuns[$index]['nama'] = $customers_keyBy_noKp[$marhun->nokp]; + } + + $getdatalelongbid = LelongBid::where('lelong_id', $lelong_id)->where('norujukan', $marhun->norujukan)->first(); + //jika ambil data dari api + $tagbaru = $marhun->tagbaru; + // dd($tagbaru); + if($tagbaru == '0'){ + $getkeuntunganhinggatarikhlelong = Http::get(config('app.api_ujrah_url'). 'get/upahtawarruqbytarikh',[ + 'kodcaw' => $user->kodcaw, + 'norujukan' => $marhun->norujukan, + 'tarikh' => $getdatalelongbid['t_lelong'], + 'jeniskeuntungan' => 'asal' + ])->json(); + }elseif($tagbaru == '1'){ + $getkeuntunganhinggatarikhlelong = Http::get(config('app.api_ujrah_url'). 'get/upahtawarruqbytarikh',[ + 'kodcaw' => $user->kodcaw, + 'norujukan' => $marhun->norujukan, + 'tarikh' => $getdatalelongbid['t_lelong'], + 'jeniskeuntungan' => 'onepercent' + ])->json(); + } + // dd($getkeuntunganhinggatarikhlelong); + $nilaitebus = (float) $getkeuntunganhinggatarikhlelong['harga_tebus']; + $nilaipembiayaan = (float) $getdatalelongbid['pinjaman']; + $nilaikeuntungan = (float) $getkeuntunganhinggatarikhlelong['upahsemasa']; + $jumlah = $nilaipembiayaan + $nilaikeuntungan; + + $marhuns[$index]['nilaitebus'] = $nilaitebus; + $marhuns[$index]['nilaipembiayaan'] = $nilaipembiayaan; + $marhuns[$index]['nilaikeuntungan'] = $nilaikeuntungan; + $marhuns[$index]['jumlah'] = $jumlah; + } + // return view('pdf.jananotis', compact('marhuns', 'lelongid', 'caw', 'tarikh_cetak')); + $pdf = PDF::loadView('pdf.jananotisfasa2_new', compact('marhuns', 'lelongid', 'caw', 'tarikh_cetak')) + ->setPaper('a4', 'potrait'); + + return $pdf->download('Penjanaan Notis Fasa 2:Batch Lelong ' . $lelong_id . '.pdf'); + } + + + + public function listnotis(Request $request){ diff --git a/app/Http/Controllers/PembidaController.php b/app/Http/Controllers/PembidaController.php index ec31b174..597b7b45 100644 --- a/app/Http/Controllers/PembidaController.php +++ b/app/Http/Controllers/PembidaController.php @@ -519,6 +519,48 @@ class PembidaController extends Controller $bida->save(); // dd($request->user_id); + //temp lelongbidder + $datalelbid = LelongBidder::where('lelongbid_id', $bida->id) + ->where('user_id', $infos->user_id)->get(); + $suratcaw = $datalelbid->all(); + foreach(array_chunk($suratcaw,100) as $data_chunk) + { + // dd($datalelbid); + foreach($data_chunk as $data) + { + $savedata = $data->replicate(); + $savedata->setTable('lelongbidder_temp'); + $savedata->save(); + + //audit trail + $loguser = new LogUser; + $loguser->user_id = $user->id; + $loguser->date = $currentdate; + $loguser->username = $user->username; + $loguser->nama_user = $user->name; + $loguser->norujukan = $norujukan; + $loguser->nota = 'Isytihar Joy Bidder'; + $loguser->save(); + } + } + + $datalelbidxlaku = LelongBid::where('norujukan', $bida->norujukan)->get(); + $suratcawxlaku = $datalelbidxlaku->all(); + foreach(array_chunk($suratcawxlaku,100) as $data_chunkxlaku) + { + // dd($datalelbid); + foreach($data_chunkxlaku as $dataxlaku) + { + $savedataxlaku = $dataxlaku->replicate(); + $savedataxlaku->setTable('lelongbid_xlaku'); + $savedataxlaku->save(); + // dd($caw_lelsag); + $caw_lelsag = LelongBid::where('norujukan', $dataxlaku->norujukan)->first(); + $caw_lelsag->status_payment = '0'; + $caw_lelsag->xlaku = '1'; + $caw_lelsag->update(); + } + } //hapus lelongbidder $lelongbidder = LelongBidder::where('lelongbid_id', $bida->id) ->where('user_id', $infos->user_id) diff --git a/app/Http/Controllers/PenggunaController.php b/app/Http/Controllers/PenggunaController.php index a8af394b..eedb0ecb 100644 --- a/app/Http/Controllers/PenggunaController.php +++ b/app/Http/Controllers/PenggunaController.php @@ -112,12 +112,19 @@ class PenggunaController extends Controller $user->name = $request->name; $user->username = $request->username; $user->kodcaw = $request->caw; + $user->notelbimbit = $request->notelbimbit; $user->status = 'active'; $user->t_daftar = $currentdate; $user->email = $request->email; $user->email_verified_at = $currentdate; $user->password = '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi'; //password - $user->user_type = 1; + if($arraytaraf[0] == 'ajk'){ + $user->user_type = 3; + } + else{ + $user->user_type = 1; + } + $user->save(); $user->syncRoles($arraytaraf); @@ -173,7 +180,7 @@ class PenggunaController extends Controller $user->email = $request->emel; $user->kodcaw = $request->caw; $user->username = $request->username; - // $user->notelbimbit = $request->notelbimbit; + $user->notelbimbit = $request->notelbimbit; // $user->nokp = $request->nokp; $user->updated_at = $currentdate; $user->status = $status; @@ -358,6 +365,18 @@ class PenggunaController extends Controller // return $pdf->download('Roles.pdf'); } } + + public function listajk() + { + $alluser = User::with('roles','cawangan')->whereHas("roles", function($q) { + $q->where("name",'=', 'ajk');}) + ->orderBy('name','ASC') + ->get(); + $allroles = Role::all(); + $allRolesPluck= $allroles->pluck('name'); + $caw = Cawangan::all(); + return view('parameter.listajk',compact('alluser','allroles','caw', 'allRolesPluck')); + } } \ No newline at end of file diff --git a/app/Jobs/AutoTamatLelong.php b/app/Jobs/AutoTamatLelong.php new file mode 100644 index 00000000..6818c1d7 --- /dev/null +++ b/app/Jobs/AutoTamatLelong.php @@ -0,0 +1,99 @@ +id = $id; + } + + /** + * Execute the job. + * + * @return void + */ + public function handle() + { + $dt = Carbon::now(); + $timeloni = $dt->toTimeString(); + $tarikhlelong = $dt->toDateString(); + + event(new LelongNotify('stop')); + $updatestatus = Lelong::where('sts_lelong',1) + ->where('tarikh_lelong',$tarikhlelong) + ->update(['sts_lelong' => 2]); + + $cawlelong = CawanganLelong::where('lelong_id','=',$this->id)->get(); + foreach($cawlelong as $cawlel) //save old harga asas + { + // $cawlel->masatamat_lelong = $currenttime; + $cawlel->status_online = 0; //start lelong + $cawlel->save(); + } + + $hapuscart = Cart::truncate(); + + + + $getnoajk = User::where('user_type', 3)->get(); + foreach($getnoajk as $notifikasi){ + $mobile_no = '6'.$notifikasi->notelbimbit; + + if(config('app.env') != 'production'){ + $mobile_no = config('app.admin_phone_number'); + } + $response = Http::get(env('WABOT_API'), [ + 'number' => $mobile_no, + 'type' => 'text', + 'message' => 'Lelongan Telah Tamat, Sila Jana Pemenang', + 'instance_id' => env('WABOT_INSTANCES_ID'), + 'access_token' => env('WABOT_TOKEN_KEYS') + ]); + } + + //insert loguser + $loguser = new LogUser; + // $loguser->user_id = $user->id; + $loguser->date = $dt; + $loguser->username = 'System'; + $loguser->nama_user = 'System'; + // $loguser->norujukan = $data['norujukan']; + $loguser->nota = 'Lelongan Tamat'; + $loguser->save(); + + Log::info("Lelongan Telah Tamat" . $response); + // } + + // event(new LelongNotify('stop')); + // } + } +} diff --git a/app/Jobs/WhatsappPengesahanPembida.php b/app/Jobs/WhatsappPengesahanPembida.php new file mode 100644 index 00000000..45338a91 --- /dev/null +++ b/app/Jobs/WhatsappPengesahanPembida.php @@ -0,0 +1,61 @@ +user_notelbimbit = $user_notelbimbit; + $this->user_namapembida = $user_namapembida; + } + + /** + * Execute the job. + * + * @return void + */ + public function handle() + { + $mobile_no = ltrim($this->user_notelbimbit, '+'); + $message = 'AR-RAHN PKB: Terima Kasih '.$this->user_namapembida .', Pembayaran Anda Telah Disahkan, Sila Ke Cawangan Berkenaan Untuk Tuntutan Barang Bidaan Anda Hari Ini.'; + if(config('app.env') != 'production'){ + $mobile_no = config('app.admin_phone_number'); + } + $response = Http::get(env('WABOT_API'), [ + 'number' => $mobile_no, + 'type' => 'text', + 'message' => $message, + 'instance_id' => env('WABOT_INSTANCES_ID'), + 'access_token' => env('WABOT_TOKEN_KEYS') + ]); + + Log::info("WABOT - Akaun Telah Sahkan Pembayaran: ".$this->user_namapembida .'' . $response); + } +} diff --git a/app/Jobs/WhatsappTidakSahBayaran.php b/app/Jobs/WhatsappTidakSahBayaran.php new file mode 100644 index 00000000..3cf7b056 --- /dev/null +++ b/app/Jobs/WhatsappTidakSahBayaran.php @@ -0,0 +1,58 @@ +user_namapembida = $user_namapembida; + } + + /** + * Execute the job. + * + * @return void + */ + public function handle() + { + $getnoajk = User::where('user_type', 3)->get(); + foreach($getnoajk as $notifikasi){ + $mobile_no = '6'.$notifikasi->notelbimbit; + + if(config('app.env') != 'production'){ + $mobile_no = config('app.admin_phone_number'); + } + $response = Http::get(env('WABOT_API'), [ + 'number' => $mobile_no, + 'type' => 'text', + 'message' => 'Bayaran Pembida yang bernama *'.$this->user_namapembida.'* Adalah *Tidak Sah*, Mohon Pihak AJK Lelong Untuk Buat Semakan, Terima Kasih.' , + 'instance_id' => env('WABOT_INSTANCES_ID'), + 'access_token' => env('WABOT_TOKEN_KEYS') + ]); + } + } +} + diff --git a/app/Models/Lelong.php b/app/Models/Lelong.php index 3dc88a4f..e9a16bc9 100644 --- a/app/Models/Lelong.php +++ b/app/Models/Lelong.php @@ -13,6 +13,7 @@ class Lelong extends Model protected $fillable = [ 'tarikh_lelong', + 'masamula_lelong', 'masatamat_lelong', 'kali', 'harga_emas_asas', diff --git a/app/Models/LelongBidderTemp.php b/app/Models/LelongBidderTemp.php new file mode 100644 index 00000000..df83b5cc --- /dev/null +++ b/app/Models/LelongBidderTemp.php @@ -0,0 +1,40 @@ +hasOne(LelongBid::class,'id', 'lelongbid_id'); + } + + public function payment() + { + return $this->hasOne(Payment::class, 'lelongbid_id', 'lelongbid_id')->where('remark', '<>', ''); + } + + public function scanjual() { + return $this->hasOne(ScanJual::class, 'lelongbid_id', 'lelongbid_id'); + } + +} diff --git a/config/app.php b/config/app.php index 6d6305e0..e0f476b6 100644 --- a/config/app.php +++ b/config/app.php @@ -245,6 +245,8 @@ return [ 'api_url' => env('API_URL', 'http://localhost'), + 'api_ujrah_url' => env('API_UJRAH_URL', 'http://localhost'), + 'api_verify' => env('API_VERIFY', true), 'api_url_kaunter' => env('API_URL_KAUNTER', 'http://localhost'), diff --git a/database/migrations/2021_12_14_041557_create_lelongs_table.php b/database/migrations/2021_12_14_041557_create_lelongs_table.php index bfb6efed..9246f49d 100644 --- a/database/migrations/2021_12_14_041557_create_lelongs_table.php +++ b/database/migrations/2021_12_14_041557_create_lelongs_table.php @@ -244,6 +244,7 @@ class CreateLelongsTable extends Migration $table->string('mora_upah'); $table->integer('fasa')->default(0); $table->integer('opencash')->default(0); + $table->integer('xlaku')->default(0); $table->timestamps(); // $table->foreign('caw_id') diff --git a/database/migrations/2022_02_27_052051_add_para2_to_cawangan_table.php b/database/migrations/2022_02_27_052051_add_para2_to_cawangan_table.php deleted file mode 100644 index 24621f04..00000000 --- a/database/migrations/2022_02_27_052051_add_para2_to_cawangan_table.php +++ /dev/null @@ -1,35 +0,0 @@ -longText('para2')->nullable(); - $table->longText('para3')->nullable(); - }); - - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('cawangan', function (Blueprint $table) { - $table->dropColumn('para2') ; - $table->dropColumn('para3') ; - }); - } -} diff --git a/database/migrations/2024_06_11_123008_create_lelongbidder_temp_table.php b/database/migrations/2024_06_11_123008_create_lelongbidder_temp_table.php new file mode 100644 index 00000000..7bb56af3 --- /dev/null +++ b/database/migrations/2024_06_11_123008_create_lelongbidder_temp_table.php @@ -0,0 +1,44 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id')->unsigned(); + $table->unsignedBigInteger('lelongbid_id')->unsigned(); + $table->string('kodcaw')->nullable(); + $table->string('nama_bidder'); + $table->decimal('hargabida'); + $table->string('notelbimbit'); + $table->decimal('nilaimarhun'); + $table->decimal('cajlelong'); + $table->integer('status_bidder')->nullable(); //1 = win + $table->integer('payment_id')->nullable(); + $table->integer('status_payment')->nullable(); // 1=paid, 2=memerlukan pengesahan operasi (CDM) + $table->datetime('masa_bidaan'); + $table->timestamps(); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('lelongbidder_temp'); + } +} diff --git a/database/seeders/RolesSeeder.php b/database/seeders/RolesSeeder.php index 9453fdd1..96ff3dba 100644 --- a/database/seeders/RolesSeeder.php +++ b/database/seeders/RolesSeeder.php @@ -201,6 +201,13 @@ class RolesSeeder extends Seeder 'name' => 'skoptugasan', 'description' => 'Skop Tugasan Cawangan Kegunaan E-KPI' ]); + + //ajklelong + Permission::create([ + 'name' => 'semakanlelong', + 'description' => 'Semakan Lelongan' + ]); + // create roles and assign existing permissions $role1 = Role::create(['name' => 'admin']); $role1->givePermissionTo('pengguna'); @@ -296,6 +303,9 @@ class RolesSeeder extends Seeder $role14->givePermissionTo('pengurusangambar'); $role14->givePermissionTo('pendaftaranbatch'); + $role15 = Role::create(['name' => 'ajk']); + $role15->givePermissionTo('semakanlelong'); + // $role3 = Role::create(['name' => 'Super-Admin']); // gets all permissions via Gate::before rule; see AuthServiceProvider @@ -416,5 +426,13 @@ class RolesSeeder extends Seeder 'user_type' => 1 ]); $user->assignRole($role14); + + $user = \App\Models\User::factory()->create([ + 'name' => 'Ahli Jawatan Kuasa', + 'username' => 'ajk', + 'email' => 'ajk@example.com', + 'user_type' => 3 + ]); + $user->assignRole($role15); } } diff --git a/resources/views/account/sahsagcdm.blade.php b/resources/views/account/sahsagcdm.blade.php index 1488ad73..b1c9ba15 100644 --- a/resources/views/account/sahsagcdm.blade.php +++ b/resources/views/account/sahsagcdm.blade.php @@ -40,6 +40,12 @@ + + + + + +
| {{ $caw['caw_name'] }} | +|
|---|---|
| {{ $caw['alamat1'] }} | ++ |
| {{ $caw['alamat2'] }} | ++ |
| {{ ' No Tel : '. $caw['notel'] . ' No Faks : '. $caw['nofaks'] }} | ++ |
| NO.RUJUKAN | +: | +{{$notis['norujukan']}} | +|||||
| TARIKH + | +: | +@php + $myDateTime = DateTime::createFromFormat('Y-m-d', $tarikh_cetak); + $datez = $myDateTime->format('d M Y'); + // echo($datez); + + $fmt = datefmt_create( + 'ms_MY', + IntlDateFormatter::LONG, + IntlDateFormatter::NONE, + 'Asia/Kuala_Lumpur', + IntlDateFormatter::GREGORIAN + ); + $cal = DateTime::createFromFormat('Y-m-d', $tarikh_cetak); + + echo '' . strtoupper($fmt->format($cal)); + @endphp + | + + | ||||
| + | + | + | + | + | + | + | + + |
| KEPADA : | + +{{ $notis['nama']['nama']}}
+ {{ strtoupper($notis['nama']['alamat1']) }} + {{-- {!! ($notis['nama']['alamat1'] === null || $notis['nama']['alamat1'] === '') ? '' : ' ' . strtoupper($notis['nama']['alamat1']) !!} --}} + {{ ' ' . $notis['nama']['poskod'] . ' ' . strtoupper($notis['nama']['namadaerah']) . ' ' . strtoupper($notis['nama']['negeri'])}} |
+
+
+ + | + | + | + |
Tuan/Puan,
+Dengan hormatnya kami ingin memaklumkan bahawa barang-barang cagaran tuan/puan keatas pembiayaan yang diberikan di cawangan seperti di atas akan dilelong.
+ +Butiran lelongan adalah seperti berikut :-
+ +| Tarikh Lelongan | +: | +@php + $myDateTime = DateTime::createFromFormat('Y-m-d', $lelongid->tarikh_lelong); + $datez = $myDateTime->format('d-m-Y'); + //echo($datez); + $fmttlelong = datefmt_create( + 'ms_MY', + IntlDateFormatter::LONG, + IntlDateFormatter::NONE, + 'Asia/Kuala_Lumpur', + IntlDateFormatter::GREGORIAN + ); + $tlelong = DateTime::createFromFormat('Y-m-d', $lelongid->tarikh_lelong); + + echo '' . strtoupper($fmttlelong->format($tlelong)); + @endphp | +|
| Cawangan | +: | +{{ $caw['caw_name'] }} | +|
| Waktu | +: | + {{--{{ date('H:i',strtotime($notis['masa'])). ' pagi' }} | --}} +{{ '10.30 pagi' }} | +
| No.SAG | +: | +{{$notis['norujukan']}} | +
Tuan/Puan adalah dikehendaki untuk membuat urusan berikut dikaunter cawangan selewat-lewatnya pada atau sebelum + @php + $myDateTime = DateTime::createFromFormat('Y-m-d', $lelongid->tarikh_lelong ); + $datez = $myDateTime->modify('-3 day')->format('d-m-Y'); + //echo($datez); + $fmtsblm = datefmt_create( + 'ms_MY', + IntlDateFormatter::LONG, + IntlDateFormatter::NONE, + 'Asia/Kuala_Lumpur', + IntlDateFormatter::GREGORIAN + ); + $tlelong = DateTime::createFromFormat('Y-m-d', $lelongid->tarikh_lelong); + $datez = $tlelong->modify('-3 day'); + echo '' . strtoupper($fmtsblm->format($datez)); + @endphp + @php + $myDateTime = DateTime::createFromFormat('Y-m-d', $lelongid->tarikh_lelong ); + $datez = $myDateTime->modify('-3 day')->format('d-m-Y'); + //echo($datez); + $fmtsblm = datefmt_create( + 'ms_MY', + IntlDateFormatter::FULL, + IntlDateFormatter::FULL, + 'Asia/Kuala_Lumpur', + IntlDateFormatter::GREGORIAN + ); + $tlelong = DateTime::createFromFormat('Y-m-d', $lelongid->tarikh_lelong); + $datez = $tlelong->modify('-3 day'); + $fmtsblm->setPattern('EEEE'); + echo '(' . strtoupper($fmtsblm->format($datez).')'); + @endphp:-
+ + + {{-- @php $upah = $notis['keuntungan']['keuntunganrebet']+$notis['keuntungan']['bakipjm'] @endphp --}} + {{-- {{dd($notis['nilaips'])}} --}} + {{--| + | Pembiayaan | +: | +RM | +{{number_format($notis['nilaipembiayaan'], 2, '.', ',') }} | +
| + | Keuntungan | +: | +RM | +{{number_format($notis['nilaikeuntungan'], 2, '.', ',') }} | +
| + | + | + | RM | +{{ number_format($notis['jumlah'], 2, '.', ',') }} | +
Tuan/Puan juga boleh membuat bayaran secara atas talian melalui portal arrahnPay dihttps://pay.arrahn.com.my. + Pembayaran terakhir atas talian adalah (3)hari sebelum tarikh lelongan. + Untuk sebarang pertanyaan, Tuan/Puan boleh menghubungi nombor tertera.
+ +Sekiranya tuan/puan masih tidak berurusan sehingga tarikh dinyatakan, maka pihak kami berhak menjual secara lelongan awam barang gadaian tersebut.
+ Sekian, terima kasih.
Nota:
+ Sila bawa bersama Surat Akaun Gadai (SAG) untuk sebarang urusan.Surat ini adalah cetakan komputer dan tiada tandatangan diperlukan.
+ +| {{ $caw['caw_name'] }} | +|
|---|---|
| {{ $caw['alamat1'] }} | ++ |
| {{ $caw['alamat2'] }} | ++ |
| {{ ' No Tel : '. $caw['notel'] . ' No Faks : '. $caw['nofaks'] }} | ++ |
| NO.RUJUKAN | +: | +{{$notis['norujukan']}} | +||||
| TARIKH + | +: | +@php + $myDateTime = DateTime::createFromFormat('Y-m-d', $tarikh_cetak); + $datez = $myDateTime->format('d-m-Y'); + //echo($datez); + $fmt = datefmt_create( + 'ms_MY', + IntlDateFormatter::LONG, + IntlDateFormatter::NONE, + 'Asia/Kuala_Lumpur', + IntlDateFormatter::GREGORIAN + ); + $cal = DateTime::createFromFormat('Y-m-d', $tarikh_cetak); + + echo '' . strtoupper($fmt->format($cal)); + @endphp + | + + | |||
| + | + | + | + | + | + | + + |
| KEPADA | +: | +{{ $notis['nama']['nama']}}
+ {{ strtoupper($notis['nama']['alamat1']) }} + {{-- {!! ($notis['nama']['alamat1'] === null || $notis['nama']['alamat1'] === '') ? '' : ' ' . strtoupper($notis['nama']['alamat1']) !!} --}} + {{-- {!! ($notis['nama']['alamat2'] === null || $notis['nama']['alamat2'] === '') ? '' : ' ' . strtoupper($notis['nama']['alamat2']) !!} --}} + {{ ' ' . $notis['nama']['poskod'] . ' ' . strtoupper($notis['nama']['namadaerah']) . ' ' . strtoupper($notis['nama']['negeri'])}} |
+ + | + | + | + |
Tuan/Puan,
+Dengan hormatnya kami ingin memaklumkan bahawa barang-barang cagaran tuan/puan keatas pembiayaan yang diberikan di cawangan seperti di atas akan/telah tamat kontrak dan akan dilelong.
+ +Butiran lelongan adalah seperti berikut :-
+ +| Tarikh Lelongan | +: | +@php + $myDateTime = DateTime::createFromFormat('Y-m-d', $lelongid->tarikh_lelong); + $datez = $myDateTime->format('d-m-Y'); + //echo($datez); + $fmttlelong = datefmt_create( + 'ms_MY', + IntlDateFormatter::LONG, + IntlDateFormatter::NONE, + 'Asia/Kuala_Lumpur', + IntlDateFormatter::GREGORIAN + ); + $tlelong = DateTime::createFromFormat('Y-m-d', $lelongid->tarikh_lelong); + + echo '' . strtoupper($fmttlelong->format($tlelong)); + @endphp | +|
| Cawangan | +: | +{{ $caw['caw_name'] }} | +|
| Waktu | +: | + {{--{{ date('H:i',strtotime($notis['masa'])). ' pagi' }} | --}} +{{ '10.30 pagi' }} | +
| No.SAG | +: | +{{$notis['norujukan']}} | +
Tuan/Puan adalah dikehendaki untuk membuat urusan berikut dikaunter cawangan selewat-lewatnya pada atau sebelum + @php + $myDateTime = DateTime::createFromFormat('Y-m-d', $lelongid->tarikh_lelong ); + $datez = $myDateTime->modify('-3 day')->format('d-m-Y'); + //echo($datez); + $fmtsblm = datefmt_create( + 'ms_MY', + IntlDateFormatter::LONG, + IntlDateFormatter::NONE, + 'Asia/Kuala_Lumpur', + IntlDateFormatter::GREGORIAN + ); + $tlelong = DateTime::createFromFormat('Y-m-d', $lelongid->tarikh_lelong); + $datez = $tlelong->modify('-3 day'); + echo '' . strtoupper($fmtsblm->format($datez)); + @endphp + @php + $myDateTime = DateTime::createFromFormat('Y-m-d', $lelongid->tarikh_lelong ); + $datez = $myDateTime->modify('-3 day')->format('d-m-Y'); + //echo($datez); + $fmtsblm = datefmt_create( + 'ms_MY', + IntlDateFormatter::FULL, + IntlDateFormatter::FULL, + 'Asia/Kuala_Lumpur', + IntlDateFormatter::GREGORIAN + ); + $tlelong = DateTime::createFromFormat('Y-m-d', $lelongid->tarikh_lelong); + $datez = $tlelong->modify('-3 day'); + $fmtsblm->setPattern('EEEE'); + echo '(' . strtoupper($fmtsblm->format($datez).')'); + @endphp:-
+ + +| + | Pembiayaan | +: | +RM | +{{number_format($notis['nilaipembiayaan'], 2, '.', ',') }} | +
| + | Keuntungan | +: | +RM | +{{number_format($notis['nilaikeuntungan'], 2, '.', ',') }} | +
| + | + | + | RM | +{{ number_format($notis['jumlah'], 2, '.', ',') }} | +
Sekiranya tuan/puan masih tidak berurusan sehingga tarikh dinyatakan, maka pihak kami berhak menjual secara lelongan awam barang gadaian tersebut.
+ Untuk sebarang pertanyaan, Tuan/Puan boleh menghubungi nombor tertera.
+
+ Sekian, terima kasih.
Nota:
+ Sila bawa bersama Surat Akaun Gadai (SAG) untuk sebarang urusan.Surat ini adalah cetakan komputer dan tiada tandatangan diperlukan.
+ +