This commit is contained in:
Izuddin
2022-09-10 04:35:48 +07:00
parent 7052d3debc
commit 4cde8ab625
21 changed files with 1064 additions and 143 deletions
@@ -0,0 +1,105 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Models\MstJenisDana;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class MstJenisDanaController extends Controller
{
public function __construct(){
$this->siteTitle = "Master Jenis Dana";
parent::__construct();
}
public function index()
{
$data = null;
// $data = User::where('role_name', "<>", "superadmin")->latest()->paginate(10);
return view('admin.mst_jenis_dana.index',compact('data'))
->with('i', (request()->input('page', 1) - 1) * 10);
}
public function create()
{
$this->setSubtitle("Tambah Data");
return view('admin.mst_jenis_dana.create');
}
public function store(Request $request)
{
$request->validate([
'name' => 'required',
'grup' => 'required',
]);
$req = $request->all();
MstJenisDana::where("name", $req["name"])->delete();
$data["name"] = $req["name"];
$data["grup"] = $req["grup"];
MstJenisDana::create($data);
return redirect("/admin/MstJenisDana")->with('success','Jenis Belanja berhasil dibuat.');
}
public function show(MstJenisDana $MstJenisDana)
{
$SubJenisBelanja = MstSubJenisBelanja::where("id_jenis_belanja",$MstJenisDana->id)->get();
$this->setSubtitle("Detail Jenis Belanja");
return view('admin.mst_jenis_dana.show',compact('MstJenisDana','SubJenisBelanja'));
}
public function edit(MstJenisDana $MstJenisDana)
{
$this->setSubtitle("Ubah Data");
return view('admin.mst_jenis_dana.edit',compact('MstJenisDana'));
}
public function update(Request $request, MstJenisDana $MstJenisDana)
{
$request->validate([
'grup' => 'required',
'name' => 'required',
]);
$req = $request->all();
$data["grup"] = $req["grup"];
$data["name"] = $req["name"];
$MstJenisDana->update($req);
return redirect()->route('MstJenisDana.index')
->with('success','Data Jenis Dana berhasil diubah!');
}
public function destroy(MstJenisDana $MstJenisDana)
{
$MstJenisDana->delete();
return redirect()->route('MstJenisDana.index')
->with('success','Data Jenis Dana 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,NAME,GRUP");
$sqlstr = MstJenisDana::select($select);
$dataTotal = $sqlstr->count();
$data = $sqlstr->orderBy("GRUP","DESC");
if (!empty($src)){
$data->whereRaw(" ( lower(NAME) like '%$src%' ) ");
}
$dataFilter = $data->count();
return response()->json([
"recordsTotal" => $dataTotal,
"recordsFiltered" => $dataFilter,
"data"=> $data->skip($offset)->take($limit)->get()
]);
}
}
+42 -2
View File
@@ -12,6 +12,7 @@ use App\Models\Sps_pendapatan;
use App\Models\Siesetpembayaran;
use App\Models\Sp2d;
use App\Models\BelanjaRealisasi;
use App\Models\MstJenisDana;
use App\Models\MstJenisBelanja;
use App\Models\MstSubJenisBelanja;
use Illuminate\Http\Request;
@@ -183,13 +184,52 @@ class ItemSearchController extends Controller
public function jenisBelanja(Request $request)
{
$sk = [];
$select = DB::raw("ID, NAME");
if($request->has('q')){
$search = $request->q;
$select = DB::raw("ID, NAME");
$sk = MstJenisBelanja::select($select)
->where('NAME', 'LIKE', "%$search%")
->get();
}else{
$sk = MstJenisBelanja::select($select)->get();
}
return response()->json($sk);
}
public function subjenisDana(Request $request)
{
$sk = [];
$select = DB::raw("NAME AS ID_NAME, NAME");
$idGrup = $request->id_grup;
if($request->has('q')){
$search = $request->q;
$sk = MstJenisDana::select($select)
->where("GRUP",$idGrup)
->where('NAME', 'LIKE', "%$search%")
->get();
}else{
$sk = MstJenisDana::select($select)
->where("GRUP",$idGrup)
->get();
}
return response()->json($sk);
}
public function subjenisBelanja(Request $request)
{
$sk = [];
$select = DB::raw("ID, NAME");
$idJenis = $request->id_jenis;
if($request->has('q')){
$search = $request->q;
$sk = MstSubJenisBelanja::select($select)
->where("id_jenis_belanja",$idJenis)
->where('NAME', 'LIKE', "%$search%")
->get();
}else{
$sk = MstSubJenisBelanja::select($select)
->where("id_jenis_belanja",$idJenis)
->get();
}
return response()->json($sk);
}
@@ -14,8 +14,10 @@ use App\Models\BelanjaRealisasiBast;
use App\Models\TempRealisasiBelanja;
use App\Models\VwAkbSpdRealRsk;
use App\Models\VwJenisBelanja;
use App\Models\VwDpaRsk;
use App\Models\UnitSatuan;
use App\Models\Sp2d;
use App\Models\Sps_pendapatan;
use App\Imports\RealisasiBelanjaImport;
use App\Imports\RealisasiBelanjaImportDak;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
@@ -36,12 +38,112 @@ class RealisasiBelanjaController extends Controller
return view('realisasi_belanja.index');
}
public function create()
public function create(Request $request)
{
$get = $request->all();
$VwDpaRsk = VwDpaRsk::where("I_ID",$get["rsk"])->firstorCreate();
$unitSatuan = UnitSatuan::orderBy("id")->get();
return view('realisasi_belanja.create', compact("unitSatuan","VwDpaRsk"));
}
public function createFromRsk()
{
return view('realisasi_belanja.create_from_rsk');
}
public function createFromRskDatatable(Request $request)
{
$post = $request->all();
$offset = $post["start"];
$limit = $post["length"];
$src = isset($post["search"]["value"]) ? strtolower($post["search"]["value"]):"";
$skpd = "";
$sqlStr = "SELECT * FROM SAMASA.VW_DPA_RSK WHERE C_ANGG_TAHUN=".getTA();
if (getRole()=="skpd"){
$sqlStr.=" AND C_OPD='".Auth::user()->nrk."'";
}elseif (getRole()=="sbpk"){
$sqlStr.=" AND C_WIL_SP2DPROSES=".Auth::user()->wilayah;
}else{
if (!empty($skpd)){
$sqlStr.=" AND C_OPD='".$skpd."'";
}
}
$filter="";
if (!empty($src))
{
$src = strtolower($src);
$filter=" AND ( LOWER(N_SUBGIAT) like '%".$src."%' OR LOWER(N_RSK) like '%".$src."%')";
}
$dataFilter = DB::select(DB::raw("SELECT COUNT(I_ID) as JML FROM ($sqlStr $filter) x"));
$dataTotal = DB::select(DB::raw("SELECT COUNT(I_ID) as JML FROM ($sqlStr) x"));
$data = DB::select(DB::raw("SELECT * FROM (".$sqlStr.$filter.") a ORDER BY a.I_IDOPD, a.I_ID OFFSET ".$offset." ROWS FETCH NEXT ".$limit." ROWS ONLY"));
return response()->json([
"recordsTotal" => $dataTotal[0]->jml,
"recordsFiltered" => $dataFilter[0]->jml,
"data"=> $data
]);
}
public function store(Request $request)
{
$request->validate([
"jenis_dana"=>"required",
"sub_jenis_dana"=>"required",
"jenis"=>"required",
"sub_jenis"=>"required",
"rsk"=>"required",
"vol"=>"required",
"unit"=>"required",
"jml_rencana_kontrak"=>"required",
"id_sps"=>"required",
]);
$req = $request->all();
$VwDpaRsk = VwDpaRsk::where("I_ID",$req["rsk"])->firstorCreate();
try{
DB::beginTransaction();
$input = [
"tahun_anggaran"=>getTA(),
"jenis_belanja"=>$req["jenis"],
"sub_jenis_belanja"=>$req["sub_jenis"],
"kode_program"=>$VwDpaRsk["c_program"],
"nama_program"=>$VwDpaRsk["n_program"],
"kode_skpd"=>$VwDpaRsk["c_opd"],
"nama_skpd"=>$VwDpaRsk["n_opd"],
"kode_kegiatan"=>$VwDpaRsk["c_giat"],
"nama_kegiatan"=>$VwDpaRsk["n_giat"],
"kode_sub_kegiatan"=>$VwDpaRsk["c_subgiat"],
"nama_sub_kegiatan"=>$VwDpaRsk["n_subgiat"],
"kode_rsk"=>$VwDpaRsk["i_id"],
"nama_rsk"=>$VwDpaRsk["n_rsk"],
"jumlah_anggaran"=>$VwDpaRsk["v_angg_tapd"],
"volume_satuan"=>$req["vol"],
"unit_satuan"=>$req["unit"],
"jml_rencana_kontrak"=>$req["jml_rencana_kontrak"],
"jenis_dana"=>$req["jenis_dana"],
"sub_jenis_dana"=>$req["sub_jenis_dana"],
"id_sps"=>$req["id_sps"],
"created_by"=>Auth::user()->id
];
BelanjaRealisasi::create($input);
DB::commit();
return redirect(URL::to("/realisasi-belanja"))
->with('success','Data Realisasi Belanja berhasil dibuat!');
}catch(Throwable $e){
DB::rollBack();
return redirect(URL::to("/realisasi-belanja"))
->with('error','Data Realisasi Belanja gagal dibuat.');
}
}
public function edit(BelanjaRealisasi $realisasi_belanja)
@@ -97,7 +199,8 @@ class RealisasiBelanjaController extends Controller
$unitSatuan = UnitSatuan::orderBy("id")->get();
$jmlRealisasi1 = $this->getRealisasi($BelanjaRealisasi->kode_rsk, 1);
$jmlRealisasi2 = $this->getRealisasi($BelanjaRealisasi->kode_rsk, 2);
return view('realisasi_belanja.submit', compact("BelanjaRealisasi","BelanjaRealisasiDetail","BelanjaRealisasiKontrak","vwAKB","vwSPD","vwSP2D","unitSatuan","jmlRealisasi1","jmlRealisasi2"));
$sps = Sps_pendapatan::select(DB::raw("ID,KODE_REKENING||' | '||NAMA_REKENING as name"))->where("ID", $BelanjaRealisasi->id_sps)->firstorCreate();
return view('realisasi_belanja.submit', compact("BelanjaRealisasi","BelanjaRealisasiDetail","BelanjaRealisasiKontrak","vwAKB","vwSPD","vwSP2D","unitSatuan","jmlRealisasi1","jmlRealisasi2","sps"));
}
public function datatable(Request $request)
@@ -140,7 +243,7 @@ class RealisasiBelanjaController extends Controller
$dataFilter = DB::select(DB::raw("SELECT COUNT(ID) as JML FROM ($sqlStr $filter) x"));
$dataTotal = DB::select(DB::raw("SELECT COUNT(ID) as JML FROM ($sqlStr) x"));
$data = DB::select(DB::raw("SELECT a.*,b.jml FROM (".$sqlStr.") a
$data = DB::select(DB::raw("SELECT a.*,b.jml FROM (".$sqlStr.$filter.") a
LEFT JOIN (
SELECT I_IDRSK,SUM(V_SPP) as jml
FROM NEWSIPKD.V_SPPBLJRSK