Add feature tangguh lelong operasi

This commit is contained in:
Amir Hassan
2023-04-05 15:24:56 +08:00
parent b5324d08dc
commit e3d075e3c9
5 changed files with 307 additions and 2 deletions
@@ -17,6 +17,7 @@ use App\Models\CawanganLelong;
use App\Models\TangguhLelong;
use App\Models\Pengesahan;
use App\Models\GadaiMarhun;
use App\Models\LogUser;
use PDF;
use DateTime;
use PHPUnit\Framework\Constraint\Count;
@@ -1016,5 +1017,115 @@ class TangguhLelongController extends Controller
}
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('fasa', $lelong_bid->lelong->fasa)
->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);
}
}