Upload Data temp realisasi belanja dbh
This commit is contained in:
@@ -8,6 +8,8 @@ use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Maatwebsite\Excel\Facades\Excel;
|
||||
use App\Models\DbhPendapatanRealisasi;
|
||||
use App\Models\TempRealisasiBelanja;
|
||||
use App\Imports\RealisasiBelanjaImport;
|
||||
|
||||
class RealisasiBelanjaController extends Controller
|
||||
{
|
||||
@@ -158,7 +160,7 @@ class RealisasiBelanjaController extends Controller
|
||||
$req = $request->all();
|
||||
try{
|
||||
$this->validate($request, [
|
||||
'file' => 'required',
|
||||
'file' => 'required|mimes:xls,xlsx',
|
||||
]);
|
||||
|
||||
$file = $request->file('file');
|
||||
@@ -169,10 +171,47 @@ class RealisasiBelanjaController extends Controller
|
||||
// echo 'File Mime Type: '.$file->getMimeType();
|
||||
$tujuan_upload = 'uploadFiles';
|
||||
$file->move($tujuan_upload,$file->getClientOriginalName());
|
||||
// var_dump($file->getRealPath()); exit;
|
||||
DB::beginTransaction();
|
||||
TempRealisasiBelanja::truncate();
|
||||
Excel::import(new RealisasiBelanjaImport, $tujuan_upload."/".$file->getClientOriginalName());
|
||||
DB::commit();
|
||||
return redirect('upload-realisasi-belanja')->with('success','Data Realisasi belanja berhasil diupload.');
|
||||
}catch(\Exception $e){
|
||||
throw new \Exception($e->getMessage());
|
||||
DB::rollBack();
|
||||
return redirect('upload-realisasi-belanja')->with('error',$e->getMessage());
|
||||
}
|
||||
}
|
||||
return view('realisasi_belanja.upload');
|
||||
}
|
||||
|
||||
public function uploadDatatable(Request $request)
|
||||
{
|
||||
$post = $request->all();
|
||||
$offset = $post["start"];
|
||||
$limit = $post["length"];
|
||||
$src = isset($post["search"])?$post["search"]["value"]:"";
|
||||
|
||||
$dataFilter=0;
|
||||
$data = TempRealisasiBelanja::orderBy("id","ASC");
|
||||
if (!empty($src)){
|
||||
$data->whereRaw("(LOWER(jenis_belanja) LIKE '%".strtolower($src)."%'
|
||||
OR LOWER(sub_jenis_belanja) LIKE '%".strtolower($src)."%'
|
||||
OR LOWER(nama_program) LIKE '%".strtolower($src)."%'
|
||||
OR LOWER(nama_skpd) LIKE '%".strtolower($src)."%'
|
||||
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)."%')");
|
||||
}
|
||||
$dataFilter = $data->count();
|
||||
$dataTotal = TempRealisasiBelanja::count();
|
||||
|
||||
return response()->json([
|
||||
"recordsTotal" => $dataTotal,
|
||||
"recordsFiltered" => $dataFilter,
|
||||
"data"=> $data->skip($offset)->take($limit)->get()
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
namespace App\Imports;
|
||||
use App\Models\TempRealisasiBelanja;
|
||||
use Maatwebsite\Excel\Concerns\ToModel;
|
||||
use Maatwebsite\Excel\Concerns\Importable;
|
||||
use Maatwebsite\Excel\Concerns\WithStartRow;
|
||||
|
||||
class RealisasiBelanjaImport implements ToModel, WithStartRow
|
||||
{
|
||||
use Importable;
|
||||
|
||||
public function startRow(): int
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
public function model(array $row)
|
||||
{
|
||||
return new TempRealisasiBelanja([
|
||||
"tahun_anggaran"=>$row[0],
|
||||
"jenis_belanja"=>$row[1],
|
||||
"sub_jenis_belanja"=>$row[2],
|
||||
"kode_program"=>$row[3],
|
||||
"nama_program"=>$row[4],
|
||||
"kode_skpd"=>$row[5],
|
||||
"nama_skpd"=>$row[6],
|
||||
"kode_kegiatan"=>$row[7],
|
||||
"nama_kegiatan"=>$row[8],
|
||||
"kode_sub_kegiatan"=>$row[9],
|
||||
"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]
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@ class DbhPendapatanRealisasi extends Eloquent
|
||||
{
|
||||
use HasFactory;
|
||||
use Uuids;
|
||||
protected $connection = 'mysql';
|
||||
protected $connection = 'Samasa';
|
||||
protected $table = 'dbh_pendapatan_realisasi';
|
||||
protected $fillable = [
|
||||
'tahun','simtrad4_uraian','simtrad4_kotor','simtrad4_potongan','simtrad4_bersih','simtrad4_sp2d_bun',
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Yajra\Oci8\Eloquent\OracleEloquent as Eloquent;
|
||||
|
||||
class TempRealisasiBelanja extends Eloquent
|
||||
{
|
||||
use HasFactory;
|
||||
protected $connection = 'Samasa';
|
||||
protected $table = 'SAMASA.TEMP_REALISASI_BELANJA';
|
||||
protected $fillable = [
|
||||
"tahun_anggaran",
|
||||
"jenis_belanja",
|
||||
"sub_jenis_belanja",
|
||||
"kode_program",
|
||||
"nama_program",
|
||||
"kode_skpd",
|
||||
"nama_skpd",
|
||||
"kode_kegiatan",
|
||||
"nama_kegiatan",
|
||||
"kode_sub_kegiatan",
|
||||
"nama_sub_kegiatan",
|
||||
"kode_rsk",
|
||||
"nama_rsk",
|
||||
"kode_rekening",
|
||||
"nama_rekening",
|
||||
"jumlah_anggaran",
|
||||
"volume_satuan",
|
||||
"unit_satuan"
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class UnitSatuan extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $table = 'unit_satuan';
|
||||
protected $fillable = [
|
||||
'nama_satuan'
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateUnitSatuanTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('unit_satuan', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string("nama_satuan",10);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('unit_satuan');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateTempRealisasiBelanjaTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('temp_realisasi_belanja', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string("tahun_anggaran",4);
|
||||
$table->string("jenis_belanja",50);
|
||||
$table->string("sub_jenis_belanja",50);
|
||||
$table->string("kode_program",50);
|
||||
$table->string("nama_program",150);
|
||||
$table->string("kode_skpd",50);
|
||||
$table->string("nama_skpd",150);
|
||||
$table->string("kode_kegiatan",50);
|
||||
$table->string("nama_kegiatan",150);
|
||||
$table->string("kode_sub_kegiatan",50);
|
||||
$table->string("nama_sub_kegiatan",150);
|
||||
$table->string("kode_rsk",50);
|
||||
$table->text("nama_rsk");
|
||||
$table->string("kode_rekening",50);
|
||||
$table->string("nama_rekening",150);
|
||||
$table->decimal('jumlah_anggaran', 19, 2);
|
||||
$table->tinyInteger('volume_satuan');
|
||||
$table->string('unit_satuan',30);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('temp_realisasi_belanja');
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,7 @@ class DatabaseSeeder extends Seeder
|
||||
// \App\Models\User::factory(10)->create();
|
||||
// $this->call(PermissionSeeder::class);
|
||||
// $this->call(RolesTableSeeder::class);
|
||||
$this->call(UsersTableSeeder::class);
|
||||
// $this->call(UsersTableSeeder::class);
|
||||
// $this->call(SatuanTableSeeder::class);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
use App\Models\UnitSatuan;
|
||||
|
||||
class SatuanTableSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
UnitSatuan::truncate();
|
||||
|
||||
$satuan = new UnitSatuan;
|
||||
$satuan->nama_satuan = "m2";
|
||||
$satuan->save();
|
||||
|
||||
$satuan = new UnitSatuan;
|
||||
$satuan->nama_satuan = "unit";
|
||||
$satuan->save();
|
||||
|
||||
$satuan = new UnitSatuan;
|
||||
$satuan->nama_satuan = "km";
|
||||
$satuan->save();
|
||||
|
||||
$satuan = new UnitSatuan;
|
||||
$satuan->nama_satuan = "orang";
|
||||
$satuan->save();
|
||||
|
||||
$satuan = new UnitSatuan;
|
||||
$satuan->nama_satuan = "paket";
|
||||
$satuan->save();
|
||||
}
|
||||
}
|
||||
@@ -17,46 +17,46 @@ class UsersTableSeeder extends Seeder
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
// User::truncate();
|
||||
User::truncate();
|
||||
|
||||
// $user = new User;
|
||||
// $user->name = "Superadmin";
|
||||
// $user->nrk = "superadmin";
|
||||
// $user->password = Hash::make('superadmin123!');
|
||||
// $user->save();
|
||||
$user = new User;
|
||||
$user->name = "Superadmin";
|
||||
$user->nrk = "superadmin";
|
||||
$user->password = Hash::make('superadmin123!');
|
||||
$user->save();
|
||||
|
||||
// $user->assignRole('superadmin');
|
||||
$user->assignRole('superadmin');
|
||||
|
||||
// $user = new User;
|
||||
// $user->name = "admin";
|
||||
// $user->nrk = "admin";
|
||||
// $user->password = Hash::make('admin321!');
|
||||
// $user->save();
|
||||
$user = new User;
|
||||
$user->name = "admin";
|
||||
$user->nrk = "admin";
|
||||
$user->password = Hash::make('admin321!');
|
||||
$user->save();
|
||||
|
||||
// $user->assignRole('admin');
|
||||
$user->assignRole('admin');
|
||||
|
||||
// $user = new User;
|
||||
// $user->name = "anggaran";
|
||||
// $user->nrk = "anggaran";
|
||||
// $user->password = Hash::make('anggaran321');
|
||||
// $user->save();
|
||||
$user = new User;
|
||||
$user->name = "anggaran";
|
||||
$user->nrk = "anggaran";
|
||||
$user->password = Hash::make('anggaran321');
|
||||
$user->save();
|
||||
|
||||
// $user->assignRole('anggaran');
|
||||
$user->assignRole('anggaran');
|
||||
|
||||
// $user = new User;
|
||||
// $user->name = "skpd";
|
||||
// $user->nrk = "skpd";
|
||||
// $user->password = Hash::make('skpd321');
|
||||
// $user->save();
|
||||
$user = new User;
|
||||
$user->name = "skpd";
|
||||
$user->nrk = "skpd";
|
||||
$user->password = Hash::make('skpd321');
|
||||
$user->save();
|
||||
|
||||
// $user->assignRole('skpd');
|
||||
$user->assignRole('skpd');
|
||||
|
||||
// $user = new User;
|
||||
// $user->name = "bendahara";
|
||||
// $user->nrk = "bendahara";
|
||||
// $user->password = Hash::make('bendahara321');
|
||||
// $user->save();
|
||||
$user = new User;
|
||||
$user->name = "bendahara";
|
||||
$user->nrk = "bendahara";
|
||||
$user->password = Hash::make('bendahara321');
|
||||
$user->save();
|
||||
|
||||
// $user->assignRole('bendahara');
|
||||
$user->assignRole('bendahara');
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+125
-1
@@ -148,4 +148,128 @@ hr{
|
||||
|
||||
.td-nowrap{
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
#tempUploadRealisasi td{
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.loading {
|
||||
position: fixed;
|
||||
z-index: 99999;
|
||||
height: 2em;
|
||||
width: 2em;
|
||||
overflow: visible;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
/* Transparent Overlay */
|
||||
.loading:before {
|
||||
content: '';
|
||||
display: block;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
/* :not(:required) hides these rules from IE9 and below */
|
||||
.loading:not(:required) {
|
||||
/* hide "loading..." text */
|
||||
font: 0/0 a;
|
||||
color: transparent;
|
||||
text-shadow: none;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.loading:not(:required):after {
|
||||
content: '';
|
||||
display: block;
|
||||
font-size: 10px;
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
margin-top: -0.5em;
|
||||
-webkit-animation: spinner 1500ms infinite linear;
|
||||
-moz-animation: spinner 1500ms infinite linear;
|
||||
-ms-animation: spinner 1500ms infinite linear;
|
||||
-o-animation: spinner 1500ms infinite linear;
|
||||
animation: spinner 1500ms infinite linear;
|
||||
border-radius: 0.5em;
|
||||
-webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
|
||||
box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
|
||||
}
|
||||
|
||||
/* Animation */
|
||||
|
||||
@-webkit-keyframes spinner {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
-moz-transform: rotate(0deg);
|
||||
-ms-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
-moz-transform: rotate(360deg);
|
||||
-ms-transform: rotate(360deg);
|
||||
-o-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@-moz-keyframes spinner {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
-moz-transform: rotate(0deg);
|
||||
-ms-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
-moz-transform: rotate(360deg);
|
||||
-ms-transform: rotate(360deg);
|
||||
-o-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@-o-keyframes spinner {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
-moz-transform: rotate(0deg);
|
||||
-ms-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
-moz-transform: rotate(360deg);
|
||||
-ms-transform: rotate(360deg);
|
||||
-o-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@keyframes spinner {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
-moz-transform: rotate(0deg);
|
||||
-ms-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
-moz-transform: rotate(360deg);
|
||||
-ms-transform: rotate(360deg);
|
||||
-o-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -170,7 +170,8 @@
|
||||
"paginate": {
|
||||
"previous": "<i class='fas fa-angle-double-left'></i>",
|
||||
"next": "<i class='fas fa-angle-double-right'></i>",
|
||||
}
|
||||
},
|
||||
"processing": "<div class='loading'></div>",
|
||||
},
|
||||
scrollX:true,
|
||||
fixedColumns: {
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
@yield('styles')
|
||||
</head>
|
||||
<body class="hold-transition sidebar-mini text-sm layout-fixed layout-navbar-fixed">
|
||||
{{-- <div id='loader-wrapper'><div id='loader'></div></div> --}}
|
||||
<div class="wrapper">
|
||||
|
||||
@include('partials.top_menu')
|
||||
@@ -197,5 +198,10 @@
|
||||
</script>
|
||||
@yield('scripts')
|
||||
@yield('scripts2')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$("#loader-wrapper").hide();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="nav-item">
|
||||
<a href="{{ url('/realisasi-pendapatan') }}" class="nav-link">
|
||||
<i class="fa fa-minus nav-icon"></i>
|
||||
<p>Realisasi</p>
|
||||
<p>Realisasi Pendapatan</p>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -45,10 +45,16 @@
|
||||
<p>Belanja<i class="right fas fa-angle-left"></i></p>
|
||||
</a>
|
||||
<ul class="nav nav-treeview">
|
||||
<li class="nav-item">
|
||||
<a href="{{ url('/upload-realisasi-belanja') }}" class="nav-link">
|
||||
<i class="fa fa-minus nav-icon"></i>
|
||||
<p>Upload Data</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{ url('/realisasi-belanja') }}" class="nav-link">
|
||||
<i class="fa fa-minus nav-icon"></i>
|
||||
<p>Realisasi</p>
|
||||
<p>Realisasi Belanja</p>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -5,24 +5,163 @@
|
||||
];
|
||||
@endphp
|
||||
|
||||
@extends('layouts.app')
|
||||
@extends('layouts.empty')
|
||||
@section('styles')
|
||||
<!-- DataTables -->
|
||||
<link rel="stylesheet" href="/AdminLTE-3.2.0/plugins/datatables-bs4/css/dataTables.bootstrap4.min.css">
|
||||
<link rel="stylesheet" href="/AdminLTE-3.2.0/plugins/datatables-responsive/css/responsive.bootstrap4.min.css">
|
||||
<link rel="stylesheet" href="/AdminLTE-3.2.0/plugins/datatables-buttons/css/buttons.bootstrap4.min.css">
|
||||
<link rel="stylesheet" href="/AdminLTE-3.2.0/plugins/datatables-fixedcolumns/css/fixedColumns.bootstrap4.min.css">
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
@section('card_header')
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title"><i class="fa fa-th-list mr-2"></i> {{ $sitesubTitle }}</h2>
|
||||
<div class="card-tools"></div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form id="uploadData" action="/upload-realisasi-belanja" method="POST" autocomplete="off" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<div class="form-group">
|
||||
<b>File Gambar</b><br/>
|
||||
<input type="file" name="file" required>
|
||||
</div>
|
||||
<div class="form-group"><input type="submit" value="Upload File" class="btn btn-sm btn-success"></div>
|
||||
<p><strong>Format:xlsx | Columns:</strong>
|
||||
"tahun_anggaran",
|
||||
"jenis_belanja",
|
||||
"sub_jenis_belanja",
|
||||
"kode_program",
|
||||
"nama_program",
|
||||
"kode_skpd",
|
||||
"nama_skpd",
|
||||
"kode_kegiatan",
|
||||
"nama_kegiatan",
|
||||
"kode_sub_kegiatan",
|
||||
"nama_sub_kegiatan",
|
||||
"kode_rsk",
|
||||
"nama_rsk",
|
||||
"kode_rekening",
|
||||
"nama_rekening",
|
||||
"jumlah_anggaran",
|
||||
"volume_satuan",
|
||||
"unit_satuan"</p>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title"><i class="fa fa-check mr-2"></i> Validasi Data</h2>
|
||||
<div class="card-tools">
|
||||
{{-- @if(auth()->user()->can('Tambah SKPP')) --}}
|
||||
<button class="btn btn-sm btn-default" onclick="location.href='{{ route('realisasi-belanja.index') }}'"><i class="fa fa-arrow-left"></i> Kembali</button>
|
||||
<button class="btn btn-sm btn-default" onclick="location.href='{{ route('realisasi-belanja.index') }}'"><i class="fa fa-save"></i> Upload Data</button>
|
||||
{{-- @endif --}}
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
<form id="uploadData" action="/realisasi-belanja/upload" method="POST" autocomplete="off" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<div class="form-group">
|
||||
<b>File Gambar</b><br/>
|
||||
<input type="file" name="file">
|
||||
<div class="card-body">
|
||||
<table id="tempUploadRealisasi" class="table table-striped jambo_table tblClickRow" style="width:100%">
|
||||
<thead>
|
||||
<tr class="headings">
|
||||
<th>No</th>
|
||||
<?php
|
||||
$arrCol = array("tahun_anggaran", "jenis_belanja", "sub_jenis_belanja", "kode_program", "nama_program", "kode_skpd", "nama_skpd", "kode_kegiatan", "nama_kegiatan", "kode_sub_kegiatan", "nama_sub_kegiatan", "kode_rsk", "nama_rsk", "kode_rekening", "nama_rekening", "jumlah_anggaran", "volume_satuan", "unit_satuan");
|
||||
foreach($arrCol as $rowCol){
|
||||
echo "<th>$rowCol</th>";
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-group"><input type="submit" value="Upload" class="btn btn-sm btn-default"></div>
|
||||
</div>
|
||||
@endsection
|
||||
@section('scripts')
|
||||
<script src="/AdminLTE-3.2.0/plugins/datatables/jquery.dataTables.min.js"></script>
|
||||
<script src="/AdminLTE-3.2.0/plugins/datatables-bs4/js/dataTables.bootstrap4.min.js"></script>
|
||||
<script src="/AdminLTE-3.2.0/plugins/datatables-responsive/js/dataTables.responsive.min.js"></script>
|
||||
<script src="/AdminLTE-3.2.0/plugins/datatables-responsive/js/responsive.bootstrap4.min.js"></script>
|
||||
<script src="/AdminLTE-3.2.0/plugins/datatables-buttons/js/dataTables.buttons.min.js"></script>
|
||||
<script src="/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.bootstrap4.min.js"></script>
|
||||
<script src="/AdminLTE-3.2.0/plugins/jszip/jszip.min.js"></script>
|
||||
<script src="/AdminLTE-3.2.0/plugins/pdfmake/pdfmake.min.js"></script>
|
||||
<script src="/AdminLTE-3.2.0/plugins/pdfmake/vfs_fonts.js"></script>
|
||||
<script src="/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.html5.min.js"></script>
|
||||
<script src="/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.print.min.js"></script>
|
||||
<script src="/AdminLTE-3.2.0/plugins/datatables-buttons/js/buttons.colVis.min.js"></script>
|
||||
<script src="/AdminLTE-3.2.0/plugins/datatables-fixedcolumns/js/dataTables.fixedColumns.min.js"></script>
|
||||
<script src="/AdminLTE-3.2.0/plugins/datatables-fixedcolumns/js/fixedColumns.bootstrap4.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
var dtTable = $('#tempUploadRealisasi').DataTable( {
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
"ordering": false,
|
||||
"autoWidth": false,
|
||||
"ajax": {
|
||||
url: "/upload-realisasi-belanja/datatable",
|
||||
type: "POST",
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
||||
},
|
||||
data: function (d) {
|
||||
}
|
||||
},
|
||||
"columnDefs": [
|
||||
//{ className: "td-nowrap", "targets": [ 1 ] }
|
||||
],
|
||||
|
||||
"lengthMenu": [
|
||||
[ 10, 25, 50 ],
|
||||
[ "10", "25", "50" ]
|
||||
],
|
||||
"paging": true, // Table pagination
|
||||
"columns": [
|
||||
{ "data": null},
|
||||
{ "data": "tahun_anggaran", "width": "400px" },
|
||||
{ "data": "jenis_belanja", "className":"text-left","defaultContent":"-" },
|
||||
{ "data": "sub_jenis_belanja", "className":"text-left", "defaultContent":"-" },
|
||||
{ "data": "kode_program", "className":"text-center", "defaultContent":"-" },
|
||||
{ "data": "nama_program", "className":"text-left", "defaultContent":"-" },
|
||||
{ "data": "kode_skpd", "className":"text-center", "defaultContent":"-" },
|
||||
{ "data": "nama_skpd", "className":"text-left", "defaultContent":"-" },
|
||||
{ "data": "kode_kegiatan", "className":"text-center", "defaultContent":"-" },
|
||||
{ "data": "nama_kegiatan", "className":"text-left", "defaultContent":"-" },
|
||||
{ "data": "kode_sub_kegiatan", "className":"text-center", "defaultContent":"-" },
|
||||
{ "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": "jumlah_anggaran", "className":"text-right", "defaultContent":"0" },
|
||||
{ "data": "volume_satuan", "className":"text-center", "defaultContent":"0" },
|
||||
{ "data": "unit_satuan", "className":"text-center", "defaultContent":"-" },
|
||||
],
|
||||
"rowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull, oSettings) {
|
||||
let info = dtTable.page.info();
|
||||
let numStart = info.page;
|
||||
let index = (numStart * dtTable.page.len()) + iDisplayIndex + 1;
|
||||
|
||||
$("td:eq(0)", nRow).html(index);
|
||||
$("td:eq(15)", nRow).html(separateNumberIndo(aData["jumlah_anggaran"]));
|
||||
|
||||
return nRow;
|
||||
},
|
||||
"language": {
|
||||
"lengthMenu": "Tampil _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>",
|
||||
},
|
||||
scrollX:true,
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
@@ -155,7 +155,8 @@
|
||||
"paginate": {
|
||||
"previous": "<i class='fas fa-angle-double-left'></i>",
|
||||
"next": "<i class='fas fa-angle-double-right'></i>",
|
||||
}
|
||||
},
|
||||
"processing": "<div class='loading'></div>",
|
||||
},
|
||||
scrollX:true,
|
||||
});
|
||||
|
||||
+6
-5
@@ -33,8 +33,9 @@ Route::group(['middleware' => 'auth'], function () {
|
||||
Route::resource('permissions', PermissionsController::class);
|
||||
});
|
||||
|
||||
Route::resource('jadwal-salurdana', JadwalSalurdanaController::class);
|
||||
//Route::resource('jadwal-salurdana', JadwalSalurdanaController::class);
|
||||
Route::group(['prefix' => 'jadwal-salurdana'], function () {
|
||||
Route::get('/', [JadwalSalurdanaController::class,'index']);
|
||||
Route::post('/datatable', [JadwalSalurdanaController::class,'datatable']);
|
||||
Route::group(['middleware' => ['permission:Cetak SKPP']], function () {
|
||||
Route::post('/print', [JadwalSalurdanaController::class,'printData']);
|
||||
@@ -48,10 +49,10 @@ Route::group(['middleware' => 'auth'], function () {
|
||||
});
|
||||
Route::resource('realisasi-pendapatan', RealisasiPendapatanController::class);
|
||||
|
||||
Route::group(['prefix' => 'realisasi-belanja'], function () {
|
||||
Route::get('/upload', [RealisasiBelanjaController::class,'upload']);
|
||||
Route::post('/upload', [RealisasiBelanjaController::class,'upload']);
|
||||
});
|
||||
Route::get('upload-realisasi-belanja', [RealisasiBelanjaController::class,'upload']);
|
||||
Route::post('upload-realisasi-belanja', [RealisasiBelanjaController::class,'upload']);
|
||||
Route::post('upload-realisasi-belanja/datatable', [RealisasiBelanjaController::class,'uploadDatatable']);
|
||||
|
||||
Route::resource('realisasi-belanja', RealisasiBelanjaController::class);
|
||||
|
||||
Route::resource('salur-dana', SalurdanaController::class);
|
||||
|
||||
Reference in New Issue
Block a user