diff --git a/app/Helpers/custom.php b/app/Helpers/custom.php index 8f819f4..0838748 100644 --- a/app/Helpers/custom.php +++ b/app/Helpers/custom.php @@ -3,6 +3,7 @@ use App\Models\Master\MasterMenu; use App\Models\Master\MasterAccessMenu; use App\Models\Kuesioner; +use App\Models\KuesionerLog; use App\Models\Master\FormKriteria; use App\Models\Penilaian; use App\Models\User; @@ -213,6 +214,19 @@ if (!function_exists('getNilai')) { return @$nilai ? @$nilai->skor : 0; } } +if (!function_exists('kuesionerLogStatus')) { + /** + * @param $val + * + * @return string + */ + function kuesionerLogStatus($KuesionerId) + { + $log = KuesionerLog::where('kuesioner_id',$KuesionerId)->orderBy('KuesionerLogId','DESC')->first(); + $progress = ''.str_replace('_',' ',\Str::title($log->step)).''; + return $progress; + } +} if (!function_exists('status_kuesioner')) { /** @@ -225,14 +239,15 @@ if (!function_exists('status_kuesioner')) { //0 = Belum di Verifikasi Dinas //1 = Sudah Diusulkan Oleh Dinas atau Sudin //2 = Approve Dokumen - //3 = Ditolak Dokumen - - //1 = Sudah di Verifikasi Dinas -> Hold Menunggu Usulan - //2 = Ditolak Oleh Dinas - //3 = selesai kelengkapan data - //4 = Validasi Diteruskan - //5 = Validasi Dikembalikan - //6 = Terbit SK + //3 = Kirim Ke Penilai Kota ( Proses Penilaian ) + //4 = Selesai Penilaian Kota + //5 = Dikembalikan Penilaian Kota ke Sekolah + //6 = Selesai Penilaian Provinsi + //7 = Dikembalikan Penilaian Provinsi ke Kota + //8 = Selesai Penilaian Nasional + //9 = Selesai Penilaian Mandiri + //10 = Selesai Final + //11 = Terbit SK } } @@ -640,12 +655,16 @@ if (!function_exists('formKriteria')) { function formKriteria($page_number,$sekolah_id = null) { $kriteria = FormKriteria::where('page_number',$page_number)->get(); + $html = ''; if(@$sekolah_id){ $idSekolah = @$sekolah_id; }else{ $idSekolah = session('sekolah_id'); } + + $kuesioner = Kuesioner::where('ms_sekolah_id',$idSekolah)->where('tahun',date('Y'))->first(); + foreach($kriteria as $keyKriteria => $data){ if(session('group_alias') == 'sekolah'){ @@ -794,6 +813,17 @@ if (!function_exists('formKriteria')) { $html .= ''; $html .= ''; $html .= ''; + + if($kuesioner->status == 5){ + $catatan = Penilaian::where('key','catatan')->where('page_number',$page_number)->where('ms_sekolah_id',$idSekolah)->where('status',1)->first(); + $html .= '
'; + // $html .= ''; + $html .= '
'; + $html .= '
Catatan
'; + $html .= '

'.json_decode($catatan->value).'

'; + $html .= '
'; + $html .= '
'; + } }else{ $html .= '
'; diff --git a/app/Http/Controllers/AjaxController.php b/app/Http/Controllers/AjaxController.php index 51bbc5c..c748f79 100644 --- a/app/Http/Controllers/AjaxController.php +++ b/app/Http/Controllers/AjaxController.php @@ -60,7 +60,7 @@ class AjaxController extends Controller } public function getSekolahSK(Request $request) { - $kuesioner = Kuesioner::where('level',($request->data-1))->where('tahun',date('Y'))->where('status',4)->get(); + $kuesioner = Kuesioner::where('level',($request->data-1))->where('tahun',date('Y'))->where('status',10)->get(); $data = []; foreach ($kuesioner as $key => $value) { $data[$key]['id'] = encode_id($value->ms_sekolah_id); diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 5697b5f..9251a92 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Kuesioner; +use App\Models\KuesionerLog; use App\Models\ProfileSekolah; use App\Models\Master\FormKriteria; use App\Models\Penilaian; @@ -44,6 +45,7 @@ class HomeController extends Controller $data['page'] = FormKriteria::select('page_number')->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->count(); $data['penilaian'] = Penilaian::select('page_number')->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->count(); $data['sk'] = SK::where('tahun',date('Y'))->where('sekolah','like','%'.session('sekolah_id').'%')->first(); + $data['log'] = KuesionerLog::where('kuesioner_id',@$data['kuesioner']->KuesionerId)->orderBy('created_at','DESC')->first(); return view($this->template.'.sekolah', $data); }else{ @@ -53,10 +55,10 @@ class HomeController extends Controller $data['total_usulan_nasional'] = Kuesioner::where('tahun',date('Y'))->where('level',2)->count(); $data['total_usulan_mandiri'] = Kuesioner::where('tahun',date('Y'))->where('level',3)->count(); - $data['total_sekolah_kab'] = Kuesioner::where('tahun',date('Y'))->where('level',0)->where('status',6)->count(); - $data['total_sekolah_prov'] = Kuesioner::where('tahun',date('Y'))->where('level',1)->where('status',6)->count(); - $data['total_sekolah_nasional'] = Kuesioner::where('tahun',date('Y'))->where('level',2)->where('status',6)->count(); - $data['total_sekolah_mandiri'] = Kuesioner::where('tahun',date('Y'))->where('level',3)->where('status',6)->count(); + $data['total_sekolah_kab'] = Kuesioner::where('tahun',date('Y'))->where('level',0)->where('status',11)->count(); + $data['total_sekolah_prov'] = Kuesioner::where('tahun',date('Y'))->where('level',1)->where('status',11)->count(); + $data['total_sekolah_nasional'] = Kuesioner::where('tahun',date('Y'))->where('level',2)->where('status',11)->count(); + $data['total_sekolah_mandiri'] = Kuesioner::where('tahun',date('Y'))->where('level',3)->where('status',11)->count(); $data['route'] = 'modules'; return view($this->template.'.admin', $data); } diff --git a/app/Http/Controllers/Modules/Usulan/CSAKController.php b/app/Http/Controllers/Modules/Usulan/CSAKController.php index b99f00e..6647922 100644 --- a/app/Http/Controllers/Modules/Usulan/CSAKController.php +++ b/app/Http/Controllers/Modules/Usulan/CSAKController.php @@ -105,9 +105,6 @@ class CSAKController extends Controller $penilaian .= ' Kota : '.getNilaiAll('kota',$row->ms_sekolah_id).'
'; // $penilaian .= ' Provinsi : '.getNilaiAll('provinsi',$row->ms_sekolah_id).'
'; - $log = KuesionerLog::where('kuesioner_id',$row->KuesionerId)->orderBy('created_at','DESC')->first(); - $progress = ''.str_replace('_',' ',\Str::title($log->step)).''; - $sekolah = ''; $sekolah .= @$row->sekolah->nama_sekolah.'
'; $sekolah .= ''.@$row->profile->tingkat->name.' '; @@ -122,7 +119,7 @@ class CSAKController extends Controller 'wilayah' => $row->sekolah->kabupaten->name, 'penghargaan' => $penghargaan, 'penilaian' => $penilaian, - 'progress' => $progress, + 'progress' => kuesionerLogStatus($row->KuesionerId), 'action' => $action, ]; @@ -145,21 +142,6 @@ class CSAKController extends Controller public function store(Request $request) { $sekolahId = decode_id($request->sekolah); - $dokumen = DokumenAdministrasi::where('ms_sekolah_id',$sekolahId)->where('tahun',date('Y'))->first(); - - if((@$dokumen->nama_dalam_sk == 0) || (@$dokumen->sk_ttd == 0) || (@$dokumen->waktu_penetapan == 0)){ - return response()->json(['status' => false,'message' => 'Data Dokumen Administrasi Belum Diisi!']); - } - - if($request['validasi'] == 1){ - $step = 'validasi_usulan_diteruskan'; - $status = 4; - }elseif($request['validasi'] == 2){ - $step = 'validasi_usulan_dikembalikan'; - $status = 5; - }else{ - return response()->json(['validasi' => false,'message' => 'Maaf Terjadi Kesalahan Dalam Input Data!']); - } $soal = Penilaian::where('ms_sekolah_id',$sekolahId)->where('tahun',date('Y'))->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->toArray(); $penilaian = Penilaian::where('ms_sekolah_id',$sekolahId)->where('tahun',date('Y'))->where('status',1)->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->toArray(); @@ -168,21 +150,56 @@ class CSAKController extends Controller return response()->json(['validasi' => false,'message' => 'Maaf Penilaian Belum Lengkap!']); } - $kuesioner = Kuesioner::where('ms_sekolah_id',$sekolahId)->where('tahun',date('Y'))->first(); - $kuesioner->catatan_usulan = $request['catatan_validasi']; - $kuesioner->status = $status; - $kuesioner->save(); + if($request['validasi'] == 1){ - //kuesioner log - $log = new KuesionerLog; - $log->kuesioner_id = $kuesioner->KuesionerId; - $log->ms_sekolah_id = $kuesioner->ms_sekolah_id; - $log->npsn = $kuesioner->npsn; - $log->ms_group_id = session('group_id'); - $log->step = @$step; - $log->status = $status; - $log->created_by = auth()->user()->id; - $log->save(); + $kuesioner = Kuesioner::where('ms_sekolah_id',$sekolahId)->where('tahun',date('Y'))->first(); + $kuesioner->catatan_usulan = $request['catatan_validasi']; + $kuesioner->status = 10; // selesai final, karena usulannya ke kota dari yang belum ada jadi langsung selesai tidak ada naik ke provinsi + $kuesioner->save(); + + //kuesioner log + $log = new KuesionerLog; + $log->kuesioner_id = $kuesioner->KuesionerId; + $log->ms_sekolah_id = $kuesioner->ms_sekolah_id; + $log->npsn = $kuesioner->npsn; + $log->ms_group_id = session('group_id'); + $log->step = 'selesai_penilaian_kota'; + $log->status = 4; + $log->created_by = auth()->user()->id; + $log->save(); + + //kuesioner log final + $log = new KuesionerLog; + $log->kuesioner_id = $kuesioner->KuesionerId; + $log->ms_sekolah_id = $kuesioner->ms_sekolah_id; + $log->npsn = $kuesioner->npsn; + $log->ms_group_id = session('group_id'); + $log->step = 'selesai_final'; + $log->status = 10; + $log->created_by = auth()->user()->id; + $log->save(); + + }elseif($request['validasi'] == 2){ + + $kuesioner = Kuesioner::where('ms_sekolah_id',$sekolahId)->where('tahun',date('Y'))->first(); + $kuesioner->catatan_usulan = $request['catatan_validasi']; + $kuesioner->status = 5; + $kuesioner->save(); + + //kuesioner log + $log = new KuesionerLog; + $log->kuesioner_id = $kuesioner->KuesionerId; + $log->ms_sekolah_id = $kuesioner->ms_sekolah_id; + $log->npsn = $kuesioner->npsn; + $log->ms_group_id = session('group_id'); + $log->step = 'dikembalikan_penilaian_kota'; + $log->status = 5; + $log->created_by = auth()->user()->id; + $log->save(); + + }else{ + return response()->json(['validasi' => false,'message' => 'Maaf Terjadi Kesalahan Dalam Input Data!']); + } return response()->json(['status' => true,'message' => 'Berhasil update data!']); } diff --git a/app/Http/Controllers/Modules/Usulan/SKController.php b/app/Http/Controllers/Modules/Usulan/SKController.php index bc92dbd..8f52b22 100644 --- a/app/Http/Controllers/Modules/Usulan/SKController.php +++ b/app/Http/Controllers/Modules/Usulan/SKController.php @@ -50,6 +50,7 @@ class SKController extends Controller $_data[] = [ 'no' => $key+1, 'id' => encode_id($row->id), + 'nomor_sk' => $row->nomor_sk, 'judul' => $row->nama, 'sekolah' => listSekolah($row->sekolah), 'tahun' => $row->tahun, @@ -85,6 +86,7 @@ class SKController extends Controller // dd($request->all()); try { Validator::make($request->all(), [ + 'nomor_sk' => 'max:200', 'judul' => 'max:200', 'tanggal_penetapan' => 'date', 'jenis_usulan' => 'required', @@ -150,6 +152,7 @@ class SKController extends Controller ],[ 'tahun' => date('Y'), 'nama' => @$request->nama, + 'nomor_sk' => @$request->nomor_sk, 'tanggal_penetapan' => $request->tanggal_penetapan, 'jenis_usulan' => $request->jenis_usulan, 'file' => $filePath, @@ -163,6 +166,7 @@ class SKController extends Controller 'jenis_usulan' => $request->jenis_usulan, ],[ 'tahun' => date('Y'), + 'nomor_sk' => @$request->nomor_sk, 'nama' => @$request->nama, 'tanggal_penetapan' => $request->tanggal_penetapan, 'jenis_usulan' => $request->jenis_usulan, @@ -174,8 +178,8 @@ class SKController extends Controller foreach($request->sekolah as $sekolah){ - $kuesioner = Kuesioner::where('ms_sekolah_id',decode_id($sekolah))->where('status',4)->where('tahun',date('Y'))->first(); - $kuesioner->status = 6; + $kuesioner = Kuesioner::where('ms_sekolah_id',decode_id($sekolah))->where('status',10)->where('tahun',date('Y'))->first(); + $kuesioner->status = 11; $kuesioner->save(); //kuesioner log @@ -184,8 +188,8 @@ class SKController extends Controller $log->ms_sekolah_id = $kuesioner->ms_sekolah_id; $log->npsn = $kuesioner->npsn; $log->ms_group_id = session('group_id'); - $log->step = 'penetapan_sk'; - $log->status = 6; + $log->step = 'terbit_sk'; + $log->status = 11; $log->created_by = auth()->user()->id; $log->save(); } diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index 95ca5da..2930f91 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -100,8 +100,13 @@ class ProfileController extends Controller $penilaian = ''; $penilaian .= ' Sekolah : '.getNilaiAll('sekolah',$row->MsSekolahId).'
'; - $penilaian .= ' Kota : '.getNilaiAll('kota',$row->MsSekolahId).'
'; - $penilaian .= ' Provinsi : '.getNilaiAll('provinsi',$row->MsSekolahId).'
'; + if(($row->level+1) == 1){ + $penilaian .= ' Kota : '.getNilaiAll('kota',$row->MsSekolahId).'
'; + } + if(($row->level+1) == 2){ + $penilaian .= ' Kota : '.getNilaiAll('kota',$row->MsSekolahId).'
'; + $penilaian .= ' Provinsi : '.getNilaiAll('provinsi',$row->MsSekolahId).'
'; + } $_data[] = [ 'no' => $key+1, diff --git a/database/migrations/2025_04_17_092708_create_s_k_s_table.php b/database/migrations/2025_04_17_092708_create_s_k_s_table.php index 2812f46..42f2b90 100644 --- a/database/migrations/2025_04_17_092708_create_s_k_s_table.php +++ b/database/migrations/2025_04_17_092708_create_s_k_s_table.php @@ -13,6 +13,7 @@ return new class extends Migration { Schema::create('sk', function (Blueprint $table) { $table->id('SkId'); + $table->string('nomor_sk')->nullable(); $table->string('nama')->nullable(); $table->json('sekolah'); $table->year('tahun'); diff --git a/resources/views/modules/dashboard/sekolah.blade.php b/resources/views/modules/dashboard/sekolah.blade.php index 4992ea6..ad88ab1 100644 --- a/resources/views/modules/dashboard/sekolah.blade.php +++ b/resources/views/modules/dashboard/sekolah.blade.php @@ -143,14 +143,18 @@
@endif - @if(@$sk) + @if(@$kuesioner) + + - +
Status Usulan Penghargaan Terakhir Tanggal Penetapan SK Lampiran SK
+ {{str_replace('_',' ',\Str::title($log->step))}} + jenis_usulan == 0){ @@ -168,7 +172,11 @@ {!!$penghargaan!!} {{@$sk->tanggal_penetapan}} SK Adiwiyata + @if(@$sk) + SK Adiwiyata + @endif +
@endif diff --git a/resources/views/modules/kuesioner/index.blade.php b/resources/views/modules/kuesioner/index.blade.php index 01a0d16..505d5f1 100644 --- a/resources/views/modules/kuesioner/index.blade.php +++ b/resources/views/modules/kuesioner/index.blade.php @@ -142,7 +142,7 @@ NPSN Nama Sekolah Wilayah - Penghargaan Terakhir + Status diff --git a/resources/views/modules/profile/admin.blade.php b/resources/views/modules/profile/admin.blade.php index 954a466..f3dcd6b 100644 --- a/resources/views/modules/profile/admin.blade.php +++ b/resources/views/modules/profile/admin.blade.php @@ -143,13 +143,13 @@ Nama Sekolah Wilayah Status Level - Tanggal Level - Penghargaan Terakhir - DOK Administrasi + + + Pemenuhan Kriteria Jenis Usulan Usulkan CSA - Perpanjangan CSA + diff --git a/resources/views/modules/usulan/csak/form.blade.php b/resources/views/modules/usulan/csak/form.blade.php index 16d51b1..41372d7 100644 --- a/resources/views/modules/usulan/csak/form.blade.php +++ b/resources/views/modules/usulan/csak/form.blade.php @@ -339,14 +339,6 @@ Berdasarkan data usulan yang dilengkapi, dinyatakan bahwa {{@$sekolah->nama_sekolah}} : - - Nilai Dokumen Administrasi - 0 - - - Nilai Pemenuhan Kriteria - 0 - Validasi diff --git a/resources/views/modules/usulan/kriteria/form.blade.php b/resources/views/modules/usulan/kriteria/form.blade.php index 317369f..8aa7c38 100644 --- a/resources/views/modules/usulan/kriteria/form.blade.php +++ b/resources/views/modules/usulan/kriteria/form.blade.php @@ -129,7 +129,7 @@