From 0c72eaf18e8cc992f800176b0ae40ba06021f4f2 Mon Sep 17 00:00:00 2001 From: Amir Date: Sun, 14 Aug 2022 19:41:03 +0800 Subject: [PATCH] payment - pengesahan akaun, api pembida --- app/Http/Controllers/AccountController.php | 86 +-- app/Http/Controllers/ApiController.php | 23 +- app/Http/Controllers/DatabaseController.php | 6 + app/Http/Controllers/MarhunController.php | 96 ++- .../Mobile/LelongMobileController.php | 72 ++- app/Models/LelongBid.php | 4 + app/Models/LelongBidder.php | 4 + .../views/account/sahsagonline.blade.php | 6 +- resources/views/includes/sidebar.blade.php | 3 + .../views/lelong/senarailelong.blade.php | 1 + resources/views/marhun/marhun.blade.php | 2 +- .../views/pembayaran/SAGBidItem.blade.php | 586 +++++++++--------- .../pengurusandatabase/yuranbidaan.blade.php | 15 + routes/api.php | 2 + routes/web.php | 2 + 15 files changed, 506 insertions(+), 402 deletions(-) create mode 100644 resources/views/pengurusandatabase/yuranbidaan.blade.php diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index b886086f..cf2aa4b0 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -90,20 +90,9 @@ class AccountController extends Controller foreach($listwinner as $index1=>$winner){ $userdetails = User::where('id', $winner['user_id'])->first(); - // dd($userdetails); - - $SAGWin = LelongBidder::join('payment', 'lelongbidder.user_id', '=', 'payment.user_id') - ->join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') - ->where('lelongbidder.user_id', $winner['user_id']) - ->where('payment.user_id', $winner['user_id']) - ->where('payment.kodcaw',$kodcaw) - ->where('lelongbid.kodcaw',$kodcaw) - ->where('lelongbidder.status_bidder', 1) - ->where('lelongbid.lelong_id', $lelong_id) - ->orWhere(function ($query) { - $query->where('payment.status_payment_opt', 3) - ->where('payment.status_payment_opt', 2); - }) + + $SAGWin = Payment::join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id') + ->where('payment.kodcaw', $kodcaw) ->get(); $id_payment = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') @@ -146,6 +135,7 @@ class AccountController extends Controller $senaraisag = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') ->join('payment', 'lelongbidder.payment_id', '=', 'payment.id') + ->join('resit', 'payment.resit_id', '=', 'resit.id') ->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbidder.user_id', $userdetails['id']) ->where('lelongbid.kodcaw', $caw_code) @@ -180,7 +170,8 @@ class AccountController extends Controller 'payment.remark', 'payment.total_payment', 'payment.disahkan_pada', - 'payment.disahkan_oleh' + 'payment.disahkan_oleh', + 'resit.reference_no', ) ->get(); // dd($senaraisag); @@ -261,49 +252,20 @@ class AccountController extends Controller $currentdate = $currentdate->toDateTimeString(); $user = Auth::user(); - - $senaraisag = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') - ->join('payment', 'lelongbidder.payment_id', '=', 'payment.id') - ->where('lelongbid.lelong_id', $request->lelong_id) - ->where('lelongbidder.user_id', $request->user_id) - ->where('lelongbidder.status_bidder', 1) - ->where('payment.status_payment_opt', 3) - ->orWhere('payment.status_payment_opt', 2) - ->where('lelongbidder.status_payment', 2) - ->select( - 'lelongbid.id as lelongbid_id', - 'payment.id as payment_id', - 'lelongbid.lelong_id', - 'lelongbidder.user_id' - ) - ->get(); $total_payment = 0; - $paymentid = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') - ->join('payment', 'lelongbidder.payment_id', '=', 'payment.id') - ->where('lelongbid.lelong_id', $request->lelong_id) - ->where('lelongbidder.user_id', $request->user_id) - ->where('lelongbidder.status_bidder', 1) - ->where('payment.status_payment_opt', 3) - ->orWhere('payment.status_payment_opt', 2) - ->where('lelongbidder.status_payment', 2) - ->select( - 'lelongbidder.payment_id as payment_id' - ) - ->groupBy('lelongbidder.payment_id') - ->get(); - - foreach($paymentid as $dataid) + + $senaraisag = $request->senarai_sag; + + foreach(json_decode($senaraisag) as $sag) { - $payment = Payment::where('id', $dataid->payment_id)->first(); + $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; - } - foreach($senaraisag as $sag) - { + $eachbid = LelongBid::where('id',$sag->lelongbid_id)->first(); $eachbid->status_payment = 1; $eachbid->status_jual = 1; @@ -312,28 +274,12 @@ class AccountController extends Controller $eachbid->save(); $bidder = LelongBidder::where('lelongbid_id', $sag->lelongbid_id) - ->where('payment_id', $sag->payment_id) - ->where('user_id', $sag->user_id) - ->first(); + ->where('payment_id', $sag->payment_id) + ->where('user_id', $sag->user_id) + ->first(); $bidder->status_payment = 1; $bidder->update(); } - - $senaraisagallpayment = LelongBid::join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id') - ->where('lelongbid.lelong_id', $request->lelong_id) - ->where('lelongbidder.user_id', $request->user_id) - ->where('lelongbidder.status_bidder', 1) - ->get(); - - $resit = Resit::where('id', $payment->resit_id)->first(); - $resit->total_payment = $resit->total_payment + $total_payment; - - if($resit->total_payment >= $senaraisagallpayment->sum('hargabida')) - { - $resit->status = 'PAID'; - $resit->paid_at = $currentdate; - } - $resit->save(); return redirect()->route('account.senarailelongan')->with('success','Pembayaran Berjaya'); diff --git a/app/Http/Controllers/ApiController.php b/app/Http/Controllers/ApiController.php index b38de9b3..b99f2214 100644 --- a/app/Http/Controllers/ApiController.php +++ b/app/Http/Controllers/ApiController.php @@ -482,11 +482,14 @@ class ApiController extends Controller $index->status = 2; //0-unpaid //1-fee //2-bid $index->remark = "BERJAYA BAYARAN ONLINE"; $index->update(); + + $updateTag = LelongBid::where('lelongbid.norujukan', $index->norujukan)->first(); + $updateTag->status_payment = 2; + $updateTag->save(); - $updateTag = LelongBid::join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id') - ->where('lelongbid.norujukan', $index->norujukan)->first(); - $updateTag->status_payment = 1; - $updateTag->update(); + $lelongbidder = $updateTag->lelongbidder; + $lelongbidder->status_payment = 2; + $lelongbidder->save(); } event(new PaymentNotify('PAID', $resit->user_id, $payment)); @@ -572,10 +575,14 @@ class ApiController extends Controller $index->remark = "BERJAYA BAYARAN ONLINE"; $index->update(); - $updateTag = LelongBid::join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id') - ->where('lelongbid.norujukan', $index->norujukan)->first(); - $updateTag->status_payment = 1; - $updateTag->update(); + $updateTag = LelongBid::where('lelongbid.norujukan', $index->norujukan)->first(); + $updateTag->status_payment = 2; + $updateTag->save(); + + $lelongbidder = $updateTag->lelongbidder; + $lelongbidder->status_payment = 2; + $lelongbidder->payment_id = $index->id; + $lelongbidder->save(); } event(new PaymentNotify('PAID', $resit->user_id, $payment)); diff --git a/app/Http/Controllers/DatabaseController.php b/app/Http/Controllers/DatabaseController.php index 3a79f47f..ba0cd084 100644 --- a/app/Http/Controllers/DatabaseController.php +++ b/app/Http/Controllers/DatabaseController.php @@ -104,4 +104,10 @@ class DatabaseController extends Controller { } + + public function yuranBidaan() { + // dd("hye"); + return view('pengurusandatabase.yuranbidaan'); + + } } diff --git a/app/Http/Controllers/MarhunController.php b/app/Http/Controllers/MarhunController.php index 417b91c7..770a141d 100644 --- a/app/Http/Controllers/MarhunController.php +++ b/app/Http/Controllers/MarhunController.php @@ -341,6 +341,74 @@ class MarhunController extends Controller ->with('success','Kemaskini Marhun Berjaya, SILA KLIK BUTANG SEMAK DIBAWAH UNTUK MEMBUAT PENGEMASKINIAN'); } + public function kemaskiniMarhun(Request $request) { + // dd($request->all()); + $user = Auth::user(); + $currentdate = Carbon::now(); + $currentdate = $currentdate->toDateTimeString(); + $lelongBidMarhun = LelongBidMarhun::where('id','=',$request->idmarhun)->first(); + $lelongbid = LelongBid::where('id','=',$lelongBidMarhun->lelongbid_id)->first(); + $lelong = Lelong::where('id','=',$lelongbid->lelong_id)->first(); + + $perluPengesahan = false; + $parameterBezaBerat = 0.3; + $bezaBerat = $lelongBidMarhun->berat - $request->berat_emas; + + if ($bezaBerat > $parameterBezaBerat) { + $perluPengesahan = true; + $lelongBidMarhun->berat = $request->berat_emas; + $lelongBidMarhun->update(); + } + else if ($lelongBidMarhun->karat > $request->karat) { + $perluPengesahan = true; + $lelongBidMarhun->karat = $request->karat; + $lelongBidMarhun->update(); + } else { + $lelongBidMarhun->id; + $lelongBidMarhun->marhun = $request->marhun; + $lelongBidMarhun->berat = $request->berat_emas; + $lelongBidMarhun->karat = $request->karat; + $lelongBidMarhun->update(); + + $existingPengesahan = Pengesahan::where('lelongbidmarhun_id', '=', $request->idmarhun) + ->first() + ->delete(); + } + + if ($perluPengesahan == true) { + $pengesahan = Pengesahan::where('lelongbidmarhun_id', $request->idmarhun) + ->where('lelongbid_id', $lelongBidMarhun->lelongbid_id) + ->first(); + + if(!$pengesahan) + { + $pengesahan = new Pengesahan; + $pengesahan->lelong_id = $lelong->id; + $pengesahan->lelongbid_id = $lelongbid->id; + $pengesahan->lelongbidmarhun_id = $lelongBidMarhun->id; + $pengesahan->norujukan = $lelongbid->norujukan; + $pengesahan->diminta_oleh = $user->id; + $pengesahan->diminta_pada = $currentdate; + $pengesahan->status_ubah = 1; + $pengesahan->save(); + } else { + $pengesahan->id; + $pengesahan->lelong_id = $lelong->id; + $pengesahan->lelongbid_id = $lelongbid->id; + $pengesahan->lelongbidmarhun_id = $lelongBidMarhun->id; + $pengesahan->norujukan = $lelongbid->norujukan; + $pengesahan->diminta_oleh = $user->id; + $pengesahan->diminta_pada = $currentdate; + $pengesahan->status_ubah = 1; + $pengesahan->update(); + } + } + + // $totallelbid = LelongBid::where('id', $lelongBidMarhun->lelongbid_id)->first(); + // dd($totallelbid); + return redirect()->route('marhun.show', [$lelongbid->id, $lelong->id])->with('success','Kemaskini Marhun Berjaya, SILA KLIK BUTANG SEMAK DIBAWAH UNTUK MEMBUAT PENGEMASKINIAN'); + } + public function show($id, $lelong_id) { $lelongbid = LelongBid::where('id','=',$id)->first(); @@ -388,21 +456,21 @@ class MarhunController extends Controller ->where('lelong_id', $lelong_id) ->first(); - $lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $id)->get(); + // $lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $id)->get(); - foreach($lelongbidmarhun as $lelbidmarhun) - { - if($lelbidmarhun['karat'] == null && $lelbidmarhun['berat'] == null && $lelbidmarhun['harga'] == null && $lelbidmarhun['n_marhun'] == null && $lelbidmarhun['hargaasas'] == null) - { - $lelbidmarhun->lelongbid_id = $id; - $lelbidmarhun->karat = $lelbidmarhun['old_karat']; - $lelbidmarhun->berat = $lelbidmarhun['old_berat']; - $lelbidmarhun->harga = $lelbidmarhun['old_harga']; - $lelbidmarhun->n_marhun = $lelbidmarhun['old_nmarhun']; - $lelbidmarhun->hargaasas = $lelbidmarhun['old_hargaasas']; - $lelbidmarhun->save(); - } - } + // foreach($lelongbidmarhun as $lelbidmarhun) + // { + // if($lelbidmarhun['karat'] == null && $lelbidmarhun['berat'] == null && $lelbidmarhun['harga'] == null && $lelbidmarhun['n_marhun'] == null && $lelbidmarhun['hargaasas'] == null) + // { + // $lelbidmarhun->lelongbid_id = $id; + // $lelbidmarhun->karat = $lelbidmarhun['old_karat']; + // $lelbidmarhun->berat = $lelbidmarhun['old_berat']; + // $lelbidmarhun->harga = $lelbidmarhun['old_harga']; + // $lelbidmarhun->n_marhun = $lelbidmarhun['old_nmarhun']; + // $lelbidmarhun->hargaasas = $lelbidmarhun['old_hargaasas']; + // $lelbidmarhun->save(); + // } + // } $lelongbid->status_semak = 1; $lelongbid->save(); diff --git a/app/Http/Controllers/Mobile/LelongMobileController.php b/app/Http/Controllers/Mobile/LelongMobileController.php index bb770d2c..3413bc63 100644 --- a/app/Http/Controllers/Mobile/LelongMobileController.php +++ b/app/Http/Controllers/Mobile/LelongMobileController.php @@ -77,13 +77,13 @@ class LelongMobileController extends Controller public function bidderSelectBidItem(Request $request){ - $feepayment = Payment::join('resit', 'payment.resit_id','=','resit.id') - ->where('payment.user_id',$request->user_id) - ->where('payment.lelong_id', '=', $request->lelong_id) - ->where('resit.resit_type',1) - ->where('resit.status','PAID')->first(); - // dd($feepayment); - if($feepayment != null){ + // $feepayment = Payment::join('resit', 'payment.resit_id','=','resit.id') + // ->where('payment.user_id',$request->user_id) + // ->where('payment.lelong_id', '=', $request->lelong_id) + // ->where('resit.resit_type',1) + // ->where('resit.status','PAID')->first(); + // // dd($feepayment); + // if($feepayment != null){ $user = User::where('id', '=', $request->user_id) ->first(); @@ -129,15 +129,15 @@ class LelongMobileController extends Controller ]; return response()->json($response, 201); - } - else if($feepayment == null){ + // } + // else if($feepayment == null){ - $response = [ - 'success' => "error", - 'message' => "Something wrong with the server" - ]; - return response()->json($response, 201); - } + // $response = [ + // 'success' => "error", + // 'message' => "Something wrong with the server" + // ]; + // return response()->json($response, 201); + // } } public function listBidItem(Request $request){ @@ -156,6 +156,20 @@ class LelongMobileController extends Controller return response()->json($lelongbidder); } + public function bidRecord(Request $request) + { + $lelongbidder = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') + ->where('user_id', '=', $request->user_id) + ->where('lelong_id', '=', $request->lelong_id) + ->get()->toArray(); + foreach ($lelongbidder as $index => $data) { + $cawangan = Cawangan::where('caw_code', '=', $data['kodcaw'])->select('caw_name')->first(); + $lelongbidder[$index]['caw_name'] = $cawangan['caw_name']; + } + + return response()->json($lelongbidder); + } + // please do not delete this changes // backup web pembida public function listBidItemWeb($user_id, Request $request){ @@ -347,7 +361,6 @@ class LelongMobileController extends Controller ->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbidder.user_id', $user_id) ->where('lelongbidder.status_bidder', 1) - ->whereNull('lelongbidder.status_payment') ->select( 'lelongbid.kodcaw' ) @@ -360,12 +373,10 @@ class LelongMobileController extends Controller $data = []; foreach ($sag as $index1 => $kodcaw) { - // dd($kodcaw->toArray()); $groupBycaw = LelongBid::join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id') ->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbidder.user_id', $user_id) ->where('lelongbidder.status_bidder', 1) - // ->whereNull('lelongbidder.status_payment') ->where('lelongbid.kodcaw', $kodcaw->kodcaw) ->select( 'lelongbidder.id AS id', @@ -865,4 +876,29 @@ class LelongMobileController extends Controller } dd($invoice); } + + public function resultLelong(Request $request) + { + $lelong = Lelong::join('lelongbid', 'lelong.id', '=', 'lelongbid.lelong_id') + ->join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id') + ->where('user_id', $request->user_id) + ->where('status_bidder', 1) + ->select('lelong.id') + ->groupBy('lelong.id') + ->get(); + + foreach ($lelong as $index1 => $tarikhLelong) { + + $lelongbid = LelongBid::join('lelongbidder', 'lelongbid.id', 'lelongbidder.lelongbid_id') + ->where('lelongbid.lelong_id', $tarikhLelong->id) + ->get(); + dd($lelongbid->toArray()); + + $lelong[$index1]['jumlah'] = 'testjumlah'; + $lelong[$index1]['status'] = 'teststatus'; + } + + + dd($lelong->toArray()); + } } diff --git a/app/Models/LelongBid.php b/app/Models/LelongBid.php index f167a401..4cef90ec 100644 --- a/app/Models/LelongBid.php +++ b/app/Models/LelongBid.php @@ -39,4 +39,8 @@ class LelongBid extends Model 'mora_upah', 'fasa' ]; + + public function lelongbidder() { + return $this->hasOne(LelongBidder::class,'lelongbid_id', 'id' ); + } } diff --git a/app/Models/LelongBidder.php b/app/Models/LelongBidder.php index 9e5a7730..6d8ae91f 100644 --- a/app/Models/LelongBidder.php +++ b/app/Models/LelongBidder.php @@ -23,4 +23,8 @@ class LelongBidder extends Model 'status_payment', 'masa_bidaan' ]; + + public function lelongbid() { + return $this->hasOne(LelongBid::class,'id', 'lelongbid_id'); + } } diff --git a/resources/views/account/sahsagonline.blade.php b/resources/views/account/sahsagonline.blade.php index 32cf9318..06f89df2 100644 --- a/resources/views/account/sahsagonline.blade.php +++ b/resources/views/account/sahsagonline.blade.php @@ -26,6 +26,7 @@ @csrf + @@ -35,6 +36,7 @@ + @@ -52,6 +54,7 @@ + @@ -64,7 +67,7 @@ - + +
Harga Asas (RM) Harga Bida (RM) Masa BidaanNo Resit Nota Status
{{ number_format($sag['hargaasas'], 2, '.', ',') }} {{ number_format($sag['hargabida'], 2, '.', ',') }} {{ $sag['masa_bidaan'] }}{{ $sag['reference_no'] }}
Jumlah Bayaran RMRM{{ number_format($senaraisag->sum('hargabida'), 2, '.', ',') }} @if($getresit) @@ -75,6 +78,7 @@ @endif