Files
sidata/app/Http/Controllers/JadwalSalurdanaController.php
T
2022-07-26 11:30:33 +07:00

73 lines
2.8 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;
$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.DBH_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\'';
$data = DB::select(DB::raw($sqlstr.'ORDER BY kode_rekening 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::select(DB::raw($sqlstr)));
$dataTotal = Sps_pendapatan::where("SKPD_ID",980)
->where("TAHUN",$ta)
->whereRaw("SUBSTR(KODE_REKENING,1,3)='4.2'")
->count();
return response()->json([
"recordsTotal" => $dataTotal,
"recordsFiltered" => $dataFilter,
"data"=> $data
]);
}
}