<?php

namespace Database\Seeders;

use App\Models\Jurusan;
use App\Models\ProspekKerja;
use Illuminate\Database\Seeder;

class ProspekKerjaSeeder extends Seeder
{
    public function run(): void
    {
        $semuaJurusan = [
            [
                'nama_jurusan' => 'Teknik Informatika / Ilmu Komputer',
                'rumpun' => 'Saintek',
                'deskripsi' => 'Fokus pada pengembangan perangkat lunak, kecerdasan buatan, keamanan siber, dan analisis data.',
                'prospek' => [
                    ['nama_profesi' => 'Software Engineer', 'range_gaji' => 'Rp 8.000.000 - Rp 25.000.000', 'deskripsi_pekerjaan' => 'Membangun, mengembangkan, dan memelihara aplikasi atau sistem perangkat lunak.'],
                    ['nama_profesi' => 'Data Scientist', 'range_gaji' => 'Rp 10.000.000 - Rp 30.000.000', 'deskripsi_pekerjaan' => 'Menganalisis data besar (Big Data) untuk menemukan pola dan memberikan wawasan bagi strategi bisnis.'],
                    ['nama_profesi' => 'Cyber Security Specialist', 'range_gaji' => 'Rp 9.000.000 - Rp 25.000.000', 'deskripsi_pekerjaan' => 'Melindungi sistem jaringan dan data perusahaan dari ancaman peretasan dan kebocoran data.'],
                    ['nama_profesi' => 'UI/UX Designer', 'range_gaji' => 'Rp 7.000.000 - Rp 18.000.000', 'deskripsi_pekerjaan' => 'Merancang antarmuka pengguna dan pengalaman pengguna yang optimal pada website atau aplikasi.'],
                ]
            ],
            [
                'nama_jurusan' => 'Kedokteran / Farmasi',
                'rumpun' => 'Saintek',
                'deskripsi' => 'Mempelajari ilmu medis, diagnosa penyakit, penanganan pasien, dan formulasi obat-obatan.',
                'prospek' => [
                    ['nama_profesi' => 'Dokter Umum / Spesialis', 'range_gaji' => 'Rp 10.000.000 - Rp 40.000.000', 'deskripsi_pekerjaan' => 'Mendiagnosis, merawat pasien, dan memberikan tindakan medis di rumah sakit atau klinik.'],
                    ['nama_profesi' => 'Apoteker / Ahli Farmasi', 'range_gaji' => 'Rp 7.000.000 - Rp 15.000.000', 'deskripsi_pekerjaan' => 'Meracik obat, meneliti efektivitas obat baru, dan memberikan edukasi penggunaan obat kepada pasien.'],
                    ['nama_profesi' => 'Peneliti Medis', 'range_gaji' => 'Rp 8.000.000 - Rp 20.000.000', 'deskripsi_pekerjaan' => 'Melakukan eksperimen klinis untuk menemukan vaksin atau pengobatan baru.'],
                    ['nama_profesi' => 'Manajemen Rumah Sakit', 'range_gaji' => 'Rp 9.000.000 - Rp 25.000.000', 'deskripsi_pekerjaan' => 'Mengatur operasional, administrasi, dan kebijakan strategis di fasilitas pelayanan kesehatan.'],
                ]
            ],
            [
                'nama_jurusan' => 'Hukum / Hubungan Internasional',
                'rumpun' => 'Soshum',
                'deskripsi' => 'Mempelajari sistem peradilan, regulasi negara, serta diplomasi dan politik antar negara.',
                'prospek' => [
                    ['nama_profesi' => 'Pengacara / Advokat', 'range_gaji' => 'Rp 8.000.000 - Rp 50.000.000', 'deskripsi_pekerjaan' => 'Memberikan pendampingan hukum dan mewakili klien di pengadilan.'],
                    ['nama_profesi' => 'Hakim atau Jaksa', 'range_gaji' => 'Rp 15.000.000 - Rp 35.000.000', 'deskripsi_pekerjaan' => 'Menjalankan proses penuntutan pidana dan memberikan putusan hukum yang adil di pengadilan.'],
                    ['nama_profesi' => 'Diplomat', 'range_gaji' => 'Rp 12.000.000 - Rp 30.000.000', 'deskripsi_pekerjaan' => 'Mewakili kepentingan negara dalam forum internasional dan menjaga hubungan bilateral.'],
                    ['nama_profesi' => 'Legal Officer Perusahaan', 'range_gaji' => 'Rp 7.000.000 - Rp 20.000.000', 'deskripsi_pekerjaan' => 'Memastikan seluruh kegiatan operasional perusahaan berjalan sesuai dengan regulasi dan undang-undang yang berlaku.'],
                ]
            ],
            [
                'nama_jurusan' => 'Ekonomi / Manajemen Bisnis',
                'rumpun' => 'Soshum',
                'deskripsi' => 'Mempelajari pengelolaan sumber daya, keuangan, strategi pemasaran, dan operasional bisnis.',
                'prospek' => [
                    ['nama_profesi' => 'Manajer Keuangan', 'range_gaji' => 'Rp 10.000.000 - Rp 30.000.000', 'deskripsi_pekerjaan' => 'Mengelola arus kas, investasi, dan menyusun perencanaan keuangan instansi atau perusahaan.'],
                    ['nama_profesi' => 'Analis Bisnis', 'range_gaji' => 'Rp 8.000.000 - Rp 22.000.000', 'deskripsi_pekerjaan' => 'Mengevaluasi model bisnis perusahaan dan memberikan rekomendasi peningkatan efisiensi melalui data.'],
                    ['nama_profesi' => 'Akuntan Publik', 'range_gaji' => 'Rp 7.000.000 - Rp 25.000.000', 'deskripsi_pekerjaan' => 'Melakukan audit pembukuan keuangan perusahaan agar sesuai dengan standar transparansi.'],
                    ['nama_profesi' => 'Business Development', 'range_gaji' => 'Rp 7.000.000 - Rp 18.000.000', 'deskripsi_pekerjaan' => 'Mencari peluang kemitraan baru, klien potensial, dan strategi ekspansi pasar.'],
                ]
            ],
            [
                'nama_jurusan' => 'Teknik Sipil / Arsitektur',
                'rumpun' => 'Saintek',
                'deskripsi' => 'Fokus pada perancangan, pembangunan, estetika, dan pemeliharaan infrastruktur dan bangunan.',
                'prospek' => [
                    ['nama_profesi' => 'Manajer Proyek Konstruksi', 'range_gaji' => 'Rp 10.000.000 - Rp 30.000.000', 'deskripsi_pekerjaan' => 'Mengawasi jalannya proyek konstruksi di lapangan agar selesai sesuai jadwal, kualitas, dan anggaran.'],
                    ['nama_profesi' => 'Arsitek Profesional', 'range_gaji' => 'Rp 7.000.000 - Rp 25.000.000', 'deskripsi_pekerjaan' => 'Merancang estetika dan fungsionalitas bangunan, membuat cetak biru, serta visualisasi 3D.'],
                    ['nama_profesi' => 'Insinyur Struktur', 'range_gaji' => 'Rp 8.000.000 - Rp 20.000.000', 'deskripsi_pekerjaan' => 'Melakukan perhitungan material untuk memastikan keamanan dan kestabilan beban bangunan atau jembatan.'],
                    ['nama_profesi' => 'Surveyor dan Drafter', 'range_gaji' => 'Rp 5.000.000 - Rp 12.000.000', 'deskripsi_pekerjaan' => 'Mengukur kontur topografi lahan serta memindahkan sketsa desain menjadi gambar teknis presisi.'],
                ]
            ],
            [
                'nama_jurusan' => 'Psikologi / Ilmu Sosial',
                'rumpun' => 'Soshum',
                'deskripsi' => 'Mempelajari perilaku manusia, proses mental, serta interaksi dan dinamika di masyarakat.',
                'prospek' => [
                    ['nama_profesi' => 'Manajer HRD (Human Resources)', 'range_gaji' => 'Rp 8.000.000 - Rp 25.000.000', 'deskripsi_pekerjaan' => 'Mengelola proses rekrutmen, pelatihan, evaluasi, dan kesejahteraan karyawan dalam suatu perusahaan.'],
                    ['nama_profesi' => 'Psikolog Klinis / Konselor', 'range_gaji' => 'Rp 7.000.000 - Rp 20.000.000', 'deskripsi_pekerjaan' => 'Mendiagnosis dan memberikan terapi untuk gangguan kesehatan mental atau masalah emosional klien.'],
                    ['nama_profesi' => 'Peneliti Sosial', 'range_gaji' => 'Rp 6.000.000 - Rp 15.000.000', 'deskripsi_pekerjaan' => 'Merancang dan melakukan riset tentang tren sosial, kebijakan publik, atau perilaku konsumen masyarakat.'],
                    ['nama_profesi' => 'Konselor Pendidikan', 'range_gaji' => 'Rp 5.000.000 - Rp 12.000.000', 'deskripsi_pekerjaan' => 'Membantu siswa merencanakan masa depan akademik, memberikan motivasi, serta menangani masalah perilaku.'],
                ]
            ],
            [
                'nama_jurusan' => 'Seni Rupa / Desain Komunikasi Visual',
                'rumpun' => 'Soshum',
                'deskripsi' => 'Fokus pada penyampaian pesan komunikasi melalui elemen visual, estetika rupa, dan desain kreatif.',
                'prospek' => [
                    ['nama_profesi' => 'Art Director', 'range_gaji' => 'Rp 10.000.000 - Rp 25.000.000', 'deskripsi_pekerjaan' => 'Memimpin tim kreatif dan menentukan konsep visual utama untuk kampanye iklan, film, atau majalah.'],
                    ['nama_profesi' => 'Graphic Designer', 'range_gaji' => 'Rp 5.000.000 - Rp 15.000.000', 'deskripsi_pekerjaan' => 'Menciptakan desain identitas visual seperti logo, kemasan produk, dan materi promosi untuk brand.'],
                    ['nama_profesi' => 'Animator / 3D Artist', 'range_gaji' => 'Rp 7.000.000 - Rp 20.000.000', 'deskripsi_pekerjaan' => 'Membuat gambar bergerak (animasi), visual effects (VFX), atau model 3D untuk industri film dan video game.'],
                    ['nama_profesi' => 'Fotografer / Videografer Komersial', 'range_gaji' => 'Rp 6.000.000 - Rp 20.000.000', 'deskripsi_pekerjaan' => 'Mengambil dan menyunting gambar atau video untuk kebutuhan editorial, komersial, atau dokumentasi acara.'],
                ]
            ]
        ];

        foreach ($semuaJurusan as $data) {
            $jurusan = Jurusan::firstOrCreate(
                ['nama_jurusan' => $data['nama_jurusan']],
                [
                    'rumpun' => $data['rumpun'],
                    'deskripsi' => $data['deskripsi']
                ]
            );

            foreach ($data['prospek'] as $prospekData) {
                ProspekKerja::firstOrCreate(
                    [
                        'jurusan_id' => $jurusan->id,
                        'nama_profesi' => $prospekData['nama_profesi']
                    ],
                    [
                        'range_gaji' => $prospekData['range_gaji'],
                        'deskripsi_pekerjaan' => $prospekData['deskripsi_pekerjaan']
                    ]
                );
            }
        }
    }
}