265 lines
8.6 KiB
PHP
265 lines
8.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Tropd;
|
|
use App\Models\Trbas;
|
|
use App\Models\Program;
|
|
use App\Models\Kegiatan;
|
|
use App\Models\SubKegiatan;
|
|
use App\Models\Rsk;
|
|
use App\Models\Sps_pendapatan;
|
|
use App\Models\Siesetpembayaran;
|
|
use App\Models\Sp2d;
|
|
use App\Models\BelanjaRealisasi;
|
|
use App\Models\MstJenisDana;
|
|
use App\Models\MstJenisBelanja;
|
|
use App\Models\MstSubJenisBelanja;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class ItemSearchController extends Controller
|
|
{
|
|
/**
|
|
* Display a listing of the resource.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function index()
|
|
{
|
|
//
|
|
}
|
|
|
|
public function skpd(Request $request)
|
|
{
|
|
$tropd = [];
|
|
$ta = $request->ta;
|
|
$search = strtoupper($request->q);
|
|
if($request->has('realisasi-belanja')){
|
|
$sqlStr = "SELECT DISTINCT x.KODE_SKPD AS ID,x.KODE_SKPD||' | '||x.NAMA_SKPD as name
|
|
FROM SAMASA.BELANJA_REALISASI x
|
|
LEFT JOIN NEWSIPKD.TROPD y ON x.KODE_SKPD = y.C_OPD
|
|
WHERE TAHUN_ANGGARAN = $ta ";
|
|
|
|
if (getRole()=="sbpk"){
|
|
$sqlStr.= " AND y.C_WIL_SP2DPROSES=".Auth::user()->wilayah;
|
|
}
|
|
|
|
if($request->has('q')){
|
|
$search = strtolower($request->q);
|
|
$sqlStr.= " AND LOWER(x.NAMA_SKPD) LIKE '%$search%' ";
|
|
}
|
|
|
|
$tropd = DB::select(DB::raw($sqlStr." ORDER BY x.KODE_SKPD "));
|
|
}else{
|
|
$select = DB::raw("C_OPD AS ID,C_OPD||' | '||N_OPD as name");
|
|
$tropd = Tropd::select($select);
|
|
if($request->has('q')){
|
|
$search = strtolower($request->q);
|
|
$tropd->whereRaw("LOWER(N_OPD) LIKE '%$search%'");
|
|
}
|
|
$tropd->orderBy("C_OPD");
|
|
$tropd = $tropd->get();
|
|
}
|
|
return response()->json($tropd);
|
|
}
|
|
|
|
public function prog(Request $request)
|
|
{
|
|
$tropd = [];
|
|
|
|
if($request->has('q')){
|
|
$search = strtoupper($request->q);
|
|
$select = DB::raw("C_PROGRAM AS ID,C_PROGRAM||' | '||N_PROGRAM as name");
|
|
$tropd = Program::select($select)
|
|
->where('N_PROGRAM', 'LIKE', "%$search%")
|
|
->get();
|
|
}
|
|
return response()->json($tropd);
|
|
}
|
|
|
|
public function keg(Request $request)
|
|
{
|
|
$tropd = [];
|
|
|
|
if($request->has('q')){
|
|
$search = strtoupper($request->q);
|
|
$select = DB::raw("C_GIAT AS ID,C_GIAT||' | '||N_GIAT as name");
|
|
$tropd = Kegiatan::select($select)
|
|
->where('N_GIAT', 'LIKE', "%$search%")
|
|
->get();
|
|
}
|
|
return response()->json($tropd);
|
|
}
|
|
|
|
public function sk(Request $request)
|
|
{
|
|
$sk = [];
|
|
|
|
if($request->has('q')){
|
|
if($request->has('realisasi-belanja')){
|
|
$search = $request->q;
|
|
$select = DB::raw("DISTINCT KODE_SUB_KEGIATAN AS ID,KODE_SUB_KEGIATAN||' | '||NAMA_SUB_KEGIATAN as name");
|
|
$ta = $request->ta;
|
|
$sk = BelanjaRealisasi::select($select)
|
|
->where("TAHUN_ANGGARAN", $ta)
|
|
->where('NAMA_SUB_KEGIATAN', 'LIKE', "%$search%")
|
|
->get();
|
|
}else{
|
|
$search = strtoupper($request->q);
|
|
$select = DB::raw("C_SUBGIAT AS ID,C_SUBGIAT||' | '||N_SUBGIAT as name");
|
|
$sk = SubKegiatan::select($select)
|
|
->where('N_SUBGIAT', 'LIKE', "%$search%")
|
|
->get();
|
|
}
|
|
}
|
|
return response()->json($sk);
|
|
}
|
|
|
|
public function rsk(Request $request)
|
|
{
|
|
$tropd = [];
|
|
|
|
if($request->has('q')){
|
|
$search = strtoupper($request->q);
|
|
$select = DB::raw("I_ID AS ID,I_ID||' | '||N_RSK as name");
|
|
$tropd = Rsk::select($select)
|
|
->where('N_RSK', 'LIKE', "%$search%")
|
|
->get();
|
|
}
|
|
return response()->json($tropd);
|
|
}
|
|
|
|
public function sps(Request $request)
|
|
{
|
|
$sps = [];
|
|
$search = strtolower($request->q);
|
|
$ta = $request->ta;
|
|
$jenis = $request->jenis;
|
|
|
|
if (getRole()=="skpd"){
|
|
$sps = DB::select(DB::raw("SELECT x.ID_SPS as ID,x.KODE_REKENING||' | '||z.NAMA_REKENING as name
|
|
FROM SAMASA.MAPPING_DBH_SKPD x
|
|
LEFT JOIN PROKSI.SPS_PENDAPATAN z ON x.ID_SPS = z.ID
|
|
WHERE x.tahun = $ta AND x.kode_skpd='".Auth::user()->nrk."'"));
|
|
}else{
|
|
$select = DB::raw("ID,KODE_REKENING||' | '||NAMA_REKENING as name");
|
|
$sps = Sps_pendapatan::select($select)->whereRaw("TAHUN=$ta AND SKPD_ID = 980");
|
|
|
|
if (!empty($search)){
|
|
$sps->whereRaw(" (LOWER(KODE_REKENING) LIKE '%$search%' OR LOWER(NAMA_REKENING) LIKE '%$search%') ");
|
|
}
|
|
|
|
if ($jenis == "dbh"){
|
|
$sps->whereRaw(" (SUBSTR(KODE_REKENING,1,12)='4.2.01.01.01') ");
|
|
}else if($jenis == "dak"){
|
|
$sps->whereRaw(" (SUBSTR(KODE_REKENING,1,12)='4.2.01.01.03' OR SUBSTR(KODE_REKENING,1,12)='4.2.01.01.04') ");
|
|
}else{
|
|
$sps->whereRaw(" (SUBSTR(KODE_REKENING,1,3)='4.2') ");
|
|
}
|
|
|
|
$sps->orderby("KODE_REKENING");
|
|
$sps = $sps->get();
|
|
}
|
|
|
|
return response()->json($sps);
|
|
}
|
|
|
|
public function sts(Request $request)
|
|
{
|
|
$no_skprd = $request->no_skprd;
|
|
$select = DB::raw("NO_SKPRD,TGL_VALIDASI,KODE_BAS,NILAI_BAYAR,TRBAS.N_AKUN");
|
|
$sts = Siesetpembayaran::select($select)
|
|
->join("TRBAS","SI_ESET_PEMBAYARAN.KODE_BAS","=","TRBAS.C_AKUN")
|
|
->where("NO_SKPRD", $no_skprd)
|
|
->first();
|
|
if ($sts){
|
|
$sts["tgl_validasi"] = date("Y-m-d",strtotime($sts["tgl_validasi"]));
|
|
$sts["nilai_bayar"] = separateNumberIndo($sts["nilai_bayar"]);
|
|
}
|
|
return response()->json($sts);
|
|
}
|
|
|
|
public function sp2d(Request $request)
|
|
{
|
|
$no_sp2d = $request->no_sp2d;
|
|
$sp2d = Sp2d::where(["I_SP2DNO_DOK"=>$no_sp2d,"C_SP2D_SAH"=>1])->first();
|
|
return response()->json($sp2d);
|
|
}
|
|
|
|
public function jenisBelanja(Request $request)
|
|
{
|
|
$sk = [];
|
|
$select = DB::raw("ID, NAME");
|
|
$grup = $request->grup;
|
|
if($request->has('q')){
|
|
$search = $request->q;
|
|
$sk = MstJenisBelanja::select($select)
|
|
->where('GRUP',$grup)
|
|
->where('NAME', 'LIKE', "%$search%")
|
|
->get();
|
|
}else{
|
|
$sk = MstJenisBelanja::select($select)->where('GRUP',$grup)->get();
|
|
}
|
|
return response()->json($sk);
|
|
}
|
|
|
|
public function subjenisDana(Request $request)
|
|
{
|
|
$sk = [];
|
|
$select = DB::raw("ID, NAME");
|
|
$idGrup = $request->id_grup;
|
|
if($request->has('q')){
|
|
$search = $request->q;
|
|
$sk = MstJenisDana::select($select)
|
|
->where("GRUP",$idGrup)
|
|
->where('NAME', 'LIKE', "%$search%")
|
|
->get();
|
|
}else{
|
|
$sk = MstJenisDana::select($select)
|
|
->where("GRUP",$idGrup)
|
|
->get();
|
|
}
|
|
return response()->json($sk);
|
|
}
|
|
|
|
public function subjenisBelanja(Request $request)
|
|
{
|
|
$sk = [];
|
|
$select = DB::raw("ID, NAME");
|
|
$idJenis = $request->id_jenis;
|
|
if($request->has('q')){
|
|
$search = $request->q;
|
|
$sk = MstSubJenisBelanja::select($select)
|
|
->where("id_jenis_belanja",$idJenis)
|
|
->where('NAME', 'LIKE', "%$search%")
|
|
->get();
|
|
}else{
|
|
$sk = MstSubJenisBelanja::select($select)
|
|
->where("id_jenis_belanja",$idJenis)
|
|
->get();
|
|
}
|
|
return response()->json($sk);
|
|
}
|
|
|
|
public function rek_dana(Request $request)
|
|
{
|
|
$search = strtolower($request->q);
|
|
$ta = $request->ta;
|
|
|
|
$select = DB::raw("C_AKUN AS IDX,C_AKUN||' | '||N_AKUN as NAME");
|
|
$trbas = Trbas::select($select)->whereRaw("C_TAHUN_BERAKHIR>=$ta AND (C_AKUN LIKE '4.2.01.01%' OR C_AKUN LIKE '4.2.01.02%') AND LENGTH(C_AKUN)>=17");
|
|
|
|
if (!empty($search)){
|
|
$trbas->whereRaw(" (LOWER(C_AKUN) LIKE '%$search%' OR LOWER(N_AKUN) LIKE '%$search%') ");
|
|
}
|
|
|
|
$trbas->orderby("C_AKUN");
|
|
$trbas = $trbas->get();
|
|
|
|
return response()->json($trbas);
|
|
}
|
|
}
|