169 lines
4.6 KiB
PHP
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();
|
|
} |