Commit 90992ded authored by FARDA ALAN MA'RUF's avatar FARDA ALAN MA'RUF

fixing conflict

parents 9ae973ce 28f6ad28
<?php
namespace App\Http\Controllers\Admin\Import;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
......@@ -19,9 +20,13 @@ class ImportDapodikController extends Controller
public function importDapodikGuru()
{
$dataGuruTemp = DapodikGuruModel::select([
'nama', 'nip', 'jenis_ptk', 'hp', 'email',
'nama',
'nip',
'jenis_ptk',
'hp',
'email',
])->get();
// echo json_encode($dataGuruTemp); die;
$importResults = [
......@@ -29,7 +34,7 @@ class ImportDapodikController extends Controller
'guru_bk' => ['berhasil' => 0, 'gagal' => 0],
];
$dataGuruTemp->map(function($guru) use (&$importResults) {
$dataGuruTemp->map(function ($guru) use (&$importResults) {
// $existingGuru = GuruModel::where('nip', $guru->nip)->first();
$existingGuru = DB::table('dummy_sekolah_guru')->where('nip', $guru->nip)->first();
......@@ -76,8 +81,8 @@ class ImportDapodikController extends Controller
DB::table('dummy_users')->insert([
'username' => $guru->email,
'password' => bcrypt("sibiling-2024"),
'sandi' => "sibiling-2024", // dummy
'password' => bcrypt("bkpeduli"),
'sandi' => "bkpeduli", // dummy
'status' => 1,
'idPSekolah' => 1, // dummy
'role' => 3, // konselor
......@@ -105,9 +110,27 @@ class ImportDapodikController extends Controller
public function importDapodikSiswa()
{
$dataPesertaDidik = DapodikSiswaModel::select([
'nama', 'nisn', 'tempat_lahir', 'tanggal_lahir', 'agama', 'alamat', 'rt', 'rw', 'dusun', 'kelurahan', 'kecamatan', 'kode_pos', 'jenis_tinggal', 'telepon', 'hp', 'email', 'nama_ayah', 'pekerjaan_ayah', 'rombel_saat_ini'
'nama',
'nisn',
'tempat_lahir',
'tanggal_lahir',
'agama',
'alamat',
'rt',
'rw',
'dusun',
'kelurahan',
'kecamatan',
'kode_pos',
'jenis_tinggal',
'telepon',
'hp',
'email',
'nama_ayah',
'pekerjaan_ayah',
'rombel_saat_ini'
])
->get();
->get();
// Tambahkan pengecekan apakah data ada
if ($dataPesertaDidik->isEmpty()) {
......@@ -126,12 +149,13 @@ class ImportDapodikController extends Controller
'import_siswa_ortu' => ['berhasil' => 0, 'gagal' => 0],
];
$dataPesertaDidik->map(function($peserta) use (&$importResults) {
$dataPesertaDidik->map(function ($peserta) use (&$importResults) {
// Pastikan kolom rombel_saat_ini valid
if (!$peserta->rombel_saat_ini) {
throw new \Exception("Rombel tidak ditemukan");
}
$sekolah = DB::table('perpus_sekolah')->where('id', 1)->first(); // dummy 1 diganti id sekolah
list($kelas, $jurusan, $kodeKelas) = explode('-', $peserta->rombel_saat_ini);
......@@ -182,15 +206,15 @@ class ImportDapodikController extends Controller
$siswaId = DB::table('dummy_siswa')->insertGetId([
'idPSekolah' => 1, // dummy
'idPKKode' => $kelasKodeId,
'idMAgama' => $idMAgama,
'idPKKode' => $kelasKodeId,
'idMAgama' => $idMAgama,
'idPPeriode' => 1, // Dummy period
'idMStatus' => 1,
'idMStatus' => 1,
'nisn' => $peserta->nisn ?? '-',
'nama' => $peserta->nama,
'lahir_tanggal' => $peserta->tanggal_lahir,
'lahir_tempat' => $peserta->tempat_lahir,
'idPPKelas' => $kelasId,
'idPPKelas' => $kelasId,
'idPPStatus' => 1,
'idMTempat' => $idMTempat,
'email' => $peserta->email ?? '-',
......@@ -278,5 +302,4 @@ class ImportDapodikController extends Controller
return $pekerjaanMapping[$pekerjaan];
}
}
\ No newline at end of file
}
......@@ -10,7 +10,7 @@ use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
// Panggil Nama file Model yang mau dipake
use App\Models\Import\ImportexcelGuruModel;
use App\Models\Import\ImportexcelGuruModel as ImportexcelGuruModel;
use App\Models\Perpus\KelasKodeModel;
use App\Models\Master\PeriodeModel;
......
<?php
namespace App\Http\Controllers\Admin\Import;
use App\Http\Controllers\Controller;
use App\Imports\ImportDapodikGuru;
use App\Jobs\ImportDataJob;
use Illuminate\Http\Request;
// use App\Imports\LulusanImport;
// use App\Exports\LulusanExport;
use Maatwebsite\Excel\Facades\Excel;
// Panggil Nama file Model yang mau dipake
use App\Models\ImportDapodik\ImportExcelGuruModel as ImportexcelGuruModel;
use App\Models\ImportDapodik\ImportDapodikGuruModel;
use App\Models\Perpus\KelasKodeModel;
use App\Models\Master\PeriodeModel;
use App\Models\Stakeholder\GuruModel;
use App\Models\Perpus\SekolahModel;
use Illuminate\Support\Facades\DB;
class ImportGuruDapodikController extends Controller
{
private $views = 'admin/importdapodik/importGuru';
private $url = 'admin/import-dapodik/guru';
private $title = 'Halaman Import Guru';
public function __construct()
{
// createLogActivity();
$this->mDapodikGuru = new ImportDapodikGuruModel();
$this->mExcelGuru = new ImportexcelGuruModel();
$this->mGuru = new GuruModel();
$this->mPeriode = new PeriodeModel();
$this->mPerpusSekolah = new SekolahModel();
}
public function datatable()
{
$data = $this->mExcelGuru->where('idPSekolah', session()->get('idPSekolah'))->get();
$formattedData = $data->map(function ($item, $key) {
return [
'DT_RowIndex' => $key + 1,
'periode' => $item->periode->nama_periode,
'nip' => $item->nip,
'nama' => $item->nama,
'created_at' => $item->created_at->format('Y-m-d H:i:s'),
'username' => $item->user->username ?? '-',
'status' => $item->status
];
});
return response()->json([
'draw' => intval(request()->get('draw')),
'recordsTotal' => $formattedData->count(),
'recordsFiltered' => $formattedData->count(),
'data' => $formattedData
]);
}
public function index()
{
$excelGuru = $this->mExcelGuru->where('idPSekolah', session()->get('idPSekolah'))->get();
$dapodikGuru = $this->mDapodikGuru->where('idPSekolah', session()->get('idPSekolah'))->get();
$data = [
'title' => $this->title,
'url' => $this->url,
'page' => 'Data Import Guru',
'excelGuru' => $excelGuru,
'dapodikGuru' => $dapodikGuru
];
return view($this->views . "/index", $data);
}
public function create()
{
$data = [
'title' => $this->title,
'url' => $this->url,
'page' => 'Import Excel Guru',
];
return view($this->views . "/create", $data);
}
public function store(Request $request)
{
// validasi
$validateData = $request->validate([
'file_excel' => 'required|mimes:csv,xls,xlsx'
], [
'file_excel.required' => 'Pilih file terlebih dahulu',
'file_excel.mimes' => 'Format data harus csv, xls atau xlsx',
]);
$fileSave = $request->file('file_excel')->store('imports');
$filePath = storage_path('app/' . $fileSave);
$dataJob = [];
$dataJob['jenis'] = 'importGuru';
$dataJob['file_path'] = $filePath;
$dataJob['idUser'] = session()->get('users_id');
$dataJob['idPSekolah'] = session()->get('idPSekolah');
$dataJob['idPPeriode'] = session()->get('idPPeriode');
ImportDataJob::dispatch($dataJob);
// Library Import Excel
// $file = $validateData['file_excel'];
// Excel::import(new ImportDapodikGuru, $request->file('file_excel'));
// $collection = Excel::toCollection(collect([]), $file); // ke convert collection
// $seenNips = [];
// $bisa = 0;
// $ada = 0;
// $nipMasuk = [];
// $nipGagal = [];
// foreach ($collection[0] as $row) {
// // skip header
// $i = 0;
// if ($i <> 1) {
// if ($row[0] == 'nip')
// continue;
// $nip = (string)$row[0];
// $cekGuru = $this->mGuru->where('nip', $nip)->first();
// if (isset($cekGuru)) {
// $ada++;
// continue;
// }
// if (!is_numeric($nip) || $nip == null || $row[1] == null || strlen($nip) < 10) {
// $ada++;
// $nipGagal[] = [
// 'nip' => $nip,
// 'nama' => $row[1],
// 'reason' => "Bukan numeric, data kosong atau nip kurang dari 10"
// ];
// continue;
// }
// if (isset($seenNips[$nip])) {
// $ada++;
// $nipGagal[] = [
// 'nip' => $nip,
// 'nama' => $row[1],
// 'reason' => "NIP sudah terdaftar"
// ];
// continue; // Jika NIP sudah ada, lewati iterasi ini
// }
// $seenNips[$nip] = true; // tandai kalo sudah ada
// // ambil dari excel
// $idPSekolah = session()->get('idPSekolah');
// $status = 1;
// $nip = $nip;
// $nama = $row[1];
// $dataGuru = [
// 'idPSekolah' => $idPSekolah,
// 'nip' => $nip,
// 'nama' => $nama,
// 'status' => $status
// ];
// $guru = $this->mGuru->create($dataGuru);
// $nipMasuk[] = ['nip' => $nip, 'nama' => $nama, 'reason' => "masuk"];
// $bisa++;
// }
// $i++;
// $recordImport = [
// 'idUser' => session()->get('users_id'),
// 'idPSekolah' => session()->get('idPSekolah'),
// 'idPPeriode' => session()->get('idPPeriode'),
// 'nip' => $nip,
// 'nama' => $nama
// ];
// $this->mExcelGuru->create($recordImport);
// }
// $pesan = 'Data Guru di Kelas berhasil di import. masuk: ' . $bisa . ', gagal: ' . $ada . ' (karena sudah ada guru tsb / data ada yang kosong / nip dibawah 10 karakter / nip duplikasi / nip bukan angka)';
$pesan = "Berhasil import";
return redirect("$this->url")->with('sukses', $pesan);
}
}
<?php
namespace App\Http\Controllers\Admin\Import;
use App\Http\Controllers\Controller;
use App\Imports\ImportDapodikGuru;
use App\Jobs\ImportDataJob;
use Illuminate\Http\Request;
// use App\Imports\LulusanImport;
// use App\Exports\LulusanExport;
use Maatwebsite\Excel\Facades\Excel;
// Panggil Nama file Model yang mau dipake
use App\Models\ImportDapodik\ImportexcelGuruModel;
use App\Models\ImportDapodik\ImportDapodikGuruModel;
use App\Models\ImportDapodik\ImportExcelSiswaModel;
use App\Models\Perpus\KelasKodeModel;
use App\Models\Master\PeriodeModel;
use App\Models\Stakeholder\GuruModel;
use App\Models\Perpus\SekolahModel;
use Illuminate\Support\Facades\DB;
class ImportSiswaDapodikController extends Controller
{
private $views = 'admin/importdapodik/importStudent';
private $url = 'admin/import-dapodik/siswa';
private $title = 'Halaman Import Siswa';
public function __construct()
{
$this->mExcelSiswa = new ImportExcelSiswaModel();
}
public function index()
{
$excelSiswa = $this->mExcelSiswa->where('idPSekolah', session()->get('idPSekolah'))->get();
$data = [
'title' => $this->title,
'url' => $this->url,
'page' => 'Data Import Siswa',
'excelSiswa' => $excelSiswa
];
return view($this->views . "/index", $data);
}
public function create()
{
$data = [
'title' => $this->title,
'url' => $this->url,
'page' => 'Import Excel Siswa',
];
return view($this->views . "/create", $data);
}
public function store(Request $request)
{
$validateData = $request->validate([
'file_excel' => 'required|mimes:csv,xls,xlsx'
], [
'file_excel.required' => 'Pilih file terlebih dahulu',
'file_excel.mimes' => 'Format data harus csv, xls atau xlsx',
]);
$fileSave = $request->file('file_excel')->store('imports');
$filePath = storage_path('app/' . $fileSave);
$dataJob = [];
$dataJob['jenis'] = 'importSiswa';
$dataJob['file_path'] = $filePath;
// Setting Siswa
$idPKKode = $request->kelasKode;
$idMStatus = 1; // Langsung aktif
$idPPKelas = 1; // Langsung Sesuai Periode Sekarang
$idPPStatus = 1; // Langsung Sesuai Periode Sekarang
$dataJob['idUser'] = session()->get('users_id');
$dataJob['idPSekolah'] = session()->get('idPSekolah');
$dataJob['idPPeriode'] = session()->get('idPPeriode');
$dataJob['idPKKode'] = $idPKKode;
$dataJob['idMStatus'] = $idMStatus;
$dataJob['idPPKelas'] = $idPPKelas;
$dataJob['idPPStatus'] = $idPPStatus;
ImportDataJob::dispatch($dataJob);
$pesan = "Berhasil import";
return redirect("$this->url")->with('sukses', $pesan);
}
}
<?php
namespace App\Http\Controllers\Admin\Import;
use App\Http\Controllers\Controller;
use App\Jobs\ImportDataJob;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Models\Import\DapodikGuruModel;
use App\Models\Import\DapodikSiswaModel;
use App\Models\User\UserModel;
use App\Models\Stakeholder\GuruModel;
use App\Models\Stakeholder\KonselorModel;
use App\Models\Perpus\SekolahModel;
use Illuminate\Support\Facades\Log;
class MigrasiDapodikController extends Controller
{
public function migrasiGuru(Request $request)
{
$dataJob = [];
$dataJob['jenis'] = 'migrasiDapodikGuru';
$dataJob['idPSekolah'] = session()->get('idPSekolah');
$dataJob['idPPeriode'] = session()->get('idPPeriode');
ImportDataJob::dispatch($dataJob);
}
public function migrasiSiswa(Request $request)
{
$dataJob = [];
$dataJob['jenis'] = 'migrasiDapodikSiswa';
$dataJob['idPSekolah'] = session()->get('idPSekolah');
$dataJob['idPPeriode'] = session()->get('idPPeriode');
ImportDataJob::dispatch($dataJob);
}
}
......@@ -169,12 +169,11 @@ public function __construct()
}else{
$kelas = $this->mPerpusKelasKode->with('kelas')->with('jurusan')->where('idPSekolah', session()->get('idPSekolah'))->get()->toArray();
}
// echo json_encode($kelas); die;
$dataAnyar = array_map(function($kk) {
return [
'id' => $kk['id'],
'nama' => $kk['kelas']['nama'].' '.$kk['jurusan']['nama'].' '.$kk['nama'],
'nama' => @$kk['kelas']['nama'].' '.@$kk['jurusan']['nama'].' '.@$kk['nama'],
];
}, $kelas);
......
......@@ -21,8 +21,8 @@ public function __construct()
createLogActivity();
$this->mPerpusSekolah = new SekolahModel();
$this->mPerpusJurusan = new JurusanModel();
$this->mPerpusKelas = new KelasModel();
$this->mPerpusKelasKode = new KelasKodeModel();
$this->mPerpusKelas = new KelasModel();
$this->mPerpusKelasKode = new KelasKodeModel();
// $this->mSiswa = new MSiswaModel();
// $this->mGuru = new MGuruModel();
}
......@@ -168,6 +168,7 @@ public function __construct()
{
$btnDetail = "<a href='".url($this->url."/indeks-kelas/".$row->id)."'><button type='button' class='btn btn-primary btn-sm' title='Detail Data'>Detail</button></a>";
// $btnDetail = "<a href='".url($this->url."/indeks-kelas/dapodik/".$row->id)."'><button type='button' class='btn btn-warning btn-sm' title='Detail Data'>Detail</button></a>";
$btnEdit = "<a href='".url($this->url."/indeks-kelas/".$row->id)."/edit"."'><button type='button' class='btn btn-primary btn-sm' title='Detail Data'>Edit</button></a>";
$btn = $btnDetail.' '.$btnEdit;
......
......@@ -2,7 +2,7 @@
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\ImportDapodik\ImportDapodikSiswaModel;
use Illuminate\Http\Request;
use App\Models\Siswa\SiswaModel;
......@@ -19,7 +19,8 @@ public function __construct()
{
createLogActivity();
$this->mSiswa = new SiswaModel();
$this->mPerpusKelasKode = new KelasKodeModel();
$this->mSiswaDapodik = new ImportDapodikSiswaModel();
$this->mPerpusKelasKode = new KelasKodeModel();
}
function getSekolahSiswa($idPKKode = null)
......@@ -79,6 +80,63 @@ public function __construct()
}
}
function getSekolahSiswaDapodik($idPKKode = null)
{
$where = [
'idPKKode' => $idPKKode,
// 'idPPeriode' => session()->get('idPPeriode'),
'idMStatus' => 1,
];
if(session()->get('role') == 1){
$siswa = $this->mSiswaDapodik->where($where)->get();
}else{
$kelaskode = $this->mPerpusKelasKode->where('idPSekolah', session()->get('idPSekolah'))->where('id', $idPKKode)->get('id')->toArray();
$whereSiswa = [
'idPSekolah' => session()->get('idPSekolah'),
'idPPeriode' => session()->get('idPPeriode'),
'idPKKode' => $kelaskode,
'idMStatus' => 1,
'idPPkelas' => 1,
'idPPStatus' => 1,
];
$siswa = $this->mSiswaDapodik->where($whereSiswa)->get();
}
$i = 1;
foreach ($siswa as $row)
{
$btnDetail = "<a href='".url($this->url."/".$row->id)."'><button type='button' class='btn btn-primary btn-sm' title='Detail Data'>Detail</button></a>";
$btnEdit = "<a href='".url($this->url."/".$row->id)."/edit"."'><button type='button' class='btn btn-primary btn-sm' title='Edit Data'>Edit</button></a>";
$btn = $btnDetail.' '.$btnEdit;
$tbody = [];
$tbody[] = $i++;
$tbody[] = $row->nisn;
$tbody[] = $row->nama;
$tbody[] = $btnDetail;
$data[] = $tbody;
}
// if ($siswa != null)
if (count($siswa) > 0)
{
$response = [
'data' => $data,
];
echo json_encode($response);
}else{
$response = [
'data' => '',
];
echo json_encode($response);
}
}
public function getPeriodeSiswa($idPKelas = null)
{
......
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class QueueImportController extends Controller
{
//
}
......@@ -12,6 +12,8 @@ class VerifyCsrfToken extends Middleware
* @var array<int, string>
*/
protected $except = [
//
//
// development only
'cobaimport/*'
];
}
<?php
namespace App\Imports;
use App\Jobs\ImportDataJob;
use App\Models\ImportDapodik\ImportDapodikGuruModel;
use App\Models\ImportDapodik\ImportDapodikGuruTempModel;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
class ImportDapodikGuru implements ToCollection, WithHeadingRow
{
protected $data;
public function __construct($data)
{
$this->data = $data;
}
// Skip rows before the actual table (adjust as needed)
public function headingRow(): int
{
return 5; // Start reading from the second row (which contains the merged cells)
}
/**
* @param Collection $rows
*/
public function collection(Collection $rows)
{
foreach ($rows as $row) {
$row['jenis'] = 'importGuruSplit';
$row['idUser'] = $this->data['idUser'];
$row['idPSekolah'] = $this->data['idPSekolah'];
$row['idPPeriode'] = $this->data['idPPeriode'];
// $row['idPKKode'] = $this->data['idPKKode'];
// $row['idMStatus'] = $this->data['idMStatus'];
// $row['idPPKelas'] = $this->data['idPPKelas'];
// $row['idPPStatus'] = $this->data['idPPStatus'];
ImportDataJob::dispatch($row);
}
}
}
<?php
namespace App\Imports;
use App\Jobs\ImportDataJob;
use Illuminate\Support\Facades\DB;
use App\Models\ImportDapodik\ImportDapodikSiswaModel;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
class ImportDapodikSiswa implements ToCollection, WithHeadingRow
{
protected $data;
public function __construct($data)
{
$this->data = $data;
}
// Skip rows before the actual table (adjust as needed)
public function headingRow(): int
{
return 5; // Start reading from the second row (which contains the merged cells)
}
/**
* @param Collection $rows
*/
public function collection(Collection $rows)
{
$rows->shift();
foreach ($rows as $row) {
$row['jenis'] = 'importSiswaSplit';
$row['idUser'] = $this->data['idUser'];
$row['idPSekolah'] = $this->data['idPSekolah'];
$row['idPPeriode'] = $this->data['idPPeriode'];
$row['idPKKode'] = $this->data['idPKKode'];
$row['idMStatus'] = $this->data['idMStatus'];
$row['idPPKelas'] = $this->data['idPPKelas'];
$row['idPPStatus'] = $this->data['idPPStatus'];
ImportDataJob::dispatch($row);
}
// DB::beginTransaction();
// try {
// foreach ($rows as $row) {
// ImportDapodikSiswaModel::create([
// 'nama' => $row['nama'],
// 'nipd' => $row['nipd'],
// 'jk' => $row['jk'],
// 'nisn' => $row['nisn'],
// 'tempat_lahir' => $row['tempat_lahir'],
// 'tanggal_lahir' => $row['tanggal_lahir'],
// 'nik' => $row['nik'],
// 'agama' => $row['agama'],
// 'alamat' => $row['alamat'],
// 'rt' => $row['rt'],
// 'rw' => $row['rw'],
// 'dusun' => $row['dusun'],
// 'kelurahan' => $row['kelurahan'],
// 'kecamatan' => $row['kecamatan'],
// 'kode_pos' => $row['kode_pos'],
// 'jenis_tinggal' => $row['jenis_tinggal'],
// 'alat_transportasi' => $row['alat_transportasi'],
// 'telepon' => $row['telepon'],
// 'hp' => $row['hp'],
// 'email' => $row['e_mail'],
// 'skhun' => $row['skhun'],
// 'penerima_kps' => $row['penerima_kps'],
// 'no_kps' => $row['no_kps'],
// // Data Ayah
// 'nama_ayah' => $row['data_ayah'],
// 'tahun_lahir_ayah' => $row[25],
// 'jenjang_pendidikan_ayah' => $row[26],
// 'pekerjaan_ayah' => $row[27],
// 'penghasilan_ayah' => $row[28],
// 'nik_ayah' => $row[29],
// // Data Ibu
// 'nama_ibu' => $row['data_ibu'],
// 'tahun_lahir_ibu' => $row[31],
// 'jenjang_pendidikan_ibu' => $row[32],
// 'pekerjaan_ibu' => $row[33],
// 'penghasilan_ibu' => $row[34],
// 'nik_ibu' => $row[35],
// // Data Wali
// 'nama_wali' => $row['data_wali'],
// 'tahun_lahir_wali' => $row[37],
// 'jenjang_pendidikan_wali' => $row[38],
// 'pekerjaan_wali' => $row[39],
// 'penghasilan_wali' => $row[40],
// 'nik_wali' => $row[41],
// 'rombel_saat_ini' => $row['rombel_saat_ini'],
// 'no_peserta_un' => $row['no_peserta_ujian_nasional'],
// 'no_seri_ijazah' => $row['no_seri_ijazah'],
// 'penerima_kip' => $row['penerima_kip'],
// 'nomor_kip' => $row['nomor_kip'],
// 'nama_di_kip' => $row['nama_di_kip'],
// 'nomor_kks' => $row['nomor_kks'],
// 'no_registrasi_akta_lahir' => $row['no_registrasi_akta_lahir'],
// 'bank' => $row['bank'],
// 'nomor_rekening_bank' => $row['nomor_rekening_bank'],
// 'rekening_atas_nama' => $row['rekening_atas_nama'],
// 'layak_pip' => $row['layak_pip_usulan_dari_sekolah'],
// 'alasan_layak_pip' => $row['alasan_layak_pip'],
// 'kebutuhan_khusus' => $row['kebutuhan_khusus'],
// 'sekolah_asal' => $row['sekolah_asal'],
// 'anak_keberapa' => $row['anak_ke_berapa'],
// 'lintang' => $row['lintang'],
// 'bujur' => $row['bujur'],
// 'no_kk' => $row['no_kk'],
// 'berat_badan' => $row['berat_badan'],
// 'tinggi_badan' => $row['tinggi_badan'],
// 'lingkar_kepala' => $row['lingkar_kepala'],
// 'jml_saudara_kandung' => $row['jml_saudara_kandung'],
// 'jarak_rumah_ke_sekolah_km' => $row['jarak_rumah_ke_sekolah_km']
// ]);
// }
// DB::commit();
// } catch (\Exception $e) {
// // Rollback the transaction
// DB::rollBack();
// // Handle the exception and return a response
// throw $e;
// }
}
}
<?php
namespace App\Jobs;
use App\Imports\ImportDapodikGuru;
use App\Libraries\ShouldQueue\ImportTransaksi;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Maatwebsite\Excel\Facades\Excel;
class ImportDataJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $data;
/**
* Create a new job instance.
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Execute the job.
*/
public function handle(): void
{
Log::info("intip data", ['tes' => $this->data]);
if($this->data['jenis'] == 'importGuru'){
$function = $this->data['jenis'];
ImportTransaksi::$function($this->data);
}
if($this->data['jenis'] == 'importGuruSplit'){
$function = $this->data['jenis'];
ImportTransaksi::$function($this->data);
}
if($this->data['jenis'] == 'importSiswa'){
$function = $this->data['jenis'];
ImportTransaksi::$function($this->data);
}
if($this->data['jenis'] == 'importSiswaSplit'){
$function = $this->data['jenis'];
ImportTransaksi::$function($this->data);
}
if($this->data['jenis'] == 'migrasiSiswa'){
$function = $this->data['jenis'];
ImportTransaksi::$function($this->data);
}
if($this->data['jenis'] == 'migrasiDapodikSiswa'){
$function = $this->data['jenis'];
ImportTransaksi::$function($this->data);
}
if($this->data['jenis'] == 'migrasiDapodikSiswaSplit'){
$function = $this->data['jenis'];
ImportTransaksi::$function($this->data);
}
if($this->data['jenis'] == 'migrasiGuru'){
$function = $this->data['jenis'];
ImportTransaksi::$function($this->data);
}
if($this->data['jenis'] == 'migrasiDapodikGuru'){
$function = $this->data['jenis'];
ImportTransaksi::$function($this->data);
}
if($this->data['jenis'] == 'migrasiDapodikGuruSplit'){
$function = $this->data['jenis'];
ImportTransaksi::$function($this->data);
}
}
}
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
class MigrateDataJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $data;
/**
* Create a new job instance.
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Execute the job.
*/
public function handle(): void
{
}
}
This diff is collapsed.
This diff is collapsed.
<?php
namespace App\Models\ImportDapodik;
use Illuminate\Database\Eloquent\Model;
class ImportDapodikGuruModel extends Model
{
// Nama tabel
protected $connection = 'datatemp';
protected $table = 'data_guru';
protected $guarded = [];
}
<?php
namespace App\Models\ImportDapodik;
use Illuminate\Database\Eloquent\Model;
class ImportDapodikSiswaModel extends Model
{
// Nama tabel
protected $connection = 'datatemp';
protected $table = 'data_peserta_didik';
protected $guarded = [];
}
<?php
namespace App\Models\ImportDapodik;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
// Library
use DB;
use Illuminate\Database\Eloquent\SoftDeletes;
class ImportExcelGuruModel extends Model
{
use HasFactory, SoftDeletes;
protected $table = 'importexceldapodik_guru';
protected $guarded = ['id'];
public function sekolah()
{
return $this->belongsTo(\App\Models\Perpus\SekolahModel::class, 'idPSekolah', 'id');
}
public function periode()
{
return $this->belongsTo(\App\Models\Master\PeriodeModel::class, 'idPPeriode', 'id');
}
public function user()
{
return $this->belongsTo(\App\Models\User\UserModel::class, 'idUser', 'id');
}
}
<?php
namespace App\Models\ImportDapodik;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
// Library
use DB;
use Illuminate\Database\Eloquent\SoftDeletes;
class ImportExcelSiswaModel extends Model
{
use HasFactory, SoftDeletes;
protected $table = 'importexceldapodik_siswa';
protected $guarded = ['id'];
public function sekolah()
{
return $this->belongsTo(\App\Models\Perpus\SekolahModel::class, 'idPSekolah', 'id');
}
public function periode()
{
return $this->belongsTo(\App\Models\Master\PeriodeModel::class, 'idPPeriode', 'id');
}
public function user()
{
return $this->belongsTo(\App\Models\User\UserModel::class, 'idUser', 'id');
}
}
......@@ -77,6 +77,26 @@ return [
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'datatemp' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE_DATATEMP', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'pgsql' => [
'driver' => 'pgsql',
......
......@@ -11,15 +11,15 @@ return new class extends Migration
*/
public function up(): void
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
// Schema::create('users', function (Blueprint $table) {
// $table->id();
// $table->string('name');
// $table->string('email')->unique();
// $table->timestamp('email_verified_at')->nullable();
// $table->string('password');
// $table->rememberToken();
// $table->timestamps();
// });
}
/**
......@@ -27,6 +27,6 @@ return new class extends Migration
*/
public function down(): void
{
Schema::dropIfExists('users');
// Schema::dropIfExists('users');
}
};
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('jobs', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('queue')->index();
$table->longText('payload');
$table->unsignedTinyInteger('attempts');
$table->unsignedInteger('reserved_at')->nullable();
$table->unsignedInteger('available_at');
$table->unsignedInteger('created_at');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('jobs');
}
};
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('tr_log_queue', function (Blueprint $table) {
$table->id();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('tr_log_queue');
}
};
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Halaman</h3>
@endslot
<li class="breadcrumb-item">Halaman</li>
<li class="breadcrumb-item active">List</li>
@endcomponent
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
<div class="col-lg-6">
<a href="{{ url('excel-template/format_input_guru.xlsx') }}" class="btn btn-sm btn-primary float-end">Download Template</a>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-12">
<div class="card">
<div class="card-body">
<div class="row g-2">
<form action="{{ url($url) }}/store" method="POST" enctype="multipart/form-data">
@csrf
<div class="mb-3 row">
<label class="col-sm-3 col-form-label" for="exampleFormControlTextarea4">Import Excel</label>
<div class="col-sm-9">
<input class="form-control" name="file_excel" type="file" accept=".csv, .xls, .xlsx">
</div>
</div>
<div>
<div class="text-end btn-mb">
<input type="submit" value="Migrasi" class="btn btn-primary">
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
@endpush
@endsection
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Halaman</h3>
@endslot
<li class="breadcrumb-item">Halaman</li>
<li class="breadcrumb-item active">List</li>
@endcomponent
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
{{-- Diberikan alert --}}
@if (session()->has('sukses'))
<div class="alert alert-success" role="alert">
{{ session('sukses') }}
</div>
@elseif (session()->has('gagal'))
<div class="alert alert-danger" role="alert">
{{ session('gagal') }}
</div>
@endif
<div class="card">
<div class="card-header p-3">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
<div class="col-lg-6">
<a href="{{ url($url) }}/create" class="btn btn-sm btn-primary float-end">Import
Guru</a>
<button class="btn btn-sm btn-warning float-end" type="button" data-bs-toggle="modal"
data-bs-target="#exampleModalCenter">Migrasi Data</button>
<div class="modal fade" id="exampleModalCenter" tabindex="-1"
aria-labelledby="exampleModalCenter" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Modal title</h5>
<button class="btn-close" type="button" data-bs-dismiss="modal"
aria-label="Close" data-bs-original-title="" title=""></button>
</div>
<div class="modal-body">
<p>Apakah Anda yakin ingin melakukan migrasi data ?</p>
</div>
<div class="modal-footer">
<button class="btn btn-secondary" type="button" data-bs-dismiss="modal"
data-bs-original-title="" title="">Batalkan</button>
<button id="migrasiGuru" class="btn btn-primary" type="button"
data-bs-original-title="" title="">Migrasi Data Guru</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="display" id="basic-1">
<thead>
<tr>
<th width="50">No.</th>
<th>Periode</th>
<th>NIP</th>
<th>Nama</th>
<th>Waktu Import</th>
<th>Data Admin</th>
<th>Status</th>
</tr>
</thead>
<tbody>
@foreach ($excelGuru as $r)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $r->periode->nama_periode }}</td>
<td>{{ $r->nip }}</td>
<td>{{ $r->nama }}</td>
<td>{{ $r->created_at }}</td>
<td>{{ $r->user->username ?? '-' }}</td>
<td>
@if ($r->status == 1)
Tambah
@elseif($r->status == 2)
Edit
@else
Gagal
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
<script src="{{ asset('assets/js/datatable/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets/js/datatable/datatables/datatable.custom.js') }}"></script>
<script>
$(function() {
$('#migrasiGuru').on('click', function() {
// let idPSekolah = "{{ session()->get('idPSekolah') }}";
// let idPPeriode = "{{ session()->get('idPPeriode') }}";
let url = "{{ url($url) }}/migrate";
console.log(url);
$.ajax({
url: url,
type: 'POST',
data: {
// idPSekolah: idPSekolah,
// idPPeriode: idPPeriode,
_token: "{{ csrf_token() }}" // Pastikan CSRF token disertakan untuk keamanan
},
success: function(response) {
// Tindakan yang diambil jika POST berhasil
console.log('Data berhasil dikirim:', response);
alert('Migrasi guru berhasil!');
},
error: function(xhr, status, error) {
// Tindakan yang diambil jika POST gagal
console.error('Terjadi kesalahan:', error);
alert('Terjadi kesalahan dalam migrasi guru.');
}
});
});
// $("#isi-tabel").DataTable(); // tambahin ini ki
// let baseUrl = '{{ url('') }}';
// let idSekolah = "{{ session()->get('idsekolah') }}";
// $('#tabel-jquery').hide();
});
</script>
@endpush
@endsection
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Halaman</h3>
@endslot
<li class="breadcrumb-item">Halaman</li>
<li class="breadcrumb-item active">List</li>
@endcomponent
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
{{-- Diberikan alert --}}
@if (session()->has('sukses'))
<div class="alert alert-success" role="alert">
{{ session('sukses') }}
</div>
@elseif (session()->has('gagal'))
<div class="alert alert-danger" role="alert">
{{ session('gagal') }}
</div>
@endif
<div class="card">
<div class="card-header p-3">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
<div class="col-lg-6">
<a href="{{ url($url) }}" class="btn btn-sm btn-primary float-end">Kembali</a>
</div>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="display" id="basic-1">
<thead>
<tr>
<th width="50">No.</th>
<th>Periode</th>
<th>Waktu Import</th>
<th>Data Admin</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach ($excelGuru as $r)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $r->periode->nama_periode }}</td>
<td>{{ $r->created_at }}</td>
<td>{{ $r->user->username ?? '-' }}</td>
<td>
<a href="{{ url($url) }}/preview" class="btn btn-sm btn">Lihat Data</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
<script src="{{ asset('assets/js/datatable/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets/js/datatable/datatables/datatable.custom.js') }}"></script>
<script>
$(function() {
$("#isi-tabel").DataTable(); // tambahin ini ki
let baseUrl = '{{ url('') }}';
let idSekolah = "{{ session()->get('idsekolah') }}";
$('#tabel-jquery').hide();
});
</script>
@endpush
@endsection
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/select2.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Siswa</h3>
@endslot
<li class="breadcrumb-item">Siswa</li>
<li class="breadcrumb-item active">Edit</li>
@endcomponent
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
<div class="col-lg-6">
<a href="{{ redirect()->back()->getTargetUrl() }}" class="btn btn-sm btn-primary float-end">Kembali</a>
</div>
</div>
</div>
<form action="{{ url($url) }}/update/{{ $siswa->id }}" method="post">
@csrf
@method('PUT')
<div class="card-body">
<div class="form-group">
<div class="form-group">
<label class="col-sm-3 col-form-label">Kode Kelas</label>
<select id="select-kelas" class="form-select select2 @error('idPKKode') is-invalid @enderror" name="idPKKode" aria-label="Default select example">
@foreach ($kelaskode as $r)
<option value="{{ $r->id }}" {{ old('idPKKode', $siswa->idPKKode) == $r->id ? 'selected' : '' }}>
{{ $r->kelas->nama }} {{ $r->jurusan->nama }} {{ $r->nama }}
</option>
@endforeach
</select >
</div>
<div class="form-group">
<label class="col-sm-3 col-form-label">Pilih Guru Konseling</label>
<select id="select-sem" class="form-select select2 @error('idSKonselor') is-invalid @enderror" name="idSKonselor" aria-label="Default select example" required>
<option value="">Pilih Guru Konseling</option>
@foreach ($konselor as $r)
<option value="{{ $r->id }}" {{ old('idSKonselor', $siswa->konselor?->id) == $r->id ? 'selected' : '' }}>
{{ $r->guru->nama }}
</option>
@endforeach
</select >
</div>
<div class="form-group">
<label class="col-sm-3 col-form-label">Agama</label>
<select id="select-sem" class="form-select select2 @error('idMAgama') is-invalid @enderror" name="idMAgama" aria-label="Default select example">
<option value="">Pilih Agama</option>
@foreach ($agama as $r)
<option value="{{ $r->id }}" {{ old('idMAgama', $siswa->agama?->id) == $r->id ? 'selected' : '' }}>
{{ $r->nama }}
</option>
@endforeach
</select >
</div>
<div class="form-group">
<label>NISN</label>
<input type="text" id="i-nama" class="form-control @error('nisn') is-invalid @enderror" name="nisn" placeholder="nisn" value="{{ old('nisn',$siswa->nisn) }}" required>
</div>
<div class="form-group">
<label>Nama</label>
<input type="text" id="i-nama" class="form-control @error('nama') is-invalid @enderror" name="nama" placeholder="Nama" value="{{ old('nama',$siswa->nama) }}" required>
</div>
<div class="form-group">
<label class="col-form-label pt-0" for="exampleInputEmail1">Tanggal Lahir</label>
<div class="input-group date" id="dt-date" data-target-input="nearest">
<input class="form-control datetimepicker-input digits @error('lahir_tanggal') is-invalid @enderror" name="lahir_tanggal" type="text" data-target="#dt-date" value="{{ old('lahir_tanggal',$siswa->lahir_tanggal) }}">
<div class="input-group-text" data-target="#dt-date" data-toggle="datetimepicker"><i class="fa fa-calendar"></i></div>
</div>
</div>
<div class="form-group">
<label>Tempat Lahir</label>
<input type="text" id="i-nama" class="form-control @error('lahir_tempat') is-invalid @enderror" name="lahir_tempat" placeholder="Tempat Lahir" value="{{ old('lahir_tempat', $siswa->lahir_tempat) }}">
</div>
<div class="form-group">
<label class="col-form-label pt-0" for="exampleInputEmail1">Email</label>
<input name="email" class="form-control @error('email') is-invalid @enderror" type="email" placeholder="masukkan email" value="{{ $siswa->email }}" value="{{ old('email', $siswa->email) }}">
</div>
<div class="form-group">
<label class="col-form-label pt-0" for="exampleInputEmail1">No Telp</label>
<input name="telp" class="form-control @error('telp') is-invalid @enderror" type="text" placeholder="masukkan nomor" value="{{ $siswa->telp }}" value="{{ old('telp', $siswa->telp) }}" required>
</div>
<div class="form-group">
<label class="col-sm-3 col-form-label">Tempat Tinggal</label>
<select id="select-sem" class="form-select select2 @error('idMTempat') is-invalid @enderror" name="idMTempat" aria-label="Default select example" required>
<option value="">Pilih Tempat Tinggal</option>
@foreach ($tempat as $r)
<option value="{{ $r->id }}" {{ old('idMTempat', $siswa->idMTempat) == $r->id ? 'selected' : '' }}>
{{ $r->nama }}
</option>
@endforeach
</select >
</div>
</div>
<div class="form-group mt-3">
<button type="submit" class="btn btn-primary">Simpan</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
@push('scripts')
<script src="{{ asset('assets/js/datatable/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets/js/datatable/datatables/datatable.custom.js') }}"></script>
<script src="{{ asset('assets/js/select2/select2.full.min.js') }}"></script>
<script src="{{ asset('assets/js/select2/select2-custom.js') }}"></script>
<script>
$("#select-kelas").select2({
placeholder: "Pilih Kelas",
});
</script>
@endpush
@endsection
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/select2.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Siswa</h3>
@endslot
<li class="breadcrumb-item">Siswa</li>
<li class="breadcrumb-item active">List</li>
@endcomponent
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
{{-- Diberikan alert --}}
@if (session()->has('sukses'))
<div class="alert alert-success" role="alert">
{{ session('sukses') }}
</div>
@elseif (session()->has('gagal'))
<div class="alert alert-danger" role="alert">
{{ session('gagal') }}
</div>
@endif
<div class="card">
<div class="card-header p-3">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
</div>
</div>
<div class="card-body">
@if (session()->get('role') == 1)
<div class="mb-3">
<label class="col-sm-3 col-form-label">Pilih Provinsi</label>
<select id="select-provinsi" class="form-select select2" name="idMProvinsi" aria-label="Default select example" required>
<option value="">Pilihan Provinsi Sedang di Proses</option>
</select>
</div>
<div class="mb-3">
<label class="col-sm-3 col-form-label">Pilih Daerah</label>
<select id="select-daerah" class="form-select select2" name="idMDaerah" aria-label="Default select example" required>
<option value="">Pilih Provinsi Terlebih Dahulu</option>
</select>
</div>
<div class="mb-3">
<label class="col-sm-3 col-form-label">Pilih Sekolah</label>
<select id="select-sekolah" class="form-select select2" name="idPSekolah" aria-label="Default select example" required>
<option value="">Pilih Daerah Terlebih Dahulu</option>
</select>
</div>
@endif
<div class="row">
<div class="mb-3">
<label class="col-sm-3 col-form-label">Pilih Kelas</label>
<select id="select-kodekelas" class="form-select select2" name="idPKKode" aria-label="Default select example" required>
<option value="">Pilih Kelas Terlebih Dahulu</option>
</select>
<a href="{{ url($url) }}/create" class="btn btn-sm btn-primary float-end m-4" id="linkTambahSiswa">Tambah Siswa</a>
<a href="{{ url($urlKelas) }}" class="btn btn-sm btn-primary float-end m-4" id="linkImportSiswa">Import Siswa</a>
</div>
</div>
<div class="row">
<div class="table-responsive" id="tabel-jquery">
<table id="isi-tabel" class="table table-striped table-bordered dt-responsive nowrap dataTable no-footer dtr-inline collapsed">
<thead >
<tr>
<th data-priority="1" width="50px">No.</th>
<th>NISN</th>
<th>Nama</th>
<th width="250">Action</th>
</tr>
</thead>
<tbody>
{{-- fitur di laravel --}}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
<script src="{{ asset('assets/js/datatable/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets/js/datatable/datatables/datatable.custom.js') }}"></script>
<script src="{{ asset('assets/js/select2/select2.full.min.js') }}"></script>
<script src="{{ asset('assets/js/select2/select2-custom.js') }}"></script>
<script>
$("#isi-tabel").DataTable(); // tambahin ini ki
let baseUrl = '{{ url('') }}';
$('#tabel-jquery').hide();
</script>
@if (session()->get('role') == 1)
@include('admin.filter.perpus')
<script>
$('#select-sekolah').on('change', function() {
var val1 = this.value;
$.getJSON(baseUrl+'/getKelasKomplit/'+val1, (result) => {
if (result.error_code == '0') {
let opt = '<option value="">- Pilih Kelas -</option>';
// var dataSem = result.data;
// dataSem.sort(function(a, b){
// return a.id_semester - b.id_semester;
// });
$.each(result.data, function(i, item) {
opt += '<option value="'+item.id+'">'+item.nama+'</option>';
});
$("#select-kodekelas").html(opt);
}else{
let opt = '<option value="">- Tidak Bisa -</option>';
$("#select-kodekelas").html(opt);
}
$("#select-kodekelas").select2({
placeholder: "Pilih Kelas",
});
});
});
</script>
@elseif (session()->get('role') == 2)
@include('admin.filter.kelaskomplit')
@endif
<script>
$('#linkTambahSiswa').hide();
$('#linkImportSiswa').hide();
$('#select-kodekelas').on('change', function() {
$("#isi-tabel").DataTable().clear().destroy(); // tambahin ini ki
$('#tabel-jquery').show();
var idPKKode = $('#select-kodekelas').val();
// console.log(idPKKode);
// var val3 = this.value;
$('#linkTambahSiswa').show();
$('#linkImportSiswa').show();
// Memeriksa apakah nilai bukan kosong
if (idPKKode) {
$('#linkTambahSiswa').attr('href', "{{ url($url) }}/create/" + idPKKode);
$('#linkImportSiswa').attr('href', "{{ url($urlKelas) }}/" + idPKKode);
} else {
// Kembalikan ke URL default jika tidak ada kelas yang dipilih
$('#linkTambahSiswa').attr('href', "{{ url($url) }}/create");
$('#linkImportSiswa').attr('href', "{{ url($urlKelas) }}");
}
$("#isi-tabel").DataTable({
// $("#tabel-jquery")({
language: { // tambahin ini ki
emptyTable: "Tidak ada data Siswa",
info: "Total: _TOTAL_ Data Siswa",
infoEmpty: "Menampilkan 0 dari 0 Data Siswa",
},
responsive: true,
autoWidth: false,
processing: true,
ajax: {
url: baseUrl+'/siswa/getTabelSekolahSiswa/' +idPKKode,
method: 'GET',
},
dom: 'Bfrtip',
buttons: [
'copy', 'excel', 'pdf', 'colvis'
]
});
});
</script>
@endpush
@endsection
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Siswa</h3>
@endslot
<li class="breadcrumb-item">Siswa</li>
<li class="breadcrumb-item active">Detail</li>
@endcomponent
<div class="container-fluid pt-4">
<div class="row justify-content-center">
<div class="col-lg-10 col-sm-12">
<div class="card border-top border-0 border-4 border-info">
<div class="card-header p-3">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
<div class="col-lg-6">
<a href="{{ url($url) }}" class="btn btn-sm btn-primary float-end">Kembali</a>
</div>
</div>
</div>
<div class="card-body">
<table id="datatable" class="table text-center">
<tbody>
<tr>
<td class="text-sm-end">Nama Siswa</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->nama }}</td>
</tr>
<tr>
<td class="text-sm-end">NISN</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->nisn }}</td>
</tr>
<tr>
<td class="text-sm-end">Kode Kelas</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->kelaskode->nama }}</td>
</tr>
<tr>
<td class="text-sm-end">Agama</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->agama->nama ?? "Data tidak ditemukan" }}</td>
</tr>
<tr>
<td class="text-sm-end">Tanggal Lahir</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->lahir_tanggal ?? "Data tidak ditemukan" }}</td>
</tr>
<tr>
<td class="text-sm-end">Email</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->email ?? "Data tidak ditemukan" }}</td>
</tr>
<tr>
<td class="text-sm-end">No Telp</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->telp ?? "Data tidak ditemukan" }}</td>
</tr>
<tr>
<td class="text-sm-end">Nama Orang Tua</td>
<td>:</td>
@if ($ortu == NULL)
<td class="text-sm-start">Data tidak ditemukan</td>
@else
<td class="text-sm-start">{{ $ortu->nama ?? 'Ortu Belum Ada' }} <a href="{{ url("admin/siswa/ortu/" . $siswa->id, []) }}" ><i class="fa fa-info-circle"></i></a></td>
@endif
</tr>
<tr>
<td class="text-sm-end">Nama Wali Kelas</td>
<td>:</td>
<td class="text-sm-start">{{ $sekolah_wali ? $sekolah_wali->guru->nama : 'Wali Kelas Belum Ada' }}</td>
</tr>
<tr>
<td class="text-sm-end">Nip/Niy Wali Kelas</td>
<td>:</td>
<td class="text-sm-start">{{ $sekolah_wali ? $sekolah_wali->guru->nip : 'Wali Kelas Belum Ada' }}</td>
</tr>
<tr>
<td class="text-sm-end">Nama Guru Konseling</td>
<td>:</td>
{{-- <td class="text-sm-start">{{ $konselor ? $konselor->guru->nama : 'Konselor Belum Ada' }}</td> --}}
<td class="text-sm-start">{{ $konselor->guru->nama ?? 'Guru Konseling Belum Ada' }}</td>
</tr>
<tr>
<td class="text-center" colspan="4">
<form action="{{ url($url)}}/delete/{{ $id }}" method="post">
@method('delete')
@csrf
<button class="btn btn-danger float-end" onclick="return confirm('Apakah Anda Yakin Hapus {{ $siswa->nisn }}-{{ $siswa->nama }} ?')">Hapus Siswa</button>
</form>
<a href="{{ url($url) }}/{{ $siswa->id }}/edit"><button type='button' class='btn btn-primary float-end'>Edit</button></a>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="card">
<div class="card-header p-3">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">Mutasi Kelas Siswa</h5>
</div>
</div>
</div>
<div class="card-body">
<div class="table-responsive" id="tabel-jquery">
<table class="table text-center">
<thead >
<tr>
<th>Periode</th>
<th>Kelas</th>
</tr>
</thead>
<tbody>
@foreach ($siswaMutasi as $sm)
<tr>
<td>{{ $sm->periode->nama_periode }}</td>
<td>{{ $sm->kelaskode->kelas->nama }} {{ $sm->kelaskode->kelas->jurusan->nama }} {{ $sm->kelaskode->nama }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
<script src="{{ asset('assets/js/datatable/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets/js/datatable/datatables/datatable.custom.js') }}"></script>
@endpush
@endsection
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Halaman</h3>
@endslot
<li class="breadcrumb-item">Halaman</li>
<li class="breadcrumb-item active">List</li>
@endcomponent
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
<div class="col-lg-6">
<a href="{{ url('excel-template/format_input_guru.xlsx') }}" class="btn btn-sm btn-primary float-end">Download Template</a>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-12">
<div class="card">
<div class="card-body">
<div class="row g-2">
<form action="{{ url($url) }}/store" method="POST" enctype="multipart/form-data">
@csrf
<div class="mb-3 row">
<label class="col-sm-3 col-form-label" for="exampleFormControlTextarea4">Import Excel</label>
<div class="col-sm-9">
<input class="form-control" name="file_excel" type="file" accept=".csv, .xls, .xlsx">
</div>
</div>
<div>
<div class="text-end btn-mb">
<input type="submit" value="Migrasi" class="btn btn-primary">
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
@endpush
@endsection
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Halaman</h3>
@endslot
<li class="breadcrumb-item">Halaman</li>
<li class="breadcrumb-item active">List</li>
@endcomponent
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
{{-- Diberikan alert --}}
@if (session()->has('sukses'))
<div class="alert alert-success" role="alert">
{{ session('sukses') }}
</div>
@elseif (session()->has('gagal'))
<div class="alert alert-danger" role="alert">
{{ session('gagal') }}
</div>
@endif
<div class="card">
<div class="card-header p-3">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
<div class="col-lg-6">
<a href="{{ url($url) }}/create" class="btn btn-sm btn-primary float-end">Import
Siswa</a>
<button class="btn btn-sm btn-warning float-end" type="button" data-bs-toggle="modal"
data-bs-target="#exampleModalCenter">Migrasi Data</button>
<div class="modal fade" id="exampleModalCenter" tabindex="-1"
aria-labelledby="exampleModalCenter" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Modal title</h5>
<button class="btn-close" type="button" data-bs-dismiss="modal"
aria-label="Close" data-bs-original-title="" title=""></button>
</div>
<div class="modal-body">
<p>Apakah Anda yakin ingin melakukan migrasi data ?</p>
</div>
<div class="modal-footer">
<button class="btn btn-secondary" type="button" data-bs-dismiss="modal"
data-bs-original-title="" title="">Batalkan</button>
<button id="migrasiSiswa" class="btn btn-primary" type="button"
data-bs-original-title="" title="">Migrasi Data Siswa</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="display" id="basic-1">
<thead>
<tr>
<th width="50">No.</th>
<th>Periode</th>
<th>NISN</th>
<th>Nama</th>
<th>Waktu Import</th>
<th>Data Admin</th>
<th>Status</th>
</tr>
</thead>
<tbody>
@foreach ($excelSiswa as $r)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $r->periode->nama_periode }}</td>
<td>{{ $r->nisn }}</td>
<td>{{ $r->nama }}</td>
<td>{{ $r->created_at }}</td>
<td>{{ $r->user->username ?? '-' }}</td>
<td>
@if ($r->status == 1)
Tambah
@elseif($r->status == 2)
Edit
@else
Gagal
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
<script src="{{ asset('assets/js/datatable/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets/js/datatable/datatables/datatable.custom.js') }}"></script>
<script>
$(function() {
$('#migrasiSiswa').on('click', function() {
// let idPSekolah = "{{ session()->get('idPSekolah') }}";
// let idPPeriode = "{{ session()->get('idPPeriode') }}";
let url = "{{ url($url) }}/migrate";
console.log(url);
$.ajax({
url: url,
type: 'POST',
data: {
// idPSekolah: idPSekolah,
// idPPeriode: idPPeriode,
_token: "{{ csrf_token() }}" // Pastikan CSRF token disertakan untuk keamanan
},
success: function(response) {
// Tindakan yang diambil jika POST berhasil
console.log('Data berhasil dikirim:', response);
alert('Migrasi siswa berhasil!');
},
error: function(xhr, status, error) {
// Tindakan yang diambil jika POST gagal
console.error('Terjadi kesalahan:', error);
alert('Terjadi kesalahan dalam migrasi siswa.');
}
});
});
});
</script>
@endpush
@endsection
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Halaman</h3>
@endslot
<li class="breadcrumb-item">Halaman</li>
<li class="breadcrumb-item active">List</li>
@endcomponent
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
{{-- Diberikan alert --}}
@if (session()->has('sukses'))
<div class="alert alert-success" role="alert">
{{ session('sukses') }}
</div>
@elseif (session()->has('gagal'))
<div class="alert alert-danger" role="alert">
{{ session('gagal') }}
</div>
@endif
<div class="card">
<div class="card-header p-3">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
<div class="col-lg-6">
<a href="{{ url($url) }}" class="btn btn-sm btn-primary float-end">Kembali</a>
</div>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="display" id="basic-1">
<thead>
<tr>
<th width="50">No.</th>
<th>Periode</th>
<th>Waktu Import</th>
<th>Data Admin</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach ($excelGuru as $r)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $r->periode->nama_periode }}</td>
<td>{{ $r->created_at }}</td>
<td>{{ $r->user->username ?? '-' }}</td>
<td>
<a href="{{ url($url) }}/preview" class="btn btn-sm btn">Lihat Data</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
<script src="{{ asset('assets/js/datatable/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets/js/datatable/datatables/datatable.custom.js') }}"></script>
<script>
$(function() {
$("#isi-tabel").DataTable(); // tambahin ini ki
let baseUrl = '{{ url('') }}';
let idSekolah = "{{ session()->get('idsekolah') }}";
$('#tabel-jquery').hide();
});
</script>
@endpush
@endsection
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Master Kelas</h3>
@endslot
<li class="breadcrumb-item">Master</li>
<li class="breadcrumb-item">Indeks Kelas</li>
<li class="breadcrumb-item active">Edit</li>
@endcomponent
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
<div class="col-lg-6">
<a href="{{ url($url) }}" class="btn btn-sm btn-primary float-end">Kembali</a>
</div>
</div>
</div>
<form action="{{ url("$url")}}/update/{{ $id }}" method="post">
@csrf
@method('PUT')
<div class="card-body">
<input type="hidden" id="i-nama" class="form-control" name="id" placeholder="" value="{{ $perpus_kelasKode->id }}">
<div class="form-group">
<label>Indeks Kelas</label>
<input type="text" id="i-nama" class="form-control" name="nama" placeholder="" value="{{ $perpus_kelasKode->nama }}">
</div>
<div class="form-group mt-3">
<button type="submit" class="btn btn-primary">Simpan</button>
<button class="btn btn-secondary"><a href="{{ url($url) }}" class="text-white">Cancel</a></button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
@push('scripts')
@endpush
@endsection
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/select2.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Master Indeks Kelas</h3>
@endslot
<li class="breadcrumb-item">Master</li>
<li class="breadcrumb-item">Indeks Kelas</li>
<li class="breadcrumb-item active">Detail</li>
@endcomponent
<div class="container-fluid pt-4">
<div class="row justify-content-center">
<div class="col-lg-10 col-sm-12">
<div class="card border-top border-0 border-4 border-info">
<div class="card-header p-3">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
<div class="col-lg-6 col-sm-12">
<a href="{{ url($url) }}" class="btn btn-sm btn-primary float-end">kembali</a> &nbsp;
<button class="btn btn-sm btn-warning float-end" data-bs-toggle="modal"
data-bs-target="#modalImportDapodik" data-id="{{ $perpus_kelasKode->id }}"
id="kodeKelasIdDapodik">Import Data Siswa Dapodik</button>
</div>
</div>
</div>
<div class="card-body">
<table id="datatable" class="table text-center">
<tbody>
<tr>
<td class="text-sm-end"><b>Nama Sekolah</b></td>
<td>:</td>
<td class="text-sm-start"><b>{{ $perpus_kelasKode->sekolah->nama }}</b></td>
</tr>
<tr>
<td class="text-sm-end">Kelas</td>
<td>:</td>
<td class="text-sm-start">
{{ $perpus_kelasKode->kelas->nama . ' ' . $perpus_kelasKode->kelas->jurusan->nama . ' ' . $perpus_kelasKode->nama }}
</td>
</tr>
<tr>
<td class="text-sm-end">Nama Wali Kelas</td>
<td>:</td>
<td class="text-sm-start">
{{ $perpus_kelasKode->walikelas->guru->nama ?? 'Wali kelas belum di SET' }}</td>
</tr>
<tr>
<td class="text-sm-end">Nip Wali Kelas</td>
<td>:</td>
<td class="text-sm-start">
{{ $perpus_kelasKode->walikelas->guru->nip ?? 'Wali kelas belum di SET' }}</td>
</tr>
<tr>
<td colspan="3">
<form action="{{ url($url) }}/delete/{{ $perpus_kelasKode->id }}"
method="POST"> @csrf @method('delete')
<input type="submit" value="Hapus index kelas" class="btn btn-sm btn-primary"
onclick="return confirm('Apakah Anda Yakin Hapus {{ $perpus_kelasKode->kelas->nama . ' ' . $perpus_kelasKode->kelas->jurusan->nama . ' ' . $perpus_kelasKode->nama }} ? siswa akan tetap dikelas ini sebagai siswa historis')">
</form>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-lg-10 col-sm-12">
<div class="card border-top border-0 border-4 border-info">
<div class="table-responsive" id="tabel-jquery">
<table id="isi-tabel"
class="table table-striped table-bordered dt-responsive nowrap dataTable no-footer dtr-inline collapsed">
<thead>
<tr>
<th data-priority="1" width="50px">No.</th>
<th>NISN</th>
<th>Nama</th>
<th width="250">Action</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modalImportDapodik" tabindex="-1" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Import Dapodik</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="form-group mb-3">
<a href="{{ url('excel-template/format_input_siswa_kelas.xlsx') }}"
class="btn btn-sm btn-primary">Download Template</a>
</div>
<div class="form-group mb-3">
<form action="{{ url($url) }}/import-dapodik" method="post" enctype="multipart/form-data">
@csrf
<input type="hidden" id="iKelasKodeIdDapodik" name="kelasKode">
<div class="row">
<div class="col-md-12">
<label class="col-sm-3 col-form-label" for="exampleFormControlTextarea4">Import
Excel</label>
<input class="form-control @error('file_excel') is-invalid @enderror" name="file_excel"
type="file" accept=".csv, .xls, .xlsx">
@error('file_excel')
<div class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
<button type="submit" class="btn btn-primary">Simpan</button>
</div>
</form>
</div>
</div>
</div>
@push('scripts')
<script src="{{ asset('assets/js/datatable/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets/js/datatable/datatables/datatable.custom.js') }}"></script>
<script src="{{ asset('assets/js/clipboard/clipboard.min.js') }}"></script>
<script src="{{ asset('assets/js/clipboard/clipboard-script.js') }}"></script>
<script>
$("#isi-tabel").DataTable(); // tambahin ini ki
let baseUrl = '{{ url('') }}';
$('#tabel-jquery').hide();
</script>
<script>
// Show Edit
$("#kodeKelasId").on("click", function() {
let dataId = $(this).data("id")
$("#iKelasKodeId").val(dataId)
});
$("#kodeKelasIdDapodik").on("click", function() {
let dataId = $(this).data("id")
$("#iKelasKodeIdDapodik").val(dataId)
});
$('#select-agama').on('change', function() {
$("#enAgama").val(this.value);
});
$('#select-konselor').on('change', function() {
$("#enKonselor").val(this.value);
});
$('#select-tempat').on('change', function() {
$("#enTempat").val(this.value);
});
$('#select-pekerjaan').on('change', function() {
$("#enPekerjaan").val(this.value);
});
$("#isi-tabel").DataTable().clear().destroy(); // tambahin ini ki
$('#tabel-jquery').show();
var idPKelas = {{ $perpus_kelasKode->id }};
// console.log(idPKKode);
// var val3 = this.value;
$("#isi-tabel").DataTable({
// $("#tabel-jquery")({
language: { // tambahin ini ki
emptyTable: "Tidak ada data Kelas",
info: "Total: _TOTAL_ Data Kelas",
infoEmpty: "Menampilkan 0 dari 0 Data Kelas",
},
responsive: true,
autoWidth: false,
processing: true,
ajax: {
url: baseUrl + '/siswa/getTabelSekolahSiswa/dapodik/' + idPKelas,
method: 'GET',
},
dom: 'Bfrtip',
buttons: [
'copy', 'excel', 'pdf', 'colvis'
]
});
</script>
@endpush
@endsection
This diff is collapsed.
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/select2.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Siswa</h3>
@endslot
<li class="breadcrumb-item">Siswa</li>
<li class="breadcrumb-item active">Edit</li>
@endcomponent
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
<div class="col-lg-6">
<a href="{{ redirect()->back()->getTargetUrl() }}" class="btn btn-sm btn-primary float-end">Kembali</a>
</div>
</div>
</div>
<form action="{{ url($url) }}/update/{{ $siswa->id }}" method="post">
@csrf
@method('PUT')
<div class="card-body">
<div class="form-group">
<div class="form-group">
<label class="col-sm-3 col-form-label">Kode Kelas</label>
<select id="select-kelas" class="form-select select2 @error('idPKKode') is-invalid @enderror" name="idPKKode" aria-label="Default select example">
@foreach ($kelaskode as $r)
<option value="{{ $r->id }}" {{ old('idPKKode', $siswa->idPKKode) == $r->id ? 'selected' : '' }}>
{{ $r->kelas->nama }} {{ $r->jurusan->nama }} {{ $r->nama }}
</option>
@endforeach
</select >
</div>
<div class="form-group">
<label class="col-sm-3 col-form-label">Pilih Guru Konseling</label>
<select id="select-sem" class="form-select select2 @error('idSKonselor') is-invalid @enderror" name="idSKonselor" aria-label="Default select example" required>
<option value="">Pilih Guru Konseling</option>
@foreach ($konselor as $r)
<option value="{{ $r->id }}" {{ old('idSKonselor', $siswa->konselor?->id) == $r->id ? 'selected' : '' }}>
{{ $r->guru->nama }}
</option>
@endforeach
</select >
</div>
<div class="form-group">
<label class="col-sm-3 col-form-label">Agama</label>
<select id="select-sem" class="form-select select2 @error('idMAgama') is-invalid @enderror" name="idMAgama" aria-label="Default select example">
<option value="">Pilih Agama</option>
@foreach ($agama as $r)
<option value="{{ $r->id }}" {{ old('idMAgama', $siswa->agama?->id) == $r->id ? 'selected' : '' }}>
{{ $r->nama }}
</option>
@endforeach
</select >
</div>
<div class="form-group">
<label>NISN</label>
<input type="text" id="i-nama" class="form-control @error('nisn') is-invalid @enderror" name="nisn" placeholder="nisn" value="{{ old('nisn',$siswa->nisn) }}" required>
</div>
<div class="form-group">
<label>Nama</label>
<input type="text" id="i-nama" class="form-control @error('nama') is-invalid @enderror" name="nama" placeholder="Nama" value="{{ old('nama',$siswa->nama) }}" required>
</div>
<div class="form-group">
<label class="col-form-label pt-0" for="exampleInputEmail1">Tanggal Lahir</label>
<div class="input-group date" id="dt-date" data-target-input="nearest">
<input class="form-control datetimepicker-input digits @error('lahir_tanggal') is-invalid @enderror" name="lahir_tanggal" type="text" data-target="#dt-date" value="{{ old('lahir_tanggal',$siswa->lahir_tanggal) }}">
<div class="input-group-text" data-target="#dt-date" data-toggle="datetimepicker"><i class="fa fa-calendar"></i></div>
</div>
</div>
<div class="form-group">
<label>Tempat Lahir</label>
<input type="text" id="i-nama" class="form-control @error('lahir_tempat') is-invalid @enderror" name="lahir_tempat" placeholder="Tempat Lahir" value="{{ old('lahir_tempat', $siswa->lahir_tempat) }}">
</div>
<div class="form-group">
<label class="col-form-label pt-0" for="exampleInputEmail1">Email</label>
<input name="email" class="form-control @error('email') is-invalid @enderror" type="email" placeholder="masukkan email" value="{{ $siswa->email }}" value="{{ old('email', $siswa->email) }}">
</div>
<div class="form-group">
<label class="col-form-label pt-0" for="exampleInputEmail1">No Telp</label>
<input name="telp" class="form-control @error('telp') is-invalid @enderror" type="text" placeholder="masukkan nomor" value="{{ $siswa->telp }}" value="{{ old('telp', $siswa->telp) }}" required>
</div>
<div class="form-group">
<label class="col-sm-3 col-form-label">Tempat Tinggal</label>
<select id="select-sem" class="form-select select2 @error('idMTempat') is-invalid @enderror" name="idMTempat" aria-label="Default select example" required>
<option value="">Pilih Tempat Tinggal</option>
@foreach ($tempat as $r)
<option value="{{ $r->id }}" {{ old('idMTempat', $siswa->idMTempat) == $r->id ? 'selected' : '' }}>
{{ $r->nama }}
</option>
@endforeach
</select >
</div>
</div>
<div class="form-group mt-3">
<button type="submit" class="btn btn-primary">Simpan</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
@push('scripts')
<script src="{{ asset('assets/js/datatable/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets/js/datatable/datatables/datatable.custom.js') }}"></script>
<script src="{{ asset('assets/js/select2/select2.full.min.js') }}"></script>
<script src="{{ asset('assets/js/select2/select2-custom.js') }}"></script>
<script>
$("#select-kelas").select2({
placeholder: "Pilih Kelas",
});
</script>
@endpush
@endsection
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/select2.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Siswa</h3>
@endslot
<li class="breadcrumb-item">Siswa</li>
<li class="breadcrumb-item active">List</li>
@endcomponent
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
{{-- Diberikan alert --}}
@if (session()->has('sukses'))
<div class="alert alert-success" role="alert">
{{ session('sukses') }}
</div>
@elseif (session()->has('gagal'))
<div class="alert alert-danger" role="alert">
{{ session('gagal') }}
</div>
@endif
<div class="card">
<div class="card-header p-3">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
</div>
</div>
<div class="card-body">
@if (session()->get('role') == 1)
<div class="mb-3">
<label class="col-sm-3 col-form-label">Pilih Provinsi</label>
<select id="select-provinsi" class="form-select select2" name="idMProvinsi" aria-label="Default select example" required>
<option value="">Pilihan Provinsi Sedang di Proses</option>
</select>
</div>
<div class="mb-3">
<label class="col-sm-3 col-form-label">Pilih Daerah</label>
<select id="select-daerah" class="form-select select2" name="idMDaerah" aria-label="Default select example" required>
<option value="">Pilih Provinsi Terlebih Dahulu</option>
</select>
</div>
<div class="mb-3">
<label class="col-sm-3 col-form-label">Pilih Sekolah</label>
<select id="select-sekolah" class="form-select select2" name="idPSekolah" aria-label="Default select example" required>
<option value="">Pilih Daerah Terlebih Dahulu</option>
</select>
</div>
@endif
<div class="row">
<div class="mb-3">
<label class="col-sm-3 col-form-label">Pilih Kelas</label>
<select id="select-kodekelas" class="form-select select2" name="idPKKode" aria-label="Default select example" required>
<option value="">Pilih Kelas Terlebih Dahulu</option>
</select>
<a href="{{ url($url) }}/create" class="btn btn-sm btn-primary float-end m-4" id="linkTambahSiswa">Tambah Siswa</a>
<a href="{{ url($urlKelas) }}" class="btn btn-sm btn-primary float-end m-4" id="linkImportSiswa">Import Siswa</a>
</div>
</div>
<div class="row">
<div class="table-responsive" id="tabel-jquery">
<table id="isi-tabel" class="table table-striped table-bordered dt-responsive nowrap dataTable no-footer dtr-inline collapsed">
<thead >
<tr>
<th data-priority="1" width="50px">No.</th>
<th>NISN</th>
<th>Nama</th>
<th width="250">Action</th>
</tr>
</thead>
<tbody>
{{-- fitur di laravel --}}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
<script src="{{ asset('assets/js/datatable/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets/js/datatable/datatables/datatable.custom.js') }}"></script>
<script src="{{ asset('assets/js/select2/select2.full.min.js') }}"></script>
<script src="{{ asset('assets/js/select2/select2-custom.js') }}"></script>
<script>
$("#isi-tabel").DataTable(); // tambahin ini ki
let baseUrl = '{{ url('') }}';
$('#tabel-jquery').hide();
</script>
@if (session()->get('role') == 1)
@include('admin.filter.perpus')
<script>
$('#select-sekolah').on('change', function() {
var val1 = this.value;
$.getJSON(baseUrl+'/getKelasKomplit/'+val1, (result) => {
if (result.error_code == '0') {
let opt = '<option value="">- Pilih Kelas -</option>';
// var dataSem = result.data;
// dataSem.sort(function(a, b){
// return a.id_semester - b.id_semester;
// });
$.each(result.data, function(i, item) {
opt += '<option value="'+item.id+'">'+item.nama+'</option>';
});
$("#select-kodekelas").html(opt);
}else{
let opt = '<option value="">- Tidak Bisa -</option>';
$("#select-kodekelas").html(opt);
}
$("#select-kodekelas").select2({
placeholder: "Pilih Kelas",
});
});
});
</script>
@elseif (session()->get('role') == 2)
@include('admin.filter.kelaskomplit')
@endif
<script>
$('#linkTambahSiswa').hide();
$('#linkImportSiswa').hide();
$('#select-kodekelas').on('change', function() {
$("#isi-tabel").DataTable().clear().destroy(); // tambahin ini ki
$('#tabel-jquery').show();
var idPKKode = $('#select-kodekelas').val();
// console.log(idPKKode);
// var val3 = this.value;
$('#linkTambahSiswa').show();
$('#linkImportSiswa').show();
// Memeriksa apakah nilai bukan kosong
if (idPKKode) {
$('#linkTambahSiswa').attr('href', "{{ url($url) }}/create/" + idPKKode);
$('#linkImportSiswa').attr('href', "{{ url($urlKelas) }}/" + idPKKode);
} else {
// Kembalikan ke URL default jika tidak ada kelas yang dipilih
$('#linkTambahSiswa').attr('href', "{{ url($url) }}/create");
$('#linkImportSiswa').attr('href', "{{ url($urlKelas) }}");
}
$("#isi-tabel").DataTable({
// $("#tabel-jquery")({
language: { // tambahin ini ki
emptyTable: "Tidak ada data Siswa",
info: "Total: _TOTAL_ Data Siswa",
infoEmpty: "Menampilkan 0 dari 0 Data Siswa",
},
responsive: true,
autoWidth: false,
processing: true,
ajax: {
url: baseUrl+'/siswa/getTabelSekolahSiswa/' +idPKKode,
method: 'GET',
},
dom: 'Bfrtip',
buttons: [
'copy', 'excel', 'pdf', 'colvis'
]
});
});
</script>
@endpush
@endsection
@extends($admin)
@section('title')
{{ $title }}
@endsection
@push('css')
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/datatables.css') }}">
@endpush
@section('content')
@component('components.breadcrumb')
@slot('breadcrumb_title')
<h3>Siswa</h3>
@endslot
<li class="breadcrumb-item">Siswa</li>
<li class="breadcrumb-item active">Detail</li>
@endcomponent
<div class="container-fluid pt-4">
<div class="row justify-content-center">
<div class="col-lg-10 col-sm-12">
<div class="card border-top border-0 border-4 border-info">
<div class="card-header p-3">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">{{ $page }}</h5>
</div>
<div class="col-lg-6">
<a href="{{ url($url) }}" class="btn btn-sm btn-primary float-end">Kembali</a>
</div>
</div>
</div>
<div class="card-body">
<table id="datatable" class="table text-center">
<tbody>
<tr>
<td class="text-sm-end">Nama Siswa</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->nama }}</td>
</tr>
<tr>
<td class="text-sm-end">NISN</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->nisn }}</td>
</tr>
<tr>
<td class="text-sm-end">Kode Kelas</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->kelaskode->nama }}</td>
</tr>
<tr>
<td class="text-sm-end">Agama</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->agama->nama ?? "Data tidak ditemukan" }}</td>
</tr>
<tr>
<td class="text-sm-end">Tanggal Lahir</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->lahir_tanggal ?? "Data tidak ditemukan" }}</td>
</tr>
<tr>
<td class="text-sm-end">Email</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->email ?? "Data tidak ditemukan" }}</td>
</tr>
<tr>
<td class="text-sm-end">No Telp</td>
<td>:</td>
<td class="text-sm-start">{{ $siswa->telp ?? "Data tidak ditemukan" }}</td>
</tr>
<tr>
<td class="text-sm-end">Nama Orang Tua</td>
<td>:</td>
@if ($ortu == NULL)
<td class="text-sm-start">Data tidak ditemukan</td>
@else
<td class="text-sm-start">{{ $ortu->nama ?? 'Ortu Belum Ada' }} <a href="{{ url("admin/siswa/ortu/" . $siswa->id, []) }}" ><i class="fa fa-info-circle"></i></a></td>
@endif
</tr>
<tr>
<td class="text-sm-end">Nama Wali Kelas</td>
<td>:</td>
<td class="text-sm-start">{{ $sekolah_wali ? $sekolah_wali->guru->nama : 'Wali Kelas Belum Ada' }}</td>
</tr>
<tr>
<td class="text-sm-end">Nip/Niy Wali Kelas</td>
<td>:</td>
<td class="text-sm-start">{{ $sekolah_wali ? $sekolah_wali->guru->nip : 'Wali Kelas Belum Ada' }}</td>
</tr>
<tr>
<td class="text-sm-end">Nama Guru Konseling</td>
<td>:</td>
{{-- <td class="text-sm-start">{{ $konselor ? $konselor->guru->nama : 'Konselor Belum Ada' }}</td> --}}
<td class="text-sm-start">{{ $konselor->guru->nama ?? 'Guru Konseling Belum Ada' }}</td>
</tr>
<tr>
<td class="text-center" colspan="4">
<form action="{{ url($url)}}/delete/{{ $id }}" method="post">
@method('delete')
@csrf
<button class="btn btn-danger float-end" onclick="return confirm('Apakah Anda Yakin Hapus {{ $siswa->nisn }}-{{ $siswa->nama }} ?')">Hapus Siswa</button>
</form>
<a href="{{ url($url) }}/{{ $siswa->id }}/edit"><button type='button' class='btn btn-primary float-end'>Edit</button></a>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="card">
<div class="card-header p-3">
<div class="row">
<div class="col-lg-6">
<h5 class="card-title">Mutasi Kelas Siswa</h5>
</div>
</div>
</div>
<div class="card-body">
<div class="table-responsive" id="tabel-jquery">
<table class="table text-center">
<thead >
<tr>
<th>Periode</th>
<th>Kelas</th>
</tr>
</thead>
<tbody>
@foreach ($siswaMutasi as $sm)
<tr>
<td>{{ $sm->periode->nama_periode }}</td>
<td>{{ $sm->kelaskode->kelas->nama }} {{ $sm->kelaskode->kelas->jurusan->nama }} {{ $sm->kelaskode->nama }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
<script src="{{ asset('assets/js/datatable/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('assets/js/datatable/datatables/datatable.custom.js') }}"></script>
@endpush
@endsection
......@@ -56,6 +56,13 @@
<li><a href="{{ route('tahun-ajaran.update.siswa') }}" class="{{ routeActive('tahun-ajaran.update.siswa') }}">Update Data TA Siswa</a></li>
</ul>
</li>
<li class="dropdown">
<a class="nav-link menu-title {{ prefixActive('/admin/import-dapodik') }}" href="javascript:void(0)"><i data-feather="master"></i><span>Import Dapodik</span></a>
<ul class="nav-submenu menu-content" style="display: {{ prefixBlock('/admin/import-dapodik') }}">
<li><a href="{{ route('import-dapodik.guru') }}" class="{{ routeActive('import-dapodik.guru') }}">Import Guru</a></li>
<li><a href="{{ route('import-dapodik.siswa') }}" class="{{ routeActive('import-dapodik.siswa') }}">Import Siswa</a></li>
</ul>
</li>
<li class="dropdown">
<a class="nav-link menu-title {{ prefixActive('/admin/import') }}" href="javascript:void(0)"><i data-feather="master"></i><span>Import</span></a>
<ul class="nav-submenu menu-content" style="display: {{ prefixBlock('/admin/import') }}">
......
<?php
use App\Imports\ImportDapodikGuru;
use App\Imports\ImportDapodikSiswa;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Maatwebsite\Excel\Facades\Excel;
Route::post('/cobaimport/dataguru', function(Request $request){
try{
Excel::import(new ImportDapodikGuru, $request->file('file'));
return response()->json(['message' => 'Success']);
}catch(\Exception $e){
return response()->json(['error' => 'Failed to create model: ' . $e->getMessage()], 500);
}
});
Route::post('/cobaimport/datasiswa', function(Request $request){
try{
Excel::import(new ImportDapodikSiswa, $request->file('file'));
return response()->json(['message' => 'Success']);
}catch(\Exception $e){
return response()->json(['error' => 'Failed to create model: ' . $e->getMessage()], 500);
}
});
\ No newline at end of file
......@@ -2,6 +2,8 @@
use Illuminate\Support\Facades\Route;
require __DIR__ . '/cobaimport.php';
/*
|--------------------------------------------------------------------------
| Web Routes
......@@ -62,6 +64,9 @@ Route::middleware(['login:1,2'])->group(function () {
Route::get('/indeks-kelas/create', 'Admin\Perpus\KelasKodeController@create');
Route::post('/indeks-kelas/store', 'Admin\Perpus\KelasKodeController@store');
Route::post('/indeks-kelas/import', 'Admin\Perpus\KelasKodeController@import');
Route::post('/indeks-kelas/import-dapodik', 'Admin\Perpus\KelasKodeController@importDapodik');
Route::get('/indeks-kelas/dapodik/{dataId?}', 'Admin\Perpus\KelasKodeController@showDapodik');
Route::get('/indeks-kelas/dapodik/{dataId?}/edit', 'Admin\Perpus\KelasKodeController@editDapodik');
Route::get('/indeks-kelas/{dataId?}', 'Admin\Perpus\KelasKodeController@show');
Route::get('/indeks-kelas/{dataId?}/edit', 'Admin\Perpus\KelasKodeController@edit');
Route::put('/indeks-kelas/update/{dataId?}', 'Admin\Perpus\KelasKodeController@update');
......@@ -162,6 +167,7 @@ Route::middleware(['login:1,2,3'])->group(function () {
Route::get('stakeholder/getTabelSekolahWali/{idAngkatan}', 'Api\TabelStakeholderController@getSekolahWali');
// Tabel Siswa
Route::get('siswa/getTabelSekolahSiswa/dapodik/{idPKKode}', 'Api\TabelSiswaController@getSekolahSiswaDapodik');
Route::get('siswa/getTabelSekolahSiswa/{idPKKode}', 'Api\TabelSiswaController@getSekolahSiswa');
Route::get('siswa/getTabelPeriodeSiswa/{idAngkatan}', 'Api\TabelSiswaController@getPeriodeSiswa');
Route::get('siswa/getSiswaKonseling/{idPKKode}', 'Api\TabelSiswaController@getSiswaKonseling');
......
......@@ -52,7 +52,7 @@ Route::prefix('admin/guru')->group(function () {
Route::put('/konselor/update/{dataId?}', 'Admin\Stakeholder\KonselorController@update');
Route::get('/konselor/setting-massal', 'Admin\Stakeholder\KonselorController@settingMassal');
Route::post('/konselor/setting-massal-proses', 'Admin\Stakeholder\KonselorController@settingMassalProcess');
Route::get('/{dataId?}', 'Admin\Stakeholder\GuruController@show');
});
......@@ -78,14 +78,37 @@ Route::prefix('/admin/tahun-ajaran')->group(function () {
Route::get('/siswa/{dataId?}', 'Admin\Periode\PeriodeSiswaKelasController@show');
});
Route::prefix('/admin/import-dapodik')->group(function () {
Route::get('/guru', 'Admin\Import\ImportGuruDapodikController@index')->name('import-dapodik.guru');
Route::get('/datatable', 'Admin\Import\ImportGuruDapodikController@datatable')->name('import-dapodik.gurutable');
Route::get('/guru/create', 'Admin\Import\ImportGuruDapodikController@create');
Route::post('/guru/store', 'Admin\Import\ImportGuruDapodikController@store');
Route::post('/guru/migrate', 'Admin\Import\MigrasiDapodikController@migrasiGuru');
Route::get('/siswa', 'Admin\Import\ImportSiswaDapodikController@index')->name('import-dapodik.siswa');
Route::get('/siswa/create', 'Admin\Import\ImportSiswaDapodikController@create');
Route::post('/siswa/store', 'Admin\Import\ImportSiswaDapodikController@store');
Route::post('/siswa/migrate', 'Admin\Import\MigrasiDapodikController@migrasiSiswa');
// Route::prefix('/siswa')->group(function () {
// Route::get('/', 'Admin\Import\ImportSiswaDapodikController@index')->name('siswa');
// Route::get('/create/{dataId?}', 'Admin\Import\ImportSiswaDapodikController@create');
// Route::post('/store', 'Admin\Import\ImportSiswaDapodikController@store');
// Route::get('/{dataId?}/edit', 'Admin\Import\ImportSiswaDapodikController@edit');
// Route::put('/update/{dataId?}', 'Admin\Import\ImportSiswaDapodikController@update');
// Route::delete('/delete/{dataId?}', 'Admin\Import\ImportSiswaDapodikController@delete');
// Route::get('/{dataId?}', 'Admin\Import\ImportSiswaDapodikController@show');
// });
});
Route::prefix('/admin/import')->group(function () {
// Route::get('/siswa', 'Admin\Import\ImportSiswaController@index')->name('import.siswa');
// Route::get('/siswa/create', 'Admin\Import\ImportSiswaController@create');
// Route::post('/siswa/store', 'Admin\Import\ImportSiswaController@store');
Route::get('/guru', 'Admin\Import\ImportGuruController@index')->name('import.guru');
Route::get('/guru/create', 'Admin\Import\ImportGuruController@create');
Route::post('/guru/store', 'Admin\Import\ImportGuruController@store');
});
\ No newline at end of file
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment