<?php

namespace App\Imports;

use App\Models\DataAlumni;
use App\Models\TahunAngkatan;
use App\Models\Jabatan;
use App\Models\KualifikasiBidang;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;

class DataAlumniImport implements ToModel,WithHeadingRow
{
    public function model(array $row)
    {
         // Cek apakah tahun angkatan sudah ada di tabel TahunAngkatan
        $tahunAngkatan = TahunAngkatan::where('tahun', $row['angkatan'])->first();

        // Jika tahun angkatan tidak ada, buat baru
        if (!$tahunAngkatan) {
            $tahunAngkatan = TahunAngkatan::create([
                'tahun' => $row['angkatan'],
            ]);
        }

        $jenisProfesi = ucwords(strtolower(trim($row['jenis_profesi'])));
        $jenisProfesiValid = [
            'Programmer', 'Data Analyst', 'Business Intelligence Developer',
            'Wirausaha', 'Non IT', 'Tidak diketahui', 'Tidak bekerja',
            'Pelajar', 'Wirausaha IT', 'Infokom'
        ];

        if (!in_array($jenisProfesi, $jenisProfesiValid)) {
            $jenisProfesi = 'Tidak diketahui'; // fallback default
        }

         // 3. Ambil ID jabatan dari nama (bukan langsung dari Excel)
        $jabatan = Jabatan::where('Kategori_bidang_kerja', $row['kelompok_jabatan'])->first();
        $jabatanId = $jabatan ? $jabatan->id_kategori : null;

        // 4. Ambil ID kualifikasi bidang dari nama (bukan langsung dari Excel)
        $kualifikasi = KualifikasiBidang::where('kualifikasi_bidang', $row['kualifikasi_bidang_kerja'])->first();
        $kualifikasiId = $kualifikasi ? $kualifikasi->id_kualifikasi : null;

        // Ambil ID angkatan yang ada
        $angkatanId = $tahunAngkatan->id_angkatan;
           return new DataAlumni([
            'nama' => $row['nama'],
            'nim' => $row['nim'],
            'angkatan' => $angkatanId,
            'masa_tunggu' => $row['masa_tunggu'],
            'pekerjaan' => $row['pekerjaan'],
            'instansi' => $row['instansi'],
            'link_linkedin' => $row['link_linkedin'] ?? '-',
            'Jenis_profesi' => $jenisProfesi,
            'lingkup_pekerjaan' => $row['lingkup_pekerjaan'],
            'kualifikasi_bidang_kerja' => $kualifikasiId,
            'jabatan' => $jabatanId,
        ]);
    }
}


