'luas_bangunan', 'parameter_name' => 'Luas Bangunan', 'default_value' => 0.000000, 'unit' => 'm²', 'description' => 'Luas total bangunan dalam meter persegi' ], [ 'parameter_code' => 'tarif_dasar', 'parameter_name' => 'Tarif Dasar', 'default_value' => 7035000.000000, 'unit' => 'Rupiah', 'description' => 'Tarif dasar retribusi per meter persegi (7.035.000)' ], [ 'parameter_code' => 'koefisien_dasar', 'parameter_name' => 'Koefisien Dasar', 'default_value' => 1.000000, 'unit' => 'decimal', 'description' => 'Koefisien dasar perhitungan' ] ]; // 2. IP Ketinggian Parameters per Lantai (Data dari tabel) $floorHeightParameters = [ [ 'parameter_code' => 'ip_ketinggian_1', 'parameter_name' => 'IP Ketinggian Lantai 1', 'default_value' => 1.000000, 'unit' => 'decimal', 'description' => 'Indeks ketinggian untuk lantai 1' ], [ 'parameter_code' => 'ip_ketinggian_2', 'parameter_name' => 'IP Ketinggian Lantai 2', 'default_value' => 1.090000, 'unit' => 'decimal', 'description' => 'Indeks ketinggian untuk lantai 2' ], [ 'parameter_code' => 'ip_ketinggian_3', 'parameter_name' => 'IP Ketinggian Lantai 3', 'default_value' => 1.120000, 'unit' => 'decimal', 'description' => 'Indeks ketinggian untuk lantai 3' ], [ 'parameter_code' => 'ip_ketinggian_4', 'parameter_name' => 'IP Ketinggian Lantai 4', 'default_value' => 1.135000, 'unit' => 'decimal', 'description' => 'Indeks ketinggian untuk lantai 4' ], [ 'parameter_code' => 'ip_ketinggian_5', 'parameter_name' => 'IP Ketinggian Lantai 5', 'default_value' => 1.162000, 'unit' => 'decimal', 'description' => 'Indeks ketinggian untuk lantai 5' ], [ 'parameter_code' => 'ip_ketinggian_6', 'parameter_name' => 'IP Ketinggian Lantai 6', 'default_value' => 1.197000, 'unit' => 'decimal', 'description' => 'Indeks ketinggian untuk lantai 6' ] ]; // 3. Building Function Specific Parameters (Data dari tabel) $buildingFunctionParameters = [ // FUNGSI KEAGAMAAN - Bebas retribusi [ 'parameter_code' => 'fungsi_keagamaan', 'parameter_name' => 'Fungsi Bangunan Keagamaan', 'default_value' => 0.000000, 'unit' => 'decimal', 'description' => 'Parameter fungsi bangunan keagamaan (bebas retribusi)' ], [ 'parameter_code' => 'ip_permanen_keagamaan', 'parameter_name' => 'IP Permanen Keagamaan', 'default_value' => 0.000000, 'unit' => 'decimal', 'description' => 'IP Permanen untuk bangunan keagamaan' ], [ 'parameter_code' => 'ip_kompleksitas_keagamaan', 'parameter_name' => 'IP Kompleksitas Keagamaan', 'default_value' => 0.000000, 'unit' => 'decimal', 'description' => 'IP Kompleksitas untuk bangunan keagamaan' ], // FUNGSI SOSIAL BUDAYA - 0.3 [ 'parameter_code' => 'fungsi_sosial_budaya', 'parameter_name' => 'Fungsi Bangunan Sosial Budaya', 'default_value' => 0.300000, 'unit' => 'decimal', 'description' => 'Parameter fungsi bangunan sosial budaya' ], [ 'parameter_code' => 'ip_permanen_sosial_budaya', 'parameter_name' => 'IP Permanen Sosial Budaya', 'default_value' => 0.400000, 'unit' => 'decimal', 'description' => 'IP Permanen untuk bangunan sosial budaya' ], [ 'parameter_code' => 'ip_kompleksitas_sosial_budaya', 'parameter_name' => 'IP Kompleksitas Sosial Budaya', 'default_value' => 0.600000, 'unit' => 'decimal', 'description' => 'IP Kompleksitas untuk bangunan sosial budaya' ], // CAMPURAN KECIL - 0.6 [ 'parameter_code' => 'fungsi_campuran_kecil', 'parameter_name' => 'Fungsi Bangunan Campuran Kecil', 'default_value' => 0.600000, 'unit' => 'decimal', 'description' => 'Parameter fungsi bangunan campuran kecil' ], [ 'parameter_code' => 'ip_permanen_campuran_kecil', 'parameter_name' => 'IP Permanen Campuran Kecil', 'default_value' => 0.400000, 'unit' => 'decimal', 'description' => 'IP Permanen untuk bangunan campuran kecil' ], [ 'parameter_code' => 'ip_kompleksitas_campuran_kecil', 'parameter_name' => 'IP Kompleksitas Campuran Kecil', 'default_value' => 0.600000, 'unit' => 'decimal', 'description' => 'IP Kompleksitas untuk bangunan campuran kecil' ], // CAMPURAN BESAR - 0.8 [ 'parameter_code' => 'fungsi_campuran_besar', 'parameter_name' => 'Fungsi Bangunan Campuran Besar', 'default_value' => 0.800000, 'unit' => 'decimal', 'description' => 'Parameter fungsi bangunan campuran besar' ], [ 'parameter_code' => 'ip_permanen_campuran_besar', 'parameter_name' => 'IP Permanen Campuran Besar', 'default_value' => 0.400000, 'unit' => 'decimal', 'description' => 'IP Permanen untuk bangunan campuran besar' ], [ 'parameter_code' => 'ip_kompleksitas_campuran_besar', 'parameter_name' => 'IP Kompleksitas Campuran Besar', 'default_value' => 0.600000, 'unit' => 'decimal', 'description' => 'IP Kompleksitas untuk bangunan campuran besar' ], // UMKM - 0.5 [ 'parameter_code' => 'fungsi_umkm', 'parameter_name' => 'Fungsi Bangunan UMKM', 'default_value' => 0.500000, 'unit' => 'decimal', 'description' => 'Parameter fungsi bangunan UMKM' ], [ 'parameter_code' => 'ip_permanen_umkm', 'parameter_name' => 'IP Permanen UMKM', 'default_value' => 0.400000, 'unit' => 'decimal', 'description' => 'IP Permanen untuk bangunan UMKM' ], [ 'parameter_code' => 'ip_kompleksitas_umkm', 'parameter_name' => 'IP Kompleksitas UMKM', 'default_value' => 0.600000, 'unit' => 'decimal', 'description' => 'IP Kompleksitas untuk bangunan UMKM' ], // USAHA BESAR - 0.7 [ 'parameter_code' => 'fungsi_usaha_besar', 'parameter_name' => 'Fungsi Bangunan Usaha Besar', 'default_value' => 0.700000, 'unit' => 'decimal', 'description' => 'Parameter fungsi bangunan usaha besar' ], [ 'parameter_code' => 'ip_permanen_usaha_besar', 'parameter_name' => 'IP Permanen Usaha Besar', 'default_value' => 0.400000, 'unit' => 'decimal', 'description' => 'IP Permanen untuk bangunan usaha besar' ], [ 'parameter_code' => 'ip_kompleksitas_usaha_besar', 'parameter_name' => 'IP Kompleksitas Usaha Besar', 'default_value' => 0.600000, 'unit' => 'decimal', 'description' => 'IP Kompleksitas untuk bangunan usaha besar' ], // HUNIAN SEDERHANA - 0.15 [ 'parameter_code' => 'fungsi_hunian_sederhana', 'parameter_name' => 'Fungsi Hunian Sederhana', 'default_value' => 0.150000, 'unit' => 'decimal', 'description' => 'Parameter fungsi hunian sederhana' ], [ 'parameter_code' => 'ip_permanen_hunian_sederhana', 'parameter_name' => 'IP Permanen Hunian Sederhana', 'default_value' => 0.400000, 'unit' => 'decimal', 'description' => 'IP Permanen untuk hunian sederhana' ], [ 'parameter_code' => 'ip_kompleksitas_hunian_sederhana', 'parameter_name' => 'IP Kompleksitas Hunian Sederhana', 'default_value' => 0.300000, 'unit' => 'decimal', 'description' => 'IP Kompleksitas untuk hunian sederhana (0.3)' ], // HUNIAN TIDAK SEDERHANA - 0.17 [ 'parameter_code' => 'fungsi_hunian_tidak_sederhana', 'parameter_name' => 'Fungsi Hunian Tidak Sederhana', 'default_value' => 0.170000, 'unit' => 'decimal', 'description' => 'Parameter fungsi hunian tidak sederhana' ], [ 'parameter_code' => 'ip_permanen_hunian_tidak_sederhana', 'parameter_name' => 'IP Permanen Hunian Tidak Sederhana', 'default_value' => 0.400000, 'unit' => 'decimal', 'description' => 'IP Permanen untuk hunian tidak sederhana' ], [ 'parameter_code' => 'ip_kompleksitas_hunian_tidak_sederhana', 'parameter_name' => 'IP Kompleksitas Hunian Tidak Sederhana', 'default_value' => 0.600000, 'unit' => 'decimal', 'description' => 'IP Kompleksitas untuk hunian tidak sederhana' ] ]; // 4. Indeks Lokalitas Parameters $localityParameters = [ [ 'parameter_code' => 'indeks_lokalitas_03', 'parameter_name' => 'Indeks Lokalitas 0.3%', 'default_value' => 0.003000, 'unit' => 'decimal', 'description' => 'Indeks lokalitas 0.3% (untuk bangunan tertentu)' ], [ 'parameter_code' => 'indeks_lokalitas_04', 'parameter_name' => 'Indeks Lokalitas 0.4%', 'default_value' => 0.004000, 'unit' => 'decimal', 'description' => 'Indeks lokalitas 0.4% (untuk hunian sederhana dan tidak sederhana)' ], [ 'parameter_code' => 'indeks_lokalitas_05', 'parameter_name' => 'Indeks Lokalitas 0.5%', 'default_value' => 0.005000, 'unit' => 'decimal', 'description' => 'Indeks lokalitas 0.5% (untuk bangunan komersial)' ] ]; // 5. Multiplier Parameters $multiplierParameters = [ [ 'parameter_code' => 'multiplier_prasarana', 'parameter_name' => 'Multiplier Prasarana', 'default_value' => 0.500000, 'unit' => 'decimal', 'description' => 'Multiplier untuk perhitungan prasarana (50%)' ], [ 'parameter_code' => 'multiplier_ketinggian', 'parameter_name' => 'Multiplier Ketinggian', 'default_value' => 0.500000, 'unit' => 'decimal', 'description' => 'Multiplier untuk indeks ketinggian dalam formula (0.5)' ] ]; // 4. Additional Parameters (Parameter Tambahan) $additionalParameters = [ [ 'parameter_code' => 'asumsi_prasarana', 'parameter_name' => 'Asumsi Prasarana', 'default_value' => 0.500000, 'unit' => 'decimal', 'description' => 'Persentase asumsi prasarana dalam perhitungan retribusi' ], [ 'parameter_code' => 'multiplier_ketinggian', 'parameter_name' => 'Multiplier Ketinggian', 'default_value' => 0.500000, 'unit' => 'decimal', 'description' => 'Multiplier untuk perhitungan ketinggian (0.5 dalam rumus Excel)' ] ]; // Combine all parameters $allParameters = array_merge( $generalParameters, $floorHeightParameters, $buildingFunctionParameters, $localityParameters, $multiplierParameters, $additionalParameters ); // Insert parameters foreach ($allParameters as $param) { DB::table('master_parameters')->updateOrInsert( ['parameter_code' => $param['parameter_code']], array_merge($param, [ 'created_at' => $now, 'updated_at' => $now ]) ); } // Summary output $this->command->info('Master Parameters seeded successfully!'); $this->command->info('=== SUMMARY ==='); $this->command->info('General Parameters: ' . count($generalParameters)); $this->command->info('Floor Height Parameters: ' . count($floorHeightParameters)); $this->command->info('Building Function Parameters: ' . count($buildingFunctionParameters)); $this->command->info('Locality Parameters: ' . count($localityParameters)); $this->command->info('Multiplier Parameters: ' . count($multiplierParameters)); $this->command->info('Additional Parameters: ' . count($additionalParameters)); $this->command->info('Total Parameters: ' . count($allParameters)); // Display parameter mapping $this->command->info('=== BUILDING FUNCTION PARAMETER MAPPING ==='); $this->command->info('KEAGAMAAN: Fungsi=0.000, IP_Permanen=0.000, IP_Kompleksitas=0.000'); $this->command->info('SOSIAL_BUDAYA: Fungsi=0.300, IP_Permanen=0.400, IP_Kompleksitas=0.600'); $this->command->info('CAMPURAN_KECIL: Fungsi=0.600, IP_Permanen=0.400, IP_Kompleksitas=0.600'); $this->command->info('CAMPURAN_BESAR: Fungsi=0.800, IP_Permanen=0.400, IP_Kompleksitas=0.600'); $this->command->info('UMKM: Fungsi=0.500, IP_Permanen=0.400, IP_Kompleksitas=0.600'); $this->command->info('USAHA_BESAR: Fungsi=0.700, IP_Permanen=0.400, IP_Kompleksitas=0.600'); $this->command->info('HUNIAN_SEDERHANA: Fungsi=0.150, IP_Permanen=0.400, IP_Kompleksitas=0.300'); $this->command->info('HUNIAN_TIDAK_SEDERHANA: Fungsi=0.170, IP_Permanen=0.400, IP_Kompleksitas=0.600'); $this->command->info('=== IP KETINGGIAN PER LANTAI ==='); $this->command->info('Lantai 1: 1.000, Lantai 2: 1.090, Lantai 3: 1.120'); $this->command->info('Lantai 4: 1.135, Lantai 5: 1.162, Lantai 6: 1.197'); } }