358 lines
12 KiB
PHP
358 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 = [];
|
|
$listwinnermenang = [];
|
|
|
|
$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 = [];
|
|
$listwinner = [];
|
|
// $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!");
|
|
}
|
|
|
|
}
|