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

563 lines
21 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Cawangan;
use App\Models\CawanganSimulasi;
use App\Models\Customer;
use App\Models\Gadai;
use App\Models\GadaiMarhun;
use App\Models\JenisKarat;
use App\Models\Lelong;
use App\Models\SimKarat;
use App\Models\Simulasi;
use App\Models\SimulasiBid;
use App\Models\SimulasiBidMarhun;
use App\Models\TransaksiKeuntungan;
use Carbon\Carbon;
use Excel;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use PDF;
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 (count($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'
));
} elseif (count($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) {
$customer = Customer::where('kpbaru', '=', $surats['nokp'])
->orWhere('kplama', '=', $surats['nokp'])
->get();
$listsag = Gadai::on($user->kodcaw)
->where('norujukan', $surats['norujukan'])
->get();
$ktlhbyr = $surats['hargajualan'] - $surats['bakihargajualan'];
// foreach($listsag as $index=>$listing){
// $bayaran = $listing['hargajualan'] - $listing['bakihargajualan'];
// }
// $ktlhbyr = $surats['hargajualan']-$surats['bakihargajualan'];
$getsurat[$index1]['nama'] = $customer;
$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 (count($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 = count($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 (count($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, )
}