update 13062022

This commit is contained in:
Nur Izzati Zulkifli
2022-06-13 17:12:42 +08:00
parent f839ed7fe4
commit e38aae6640
18 changed files with 1104 additions and 83 deletions
+603 -3
View File
@@ -7,6 +7,7 @@ use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Illuminate\Support\Facades\Auth;
use PDF;
use App\Models\User;
use App\Models\Cawangan;
@@ -20,7 +21,7 @@ use App\Models\SimulasiBidMarhun;
use App\Models\SimKarat;
use App\Models\SimKarat_temp;
use App\Models\CawanganSimulasi;
use App\Models\Cart;
use App\Models\Lelong;
use App\Models\CawanganLelong;
@@ -32,6 +33,7 @@ use App\Models\LelKarat_temp;
use App\Models\Resit;
use Carbon\Carbon;
class LelongController extends Controller
{
/**
@@ -395,6 +397,9 @@ class LelongController extends Controller
$updategadai = Gadai::where('norujukan','=', $data->norujukan)->first();
$updategadai->taglel = 1;
$updategadai->save();
// $hapussimulasi = SimulasiBid::where('norujukan','=',$data->norujukan)->first();
// $hapussimulasi->delete();
}
$simulasibidmarhun = SimulasiBidMarhun::where('simulasibid_id','=',$data->id)->get();
@@ -418,6 +423,17 @@ class LelongController extends Controller
$lelongbidmarhun->save();
}
if($lelongbidmarhun->save())
{
// $updategadai = Gadai::where('norujukan','=', $data->norujukan)->first();
// $updategadai->taglel = 1;
// $updategadai->save();
$hapussimulasi = SimulasiBid::where('norujukan','=',$data->norujukan)->first();
$hapussimulasi->delete();
}
}
}
}
@@ -868,6 +884,7 @@ class LelongController extends Controller
$listwinner[$index1]['details'] = $userdetails;
$listwinner[$index1]['total_surat'] = sizeof($SAGWin);
$listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index1]['lelong_id'] = $lelong_id;
}
return view('lelong.senaraipemenang',compact('listwinner','lelong_id'));
@@ -903,6 +920,8 @@ class LelongController extends Controller
'lelongbid.berat',
'lelongbid.nilaimarhun',
'lelongbid.hargaasas',
'lelongbid.hargajual',
'lelongbid.t_jual',
'lelongbid.upahsimpan',
'lelongbid.cajlelong',
'lelongbid.baki',
@@ -959,6 +978,283 @@ class LelongController extends Controller
->with('success','Delete Berjaya');
}
public function showsimulasi($id)
{
$lelong_id = $id;
$lelong = Lelong::where('id','=',$id)->first();
$cawanganlel = CawanganLelong::where('lelong_id','=',$id)->get();
$lelkarat = LelKarat::where('lelong_id','=',$id)->get();
$jeniskarat = JenisKarat::all();
$arraydata = [];
$arraycaw = [];
$data = [];
$total_marhun = 0;
$total_berat = 0;
$total_nmarhun = 0;
$total_pinjaman = 0;
$total_upah = 0;
$total_hargaasas = 0;
$total_cazlelong = 0;
$total_rugilelong = 0;
$total_bakilelong = 0;
$total24Kgb = 0;
$total24K = 0;
$total23k = 0;
$total22K = 0;
$total21K = 0;
$total20K = 0;
$total18Kp = 0;
$total18K = 0;
$total14Kp = 0;
$total14K = 0;
$total9K = 0;
$keuntungan = 0;
$total_upahkeuntungan = 0;
$total_upahkeuntungan2 = 0;
$total_nilaimarhun = 0;
$nilai_marhun = 0;
$totalkeuntungan2 = 0;
foreach($cawanganlel as $cawlel)
{
$cawangan = Cawangan::where('id','=',$cawlel->caw_id)->first();
$databid = LelongBid::join('gadai','lelongbid.norujukan','=','gadai.norujukan')
->select('lelongbid.t_lelong','lelongbid.bakiupah','lelongbid.hargaasas','lelongbid.id','lelongbid.berat','lelongbid.marhun','lelongbid.cajlelong','lelongbid.baki','lelongbid.nilaimarhun','lelongbid.pinjaman','lelongbid.hargaasas','lelongbid.cajlelong','gadai.bakipjm','gadai.bakihargajualan','gadai.upah12','gadai.ansakhir','gadai.tempoh','gadai.kadarupah','gadai.tempohbayar')
->where('caw_id','=',$cawlel->caw_id)->where('lelong_id','=',$id)->get();
// dd($databid->toArray());
$packet = 0;
$berat = 0;
$pinjaman =0;
$nilai_marhun = 0;
$upah = 0;
$hargaasas = 0;
$cajlelong = 0;
$rugilelong = 0;
$bakilelong = 0;
$cajlelong = 0;
$totalkeuntungan = 0;
foreach($databid as $index1=>$bid)
{
$marhun = LelongBidMarhun::where('lelongbid_id','=',$bid['id'])->get();
$berat = $berat + $bid['berat'];
$nilai_marhun = $nilai_marhun + $bid['nilaimarhun'];
$pinjaman =$pinjaman + $bid['pinjaman'];
// $upah = $upah + $bid['upah'];
$hargaasas = $hargaasas + $bid['hargaasas'];
$cajlelong = $cajlelong + $bid['cajlelong'];
$keuntungan = $bid['bakipjm'] - ($bid['bakihargajualan'] - ($bid['upah12'] - $bid['ansakhir'])-(($bid['tempoh']-$bid['tempohbayar'])*$bid['kadarupah']/100*$bid['bakipjm']) );
$databid[$index1]['keuntungan'] = $keuntungan;
$total_upahkeuntungan = bcdiv($total_upahkeuntungan,1,1) + bcdiv($keuntungan,1,1);
$totalkeuntungan = $totalkeuntungan + $bid['bakiupah'];
$lelongsim = Lelong::where('id',$id)->get();
$sumcajlelong = $bid['hargaasas'] * ($lelongsim[0]['cajlelong']/100);
$cajlelong = $cajlelong + bcdiv($sumcajlelong,1,1);
$totalbaki = $bid['hargaasas'] - $bid['pinjaman'] - bcdiv($keuntungan,1,1) - bcdiv($sumcajlelong,1,1);
if($totalbaki > 0)
{
$bakilelong = $bakilelong + $totalbaki;
}
else
{
$rugilelong = $rugilelong - $totalbaki;
}
$total24Kgb += LelongBidMarhun::where('lelongbid_id','=',$bid['id'])
->where('karat','=','24.0Kgb')
->sum('berat');
$total24K += LelongBidMarhun::where('lelongbid_id','=',$bid['id'])
->where('karat','=','24.0K')
->sum('berat');
$total23k += LelongBidMarhun::where('lelongbid_id','=',$bid['id'])
->where('karat','=','23.0K')
->sum('berat');
$total22K += LelongBidMarhun::where('lelongbid_id','=',$bid['id'])
->where('karat','=','22.0K')
->sum('berat');
$total21K += LelongBidMarhun::where('lelongbid_id','=',$bid['id'])
->where('karat','=','21.0K')
->sum('berat');
$total20K += LelongBidMarhun::where('lelongbid_id','=',$bid['id'])
->where('karat','=','20.0K')
->sum('berat');
$total18Kp += LelongBidMarhun::where('lelongbid_id','=',$bid['id'])
->where('karat','=','18.0Kp')
->sum('berat');
$total18K += LelongBidMarhun::where('lelongbid_id','=',$bid['id'])
->where('karat','=','18.0K')
->sum('berat');
$total14Kp += LelongBidMarhun::where('lelongbid_id','=',$bid['id'])
->where('karat','=','14.0Kp')
->sum('berat');
$total14K += LelongBidMarhun::where('lelongbid_id','=',$bid['id'])
->where('karat','=','14.0K')
->sum('berat');
$total9K += LelongBidMarhun::where('lelongbid_id','=',$bid['id'])
->where('karat','=','9.0K')
->sum('berat');
}
array_push($arraycaw,[
'id_cawangan'=> $cawangan['id'],
'cawangan'=>$cawangan['caw_name'],
't_lelong'=>$lelong['tarikh_lelong'],
'bil_marhun'=>sizeof($databid),
'berat'=>$berat,
'n_marhun'=>$nilai_marhun,
'pinjaman'=>$pinjaman,
'upahsimpan'=>bcdiv($total_upahkeuntungan,1,1),
'bakiupah'=>$totalkeuntungan,
'hargaasas'=>$hargaasas,
'cajlelong'=>$cajlelong,
'rugilelong'=>$rugilelong,
'bakilelong'=>$bakilelong,
]);
$total_upahkeuntungan2 = $total_upahkeuntungan2 + $total_upahkeuntungan;
$total_marhun = $total_marhun + sizeof($databid);
$total_berat = $total_berat + $berat;
$total_pinjaman = $total_pinjaman + $pinjaman;
$total_upah = $total_upah + 0;
$total_hargaasas = $total_hargaasas + $hargaasas;
$total_cazlelong = $total_cazlelong + $cajlelong;
$total_rugilelong = $total_rugilelong + $rugilelong;
$total_bakilelong = $total_bakilelong + $bakilelong;
$total_nilaimarhun = $total_nilaimarhun + $nilai_marhun;
$totalkeuntungan2 = $totalkeuntungan2 + $totalkeuntungan;
$data = Lelong::where('lelong.id','=',$lelong_id)
->get();
}
return view('lelong.showsimulasi',compact(
'arraycaw',
'total_marhun',
'total_berat',
'total_nmarhun',
'total_pinjaman',
'total_upah',
'total_hargaasas',
'total_cazlelong',
'total_rugilelong',
'total_bakilelong',
'total24Kgb',
'total24K',
'total23k',
'total22K',
'total21K',
'total20K',
'total18Kp',
'total18K',
'total14Kp',
'total14K',
'total9K',
'lelkarat',
'lelong_id',
'jeniskarat',
'data',
'keuntungan',
'total_upahkeuntungan',
'total_nilaimarhun',
'total_upahkeuntungan2',
'totalkeuntungan2'));
}
public function senaraimarhunsimulasi($lelongid, $cawid){
// $marhun = LelongBid::->get();
$keuntungan = 0;
$marhuns = LelongBid::join('cawangan', 'lelongbid.caw_id', '=', 'cawangan.id')
->join('gadai','lelongbid.norujukan','=','gadai.norujukan')
->where('lelong_id','=',$lelongid)->where('caw_id','=',$cawid)
->select(
'lelongbid.t_lelong',
'lelongbid.kodcaw',
'cawangan.caw_name',
'lelongbid.norujukan',
'lelongbid.pinjaman',
'lelongbid.berat',
'lelongbid.nilaimarhun',
'lelongbid.hargaasas',
'lelongbid.upahsimpan',
'lelongbid.cajlelong',
'lelongbid.baki',
'lelongbid.bakiupah',
'lelongbid.status_jual',
'lelongbid.jbg',
'gadai.bakipjm',
'gadai.bakihargajualan',
'gadai.upah12',
'gadai.ansakhir',
'gadai.tempoh',
'gadai.tempohbayar',
'gadai.kadarupah'
)
->get()->toArray();
foreach ($marhuns as $index1=> $cal) {
$keuntungan = $cal['bakipjm'] - ($cal['bakihargajualan'] - ($cal['upah12'] - $cal['ansakhir'])-(($cal['tempoh']-$cal['tempohbayar'])*$cal['kadarupah']/100*$cal['bakipjm']) );
$marhuns[$index1]['keuntungan'] = bcdiv($keuntungan,1,1);
$simulasilel = Lelong::where('id',$lelongid)->get();
$sumcajlelong = $cal['hargaasas'] * ($simulasilel[0]['cajlelong']/100);
$totalbaki = $cal['hargaasas'] - $cal['pinjaman'] - bcdiv($keuntungan,1,1) - bcdiv($sumcajlelong,1,1);
$marhuns[$index1]['cajlelong'] = bcdiv($sumcajlelong,1,1);
$marhuns[$index1]['baki'] = $totalbaki;
}
$arrayinfo = [];
$lelong_id = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id')
->where('cawangan_lelong.lelong_id','=',$lelongid)
->select('lelong_id','tarikh_lelong')
->groupBy('lelong_id')
->get()->toArray();
foreach($lelong_id as $laporan)
{
$details = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->where('lelong_id',$laporan['lelong_id'])
->where('caw_id',$cawid)
->get()
->toArray();
array_push($arrayinfo,['laporan' => $laporan,'details' => $details]);
}
return view('lelong.senaraimarhunsimulasi',compact('marhuns','lelongid','cawid','arrayinfo'));
}
public function refreshhome($id)
{
$date = Carbon::now()->toDateTimeString();
@@ -1030,6 +1326,7 @@ class LelongController extends Controller
$cawlelong = CawanganLelong::where('lelong_id','=',$id)->get();
foreach($cawlelong as $cawlel) //save old harga asas
{
$cawlel->masamula_lelong = $currenttime;
$cawlel->masatamat_lelong = $endtime->toTimeString();
$cawlel->status_online = 1; //start lelong
$cawlel->save();
@@ -1048,7 +1345,7 @@ class LelongController extends Controller
$lelong = Lelong::where('id','=',$id)->first();
$lelong->masatamat_lelong = $currenttime;
$lelong->sts_lelong = 0; //stop lelong
$lelong->sts_lelong = 2; //stop lelong
$lelong->save();
$cawlelong = CawanganLelong::where('lelong_id','=',$id)->get();
@@ -1058,6 +1355,8 @@ class LelongController extends Controller
$cawlel->status_online = 0; //start lelong
$cawlel->save();
}
$hapuscart = Cart::truncate();
return redirect()->route('home')
@@ -1069,7 +1368,7 @@ class LelongController extends Controller
{
$arrayinfo = [];
$lelong = Lelong::where('sts_lelong', 0)
$lelong = Lelong::where('sts_lelong', 2)
->get()->toArray();
foreach($lelong as $details)
@@ -1085,6 +1384,307 @@ class LelongController extends Controller
return view('jurulelong.listcawangan',compact('lelong', 'arrayinfo'));
}
public function janapemenangbycaw($lelong_id,$cawid){
$current = Carbon::now();
$current = new Carbon();
$currentdate = $current->toDateString();
$day = $current->day;
$month = $current->month;
$year = $current->format('y');
$lelong = Lelong::where('id','=',$lelong_id)->first();
$lelongbid = LelongBid::join('cawangan','cawangan.caw_code','=','lelongbid.kodcaw')
->where('lelong_id','=',$lelong_id)
->where('cawangan.id','=',$cawid)
->select('lelongbid.id')
->get();
//dd($lelongbid);
foreach($lelongbid as $bid)
{
$highestprice = LelongBidder::join('lelongbid','lelongbid.id','=','lelongbidder.lelongbid_id')
->join('cawangan','cawangan.caw_code','=','lelongbid.kodcaw')
->where('lelongbid_id','=',$bid->id)
->orderBy('lelongbidder.hargabida','DESC' )
->first();
// dd($bid->id);
if($highestprice)
{
// foreach($highestprice as $price){
$bidders = LelongBidder::join('lelongbid','lelongbid.id','=','lelongbidder.lelongbid_id')
->where('lelongbid_id','=',$bid->id)
->where('hargabida','=',$highestprice->hargabida)->orderBy('masa_bidaan','ASC' )
->select('lelongbidder.user_id','lelongbidder.id','lelongbidder.hargabida','lelongbid.pinjaman','lelongbid.bakiupah')
->get();
// dd($lelong[0]['cajlelong']);
$count = 0;
foreach($bidders as $bidder)
{
// dd($bidder->bakiupah);
$count = $count + 1;
if($count == 1)
{
$sumhargabida = LelongBidder::join('lelongbid','lelongbid.id','=','lelongbidder.lelongbid_id')
->where('lelongbidder.user_id','=',$bidder->user_id)
->where('lelongbid.lelong_id','=',$lelong_id)
->where('lelongbid.caw_id','=',$cawid)
->where('lelongbidder.hargabida','=',$highestprice->hargabida)->orderBy('masa_bidaan','ASC' )
->raw("SUM(hargabida) as hargabida")
->get();
// dd($bidder->user_id);
// dd($bidder->id);
$pemenang = LelongBidder::where('id','=',$bidder->id)->first();
$pemenang->status_bidder = 1;
$pemenang->save();
$datalelong = Lelong::where('id',$lelong_id)->get();
$sumcajlelong = $bidder->hargabida * ($datalelong[0]['cajlelong']/100);
$totalbaki = $bidder->hargabida - $bidder->pinjaman - bcdiv($bidder->bakiupah,1,1) - bcdiv($sumcajlelong,1,1);
$updatebid = LelongBid::where('id','=',$bid->id)->first();
// dd($totalbaki);
$updatebid->hargajual = $bidder->hargabida;
$updatebid->t_jual = $currentdate;
$updatebid->cajlelong = bcdiv($sumcajlelong,1,1);
$updatebid->baki = $totalbaki;
$updatebid->nopembeli = $bidder->user_id;
$updatebid->status_jual = 1;
$updatebid->save();
$previous_siri = Resit::orderBy('id','desc')->first();
$checkdata = Resit::where('user_id', $bidder->user_id)
->where('lelong_id', $lelong_id)
->where('resit_type', 2)
->first();
if(!$checkdata){
if($previous_siri){
$nosiri = $previous_siri->id + 1;
}else{
$nosiri = 1;
}
$reference_no = 'LPKB' . $day . $month . $year . sprintf("%08d", $nosiri);
$resit = new Resit;
$resit->user_id = $bidder->user_id;
$resit->lelong_id = $lelong_id;
$resit->reference_no = $reference_no;
$resit->billplz_id = '';
$resit->total_payment = $sumhargabida->sum('hargabida');
dd($sumhargabida->sum('hargabida'));
$resit->resit_type = 2; // 1 = fee , 2 = bid
$resit->save();
}
}
else
{
$kalah = LelongBidder::where('id','=',$bidder->id)
->first();
$kalah->status_bidder = 2;
$kalah->save();
}
}
// }
}
else
{ //xlaku
}
}
$lelong->sts_lelong = 3; //siap jana pemenang
$lelong->save();
return redirect()->route('lelong.senarailelong')
->with('success','Selesai menjana pemenang');
}
public function listpemenang()
{
$arrayinfo = [];
$lelong = Lelong::where('sts_lelong', 3)
->get()->toArray();
foreach($lelong as $details)
{
$detailsinfo = CawanganLelong::select('cawangan_lelong.caw_id','caw_name','lelongbid.status_jual')
->join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->join('lelongbid','lelongbid.kodcaw','=','cawangan.caw_code')
->where('lelongbid.status_jual', '1')
->where('cawangan_lelong.lelong_id', $details['id'])
->distinct()
->get()
->toArray();
// dd($detailsinfo);
array_push($arrayinfo,['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
//dd($detailsinfo);
}
return view('jurulelong.listpemenang',compact('lelong', 'arrayinfo'));
}
public function listpemenangbycaw($lelong_id,$caw_id)
{
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->join('cawangan', 'lelongbid.kodcaw', '=', 'cawangan.caw_code')
->where('lelongbidder.status_bidder', 1)
->where('cawangan.id', $caw_id)
->where('lelongbid.lelong_id', $lelong_id)
->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')
->join('cawangan', 'lelongbid.kodcaw', '=', 'cawangan.caw_code')
->where('user_id', $winner['user_id'])
->where('cawangan.id', $caw_id)
->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id)
->get();
$listwinner[$index1]['details'] = $userdetails;
$listwinner[$index1]['total_surat'] = sizeof($SAGWin);
$listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index1]['lelong_id'] = $lelong_id;
$getnamacaw = LelongBid::join('cawangan', 'lelongbid.kodcaw', '=', 'cawangan.caw_code')
->where('lelong_id', $lelong_id)
->where('cawangan.id', $caw_id)
->select('cawangan.caw_name')
->first();
$tangguhlelong[$index1]['nama_caw'] = $getnamacaw;
}
return view('jurulelong.senaraipemenangbycaw',compact('listwinner','lelong_id','getnamacaw'));
}
public function janapemenangallcaw($lelong_id){
$current = Carbon::now();
$current = new Carbon();
$currentdate = $current->toDateString();
$day = $current->day;
$month = $current->month;
$year = $current->format('y');
$lelong = Lelong::where('id','=',$lelong_id)->first();
$lelongbid = LelongBid::where('lelong_id','=',$lelong_id)->get();
foreach($lelongbid as $bid)
{
$highestprice = LelongBidder::where('lelongbid_id','=',$bid->id)->orderBy('lelongbidder.hargabida','DESC' )->first();
// dd($highestprice->hargabida);
if($highestprice)
{
// foreach($highestprice as $price){
// $bidders = LelongBidder::where('lelongbid_id','=',$bid->id)->where('hargabida','=',$highestprice->hargabida)->orderBy('masa_bidaan','ASC' )->get();
$bidders = LelongBidder::join('lelongbid','lelongbid.id','=','lelongbidder.lelongbid_id')
->where('lelongbid_id','=',$bid->id)
->where('hargabida','=',$highestprice->hargabida)->orderBy('masa_bidaan','ASC' )
->select('lelongbidder.user_id','lelongbidder.id','lelongbidder.hargabida','lelongbid.pinjaman','lelongbid.bakiupah')
->get();
// dd($bidders);
$count = 0;
foreach($bidders as $bidder)
{
$count = $count + 1;
if($count == 1)
{
$pemenang = LelongBidder::where('id','=',$bidder->id)
->first();
$pemenang->status_bidder = 1;
$pemenang->save();
// $updatebid = LelongBid::where('id','=',$bid->id)->first();
// // dd($updatebid);
// $updatebid->hargajual = $bidder->hargabida;
// $updatebid->nopembeli = $bidder->user_id;
// $updatebid->status_jual = 1;
// $updatebid->save();
$datalelong = Lelong::where('id',$lelong_id)->get();
$sumcajlelong = $bidder->hargabida * ($datalelong[0]['cajlelong']/100);
// dd($bidder->pinjaman);
$totalbaki = $bidder->hargabida - $bidder->pinjaman - bcdiv($bidder->bakiupah,1,1) - bcdiv($sumcajlelong,1,1);
$updatebid = LelongBid::where('id','=',$bid->id)->first();
// dd($totalbaki);
$updatebid->hargajual = $bidder->hargabida;
$updatebid->t_jual = $currentdate;
$updatebid->cajlelong = bcdiv($sumcajlelong,1,1);
$updatebid->baki = $totalbaki;
$updatebid->nopembeli = $bidder->user_id;
$updatebid->status_jual = 1;
$updatebid->save();
$previous_siri = Resit::orderBy('id','desc')->first();
$checkdata = Resit::where('user_id', $bidder->user_id)
->where('lelong_id', $lelong_id)
->where('resit_type', 2)
->first();
if(!$checkdata){
if($previous_siri){
$nosiri = $previous_siri->id + 1;
}else{
$nosiri = 1;
}
$reference_no = 'LPKB' . $day . $month . $year . sprintf("%08d", $nosiri);;
$resit = new Resit;
$resit->user_id = $bidder->user_id;
$resit->lelong_id = $lelong_id;
$resit->reference_no = $reference_no;
$resit->billplz_id = '';
$resit->total_payment = '0.00';
$resit->resit_type = 2; // 1 = fee , 2 = bid
$resit->save();
}
}
else
{
$kalah = LelongBidder::where('id','=',$bidder->id)
->first();
$kalah->status_bidder = 0;
$kalah->save();
}
}
// }
}
else
{ //xlaku
}
}
$lelong->sts_lelong = 3; //siap jana pemenang
$lelong->save();
return redirect()->route('lelong.senarailelong')
->with('success','Selesai menjana pemenang');
}