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
@@ -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