This commit is contained in:
Pusdatin BPKD Jkt
2023-11-14 09:52:06 +07:00
13 changed files with 628 additions and 24 deletions
@@ -0,0 +1,154 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Models\SisaSalurDana;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Contracts\Session\Session;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\URL;
class SisaSalurDanaController extends Controller
{
public function __construct()
{
$this->siteTitle = "Sisa Salur Dana";
parent::__construct();
}
public function index()
{
$data = null;
return view('admin.sisa_salur_dana.index',compact('data'))
->with('i', (request()->input('page', 1) - 1) * 10);
}
public function create()
{
$this->setSubtitle("Tambah Data");
return view('admin.sisa_salur_dana.create');
}
public function show(SisaSalurDana $SisaSalurDana)
{
SisaSalurDana::where("id",$SisaSalurDana->id)->get();
$this->setSubtitle("Detail Jenis Belanja");
return view('admin.sisa_salur_dana.show',compact('SisaSalurDana'));
}
public function store(Request $request)
{
$request->validate([
'tahun' => 'required',
'kode_rekening' => 'required',
'jumlah' => 'required',
]);
$req = $request->all();
$this->validate($request, [
'file' => 'required|mimes:pdf,xlsx,xls,png,gif,jpg,jpeg',
]);
$data["tahun"] = $req["tahun"];
$data["kode_rekening"] = $req["kode_rekening"];
$data["jumlah"] = replaceMoney($req["jumlah"]);
$file = $request->file('file');
if ($file){
$ext = $file->getClientOriginalExtension();
$NewFileName = $data["tahun"].$data["kode_rekening"].".".$ext;
$tujuan_upload = 'uploadFiles/sisa_salur_dana';
File::isDirectory($tujuan_upload) or File::makeDirectory($tujuan_upload, 0777, true, true);
$file->move($tujuan_upload, $NewFileName);
$data["dokumen"] = $NewFileName;
}
if ($request->isMethod('post')){
$SisaSalurDana = SisaSalurDana::where("tahun",getTA())->where("kode_rekening",$req["kode_rekening"])->first();
if ($SisaSalurDana){
return redirect(URL::to("/admin/SisaSalurDana/"))->with('error','Data Sisa Salur Dana gagal diTambah! No Rekening : '.$req["kode_rekening"].' sudah ada!');
}
else{
//var_dump($data); exit;
$SisaSalurDana = SisaSalurDana::create($data);
return redirect(URL::to("/admin/SisaSalurDana/".$SisaSalurDana->id))->with('success','Data Tagihan Berhasil Ditambah');
}
}
}
public function edit(SisaSalurDana $SisaSalurDana)
{
$this->setSubtitle("Ubah Data");
return view('admin.sisa_salur_dana.edit',compact('SisaSalurDana'));
}
public function download($id)
{
$SisaSalurDana = SisaSalurDana::where("id",$id)->first();
$headers = [
'Content-Disposition' => 'attachment;filename='.$SisaSalurDana->dokumen
];
$path = config('constants.upload_path').getTA()."/".$SisaSalurDana->dokumen;
return response()->file($path, $headers);
}
public function update(Request $request, SisaSalurDana $SisaSalurDana )
{
$request->validate([
'tahun' => 'required',
'kode_rekening' => 'required',
'jumlah' => 'required',
]);
$req = $request->all();
$data["tahun"] = $req["tahun"];
$data["kode_rekening"] = $req["kode_rekening"];
$data["jumlah"] = replaceMoney($req["jumlah"]);
$file = $request->file('file');
if ($file){
$ext = $file->getClientOriginalExtension();
$NewFileName = $data["tahun"].$data["kode_rekening"].".".$ext;
$tujuan_upload = 'uploadFiles/sisa_salur_dana';
File::isDirectory($tujuan_upload) or File::makeDirectory($tujuan_upload, 0777, true, true);
$file->move($tujuan_upload, $NewFileName);
$data["dokumen"] = $NewFileName;
}
$SisaSalurDana->update($req);
return redirect()->route('SisaSalurDana.index')
->with('success','Data Sisa Salur Belanja berhasil diubah!');
}
public function destroy(SisaSalurDana $SisaSalurDana)
{
SisaSalurDana::where("id",$SisaSalurDana->id)->delete();
$SisaSalurDana->delete();
return redirect()->route('SisaSalurDana.index')
->with('success','Data Sisa Salur Belanja 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"]):"";
$select = DB::raw("ID,TAHUN,KODE_REKENING,JUMLAH");
$sqltr = SisaSalurDana::select($select);
$dataTotal = $sqltr->count();
$data = $sqltr->orderBy("ID");
if (!empty($src)){
$data->whereRaw(" ( lower(KODE_REKENING) like '%$src% OR lower(JUMLAH) like '%$src%') ");
}
$dataFilter = $data->count();
return response()->json([
"recordsTotal" => $dataTotal,
"recordsFiltered" => $dataFilter,
"data"=> $data->skip($offset)->take($limit)->get()
]);
}
}
@@ -35,7 +35,7 @@ class JadwalSalurdanaController extends Controller
$typeDana = isset($post["jenis_dana"])?strtoupper($post["jenis_dana"]):"";
$idSPS = isset($post["id_sps"])?$post["id_sps"]:"";
$sqlstr = Sps_pendapatan::queryJadwalSalurDana($ta);
if (!empty($idSPS)){
$sqlstr.=" AND x.KODE_REKENING='$idSPS'";
}
+21
View File
@@ -0,0 +1,21 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Yajra\Oci8\Eloquent\OracleEloquent as Eloquent;
class SisaSalurDana extends Eloquent
{
use HasFactory;
protected $connection = 'Samasa';
protected $table = 'SAMASA.MST_SISA_SALUR';
protected $fillable = [
"tahun",
"kode_rekening",
"jumlah",
"dokumen",
];
}
+2 -1
View File
@@ -15,7 +15,8 @@ class Sps_pendapatan extends Eloquent
public function queryJadwalSalurDana($ta)
{
$sqlstr = 'SELECT * FROM VW_JADWAL_SALUR x ';
$sqlstr = 'SELECT x.*,y.JUMLAH as SISA FROM VW_JADWAL_SALUR x
LEFT JOIN MST_SISA_SALUR y ON x.TAHUN = y.TAHUN AND x.KODE_REKENING = y.KODE_REKENING';
if (getRole()=="skpd"){
$sqlstr .= ' WHERE x.kode_rekening IN (SELECT kode_rekening FROM SAMASA.MAPPING_DBH_SKPD WHERE KODE_SKPD=\''.Auth::user()->nrk.'\') ';
@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateSisaSalurDanaTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('sisa_salur_dana', function (Blueprint $table) {
$table->id();
$table->string("tahun",50);
$table->string("kode_rekening",50);
$table->string('jumlah',50);
$table->string("dokumen",100)->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('sisa_salur_dana');
}
}
@@ -0,0 +1,122 @@
@php
$siteBreadcumb = [
["url"=>"/admin/SisaSalurDana","label"=>$siteTitle],
["url"=>"/admin/SisaSalurDana","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="{{ route('SisaSalurDana.index') }}"><i class="fa fa-arrow-left"></i> Kembali</a>
</div>
</div>
</div>
<form id="frmSisaSalurDana" action="{{ route('SisaSalurDana.store') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<label class="col-form-label label-align" for="txt_simtrad4_kotor">Tahun Anggaran</label>
<input class="form-control form-control-sm" id="txt_ta" name="tahun" value="{{ getTA() }}" required readonly>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<label class="col-form-label label-align" for="txt_simtrad4_kotor">Kode Rekening</label>
<select id="txt_id_sps" name="kode_rekening" style="width:100%" class="form-control sps_search" required></select>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Jumlah</strong>
<input id="uang" type="text" onkeypress="return hanyaAngka(event)" class="form-control number-separator-indo" value="0" name="jumlah" required placeholder="Masukkan jumlah">
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<label for="exampleFormControlFile1">Upload Dokumen</label>
<input type="file" class="form-control-file" id="dokumen" name="file" required>
</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(){
});
$(input).datetimepicker({
format: "YYYY", useCurrent: false, viewMode: "years"
});
function hanyaAngka(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
$(document).ready(function(){
// Format mata uang.
$( '.uang' ).mask('000.000.000', {reverse: true});
});
$(document).ready(function(){
let hitung_bersih = ()=> {
let bersih = replaceValue($("#txt_simtrad4_kotor").val()) - replaceValue($("#txt_simtrad4_potongan").val());
$("#txt_simtrad4_bersih").val(separateNumberIndo(bersih));
let Totalbersih = replaceValue($("#txt_simtrad4_kotor").val()) - replaceValue($("#txt_simtrad4_potongan").val()) - replaceValue($("#txt_retur").val());
$("#txt_bersih").val(separateNumberIndo(Totalbersih));
}
$("#txt_simtrad4_kotor, #txt_simtrad4_potongan, #txt_retur").on("keyup",function(){
hitung_bersih();
})
$('#txt_id_sps').select2({
placeholder: 'Pilih Kode Rekening',
ajax: {
url: '{{ $baseUrl }}/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.idx
}
})
};
},
cache: true
}
});
$('#txt_id_sps').on('select2:select', function (e) {
var data = e.params.data;
$("#txt_rek_sps").val(data.text);
showRinciDBH(data.id);
})
});
</script>
@endsection
@@ -0,0 +1,61 @@
@php
$siteBreadcumb = [
["url"=>"/admin/SisaSalurDana","label"=>$siteTitle],
["url"=>"/admin/SisaSalurDana","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="{{ route('SisaSalurDana.index') }}"><i class="fa fa-arrow-left"></i> Kembali</a>
</div>
</div>
</div>
<form id="frmJenisBelanja" action="{{ URL::to('/admin/SisaSalurDana/'.$SisaSalurDana->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>Tahun</strong>
<input type="text" class="form-control" name="tahun" placeholder="Input Kode" value="{{ $SisaSalurDana->tahun }}">
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<label class="col-form-label label-align" for="txt_simtrad4_kotor">Kode Rekening</label>
<select id="txt_id_sps" name="kode_rekening" style="width:100%" class="form-control sps_search" required></select>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Jumlah</strong>
<input type="text" class="form-control" name="jumlah" required placeholder="Input Jumlah" value="{{ $SisaSalurDana->jumlah }}">
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<label for="exampleFormControlFile1">Upload Dokumen</label>
<input type="file" class="form-control-file" id="dokumen" name="file" required>
</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,123 @@
@php
$siteBreadcumb = [
["url"=>"/admin/SisaSalurDana","label"=>$siteTitle],
["url"=>"/admin/SisaSalurDana","label"=>$sitesubTitle]
];
@endphp
@extends('layouts.empty')
@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
@section('content')
<div class="card card-secondary">
<div class="card-header">
<h5 class="card-title"><i class="fa fa-th-list"></i> @php echo $sitesubTitle; @endphp</h5>
<div class="card-tools">
<a class="btn btn-tool btn-dark" href="{{ URL::to("/admin/SisaSalurDana/create") }}"><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>Tahun</th>
<th>Kode Rekening</th>
<th>Jumlah</th>
<th width="150px" class="text-center">Action</th>
</thead>
</tr>
</table>
</div>
</div>
@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 src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/5.0.7-beta.23/jquery.inputmask.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/SisaSalurDana/datatable",
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": "tahun", "className":"text-center" },
{ "data": "kode_rekening", "className":"text-left" },
{ "data": "jumlah", "className":"text-left", "defaultContent":"0" },
{ "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(separateNumberIndo(aData["jumlah"]));
$("td:eq(4)", nRow).html(`
<form class="form-delete" action="{{ URL::to("/admin/SisaSalurDana") }}/`+ aData["id"] +`" method="POST">
@csrf
@method('DELETE')
<a class="btn btn-info btn-sm" href="{{ URL::to("/admin/SisaSalurDana") }}/`+ aData["id"] +`" title="Lihat"><i class="fa fa-eye"></i></a>
<a class="btn btn-warning btn-sm" href="{{ URL::to("/admin/SisaSalurDana") }}/`+ aData["id"] +`/edit" title="Ubah"><i class="fa fa-edit"></i></a>
<button type="submit" class="btn btn-danger 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 ( _TOTAL_ Data )",
"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
@stop
@@ -0,0 +1,72 @@
@php
$siteBreadcumb = [
["url"=>"/admin/SisaSalurDana","label"=>$siteTitle],
["url"=>"/admin/SisaSalurDana","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 card-secondary">
<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('SisaSalurDana.index') }}"><i class="fa fa-arrow-left"></i> Back</a>
</div>
</div>
<div class="card-body">
<form id="frmSisaSalurDana" action="{{ $baseUrl."/admin/SisaSalurDana" }}" method="POST">
@csrf
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Tahun:</strong>
<input type="text" name="tahun" class="form-control-plaintext" value="{{ $SisaSalurDana->tahun }}" readonly>
</div>
<div class="form-group">
<strong>Kode Rekening:</strong>
<input type="text" name="kode_rekening" class="form-control-plaintext" value="{{ $SisaSalurDana->kode_rekening }}" readonly>
</div>
<div class="form-group">
<strong>Jumlah:</strong>
<input type="text" name="jumlah" class="form-control-plaintext" value="{{ $SisaSalurDana->jumlah }}" readonly>
</div>
<div class="form-group">
<strong>Dokumen Salur Dana</strong><br>
@if ($SisaSalurDana->dokumen != null)
<a id="file" href="{{ URL::to("/admin/SisaSalurDana/download/$SisaSalurDana->id") }}" data-file="{{ $SisaSalurDana->dokumen }}"><i class="fa fa-download"></i> Download File</a>
@endif
</div>
</div>
</div>
</form>
</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>
@endsection
@@ -1,11 +0,0 @@
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
@foreach ($paths as $key=>$itemBreadcumb)
@if($key==count($paths)-1)
<li class="breadcrumb-item active" aria-current="page">{{ $itemBreadcumb["label"] }}</li>
@else
<li class="breadcrumb-item"><a href="{{ $itemBreadcumb["url"] }}">{{ $itemBreadcumb["label"] }}</a></li>
@endif
@endforeach
</ol>
</nav>
@@ -83,6 +83,8 @@
<tr class="headings">
<th rowspan=2>No</th>
<th rowspan=2>Nama Rekening</th>
<th colspan=2 class="text-right">Jumlah</th>
<th rowspan=2 class="text-right">Sisa</th>
<th colspan=2 class="text-right">Jan</th>
<th colspan=2 class="text-right">Feb</th>
<th colspan=2 class="text-right">Mar</th>
@@ -95,7 +97,6 @@
<th colspan=2 class="text-right">Okt</th>
<th colspan=2 class="text-right">Nov</th>
<th colspan=2 class="text-right">Des</th>
<th colspan=2 class="text-right">Jumlah</th>
</tr>
<tr>
<td>Jadwal</td>
@@ -446,6 +447,9 @@
"columns": [
{ "data": null},
{ "data": "kode_rekening", "width": "400px" },
{ "data": null, "className":"text-right " },
{ "data": null, "className":"text-right text-success" },
{ "data": null, "className":"text-right text-primary" },
{ "data": "spsbulan1", "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
{ "data": "spsbulan2", "className":"text-right" },
@@ -470,9 +474,6 @@
{ "data": null, "className":"text-right text-success" },
{ "data": "spsbulan12", "className":"text-right" },
{ "data": null, "className":"text-right text-success" },
{ "data": null, "className":"text-right " },
{ "data": null, "className":"text-right text-success" },
//{ "data": null },
],
"rowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull, oSettings) {
let info = dtTableSalur.page.info();
@@ -485,7 +486,7 @@
let total = 0;
let totalReal = 0;
let Jadwalcol=0;
let Jadwalcol=3;
$("td:eq(0)", nRow).html(index);
$("td:eq(1)", nRow).html(aData["kode_rekening"] + " | " + aData["nama_rekening"]);
$.each(sps, function(i,x){
@@ -495,8 +496,9 @@
total+=parseFloat(sps[i]);
totalReal+=parseFloat(real[i]);
})
$("td:eq(26)", nRow).html(separateNumberIndo(total));
$("td:eq(27)", nRow).html(separateNumberIndo(totalReal));
$("td:eq(2)", nRow).html(separateNumberIndo(total));
$("td:eq(3)", nRow).html(separateNumberIndo(totalReal));
$("td:eq(4)", nRow).html(separateNumberIndo(aData["sisa"]));
return nRow;
},
@@ -521,6 +523,7 @@
let sumReal = [];
let total = 0;
let totalReal = 0;
let totalSisa = 0;
for(let x=0;x<12;x++){
xx = x+1;
sum[x] = rows.data().pluck("spsbulan"+xx).reduce( function (a, b) {
@@ -531,13 +534,21 @@
sumReal[x] = rows.data().pluck("real"+xx).reduce( function (a, b) {
return a + b * 1;
}, 0);
totalReal += sumReal[x];
totalReal += sumReal[x];
}
totalSisa = rows.data().pluck("sisa").reduce( function (a, b) {
return a + b * 1;
}, 0);
let textmuted = index == 1 ? "text-muted":"";
let labelGroup = index == 1 ?"JUMLAH | " + group : "TOTAL";
return $("<tr/>")
.append( "<td></td>")
.append( "<td class=\'text-left " + textmuted +"\'><strong>"+labelGroup+"</strong></td>")
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(total) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(totalReal) +"</strong></td>" )
.append( "<td class='text-primary text-right'><strong>"+ separateNumberIndo(totalSisa) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[0]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[0]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[1]) +"</strong></td>" )
@@ -562,8 +573,6 @@
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[10]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(sum[11]) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(sumReal[11]) +"</strong></td>" )
.append( "<td class=\'text-right " + textmuted +"\'><strong>"+ separateNumberIndo(total) +"</strong></td>" )
.append( "<td class='text-success text-right'><strong>"+ separateNumberIndo(totalReal) +"</strong></td>" )
},
startRender: function ( rows, group, index ) {
},
@@ -624,6 +633,10 @@
cache: true
}
});
$('#dtTableJadwalPendapatan').on( 'draw.dt', function () {
$($.fn.dataTable.tables(true)).DataTable().columns.adjust();
});
});
</script>
@endsection
+1
View File
@@ -105,6 +105,7 @@
<li class="nav-item"><a href="{{ $baseUrl }}/admin/MappingDbhSkpd" class="nav-link"><i class="nav-icon fas fa-th-large nav-icon"></i><p>Mapping Rek DBH/DAK</p></a></li>
<li class="nav-item"><a href="{{ $baseUrl }}/admin/MstJenisBelanja" class="nav-link"><i class="nav-icon fas fa-th-large nav-icon"></i><p>Jenis Belanja</p></a></li>
<li class="nav-item"><a href="{{ $baseUrl }}/admin/MstJenisDana" class="nav-link"><i class="nav-icon fas fa-th-large nav-icon"></i><p>Jenis Dana</p></a></li>
<li class="nav-item"><a href="{{ $baseUrl }}/admin/SisaSalurDana" class="nav-link"><i class="nav-icon fas fa-th-large nav-icon"></i><p>Sisa Salur Dana</p></a></li>
<li class="nav-item"><a href="{{ $baseUrl }}/admin/MstSatuan" class="nav-link"><i class="nav-icon fas fa-th-large nav-icon"></i><p>Satuan</p></a></li>
<li class="nav-item"><a href="{{ $baseUrl }}/admin/Pengaturan" class="nav-link"><i class="nav-icon fas fa-cogs nav-icon"></i><p>Pengaturan</p></a></li>
@endif
+13 -1
View File
@@ -16,10 +16,12 @@ use App\Http\Controllers\Admin\RolessController;
use App\Http\Controllers\Admin\PermissionsController;
use App\Http\Controllers\Admin\MstJenisDanaController;
use App\Http\Controllers\Admin\MstDauRinciController;
use App\Http\Controllers\Admin\SisaSalurDanaController;
use App\Http\Controllers\Admin\MstJenisBelanjaController;
use App\Http\Controllers\Admin\MstSubJenisBelanjaController;
use App\Http\Controllers\Admin\MstSatuanController;
use App\Http\Controllers\Admin\PengaturanController;
use App\Http\Controllers\Admin\SisaSalurDana;
use App\Http\Controllers\NotifikasiController;
Route::get('/', [AuthController::class, 'showFormLogin']);
@@ -28,7 +30,7 @@ Route::post('login', [AuthController::class, 'login']);
Route::get('register', [AuthController::class, 'showFormRegister'])->name('register');
Route::post('register', [AuthController::class, 'register']);
Route::group(['middleware' => 'auth'], function () {
Route::group(['prefix' => 'admin', 'middleware'=>'role:admin|superadmin'], function () {
Route::group(['prefix' => 'admin', 'middleware'=>'role:admin|superadmin'], function () {
Route::post('users/datatable', [MstPenggunaController::class,'datatable']);
Route::get('users/{userId}/lock-upload/{reset}', [MstPenggunaController::class, 'lockUploadData']);
Route::get('users/lock-upload-all/{userId}/{reset}', [MstPenggunaController::class, 'lockUploadData']);
@@ -50,11 +52,21 @@ 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('Pengaturan', [PengaturanController::class,'index']);
Route::post('Pengaturan/adjust-anggaran', [PengaturanController::class,'rekonAnggaran']);
Route::post('Pengaturan/adjust-akb-pendapatan', [PengaturanController::class,'adjustAKBPendapatan']);
Route::get('SisaSalurDana', [SisaSalurDanaController::class,'index']);
Route::resource('SisaSalurDana', SisaSalurDanaController::class);
Route::post('SisaSalurDana/datatable', [SisaSalurDanaController::class,'datatable']);
Route::resource('SisaSalurDana', SisaSalurDanaController::class);
Route::get('SisaSalurDana/{SisaSalurDana}/create-sub', [SisaSalurDanaController::class,'create']);
Route::post('SisaSalurDana/{id}/datatable-sub', [SisaSalurDanaController::class,'datatable']);
Route::post('SisaSalurDana/{id}', [SisaSalurDanaController::class,'store']);
Route::get('SisaSalurDana/download/{id}', [SisaSalurDanaController::class,'download']);
});
Route::get('users/change-password/{userId}', [MstPenggunaController::class,'changePass'])->name("users.changepass");