Merge branch 'amirah' of https://gitlab.com/azfararsyad/lelong into amirah

This commit is contained in:
Amirah22
2022-03-21 15:36:23 +08:00
25 changed files with 575 additions and 84 deletions
+30
View File
@@ -0,0 +1,30 @@
<?php
namespace App\Events;
use Illuminate\Queue\SerializesModels;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class LelongNotify implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $status;
public function __construct($status)
{
$this->status = $status;
}
public function broadcastOn()
{
return ['lelong-notify'];
}
public function broadcastAs()
{
return 'trigger-lelong';
}
}
+3 -1
View File
@@ -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()
+3 -2
View File
@@ -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();
+11 -11
View File
@@ -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
@@ -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)){
+19
View File
@@ -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();
@@ -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');
+11 -1
View File
@@ -1,6 +1,7 @@
<?php
namespace App\Http\Controllers;
use App\Events\LelongNotify;
use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
@@ -9,6 +10,7 @@ use Illuminate\Support\Facades\Auth;
use PDF;
use App\Models\User;
use App\Models\Cawangan;
use App\Models\Gadai;
use App\Models\JenisEmas;
use App\Models\JenisKarat;
@@ -301,6 +303,12 @@ class LelongController extends Controller
$lelongbid->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)
{
+106 -1
View File
@@ -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');
}
}
@@ -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();
+2 -2
View File
@@ -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();
+44 -1
View File
@@ -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');
}
}
@@ -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;
@@ -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;
@@ -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;
@@ -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')
@@ -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");
}
/**
@@ -125,6 +125,11 @@
<a href="{{url('pengesahan/perubahanmutumarhun')}}">Perubahan Mutu Marhun</a>
</li>
</ul>
<ul class="list-unstyled collapse {{ (request()->is('pengesahan/*')) ? 'show' : '' }}" id="pengesahanSubmenu" >
<li class="{{ (request()->is('pengesahan/senaraitangguhlelong/*') || request()->is('pengesahan/senaraitangguhlelong') ) ? 'active' : '' }}">
<a href="{{url('pengesahan/senaraitangguhlelong')}}">Senarai Tangguh Lelong</a>
</li>
</ul>
</li>
<li class="{{ (request()->is('Pembida/*')) ? 'active' : '' }}">
<a href="#pembidaSubmenu" data-toggle="collapse" aria-expanded="false" style="">Pembida</a>
+4 -4
View File
@@ -30,10 +30,10 @@
<td>Nilai Marhun Keseluruhan : RM{{ number_format($total_nmarhun, 2, '.', ',') }}</td>
</tr>
<tr>
<td>Pinjaman Keseluruhan : RM{{ number_format($total_pinjaman, 2, '.', ',') }}</td>
<td>Pembiayaan Keseluruhan : RM{{ number_format($total_pinjaman, 2, '.', ',') }}</td>
</tr>
<tr>
<td>Upah Keseluruhan : RM{{ number_format($total_upah, 2, '.', ',') }}</td>
<td>Keuntungan Keseluruhan : RM{{ number_format($total_upah, 2, '.', ',') }}</td>
</tr>
</table>
</div>
@@ -63,8 +63,8 @@
<th>Bil Marhun (Paket)</th>
<th>Berat (gm)</th>
<th>Nilai Marhun (RM)</th>
<th>Pinjaman (RM)</th>
<th>Upah (RM)</th>
<th>Pembiayaan (RM)</th>
<th>Keuntungan (RM)</th>
<th>Harga Asas (RM)</th>
<th>Caj Lelong (RM)</th>
<th>Baki Lelong (RM)</th>
+135 -42
View File
@@ -44,7 +44,7 @@
<td>{{ $item->nota }}</td>
<td class="text-center">
<a onclick="kemaskini(this)" data-idmarhun="{{ $item->id }}" data-marhun="{{ $item->marhun }}" data-karat="{{ $item->karat }}" data-berat="{{ $item->berat }}" data-harga="{{ $item->harga }}" data-nmarhun="{{ $item->n_marhun }}" data-hargaasas="{{ $item->hargaasas }}" data-nota="{{ $item->nota }}" data-toggle="tooltip" data-placement="top" title="Kemaskini Marhun" style="margin-right:30px"><i class="far fa-edit"></i></a>
<a class="confirmdel" href="{{ route('marhun.delete',$item->id) }}" data-toggle="tooltip" data-placement="top" title="Padam Marhun"><i class="far fa-trash-alt"></i></a>
<a class="confirmdel" href="{{ route('marhun.submitdelete',$item->id) }}" data-toggle="tooltip" data-placement="top" title="Padam Marhun"><i class="far fa-trash-alt"></i></a>
</td>
</tr>
@endforeach
@@ -53,7 +53,8 @@
</table>
</form>
<div class="modal-footer" style="margin-top:2%;">
<a href="{{ route('marhun.senarailelongmarhun') }}" class="btn btn-primary">Kembali</a>
<a href="{{ route('marhun.senarailelongmarhun') }}" style="width:7%;" class="btn btn-primary">Kembali</a>
<a href="{{ route('marhun.semak', $lelongbid) }}" style="width:7%;" class="btn btn-success">Semak</a>
</div>
</div>
@@ -110,12 +111,72 @@
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Tutup</button>
<button type="button" class="btn btn-primary" onclick="updateform()">Simpan</button>
<button type="button" class="btn btn-secondary" style="width:15%;" data-dismiss="modal">Tutup</button>
<button type="button" class="btn btn-primary" style="width:15%;" onclick="updateform()">Simpan</button>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" tabindex="-1" id="modaltambahmarhun">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Tambah Marhun</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form action="{{ route('marhun.tambahmarhun') }}" method="POST" id="formtambahmarhun">
@csrf
<div class="row justify-content-center">
<div class="col-md-8">
<div class="form-group row">
<input type="hidden" name="tambahmarhun" id="tambahmarhun" >
<div class="col-md-4">No Rujukan</div>
<div class="col-md-8"><input class="form-control" type="text" name="norujukan_marhuntambahan" id="norujukan_marhuntambahan" value="{{ $lelongbid->norujukan }}" readonly></div>
<div class="col-md-4">Marhun</div>
<div class="col-md-8">
<select class="form-control" name="marhuntambahan" id="selectmarhuntambahan">
<option disabled selected value> -- Pilih Jenis Marhun -- </option>
@foreach ($emasall as $emas)
<option value="{{$emas->marhun}}"> {{ $emas->descpt}}</option>
@endforeach
</select>
</div>
<div class="col-md-4">Karat</div>
<div class="col-md-8">
<select class="form-control" name="karattambahan" id="selectkarattambahan" data-karatalltambahan="{{$lelkarat}}" onchange="calc_tambahan(this,'karattambahan')">
<option disabled selected value> -- Pilih Karat -- </option>
@foreach ($karatall as $karat)
<option value="{{$karat->karat}}">{{ $karat->keterangan}}</option>
@endforeach
</select>
</div>
<div class="col-md-4">Berat</div>
<div class="col-md-8"><input class="form-control" type="text" name="berat_emastambahan" id="berat_emastambahan" oninput="calc_tambahan(this,'berattambahan')" value="0"></div>
<div class="col-md-4">Harga</div>
<div class="col-md-8"><input class="form-control .hargatambahan" type="text" name="hargatambahan" id="hargatambahan" readonly></div>
<div class="col-md-4">Nilai Marhun</div>
<div class="col-md-8"><input class="form-control" type="text" name="nilai_marhuntambahan" id="nilai_marhuntambahan" readonly></div>
<div class="col-md-4">Harga Asas</div>
<div class="col-md-8"><input class="form-control" type="text" name="harga_asastambahan" id="harga_asastambahan" readonly></div>
<div class="col-md-4">Nota</div>
<div class="col-md-8"><input class="form-control" type="text" name="notatambahan" id="notatambahan"></div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" style="width:15%;" data-dismiss="modal">Tutup</button>
<button type="button" class="btn btn-primary" style="width:15%;" onclick="tambahanmarhun()">Simpan</button>
</div>
</div>
</div>
</div>
</div>
<script>
//Enable tooltips everywhere
@@ -142,42 +203,42 @@
}
});
var tablemarhun = $('#marhun').DataTable( {
"columnDefs": [
{
"targets": 0,
"orderable": false
},
{
"targets": 9,
"orderable": false
var tablemarhun = $('#marhun').DataTable( {
"columnDefs": [
{
"targets": 0,
"orderable": false
},
{
"targets": 9,
"orderable": false
}
],
order: [[1, 'asc']],
// "ordering": false,
"info": false,
"lengthChange": false,
"pageLength": 15,
dom: 'Bfrtip',
buttons: [
// 'copy', 'excel', 'pdf'
// { text: 'copy', className: 'btn btn-primary' },
{
className: 'btn btn-outline-success pl-4 pr-4 btn-sm addsim',
text: '<i class="fas fa-plus" id="test"></i>',
titleAttr: 'Tambah Marhun',
action: function ( e, dt, node, config ) {
$('#modaltambahmarhun').modal("show");
}
],
order: [[1, 'asc']],
// "ordering": false,
"info": false,
"lengthChange": false,
"pageLength": 15,
dom: 'Bfrtip',
buttons: [
// 'copy', 'excel', 'pdf'
// { text: 'copy', className: 'btn btn-primary' },
{
className: 'btn btn-outline-success pl-4 pr-4 btn-sm addsim',
text: '<i class="fas fa-plus" id="test"></i>',
titleAttr: 'Tambah Marhun',
action: function ( e, dt, node, config ) {
alert( 'Button activated' );
}
}
]
});
}
]
});
$('.addsim').tooltip();
$('.export').tooltip();
// $( '.dt-buttons').addClass('btn-group');
$( '.addsim').removeClass('dt-button');
$( '.export').removeClass('dt-button');
$('.addsim').tooltip();
$('.export').tooltip();
// $( '.dt-buttons').addClass('btn-group');
$( '.addsim').removeClass('dt-button');
$( '.export').removeClass('dt-button');
function selectall(cb) {
@@ -186,7 +247,41 @@
})
}
function kemaskini(e) {
function tambahanmarhun(e) {
$("#formtambahmarhun").submit();
}
function calc_tambahan(e,type)
{
if(type =='karattambahan' )
{
var karatalltambahan = $(e).data('karatalltambahan');
karatalltambahan.forEach((item) =>{
if(item.karat == $(e).val())
{
console.log(item);
var beratemas = $('#berat_emastambahan').val();
var total_tambahan = item.harga * parseFloat(beratemas);
var harga_asastambahan = Math.round(total_tambahan);
$('#hargatambahan').val(parseFloat(item.harga).toFixed(2));
$('#nilai_marhuntambahan').val(parseFloat(total_tambahan).toFixed(2));
$('#harga_asastambahan').val(parseFloat(harga_asastambahan).toFixed(2));
}
});
}
else
{
var total_tambahan = $('#hargatambahan').val() * $('#berat_emastambahan').val();
var harga_asastambahan = Math.round(total_tambahan);
$('#nilai_marhuntambahan').val(parseFloat(total_tambahan).toFixed(2));
$('#harga_asastambahan').val(parseFloat(harga_asastambahan).toFixed(2));
}
}
function kemaskini(e)
{
$('#modalkemaskini').modal("show");
$('#modalkemaskini').on('shown.bs.modal', function () {
$('#rolename').trigger('focus')
@@ -235,8 +330,6 @@
$('#nilai_marhun').val(parseFloat(total).toFixed(2));
$('#harga_asas').val(parseFloat(hargaasas).toFixed(2));
}
}
function updateform()
@@ -5,6 +5,12 @@
<div class="row ">
<div class="col-md-12 mx-auto card">
<h3 class="pt-3">Simulasi</h3>
@if ($message = Session::get('failed'))
<div class="alert alert-danger">
<p>{{ $message }}</p>
</div>
@endif
<form action="{{route('analisa.janadata')}}" method="POST">
@csrf
<div class="form-group row">
@@ -0,0 +1,169 @@
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<div class="row ">
<div class="col-md-11 mx-auto card p-4">
@if ($message = Session::get('success'))
<div class="alert alert-success">
<p>{{ $message }}</p>
</div>
@endif
<form id="deletesag" action="{{route('analisa.deletemarhunlel')}}" method="POST">
@csrf
<input type="hidden" name="simulasi_id" value="{{$simulasi_id}}">
<input type="hidden" name="cawid" value="{{$cawid}}">
<table class="table table-striped table-xl" id="marhun" style="width:100%">
<thead class="bg-primary text-white">
<tr>
<th>No.</th>
<th>Tarikh Lelong</th>
<th>Kod Cawangan</th>
<th>Nama Cawangan</th>
<th>Norujukan</th>
<th>Pinjaman (RM)</th>
<th>Berat (gm)</th>
<th>Nilai Marhun (RM)</th>
<th>Harga Asas (RM)</th>
<th>Upah Simpan (RM)</th>
<th>Caj Lelong (%)</th>
<th>Rugi Lelong (RM)</th>
<th>Baki Lelong (RM)</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach ($marhuns as $index=> $marhun)
<tr>
<td>{{$index+1}}</td>
<td>{{ $marhun->t_lelong }}</td>
<td class="text-center">{{ $marhun->kodcaw }}</td>
<td>{{ $marhun->caw_name }}</td>
<td>{{ $marhun->norujukan}}</td>
<td>{{ $marhun->pinjaman }}</td>
<td>{{ $marhun->berat }}</td>
<td>{{ $marhun->nilaimarhun }}</td>
<td>{{ $marhun->hargaasas }}</td>
<td>{{ $marhun->upahsimpan }}</td>
<td>{{ $marhun->cajlelong }}</td>
<?php
$rugi = '';
$baki = '';
if(strpos($marhun->baki, '-') !== false)
{
$rugi = $marhun->baki;
}
else {
$baki = $marhun->baki;
}
?>
<td>{{$rugi}}</td>
<td>{{$baki}}</td>
<td class="text-center">
<input type="checkbox" aria-label="Checkbox for following text input" onclick="btnDelete(this)" name="checkboxdata[]" value="{{ $marhun->norujukan }}">
</td>
</tr>
@endforeach
</tbody>
</table>
<div class="text-right pt-4">
<a href="{{ route('analisa.show',$simulasi_id) }}" class="btn btn-primary">Kembali</a>
<button type="button" class="btn btn-danger" id="btndelete" onclick="confirm()">Delete</button>
</div>
{{-- <a href="{{url('simulasi/showsimulasi')}}" class="btn btn-primary">Kembali</a> --}}
</form>
</div>
</div>
</div>
<script>
$("#btndelete").prop("disabled", true);
function btnDelete(e) {
var count = 0;
tablemarhun.rows().nodes().to$().find('input[type="checkbox"]').each(function(){
if($(this).prop('checked') === true)
{
count = count + 1;
}
// $(this).prop('checked', e.checked);
})
if(count != 0)
{
$("#btndelete").prop("disabled", false);
}
else
{
$("#btndelete").prop("disabled", true);
}
// let checkbox = $('#checkboxdata').val();
// console.log(checkbox)
// $("#btndelete").prop("disabled", checkboxdata.length === 0);
}
function confirm() {
$.confirm({
title: 'Confirmation',
content: 'Anda pasti?',
type: 'red',
typeAnimated: true,
buttons: {
Delete: {
btnClass: 'btn-danger',
action: function () {
$("#deletesag").submit();
}
},
Batal: {
btnClass: 'btn-default',
action: function () {}
}
}
});
}
var tablemarhun = $('#marhun').DataTable( {
"columnDefs": [
{
"targets": 13,
"orderable": false
},
// {
// "targets": 4,
// "orderable": false
// }
],
// order: [[1, 'asc']],
// "ordering": false,
"info": false,
"lengthChange": false,
"pageLength": 25,
dom: 'Bfrtip',
// buttons: [
// // 'copy', 'excel', 'pdf'
// // { text: 'copy', className: 'btn btn-primary' },
// {
// className: 'btn btn-outline-success pl-4 pr-4 btn-sm adduser',
// text: '<i class="fas fa-plus" id="test"></i>',
// titleAttr: 'Tambah Pengguna',
// action: function ( e, dt, node, config ) {
// alert( 'Button activated' );
// }
// },
// {
// className: 'btn btn-outline-secondary pl-4 pr-4 btn-sm export',
// titleAttr: 'Export to CSV',
// text: '<i class="fas fa-download"></i>',
// action: function ( e, dt, node, config ) {
// $("#exportform").submit();
// }
// }
// ]
});
</script>
@endsection
@@ -27,10 +27,10 @@
<td>Nilai Marhun Keseluruhan : RM{{ number_format($total_nmarhun, 2, '.', ',') }}</td>
</tr>
<tr>
<td>Pinjaman Keseluruhan : RM{{ number_format($total_pinjaman, 2, '.', ',') }}</td>
<td>Pembiayaan Keseluruhan : RM{{ number_format($total_pinjaman, 2, '.', ',') }}</td>
</tr>
<tr>
<td>Upah Keseluruhan : RM{{ number_format($total_upah, 2, '.', ',') }}</td>
<td>Keuntungan Keseluruhan : RM{{ number_format($total_upah, 2, '.', ',') }}</td>
</tr>
</table>
</div>
@@ -60,8 +60,8 @@
<th>Bil Marhun (Paket)</th>
<th>Berat (gm)</th>
<th>Nilai Marhun (RM)</th>
<th>Pinjaman (RM)</th>
<th>Upah (RM)</th>
<th>Pembiayaan (RM)</th>
<th>Keuntungan (RM)</th>
<th>Harga Asas (RM)</th>
<th>Caj Lelong (RM)</th>
<th>Baki Lelong (RM)</th>
@@ -73,7 +73,7 @@
@foreach ($arraycaw as $index=>$caw)
<tr>
<td>{{$index+1}}</td>
<td>{{ $caw['cawangan'] }}</td>
<td><a href=" {{ route('analisa.senaraimarhunlel',['simulasi_id'=>$simulasi_id,'cawid'=>$caw['id_cawangan']]) }} " target="blank" style="color:#3490dc">{{ $caw['cawangan'] }}</a></td>
<td>{{ $caw['t_lelong'] }}</td>
<td>{{ $caw['bil_marhun'] }}</td>
<td>{{ number_format($caw['berat'], 2, '.', ',') }}</td>
+3 -1
View File
@@ -24,7 +24,7 @@ use App\Http\Controllers\ApiController;
//Public routes
Route::post('/register', [AuthController::class, 'register']);
Route::post('/user/login', [AuthController::class, 'loginUser']);
Route::post('/addToCart', [CartController::class, 'addToCart']);
Route::get('/cart/{userid}', [CartController::class, 'getCart']);
Route::post('/password/email', [ForgotPasswordController::class, 'sendResetLinkEmail']);
@@ -52,6 +52,8 @@ Route::group(['middleware' => ['auth:sanctum']], function () {
Route::put('/userUpdate/profile', [UserController::class, 'updateProfileUser']);
// Cart
Route::post('/addToCart', [CartController::class, 'addToCart']);
Route::post('/removeFromCart', [CartController::class, 'removeFromCart']);
Route::post('/updateItem', [CartController::class, 'updateItem']);
Route::get('/deleteItem/{id}', [CartController::class, 'deleteCart']);
+7 -1
View File
@@ -59,6 +59,8 @@ Route::group(['middleware' => ['permission:analisa'],'prefix'=>'analisa'], funct
Route::get('/senaraisimulasi',['as'=>'analisa.senaraisimulasi','uses'=>'SimulasiController@senaraisimulasi']);
Route::get('/showsimulasi/{id}',['as'=>'analisa.show','uses'=>'SimulasiController@show']);
Route::get('/deletesimulasi/{id}',['as'=>'analisa.delete','uses'=>'SimulasiController@delete']);
Route::get('/senaraimarhunlel/{simulasi_id}/{cawid}',['as'=>'analisa.senaraimarhunlel','uses'=>'SimulasiController@senaraimarhunlel']);
Route::post('/deletemarhunlel',['as'=>'analisa.deletemarhunlel','uses'=>'SimulasiController@deletemarhunlel']);
Route::post('/filter',['as'=>'analisa.filter','uses'=>'SimulasiController@filter']);
Route::post('/export',['as'=>'analisa.export','uses'=>'SimulasiController@export']);
@@ -128,10 +130,12 @@ Route::group(['middleware' => ['permission:semakanmarhun','permission:kemaskinim
Route::get('/senarailelongmarhun',['as'=>'marhun.senarailelongmarhun','uses'=>'MarhunController@senarailelongmarhun']);
Route::get('/senaraimarhun/{lelong_id}',['as'=>'marhun.senaraimarhun','uses'=>'MarhunController@index']);
Route::get('/marhun/{id}',['as'=>'marhun.show','uses'=>'MarhunController@show']);
Route::get('/deletemarhun/{id}',['as'=>'marhun.delete','uses'=>'MarhunController@delete']);
Route::get('/submitdelete/{id}',['as'=>'marhun.submitdelete','uses'=>'MarhunController@submitdelete']);
Route::post('/kemaskini',['as'=>'marhun.kemaskini','uses'=>'MarhunController@kemaskini']);
Route::get('/semakan',['as'=>'marhun.semakan','uses'=>'MarhunController@semakan']);
Route::get('/semak/{id}',['as'=>'marhun.semak','uses'=>'MarhunController@semak']);
Route::post('/tambahmarhun',['as'=>'marhun.tambahmarhun','uses'=>'MarhunController@tambahmarhun']);
Route::get('/exportmarhundetails/{lelong_id}',['as'=>'marhun.exportmarhundetails','uses'=>'MarhunController@exportmarhundetails']);
@@ -154,6 +158,8 @@ Route::group(['middleware' => ['permission:pengesahan'],'prefix'=>'pengesahan'],
Route::get('/perubahanmutumarhun',['as'=>'pengesahan.perubahanmutumarhun','uses'=>'MarhunController@sahubahmutu']);
Route::get('/mutumarhun/{pengesahan_id}/{norujukan}',['as'=>'pengesahan.mutumarhun','uses'=>'MarhunController@mutumarhun']);
Route::post('/terimaperubahan',['as'=>'pengesahan.terimaperubahan','uses'=>'MarhunController@terimaperubahan']);
Route::post('/pcdelete',['as'=>'pengesahan.pcdelete','uses'=>'MarhunController@pcdelete']);
Route::post('/senaraitangguhlelong',['as'=>'pengesahan.senaraitangguhlelong','uses'=>'MarhunController@senaraitangguhlelong']);
});
//Operasi