Files
lelong/app/Http/Controllers/PembidaController.php
T
2023-03-26 12:16:11 +08:00

1315 lines
53 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Illuminate\Support\Facades\Auth;
use PDF;
use Carbon\Carbon;
use App\Models\User;
use App\Models\File;
use App\Models\Lelong;
use App\Models\CawanganLelong;
use App\Models\LelongBidder;
use App\Models\LelongBid;
use App\Models\Payment;
use App\Models\Cawangan;
use App\Models\TakLaku;
use App\Models\LogUser;
use App\Models\FileResit;
use App\Models\Invoice;
use App\Models\ScanJual;
use App\Services\ResitPhotoService;
use Symfony\Component\Console\Descriptor\Descriptor;
class PembidaController extends Controller
{
private $resitPhotoService;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct(ResitPhotoService $resitPhotoService)
{
$this->middleware('auth');
$this->resitPhotoService = $resitPhotoService;
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
// $alluser = User::all();
$alluser = User::doesntHave('roles')
->where('user_type','=',2)
->where('status', '=', 'inprogress')
->get();
// dd($alluser);
// $allroles = Role::all()->pluck('name');
// $user = Auth::user();
// $user->assignRole('admin');
return view('pembida.senaraipembida',compact('alluser'));
}
public function show($userid)
{
// dd($userid);
$user = User::where('id','=',$userid)->first();
$files = File::where('user_id','=',$userid)->get()->toArray();
// dd($files);
$array_ic = [];
foreach($files as $index=>$file)
{
$files[$index]['ic64']= 'data:image/' . $file['file_type'] . ';base64,' . base64_encode($file['filename']);
}
// dd($files);
return view('pembida.show',compact('user','files'));
}
public function delete(Request $request)
{
$user = User::where('id','=',$request->userid)->first();
$user->note =$request->note;
$user->status = 'Fail';
$user->save();
return redirect()->route('pembida.senaraipembida')
->with('success','Padam Pengguna Berjaya');
}
public function sah($userid)
{
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateString();
$user = User::where('id','=',$userid)->first();
$user->disahkan_pada = $currentdate;
$user->disahkan_oleh = Auth::user()->id;
$user->status = 'active';
if($user->save())
{
$user->assignRole('pembida');
}
return redirect()->route('pembida.senaraipembida')
->with('success','Pengesahan Berjaya');
}
public function reject(Request $request)
{
// dd($request->all());
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateString();
$user = User::where('id','=',$request->user_id)->first();
$user->disahkan_pada = $currentdate;
$user->disahkan_oleh = Auth::user()->id;
$user->note = $request->nota;
$user->status = 'rejected';
$user->save();
return redirect()->route('pembida.senaraipembida')
->with('unsuccessful','Pengesahan Ditolak');
}
public function senaraipembidakeseluruhan(Request $request)
{
// $alluser = User::all();
$alluser = User::where('user_type','=',2)
->get();
// dd($alluser);
// $allroles = Role::all()->pluck('name');
// $user = Auth::user();
// $user->assignRole('admin');
return view('pembida.senaraipembidakeseluruhan',compact('alluser'));
}
public function kemaskini($userid)
{
// dd($userid);
$user = User::where('id','=',$userid)->first();
$files = File::where('user_id','=',$userid)->get()->toArray();
$array_ic = [];
foreach($files as $index=>$file)
{
$files[$index]['ic64']= 'data:image/' . $file['file_type'] . ';base64,' . base64_encode($file['filename']);
}
// dd($files);
return view('pembida.kemaskini',compact('user','files'));
}
public function update(Request $request)
{
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
if($request->status == true)
{
$status = 'active';
}
else if($request->statusban == true)
{
$status = 'banned';
}
else
{
$status = 'inactive';
}
$user = User::where('id','=',$request->userid)->first();
// dd($user);
$user->name = $request->name;
$user->username = $request->username;
$user->nokp = $request->nokp;
$user->email = $request->email;
$user->notelbimbit = $request->notelbimbit;
$user->alamat = $request->alamat;
$user->updated_at = $currentdate;
$user->status = $status;
$user->save();
return redirect()->route('pembida.senaraipembidakeseluruhan')->with('success','Pembida Berjaya Dikemaskini');
}
public function senlelpembayaranbidaan(Request $request)
{
$kodcaw = $request->kodcaw;
$arrayinfo = [];
$lelong = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id')
->select('lelong_id','tarikh_lelong','lelong.fasa','harga_emas_asas','jbg','cajlelong','sts_lelong')
->distinct()
->orderBy('lelong_id')
->where('lelong.sts_lelong', 3)
->get()
->toArray();
foreach($lelong as $details)
{
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->select('cawangan_lelong.lelong_id','cawangan_lelong.caw_id','caw_name','caw_code','cawangan_lelong.export_data_sts')
->where('lelong_id',$details['lelong_id'])
->distinct()
->orderBy('lelong_id')
->get()
->toArray();
// dd($detailsinfo);
array_push($arrayinfo,['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
}
// dd($request->kodcaw);
return view('pembida.senlelpembayaranbidaan',compact('lelong','arrayinfo'));
}
public function senlelbelumbayarbidaan(Request $request)
{
$kodcaw = $request->kodcaw;
$lelong = LelongBid::join('cawangan_lelong','lelongbid.lelong_id','=','cawangan_lelong.lelong_id')
->join('lelongbidder','lelongbid.id','=','lelongbidder.lelongbid_id')
->join('lelong','lelong.id','=','lelongbid.lelong_id')
->join('cawangan','cawangan.id','=','lelongbid.caw_id')
->select('lelongbid.lelong_id','lelongbid.caw_id','lelongbid.kodcaw','lelongbid.t_lelong','lelong.sts_lelong','cawangan.caw_name')
->distinct()
->orderBy('lelongbid.lelong_id')
->where('lelongbid.status_jual', 1)
->where('lelong.sts_lelong', 3)
->where(function($query){
$query->whereNull('lelongbidder.status_payment')
->orWhere('lelongbidder.status_payment',2)
->where('lelongbidder.status_bidder', 1);
})
->get();
return view('pembida.senlelbelumbayarbidaan', compact('lelong'));
}
public function pembayaranbidaan(Request $request)
{
// dd($request->all());
$getkodcaw = Cawangan::where('caw_code', $request->kodcaw)->select('caw_name')->first();
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->join('payment', 'lelongbidder.payment_id', '=', 'payment.id')
->where('lelongbidder.status_bidder', 1)
// ->where('payment.status', 1)
->where('lelongbidder.status_payment', 1)
->where('lelongbid.lelong_id', $request->lelong_id)
->where('lelongbid.kodcaw', $request->kodcaw)
->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();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.nopembeli', $winner['user_id'])
->where('lelongbid.kodcaw', $request->kodcaw)
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $request->lelong_id)
->get();
// dd($SAGWin);
foreach($SAGWin as $index2=>$sag)
{
// dd($sag->payment_id);
if($sag)
{
$detailspayment = Payment::where('id', $sag->payment_id)->first();
// dd($detailspayment);
}
}
$payment = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.user_id', $winner['user_id'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $request->lelong_id)
->where('lelongbid.kodcaw',$request->kodcaw)
->select('lelongbidder.payment_id')
->groupBy('lelongbidder.payment_id')
->get();
// dd($payment_id);
$total_payment = 0;
foreach($payment as $id)
{
$payment = Payment::where('id', $id->payment_id)
->first();
// dd($payment);
if($payment){
$payment_id = $id->payment_id;
$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;
$listwinner[$index1]['payment_id'] = $payment_id;
$listwinner[$index1]['jenisbayaran']['status_payment'] = $sag->status_payment;
$listwinner[$index1]['jenisbayaran']['status'] = ($detailspayment) ? $detailspayment['status'] : 0;
$listwinner[$index1]['jenisbayaran']['kaedah_bayaran'] = ($detailspayment) ? $detailspayment['status_payment_opt'] : 0;
}
$sum = 0;
$kaedah = Payment::where('kodcaw',$request->kodcaw)
->where('status', '=', 2)
->where('lelong_id', $request->lelong_id)
->select('payment.status_payment_opt', 'payment.total_payment')
// ->groupBy('payment.status_payment_opt')
->get();
$kaedah_cdm = $kaedah->where('status_payment_opt', 3)->sum('total_payment');
$kaedah_fpx = $kaedah->where('status_payment_opt', 2)->sum('total_payment');
$kaedah_tunai = $kaedah->where('status_payment_opt', 1)->sum('total_payment');
$bilcdm = $kaedah->where('status_payment_opt', 3)->count('norujukan');
$bilfpx = $kaedah->where('status_payment_opt', 2)->count('norujukan');
$biltunai = $kaedah->where('status_payment_opt', 1)->count('norujukan');
$kodcaw = $request->kodcaw;
$lelong_id = $request->lelong_id;
$payment_id = $request->payment_id;
// dd($kodcaw);
return view('pembida.pembayaranbidaan',compact('bilcdm','bilfpx','biltunai','kaedah_cdm','kaedah_fpx','kaedah_tunai','listwinner','lelong_id', 'getkodcaw', 'kodcaw'));
}
public function detailsbidaan($lelong_id, $user_id, $kodcaw)
{
$userdetail = User::where('id', $user_id)->first();
$infos = LelongBid::join('cawangan', 'lelongbid.kodcaw', '=', 'cawangan.caw_code')
->join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
->where('lelongbid.nopembeli', $user_id)
// ->where('lelongbidder.payment_id', $payment_id)
->where('cawangan.caw_code', $kodcaw)
->where('lelongbid.kodcaw', $kodcaw)
->where('lelongbidder.status_payment', 1)
->where('lelongbid.lelong_id', $lelong_id)
->select('lelongbid.id as lelongbid_id',
'lelongbidder.id as lelongbidder_id',
'lelongbid.lelong_id',
'lelongbidder.payment_id',
'lelongbid.t_lelong',
'cawangan.caw_name',
'lelongbid.norujukan',
'lelongbid.marhun',
'lelongbid.hargaasas',
'lelongbidder.hargabida',
'lelongbidder.masa_bidaan',
'lelongbidder.notelbimbit'
)
->get();
// dd($infos);
foreach ($infos as $index1 => $info)
{
$butiranbidaan = Payment::join('resit', 'payment.resit_id', '=', 'resit.id')
->where('payment.id', $info['payment_id'])
->where('payment.lelong_id', $info['lelong_id'])
->whereNotNull('payment.disahkan_oleh')
->whereNotNull('payment.disahkan_pada')
->select('payment.remark',
'resit.reference_no'
)
->get();
// dd($butiranbidaan);
$infos[$index1]['info'] = $info;
// dd($infos[$index1]['info']);
$infos[$index1]['butiran_bidaan'] = $butiranbidaan;
// dd($infos[$index1]['butiran_bidaan']);
}
return view('pembida.detailsbidaan', compact('infos', 'userdetail', 'kodcaw'));
}
public function detailsbayaran($lelong_id, $user_id, $kodcaw)
{
$lelong = Lelong::find($lelong_id, ['id', 'tarikh_lelong']);
$cawangan = Cawangan::where('caw_code', $kodcaw)->select('id', 'caw_name')->first();
$user = User::find($user_id, ['id', 'name']);
$lelong_bid_all = LelongBid::join('cawangan', 'lelongbid.kodcaw', '=', 'cawangan.caw_code')
->join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
->where('lelongbid.nopembeli', $user_id)
->where('cawangan.caw_code', $kodcaw)
->where('lelongbid.kodcaw', $kodcaw)
->where('lelongbidder.status_payment', 1)
->where('lelongbid.lelong_id', $lelong_id)
->select('lelongbid.id', 'norujukan', 'hargabida')
->get();
$disahkan_oleh = Payment::with('disahkanOleh:id,name')->where('lelongbid_id', $lelong_bid_all[0]->id)->where('disahkan_oleh', '<>', null)->select('id', 'disahkan_oleh', 'disahkan_pada', 'remark')->first();
$total_payment = $lelong_bid_all->sum('hargabida');
$fileresit_all = FileResit::where('lelong_id', $lelong_id)->where('user_id', $user_id)->where('kodcaw', $kodcaw)->get();
if ($disahkan_oleh->remark == "BERJAYA BAYARAN ONLINE") {
$disahkan_oleh->remark = "FPX";
}
return view('pembida.detailspembayaran', compact('lelong', 'cawangan', 'user', 'fileresit_all', 'total_payment', 'disahkan_oleh'));
}
public function showPhotoResit(Request $request)
{
$resit = FileResit::where('id', '=', $request->fileresit_id)->first();
return $this->resitPhotoService->show($request->user_id, $resit);
}
public function belumbayarbidaan(Request $request)
{
//$userdetail = User::where('id', $user_id)->first();
$infos = LelongBid::join('lelongbidder','lelongbid.id','=','lelongbidder.lelongbid_id')
->join('lelong','lelong.id','=','lelongbid.lelong_id')
->select ('lelongbid.kodcaw','lelongbid.caw_id','lelongbidder.user_id','lelongbidder.nama_bidder','lelongbidder.hargabida','lelongbid.norujukan','lelongbid.hargaasas','lelongbidder.masa_bidaan','lelongbid.t_lelong','lelongbid.id','lelongbid.fasa','lelongbid.lelong_id')
->where('lelongbid.lelong_id', $request->lelong_id)
->where('lelongbid.kodcaw', $request->kodcaw)
->where('lelongbid.status_jual', 1)
->where('lelongbidder.status_bidder', 1)
->where(function($query){
$query->whereNull('lelongbidder.status_payment')
->orWhere('lelongbidder.status_payment',2);
})
->get();
// dd($infos);
return view('pembida.detailsbidaanbelumbayar', compact('infos'));
}
public function declaretidaklaku(Request $request)
{
// dd($request->user_id);
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$t_lelong = Carbon::parse($request->t_lelong);
$data = $request->checkboxdata;
// dd($data);
foreach($data as $index=>$norujukan)
{
$user = Auth::user();
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
//$marhun = LelongBid::where('norujukan','=',$norujukan)->first();
// $taklaku = new TakLaku;
// $taklaku->lelong_id = $request->lelong_id;
// $taklaku->caw_id = $request->caw_id;
// $taklaku->kodcaw = $request->kodcaw;
// $taklaku->norujukan = $norujukan;
// $taklaku->t_lelong = $t_lelong;
// $taklaku->status = '0';
// $taklaku->fasa = $request->fasa;
// $taklaku->save();
$infos = LelongBid::join('lelongbidder','lelongbid.id','=','lelongbidder.lelongbid_id')
->join('lelong','lelong.id','=','lelongbid.lelong_id')
->select ('lelongbid.kodcaw','lelongbid.caw_id','lelongbidder.user_id','lelongbidder.nama_bidder','lelongbidder.hargabida','lelongbid.norujukan','lelongbid.hargaasas','lelongbidder.masa_bidaan','lelongbid.t_lelong','lelongbid.id','lelongbid.fasa','lelongbid.lelong_id')
->where('lelongbid.norujukan', $norujukan)
->where('lelongbid.kodcaw', $request->kodcaw)
->where('lelongbid.status_jual', 1)
->where('lelongbidder.status_bidder', 1)
->groupBy('lelongbidder.user_id')
->where(function($query){
$query->whereNull('lelongbidder.status_payment')
->orWhere('lelongbidder.status_payment',2);
})
->first();
// dd($infos->user_id);
//banned pembida
$user = User::where('id','=',$infos->user_id)->first();
// dd($user);
$user->updated_at = $currentdate;
$user->status = 'banned';
$user->save();
//update status_jual = 0
$bida = LelongBid::where('norujukan','=',$norujukan)->first();
$bida->status_jual = '0';
$bida->t_jual = null;
$bida->hargajual = 0.00;
$bida->nopembeli = null;
$bida->cajlelong = 0.00;
$bida->baki = 0.00;
$bida->save();
// dd($request->user_id);
//hapus lelongbidder
$lelongbidder = LelongBidder::where('lelongbid_id', $bida->id)
->where('user_id', $infos->user_id)
->delete();
// dd($lelongbidder);
//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 = ' Tak Laku Lelong';
$loguser->save();
}
return redirect()->route('pembida.senlelbelumbayarbidaan');
}
public function kebenaranbayarantunai(Request $request)
{
$kodcaw = $request->kodcaw;
$arrayinfo = [];
$lelong = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id')
->select('lelong_id','tarikh_lelong','lelong.fasa','harga_emas_asas','jbg','cajlelong','sts_lelong')
->distinct()
->orderBy('lelong_id', 'DESC')
->where('lelong.sts_lelong', 3)
->get()
->toArray();
foreach($lelong as $details)
{
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->select('cawangan_lelong.lelong_id','cawangan_lelong.caw_id','caw_name','caw_code','cawangan_lelong.export_data_sts')
->where('lelong_id',$details['lelong_id'])
->distinct()
->orderBy('lelong_id')
->get()
->toArray();
// dd($detailsinfo);
array_push($arrayinfo,['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
}
// dd($request->kodcaw);
$datacaw = Cawangan::where('caw_code','=',$kodcaw)
->get();
return view('pembida.listkebenaranbayarantunai',compact('datacaw','lelong','arrayinfo'));
}
// public function senaraipemenangbycaw(Request $request, $lelong_id){
// $caw_code = $request->kodcaw;
// $listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
// ->where('lelongbidder.status_bidder', 1)
// ->where('lelongbid.lelong_id', $lelong_id)
// ->where('lelongbid.kodcaw', $caw_code)
// ->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();
// $SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
// ->where('user_id', $winner['user_id'])
// ->where('lelongbidder.status_bidder', 1)
// ->where('lelongbid.lelong_id', $lelong_id)
// ->where('lelongbid.kodcaw', $caw_code)
// ->get();
// $listwinner[$index1]['details'] = $userdetails;
// $listwinner[$index1]['total_surat'] = sizeof($SAGWin);
// $listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida');
// $listwinner[$index1]['lelong_id'] = $lelong_id;
// // $listwinner[$index1]['kodcaw'] = $kodcaw;
// // dd( $caw_code);
// }
// return view('pembida.senaraipemenangbycaw',compact('listwinner','lelong_id','caw_code'));
// }
public function senaraisagpemenangbycaw($user_id, $lelong_id, $kodcaw){
$userdetails = User::where('id', $user_id)->first();
$senaraisag = LelongBid::join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
->where('lelongbid.lelong_id', $lelong_id)
->where('lelongbid.kodcaw', $kodcaw)
->where('lelongbidder.user_id', $user_id)
->where('lelongbidder.status_bidder', 1)
->get();
return view('pembida.senaraisagpemenangbycaw', compact('senaraisag', 'user_id', 'lelong_id','userdetails'));
}
public function senaraipemenangbycaw(Request $request,$lelong_id){
// $user = Auth::user();
$caw_code = $request->kodcaw;
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.kodcaw',$caw_code)
->where('lelongbid.lelong_id', $lelong_id)
->select('lelongbidder.user_id')
->groupBy('lelongbidder.user_id')
->get()->toArray();
foreach($listwinner as $index1=>$winner){
$userdetails = User::where('id', $winner['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('user_id', $winner['user_id'])
->where('lelongbid.kodcaw', $caw_code)
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id)
->get();
// dd($userdetails);
$sts_payment = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('user_id', $winner['user_id'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.kodcaw', $caw_code)
->where('lelongbid.lelong_id', $lelong_id)
->select('lelongbidder.status_payment')
->get();
// dd($sts_payment[0]['status_payment']);
$payment_id = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('user_id', $winner['user_id'])
->where('lelongbid.kodcaw', $caw_code)
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id)
->select('payment_id')->groupBy('payment_id')->get();
$total_payment = 0;
foreach($payment_id as $id){
$payment = Payment::where('id', $id->payment_id)
->first();
// dd($payment);
if($payment){
$total_payment = $total_payment + $payment->total_payment;
}
}
// dd($total_payment);
$listwinner[$index1]['details'] = $userdetails;
$listwinner[$index1]['total_surat'] = sizeof($SAGWin);
$listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index1]['totalPay'] = $total_payment;
$listwinner[$index1]['sts_payment'] = $sts_payment[0]['status_payment'];
}
$datacaw = Cawangan::where('caw_code','=',$caw_code)
->get();
// return view('pembayaran.kaunterpembayaran',compact('listwinner','lelong_id'));
return view('pembida.senaraipemenangbycaw',compact('datacaw','listwinner','lelong_id','caw_code'));
}
public function SAGBidItembycaw($user_id, $lelong_id,$kodcaw){
// $user = Auth::user();
$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.kodcaw', $kodcaw)
->where('lelongbid.lelong_id', $lelong_id)
->select(
'users.id',
'users.name',
'users.nokp',
'users.alamat',
'users.notelbimbit'
)
->first();
$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)
->where('lelongbid.kodcaw', $kodcaw)
->select('lelongbidder.hargabida',
'lelongbidder.user_id',
'lelongbid.hargaasas',
'lelongbid.norujukan',
'lelongbidder.lelongbid_id',
'lelongbidder.status_payment'
)
->get();
// dd($eachbid);
foreach($eachbid as $bid)
{
$totalbidaan = $bid->sum('hargabida');
// dd($totalbidaan);
}
$totalbidaan = $eachbid->SUM('hargabida');
// dd($totalbidaan);
$statuspayment = 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)
->where('lelongbid.kodcaw', $kodcaw)
->select('lelongbidder.hargabida',
'lelongbidder.user_id',
'lelongbid.hargaasas',
'lelongbid.norujukan',
'lelongbidder.lelongbid_id',
'lelongbidder.status_payment',
'lelongbid.opencash'
)
->first();
// dd($statuspayment);
$getresit = FileResit::join('payment', 'fileresit.payment_id', '=', 'payment.id')
->where('payment.lelong_id', $lelong_id)
->where('payment.user_id', $user_id)
->get()->toArray();
// dd($getresit);
$getinvoice = Invoice::where('lelong_id',$lelong_id)
->where('user_id','=',$user_id)
->first();
// dd($getinvoice);
$array_resit = [];
foreach($getresit as $index1=>$resit)
{
$getresit[$index1]['resit64'] = 'data:image/' . $resit['file_type'] . ';base64' . base64_encode($resit['filename']);
}
$datacaw = Cawangan::where('caw_code','=',$kodcaw)
->get();
// dd($datacaw);
return view('pembida.SAGBidItembycaw',compact('statuspayment','totalbidaan','datacaw','SAGBidItem', 'eachbid', 'lelong_id','user_id', 'getresit', 'getinvoice','kodcaw'));
}
public function benarkantunai(Request $request)
{
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$user = Auth::user();
$idpembida = $request->user_id;
$lelong_id = $request->lelong_id;
$kodcaw = $request->kodcaw;
// $opencash = Invoice::where('lelong_id',$lelong_id)
// ->where('user_id','=',$idpembida)
// ->first();
// $opencash->opencash = 1;
// $opencash->save();
$lelongbid = LelongBid::where('lelong_id',$lelong_id)
->where('nopembeli','=',$idpembida)
->where('kodcaw','=',$kodcaw)
->get();
// dd($opencashlelongbid);
foreach($lelongbid as $lelbid)
{
$opencashlelongbid = LelongBid::where('lelong_id',$lelong_id)
->where('nopembeli','=',$idpembida)
->where('kodcaw','=',$kodcaw)
->where('norujukan','=',$lelbid->norujukan)
->first();
// dd($opencashlelongbid);
$opencashlelongbid->opencash = 1;
$opencashlelongbid->save();
$loguser = new LogUser;
$loguser->user_id = $user->id;
$loguser->date = $currentdate;
$loguser->username = $user->username;
$loguser->nama_user = $user->name;
$loguser->norujukan = $lelbid->norujukan;
$loguser->nota = 'Benarkan Bayaran Tunai';
$loguser->save();
}
//audit trail
return redirect()->route('pembida.kebenaranbayarantunai')->with('success','Kebenaran Berjaya');
}
public function SenaraiPemenang($lelong_id,$kodcaw){
// $user = Auth::user();
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.kodcaw',$kodcaw)
->where('lelongbid.lelong_id', $lelong_id)
->select('lelongbidder.user_id')
->groupBy('lelongbidder.user_id')
->get()->toArray();
foreach($listwinner as $index1=>$winner){
$userdetails = User::where('id', $winner['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('user_id', $winner['user_id'])
->where('lelongbid.kodcaw', $kodcaw)
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id)
->get();
// dd($userdetails);
$sts_payment = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('user_id', $winner['user_id'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.kodcaw', $kodcaw)
->where('lelongbid.lelong_id', $lelong_id)
->select('lelongbidder.status_payment')
->get();
// dd($sts_payment[0]['status_payment']);
$payment_id = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('user_id', $winner['user_id'])
->where('lelongbid.kodcaw', $kodcaw)
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id)
->select('payment_id')->groupBy('payment_id')->get();
$total_payment = 0;
foreach($payment_id as $id){
$payment = Payment::where('id', $id->payment_id)
->first();
// dd($payment);
if($payment){
$total_payment = $total_payment + $payment->total_payment;
}
}
// dd($total_payment);
$listwinner[$index1]['details'] = $userdetails;
$listwinner[$index1]['total_surat'] = sizeof($SAGWin);
$listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index1]['totalPay'] = $total_payment;
$listwinner[$index1]['sts_payment'] = $sts_payment[0]['status_payment'];
}
return view('home.kaunterpembayaran',compact('listwinner','lelong_id','kodcaw'));
}
public function statuspembayaran(Request $request)
{
$kodcaw = $request->kodcaw;
$tarikh_semasa = date('Y-m-d', strtotime(now()));
$sumtotalpayment = 0;
$arrayinfo = [];
$arraysms = [];
$arraysls = [];
$lelong = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id')
->select('lelong_id','tarikh_lelong','lelong.fasa','harga_emas_asas','jbg','cajlelong','sts_lelong')
->distinct()
->orderBy('lelong_id')
->where('lelong.sts_lelong', 3)
->get()
->toArray();
// dd($lelong);
foreach($lelong as $details)
{
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->select('cawangan_lelong.lelong_id','cawangan_lelong.caw_id','caw_name','cawangan.caw_code','cawangan_lelong.export_data_sts')
->where('lelong_id',$details['lelong_id'])
->distinct()
->orderBy('lelong_id')
->get();
// array_push($arrayinfo,['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
if($details['tarikh_lelong'] == $tarikh_semasa)
{
array_push($arraysms, ['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
} else {
array_push($arraysls, ['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
}
foreach($detailsinfo as $index1=>$cal){
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
// ->join('payment', 'lelongbidder.payment_id', '=', 'payment.id')
->where('lelongbidder.status_bidder', 1)
// ->where('payment.status', 1)
// ->where('lelongbidder.status_payment', 1)
->where('lelongbid.lelong_id', $details['lelong_id'])
->where('lelongbid.kodcaw', $cal['caw_code'])
->select('lelongbidder.user_id', 'lelongbid.lelong_id','lelongbid.kodcaw')
->groupBy('lelongbidder.user_id')
->get();
foreach($listwinner as $index=>$listing){
$total_payment = 0;
$userdetails = User::where('id', $listing['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.nopembeli', $listing['user_id'])
->where('lelongbid.kodcaw', $listing['kodcaw'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $listing['lelong_id'])
->get();
foreach($SAGWin as $index2=>$sag)
{
// dd($detailspayment);
$detailspayment = null;
if($sag['payment_id'] != null)
{
$detailspayment = Payment::where('id', $sag['payment_id'])->first();
$total_payment = $total_payment + $detailspayment->total_payment;
// dd($total_payment);
}else
{
$total_payment = '0.00';
}
}
$listwinner[$index]['details'] = $userdetails;
$listwinner[$index]['total_surat'] = sizeof($SAGWin);
$listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index]['totalPay'] = $total_payment;
$listwinner[$index]['jenisbayaran'] = $detailspayment ;
}
$detailsinfo[$index1]['nama'] = $userdetails;
$detailsinfo[$index1]['listwinner'] = $listwinner;
}
}
// $sumtotalpayment += $total_payment;
// dd($sumtotalpayment);
// dd($arrayinfo);
return view('pembida.statuspembayaran',compact('arraysms','arraysls','listwinner','lelong','arrayinfo','detailsinfo'));
}
public function statuspembayaran2()
{
$current_date = Carbon::now();
$current_date = $current_date->toDateString();
$lelong_all = Lelong::with(
'cawangan:id,caw_code,caw_name',
'lelongBidJual:lelong_id,id,norujukan,caw_id,kodcaw',
'lelongBidJual.lelongBidderMenang:lelongbid_id,user_id,nama_bidder,hargabida,status_payment',
'lelongBidJual.lelongBidderMenang.payment:lelongbid_id,user_id,status_payment_opt',
'lelongBidJual.lelongBidderMenang.payment.user:id,name'
)->select('id', 'tarikh_lelong')->where('sts_lelong', 3)->orderBy('id', 'DESC')->get();
$lelong_array = [];
foreach ($lelong_all as $lelong) {
$allCawangan = $lelong->cawangan->keyBy('caw_code');
$lelongBid = $lelong->lelongBidJual->groupBy('kodcaw');
foreach ($lelongBid as $index => $lelong_bid) {
foreach ($allCawangan as $data => $cawangan) {
if ($data == $index) {
$cawangan['lelongBidFix'] = $lelong_bid;
}
}
}
$cawangan_array = [];
foreach ($lelong->cawangan as $caw) {
if ($caw->lelongBidFix) {
$users = $caw->lelongBidFix->pluck('lelongBidderMenang')->groupBy('user_id');
$jumlah_bidaan_cawangan = $caw->lelongBidFix->pluck('lelongBidderMenang')->sum('hargabida');
$user_array = [];
foreach ($users as $user) {
$user_to_be_added = [];
$user_to_be_added['name_bidder'] = $user[0]->nama_bidder;
$user_to_be_added['jumlah_bidaan'] = $user->sum('hargabida');
$user_to_be_added['status_bayaran'] = $user[0]->status_payment;
if ($user[0]->payment != null) {
$user_to_be_added['jenis_bayaran'] = $user[0]->payment->status_payment_opt;
} else {
$user_to_be_added['jenis_bayaran'] = "99";
}
array_push($user_array, $user_to_be_added);
}
$cawangan_to_be_added = [];
$cawangan_to_be_added['caw_code'] = $caw->caw_code;
$cawangan_to_be_added['caw_name'] = $caw->caw_name;
$cawangan_to_be_added['pembida'] = $user_array;
$cawangan_to_be_added['jumlah_bidaan_cawangan'] = $jumlah_bidaan_cawangan;
array_push($cawangan_array, $cawangan_to_be_added);
}
}
$lelong_to_be_added = [];
$lelong_to_be_added['lelong_id'] = $lelong->id;
$lelong_to_be_added['tarikh_lelong'] = $lelong->tarikh_lelong;
$lelong_to_be_added['cawangan'] = $cawangan_array;
array_push($lelong_array, $lelong_to_be_added);
}
$lelong_array_semasa = [];
$lelong_array_selesai = [];
foreach ($lelong_array as $lelong) {
if ($lelong['tarikh_lelong'] == $current_date) {
array_push($lelong_array_semasa, $lelong);
} else {
array_push($lelong_array_selesai, $lelong);
}
}
return view('pembida.statuspembayaran2', compact('lelong_array_semasa', 'lelong_array_selesai'));
}
public function statuspembayaranbypembida(Request $request)
{
$kodcaw = $request->kodcaw;
$arrayinfo = [];
$lelong = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id')
->select('lelong_id','tarikh_lelong','lelong.fasa','harga_emas_asas','jbg','cajlelong','sts_lelong')
->distinct()
->orderBy('lelong_id')
->where('lelong.sts_lelong', 3)
->get()
->toArray();
// dd($lelong);
foreach($lelong as $details)
{
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $details['lelong_id'])
->select('lelongbidder.user_id', 'lelongbid.lelong_id','lelongbid.kodcaw')
->groupBy('lelongbid.nopembeli')
->get();
// dd($listwinner);
array_push($arrayinfo,['detail'=>$details, 'listwinner'=>$listwinner]);
foreach($listwinner as $index1=>$cal){
$userdetails = User::where('id', $cal['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.nopembeli', $cal['user_id'])
// ->where('lelongbid.kodcaw', $cal['kodcaw'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $cal['lelong_id'])
->get();
// dd($SAGWin);
$total_payment = 0;
foreach($SAGWin as $index2=>$sag)
{
// dd($detailspayment);
$detailspayment = null;
if($sag['payment_id'] != null)
{
$detailspayment = Payment::where('id', $sag['payment_id'])
->get();
$total_payment += $detailspayment->sum('total_payment');
// dd($total_payment);
}else
{
$total_payment = '0.00';
}
}
$cawanganbidder = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->select('cawangan_lelong.lelong_id','cawangan_lelong.caw_id','caw_name','cawangan.caw_code','cawangan_lelong.export_data_sts')
->where('lelong_id',$details['lelong_id'])
->where('cawangan.caw_code',$cal['kodcaw'])
->distinct()
->orderBy('lelong_id')
->get();
foreach($cawanganbidder as $index=>$listing){
$listwinner[$index]['cawangan'] = $cawanganbidder;
}
$listwinner[$index1]['details'] = $userdetails;
$listwinner[$index1]['total_surat'] = sizeof($SAGWin);
$listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index1]['totalPay'] = $total_payment;
$listwinner[$index1]['jenisbayaran'] = $detailspayment ;
}
}
return view('pembida.statuspembayaranbypembida',compact('listwinner','lelong','arrayinfo','cawanganbidder'));
}
public function statusserahanbidaan(Request $request)
{
$kodcaw = $request->kodcaw;
$tarikh_semasa = date('Y-m-d', strtotime(now()));
//dd($tarikh_semasa);
$sumtotalpayment = 0;
$arrayinfo = [];
$arraysms = [];
$arraysls = [];
$lelong = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id')
->select('lelong_id','tarikh_lelong','lelong.fasa','harga_emas_asas','jbg','cajlelong','sts_lelong')
->distinct()
->orderBy('lelong_id', 'DESC')
->where('lelong.sts_lelong', 3)
->get()
->toArray();
// dd($lelong);
foreach($lelong as $details)
{
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->select('cawangan_lelong.lelong_id','cawangan_lelong.caw_id','caw_name','cawangan.caw_code','cawangan_lelong.export_data_sts')
->where('lelong_id',$details['lelong_id'])
->distinct()
->orderBy('lelong_id')
->get();
if($details['tarikh_lelong'] == $tarikh_semasa)
{
array_push($arraysms, ['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
} else {
array_push($arraysls, ['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
}
//array_push($arrayinfo,['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
foreach($detailsinfo as $index1=>$cal){
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
// ->join('payment', 'lelongbidder.payment_id', '=', 'payment.id')
->where('lelongbidder.status_bidder', 1)
// ->where('payment.status', 1)
// ->where('lelongbidder.status_payment', 1)
->where('lelongbid.lelong_id', $details['lelong_id'])
->where('lelongbid.kodcaw', $cal['caw_code'])
->select('lelongbidder.user_id', 'lelongbid.lelong_id','lelongbid.kodcaw')
->groupBy('lelongbidder.user_id')
->get();
foreach($listwinner as $index=>$listing){
$total_payment = 0;
$userdetails = User::where('id', $listing['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.nopembeli', $listing['user_id'])
->where('lelongbid.kodcaw', $listing['kodcaw'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $listing['lelong_id'])
->get();
foreach($SAGWin as $index2=>$sag)
{
// dd($detailspayment);
$detailspayment = null;
$scanserah = null;
if($sag['payment_id'] != null)
{
$detailspayment = Payment::where('id', $sag['payment_id'])->first();
$total_payment = $total_payment + $detailspayment->total_payment;
// dd($total_payment);
$scanserah = ScanJual::where('lelongbid_id', $sag['lelongbid_id'])
->select('serahkpdpembida')
->first();
//dd($scanserah);
}else
{
$total_payment = '0.00';
//$scanserah = 'Belum Bayar';
$scanserah = null;
}
}
$listwinner[$index]['details'] = $userdetails;
$listwinner[$index]['total_surat'] = sizeof($SAGWin);
$listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index]['totalPay'] = $total_payment;
$listwinner[$index]['jenisbayaran'] = $detailspayment;
$listwinner[$index]['serah'] = $scanserah;
}
$detailsinfo[$index1]['nama'] = $userdetails;
$detailsinfo[$index1]['listwinner'] = $listwinner;
}
}
// $sumtotalpayment += $total_payment;
// dd($sumtotalpayment);
// dd($arrayinfo);
return view('pembida.statusserahanbidaan',compact('arraysms','arraysls','listwinner','lelong','detailsinfo'));
}
public function statusserahanbypembida(Request $request)
{
$kodcaw = $request->kodcaw;
$tarikh_semasa = date('Y-m-d', strtotime(now()));
$arraysms = [];
$arraysls = [];
$arrayinfo = [];
$lelong = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id')
->select('lelong_id','tarikh_lelong','lelong.fasa','harga_emas_asas','jbg','cajlelong','sts_lelong')
->distinct()
->orderBy('lelong_id', 'DESC')
->where('lelong.sts_lelong', 3)
->get()
->toArray();
// dd($lelong);
foreach($lelong as $details)
{
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $details['lelong_id'])
->select('lelongbidder.user_id', 'lelongbid.lelong_id','lelongbid.kodcaw')
->groupBy('lelongbid.nopembeli')
->get();
// dd($listwinner);
if($details['tarikh_lelong'] == $tarikh_semasa)
{
array_push($arraysms, ['detail'=>$details, 'listwinner'=>$listwinner]);
} else {
array_push($arraysls, ['detail'=>$details, 'listwinner'=>$listwinner]);
}
//array_push($arrayinfo,['detail'=>$details, 'listwinner'=>$listwinner]);
foreach($listwinner as $index1=>$cal){
$userdetails = User::where('id', $cal['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.nopembeli', $cal['user_id'])
// ->where('lelongbid.kodcaw', $cal['kodcaw'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $cal['lelong_id'])
->get();
// dd($SAGWin);
$total_payment = 0;
foreach($SAGWin as $index2=>$sag)
{
// dd($detailspayment);
$detailspayment = null;
if($sag['payment_id'] != null)
{
$detailspayment = Payment::where('id', $sag['payment_id'])
->get();
$total_payment += $detailspayment->sum('total_payment');
// dd($total_payment);
$scanserah = ScanJual::where('lelongbid_id', $sag['lelongbid_id'])
->select('serahkpdpembida')
->first();
}else
{
$total_payment = '0.00';
}
}
$cawanganbidder = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->select('cawangan_lelong.lelong_id','cawangan_lelong.caw_id','caw_name','cawangan.caw_code','cawangan_lelong.export_data_sts')
->where('lelong_id',$details['lelong_id'])
->where('cawangan.caw_code',$cal['kodcaw'])
->distinct()
->orderBy('lelong_id')
->get();
foreach($cawanganbidder as $index=>$listing){
$listwinner[$index]['cawangan'] = $cawanganbidder;
}
$listwinner[$index1]['details'] = $userdetails;
$listwinner[$index1]['total_surat'] = sizeof($SAGWin);
$listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index1]['totalPay'] = $total_payment;
$listwinner[$index1]['jenisbayaran'] = $detailspayment ;
$listwinner[$index1]['serah'] = $scanserah;
}
}
//return view('pembida.statusserahanbypembida',compact('listwinner','lelong','arrayinfo','cawanganbidder'));
return view('pembida.statusserahanbypembida',compact('arraysms','arraysls','listwinner','lelong','cawanganbidder'));
}
}