';
if($data->active_lainnya == 1){
- $nameOptionLainnya = 'lainnya_number_'.$keyKriteria;
$html .= '
';
$html .= '
';
@@ -85,6 +425,17 @@ if (!function_exists('formKriteria')) {
}
}
+ $html .= '
';
+
return $html;
}
}
@@ -98,6 +449,7 @@ if (!function_exists('levelAdiwiyata')) {
function levelAdiwiyata($npsn)
{
$kuesioner = Kuesioner::where('npsn',$npsn)->where('tahun',date('Y'))->first();
+ $data = null;
if(@$kuesioner){
$data = $kuesioner;
}else{
@@ -106,20 +458,20 @@ if (!function_exists('levelAdiwiyata')) {
}
$level = '';
- if($data->level == 0){
- if(($data->level == 0) && ($data->tim_adiwiyata == 2) && ($data->info_pblhs == 2) ){
+ if(@$data->level == 0){
+ if((@$data->level == 0) && (@$data->tim_adiwiyata == 2) && (@$data->info_pblhs == 2) ){
$level = '2';
- }elseif(($data->level == 0) && ($data->tim_adiwiyata == 2)){
+ }elseif((@$data->level == 0) && (@$data->tim_adiwiyata == 2)){
$level = '1';
}else{
$level = '0';
}
- }elseif($data->level == 1){
+ }elseif(@$data->level == 1){
$level = '3';
- }elseif($data->level == 2){
+ }elseif(@$data->level == 2){
$level = '4';
}else{
- $level = '4';
+ $level = '0';
}
return $level;
diff --git a/app/Http/Controllers/AjaxController.php b/app/Http/Controllers/AjaxController.php
index 7c70a73..b27b689 100644
--- a/app/Http/Controllers/AjaxController.php
+++ b/app/Http/Controllers/AjaxController.php
@@ -4,6 +4,10 @@ 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;
class AjaxController extends Controller
{
@@ -14,4 +18,45 @@ class AjaxController extends Controller
return response()->json(['status' => true, 'data' => $data,'title' => $title->kategori]);
}
+ 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]);
+ }
}
diff --git a/app/Http/Controllers/Api/ApiController.php b/app/Http/Controllers/Api/ApiController.php
new file mode 100644
index 0000000..4222507
--- /dev/null
+++ b/app/Http/Controllers/Api/ApiController.php
@@ -0,0 +1,145 @@
+ 'https://dapo.dikdasmen.go.id/rekap/dataSekolah?id_level_wilayah=0&kode_wilayah=000000&semester_id=20242',
+ CURLOPT_RETURNTRANSFER => true,
+ CURLOPT_ENCODING => '',
+ CURLOPT_MAXREDIRS => 10,
+ CURLOPT_TIMEOUT => 0,
+ CURLOPT_FOLLOWLOCATION => true,
+ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
+ CURLOPT_CUSTOMREQUEST => 'GET',
+ ));
+
+ $response = curl_exec($curl);
+
+ curl_close($curl);
+
+ $data = json_decode($response);
+ $_data = [];
+ foreach($data as $k => $val){
+ $_data = Provinsi::updateOrCreate([
+ 'kode_wilayah' => str_replace(' ', '', $val->kode_wilayah)
+ ],[
+ 'name' => str_replace('Prov. ','',$val->nama),
+ 'kode_wilayah' => str_replace(' ', '', $val->kode_wilayah),
+ ]);
+ }
+
+ echo "-- DONE --";
+
+ }
+
+ public function getKabupaten()
+ {
+ $prov = Provinsi::where('kode_wilayah','010000')->first();
+ $curl = curl_init();
+ curl_setopt_array($curl, array(
+ CURLOPT_URL => 'https://dapo.dikdasmen.go.id/rekap/dataSekolah?id_level_wilayah=1&kode_wilayah=010000&semester_id=20242',
+ CURLOPT_RETURNTRANSFER => true,
+ CURLOPT_ENCODING => '',
+ CURLOPT_MAXREDIRS => 10,
+ CURLOPT_TIMEOUT => 0,
+ CURLOPT_FOLLOWLOCATION => true,
+ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
+ CURLOPT_CUSTOMREQUEST => 'GET',
+ ));
+
+ $response = curl_exec($curl);
+
+ curl_close($curl);
+ $data = json_decode($response);
+ $_data = [];
+
+
+ foreach($data as $k => $val){
+ $_data = Kabupaten::updateOrCreate([
+ 'kode_wilayah' => str_replace(' ', '', $val->kode_wilayah),
+ ],[
+ 'ms_provinsi_id' => $prov->MsProvinsiId,
+ 'name' => str_replace('Kab. ','',$val->nama),
+ 'kode_wilayah' => str_replace(' ', '', $val->kode_wilayah),
+ ]);
+ }
+
+ echo "-- DONE --";
+
+ }
+
+ public function getKecamatan()
+ {
+ //get kabupaten jakarta
+ $prov = Provinsi::where('kode_wilayah','010000')->first();
+ $kab = Kabupaten::where('ms_provinsi_id',$prov->MsProvinsiId)->get();
+ foreach($kab as $data){
+ $response = Http::timeout(300)->withoutVerifying()->get('https://dapo.dikdasmen.go.id/rekap/dataSekolah?id_level_wilayah=2&kode_wilayah='.$data->kode_wilayah.'&semester_id=20242');
+
+ $kec = json_decode($response->body());
+ foreach($kec as $val){
+ $_data = Kecamatan::updateOrCreate([
+ 'kode_wilayah' => str_replace(' ', '', $val->kode_wilayah),
+ ],[
+ 'ms_provinsi_id' => $prov->MsProvinsiId,
+ 'ms_kabupaten_id' => $data->MsKabupatenId,
+ 'name' => str_replace('Kec. ','',$val->nama),
+ 'kode_wilayah' => str_replace(' ', '', $val->kode_wilayah),
+ ]);
+ }
+ }
+
+ echo "-- DONE --";
+ }
+
+ public function getSekolah()
+ {
+
+ $type = request()->type;
+
+ $level = MasterTingkatSekolah::where('name',strtoupper($type))->first();
+ //get kabupaten jakarta
+ $prov = Provinsi::where('kode_wilayah','010000')->first();
+ $kab = Kabupaten::where('ms_provinsi_id',$prov->MsProvinsiId)->get();
+ foreach($kab as $data){
+ $kec = Kecamatan::where('ms_kabupaten_id',$data->MsKabupatenId)->get();
+
+ foreach($kec as $dataKec){
+ $response = Http::timeout(300)->withoutVerifying()->get('https://dapo.dikdasmen.go.id/rekap/progresSP?id_level_wilayah=3&kode_wilayah='.$dataKec->kode_wilayah.'&semester_id=20242&bentuk_pendidikan_id='.$type);
+
+ $dataSekolah = json_decode($response->body());
+
+ foreach($dataSekolah as $val){
+ $_data = Sekolah::updateOrCreate([
+ 'npsn' => $val->npsn,
+ ],[
+ 'ms_provinsi_id' => $prov->MsProvinsiId,
+ 'ms_kabupaten_id' => $data->MsKabupatenId,
+ 'ms_kecamatan_id' => $dataKec->MsKecamatanId,
+ 'ms_tingkat_sekolah_id' => $level->MsTingkatSekolahId,
+ 'status' => $val->status_sekolah,
+ 'nama_sekolah' => $val->nama,
+ 'npsn' => $val->npsn,
+ ]);
+ }
+ }
+
+ }
+
+ echo "-- DONE --";
+ }
+}
diff --git a/app/Http/Controllers/Auth/CustomLoginController.php b/app/Http/Controllers/Auth/CustomLoginController.php
index 88414e1..a141ae7 100644
--- a/app/Http/Controllers/Auth/CustomLoginController.php
+++ b/app/Http/Controllers/Auth/CustomLoginController.php
@@ -9,6 +9,7 @@ use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use App\Models\User;
+use App\Models\Master\Sekolah;
class CustomLoginController extends Controller
{
@@ -40,12 +41,13 @@ class CustomLoginController extends Controller
'username' => $user->username,
'name' => $user->name,
'email' => $user->email,
- 'npsn' => @$user->sekolah->npsn,
- 'tingkat_sekolah' => @$user->sekolah->tingkat->name,
- 'status_sekolah' => @$user->sekolah->status_sekolah,
- 'alamat_sekolah' => @$user->sekolah->alamat_sekolah,
- 'kontak_person' => @$user->sekolah->kontak_person,
- 'telp' => @$user->sekolah->telp,
+ 'sekolah_id' => @$user->profile->sekolah->MsSekolahId,
+ 'npsn' => @$user->profile->npsn,
+ 'tingkat_sekolah' => @$user->profile->tingkat->name,
+ 'status_sekolah' => @$user->profile->status_sekolah,
+ 'alamat_sekolah' => @$user->profile->alamat_sekolah,
+ 'kontak_person' => @$user->profile->kontak_person,
+ 'telp' => @$user->profile->telp,
'currYear' => date('Y'),
'group_id' => @$user->ms_group_id,
'group_alias' => @$user->group->alias,
@@ -74,12 +76,13 @@ class CustomLoginController extends Controller
'username' => $user->username,
'name' => $user->name,
'email' => $user->email,
- 'npsn' => @$user->sekolah->npsn,
- 'tingkat_sekolah' => @$user->sekolah->tingkat->name,
- 'status_sekolah' => @$user->sekolah->status_sekolah,
- 'alamat_sekolah' => @$user->sekolah->alamat_sekolah,
- 'kontak_person' => @$user->sekolah->kontak_person,
- 'telp' => @$user->sekolah->telp,
+ 'sekolah_id' => @$user->profile->sekolah->MsSekolahId,
+ 'npsn' => @$user->profile->npsn,
+ 'tingkat_sekolah' => @$user->profile->tingkat->name,
+ 'status_sekolah' => @$user->profile->status_sekolah,
+ 'alamat_sekolah' => @$user->profile->alamat_sekolah,
+ 'kontak_person' => @$user->profile->kontak_person,
+ 'telp' => @$user->profile->telp,
'currYear' => date('Y'),
'group_id' => @$user->ms_group_id,
'group_alias' => @$user->group->alias,
diff --git a/app/Http/Controllers/Auth/CustomRegisterController.php b/app/Http/Controllers/Auth/CustomRegisterController.php
index 36a1d79..ed90cdd 100644
--- a/app/Http/Controllers/Auth/CustomRegisterController.php
+++ b/app/Http/Controllers/Auth/CustomRegisterController.php
@@ -10,24 +10,31 @@ use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use App\Models\User;
use App\Models\Master\MasterGroupUser;
+use App\Models\Master\Provinsi;
+use App\Models\Master\Sekolah;
use App\Models\ProfileSekolah as Profile;
class CustomRegisterController extends Controller
{
public function index()
{
- return view('auth.register');
+ $data['provinsi'] = Provinsi::where('kode_wilayah','010000')->get();
+ return view('auth.register',$data);
}
public function post_register(Request $request)
{
+
try {
Validator::make($request->all(), [
'email' => 'required|unique:users|email',
- 'name' => 'required|max:50',
- 'npsn' => 'required',
- 'tingkat_sekolah' => 'required',
- 'status_sekolah' => 'required',
+ // 'name' => 'required|max:50',
+ 'provinsi' => 'required',
+ 'kabupaten' => 'required',
+ 'kecamatan' => 'required',
+ 'sekolah' => 'required',
+ // 'tingkat_sekolah' => 'required',
+ // 'status_sekolah' => 'required',
'alamat_sekolah' => 'required',
'kontak_person' => 'required',
'telp' => 'required',
@@ -39,6 +46,8 @@ class CustomRegisterController extends Controller
'password.regex' => 'Format Kata Sandi harus mengandung minimal Huruf Besar, Huruf Kecil, Angka, Spesial Karakter',
])->validate();
+
+
$cek = Profile::where('npsn',$request->npsn)->count();
if($cek > 0){
return redirect('register')->with([
@@ -47,18 +56,27 @@ class CustomRegisterController extends Controller
]);
}
+ $sekolah = Sekolah::find(decode_id($request->sekolah));
+
$user = new User;
$user->email = $request->email;
- $user->username = $request->npsn;
+ $user->username = $sekolah->npsn;
$user->password = Hash::make($request->password);
- $user->name = $request->name;
+ $user->name = $sekolah->nama_sekolah;
+ $user->ms_group_id = 2;
$user->save();
+
+
$profile = new Profile;
$profile->user_id = $user->id;
- $profile->npsn = $request->npsn;
- $profile->ms_tingkat_sekolah_id = $request->tingkat_sekolah;
- $profile->status_sekolah = $request->status_sekolah;
+ $profile->ms_provinsi_id = decode_id($request->provinsi);
+ $profile->ms_kabupaten_id = decode_id($request->kabupaten);
+ $profile->ms_kecamatan_id = decode_id($request->kecamatan);
+ $profile->ms_sekolah_id = decode_id($request->sekolah);
+ $profile->npsn = $sekolah->npsn;
+ $profile->ms_tingkat_sekolah_id = $sekolah->ms_tingkat_sekolah_id;
+ $profile->status_sekolah = $sekolah->status;
$profile->alamat_sekolah = $request->alamat_sekolah;
$profile->kontak_person = $request->kontak_person;
$profile->telp = $request->telp;
diff --git a/app/Http/Controllers/Master/FormKriteriaController.php b/app/Http/Controllers/Master/FormKriteriaController.php
index cd591ac..c08e48c 100644
--- a/app/Http/Controllers/Master/FormKriteriaController.php
+++ b/app/Http/Controllers/Master/FormKriteriaController.php
@@ -141,4 +141,13 @@ class FormKriteriaController extends Controller
// dd(request()->all());
}
+
+ public function delete($id)
+ {
+ $keyId = decode_id($id);
+
+ $form = FormKriteria::where('MsFormKriteriaId',$keyId)->delete();
+
+ return response()->json(['success' => true,'message' => 'Berhasil update data','type' => 'success']);
+ }
}
diff --git a/app/Http/Controllers/Modules/Usulan/KriteriaController.php b/app/Http/Controllers/Modules/Usulan/KriteriaController.php
index c1be4a1..247445f 100644
--- a/app/Http/Controllers/Modules/Usulan/KriteriaController.php
+++ b/app/Http/Controllers/Modules/Usulan/KriteriaController.php
@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Kuesioner;
use App\Models\Master\FormKriteria;
+use App\Models\Penilaian;
class KriteriaController extends Controller
{
@@ -23,4 +24,87 @@ class KriteriaController extends Controller
return view($this->template.'.form',$data);
}
+ public function store(Request $request)
+ {
+ // dd();
+ $data = $request['data'];
+ $_value = [];
+
+ foreach ($data as $key => $value) {
+ if (strpos($key, 'input_') === 0) {
+ $_value[$key] = $value;
+
+ if($key == 'input_unsur_warga_partisipasi'){
+ $skor = hitungSkor(str_replace('input_','','input_unsur_warga_partisipasi'),$value,$data['input_lainnya']);
+ }elseif($key == 'input_jumlah_timbulan'){
+ $sebelum = $data['input_jumlah_timbulan'];
+ $sekarang = $data['input_ratarata_jumlah_timbulan'];
+ $pengurangan = $sebelum - $sekarang;
+ $persentase = $sebelum > 0 ? ($pengurangan / $sebelum) * 100 : 0;
+ if($persentase > 80){
+ $skor = 5;
+ }elseif(($persentase > 60) || ($persentase <= 80)){
+ $skor = 4;
+ }elseif(($persentase > 40) || ($persentase <= 60)){
+ $skor = 3;
+ }elseif(($persentase > 20) || ($persentase <= 40)){
+ $skor = 2;
+ }else{
+ $skor = 1;
+ }
+ }elseif($key == 'input_jumlah_pohon'){
+ $pohon = $data['input_jumlah_pohon'];
+ $warga = $data['input_jumlah_warga_sekolah'];
+ $persentase = $warga > 0 ? ($pohon / $warga) * 100 : 0;
+
+ if($persentase > 80){
+ $skor = 5;
+ }elseif(($persentase > 60) || ($persentase <= 80)){
+ $skor = 4;
+ }elseif(($persentase > 40) || ($persentase <= 60)){
+ $skor = 3;
+ }elseif(($persentase > 20) || ($persentase <= 40)){
+ $skor = 2;
+ }else{
+ $skor = 1;
+ }
+
+ }elseif($key == 'input_kondisi_kebersihan'){
+ $kebersihan = $data['input_kondisi_kebersihan'];
+ $drainase = $data['input_kondisi_drainase'];
+
+ if ($kebersihan == "Bersih" && $drainase == "Bersih") {
+ $skor = 3; // Lingkungan bersih dan drainase berfungsi
+ } elseif (($kebersihan == "Bersih" && $drainase == "Kurang Bersih") || ($kebersihan == "Kurang Bersih" && $drainase == "Bersih")) {
+ $skor = 2; // Salah satu kondisi kurang baik
+ } else {
+ $skor = 1; // Lingkungan kurang bersih dan drainase tidak berfungsi
+ }
+ }else{
+ $skor = hitungSkor(str_replace('input_','',$key),$value);
+ }
+
+ $penilaian[$key] = Penilaian::updateOrCreate([
+ 'tahun' => date('Y'),
+ 'ms_sekolah_id' => session('sekolah_id'),
+ 'npsn' => session('npsn'),
+ 'page_number' => decode_id($data['key']),
+ 'key' => str_replace('input_','',$key),
+ ],[
+ 'user_id' => auth()->user()->id,
+ 'ms_sekolah_id' => session('sekolah_id'),
+ 'npsn' => session('npsn'),
+ 'page_number' => decode_id($data['key']),
+ 'key' => str_replace('input_','',$key),
+ 'value' => json_encode($value),
+ 'status' => 0,
+ 'skor' => $skor,
+ 'tahun' => date('Y'),
+ 'created_by' => auth()->user()->id,
+ ]);
+ }
+ }
+
+
+ }
}
diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php
index f130fe0..960d88e 100644
--- a/app/Http/Controllers/ProfileController.php
+++ b/app/Http/Controllers/ProfileController.php
@@ -24,24 +24,24 @@ class ProfileController extends Controller
$profile = Profile::where('user_id',auth()->user()->id)->first();
$jumlah = json_decode($profile->data_jumlah);
- $data['jumlah_peserta_didik'] = $jumlah->jumlah_peserta_didik;
- $data['jumlah_tenaga_pendidik'] = $jumlah->jumlah_tenaga_pendidik;
- $data['jumlah_tenaga_kependidikan'] = $jumlah->jumlah_tenaga_kependidikan;
- $data['jumlah_warga_sekolah_lainnya'] = $jumlah->jumlah_warga_sekolah_lainnya;
- $data['jumlah_biopori'] = $jumlah->jumlah_biopori;
- $data['jumlah_sumur_resapan'] = $jumlah->jumlah_sumur_resapan;
- $data['jumlah_pohon'] = $jumlah->jumlah_pohon;
+ $data['jumlah_peserta_didik'] = @$jumlah->jumlah_peserta_didik;
+ $data['jumlah_tenaga_pendidik'] = @$jumlah->jumlah_tenaga_pendidik;
+ $data['jumlah_tenaga_kependidikan'] = @$jumlah->jumlah_tenaga_kependidikan;
+ $data['jumlah_warga_sekolah_lainnya'] = @$jumlah->jumlah_warga_sekolah_lainnya;
+ $data['jumlah_biopori'] = @$jumlah->jumlah_biopori;
+ $data['jumlah_sumur_resapan'] = @$jumlah->jumlah_sumur_resapan;
+ $data['jumlah_pohon'] = @$jumlah->jumlah_pohon;
$air = json_decode($profile->penghematan_air);
- $data['air_sebelum_pblhs'] = $air->air_sebelum_pblhs;
- $data['air_setelah_pblhs'] = $air->air_setelah_pblhs;
+ $data['air_sebelum_pblhs'] = @$air->air_sebelum_pblhs;
+ $data['air_setelah_pblhs'] = @$air->air_setelah_pblhs;
$listrik = json_decode($profile->penghematan_listrik);
- $data['listrik_sebelum_pblhs'] = $listrik->listrik_sebelum_pblhs;
- $data['listrik_setelah_pblhs'] = $listrik->listrik_setelah_pblhs;
- $data['luas_ruangan_ac'] = $listrik->luas_ruangan_ac;
- $data['luas_ruangan_non_ac'] = $listrik->luas_ruangan_non_ac;
- $data['jumlah_kader'] = $listrik->jumlah_kader;
+ $data['listrik_sebelum_pblhs'] = @$listrik->listrik_sebelum_pblhs;
+ $data['listrik_setelah_pblhs'] = @$listrik->listrik_setelah_pblhs;
+ $data['luas_ruangan_ac'] = @$listrik->luas_ruangan_ac;
+ $data['luas_ruangan_non_ac'] = @$listrik->luas_ruangan_non_ac;
+ $data['jumlah_kader'] = @$listrik->jumlah_kader;
return view($this->template.'.sekolah', $data);
}else{
diff --git a/app/Models/Master/Kabupaten.php b/app/Models/Master/Kabupaten.php
new file mode 100644
index 0000000..3b8f119
--- /dev/null
+++ b/app/Models/Master/Kabupaten.php
@@ -0,0 +1,25 @@
+belongsTo('\App\Models\Master\Provinsi','ms_provinsi_id','MsProvinsiId');
+ }
+}
diff --git a/app/Models/Master/Kecamatan.php b/app/Models/Master/Kecamatan.php
new file mode 100644
index 0000000..fd18dd7
--- /dev/null
+++ b/app/Models/Master/Kecamatan.php
@@ -0,0 +1,30 @@
+belongsTo('\App\Models\Master\Provinsi','ms_provinsi_id','MsProvinsiId');
+ }
+
+ public function kabupaten()
+ {
+ return $this->belongsTo('\App\Models\Master\Kabupaten','ms_kabupaten_id','MsKabupatenId');
+ }
+}
diff --git a/app/Models/Master/Kelurahan.php b/app/Models/Master/Kelurahan.php
new file mode 100644
index 0000000..36877f1
--- /dev/null
+++ b/app/Models/Master/Kelurahan.php
@@ -0,0 +1,36 @@
+belongsTo('\App\Models\Master\Provinsi','ms_provinsi_id','MsProvinsiId');
+ }
+
+ public function kabupaten()
+ {
+ return $this->belongsTo('\App\Models\Master\Kabupaten','ms_kabupaten_id','MsKabupatenId');
+ }
+
+ public function kecamatan()
+ {
+ return $this->belongsTo('\App\Models\Master\Kecamatan','ms_kecamatan_id','MsKecamatanId');
+ }
+}
diff --git a/app/Models/Master/Provinsi.php b/app/Models/Master/Provinsi.php
new file mode 100644
index 0000000..f4d705a
--- /dev/null
+++ b/app/Models/Master/Provinsi.php
@@ -0,0 +1,18 @@
+belongsTo(\App\Models\Master\MasterTingkatSekolah::class,'ms_tingkat_sekolah_id','MsTingkatSekolahId');
}
+
+ public function sekolah()
+ {
+ return $this->belongsTo(\App\Models\Master\Sekolah::class,'ms_sekolah_id','MsSekolahId');
+ }
}
diff --git a/app/Models/User.php b/app/Models/User.php
index c191398..f5312d0 100644
--- a/app/Models/User.php
+++ b/app/Models/User.php
@@ -46,7 +46,7 @@ class User extends Authenticatable
'email_verified_at' => 'datetime',
];
- public function sekolah()
+ public function profile()
{
return $this->belongsTo(ProfileSekolah::class,'id','user_id');
}
diff --git a/database/migrations/2025_03_10_084850_create_penilaians_table.php b/database/migrations/2025_03_10_084850_create_penilaians_table.php
new file mode 100644
index 0000000..a6e9f18
--- /dev/null
+++ b/database/migrations/2025_03_10_084850_create_penilaians_table.php
@@ -0,0 +1,40 @@
+id('PenilaianId');
+ $table->integer('ms_sekolah_id');
+ $table->string('npsn');
+ // $table->integer('ms_form_kriteria_id');
+ $table->string('key')->nullable();
+ $table->integer('page_number');
+ $table->json('value')->nullable();
+ $table->integer('skor')->default(0);
+ $table->integer('status')->nullable();
+ $table->year('tahun')->nullable();
+ $table->integer('created_by');
+ $table->timestamps();
+
+ $table->foreign('created_by')->references('id')->on('users')->cascadeOnDelete();
+ $table->foreign('ms_sekolah_id')->references('MsSekolahId')->on('ms_sekolah')->cascadeOnDelete();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('penilaians');
+ }
+};
diff --git a/database/migrations/2025_03_11_132712_create_sekolahs_table.php b/database/migrations/2025_03_11_132712_create_sekolahs_table.php
new file mode 100644
index 0000000..13c548b
--- /dev/null
+++ b/database/migrations/2025_03_11_132712_create_sekolahs_table.php
@@ -0,0 +1,39 @@
+id('MsSekolahId');
+ $table->integer('ms_provinsi_id');
+ $table->integer('ms_kabupaten_id');
+ $table->integer('ms_kecamatan_id');
+ $table->integer('ms_tingkat_sekolah_id');
+ $table->string('status')->nullable();
+ $table->string('nama_sekolah');
+ $table->string('npsn');
+ $table->text('alamat_sekolah')->nullable();
+ $table->text('lat')->nullable();
+ $table->text('long')->nullable();
+ $table->timestamps();
+
+ $table->foreign('ms_tingkat_sekolah_id')->references('MsTingkatSekolahId')->on('ms_tingkat_sekolah')->onDelete('cascade');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('sekolahs');
+ }
+};
diff --git a/database/migrations/2025_03_11_134905_create_provinsis_table.php b/database/migrations/2025_03_11_134905_create_provinsis_table.php
new file mode 100644
index 0000000..b3ea2b6
--- /dev/null
+++ b/database/migrations/2025_03_11_134905_create_provinsis_table.php
@@ -0,0 +1,29 @@
+id('MsProvinsiId');
+ $table->string('name');
+ $table->string('kode_wilayah');
+ $table->timestampsTz();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('provinsis');
+ }
+};
diff --git a/database/migrations/2025_03_11_134916_create_kabupatens_table.php b/database/migrations/2025_03_11_134916_create_kabupatens_table.php
new file mode 100644
index 0000000..52c7fae
--- /dev/null
+++ b/database/migrations/2025_03_11_134916_create_kabupatens_table.php
@@ -0,0 +1,32 @@
+id('MsKabupatenId');
+ $table->integer('ms_provinsi_id');
+ $table->string('name');
+ $table->string('kode_wilayah');
+ $table->timestampsTz();
+
+ $table->foreign('ms_provinsi_id')->references('MsProvinsiId')->on('ms_provinsi')->onDelete('cascade');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('kabupatens');
+ }
+};
diff --git a/database/migrations/2025_03_11_134924_create_kecamatans_table.php b/database/migrations/2025_03_11_134924_create_kecamatans_table.php
new file mode 100644
index 0000000..a99f20e
--- /dev/null
+++ b/database/migrations/2025_03_11_134924_create_kecamatans_table.php
@@ -0,0 +1,34 @@
+id('MsKecamatanId');
+ $table->integer('ms_provinsi_id');
+ $table->integer('ms_kabupaten_id');
+ $table->string('name');
+ $table->string('kode_wilayah');
+ $table->timestampsTz();
+
+ $table->foreign('ms_provinsi_id')->references('MsProvinsiId')->on('ms_provinsi')->onDelete('cascade');
+ $table->foreign('ms_kabupaten_id')->references('MsKabupatenId')->on('ms_kabupaten')->onDelete('cascade');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('kecamatans');
+ }
+};
diff --git a/database/migrations/2025_03_11_135007_create_kelurahans_table.php b/database/migrations/2025_03_11_135007_create_kelurahans_table.php
new file mode 100644
index 0000000..2ec9193
--- /dev/null
+++ b/database/migrations/2025_03_11_135007_create_kelurahans_table.php
@@ -0,0 +1,36 @@
+id('MsKelurahanId');
+ $table->integer('ms_provinsi_id');
+ $table->integer('ms_kabupaten_id');
+ $table->integer('ms_kecamatan_id');
+ $table->string('name');
+ $table->string('kode_wilayah');
+ $table->timestampsTz();
+
+ $table->foreign('ms_provinsi_id')->references('MsProvinsiId')->on('ms_provinsi')->onDelete('cascade');
+ $table->foreign('ms_kabupaten_id')->references('MsKabupatenId')->on('ms_kabupaten')->onDelete('cascade');
+ $table->foreign('ms_kecamatan_id')->references('MsKecamatanId')->on('ms_kecamatan')->onDelete('cascade');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('kelurahans');
+ }
+};
diff --git a/database/migrations/2025_03_11_144605_add_relation_sekolah.php b/database/migrations/2025_03_11_144605_add_relation_sekolah.php
new file mode 100644
index 0000000..1d27cd6
--- /dev/null
+++ b/database/migrations/2025_03_11_144605_add_relation_sekolah.php
@@ -0,0 +1,30 @@
+foreign('ms_provinsi_id')->references('MsProvinsiId')->on('ms_provinsi')->onDelete('cascade');
+ $table->foreign('ms_kabupaten_id')->references('MsKabupatenId')->on('ms_kabupaten')->onDelete('cascade');
+ $table->foreign('ms_kecamatan_id')->references('MsKecamatanId')->on('ms_kecamatan')->onDelete('cascade');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::table('ms_sekolah', function (Blueprint $table) {
+ //
+ });
+ }
+};
diff --git a/database/migrations/2025_03_12_110924_add_column.php b/database/migrations/2025_03_12_110924_add_column.php
new file mode 100644
index 0000000..2c09eef
--- /dev/null
+++ b/database/migrations/2025_03_12_110924_add_column.php
@@ -0,0 +1,34 @@
+integer('ms_provinsi_id');
+ $table->integer('ms_kabupaten_id');
+ $table->integer('ms_sekolah_id');
+
+ $table->foreign('ms_provinsi_id')->references('MsProvinsiId')->on('ms_provinsi')->onDelete('cascade');
+ $table->foreign('ms_kabupaten_id')->references('MsKabupatenId')->on('ms_kabupaten')->onDelete('cascade');
+ $table->foreign('ms_sekolah_id')->references('MsSekolahId')->on('ms_sekolah')->onDelete('cascade');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::table('profile', function (Blueprint $table) {
+ //
+ });
+ }
+};
diff --git a/database/migrations/2025_03_12_113148_add_column.php b/database/migrations/2025_03_12_113148_add_column.php
new file mode 100644
index 0000000..f4ca219
--- /dev/null
+++ b/database/migrations/2025_03_12_113148_add_column.php
@@ -0,0 +1,30 @@
+integer('ms_kecamatan_id');
+
+ $table->foreign('ms_kecamatan_id')->references('MsKecamatanId')->on('ms_kecamatan')->onDelete('cascade');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::table('profile', function (Blueprint $table) {
+ //
+ });
+ }
+};
diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php
index 4913434..d2b7465 100644
--- a/resources/views/auth/register.blade.php
+++ b/resources/views/auth/register.blade.php
@@ -21,6 +21,7 @@
+
@@ -46,122 +47,169 @@
@include('include.alert')