diff --git a/app/Http/Controllers/Admin/MstDauRinciController.php b/app/Http/Controllers/Admin/MstDauRinciController.php index 0bc6f60..f6390ec 100644 --- a/app/Http/Controllers/Admin/MstDauRinciController.php +++ b/app/Http/Controllers/Admin/MstDauRinciController.php @@ -34,12 +34,14 @@ class MstDauRinciController extends Controller $request->validate([ 'name' => 'required', 'grup' => 'required', + 'satuan' => 'required', ]); $req = $request->all(); MstDauRinci::where("name", $req["name"])->delete(); $data["name"] = $req["name"]; $data["grup"] = $req["grup"]; + $data["satuan"] = $req["satuan"]; MstDauRinci::create($data); return redirect("/admin/MstDauRinci")->with('success','Data Perincian DAU berhasil dibuat.'); @@ -62,22 +64,24 @@ class MstDauRinciController extends Controller $request->validate([ 'grup' => 'required', 'name' => 'required', + 'satuan' => 'required', ]); $req = $request->all(); $data["grup"] = $req["grup"]; $data["name"] = $req["name"]; + $data["satuan"] = $req["satuan"]; $MstDauRinci->update($req); return redirect()->route('MstDauRinci.index') - ->with('success','Data Jenis Dana berhasil diubah!'); + ->with('success','Data Perincian DAU berhasil diubah!'); } public function destroy(MstDauRinci $MstDauRinci) { $MstDauRinci->delete(); return redirect()->route('MstDauRinci.index') - ->with('success','Data Jenis Dana berhasil dihapus!'); + ->with('success','Data Perincian DAU berhasil dihapus!'); } public function datatable(Request $request) @@ -86,7 +90,7 @@ class MstDauRinciController extends Controller $offset = $post["start"]; $limit = $post["length"]; $src = isset($post["search"]["value"]) ? strtolower($post["search"]["value"]):""; - $select = DB::raw("ID,NAME,GRUP"); + $select = DB::raw("ID,NAME,GRUP,SATUAN"); $sqlstr = MstDauRinci::select($select); $dataTotal = $sqlstr->count(); $data = $sqlstr->orderBy("GRUP","DESC"); diff --git a/app/Http/Controllers/ItemSearchController.php b/app/Http/Controllers/ItemSearchController.php index f42c3c0..328e03b 100644 --- a/app/Http/Controllers/ItemSearchController.php +++ b/app/Http/Controllers/ItemSearchController.php @@ -286,4 +286,12 @@ class ItemSearchController extends Controller } return response()->json($sk); } + + public function dau_rinci_detail(Request $request) + { + $search = $request->id; + $sk = MstDauRinci::where('id',$search)->first(); + + return response()->json($sk); + } } diff --git a/app/Http/Controllers/RealisasiBelanjaController.php b/app/Http/Controllers/RealisasiBelanjaController.php index 6c58210..55dc4d7 100644 --- a/app/Http/Controllers/RealisasiBelanjaController.php +++ b/app/Http/Controllers/RealisasiBelanjaController.php @@ -122,9 +122,9 @@ class RealisasiBelanjaController extends Controller "kode_rekening"=>null, "nama_rekening"=>null, "jumlah_anggaran"=>$VwDpaRsk["v_angg_tapd"], - "alokasi_anggaran"=>replaceMoney($req["alokasi_anggaran"]), - "volume_satuan"=>replaceMoney($req["vol"]), - "unit_satuan"=>$req["unit"], + "alokasi_anggaran"=>isset($req["alokasi_anggaran"])?replaceMoney($req["alokasi_anggaran"]):0, + "volume_satuan"=>isset($req["vol"])?replaceMoney($req["vol"]):0, + "unit_satuan"=>isset($req["unit"])?$req["unit"]:"", "jml_rencana_kontrak"=>isset($req["jml_rencana_kontrak"])?$req["jml_rencana_kontrak"]:0, "jenis_dana"=>$req["jenis_dana"], "sub_jenis_dana"=>$req["sub_jenis_dana"], @@ -152,8 +152,8 @@ class RealisasiBelanjaController extends Controller "sub_jenis_dana"=>"required", "jenis"=>"required", "rsk"=>"required", - "vol"=>"required", - "unit"=>"required", + // "vol"=>"required", + // "unit"=>"required", //"id_sps"=>"required", // Karena ada yg tidak memakai SPS ]); @@ -206,8 +206,8 @@ class RealisasiBelanjaController extends Controller "sub_jenis_dana"=>"required", "jenis"=>"required", "rsk"=>"required", - "vol"=>"required", - "unit"=>"required", + // "vol"=>"required", + // "unit"=>"required", //"id_sps"=>"required", ]); @@ -322,11 +322,11 @@ class RealisasiBelanjaController extends Controller $realisasi = $this->getRealisasi($BelanjaRealisasi->kode_rsk); $jmlRealisasi1 = empty($realisasi->sms1)?0:$realisasi->sms1; $jmlRealisasi2 = empty($realisasi->sms2)?0:$realisasi->sms2; - + $totalRealisasi = $jmlRealisasi2; $BelanjaRealisasiRinciDau = BelanjaRealisasiRinciDau::where("belanja_realisasi_id",$BelanjaRealisasi->id)->get(); $unitSatuan = UnitSatuan::orderBy("id")->get(); - return view('realisasi_belanja.submit_realisasi', compact("BelanjaRealisasi","BelanjaRealisasiDetail","BelanjaRealisasiRinci","BelanjaRealisasiRinciDau","jmlRealisasi1","jmlRealisasi2","unitSatuan")); + return view('realisasi_belanja.submit_realisasi', compact("BelanjaRealisasi","BelanjaRealisasiDetail","BelanjaRealisasiRinci","BelanjaRealisasiRinciDau","jmlRealisasi1","jmlRealisasi2","unitSatuan","totalRealisasi")); } public function realisasiDau(Request $request) @@ -1023,7 +1023,7 @@ class RealisasiBelanjaController extends Controller public function download(Request $request) { - $data = DB::select(DB::raw(BelanjaRealisasi::tableData(getTA(), $this->tableFilter($request)))); + $data = DB::select(DB::raw(BelanjaRealisasi::tableDataReport(getTA(), $this->tableFilter($request)))); $data = json_decode(json_encode($data), true); $fileName = 'Realisasi-belanja.xlsx'; @@ -1044,7 +1044,10 @@ class RealisasiBelanjaController extends Controller 'Alokasi Anggaran'=>'alokasi_anggaran', 'Volume'=>'volume_satuan', 'Unit'=>'unit_satuan', - 'Realisasi'=>'jml', + 'Realisasi'=>'jumlah_realisasi', + 'Volume Realisasi'=>'volume_satuan_realisasi', + 'Unit Realisasi'=>'unit_satuan_realisasi', + 'Total Realisasi'=>'jml', 'Volume'=>'volume_satuan_realisasi', 'Unit'=>'unit_satuan_realisasi', 'Jenis Belanja'=>'nama_jenis_belanja', diff --git a/app/Models/BelanjaRealisasi.php b/app/Models/BelanjaRealisasi.php index b4bd895..b110e06 100644 --- a/app/Models/BelanjaRealisasi.php +++ b/app/Models/BelanjaRealisasi.php @@ -123,6 +123,64 @@ class BelanjaRealisasi extends Eloquent return $sqlstr; } + public function tableDataReport($ta, $filter, $offset=0, $limit=0) + { + $ta = getTA(); + $sqlstr = "SELECT a.*,NVL(b.jml,0) as jml, + CASE WHEN a.jenis_dana = 'DBH' AND a.nama_subjenis_dana<>'CHT' + THEN NVL(d.jml_spd, 0) ELSE NVL(c.jml_spd, 0) END AS jml_spd, + a2.semester1,a2.semester2,a2.satuan_sms1,a2.satuan_sms2, + volume_satuan_realisasi_1,volume_satuan_realisasi_2,volume_satuan_realisasi_3,volume_satuan_realisasi_4,volume_satuan_realisasi_5,volume_satuan_realisasi_6,volume_satuan_realisasi_7, + volume_satuan_realisasi_8,volume_satuan_realisasi_9,volume_satuan_realisasi_10,volume_satuan_realisasi_11,volume_satuan_realisasi_12, + jumlah_realisasi_1,jumlah_realisasi_2,jumlah_realisasi_3,jumlah_realisasi_4,jumlah_realisasi_5,jumlah_realisasi_6,jumlah_realisasi_7, + jumlah_realisasi_8,jumlah_realisasi_9,jumlah_realisasi_10,jumlah_realisasi_11,jumlah_realisasi_12 + FROM VW_BELANJA_REALISASI_REPORT a + LEFT JOIN BELANJA_REALISASI_RINCI a1 + ON a.id=a1.belanja_realisasi_id + LEFT JOIN ( + SELECT BELANJA_REALISASI_ID,SUM(SEMESTER1) SEMESTER1,SUM(SEMESTER2) SEMESTER2, + SUM(SATUAN_SMS1) SATUAN_SMS1,SUM(SATUAN_SMS2) SATUAN_SMS2 + FROM ( SELECT BELANJA_REALISASI_ID,JUMLAH_REALISASI AS SEMESTER1, 0 AS SEMESTER2, + VOLUME_SATUAN_REALISASI AS SATUAN_SMS1, 0 AS SATUAN_SMS2 + FROM BELANJA_REALISASI_DETAIL WHERE SEMESTER = 1 + UNION ALL SELECT BELANJA_REALISASI_ID,0 AS SEMESTER1, JUMLAH_REALISASI AS SEMESTER2, + 0 AS SATUAN_SMS2, VOLUME_SATUAN_REALISASI AS SATUAN_SMS2 + FROM BELANJA_REALISASI_DETAIL WHERE SEMESTER = 2 + ) GROUP BY BELANJA_REALISASI_ID + ) a2 ON a.id = a2.BELANJA_REALISASI_ID + LEFT JOIN ( + SELECT I_IDRSK,SUM(REALISASI) AS jml + FROM MV_ANGGARAN_REALISASI_RSK + WHERE C_ANGG_TAHUN = $ta + GROUP BY I_IDRSK + ) b ON a.kode_rsk = b.I_IDRSK + LEFT JOIN ( + SELECT id_rsk,count(id_rsk) as jml_spd + FROM SAMASA.belanja_realisasi_spd + WHERE TO_CHAR(TGL,'YYYY') = $ta + GROUP BY id_rsk + ) c ON a.kode_rsk = c.id_rsk + LEFT JOIN ( + SELECT C_OPD,C_SUBGIAT,COUNT(JML) AS jml_spd + FROM + ( + SELECT C_OPD,C_SUBGIAT,SUM(V_SPD) AS JML + FROM NEWSIPKD.TMSPDRINCIBLJ x + LEFT JOIN NEWSIPKD.TMDPASUBGIAT y ON x.I_IDSUBGIAT = y.I_ID + AND x.C_ANGG_TAHUN = $ta + LEFT JOIN NEWSIPKD.TROPD z ON z.I_ID = y.I_IDOPD + WHERE C_SUBGIAT IS NOT NULL + GROUP BY C_OPD,C_SUBGIAT,I_IDSPD + ) GROUP BY C_OPD,C_SUBGIAT + ) d ON a.KODE_SUB_KEGIATAN = d.C_SUBGIAT AND a.KODE_SKPD = d.C_OPD + ".$filter." + ORDER BY a.KODE_SKPD, a.KODE_RSK "; + + $sqlstr.= $limit > 0?" OFFSET ".$offset." ROWS FETCH NEXT ".$limit." ROWS ONLY ":""; + + return $sqlstr; + } + public function akbRealisasi() { $ta = getTA(); diff --git a/app/Models/MstDauRinci.php b/app/Models/MstDauRinci.php index fb149cc..d3273ef 100644 --- a/app/Models/MstDauRinci.php +++ b/app/Models/MstDauRinci.php @@ -14,5 +14,6 @@ class MstDauRinci extends Eloquent protected $fillable = [ "name", "grup", + "satuan" ]; } diff --git a/database/migrations/2023_02_21_160255_create_mst_dau_rinci_table.php b/database/migrations/2023_02_21_160255_create_mst_dau_rinci_table.php index 293066f..1a0620f 100644 --- a/database/migrations/2023_02_21_160255_create_mst_dau_rinci_table.php +++ b/database/migrations/2023_02_21_160255_create_mst_dau_rinci_table.php @@ -17,6 +17,7 @@ class CreateMstDauRinciTable extends Migration $table->id(); $table->string('name', 255); $table->enum('grup',["Pembangunan","Pemberdayaan"])->default("Pembangunan"); + $table->string('satuan', 50); $table->timestamps(); }); } diff --git a/resources/views/admin/mst_dau_rinci/create.blade.php b/resources/views/admin/mst_dau_rinci/create.blade.php index 8624ff1..c35b602 100644 --- a/resources/views/admin/mst_dau_rinci/create.blade.php +++ b/resources/views/admin/mst_dau_rinci/create.blade.php @@ -38,6 +38,16 @@ +