Mapping Rekening DBH dan SKPD

This commit is contained in:
Pusdatin BPKD Jkt
2022-08-15 12:04:38 +07:00
parent b44e429aaf
commit a2290c3c7e
18 changed files with 163 additions and 89 deletions
@@ -33,31 +33,34 @@ class MappingDbhSkpdController extends Controller
public function store(Request $request)
{
$request->validate([
'name' => 'required',
'nrk' => 'required',
'password' => 'required',
'opt_role' => 'required'
'id_sps' => 'required',
'tahun' => 'required',
'kode_rekening' => 'required',
'txt_id_skpd'=>'required'
]);
$requestAll = $request->all();
$requestAll["password"] = \Hash::make($requestAll["password"]);
$requestAll["role_name"] = $requestAll["opt_role"];
$user=User::create($requestAll);
$req = $request->all();
MappingDbhSkpd::where("id_sps", $req["id_sps"])->delete();
foreach($req["txt_id_skpd"] as $row_req)
{
$data["id_sps"] = $req["id_sps"];
$data["tahun"] = $req["tahun"];
$data["kode_rekening"] = $req["kode_rekening"];
$data["kode_skpd"] = $row_req;
$user->roles()->detach();
//$user->removeRole($requestAll["opt_role"]);
$user->assignRole($requestAll["opt_role"]);
MappingDbhSkpd::create($data);
}
return redirect()->route('users.index')
->with('success','Mapping berhasil dibuat.');
return redirect("/admin/MappingDbhSkpd")->with('success','Mapping Rekening DBH/DAK ke SKPD berhasil dibuat.');
}
public function show($MappingDbhSkpd)
{
$sps = sps_pendapatan::where("id",$MappingDbhSkpd)->firstorNew();
// var_dump($sps); exit;
$mappingSKPD = MappingDbhSkpd::where("id_sps",$MappingDbhSkpd)->get();
$this->setSubtitle("Detail Data");
$mappingSKPD = DB::select(DB::raw("SELECT x.*,y.N_OPD FROM SAMASA.MAPPING_DBH_SKPD x
LEFT JOIN NEWSIPKD.TROPD y ON x.KODE_SKPD = y.C_OPD WHERE x.id_sps = $MappingDbhSkpd"));
// MappingDbhSkpd::where("id_sps",$MappingDbhSkpd)->get();
$this->setSubtitle("Detail Data Mapping");
return view('admin.mapping_dbh_skpd.show',compact('mappingSKPD','sps'));
}
@@ -135,7 +135,7 @@ class MstPenggunaController extends Controller
$dataTotal = $sqlstr->count();
$data = $sqlstr->orderBy("role_name");
if (!empty($src)){
$data->whereRaw(" ( lower(name) like '%$src%' OR lower(role_name) like '%$src%' ) ");
$data->whereRaw(" ( lower(name) like '%$src%' OR lower(nrk) like '%$src%' ) ");
}
$dataFilter = $data->count();
+11 -2
View File
@@ -13,6 +13,7 @@ use App\Models\Siesetpembayaran;
use App\Models\Sp2d;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
class ItemSearchController extends Controller
{
@@ -102,9 +103,15 @@ class ItemSearchController extends Controller
$search = strtolower($request->q);
$ta = $request->ta;
$jenis = $request->jenis;
if (getRole()=="skpd"){
$sps = DB::select(DB::raw("SELECT x.ID_SPS as ID,x.KODE_REKENING||' | '||z.NAMA_REKENING as name
FROM SAMASA.MAPPING_DBH_SKPD x
LEFT JOIN PROKSI.SPS_PENDAPATAN z ON x.ID_SPS = z.ID
WHERE x.tahun = $ta AND x.kode_skpd='".Auth::user()->nrk."'"));
}else{
$select = DB::raw("ID,KODE_REKENING||' | '||NAMA_REKENING as name");
$sps = Sps_pendapatan::select($select)
->whereRaw("TAHUN=$ta AND SKPD_ID = 980");
$sps = Sps_pendapatan::select($select)->whereRaw("TAHUN=$ta AND SKPD_ID = 980");
if (!empty($search)){
$sps->whereRaw(" (LOWER(KODE_REKENING) LIKE '%$search%' OR LOWER(NAMA_REKENING) LIKE '%$search%') ");
@@ -118,6 +125,8 @@ class ItemSearchController extends Controller
$sps->orderby("KODE_REKENING");
$sps = $sps->get();
}
return response()->json($sps);
}
@@ -26,9 +26,9 @@ class JadwalSalurdanaController extends Controller
protected function queryJadwalSalurDana($ta)
{
$sqlstr = 'SELECT kode_rekening,nama_rekening,spsbulan1,spsbulan2,spsbulan3,spsbulan4,
$sqlstr = 'SELECT x.kode_rekening,x.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,
SUBSTR(x.KODE_REKENING,1,12) AS kodegrup,SUBSTR(x.KODE_REKENING,1,9) AS groupall,
NVL("1",0) AS "REAL1",NVL("2",0) AS "REAL2",NVL("3",0) AS "REAL3",
NVL("4",0) AS "REAL4",NVL("5",0) AS "REAL5",NVL("6",0) AS "REAL6",
NVL("7",0) AS "REAL7",NVL("8",0) AS "REAL8",NVL("9",0) AS "REAL9",
@@ -46,14 +46,16 @@ class JadwalSalurdanaController extends Controller
SUM(RKUD_JUMLAH)
FOR BULAN IN(1,2,3,4,5,6,7,8,9,10,11,12)
)
)y ON x.ID = y.ID_SPS
LEFT JOIN
NEWSIPKD.TROPD z ON x.SKPD_ID = z.I_ID
WHERE x.TAHUN = '.$ta.' AND x.SKPD_ID=980 AND SUBSTR(x.KODE_REKENING,1,3)=\'4.2\'';
)y ON x.ID = y.ID_SPS ';
// if (getRole()=="skpd"){
// $sqlstr.=" AND z.C_OPD='".Auth::user()->nrk."'";
// }
if (getRole()=="skpd"){
$sqlstr .= ' LEFT JOIN SAMASA.MAPPING_DBH_SKPD z ON x.id=z.id_sps WHERE z.KODE_SKPD=\''.Auth::user()->nrk.'\'';
}else{
$sqlstr .= " WHERE 1=1 ";
}
$sqlstr .= ' AND x.TAHUN = '.$ta.' AND x.SKPD_ID=980 AND SUBSTR(x.KODE_REKENING,1,3)=\'4.2\'';
return $sqlstr;
}
@@ -78,12 +80,12 @@ class JadwalSalurdanaController extends Controller
if (!empty($typeDana)){
if ($typeDana == "cht"){
$sqlstr.=" AND kode_rekening='4.2.01.01.01.0004'";
$sqlstr.=" AND x.kode_rekening='4.2.01.01.01.0004'";
}else{
$sqlstr.=" AND SUBSTR(kode_rekening,1,12) IN ('4.2.01.01.03','4.2.01.01.04')";
$sqlstr.=" AND SUBSTR(x.kode_rekening,1,12) IN ('4.2.01.01.03','4.2.01.01.04')";
}
}
$data = DB::select(DB::raw($sqlstr.'ORDER BY kode_rekening OFFSET '.$offset.' ROWS FETCH NEXT '.$limit.' ROWS ONLY'));
$data = DB::select(DB::raw($sqlstr.'ORDER BY x.kode_rekening OFFSET '.$offset.' ROWS FETCH NEXT '.$limit.' ROWS ONLY'));
$dataFilter = count(DB::select(DB::raw($sqlstr)));
return response()->json([
@@ -255,6 +255,7 @@ class RealisasiBelanjaController extends Controller
"jumlah_anggaran"=>$datas[$i]["jumlah_anggaran"],
"volume_satuan"=>$datas[$i]["volume_satuan"],
"unit_satuan"=>$datas[$i]["unit_satuan"],
"jml_rencana_kontrak"=>$datas[$i]["jml_rencana_kontrak"],
"jenis_dana"=>$datas[$i]["jenis_dana"],
"sub_jenis_dana"=>$datas[$i]["sub_jenis_dana"],
"created_by"=>$datas[$i]["userid"]
+8 -2
View File
@@ -26,7 +26,7 @@ class RealisasiBelanjaImport implements ToModel, WithStartRow
public function model(array $row)
{
return new TempRealisasiBelanja([
$data = [
"tahun_anggaran"=>$this->ta,
"jenis_belanja"=>$row[0],
"sub_jenis_belanja"=>$row[1],
@@ -46,6 +46,12 @@ class RealisasiBelanjaImport implements ToModel, WithStartRow
"jenis_dana"=>$this->jenisDana,
"sub_jenis_dana"=>$this->subjenisDana,
"userid"=>Auth::user()->id
]);
];
if ($this->subjenisDana == "Fisik"){
$data["jml_rencana_kontrak"] = $row[15];
}
return new TempRealisasiBelanja($data);
}
}
+1
View File
@@ -35,6 +35,7 @@ class BelanjaRealisasi extends Eloquent
"volume_satuan_realisasi",
"unit_satuan_realisasi",
"no_sp2d",
"jml_rencana_kontrak",
"realisasi_by",
"created_by",
"jenis_dana",
+6
View File
@@ -11,4 +11,10 @@ class MappingDbhSkpd extends Eloquent
use HasFactory;
protected $connection = 'Samasa';
protected $table = 'SAMASA.mapping_dbh_skpd';
protected $fillable = [
"id_sps",
"tahun",
"kode_rekening",
"kode_skpd"
];
}
+1
View File
@@ -30,6 +30,7 @@ class TempRealisasiBelanja extends Eloquent
"jumlah_anggaran",
"volume_satuan",
"unit_satuan",
"jml_rencana_kontrak",
"jenis_dana",
"sub_jenis_dana",
"userid"
@@ -33,6 +33,7 @@ class CreateTempRealisasiBelanjaTable extends Migration
$table->decimal('jumlah_anggaran', 19, 2);
$table->integer('volume_satuan')->nullable();
$table->string('unit_satuan',30)->nullable();
$table->smallInteger('jml_rencana_kontrak')->default(0);
$table->enum('jenis_dana',["DBH","DAK"]);
$table->enum('sub_jenis_dana',["All","CHT","Fisik","Non-Fisik"]);
$table->uuid('userid');
@@ -37,6 +37,7 @@ class CreateBelanjaRealisasiTable extends Migration
$table->integer('volume_satuan_realisasi')->nullable();
$table->string('unit_satuan_realisasi',30)->nullable();
$table->string("no_sp2d",30)->nullable();
$table->smallInteger('jml_rencana_kontrak')->default(0);
$table->string("jenis_dana",50);
$table->string("sub_jenis_dana",50);
$table->uuid('realisasi_by')->nullable();
+10
View File
@@ -337,3 +337,13 @@ hr{
width: fill-available;
}
*/
.select2-container--default .select2-selection--multiple .select2-selection__choice{
background: #dfdfdf;
border-color:#dfdfdf;
color:#333;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
color:#333;
}
@@ -107,7 +107,7 @@
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/MappingDbhSkpd") }}/`+ aData["id"] +`" title="Lihat"><i class="fa fa-bullseye"></i></a>`);
$("td:eq(3)", nRow).html(`<a class="btn btn-default btn-sm" href="{{ URL::to("/admin/MappingDbhSkpd") }}/`+ aData["id"] +`" title="Lihat"><i class="fa fa-eye"></i></a>`);
return nRow;
},
@@ -5,31 +5,29 @@
];
@endphp
@extends('layouts.app')
@extends('layouts.empty')
@section('content')
<div class="row">
<div class="col-lg-12 margin-tb">
<div class="pull-left">
<h5><i class="fa fa-bullseye"></i> @php echo $sitesubTitle; @endphp</h5>
</div>
<div class="pull-right">
<a class="btn btn-sm btn-secondary" href="{{ route('MappingDbhSkpd.index') }}"><i class="fa fa-arrow-left"></i> Back</a>
<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('MappingDbhSkpd.index') }}"><i class="fa fa-arrow-left"></i> Back</a>
</div>
</div>
</div>
<form id="frmSKPDMap" action="{{ $baseUrl."/admin/MappingDbhSkpd/".$sps->id }}" method="POST">
<div class="card-body">
<form id="frmSKPDMap" action="{{ $baseUrl."/admin/MappingDbhSkpd" }}" method="POST">
@csrf
<div class="row mt-4">
<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-plaintext" value="{{ $sps->tahun }}" readonly>
<input type="hidden" name="id_sps" value="{{ $sps->id }}">
<input type="text" name="tahun" class="form-control-plaintext" value="{{ $sps->tahun }}" readonly>
</div>
<div class="form-group">
<strong>Kode Rekening:</strong>
<input type="text" class="form-control-plaintext" value="{{ $sps->kode_rekening }}" readonly>
<input type="text" name="kode_rekening" class="form-control-plaintext" value="{{ $sps->kode_rekening }}" readonly>
</div>
<div class="form-group">
<strong>Nama Rekening</strong>
@@ -39,7 +37,7 @@
<div class="col-12">
<div class="form-group">
<label for="txt_id_skpd">SKPD</label>
<select id="txt_id_skpd" name="txt_id_skpd" class="form-control" required multiple></select>
<select id="txt_id_skpd" name="txt_id_skpd[]" class="form-control" required multiple></select>
</div>
</div>
<div class="col-12">
@@ -47,10 +45,13 @@
</div>
</div>
</form>
</div>
</div>
@endsection
@section('scripts')
<script type="text/javascript">
$(document).ready(function(){
$('#txt_id_skpd').select2({
placeholder: 'Pilih SKPD',
allowClear: true,
@@ -71,6 +72,29 @@
cache: true
}
});
let $newOption = "";
<?php foreach($mappingSKPD as $rowMapping){ ?>
$newOption = $("<option selected='selected'></option>").val({{ $rowMapping->kode_skpd }}).text("{{ $rowMapping->kode_skpd." | ".$rowMapping->n_opd }}")
$("#txt_id_skpd").append($newOption).trigger('change');
<?php } ?>
$(document).on("submit","#frmSKPDMap",function (e){
e.preventDefault();
Swal.fire({
title: 'Data akan disimpan?',
showDenyButton: true,
showCancelButton: false,
confirmButtonText: 'Ya',
denyButtonText: "Tidak",
icon: "warning",
}).then((result) => {
if (result.isConfirmed) {
e.currentTarget.submit();
}
})
});
});
</script>
@endsection
@@ -117,7 +117,7 @@
$("td:eq(4)", nRow).html("<input type='checkbox' class='chk-upload' value='"+aData["id"]+"' "+checked+">");
$("td:eq(5)", nRow).html(
`<form class="form-delete" action="{{ URL::to("/admin/users") }}/`+ aData["id"] +`" method="POST">
<a class="btn btn-default btn-sm" href="{{ URL::to("/admin/users") }}/`+ aData["id"] +`" title="Lihat"><i class="fa fa-bullseye"></i></a>
<a class="btn btn-default btn-sm" href="{{ URL::to("/admin/users") }}/`+ aData["id"] +`" title="Lihat"><i class="fa fa-eye"></i></a>
<a class="btn btn-default btn-sm" href="{{ URL::to("/admin/users") }}/`+ aData["id"] +`/update" title="Ubah"><i class="fa fa-edit"></i></a>
@csrf
@method("DELETE")
@@ -49,6 +49,10 @@
<label class="col-form-label label-align" for="sk">Unit</label>
<input type="text" class="form-control" name="unit">
</div>
<div class="form-group">
<label class="col-form-label label-align" for="sk">Jumlah Rencana Kontrak</label>
<input type="text" class="form-control" name="jml_rencana_kontrak">
</div>
{{-- <button id="btn_save_realisasi_pendapatan" type="submit" class="btn btn-sm btn-success"><i class="fa fa-save"></i> Simpan</button> --}}
@@ -254,7 +254,8 @@
$("input[name=unit]").attr("readonly", true);
$("input[name=vol_realisasi]").val("{{ isset($BelanjaRealisasi->volume_satuan_realisasi)?$BelanjaRealisasi->volume_satuan_realisasi:0 }}");
$("input[name=unit_realisasi]").val("{{ isset($BelanjaRealisasi->unit_satuan_realisasi)?$BelanjaRealisasi->unit_satuan_realisasi:0 }}");
$("input[name=jml_rencana_kontrak]").val("{{ isset($BelanjaRealisasi->jml_rencana_kontrak)?$BelanjaRealisasi->jml_rencana_kontrak:0 }}");
$("input[name=jml_rencana_kontrak]").attr("readonly", true);
});
</script>
@endsection
@@ -57,7 +57,8 @@
<input class="form-control" type="file" name="file" required>
</div>
<div class="form-group"><button type="submit" class="btn btn-sm btn-success"><i class="fas fa-file-excel"></i> Upload File</button></div>
<p><strong>Format:xlsx | Columns:</strong>
<p>
<strong>Format:xlsx | Columns:</strong>
"jenis_belanja",
"sub_jenis_belanja",
"kode_program",
@@ -72,7 +73,9 @@
"nama_rsk",
"jumlah_anggaran",
"volume_satuan",
"unit_satuan"</p>
"unit_satuan",
"jml_rencana_kontrak"
</p>
</form>
</div>
</div>
@@ -95,7 +98,7 @@
"Nama Program", "Kode SKPD", "Nama SKPD", "Kode Kegiatan", "Nama Kegiatan", "Kode Sub Kegiatan",
"Nama Sub Kegiatan", "Kode RSK", "Nama RSK",
//"Kode Rek", "Nama Rek",
"Anggaran", "Volume", "Unit","Jenis Dana","Sub Jenis Dana");
"Anggaran", "Volume", "Unit","Jml Rencana Kontrak","Jenis Dana","Sub Jenis Dana");
foreach($arrCol as $rowCol){
echo "<th>$rowCol</th>";
}
@@ -188,6 +191,7 @@
{ "data": "jumlah_anggaran", "className":"text-right", "defaultContent":"0" },
{ "data": "volume_satuan", "className":"text-center", "defaultContent":"0" },
{ "data": "unit_satuan", "className":"text-center", "defaultContent":"-" },
{ "data": "jml_rencana_kontrak", "className":"text-center", "defaultContent":"-" },
{ "data": "jenis_dana", "className":"text-center", "defaultContent":"-" },
{ "data": "sub_jenis_dana", "className":"text-center", "defaultContent":"-" },
],