diff --git a/app/Events/LelongNotify.php b/app/Events/LelongNotify.php new file mode 100644 index 00000000..98456d9c --- /dev/null +++ b/app/Events/LelongNotify.php @@ -0,0 +1,30 @@ +status = $status; + } + + public function broadcastOn() + { + return ['lelong-notify']; + } + + public function broadcastAs() + { + return 'trigger-lelong'; + } +} \ No newline at end of file diff --git a/app/Events/PaymentNotify.php b/app/Events/PaymentNotify.php index 162b1ecd..e6480e50 100644 --- a/app/Events/PaymentNotify.php +++ b/app/Events/PaymentNotify.php @@ -13,11 +13,13 @@ class PaymentNotify implements ShouldBroadcast public $response; public $userid; + public $paymentid; - public function __construct($response,$userid) + public function __construct($response,$userid,$paymentid) { $this->response = $response; $this->userid = $userid; + $this->paymentid = $paymentid; } public function broadcastOn() diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index 6e2c2ef3..92793e95 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -48,7 +48,7 @@ class AccountController extends Controller ->groupBy('lelongbidder.user_id') ->get(); - + // dd($listwinner); foreach($listwinner as $index1=>$winner){ $userdetails = User::where('id', $winner['user_id'])->first(); @@ -74,7 +74,7 @@ class AccountController extends Controller ->select('lelongbidder.payment_id') ->groupBy('lelongbidder.payment_id') ->get(); - + // dd($id_payment); $total_payment = 0; foreach($id_payment as $id){ $payment = Payment::where('id', $id->payment_id) @@ -160,6 +160,7 @@ class AccountController extends Controller $updatelelbidbidder->save(); $eachbid = LelongBid::where('id',$sag->lelongbid_id)->first(); + $eachbid->status_payment = 1; $eachbid->status_jual = 1; $eachbid->t_jual = $currentdate; $eachbid->save(); diff --git a/app/Http/Controllers/ApiController.php b/app/Http/Controllers/ApiController.php index 51279bc0..3d307469 100644 --- a/app/Http/Controllers/ApiController.php +++ b/app/Http/Controllers/ApiController.php @@ -162,8 +162,8 @@ class ApiController extends Controller $request->name, Money::MYR($total_bayaran), route('pay.callback'), - 'Bayaran Borang', - ['redirect_url' => 'http://192.168.88:8003/api/pembayaran/response'] + 'Bayaran Borang', + ['redirect_url' => route('pay.paymentStatus')] ); // dd($response); $previous_siri = Resit::orderBy('id','desc')->first(); @@ -228,7 +228,7 @@ class ApiController extends Controller $payment->remark = 'Bayaran Online'; $payment->save(); - event(new PaymentNotify('PAID',$resit->user_id)); + event(new PaymentNotify('PAID',$resit->user_id,$payment->id)); return response()->json([ 'success' => true, @@ -241,7 +241,7 @@ class ApiController extends Controller $resit->paid_at = null; $resit->save(); - event(new PaymentNotify('UNSUCCESSFUL',$resit->user_id)); + event(new PaymentNotify('UNSUCCESSFUL',$resit->user_id,'')); return response()->json([ 'success' => false, 'resit' => $resit @@ -283,7 +283,7 @@ class ApiController extends Controller $payment->remark = 'Bayaran Online'; $payment->save(); - event(new PaymentNotify('PAID',$resit->user_id)); + event(new PaymentNotify('PAID',$resit->user_id,$payment->id)); return response()->json([ 'success' => true, @@ -296,7 +296,7 @@ class ApiController extends Controller $resit->paid_at = null; $resit->save(); - event(new PaymentNotify('UNSUCCESSFUL',$resit->user_id)); + event(new PaymentNotify('UNSUCCESSFUL',$resit->user_id,'')); return response()->json([ 'success' => false, 'resit' => $resit @@ -341,7 +341,7 @@ class ApiController extends Controller Money::MYR($total_bayaran), route('pay.bidcallback'), 'Bayaran Bidaan', - ['redirect_url' => 'http://192.168.88:8003/api/pembayaran/bidresponse'] + ['redirect_url' => route('pay.bidpaymentStatus')] ); // dd($response); $previous_siri = Resit::orderBy('id','desc')->first(); @@ -414,7 +414,7 @@ class ApiController extends Controller $payment->remark = 'BAYARAN ONLINE'; $payment->save(); - event(new PaymentNotify('PAID',$resitoriginal->user_id)); + event(new PaymentNotify('PAID',$resitoriginal->user_id,$payment->id)); return response()->json([ 'success' => true, @@ -427,7 +427,7 @@ class ApiController extends Controller $resit->paid_at = null; $resit->save(); - event(new PaymentNotify('UNSUCCESSFUL',$resit->user_id)); + event(new PaymentNotify('UNSUCCESSFUL',$resit->user_id,'')); return response()->json([ 'success' => false, 'resit' => $resit @@ -477,7 +477,7 @@ class ApiController extends Controller $payment->remark = 'BAYARAN ONLINE'; $payment->save(); - event(new PaymentNotify('PAID',$resit->user_id)); + event(new PaymentNotify('PAID',$resit->user_id,$payment->id)); return response()->json([ 'success' => true, @@ -490,7 +490,7 @@ class ApiController extends Controller $resit->paid_at = null; $resit->save(); - event(new PaymentNotify('UNSUCCESSFUL',$resit->user_id)); + event(new PaymentNotify('UNSUCCESSFUL',$resit->user_id,'')); return response()->json([ 'success' => false, 'resit' => $resit diff --git a/app/Http/Controllers/AuthMobile/AuthController.php b/app/Http/Controllers/AuthMobile/AuthController.php index 6d4ae5ab..158d634c 100644 --- a/app/Http/Controllers/AuthMobile/AuthController.php +++ b/app/Http/Controllers/AuthMobile/AuthController.php @@ -100,7 +100,8 @@ class AuthController extends Controller else if($user->status == 'rejected') { return response([ - 'message' => 'Permohonan Ditolak' + 'message' => 'rejected', + 'nota' => $user->note ], 401); } else @@ -109,9 +110,6 @@ class AuthController extends Controller 'message' => 'Registration in progress,status wait for approval.' ], 401); } - return response([ - 'message' => 'Bad Creds' - ], 401); } //Check Password if(!$user || !Hash::check($fields['password'], $user->password)){ diff --git a/app/Http/Controllers/CartController.php b/app/Http/Controllers/CartController.php index 77f359b0..3c09500f 100644 --- a/app/Http/Controllers/CartController.php +++ b/app/Http/Controllers/CartController.php @@ -76,6 +76,25 @@ class CartController extends Controller } } + public function removeFromCart(Request $request) + { + $item = Cart::where('id',$request->cart_id)->first(); + if($item->delete()) + { + return response()->json([ + 'success' => true, + 'carts' => $item + ]); + } + else + { + return response()->json([ + 'success' => false, + 'message' => 'Error! Cannot save.', + ], 401); + } + } + public function updateItem (Request $request) { $cart = Cart::where('id','=',$request->id)->first(); diff --git a/app/Http/Controllers/DatabaseController.php b/app/Http/Controllers/DatabaseController.php index 00f654c3..3a79f47f 100644 --- a/app/Http/Controllers/DatabaseController.php +++ b/app/Http/Controllers/DatabaseController.php @@ -8,7 +8,6 @@ use Spatie\Permission\Models\Permission; use Illuminate\Support\Facades\Auth; use App\Models\Cawangan; -use App\Events\PaymentNotify; class DatabaseController extends Controller { @@ -29,7 +28,6 @@ class DatabaseController extends Controller */ public function index() { - event(new PaymentNotify('lulus','8')); $caw = Cawangan::all(); // $user = Auth::user(); // $user->assignRole('admin'); diff --git a/app/Http/Controllers/LelongController.php b/app/Http/Controllers/LelongController.php index e99e2643..7a85cdec 100644 --- a/app/Http/Controllers/LelongController.php +++ b/app/Http/Controllers/LelongController.php @@ -1,6 +1,7 @@ status_payment =$simulasibid->status_payment; $lelongbid->mora_upah =$simulasibid->mora_upah; $lelongbid->save(); + if($lelongbid->save()) + { + $updategadai = Gadai::where('norujukan','=',$simulasibid->norujukan)->first(); + $updategadai->taglel = 1; + $updategadai->save(); + } $simulasibidmarhun = SimulasiBidMarhun::where('simulasibid_id','=',$simulasibid->id)->get(); foreach($simulasibidmarhun as $simbidmarhun) @@ -349,6 +357,7 @@ class LelongController extends Controller public function start($id) { + event(new LelongNotify('start')); $currentdate = Carbon::now(); $currenttime = $currentdate->toTimeString(); $endtime = $currentdate->addHours(2); @@ -552,6 +561,7 @@ class LelongController extends Controller public function stop($id) { + event(new LelongNotify('stop')); $currentdate = Carbon::now(); $currenttime = $currentdate->toTimeString(); @@ -674,7 +684,7 @@ class LelongController extends Controller } public function deletemarhun(Request $request){ - dd($request->checkboxdata); + // dd($request->checkboxdata); $data = $request->checkboxdata; foreach($data as $index=>$norujukan) { diff --git a/app/Http/Controllers/MarhunController.php b/app/Http/Controllers/MarhunController.php index 8a9d5771..765ceebe 100644 --- a/app/Http/Controllers/MarhunController.php +++ b/app/Http/Controllers/MarhunController.php @@ -41,7 +41,7 @@ class MarhunController extends Controller * * @return \Illuminate\Contracts\Support\Renderable */ - public function index() + public function index($lelong_id) { $user = Auth::user(); @@ -157,6 +157,59 @@ class MarhunController extends Controller return view('marhun.senarailelongmarhun',compact('senarai')); } + public function semak($id) + { + $lelongbid = LelongBid::where('id','=',$id)->first(); + $lelongbid->status_semak = 1; + $lelongbid->save(); + + return redirect()->route('marhun.show',$lelongbid->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->save(); + + return redirect()->route('marhun.show',$lelongbid->id) + ->with('success','Marhun Berjaya Ditambah'); + } + + //Operasi public function exportmarhundetails($lelong_id) @@ -309,6 +362,58 @@ class MarhunController extends Controller return redirect()->route('pengesahan.perubahanmutumarhun')->with('success','Pengesahan Mutu Marhun Berjaya'); } + public function submitdelete($id){ + + $user = Auth::user(); + + $currentdate = Carbon::now(); + $currentdate = $currentdate->toDateTimeString(); + + $marhun = LelongBidMarhun::join('lelongbid', 'lelongbidmarhun.lelongbid_id', '=', 'lelongbid.id') + ->where('lelongbid_id','=',$id) + ->get(); + + $pengesahan = new Pengesahan; + $pengesahan->lelong_id = $marhun->lelong_id; + $pengesahan->lelongbid = $id; + $pengesahan->norujukan = $marhun->norujukan; + $pengesahan->diminta_oleh = $user->id; + $pengesahan->diminta_pada = $currentdate; + $pengesahan->save(); + + return redirect()->route('pengesahan.pcdelete',$lelongbid->id) + ->with('success','Permohonan Pengesahan Padam Marhun Telah Berjaya Dihantar'); + + } + + public function pcdelete($id) + { + $lelongbidmarhun = LelongBidMarhun::where('id', $id)->first(); + + //save in table pengesahan first + $pengesahan = Pengesahan::join('lelongbidmarhun', 'pengesahan.lelongbid_id', '=', 'lelongbidmarhun.lelongbid_id') + ->where('lelongbidmarhun.id', $id) + ->where('lelongbid_id', $lelongbid_id) + ->select('pengesahan.id as pengesahan_id') + ->first(); + + if($pengesahan != null) + { + $lelongbidmarhun->delete(); + } + + $lelongbid = LelongBid::where('id', $lelongbidmarhun->lelongbid_id)->first(); + // dd($lelongbid); + $txtmarhun = ",1 " . $lelongbidmarhun->marhun ; + $lelongbid->marhun = str_replace( $txtmarhun,"",$lelongbid->marhun); + // $lelongbid->marhun = $lelongbid->marhun ."1 " . $request->marhuntambahan . "," ; + $lelongbid->berat = $lelongbid->berat - $lelongbidmarhun->berat_emastambahan; + $lelongbid->hargaasas = $lelongbid->hargaasas - $lelongbidmarhun->harga_asastambahan; + $lelongbid->save(); + + return redirect()->route('pengesahan.perubahanmutumarhun') + ->with('success','Pengesahan Padam Marhun Telah Berjaya'); + } } \ No newline at end of file diff --git a/app/Http/Controllers/Mobile/LelongMobileController.php b/app/Http/Controllers/Mobile/LelongMobileController.php index 6de68f5d..6b498ffb 100644 --- a/app/Http/Controllers/Mobile/LelongMobileController.php +++ b/app/Http/Controllers/Mobile/LelongMobileController.php @@ -229,6 +229,7 @@ class LelongMobileController extends Controller { $lelongbidder = LelongBidder::where('lelongbid_id',$bid->id)->first(); $lelongbidder->status_payment =1; + $lelongbidder->payment_id = $request->paymentid; $lelongbidder->save(); $lelongbid = LelongBid::where('id',$bid->id)->first(); diff --git a/app/Http/Controllers/PembidaController.php b/app/Http/Controllers/PembidaController.php index 13b73406..df679cc5 100644 --- a/app/Http/Controllers/PembidaController.php +++ b/app/Http/Controllers/PembidaController.php @@ -50,7 +50,7 @@ class PembidaController extends Controller // dd($userid); $user = User::where('id','=',$userid)->first(); $files = File::where('user_id','=',$userid)->get()->toArray(); - + // dd($files); $array_ic = []; foreach($files as $index=>$file) { @@ -100,7 +100,7 @@ class PembidaController extends Controller $user = User::where('id','=',$request->user_id)->first(); $user->disahkan_pada = $currentdate; $user->disahkan_oleh = Auth::user()->id; - $user->note = $request->note; + $user->note = $request->nota; $user->status = 'rejected'; $user->save(); diff --git a/app/Http/Controllers/SimulasiController.php b/app/Http/Controllers/SimulasiController.php index a835a75f..3c545219 100644 --- a/app/Http/Controllers/SimulasiController.php +++ b/app/Http/Controllers/SimulasiController.php @@ -68,7 +68,12 @@ class SimulasiController extends Controller ->where('tagpalsu2','=',0) ->where('taglel','=',0) ->where('lelong_tawarruq','=',1) - ->get(); + ->get(); + if(sizeof($surat) == 0) + { + return redirect()->route('analisa.index') + ->with('failed','Tiada surat untuk di lelong'); + } $cawangan = Cawangan::all(); //create simulasi $simulasi = new Simulasi; @@ -396,6 +401,7 @@ class SimulasiController extends Controller } array_push($arraycaw,[ + 'id_cawangan'=> $cawangan->id, 'cawangan'=>$cawangan->caw_name, 't_lelong'=>$simulasi->tarikh_lelong, 'bil_marhun'=>sizeof($databid), @@ -706,6 +712,43 @@ class SimulasiController extends Controller } + + public function senaraimarhunlel($simulasi_id, $cawid) + { + $marhuns = SimulasiBid::join('cawangan', 'simulasibid.caw_id', '=', 'cawangan.id') + ->where('simulasi_id','=',$simulasi_id) + ->where('caw_id','=',$cawid) + ->select( + 'simulasibid.t_lelong', + 'simulasibid.kodcaw', + 'cawangan.caw_name', + 'simulasibid.norujukan', + 'simulasibid.pinjaman', + 'simulasibid.berat', + 'simulasibid.nilaimarhun', + 'simulasibid.hargaasas', + 'simulasibid.upahsimpan', + 'simulasibid.cajlelong', + 'simulasibid.baki', + 'simulasibid.status_jual', + ) + ->get(); + + return view('simulasi.senaraimarhunlel',compact('marhuns','simulasi_id','cawid')); + } + public function deletemarhunlel(Request $request){ + // dd($request->checkboxdata); + + $data = $request->checkboxdata; + foreach($data as $index=>$norujukan) + { + $marhun = SimulasiBid::where('norujukan','=',$norujukan)->first(); + $marhun->delete(); + } + + return redirect()->route('analisa.senaraimarhunlel',['simulasi_id'=>$request->simulasi_id,'cawid'=>$request->cawid]) + ->with('success','Delete Berjaya'); + } } \ No newline at end of file diff --git a/app/Models/lelongBidder.php b/app/Models/LelongBidder.php similarity index 93% rename from app/Models/lelongBidder.php rename to app/Models/LelongBidder.php index c739a829..9e5a7730 100644 --- a/app/Models/lelongBidder.php +++ b/app/Models/LelongBidder.php @@ -5,7 +5,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -class lelongBidder extends Model +class LelongBidder extends Model { use HasFactory; diff --git a/app/Models/payment.php b/app/Models/Payment.php similarity index 96% rename from app/Models/payment.php rename to app/Models/Payment.php index 5f0f20ea..b5b0b333 100644 --- a/app/Models/payment.php +++ b/app/Models/Payment.php @@ -5,7 +5,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -class payment extends Model +class Payment extends Model { use HasFactory; diff --git a/app/Models/resit.php b/app/Models/Resit.php similarity index 94% rename from app/Models/resit.php rename to app/Models/Resit.php index 4573687c..02befe25 100644 --- a/app/Models/resit.php +++ b/app/Models/Resit.php @@ -5,7 +5,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -class resit extends Model +class Resit extends Model { use HasFactory; diff --git a/database/migrations/2021_12_14_041557_create_lelongs_table.php b/database/migrations/2021_12_14_041557_create_lelongs_table.php index 3d3c3b3d..09b63431 100644 --- a/database/migrations/2021_12_14_041557_create_lelongs_table.php +++ b/database/migrations/2021_12_14_041557_create_lelongs_table.php @@ -76,6 +76,7 @@ class CreateLelongsTable extends Migration $table->string('status_jual'); $table->string('status_payment'); $table->integer('status_semak')->default(0); + $table->datetime('diserahkan_pada')->nullable(); $table->string('mora_upah'); $table->timestamps(); @@ -93,13 +94,13 @@ class CreateLelongsTable extends Migration $table->unsignedBigInteger('lelongbid_id')->unsigned(); $table->decimal('bil', $precision = 3, $scale = 0); $table->string('marhun'); - $table->string('nota'); + $table->string('nota')->nullable(); $table->string('karat'); $table->decimal('berat', $precision = 7, $scale = 2); $table->decimal('harga', $precision = 5, $scale = 2); $table->decimal('n_marhun', $precision = 9, $scale = 2); $table->decimal('hargaasas', $precision = 11, $scale = 2); - $table->integer('status_semak')->default(0); + $table->integer('status_semak')->default(0)->nullable(); $table->timestamps(); $table->foreign('lelongbid_id') diff --git a/database/migrations/2022_01_13_064027_create_file_table.php b/database/migrations/2022_01_13_064027_create_file_table.php index 05757333..2a575f7a 100644 --- a/database/migrations/2022_01_13_064027_create_file_table.php +++ b/database/migrations/2022_01_13_064027_create_file_table.php @@ -17,7 +17,6 @@ class CreateFileTable extends Migration $table->bigIncrements('id'); $table->unsignedBigInteger('user_id')->unsigned(); $table->string('file_type'); - $table->binary('filename'); $table->datetime('deleted_at')->nullable(); $table->integer('deleted_by')->nullable(); $table->timestamps(); @@ -26,6 +25,9 @@ class CreateFileTable extends Migration ->references('id')->on('users') ->onDelete('cascade'); }); + + // once the table is created use a raw query to ALTER it and add the MEDIUMBLOB + DB::statement("ALTER TABLE file ADD filename LONGBLOB"); } /** diff --git a/resources/views/includes/sidebar.blade.php b/resources/views/includes/sidebar.blade.php index b578af4a..6e15c851 100644 --- a/resources/views/includes/sidebar.blade.php +++ b/resources/views/includes/sidebar.blade.php @@ -125,6 +125,11 @@ Perubahan Mutu Marhun +