Merged in hotfix/tunai-add-timestamp (pull request #222)

Hotfix/tunai add timestamp
This commit is contained in:
Muhd hafifie
2024-12-31 01:23:13 +00:00
30 changed files with 2038 additions and 514 deletions
+3 -1
View File
@@ -14,10 +14,12 @@ class PendahuluanSerahan implements ShouldBroadcast
public $pengesahan;
public $cawangan;
public $kodlaluan;
public $jenis;
public function __construct($pengesahan,$cawangan,$kodlaluan)
public function __construct($pengesahan,$jenis,$cawangan,$kodlaluan)
{
$this->pengesahan = $pengesahan;
$this->jenis = $jenis;
$this->cawangan = $cawangan;
$this->kodlaluan = $kodlaluan;
}
+34
View File
@@ -0,0 +1,34 @@
<?php
namespace App\Events\Teller;
use Illuminate\Queue\SerializesModels;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class NotifyDeposit implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $cawangan;
public $kodlaluan;
public $jenis;
public function __construct($jenis,$cawangan,$kodlaluan)
{
$this->jenis = $jenis;
$this->cawangan = $cawangan;
$this->kodlaluan = $kodlaluan;
}
public function broadcastOn()
{
return ['notify-deposit'];
}
public function broadcastAs()
{
return 'deposit-event';
}
}
@@ -624,5 +624,77 @@ class AliranTunaiController extends Controller
return view('aliran_tunai.laporan.laporanalirantunai',compact('tarikh_cetak','cawangan_info','cawangan','api_url','cawangan_detail','addtunai','alirantunai','teller'));
}
public function LaporanTunaiTeller(Request $request){
$auth_user = Auth::user();
$api_url = config('api.url');
$current = Carbon::now();
$current = new Carbon();
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
$cawangan=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
$cawangan_detail=$cawangan[0];
$tarikh_cetak = $current->toDateString();
$array_requestteller = [];
//wang Syilling Initialize
$rekodsen1 = 0; $rekodsen5 = 0; $rekodsen10 = 0;
$rekodsen20 = 0; $rekodsen50 = 0;
//Wang Ringgit Initialize
$rekodring1 = 0; $rekodring5 = 0; $rekodring10 = 0;
$rekodring20 = 0; $rekodring50 = 0; $rekodring100 = 0;
$requestteller = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/requestTeller/getrekod/'.$auth_user['cawangan'],["teller" => Auth::user()->name,"recno" => $request->recno ])->json();
if($requestteller[0]['modal'] != 0){
$jenisserah = 'pendahuluan';
}else{
$jenisserah = 'serahan';
}
foreach($requestteller as $index => $reqtel)
{
$rekodsen1 += $reqtel['txtsen1'];
$rekodsen5 += $reqtel['txtsen5'];
$rekodsen10 += $reqtel['txtsen10'];
$rekodsen20 += $reqtel['txtsen20'];
$rekodsen50 += $reqtel['txtsen50'];
$rekodring1 += $reqtel['txtring1'];
$rekodring5 += $reqtel['txtring5'];
$rekodring10 += $reqtel['txtring10'];
$rekodring20 += $reqtel['txtring20'];
$rekodring50 += $reqtel['txtring50'];
$rekodring100 += $reqtel['txtring100'];
}
array_push($array_requestteller,[ "rekodsen1" => $rekodsen1,"rekodsen5" => $rekodsen5,"rekodsen10" => $rekodsen10,"rekodsen20" => $rekodsen20,"rekodsen50" => $rekodsen50
,"rekodring1" => $rekodring1,"rekodring5" => $rekodring5,"rekodring10" => $rekodring10,"rekodring20" => $rekodring20,"rekodring50" => $rekodring50,"rekodring100" => $rekodring100]);
return view('aliran_tunai.laporan.laporanrekodteller',compact('tarikh_cetak','cawangan_info','cawangan','api_url','cawangan_detail','array_requestteller','jenisserah'));
}
public function LaporanAccStatement(Request $request){
$auth_user = Auth::user();
$current = Carbon::now();
$api_url = config('api.url');
$tarikh_cetak = $current->toDateString();
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
$cawangan=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
$cawangan_detail=$cawangan[0];
$tarikh = date("Y-m-d", $request->tarikh);
$acc_statement = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/record/accountstatement/' . $auth_user['cawangan'] ,['teller' => $auth_user['name'],'tarikh' => $tarikh])->json();
return view('aliran_tunai.laporan.account_statement',compact('tarikh_cetak','tarikh','cawangan_info','cawangan','api_url','cawangan_detail','acc_statement'));
}
}
@@ -0,0 +1,20 @@
<?php
namespace App\Http\Controllers;
use App\Events\Teller\NotifyDeposit;
use Illuminate\Support\Facades\Auth;
class EventTriggerController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function TellerCash(){
event(new NotifyDeposit("pendahuluan",Auth::user()->cawangan,Auth::user()->name));
}
}
+64 -505
View File
@@ -28,6 +28,7 @@ use Carbon\Carbon;
use PDF;
use DateTime;
use App\Helper;
use Log;
class KhazanahController extends Controller
{
@@ -723,32 +724,6 @@ class KhazanahController extends Controller
$bakiperubatan = 0;
switch ($request->jenismodal) {
case "selenggara":
$kategori = "Baiki dan Selenggara";
$tag = 2;
break;
case "keraian":
$kategori = "Keraian & Promosi";
$tag = 3;
break;
case "belanjaam":
$kategori = "Belanja AM";
$tag = 1;
break;
case "perubatan":
$kategori = "Belanja AM - Perubatan";
$tag = 1;
break;
case "dapur":
$kategori = "Belanja AM - Barangan Dapur";
$tag = 1;
break;
case "pos":
$kategori = "Belanja AM - Postage";
$tag = 1;
break;
}
if($request->jenismodal === 'perubatan')
@@ -761,146 +736,29 @@ class KhazanahController extends Controller
}
}
$request->merge(['kodlaluan' => $auth_user['name']]);
$data_request = $request->except('_token');
$denominasilist = Http::withOptions(['verify' => config('app.api_verify')])->get( config('api.url') .'/api/DenominasiController/'. $auth_user['cawangan'])->json();
//bundle initialize
$rekodb1 = $denominasilist[0]['bd1']; $rekodb5 = $denominasilist[0]['bd5']; $rekodb10 = $denominasilist[0]['bd10']; $rekodb20 = $denominasilist[0]['bd20'];
$rekodb50 = $denominasilist[0]['bd50']; $rekodb100 = $denominasilist[0]['bd100'];
//wang Syilling Initialize
$rekodsen1 = $denominasilist[0]['txtsen1']; $rekodsen5 = $denominasilist[0]['txtsen5']; $rekodsen10 = $denominasilist[0]['txtsen10'];
$rekodsen20 = $denominasilist[0]['txtsen20']; $rekodsen50 = $denominasilist[0]['txtsen50'];
//Wang Ringgit Initialize
$rekodring1 = $denominasilist[0]['txtring1']; $rekodring5 = $denominasilist[0]['txtring5']; $rekodring10 = $denominasilist[0]['txtring10'];
$rekodring20 = $denominasilist[0]['txtring20']; $rekodring50 = $denominasilist[0]['txtring50']; $rekodring100 = $denominasilist[0]['txtring100'];
//Tolok Rekod
$rekodsen1 -= intval($request->ambilansen1);
$rekodsen5 -= intval($request->ambilansen5);
$rekodsen10 -= intval($request->ambilansen10);
$rekodsen20 -= intval($request->ambilansen20);
$rekodsen50 -= intval($request->ambilansen50);
$rekodring1 -= intval($request->ambilanring1);
$rekodring5 -= intval($request->ambilanring5);
$rekodring10 -= intval($request->ambilanring10);
$rekodring20 -= intval($request->ambilanring20);
$rekodring50 -= intval($request->ambilanring50);
$rekodring100 -= intval($request->ambilanring100);
$denominasicreate = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url').'/api/DenominasiUpdate/'.$auth_user['cawangan'],[
'bd1' => $rekodb1,
'bd5'=> $rekodb5,
'bd10'=> $rekodb10,
'bd20'=> $rekodb20,
'bd50'=> $rekodb50,
'bd100'=> $rekodb100,
'txtring1'=> $rekodring1,
'txtring5'=> $rekodring5,
'txtsen1'=> $rekodsen1,
'txtsen5'=> $rekodsen5,
'txtsen10'=> $rekodsen10,
'txtsen20'=> $rekodsen20,
'txtsen50'=> $rekodsen50,
'txtring10'=> $rekodring10,
'txtring20'=> $rekodring20,
'txtring50'=> $rekodring50,
'txtring100'=> $rekodring100,
'txtring1000'=> "0",
'jumlahbundle'=> "0",
'txtjumlah'=> "0",
'jumlahkeping' => "0"
]);
$myDateTime = DateTime::createFromFormat('Y-m-d', $request->tarikhbil);
$tarikhbil = $myDateTime->format('dmY');
$panjar = Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url') . '/api/CreatePanjar/'. $auth_user['cawangan'],[
'deskripsi' => $request->deskripsi,
'bayaran' => $request->bayaran,
'tag' => $tag,
'kategori' => $kategori,
'id' => $auth_user['name'],
'bakiperubatan' => $bakiperubatan,
'nobaucer' => $request->baucer,
'nobil' => $tarikhbil,
'tuntutoleh' => $request->tuntutan
])->json();
$updateVault = Http::withOptions(['verify' => config('app.api_verify')])->put( config('api.url').'/api/UpdateVault/Panjar/'.$auth_user['cawangan'],[
'totpanjar'=>$request->bayaran
]);
$panjareach = Http::withOptions(['verify' => config('app.api_verify')])->get( config('api.url') .'/api/SenaraiPanjar/listeach/'. $auth_user['cawangan'],['nobaucer' => $request->baucer])->json();
$recnopanjar = $panjareach['recno'];
$rekodsen1 -= intval($request->ambilansen1);
$rekodsen5 -= intval($request->ambilansen5);
$rekodsen10 -= intval($request->ambilansen10);
$rekodsen20 -= intval($request->ambilansen20);
$rekodsen50 -= intval($request->ambilansen50);
$rekodring1 -= intval($request->ambilanring1);
$rekodring5 -= intval($request->ambilanring5);
$rekodring10 -= intval($request->ambilanring10);
$rekodring20 -= intval($request->ambilanring20);
$rekodring50 -= intval($request->ambilanring50);
$rekodring100 -= intval($request->ambilanring100);
$denopanjar = Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url').'/api/requestdenopanjar/'.$auth_user['cawangan'],[
'kodlaluan' => $auth_user['name'],
'serahan' => floatval($request->bayaran),
'bd1' => 0,
'bd5' => 0,
'bd10' => 0,
'bd20' => 0,
'bd50' => 0,
'bd100' => 0,
'txtring1' => intval($request->ambilanring1),
'txtring5' => intval($request->ambilanring5),
'txtring10' => intval($request->ambilanring10),
'txtring20' => intval($request->ambilanring20),
'txtring50' => intval($request->ambilanring50),
'txtring100' => intval($request->ambilanring100),
'txtring1000' => 0,
'txtsen1' => intval($request->ambilansen1),
'txtsen5' => intval($request->ambilansen5),
'txtsen10' => intval($request->ambilansen10),
'txtsen20' => intval($request->ambilansen20),
'txtsen50' => intval($request->ambilansen50),
'jenis' => $request->jenismodal,
'recno' => intval($recnopanjar)
]);
$upVault = $updateVault->getStatusCode();
$upDeno = $denominasicreate->getStatusCode();
$updenopanjar = $denopanjar->getStatusCode();
if($upVault == 200 && empty($panjar) == false && $upDeno == 200 && $updenopanjar == 200)
$updatepanjar = Http::withOptions(['verify' => config('app.api_verify')])->post( config('api.url') .'/api/panjar/createpanjar/'. $auth_user['cawangan'],$data_request)->json();
if($updatepanjar['result'] == 'success')
{
if($request->jenismodal === 'perubatan')
{
$listUser=User::where('name','=',$request->tuntutan)->get();
$totalsebenar = floatval($listUser[0]->perubatan) - floatval($request->bayaran);
$overrideuser = User::where('cawangan','=',$auth_user['cawangan'])
$listUser = User::where('name','=',$request->tuntutan)->first();
$listUser = optional($listUser)->toArray();
$totalsebenar = floatval($listUser['perubatan_asal']) - floatval($updatepanjar['totalperubatan']);
User::where('cawangan','=',$auth_user['cawangan'])
->where('name','=',$request->tuntutan)
->update(array(
'perubatan' => $totalsebenar
));
}
return redirect('/panjar')->with('messageinformation','Panjar Berjaya Disimpan.');
return redirect('/panjar')->with('messageinformation',['message' => 'Panjar Berjaya Disimpan.','status' => 'success']);
}else{
return redirect('/panjar')->with('messageinformation','Panjar Mengalami Masalah Untuk Disimpan.');
return redirect('/panjar')->with('messageinformation',['message' => 'Panjar Mengalami Masalah Untuk Disimpan.','status' => 'error']);
}
return response($updateVault);
@@ -912,87 +770,20 @@ class KhazanahController extends Controller
$api_url = config('api.url');
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
$denopanjar = Http::withOptions(['verify' => config('app.api_verify')])->get( config('api.url') .'/api/getdenopanjar/'. $auth_user['cawangan'],['recno' => $request->recno])->json();
$request->merge(['kodlaluan' => $auth_user['name']]);
$data_request = $request->except('_token');
$senaraipanjar = Http::withOptions(['verify' => config('app.api_verify')])->get( config('api.url') .'/api/SenaraiPanjar/listeach/'. $auth_user['cawangan'],['nobaucer' => $request->nobaucer])->json();
$updatepanjar = Http::withOptions(['verify' => config('app.api_verify')])->post( config('api.url') .'/api/panjar/deletepanjar/'. $auth_user['cawangan'],$data_request)->json();
if(sizeof($denopanjar) > 0)
$denopanjar = $denopanjar[0];
$denominasilist = Http::withOptions(['verify' => config('app.api_verify')])->get( config('api.url') .'/api/DenominasiController/'. $auth_user['cawangan'])->json();
//bundle initialize
$rekodb1 = $denominasilist[0]['bd1']; $rekodb5 = $denominasilist[0]['bd5']; $rekodb10 = $denominasilist[0]['bd10']; $rekodb20 = $denominasilist[0]['bd20'];
$rekodb50 = $denominasilist[0]['bd50']; $rekodb100 = $denominasilist[0]['bd100'];
//wang Syilling Initialize
$rekodsen1 = $denominasilist[0]['txtsen1']; $rekodsen5 = $denominasilist[0]['txtsen5']; $rekodsen10 = $denominasilist[0]['txtsen10'];
$rekodsen20 = $denominasilist[0]['txtsen20']; $rekodsen50 = $denominasilist[0]['txtsen50'];
//Wang Ringgit Initialize
$rekodring1 = $denominasilist[0]['txtring1']; $rekodring5 = $denominasilist[0]['txtring5']; $rekodring10 = $denominasilist[0]['txtring10'];
$rekodring20 = $denominasilist[0]['txtring20']; $rekodring50 = $denominasilist[0]['txtring50']; $rekodring100 = $denominasilist[0]['txtring100'];
//Tolok Rekod
$rekodsen1 += intval($denopanjar['txtsen1']);
$rekodsen5 += intval($denopanjar['txtsen5']);
$rekodsen10 += intval($denopanjar['txtsen10']);
$rekodsen20 += intval($denopanjar['txtsen20']);
$rekodsen50 += intval($denopanjar['txtsen50']);
$rekodring1 += intval($denopanjar['txtring1']);
$rekodring5 += intval($denopanjar['txtring5']);
$rekodring10 += intval($denopanjar['txtring10']);
$rekodring20 += intval($denopanjar['txtring20']);
$rekodring50 += intval($denopanjar['txtring50']);
$rekodring100 += intval($denopanjar['txtring100']);
$denominasicreate = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url').'/api/DenominasiUpdate/'.$auth_user['cawangan'],[
'bd1' => $rekodb1,
'bd5'=> $rekodb5,
'bd10'=> $rekodb10,
'bd20'=> $rekodb20,
'bd50'=> $rekodb50,
'bd100'=> $rekodb100,
'txtring1'=> $rekodring1,
'txtring5'=> $rekodring5,
'txtsen1'=> $rekodsen1,
'txtsen5'=> $rekodsen5,
'txtsen10'=> $rekodsen10,
'txtsen20'=> $rekodsen20,
'txtsen50'=> $rekodsen50,
'txtring10'=> $rekodring10,
'txtring20'=> $rekodring20,
'txtring50'=> $rekodring50,
'txtring100'=> $rekodring100,
'txtring1000'=> "0",
'jumlahbundle'=> "0",
'txtjumlah'=> "0",
'jumlahkeping' => "0"
]);
$deletepanjar = Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url') . '/api/DeletePanjar/'. $auth_user['cawangan'],[
'recno' => $request->recno,
'users' => $auth_user['name']
])->json();
$updateVault = Http::withOptions(['verify' => config('app.api_verify')])->put( config('api.url').'/api/UpdateVault/DeletePanjar/'.$auth_user['cawangan'],[
'totpanjar'=>$denopanjar['serahan']
]);
$upVault = $updateVault->getStatusCode();
$upDeno = $denominasicreate->getStatusCode();
if($upVault == 200 && $upDeno == 200)
if($updatepanjar['result'] == 'success')
{
if($denopanjar['jenis'] === 'perubatan')
if($updatepanjar['jenis'] === 'perubatan')
{
$listUser = User::where('name','=',$senaraipanjar['tuntutoleh'])->get();
$totalsebenar = floatval($listUser[0]->perubatan) + floatval($denopanjar['serahan']);
$overrideuser = User::where('cawangan','=',$auth_user['cawangan'])
->where('name','=',$senaraipanjar['tuntutoleh'])
$listUser = User::where('name','=',$updatepanjar['tuntutoleh'])->first();
$listUser = optional($listUser)->toArray();
$totalsebenar = floatval($listUser['perubatan_asal']) - floatval($updatepanjar['totalperubatan']);
User::where('cawangan','=',$auth_user['cawangan'])
->where('name','=',$updatepanjar['tuntutoleh'])
->update(array(
'perubatan' => $totalsebenar
));
@@ -1156,7 +947,7 @@ class KhazanahController extends Controller
]);
event(new PendahuluanSerahan("Lulus",$auth_user['cawangan'],$request->teller));
event(new PendahuluanSerahan("Lulus","pendahuluan",$auth_user['cawangan'],$request->teller));
$updaterequest=Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url').'/api/requestTeller/update/'. $auth_user['cawangan'],[
'kodlaluan' => $request->teller,
@@ -1236,7 +1027,7 @@ class KhazanahController extends Controller
]);
event(new PendahuluanSerahan("Lulus",$auth_user['cawangan'],$request->teller));
event(new PendahuluanSerahan("Lulus","serahan",$auth_user['cawangan'],$request->teller));
$updaterequest=Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url').'/api/requestTeller/update/'. $auth_user['cawangan'],[
'kodlaluan' => $request->teller,
@@ -1247,144 +1038,41 @@ class KhazanahController extends Controller
return redirect()->route('khazanah.serahan');
}
public function kemaskiniPendahuluan(Request $request) //Daftar Pendahuluan kepada Kaunter
public function kemaskiniPendahuluan(Request $request)
{
// return $this->denominasicalculationpendahuluan($request);
$auth_user = Auth::user();
$api_url = config('api.url');
$peti_besi_terkini=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/VaultController/'.$auth_user['cawangan'])->json();
$auth_user = Auth::user();
$api_url = config('api.url');
$peti_besi_terkini=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/VaultController/'.$auth_user['cawangan'])->json();
if(sizeof($peti_besi_terkini) == 0)
{
$peti_besi_terkini=Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url').'/api/daftarVault/'.$auth_user['cawangan'])->json();
$baki_awal = $peti_besi_terkini["bakiakhir"];
}
else
{
$baki_awal = $peti_besi_terkini[0]["bakiakhir"];
}
if(sizeof($peti_besi_terkini) == 0)
{
$peti_besi_terkini=Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url').'/api/daftarVault/'.$auth_user['cawangan'])->json();
$baki_awal=$peti_besi_terkini["bakiakhir"];
}
else
{
$baki_awal=$peti_besi_terkini[0]["bakiakhir"];
}
$amount = $request->amt;
$amount = $request->amt;
if($amount > $baki_awal){
return redirect()->route('khazanah.pendahulu')->with('message', 'Jumlah yang dipinta melebihi baki dalam peti besi!.');
}
else{
$response_data = $request->except('_token');
$test = Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url').'/api/panjar/updatetunai/'.$auth_user['cawangan'],$response_data)->json();
if($test == 'success'){
event(new PendahuluanSerahan("Lulus","pendahuluan",$auth_user['cawangan'],$request->teller));
return redirect()->route('khazanah.pendahulu');
}else{
return redirect()->route('khazanah.pendahulu')->with('error','Permohonan tidak berjaya! Permohonan Semula perlu melebihi 1 minit.');
}
}
if($amount>$baki_awal)
{
//WI ERROR MESSAGE SKIT
// dd($baki_awal);
return redirect()->route('khazanah.serahan')->with('message', 'Jumlah yang dipinta melebihi baki dalam peti besi!.');
}
else
{
$tarikh=$request->tarikh;
$kodlaluan=$request->teller;
$tambah=$request->amt;
$kurang=0.0;
$nota=$request->nota;
$kodcaw=$auth_user['cawangan'];
$addTunai=Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url').'/api/add/addTunai/'.$auth_user['cawangan'],[
'kodcaw'=>$kodcaw,
'kodlaluan'=>$kodlaluan,
'tambah'=>$tambah,
'kurang'=>$kurang,
'nota'=>$nota
]);
$getTunai=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'],['kodlaluan' => $kodlaluan])->json();
if(sizeof($getTunai) == 0)
{
dd($getTunai);
}
else
{
$bakiawal=0;$masuk=0;$yuran=0;$keluar=0;$baki=0;$tmbh=0;$kurang=0;
$BakiAkhirT=0;$BakiAwalT=0;$tambahT=0;
$getTunai2=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'],['kodlaluan' => $kodlaluan])->json();
$bakiAwal=$getTunai2['bakiawal'];
$keluar=$getTunai2['keluar'];
$baki=$getTunai2['baki'];
$kurangT=$getTunai2['kurang'];
$tam=$getTunai2['tambah'];
$masukT=$getTunai2['masuk'];
if($bakiAwal==0)
{
$BakiAwalT=0;
}
else
{
$BakiAwalT=$bakiAwal;
}
$tambahT=$tambah + $tam;
$kurang=$kurangT;
$keluarT = $keluar;
// $bakiAkhirT= $bakiAwal + $tambahT + $masukT - $keluarT - $kurang;
$bakiAkhirT = $baki + $tambah;
$updateTunai=Http::withOptions(['verify' => config('app.api_verify')])->put( config('api.url').'/api/updateTunai/'.$auth_user['cawangan'], [
'kodlaluan'=>$kodlaluan,
'tambah'=>$tambahT,
'kurang'=>$kurang,
'bakiakhir'=>$bakiAkhirT
]);
$latestVault=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/VaultController/'.$auth_user['cawangan'])->json();
$masukV=$latestVault[0]['masuk'];
$keluarV=$latestVault[0]['keluar'];
$pendahuluanV=$latestVault[0]['pendahuluan'];
$serahanV=$latestVault[0]['serahan'];
$bakiAwalV=$latestVault[0]['bakiawal'];
$totpanjar = $latestVault[0]['totpanjar'];
// return;
// dd($tambahT);
// $keluarV=$tambahT;
$keluarV = $tambah + $keluarV;
$GetLatestBakiTunai=Http::withOptions(['verify' => config('app.api_verify')])->get( config('api.url').'/api/getLatestBaki/'.$auth_user['cawangan'])->json();
$bakiTerkini=$GetLatestBakiTunai;
$bakiAkhirV=$bakiAwalV - $keluarV + $masukV + $pendahuluanV - $serahanV - $totpanjar;
// $bakiEOD=$bakiAkhirV+$GetLatestBakiTunai; //try test
$bakiEOD = $bakiAkhirV;
// dd($bakiEOD);
// $createTempVault=Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url').'/api/daftarVault/'.$auth_user['cawangan']);
// dd($bakiAkhirV);
//get temporary latest vault/ petibesi
$updateVault=Http::withOptions(['verify' => config('app.api_verify')])->put( config('api.url').'/api/UpdateVault/'.$auth_user['cawangan'],[
'masuk'=>$masukV,
'keluar'=>$keluarV,
'bakiawal'=>$bakiAwalV,
'bakiakhir'=>$bakiAkhirV,
'bakieod'=>$bakiEOD
]);
//-----PROCESS SELESAI-----------------------------------
//display final result
return $this->denominasicalculationpendahuluan($request);
//dd($updateVault);
} //endif
} //end
} //End
}
public function KemaskiniSerahan(Request $request)
{
@@ -1397,146 +1085,17 @@ class KhazanahController extends Controller
if(sizeof($peti_besi_terkini) == 0)
{
$peti_besi_terkini=Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url').'/api/daftarVault/'.$auth_user['cawangan'])->json();
$baki_awal=$peti_besi_terkini["bakiakhir"];
}
else
{
$baki_awal=$peti_besi_terkini[0]["bakiakhir"];
$response_data = $request->except('_token');
$test = Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url').'/api/panjar/serahantunai/'.$auth_user['cawangan'],$response_data)->json();
if($test == 'success'){
event(new PendahuluanSerahan("Lulus","serahan",$auth_user['cawangan'],$request->teller));
return redirect()->route('khazanah.serahan');
}else{
return redirect()->route('khazanah.serahan')->with('error','Permohonan tidak berjaya! Permohonan Semula perlu melebihi 1 minit.');
}
$amount = $request->amt;
$tarikh=$request->tarikh;
$kodlaluan=$request->teller;
$kurang=$request->amt;
$nota=$request->nota;
$kodcaw=$auth_user['cawangan'];
$tambahT = 0;
$kurangvault = $request->amt;
$addTunai=Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url').'/api/add/addTunai/'.$auth_user['cawangan'],[
'kodcaw'=>$kodcaw,
'kodlaluan'=>$kodlaluan,
'tambah'=>$tambahT,
'kurang'=>$kurang,
'nota'=>$nota]);
$getTunai=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'],['kodlaluan' => $kodlaluan])->json();
if(sizeof($getTunai) == 0)
{
// dd($getTunai);
}
else
{
$getTunai2=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'],['kodlaluan' => $kodlaluan])->json();
$bakiAwalT=$getTunai2['bakiawal'];
$keluarT=$getTunai2['keluar'];
$baki=$getTunai2['baki'];
$tambahT=$getTunai2['tambah'];
$kurangT=$getTunai2['kurang'];
$masukT=$getTunai2['masuk'];
$serahanakhir = $kurang;
$tambah_T=0;$kurang_T=0;$baki_AwalT=0.0;
if($tambahT==0)
$tambah_T=0;
else
$tambah_T=$tambahT;
if($kurangT==0)
$kurang_T=$kurang;
else
{
$kurang=$kurang+$kurangT;
$kurang_T=$kurang;
}
if($bakiAwalT==0)
$baki_AwalT=0;
else
$baki_AwalT=$bakiAwalT;
//$bakiAkhirT=$baki_AwalT+$tambah_T+$masukT-$keluarT-$kurang_T; //untuk kegunaan urgent
$bakiAkhirT = $baki - $serahanakhir;
$updateTunai=Http::withOptions(['verify' => config('app.api_verify')])->put( config('api.url').'/api/updateTunai/'.$auth_user['cawangan'], [
'kodlaluan'=>$kodlaluan,
'tambah'=>$tambah_T,
'kurang'=>$kurang_T,
'bakiakhir'=>$bakiAkhirT
]);
$latestVault=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/VaultController/'.$auth_user['cawangan'])->json();
$masukV=$latestVault[0]['masuk'];
$keluarV=$latestVault[0]['keluar'];
$pendahuluanV=$latestVault[0]['pendahuluan'];
$serahanV=$latestVault[0]['serahan'];
$bakiAwalV=$latestVault[0]['bakiawal'];
$totpanjar = $latestVault[0]['totpanjar'];
$masuk_V = 0;$pendahuluan_V = 0;$keluar_V = 0;$serahan_V = 0;
if($masukV == 0)
{
$masuk_V = 0 + $kurangvault;
}
else
{
$masuk_V = $masukV + $kurangvault;
}
if($keluarV == 0)
$keluar_V = 0;
else
$keluar_V=$keluarV;
if($pendahuluanV == 0)
$pendahuluan_V = 0;
else
$pendahuluan_V = $pendahuluanV;
if($serahanV == 0)
$serahan_V = 0;
else
$serahan_V = $serahanV;
}
$GetLatestBakiTunai=Http::withOptions(['verify' => config('app.api_verify')])->get( config('api.url').'/api/getLatestBaki/'.$auth_user['cawangan'])->json();
$sumBaki=$GetLatestBakiTunai;
$bakiAkhirV = $bakiAwalV - $keluar_V + $masuk_V + $pendahuluan_V - $serahan_V - $totpanjar;
$BakiEOD=$bakiAkhirV;
//$BakiEOD=$bakiAkhirV+$sumBaki;
$updateVault=Http::withOptions(['verify' => config('app.api_verify')])->put( config('api.url').'/api/UpdateVault/'.$auth_user['cawangan'],[
'masuk'=>$masuk_V,
'keluar'=>$keluar_V,
'bakiawal'=>$bakiAwalV,
'bakiakhir'=>$bakiAkhirV,
'bakieod'=>$BakiEOD
]);
//--FINAL RESULT...KENA RIDERECT KE PAGE SEBELUMNYA..
return $this->denominasicalculationserahan($request);
}
@@ -3232,12 +2791,12 @@ class KhazanahController extends Controller
$nombor = $request->no;
$kodlaluan = $request->kodlaluan;
$updatebatal = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url').'/api/requestTeller/batal/'.$kodcaw,[
Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url').'/api/requestTeller/batal/'.$kodcaw,[
'no'=>$nombor,
'kodlaluan'=>$kodlaluan
]);
event(new PendahuluanSerahan("Batal",$auth_user['cawangan'],$kodlaluan));
event(new PendahuluanSerahan("Batal","all",$auth_user['cawangan'],$kodlaluan));
return response('Berjaya');
}
@@ -0,0 +1,66 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Auth;
use App\User;
class PerubatanController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function index(){
$api_url = config('api.url');
$auth_user = Auth::user();
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
$paginate = User::paginate(5);
return view('operasi.perubatan.index',compact('cawangan_info','api_url','auth_user','paginate'));
}
public function search(Request $request){
$api_url = config('api.url');
$auth_user = Auth::user();
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
$search = $request->input('search');
$query = User::query();
if ($search) {
$query->where('name', 'LIKE', "%{$search}%");
}
$paginate = $query->paginate(5);
$paginate->appends($request->all());
return view('operasi.perubatan.index',compact('cawangan_info','api_url','auth_user','paginate'));
}
public function update(Request $request){
$api_url = config('api.url');
$auth_user = Auth::user();
$user = User::where('id', $request->id)->first();
$user = optional($user)->toArray();
$amount = str_replace(',', '', $request->amount);
$total_perubatan = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/panjar/getperubatan/'. $user['cawangan'],[
'tuntutoleh' => $user['name']
])->json();
$remaining = floatval($amount) - floatval($total_perubatan);
$response = User::where('id', $request->id)->update(['perubatan_asal' => $amount,'perubatan' => $remaining]);
return $response;
}
}
@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddUsersPerubatanasalTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table){
$isCreatedAt = Schema::hasColumn('users','perubatan_asal');
if (! $isCreatedAt) {
$table->decimal('perubatan_asal', 11, 2);
}
});
}
/**
* Reverse the migrations.
*
* @return void
*/
// public function down()
// {
// Schema::dropIfExists('users');
// }
}
+19
View File
@@ -94,3 +94,22 @@ span#basic-hargaemas {
padding: 5px 10px;
text-align: center;
}
@keyframes heartbeat {
0% {
transform: scale(1);
}
30% {
transform: scale(1.2);
}
60% {
transform: scale(1);
}
100% {
transform: scale(1);
}
}
.heartbeat {
animation: heartbeat 1s infinite;
}
+20
View File
@@ -0,0 +1,20 @@
class SubscribePusher {
constructor(subscribe, event, apikey) {
this.subscribe = subscribe;
this.event = event;
this.apikey = apikey;
this.pusher = new Pusher(this.apikey, {
cluster: 'ap1', // Replace 'your_cluster' with the actual cluster of your Pusher app
});
}
channel_subscribe(callback) {
let channel = this.pusher.subscribe(this.subscribe);
channel.bind(this.event, function(data){
callback(data);
});
}
}
export default SubscribePusher;
+39 -3
View File
@@ -434,6 +434,17 @@ async function openuptambahdanserah(e)
}
else
{
$.ajax({
method: "GET",
url: event_tellercash,
success:function(data){
console.log('successfull trigger');
},
error: function(xhRequest, ajaxOptions, thrownError){
console.log(xhRequest,thrownError);
}
})
$.ajax({
method:"POST",
url: api_url + '/api/requestTeller/' + kodcaw,
@@ -465,7 +476,8 @@ async function openuptambahdanserah(e)
var channel = pusher.subscribe('pendahuluanserahan-notice');
channel.bind('penserahan-event', function(data) {
if(data.pengesahan === 'Lulus' && data.cawangan == kodcaw && data.kodlaluan == teller)
console.log(data);
if(data.pengesahan === 'Lulus' && data.jenis == 'pendahuluan' && data.cawangan == kodcaw && data.kodlaluan == teller)
{
Swal.fire({
icon: 'success',
@@ -474,7 +486,7 @@ async function openuptambahdanserah(e)
}).then(function(){
location.reload();
});
}else{
}else if(data.pengesahan == 'Batal' && data.jenis == 'all' && data.cawangan == kodcaw && data.kodlaluan == teller){
Swal.fire({
icon: 'error',
title: 'Tambah Pendahuluan',
@@ -482,6 +494,14 @@ async function openuptambahdanserah(e)
}).then(function(){
location.reload();
});
}else{
Swal.fire({
icon: 'error',
title: 'Tambah Pendahuluan',
text: 'Tambah Pendahuluan tidak berjaya!'
}).then(function(){
location.reload();
});
}
@@ -580,6 +600,14 @@ function tambahdanserahanfunc(e)
if(id == "serahanmodal")
{
$.ajax({
method: "GET",
url: event_tellercash,
success:function(data){
console.log('successfull trigger');
}
})
$.ajax({
method:"POST",
url: api_url + '/api/requestTeller/' + kodcaw,
@@ -630,7 +658,7 @@ function tambahdanserahanfunc(e)
channel.bind('penserahan-event', function(data) {
// let message = JSON.stringify(data);
if(data.pengesahan === 'Lulus' && data.cawangan == kodcaw && data.kodlaluan == teller)
if(data.pengesahan === 'Lulus' && data.jenis == 'serahan' && data.cawangan == kodcaw && data.kodlaluan == teller)
{
Swal.fire({
icon: 'success',
@@ -640,6 +668,14 @@ function tambahdanserahanfunc(e)
window.open(laporanroute, '_blank');
location.reload();
});
}else if(data.pengesahan == 'Batal' && data.jenis == 'all' && data.cawangan == kodcaw && data.kodlaluan == teller){
Swal.fire({
icon: 'error',
title: 'Serahan Modal',
text: 'Serahan modal tidak diluluskan!'
}).then(function(){
location.reload();
});
}else{
Swal.fire({
icon: 'error',
+108
View File
@@ -0,0 +1,108 @@
import NotifyKhazanah from './Class/SubscribePusher.js';
let channel = 'notify-deposit';
let event = 'deposit-event';
let apikey = window.apikey;
const Toast = Swal.mixin({
toast: true,
position: 'top-end',
showConfirmButton: false,
timer: 5000,
timerProgressBar: true,
didOpen: (toast) => {
toast.addEventListener('mouseenter', Swal.stopTimer)
toast.addEventListener('mouseleave', Swal.resumeTimer)
}
})
const notify = new NotifyKhazanah(channel,event,apikey);
notify.channel_subscribe((data) => {
console.log(data);
Toast.fire({
icon: 'info',
title: 'Permohonan Kelulusan Wang Tunai Teller!'
});
const currentPath = window.location.pathname;
if (currentPath === "/home") {
notify_main();
} else if (currentPath === "/menu") {
notify_khazanah_main();
}else if(currentPath === '/pendahuluan'){
notify_pendahuluan();
}else if(currentPath === '/serahan'){
notify_serahan();
}
});
let requestApi = (url, method, datarequest, callback) => {
$.ajax({
method: method,
url: url,
data: datarequest,
success: function(data) {
callback(data);
},
error: function(xhRequest, ajaxOptions, thrownError) {
console.error("Request failed:", xhRequest, thrownError);
}
});
};
let notify_main = () =>{
const button = document.getElementById("btn-khazanah");
if(!button){
return;
}
button.classList.add('btn-danger');
button.classList.add('heartbeat');
}
let notify_khazanah_main = () =>{
requestApi(window.api + '/api/requestTeller/get/' + window.kodcaw,"GET",{}, (response) =>{
let countModal = 0;
let countSerahan = 0;
response.forEach((req) => {
if (req.modal !== 0) {
countModal++;
} else if (req.serahan !== 0) {
countSerahan++;
}
});
let btn_serahan = document.getElementById('btn-ser');
let btn_pendahuluan = document.getElementById('btn-pend');
let span_element_ser = btn_serahan.querySelector('span');
let span_element_pend = btn_pendahuluan.querySelector('span');
if(!btn_serahan.classList.contains('btn-danger') && countSerahan > 0){
btn_serahan.classList.add('btn-danger');
span_element_ser.innerText = countSerahan;
}
if(!btn_pendahuluan.classList.contains('btn-danger') && countModal > 0){
btn_pendahuluan.classList.add('btn-danger');
span_element_pend.innerText = countModal;
}
});
}
let notify_pendahuluan = () =>{
timer_reload();
}
let notify_serahan = () =>{
timer_reload();
}
let timer_reload = () =>{
setTimeout(() => {
window.location.reload();
}, 3000);
}
+95
View File
@@ -0,0 +1,95 @@
let editfunc = (pageid) => {
let editbtn = document.getElementById('divedit-' + pageid);
let divbtn = document.getElementById('div-' + pageid);
let inputbtn = document.getElementById('input-' + pageid);
if(editbtn.classList.contains('d-block')){
editbtn.classList.remove('d-block');
editbtn.classList.add('d-none');
}
if(divbtn.classList.contains('d-none')){
divbtn.classList.remove('d-none');
divbtn.classList.add('d-block');
}
inputbtn.disabled = false;
}
let savefunc = (pageid) => {
let amount = document.getElementById("input-" + pageid);
Swal.fire({
title: 'Memuatkan...',
allowEscapeKey : false,
allowOutsideClick: false,
didOpen: function () {
Swal.showLoading();
}
});
$.ajax({
url : updateurl,
method : 'PUT',
data : {
"amount" : amount.value,
"id" : pageid,
"_token": $('meta[name="csrf-token"]').attr('content')
},
success:function(response){
if(response == 0){
Swal.fire({
icon: 'error',
title: 'Perubahan Nilai Perubatan Tidak Berjaya!',
});
return false;
}
Swal.fire({
icon: 'success',
title: 'Perubahan Nilai Perubatan Berjaya!',
showCancelButton: false,
confirmButtonText: "Okay!",
allowEscapeKey: false,
allowOutsideClick: false
}).then((result) => {
if (result.isConfirmed) {
window.location.reload();
}
});
}
});
// let editbtn = document.getElementById('editButton-' + pageid);
// let divbtn = document.getElementById('div-' + pageid);
// if(editbtn.classList.contains('d-block')){
// editbtn.classList.remove('d-block');
// editbtn.classList.add('d-none');
// }
// if(divbtn.classList.contains('d-none')){
// divbtn.classList.remove('d-none');
// divbtn.classList.add('d-block');
// }
}
let cancelfunc = (pageid) => {
let editbtn = document.getElementById('divedit-' + pageid);
let divbtn = document.getElementById('div-' + pageid);
let inputbtn = document.getElementById('input-' + pageid);
if(editbtn.classList.contains('d-none')){
editbtn.classList.remove('d-none');
editbtn.classList.add('d-block');
}
if(divbtn.classList.contains('d-block')){
divbtn.classList.remove('d-block');
divbtn.classList.add('d-none');
}
inputbtn.disabled = true;
}
@@ -174,6 +174,7 @@
<th>Pembiayaan</th>
<th>Penebusan</th>
<th>B/F</th>
<th>Tindakan</th>
</tr>
</thead>
<tbody>
@@ -187,6 +188,7 @@
<td>{{ number_format($tp['keluar'],2) }}</td>
<td>{{ number_format($tp['masuk'],2) }}</td>
<td>{{ number_format($tp['baki'],2) }}</td>
<td><btn class="btn btn-primary"><i class="fas fa-print" onclick="rec_acc_statement({{ strtotime($tp['tarikh']) }})"></i></btn></td>
</tr>
@endforeach
@endif
@@ -214,6 +216,7 @@
<th>Debit (RM)</th>
<th>Kredit (RM)</th>
<th>Nota</th>
<th>Tindakan</th>
</tr>
</thead>
<tbody>
@@ -225,6 +228,7 @@
<td> {{ number_format($at['tambah'],2) }} </td>
<td> {{ number_format($at['kurang'],2) }} </td>
<td> {{ $at['nota'] }}</td>
<td><btn class="btn btn-primary"><i class="fas fa-print" onclick="rekodprint({{ $at['recno'] }})"></i></btn></td>
</tr>
@endforeach
@endif
@@ -602,8 +606,24 @@
});
}
function rekodprint(recno){
let urlroute = '{{ route("laporan.tunaiteller") }}';
urlroute += '?recno=' + encodeURIComponent(recno);
window.open(urlroute, '_blank');
}
function rec_acc_statement(tarikh){
console.log(tarikh);
let urlroute = '{{ route("laporan.acc_statement" )}}';
urlroute += '?tarikh=' + tarikh;
window.open(urlroute, '_blank');
}
let pusherenv = "{{ env('PUSHER_APP_KEY') }}";
let laporanroute = "{{ route('laporan.serahantellerberkala') }}";
let event_tellercash = "{{ route('event.tellercash') }}";
</script>
<script src="{{ asset('js/main.js') }}"></script>
@endsection
@@ -0,0 +1,493 @@
<style>
#header {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#header td, #customers th {
padding:4px;
font-size:12px;
}
#header tr:nth-child(even){background-color: #ffffff;}
#header tr:hover {background-color: #ddd;}
#header th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#scan {
font-family: Arial, Helvetica, sans-serif;
width: 100%;
border: 1px solid #ddd;
}
#scan td, #scan th {
padding: 8px;
font-size:20px;
}
#scan tr:nth-child(even){background-color: #ffffff;}
#scan tr:hover {background-color: #ddd;}
#scan th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#scan {
font-family: Arial, Helvetica, sans-serif;
width: 100%;
}
#scan td, #scan th {
padding: 8px;
font-size:12px;
}
#scan tr:nth-child(even){background-color: #ffffff;}
#scan tr:hover {background-color: #ddd;}
#scan th {
border-collapse: collapse;
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#details {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 50%;
}
#details td, #details th {
padding: 8px;
font-size:16px;
}
#details tr:nth-child(even){background-color: #ffffff;}
#details tr:hover {background-color: #ffffff;}
#details th {
padding-top: 12px;
font-style:bold;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#sign {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#sign td, #sign th {
padding: 8px;
font-size:11px;
text-align: center;
}
#sign tr:nth-child(even){background-color: #ffffff;}
#sign tr:hover {background-color: #ddd;}
#sign th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#title {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 50%;
}
#title td, #title th {
padding:4px;
font-size:12px;
border: 0px solid #fff;
}
#title tr:nth-child(even){background-color: #ffffff;}
#title tr:hover {background-color: #ddd;}
#title th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#details {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width:80%;
}
#details td, #details th {
padding:4px;
font-size:16px;
border: 1px solid #ddd;
}
#details tr:nth-child(even){background-color: #ffffff;}
#details tr:hover {background-color: #ddd;}
#details th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#tarikh_cetak {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 50%;
}
#tarikh_cetak td, #tarikh_cetak th {
padding:4px;
font-size:10px;
}
#tarikh_cetak tr:nth-child(even){background-color: #ffffff;}
#tarikh_cetak tr:hover {background-color: #ddd;}
#tarikh_cetak th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#data {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 80%;
}
#data td, #data th {
padding:4px;
font-size:16px;
}
#data tr:nth-child(even){background-color: #ffffff;}
#data tr:hover {background-color: #ddd;}
#data th {
padding-top: 11px;
padding-bottom: 11px;
text-align: left;
padding:4px;
color:black;
font-size:14px;
}
</style>
<style>
#tarikh_ib {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width:45%;
}
#tarikh_ib td, #tarikh_ib th {
padding:4px;
font-size:12px;
}
#tarikh_ib tr:nth-child(even){background-color: #ffffff;}
#tarikh_ib tr:hover {background-color: #ddd;}
#tarikh_ib th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#GL {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width:100%;
}
#GL td, #GL th {
padding:4px;
font-size:12px;
border: 1px solid #ddd;
}
#GL tr:nth-child(even){background-color: #ffffff;}
#GL tr:hover {background-color: #ddd;}
#GL th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#GL_dtl {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width:100%;
}
#GL_dtl td, #GL_dtl th {
padding:4px;
font-size:12px;
border: 1px solid #ddd;
}
#GL_dtl tr:nth-child(even){background-color: #ffffff;}
#GL_dtl tr:hover {background-color: #ddd;}
#GL_dtl th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#dtl_ib {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width:100%;
}
#dtl_ib td, #dtl_ib th {
padding:4px;
font-size:12px;
border: 1px solid #ddd;
}
#dtl_ib tr:nth-child(even){background-color: #ffffff;}
#dtl_ib tr:hover {background-color: #ddd;}
#dtl_ib th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#total_harta {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width:100%;
}
#total_harta td, #total_harta th {
padding:4px;
font-size:12px;
border: 1px solid #ddd;
}
#total_harta tr:nth-child(even){background-color: #ffffff;}
#total_harta tr:hover {background-color: #ddd;}
#total_harta th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<table id="header">
<tr>
<th rowspan="4" style="width:50px"><br><img src="{{ asset('img/ARRAHN1.png') }}" style="width:70px"></img></th>
<th colspan="1">KOPERASI PERMODALAN KELANTAN BERHAD</th>
</tr>
<tr>
<td>{{ $cawangan_detail['namacaw'] }}</td>
<td></td>
</tr>
<tr>
<td>{{ $cawangan_detail['alamat1'] }}</td>
<td></td>
</tr>
<tr>
<td>{{ $cawangan_detail['alamat2'].' No Tel : '. $cawangan_detail['notel'].' No Faks : '. $cawangan_detail['nofaks'] }}</td>
<td></td>
</tr>
</table>
<br>
<table id="tarikh_ib">
<tr>
<td colspan="2" > <B><U>Laporan Kenyataan Akaun </U></B></td>
</tr>
</table>
<table id="tarikh_ib">
<tr><td style="width:10px" ><b>ID</b></td ><td style="width:20px"> {{ (Auth::user()->name) ? Auth::user()->name : ''}} </td> </tr>
<br>
<tr><td style="width:10px" ><b>Tarikh Laporan</b></td ><td style="width:20px"> {{ $tarikh }} </td><td style="width:18px" ><b>Tarikh Cetak</b></td><td style="width:25px"> {{ $tarikh_cetak }} </td> </tr>
</table>
<br>
<table style=" width: 100%; border-collapse: collapse;">
<thead>
<tr>
<th style="border: 1px solid #ddd;text-align: left;padding: 8px;font-weight:bold;text-align:center;">Tarikh</th>
<th style="border: 1px solid #ddd;text-align: left;padding: 8px;font-weight:bold;text-align:center;">Debit</th>
<th style="border: 1px solid #ddd;text-align: left;padding: 8px;font-weight:bold;text-align:center;">Kredit</th>
<th style="border: 1px solid #ddd;text-align: left;padding: 8px;font-weight:bold;text-align:center;">Nota</th>
</tr>
</thead>
<tbody>
@foreach ($acc_statement as $acc)
<tr>
<td style="border: 1px solid #ddd;text-align: left;padding: 8px;text-align:center;">{{ $acc['tarikh'] }}</td>
<td style="border: 1px solid #ddd;text-align: left;padding: 8px;text-align:right;">{{ number_format($acc['tambah'],2) }}</td>
<td style="border: 1px solid #ddd;text-align: left;padding: 8px;text-align:right;">{{ number_format($acc['kurang'],2) }}</td>
<td style="border: 1px solid #ddd;text-align: left;padding: 8px;text-align:center;">{{ $acc['nota'] }}</td>
</tr>
@endforeach
</tbody>
</table>
<br>
<table id="sign" style="margin-top:200px;">
<tr>
<td></td>
<td colspan="2"> .................................................................. </td>
<td> </td>
<td colspan="2">.................................................................. </td>
<td> </td>
</tr>
<tr>
<td></td>
<td colspan="2"><B> DI SEMAK</B> </td>
<td> </td>
<td colspan="2"><B>DI SAHKAN </B></td>
<td> </td>
</tr>
</table>
@@ -0,0 +1,546 @@
<style>
#header {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#header td, #customers th {
padding:4px;
font-size:12px;
}
#header tr:nth-child(even){background-color: #ffffff;}
#header tr:hover {background-color: #ddd;}
#header th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#scan {
font-family: Arial, Helvetica, sans-serif;
width: 100%;
border: 1px solid #ddd;
}
#scan td, #scan th {
padding: 8px;
font-size:20px;
}
#scan tr:nth-child(even){background-color: #ffffff;}
#scan tr:hover {background-color: #ddd;}
#scan th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#scan {
font-family: Arial, Helvetica, sans-serif;
width: 100%;
}
#scan td, #scan th {
padding: 8px;
font-size:12px;
}
#scan tr:nth-child(even){background-color: #ffffff;}
#scan tr:hover {background-color: #ddd;}
#scan th {
border-collapse: collapse;
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#details {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 50%;
}
#details td, #details th {
padding: 8px;
font-size:16px;
}
#details tr:nth-child(even){background-color: #ffffff;}
#details tr:hover {background-color: #ffffff;}
#details th {
padding-top: 12px;
font-style:bold;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#sign {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#sign td, #sign th {
padding: 8px;
font-size:11px;
text-align: center;
}
#sign tr:nth-child(even){background-color: #ffffff;}
#sign tr:hover {background-color: #ddd;}
#sign th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#title {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 50%;
}
#title td, #title th {
padding:4px;
font-size:12px;
border: 0px solid #fff;
}
#title tr:nth-child(even){background-color: #ffffff;}
#title tr:hover {background-color: #ddd;}
#title th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#details {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width:80%;
}
#details td, #details th {
padding:4px;
font-size:16px;
border: 1px solid #ddd;
}
#details tr:nth-child(even){background-color: #ffffff;}
#details tr:hover {background-color: #ddd;}
#details th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#tarikh_cetak {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 50%;
}
#tarikh_cetak td, #tarikh_cetak th {
padding:4px;
font-size:10px;
}
#tarikh_cetak tr:nth-child(even){background-color: #ffffff;}
#tarikh_cetak tr:hover {background-color: #ddd;}
#tarikh_cetak th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#data {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 80%;
}
#data td, #data th {
padding:4px;
font-size:16px;
}
#data tr:nth-child(even){background-color: #ffffff;}
#data tr:hover {background-color: #ddd;}
#data th {
padding-top: 11px;
padding-bottom: 11px;
text-align: left;
padding:4px;
color:black;
font-size:14px;
}
</style>
<style>
#tarikh_ib {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width:45%;
}
#tarikh_ib td, #tarikh_ib th {
padding:4px;
font-size:12px;
}
#tarikh_ib tr:nth-child(even){background-color: #ffffff;}
#tarikh_ib tr:hover {background-color: #ddd;}
#tarikh_ib th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#GL {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width:100%;
}
#GL td, #GL th {
padding:4px;
font-size:12px;
border: 1px solid #ddd;
}
#GL tr:nth-child(even){background-color: #ffffff;}
#GL tr:hover {background-color: #ddd;}
#GL th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#GL_dtl {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width:100%;
}
#GL_dtl td, #GL_dtl th {
padding:4px;
font-size:12px;
border: 1px solid #ddd;
}
#GL_dtl tr:nth-child(even){background-color: #ffffff;}
#GL_dtl tr:hover {background-color: #ddd;}
#GL_dtl th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#dtl_ib {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width:100%;
}
#dtl_ib td, #dtl_ib th {
padding:4px;
font-size:12px;
border: 1px solid #ddd;
}
#dtl_ib tr:nth-child(even){background-color: #ffffff;}
#dtl_ib tr:hover {background-color: #ddd;}
#dtl_ib th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#total_harta {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width:100%;
}
#total_harta td, #total_harta th {
padding:4px;
font-size:12px;
border: 1px solid #ddd;
}
#total_harta tr:nth-child(even){background-color: #ffffff;}
#total_harta tr:hover {background-color: #ddd;}
#total_harta th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<table id="header">
<tr>
<th rowspan="4" style="width:50px"><br><img src="{{ asset('img/ARRAHN1.png') }}" style="width:70px"></img></th>
<th colspan="1">KOPERASI PERMODALAN KELANTAN BERHAD</th>
</tr>
<tr>
<td>{{ $cawangan_detail['namacaw'] }}</td>
<td></td>
</tr>
<tr>
<td>{{ $cawangan_detail['alamat1'] }}</td>
<td></td>
</tr>
<tr>
<td>{{ $cawangan_detail['alamat2'].' No Tel : '. $cawangan_detail['notel'].' No Faks : '. $cawangan_detail['nofaks'] }}</td>
<td></td>
</tr>
</table>
<br>
<table id="tarikh_ib">
<tr>
<td colspan="2" > <B><U>Laporan Pemeriksaan Wang Peti Besi (Cash Box)</U></B></td>
</tr>
</table>
<table id="tarikh_ib">
<tr><td style="width:10px" ><b>ID</b></td ><td style="width:20px"> {{ (Auth::user()->name) ? Auth::user()->name : ''}} </td> <td><b>Jenis</b> </td><td>{{ strtoupper($jenisserah) }}</td></tr>
<br>
<tr><td style="width:10px" ><b>Tarikh Laporan</b></td ><td style="width:20px"> {{ $tarikh_cetak }} </td><td style="width:18px" ><b>Tarikh Cetak</b></td><td style="width:25px"> {{ $tarikh_cetak }} </td> </tr>
</table>
<br>
<table id="GL_dtl">
<thead>
<td><b>RM</b></td>
<td><b>KUANTITI</b></td>
<td><b>JUMLAH (RM)</b></td>
</thead>
<tr>
<td>RM100</td>
<td>{{ $array_requestteller[0]['rekodring100'] }}</td>
<td>@php $totalsemua = 0; $total = ($array_requestteller[0]['rekodring100'] * 100); $totalsemua += $total; echo number_format($total,2); @endphp</td>
</tr>
<tr>
<td>RM 50</td>
<td>{{ $array_requestteller[0]['rekodring50'] }}</td>
<td>@php $total = ($array_requestteller[0]['rekodring50'] * 50); $totalsemua += $total; echo number_format($total,2); @endphp</td>
</tr>
<tr>
<td>RM 20</td>
<td>{{ $array_requestteller[0]['rekodring20'] }}</td>
<td>@php $total = ($array_requestteller[0]['rekodring20'] * 20); $totalsemua += $total; echo number_format($total,2); @endphp</td>
</tr>
<tr>
<td>RM 10</td>
<td>{{ $array_requestteller[0]['rekodring10'] }}</td>
<td>@php $total = ($array_requestteller[0]['rekodring10'] * 10); $totalsemua += $total; echo number_format($total,2); @endphp</td>
</tr>
<tr>
<td>RM 5</td>
<td>{{ $array_requestteller[0]['rekodring5'] }}</td>
<td>@php $total = ($array_requestteller[0]['rekodring5'] * 5); $totalsemua += $total; echo number_format($total,2); @endphp</td>
</tr>
<tr>
<td>RM 1.00</td>
<td>{{ $array_requestteller[0]['rekodring1'] }}</td>
<td>@php $total = ($array_requestteller[0]['rekodring1'] * 1); $totalsemua += $total; echo number_format($total,2); @endphp</td>
</tr>
<tr>
<td>RM 0.50</td>
<td>{{ $array_requestteller[0]['rekodsen50'] }}</td>
<td>@php $total = ($array_requestteller[0]['rekodsen50'] * 0.5); $totalsemua += $total; echo number_format($total,2); @endphp</td>
</tr>
<tr>
<td>RM 0.20</td>
<td>{{ $array_requestteller[0]['rekodsen20'] }}</td>
<td>@php $total = ($array_requestteller[0]['rekodsen20'] * 0.2); $totalsemua += $total; echo number_format($total,2); @endphp</td>
</tr>
<tr>
<td>RM0.10</td>
<td>{{ $array_requestteller[0]['rekodsen10'] }}</td>
<td>@php $total = ($array_requestteller[0]['rekodsen10'] * 0.1); $totalsemua += $total; echo number_format($total,2); @endphp</td>
</tr>
<tr>
<td>RM 0.05</td>
<td>{{ $array_requestteller[0]['rekodsen5'] }}</td>
<td>@php $total = ($array_requestteller[0]['rekodsen5'] * 0.05); $totalsemua += $total; echo number_format($total,2); @endphp</td>
</tr>
<tr>
<td>RM 0.01</td>
<td>{{ $array_requestteller[0]['rekodsen1'] }}</td>
<td>@php $total = ($array_requestteller[0]['rekodsen1'] * 0.01); $totalsemua += $total; echo number_format($total,2); @endphp</td>
</tr>
<tr>
<td colspan="2"><b>JUMLAH (RM)</b></td>
<td>{{ number_format($totalsemua,2) }}</td>
</tr>
</table>
<h5>CATATAN:</h5> @if($jenisserah == 'pendahuluan')
Pendahuluan daripada peti besi
@else
Serahan kepada peti besi
@endif
ialah sebanyak <span>RM {{ number_format($totalsemua,2) }}</span>
<br>
<br>
<table id="sign" style="margin-top:200px;">
<tr>
<td></td>
<td colspan="2"> .................................................................. </td>
<td> </td>
<td colspan="2">.................................................................. </td>
<td> </td>
</tr>
<tr>
<td></td>
<td colspan="2"><B> DI SEMAK</B> </td>
<td> </td>
<td colspan="2"><B>DI SAHKAN </B></td>
<td> </td>
</tr>
</table>
@@ -255,6 +255,7 @@
</div>
<div class="row">
<a href="{{ url('menu') }}"
id="btn-khazanah"
class="btn {{ $countkhazanah > 0 ? 'btn-danger' : 'btn-info' }} btn-lg btn-block mb-3">Khazanah</a>
</div>
<div class="row">
@@ -18,6 +18,7 @@
<a href="{{ route('daftar.kakitangan') }}" class="btn btn-info btn-lg">Kakitangan</a>
<a href="{{ route('parameter') }}" class="btn btn-info btn-lg">Parameter</a>
<a href="{{ route('komuditi') }}" class="btn btn-info btn-lg">Komoditi</a>
<a href="{{ route('perubatan') }}" class="btn btn-info btn-lg">Perubatan</a>
</div>
</div>
</div>
+2 -2
View File
@@ -18,9 +18,9 @@
<a href="{{ url('khazanahtebus') }}" class="btn {{ count($listserah) > 0 ? 'btn-danger' : 'btn-info' }} mb-4 mx-2 btn-lg col-5 text-center">Penyelesaian Pem. <span class="badge badge-light">{{ count($listserah) }}</span></a>
<a href="{{ url('pendahuluan') }}" class="btn {{ $countmodal > 0 ? 'btn-danger' : 'btn-info' }} mb-4 mx-2 btn-lg col-5 text-center">Pendahuluan <span class="badge badge-light">{{ $countmodal }}</span></a>
<a id="btn-pend" href="{{ url('pendahuluan') }}" class="btn {{ $countmodal > 0 ? 'btn-danger' : 'btn-info' }} mb-4 mx-2 btn-lg col-5 text-center">Pendahuluan <span class="badge badge-light">{{ $countmodal }}</span></a>
<a href="{{ url('serahan') }}" class="btn {{ $countserahan > 0 ? 'btn-danger' : 'btn-info' }} mb-4 mx-2 btn-lg col-5 text-center">Serahan <span class="badge badge-light">{{ $countserahan }}</span></a>
<a id="btn-ser" href="{{ url('serahan') }}" class="btn {{ $countserahan > 0 ? 'btn-danger' : 'btn-info' }} mb-4 mx-2 btn-lg col-5 text-center">Serahan <span class="badge badge-light">{{ $countserahan }}</span></a>
</div>
</div>
+5 -2
View File
@@ -20,10 +20,13 @@
<div class="card-body text-center">
@if(Session::has('messageinformation'))
@php
$session = Session::get("messageinformation");
@endphp
<script> Swal.fire({
icon: 'info',
icon: '{!! $session["status"] !!}',
title: 'Status!',
text: '{!! Session::get("messageinformation") !!}'
text: '{!! $session["message"] !!}'
});
</script>
@endif
@@ -16,7 +16,11 @@
<div class="card-body text-center">
@if (session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<div class="row mb-4">
<div class="col-2 justify-content-start">
</div>
+9
View File
@@ -49,6 +49,15 @@
{{-- Pusher --}}
<script src="{{ asset('js/pusher.min.js') }}"></script>
@if(Auth::user()->roles == 'ppc' || Auth::user()->roles == 'pc')
<script>
window.api = "{{ config('api.url') }}";
window.kodcaw = "{{ Auth::user()->cawangan }}";
window.apikey = "{{ env('PUSHER_APP_KEY') }}";
</script>
<script type="module" src="{{ asset('js/notification.js') }}"></script>
@endif
<script>
function startTime() {
var today = new Date();
@@ -0,0 +1,70 @@
@extends('layouts.app_operasi')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12">
<div class="card">
<nav aria-label="breadcrumb">
<ol class="breadcrumb pb-3">
<li class="breadcrumb-item"><a href="{{ url('/') }}">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Perubatan</li>
</ol>
</nav>
<div class="card-body text-center">
<div>
<form method="GET" action="{{ route('perubatan.search') }}" class="d-flex w-50 mb-2 float-right">
<input type="text" name="search" value="{{ request('search') }}" placeholder="Search..." class="form-control"/>
<button class="btn btn-primary ml-2" type="submit">Search</button>
</form>
<table class="table table-bordered">
<thead class="bg-secondary">
<tr>
<th scope="col">#</th>
<th scope="col">Nama</th>
<th scope="col">Baki Perubatan</th>
<th scope="col" style="width:15%;">Perubatan</th>
<th scope="col">Tindakan</th>
</tr>
</thead>
<tbody>
@foreach($paginate as $page)
<tr>
<td>{{ ($paginate->currentPage() - 1) * $paginate->perPage() + $loop->index + 1 }}</td>
<td scope="col">{{ $page->name }}</td>
<td scope="col">{{ number_format($page->perubatan,2) }}</td>
<td scope="col">
<input name="perubatan" id="input-{{ $page->id }}" class="form-control" value="{{ $page->perubatan_asal }}" disabled/>
</td>
<td>
<div id="divedit-{{ $page->id }}" class="d-block">
<btn class="btn btn-primary" id="editButton-{{ $page->id }}" onclick="editfunc({{ $page->id }})">Edit</btn>
</div>
<div class="d-none" id="div-{{ $page->id }}">
<btn class="btn btn-primary" id="saveButton-{{ $page->id }}" onclick="savefunc({{ $page->id }})">Save</btn>
<btn class="btn btn-danger" id="cancelButton-{{ $page->id }}" onclick="cancelfunc({{ $page->id }})">Cancel</btn>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<!-- Display pagination links -->
<div class="pagination float-right">
{{ $paginate->links() }}
</div>
</div>
</div>
</div>
</div>
</div>
<script>
let updateurl = "{{ route('perubatan.update') }}";
</script>
<script src="{{ asset('js/perubatan.js') }}"></script>
@endsection
+47
View File
@@ -0,0 +1,47 @@
@if ($paginator->hasPages())
<nav>
<ul class="pagination">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="page-item disabled" aria-disabled="true" aria-label="@lang('pagination.previous')">
<span class="page-link" aria-hidden="true">&lsaquo;</span>
</li>
@else
<li class="page-item">
<a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev" aria-label="@lang('pagination.previous')">&lsaquo;</a>
</li>
@endif
{{-- Pagination Elements --}}
@foreach ($elements as $element)
{{-- "Three Dots" Separator --}}
@if (is_string($element))
<li class="page-item disabled" aria-disabled="true"><span class="page-link">{{ $element }}</span></li>
@endif
{{-- Array Of Links --}}
@if (is_array($element))
@foreach ($element as $page => $url)
@if ($page == $paginator->currentPage())
<li class="page-item active" aria-current="page"><span class="page-link">{{ $page }}</span></li>
@else
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
@endif
@endforeach
@endif
@endforeach
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<li class="page-item">
<a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next" aria-label="@lang('pagination.next')">&rsaquo;</a>
</li>
@else
<li class="page-item disabled" aria-disabled="true" aria-label="@lang('pagination.next')">
<span class="page-link" aria-hidden="true">&rsaquo;</span>
</li>
@endif
</ul>
</nav>
@endif
+46
View File
@@ -0,0 +1,46 @@
@if ($paginator->hasPages())
<nav>
<ul class="pagination">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="disabled" aria-disabled="true" aria-label="@lang('pagination.previous')">
<span aria-hidden="true">&lsaquo;</span>
</li>
@else
<li>
<a href="{{ $paginator->previousPageUrl() }}" rel="prev" aria-label="@lang('pagination.previous')">&lsaquo;</a>
</li>
@endif
{{-- Pagination Elements --}}
@foreach ($elements as $element)
{{-- "Three Dots" Separator --}}
@if (is_string($element))
<li class="disabled" aria-disabled="true"><span>{{ $element }}</span></li>
@endif
{{-- Array Of Links --}}
@if (is_array($element))
@foreach ($element as $page => $url)
@if ($page == $paginator->currentPage())
<li class="active" aria-current="page"><span>{{ $page }}</span></li>
@else
<li><a href="{{ $url }}">{{ $page }}</a></li>
@endif
@endforeach
@endif
@endforeach
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<li>
<a href="{{ $paginator->nextPageUrl() }}" rel="next" aria-label="@lang('pagination.next')">&rsaquo;</a>
</li>
@else
<li class="disabled" aria-disabled="true" aria-label="@lang('pagination.next')">
<span aria-hidden="true">&rsaquo;</span>
</li>
@endif
</ul>
</nav>
@endif
+36
View File
@@ -0,0 +1,36 @@
@if ($paginator->hasPages())
<div class="ui pagination menu" role="navigation">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<a class="icon item disabled" aria-disabled="true" aria-label="@lang('pagination.previous')"> <i class="left chevron icon"></i> </a>
@else
<a class="icon item" href="{{ $paginator->previousPageUrl() }}" rel="prev" aria-label="@lang('pagination.previous')"> <i class="left chevron icon"></i> </a>
@endif
{{-- Pagination Elements --}}
@foreach ($elements as $element)
{{-- "Three Dots" Separator --}}
@if (is_string($element))
<a class="icon item disabled" aria-disabled="true">{{ $element }}</a>
@endif
{{-- Array Of Links --}}
@if (is_array($element))
@foreach ($element as $page => $url)
@if ($page == $paginator->currentPage())
<a class="item active" href="{{ $url }}" aria-current="page">{{ $page }}</a>
@else
<a class="item" href="{{ $url }}">{{ $page }}</a>
@endif
@endforeach
@endif
@endforeach
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<a class="icon item" href="{{ $paginator->nextPageUrl() }}" rel="next" aria-label="@lang('pagination.next')"> <i class="right chevron icon"></i> </a>
@else
<a class="icon item disabled" aria-disabled="true" aria-label="@lang('pagination.next')"> <i class="right chevron icon"></i> </a>
@endif
</div>
@endif
@@ -0,0 +1,27 @@
@if ($paginator->hasPages())
<nav>
<ul class="pagination">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="page-item disabled" aria-disabled="true">
<span class="page-link">@lang('pagination.previous')</span>
</li>
@else
<li class="page-item">
<a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev">@lang('pagination.previous')</a>
</li>
@endif
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<li class="page-item">
<a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next">@lang('pagination.next')</a>
</li>
@else
<li class="page-item disabled" aria-disabled="true">
<span class="page-link">@lang('pagination.next')</span>
</li>
@endif
</ul>
</nav>
@endif
@@ -0,0 +1,19 @@
@if ($paginator->hasPages())
<nav>
<ul class="pagination">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="disabled" aria-disabled="true"><span>@lang('pagination.previous')</span></li>
@else
<li><a href="{{ $paginator->previousPageUrl() }}" rel="prev">@lang('pagination.previous')</a></li>
@endif
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<li><a href="{{ $paginator->nextPageUrl() }}" rel="next">@lang('pagination.next')</a></li>
@else
<li class="disabled" aria-disabled="true"><span>@lang('pagination.next')</span></li>
@endif
</ul>
</nav>
@endif
@@ -0,0 +1,25 @@
@if ($paginator->hasPages())
<nav role="navigation" aria-label="Pagination Navigation" class="flex justify-between">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<span class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5 rounded-md">
{!! __('pagination.previous') !!}
</span>
@else
<a href="{{ $paginator->previousPageUrl() }}" rel="prev" class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 rounded-md hover:text-gray-500 focus:outline-none focus:shadow-outline-blue focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150">
{!! __('pagination.previous') !!}
</a>
@endif
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<a href="{{ $paginator->nextPageUrl() }}" rel="next" class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 rounded-md hover:text-gray-500 focus:outline-none focus:shadow-outline-blue focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150">
{!! __('pagination.next') !!}
</a>
@else
<span class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5 rounded-md">
{!! __('pagination.next') !!}
</span>
@endif
</nav>
@endif
+102
View File
@@ -0,0 +1,102 @@
@if ($paginator->hasPages())
<nav role="navigation" aria-label="Pagination Navigation" class="flex items-center justify-between">
<div class="flex justify-between flex-1 sm:hidden">
@if ($paginator->onFirstPage())
<span class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5 rounded-md">
{!! __('pagination.previous') !!}
</span>
@else
<a href="{{ $paginator->previousPageUrl() }}" class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 rounded-md hover:text-gray-500 focus:outline-none focus:shadow-outline-blue focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150">
{!! __('pagination.previous') !!}
</a>
@endif
@if ($paginator->hasMorePages())
<a href="{{ $paginator->nextPageUrl() }}" class="relative inline-flex items-center px-4 py-2 ml-3 text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 rounded-md hover:text-gray-500 focus:outline-none focus:shadow-outline-blue focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150">
{!! __('pagination.next') !!}
</a>
@else
<span class="relative inline-flex items-center px-4 py-2 ml-3 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5 rounded-md">
{!! __('pagination.next') !!}
</span>
@endif
</div>
<div class="hidden sm:flex-1 sm:flex sm:items-center sm:justify-between">
<div>
<p class="text-sm text-gray-700 leading-5">
{!! __('Showing') !!}
<span class="font-medium">{{ $paginator->firstItem() }}</span>
{!! __('to') !!}
<span class="font-medium">{{ $paginator->lastItem() }}</span>
{!! __('of') !!}
<span class="font-medium">{{ $paginator->total() }}</span>
{!! __('results') !!}
</p>
</div>
<div>
<span class="relative z-0 inline-flex shadow-sm">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<span aria-disabled="true" aria-label="{{ __('pagination.previous') }}">
<span class="relative inline-flex items-center px-2 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default rounded-l-md leading-5" aria-hidden="true">
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" clip-rule="evenodd" />
</svg>
</span>
</span>
@else
<a href="{{ $paginator->previousPageUrl() }}" rel="prev" class="relative inline-flex items-center px-2 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-l-md leading-5 hover:text-gray-400 focus:z-10 focus:outline-none focus:border-blue-300 focus:shadow-outline-blue active:bg-gray-100 active:text-gray-500 transition ease-in-out duration-150" aria-label="{{ __('pagination.previous') }}">
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" clip-rule="evenodd" />
</svg>
</a>
@endif
{{-- Pagination Elements --}}
@foreach ($elements as $element)
{{-- "Three Dots" Separator --}}
@if (is_string($element))
<span aria-disabled="true">
<span class="relative inline-flex items-center px-4 py-2 -ml-px text-sm font-medium text-gray-700 bg-white border border-gray-300 cursor-default leading-5">{{ $element }}</span>
</span>
@endif
{{-- Array Of Links --}}
@if (is_array($element))
@foreach ($element as $page => $url)
@if ($page == $paginator->currentPage())
<span aria-current="page">
<span class="relative inline-flex items-center px-4 py-2 -ml-px text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5">{{ $page }}</span>
</span>
@else
<a href="{{ $url }}" class="relative inline-flex items-center px-4 py-2 -ml-px text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 hover:text-gray-500 focus:z-10 focus:outline-none focus:border-blue-300 focus:shadow-outline-blue active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150" aria-label="{{ __('Go to page :page', ['page' => $page]) }}">
{{ $page }}
</a>
@endif
@endforeach
@endif
@endforeach
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<a href="{{ $paginator->nextPageUrl() }}" rel="next" class="relative inline-flex items-center px-2 py-2 -ml-px text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-r-md leading-5 hover:text-gray-400 focus:z-10 focus:outline-none focus:border-blue-300 focus:shadow-outline-blue active:bg-gray-100 active:text-gray-500 transition ease-in-out duration-150" aria-label="{{ __('pagination.next') }}">
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd" />
</svg>
</a>
@else
<span aria-disabled="true" aria-label="{{ __('pagination.next') }}">
<span class="relative inline-flex items-center px-2 py-2 -ml-px text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default rounded-r-md leading-5" aria-hidden="true">
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd" />
</svg>
</span>
</span>
@endif
</span>
</div>
</div>
</nav>
@endif
+9
View File
@@ -87,6 +87,8 @@ Route::get('/daftar_marhun',['as'=>'daftar_marhun','uses'=>'MarhunController@ind
Route::get('/penebusan/{norujukan}',['as'=>'penebusan','uses' => 'PenebusanController@index'])->middleware('auth');
Route::get('/lelongan/{norujukan}',['as'=>'lelongan','uses' => 'LelongController@index'])->middleware('auth','teller');
Route::get('/aliran_tunai','AliranTunaiController@index')->middleware('auth','teller');
Route::get('/aliran_tunai/laporantunaiteller',['as'=>'laporan.tunaiteller','uses' => 'AliranTunaiController@LaporanTunaiTeller'])->middleware('auth','teller');
Route::get('/aliran_tunai/account_statement',['as'=>'laporan.acc_statement','uses' => 'AliranTunaiController@LaporanAccStatement'])->middleware('auth','teller');
Route::get('/aliran_tunai/laporanserahan',['as'=>'laporan.serahanteller','uses' => 'AliranTunaiController@LaporanSerahan'])->middleware('auth','teller');
Route::get('/aliran_tunai/laporanserahanberkala',['as'=>'laporan.serahantellerberkala','uses' => 'AliranTunaiController@LaporanSerahanBerkala'])->middleware('auth','teller');
Route::get('/aliran_tunai/laporanalirantunai/{teller}',['as'=>'laporan.alirantunai','uses' => 'AliranTunaiController@LaporanAliranTunai'])->middleware('auth','teller');
@@ -471,4 +473,11 @@ Route::get('supports/driver/mykad-reader/download',['as'=>'mykadreader.driver.do
return Storage::disk('supports')->download('MykadReaderDriver.zip');
}])->middleware('auth','teller');
/* Event Trigger */
Route::get('/event/tellercash',['as'=>'event.tellercash','uses'=>'EventTriggerController@TellerCash'])->middleware('auth');
/* Perubatan */
Route::get('/perubatan',['as'=>'perubatan','uses'=>'PerubatanController@index'])->middleware('auth','operasi');
Route::get('/perubatan/search',['as'=>'perubatan.search','uses'=>'PerubatanController@search'])->middleware('auth','operasi');
Route::put('/perubatan/update',['as'=>'perubatan.update','uses'=>'PerubatanController@update'])->middleware('auth','operasi');