Files
lelong/app/Http/Controllers/HomeController.php
T

876 lines
41 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Cawangan;
use App\Models\CawanganLelong;
use App\Models\Job;
use App\Models\Lelong;
use App\Models\LelongBid;
use App\Models\LelongBidder;
use App\Models\Payment;
use App\Models\Pengesahan;
use App\Models\User;
use DateTime;
use Hash;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
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::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
->where('lelong.tarikh_lelong', '=', $dateTime)
->select(
'lelong.fasa',
'lelong.id AS lelong_id',
'lelong.tarikh_lelong',
'lelong.masatamat_lelong',
'lelong.harga_emas_asas',
'lelong.jbg',
'lelong.cajlelong',
'lelong.sts_lelong'
)
->groupBy('cawangan_lelong.lelong_id')
->get()->toArray();
// dd($lelong);
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, 7, 8, 9, 10])
->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]);
}
$all_lelong = Lelong::select('id', 'tarikh_lelong')->where('sts_lelong', 0)->get()->keyBy('id');
foreach ($all_lelong as $data) {
$data->tarikh_lelong = DateTime::createFromFormat('Y-m-d', $data->tarikh_lelong);
$data->tarikh_lelong = $data->tarikh_lelong->format('d-m-Y');
}
if ($caw != null) { // staf cwgn
$sag = LelongBid::where('status_semak', 0) // belum disemak
->where('kodcaw', $caw['caw_code'])
->get();
$sag_by_lelong_id = $sag->groupBy('lelong_id');
foreach ($sag_by_lelong_id as $index => $lelong) {
if ($all_lelong[$index]);
$all_lelong[$index]['sag_belum_semak'] = $lelong->count();
}
} else { // operasi
$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', 'cawangan.caw_code', 'cawangan_lelong.export_data_sts')
->where('lelong_id', $details['lelong_id'])
->distinct()
->orderBy('lelong_id')
->get();
foreach ($detailsinfo as $index1 => $cal) {
$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', $details['lelong_id'])
->where('lelongbid.kodcaw', $cal['caw_code'])
->select('lelongbidder.user_id', 'lelongbid.lelong_id', 'lelongbid.kodcaw')
->groupBy('lelongbidder.user_id')
->get();
if ($listwinner) {
foreach ($listwinner as $index => $listing) {
$total_payment = 0;
$userdetails = User::where('id', $listing['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.nopembeli', $listing['user_id'])
->where('lelongbid.kodcaw', $listing['kodcaw'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $listing['lelong_id'])
->get();
foreach ($SAGWin as $index2 => $sag1) {
$detailspayment = null;
if ($sag1['payment_id'] != null) {
$detailspayment = Payment::where('id', $sag1['payment_id'])->first();
$total_payment = $total_payment + $detailspayment->total_payment;
} else {
$total_payment = '0.00';
}
}
$listwinner[$index]['details'] = $userdetails;
$listwinner[$index]['total_surat'] = count($SAGWin);
$listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index]['totalPay'] = $total_payment;
$listwinner[$index]['jenisbayaran'] = $detailspayment;
}
$detailsinfo[$index1]['nama'] = '';
$detailsinfo[$index1]['listwinner'] = $listwinner;
}
}
array_push($arrayinfomenang, ['detail' => $details, 'detailsinfo' => $detailsinfo, 'listwinner' => $listwinner]);
// 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) {
// dd($details['lelong_id']);
$detailsinfo = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
->select('cawangan_lelong.lelong_id', 'cawangan_lelong.caw_id', 'caw_name', 'cawangan.caw_code', 'cawangan_lelong.export_data_sts')
->where('lelong_id', $details['lelong_id'])
->distinct()
->orderBy('lelong_id')
->get();
// dd($detailsinfo);
foreach ($detailsinfo as $index1 => $details1) {
// dd($details1['caw_code']);
$listwinner = Payment::join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id')
->join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1)
->where('payment.lelong_id', $details1['lelong_id'])
->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')
->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();
$total_payment = 0;
$userdetails = User::where('id', $listwin['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.nopembeli', $listwin['user_id'])
->where('lelongbid.kodcaw', $listwin['kodcaw'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $listwin['lelong_id'])
->get();
foreach ($SAGWin as $index2 => $sag) {
// dd($detailspayment);
$detailspayment = null;
if ($sag['payment_id'] != null) {
$detailspayment = Payment::where('id', $sag['payment_id'])->first();
$total_payment = $total_payment + $detailspayment->total_payment;
// dd($total_payment);
} else {
$total_payment = '0.00';
}
$listwinner[$index]['jenisbayaran'] = $detailspayment;
}
// dd($namawinner);
// $listwinner[$index]['namawinner'] = sizeof($namawinner);
$listwinner[$index]['details'] = $userdetails;
$listwinner[$index]['nama'] = $userdetails['name'];
$listwinner[$index]['caw_code'] = $details1['caw_code'];
$listwinner[$index]['totalPay'] = $total_payment;
$detailsinfo[$index1]['nama'] = $userdetails;
}
// $detailsinfo[$index1]['nama'] = $namawinner['name'];
$detailsinfo[$index1]['listwinner'] = $listwinner;
// dd($listwinner[$index]['nama']);
}
$hasPendingOnline = collect($detailsinfo)->contains(function ($info) {
return isset($info['listwinner']) && count($info['listwinner']) > 0;
});
if ($hasPendingOnline) {
array_push($arrayinfoaccount, ['detail' => $details, 'detailsinfo' => $detailsinfo, 'listwinner' => $listwinner]);
}
}
$arrayinfoaccountcdm = [];
$listwinnercdm = [];
// $dateTimedummy = date('2022-12-14');
$senaraicdm = 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 ($senaraicdm as $detailscdm) {
// dd($details['lelong_id']);
$detailsinfocdm = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
->select('cawangan_lelong.lelong_id', 'cawangan_lelong.caw_id', 'caw_name', 'cawangan.caw_code', 'cawangan_lelong.export_data_sts')
->where('lelong_id', $detailscdm['lelong_id'])
->distinct()
->orderBy('lelong_id')
->get();
// dd($detailsinfo);
foreach ($detailsinfocdm as $index1 => $details1cdm) {
// dd($details1['caw_code']);
// Join via lelongbidder->lelongbid and filter payment.lelong_id so old
// unconfirmed CDM payments from other batches do not appear here.
$listwinnercdm = Payment::join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id')
->join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1)
->where('payment.lelong_id', $details1cdm['lelong_id'])
->where('lelongbid.lelong_id', $details1cdm['lelong_id'])
->where('payment.kodcaw', $details1cdm['caw_code'])
// ->where('lelongbidder.status_payment', 2)
->where('payment.status', 2)
->whereNull('payment.disahkan_pada')
->where('payment.status_payment_opt', 3)
// ->orWhere(function ($query) {
// $query->where('payment.status_payment_opt', 3);
// })
->select('lelongbidder.user_id', 'payment.user_id')
->groupBy('lelongbidder.user_id', 'payment.user_id')
->get();
// dd($listwinner);
foreach ($listwinnercdm as $index => $listwincdm) {
$namawinnercdm = User::where('id', $listwincdm['user_id'])
->first();
$total_paymentcdm = 0;
$userdetailscdm = User::where('id', $listwincdm['user_id'])->first();
$SAGWincdm = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.nopembeli', $listwincdm['user_id'])
->where('lelongbid.kodcaw', $listwincdm['kodcaw'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $listwincdm['lelong_id'])
->get();
foreach ($SAGWincdm as $index2 => $sagcdm) {
// dd($detailspayment);
$detailspaymentcdm = null;
if ($sagcdm['payment_id'] != null) {
$detailspaymentcdm = Payment::where('id', $sagcdm['payment_id'])->first();
$total_paymentcdm = $total_paymentcdm + $detailspaymentcdm->total_payment;
// dd($total_payment);
} else {
$total_paymentcdm = '0.00';
}
$listwinnercdm[$index]['jenisbayaran'] = $detailspaymentcdm;
}
// dd($namawinner);
// $listwinner[$index]['namawinner'] = sizeof($namawinner);
$listwinnercdm[$index]['details'] = $userdetailscdm;
$listwinnercdm[$index]['nama'] = $userdetailscdm['name'];
$listwinnercdm[$index]['caw_code'] = $details1cdm['caw_code'];
$listwinnercdm[$index]['totalPay'] = $total_paymentcdm;
$detailsinfocdm[$index1]['nama'] = $userdetailscdm;
}
// $detailsinfo[$index1]['nama'] = $namawinner['name'];
$detailsinfocdm[$index1]['listwinner'] = $listwinnercdm;
// dd($listwinner[$index]['nama']);
}
$hasPendingCdm = collect($detailsinfocdm)->contains(function ($info) {
return isset($info['listwinner']) && count($info['listwinner']) > 0;
});
if ($hasPendingCdm) {
array_push($arrayinfoaccountcdm, ['detailcdm' => $detailscdm, 'detailsinfocdm' => $detailsinfocdm, 'listwinnercdm' => $listwinnercdm]);
}
}
// endpaparan untuk account page
return view('home', compact('all_lelong', 'lelongmutu', 'arrayinfomutu', 'arrayinfo', 'sag', 'semakCountArray', 'arrayinfomenang', 'arrayinfoaccount', 'arrayinfoaccountcdm'));
}
public function index2()
{
$user = Auth::user();
$dateTime = date('Y-m-d');
if ($user->hasRole('ajk')) {
return view('homeajk');
} elseif ($user->hasRole('callcenter')) {
return view('homecallcenter');
} elseif ($user->hasRole('operasi-kpi')) {
return view('homeoperasikpi');
} elseif ($user->hasRole('hr')) {
return view('homehr');
} elseif ($user->hasRole('pemasaran')) {
return view('homepemasaran');
} elseif ($user->hasRole('admin')) {
return view('homeadmin');
} elseif ($user->hasRole('account')) {
$arrayinfoaccount = [];
$listwinner = [];
$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();
foreach ($senarai as $details) {
$detailsinfo = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
->select('cawangan_lelong.lelong_id', 'cawangan_lelong.caw_id', 'caw_name', 'cawangan.caw_code', 'cawangan_lelong.export_data_sts')
->where('lelong_id', $details['lelong_id'])
->distinct()
->orderBy('lelong_id')
->get();
foreach ($detailsinfo as $index1 => $details1) {
$listwinner = Payment::join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id')
->join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1)
->where('payment.lelong_id', $details1['lelong_id'])
->where('lelongbid.lelong_id', $details1['lelong_id'])
->where('payment.kodcaw', $details1['caw_code'])
->where('payment.status', 2)
->whereNull('payment.disahkan_pada')
->where('payment.status_payment_opt', 2)
->select('lelongbidder.user_id', 'payment.user_id')
->groupBy('lelongbidder.user_id', 'payment.user_id')
->get();
foreach ($listwinner as $index => $listwin) {
$namawinner = User::where('id', $listwin['user_id'])
->first();
$total_payment = 0;
$userdetails = User::where('id', $listwin['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.nopembeli', $listwin['user_id'])
->where('lelongbid.kodcaw', $listwin['kodcaw'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $listwin['lelong_id'])
->get();
foreach ($SAGWin as $index2 => $sag) {
$detailspayment = null;
if ($sag['payment_id'] != null) {
$detailspayment = Payment::where('id', $sag['payment_id'])->first();
$total_payment = $total_payment + $detailspayment->total_payment;
} else {
$total_payment = '0.00';
}
$listwinner[$index]['jenisbayaran'] = $detailspayment;
}
$listwinner[$index]['details'] = $userdetails;
$listwinner[$index]['nama'] = $userdetails['name'];
$listwinner[$index]['caw_code'] = $details1['caw_code'];
$listwinner[$index]['totalPay'] = $total_payment;
$detailsinfo[$index1]['nama'] = $userdetails;
}
$detailsinfo[$index1]['listwinner'] = $listwinner;
}
$hasPendingOnline = collect($detailsinfo)->contains(function ($info) {
return isset($info['listwinner']) && count($info['listwinner']) > 0;
});
if ($hasPendingOnline) {
array_push($arrayinfoaccount, ['detail' => $details, 'detailsinfo' => $detailsinfo, 'listwinner' => $listwinner]);
}
}
$arrayinfoaccountcdm = [];
$listwinnercdm = [];
$senaraicdm = 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();
foreach ($senaraicdm as $detailscdm) {
$detailsinfocdm = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
->select('cawangan_lelong.lelong_id', 'cawangan_lelong.caw_id', 'caw_name', 'cawangan.caw_code', 'cawangan_lelong.export_data_sts')
->where('lelong_id', $detailscdm['lelong_id'])
->distinct()
->orderBy('lelong_id')
->get();
foreach ($detailsinfocdm as $index1 => $details1cdm) {
// Join via lelongbidder->lelongbid and filter payment.lelong_id so old
// unconfirmed CDM payments from other batches do not appear here.
$listwinnercdm = Payment::join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id')
->join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1)
->where('payment.lelong_id', $details1cdm['lelong_id'])
->where('lelongbid.lelong_id', $details1cdm['lelong_id'])
->where('payment.kodcaw', $details1cdm['caw_code'])
->where('payment.status', 2)
->whereNull('payment.disahkan_pada')
->where('payment.status_payment_opt', 3)
->select('lelongbidder.user_id', 'payment.user_id')
->groupBy('lelongbidder.user_id', 'payment.user_id')
->get();
foreach ($listwinnercdm as $index => $listwincdm) {
$namawinnercdm = User::where('id', $listwincdm['user_id'])
->first();
$total_paymentcdm = 0;
$userdetailscdm = User::where('id', $listwincdm['user_id'])->first();
$SAGWincdm = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.nopembeli', $listwincdm['user_id'])
->where('lelongbid.kodcaw', $listwincdm['kodcaw'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $listwincdm['lelong_id'])
->get();
foreach ($SAGWincdm as $index2 => $sagcdm) {
$detailspaymentcdm = null;
if ($sagcdm['payment_id'] != null) {
$detailspaymentcdm = Payment::where('id', $sagcdm['payment_id'])->first();
$total_paymentcdm = $total_paymentcdm + $detailspaymentcdm->total_payment;
} else {
$total_paymentcdm = '0.00';
}
$listwinnercdm[$index]['jenisbayaran'] = $detailspaymentcdm;
}
$listwinnercdm[$index]['details'] = $userdetailscdm;
$listwinnercdm[$index]['nama'] = $userdetailscdm['name'];
$listwinnercdm[$index]['caw_code'] = $details1cdm['caw_code'];
$listwinnercdm[$index]['totalPay'] = $total_paymentcdm;
$detailsinfocdm[$index1]['nama'] = $userdetailscdm;
}
$detailsinfocdm[$index1]['listwinner'] = $listwinnercdm;
}
$hasPendingCdm = collect($detailsinfocdm)->contains(function ($info) {
return isset($info['listwinner']) && count($info['listwinner']) > 0;
});
if ($hasPendingCdm) {
array_push($arrayinfoaccountcdm, ['detailcdm' => $detailscdm, 'detailsinfocdm' => $detailsinfocdm, 'listwinnercdm' => $listwinnercdm]);
}
}
return view('homeaccount', compact('arrayinfoaccount', 'arrayinfoaccountcdm'));
}
$caw = Cawangan::where('caw_code', '=', $user->kodcaw)->first();
$all_lelong = Lelong::select('id', 'tarikh_lelong', 'fasa')->where('sts_lelong', 0)->get()->keyBy('id');
foreach ($all_lelong as $data) {
$data->tarikh_lelong = DateTime::createFromFormat('Y-m-d', $data->tarikh_lelong);
$data->tarikh_lelong = $data->tarikh_lelong->format('d-m-Y');
}
if ($caw != null) {
$sag = LelongBid::where('status_semak', 0)
->where('kodcaw', $caw['caw_code'])
->get();
$sag_by_lelong_id = $sag->groupBy('lelong_id');
foreach ($sag_by_lelong_id as $index => $lelong) {
if ($all_lelong[$index]);
$all_lelong[$index]['sag_belum_semak'] = $lelong->count();
$all_lelong[$index]['total_pjm'] = $lelong->sum('pinjaman');
}
} else {
$sag = Lelong::select('id', 'tarikh_lelong', 'fasa')
->withCount('lelongBidBelumSemak')
->withSum('lelongBidBelumSemak as total_pjm', 'pinjaman')
->where('sts_lelong', 0)
->orderBy('tarikh_lelong', 'ASC')
->orderBy('fasa', 'DESC')
->get();
foreach ($sag as $index => $data) {
$data->tarikh_lelong = DateTime::createFromFormat('Y-m-d', $data->tarikh_lelong);
$data->tarikh_lelong = $data->tarikh_lelong->format('d-m-Y');
}
}
if ($user->hasAnyRole('operasi', 'pengurus-operasi')) {
$arrayinfo = [];
$lelong = Lelong::where('lelong.tarikh_lelong', '=', $dateTime)
->select(
'fasa',
'id',
'tarikh_lelong',
'masatamat_lelong',
'harga_emas_asas',
'jbg',
'cajlelong',
'sts_lelong'
)
->withCount('lelongBidBelumSemak')
->get();
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['id'])
->get()
->toArray();
foreach ($detailsinfo as $index50 => $det) {
$cawsemak = LelongBid::where('status_semak', 0)
->where('lelong_id', $det['lelong_id'])
->where('caw_id', $det['caw_id'])
->count();
$detailsinfo[$index50]['belum_semak'] = $cawsemak;
}
array_push($arrayinfo, ['info' => $info, 'detailsinfo' => $detailsinfo]);
}
$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();
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', 'cawangan.caw_code', 'cawangan_lelong.export_data_sts')
->where('lelong_id', $details['lelong_id'])
->distinct()
->orderBy('lelong_id')
->get();
foreach ($detailsinfo as $index1 => $cal) {
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $details['lelong_id'])
->where('lelongbid.kodcaw', $cal['caw_code'])
->select('lelongbidder.user_id', 'lelongbid.lelong_id', 'lelongbid.kodcaw')
->groupBy('lelongbidder.user_id')
->get();
if ($listwinner) {
foreach ($listwinner as $index => $listing) {
$total_payment = 0;
$userdetails = User::where('id', $listing['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.nopembeli', $listing['user_id'])
->where('lelongbid.kodcaw', $listing['kodcaw'])
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $listing['lelong_id'])
->get();
foreach ($SAGWin as $index2 => $sag1) {
$detailspayment = null;
if ($sag1['payment_id'] != null) {
$detailspayment = Payment::where('id', $sag1['payment_id'])->first();
$total_payment = $total_payment + $detailspayment->total_payment;
} else {
$total_payment = '0.00';
}
}
$listwinner[$index]['details'] = $userdetails;
$listwinner[$index]['total_surat'] = count($SAGWin);
$listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index]['totalPay'] = $total_payment;
$listwinner[$index]['jenisbayaran'] = $detailspayment;
}
$detailsinfo[$index1]['nama'] = '';
$detailsinfo[$index1]['listwinner'] = $listwinner;
}
}
array_push($arrayinfomenang, ['detail' => $details, 'detailsinfo' => $detailsinfo, 'listwinner' => $listwinner]);
}
return view('homeoperasi', compact('sag', 'arrayinfomenang', 'arrayinfo'));
} elseif ($user->hasAnyRole('pengurus-cawangan', 'khazanah', 'penilai', 'pengurus-cawangan-khas')) {
$arrayinfomutu = [];
$lelongmutu = pengesahan::join('lelong', 'lelong.id', '=', 'pengesahan.lelong_id')
->join('lelongbid', 'lelongbid.norujukan', '=', 'pengesahan.norujukan')
->where('lelongbid.kodcaw', $user->kodcaw)
->whereIn('pengesahan.status_ubah', [1, 2, 3, 4, 5, 7, 8, 9, 10])
->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')
->distinct()
->get()
->toArray();
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]);
}
return view('homecawangan', compact('all_lelong', 'arrayinfomutu'));
} else {
Auth::logout();
return redirect()->route('login')->with(
'failed',
'Akaun ini tiada peranan (role) yang sah. Sila hubungi admin untuk tetapkan role.'
);
}
}
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();
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!');
}
public function reloadJobDetail()
{
$jobs = Job::select('payload', 'attempts')->get();
if ($jobs->isNotEmpty()) {
$job_collect_alter = collect();
foreach ($jobs as $job) {
$job_convert = json_decode($job->payload)->data;
$job_to_be_added = collect();
$job_to_be_added['command_name'] = $job_convert->commandName;
$job_to_be_added['command'] = unserialize($job_convert->command);
$job_to_be_added['user_id'] = $job_to_be_added['command']->user_id;
$job_to_be_added['user_kodcaw'] = $job_to_be_added['command']->user_kodcaw;
$job_to_be_added['attempts'] = $job->attempts;
$job_collect_alter->push($job_to_be_added);
}
$user_job_request = $job_collect_alter->pluck('user_id')->unique();
$users = User::whereIn('id', $user_job_request)->select('id', 'name')->get();
$users_keyBy_id = $users->keyBy('id');
foreach ($job_collect_alter as $index => $job) {
if ($users_keyBy_id[$job['user_id']]) {
$user_true = $users_keyBy_id[$job['user_id']];
$job_collect_alter[$index]['user_name'] = $user_true->name;
}
}
return response()->json($job_collect_alter);
}
}
}