452 lines
15 KiB
PHP
452 lines
15 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;
|
|
|
|
|
|
|
|
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','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;
|
|
|
|
|
|
//$arrayinfo = [];
|
|
|
|
$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();
|
|
//->toArray();
|
|
//dd($lelong);
|
|
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
|
$kodcaw = $request->kodcaw;
|
|
$lelong_id = $request->lelong_id;
|
|
$payment_id = $request->payment_id;
|
|
// dd($kodcaw);
|
|
return view('pembida.pembayaranbidaan',compact('listwinner','lelong_id', 'getkodcaw', 'kodcaw'));
|
|
}
|
|
|
|
|
|
|
|
public function detailsbidaan($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)
|
|
->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 belumbayarbidaan(Request $request)
|
|
{
|
|
|
|
//$userdetail = User::where('id', $user_id)->first();
|
|
|
|
$infos = 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')
|
|
->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(function($query){
|
|
$query->whereNull('lelongbidder.status_payment')
|
|
->orWhere('lelongbidder.status_payment',2)
|
|
->where('lelongbidder.status_bidder', 1);
|
|
})
|
|
->get();
|
|
// dd($infos);
|
|
|
|
return view('pembida.detailsbidaanbelumbayar', compact('infos'));
|
|
}
|
|
|
|
public function declaretidaklaku(Request $request)
|
|
{
|
|
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateTimeString();
|
|
$t_lelong = Carbon::parse($request->t_lelong);
|
|
$data = $request->checkboxdata;
|
|
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();
|
|
|
|
//banned pembida
|
|
$user = User::where('id','=',$request->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->save();
|
|
|
|
//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('lelong.senarailelongtaklaku');
|
|
}
|
|
|
|
}
|
|
|