sekolah_adiwiyata/app/Http/Controllers/AjaxController.php

167 lines
5.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Master\FormKriteria;
use App\Models\Master\Provinsi;
use App\Models\Master\Kabupaten;
use App\Models\Master\Kecamatan;
use App\Models\Master\Sekolah;
use App\Models\Penilaian;
use App\Models\Kuesioner;
class AjaxController extends Controller
{
public function uploadTemp(Request $request)
{
$request->validate([
'file.*' => 'required|file|mimes:pdf|max:5120',
]);
$uploadedFiles = [];
if ($request->hasFile('file')) {
foreach ($request->file('file') as $file) {
$filename = uniqid() . '-' . time() . '.' . $file->getClientOriginalExtension();
$path = $file->storeAs('tmp_uploads', $filename);
$uploadedFiles[] = [
'filename' => $filename,
'url' => asset('storage/tmp_uploads/' . $filename),
];
}
return response()->json([
'success' => true,
'files' => $uploadedFiles, // Kembalikan semua file
]);
}
return response()->json([
'success' => false,
'message' => 'Upload failed.',
]);
}
public function sekolahNpsn(Request $request)
{
if ($request->ajax()) {
$query = $request->get('query');
if(@$request->get('tingkat_sekolah')){
$data = Sekolah::where('ms_tingkat_sekolah_id',$request->get('tingkat_sekolah'))->where('npsn', 'LIKE', "%{$query}%")->orderBy('npsn','ASC')->limit(20)->get();
}else{
$data = Sekolah::where('npsn', 'LIKE', "%{$query}%")->orderBy('npsn','ASC')->limit(20)->get();
}
// Sesuaikan dengan model & kolom yang diinginkan
// dd($data);
return response()->json($data);
}
}
public function getSekolahSK(Request $request)
{
$kuesioner = Kuesioner::where('level',($request->data-1))->where('tahun',date('Y'))->where('status',4)->get();
$data = [];
foreach ($kuesioner as $key => $value) {
$data[$key]['id'] = encode_id($value->ms_sekolah_id);
$data[$key]['name'] = $value->sekolah->nama_sekolah;
}
return response()->json($data);
}
public function getSekolahUsulan(Request $request)
{
$kuesioner = Kuesioner::where('level',($request->data-1))->where('tahun',date('Y'))->where('status',0)->get();
$data = [];
foreach ($kuesioner as $key => $value) {
$data[$key]['id'] = encode_id($value->ms_sekolah_id);
$data[$key]['name'] = $value->sekolah->nama_sekolah;
}
return response()->json($data);
}
public function getForm(Request $request)
{
if(@$request->sekolah){
$sekolahId = decode_id($request->sekolah);
}else{
$sekolahId = session('sekolah_id');
}
$data = formKriteria($request->page,$sekolahId);
$title = FormKriteria::select('kategori')->where('page_number',$request->page)->first();
$nilai_sekolah = Penilaian::where('ms_sekolah_id',$sekolahId)
->where('page_number',$request->page)
->where('skor','!=',0)
->where('tahun',date('Y'))
->where('status',0) //inputan sekolah
->first();
$nilai_kota = Penilaian::where('ms_sekolah_id',$sekolahId)
->where('page_number',$request->page)
->where('skor','!=',0)
->where('tahun',date('Y'))
->where('status',1) //inputan kota
->first();
$nilai_prov = Penilaian::where('ms_sekolah_id',$sekolahId)
->where('page_number',$request->page)
->where('skor','!=',0)
->where('tahun',date('Y'))
->where('status',2) //inputan kota
->first();
return response()->json(
[
'status' => true,
'data' => $data,
'title' => $title->kategori,
'nilai_sekolah' => @$nilai_sekolah ? @$nilai_sekolah->skor : 0,
'nilai_kota' => @$nilai_kota ? @$nilai_kota->skor : 0,
'nilai_prov' => @$nilai_prov ? @$nilai_prov->skor : 0,
]
);
}
public function getKabupaten(Request $request)
{
$_data = [];
if(@$request->id){
$keyId = decode_id($request->id);
$data = Kabupaten::where('ms_provinsi_id',$keyId)->get();
foreach($data as $k => $val){
$_data[$k]['id'] = encode_id($val->MsKabupatenId);
$_data[$k]['name'] = $val->name;
}
}
return response()->json(['status' => true, 'data' => $_data]);
}
public function getKecamatan(Request $request)
{
$_data = [];
if(@$request->id){
$keyId = decode_id($request->id);
$data = Kecamatan::where('ms_kabupaten_id',$keyId)->get();
foreach($data as $k => $val){
$_data[$k]['id'] = encode_id($val->MsKecamatanId);
$_data[$k]['name'] = $val->name;
}
}
return response()->json(['status' => true, 'data' => $_data]);
}
public function getSekolah(Request $request)
{
$_data = [];
if(@$request->id){
$keyId = decode_id($request->id);
$data = Sekolah::where('ms_kecamatan_id',$keyId)->get();
foreach($data as $k => $val){
$_data[$k]['id'] = encode_id($val->MsSekolahId);
$_data[$k]['name'] = $val->nama_sekolah;
$_data[$k]['npsn'] = $val->npsn;
}
}
return response()->json(['status' => true, 'data' => $_data]);
}
}