<?php
namespace App\Http\Controllers;
use App\Models\detailKegiatan;
use App\Models\detailProgram;
use App\Models\detailSubKegiatan;
use App\Models\IndikatorOpd;
use App\Models\IndikatorPemerintah;
use App\Models\visiRpjmd;
use App\Models\MisiRpjmd;
use App\Models\SasaranRenstra;
use App\Models\SasaranRpjmd;
use App\Models\TujuanRenstra;
use App\Models\TujuanRpjmd;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Yajra\DataTables\Facades\DataTables;
class VisiRpjmdController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
protected $routeName = 'visi_rpjmd';
protected $viewName = 'visi_rpjmd';
protected $title = 'Visi RPJMD';
public function index()
{
//
$data = [
'route'=>$this->routeName,
'title'=>$this->title,
];
return view($this->routeName.'.index')->with($data);
}
public function datatable(Request $request){
$datas = visiRpjmd::get();
$datatables = DataTables::of($datas)
->addIndexColumn()
->editColumn('nama',function($data){
return $data->nama;
})
->editColumn('tahun_awal',function($data){
return $data->tahun_awal;
})
->editColumn('tahun_akhir',function($data){
return $data->tahun_akhir;
});
if(Auth::user()->roles->first()->name == "Admin") {
$datatables = $datatables->addColumn('action', function ($data) {
$route = 'visi_rpjmd';
return view('layouts.includes.table-action-jabatan',compact('data','route'));
});
}
return $datatables->make(true);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
try {
visiRpjmd::create($request->all());
return redirect()->route($this->routeName.'.index')->with(['success'=>'Berhasil menambahkan Data Visi RPJMD: '.$request->nama]);
} catch (\Throwable $th) {
//throw $th;
dd($th->getMessage());
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
$visiRpjmd = visiRpjmd::where('id', $id)->first();
try {
//code...
$visiRpjmd->update($request->all());
return redirect()->route($this->routeName.'.index')->with(['success'=>'Berhasil Mengubah Data Visi RPJMD: '.$request->nama]);
} catch (\Throwable $th) {
//throw $th;
dd($th->getMessage());
}
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
$visiRpjmd = visiRpjmd::where('id', $id)->first();
try {
//code...
$visiRpjmd->delete();
return redirect()->route($this->routeName.'.index')->with(['success'=>'Berhasil Menghapus Data Visi RPJMD']);
} catch (\Throwable $th) {
//throw $th;
dd($th->getMessage());
}
}
public function apiEdit($id){
$visiRpjmd = visiRpjmd::where('id', $id)->first();
return response()->json([
'status' => 'success',
'data' => $visiRpjmd,
]);
}
public function apifolder($id) {
if(isset($_GET['type'])) {
if($_GET['type'] == "misi") {
$misi = MisiRpjmd::where('visi_rpjmd_id', $id)->get();
return response()->json([
'status' => 'success',
'data' => $misi,
'id' => $id,
]);
} else if($_GET['type'] == "tujuan") {
$tujuan = TujuanRpjmd::where('misi_rpjmd_id', $id)->get();
return response()->json([
'status' => 'success',
'data' => $tujuan,
'id' => $id,
]);
} else if($_GET['type'] == "sasaran") {
$sasaran = SasaranRpjmd::where('tujuan_rpjmd_id', $id)->get();
return response()->json([
'status' => 'success',
'data' => $sasaran,
'id' => $id,
]);
} else if($_GET['type'] == "tujuan_renstra") {
$tujuan = TujuanRenstra::where('misi_rpjmd_id', $id)->where('induk_opd_id', $_GET['opd'])->get();
return response()->json([
'status' => 'success',
'data' => $tujuan,
'id' => $id,
]);
} else if($_GET['type'] == "sasaran_renstra") {
$tujuan = SasaranRenstra::where('tujuan_renstra_id', $id)->get();
return response()->json([
'status' => 'success',
'data' => $tujuan,
'id' => $id,
]);
} else if($_GET['type'] == "target_kerja") {
$sasaran = SasaranRenstra::find($id);
$iku = IndikatorPemerintah::where('id', $sasaran->indikator_pemerintah_id)->get();
$indikatorOPD = IndikatorOpd::where('sasaran_renstra_id', $id)->whereYear('created_at', $_GET['tahun'])->get();
return response()->json([
'status' => 'success',
'data1' => $iku,
'data2' => $indikatorOPD,
'id' => $id,
]);
} else if($_GET['type'] == "indikator_opd") {
$indikatorOPD = IndikatorOpd::where('sasaran_renstra_id', $id)->whereYear('created_at', $_GET['tahun'])->get();
return response()->json([
'status' => 'success',
'data' => $indikatorOPD,
'id' => $id,
]);
} else if($_GET['type'] == "detail_program") {
$DetailProgram = detailProgram::with('detailIndikatorProgram')->where('indikator_opd_id', $id)->get();
return response()->json([
'status' => 'success',
'data' => $DetailProgram,
'id' => $id,
]);
} else if($_GET['type'] == "detail_kegiatan") {
$DetailKegiatan = detailKegiatan::with('detailIndikatorKegiatan')->where('detail_program_id', $id)->get();
return response()->json([
'status' => 'success',
'data' => $DetailKegiatan,
'id' => $id,
]);
} else if($_GET['type'] == "detail_sub_kegiatan") {
$DetailSubKegiatan = detailSubKegiatan::with('detailIndikatorSubKegiatan')->where('detail_kegiatan_id', $id)->get();
return response()->json([
'status' => 'success',
'data' => $DetailSubKegiatan,
'id' => $id,
]);
}
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]