Files
lelong/app/Http/Controllers/SimulasiController.php
T
2022-07-07 12:01:07 +08:00

1265 lines
53 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 Carbon\Carbon;
use App\Models\User;
use PDF;
use App\Models\Cawangan;
use App\Models\Gadai;
use App\Models\GadaiMarhun;
use App\Models\Simulasi;
use App\Models\SimulasiBid;
use App\Models\SimulasiBidMarhun;
use App\Models\SimKarat;
use App\Models\SimKarat_temp;
use App\Models\CawanganSimulasi;
use App\Models\JenisEmas;
use App\Models\JenisKarat;
use App\Models\Lelong;
use App\Models\CawanganLelong;
use App\Models\LelongBid;
use App\Models\LelongBidMarhun;
use App\Models\LelKarat;
use App\Models\LogUser;
use App\Models\LelongTebus;
use App\Models\Tetapan;
use App\Models\Customer;
use App\Models\TransaksiKeuntungan;
class SimulasiController 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()
{
$caw = Cawangan::all();
$tetapan = Tetapan::where('id','=',1)->first();
return view('simulasi.janasimulasi',compact('caw','tetapan'));
}
public function janadata(Request $request)
{
//dd($request->all());
$t_lelong = Carbon::parse($request->tarikh_lelong);
$bulan = (int)round($request->jbg);
$fasa = $request->fasa;
$jbg = $request->jbg;
$kali = $request->kali;
// dd($fasa);
// dd($fasa);
//create simulasi
// $simulasi_id = $simulasi->id;
$jbgadai = ($t_lelong->subMonths($bulan))->toDateString();
if($request->fasa == '1'){
$surat = Gadai::where('t_gadai','<=',$jbgadai)
->where('sttebus','=','')
->where('tagpalsu','=',0)
->where('tagpalsu2','=',0)
->where('taglel','=',0)
->where('lelong_tawarruq','=',1)
->select('kodcaw','norujukan','t_lelong','tempoh','kadarupah','upahSim','ansuran','nilaimarhun','pinjaman','bakiupah','cajlain',
'berat','marhun','percentpinj','bakipjm')
->get();
}
else if($request->fasa == '2'){
$surat = Gadai::where('t_gadai','<=',$jbgadai)
->where('sttebus','=','')
->where('tagpalsu','=',0)
->where('tagpalsu2','=',0)
->where('taglel','=',0)
->select('kodcaw','norujukan','t_lelong','tempoh','kadarupah','upahSim','ansuran','nilaimarhun','pinjaman','bakiupah','cajlain',
'berat','marhun','percentpinj','bakipjm')
->get();
}
// dd($jbg);
if(sizeof($surat) == 0)
{
return redirect()->route('analisa.janasimulasi')
->with('failed','Tiada surat untuk di lelong');
}
$simulasi = new Simulasi;
$simulasi->tarikh_lelong = $request->tarikh_lelong;
$simulasi->harga_emas_asas = $request->hargaasas;
$simulasi->jbg = $request->jbg;
$simulasi->cajlelong = $request->cajlelong;
$simulasi->fasa = $request->fasa;
$simulasi->kali = $request->kali;
$simulasi->save();
$cawangan = Cawangan::all();
//create harga asas berdasarkan input harga asas
$karat = JenisKarat::all();
$hargaasas = $request->hargaasas; //rial
foreach($karat as $item)
{
$simkarat = new SimKarat;
$simkarat->simulasi_id = $simulasi->id;
$simkarat->karat = $item->karat;
$simkarat->keterangan = $item->keterangan;
$simkarat->harga = ($hargaasas + ($item->dariharga916)); //gram
$simkarat->harga2 = $hargaasas + ($item->dariharga916); //rial
$simkarat->save();
}
//$fasa = $request->fasa;
// join cawangan yang terlibat dengan simulasi
if($request->caw && $request->caw != 'all')
{
//dd($request->caw);
$caw = Cawangan::whereIn('caw_code',$request->caw)->get();
// dd($caw);
foreach($caw as $index=>$cawsimulasi){
// dd($cawsimulasi->id);
$caw_simulasi = new CawanganSimulasi;
$caw_simulasi->simulasi_id = $simulasi->id;
$caw_simulasi->caw_id = $cawsimulasi->id;
$caw_simulasi->online = 'Online';
$caw_simulasi->lokasi = $cawsimulasi->lokasi;
$caw_simulasi->fasa = $request->fasa;
$caw_simulasi->kali = $request->kali;
$caw_simulasi->save();
// dd($caw_simulasi);
// $cawangan = Cawangan::whereIn('caw_code',$request->caw)->get();
// $cawangan->kali = $request->kali;
// $cawangan->update();
$suratcaw = $surat->where('kodcaw','=',$cawsimulasi->caw_code)->all();
// $simulasibid = SimulasiBid::where('caw_id','=',$caw->id)->get();
foreach(array_chunk($suratcaw,100) as $data_chunk)
{
// dd($data_chunk);
foreach($data_chunk as $data)
{
$simulasibid = SimulasiBid::create([
"simulasi_id" => $simulasi->id,
"caw_id" => $cawsimulasi->id,
"kodcaw" => $data->kodcaw,
"norujukan" => $data->norujukan,
"t_lelong" => $request->tarikh_lelong,
"hargaasas" => 0.00,
"hargajual" => 0.00,
"jbg" => $data->tempoh,
"kadarupah" => $data->kadarupah,
"upahsimpan" => $data->upahSim,
"ansuran" => $data->ansuran,
"nilaimarhun" => $data->nilaimarhun,
"pinjaman" => $data->bakipjm,
"bakiupah" => $data->bakiupah,
"cajlain" => $data->cajlain,
"cajlelong" => 0.00,
"baki" => 0.00,
"berat" => $data->berat,
"marhun" => $data->marhun,
"percent" => $data->percentpinj,
"status_jual" => 0,
"status_payment" => 0,
"mora_upah" => 0,
"fasa" => $request->fasa
]);
$sumhargaasas = 0;
$berat = 0;
$gadaimarhun = GadaiMarhun::where('norujukan','=',$data->norujukan)->get();
foreach($gadaimarhun as $marhun)
{
$simkarat = SimKarat::where('simulasi_id','=',$simulasi->id)->get();
// dd($simkarat);
foreach($simkarat as $karat)
{
if($karat->karat == $marhun->karat)
{
$val = round($marhun->berat * $karat->harga);
$sumhargaasas = $sumhargaasas + $val;
$berat = $berat + $marhun->berat;
$simmarhun = new SimulasiBidMarhun;
$simmarhun->simulasibid_id = $simulasibid->id;
$simmarhun->bil = $marhun->bil;
$simmarhun->marhun = $marhun->marhun;
$simmarhun->nota = $marhun->nota;
$simmarhun->karat = $marhun->karat;
$simmarhun->berat = $marhun->berat;
$simmarhun->harga = $karat->harga;
$simmarhun->n_marhun = $marhun->n_marhun;
$simmarhun->hargaasas = $val;
$simmarhun->save();
}
}
}
// $calcaj = ($request->cajlelong/100)*$sumhargaasas;
// $updatesimbid = SimulasiBid::where('id','=',$simulasibid->id)->first();
// $updatesimbid->hargaasas = $sumhargaasas;
// $updatesimbid->cajlelong = $calcaj;
// $updatesimbid->baki = $sumhargaasas-$data->pinjaman - $data->bakiupah - $calcaj;
// $updatesimbid->berat = $berat;
// $updatesimbid->save();
$updategadai = Gadai::where('norujukan','=',$data->norujukan)->first();
$updategadai->taglel = 1;
$updategadai->update();
// $updatesimbid->cajlelong = $calcaj;
// $updatesimbid->baki = $sumhargaasas-$data->pinjaman - $data->bakiupah - $calcaj;
// $updatesimbid->berat = $berat;
// $updatesimbid->save();
}
}
}
}
else
{
dd('error');
}
return redirect()->route('analisa.show',$simulasi->id);
}
public function senaraisimulasi()
{
// $simulasi = Simulasi::all();
$arrayinfo = [];
$simulasi = Simulasi::join('cawangan_simulasi','simulasi.id','=','cawangan_simulasi.simulasi_id')
->select('simulasi_id','tarikh_lelong', 'simulasi.fasa','simulasi.harga_emas_asas')
->groupBy('simulasi_id')
->get()
->toArray();
foreach($simulasi as $info)
{
$detailsinfo = CawanganSimulasi::join('cawangan','cawangan_simulasi.caw_id','=','cawangan.id')
->where('simulasi_id',$info['simulasi_id'])
->get()
->toArray();
array_push($arrayinfo, ['info'=> $info, 'detailsinfo'=>$detailsinfo]);
}
return view('simulasi.senaraisimulasi',compact('simulasi','arrayinfo'));
}
public function show(Request $request, $id)
{
$simulasi_id = $id;
$simulasi = Simulasi::where('id','=',$id)->first();
$cawangansim = CawanganSimulasi::where('simulasi_id','=',$id)->get();
$simkarat = SimKarat::where('simulasi_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;
$total_bakiupah = 0;
$total_nilaimarhun = 0;
foreach($cawangansim as $cawsim)
{
$cawangan = Cawangan::where('id','=',$cawsim->caw_id)->first();
// $databid = SimulasiBid::join('gadai','simulasibid.norujukan','=','gadai.norujukan')
// ->select('simulasibid.id','simulasibid.berat','simulasibid.marhun','simulasibid.cajlelong','simulasibid.baki','simulasibid.nilaimarhun',
// 'simulasibid.pinjaman','simulasibid.hargaasas','simulasibid.cajlelong','gadai.bakipjm','gadai.bakihargajualan','gadai.upah12',
// 'gadai.ansakhir','gadai.tempoh','gadai.kadarupah','gadai.tempohbayar')
// ->where('caw_id','=',$cawsim->caw_id)->where('simulasi_id','=',$simulasi_id)->get();
$databid = SimulasiBid::select('simulasibid.id','simulasibid.berat','simulasibid.marhun','simulasibid.cajlelong','simulasibid.baki','simulasibid.nilaimarhun',
'simulasibid.pinjaman','simulasibid.hargaasas','simulasibid.cajlelong','simulasibid.bakiupah')
->where('caw_id','=',$cawsim->caw_id)->where('simulasi_id','=',$simulasi_id)->get();
// ->toArray();
$packet = 0;
$berat = 0;
$nilai_marhun = 0;
$pinjaman =0;
$bakiupah = 0;
$hargaasas = 0;
$cajlelong = 0;
$rugilelong = 0;
$bakilelong = 0;
// $keuntungan = 0;
// $total_upahkeuntungan = 0;
foreach($databid as $index1=>$bid)
{
$marhun = SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])->get();
$berat = $berat + $bid['berat'];
// $nilai_marhun = $nilai_marhun + ($marhun->sum('n_marhun'));
$nilai_marhun = $nilai_marhun + $bid['nilaimarhun'];
$pinjaman =$pinjaman + $bid['pinjaman'];
$bakiupah = $bakiupah + $bid['bakiupah'];
$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 = $total_upahkeuntungan + $keuntungan;
// $total_upahkeuntungan = bcdiv($total_upahkeuntungan,1,1) + bcdiv($keuntungan,1,1);
if($bid['baki'] > 0)
{
$bakilelong = $bakilelong + $bid['baki'];
}
else
{
$rugilelong = $rugilelong - $bid['baki'];
}
$total24Kgb += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','24.0Kgb')
->sum('berat');
$total24K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','24.0K')
->sum('berat');
$total23k += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','23.0K')
->sum('berat');
$total22K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','22.0K')
->sum('berat');
$total21K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','21.0K')
->sum('berat');
$total20K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','20.0K')
->sum('berat');
$total18Kp += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','18.0Kp')
->sum('berat');
$total18K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','18.0K')
->sum('berat');
$total14Kp += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','14.0Kp')
->sum('berat');
$total14K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','14.0K')
->sum('berat');
$total9K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','9.0K')
->sum('berat');
}
array_push($arraycaw,[
'id_cawangan'=> $cawangan['id'],
'cawangan'=>$cawangan['caw_name'],
't_lelong'=>$simulasi['tarikh_lelong'],
'bil_marhun'=>sizeof($databid),
'berat'=>$berat,
'n_marhun'=>$nilai_marhun,
'pinjaman'=>$pinjaman,
'upahsimpan'=>$bakiupah,
'bakiupah'=>$bakiupah,
'hargaasas'=>$hargaasas,
'cajlelong'=>$cajlelong,
'rugilelong'=>$rugilelong,
'bakilelong'=>$bakilelong,
]);
$total_marhun = $total_marhun + sizeof($databid);
$total_berat = $total_berat + $berat;
$total_nilaimarhun = $total_nilaimarhun + $nilai_marhun;
$total_pinjaman = $total_pinjaman + $pinjaman;
$total_hargaasas = $total_hargaasas + $hargaasas;
$total_cazlelong = $total_cazlelong + $cajlelong;
$total_rugilelong = $total_rugilelong + $rugilelong;
$total_bakilelong = $total_bakilelong + $bakilelong;
$total_bakiupah = $total_bakiupah + $bakiupah;
$data = Simulasi::where('simulasi.id','=',$simulasi_id)
->get();
}
return view('simulasi.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',
'simkarat',
'simulasi_id',
'jeniskarat',
'data',
'total_bakiupah',
'total_nilaimarhun'
));
}
public function delete($id)
{
$simulasibid = SimulasiBid::where('simulasi_id','=',$id)->get();
foreach($simulasibid as $data)
{
$updategadai = Gadai::where('norujukan','=',$data->norujukan)->first();
$updategadai->taglel = 0;
$updategadai->save();
}
//dd($simulasibid);
$role = Simulasi::where('id','=',$id)->first();
// dd($role);
$role->delete();
return redirect()->route('analisa.senaraisimulasi')
->with('success','Padam Simulasi Berjaya');
}
public function filter(Request $request)
{
}
public function kemaskini(Request $request)
{
// dd($request->idsimulasi);
$user = Auth::user();
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$simkarat = SimKarat::where('simulasi_id','=',$request->idsimulasi)->get();
foreach($simkarat as $karat) //save old harga asas
{
$simkarat_temp = new SimKarat_temp;
$simkarat_temp->simulasi_id = $request->idsimulasi;
$simkarat_temp->karat = $karat->karat;
$simkarat_temp->keterangan = $karat->keterangan;
$simkarat_temp->harga = $karat->harga;
$simkarat_temp->harga2 = $karat->harga2;
$simkarat_temp->save();
}
foreach($simkarat as $index=>$karat) //update harga asas
{
$karat->karat = $karat->karat;
$karat->keterangan = $karat->keterangan;
// $karat->harga = $request->harga[$index];
$karat->harga2 = $request->harga2[$index];
$karat->save();
}
//update marhun
$simulasibid = SimulasiBid::join('gadai','simulasibid.norujukan','=','gadai.norujukan')
->select('simulasibid.id','gadai.bakipjm','gadai.bakihargajualan','gadai.upah12','gadai.ansakhir','gadai.tempoh','gadai.tempohbayar','gadai.kadarupah','gadai.norujukan','simulasibid.simulasi_id')
->where('simulasi_id','=',$request->idsimulasi)
->get();
//dd($simulasibid);
foreach($simulasibid as $bid)
{
//$keuntungan = $bid['bakipjm'] - ($bid['bakihargajualan'] - ($bid['upah12'] - $bid['ansakhir'])-(($bid['tempoh']-$bid['tempohbayar'])*$bid['kadarupah']/100*$bid['bakipjm']) );
$total_untung_rebet = TransaksiKeuntungan::on('mysql2')->where('norujukan','=',$bid['norujukan'])->sum('keuntungan_rebet');
$total_untung_asal = TransaksiKeuntungan::on('mysql2')->where('norujukan','=',$bid['norujukan'])->sum('bayaran_keuntungan');
$beza_keuntungan = $total_untung_asal - $total_untung_rebet;
$keuntungan = bcdiv(($bid['tempoh']-$bid['tempohbayar'])*$bid['kadarupah']/100*$bid['bakipjm'],1,1)-$beza_keuntungan;
// dd($keuntungan);
$sumhargaasas = 0;
$simulasibidmarhun = SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])->get();
// dd($simulasibidmarhun);
foreach($simulasibidmarhun as $marhun)
{
// dd($request->idsimulasi);
$simkarat = SimKarat::where('simulasi_id','=',$request->idsimulasi)->get();
// dd($simkarat);
foreach($simkarat as $karat)
{
if($karat->karat == $marhun->karat)
{
$val = round($marhun->berat * $karat->harga2);
$sumhargaasas = $sumhargaasas + $val;
$marhun->harga = $karat->harga2;
$marhun->n_marhun = $marhun->berat * $karat->harga2;
$marhun->hargaasas = $val;
// $marhun->hargaasas = floatval(number_format($val,2));
$marhun->save();
}
}
$karat916 = SimKarat::where('karat','=',"22.0K")
->where('simulasi_id','=',$request->idsimulasi)
->get();
// dd($karat916);
foreach($karat916 as $k916)
{
$updatesimulasi = Simulasi::where('id',$request->idsimulasi)
->update([
'harga_emas_asas'=> $k916->harga2,
]);
// dd($updatesimulasi);
}
// dd($sumhargaasas);
}
$simulasi = Simulasi::where('id',$request->idsimulasi)->get();
$sumcajlelong = $sumhargaasas * ($simulasi[0]['cajlelong']/100);
$totalbaki = $sumhargaasas -$bid->bakipjm - bcdiv($keuntungan,1,1) - bcdiv($sumcajlelong,1,1);
$kirakeuntungan = SimulasiBid::where('norujukan',$bid['norujukan'])
->update([
'bakiupah'=> bcdiv($keuntungan,1,1),
'hargaasas'=> $sumhargaasas,
'cajlelong'=> bcdiv($sumcajlelong,1,1),
'baki'=> $totalbaki,
]);
//insert loguser
$loguser = new LogUser;
$loguser->user_id = $user->id;
$loguser->date = $currentdate;
$loguser->username = $user->username;
$loguser->nama_user = $user->name;
$loguser->norujukan = $bid['norujukan'];
$loguser->nota = ' Kemaskini Harga Asas/Keuntungan '.bcdiv($keuntungan,1,1);
$loguser->save();
//dd($sumcajlelong);
}
return redirect()->route('analisa.senaraisimulasi',$request->idsimulasi)
->with('success','Kemaskini Berjaya');
}
// PDF SIMULASI KESELURUHAN SEMUA CAWANGAN
public function export(Request $request)
{
$simulasi_id = $request->simulasiid;
// $simulasi = Simulasi::where('id','=',$request->simulasiid)->first();
// $cawangansim = CawanganSimulasi::where('simulasi_id','=',$request->simulasiid)->get();
// $simkarat = SimKarat::where('simulasi_id','=',$request->simulasiid)->get();
$simulasi = Simulasi::where('id','=',$request->simulasiid)->first();
$cawangansim = CawanganSimulasi::where('simulasi_id','=',$request->simulasiid)->get();
$simkarat = SimKarat::where('simulasi_id','=',$request->simulasiid)->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;
$total_upahkeuntungan2 = 0;
$total_nilaimarhun = 0;
foreach($cawangansim as $cawsim)
{
$cawangan = Cawangan::where('id','=',$cawsim->caw_id)->first();
$databid = SimulasiBid::join('gadai','simulasibid.norujukan','=','gadai.norujukan')
->select('simulasibid.id','simulasibid.berat','simulasibid.marhun','simulasibid.cajlelong','simulasibid.baki','simulasibid.nilaimarhun',
'simulasibid.pinjaman','simulasibid.hargaasas','simulasibid.cajlelong','gadai.bakipjm','gadai.bakihargajualan','gadai.upah12',
'gadai.ansakhir','gadai.tempoh','gadai.kadarupah','gadai.tempohbayar')
->where('caw_id','=',$cawsim->caw_id)->where('simulasi_id','=',$simulasi_id)->get();
// ->toArray();
$packet = 0;
$berat = 0;
$nilai_marhun = 0;
$pinjaman =0;
$upah = 0;
$hargaasas = 0;
$cajlelong = 0;
$rugilelong = 0;
$bakilelong = 0;
$keuntungan = 0;
$total_upahkeuntungan = 0;
foreach($databid as $index1=>$bid)
{
$marhun = SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])->get();
$berat = $berat + $bid['berat'];
// $nilai_marhun = $nilai_marhun + ($marhun->sum('n_marhun'));
$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 = $total_upahkeuntungan + $keuntungan;
$total_upahkeuntungan = bcdiv($total_upahkeuntungan,1,1) + bcdiv($keuntungan,1,1);
if($bid['baki'] > 0)
{
$bakilelong = $bakilelong + $bid['baki'];
}
else
{
$rugilelong = $rugilelong - $bid['baki'];
}
$total24Kgb += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','24.0Kgb')
->sum('berat');
$total24K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','24.0K')
->sum('berat');
$total23k += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','23.0K')
->sum('berat');
$total22K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','22.0K')
->sum('berat');
$total21K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','21.0K')
->sum('berat');
$total20K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','20.0K')
->sum('berat');
$total18Kp += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','18.0Kp')
->sum('berat');
$total18K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','18.0K')
->sum('berat');
$total14Kp += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','14.0Kp')
->sum('berat');
$total14K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','14.0K')
->sum('berat');
$total9K += SimulasiBidMarhun::where('simulasibid_id','=',$bid['id'])
->where('karat','=','9.0K')
->sum('berat');
}
array_push($arraycaw,[
'id_cawangan'=> $cawangan['id'],
'cawangan'=>$cawangan['caw_name'],
't_lelong'=>$simulasi['tarikh_lelong'],
'bil_marhun'=>sizeof($databid),
'berat'=>$berat,
'n_marhun'=>$nilai_marhun,
'pinjaman'=>$pinjaman,
'upahsimpan'=>bcdiv($total_upahkeuntungan,1,1),
'hargaasas'=>$hargaasas,
'cajlelong'=>$cajlelong,
'rugilelong'=>$rugilelong,
'bakilelong'=>$bakilelong,
]);
$total_marhun = $total_marhun + sizeof($databid);
$total_berat = $total_berat + $berat;
$total_nilaimarhun = $total_nilaimarhun + $nilai_marhun;
//dd($nilai_marhun);
$total_pinjaman = $total_pinjaman + $pinjaman;
$total_hargaasas = $total_hargaasas + $hargaasas;
$total_cazlelong = $total_cazlelong + $cajlelong;
$total_rugilelong = $total_rugilelong + $rugilelong;
$total_bakilelong = $total_bakilelong + $bakilelong;
$total_upahkeuntungan2 = $total_upahkeuntungan2 + $total_upahkeuntungan;
$data = Simulasi::where('simulasi.id','=',$simulasi_id)
->get();
}
$pdf = PDF::loadView('pdf.simrpt2',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',
'simkarat',
'simulasi_id',
'jeniskarat',
'data',
'total_upahkeuntungan',
'total_nilaimarhun',
'total_upahkeuntungan2',
'databid',
'cawangan',
'simulasi_id',
'bid'))->setPaper('a4', 'potrait');
return $pdf->download('Simulasi Keseluruhan.pdf');
}
public function senaraimarhunlel($simulasi_id, $cawid)
{
$keuntungan = 0;
$marhuns = SimulasiBid::join('cawangan', 'simulasibid.caw_id', '=', 'cawangan.id')
->join('gadai','simulasibid.norujukan','=','gadai.norujukan')
->where('simulasi_id','=',$simulasi_id)
->where('caw_id','=',$cawid)
->select(
'simulasibid.t_lelong',
'simulasibid.kodcaw',
'cawangan.caw_name',
'simulasibid.norujukan',
'simulasibid.pinjaman',
'simulasibid.berat',
'simulasibid.nilaimarhun',
'simulasibid.hargaasas',
'simulasibid.bakiupah',
'simulasibid.cajlelong',
'simulasibid.baki',
'simulasibid.status_jual',
'simulasibid.jbg',
'gadai.bakipjm',
'gadai.bakihargajualan',
'gadai.upah12',
'gadai.ansakhir',
'gadai.tempoh',
'gadai.tempohbayar',
'gadai.kadarupah',
'gadai.nokp'
)
->get()->toArray();
foreach($marhuns as $index1=>$cal){
$customer = Customer::on('mysql2')
->where('kpbaru','=',$cal['nokp'])
->orWhere('kplama','=',$cal['nokp'])
->first();
$keuntungan = $cal['bakipjm'] - ($cal['bakihargajualan'] - ($cal['upah12'] - $cal['ansakhir'])-(($cal['tempoh']-$cal['tempohbayar'])*$cal['kadarupah']/100*$cal['bakipjm']) );
$marhuns[$index1]['keuntungan'] = $keuntungan;
$marhuns[$index1]['nama'] = $customer;
}
return view('simulasi.senaraimarhunlel',compact('marhuns','simulasi_id','cawid','keuntungan'));
}
public function deletemarhunlel(Request $request){
// dd($request->checkboxdata);
$data = $request->checkboxdata;
foreach($data as $index=>$norujukan)
{
$marhun = SimulasiBid::where('norujukan','=',$norujukan)->first();
$marhun->delete();
}
return redirect()->route('analisa.senaraimarhunlel',['simulasi_id'=>$request->simulasi_id,'cawid'=>$request->cawid])
->with('success','Delete Berjaya');
}
public function senaraitempsimulasi(Request $request)
{
// $t_lelong = $request->tarikh_lelong;
// $tarikh_lelong = Carbon::parse($t_lelong);
// $t_lelongdisplay = $tarikh_lelong->format('d-m-Y');
// $t_anggaran = ($tarikh_lelong->subDays(20))->format('d/m/Y');
// $t_daftarlelong = ($tarikh_lelong->subMonths(1))->format('d/m/Y');
//$t_lelong1 = $request->tarikh_lelong;
$t_lelong1 = date('d-m-Y', strtotime($request->tarikh_lelong));
$t_lelong2 = $request->tarikh_lelong;
$t_lelong = Carbon::parse($request->tarikh_lelong);
$bulan = (int)round($request->jbg);
$fasa = $request->fasa;
$jbg = $request->jbg;
$cajlelong = $request->cajlelong;
$kali = $request->kali;
// dd($kali);
$jbgadai = ($t_lelong->subMonths($bulan))->toDateString();
$t_lelongdisplay = $t_lelong->format('d-m-Y');
// $t_lelongdisplay = $t_lelong->format('d-m-Y');
//dd($fasa);
$tetapan = Tetapan::where('id','=',1)->first();
if($t_lelong != null)
{
if($request->fasa == '1'){
$getsurat = Gadai::where('t_gadai','<=',$jbgadai)
->where('sttebus','=','')
->where('tagpalsu','=',0)
->where('tagpalsu2','=',0)
->where('taglel','=',0)
->where('lelong_tawarruq','=',1)
->get();
$t_gadais = Gadai::where('t_gadai','<=',$jbgadai)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->where('lelong_tawarruq','=',1)
->whereNotNull('upah12')
->orderBy('t_gadai')
->select('t_gadai', 'norujukan')
->first();
//dd($t_gadais);
// $t_gadais = $request->t_gadai;
// $t_gadaisehingga = Carbon::parse($t_gadais);
// $t_gadaisdisplay = $t_gadaisehingga->format('d/m/Y');
$senarai = Gadai::join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
->orderBy('cawangan.caw_name')
->where('gadai.t_gadai', '<=', $jbgadai)
->where('gadai.lelong_tawarruq','=',1)
->where('gadai.sttebus', '=', '')
->where('gadai.taglel', '=', 0)
->where('gadai.tagpalsu', '=', 0)
->where('gadai.tagpalsu2', '=', 0)
->whereNotIn('cawangan.id', function($query) use ($kali) {
$query->select('caw_id')
->from('cawangan_simulasi')
->where('kali', '=' ,$kali);
})
->whereNotNull('gadai.upah12')
->groupBy('gadai.kodcaw','cawangan.caw_name')
->selectRaw('count(*) as bil_lelong,
sum(berat) as total_berat,
sum(nilaimarhun) as total_nilaimarhun,
sum(pinjaman) as total_pembiayaan,
sum(bakipjm) as total_bakipjm,
gadai.kodcaw,
cawangan.caw_name as caw_name
')
->get();
// dd($senarai);
$bil_lelong = sizeof($getsurat);
}
else if($request->fasa == '2'){
$getsurat = Gadai::where('t_gadai','<=',$jbgadai)
->where('sttebus','=','')
->where('tagpalsu','=',0)
->where('tagpalsu2','=',0)
->where('taglel','=',0)
->get();
//dd($getsurat);
$t_gadais = Gadai::where('t_gadai','<=',$jbgadai)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->orderBy('t_gadai')
->select('t_gadai', 'norujukan')
->first();
//dd($t_gadais);
// $t_gadais = $request->t_gadai;
// $t_gadaisehingga = Carbon::parse($t_gadais);
// $t_gadaisdisplay = $t_gadaisehingga->format('d/m/Y');
$senarai = Gadai::join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
->orderBy('cawangan.caw_name')
->where('gadai.t_gadai', '<=', $jbgadai)
->where('gadai.sttebus', '=', '')
->where('gadai.taglel', '=', 0)
->where('gadai.tagpalsu', '=', 0)
->where('gadai.tagpalsu2', '=', 0)
->whereNotIn('cawangan.id', function($query) use ($kali) {
$query->select('caw_id')
->from('cawangan_simulasi')
->where('kali', '=' ,$kali);
})
->whereNotNull('gadai.upah12')
->groupBy('gadai.kodcaw','cawangan.caw_name')
->selectRaw('count(*) as bil_lelong,
sum(berat) as total_berat,
sum(nilaimarhun) as total_nilaimarhun,
sum(pinjaman) as total_pembiayaan,
sum(bakipjm) as total_bakipjm,
gadai.kodcaw,
cawangan.caw_name as caw_name')
->get();
$bil_lelong = sizeof($getsurat);
}
if(sizeof($getsurat) == 0)
{
return redirect()->route('analisa.janasimulasi')
->with('failed','Tiada surat untuk di lelong');
}
return view('simulasi.senaraitempsimulasi', compact( 't_lelong',
'getsurat',
'senarai',
't_gadais',
't_lelong1',
't_lelong2',
't_lelongdisplay',
'jbgadai',
'fasa',
'jbg',
'cajlelong',
'tetapan'
));
}
else
{
return redirect()->route('analisa.janasimulasi')
->with('failed','Sila Masukkan Tarikh Lelongan');
}
}
public function tempbycawsimulasi($details, $t_gadai1, $fasa)
{
$jbgadai = $t_gadai1;
//$fasa = $request->fasa;
//dd($fasa);
if($fasa == '1'){
$getsurat = Gadai::where('t_gadai', '<=', $jbgadai)
->where('kodcaw', $details)
->where('sttebus', '=', '')
->where('lelong_tawarruq','=',1)
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->get();
$t_gadais = Gadai::where('t_gadai', '<=', $jbgadai)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->orderBy('t_gadai')
->select('t_gadai')
->first();
}else{
$getsurat = Gadai::where('t_gadai', '<=', $jbgadai)
->where('kodcaw', $details)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->get();
$t_gadais = Gadai::where('t_gadai', '<=', $jbgadai)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->orderBy('t_gadai')
->select('t_gadai')
->first();
}
// $tarikh_lelong = Carbon::parse($t_lelong);
// $t_anggaran = ($tarikh_lelong->subMonths(1))->toDateString();
// $t_lelongdisplay = $tarikh_lelong->format('d-m-Y');
//$t_anggaran = ($tarikh_lelong->subDays(20))->format('d/m/Y');
//$t_daftarlelong = ($tarikh_lelong->subMonths(1))->format('d/m/Y');
foreach($getsurat as $index1=>$surats)
{
$senarai = Gadai::join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
->where('norujukan', $surats['norujukan'])
->get();
//dd($senarai);
$getsurat[$index1]['list_norujukan'] = $senarai;
}
// $keuntungantlhbyr = TransaksiKeuntungan::on('mysql2')
// ->sum('bayaran_keuntungan');
return view('simulasi.tempbycawsimulasi', compact( 'getsurat',
'details',
'senarai',
't_gadais'
));
}
public function kemaskinidata($simulasi_id)
{
$user = Auth::user();
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$data = [];
$senaraisag = SimulasiBid::where('simulasibid.simulasi_id', $simulasi_id)
->whereNotIn('simulasibid.norujukan', function($query) {
$query->select('norujukan')
->from('gadai');
})
->get()->toArray();
// dd($senaraisag);
foreach($senaraisag as $data)
{
//insert lelong_tebus
$lelongtebus = new LelongTebus;
$lelongtebus->tarikh = $currentdate;
$lelongtebus->kodcaw = $data['kodcaw'];
$lelongtebus->teller = $user->name;
$lelongtebus->norujukan = $data['norujukan'];
$lelongtebus->batch_no = $simulasi_id;
$lelongtebus->nilaimarhun = $data['nilaimarhun'];
$lelongtebus->pinjaman = $data['pinjaman'];
$lelongtebus->upah = $data['bakiupah'];
$lelongtebus->jbg = $data['jbg'];
$lelongtebus->jenis_tebus = 'T';
$lelongtebus->save();
// dd($data['norujukan']);
$updatesimulasi = SimulasiBid::where('norujukan','=',$data['norujukan'])->first();
$updatesimulasi->delete();
//insert loguser
$loguser = new LogUser;
$loguser->user_id = $user->id;
$loguser->date = $currentdate;
$loguser->username = $user->username;
$loguser->nama_user = $user->name;
$loguser->norujukan = $data['norujukan'];
$loguser->nota = ' Kemaskini Data Simulasi '.$simulasi_id;
$loguser->save();
}
$datatempoh = [];
$senaraisagtempoh = SimulasiBid::join('gadai','gadai.norujukan','=','simulasibid.norujukan')
->where('simulasibid.simulasi_id', $simulasi_id)
->whereIn('simulasibid.norujukan', function($query) {
$query->select('norujukan')
->from('gadai');
})
->select('gadai.tempoh','gadai.tempohbayar','gadai.kadarupah','gadai.norujukan','gadai.tempoh','gadai.bakipjm')
->get()->toArray();
// dd($senaraisagtempoh);
foreach($senaraisagtempoh as $datatempoh)
{
//kemaskini keuntungan
$total_untung_rebet = TransaksiKeuntungan::on('mysql2')->where('norujukan','=',$datatempoh['norujukan'])->sum('keuntungan_rebet');
$total_untung_asal = TransaksiKeuntungan::on('mysql2')->where('norujukan','=',$datatempoh['norujukan'])->sum('bayaran_keuntungan');
$beza_keuntungan = $total_untung_asal - $total_untung_rebet;
$keuntungan = bcdiv(($datatempoh['tempoh']-$datatempoh['tempohbayar'])*$datatempoh['kadarupah']/100*$datatempoh['bakipjm'],1,1)-$beza_keuntungan;
// dd($keuntungan);
//update dalam simulasibid
$updatetempoh = SimulasiBid::where('norujukan', $datatempoh['norujukan'])
->where('simulasi_id', $simulasi_id)
->first();
$updatetempoh->jbg = $datatempoh['tempoh'];
$updatetempoh->pinjaman = $datatempoh['bakipjm'];
$updatetempoh->bakiupah = bcdiv($keuntungan,1,1);
$updatetempoh->update();
//insert loguser
$loguser = new LogUser;
$loguser->user_id = $user->id;
$loguser->date = $currentdate;
$loguser->username = $user->username;
$loguser->nama_user = $user->name;
$loguser->norujukan = $datatempoh['norujukan'];
$loguser->nota = $simulasi_id.' Kemaskini Tempoh/Bakipjm/Keuntungan' ;
$loguser->save();
}
$date = Carbon::now()->toDateTimeString();
$simulasi = Simulasi::where('id','=',$simulasi_id)->first();
$simulasi->masakemaskini_data = $date;
$simulasi->save();
return redirect()->route('analisa.senaraisimulasi')
->with('success','Kemaskini Berjaya');
}
public function listsagbycust($simulasi_id, $cawid)
{
$keuntungan = 0;
$marhuns = SimulasiBid::join('cawangan', 'simulasibid.caw_id', '=', 'cawangan.id')
->join('gadai','simulasibid.norujukan','=','gadai.norujukan')
->where('simulasi_id','=',$simulasi_id)
->where('caw_id','=',$cawid)
->groupBy('gadai.nokp')
->select('gadai.nokp')
->get()->toArray();
// dd($marhuns);
foreach($marhuns as $index1=>$cal){
$customer = Customer::on('mysql2')
->where('kpbaru','=',$cal['nokp'])
->orWhere('kplama','=',$cal['nokp'])
->first();
$listsag = SimulasiBid::join('gadai', 'gadai.norujukan','=','simulasibid.norujukan')
->where('gadai.nokp','=',$cal['nokp'])
->get();
// dd($listsag);
// $keuntungan = $cal['bakipjm'] - ($cal['bakihargajualan'] - ($cal['upah12'] - $cal['ansakhir'])-(($cal['tempoh']-$cal['tempohbayar'])*$cal['kadarupah']/100*$cal['bakipjm']) );
// $marhuns[$index1]['keuntungan'] = $keuntungan;
$marhuns[$index1]['nama'] = $customer;
$marhuns[$index1]['listsag'] = $listsag;
}
return view('simulasi.listsagbycust',compact('marhuns','simulasi_id','cawid','listsag'));
}
}