Master Satuan, Jumlah SPD jika DBH pada table realisasi
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Models\UnitSatuan as MstSatuan;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class MstSatuanController extends Controller
|
||||
{
|
||||
public function __construct(){
|
||||
$this->siteTitle = "Master Satuan";
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$data = null;
|
||||
// $data = User::where('role_name', "<>", "superadmin")->latest()->paginate(10);
|
||||
return view('admin.mst_satuan.index',compact('data'))
|
||||
->with('i', (request()->input('page', 1) - 1) * 10);
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$this->setSubtitle("Tambah Data");
|
||||
return view('admin.mst_satuan.create');
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'name' => 'required',
|
||||
]);
|
||||
|
||||
$req = $request->all();
|
||||
MstSatuan::where("nama_satuan", $req["name"])->delete();
|
||||
$data["nama_satuan"] = $req["name"];
|
||||
MstSatuan::create($data);
|
||||
|
||||
return redirect("/admin/MstSatuan")->with('success','Data Satuan berhasil dibuat.');
|
||||
}
|
||||
|
||||
public function show(MstSatuan $MstSatuan)
|
||||
{
|
||||
$SubSatuanBelanja = MstSubSatuanBelanja::where("id_Satuan_belanja",$MstSatuan->id)->get();
|
||||
$this->setSubtitle("Detail Satuan");
|
||||
return view('admin.mst_satuan.show',compact('MstSatuan','SubSatuanBelanja'));
|
||||
}
|
||||
|
||||
public function edit(MstSatuan $MstSatuan)
|
||||
{
|
||||
$this->setSubtitle("Ubah Data");
|
||||
return view('admin.mst_satuan.edit',compact('MstSatuan'));
|
||||
}
|
||||
|
||||
public function update(Request $request, MstSatuan $MstSatuan)
|
||||
{
|
||||
$request->validate([
|
||||
'name' => 'required',
|
||||
]);
|
||||
|
||||
$req = $request->all();
|
||||
$data["nama_satuan"] = $req["name"];
|
||||
$MstSatuan->update($req);
|
||||
|
||||
return redirect()->route('MstSatuan.index')
|
||||
->with('success','Data Satuan berhasil diubah!');
|
||||
}
|
||||
|
||||
public function destroy(MstSatuan $MstSatuan)
|
||||
{
|
||||
$MstSatuan->delete();
|
||||
return redirect()->route('MstSatuan.index')
|
||||
->with('success','Data Satuan 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"]):"";
|
||||
$sqlstr = MstSatuan::select();
|
||||
$dataTotal = $sqlstr->count();
|
||||
$data = $sqlstr->orderBy("nama_satuan","ASC");
|
||||
if (!empty($src)){
|
||||
$data->whereRaw(" ( lower(nama_satuan) like '%$src%' ) ");
|
||||
}
|
||||
$dataFilter = $data->count();
|
||||
|
||||
return response()->json([
|
||||
"recordsTotal" => $dataTotal,
|
||||
"recordsFiltered" => $dataFilter,
|
||||
"data"=> $data->skip($offset)->take($limit)->get()
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -266,7 +266,7 @@ class RealisasiBelanjaController extends Controller
|
||||
$vwAKB = json_decode(json_encode($vwAKB[0]), true);
|
||||
|
||||
$vwSPD = [];
|
||||
if ($BelanjaRealisasi->jenis_dana == "DBH" && $BelanjaRealisasi->sub_jenis_dana != "CHT")
|
||||
if ($BelanjaRealisasi->jenis_dana == "DBH" && $BelanjaRealisasi->nama_jenis_dana != "CHT")
|
||||
{
|
||||
$vwSPD = BelanjaRealisasi::getSPD($BelanjaRealisasi->kode_sub_kegiatan,$BelanjaRealisasi->id_skpd);
|
||||
}else{
|
||||
@@ -368,19 +368,34 @@ 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,NVL(c.jml_spd,0) AS jml_spd FROM (".$sqlStr.$filter.") a
|
||||
$data = DB::select(DB::raw("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
|
||||
FROM (".$sqlStr.$filter.") a
|
||||
LEFT JOIN (
|
||||
SELECT I_IDRSK, SUM(REALISASI_1) AS jml
|
||||
FROM NEWSIPKD.VW_REALISASI_BELANJA_PERBULAN
|
||||
WHERE C_ANGG_TAHUN = $ta
|
||||
GROUP BY I_IDRSK
|
||||
) b
|
||||
ON a.kode_rsk = b.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
|
||||
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
|
||||
) 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
|
||||
ORDER BY a.KODE_SKPD, a.KODE_RSK OFFSET ".$offset." ROWS FETCH NEXT ".$limit." ROWS ONLY"));
|
||||
|
||||
return response()->json([
|
||||
|
||||
Reference in New Issue
Block a user