This commit is contained in:
Izuddin
2022-08-30 13:34:59 +07:00
parent d853d49c8a
commit 0992bf8e3e
10 changed files with 374 additions and 65 deletions
@@ -30,11 +30,11 @@ class MstJenisBelanjaController extends Controller
return view('admin.mst_jenis_belanja.create');
}
public function create_sub(MstJenisBelanja $MstJenisBelanja)
{
$this->setSubtitle("Tambah Data Sub Jenis Belanja [<strong>".$MstJenisBelanja->name."</strong>] ");
return view('admin.mst_jenis_belanja.create_sub',compact("MstJenisBelanja"));
}
// public function create_sub(MstJenisBelanja $MstJenisBelanja)
// {
// $this->setSubtitle("Tambah Data Sub Jenis Belanja [<strong>".$MstJenisBelanja->name."</strong>] ");
// return view('admin.mst_jenis_belanja.create_sub',compact("MstJenisBelanja"));
// }
public function store(Request $request)
{
@@ -51,22 +51,22 @@ class MstJenisBelanjaController extends Controller
return redirect("/admin/MstJenisBelanja")->with('success','Jenis Belanja berhasil dibuat.');
}
public function store_sub(Request $request)
{
$request->validate([
'name' => 'required',
'id_jenis_belanja' => 'required'
]);
// public function store_sub(Request $request)
// {
// $request->validate([
// 'name' => 'required',
// 'id_jenis_belanja' => 'required'
// ]);
$req = $request->all();
MstSubJenisBelanja::where("name", $req["name"])->where("id_jenis_belanja", $req["id_jenis_belanja"])->delete();
$data["id_jenis_belanja"] = $req["id_jenis_belanja"];
$data["name"] = $req["name"];
$data["description"] = $req["description"];
MstSubJenisBelanja::create($data);
// $req = $request->all();
// MstSubJenisBelanja::where("name", $req["name"])->where("id_jenis_belanja", $req["id_jenis_belanja"])->delete();
// $data["id_jenis_belanja"] = $req["id_jenis_belanja"];
// $data["name"] = $req["name"];
// $data["description"] = $req["description"];
// MstSubJenisBelanja::create($data);
return redirect("/admin/MstJenisBelanja/".$data["id_jenis_belanja"])->with('success','Sub Jenis Belanja berhasil dibuat.');
}
// return redirect("/admin/MstJenisBelanja/".$data["id_jenis_belanja"])->with('success','Sub Jenis Belanja berhasil dibuat.');
// }
public function show(MstJenisBelanja $MstJenisBelanja)
{
@@ -126,26 +126,26 @@ class MstJenisBelanjaController extends Controller
]);
}
public function datatableSubJenisBelanja(Request $request, $id)
{
$post = $request->all();
$offset = $post["start"];
$limit = $post["length"];
$src = isset($post["search"]["value"]) ? strtolower($post["search"]["value"]):"";
$select = DB::raw("ID,NAME,DESCRIPTION");
$sqlstr = MstSubJenisBelanja::select($select)->where("id_jenis_belanja", $id);
$dataTotal = $sqlstr->count();
$data = $sqlstr->orderBy("ID");
if (!empty($src)){
$data->whereRaw(" ( lower(NAME) like '%$src%' OR lower(DESCRIPTION) like '%$src%' ) ");
}
$dataFilter = $data->count();
// public function datatableSubJenisBelanja(Request $request, $id)
// {
// $post = $request->all();
// $offset = $post["start"];
// $limit = $post["length"];
// $src = isset($post["search"]["value"]) ? strtolower($post["search"]["value"]):"";
// $select = DB::raw("ID,NAME,DESCRIPTION");
// $sqlstr = MstSubJenisBelanja::select($select)->where("id_jenis_belanja", $id);
// $dataTotal = $sqlstr->count();
// $data = $sqlstr->orderBy("ID");
// if (!empty($src)){
// $data->whereRaw(" ( lower(NAME) like '%$src%' OR lower(DESCRIPTION) like '%$src%' ) ");
// }
// $dataFilter = $data->count();
return response()->json([
"recordsTotal" => $dataTotal,
"recordsFiltered" => $dataFilter,
"data"=> $data->skip($offset)->take($limit)->get()
]);
}
// return response()->json([
// "recordsTotal" => $dataTotal,
// "recordsFiltered" => $dataFilter,
// "data"=> $data->skip($offset)->take($limit)->get()
// ]);
// }
}
@@ -0,0 +1,103 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Models\MstJenisBelanja;
use App\Models\MstSubJenisBelanja;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class MstSubJenisBelanjaController extends Controller
{
public function __construct(){
$this->siteTitle = "Master Jenis Belanja";
parent::__construct();
}
public function index()
{
$data = null;
return view('admin.mst_sub_jenis_belanja.index',compact('data'))
->with('i', (request()->input('page', 1) - 1) * 10);
}
public function create(MstJenisBelanja $MstJenisBelanja)
{
$this->setSubtitle("Tambah Data Sub Jenis Belanja [<strong>".$MstJenisBelanja->name."</strong>] ");
return view('admin.mst_sub_jenis_belanja.create',compact("MstJenisBelanja"));
}
public function store(Request $request)
{
$request->validate([
'name' => 'required',
'id_jenis_belanja' => 'required'
]);
$req = $request->all();
MstSubJenisBelanja::where("name", $req["name"])->where("id_jenis_belanja", $req["id_jenis_belanja"])->delete();
$data["id_jenis_belanja"] = $req["id_jenis_belanja"];
$data["name"] = $req["name"];
$data["description"] = $req["description"];
MstSubJenisBelanja::create($data);
return redirect("/admin/MstJenisBelanja/".$data["id_jenis_belanja"])->with('success','Sub Jenis Belanja berhasil dibuat.');
}
public function show(MstSubJenisBelanja $MstSubJenisBelanja)
{
}
public function edit(MstSubJenisBelanja $MstSubJenisBelanja)
{
$this->setSubtitle("Ubah Data");
return view('admin.mst_sub_jenis_belanja.edit',compact('MstSubJenisBelanja'));
}
public function update(Request $request, MstSubJenisBelanja $MstSubJenisBelanja)
{
$request->validate([
'name' => 'required',
'id_jenis_belanja' => 'required'
]);
$req = $request->all();
$data["id_jenis_belanja"] = $req["id_jenis_belanja"];
$data["name"] = $req["name"];
$data["description"] = $req["description"];
$MstSubJenisBelanja->update($req);
return redirect("/admin/MstJenisBelanja/".$MstSubJenisBelanja->id_jenis_belanja)->with('success','Sub Jenis Belanja berhasil diubah');
}
public function destroy(MstSubJenisBelanja $MstSubJenisBelanja)
{
$MstSubJenisBelanja->delete();
return redirect("/admin/MstJenisBelanja/".$MstSubJenisBelanja->id_jenis_belanja)->with('success','Sub Jenis Belanja berhasil dihapus');
}
public function datatable(Request $request, $id)
{
$post = $request->all();
$offset = $post["start"];
$limit = $post["length"];
$src = isset($post["search"]["value"]) ? strtolower($post["search"]["value"]):"";
$select = DB::raw("ID,NAME,DESCRIPTION");
$sqlstr = MstSubJenisBelanja::select($select)->where("id_jenis_belanja", $id);
$dataTotal = $sqlstr->count();
$data = $sqlstr->orderBy("ID");
if (!empty($src)){
$data->whereRaw(" ( lower(NAME) like '%$src%' OR lower(DESCRIPTION) like '%$src%' ) ");
}
$dataFilter = $data->count();
return response()->json([
"recordsTotal" => $dataTotal,
"recordsFiltered" => $dataFilter,
"data"=> $data->skip($offset)->take($limit)->get()
]);
}
}
@@ -14,7 +14,7 @@
<h5><i class="fa fa-edit"></i> @php echo $sitesubTitle; @endphp</h5>
</div>
<div class="pull-right">
<a class="btn btn-secondary btn-sm" href="{{ route('MstJenisBelanja.index') }}"><i class="fa fa-arrow-left"></i> Back</a>
<a class="btn btn-secondary btn-sm" href="{{ route('MstJenisBelanja.index') }}"><i class="fa fa-arrow-left"></i> Kembali</a>
</div>
</div>
</div>
@@ -14,7 +14,7 @@
<h5><i class="fa fa-edit"></i> @php echo $sitesubTitle; @endphp</h5>
</div>
<div class="pull-right">
<a class="btn btn-secondary btn-sm" href="{{ route('MstJenisBelanja.index') }}"><i class="fa fa-arrow-left"></i> Back</a>
<a class="btn btn-secondary btn-sm" href="{{ route('MstJenisBelanja.index') }}"><i class="fa fa-arrow-left"></i> Kembali</a>
</div>
</div>
</div>
@@ -114,7 +114,13 @@
let checked = aData["is_lock_upload"] == 1 ? "checked":"";
$("td:eq(0)", nRow).html(index);
$("td:eq(3)", nRow).html(`<a class="btn btn-default btn-sm" href="{{ URL::to("/admin/MstJenisBelanja") }}/`+ aData["id"] +`" title="Lihat"><i class="fa fa-eye"></i></a>`);
$("td:eq(3)", nRow).html(`
<form class="form-delete" action="{{ URL::to("/admin/MstSubJenisBelanja") }}/`+ aData["id"] +`" method="POST">
@csrf
@method('DELETE')
<a class="btn btn-default btn-sm" href="{{ URL::to("/admin/MstSubJenisBelanja") }}/`+ aData["id"] +`/edit" title="Ubah"><i class="fa fa-edit"></i></a>
<button type="submit" class="btn btn-default btn-sm"title="Hapus"><i class="fa fa-trash"></i></button>
</form>`);
return nRow;
},
@@ -14,7 +14,7 @@
<h5><i class="fa fa-edit"></i> @php echo $sitesubTitle; @endphp</h5>
</div>
<div class="pull-right">
<a class="btn btn-secondary btn-sm" href="{{ URL::to('/admin/MstJenisBelanja/'.$MstJenisBelanja->id) }}"><i class="fa fa-arrow-left"></i> Back</a>
<a class="btn btn-secondary btn-sm" href="{{ URL::to('/admin/MstJenisBelanja/'.$MstJenisBelanja->id) }}"><i class="fa fa-arrow-left"></i> Kembali</a>
</div>
</div>
</div>
@@ -37,7 +37,7 @@
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<button type="submit" class="btn btn-success"><i class="fa fa-paper-plane"></i> Submit</button>
<button type="submit" class="btn btn-success"><i class="fa fa-paper-plane"></i> Simpan</button>
</div>
</div>
</form>
@@ -0,0 +1,50 @@
@php
$siteBreadcumb = [
["url"=>"/admin/mst-hak","label"=>$siteTitle],
["url"=>"/admin/mst-hak","label"=>$sitesubTitle]
];
@endphp
@extends('layouts.app')
@section('content')
<div class="row">
<div class="col-lg-12 margin-tb">
<div class="pull-left">
<h5><i class="fa fa-edit"></i> @php echo $sitesubTitle; @endphp</h5>
</div>
<div class="pull-right">
<a class="btn btn-secondary btn-sm" href="{{ URL::to('/admin/MstJenisBelanja/'.$MstSubJenisBelanja->id_jenis_belanja) }}"><i class="fa fa-arrow-left"></i> Kembali</a>
</div>
</div>
</div>
<form id="frmJenisBelanja" action="{{ URL::to('/admin/MstSubJenisBelanja/'.$MstSubJenisBelanja->id) }}" method="POST">
@csrf
@method('PUT')
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Nama</strong>
<input type="hidden" class="form-control" name="id_jenis_belanja" value="{{ $MstSubJenisBelanja->id }}" required>
<input type="text" class="form-control" name="name" value="{{ $MstSubJenisBelanja->name }}" required placeholder="Input Nama">
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Deskripsi</strong>
<textarea class="form-control" name="description" required placeholder="Input Keterangan">{{ $MstSubJenisBelanja->description }}</textarea>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<button type="submit" class="btn btn-success"><i class="fa fa-paper-plane"></i> Simpan</button>
</div>
</div>
</form>
@endsection
@section('scripts')
<script type="text/javascript">
$(document).ready(function(){
});
</script>
@endsection
@@ -0,0 +1,142 @@
@php
$siteBreadcumb = [
["url"=>"/admin/users","label"=>$siteTitle],
["url"=>"/admin/users","label"=>$sitesubTitle]
];
@endphp
@section('styles')
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-bs4/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-responsive/css/responsive.bootstrap4.min.css">
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/css/buttons.bootstrap4.min.css">
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-rowgroup/css/rowGroup.bootstrap4.min.css">
<link rel="stylesheet" href="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-fixedcolumns/css/fixedColumns.bootstrap4.min.css">
@endsection
@extends('layouts.empty')
@section('content')
<div class="card">
<div class="card-header">
<h5 class="card-title"><i class="fa fa-eye"></i> @php echo $sitesubTitle; @endphp</h5>
<div class="card-tools">
<a class="btn btn-tool" href="{{ route('MstJenisBelanja.index') }}"><i class="fa fa-arrow-left"></i> Back</a>
</div>
</div>
<div class="card-body">
<form id="frmSKPDMap" action="{{ $baseUrl."/admin/MstJenisBelanja" }}" method="POST">
@csrf
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Nama:</strong>
<input type="text" name="kode_rekening" class="form-control-plaintext" value="{{ $MstJenisBelanja->name }}" readonly>
</div>
<div class="form-group">
<strong>Deskripsi</strong>
<input type="text" class="form-control-plaintext" value="{{ $MstJenisBelanja->description }}" readonly>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="card">
<div class="card-header">
<h5 class="card-title"><i class="fa fa-th-list"></i> DATA SUB JENIS BELANJA</h5>
<div class="card-tools">
<a class="btn btn-tool btn-default" href="{{ URL::to("/admin/MstJenisBelanja/".$MstJenisBelanja->id."/create-sub") }}"><i class="fa fa-edit"></i> Tambah Data</a>
</div>
</div>
<div class="card-body">
<table id="dtTableUser" class="table table-striped jambo_table">
<tr>
<thead>
<th width="50">No</th>
<th>Nama</th>
<th>Deskripsi</th>
<th width="150px" class="text-center">Action</th>
</thead>
</tr>
</table>
</div>
</div>
@endsection
@section('scripts')
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables/jquery.dataTables.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-bs4/js/dataTables.bootstrap4.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-responsive/js/dataTables.responsive.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-responsive/js/responsive.bootstrap4.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/dataTables.buttons.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.bootstrap4.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/jszip/jszip.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/pdfmake/pdfmake.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/pdfmake/vfs_fonts.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.html5.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.print.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.colVis.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-fixedcolumns/js/dataTables.fixedColumns.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-fixedcolumns/js/fixedColumns.bootstrap4.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-rowgroup/js/dataTables.rowGroup.min.js"></script>
<script src="{{ $baseUrl }}/AdminLTE-3.2.0/plugins/datatables-rowgroup/js/rowGroup.bootstrap4.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var dtTable = $('#dtTableUser').DataTable( {
"processing": true,
"serverSide": true,
"ordering": false,
"autoWidth": true,
"ajax": {
url: "{{ $baseUrl }}/admin/MstJenisBelanja/{{ $MstJenisBelanja->id }}/datatable-sub",
type: "POST",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: function (d) {
}
},
"dom": "<\"top\" <\"row\"<\"col-md-6\"l><\"col-md-6 text-right\"f>>>rt<\"bottom\" <\"row\"<\"col-md-6\"i><\"col-md-6\"p>> ><\"clear\">",
"lengthMenu": [
[ 10, 25, 50 ],
[ "10", "25", "50" ]
],
"paging": true, // Table pagination
"columns": [
{ "data": null},
{ "data": "name", "className":"text-left" },
{ "data": "description", "className":"text-left" },
{ "data": null, "className":"text-center" },
],
"rowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull, oSettings) {
let info = dtTable.page.info();
let numStart = info.page;
let index = (numStart * dtTable.page.len()) + iDisplayIndex + 1;
let checked = aData["is_lock_upload"] == 1 ? "checked":"";
$("td:eq(0)", nRow).html(index);
$("td:eq(3)", nRow).html(`
<form class="form-delete" action="{{ URL::to("/admin/MstSubJenisBelanja") }}/`+ aData["id"] +`" method="POST">
@csrf
@method('DELETE')
<a class="btn btn-default btn-sm" href="{{ URL::to("/admin/MstJenisBelanja") }}/`+ aData["id"] +`" title="Lihat"><i class="fa fa-eye"></i></a>
<button type="submit" class="btn btn-default btn-sm"title="Hapus"><i class="fa fa-trash"></i></button>
</form>`);
return nRow;
},
"language": {
"lengthMenu": "Tampilkan _MENU_ Data per Halaman",
"zeroRecords": "Data tidak ditemukan!",
"info": "Halaman _PAGE_ dari _PAGES_ Halaman",
"infoEmpty": "Data tidak tersedia",
"infoFiltered": "(Disaring dari _MAX_ Data)",
"paginate": {
"previous": "<i class='fas fa-angle-double-left'></i>",
"next": "<i class='fas fa-angle-double-right'></i>",
},
"processing": "<div class='loading'></div>",
},
});
});
</script>
@endsection
@@ -56,9 +56,9 @@
<div class="card-body">
<table id="tableAKBReal" class="table table-striped">
<thead>
<th>Bulan</th>
<th class="text-right">AKB</th>
<th class="text-right">Realisasi</th>
<th width="30%">Bulan</th>
<th width="35%" class="text-right">AKB</th>
<th width="35%" class="text-right">Realisasi</th>
</thead>
<tbody>
<?php
@@ -73,14 +73,16 @@
$totalAKB+=floatVal($vwAKB["v_akb_".substr("00".($key+1),-2)]);
$totalBKU+=floatVal($vwAKB["v_bku_".substr("00".($key+1),-2)]);
} ?>
<tr>
<td><strong>TOTAL</strong></td>
<td class="text-right"><strong>{{ separateNumberIndo($totalAKB) }}</strong></td>
<td class="text-right"><strong>{{ separateNumberIndo($totalBKU) }}</strong></td>
</tr>
</tbody>
</table>
</div>
<div class="card-footer">
<div class="row">
<div class="col-4"><strong>TOTAL</strong></div>
<div class="col-4 text-right"><strong>{{ separateNumberIndo($totalAKB) }}</strong></div>
<div class="col-4 text-right"><strong>{{ separateNumberIndo($totalBKU) }}</strong></div>
</div>
</div>
</div>
</div>
<div class="col-6">
@@ -95,7 +97,7 @@
{{-- @endif --}}
</div>
</div>
<div class="card-body" style="height:255px; max-height:255px; overflow-y:scroll">
<div class="card-body" style="height:215px; max-height:215px; overflow-y:scroll">
<table class="table table-sm table-striped">
<thead>
<th>No</th>
@@ -114,13 +116,15 @@
<td class="text-right">{{ separateNumberIndo($spd->jml) }}</td>
</tr>
<?php $totalSPD+=floatVal($spd->jml); } ?>
<tr>
<td colspan="3"><strong>TOTAL SPD</strong></td>
<td class="text-right"><strong>{{ separateNumberIndo($totalSPD) }}</strong></td>
</tr>
</tbody>
</table>
</div>
<div class="card-footer">
<div class="row">
<div class="col-6"><strong>TOTAL SPD</strong></div>
<div class="col-6 text-right"><strong>{{ separateNumberIndo($totalSPD) }}</strong></div>
</div>
</div>
</div>
<div class="card">
<div class="card-header">
@@ -133,7 +137,7 @@
{{-- @endif --}}
</div>
</div>
<div class="card-body" style="height:255px; max-height:255px; overflow-y:scroll">
<div class="card-body" style="height:215px; max-height:215px; overflow-y:scroll">
<table class="table table-sm table-striped">
<thead>
<th>No</th>
@@ -152,13 +156,15 @@
<td class="text-right">{{ separateNumberIndo($sp2d->v_spp) }}</td>
</tr>
<?php $totalSP2D+=floatVal($sp2d->v_spp); } ?>
<tr >
<td colspan="3"><strong>TOTAL SP2D</strong></td>
<td class="text-right"><strong>{{ separateNumberIndo($totalSP2D) }}</strong></td>
</tr>
</tbody>
</table>
</div>
<div class="card-footer">
<div class="row">
<div class="col-6"><strong>TOTAL SP2D</strong></div>
<div class="col-6 text-right"><strong>{{ separateNumberIndo($totalSP2D) }}</strong></div>
</div>
</div>
</div>
</div>
</div>
+5 -3
View File
@@ -14,6 +14,7 @@ use App\Http\Controllers\Admin\MappingDbhSkpdController;
use App\Http\Controllers\Admin\RolessController;
use App\Http\Controllers\Admin\PermissionsController;
use App\Http\Controllers\Admin\MstJenisBelanjaController;
use App\Http\Controllers\Admin\MstSubJenisBelanjaController;
use App\Http\Controllers\NotifikasiController;
Route::get('/', [AuthController::class, 'showFormLogin']);
@@ -32,10 +33,11 @@ Route::group(['middleware' => 'auth'], function () {
Route::resource('MappingDbhSkpd', MappingDbhSkpdController::class);
Route::post('MstJenisBelanja/datatable', [MstJenisBelanjaController::class,'datatable']);
Route::post('MstJenisBelanja/{id}/datatable-sub', [MstJenisBelanjaController::class,'datatableSubJenisBelanja']);
Route::get('MstJenisBelanja/{MstJenisBelanja}/create-sub', [MstJenisBelanjaController::class,'create_sub']);
Route::post('MstJenisBelanja/{id}/store-sub', [MstJenisBelanjaController::class,'store_sub']);
Route::resource('MstJenisBelanja', MstJenisBelanjaController::class);
Route::get('MstJenisBelanja/{MstJenisBelanja}/create-sub', [MstSubJenisBelanjaController::class,'create']);
Route::post('MstJenisBelanja/{id}/datatable-sub', [MstSubJenisBelanjaController::class,'datatable']);
Route::post('MstJenisBelanja/{id}/store-sub', [MstSubJenisBelanjaController::class,'store']);
Route::resource('MstSubJenisBelanja', MstSubJenisBelanjaController::class);
});
Route::get('users/change-password/{userId}', [MstPenggunaController::class,'changePass'])->name("users.changepass");