256 lines
8.0 KiB
PHP
256 lines
8.0 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\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)
|
|
{
|
|
$lelong = CawanganLelong::join('lelong', 'cawangan_lelong.lelong_id', '=', 'lelong.id')
|
|
->join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
|
|
->where('lelong.sts_lelong', 3)
|
|
->get();
|
|
|
|
return view('pembida.senlelpembayaranbidaan',compact('lelong'));
|
|
}
|
|
|
|
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)
|
|
->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();
|
|
|
|
$sts_payment = 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('lelongbidder.status_payment')
|
|
->get();
|
|
|
|
$detailspayment = LelongBidder::join('payment', 'lelongbidder.payment_id', '=', 'payment.id')
|
|
->where('payment.kodcaw', $request->kodcaw)
|
|
->where('payment.lelong_id', $request->lelong_id)
|
|
->whereNotNull('payment.disahkan_pada')
|
|
->where('lelongbidder.status_bidder', 1)
|
|
->where('lelongbidder.status_payment', 1)
|
|
->get();
|
|
|
|
$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]['sts_payment'] = $sts_payment[0]['status_payment'];
|
|
$listwinner[$index1]['status'] = $detailspayment[0]['status'];
|
|
$listwinner[$index1]['remark'] = $detailspayment[0]['remark'];
|
|
|
|
}
|
|
|
|
return view('pembida.pembayaranbidaan',compact('listwinner'));
|
|
}
|
|
|
|
public function detailsbidaan(Request $request)
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|