Files
lelong/app/Http/Controllers/HomeController.php
T
Nur Izzati Zulkifli 6bf01a671a update bug
2022-10-26 16:43:53 +08:00

354 lines
12 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 App\Models\Lelong;
use App\Models\CawanganLelong;
use App\Models\Pengesahan;
use Carbon\Carbon;
use App\Models\Cawangan;
use App\Models\LelongBid;
use App\Models\Payment;
use App\Models\User;
use App\Models\LelongBidder;
use Hash;
class HomeController 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()
{
// $user = Auth::user();
// $user->assignRole('admin');
$user = Auth::user();
$caw = Cawangan::where('caw_code','=',$user->kodcaw)->first();
$dateTime = date('Y-m-d');
// dd($dateTime);
$arrayinfo = [];
$semakCountArray = [];
// $lelong = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id')
// ->join('lelongbid', function($join)
// {
// $join->on('cawangan_lelong.lelong_id', '=', 'lelongbid.lelong_id')
// ->on('cawangan_lelong.caw_id', '=', 'lelongbid.caw_id');
// })
// ->where('lelong.tarikh_lelong', $dateTime)
// ->where('lelongbid.status_semak',1)
// ->select('lelong.fasa','cawangan_lelong.lelong_id','lelong.tarikh_lelong','lelong.masatamat_lelong','lelong.harga_emas_asas','lelong.jbg','lelong.cajlelong','lelong.sts_lelong')
// ->groupBy('cawangan_lelong.lelong_id','cawangan_lelong.caw_id')
// ->get()
// ->toArray();
$lelong = Lelong::where('tarikh_lelong', '=', $dateTime)
->select(
'fasa',
'id AS lelong_id',
'tarikh_lelong',
'masatamat_lelong',
'harga_emas_asas',
'jbg',
'cajlelong',
'sts_lelong'
)
->get()->toArray();
// dd($lelong, $lelong2);
foreach($lelong as $info)
{
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->select('batchlel','lelong_id','cawangan_lelong.caw_id','cawangan.caw_name','cawangan.caw_code','status_online','cawangan_lelong.masamula_lelong','cawangan_lelong.masatamat_lelong')
->where('lelong_id',$info['lelong_id'])
->get()
->toArray();
foreach($detailsinfo as $det)
{
$cawsemak = LelongBid::where('status_semak', 0)
->where('lelong_id',$det['lelong_id'])
->where('caw_id',$det['caw_id'])
->get();
$semakCount = $cawsemak->count();
array_push($semakCountArray,$semakCount);
}
array_push($arrayinfo,['info'=>$info, 'detailsinfo'=>$detailsinfo]);
// dd($arrayinfo);
}//dd($detailsinfo);
$arrayinfomutu = [];
//HOME KELULUSAN MUTU MARHUN
$lelongmutu = pengesahan::join('lelong','lelong.id','=','pengesahan.lelong_id')
->join('lelongbid','lelongbid.norujukan','=','pengesahan.norujukan')
// ->where('sts_lelong', 0)
->where('lelongbid.kodcaw', $user->kodcaw)
->whereIn('pengesahan.status_ubah', [1,2,3,4,5])
->where('disahkan_oleh','=', NULL)
->select('pengesahan.lelong_id','lelong.id','lelong.tarikh_lelong','lelong.masatamat_lelong','lelong.harga_emas_asas','lelong.jbg','lelong.cajlelong','sts_lelong')
// ->groupBy('pengesahan.lelong_id')
->distinct()
->get()
->toArray();
// dd($lelong);
foreach($lelongmutu as $infomutu)
{
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->where('cawangan.caw_code', $user->kodcaw)
->where('lelong_id',$infomutu['lelong_id'])
->get()
->toArray();
array_push($arrayinfomutu,['info'=>$infomutu, 'detailsinfo'=>$detailsinfo]);
}
if($caw <> NULL) { //staf cwgn
$sag = LelongBid::where('status_semak', 0) //belum disemak
->where('kodcaw', $caw['caw_code'])
->get();
//dd($sag);
}
else { //operasi,jurulelong
$sag = LelongBid::where('status_semak', 0) //belum disemak
->get();
}
//paparan pemenang lelongan harini
$arrayinfomenang = [];
$lelongmenang = 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)
->where('tarikh_lelong', '=', $dateTime)
->get()
->toArray();
// dd($lelongmenang);
foreach($lelongmenang 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($arrayinfomenang,['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
}
//end paparan pemenang lelongan harini
//paparan untuk account
$arrayinfoaccount = [];
// $dateTimedummy = date('2022-10-23');
$senarai = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id')
->select('lelong_id','tarikh_lelong','lelong.fasa','sts_lelong')
->distinct()
->orderBy('lelong_id')
->where('lelong.sts_lelong', 3)
->where('tarikh_lelong', '=', $dateTime)
->get()
->toArray();
// dd($senarai);
foreach($senarai as $details)
{
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->join('lelongbid', 'lelongbid.caw_id', '=', 'cawangan_lelong.caw_id')
->join('payment','payment.norujukan','=','lelongbid.norujukan')
->select('cawangan_lelong.lelong_id','cawangan_lelong.caw_id','caw_name','caw_code')
->where('lelongbid.lelong_id',$details['lelong_id'])
->distinct()
->orderBy('lelong_id')
->get()
->toArray();
// dd($detailsinfo);
foreach($detailsinfo as $index1=>$details1)
{
// dd($details1['caw_code']);
$listwinner = Payment::join('lelongbid', 'payment.kodcaw', '=', 'lelongbid.kodcaw')
->join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id')
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $details1['lelong_id'])
->where('payment.kodcaw', $details1['caw_code'])
->where('lelongbidder.status_payment', 2)
->where('payment.status', 2)
->whereNull('payment.disahkan_pada')
->orWhere(function ($query) {
$query->where('payment.status_payment_opt', 3)
->where('payment.status_payment_opt', 2);
})
->select('lelongbidder.user_id', 'payment.user_id')
->groupBy('lelongbidder.user_id', 'payment.user_id')
->get();
// dd($listwinner);
foreach($listwinner as $index=>$listwin)
{
$namawinner = User::where('id', $listwin['user_id'])
->first();
// dd($namawinner);
// $listwinner[$index]['namawinner'] = sizeof($namawinner);
$listwinner[$index]['nama'] = $namawinner['name'];
$listwinner[$index]['caw_code'] = $details1['caw_code'];
}
// dd($listwinner[$index]['nama']);
}
array_push($arrayinfoaccount,['detail'=>$details, 'detailsinfo'=>$detailsinfo, 'listwinner'=>$listwinner]);
}
//endpaparan untuk account page
return view('home',compact('lelongmutu', 'arrayinfomutu','arrayinfo','sag','semakCountArray','arrayinfomenang','arrayinfoaccount'));
}
public function about()
{
// $user = Auth::user();
// $user->assignRole('admin');
return view('about');
}
public function senarailelongubahmutu()
{
$arrayinfo = [];
$user = Auth::user();
// dd($user->kodcaw);
$lelong = pengesahan::join('lelong','lelong.id','=','pengesahan.lelong_id')
->whereIn('pengesahan.status_ubah', [1,2,3,4,5])
->select('pengesahan.lelong_id','lelong.id','lelong.tarikh_lelong','lelong.masatamat_lelong','lelong.harga_emas_asas','lelong.jbg','lelong.cajlelong','sts_lelong')
// ->groupBy('pengesahan.lelong_id')
->distinct()
->get()
->toArray();
dd($lelong);
foreach($lelong as $info)
{
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->where('lelong_id',$info['lelong_id'])
->get()
->toArray();
array_push($arrayinfo,['info'=>$info, 'detailsinfo'=>$detailsinfo]);
}
return view('home',compact('lelong', 'arrayinfo'));
}
public function editprofile()
{
// $user = Auth::user();
// $user->assignRole('admin');
return view('profil');
}
public function profileUpdate(Request $request){
//validation rules
$request->validate([
'name' =>'required|min:4|string|max:255',
'username' =>'required|min:4|string|max:255',
'email'=>'required|email|string|max:255'
]);
$user =Auth::user();
$user->name = $request['name'];
$user->email = $request['email'];
$user->save();
return back()->with('message','Profil Telah Kemaskini');
}
public function tukarkatalaluan()
{
// $user = Auth::user();
// $user->assignRole('admin');
return view('tukarkatalaluan');
}
public function tukarkatalaluanupdate(Request $request){
//validation rules
$request->validate([
'name' =>'required|min:4|string|max:255',
'username' =>'required|min:4|string|max:255',
'email'=>'required|email|string|max:255'
]);
$user =Auth::user();
$user->name = $request['name'];
$user->email = $request['email'];
$user->save();
return back()->with('message','Profil Telah Kemaskini');
}
public function showChangePasswordGet() {
return view('tukarkatalaluan');
}
public function changePasswordPost(Request $request) {
if (!(Hash::check($request->get('current-password'), Auth::user()->password))) {
// The passwords matches
return redirect()->back()->with("error","Katalaluan Lama Tidak Sama Dengan katalaluan.");
}
if(strcmp($request->get('current-password'), $request->get('new-password')) == 0){
// Current password and new password same
return redirect()->back()->with("error","Katalaluan Baru Tidak Boleh Sama Dengan Katalaluan Lama.");
}
$validatedData = $request->validate([
'current-password' => 'required',
'new-password' => 'required|string|min:8|confirmed',
]);
//Change Password
$user = Auth::user();
$user->password = bcrypt($request->get('new-password'));
$user->save();
return redirect()->back()->with("success","Katalaluan Berjaya Dikemaskini!");
}
}