From d05779485b880ff57cec0fd9f6e1c60f59cb26b5 Mon Sep 17 00:00:00 2001 From: Pusdatin BPKD Jkt Date: Mon, 18 Jul 2022 16:38:09 +0700 Subject: [PATCH] Develop realisasi belanja dbh --- app/Http/Controllers/ItemSearchController.php | 57 ++++++++++-- .../RealisasiBelanjaController.php | 23 +++-- app/Http/Controllers/SkpdController.php | 3 +- app/Imports/RealisasiBelanjaImport.php | 10 +-- app/Models/Kegiatan.php | 14 +++ app/Models/Program.php | 14 +++ app/Models/Rsk.php | 14 +++ app/Models/SubKegiatan.php | 4 +- public/css/app.css | 2 +- resources/views/layouts/app.blade.php | 86 ++++++++++++++++-- resources/views/layouts/empty.blade.php | 86 ++++++++++++++++-- .../views/realisasi_belanja/form.blade.php | 90 +++++-------------- .../form_input_realisasi.blade.php | 28 ++++++ .../views/realisasi_belanja/index.blade.php | 11 +-- .../views/realisasi_belanja/submit.blade.php | 74 +++++++++++++-- .../views/realisasi_belanja/upload.blade.php | 13 +-- routes/web.php | 6 +- 17 files changed, 419 insertions(+), 116 deletions(-) create mode 100644 app/Models/Kegiatan.php create mode 100644 app/Models/Program.php create mode 100644 app/Models/Rsk.php create mode 100644 resources/views/realisasi_belanja/form_input_realisasi.blade.php diff --git a/app/Http/Controllers/ItemSearchController.php b/app/Http/Controllers/ItemSearchController.php index 0c98c19..208a5b3 100644 --- a/app/Http/Controllers/ItemSearchController.php +++ b/app/Http/Controllers/ItemSearchController.php @@ -3,7 +3,11 @@ namespace App\Http\Controllers; use App\Http\Controllers\Controller; +use App\Models\Tropd; +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 Illuminate\Http\Request; @@ -21,15 +25,57 @@ class ItemSearchController extends Controller // } + public function skpd(Request $request) + { + $tropd = []; + + if($request->has('q')){ + $search = strtoupper($request->q); + $select = DB::raw("C_OPD AS ID,C_OPD||' | '||N_OPD as name"); + $tropd = Tropd::select($select) + ->where('N_OPD', 'LIKE', "%$search%") + ->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) { $tropd = []; if($request->has('q')){ $search = strtoupper($request->q); - $tropd = SubKegiatan::select(["SUBKEG_KODE as id","SUBKEG_NAMA as name"]) - ->where('SUBKEG_NAMA', 'LIKE', "%$search%") - ->distinct() + $select = DB::raw("C_SUBGIAT AS ID,C_SUBGIAT||' | '||N_SUBGIAT as name"); + $tropd = SubKegiatan::select($select) + ->where('N_SUBGIAT', 'LIKE', "%$search%") ->get(); } return response()->json($tropd); @@ -41,8 +87,9 @@ class ItemSearchController extends Controller if($request->has('q')){ $search = strtoupper($request->q); - $tropd = Tropd::select(["I_ID as id","N_OPD as name"]) - ->where('N_OPD', 'LIKE', "%$search%") + $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); diff --git a/app/Http/Controllers/RealisasiBelanjaController.php b/app/Http/Controllers/RealisasiBelanjaController.php index 7f56a58..4dd9902 100644 --- a/app/Http/Controllers/RealisasiBelanjaController.php +++ b/app/Http/Controllers/RealisasiBelanjaController.php @@ -40,10 +40,11 @@ class RealisasiBelanjaController extends Controller { } - public function submit(Request $request, DbhBelanjaRealisasi $realisasi_belanja) + public function submit(Request $request, $id) { $this->setSubtitle("Detail"); - return view('realisasi_belanja.submit'); + $DbhBelanjaRealisasi = DbhBelanjaRealisasi::where("id", $id)->firstOrNew(); + return view('realisasi_belanja.submit', compact("DbhBelanjaRealisasi")); } public function datatable(Request $request) @@ -153,7 +154,8 @@ class RealisasiBelanjaController extends Controller OR LOWER(nama_kegiatan) LIKE '%".strtolower($src)."%' OR LOWER(nama_sub_kegiatan) LIKE '%".strtolower($src)."%' OR LOWER(nama_rsk) LIKE '%".strtolower($src)."%' - OR LOWER(nama_rekening) LIKE '%".strtolower($src)."%')"); + OR LOWER(nama_rekening) LIKE '%".strtolower($src)."%' + )"); } $dataFilter = $data->count(); $dataTotal = TempRealisasiBelanja::count(); @@ -171,7 +173,11 @@ class RealisasiBelanjaController extends Controller DB::beginTransaction(); $datas = TempRealisasiBelanja::orderBy("id","ASC")->get(); for($i=0;$i<$datas->count();$i++){ - $cekData = DbhBelanjaRealisasi::where(["kode_rsk"=>$datas[$i]["kode_rsk"],"kode_rekening"=>$datas[$i]["kode_rekening"]])->firstOrNew(); + $cekData = DbhBelanjaRealisasi::where([ + "kode_rsk"=>$datas[$i]["kode_rsk"], + // "kode_rekening"=>$datas[$i]["kode_rekening"] + ])->firstOrNew(); + if (!$cekData==null){ $cekData->delete(); // DbhBelanjaRealisasi::where(["kode_rsk"=>$datas[$i]["kode_rsk"],"kode_rekening"=>$datas[$i]["kode_rekening"]])->delete(); @@ -190,8 +196,8 @@ class RealisasiBelanjaController extends Controller "nama_sub_kegiatan"=>$datas[$i]["nama_sub_kegiatan"], "kode_rsk"=>$datas[$i]["kode_rsk"], "nama_rsk"=>$datas[$i]["nama_rsk"], - "kode_rekening"=>$datas[$i]["kode_rekening"], - "nama_rekening"=>$datas[$i]["nama_rekening"], + // "kode_rekening"=>$datas[$i]["kode_rekening"], + // "nama_rekening"=>$datas[$i]["nama_rekening"], "jumlah_anggaran"=>$datas[$i]["jumlah_anggaran"], "volume_satuan"=>$datas[$i]["volume_satuan"], "unit_satuan"=>$datas[$i]["unit_satuan"] @@ -208,4 +214,9 @@ class RealisasiBelanjaController extends Controller } return view('realisasi_belanja.upload'); } + + public function inputRealisasi() + { + return view('realisasi_belanja.form_input_realisasi'); + } } diff --git a/app/Http/Controllers/SkpdController.php b/app/Http/Controllers/SkpdController.php index 3ec067c..fae42f0 100644 --- a/app/Http/Controllers/SkpdController.php +++ b/app/Http/Controllers/SkpdController.php @@ -24,7 +24,8 @@ class SkpdController extends Controller if($request->has('q')){ $search = strtoupper($request->q); - $tropd = Tropd::select(["I_ID as id","N_OPD as name"]) + $select = DB::raw("I_ID,I_ID||' | '||N_OPD as name"); + $tropd = Tropd::select($select) ->where('N_OPD', 'LIKE', "%$search%") ->get(); } diff --git a/app/Imports/RealisasiBelanjaImport.php b/app/Imports/RealisasiBelanjaImport.php index 14b437e..42b9a39 100644 --- a/app/Imports/RealisasiBelanjaImport.php +++ b/app/Imports/RealisasiBelanjaImport.php @@ -30,11 +30,11 @@ class RealisasiBelanjaImport implements ToModel, WithStartRow "nama_sub_kegiatan"=>$row[10], "kode_rsk"=>$row[11], "nama_rsk"=>$row[12], - "kode_rekening"=>$row[13], - "nama_rekening"=>$row[14], - "jumlah_anggaran"=>$row[15], - "volume_satuan"=>$row[16], - "unit_satuan"=>$row[17] + // "kode_rekening"=>$row[13], + // "nama_rekening"=>$row[14], + "jumlah_anggaran"=>$row[13], + "volume_satuan"=>$row[14], + "unit_satuan"=>$row[15] ]); } } diff --git a/app/Models/Kegiatan.php b/app/Models/Kegiatan.php new file mode 100644 index 0000000..f35bb5b --- /dev/null +++ b/app/Models/Kegiatan.php @@ -0,0 +1,14 @@ +{ - $('.skpd_search').select2({ + $('.skpd_search').select2({ placeholder: 'Pilih SKPD', ajax: { url: '/skpd-search', @@ -129,10 +128,87 @@ }, cache: true } - }); - } + }); - initailizeSelect2(); + $('.prog_search').select2({ + placeholder: 'Pilih Program', + ajax: { + url: '/item-search-prog', + dataType: 'json', + delay: 250, + processResults: function (data) { + return { + results: $.map(data, function (item) { + return { + text: item.name, + id: item.id + } + }) + }; + }, + cache: true + } + }); + + $('.keg_search').select2({ + placeholder: 'Pilih Kegiatan', + ajax: { + url: '/item-search-keg', + dataType: 'json', + delay: 250, + processResults: function (data) { + return { + results: $.map(data, function (item) { + return { + text: item.name, + id: item.id + } + }) + }; + }, + cache: true + } + }); + + $('.sk_search').select2({ + placeholder: 'Pilih Sub Kegiatan', + ajax: { + url: '/item-search-sk', + dataType: 'json', + delay: 250, + processResults: function (data) { + return { + results: $.map(data, function (item) { + return { + text: item.name, + id: item.id + } + }) + }; + }, + cache: true + } + }); + + $('.rsk_search').select2({ + placeholder: 'Pilih Rinci Sub Kegiatan', + ajax: { + url: '/item-search-rsk', + dataType: 'json', + delay: 250, + processResults: function (data) { + return { + results: $.map(data, function (item) { + return { + text: item.name, + id: item.id + } + }) + }; + }, + cache: true + } + }); $(document).on("click",".modalButton",function (e){ $("#overlayLoader").removeClass("d-flex"); diff --git a/resources/views/layouts/empty.blade.php b/resources/views/layouts/empty.blade.php index 57be9b2..790710a 100644 --- a/resources/views/layouts/empty.blade.php +++ b/resources/views/layouts/empty.blade.php @@ -104,8 +104,7 @@ Swal.fire('{{ $message }}', '', 'error'); @endif - initailizeSelect2 = () =>{ - $('.skpd_search').select2({ + $('.skpd_search').select2({ placeholder: 'Pilih SKPD', ajax: { url: '/skpd-search', @@ -123,10 +122,87 @@ }, cache: true } - }); - } + }); - initailizeSelect2(); + $('.prog_search').select2({ + placeholder: 'Pilih Program', + ajax: { + url: '/item-search-prog', + dataType: 'json', + delay: 250, + processResults: function (data) { + return { + results: $.map(data, function (item) { + return { + text: item.name, + id: item.id + } + }) + }; + }, + cache: true + } + }); + + $('.keg_search').select2({ + placeholder: 'Pilih Kegiatan', + ajax: { + url: '/item-search-keg', + dataType: 'json', + delay: 250, + processResults: function (data) { + return { + results: $.map(data, function (item) { + return { + text: item.name, + id: item.id + } + }) + }; + }, + cache: true + } + }); + + $('.sk_search').select2({ + placeholder: 'Pilih Sub Kegiatan', + ajax: { + url: '/item-search-sk', + dataType: 'json', + delay: 250, + processResults: function (data) { + return { + results: $.map(data, function (item) { + return { + text: item.name, + id: item.id + } + }) + }; + }, + cache: true + } + }); + + $('.rsk_search').select2({ + placeholder: 'Pilih Rinci Sub Kegiatan', + ajax: { + url: '/item-search-rsk', + dataType: 'json', + delay: 250, + processResults: function (data) { + return { + results: $.map(data, function (item) { + return { + text: item.name, + id: item.id + } + }) + }; + }, + cache: true + } + }); $(document).on("click",".modalButton",function (e){ $("#overlayLoader").removeClass("d-flex"); diff --git a/resources/views/realisasi_belanja/form.blade.php b/resources/views/realisasi_belanja/form.blade.php index 9b95061..79f5a8d 100644 --- a/resources/views/realisasi_belanja/form.blade.php +++ b/resources/views/realisasi_belanja/form.blade.php @@ -10,102 +10,56 @@
- - + +
- - + +
- - + +
- - + +
- - + +
- +
- +
- - -
-
- - + +
- +
- +
- +{{-- --}} @section('scripts') @endsection \ No newline at end of file diff --git a/resources/views/realisasi_belanja/form_input_realisasi.blade.php b/resources/views/realisasi_belanja/form_input_realisasi.blade.php new file mode 100644 index 0000000..643c85b --- /dev/null +++ b/resources/views/realisasi_belanja/form_input_realisasi.blade.php @@ -0,0 +1,28 @@ +
+ @csrf +
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+ \ No newline at end of file diff --git a/resources/views/realisasi_belanja/index.blade.php b/resources/views/realisasi_belanja/index.blade.php index f3c7d8a..7ca309b 100644 --- a/resources/views/realisasi_belanja/index.blade.php +++ b/resources/views/realisasi_belanja/index.blade.php @@ -50,8 +50,9 @@ $rowCol"; } @@ -134,8 +135,8 @@ { "data": "nama_sub_kegiatan", "className":"text-left", "defaultContent":"-" }, { "data": "kode_rsk", "className":"text-center", "defaultContent":"-" }, { "data": "nama_rsk", "className":"text-left", "defaultContent":"-", "width":300 }, - { "data": "kode_rekening", "className":"text-center", "defaultContent":"-" }, - { "data": "nama_rekening", "className":"text-left", "defaultContent":"-" }, + // { "data": "kode_rekening", "className":"text-center", "defaultContent":"-" }, + // { "data": "nama_rekening", "className":"text-left", "defaultContent":"-" }, { "data": "jumlah_anggaran", "className":"text-right", "defaultContent":"0" }, { "data": "volume_satuan", "className":"text-center", "defaultContent":"0" }, { "data": "unit_satuan", "className":"text-center", "defaultContent":"-" }, @@ -148,7 +149,7 @@ let index = (numStart * dtTable.page.len()) + iDisplayIndex + 1; $("td:eq(0)", nRow).html(index); - $("td:eq(16)", nRow).html(separateNumberIndo(aData["jumlah_anggaran"])); + $("td:eq(14)", nRow).html(separateNumberIndo(aData["jumlah_anggaran"])); return nRow; }, diff --git a/resources/views/realisasi_belanja/submit.blade.php b/resources/views/realisasi_belanja/submit.blade.php index 7fc0e16..db95f87 100644 --- a/resources/views/realisasi_belanja/submit.blade.php +++ b/resources/views/realisasi_belanja/submit.blade.php @@ -5,10 +5,10 @@ ]; @endphp -@extends('layouts.app') +@extends('layouts.empty') @section('content') - @section('card_header') +

