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; } elseif (getRole() == "walikota") { $id = Tropd::where("C_OPD", Auth::user()->nrk)->first()["i_id"]; $sqlStr .= " AND x.KODE_SKPD IN (SELECT C_OPD FROM NEWSIPKD.TROPD WHERE I_IDINDUK=" . $id . ")"; } if ($request->has('q')) { $search = strtolower($request->q); $sqlStr .= " AND ( LOWER(x.NAMA_SKPD) LIKE '%$search%' OR x.KODE_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") { $filter = ""; if (isset($jenis)) { $typeDana = strtoupper($jenis); $kodeRekening = "'" . implode("','", getKodeRekInduk($typeDana)) . "'"; $filter = " AND SUBSTR(x.KODE_REKENING,1,12) IN ($kodeRekening) "; } $sps = DB::select(DB::raw("SELECT x.KODE_REKENING as IDX,x.KODE_REKENING||' | '||z.NAMA_REKENING as name FROM SAMASA.MAPPING_DBH_SKPD x LEFT JOIN SAMASA.VW_REKENING_PENDAPATAN z ON x.ID_REKENING = z.ID WHERE x.kode_skpd='" . Auth::user()->nrk . "' AND (TAHUN_BERLAKU<=" . getTA() . " AND TAHUN_BERAKHIR>=" . getTA() . ") $filter")); } else { $select = DB::raw("KODE_REKENING AS IDX,KODE_REKENING||' | '||NAMA_REKENING as name"); $sps = VwRekeningPendapatan::select($select); $sps->whereRaw("TAHUN_BERLAKU<=" . getTA() . " AND TAHUN_BERAKHIR>=" . getTA()); if (!empty($search)) { $sps->whereRaw(" (LOWER(KODE_REKENING) LIKE '%$search%' OR LOWER(NAMA_REKENING) LIKE '%$search%') "); } if (isset($jenis)) { $typeDana = strtoupper($jenis); $kodeRekening = "'" . implode("','", getKodeRekInduk($typeDana)) . "'"; $sps->whereRaw(" SUBSTR(KODE_REKENING,1,12) IN ($kodeRekening)"); } $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("NEWSIPKD.TRBAS", "SI_ESET_PEMBAYARAN.KODE_BAS", "=", "TRBAS.C_AKUN") ->where("NO_SKPRD", $no_skprd) ->whereRaw("C_TAHUN_BERLAKU<=" . getTA() . " AND C_TAHUN_BERAKHIR>=" . getTA()) ->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); } public function dau_rinci(Request $request) { $sk = []; $select = DB::raw("id, name"); if ($request->has('q')) { $search = $request->q; $sk = MstDauRinci::select($select) ->where('name', 'LIKE', "%$search%") ->get(); } else { $sk = MstDauRinci::select($select)->get(); } return response()->json($sk); } public function dau_rinci_detail(Request $request) { $search = $request->id; $sk = MstDauRinci::where('id', $search)->first(); return response()->json($sk); } }