529 lines
19 KiB
PHP
529 lines
19 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();
|
|
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->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)
|
|
->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)
|
|
{
|
|
|
|
$mutumarhun = Lelong::join('pengesahan', 'lelong.id', '=', 'pengesahan.lelong_id')
|
|
->where('lelong.id', $id)
|
|
->whereNull('disahkan_oleh')
|
|
->selectRaw('count(*) as total, sum(status) as tstat,norujukan')
|
|
->groupBy('pengesahan.norujukan')
|
|
->get()->toArray();
|
|
|
|
// foreach($mutumarhun as $index1=>$marhun)
|
|
// {
|
|
// $pengesahan = Pengesahan::where('lelong_id', $id)
|
|
// ->where('norujukan', $marhun['norujukan'])
|
|
// ->select('id as pengesahan_id')
|
|
// ->get();
|
|
|
|
// $mutumarhun[$index1]['pengesahan_id'] = $pengesahan;
|
|
// }
|
|
|
|
return view('pengesahan.perubahanmutumarhun', compact('mutumarhun', 'id'));
|
|
|
|
}
|
|
|
|
public function mutumarhun($norujukan, $id)
|
|
{
|
|
$pengesahans = Pengesahan::where('lelong_id', $id)
|
|
->where('norujukan', $norujukan)
|
|
->get();
|
|
|
|
$arraypengesahan = [];
|
|
foreach($pengesahans as $pengesahan)
|
|
{
|
|
// dd($pengesahan);
|
|
$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();
|
|
|
|
$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;
|
|
}
|
|
|
|
array_push($arraypengesahan,$marhuns);
|
|
}
|
|
|
|
return view('pengesahan.mutumarhun', compact('lelongbid', 'norujukan', 'id', 'arraypengesahan', 'marhuns'));
|
|
}
|
|
|
|
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'));
|
|
|
|
}
|
|
|
|
}
|
|
|