{{ $sitesubTitle }}

@@ -17,8 +17,70 @@ {{-- @endif --}}
- @stop -
- @csrf - @include('realisasi_belanja.form') +
+ + @csrf + @include('realisasi_belanja.form') + +
+
+
+
+

Realisasi

+
+
+
+ + +
+
+ + +
+ Input Realisasi +
+
+@endsection +@section('scripts2') + @endsection \ No newline at end of file diff --git a/resources/views/realisasi_belanja/upload.blade.php b/resources/views/realisasi_belanja/upload.blade.php index 31842f5..e28b2f5 100644 --- a/resources/views/realisasi_belanja/upload.blade.php +++ b/resources/views/realisasi_belanja/upload.blade.php @@ -42,8 +42,8 @@ "nama_sub_kegiatan", "kode_rsk", "nama_rsk", - "kode_rekening", - "nama_rekening", + {{-- "kode_rekening", + "nama_rekening", --}} "jumlah_anggaran", "volume_satuan", "unit_satuan"

@@ -67,8 +67,9 @@ $rowCol"; } @@ -152,8 +153,8 @@ { "data": "nama_sub_kegiatan", "className":"text-left", "defaultContent":"-" }, { "data": "kode_rsk", "className":"text-center", "defaultContent":"-" }, { "data": "nama_rsk", "className":"text-left", "defaultContent":"-", "width":300 }, - { "data": "kode_rekening", "className":"text-center", "defaultContent":"-" }, - { "data": "nama_rekening", "className":"text-left", "defaultContent":"-" }, + // { "data": "kode_rekening", "className":"text-center", "defaultContent":"-" }, + // { "data": "nama_rekening", "className":"text-left", "defaultContent":"-" }, { "data": "jumlah_anggaran", "className":"text-right", "defaultContent":"0" }, { "data": "volume_satuan", "className":"text-center", "defaultContent":"0" }, { "data": "unit_satuan", "className":"text-center", "defaultContent":"-" }, diff --git a/routes/web.php b/routes/web.php index f43725d..65a0696 100644 --- a/routes/web.php +++ b/routes/web.php @@ -56,6 +56,8 @@ Route::group(['middleware' => 'auth'], function () { Route::post('realisasi-belanja/datatable', [RealisasiBelanjaController::class,'datatable']); Route::get('realisasi-belanja/{id}/submit', [RealisasiBelanjaController::class,'submit']); Route::post('realisasi-belanja/{id}/submit', [RealisasiBelanjaController::class,'submit']); + Route::get('realisasi-belanja/{id}/inputRealisasi', [RealisasiBelanjaController::class,'inputRealisasi']); + Route::post('realisasi-belanja/{id}/inputRealisasi', [RealisasiBelanjaController::class,'inputRealisasi']); Route::resource('realisasi-belanja', RealisasiBelanjaController::class); Route::resource('salur-dana', SalurdanaController::class); @@ -67,7 +69,9 @@ Route::group(['middleware' => 'auth'], function () { }); Route::get('home', [HomeController::class, 'index'])->name('home'); - Route::get('skpd-search', [SkpdController::class,'selectSearch']); + Route::get('skpd-search', [ItemSearchController::class,'skpd']); + Route::get('item-search-prog', [ItemSearchController::class,'prog']); + Route::get('item-search-keg', [ItemSearchController::class,'keg']); Route::get('item-search-sk', [ItemSearchController::class,'sk']); Route::get('item-search-rsk', [ItemSearchController::class,'rsk']); Route::get('item-search-sps', [ItemSearchController::class,'sps']);