198 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			198 lines
		
	
	
		
			6.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 uploadTempImage(Request $request)
 | 
						|
    {
 | 
						|
        $request->validate([
 | 
						|
            'file.*' => 'required|file|mimes:png,jpg,jpeg|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)
 | 
						|
    {
 | 
						|
        // dd($request->all());
 | 
						|
        // 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',10)->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,@$request->type);
 | 
						|
        $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]);
 | 
						|
    }
 | 
						|
}
 |