siteTitle = "Realisasi Belanja"; parent::__construct(); } public function index() { return view('realisasi_belanja.index'); } public function create() { } public function store(Request $request) { } public function edit(BelanjaRealisasi $realisasi_belanja) { } public function update(Request $request, BelanjaRealisasi $realisasi_belanja) { } public function submit(Request $request, $id) { $BelanjaRealisasi = BelanjaRealisasi::where("id", $id)->firstOrNew(); // var_dump($BelanjaRealisasi->kode_rsk,$BelanjaRealisasi->kode_sub_kegiatan); exit; $this->setTitle("Realisasi Belanja ".$BelanjaRealisasi->jenis_dana." ".$BelanjaRealisasi->sub_jenis_dana); $this->setSubtitle("Detail Data"); $vwAKB = VwAkbSpdRealRsk::where("I_IDRSK",$BelanjaRealisasi->kode_rsk)->firstorNew(); $BelanjaRealisasiKontrak = BelanjaRealisasiKontrak::where("belanja_realisasi_id",$id)->get(); $vwSPD = DB::select(DB::raw( 'SELECT x.I_SPDNO_DOK,x.D_SPDNO,sum(y.V_SPD) AS JML FROM NEWSIPKD.TMSPD x LEFT JOIN NEWSIPKD.TMSPDRINCIBLJ y ON x.I_ID = y.I_IDSPD LEFT JOIN NEWSIPKD.TMDPASUBGIAT z ON y.I_IDSUBGIAT = z.I_ID LEFT JOIN NEWSIPKD.TROPD a ON x.I_IDOPD = a.I_ID WHERE z.C_SUBGIAT = \''.$BelanjaRealisasi->kode_sub_kegiatan.'\' AND a.C_OPD = \''.$BelanjaRealisasi->kode_skpd.'\' AND x.C_ANGG_TAHUN = \''.$BelanjaRealisasi->tahun_anggaran.'\' GROUP BY x.I_SPDNO_DOK,x.D_SPDNO ORDER BY x.D_SPDNO ' )); $vwSP2D = DB::select(DB::raw('SELECT x.I_ID as IDSP2D, x.I_IDOPD,x.I_SP2DNO_DOK, TO_CHAR(x.D_SP2D_SAH,\'DD-MM-YYYY\') AS D_SP2D_SAH,x.V_SPP FROM NEWSIPKD.TMSP2D x LEFT JOIN NEWSIPKD.TMSPPRINCIBLJRSK y ON x.I_IDSPP = y.I_IDSPP WHERE y.I_IDRSK='.$BelanjaRealisasi->kode_rsk.' ORDER BY x.D_SP2D_SAH ' ) ); return view('realisasi_belanja.submit', compact("BelanjaRealisasi","BelanjaRealisasiKontrak","vwAKB","vwSPD","vwSP2D")); } public function datatable(Request $request) { $post = $request->all(); $offset = $post["start"]; $limit = $post["length"]; $src = isset($post["search"])?$post["search"]["value"]:""; $dataFilter=0; $data = DB::select(DB::raw('SELECT x.*,y.JML_REALISASI_SP2D FROM BELANJA_REALISASI x LEFT JOIN ( SELECT I_IDRSK,SUM(y.V_SPP) AS JML_REALISASI_SP2D FROM NEWSIPKD.TMSP2D x LEFT JOIN NEWSIPKD.TMSPPRINCIBLJRSK y ON x.I_IDSPP = y.I_IDSPP GROUP BY I_IDRSK ) y ON x.KODE_RSK = y.I_IDRSK')); 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 = count($data); $dataTotal = BelanjaRealisasi::count(); return response()->json([ "recordsTotal" => $dataTotal, "recordsFiltered" => $dataFilter, "data"=> $data ]); } public function destroy(BelanjaRealisasi $realisasi_belanja) { try{ DB::beginTransaction(); $realisasi_belanja->delete(); DB::commit(); return redirect('/realisasi-pendapatan') ->with('success','Data Realisasi Pendapatan berhasil dihapus!'); }catch(Throwable $e){ DB::rollBack(); return redirect('/realisasi-pendapatan') ->with('error','Data Realisasi Pendapatan gagal dihapus.'); } } public function show(BelanjaRealisasi $realisasi_belanja) { // if (!Auth::user()->can("Lihat SKPP")){ // abort(403, 'Youre not allowed to visit this page!'); // } $this->setSubtitle("Detail Data"); return view('realisasi_belanja.show',compact("realisasi_belanja")); } public function upload(Request $request, $typeDana) { $method = $request->method(); $this->setTitle("Upload Rencana Belanja ".strtoupper($typeDana)); $this->setSubtitle("Upload File"); if ($request->isMethod('post')) { $req = $request->all(); try{ $this->validate($request, [ 'file' => 'required|mimes:xls,xlsx', ]); $file = $request->file('file'); $subJenisDana = $request->optJenisDana; // echo 'File Name: '.$file->getClientOriginalName(); // echo 'File Extension: '.$file->getClientOriginalExtension(); // echo 'File Real Path: '.$file->getRealPath(); // echo 'File Size: '.$file->getSize(); // echo 'File Mime Type: '.$file->getMimeType(); $tujuan_upload = 'uploadFiles'; $file->move($tujuan_upload,$file->getClientOriginalName()); // var_dump($file->getRealPath()); exit; DB::beginTransaction(); TempRealisasiBelanja::where("userid",Auth::user()->id)->truncate(); Excel::import(new RealisasiBelanjaImport(strtoupper($typeDana),$subJenisDana), $tujuan_upload."/".$file->getClientOriginalName()); DB::commit(); return redirect('/upload-realisasi-belanja/'.$typeDana)->with('success','Data Rencana belanja berhasil diupload, Silahkan validasi data!'); }catch(\Exception $e){ throw new \Exception($e->getMessage()); DB::rollBack(); return redirect('/upload-realisasi-belanja/'.$typeDana)->with('error',$e->getMessage()); } } $this->siteTitle = "Rencana Belanja"; return view('realisasi_belanja.upload',compact("typeDana")); } 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() ]); } public function uploadValidate(Request $request, $typeDana) { try{ DB::beginTransaction(); $datas = TempRealisasiBelanja::orderBy("id","ASC")->get(); for($i=0;$i<$datas->count();$i++){ $cekData = BelanjaRealisasi::where([ "kode_rsk"=>$datas[$i]["kode_rsk"], // "kode_rekening"=>$datas[$i]["kode_rekening"] ])->firstOrNew(); if (!$cekData==null){ $cekData->delete(); // BelanjaRealisasi::where(["kode_rsk"=>$datas[$i]["kode_rsk"],"kode_rekening"=>$datas[$i]["kode_rekening"]])->delete(); } $input = [ "tahun_anggaran"=>$datas[$i]["tahun_anggaran"], "jenis_belanja"=>$datas[$i]["jenis_belanja"], "sub_jenis_belanja"=>$datas[$i]["sub_jenis_belanja"], "kode_program"=>$datas[$i]["kode_program"], "nama_program"=>$datas[$i]["nama_program"], "kode_skpd"=>$datas[$i]["kode_skpd"], "nama_skpd"=>$datas[$i]["nama_skpd"], "kode_kegiatan"=>$datas[$i]["kode_kegiatan"], "nama_kegiatan"=>$datas[$i]["nama_kegiatan"], "kode_sub_kegiatan"=>$datas[$i]["kode_sub_kegiatan"], "nama_sub_kegiatan"=>$datas[$i]["nama_sub_kegiatan"], "kode_rsk"=>$datas[$i]["kode_rsk"], "nama_rsk"=>$datas[$i]["nama_rsk"], "jumlah_anggaran"=>$datas[$i]["jumlah_anggaran"], "volume_satuan"=>$datas[$i]["volume_satuan"], "unit_satuan"=>$datas[$i]["unit_satuan"], "jenis_dana"=>$datas[$i]["jenis_dana"], "sub_jenis_dana"=>$datas[$i]["sub_jenis_dana"], "created_by"=>$datas[$i]["userid"] ]; BelanjaRealisasi::create($input); } TempRealisasiBelanja::truncate(); DB::commit(); return redirect('/upload-realisasi-belanja/'.$typeDana)->with('success','Data Realisasi belanja berhasil diupload.'); }catch(\Exception $e){ throw new \Exception($e->getMessage()); DB::rollBack(); return redirect('/upload-realisasi-belanja/'.$typeDana)->with('error',$e->getMessage()); } return view('realisasi_belanja.upload'); } public function inputRealisasi(Request $request, $id) { $BelanjaRealisasi = BelanjaRealisasi::where("id", $id)->firstOrNew(); $req = $request->all(); $redirect = isset($req["redirect_link"])?$req["redirect_link"]:"realisasi-belanja"; if ($request->isMethod('post')) { try{ DB::beginTransaction(); $data["volume_satuan_realisasi"] = $req["vol_realisasi"]; $data["unit_satuan_realisasi"] = $req["unit_realisasi"]; $data["realisasi_by"] = Auth::user()->id; $BelanjaRealisasi->update($data); DB::commit(); return redirect($redirect)->with('success','Data Realisasi berhasil di input!'); }catch(\Exception $e){ throw new \Exception($e->getMessage()); DB::rollBack(); return redirect($redirect)->with('error',$e->getMessage()); } } $unitSatuan = UnitSatuan::orderBy("id")->get(); return view('realisasi_belanja.form_input_realisasi',compact("BelanjaRealisasi", "unitSatuan","redirect")); } public function datatableInputRealisasi(Request $request) { $post = $request->all(); $offset = $post["start"]; $limit = $post["length"]; $src = isset($post["search"])?$post["search"]["value"]:""; $dataFilter=0; //$data = BelanjaRealisasiDetail::where(["DBH_BELANJA_REALISASI_ID"=>$request->id])->orderBy("id","ASC"); $data = DB::select( DB::raw('SELECT x.I_ID as IDSP2D, x.I_IDOPD,x.I_SP2DNO_DOK,TO_CHAR(x.D_SP2D_SAH,\'DD-MM-YYYY\') AS D_SP2D_SAH,x.V_SPP, a.no_sp2d,a.jumlah_realisasi,a.VOLUME_SATUAN_REALISASI,a.UNIT_SATUAN_REALISASI,a.ID FROM NEWSIPKD.TMSP2D x LEFT JOIN NEWSIPKD.TMSPPRINCIBLJRSK y ON x.I_IDSPP = y.I_IDSPP LEFT JOIN SAMASA.DBH_BELANJA_REALISASI_DETAIL a ON x.I_SP2DNO_DOK = a.NO_SP2D WHERE y.I_IDRSK = '.$request->id.' ORDER BY x.D_SP2D_SAH ' ) ); $dataFilter = count($data); $dataTotal = $dataFilter; return response()->json([ "recordsTotal" => $dataTotal, "recordsFiltered" => $dataFilter, "data"=> $data ]); } public function deleteDetail($id) { $data = BelanjaRealisasiDetail::where('id', $id)->firstorNew(); try{ DB::beginTransaction(); $data->delete(); DB::commit(); return redirect('/realisasi-belanja/'.$data->dbh_belanja_realisasi_id."/submit")->with('success','Data detail Realisasi belanja berhasil dihapus!'); }catch(Throwable $e){ DB::rollBack(); return redirect('/realisasi-belanja/'.$data->dbh_belanja_realisasi_id."/submit")->with('error','Data detail Realisasi belanja gagal dihapus.'); } } public function kontrak(Request $request, $id) { $BelanjaRealisasi = BelanjaRealisasi::where("id", $id)->firstOrNew(); $req = $request->all(); $redirect = "/realisasi-belanja/".$id."/submit"; if ($request->isMethod('post')) { try{ DB::beginTransaction(); BelanjaRealisasiKontrak::where("belanja_realisasi_id",$id)->truncate(); $data["belanja_realisasi_id"] = $id; $data["nomor_kontrak"] = $req["nomor_kontrak"]; $data["tgl_kontrak"] = ConvertIndoDate($req["tgl_kontrak"]); $data["nominal_kontrak"] = replaceMoney($req["nominal_kontrak"]); $data["file_kontrak"] = isset($req["file_kontrak"])?$req["file_kontrak"]:""; $data["created_by"] = Auth::user()->id; BelanjaRealisasiKontrak::create($data); DB::commit(); return redirect($redirect)->with('success','Data Kontrak berhasil di input!'); }catch(\Exception $e){ throw new \Exception($e->getMessage()); DB::rollBack(); return redirect($redirect)->with('error',$e->getMessage()); } } return view('realisasi_belanja.form_kontrak',compact("BelanjaRealisasi")); } }