Files
lelong/app/Http/Controllers/TangguhLelongController.php
T
ismailmasseran e29a5891c8 Bugfix/list clickup issue (#5)
Reviewed-on: #5
Co-authored-by: ISMAIL MASSERAN <ismail@koppkb.com>
Co-committed-by: ISMAIL MASSERAN <ismail@koppkb.com>
2026-10-19 13:30:36 +08:00

1090 lines
44 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Cawangan;
use App\Models\CawanganLelong;
use App\Models\Customer;
use App\Models\Gadai;
use App\Models\GadaiMarhun;
use App\Models\Lelong;
use App\Models\LelongBid;
use App\Models\LelongBidMarhun;
use App\Models\LogUser;
use App\Models\Pengesahan;
use App\Models\TangguhLelong;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Http;
use PDF;
class TangguhLelongController extends Controller
{
// PC
public function senleluntuktangguh()
{
$user = Auth::user();
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateString();
$arrayinfo = [];
$lelong = CawanganLelong::join('lelong', 'cawangan_lelong.lelong_id', '=', 'lelong.id')
->join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
->where('cawangan.caw_code', $user->kodcaw)
->where('sts_lelong', 0)
->select('lelong.fasa', 'lelong_id', 'cawangan.caw_code', 'tarikh_lelong', 'cawangan_lelong.masatamat_lelong', 'harga_emas_asas', 'jbg', 'cajlelong', 'sts_lelong')
->distinct()
->get()
->toArray();
foreach ($lelong as $info) {
$detailsinfo = CawanganLelong::select('cawangan_lelong.caw_id', 'caw_name', 'lelongbid.status_jual', 'caw_code')
->join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
->join('lelongbid', 'lelongbid.kodcaw', '=', 'cawangan.caw_code')
->where('cawangan_lelong.lelong_id', $info['lelong_id'])
->where('cawangan.caw_code', $user->kodcaw)
->distinct()
->get()
->toArray();
array_push($arrayinfo, ['info' => $info, 'detailsinfo' => $detailsinfo]);
// dd($detailsinfo);
}
return view('tangguhlelong.senarailelongtangguh', compact('lelong', 'arrayinfo', 'currentdate'));
}
public function carian($lelong_id)
{
return view('tangguhlelong.carian', compact('lelong_id'));
}
public function searchbyic(Request $request)
{
// dd($request->all());
$user = Auth::user();
$namacaw = Cawangan::where('caw_code', $user['kodcaw'])->first();
$lelongbid = LelongBid::where('kodcaw', $user['kodcaw']);
$arraylelongbid = $lelongbid->pluck('kodcaw')->toArray();
$datalelongbid = $lelongbid->get();
$checkkodcaw = Customer::query()
->where('kpbaru', $request->nokp)
->orWhere('kplama', $request->nokp)
->first();
// dd($checkkodcaw);
// $checkkodcaw = Customer::join('lelongbid', 'customer.kodcaw', '=', 'lelongbid.kodcaw')
// ->where('lelongbid.kodcaw', $user['kodcaw'])
// ->where('customer.kpbaru', $request->nokp)
// ->orWhere('customer.kplama', $request->nokp)
// ->first();
// dd($checkkodcaw);
if ($request->nokp == null) {
return redirect()->route('tangguhlelong.carian', $request->lelong_id)->with('failed', 'Sila Masukkan No Kad Pengenalan');
} elseif ($checkkodcaw == null) {
return redirect()->route('tangguhlelong.carian', $request->lelong_id)->with('failed', 'No Kad Pengenalan Tiada Dalam Rekod');
} elseif ($request->nokp != null) {
$lelong = Lelong::where('id', $request->lelong_id)->first();
$lelbid = LelongBid::where('kodcaw', $user['kodcaw'])
->where('lelong_id', $request->lelong_id);
$arraylelbid = $lelbid->pluck('norujukan')->toArray();
$datalelbid = $lelbid->get();
$getic = Gadai::on($datalelbid[0]['kodcaw'])->whereIn('norujukan', $arraylelbid)
->where('gadai.nokp', $request->nokp)
->get()->toArray();
// dd($getic);
// $getic = LelongBid::join('gadai', 'lelongbid.norujukan', '=', 'gadai.norujukan')
// ->where('lelongbid.kodcaw', $user['kodcaw'])
// ->where('gadai.nokp', $request->nokp)
// ->where('lelongbid.lelong_id', $request->lelong_id)
// ->get();
// if(empty($ic)) {
// return redirect()->route('tangguhlelong.carian', $request->lelong_id)->with('failed','Tiada Dalam Rekod Lelongan');
if ($getic) {
foreach ($getic as $index1 => $ic) {
$getnorujukan = LelongBid::where('norujukan', $ic['norujukan'])
// ->where('jbg', $ic['tempoh'])
->where('lelongbid.kodcaw', $user['kodcaw'])
->where('lelong_id', $request->lelong_id)
->get();
// dd($getnorujukan);
$customer = LelongBid::where('kodcaw', $user['kodcaw']);
$arraycustomer = $customer->pluck('kodcaw')->toArray();
$datacustomer = $customer->get();
$customer_detail = Customer::query()
->join('poskod', 'customer.poskod', '=', 'poskod.poskod')
->join('daerah', 'poskod.koddaerah', '=', 'daerah.koddaerah')
->join('negeri', 'poskod.kodnegeri', '=', 'negeri.kodnegeri')
->where('customer.kpbaru', $ic['nokp'])
->orWhere('customer.kplama', $ic['nokp'])
->first();
// dd($customer_detail);
foreach ($getnorujukan as $norujukan) {
$getic[$index1]['user_details'] = $getnorujukan;
$getic[$index1]['t_lelong'] = $lelong->tarikh_lelong;
// $getic[$index1]['sdhadapengesahan'] = $adapengesahan;
$getic[$index1]['lelongbid_id'] = $norujukan['id'];
}
$lelong_id = $request->lelong_id;
} // end foreach
return view('tangguhlelong.searchtodownload', compact('getic', 'customer_detail', 'user', 'lelong_id', 'namacaw'));
} else {
return redirect()->route('tangguhlelong.carian', $request->lelong_id)->with('failed', 'Tiada Dalam Rekod Lelongan');
} // end if($getic)
} // tutup nokp != null
}
public function tangguhlelong(Request $request)
{
// dd($request->all());
$user = Auth::user();
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$lelbidmarhun = $request->checkboxdata;
if ($lelbidmarhun == null) {
return redirect()->route('tangguhlelong.carian', $request->lelong_id)->with('failed', 'Sila Klik Pada Kotak Semak');
} else {
$lelbidmarhun = $request->checkboxdata;
$lelong = Lelong::where('id', $request->lelong_id)->get()->toArray();
$arraynorujukan = [];
foreach ($lelbidmarhun as $bidmarhun) {
// dd($bidmarhun);
$lelongbidmarhun = LelongBidMarhun::join('lelongbid', 'lelongbidmarhun.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.id', $bidmarhun)
->select('lelongbidmarhun.id as lelongbidmarhun_id',
'lelongbidmarhun.bil',
'lelongbidmarhun.marhun',
'lelongbidmarhun.nota',
'lelongbidmarhun.old_karat',
'lelongbidmarhun.karat',
'lelongbidmarhun.old_berat',
'lelongbidmarhun.berat',
'lelongbidmarhun.old_harga',
'lelongbidmarhun.harga',
'lelongbidmarhun.old_nmarhun',
'lelongbidmarhun.n_marhun',
'lelongbidmarhun.old_hargaasas',
'lelongbidmarhun.hargaasas',
'lelongbid.id as lelongbid_id',
'lelongbid.caw_id',
'lelongbid.kodcaw',
'lelongbid.norujukan',
'lelongbid.t_lelong',
'lelongbid.hargaasas',
'lelongbid.nopembeli',
'lelongbid.jbg',
'lelongbid.kadarupah',
'lelongbid.upahsimpan',
'lelongbid.ansuran',
'lelongbid.nilaimarhun',
'lelongbid.pinjaman',
'lelongbid.bakiupah',
'lelongbid.cajlain',
'lelongbid.cajlelong',
'lelongbid.baki',
'lelongbid.berat',
'lelongbid.marhun'
)
->get()->toArray();
$lelbid = LelongBid::where('id', $lelongbidmarhun[0]['lelongbid_id'])->first();
$lelbid->status_semak = 1;
$lelbid->update();
// $updatelelbid = LelongBid::where('id', $lelongbidmarhun[0]['id'])
$pengesahan = new Pengesahan;
$pengesahan->lelong_id = $request->lelong_id;
$pengesahan->lelongbid_id = $bidmarhun;
$pengesahan->lelongbidmarhun_id = $lelongbidmarhun[0]['lelongbidmarhun_id'];
$pengesahan->norujukan = $lelongbidmarhun[0]['norujukan'];
$pengesahan->diminta_oleh = $user->id;
$pengesahan->diminta_pada = $currentdate;
$pengesahan->status = 2;
$pengesahan->status_ubah = 6;
$pengesahan->save();
$tangguhlelong = new TangguhLelong;
$tangguhlelong->lelong_id = $request->lelong_id;
$tangguhlelong->lelongbid_id = $bidmarhun;
$tangguhlelong->norujukan = $lelongbidmarhun[0]['norujukan'];
$tangguhlelong->pinjaman = $lelongbidmarhun[0]['pinjaman'];
$tangguhlelong->ditangguh_oleh = $user->id;
$tangguhlelong->ditangguh_pada = $currentdate;
$tangguhlelong->nota = $request->remark;
$tangguhlelong->save();
array_push($arraynorujukan, ['norujukan' => $tangguhlelong['norujukan']]);
// $norujukan = implode(",", $arraynorujukan);
}
return redirect()->route('tangguhlelong.carian', $request->lelong_id)->with('success', 'Pengesahan Tangguh Lelong Berjaya, Norujukan:')
->with('norujukan', $arraynorujukan);
}
}
// Operasi
public function senarailelongtangguh()
{
$arrayinfo = [];
$tangguh = TangguhLelong::join('lelong', 'lelong.id', '=', 'tangguhlelong.lelong_id')
->join('cawangan', 'cawangan.caw_code', '=', 'tangguhlelong.kodcaw')
->where('tangguhlelong.status', '!=', 4)
->where('lelong.sts_lelong', 0)
->select('tangguhlelong.kodcaw', 'tangguhlelong.lelong_id', 'lelong.sts_lelong', 'cawangan.caw_name', 'lelong.tarikh_lelong', 'cawangan.caw_code', 'lelong.jbg')
->distinct()
->get();
// display only cwgn yg mohon tangguh 24.01.2023..to be continued..done
foreach ($tangguh as $index => $t) {
$sag = TangguhLelong::where('lelong_id', $t['lelong_id'])
->where('kodcaw', $t['caw_code'])
->where('status', '!=', 4)
->select('norujukan')
->get()
->count();
$tangguh[$index]['bilsag'] = $sag;
array_push($arrayinfo, ['t' => $t, 'sag' => $sag]);
}
return view('tangguhlelong.senleltangguh', compact('tangguh', 'arrayinfo'));
}
public function senaraisahtangguh($lelong_id, $caw_code)
{
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$pengesahan = Pengesahan::join('tangguhlelong', 'pengesahan.norujukan', '=', 'tangguhlelong.norujukan')
->where('pengesahan.lelong_id', $lelong_id)
->whereNull('pengesahan.disahkan_oleh')
->whereNull('pengesahan.disahkan_pada')
->whereNull('tangguhlelong.tarikhtangguh')
->get();
// dd($pengesahan);
foreach ($pengesahan as $index1 => $sah) {
$lelongbid = LelongBid::where('id', $sah->lelongbid_id)
->where('norujukan', $sah->norujukan)
// ->where('kodcaw', $caw_code)
->get();
// dd($sah->norujukan);
$pengesahan[$index1]['bid_details'] = $lelongbid;
$pengesahan[$index1]['nota'] = $sah->nota;
}
// dd($pengesahan);
return view('tangguhlelong.sensahpc', compact('pengesahan', 'lelong_id', 'caw_code'));
}
public function sahkantangguhlel(Request $request)
{
// dd($request->all());
$user = Auth::user();
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$lelbidmarhun = $request->checkboxdata;
$lelong = Lelong::where('id', $request->lelong_id)->get()->toArray();
foreach ($lelbidmarhun as $bidmarhun) {
// dd($bidmarhun);
$lelongbidmarhun = LelongBidMarhun::join('lelongbid', 'lelongbidmarhun.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.id', $bidmarhun)
->select('lelongbidmarhun.id as lelongbidmarhun_id',
'lelongbidmarhun.bil',
'lelongbidmarhun.marhun',
'lelongbidmarhun.nota',
'lelongbidmarhun.old_karat',
'lelongbidmarhun.karat',
'lelongbidmarhun.old_berat',
'lelongbidmarhun.berat',
'lelongbidmarhun.old_harga',
'lelongbidmarhun.harga',
'lelongbidmarhun.old_nmarhun',
'lelongbidmarhun.n_marhun',
'lelongbidmarhun.old_hargaasas',
'lelongbidmarhun.hargaasas',
'lelongbid.id as lelongbid_id',
'lelongbid.caw_id',
'lelongbid.kodcaw',
'lelongbid.norujukan',
'lelongbid.t_lelong',
'lelongbid.hargaasas',
'lelongbid.nopembeli',
'lelongbid.jbg',
'lelongbid.kadarupah',
'lelongbid.upahsimpan',
'lelongbid.ansuran',
'lelongbid.nilaimarhun',
'lelongbid.pinjaman',
'lelongbid.bakiupah',
'lelongbid.cajlain',
'lelongbid.cajlelong',
'lelongbid.baki',
'lelongbid.berat',
'lelongbid.marhun'
)
->get()->toArray();
// dd($lelongbidmarhun);
$pengesahan = Pengesahan::where('lelongbidmarhun_id', $lelongbidmarhun[0]['lelongbidmarhun_id'])
->where('lelongbid_id', $lelongbidmarhun[0]['lelongbid_id'])
->where('norujukan', $lelongbidmarhun[0]['norujukan'])
->first();
$pengesahan->disahkan_oleh = $user->id;
$pengesahan->disahkan_pada = $currentdate;
$pengesahan->status = 2;
$pengesahan->save();
$tangguhlelong = TangguhLelong::where('lelong_id', $request->lelong_id)
->where('lelongbid_id', $bidmarhun)
->where('norujukan', $lelongbidmarhun[0]['norujukan'])
->first();
$tangguhlelong->tarikhtangguh = $currentdate;
$tangguhlelong->status = 2;
$tangguhlelong->save();
$biddelete = LelongBid::join('lelongbidmarhun', 'lelongbid.id', '=', 'lelongbidmarhun.lelongbid_id')
->where('lelongbid.id', $tangguhlelong->lelongbid_id)
->where('lelongbid.norujukan', $tangguhlelong->norujukan)
->where('lelongbid.lelong_id', $request->lelong_id)
->delete();
$caw_code = $request->kodcaw;
}
return redirect()->route('pengesahan.senaraisahtangguh', [$request->lelong_id, $caw_code])->with('success', 'Pengesahan Berjaya');
}
// PC
public function listtangguh($lelong_id, $caw_code)
{
$user = Auth::user();
// dd($id);
$tangguhlelong = TangguhLelong::join('lelong', 'tangguhlelong.lelong_id', '=', 'lelong.id')
->where('tangguhlelong.lelong_id', $lelong_id)
->where('tangguhlelong.norujukan', 'like', "%$caw_code%")
->whereNotNull('tangguhlelong.tarikhtangguh')
->select('tangguhlelong.id as tangguhlelong_id',
'tangguhlelong.lelongbid_id',
'tangguhlelong.norujukan',
'tangguhlelong.tarikhtangguh',
'tangguhlelong.ditangguh_pada',
'tangguhlelong.ditangguh_oleh',
'tangguhlelong.nota',
'lelong.id as lelong_id',
'lelong.tarikh_lelong',
'lelong.harga_emas_asas',
'lelong.jbg',
'lelong.cajlelong',
'lelong.sts_lelong'
)
->get();
// dd($tangguhlelong);
foreach ($tangguhlelong as $index1 => $tanguhlel) {
$getkodcaw = LelongBid::join('cawangan', 'lelongbid.kodcaw', '=', 'cawangan.caw_code')
->where('lelong_id', $lelong_id)
->where('kodcaw', $caw_code)
->select('cawangan.caw_name', 'cawangan.caw_code')
->first();
$tangguhlelong[$index1]['details'] = $tanguhlel;
// $tangguhlelong[$index1]['nama_caw'] = $getkodcaw;
}
// dd($tangguhlelong);
return view('tangguhlelong.listtangguh', compact('tangguhlelong', 'lelong_id', 'caw_code'));
}
public function taglelbidmarhun($id, $norujukan, $tangguhlelong_id)
{
$tangguh = TangguhLelong::where('id', $tangguhlelong_id);
$arraytangguh = $tangguh->pluck('norujukan')->toArray();
$datatangguh = $tangguh->get();
// dd($datatangguh);
foreach ($datatangguh as $index => $data) {
}
$tangguhlelong = GadaiMarhun::on($datatangguh[0]['kodcaw'])
->where('norujukan', $norujukan)
->get();
// dd($tangguhlelong);
// $tangguhlelong = TangguhLelong::join('gadaimarhun', 'tangguhlelong.norujukan', '=', 'gadaimarhun.norujukan')
// ->where('gadaimarhun.norujukan', $norujukan)
// ->where('tangguhlelong.id', $tangguhlelong_id)
// // ->where('tangguhlelong.lelong_id', $id)
// ->select('tangguhlelong.id as tangguhlelong_id',
// 'tangguhlelong.lelong_id',
// 'tangguhlelong.lelongbid_id',
// 'tangguhlelong.norujukan',
// 'tangguhlelong.pinjaman',
// 'tangguhlelong.tarikhtangguh',
// 'tangguhlelong.nota as tangguh_nota',
// 'tangguhlelong.pinjaman',
// 'gadaimarhun.bil',
// 'gadaimarhun.marhun',
// 'gadaimarhun.nota as gadai_nota',
// 'gadaimarhun.karat',
// 'gadaimarhun.berat',
// 'gadaimarhun.harga',
// 'gadaimarhun.n_marhun'
// )
// ->get();
// dd($tangguhlelong);
$caw_names = TangguhLelong::join('cawangan', 'tangguhlelong.kodcaw', '=', 'cawangan.caw_code')
->where('tangguhlelong.norujukan', $norujukan)
->select('cawangan.caw_name', 'cawangan.caw_code')
->first();
// dd($caw_names);
return view('tangguhlelong.taglelbidmarhun', compact('tangguhlelong', 'id', 'norujukan', 'caw_names', 'datatangguh'));
}
public function mohontangguhlelong(Request $request)
{
// new added 120922 nisha
$user = Auth::user();
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$current = new Carbon;
$t_mohon = $current->toDateString();
$selectedbid_id = $request->lelongbid_id;
// dd($selectedbid_id);
$nokp = $request->nokp;
$lelong_id = $request->lelong_id;
if (empty($selectedbid_id)) {
return redirect()->route('tangguhlelong.carian', $request->lelong_id)->with('failed', 'Sila Pilih No Rujukan Terlebih Dahulu');
} else {
$lelongbid = LelongBid::whereIn('lelongbid.id', $selectedbid_id)
->get();
// dd($lelongbid);
$arraynorujukan = [];
foreach ($lelongbid as $index1 => $bidmarhun) {
// dd($bidmarhun->toArray());
$lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $bidmarhun->id)
->get();
$bidmarhun['lelongbidmarhun'] = $lelongbidmarhun->toArray();
if (empty($bidmarhun->nmarhuns)) {
return redirect()->route('tangguhlelong.carian', $request->lelong_id)->with('failed', 'Sila Maklum Operasi Kemaskini Harga Emas Lelong Terlebih Dahulu');
} else {
$bidmarhun['percents'] = round(($bidmarhun->pinjaman / $bidmarhun->nmarhuns * 100), 2);
$history = TangguhLelong::where('lelongbid_id', $bidmarhun->id)
->first();
if ($history) {
return redirect()->route('tangguhlelong.carian', $request->lelong_id)->with('failed', 'Maaf No Rujukan Telah Wujud Dalam Senarai Mohon Tangguh');
} elseif ($bidmarhun->fasa == 2) {
// block tangguh sekiranya telah masuk fasa 2
return redirect()->route('tangguhlelong.carian', $request->lelong_id)->with('failed', 'Maaf No Rujukan Telah Berada Dalam Fasa 2');
} else {
$tangguhlelong = new TangguhLelong; // pastikan hanya 1 kali insert utk lelong_id & norujukan yg sama
$tangguhlelong->kodcaw = $bidmarhun->kodcaw;
$tangguhlelong->lelong_id = $request->lelong_id;
$tangguhlelong->lelongbid_id = $bidmarhun->id;
$tangguhlelong->norujukan = $bidmarhun->norujukan;
$tangguhlelong->pinjaman = $bidmarhun->pinjaman;
$tangguhlelong->ditangguh_oleh = $user->id;
$tangguhlelong->ditangguh_pada = $currentdate;
$tangguhlelong->status = 0;
$tangguhlelong->save();
$pengesahan = new Pengesahan;
$pengesahan->lelong_id = $request->lelong_id;
$pengesahan->lelongbid_id = $bidmarhun->id;
$pengesahan->lelongbidmarhun_id = 0;
$pengesahan->norujukan = $bidmarhun->norujukan;
$pengesahan->diminta_oleh = $user->id;
$pengesahan->diminta_pada = $currentdate;
$pengesahan->save();
}
$cwgn = Cawangan::where('caw_code', '=', $bidmarhun->kodcaw)
->first();
$customer = Customer::where('kpbaru', '=', $nokp)
->orWhere('kplama', '=', $nokp)
->join('poskod', 'customer.poskod', '=', 'poskod.poskod')
->join('daerah', 'poskod.koddaerah', '=', 'daerah.koddaerah')
->join('negeri', 'poskod.kodnegeri', '=', 'negeri.kodnegeri')
->first();
$lelongbid[$index1]['nama'] = ($customer) ? $customer : dd($nokp);
}
}
// get staf cwgn roles harian
$roles_harian_penilai = Http::get(config('app.api_url_kaunter').'api/roles_harian/'.$user->kodcaw, [
'role_harian' => 'penilai',
])->json();
$roles_harian_khazanah = Http::get(config('app.api_url_kaunter').'api/roles_harian/'.$user->kodcaw, [
'role_harian' => 'khazanah',
])->json();
$roles_harian_pc = Http::get(config('app.api_url_kaunter').'api/roles_harian/'.$user->kodcaw, [
'role_harian' => 'pc',
])->json();
// dd($roles_harian_penilai,$roles_harian_khazanah,$roles_harian_pc);
}
// return view('pdf.brgtangguhlelong',compact('lelongbid','lelongbidmarhun','customer','cwgn','t_mohon','nokp','roles_harian_penilai','roles_harian_khazanah','roles_harian_pc'));
$pdf = PDF::loadView('pdf.brgtangguhlelong', compact('lelongbid', 'lelongbidmarhun', 'customer', 'cwgn', 't_mohon', 'nokp', 'roles_harian_penilai', 'roles_harian_khazanah', 'roles_harian_pc'))
->setPaper('a4', 'potrait');
return $pdf->download('Borang Tangguh Lelong '.$lelong_id.'.pdf');
}
public function ulangdownloadmohon($lelongbid_id)
{
$user = Auth::user();
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$current = new Carbon;
$t_mohon = $current->toDateString();
$selectedbid_id = $lelongbid_id;
// dd($selectedbid_id);
// $nokp = $request->nokp;
// $lelong_id = $request->lelong_id;
$lelongbid = LelongBid::where('lelongbid.id', $selectedbid_id)
->get();
$arraynorujukan = [];
foreach ($lelongbid as $index1 => $bidmarhun) {
$cust = Gadai::on($bidmarhun->kodcaw)->where('norujukan', $bidmarhun->norujukan)
->first();
// dd($cust['nokp']);
// to get nokp
$nokp = $cust['nokp'];
$lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $bidmarhun->id)
->get();
$bidmarhun['percents'] = round(($bidmarhun->pinjaman / $bidmarhun->nmarhuns * 100), 2);
$history = TangguhLelong::where('lelongbid_id', $bidmarhun->id)
->first();
$cwgn = Cawangan::where('caw_code', '=', $bidmarhun->kodcaw)
->first();
$customer = Customer::where('kpbaru', '=', $cust['nokp'])
->orWhere('kplama', '=', $cust->nokp)
->join('poskod', 'customer.poskod', '=', 'poskod.poskod')
->join('daerah', 'poskod.koddaerah', '=', 'daerah.koddaerah')
->join('negeri', 'poskod.kodnegeri', '=', 'negeri.kodnegeri')
->first();
$lelongbid[$index1]['nama'] = ($customer) ? $customer : dd($cust['nokp']);
}
// get staf cwgn roles harian
$roles_harian_penilai = Http::get(config('app.api_url_kaunter').'api/roles_harian/'.$user->kodcaw, [
'role_harian' => 'penilai',
])->json();
$roles_harian_khazanah = Http::get(config('app.api_url_kaunter').'api/roles_harian/'.$user->kodcaw, [
'role_harian' => 'khazanah',
])->json();
$roles_harian_pc = Http::get(config('app.api_url_kaunter').'api/roles_harian/'.$user->kodcaw, [
'role_harian' => 'pc',
])->json();
// dd($roles_harian_penilai,$roles_harian_khazanah,$roles_harian_pc);
// return view('pdf.brgtangguhlelong',compact('lelongbid','lelongbidmarhun','customer','cwgn','t_mohon','nokp','roles_harian_penilai','roles_harian_khazanah','roles_harian_pc'));
$pdf = PDF::loadView('pdf.brgtangguhlelong', compact('lelongbid', 'lelongbidmarhun', 'customer', 'cwgn', 't_mohon', 'nokp', 'roles_harian_penilai', 'roles_harian_khazanah', 'roles_harian_pc'))
->setPaper('a4', 'potrait');
return $pdf->download('Borang Tangguh Lelong '.$selectedbid_id.'.pdf');
}
public function sentangguh()
{
$user = Auth::user();
// baru mohon@belum dilulus
$tangguh = TangguhLelong::join('lelongbid', 'tangguhlelong.lelongbid_id', '=', 'lelongbid.id')
->where('tangguhlelong.kodcaw', $user->kodcaw)
->where(function ($query) {
$query->whereNotNull('tangguhlelong.status')
->orWhere('tangguhlelong.status', '!=', 4);
})
->get();
foreach ($tangguh as $index1 => $t) {
$lelongbid = LelongBid::join('tangguhlelong', 'tangguhlelong.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.id', $t->lelongbid_id)
->where('lelongbid.lelong_id', $t->lelong_id)
->where('lelongbid.norujukan', $t->norujukan)
->get();
$tangguh[$index1]['tdet'] = $lelongbid;
}
// telah dilulus
$tlhtangguh = TangguhLelong::where('tangguhlelong.kodcaw', $user->kodcaw)
->where('tangguhlelong.status', '=', 4)
->get();
foreach ($tlhtangguh as $index1 => $l) {
$lelong = Lelong::join('tangguhlelong', 'tangguhlelong.lelong_id', '=', 'lelong.id')
->where('lelong.id', $l->lelong_id)
->where('tangguhlelong.kodcaw', $user->kodcaw)
->get();
$tlhtangguh[$index1]['tlh'] = $lelong;
}
// ditangguh terus dari operasi/ bukan permohonan cwgn
$oprtangguh = TangguhLelong::where('tangguhlelong.kodcaw', $user->kodcaw)
->whereNull('tangguhlelong.status')
->get();
foreach ($oprtangguh as $index1 => $o) {
$lelong = TangguhLelong::where('lelong_id', $o->lelong_id)
->where('kodcaw', $user->kodcaw)
->get();
$oprtangguh[$index1]['opr'] = $lelong;
}
return view('tangguhlelong.senaraimohontangguh', compact('user', 'tangguh', 'tlhtangguh', 'oprtangguh'));
}
public function uploadborang(Request $request)
{
$data = base64_encode($request->borang->get());
$file_type = $request->borang->extension();
$tangguhlelong = TangguhLelong::where('lelongbid_id', '=', $request->lelongbid_id)
->where('norujukan', '=', $request->norujukan)->first();
$tangguhlelong->filename = $data;
$tangguhlelong->file_type = $file_type;
$tangguhlelong->status = 1;
$tangguhlelong->update();
return redirect()->route('tangguhlelong.sentangguh', $request->lelong_id)
->with('success', 'Borang Tangguh Lelong Berjaya Di Simpan.');
}
public function operasisenmohontangguh($lelong_id, $caw_code)
{
$caw_code = $caw_code;
$lelong_id = $lelong_id;
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$pengesahan = Pengesahan::join('tangguhlelong', 'pengesahan.norujukan', '=', 'tangguhlelong.norujukan')
->where('tangguhlelong.kodcaw', $caw_code)
->where('pengesahan.lelong_id', $lelong_id)
->whereNull('pengesahan.disahkan_oleh')
->whereNull('pengesahan.disahkan_pada')
->whereNull('tangguhlelong.tarikhtangguh')
->whereIn('tangguhlelong.status', [0, 1, 2, 3, 4])
->get();
// dd($pengesahan);
foreach ($pengesahan as $index1 => $sah) {
$lelongbid = LelongBid::where('id', $sah->lelongbid_id)
->where('norujukan', $sah->norujukan)
// ->where('kodcaw', $caw_code)
->get();
// dd($lelongbid);
$pengesahan[$index1]['bid_details'] = $lelongbid;
$pengesahan[$index1]['nota'] = $sah->nota;
}
$filter_null = function ($x) {
if (! empty($x->bid_details->first())) {
return $x;
}
};
$filtered_pengesahan = $pengesahan->filter($filter_null);
// return view('tangguhlelong.sensahpc', compact('pengesahan', 'lelong_id' , 'caw_code'));
return view('tangguhlelong.senactionoperasi', compact('filtered_pengesahan', 'lelong_id', 'caw_code'));
}
public function operasidownloadborang($lelongbid_id)
{
// dd($lelongbid_id);
$selectedbid_id = $lelongbid_id;
$tangguh = TangguhLelong::where('lelongbid_id', $selectedbid_id)
->first();
// $download = Http::get(config('api.url').'/admin/permohonan/viewfiles',[
// 'files_id' => $tangguh->files_id
// ])->json();
// update status=operasi download borang tangguh
$tangguh->status = 2; // operasi download
$tangguh->update();
return response(base64_decode($tangguh['filename']), 200, [
'Content-type' => 'application/'.$tangguh['file_type'],
'Content-Disposition' => 'inline; filename='.$tangguh['norujukan'],
]);
}
public function operasiuploadborang(Request $request)
{
// dd($request->all());
$data = base64_encode($request->surat->get());
$file_type = $request->surat->extension();
$tangguhlelong = TangguhLelong::where('lelongbid_id', '=', $request->lelongbidid_modal)
->where('norujukan', '=', $request->norujukan_modal)->first();
// dd($tangguhlelong->toArray());
// dd($data);
// dd($tangguhlelong);
$tangguhlelong->filename = $data;
$tangguhlelong->file_type = $file_type;
$tangguhlelong->status = 3;
$tangguhlelong->update();
return redirect()->route('pengesahan.opsenaraisahtangguh', [$tangguhlelong->lelong_id, $tangguhlelong->kodcaw])
->with('success', 'Borang Pengesahan Tangguh Lelong Berjaya Di Simpan.');
}
public function operasisahtangguh(Request $request)
{
$user = Auth::user();
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
// dd($request->all());
$tangguhlelong = TangguhLelong::where('lelongbid_id', '=', $request->lelongbidid_mdl)
->where('norujukan', '=', $request->norujukan_mdl)->first();
if ($request->sahkan == '1') {
$tangguhlelong->status = 4;
$tangguhlelong->ditangguh_oleh = $user->id;
$tangguhlelong->ditangguh_pada = $currentdate;
$tangguhlelong->update();
// update pengesahan sbb operasi dh lulus
$pengesahan = Pengesahan::where('lelongbid_id', '=', $request->lelongbidid_mdl)
->where('norujukan', '=', $request->norujukan_mdl)->first();
$pengesahan->disahkan_oleh = $user->id;
$pengesahan->disahkan_pada = $currentdate;
$pengesahan->update();
// delete from lelongbid,lelongbidmarhun
$lelongbidmarhun = LelongBidMarhun::where('lelongbidmarhun.lelongbid_id', $request->lelongbidid_mdl)
->delete();
$lelongbid = LelongBid::where('lelongbid.id', $request->lelongbidid_mdl)
->delete();
$updategadai = Http::withOptions(['verify' => config('app.api_verify')])
->post(config('app.api_url').'taglel/revert', [
'kodcaw' => $tangguhlelong->kodcaw,
'norujukan' => $request->norujukan_mdl,
])
->json();
return redirect()->route('pengesahan.opsenaraisahtangguh', [$tangguhlelong->lelong_id, $tangguhlelong->kodcaw])
->with('success', 'Tangguh Lelong Telah Di Lulus.');
} else {
$tangguhlelong->status = 99;
$tangguhlelong->update();
return redirect()->route('pengesahan.opsenaraisahtangguh', [$tangguhlelong->lelong_id, $tangguhlelong->kodcaw])
->with('success', 'Tangguh Lelong Tidak Di Lulus.');
}
}
public function senaraitlhtangguh()
{
$arrayinfo = [];
$arraysms = [];
$arraysls = [];
$lelong = TangguhLelong::join('lelong', 'lelong.id', '=', 'tangguhlelong.lelong_id')
->join('cawangan', 'cawangan.caw_code', '=', 'tangguhlelong.kodcaw')
->where(function ($query) {
$query->whereNull('tangguhlelong.status')
->orWhere('tangguhlelong.status', '=', 4);
})
->select('tangguhlelong.kodcaw', 'tangguhlelong.lelong_id', 'lelong.sts_lelong', 'cawangan.caw_name', 'lelong.tarikh_lelong', 'cawangan.caw_code', 'lelong.jbg')
->distinct()
->get();
// display only cwgn yg mohon tangguh 24.01.2023..to be continued ..done
foreach ($lelong as $index => $info) {
$sag = TangguhLelong::where('lelong_id', $info['lelong_id'])
->where('kodcaw', $info['caw_code'])
->where(function ($query) {
$query->whereNull('tangguhlelong.status')
->orWhere('tangguhlelong.status', '=', 4);
})
->select('norujukan')
->get()
->count();
$tangguh[$index]['bilsag'] = $sag;
if ($info['sts_lelong'] == '0') {
array_push($arraysms, ['info' => $info, 'sag' => $sag]);
} else {
array_push($arraysls, ['info' => $info, 'sag' => $sag]);
}
// array_push($arrayinfo,['info'=>$info, 'sag'=>$sag]);
}
return view('tangguhlelong.senleltlhtangguh', compact('arraysms', 'arraysls', 'lelong', 'arrayinfo'));
}
public function operasisenlulustangguh($lelong_id, $caw_code)
{
$caw_code = $caw_code;
$lelong_id = $lelong_id;
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$tangguh = TangguhLelong::where(function ($query) {
$query->whereNull('tangguhlelong.status')
->orWhere('tangguhlelong.status', '=', 4);
})
->where('kodcaw', '=', $caw_code)
->where('lelong_id', '=', $lelong_id)
->get();
// dd($tangguh);
if ($tangguh) {
foreach ($tangguh as $index1 => $sah) {
$lelongbid = CawanganLelong::join('lelong', 'cawangan_lelong.lelong_id', '=', 'lelong.id')
->where('lelong.id', $sah->lelong_id)
->get();
// dd($lelongbid);
$tangguh[$index1]['bid_details'] = $lelongbid;
$tangguh[$index1]['status'] = $sah['status'];
}
}
// $filter_null = function($x){
// if(! empty( $x->bid_details->first())){
// return $x;
// }
// };
// $filtered_pengesahan = $pengesahan->filter($filter_null);0
return view('tangguhlelong.sentangguhoperasi', compact('tangguh', 'lelong_id', 'caw_code'));
}
public function operasidownloadboranglulus($lelongbid_id)
{
// dd($lelongbid_id);
$selectedbid_id = $lelongbid_id;
$tangguh = TangguhLelong::where('lelongbid_id', $selectedbid_id)
->first();
// $download = Http::get(config('api.url').'/admin/permohonan/viewfiles',[
// 'files_id' => $tangguh->files_id
// ])->json();
// update status=operasi download borang tangguh
// $tangguh->status = 2; //operasi download
// $tangguh->update();
return response(base64_decode($tangguh['filename']), 200, [
'Content-type' => 'application/'.$tangguh['file_type'],
'Content-Disposition' => 'inline; filename='.$tangguh['norujukan'],
]);
}
public function tangguhlelongoperasi()
{
return view('lelong.tangguhlelongoperasi');
}
public function tangguhlelongsearchsag(Request $request)
{
if ($request->norujukan == null) {
return redirect()->route('tangguhlelong.tangguhlelongoperasi')->with('failed', 'Sila isi ruangan no rujukan dibawah.');
}
$lelong_bid = LelongBid::with('lelong', 'cawangan')->where('norujukan', $request->norujukan)->first();
if ($lelong_bid) {
if ($lelong_bid->status_jual == 1) {
return redirect()->route('tangguhlelong.tangguhlelongoperasi')->with('failed', 'No rujukan '.$request->norujukan.' telah berjaya dilelong pada '.$lelong_bid->lelong->tarikh_lelong);
} else {
$sumcajlelong = $lelong_bid->hargaasas * ($lelong_bid->lelong->cajlelong / 100);
$cajlelongnew = round($sumcajlelong, 1, 1);
$totalbaki = $lelong_bid->hargaasas - $lelong_bid->pinjaman - $lelong_bid->bakiupah - $cajlelongnew;
$lelong_bid['cajlelong'] = $cajlelongnew;
$lelong_bid['baki'] = $totalbaki;
$lelong_available = Lelong::whereHas('cawangan', function ($query) use ($lelong_bid) {
$query->where('cawangan.id', '=', $lelong_bid->cawangan->id);
})
->where('sts_lelong', 0)
->where('id', '!=', $lelong_bid->lelong->id)
->where('tarikh_lelong', '>', $lelong_bid->lelong->tarikh_lelong)
->get();
return view('lelong.tangguhlelongdetail', compact('lelong_bid', 'lelong_available'));
}
} else {
return redirect()->route('tangguhlelong.tangguhlelongoperasi')->with('failed', 'No rujukan '.$request->norujukan.' tiada dalam senarai lelongan.');
}
}
public function tangguhlelongsubmitform(Request $request)
{
$user = Auth::user();
$current_date = Carbon::now();
$current_date = $current_date->toDateTimeString();
$lelong_id_asal = $request->lelong_id;
$lelong_bid = LelongBid::find($request->lelong_bid_id);
$log_user = new LogUser;
$log_user->user_id = $user->id;
$log_user->date = $current_date;
$log_user->username = $user->username;
$log_user->nama_user = $user->name;
$log_user->norujukan = $lelong_bid->norujukan;
if ($request->jenis_tangguh == 'hapus') {
$lelong_bid_tangguh_lelong = new TangguhLelong;
$lelong_bid_tangguh_lelong->lelong_id = $lelong_bid->lelong_id;
$lelong_bid_tangguh_lelong->lelongbid_id = $lelong_bid->id;
$lelong_bid_tangguh_lelong->norujukan = $lelong_bid->norujukan;
$lelong_bid_tangguh_lelong->pinjaman = $lelong_bid->pinjaman;
$lelong_bid_tangguh_lelong->tarikhtangguh = $current_date;
$lelong_bid_tangguh_lelong->ditangguh_oleh = $user->id;
$lelong_bid_tangguh_lelong->ditangguh_pada = $current_date;
$lelong_bid_tangguh_lelong->nota = 'Ditangguh Oleh Operasi ('.$user->name.')';
$lelong_bid_tangguh_lelong->kodcaw = $lelong_bid->kodcaw;
$lelong_bid_tangguh_lelong->save();
Http::withOptions(['verify' => config('app.api_verify')])
->post(config('app.api_url').'taglel/revert', [
'kodcaw' => $lelong_bid->kodcaw,
'norujukan' => $lelong_bid->norujukan,
])->json();
$log_user->nota = 'Tangguh Lelong';
$lelong_bid->delete();
} else {
$lelong_id_baru = $request->jenis_tangguh;
$lelong_baru = Lelong::find($lelong_id_baru, ['id', 'tarikh_lelong']);
$lelong_bid->lelong_id = $lelong_baru->id;
$lelong_bid->t_lelong = $lelong_baru->tarikh_lelong;
$lelong_bid->update();
$log_user->nota = 'Pindah Lelong '.$lelong_id_asal.'-'.$lelong_id_baru;
}
$log_user->save();
$check_lelong_availability = LelongBid::where('lelong_id', $request->lelong_id)->select('id')->first();
if ($check_lelong_availability == null) {
Lelong::where('id', '=', $lelong_id_asal)->delete();
$log_user = new LogUser;
$log_user->user_id = $user->id;
$log_user->date = $current_date;
$log_user->username = $user->username;
$log_user->nama_user = $user->name;
$log_user->nota = 'Hapus Batch Lelong '.$lelong_id_asal;
$log_user->save();
}
$check_cawangan_availability = LelongBid::where('lelong_id', $lelong_id_asal)->where('caw_id', $lelong_bid->caw_id)->select('id')->first();
if ($check_cawangan_availability == null) {
CawanganLelong::where('lelong_id', $lelong_id_asal)->where('caw_id', $lelong_bid->caw_id)->delete();
}
return redirect()->route('tangguhlelong.tangguhlelongoperasi')->with('success', 'Berjaya tangguh lelong '.$lelong_bid->norujukan);
}
}