From 1436304331e641e6c8502cced6299ce79c1ab245 Mon Sep 17 00:00:00 2001 From: Pusdatin BPKD Jkt Date: Wed, 16 Nov 2022 10:46:59 +0700 Subject: [PATCH] Master Satuan, Jumlah SPD jika DBH pada table realisasi --- .../Controllers/Admin/MstSatuanController.php | 100 ++++++++++++ .../RealisasiBelanjaController.php | 29 +++- .../views/admin/mst_satuan/create.blade.php | 43 +++++ .../views/admin/mst_satuan/edit.blade.php | 40 +++++ .../views/admin/mst_satuan/index.blade.php | 116 ++++++++++++++ .../views/admin/mst_satuan/show.blade.php | 148 ++++++++++++++++++ resources/views/partials/menu.blade.php | 1 + routes/web.php | 3 + 8 files changed, 473 insertions(+), 7 deletions(-) create mode 100644 app/Http/Controllers/Admin/MstSatuanController.php create mode 100644 resources/views/admin/mst_satuan/create.blade.php create mode 100644 resources/views/admin/mst_satuan/edit.blade.php create mode 100644 resources/views/admin/mst_satuan/index.blade.php create mode 100644 resources/views/admin/mst_satuan/show.blade.php diff --git a/app/Http/Controllers/Admin/MstSatuanController.php b/app/Http/Controllers/Admin/MstSatuanController.php new file mode 100644 index 0000000..737035b --- /dev/null +++ b/app/Http/Controllers/Admin/MstSatuanController.php @@ -0,0 +1,100 @@ +siteTitle = "Master Satuan"; + parent::__construct(); + } + + public function index() + { + $data = null; + // $data = User::where('role_name', "<>", "superadmin")->latest()->paginate(10); + return view('admin.mst_satuan.index',compact('data')) + ->with('i', (request()->input('page', 1) - 1) * 10); + } + + public function create() + { + $this->setSubtitle("Tambah Data"); + return view('admin.mst_satuan.create'); + } + + public function store(Request $request) + { + $request->validate([ + 'name' => 'required', + ]); + + $req = $request->all(); + MstSatuan::where("nama_satuan", $req["name"])->delete(); + $data["nama_satuan"] = $req["name"]; + MstSatuan::create($data); + + return redirect("/admin/MstSatuan")->with('success','Data Satuan berhasil dibuat.'); + } + + public function show(MstSatuan $MstSatuan) + { + $SubSatuanBelanja = MstSubSatuanBelanja::where("id_Satuan_belanja",$MstSatuan->id)->get(); + $this->setSubtitle("Detail Satuan"); + return view('admin.mst_satuan.show',compact('MstSatuan','SubSatuanBelanja')); + } + + public function edit(MstSatuan $MstSatuan) + { + $this->setSubtitle("Ubah Data"); + return view('admin.mst_satuan.edit',compact('MstSatuan')); + } + + public function update(Request $request, MstSatuan $MstSatuan) + { + $request->validate([ + 'name' => 'required', + ]); + + $req = $request->all(); + $data["nama_satuan"] = $req["name"]; + $MstSatuan->update($req); + + return redirect()->route('MstSatuan.index') + ->with('success','Data Satuan berhasil diubah!'); + } + + public function destroy(MstSatuan $MstSatuan) + { + $MstSatuan->delete(); + return redirect()->route('MstSatuan.index') + ->with('success','Data Satuan berhasil dihapus!'); + } + + public function datatable(Request $request) + { + $post = $request->all(); + $offset = $post["start"]; + $limit = $post["length"]; + $src = isset($post["search"]["value"]) ? strtolower($post["search"]["value"]):""; + $sqlstr = MstSatuan::select(); + $dataTotal = $sqlstr->count(); + $data = $sqlstr->orderBy("nama_satuan","ASC"); + if (!empty($src)){ + $data->whereRaw(" ( lower(nama_satuan) like '%$src%' ) "); + } + $dataFilter = $data->count(); + + return response()->json([ + "recordsTotal" => $dataTotal, + "recordsFiltered" => $dataFilter, + "data"=> $data->skip($offset)->take($limit)->get() + ]); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/RealisasiBelanjaController.php b/app/Http/Controllers/RealisasiBelanjaController.php index 61d1a92..899c9c6 100644 --- a/app/Http/Controllers/RealisasiBelanjaController.php +++ b/app/Http/Controllers/RealisasiBelanjaController.php @@ -266,7 +266,7 @@ class RealisasiBelanjaController extends Controller $vwAKB = json_decode(json_encode($vwAKB[0]), true); $vwSPD = []; - if ($BelanjaRealisasi->jenis_dana == "DBH" && $BelanjaRealisasi->sub_jenis_dana != "CHT") + if ($BelanjaRealisasi->jenis_dana == "DBH" && $BelanjaRealisasi->nama_jenis_dana != "CHT") { $vwSPD = BelanjaRealisasi::getSPD($BelanjaRealisasi->kode_sub_kegiatan,$BelanjaRealisasi->id_skpd); }else{ @@ -368,19 +368,34 @@ class RealisasiBelanjaController extends Controller $dataFilter = DB::select(DB::raw("SELECT COUNT(ID) as JML FROM ($sqlStr $filter) x")); $dataTotal = DB::select(DB::raw("SELECT COUNT(ID) as JML FROM ($sqlStr) x")); - $data = DB::select(DB::raw("SELECT a.*,b.jml,NVL(c.jml_spd,0) AS jml_spd FROM (".$sqlStr.$filter.") a + $data = DB::select(DB::raw("SELECT a.*,NVL(b.jml,0) as jml, + CASE WHEN a.jenis_dana = 'DBH' AND a.nama_subjenis_dana<>'CHT' THEN NVL(d.jml_spd, 0) ELSE NVL(c.jml_spd, 0) END AS jml_spd + FROM (".$sqlStr.$filter.") a LEFT JOIN ( SELECT I_IDRSK, SUM(REALISASI_1) AS jml FROM NEWSIPKD.VW_REALISASI_BELANJA_PERBULAN WHERE C_ANGG_TAHUN = $ta GROUP BY I_IDRSK - ) b - ON a.kode_rsk = b.I_IDRSK + ) b ON a.kode_rsk = b.I_IDRSK LEFT JOIN ( - SELECT id_rsk,count(id_rsk) as jml_spd FROM SAMASA.belanja_realisasi_spd + SELECT id_rsk,count(id_rsk) as jml_spd + FROM SAMASA.belanja_realisasi_spd + WHERE TO_CHAR(TGL,'YYYY') = $ta GROUP BY id_rsk - ) c - ON a.kode_rsk = c.id_rsk + ) c ON a.kode_rsk = c.id_rsk + LEFT JOIN ( + SELECT C_OPD,C_SUBGIAT,COUNT(JML) AS jml_spd + FROM + ( + SELECT C_OPD,C_SUBGIAT,SUM(V_SPD) AS JML + FROM NEWSIPKD.TMSPDRINCIBLJ x + LEFT JOIN NEWSIPKD.TMDPASUBGIAT y ON x.I_IDSUBGIAT = y.I_ID + AND x.C_ANGG_TAHUN = $ta + LEFT JOIN NEWSIPKD.TROPD z ON z.I_ID = y.I_IDOPD + WHERE C_SUBGIAT IS NOT NULL + GROUP BY C_OPD,C_SUBGIAT,I_IDSPD + ) GROUP BY C_OPD,C_SUBGIAT + ) d ON a.KODE_SUB_KEGIATAN = d.C_SUBGIAT AND a.KODE_SKPD = d.C_OPD ORDER BY a.KODE_SKPD, a.KODE_RSK OFFSET ".$offset." ROWS FETCH NEXT ".$limit." ROWS ONLY")); return response()->json([ diff --git a/resources/views/admin/mst_satuan/create.blade.php b/resources/views/admin/mst_satuan/create.blade.php new file mode 100644 index 0000000..c030077 --- /dev/null +++ b/resources/views/admin/mst_satuan/create.blade.php @@ -0,0 +1,43 @@ +@php + $siteBreadcumb = [ + ["url"=>"/admin/MstSatuan","label"=>$siteTitle], + ["url"=>"/admin/MstSatuan","label"=>$sitesubTitle] + ]; +@endphp + +@extends('layouts.app') + +@section('content') +
+
+
+
@php echo $sitesubTitle; @endphp
+
+ +
+
+ +
+ @csrf + +
+
+
+ Nama + +
+
+
+ +
+
+
+@endsection +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/mst_satuan/edit.blade.php b/resources/views/admin/mst_satuan/edit.blade.php new file mode 100644 index 0000000..bc50977 --- /dev/null +++ b/resources/views/admin/mst_satuan/edit.blade.php @@ -0,0 +1,40 @@ +@php + $siteBreadcumb = [ + ["url"=>"/admin/MstSatuan","label"=>$siteTitle], + ["url"=>"/admin/MstSatuan","label"=>$sitesubTitle] + ]; +@endphp + +@extends('layouts.app') + +@section('content') +
+
+
+
@php echo $sitesubTitle; @endphp
+
+ +
+
+ +
+ @csrf + @method('PUT') +
+
+
+ Nama + +
+
+
+ +
+
+
+@endsection +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/mst_satuan/index.blade.php b/resources/views/admin/mst_satuan/index.blade.php new file mode 100644 index 0000000..0056b14 --- /dev/null +++ b/resources/views/admin/mst_satuan/index.blade.php @@ -0,0 +1,116 @@ +@php + $siteBreadcumb = [ + ["url"=>"/admin/MstSatuan","label"=>$siteTitle], + ["url"=>"/admin/MstSatuan","label"=>$sitesubTitle] + ]; +@endphp + +@extends('layouts.empty') + +@section('styles') + + + + + +@endsection + +@section('content') +
+
+
@php echo $sitesubTitle; @endphp
+ +
+
+ + + + + + + + +
NoNamaAction
+
+
+ + @section('scripts') + + + + + + + + + + + + + + + + + + @endsection +@stop \ No newline at end of file diff --git a/resources/views/admin/mst_satuan/show.blade.php b/resources/views/admin/mst_satuan/show.blade.php new file mode 100644 index 0000000..83d81c6 --- /dev/null +++ b/resources/views/admin/mst_satuan/show.blade.php @@ -0,0 +1,148 @@ +@php + $siteBreadcumb = [ + ["url"=>"/admin/MstJenisBelanja","label"=>$siteTitle], + ["url"=>"/admin/MstJenisBelanja","label"=>$sitesubTitle] + ]; +@endphp + +@section('styles') + + + + + +@endsection + +@extends('layouts.empty') + +@section('content') +
+
+
@php echo $sitesubTitle; @endphp
+
+ Back +
+
+
+
+ @csrf +
+
+
+ Kode: + +
+
+ Nama: + +
+
+ Deskripsi + +
+
+
+
+
+
+
+
+
DATA SUB JENIS BELANJA
+ +
+
+ + + + + + + + + + +
NoKodeNamaDeskripsiAction
+
+
+@endsection +@section('scripts') + + + + + + + + + + + + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/partials/menu.blade.php b/resources/views/partials/menu.blade.php index 00945dc..4d8b505 100644 --- a/resources/views/partials/menu.blade.php +++ b/resources/views/partials/menu.blade.php @@ -102,6 +102,7 @@ + @endif @if ($role == "superadmin") diff --git a/routes/web.php b/routes/web.php index 64d9cbf..490ee3b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -17,6 +17,7 @@ use App\Http\Controllers\Admin\PermissionsController; use App\Http\Controllers\Admin\MstJenisDanaController; use App\Http\Controllers\Admin\MstJenisBelanjaController; use App\Http\Controllers\Admin\MstSubJenisBelanjaController; +use App\Http\Controllers\Admin\MstSatuanController; use App\Http\Controllers\NotifikasiController; Route::get('/', [AuthController::class, 'showFormLogin']); @@ -43,6 +44,8 @@ Route::group(['middleware' => 'auth'], function () { Route::post('MstJenisBelanja/{id}/datatable-sub', [MstSubJenisBelanjaController::class,'datatable']); Route::post('MstJenisBelanja/{id}/store-sub', [MstSubJenisBelanjaController::class,'store']); Route::resource('MstSubJenisBelanja', MstSubJenisBelanjaController::class); + Route::post('MstSatuan/datatable', [MstSatuanController::class,'datatable']); + Route::resource('MstSatuan', MstSatuanController::class); }); Route::get('users/change-password/{userId}', [MstPenggunaController::class,'changePass'])->name("users.changepass");