Files
lelong/app/Http/Controllers/TamatKontController.php
T
2022-08-17 08:59:20 +08:00

602 lines
24 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use Carbon\Carbon;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Maatwebsite\Excel\Concerns\FromCollection;
use Excel;
use App\Models\User;
use App\Models\Gadai;
use App\Models\GadaiMarhun;
use App\Models\Cawangan;
use App\Models\TransaksiKeuntungan;
use PDF;
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 DateTime;
class TamatKontController extends Controller
{
//PC
public function notistamatkontrak(Request $request)
{
return view('jananotis.notistamatkontrak');
}
public function gadaibycaw(Request $request)
{
$t_lelong = $request->tarikh_lelong;
$user = Auth::user();
// $cawangan = Cawangan::where('caw_code', $user->kodcaw)
// ->get();
// dd($cawangan);
$getsurat = Gadai::on($user->kodcaw)
->where('t_matang1', '<', $t_lelong)
->where('kodcaw', $user->kodcaw)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->get();
// dd($getsurat);
if(sizeof($getsurat) != 0)
{
$t_gadais = Gadai::on($user->kodcaw)
->where('t_matang1', '<', $t_lelong)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->orderBy('t_gadai')
->select('t_gadai')
->first();
$cawangan_all = Cawangan::where('caw_code', $user->kodcaw)->get();
foreach($cawangan_all as $cawangan){
$bil_lelongcaw = Gadai::on($cawangan->caw_code)
// join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
->where('gadai.t_matang1', '<', $t_lelong)
->where('kodcaw', $user->kodcaw)
->where('gadai.sttebus', '=', '')
->where('gadai.taglel', '=', 0)
->where('gadai.tagpalsu', '=', 0)
->where('gadai.tagpalsu2', '=', 0)
->whereNotNull('gadai.upah12')
->selectRaw('count(*) as bil_lelong')
->get()->toArray();
}
// dd($bil_lelongcaw);
$tarikh_lelong = Carbon::parse($t_lelong);
$t_anggaran = ($tarikh_lelong->subMonths(1))->format('d/m/Y');
// $t_anggaran = date('d-m-Y', strtotime('-1 months', strtotime($tarikh_lelong)));
foreach($getsurat as $index1=>$surats)
{
$senarai = Gadai::on($user->kodcaw)
// join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
->where('norujukan', $surats['norujukan'])
->get();
$ktlhbyr = $surats['hargajualan']-$surats['bakihargajualan'];
$getsurat[$index1]['list_norujukan'] = $senarai;
$getsurat[$index1]['ktlhbyr'] = $ktlhbyr;
}
// dd($getsurat);
// $keuntungantlhbyr = TransaksiKeuntungan::on('mysql2')
// ->sum('bayaran_keuntungan');
return view('jananotis.gadaibycaw', compact( 'getsurat',
't_lelong',
'user',
't_gadais',
't_anggaran',
'bil_lelongcaw',
'ktlhbyr'
));
}
else if(sizeof($getsurat) == 0)
{
return redirect()->route('jananotis.notistamatkontrak')
->with('failed','Tiada surat untuk di lelong');
}
else
{
return redirect()->route('jananotis.notistamatkontrak')
->with('failed','Sila Masukkan Tarikh Lelongan');
}
}
public function gadaibycawpdf(Request $request, $t_lelong)
{
// $t_lelong = $request->tarikh_lelong;
$user = Auth::user();
$getsurat = Gadai::on($user->kodcaw)
->where('t_matang1', '<', $t_lelong)
->where('kodcaw', $user->kodcaw)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->get();
// dd($getsurat);
$t_gadais = Gadai::on($user->kodcaw)
->where('t_matang1', '<', $t_lelong)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->orderBy('t_gadai')
->select('t_gadai')
->first();
$cawangan_all = Cawangan::where('caw_code', $user->kodcaw)->get();
foreach($cawangan_all as $cawangan){
$bil_lelongcaw = Gadai::on($cawangan->caw_code)
// join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
->where('gadai.t_matang1', '<', $t_lelong)
->where('kodcaw', $user->kodcaw)
->where('gadai.sttebus', '=', '')
->where('gadai.taglel', '=', 0)
->where('gadai.tagpalsu', '=', 0)
->where('gadai.tagpalsu2', '=', 0)
->whereNotNull('gadai.upah12')
->selectRaw('count(*) as bil_lelong')
->get()->toArray();
}
// dd($bil_lelongcaw);
$tarikh_lelong = Carbon::parse($t_lelong);
$t_anggaran = ($tarikh_lelong->subMonths(1))->format('d/m/Y');
// $t_anggaran = date('d-m-Y', strtotime('-1 months', strtotime($tarikh_lelong)));
foreach($getsurat as $index1=>$surats)
{
$senarai = Gadai::on($user->kodcaw)
// join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
->where('norujukan', $surats['norujukan'])
->get();
$ktlhbyr = $surats['hargajualan']-$surats['bakihargajualan'];
$getsurat[$index1]['list_norujukan'] = $senarai;
$getsurat[$index1]['ktlhbyr'] = $ktlhbyr;
}
$pdf = PDF::loadView('pdf.gadaibycawpdf',compact( 'getsurat',
't_lelong',
'user',
't_gadais',
't_anggaran',
'bil_lelongcaw',
'ktlhbyr'))
->setPaper('a4', 'potrait');
return $pdf->download('Notis Sebelum Tamat Kontrak.pdf');
}
public function gadaibycawexcel (Request $request, $t_lelong)
{
// $t_lelong = $request->tarikh_lelong;
$user = Auth::user();
$getsurat = Gadai::on($user->kodcaw)
->where('t_matang1', '<', $t_lelong)
->where('kodcaw', $user->kodcaw)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->get();
// dd($getsurat);
$t_gadais = Gadai::on($user->kodcaw)
->where('t_matang1', '<', $t_lelong)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->orderBy('t_gadai')
->select('t_gadai')
->first();
$cawangan_all = Cawangan::where('caw_code', $user->kodcaw)->get();
foreach($cawangan_all as $cawangan){
$bil_lelongcaw = Gadai::on($cawangan->caw_code)
// join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
->where('gadai.t_matang1', '<', $t_lelong)
->where('kodcaw', $user->kodcaw)
->where('gadai.sttebus', '=', '')
->where('gadai.taglel', '=', 0)
->where('gadai.tagpalsu', '=', 0)
->where('gadai.tagpalsu2', '=', 0)
->whereNotNull('gadai.upah12')
->selectRaw('count(*) as bil_lelong')
->get()->toArray();
}
// dd($bil_lelongcaw);
$tarikh_lelong = Carbon::parse($t_lelong);
$t_anggaran = ($tarikh_lelong->subMonths(1))->format('d/m/Y');
// $t_anggaran = date('d-m-Y', strtotime('-1 months', strtotime($tarikh_lelong)));
foreach($getsurat as $index1=>$surats)
{
$senarai = Gadai::on($user->kodcaw)
// join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
->where('norujukan', $surats['norujukan'])
->get();
$ktlhbyr = $surats['hargajualan']-$surats['bakihargajualan'];
$getsurat[$index1]['list_norujukan'] = $senarai;
$getsurat[$index1]['ktlhbyr'] = $ktlhbyr;
}
// return Excel::download(new DisneyplusExport, 'disney.xlsx');
return view('excel.gadaibycawexcel',compact('getsurat',
't_lelong',
'user',
't_gadais',
't_anggaran',
'bil_lelongcaw',
'ktlhbyr'));
}
//Operasi
public function sebelumtamatkont(Request $request)
{
return view('jananotis.sebelumtamatkont');
}
public function senaraitemp(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');
if($t_lelong != null)
{
$getsurat = Gadai::where('t_matang1', '<', $t_lelong)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->get();
// dd($getsurat);
if(sizeof($getsurat) == 0)
{
return redirect()->route('notistamatkontrak.sebelumtamatkont')
->with('failed','Tiada surat untuk di lelong');
}
$t_gadais = Gadai::where('t_matang1', '<', $t_lelong)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->where('t_matang1', '<', $t_lelong)
->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')
->where('gadai.t_matang1', '<', $t_lelong)
->where('gadai.sttebus', '=', '')
->where('gadai.taglel', '=', 0)
->where('gadai.tagpalsu', '=', 0)
->where('gadai.tagpalsu2', '=', 0)
->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);
return view('jananotis.senaraitemp', compact( 't_lelong',
'getsurat',
'senarai',
't_gadais',
't_anggaran',
't_daftarlelong',
't_lelongdisplay'
));
}
else
{
return redirect()->route('notistamatkontrak.sebelumtamatkont')
->with('failed','Sila Masukkan Tarikh Lelongan');
}
}
public function tempbycaw($details, $t_lelong)
{
$getsurat = Gadai::where('t_matang1', '<', $t_lelong)
->where('kodcaw', $details)
->where('sttebus', '=', '')
->where('taglel', '=', 0)
->where('tagpalsu', '=', 0)
->where('tagpalsu2', '=', 0)
->whereNotNull('upah12')
->get();
$t_gadais = Gadai::where('t_matang1', '<', $t_lelong)
->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('jananotis.tempbycaw', compact( 'getsurat',
'details',
'senarai',
't_lelong',
't_gadais',
't_anggaran',
'tarikh_lelong',
't_daftarlelong',
't_lelongdisplay'
));
}
public function janadatatamatkontrak(Request $request)
{
//dd($request->all());
$t_lelong = Carbon::parse($request->trkh_lelong);
$bulan = (int)round('12.00');
$fasa = '2';
$jbg = '12';
$cajlelong = '3';
//dd($t_lelong);
$t_gadai = $request->t_gadai;
//dd($t_gadai);
if($fasa == '2'){
$surat = Gadai::where('t_matang1','<',$t_lelong)
->where('sttebus','=','')
->where('tagpalsu','=',0)
->where('tagpalsu2','=',0)
->where('taglel','=',0)
->get();
}
//dd($surat);
// dd($jbg);
if(sizeof($surat) == 0)
{
return redirect()->route('analisa.janasimulasi')
->with('failed','Tiada surat untuk di lelong');
}
$cawangan = Cawangan::all();
//create simulasi
$simulasi = new Simulasi;
$simulasi->tarikh_lelong = $request->trkh_lelong;
$simulasi->harga_emas_asas = "0.00";
$simulasi->jbg = $jbg;
$simulasi->cajlelong = $cajlelong;
$simulasi->fasa = $fasa;
$simulasi->save();
//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->kodcaw);
$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->save();
// dd($caw_simulasi);
$suratcaw = $surat->where('kodcaw','=',$cawsimulasi->caw_code)->all();
// $simulasibid = SimulasiBid::where('caw_id','=',$caw->id)->get();
foreach($suratcaw as $data)
{
$simulasibid = new SimulasiBid;
$simulasibid->simulasi_id = $simulasi->id;
$simulasibid->caw_id = $cawsimulasi->id;
$simulasibid->kodcaw = $data->kodcaw;
$simulasibid->norujukan = $data->norujukan;
$simulasibid->t_lelong = $request->trkh_lelong;
$simulasibid->hargaasas = 0.00;
$simulasibid->hargajual = 0.00;
$simulasibid->jbg = $data->jbg;
$simulasibid->kadarupah = $data->kadarupah;
$simulasibid->upahsimpan = $data->upahSim;
$simulasibid->ansuran = $data->ansuran;
$simulasibid->nilaimarhun = $data->nilaimarhun;
$simulasibid->pinjaman = $data->pinjaman;
$simulasibid->bakiupah = $data->bakiupah;
$simulasibid->cajlain = $data->cajlain;
$simulasibid->cajlelong = 0.00;
$simulasibid->baki = 0.00;
$simulasibid->berat = $data->berat;
$simulasibid->marhun = $data->marhun;
$simulasibid->percent = $data->percentpinj;
$simulasibid->status_jual = 0;
$simulasibid->status_payment = 0;
$simulasibid->mora_upah = 0;
$simulasibid->save();
$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->berat * $karat->harga;
$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();
}
}
}
else
{
dd('error');
}
return redirect()->route('analisa.show',$simulasi->id);
}
// public function janasimulasi($t_lelong, )
}