173 lines
7.3 KiB
PHP
173 lines
7.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Http;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Maatwebsite\Excel\Facades\Excel;
|
|
use App\Models\Sps_pendapatan;
|
|
|
|
class JadwalSalurdanaController extends Controller
|
|
{
|
|
public function __construct(){
|
|
$this->siteTitle = "Jadwal Salur Dana";
|
|
parent::__construct();
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
return view('jadwal_salurdana.index');
|
|
}
|
|
|
|
public function datatable(Request $request)
|
|
{
|
|
$post = $request->all();
|
|
$offset = $post["start"];
|
|
$limit = $post["length"];
|
|
$src = $post["src"];
|
|
$ta = $post["ta"];
|
|
$dataFilter=0;
|
|
$typeDana=isset($post["type_dana"])?$post["type_dana"]:"";
|
|
$sqlstr = 'SELECT kode_rekening,nama_rekening,spsbulan1,spsbulan2,spsbulan3,spsbulan4,
|
|
spsbulan5,spsbulan6,spsbulan7,spsbulan8,spsbulan9,spsbulan10,spsbulan11,spsbulan12,
|
|
SUBSTR(KODE_REKENING,1,12) AS kodegrup,SUBSTR(KODE_REKENING,1,9) AS groupall,
|
|
NVL("1",0) AS "REAL1",NVL("2",0) AS "REAL2",NVL("3",0) AS "REAL3",
|
|
NVL("4",0) AS "REAL4",NVL("5",0) AS "REAL5",NVL("6",0) AS "REAL6",
|
|
NVL("7",0) AS "REAL7",NVL("8",0) AS "REAL8",NVL("9",0) AS "REAL9",
|
|
NVL("10",0) AS "REAL10",NVL("11",0) AS "REAL11",NVL("12",0) AS "REAL12"
|
|
FROM PROKSI.SPS_PENDAPATAN x
|
|
LEFT JOIN
|
|
(
|
|
SELECT * FROM (
|
|
SELECT ID_SPS,extract(month from RKUD_TGL) AS BULAN,RKUD_JUMLAH
|
|
FROM SAMASA.PENDAPATAN_REALISASI
|
|
WHERE TAHUN=\''.$ta.'\'
|
|
)
|
|
PIVOT
|
|
(
|
|
SUM(RKUD_JUMLAH)
|
|
FOR BULAN IN(1,2,3,4,5,6,7,8,9,10,11,12)
|
|
)
|
|
)y ON x.ID = y.ID_SPS
|
|
WHERE x.TAHUN = '.$ta.' AND x.SKPD_ID=980 AND SUBSTR(x.KODE_REKENING,1,3)=\'4.2\'';
|
|
if (!empty($typeDana)){
|
|
if ($typeDana == "cht"){
|
|
$sqlstr.=" AND kode_rekening='4.2.01.01.01.0004'";
|
|
}else{
|
|
$sqlstr.=" AND SUBSTR(kode_rekening,1,12) IN ('4.2.01.01.03','4.2.01.01.04')";
|
|
}
|
|
}
|
|
$dataTotal = count(DB::select(DB::raw($sqlstr)));
|
|
$data = DB::select(DB::raw($sqlstr.'ORDER BY kode_rekening OFFSET '.$offset.' ROWS FETCH NEXT '.$limit.' ROWS ONLY'));
|
|
$dataFilter = count(DB::select(DB::raw($sqlstr)));
|
|
|
|
return response()->json([
|
|
"recordsTotal" => $dataTotal,
|
|
"recordsFiltered" => $dataFilter,
|
|
"data"=> $data
|
|
]);
|
|
}
|
|
|
|
public function index_cht_dak(Request $request,$typeDana)
|
|
{
|
|
$judul = strtoupper($typeDana);
|
|
$this->setTitle("Jadwal Salur Dana $judul");
|
|
return view("jadwal_salurdana.index_".$typeDana);
|
|
}
|
|
|
|
public function datatable_cht_dak(Request $request)
|
|
{
|
|
$post = $request->all();
|
|
$offset = $post["start"];
|
|
$limit = $post["length"];
|
|
$src = $post["src"];
|
|
$ta = $post["ta"];
|
|
// $typeDana = $post["type_dana"];
|
|
$dataFilter=0;
|
|
$sqlstr = 'SELECT x.kode_rsk, x.nama_rsk, x.jumlah_anggaran, y.*
|
|
FROM
|
|
SAMASA.BELANJA_REALISASI x
|
|
LEFT JOIN
|
|
(
|
|
SELECT * FROM (
|
|
SELECT
|
|
IDRSK,
|
|
NVL(V_BKU_01,0) AS V_BKU_01,
|
|
NVL(V_BKU_02,0) AS V_BKU_02,
|
|
NVL(V_BKU_03,0) AS V_BKU_03,
|
|
NVL(V_BKU_04,0) AS V_BKU_04,
|
|
NVL(V_BKU_05,0) AS V_BKU_05,
|
|
NVL(V_BKU_06,0) AS V_BKU_06,
|
|
NVL(V_BKU_07,0) AS V_BKU_07,
|
|
NVL(V_BKU_08,0) AS V_BKU_08,
|
|
NVL(V_BKU_09,0) AS V_BKU_09,
|
|
NVL(V_BKU_10,0) AS V_BKU_10,
|
|
NVL(V_BKU_11,0) AS V_BKU_11,
|
|
NVL(V_BKU_12,0) AS V_BKU_12
|
|
FROM (
|
|
SELECT IDRSK,
|
|
extract(month FROM TO_DATE(D_POSTING, \'YYYYMMDD\')) AS BULAN,
|
|
SUM (REALISASI) AS V_REALISASI
|
|
FROM NEWSIPKD.VW_BKU_REALISASI_RSK
|
|
WHERE TAHUN_ANGGARAN = \''.$ta.'\'
|
|
GROUP BY IDRSK,D_POSTING
|
|
)
|
|
PIVOT
|
|
(
|
|
SUM(V_REALISASI)
|
|
FOR BULAN IN(
|
|
1 AS V_BKU_01,
|
|
2 AS V_BKU_02,
|
|
3 AS V_BKU_03,
|
|
4 AS V_BKU_04,
|
|
5 AS V_BKU_05,
|
|
6 AS V_BKU_06,
|
|
7 AS V_BKU_07,
|
|
8 AS V_BKU_08,
|
|
9 AS V_BKU_09,
|
|
10 AS V_BKU_10,
|
|
11 AS V_BKU_11,
|
|
12 AS V_BKU_12
|
|
)
|
|
)
|
|
) xx
|
|
LEFT JOIN
|
|
(
|
|
SELECT
|
|
RSK_BELANJARINCI_ID,
|
|
BULAN1 AS V_AKB_01,
|
|
BULAN2 AS V_AKB_02,
|
|
BULAN3 AS V_AKB_03,
|
|
BULAN4 AS V_AKB_04,
|
|
BULAN5 AS V_AKB_05,
|
|
BULAN6 AS V_AKB_06,
|
|
BULAN7 AS V_AKB_07,
|
|
BULAN8 AS V_AKB_08,
|
|
BULAN9 AS V_AKB_09,
|
|
BULAN10 AS V_AKB_10,
|
|
BULAN11 AS V_AKB_11,
|
|
BULAN12 AS V_AKB_12
|
|
FROM BAPEDA_BUDGETING.P_SPB_BELANJARINCIAKB@EBUDGETING
|
|
WHERE TAHUN = \''.$ta.'\'
|
|
) yy
|
|
ON xx.IDRSK = yy.RSK_BELANJARINCI_ID
|
|
) y
|
|
ON x.KODE_RSK = y.IDRSK';
|
|
$data = DB::connection('oracle')->select(DB::raw($sqlstr.' ORDER BY x.id OFFSET '.$offset.' ROWS FETCH NEXT '.$limit.' ROWS ONLY'));
|
|
if (!empty($src)){
|
|
//$data->whereRaw("(LOWER(NAMA_REKENING) LIKE '%".strtolower($src)."%' OR LOWER(KODE_REKENING) LIKE '%".strtolower($src)."%')");
|
|
}
|
|
$dataFilter = count(DB::connection('oracle')->select(DB::raw($sqlstr)));
|
|
$dataTotal = 0;
|
|
|
|
return response()->json([
|
|
"recordsTotal" => $dataTotal,
|
|
"recordsFiltered" => $dataFilter,
|
|
"data"=> $data
|
|
]);
|
|
}
|
|
|
|
}
|