<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;

return new class extends Migration
{
    /**
     * Run the migrations.
     *
     * Update lokasi BPKP:
     * 1. Update "Kantor Pusat Jakarta" → "BPKP Pusat" dengan koordinat Jl. Pramuka No. 33
     * 2. Add "Pusdiklatwas BPKP Gedung II" sebagai pilihan dinas (dekat Gadog)
     */
    public function up(): void
    {
        // Skip if no companies exist yet (will be handled by seeder)
        $company = DB::table('companies')->first();
        if (!$company) {
            return;
        }
        $companyId = $company->id;

        // 1. Update "Kantor Pusat Jakarta" to "BPKP Pusat" dengan koordinat Jl. Pramuka
        // Koordinat: -6.19340, 106.87130 (Jl. Pramuka No. 33, Jakarta Timur)
        DB::table('locations')
            ->where('name', 'Kantor Pusat Jakarta')
            ->update([
                'name' => 'BPKP Pusat',
                'address' => 'Jl. Pramuka No. 33, Jakarta Timur',
                'city' => 'Jakarta Timur',
                'latitude' => -6.19340000,
                'longitude' => 106.87130000,
            ]);

        // 2. Add "Pusdiklatwas BPKP Gedung II" if not exists
        // Lokasi dekat dengan Pusdiklatwas Gadog
        $exists = DB::table('locations')
            ->where('name', 'Pusdiklatwas BPKP Gedung II')
            ->exists();

        if (!$exists) {
            // Koordinat Gedung II sedikit berbeda dari Gadog utama
            // Pusdiklatwas Gadog: -6.64982060, 106.84927360
            // Gedung II: sekitar 200-300m dari Gedung utama
            DB::table('locations')->insert([
                'company_id' => $companyId,
                'name' => 'Pusdiklatwas BPKP Gedung II',
                'code' => 'PUSDIKLAT-GD2',
                'category' => 'external',
                'type' => 'bpkp',
                'city' => 'Kab. Bogor',
                'province' => 'Jawa Barat',
                'address' => 'Jl. Raya Puncak, Cipayung Girang, Megamendung, Kab. Bogor',
                'latitude' => -6.64850000, // Sedikit berbeda dari Gadog utama
                'longitude' => 106.85100000,
                'radius' => 200,
                'allow_daily_checkin' => false,
                'allow_business_trip' => true,
                'is_primary' => false,
                'is_active' => true,
                'sort_order' => 5,
                'created_at' => now(),
                'updated_at' => now(),
            ]);
        }
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        // Restore original values
        DB::table('locations')
            ->where('name', 'BPKP Pusat')
            ->update([
                'name' => 'Kantor Pusat Jakarta',
                'address' => 'Jl. Sudirman No. 1, Jakarta Pusat',
                'city' => 'Jakarta Pusat',
                'latitude' => -6.20880000,
                'longitude' => 106.84560000,
            ]);

        // Remove added location
        DB::table('locations')
            ->where('name', 'Pusdiklatwas BPKP Gedung II')
            ->delete();
    }
};
