diff --git a/app/Http/Controllers/ItemSearchController.php b/app/Http/Controllers/ItemSearchController.php index 4cc7ca3..5c1d543 100644 --- a/app/Http/Controllers/ItemSearchController.php +++ b/app/Http/Controllers/ItemSearchController.php @@ -112,6 +112,7 @@ class ItemSearchController extends Controller }else if($jenis == "dak"){ $sps->whereRaw(" (SUBSTR(KODE_REKENING,1,12)='4.2.01.01.03' AND SUBSTR(KODE_REKENING,1,12)='4.2.01.01.04') "); } + $sps->orderby("KODE_REKENING"); $sps = $sps->get(); } return response()->json($sps); @@ -128,7 +129,6 @@ class ItemSearchController extends Controller $sts["tgl_validasi"] = date("Y-m-d",strtotime($sts["tgl_validasi"])); $sts["nilai_bayar"] = separateNumberIndo($sts["nilai_bayar"]); - // var_dump($sts) return response()->json($sts); } diff --git a/app/Http/Controllers/JadwalSalurdanaController.php b/app/Http/Controllers/JadwalSalurdanaController.php index 8c12db1..f042c04 100644 --- a/app/Http/Controllers/JadwalSalurdanaController.php +++ b/app/Http/Controllers/JadwalSalurdanaController.php @@ -26,10 +26,11 @@ class JadwalSalurdanaController extends Controller $post = $request->all(); $offset = $post["start"]; $limit = $post["length"]; - $src = $post["src"]; + $src = isset($post["src"]) ? $post["src"]:""; $ta = $post["ta"]; - $dataFilter=0; - $typeDana=isset($post["type_dana"])?$post["type_dana"]:""; + $dataFilter = 0; + $typeDana = isset($post["type_dana"])?$post["type_dana"]:""; + $idSPS = isset($post["id_sps"])?$post["id_sps"]:""; $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, @@ -52,6 +53,7 @@ class JadwalSalurdanaController extends Controller ) )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'"; @@ -59,6 +61,11 @@ class JadwalSalurdanaController extends Controller $sqlstr.=" AND SUBSTR(kode_rekening,1,12) IN ('4.2.01.01.03','4.2.01.01.04')"; } } + + if (!empty($idSPS)){ + $sqlstr.=" AND x.ID=$idSPS"; + } + $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))); diff --git a/app/Http/Controllers/RealisasiBelanjaController.php b/app/Http/Controllers/RealisasiBelanjaController.php index f35cca6..f69a00d 100644 --- a/app/Http/Controllers/RealisasiBelanjaController.php +++ b/app/Http/Controllers/RealisasiBelanjaController.php @@ -8,7 +8,7 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Facades\Excel; use App\Models\BelanjaRealisasi; -use App\Models\BelanjaRealisasiDetail; +use App\Models\BelanjaRealisasiKontrak; use App\Models\TempRealisasiBelanja; use App\Models\VwAkbSpdRealRsk; use App\Models\UnitSatuan; @@ -50,7 +50,7 @@ class RealisasiBelanjaController extends Controller $this->setTitle("Realisasi Belanja ".$BelanjaRealisasi->jenis_dana." ".$BelanjaRealisasi->sub_jenis_dana); $this->setSubtitle("Detail Data"); $vwAKB = VwAkbSpdRealRsk::where("I_IDRSK",$BelanjaRealisasi->kode_rsk)->firstorNew(); - + $BelanjaRealisasiKontrak = BelanjaRealisasiKontrak::where("belanja_realisasi_id",$id)->get(); $vwSPD = DB::select(DB::raw( 'SELECT x.I_SPDNO_DOK,x.D_SPDNO,sum(y.V_SPD) AS JML FROM NEWSIPKD.TMSPD x @@ -75,7 +75,7 @@ class RealisasiBelanjaController extends Controller WHERE y.I_IDRSK='.$BelanjaRealisasi->kode_rsk.' ORDER BY x.D_SP2D_SAH ' ) ); - return view('realisasi_belanja.submit', compact("BelanjaRealisasi","vwAKB","vwSPD","vwSP2D")); + return view('realisasi_belanja.submit', compact("BelanjaRealisasi","BelanjaRealisasiKontrak","vwAKB","vwSPD","vwSP2D")); } public function datatable(Request $request) @@ -328,4 +328,33 @@ class RealisasiBelanjaController extends Controller return redirect('/realisasi-belanja/'.$data->dbh_belanja_realisasi_id."/submit")->with('error','Data detail Realisasi belanja gagal dihapus.'); } } + + public function kontrak(Request $request, $id) + { + $BelanjaRealisasi = BelanjaRealisasi::where("id", $id)->firstOrNew(); + $req = $request->all(); + $redirect = "/realisasi-belanja/".$id."/submit"; + if ($request->isMethod('post')) { + try{ + DB::beginTransaction(); + BelanjaRealisasiKontrak::where("belanja_realisasi_id",$id)->truncate(); + $data["belanja_realisasi_id"] = $id; + $data["nomor_kontrak"] = $req["nomor_kontrak"]; + $data["tgl_kontrak"] = ConvertIndoDate($req["tgl_kontrak"]); + $data["nominal_kontrak"] = replaceMoney($req["nominal_kontrak"]); + $data["file_kontrak"] = isset($req["file_kontrak"])?$req["file_kontrak"]:""; + $data["created_by"] = Auth::user()->id; + BelanjaRealisasiKontrak::create($data); + DB::commit(); + + return redirect($redirect)->with('success','Data Kontrak berhasil di input!'); + }catch(\Exception $e){ + throw new \Exception($e->getMessage()); + DB::rollBack(); + return redirect($redirect)->with('error',$e->getMessage()); + } + } + + return view('realisasi_belanja.form_kontrak',compact("BelanjaRealisasi")); + } } diff --git a/app/Models/BelanjaRealisasiDetail.php b/app/Models/BelanjaRealisasiDetail.php index e0d5ef2..b661e74 100644 --- a/app/Models/BelanjaRealisasiDetail.php +++ b/app/Models/BelanjaRealisasiDetail.php @@ -12,7 +12,7 @@ class BelanjaRealisasiDetail extends Eloquent protected $connection = 'Samasa'; protected $table = 'SAMASA.belanja_realisasi_detail'; protected $fillable = [ - "dbh_belanja_realisasi_id", + "belanja_realisasi_id", "jumlah_realisasi", "volume_satuan_realisasi", "unit_satuan_realisasi", diff --git a/app/Models/BelanjaRealisasiKontrak.php b/app/Models/BelanjaRealisasiKontrak.php new file mode 100644 index 0000000..41eb666 --- /dev/null +++ b/app/Models/BelanjaRealisasiKontrak.php @@ -0,0 +1,22 @@ +id(); - $table->uuid("dbh_belanja_realisasi_id"); + $table->uuid("belanja_realisasi_id"); $table->decimal('jumlah_realisasi', 19, 2); $table->tinyInteger('volume_satuan_realisasi')->nullable(); $table->string('unit_satuan_realisasi',30)->nullable(); diff --git a/database/migrations/2022_08_01_160949_create_belanja_realisasi_kontrak_table.php b/database/migrations/2022_08_01_160949_create_belanja_realisasi_kontrak_table.php new file mode 100644 index 0000000..07ce616 --- /dev/null +++ b/database/migrations/2022_08_01_160949_create_belanja_realisasi_kontrak_table.php @@ -0,0 +1,37 @@ +id(); + $table->uuid("belanja_realisasi_id"); + $table->string("nomor_kontrak",50); + $table->date("tgl_kontrak",50); + $table->decimal('nominal_kontrak', 19, 2); + $table->string("file_kontrak",100)->nullable(); + $table->uuid("created_by"); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('belanja_realisasi_kontrak'); + } +} diff --git a/public/css/app.css b/public/css/app.css index 6210721..d5e9fd2 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -7,6 +7,7 @@ body{ color:#333; font-size: 12px; /* font-family: "Ubuntu", "Helvetica Neue", Roboto, Arial, "Droid Sans", sans-serif; */ + zoom: 85%; } .navy-link, .breadcrumb-item a{ @@ -304,4 +305,12 @@ hr{ .dataTables_processing .card{ display: none; - } \ No newline at end of file + } + +.text-wrap{ + white-space:normal; +} + +.width-200{ + width:400px; +} \ No newline at end of file diff --git a/public/js/app.js b/public/js/app.js index f361a91..a281296 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -389,4 +389,16 @@ refreshNotif(); $.extend( $.fn.dataTable.ext.classes, { sProcessing: "dataTables_processing", +}); + +$(window).resize(function(){ + $($.fn.dataTable.tables(true)).DataTable().columns.adjust(); +}); + +$(window).on("#barButton", "click",()=>{ + $(window).resize(); + $($.fn.dataTable.tables(true)).DataTable().columns.adjust(); + $.fn.dataTable + .tables( { visible: true, api: true } ) + .columns.adjust(); }); \ No newline at end of file diff --git a/resources/views/jadwal_salurdana/index.blade.php b/resources/views/jadwal_salurdana/index.blade.php index 4160baa..1322752 100644 --- a/resources/views/jadwal_salurdana/index.blade.php +++ b/resources/views/jadwal_salurdana/index.blade.php @@ -40,11 +40,17 @@ -
+ {{--
+
--}} +
+
+ + +
@@ -119,6 +125,35 @@ $(document).ready(function(){ var srcDate1 = null, srcDate2 = null; + $('#txt_id_sps').select2({ + placeholder: 'Pilih DBH / DAK', + allowClear: true, + ajax: { + url: '/item-search-sps?ta='+$("#srcTA").val(), + dataType: 'json', + delay: 250, + processResults: function (data) { + return { + results: $.map(data, function (item) { + return { + text: item.name, + id: item.id + } + }) + }; + }, + cache: true + } + }); + + $('#txt_id_sps').on('select2:select', function (e) { + dtTable.draw(); + }) + + $('#txt_id_sps').on('select2:clear', function (e) { + dtTable.draw(); + }) + $("#src").keyup(function(e){ if (e.keyCode == 13){ e.preventDefault(); @@ -134,7 +169,7 @@ "processing": true, "serverSide": true, "ordering": false, - "autoWidth": false, + "autoWidth": true, "ajax": { url: "/jadwal-salurdana/datatable", type: "POST", @@ -142,8 +177,9 @@ 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: function (d) { - d.src = $("#src").val(), - d.ta = $("#srcTA").val() + // d.src = $("#src").val(), + d.ta = $("#srcTA").val(), + d.id_sps = $("#txt_id_sps").val() } }, "columnDefs": [ diff --git a/resources/views/jadwal_salurdana/index_dak.blade.php b/resources/views/jadwal_salurdana/index_dak.blade.php index 4668456..df3c1fb 100644 --- a/resources/views/jadwal_salurdana/index_dak.blade.php +++ b/resources/views/jadwal_salurdana/index_dak.blade.php @@ -25,6 +25,33 @@
+
+
+
+ + +
+
+ {{--
+
+ + +
+
--}} +
+
+ + +
+
+
@@ -206,9 +233,10 @@ 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: function (d) { - d.src = $("#src").val(), + //d.src = $("#src").val(), d.ta = $("#srcTA").val(), - d.type_dana = "dak" + d.type_dana = "dak", + d.id_sps = $("#txt_id_sps").val() } }, "columnDefs": [ @@ -360,6 +388,34 @@ scrollX:true, }); + $('#txt_id_sps').select2({ + placeholder: 'Pilih DBH / DAK', + allowClear: true, + ajax: { + url: '/item-search-sps?ta='+$("#srcTA").val(), + dataType: 'json', + delay: 250, + processResults: function (data) { + return { + results: $.map(data, function (item) { + return { + text: item.name, + id: item.id + } + }) + }; + }, + cache: true + } + }); + + $('#txt_id_sps').on('select2:select', function (e) { + dtTableSalur.draw(); + }) + + $('#txt_id_sps').on('select2:clear', function (e) { + dtTableSalur.draw(); + }) var dtTable = $('#dtTableJadwalBelanja').DataTable( { "processing": true, @@ -431,7 +487,7 @@ let totalReal = 0; let Jadwalcol=3; $("td:eq(0)", nRow).html(index); - $("td:eq(1)", nRow).html(aData["kode_rsk"] + " | " + aData["nama_rsk"]); + $("td:eq(1)", nRow).html("
" + aData["kode_rsk"] + " | " + aData["nama_rsk"] + "
"); $("td:eq(2)", nRow).html(separateNumberIndo(aData["jumlah_anggaran"])); $.each(akb, function(i,x){ $("td:eq("+Jadwalcol+")", nRow).html(separateNumberIndo(parseFloat(akb[i]))); @@ -517,7 +573,6 @@ dataSrc: ["kode_skpd"] }, scrollX: true, - scrollY: "350px", }); }); diff --git a/resources/views/notifikasi/form.blade.php b/resources/views/notifikasi/form.blade.php index ec80491..6206062 100644 --- a/resources/views/notifikasi/form.blade.php +++ b/resources/views/notifikasi/form.blade.php @@ -148,26 +148,6 @@ hitung_bersih(); }) - $('#txt_id_sps').select2({ - placeholder: 'Pilih DBH / DAK', - ajax: { - url: '/item-search-sps?ta='+$("#txt_ta").val(), - dataType: 'json', - delay: 250, - processResults: function (data) { - return { - results: $.map(data, function (item) { - return { - text: item.name, - id: item.id - } - }) - }; - }, - cache: true - } - }); - $('#txt_id_sps').on('select2:select', function (e) { var data = e.params.data; $("#txt_rek_sps").val(data.text); diff --git a/resources/views/partials/menu.blade.php b/resources/views/partials/menu.blade.php index dca4228..33d7929 100644 --- a/resources/views/partials/menu.blade.php +++ b/resources/views/partials/menu.blade.php @@ -46,56 +46,48 @@ + can("Upload DBH Rencana Belanja") || $role == "superadmin"){ ?> + + can("Read DBH Realisasi Pendapatan") || $role == "superadmin"){ ?> - + can("Read DBH Realisasi Belanja") || $role == "superadmin"){ ?> + + @if ($role == "admin" || $role == "superadmin") diff --git a/resources/views/partials/top_menu.blade.php b/resources/views/partials/top_menu.blade.php index c8759b3..4eab88a 100644 --- a/resources/views/partials/top_menu.blade.php +++ b/resources/views/partials/top_menu.blade.php @@ -5,7 +5,7 @@
+
@@ -69,8 +69,31 @@
+ Data Kontrak [ Tambah Kontrak ]
+
Bulan AKB
+ + + + + + + $kontrak){ ?> + + + + + + nominal_kontrak); } ?> + + + + + +
NomorTanggalJumlah
{{ $kontrak->nomor_kontrak }}{{ date("d-m-Y",strtotime($kontrak->tgl_kontrak)) }}{{ separateNumberIndo($kontrak->nominal_kontrak) }}
TOTAL Kontrak{{ separateNumberIndo($totalKontrak) }}
SPD
- +
@@ -92,8 +115,8 @@
Nomor Tanggal
- SP2D
- + SP2D
+
diff --git a/resources/views/realisasi_pendapatan/form.blade.php b/resources/views/realisasi_pendapatan/form.blade.php index 4b2208c..9faa760 100644 --- a/resources/views/realisasi_pendapatan/form.blade.php +++ b/resources/views/realisasi_pendapatan/form.blade.php @@ -153,9 +153,9 @@ }) $('#txt_id_sps').select2({ - placeholder: 'Pilih DBH', + placeholder: 'Pilih DBH / DAK', ajax: { - url: '/item-search-sps?ta='+$("#txt_ta").val()+'&jenis=dbh', + url: '/item-search-sps?ta='+$("#txt_ta").val(), dataType: 'json', delay: 250, processResults: function (data) { @@ -177,8 +177,6 @@ $("#txt_rek_sps").val(data.text); showRinciDBH(data.id); }) - - }); @endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 8a9ce7a..a4892aa 100644 --- a/routes/web.php +++ b/routes/web.php @@ -65,6 +65,8 @@ Route::group(['middleware' => 'auth'], function () { Route::get('/{id}/inputRealisasi', [RealisasiBelanjaController::class,'inputRealisasi']); Route::post('/{id}/inputRealisasi', [RealisasiBelanjaController::class,'inputRealisasi']); Route::delete('/delete-detail/{id}', [RealisasiBelanjaController::class,'deleteDetail']); + Route::get('/{id}/kontrak', [RealisasiBelanjaController::class,'kontrak']); + Route::post('/{id}/kontrak', [RealisasiBelanjaController::class,'kontrak']); }); Route::resource('realisasi-belanja', RealisasiBelanjaController::class);
Nomor Tanggal