119 lines
3.5 KiB
PHP
119 lines
3.5 KiB
PHP
<?php
|
|
|
|
use PHPJasper\PHPJasper;
|
|
|
|
function GetBulan(){
|
|
$Month_name = array("Januari","Februari","Maret",
|
|
"April","Mei","Juni","Juli","Agustus",
|
|
"September","Oktober","November","Desember");
|
|
return $Month_name;
|
|
}
|
|
|
|
function ConvertIndoDate($val){
|
|
if ($val == null){
|
|
return null;
|
|
}
|
|
|
|
$arr_date = explode("/", $val);
|
|
return $arr_date[2] ."-".$arr_date[1]."-".$arr_date[0];
|
|
}
|
|
|
|
function SetToIndoDate($val,$monthYear=false, $full=false){
|
|
$Month_name = array("","Januari","Februari","Maret",
|
|
"April","Mei","Juni","Juli","Agustus",
|
|
"September","Oktober","November","Desember");
|
|
|
|
if ($val == null) return "";
|
|
if ($monthYear){
|
|
return $Month_name[intval(date("m",strtotime($val)))]." ".date("Y",strtotime($val));
|
|
}else{
|
|
if ($full){
|
|
return date("d",strtotime($val))." ".$Month_name[intval(date("m",strtotime($val)))]." ".date("Y",strtotime($val));
|
|
}else{
|
|
return date("d-m-Y",strtotime($val));
|
|
}
|
|
}
|
|
}
|
|
|
|
function cekData($data, $default){
|
|
return isset($data)?$data:$default;
|
|
}
|
|
|
|
function replaceMoney($val){
|
|
return doubleval(preg_replace("/\D/","",$val));
|
|
}
|
|
|
|
function separateNumberIndo($val){
|
|
// $numberFormatter = new NumberFormatter( 'id_ID', NumberFormatter::DECIMAL );
|
|
$numberFormatter = number_format($val);
|
|
$numberFormatter = str_replace([","],["."],$numberFormatter);
|
|
return $numberFormatter;
|
|
}
|
|
|
|
function terbilang($val){
|
|
switch($val){
|
|
case $val>=1 && $val<=11:
|
|
$arrBil = ["","Satu","Dua","Tiga","Empat","Lima","Enam","Tujuh","Delapan","Sembilan","Sepuluh","Sebelas"];
|
|
return $arrBil[$val];
|
|
break;
|
|
case $val>=12 && $val<=19:
|
|
return terbilang($val % 10)." Belas ";
|
|
break;
|
|
case $val>=20 && $val<=99:
|
|
return terbilang(floor($val / 10))." Puluh ".trim(terbilang($val % 10));
|
|
break;
|
|
case $val>=100 && $val<=199:
|
|
return "Seratus ".terbilang($val % 100);
|
|
break;
|
|
case $val>=200 && $val<=999:
|
|
return terbilang(floor($val / 100))." Ratus ".trim(terbilang($val % 100));
|
|
break;
|
|
case $val>=1000 && $val<=1999:
|
|
return "Seribu ".terbilang($val % 1000);
|
|
break;
|
|
case $val>=2000 && $val<=999999:
|
|
return terbilang(floor($val / 1000))." Ribu ".trim(terbilang($val % 1000));
|
|
break;
|
|
case $val>=1000000 && $val<=999999999:
|
|
return terbilang(floor($val / 1000000))." Juta ".trim(terbilang($val % 1000000));
|
|
break;
|
|
default:
|
|
return "";
|
|
break;
|
|
}
|
|
}
|
|
|
|
function reportProceed($source, $reportName, $params = []){
|
|
$input = resource_path("views/laporan/$source.jrxml");
|
|
$output = storage_path('app');
|
|
$options = [
|
|
'format' => ['pdf'],
|
|
'params' => $params,
|
|
'local'=>'en',
|
|
'db_connection' => [
|
|
'driver' => 'mysql',
|
|
'username' => env('DB_USERNAME'),
|
|
'password' => env('DB_PASSWORD'),
|
|
'host' => env('DB_HOST'),
|
|
'database' => env('DB_DATABASE'),
|
|
'port' => env('DB_PORT')
|
|
]
|
|
];
|
|
|
|
$jasper = new PHPJasper;
|
|
$jasper->process(
|
|
$input,
|
|
$output,
|
|
$options
|
|
)->execute();
|
|
|
|
return $output."/$reportName.pdf";
|
|
}
|
|
|
|
function getRole()
|
|
{
|
|
$role = Auth::user()->getRoleNames();
|
|
$role = $role[0];
|
|
|
|
return $role;
|
|
} |