198 lines
7.0 KiB
PHP
198 lines
7.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Lelong;
|
|
use App\Models\CawanganLelong;
|
|
use App\Models\Cawangan;
|
|
use App\Models\Resit;
|
|
use App\Models\LelongBid;
|
|
use App\Models\LelongBidder;
|
|
use App\Models\LelongBidMarhun;
|
|
use App\Models\Payment;
|
|
use App\Models\User;
|
|
use Carbon\Carbon;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class PaymentController extends Controller
|
|
{
|
|
public function SenaraiLelongBayar(Request $request){
|
|
|
|
$user = Auth::user();
|
|
|
|
$senarai = CawanganLelong::join('lelong', 'cawangan_lelong.lelong_id', '=', 'lelong.id')
|
|
->join('cawangan','cawangan_lelong.caw_id', '=', 'cawangan.id')
|
|
->where('cawangan.caw_code', $user->kodcaw)
|
|
->get();
|
|
|
|
// dd($senarai);
|
|
|
|
return view('pembayaran.senarailelongbayaran',compact('senarai'));
|
|
|
|
}
|
|
|
|
public function SenaraiPemenang($lelong_id){
|
|
|
|
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
->where('lelongbidder.status_bidder', 1)
|
|
->where('lelongbid.lelong_id', $lelong_id)
|
|
->select('lelongbidder.user_id'
|
|
)
|
|
->groupBy('lelongbidder.user_id')
|
|
->get()->toArray();
|
|
// dd($listwinner);
|
|
|
|
foreach($listwinner as $index1=>$winner){
|
|
|
|
$userdetails = User::where('id', $winner['user_id'])->first();
|
|
// dd($userdetails);
|
|
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
// ->join('payment', 'lelongbidder.lelongbid_id', '=', 'payment.lelongbid_id')
|
|
->where('user_id', $winner['user_id'])
|
|
->where('lelongbidder.status_bidder', 1)
|
|
->where('lelongbid.lelong_id', $lelong_id)
|
|
->get();
|
|
|
|
$total_payment = 0;
|
|
foreach($SAGWin as $SAG){
|
|
$payment = Payment::where('lelongbid_id', $SAG->lelongbid_id)
|
|
->first();
|
|
// dd($payment->total_payment);
|
|
|
|
if($payment){
|
|
$total_payment = $total_payment + $payment->total_payment;
|
|
}
|
|
}
|
|
|
|
$listwinner[$index1]['details'] = $userdetails;
|
|
$listwinner[$index1]['total_surat'] = sizeof($SAGWin);
|
|
$listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida');
|
|
$listwinner[$index1]['totalPay'] = $total_payment;
|
|
|
|
}
|
|
|
|
return view('pembayaran.kaunterpembayaran',compact('listwinner','lelong_id'));
|
|
|
|
}
|
|
|
|
public function SAGBidItem($user_id, $lelong_id){
|
|
|
|
$SAGBidItem = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
->join('users', 'lelongbidder.user_id', '=', 'users.id')
|
|
->where('lelongbidder.status_bidder', 1)
|
|
->where('users.id', $user_id)
|
|
->where('lelongbid.lelong_id', $lelong_id)
|
|
->select(
|
|
'users.id',
|
|
'users.name',
|
|
'users.nokp',
|
|
'users.alamat'
|
|
)
|
|
->first();
|
|
|
|
// foreach($SAGBidItem as $eachbid){
|
|
|
|
$eachbid = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
->join('users', 'lelongbidder.user_id', '=', 'users.id')
|
|
->where('lelongbidder.status_bidder', 1)
|
|
->where('users.id', $user_id)
|
|
->where('lelongbid.lelong_id', $lelong_id)
|
|
->select('lelongbidder.hargabida',
|
|
'lelongbid.hargaasas',
|
|
'lelongbid.norujukan',
|
|
'lelongbidder.lelongbid_id',
|
|
'lelongbidder.status_payment'
|
|
)
|
|
->get();
|
|
|
|
// }
|
|
|
|
return view('pembayaran.SAGBidItem',compact('SAGBidItem', 'eachbid', 'lelong_id'));
|
|
}
|
|
|
|
public function paymentdenokaunter(Request $request){
|
|
// dd($request->all());
|
|
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateTimeString();
|
|
|
|
$user = Auth::user();
|
|
|
|
$bid_id = explode(",", $request->eachbid);
|
|
|
|
$resit = Resit::where('lelong_id', $request->lelong_id)
|
|
->first();
|
|
|
|
$total_hargabida = 0;
|
|
foreach($bid_id as $bid){
|
|
|
|
$eachbid = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
->join('users', 'lelongbidder.user_id', '=', 'users.id')
|
|
->where('lelongbidder.lelongbid_id', $bid)
|
|
->select('lelongbidder.hargabida',
|
|
'lelongbid.hargaasas',
|
|
'lelongbid.norujukan',
|
|
'lelongbidder.lelongbid_id',
|
|
'lelongbidder.id as lelongbidder_id',
|
|
'lelongbid.lelong_id as lelong_id'
|
|
)
|
|
->first();
|
|
|
|
$total_hargabida = $total_hargabida + $eachbid->hargabida;
|
|
$payment = Payment::create([
|
|
'user_id' => $request->user_id,
|
|
'lelongbidder_id' => $eachbid->lelongbidder_id,
|
|
'lelongbid_id' => $bid,
|
|
'lelong_id' => $eachbid->lelong_id,
|
|
'kodcaw' => $user->kodcaw,
|
|
'status_payment_opt' => 1,
|
|
'status' => 2,
|
|
'remark' => 'BAYARAN DI KAUNTER',
|
|
'resit_id' => $resit->id,
|
|
'total_payment' => $request->amaunkiraan,
|
|
'1sen' => $request->ambilansen1,
|
|
'5sen' => $request->ambilansen5,
|
|
'10sen' => $request->ambilansen10,
|
|
'20sen' => $request->ambilansen20,
|
|
'50sen' => $request->ambilansen50,
|
|
'rm1' => $request->ambilanring1,
|
|
'rm5' => $request->ambilanring5,
|
|
'rm10' => $request->ambilanring10,
|
|
'rm20' => $request->ambilanring20,
|
|
'rm50' => $request->ambilanring50,
|
|
'rm100' => $request->ambilanring100,
|
|
'disahkan_oleh' => $user->id,
|
|
'disahkan_pada' => $currentdate
|
|
]);
|
|
|
|
$updatelelbidbidder = LelongBidder::where('lelongbid_id', $eachbid->lelongbid_id)
|
|
->first();
|
|
$updatelelbidbidder->status_payment = 1;
|
|
$updatelelbidbidder->update();
|
|
|
|
$eachbid->status_jual = 1;
|
|
$eachbid->t_jual = $currentdate;
|
|
$eachbid->update();
|
|
|
|
}
|
|
if($request->amaunkiraan == $total_hargabida){
|
|
$resit->total_payment = $total_hargabida;
|
|
$resit->status = 'PAID';
|
|
$resit->paid_at = $currentdate;
|
|
$resit->update();
|
|
}
|
|
return redirect()->route('pembayaran.SenaraiLelongBayar')->with('success','Pembayaran Berjaya');
|
|
}
|
|
|
|
public function pengesahanPembayaran(Request $request){
|
|
|
|
$pengesahanPembayaran = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
->join('users', 'lelongbidder.user_id', '=', 'users.id')
|
|
->where('lelongbidder.status_bidder', 1)
|
|
->get();
|
|
|
|
return view('pembayaran.pengesahanPembayaran',compact('pengesahanPembayaran'));
|
|
}
|
|
}
|