Merge branch 'main' of https://gitlab.com/online-sistem1/admin-portal into Features#add-katalaluan
This commit is contained in:
@@ -9,10 +9,12 @@ use Carbon\Carbon;
|
||||
|
||||
use Barryvdh\DomPDF\Facade as PDF;
|
||||
use Maatwebsite\Excel\Excel;
|
||||
use DateTime;
|
||||
|
||||
use App\Models\Lejeram;
|
||||
use App\Models\Cawangan;
|
||||
|
||||
use App\Services\ImbangdugaServices as ImbanganDuga;
|
||||
|
||||
class AkaunController extends Controller
|
||||
{
|
||||
@@ -1252,4 +1254,91 @@ class AkaunController extends Controller
|
||||
return view('akaun.laporan_serahpetibesigadai', compact('cawangan_detail','api_url','serahmarhun','cawangan_info','datemula','datehingga','tarikh_cetak'));
|
||||
|
||||
}
|
||||
|
||||
public function cetak_laporan_online(Request $request){
|
||||
$api_url = $request->hostname;
|
||||
$auth_user = Auth::user();
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$tarikh_cetak = $current->toDateString();
|
||||
|
||||
if($request->datemula == null){
|
||||
$mula_date = '2017-01-01';
|
||||
}else{
|
||||
$split_date = explode('-', $request->datemula);
|
||||
// $mula_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
$mula_date = $request->datemula;
|
||||
}
|
||||
|
||||
if($request->datehingga == null){
|
||||
$hingga_date = $current->toDateString();
|
||||
}else{
|
||||
$split_date = explode('-', $request->datehingga);
|
||||
// $hingga_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
$hingga_date = $request->datehingga;
|
||||
}
|
||||
|
||||
$Online = Http::get($request->hostname. '/admin/laporan/online',['kodcaw' => $request->kodcaw,'mula' => $mula_date,'hingga' => $hingga_date,'jenis' => $request->radonline])->json();
|
||||
$cawangan = Http::get($request->hostname.'/api/cawangan/detail/'.$request->kodcaw)->json();
|
||||
$cawangan_detail=$cawangan[0];
|
||||
|
||||
if(isset($request->jenis))
|
||||
{
|
||||
if($request->jenis == 'pdf')
|
||||
{
|
||||
$pdf = PDF::loadView('akaun.laporan_online', compact('Online','cawangan_detail','tarikh_cetak','mula_date','hingga_date','api_url'))->setPaper('a4', 'potrait');
|
||||
return $pdf->download('laporan_Online_' . $request->kodcaw .'_'. $mula_date . '_' . $request->radonline . '.pdf');
|
||||
}else{
|
||||
return view('akaun.laporan_online', compact('Online','cawangan_detail','tarikh_cetak','mula_date','hingga_date','api_url'));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function cetakimbangdugaAkru(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/'. $request->kodcaw)->json();
|
||||
$cawangan = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/cawangan/detail/'. $request->kodcaw)->json();
|
||||
$cawangan_detail=$cawangan[0];
|
||||
|
||||
$tarikh_cetak = $current->toDateString();
|
||||
|
||||
$tarikh_imbangan= $current->toDateString();
|
||||
$tarikh_imbangan2= $current->toDateString();
|
||||
|
||||
$tarikh_cetak = $current->toDateString();
|
||||
|
||||
if($request->datetimepicker1 == null){
|
||||
$tarikh_cetak = $current->toDateString();
|
||||
}else{
|
||||
$split_date = explode('-',$request->datetimepicker1);
|
||||
$tarikh_imbangan2 = $request->datetimepicker1;
|
||||
}
|
||||
|
||||
$date1 = new DateTime($tarikh_imbangan2);
|
||||
$date2 = new DateTime($current->toDateString());
|
||||
if($date1 < $date2){
|
||||
$response = (new ImbanganDuga())->GetImbangDugaBackup( $request->kodcaw,$request->datetimepicker1);
|
||||
}else{
|
||||
$response = (new ImbanganDuga())->ViewImbangDugaAROS( $request->kodcaw,$tarikh_imbangan2);
|
||||
}
|
||||
|
||||
if($response->getContent() == 'notfound')
|
||||
{
|
||||
return response('not-found');
|
||||
}
|
||||
|
||||
$array_ig = json_decode($response->getContent());
|
||||
$hartasemasa = $array_ig->array_harta;
|
||||
$tanggungansemasa = $array_ig->array_tanggungan;
|
||||
$totalhartasemasa = $array_ig->sum_harta;
|
||||
$totaltanggungansemasa = $array_ig->sum_tanggungan;
|
||||
|
||||
return view('akaun.laporan_imbangduga-akru',compact('tarikh_imbangan', 'tarikh_imbangan2','hartasemasa','tanggungansemasa','totalhartasemasa','totaltanggungansemasa','tarikh_cetak','cawangan_info','cawangan','api_url','cawangan_detail'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,8 @@ class Cawangan extends Model
|
||||
'kodcaw',
|
||||
'syarikat',
|
||||
'min',
|
||||
'max'
|
||||
'max',
|
||||
'penyelarasan'
|
||||
];
|
||||
|
||||
protected $primaryKey = 'caw_id';
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class ImbangDuga extends Model
|
||||
{
|
||||
protected $table = 'imbangdugadata';
|
||||
|
||||
protected $fillable = [
|
||||
'no',
|
||||
'descpt',
|
||||
'glcode',
|
||||
'api_redirect',
|
||||
'variable',
|
||||
'single_var',
|
||||
'is_array',
|
||||
'jenis',
|
||||
'neg_values'
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,305 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
|
||||
use App\Models\ImbangDuga;
|
||||
use App\Models\Cawangan;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
|
||||
use Carbon\Carbon;
|
||||
|
||||
|
||||
class ImbangdugaServices
|
||||
{
|
||||
|
||||
protected float $tunaiditangan = 0;
|
||||
protected float $pembiayaantawarruq = 0;
|
||||
protected float $bayaranpendahuluan = 0;
|
||||
protected float $pinjamankoop = 0;
|
||||
protected float $emaspalsu = 0;
|
||||
protected float $serahan = 0;
|
||||
protected float $pindahkekpkb = 0;
|
||||
protected float $penghutangkaki = 0;
|
||||
protected float $phapuskira = 0;
|
||||
protected float $belian1stop = 0;
|
||||
protected float $keun_penggadai = 0;
|
||||
protected float $bds = 0;
|
||||
protected float $perubatan = 0;
|
||||
protected float $keraian = 0;
|
||||
protected float $rugilelong = 0;
|
||||
protected float $bakilelong = 0;
|
||||
protected float $wtd = 0;
|
||||
protected float $untungrugiterkumpul = 0;
|
||||
protected float $keun_sebenar = 0;
|
||||
protected float $pendahuluan = 0;
|
||||
protected float $cajlelong = 0;
|
||||
protected float $pend_terakru = 0;
|
||||
protected float $cajperkhidmatan = 0;
|
||||
protected float $cajlelongxtra = 0;
|
||||
protected float $upahsimpan = 0;
|
||||
protected float $bakilelongxtra = 0;
|
||||
protected float $kerugianlelong = 0;
|
||||
protected float $utgterkumpulxtra = 0;
|
||||
protected float $jualan1stop = 0;
|
||||
protected float $hapuskira = 0;
|
||||
|
||||
private function SwitchFuncImbangDuga($value = 0.0,$name_variable = null,$tarikh,$kodcaw) : Float{
|
||||
$value = floatval($value);
|
||||
switch ($name_variable) {
|
||||
case 'tunaiditangan' :
|
||||
if($tarikh >= '2021-04-22' && $tarikh < '2021-05-05'){
|
||||
$advansurharini = Http::get(config('api.url').'/api/advansurharini/' . $kodcaw,['tarikh' => $tarikh])->json();
|
||||
$data = floatval($value) - floatval($advansurharini);
|
||||
}else $data = $value;
|
||||
|
||||
if($kodcaw == '010219')
|
||||
if($tarikh >= '2022-11-24')
|
||||
$data = $value - 78379.9;
|
||||
else $data = $value;
|
||||
else $data = $value;
|
||||
break;
|
||||
case 'penghutangkaki' :
|
||||
if($kodcaw == '010219')
|
||||
if($tarikh < '2022-11-24')
|
||||
$data = $value - 78379.9;
|
||||
else $data = $value;
|
||||
else $data = $value;
|
||||
break;
|
||||
case 'jualan1stop':
|
||||
$data = ($kodcaw === '1STOP') ? floatval(129857.00) : 0;
|
||||
break;
|
||||
case 'belian1stop':
|
||||
$data = ($kodcaw === '1STOP') ? floatval(122446.50) : 0;
|
||||
break;
|
||||
case 'utgterkumpulxtra':
|
||||
$data = ($kodcaw === '1STOP') ? floatval(6727.10) : $value;
|
||||
break;
|
||||
case 'rugilelongxtra':
|
||||
$data = ($kodcaw === '1STOP') ? floatval(-10079.30) : -($value);
|
||||
break;
|
||||
case 'bakilelongxtra':
|
||||
$data = ($kodcaw === '1STOP') ? floatval(123.20) : $value;
|
||||
break;
|
||||
case 'cajlelongxtra':
|
||||
$data = ($kodcaw === '1STOP') ? floatval(25.50) : 0;
|
||||
break;
|
||||
case 'upahsimpanxtra':
|
||||
$data = ($kodcaw === '1STOP') ? floatval(4894.40) : $value;
|
||||
break;
|
||||
case null:
|
||||
$data = 0;
|
||||
break;
|
||||
default:
|
||||
$data = $value;
|
||||
break;
|
||||
}
|
||||
|
||||
return floatval($data);
|
||||
}
|
||||
|
||||
private function InsertImbangDugaBackup($tarikh,$kodcaw,$sum_harta = 0.0,$sum_tanggungan = 0.0,$tagtally = 0) : String{
|
||||
|
||||
$insert_imbangduga_backup = Http::get(config('api.url'). '/admin/laporan/akrual/insertImbangDuga',[
|
||||
'tarikh' => $tarikh,
|
||||
'kodcaw' => $kodcaw,
|
||||
'tunaiditangan' => ($this->tunaiditangan) ? $this->tunaiditangan : 0,
|
||||
'pembiayaantawarruq' => ($this->pembiayaantawarruq) ? $this->pembiayaantawarruq : 0,
|
||||
'bayaranpendahuluan' => ($this->bayaranpendahuluan) ? $this->bayaranpendahuluan : 0,
|
||||
'pinjamankoop' => ($this->pinjamankoop) ? $this->pinjamankoop : 0,
|
||||
'emaspalsu' => ($this->emaspalsu) ? $this->emaspalsu : 0,
|
||||
'serahan' => ($this->serahan) ? $this->serahan : 0,
|
||||
'bds' => ($this->bds) ? $this->bds : 0,
|
||||
'perubatan' => ($this->perubatan) ? $this->perubatan : 0,
|
||||
'keraian' => ($this->keraian) ? $this->keraian : 0,
|
||||
'rugilelong' => ($this->rugilelong) ? $this->rugilelong : 0,
|
||||
'bakilelong' => ($this->bakilelong) ? $this->bakilelong: 0,
|
||||
'wtd' => ($this->wtd) ? $this->wtd : 0,
|
||||
'untungrugiterkumpul' => ($this->untungrugiterkumpul) ? $this->untungrugiterkumpul : 0,
|
||||
'keun_sebenar' => ($this->keun_sebenar) ? $this->keun_sebenar : 0,
|
||||
'pendahuluan' => ($this->pendahuluan) ? $this->pendahuluan : 0,
|
||||
'cajlelong' => ($this->cajlelong) ? $this->cajlelong : 0,
|
||||
'pindahkekpkb' => ($this->pindahkekpkb) ? $this->pindahkekpkb : 0,
|
||||
'penghutangkaki' => ($this->penghutangkaki) ? $this->penghutangkaki : 0,
|
||||
'phapuskira' => ($this->phapuskira) ? $this->phapuskira : 0,
|
||||
'belian1stop' => ($this->belian1stop) ? $this->belian1stop : 0,
|
||||
'keun_penggadai' => ($this->keun_penggadai) ? $this->keun_penggadai : 0,
|
||||
'pend_terakru' => ($this->pend_terakru) ? $this->pend_terakru : 0,
|
||||
'cajperkhidmatan' => ($this->cajperkhidmatan) ? $this->cajperkhidmatan : 0,
|
||||
'cajlelongxtra' => ($this->cajlelongxtra) ? $this->cajlelongxtra : 0,
|
||||
'upahsimpanxtra' => ($this->upahsimpan) ? $this->upahsimpan : 0,
|
||||
'bakilelongxtra' => ($this->bakilelongxtra) ? $this->bakilelongxtra : 0,
|
||||
'rugilelongxtra' => ($this->kerugianlelong) ? $this->kerugianlelong : 0,
|
||||
'utgterkumpulxtra' => ($this->utgterkumpulxtra) ? $this->utgterkumpulxtra : 0,
|
||||
'jualan1stop' => ($this->jualan1stop) ? $this->jualan1stop : 0,
|
||||
'hapuskira' => ($this->hapuskira) ? $this->hapuskira : 0,
|
||||
'totalharta' => $sum_harta,
|
||||
'totaltanggungan' => $sum_tanggungan,
|
||||
'tagtally' => $tagtally,
|
||||
])->json();
|
||||
|
||||
if($insert_imbangduga_backup == 'success')
|
||||
return 'successful';
|
||||
else
|
||||
return 'error';
|
||||
}
|
||||
|
||||
public function OperationImbangDuga($kodcaw){
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$tarikh = $current->toDateString();
|
||||
|
||||
$imbangdugadata = ImbangDuga::orderBy('glcode')->get();
|
||||
$array_harta = [];
|
||||
$array_tanggungan = [];
|
||||
$summation_harta = 0;
|
||||
$summation_tanggungan = 0;
|
||||
|
||||
$penyelarasan = Cawangan::select('penyelarasan')->where('kodcaw',$kodcaw)->get()->toArray();
|
||||
$penyelarasan = $penyelarasan[0];
|
||||
|
||||
foreach($imbangdugadata as $index => $imbangdugaiteration){
|
||||
if($imbangdugaiteration->api_redirect != null){
|
||||
if($imbangdugaiteration['variable'] == 'keun_sebenar' || $imbangdugaiteration['variable'] == 'pend_terakru'){
|
||||
${$imbangdugaiteration['variable']} = Http::get(config('api.url'). $imbangdugaiteration['api_redirect'],['tarikh' => $tarikh,'kodcaw' => $kodcaw])->json();
|
||||
}else{
|
||||
${$imbangdugaiteration['variable']} = Http::get(config('api.url'). $imbangdugaiteration['api_redirect'] . $kodcaw,['tarikh' => $tarikh])->json();
|
||||
}
|
||||
|
||||
if(is_object($imbangdugaiteration)) $data = ($imbangdugaiteration->is_array == 1) ? ${$imbangdugaiteration['variable']}[$imbangdugaiteration['single_var']] : ${$imbangdugaiteration['variable']};
|
||||
$data = ($imbangdugaiteration->neg_values == 1) ? $data = -1 * abs($data) : $data;
|
||||
$data = ($imbangdugaiteration['variable'] == 'untungrugiterkumpul') ? $data + $penyelarasan['penyelarasan'] : $data;
|
||||
}else $data = 0;
|
||||
|
||||
$data = $this->SwitchFuncImbangDuga($data,$imbangdugaiteration['variable'],$tarikh,$kodcaw);
|
||||
|
||||
/* declare for protected above */
|
||||
if($imbangdugaiteration->is_array == 1){
|
||||
$nama = $imbangdugaiteration['single_var'];
|
||||
if($imbangdugaiteration['variable'] == 'bakilelongxtra'){
|
||||
$nama = $imbangdugaiteration['variable'];
|
||||
}else if($imbangdugaiteration['variable'] == 'utgterkumpulxtra'){
|
||||
$nama = $imbangdugaiteration['variable'];
|
||||
}
|
||||
$this->$nama = $data;
|
||||
}else $this->{$imbangdugaiteration['variable']} = $data;
|
||||
|
||||
|
||||
if($imbangdugaiteration->jenis == 'harta'){
|
||||
$summation_harta += $data;
|
||||
array_push($array_harta,['variable' => ($imbangdugaiteration->is_array == 1) ? $imbangdugaiteration->single_var : $imbangdugaiteration->variable,'glcode' => $imbangdugaiteration->glcode, 'descpt' => $imbangdugaiteration->descpt,'amaun' => ($data) ? $data : 0]);
|
||||
}else{
|
||||
$summation_tanggungan += $data;
|
||||
array_push($array_tanggungan,['variable' => ($imbangdugaiteration->is_array == 1) ? $imbangdugaiteration->single_var : $imbangdugaiteration->variable,'glcode' => $imbangdugaiteration->glcode, 'descpt' => $imbangdugaiteration->descpt,'amaun' => ($data) ? $data : 0]);
|
||||
}
|
||||
}
|
||||
|
||||
$tagtally = (number_format($summation_harta,2) == number_format($summation_tanggungan,2)) ? 1 : 0;
|
||||
$response = $this->InsertImbangDugaBackup($tarikh,$kodcaw,$summation_harta,$summation_tanggungan,$tagtally);
|
||||
|
||||
if($response == 'successful'){
|
||||
return response('succesful');
|
||||
}else{
|
||||
return response('error');
|
||||
}
|
||||
}
|
||||
|
||||
public function ViewImbangDugaAROS($kodcaw,$tarikh){
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$tarikh = $current->toDateString();
|
||||
|
||||
$imbangdugadata = ImbangDuga::orderBy('glcode')->get();
|
||||
$array_harta = [];
|
||||
$array_tanggungan = [];
|
||||
$summation_harta = 0;
|
||||
$summation_tanggungan = 0;
|
||||
|
||||
$penyelarasan = Cawangan::select('penyelarasan')->where('kodcaw',$kodcaw)->get()->toArray();
|
||||
$penyelarasan = $penyelarasan[0];
|
||||
|
||||
foreach($imbangdugadata as $index => $imbangdugaiteration){
|
||||
if($imbangdugaiteration->api_redirect != null){
|
||||
if($imbangdugaiteration['variable'] == 'keun_sebenar' || $imbangdugaiteration['variable'] == 'pend_terakru'){
|
||||
${$imbangdugaiteration['variable']} = Http::get(config('api.url'). $imbangdugaiteration['api_redirect'],['tarikh' => $tarikh,'kodcaw' => $kodcaw])->json();
|
||||
}else{
|
||||
${$imbangdugaiteration['variable']} = Http::get(config('api.url'). $imbangdugaiteration['api_redirect'] . $kodcaw,['tarikh' => $tarikh])->json();
|
||||
}
|
||||
|
||||
if(is_object($imbangdugaiteration)) $data = ($imbangdugaiteration->is_array == 1) ? ${$imbangdugaiteration['variable']}[$imbangdugaiteration['single_var']] : ${$imbangdugaiteration['variable']};
|
||||
$data = ($imbangdugaiteration->neg_values == 1) ? $data = -1 * abs($data) : $data;
|
||||
$data = ($imbangdugaiteration['variable'] == 'untungrugiterkumpul') ? $data + $penyelarasan['penyelarasan'] : $data;
|
||||
}else $data = 0;
|
||||
|
||||
$data = $this->SwitchFuncImbangDuga($data,$imbangdugaiteration['variable'],$tarikh,$kodcaw);
|
||||
|
||||
/* declare for protected above */
|
||||
if($imbangdugaiteration->is_array == 1){
|
||||
$nama = $imbangdugaiteration['single_var'];
|
||||
if($imbangdugaiteration['variable'] == 'bakilelongxtra'){
|
||||
$nama = $imbangdugaiteration['variable'];
|
||||
}else if($imbangdugaiteration['variable'] == 'utgterkumpulxtra'){
|
||||
$nama = $imbangdugaiteration['variable'];
|
||||
}
|
||||
$this->$nama = $data;
|
||||
}else $this->{$imbangdugaiteration['variable']} = $data;
|
||||
|
||||
|
||||
if($imbangdugaiteration->jenis == 'harta'){
|
||||
$summation_harta += $data;
|
||||
array_push($array_harta,['variable' => ($imbangdugaiteration->is_array == 1) ? $imbangdugaiteration->single_var : $imbangdugaiteration->variable,'glcode' => $imbangdugaiteration->glcode, 'descpt' => $imbangdugaiteration->descpt,'amaun' => ($data) ? $data : 0]);
|
||||
}else{
|
||||
$summation_tanggungan += $data;
|
||||
array_push($array_tanggungan,['variable' => ($imbangdugaiteration->is_array == 1) ? $imbangdugaiteration->single_var : $imbangdugaiteration->variable,'glcode' => $imbangdugaiteration->glcode, 'descpt' => $imbangdugaiteration->descpt,'amaun' => ($data) ? $data : 0]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$array_ig = ['array_harta' => $array_harta,'array_tanggungan' => $array_tanggungan,'sum_harta' => $summation_harta,'sum_tanggungan' => $summation_tanggungan];
|
||||
return response($array_ig);
|
||||
}
|
||||
|
||||
public function GetImbangDugaBackup($kodcaw,$tarikh){
|
||||
// $date = date_create_from_format('j-m-Y', $tarikh);
|
||||
// $new_date = date_format($date, 'Y-m-d');
|
||||
$new_date = $tarikh;
|
||||
|
||||
$response = Http::get(config('api.url'). '/api/Backup/ImbangDuga/' . $kodcaw,['tarikh' => $new_date])->json();
|
||||
|
||||
if($response == 'notfound' || $response == null)
|
||||
{
|
||||
return response('notfound');
|
||||
}else{
|
||||
$array_harta = [];
|
||||
$array_tanggungan = [];
|
||||
foreach($response as $variable=>$res)
|
||||
{
|
||||
if($variable !== 'recno' && $variable !== 'kodcaw' && $variable !== 'tarikh' && $variable !== 'totalharta' && $variable !== 'totaltanggungan' && $variable !== 'tagtally' && $variable !== 'created_at' && $variable !== 'updated_at'){
|
||||
if($variable == 'bakilelong'){
|
||||
$imbangdugadata = ImbangDuga::orderBy('glcode')->where([['single_var',$variable],['variable',$variable]])->first()->toArray();
|
||||
}else{
|
||||
$imbangdugadata = ImbangDuga::orderBy('glcode')->where('variable',$variable)->orWhere('single_var',$variable)->first()->toArray();
|
||||
}
|
||||
if($imbangdugadata['jenis'] == 'harta'){
|
||||
array_push($array_harta,['glcode' => $imbangdugadata['glcode'],'descpt' => $imbangdugadata['descpt'],'amaun' => $res]);
|
||||
}else{
|
||||
array_push($array_tanggungan,['glcode' => $imbangdugadata['glcode'],'descpt' => $imbangdugadata['descpt'],'amaun' => $res]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
uasort($array_harta, array($this,'glcode_compare'));
|
||||
uasort($array_tanggungan, array($this,'glcode_compare'));
|
||||
|
||||
$array_all = ['array_harta' => $array_harta,'array_tanggungan' => $array_tanggungan,'sum_harta' => $response['totalharta'],'sum_tanggungan' => $response['totaltanggungan']];
|
||||
return response($array_all);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static function glcode_compare($a, $b){
|
||||
return strcmp($a['glcode'], $b['glcode']);
|
||||
}
|
||||
}
|
||||
@@ -66,8 +66,8 @@
|
||||
</div>
|
||||
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/lelong">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Lelong</h2>
|
||||
<router-link to="/akaunhome/online">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Online</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
@@ -110,7 +110,8 @@
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/imbangduga/extended">
|
||||
<!-- <router-link to="/akaunhome/imbangduga/extended"> -->
|
||||
<router-link to="/akaunhome/imbangduga/akru">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Imbang Duga Extend.</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<!-- <modal ref="modal"></modal> -->
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Imbang Duga Akru</span>
|
||||
</div>
|
||||
<form method="get" id="myIframe" name="formimbangduga" ref="formimbangduga" :action="Urlredirect()" target="iframe_laporan">
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label>
|
||||
<div class="flex">
|
||||
<input :value="$hostname" name="hostname" hidden/>
|
||||
<input :value="$kodcaw" name="kodcaw" hidden/>
|
||||
<input :value="jenisgenerate" type="hidden" name="jenis" />
|
||||
<input :value="tarikhmula" type="hidden" name="datetimepicker1"/>
|
||||
<span style="background-color: #F9FAFB" class="text-gray-600 border border-2 rounded-l px-4 py-2 whitespace-no-wrap">Mula</span>
|
||||
<!-- <input id="tarikhmula" name="datetimepicker1" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" /> -->
|
||||
<flat-pickr v-model="tarikhmula" :config="config" class="border border-2 rounded-r px-4 py-2 w-80r mr-2"></flat-pickr>
|
||||
<button @click.prevent="generateview" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-eye mr-2"></i>View</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <vue-friendly-iframe v-show="showLoader == false" :style="{visibility: showLoader ? 'hidden' : 'visible'}" class="mx-auto"
|
||||
:src="''"
|
||||
frame-id="myIframe"
|
||||
@load="onLoad"
|
||||
@iframe-load="LoadedReady"
|
||||
name="iframe_laporan"
|
||||
ref="friendlyIframe"></vue-friendly-iframe> -->
|
||||
|
||||
<!-- <iframe class="overflow-x-hidden overflow-y-auto fixed inset-0 z-50 outline-none focus:outline-none justify-center items-center flex bg-white" name="iframe_laporan" width="500" height="500"></iframe> -->
|
||||
<div v-if="showModal" class="overflow-x-hidden overflow-y-auto fixed inset-0 z-50 outline-none focus:outline-none justify-center items-center flex">
|
||||
<div class="relative w-1/2 my-6 mx-auto max-w-6xl">
|
||||
<!--content-->
|
||||
<div class="border-0 rounded-lg shadow-lg relative flex flex-col w-full bg-white outline-none focus:outline-none">
|
||||
<!--header-->
|
||||
<div class="relative p-6" style="height: 80vh;">
|
||||
|
||||
<!-- <div id="loading" v-show="showLoader" class="flex justify-center mt-10" :style="{visibility: showLoader ? 'visible' : 'hidden'}" >
|
||||
<img id="loading-image" src="/img/loader.gif" alt="Loading..." />
|
||||
</div> -->
|
||||
|
||||
<div v-if="showLoader" class="inset-0 z-30 h-full w-full" id="loading">
|
||||
<i class="animate-spin fas fa-circle-notch fixed fa-4x m-auto text-yellow-500" style="left:48% !important;top:45% !important;"></i>
|
||||
</div>
|
||||
|
||||
<vue-friendly-iframe v-show="showLoader == false" :style="{visibility: showLoader ? 'hidden' : 'visible'}" class="h-full w-full"
|
||||
:src="''"
|
||||
frame-id="myIframe"
|
||||
@load="onLoad"
|
||||
@iframe-load="LoadedReady"
|
||||
name="iframe_laporan"
|
||||
ref="friendlyIframe"></vue-friendly-iframe>
|
||||
|
||||
<!-- <iframe :style="{visibility: showLoader ? 'hidden' : 'visible'}" name="iframe_laporan" scrolling="true" :load="onLoad()"></iframe> -->
|
||||
</div>
|
||||
<!--footer-->
|
||||
<div class="flex items-center justify-end p-6 border-t border-solid border-blueGray-200 rounded-b">
|
||||
<button @click.prevent="generatepdf" class="bg-gray-500 hover:bg-gray-700 text-white font-bold py-1 px-3 border border-gray-700 rounded mr-1" :disabled="pendingStatus == 'none'">{{ (pendingStatus == 'loading') ? '' : '' }}<i class="fas fa-file-pdf mr-2"></i>Cetak</button>
|
||||
<button class="bg-gray-500 hover:bg-gray-700 text-white font-bold py-1 px-3 border border-gray-700 rounded mr-1" type="button" v-on:click="toggleModal()" :disabled="pendingStatus == 'none'">
|
||||
<i class="fas fa-window-close mr-2"></i>Tutup
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-if="showCetak" class="inset-0 z-30 h-full w-full" id="loading">
|
||||
<i class="animate-spin fas fa-circle-notch fixed fa-4x m-auto text-yellow-500" style="left:50% !important;top:50% !important;"></i>
|
||||
</div>
|
||||
<div v-if="showModal || showCetak" class="opacity-25 fixed inset-0 z-40 bg-black"></div>
|
||||
</div>
|
||||
</template>
|
||||
<style>
|
||||
.vue-friendly-iframe iframe {
|
||||
height:100% !important;
|
||||
width:100% !important;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
// import monthSelectPlugin from 'flatpickr/dist/plugins/monthSelect/index.js'
|
||||
import 'flatpickr/dist/plugins/monthSelect/style.css'
|
||||
var today = new Date();
|
||||
|
||||
export default {
|
||||
name: 'myIframe',
|
||||
data(){
|
||||
return{
|
||||
tarikhmula: null,
|
||||
jenisgenerate:'none',
|
||||
kodcaw: '',
|
||||
showModal:false,
|
||||
myIframe: null,
|
||||
iframesrc:'',
|
||||
pendingStatus:'none',
|
||||
showLoader: true,
|
||||
showCetak: false,
|
||||
config: {
|
||||
wrap: false, // set wrap to true only when using 'input-group'
|
||||
maxDate: 'today',
|
||||
minDate: "2022-12-20"
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
this.showCetak = true;
|
||||
this.showModal = false;
|
||||
await this.setJenis('pdf');
|
||||
|
||||
// Vue.swal({
|
||||
// title: 'Memuatkan...',
|
||||
// allowEscapeKey : false,
|
||||
// allowOutsideClick: false,
|
||||
// showCancelButton: false,
|
||||
// showConfirmButton: false
|
||||
|
||||
// });
|
||||
|
||||
await this.$refs.formimbangduga.submit()
|
||||
await setTimeout(() => {
|
||||
this.showCetak = false
|
||||
}, 8000);
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
|
||||
// Vue.swal({
|
||||
// title: 'Memuatkan...',
|
||||
// allowEscapeKey : false,
|
||||
// allowOutsideClick: false,
|
||||
// showCancelButton: false,
|
||||
// showConfirmButton: false
|
||||
|
||||
// });
|
||||
this.showModal = true;
|
||||
|
||||
|
||||
},
|
||||
toggleModal: function(){
|
||||
this.showLoader = true
|
||||
this.pendingStatus = 'none'
|
||||
this.showModal = !this.showModal;
|
||||
},
|
||||
async onLoad() {
|
||||
await this.$refs.formimbangduga.submit()
|
||||
},
|
||||
async LoadedReady(){
|
||||
await setTimeout(() => {
|
||||
this.showLoader = false
|
||||
this.pendingStatus = 'ok'
|
||||
}, 10000);
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.imbangdugaAkru')
|
||||
// return window.route('cetak.imbangdugaExtended')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
},
|
||||
urlHostname: function(){
|
||||
return document.location.origin + '/iframe';
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,113 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Bayaran Online</span>
|
||||
</div>
|
||||
<form method="get" id="formonline" :action="Urlredirect()" target="_blank">
|
||||
<input :value="$kodcaw" name="kodcaw" hidden/>
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<!-- <label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label> -->
|
||||
<div class="flex place-content-center mb-2">
|
||||
<input :value="jenisgenerate" type="hidden" name="jenis" />
|
||||
<input :value="$hostname" name="hostname" hidden/>
|
||||
<input :value="$kodcaw" name="kodcaw" hidden/>
|
||||
<span style="background-color: #F9FAFB" class="text-gray-600 border border-2 rounded-l px-4 py-2 whitespace-no-wrap">Mula</span>
|
||||
<input id="tarikhmula" name="datemula" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
|
||||
<span style="background-color: #F9FAFB" class="text-gray-600 border border-2 rounded-l px-4 py-2 whitespace-no-wrap">Hingga</span>
|
||||
<input id="tarikhmula" name="datehingga" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-center mb-4">
|
||||
<div class="mx-2 radio">
|
||||
<input type="radio" id="portal" name="radonline" value="portal" class="hidden focus:bg-gray-500" v-model="selected">
|
||||
<label for="portal" class="cursor-pointer text-gray-500 focus:bg-gray-500 hover:bg-gray-200 focus:bg-purple-500 focus:bg-purple-500 focus:outline-none border px-10 py-4 border-solid border-gray-500 rounded">Portal</label>
|
||||
</div>
|
||||
|
||||
<div class="mx-2 radio cursor-pointer">
|
||||
<input type="radio" id="mobile" name="radonline" value="mobile" class="hidden focus:bg-gray-500" v-model="selected">
|
||||
<label for="mobile" class="cursor-pointer text-gray-500 focus:bg-gray-500 hover:bg-gray-200 focus:bg-purple-500 focus:outline-none border px-10 py-4 border-solid border-gray-500 rounded">Mobile</label>
|
||||
</div>
|
||||
|
||||
<div class="mx-2 radio cursor-pointer">
|
||||
<input type="radio" id="lelong" name="radonline" value="lelong" class="hidden focus:bg-gray-500" v-model="selected">
|
||||
<label for="lelong" class="cursor-pointer text-gray-500 focus:bg-gray-500 hover:bg-gray-200 focus:bg-purple-500 focus:outline-none border px-10 py-4 border-solid border-gray-500 rounded">Lelong</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-end mt-10">
|
||||
<button @click.prevent="generatepdf" class=" mr-2 border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-file-pdf mr-2"></i>PDF</button>
|
||||
<button @click.prevent="generateview" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-eye mr-2"></i>View</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<style>
|
||||
.radio input:checked + label{
|
||||
border-color:#F6D860;
|
||||
background-color:#FFF1BD;
|
||||
outline:none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script>
|
||||
export default {
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none',
|
||||
selected:'',
|
||||
kodcaw:''
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
|
||||
Vue.swal({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey : false,
|
||||
allowOutsideClick: false,
|
||||
showCancelButton: false,
|
||||
showConfirmButton: false,
|
||||
timer: 8000,
|
||||
});
|
||||
document.getElementById("formonline").submit();
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
|
||||
Vue.swal({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey : false,
|
||||
allowOutsideClick: false,
|
||||
showCancelButton: false,
|
||||
showConfirmButton: false,
|
||||
timer: 8000,
|
||||
|
||||
});
|
||||
document.getElementById("formonline").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.online')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
Vendored
+4
@@ -3,6 +3,7 @@ import VueRouter from 'vue-router'
|
||||
import Lejeram from './Akaun/Lejeram'
|
||||
import Imbangduga from './Akaun/Imbangduga'
|
||||
import ImbangdugaExtended from './Akaun/ImbangdugaExtended'
|
||||
import ImbangDugaAkru from './Akaun/ImbangdugaAkru'
|
||||
import Home from './Akaun/Home'
|
||||
import Laporan from './Akaun/Laporan'
|
||||
import Gadaian from './Akaun/Gadaian'
|
||||
@@ -24,6 +25,7 @@ import AkruBulan from './Akaun/AkruBulan'
|
||||
import Prestasi from './Akaun/Prestasi'
|
||||
import SerahGadai from './Akaun/SerahGadai'
|
||||
import SerahTebus from './Akaun/SerahTebus'
|
||||
import Online from './Akaun/Online'
|
||||
|
||||
|
||||
|
||||
@@ -63,6 +65,7 @@ export default new VueRouter({
|
||||
{ path: '/akaunhome/lejeram', component: Lejeram },
|
||||
{ path: '/akaunhome/imbangduga', component: Imbangduga },
|
||||
{ path: '/akaunhome/imbangduga/extended', component: ImbangdugaExtended },
|
||||
{ path: '/akaunhome/imbangduga/akru', component: ImbangDugaAkru },
|
||||
{ path: '/akaunhome/gadaian', component: Gadaian },
|
||||
{ path: '/akaunhome/penebusan', component: Penebusan },
|
||||
{ path: '/akaunhome/ansuran', component: Ansuran },
|
||||
@@ -82,6 +85,7 @@ export default new VueRouter({
|
||||
{ path: '/akaunhome/akrubulan', component: AkruBulan },
|
||||
{ path: '/akaunhome/serahgadai', component: SerahGadai },
|
||||
{ path: '/akaunhome/serahtebus', component: SerahTebus },
|
||||
{ path: '/akaunhome/online', component: Online },
|
||||
|
||||
|
||||
{ path: '/bajet/kemaskini', component: SenaraiBajet },
|
||||
|
||||
@@ -0,0 +1,486 @@
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<script src="{{ asset('js/jquery.min.js') }}"></script>
|
||||
|
||||
<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;
|
||||
}
|
||||
|
||||
#loading {
|
||||
position: fixed;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
text-align: center;
|
||||
opacity: 0.7;
|
||||
background-color: #fff;
|
||||
z-index: 99;
|
||||
}
|
||||
|
||||
#loading-image {
|
||||
position: absolute;
|
||||
top: 100px;
|
||||
left: 240px;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
#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;
|
||||
|
||||
}
|
||||
|
||||
#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;
|
||||
|
||||
}
|
||||
|
||||
#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;
|
||||
|
||||
}
|
||||
|
||||
#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;
|
||||
|
||||
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
#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>
|
||||
</head>
|
||||
<body>
|
||||
<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 cospan="2" > <B><U>LAPORAN IMBANGAN DUGA CAWANGAN</U></B></td>
|
||||
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table id="tarikh_ib">
|
||||
|
||||
|
||||
<tr><td style="width:10px" ><b>Tarikh Laporan</b></td ><td style="width:20px"> {{ ($tarikh_imbangan2) ? $tarikh_imbangan2 : ''}} </td><td style="width:18px" ><b>Tarikh Cetak</b></td><td style="width:25px" > {{$tarikh_cetak}} </td> </tr>
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table id="GL_dtl">
|
||||
|
||||
<tr>
|
||||
<th width="20%"> Kod GL </th>
|
||||
<th colspan="1" width="60%">Keterangan </th>
|
||||
<th width="20%">Amaun</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th colspan="3"><b> HARTA SEMASA</b> </th>
|
||||
</tr>
|
||||
|
||||
@foreach($hartasemasa as $index => $assets)
|
||||
@if($assets->amaun != 0)
|
||||
<tr>
|
||||
<td>{{ $assets->glcode }}</td>
|
||||
<td>{{ $assets->descpt }}</td>
|
||||
<td>{{ number_format($assets->amaun,2) }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
<tr>
|
||||
<td><b>JUMLAH </b></td>
|
||||
<td colspan="1"></td>
|
||||
<td><b>{{ number_format($totalhartasemasa,2) }}</b></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<br>
|
||||
<table id="GL_dtl">
|
||||
<tr>
|
||||
<th colspan="3"><b> TANGGUNGAN SEMASA</b> </th>
|
||||
</tr>
|
||||
|
||||
@foreach($tanggungansemasa as $index => $liabilities)
|
||||
@if($liabilities->amaun != 0)
|
||||
<tr>
|
||||
<td width="20%">{{ $liabilities->glcode }}</td>
|
||||
<td colspan="1" width="60%">{{ $liabilities->descpt }}</td>
|
||||
<td width="20%">{{ number_format($liabilities->amaun,2) }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
<tr>
|
||||
<td ><b>JUMLAH </b></td>
|
||||
<td colspan="1"></td>
|
||||
<td><b>{{ number_format($totaltanggungansemasa,2) }}</b></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,278 @@
|
||||
<style>
|
||||
#header {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#header td, #customers th {
|
||||
|
||||
padding:4px;
|
||||
font-size:10px;
|
||||
}
|
||||
|
||||
#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;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#scan td, #scan th {
|
||||
|
||||
padding: 8px;
|
||||
font-size:11px;
|
||||
}
|
||||
|
||||
#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;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#scan td, #scan th {
|
||||
border-collapse: collapse;
|
||||
padding: 8px;
|
||||
font-size:11px;
|
||||
}
|
||||
|
||||
#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: 100%;
|
||||
}
|
||||
|
||||
#details td, #details th {
|
||||
|
||||
padding: 8px;
|
||||
font-size:8px;
|
||||
}
|
||||
|
||||
#details tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#details tr:hover {background-color: #ddd;}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
@media print {
|
||||
.new-page {
|
||||
page-break-before: always;
|
||||
}
|
||||
}
|
||||
|
||||
</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 style="font-size:20px;font-weight:bold;">{{ $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="scan">
|
||||
<tr>
|
||||
<th colspan ="5"><b>LAPORAN ONLINE</b></th>
|
||||
<th> </th>
|
||||
<th> </th>
|
||||
<th></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="5"><b> TARIKH CETAK:</b>
|
||||
@php
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $tarikh_cetak);
|
||||
$formattedweddingdate = $myDateTime->format('d-m-Y');
|
||||
echo($formattedweddingdate);
|
||||
@endphp
|
||||
</th>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:20px"> <b>MULA:</b></td>
|
||||
<td>@php
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $mula_date);
|
||||
$formattedweddingdate = $myDateTime->format('d-m-Y');
|
||||
echo($formattedweddingdate);
|
||||
@endphp</td>
|
||||
<td style="width:20px"> <b>HINGGA:</b></td>
|
||||
<td>@php
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $hingga_date);
|
||||
$formattedweddingdate = $myDateTime->format('d-m-Y');
|
||||
echo($formattedweddingdate);
|
||||
@endphp</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<table id="details">
|
||||
<tr>
|
||||
<th>Bil</th>
|
||||
<th>Tarikh</th>
|
||||
<th>Keterangan</th>
|
||||
<th>Nama</th>
|
||||
<th>Amaun (RM)</th>
|
||||
</tr>
|
||||
@php $counter = 1; $totalamaun = 0; $jenis = ''; @endphp
|
||||
@foreach($Online as $index=>$item)
|
||||
<td>{{ $counter }}</td>
|
||||
<td>{{ $item['tarikh'] }}</td>
|
||||
<td><b>{{ $item['descpt'] }}</b></td>
|
||||
<td>{{ $item['teller'] }}</td>
|
||||
<td>{{ ($item['pendahuluan'] > 0) ? number_format($item['pendahuluan'],2) : number_format($item['serahan'],2) }}</td>
|
||||
</tr>
|
||||
@php $counter++;$totalamaun += ($item['pendahuluan'] > 0) ? $item['pendahuluan'] : $item['serahan'];
|
||||
if($index == 0)
|
||||
if($item['pendahuluan'] > 0)
|
||||
$jenis = 'PENDAHULUAN';
|
||||
else
|
||||
$jenis = 'SERAHAN';
|
||||
@endphp
|
||||
@endforeach
|
||||
</table>
|
||||
<br><br>
|
||||
<table id="details" style="border-top:1px solid black;border-bottom:1px solid black;text-align:center;">
|
||||
<tr>
|
||||
<td colspan="3" style="text-align: center;"><b>JUMLAH {{ $jenis }}</b></td>
|
||||
<td style="text-align:center">{{ 'RM ' . number_format($totalamaun,2) }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br><br><br>
|
||||
<table id="sign">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="2"> .................................................................. </td>
|
||||
<td> </td>
|
||||
<td colspan="2"> .................................................................. </td>
|
||||
<td> </td>
|
||||
<td colspan="2">.................................................................. </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="2"><B> Disediakan </B> </td>
|
||||
<td></td>
|
||||
<td colspan="2"><B> Disemak </B> </td>
|
||||
<td> </td>
|
||||
<td colspan="2"><B> Disahkan </B></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -77,6 +77,7 @@ Route::get('/kelulusan',['as'=>'kelulusan','uses'=>'App\Http\Controllers\Kelulus
|
||||
Route::get('/akaunhome/cetaklaporanlejeram',['as'=>'cetak.lejeram','uses'=>'App\Http\Controllers\AkaunController@viewlejeram'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
Route::get('/akaunhome/cetaklaporanimbangduga',['as'=>'cetak.imbangduga','uses'=>'App\Http\Controllers\AkaunController@cetakimbangduga'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
Route::get('/akaunhome/cetaklaporanimbangdugaextended',['as'=>'cetak.imbangdugaExtended','uses'=>'App\Http\Controllers\AkaunController@cetakimbangdugaExtended'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
Route::get('/akaunhome/cetaklaporanimbangdugaakru',['as'=>'cetak.imbangdugaAkru','uses'=>'App\Http\Controllers\AkaunController@cetakimbangdugaAkru'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
Route::get('/akaunhome/cetakgadaian',['as'=>'cetak.gadaian','uses'=>'App\Http\Controllers\AkaunController@cetakLaporanGadai'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
Route::get('/akaunhome/cetakpenebusan',['as'=>'cetak.penebusan','uses'=>'App\Http\Controllers\AkaunController@cetakLaporanPenebusan'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
Route::get('/akaunhome/cetakansuran',['as'=>'cetak.ansuran','uses'=>'App\Http\Controllers\AkaunController@cetakLaporanAnsuran'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
@@ -96,6 +97,7 @@ Route::get('/akaunhome/prestasi',['as'=>'cetak.prestasi','uses'=>'App\Http\Contr
|
||||
Route::get('/akaunhome/cetakakrubulan',['as'=>'cetak.akrubulan','uses'=>'App\Http\Controllers\AkaunController@cetak_akru_bulanan'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
Route::get('/akaunhome/cetakserahgadai',['as'=>'cetak.serahgadai','uses'=>'App\Http\Controllers\AkaunController@cetak_serahgadai'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
Route::get('/akaunhome/cetakserahtebus',['as'=>'cetak.serahtebus','uses'=>'App\Http\Controllers\AkaunController@cetak_serahtebus'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
Route::get('/akaunhome/cetakonline',['as'=>'cetak.online','uses'=>'App\Http\Controllers\AkaunController@cetak_laporan_online'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user