Files
lelong/app/Http/Controllers/MarhunController.php
T
faiqahzaman 7c4778bfca update
2022-03-23 14:04:59 +08:00

539 lines
20 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 App\Models\User;
use PDF;
use App\Models\Cawangan;
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\LelKarat_temp;
use App\Models\Pengesahan;
use App\Models\GadaiMarhun;
use App\Models\TangguhLelong;
use Carbon\Carbon;
class MarhunController 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($lelong_id)
{
$user = Auth::user();
$caw = Cawangan::where('caw_code','=',$user->kodcaw)->first();
$lelongbid = LelongBid::where('lelong_id', '=', $lelong_id)
->where('caw_id','=', $caw->id)
->get();
return view('marhun.senaraimarhun',compact('lelongbid','lelong_id'));
}
public function kemaskini(Request $request)
{
$user = Auth::user();
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
// dd($request->all());
$marhun = LelongBidMarhun::where('id','=',$request->idmarhun)->first();
$lelongbid = LelongBid::where('id','=',$marhun->lelongbid_id)->first();
// dd($marhun);
if($marhun->marhun != $request->marhun)
{
// dd($marhun->marhun);
$txtmarhun = ",1 " . $marhun->marhun ;
// dd($txtmarhun);
$lelongbid->marhun = $lelongbid->marhun ."1 " . $request->marhun . "," ;
$lelongbid->marhun = str_replace( $txtmarhun,"",$lelongbid->marhun);
}
$caw = CawanganLelong::where('id','=',$lelongbid->caw_id)->first();
$lelong = Lelong::where('id','=',$lelongbid->lelong_id)->first();
// $simkarat = LelKarat::where('lelong_id','=',$lelong->id)->get();
// foreach($simkarat as $karat)
// {
// if($karat->karat == $request->karat)
// {
if($request->karat != $marhun->karat)
{
// $checkdata = Pengesahan::where('lelongbid_id', $lelongbid->id)
// ->whereNull('disahkan_pada')
// ->first();
$karat = new Pengesahan;
$karat->lelong_id = $lelong->id;
$karat->lelongbid_id = $lelongbid->id;
$karat->lelongbidmarhun_id = $marhun->id;
$karat->norujukan = $lelongbid->norujukan;
$karat->diminta_oleh = $user->id;
$karat->diminta_pada = $currentdate;
$karat->status_ubah = 1;
$karat->save();
}
$bezaberat = $marhun->berat - $request->berat_emas;
$bezahargaasas = $marhun->hargaasas - $request->harga_asas;
// $val = round($request->berat_emas * $karat->harga);
$marhun->marhun = $request->marhun;
$marhun->karat = $request->karat;
$marhun->berat = $request->berat_emas;
$marhun->harga = $request->harga;
$marhun->n_marhun = $request->nilai_marhun;
$marhun->hargaasas = $request->harga_asas;
$marhun->save();
// dd($marhun->marhun);
$lelongbid->berat = $lelongbid->berat - ($bezaberat);
$lelongbid->hargaasas = $lelongbid->hargaasas - ($bezahargaasas);
$lelongbid->save();
// }
// }
return redirect()->route('marhun.show', [$lelongbid->id, $lelong->id])
->with('success','Kemaskini Marhun Berjaya');
}
public function show($id, $lelong_id)
{
$lelongbid = LelongBid::where('id','=',$id)->first();
$marhun = LelongBidMarhun::where('lelongbid_id','=',$id)->get();
$lelkarat = LelKarat::where('lelong_id','=',$lelongbid->lelong_id)->get();
$karatall = JenisKarat::all();
$emasall = JenisEmas::all();
// dd($lelkarat);
return view('marhun.marhun',compact('marhun','lelongbid','karatall','emasall','lelkarat', 'lelong_id'));
}
public function senarailelongmarhun(Request $request){
$user = Auth::user();
// $lelongid = CawanganLelong::join('lelong','cawangan_lelong.lelong_id','=','lelong.id')
// ->join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
// ->where('cawangan.caw_code','=',$user->kodcaw)
// ->get();
$senarai = CawanganLelong::join('lelong', 'cawangan_lelong.lelong_id', '=', 'lelong.id')
->join('cawangan','cawangan_lelong.caw_id', '=', 'cawangan.id')
->where('lelong.sts_lelong', 0)
->where('cawangan.caw_code','=',$user->kodcaw)
->get();
return view('marhun.senarailelongmarhun',compact('senarai'));
}
public function semak($id, $lelong_id)
{
$lelongbid = LelongBid::where('id','=',$id)
->where('lelong_id', $lelong_id)
->first();
$lelongbid->status_semak = 1;
$lelongbid->save();
return redirect()->route('marhun.show',[ $lelongbid->id, $lelong_id ])
->with('success','Semakan Marhun Berjaya');
}
public function tambahmarhun(Request $request)
{
// dd($request->all());
//get request from form and create lelongbidmarhun
$user = Auth::user();
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$lelongbid = LelongBid::where('norujukan', $request->norujukan_marhuntambahan)->first();
$lelong = Lelong::where('id','=',$lelongbid->lelong_id)->first();
$lelongbidmarhun = new LelongBidMarhun;
$lelongbidmarhun->lelongbid_id = $lelongbid->id;
$lelongbidmarhun->bil = 1;
$lelongbidmarhun->marhun = $request->marhuntambahan;
$lelongbidmarhun->nota = $request->notatambahan;
$lelongbidmarhun->karat = $request->karattambahan;
$lelongbidmarhun->berat = $request->berat_emastambahan;
$lelongbidmarhun->harga = $request->hargatambahan;
$lelongbidmarhun->n_marhun = $request->nilai_marhuntambahan;
$lelongbidmarhun->hargaasas = $request->harga_asastambahan;
$lelongbidmarhun->status_semak = 0;
$lelongbidmarhun->save();
$lelongbid->marhun = $lelongbid->marhun ."1 " . $request->marhuntambahan . "," ;
$lelongbid->berat = $lelongbid->berat + $request->berat_emastambahan;
$lelongbid->hargaasas = $lelongbid->hargaasas + $request->harga_asastambahan;
$lelongbid->save();
$karat = new Pengesahan;
$karat->lelong_id = $lelong->id;
$karat->lelongbid_id = $lelongbid->id;
$karat->lelongbidmarhun_id = $lelongbidmarhun->id;
$karat->norujukan = $lelongbid->norujukan;
$karat->diminta_oleh = $user->id;
$karat->diminta_pada = $currentdate;
$karat->status_ubah = 2;
$karat->save();
return redirect()->route('marhun.show',[$lelongbid->id,$lelongbid->lelong_id])
->with('success','Marhun Berjaya Ditambah');
}
public function exportmarhundetails($lelong_id)
{
$lelongs= LelongBid::where('lelong_id','=',$lelong_id)->get()->toArray();
$arraycaw= [];
$total_berat = 0;
$berat = 0;
$total_harga = 0;
$harga = 0;
$total_nmarhun = 0;
$nilai_marhun = 0;
$total_hargaasas = 0;
$hargaasas = 0;
foreach($lelongs as $index1=>$lelong){
$marhun= LelongBidMarhun::where('lelongbid_id','=',$lelong['id'])->get();
$total_berat = $total_berat + ($marhun->sum('berat'));
$total_harga = $total_harga + ($marhun->sum('harga'));
$total_nmarhun = $total_nmarhun + ($marhun->sum('n_marhun'));
$total_hargaasas = $total_hargaasas + ($marhun->sum('hargaasas'));
$lelongs[$index1]['detailmarhun']=$marhun;
}
array_push($arraycaw,[
'berat'=>$berat,
'harga'=>$harga,
'n_marhun'=>$nilai_marhun,
'hargaasas'=>$hargaasas
]);
$pdf = PDF::loadView('pdf.marhundetails',compact('lelongs','arraycaw','total_nmarhun','total_berat','total_harga','total_hargaasas'
))->setPaper('a4', 'potrait');
return $pdf->download('Senarai Marhun.pdf');
}
public function senarailelongubahmutu()
{
$lelong = Lelong::where('sts_lelong', 0)
->get();
return view('pengesahan.senarailelongubahmutu',compact('lelong'));
}
public function sahubahmutu($id)
{
// dd($request->all());
$mutumarhun = Lelong::join('pengesahan', 'lelong.id', '=', 'pengesahan.lelong_id')
->where('lelong.id', $id)
->whereNull('disahkan_oleh')
->select(
'pengesahan.disahkan_oleh',
'pengesahan.id as pengesahan_id',
'pengesahan.norujukan',
'lelong.id',
'lelong.tarikh_lelong',
'lelong.harga_emas_asas',
'lelong.jbg',
'lelong.cajlelong'
)
->get();
return view('pengesahan.perubahanmutumarhun', compact('mutumarhun', 'id'));
}
public function mutumarhun($pengesahan_id, $norujukan, $id)
{
$pengesahan = Pengesahan::where('id', $pengesahan_id)
->where('lelong_id', $id)
->where('norujukan', $norujukan)
->first();
$marhuns = LelongBidMarhun::where('lelongbid_id', $pengesahan->lelongbid_id)
// ->where('id', $pengesahan->lelongbidmarhun_id)
->get()->toArray();
$lelongbid = LelongBid::where('id', $pengesahan->lelongbid_id)->first();
$karat = Lelkarat::where('lelong_id', $id)->get();
foreach($marhuns as $index1=>$marhun)
{
$status = Pengesahan::where('id', $pengesahan_id)
->where('lelongbid_id', $marhun['lelongbid_id'])
->select('status_ubah')
->value('status_ubah');
$gadaimarhun = GadaiMarhun::where('marhun', $marhun['marhun'])
->where('norujukan', $lelongbid->norujukan)
->first();
if($gadaimarhun)
{
$karat = $karat->where('karat', $gadaimarhun->karat)->first();
$total = $karat->harga * $gadaimarhun->berat;
$hargaasas = round($total);
$marhuns[$index1]['old_marhun'] = $gadaimarhun->marhun;
$marhuns[$index1]['old_karat'] = $gadaimarhun->karat;
$marhuns[$index1]['old_berat'] = $gadaimarhun->berat;
$marhuns[$index1]['old_harga'] = $karat->harga;
$marhuns[$index1]['old_nilaimarhun'] = $total;
$marhuns[$index1]['old_hargaasas'] = $hargaasas;
$marhuns[$index1]['status_ubah'] = $status;
}
else
{
$karat = $karat->where('karat', $marhun['karat'])->first();
$total = $karat->harga * $marhun['berat'];
$hargaasas = round($total);
$marhuns[$index1]['old_marhun'] = $marhun{'marhun'};
$marhuns[$index1]['old_karat'] = $marhun['karat'];
$marhuns[$index1]['old_berat'] = $marhun['berat'];
$marhuns[$index1]['old_harga'] = $karat->harga;
$marhuns[$index1]['old_nilaimarhun'] = $total;
$marhuns[$index1]['old_hargaasas'] = $hargaasas;
$marhuns[$index1]['status_ubah'] = $status;
}
}
return view('pengesahan.mutumarhun', compact('marhuns', 'lelongbid', 'pengesahan_id', 'norujukan', 'id'));
}
public function terimaperubahan(Request $request)
{
// dd($request->all());
//update mutu marhun - gadaimarhun
$user = Auth::user();
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$pengesahan = Pengesahan::where('id', $request->pengesahan_id)
->first();
$pengesahan->disahkan_oleh = $user->id;
$pengesahan->disahkan_pada = $currentdate;
$pengesahan->update();
$gadaimarhun = GadaiMarhun::where('norujukan', $pengesahan->norujukan)->delete();
$lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $pengesahan->lelongbid_id)->get();
foreach($lelongbidmarhun as $bidmarhun)
{
$newmarhun = new GadaiMarhun;
$newmarhun->norujukan = $pengesahan->norujukan;
$newmarhun->bil = $bidmarhun->bil;
$newmarhun->marhun = $bidmarhun->marhun;
$newmarhun->nota = $bidmarhun->nota;
$newmarhun->karat = $bidmarhun->karat;
$newmarhun->berat = $bidmarhun->berat;
$newmarhun->save();
}
if($request->jenis_button == "terima")
{
$lelongbidmarhuns = LelongBidMarhun::join('pengesahan', 'lelongbidmarhun.lelongbid_id', '=', 'pengesahan.lelongbid_id')
->where('pengesahan.lelongbid_id', $pengesahan->lelongbid_id)
->where('pengesahan.id', $request->pengesahan_id)
->get();
foreach($lelongbidmarhuns as $bidmarhuns)
{
if($bidmarhuns->status_ubah == 3)
{
$bidmarhuns->delete();
}
else
{
$bidmarhuns->bil = $bidmarhun->bil;
$bidmarhuns->marhun = $bidmarhun->marhun;
$bidmarhuns->nota = $bidmarhun->nota;
$bidmarhuns->karat = $bidmarhun->karat;
$bidmarhuns->berat = $bidmarhun->berat;
$bidmarhuns->update();
}
}
}
else if($request->jenis_button == "tangguhlelong")
{
//add into table tangguhlelong
$tangguhlelong = new TangguhLelong;
$tangguhlelong->lelong_id = $pengesahan->lelong_id;
$tangguhlelong->lelongbid_id = $pengesahan->lelongbid_id;
$tangguhlelong->norujukan = $pengesahan->norujukan;
$tangguhlelong->tarikhtangguh = $currentdate;
$tangguhlelong->ditangguh_oleh = $user->id;
$tangguhlelong->ditangguh_pada = $currentdate;
$tangguhlelong->nota = 'Ditangguh Kerana Perubahan Mutu/Karat Marhun';
$tangguhlelong->save();
// $lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $pengesahan->lelongbid_id)->delete();
}
$this->pcdelete($request->pengesahan_id, $pengesahan->lelongbid_id);
// $lelongbidmarhunlast = LelongBidMarhun::where('lelongbid_id', $pengesahan->lelongbid_id)->get();
// $pengesahanlast = Pengesahan::join('lelongbidmarhun', 'pengesahan.lelongbid_id', '=', 'lelongbidmarhun.lelongbid_id')
// ->where('lelongbidmarhun.id', $lelongbidmarhunlast->id)
// ->where('lelongbid_id', $pengesahan->lelongbid_id)
// ->where('pengesahan.id', $request->pengesahan_id)
// ->first();
// $marhun = LelongBidMarhun::join('lelongbid', 'lelongbidmarhun.lelongbid_id', '=', 'lelongbid.id')
// ->where('lelongbid_id','=', $pengesahan->lelongbid_id)
// ->get();
// $lelongbid = LelongBid::where('lelongbid_id', $lelongbidmarhunlast->lelongbid_id)->first();
// $txtmarhun = ",1 " . $lelongbidmarhunlast->marhun ;
// $lelongbid->marhun = str_replace( $txtmarhun,"",$lelongbid->marhun);
// $lelongbid->berat = $lelongbid->berat - $lelongbidmarhunlast->berat_emastambahan;
// $lelongbid->hargaasas = $lelongbid->hargaasas - $lelongbidmarhunlast->harga_asastambahan;
// $lelongbid->save();
return redirect()->route('pengesahan.senarailelongubahmutu')->with('success','Pengesahan Mutu Marhun Berjaya');
}
public function submitdelete(Request $request){
// dd($request->all());
$user = Auth::user();
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
$marhun = LelongBidMarhun::join('lelongbid', 'lelongbidmarhun.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidmarhun.id','=',$request->lelongbidmarhun_id)
->where('lelongbid.id', $request->lelongbid_id)
->first();
$id = $request->lelongbid_id;
$lelong_id = $marhun->lelong_id;
$pengesahan = new Pengesahan;
$pengesahan->lelong_id = $marhun->lelong_id;
$pengesahan->lelongbid_id = $request->lelongbid_id;
$pengesahan->lelongbidmarhun_id = $request->lelongbidmarhun_id;
$pengesahan->norujukan = $marhun->norujukan;
$pengesahan->diminta_oleh = $user->id;
$pengesahan->diminta_pada = $currentdate;
$pengesahan->status_ubah = 3;
$pengesahan->save();
return redirect()->route('marhun.show', compact('id', 'lelong_id'))
->with('success','Permohonan Pengesahan Padam Marhun Telah Berjaya Dihantar');
}
public function pcdelete($id, $lelongbid_id)
{
$lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $lelongbid_id)->first();
$pengesahan = Pengesahan::join('lelongbidmarhun', 'pengesahan.lelongbid_id', '=', 'lelongbidmarhun.lelongbid_id')
->where('pengesahan.lelongbidmarhun_id', $lelongbidmarhun->id)
->where('pengesahan.lelongbid_id', $lelongbid_id)
->select('pengesahan.id as pengesahan_id')
->first();
$marhun = LelongBidMarhun::join('lelongbid', 'lelongbidmarhun.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid_id','=',$lelongbid_id)
->get();
$lelongbid = LelongBid::where('id', $lelongbid_id)->first();
$txtmarhun = ",1 " . $lelongbidmarhun->marhun ;
$lelongbid->marhun = str_replace( $txtmarhun,"",$lelongbid->marhun);
$lelongbid->berat = $lelongbid->berat - $lelongbidmarhun->berat_emastambahan;
$lelongbid->hargaasas = $lelongbid->hargaasas - $lelongbidmarhun->harga_asastambahan;
$lelongbid->save();
if($pengesahan != null)
{
$lelongbidmarhun->delete();
}
$marhundelete = LelongBidMarhun::where('lelongbid_id', $pengesahan->lelongbid_id)->delete();
// return redirect()->route('pengesahan.perubahanmutumarhun')
// ->with('success','Pengesahan Padam Marhun Telah Berjaya');
}
public function senarailelong()
{
$lelong = Lelong::where('sts_lelong', 0)
->get();
return view('pengesahan.senarailelong',compact('lelong'));
}
public function senaraitangguhlelong($id)
{
$tangguhlelong = TangguhLelong::join('lelongbid', 'tangguhlelong.lelongbid_id', '=', 'lelongbid.id')
->where('tangguhlelong.lelong_id', $id)
->get();
return view('pengesahan.senaraitangguhlelong',compact('tangguhlelong','id'));
}
public function lelbidmarhun($id, $norujukan)
{
$marhuns = LelongBidMarhun::join('tangguhlelong', 'lelongbidmarhun.lelongbid_id', '=', 'tangguhlelong.lelongbid_id')
->where('tangguhlelong.lelong_id', $id)
->where('tangguhlelong.norujukan', $norujukan)
->get();
$status = Pengesahan::where('lelong_id', $id)->where('norujukan', $norujukan)->first();
return view('pengesahan.lelbidmarhun',compact('marhuns', 'id', 'norujukan', 'status'));
}
}