sekolah_adiwiyata/app/Http/Controllers/Modules/Usulan/AdministrasiController.php

198 lines
8.8 KiB
PHP

<?php
namespace App\Http\Controllers\Modules\Usulan;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Master\Provinsi;
use App\Models\Kuesioner;
use App\Models\DokumenAdministrasi;
class AdministrasiController extends Controller
{
private $template = 'modules.usulan.administrasi';
private $route = 'modules.usulan.administrasi';
private $title = 'Usulan Adiwiyata - Dokumen Administrasi';
public function index()
{
$data['route'] = $this->route;
$data['title'] = $this->title;
$data['provinsi'] = Provinsi::where('kode_wilayah','010000')->get();
return view($this->template.'.index',$data);
}
public function grid(Request $request)
{
if(session('group_alias') == 'sekolah'){
$kuesioner = Kuesioner::where('ms_sekolah_id',session('sekolah_id'))->where('tahun',date('Y'))->orderBy('created_at','DESC')->get();
}else{
$kuesioner = Kuesioner::where('tahun',date('Y'))->orderBy('created_at','DESC')->get();
}
foreach ($kuesioner as $key => $row) {
$action = '';
// if((access('is_create', $this->route.'.*')) || (access('is_update', $this->route.'.*'))){
// $action .= '<a href="#" data-secureid="'.encode_id($row->KuesionerId).'" data-toggle="modal" data-target="#modal" title="View Data" data-jenisusulan="'.$jenis_usulan.'" class="btn btn-xs btn-block btn-primary btnModal"><i class="fal fa-pencil text-white"></i></a>';
// }
if(($row->level+1) == 1){
$jenis_usulan = 'Keputusan Gubernur tentang penetapan Sekolah Adiwiyata Kab/Kota';
}elseif(($row->level+1) == 2){
$jenis_usulan = 'Keputusan Gubernur tentang penetapan Sekolah Adiwiyata Provinsi';
}elseif(($row->level+1) == 3){
$jenis_usulan = 'Keputusan Gubernur tentang penetapan Sekolah Adiwiyata Nasional';
}elseif(($row->level+1) == 4){
$jenis_usulan = 'Keputusan Gubernur tentang penetapan Sekolah Adiwiyata Mandiri';
}
$dok = DokumenAdministrasi::where('ms_sekolah_id',$row->ms_sekolah_id)->where('tahun',date('Y'))->first();
if(session('group_alias') == 'sekolah'){
if(@$dok->status == 0){
$action .= '<a href="#" data-link="'.@$dok->link.'" data-secureid="'.encode_id($row->KuesionerId).'" data-toggle="modal" data-target="#modal" title="View Data" data-jenisusulan="'.$jenis_usulan.'" class="btn btn-xs btn-block btn-primary btnModal"><i class="fal fa-pencil text-white"></i></a>';
}
}
$action .= '<a href="#" data-link="'.@$dok->link.'" data-jenisusulan="'.$jenis_usulan.'" class="btn btn-xs btn-block btn-secondary toggle-row" data-toggle="tooltip" data-placement="top" title="JUDUL"><i class="fal fa-list text-white"></i></a>';
if(session('group_alias') == 'dinas'){
if($dok->status == 0){
$action .= '<a href="#" data-href="'.url('usulan/administrasi/verifikasi/'.encode_id($dok->DokumenAdministrasiId)).'" data-toggle="tooltip" title="Verifikasi Data" class="btn btn-xs btn-block btn-success verifikasi"><i class="fal fa-check text-white"></i></a>';
$action .= '<a href="#" data-href="'.url('usulan/administrasi/tolak/'.encode_id($dok->DokumenAdministrasiId)).'" data-toggle="tooltip" title="Verifikasi Data" class="btn btn-xs btn-block btn-danger tolak"><i class="fal fa-times text-white"></i></a>';
}
}
if($row->level == 0){
$penghargaan = '<i class="fal fa-trophy"></i>&nbsp;Belum Pernah';
}elseif($row->level == 1){
$penghargaan = '<i class="fal fa-trophy"></i>&nbsp;Adiwiyata Kab/Kota';
}elseif($row->level == 2){
$penghargaan = '<i class="fal fa-trophy"></i>&nbsp;Adiwiyata Provinsi';
}elseif($row->level == 3){
$penghargaan = '<i class="fal fa-trophy"></i>&nbsp;Adiwiyata Nasional';
}elseif($row->level == 4){
$penghargaan = '<i class="fal fa-trophy"></i>&nbsp;Adiwiyata Mandiri';
}
if(($row->level+1) == 1){
$jenis_usulan = 'Kabupaten/Kota';
}elseif(($row->level+1) == 2){
$jenis_usulan = 'Provinsi';
}elseif(($row->level+1) == 3){
$jenis_usulan = 'Nasional';
}elseif(($row->level+1) == 4){
$jenis_usulan = 'Mandiri';
}
if(@$dok){
if(@$dok->status == 1){
$labelDok = '<span class="badge badge-success">Dokumen Sudah Di Verifikasi</span>';
}elseif(@$dok->status == 2){
$labelDok = '<span class="badge badge-danger">Dokumen Sudah Di Tolak</span>';
}else{
$labelDok = '<span class="badge badge-warning">Menuggu Verifikasi Dokumen</span>';
}
}else{
$labelDok = '<span class="badge badge-danger">Belum Upload Dokumen</span>';
}
$sekolah = '';
$sekolah .= @$row->sekolah->nama_sekolah.'<br>';
$sekolah .= '<span class="badge badge-success">'.@$row->profile->tingkat->name.'</span>&nbsp;';
$sekolah .= '<span class="badge badge-primary">'.@$row->profile->status_sekolah.'</span>&nbsp;';
$_data[] = [
'no' => $key+1,
'id' => encode_id($row->id),
'npsn' => $row->sekolah->npsn,
'nama' => $sekolah,
'tahun' => $row->tahun,
'labelDok' => $labelDok,
'status_level' => '<span style="width:100%" class="badge badge-secondary">Level '.levelAdiwiyata($row->npsn).'</span>',
'wilayah' => $row->sekolah->kabupaten->name,
'penghargaan' => $penghargaan,
'jenis_usulan' => '<span class="badge badge-success">'.$jenis_usulan.'</span>',
'action' => $action,
];
}
return response()->json($_data);
}
public function update(Request $request)
{
try {
$sekolahId = decode_id($request->sekolah);
$dokumen = DokumenAdministrasi::where('ms_sekolah_id',$sekolahId)->where('tahun',date('Y'))->first();
$dokumen->nama_dalam_sk = $request->nama_dalam_sk;
$dokumen->sk_ttd = $request->sk_ttd;
$dokumen->waktu_penetapan = $request->waktu_penetapan;
$dokumen->save();
return response()->json(['status' => true,'message' => 'Berhasil Update Data','type' => 'success']);
} catch (Exception $e) {
return response()->json(['status' => false,'message' => $e->getMessage(),'type' => 'error']);
}
}
public function store(Request $request)
{
$data = $request['data'];
$keyId = decode_id($data['secure_id']);
if(!@$keyId){
return response()->json(['status' => false,'message' => 'Maaf Terjadi Kesalahan','type' => 'error']);
}
$dok = DokumenAdministrasi::where('ms_sekolah_id',session('sekolah_id'))->where('tahun',date('Y'))->first();
if(@$dok->status == 1){
return response()->json(['status' => false,'message' => 'Dokumen Sudah di verifikasi','type' => 'info']);
}
$dok = DokumenAdministrasi::updateOrCreate([
'kuesioner_id' => $keyId,
'ms_sekolah_id' => session('sekolah_id'),
'npsn' => session('npsn'),
'created_by' => auth()->user()->id,
'tahun' => date('Y'),
],[
'kuesioner_id' => $keyId,
'ms_sekolah_id' => session('sekolah_id'),
'npsn' => session('npsn'),
'created_by' => auth()->user()->id,
'tahun' => date('Y'),
'link' => $data['file'],
'status' => 0,
]);
return response()->json(['status' => true,'message' => 'Berhasil Update Data','type' => 'success']);
}
public function verifikasi($id)
{
$keyId = decode_id($id);
$dok = DokumenAdministrasi::find($keyId);
$dok->status = 1;
$dok->save();
return response()->json(['status' => true,'message' => 'Data Berhasil Di Update','type' => 'success']);
}
public function tolak($id)
{
$keyId = decode_id($id);
$dok = DokumenAdministrasi::find($keyId);
$dok->status = 2;
$dok->save();
return response()->json(['status' => true,'message' => 'Data Berhasil Di Update','type' => 'success']);
}
}