<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use App\Models\Pasien;
use Carbon\Carbon;

class PasienSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $pasienData = [
            [
                'id_eksternal' => 'PSN-20250205-ABC123',
                'no_rekam_medis' => 'RM-202502-000001',
                'nik' => '3201012001950001',
                'nama_lengkap' => 'Budi Santoso',
                'jenis_kelamin' => 'L',
                'tanggal_lahir' => '1995-01-20',
                'tempat_lahir' => 'Jakarta',
                'alamat_lengkap' => 'Jl. Merdeka No. 123',
                'kelurahan' => 'Menteng',
                'kecamatan' => 'Menteng',
                'kota' => 'Jakarta Pusat',
                'provinsi' => 'DKI Jakarta',
                'kode_pos' => '10310',
                'no_telepon' => '081234567890',
                'no_wa' => '081234567890',
                'email' => 'budi.santoso@email.com',
                'golongan_darah' => 'A+',
                'tinggi_badan' => 170.5,
                'berat_badan' => 68.5,
                'status_pasien' => 'AKTIF',
                'wajah_terdaftar' => true,
                'tanggal_registrasi_wajah' => now(),
            ],
            [
                'id_eksternal' => 'PSN-20250205-DEF456',
                'no_rekam_medis' => 'RM-202502-000002',
                'nik' => '3201012002900002',
                'nama_lengkap' => 'Siti Nurhaliza',
                'jenis_kelamin' => 'P',
                'tanggal_lahir' => '1990-02-15',
                'tempat_lahir' => 'Bandung',
                'alamat_lengkap' => 'Jl. Asia Afrika No. 456',
                'kelurahan' => 'Braga',
                'kecamatan' => 'Sumur Bandung',
                'kota' => 'Bandung',
                'provinsi' => 'Jawa Barat',
                'kode_pos' => '40111',
                'no_telepon' => '081234567891',
                'no_wa' => '081234567891',
                'email' => 'siti.nurhaliza@email.com',
                'golongan_darah' => 'O+',
                'tinggi_badan' => 158.0,
                'berat_badan' => 52.0,
                'status_pasien' => 'AKTIF',
                'wajah_terdaftar' => false,
            ],
            [
                'id_eksternal' => 'PSN-20250205-GHI789',
                'no_rekam_medis' => 'RM-202502-000003',
                'nik' => '3201012003850003',
                'nama_lengkap' => 'Ahmad Rizki',
                'jenis_kelamin' => 'L',
                'tanggal_lahir' => '1985-03-10',
                'tempat_lahir' => 'Surabaya',
                'alamat_lengkap' => 'Jl. Pahlawan No. 789',
                'kelurahan' => 'Genteng',
                'kecamatan' => 'Genteng',
                'kota' => 'Surabaya',
                'provinsi' => 'Jawa Timur',
                'kode_pos' => '60275',
                'no_telepon' => '081234567892',
                'no_wa' => '081234567892',
                'email' => 'ahmad.rizki@email.com',
                'golongan_darah' => 'B+',
                'tinggi_badan' => 175.0,
                'berat_badan' => 75.0,
                'status_pasien' => 'AKTIF',
                'wajah_terdaftar' => true,
                'tanggal_registrasi_wajah' => now(),
            ],
            [
                'id_eksternal' => 'PSN-20250205-JKL012',
                'no_rekam_medis' => 'RM-202502-000004',
                'nik' => '3201012004920004',
                'nama_lengkap' => 'Dewi Lestari',
                'jenis_kelamin' => 'P',
                'tanggal_lahir' => '1992-04-25',
                'tempat_lahir' => 'Yogyakarta',
                'alamat_lengkap' => 'Jl. Malioboro No. 321',
                'kelurahan' => 'Sosromenduran',
                'kecamatan' => 'Gedong Tengen',
                'kota' => 'Yogyakarta',
                'provinsi' => 'DI Yogyakarta',
                'kode_pos' => '55271',
                'no_telepon' => '081234567893',
                'no_wa' => '081234567893',
                'email' => 'dewi.lestari@email.com',
                'golongan_darah' => 'AB+',
                'tinggi_badan' => 162.5,
                'berat_badan' => 55.5,
                'status_pasien' => 'AKTIF',
                'wajah_terdaftar' => false,
            ],
            [
                'id_eksternal' => 'PSN-20250205-MNO345',
                'no_rekam_medis' => 'RM-202502-000005',
                'nik' => '3201012005880005',
                'nama_lengkap' => 'Rudi Hartono',
                'jenis_kelamin' => 'L',
                'tanggal_lahir' => '1988-05-30',
                'tempat_lahir' => 'Semarang',
                'alamat_lengkap' => 'Jl. Pandanaran No. 654',
                'kelurahan' => 'Randusari',
                'kecamatan' => 'Semarang Selatan',
                'kota' => 'Semarang',
                'provinsi' => 'Jawa Tengah',
                'kode_pos' => '50244',
                'no_telepon' => '081234567894',
                'no_wa' => '081234567894',
                'email' => 'rudi.hartono@email.com',
                'golongan_darah' => 'O-',
                'tinggi_badan' => 168.0,
                'berat_badan' => 70.0,
                'status_pasien' => 'NONAKTIF',
                'wajah_terdaftar' => true,
                'tanggal_registrasi_wajah' => now()->subDays(30),
            ],
        ];

        foreach ($pasienData as $data) {
            // Hitung usia
            if (isset($data['tanggal_lahir'])) {
                $data['usia'] = Carbon::parse($data['tanggal_lahir'])->age;
            }
            
            $data['tanggal_registrasi'] = now();
            $data['created_at'] = now();
            $data['updated_at'] = now();

            Pasien::create($data);
        }

        $this->command->info('✅ 5 data pasien dummy berhasil ditambahkan!');
    }
}