Files
lelong/app/Http/Controllers/PembidaController.php
T
Amirah22 1e4ee477c1 update 2
2022-06-21 16:27:15 +08:00

324 lines
10 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;
class PembidaController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* 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->email = $request->email;
$user->notelbimbit = $request->notelbimbit;
$user->nokp = $request->nokp;
$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','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')
->where('lelong_id',$details['lelong_id'])
->distinct()
->orderBy('lelong_id')
// ->where('cawangan.caw_code','=',$request->kodcaw)
->get()
->toArray();
// dd($detailsinfo);
array_push($arrayinfo,['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
}
// dd($request->kodcaw);
return view('pembida.senlelpembayaranbidaan',compact('lelong','arrayinfo'));
}
public function pembayaranbidaan(Request $request)
{
// dd($request->all());
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $request->lelong_id)
->where('lelongbid.kodcaw', $request->kodcaw)
->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('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $request->lelong_id)
->get();
// dd($userdetails);
foreach($SAGWin as $index2=>$sag)
{
$detailspayment = Payment::where('id', $sag->payment_id)->first();
// dd($detailspayment);
}
$payment_id = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('user_id', $winner['user_id'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $request->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();
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;
$listwinner[$index1]['payment_id'] = $payment_id;
$listwinner[$index1]['jenisbayaran']['status_payment'] = $sag->status_payment;
$listwinner[$index1]['jenisbayaran']['status'] = $detailspayment['status'];
}
$kodcaw = $request->kodcaw;
return view('pembida.pembayaranbidaan',compact('listwinner', 'kodcaw'));
}
public function detailsbidaan($user_id, $payment_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('lelongbidder.user_id', $user_id)
->where('lelongbidder.payment_id', $payment_id)
->where('cawangan.caw_code', $kodcaw)
->where('lelongbidder.status_payment', 1)
->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();
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'));
}
}