Commit 2789c35f authored by syaifurplus's avatar syaifurplus

debugging

parent 442731c8
...@@ -105,10 +105,8 @@ class ImportDapodikController extends Controller ...@@ -105,10 +105,8 @@ class ImportDapodikController extends Controller
public function importDapodikSiswa() public function importDapodikSiswa()
{ {
$dataPesertaDidik = DapodikSiswaModel::select([ $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();
$importResults = ['berhasil' => 0, 'gagal' => 0];
$importResults = [ $importResults = [
'import_tingkat' => ['berhasil' => 0, 'gagal' => 0], 'import_tingkat' => ['berhasil' => 0, 'gagal' => 0],
...@@ -124,101 +122,130 @@ class ImportDapodikController extends Controller ...@@ -124,101 +122,130 @@ class ImportDapodikController extends Controller
$dataPesertaDidik->map(function($peserta) use (&$importResults, $sekolah) { $dataPesertaDidik->map(function($peserta) use (&$importResults, $sekolah) {
try { try {
// Pastikan kolom rombel_saat_ini valid
if (!$peserta->rombel_saat_ini) {
throw new \Exception("Rombel tidak ditemukan");
}
list($kelas, $jurusan, $kodeKelas) = explode('-', $peserta->rombel_saat_ini); list($kelas, $jurusan, $kodeKelas) = explode('-', $peserta->rombel_saat_ini);
$kelasId = DB::table('dummy_perpus_kelas')->where('nama', $kelas)->value('id'); // Pengecekan jurusan
if (!$kelasId) { try {
$kelasId = DB::table('dummy_perpus_kelas')->insertGetId([ $jurusanId = DB::table('dummy_perpus_jurusan')->where('nama', $jurusan)->value('id');
'idPSekolah' => 1, // dummy if (!$jurusanId) {
'nama' => $kelas, $jurusanId = DB::table('dummy_perpus_jurusan')->insertGetId([
]); 'idPSekolah' => 1, // dummy
$importResults['import_tingkat']['berhasil']++; 'nama' => $jurusan,
]);
$importResults['import_jurusan']['berhasil']++;
}
} catch (\Exception $e) {
echo json_encode($e); die;
$importResults['import_jurusan']['gagal']++;
} }
$jurusanId = DB::table('dummy_perpus_jurusan')->where('nama', $jurusan)->value('id'); // Pengecekan tingkat/kelas
if (!$jurusanId) { try {
$jurusanId = DB::table('dummy_perpus_jurusan')->insertGetId([ $kelasId = DB::table('dummy_perpus_kelas')->where('nama', $kelas)->value('id');
'idPSekolah' => 1, // dummy if (!$kelasId) {
'nama' => $jurusan, $kelasId = DB::table('dummy_perpus_kelas')->insertGetId([
]); 'idPSekolah' => 1, // dummy
$importResults['import_jurusan']['berhasil']++; 'idPJurusan' => $jurusanId,
'nama' => $kelas,
]);
$importResults['import_tingkat']['berhasil']++;
}
} catch (\Exception $e) {
echo json_encode($e); die;
$importResults['import_tingkat']['gagal']++;
} }
$kelasKodeId = DB::table('dummy_perpus_kelasKode')->where([ // Pengecekan kode kelas
['nama', '=', $kodeKelas], try {
['idPSekolah', '=', 1], // dummy $kelasKodeId = DB::table('dummy_perpus_kelasKode')->where([
['idPJurusan', '=', $jurusanId], ['nama', '=', $kodeKelas],
['idPKelas', '=', $kelasId], ['idPSekolah', '=', 1], // dummy
])->value('id'); ['idPJurusan', '=', $jurusanId],
if (!$kelasKodeId) { ['idPKelas', '=', $kelasId],
$kelasKodeId = DB::table('dummy_perpus_kelasKode')->insertGetId([ ])->value('id');
'idPSekolah' => 1, // dummy if (!$kelasKodeId) {
'idPJurusan' => $jurusanId, $kelasKodeId = DB::table('dummy_perpus_kelasKode')->insertGetId([
'idPKelas' => $kelasId, 'idPSekolah' => 1, // dummy
'nama' => $kodeKelas, 'idPJurusan' => $jurusanId,
]); 'idPKelas' => $kelasId,
$importResults['import_index']['berhasil']++; 'nama' => $kodeKelas,
]);
$importResults['import_index']['berhasil']++;
}
} catch (\Exception $e) {
echo json_encode($e); die;
$importResults['import_index']['gagal']++;
} }
$existingSiswa = DB::table('dummy_siswa')->where('nisn', $peserta->nisn)->first(); // Cek apakah siswa sudah ada
try {
if (!$existingSiswa) { $existingSiswa = DB::table('dummy_siswa')->where('nisn', $peserta->nisn)->first();
$alamatLengkap = $peserta->alamat . ', RT: ' . ($peserta->rt ?? '-') . ', RW: ' . ($peserta->rw ?? '-') . ', Dusun: ' . ($peserta->dusun ?? '-') . ', Kelurahan: ' . ($peserta->kelurahan ?? '-') . ', Kecamatan: ' . ($peserta->kecamatan ?? '-') . ', Kode Pos: ' . ($peserta->kode_pos ?? '-');
if (!$existingSiswa) {
$idMTempat = $this->getTempatId($peserta->jenis_tinggal); $alamatLengkap = $peserta->alamat . ', RT: ' . ($peserta->rt ?? '-') . ', RW: ' . ($peserta->rw ?? '-') . ', Dusun: ' . ($peserta->dusun ?? '-') . ', Kelurahan: ' . ($peserta->kelurahan ?? '-') . ', Kecamatan: ' . ($peserta->kecamatan ?? '-') . ', Kode Pos: ' . ($peserta->kode_pos ?? '-');
$idMAgama = $this->getAgamaId($peserta->agama); $idMTempat = $this->getTempatId($peserta->jenis_tinggal);
$idMAgama = $this->getAgamaId($peserta->agama);
$siswaId = DB::table('dummy_siswa')->insertGetId([
'idPSekolah' => 1, // dummy $siswaId = DB::table('dummy_siswa')->insertGetId([
'idPKKode' => $kelasKodeId, 'idPSekolah' => 1, // dummy
'idMAgama' => $idMAgama, 'idPKKode' => $kelasKodeId,
'idPPeriode' => $sekolah->idPPeriode, 'idMAgama' => $idMAgama,
'idMStatus' => 1, 'idPPeriode' => $sekolah->idPPeriode,
'nisn' => $peserta->nisn ?? '-', 'idMStatus' => 1,
'nama' => $peserta->nama, 'nisn' => $peserta->nisn ?? '-',
'lahir_tanggal' => $peserta->tanggal_lahir, 'nama' => $peserta->nama,
'lahir_tempat' => $peserta->tempat_lahir, 'lahir_tanggal' => $peserta->tanggal_lahir,
'idPPKelas' => $kelasId, 'lahir_tempat' => $peserta->tempat_lahir,
'idPPStatus' => 1, 'idPPKelas' => $kelasId,
'idMTempat' => $idMTempat, 'idPPStatus' => 1,
'email' => $peserta->email ?? '-', 'idMTempat' => $idMTempat,
'telp' => $peserta->hp ?? $peserta->telepon ?? '-', 'email' => $peserta->email ?? '-',
'alamat' => $alamatLengkap, 'telp' => $peserta->hp ?? $peserta->telepon ?? '-',
]); 'alamat' => $alamatLengkap,
$importResults['import_siswa']['berhasil']++; ]);
$importResults['import_siswa']['berhasil']++;
DB::table('dummy_siswa_mutasi')->insert([
'idSiswa' => $siswaId, // Insert ke siswa_mutasi
'idPKKode' => $kelasKodeId, DB::table('dummy_siswa_mutasi')->insert([
'idPPeriode' => $sekolah->idPPeriode, 'idSiswa' => $siswaId,
'idMStatus' => 1, 'idPKKode' => $kelasKodeId,
]); 'idPPeriode' => $sekolah->idPPeriode,
$importResults['import_siswa_mutasi']['berhasil']++; 'idMStatus' => 1,
]);
$idMPekerjaan = $this->getPekerjaanId($peserta->pekerjaan_ayah); $importResults['import_siswa_mutasi']['berhasil']++;
DB::table('dummy_ortu')->insert([
'idPSekolah' => 1, // Insert ke ortu
'idSiswa' => $siswaId, $idMPekerjaan = $this->getPekerjaanId($peserta->pekerjaan_ayah);
'idMPekerjaan' => $idMPekerjaan, DB::table('dummy_ortu')->insert([
'nama' => $peserta->nama_ayah, 'idPSekolah' => 1,
'alamat' => $alamatLengkap, 'idSiswa' => $siswaId,
]); 'idMPekerjaan' => $idMPekerjaan,
$importResults['import_siswa_ortu']['berhasil']++; 'nama' => $peserta->nama_ayah,
'alamat' => $alamatLengkap,
]);
$importResults['import_siswa_ortu']['berhasil']++;
}
} catch (\Exception $e) {
$importResults['import_siswa']['gagal']++;
$importResults['import_siswa_mutasi']['gagal']++;
$importResults['import_siswa_ortu']['gagal']++;
} }
} catch (\Exception $e) { } catch (\Exception $e) {
$importResults['import_tingkat']['gagal']++; // Log error umum untuk satu peserta didik
$importResults['import_jurusan']['gagal']++; error_log($e->getMessage());
$importResults['import_index']['gagal']++;
$importResults['import_siswa']['gagal']++;
$importResults['import_siswa_mutasi']['gagal']++;
$importResults['import_siswa_ortu']['gagal']++;
} }
}); });
return response()->json($importResults); return response()->json($importResults);
} }
private function getTempatId($jenisTinggal) private function getTempatId($jenisTinggal)
{ {
$tempatMapping = [ $tempatMapping = [
......
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