'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 --"; } }