Files
sidata/app/helpers.php
T

169 lines
4.6 KiB
PHP

<?php
use PHPJasper\PHPJasper;
use App\Models\AkunTamsilTpg;
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;
}
function getAlphabetCell($idx)
{
$alphabet = range("A","Z");
if ($idx > 25)
{
return $alphabet[(int)($idx/25)-1].= getAlphabetCell($idx%25);
}else{
return $alphabet[$idx];
}
}
function getTA()
{
return Session::get('Tahun_Anggaran')!==null?Session::get('Tahun_Anggaran'):date("Y");
}
function getJenisDana()
{
$conf = config('constants.jenis_dana');
// call_user_func_array('array_merge',array_keys($conf))
return array_keys($conf);
}
function getKodeRekInduk($val)
{
$conf = config('constants.jenis_dana');
// $kodeRek = [
// "DBH"=>["4.2.01.01.01"],
// // "DBH-CHT"=>"4.2.01.01.01.0004",
// "DAU"=>["4.2.01.01.02"],
// "DAK"=>["4.2.01.01.03","4.2.01.01.04"],
// "DID"=>["4.2.01.02.01"]
// ];
$kodeRek = array_combine(array_keys($conf),array_column(array_values($conf),"rekening"));
return $kodeRek[$val];
}
function convertSerialDate($date) {
$timestamp = ($date - 25569) * 86400;
return date("Y-m-d",$timestamp);
}
function getAkunTamsilTpg()
{
return AkunTamsilTpg::whereRaw("1=1")->get()->pluck("kode_akun")->toArray();
}