<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use App\Models\ProjetosProgramas\{Tipo, Classificacao, Etapa, Prazo, Fonte, Eixo, Area, Ods};

/**
 * @deprecated Esta seeder foi consolidada em ProjetosProgramasMigrationSeeder.
 * Use: php artisan db:seed --class=ProjetosProgramasMigrationSeeder
 *
 * Esta seeder ainda existe para referência, mas não deve ser executada diretamente.
 * A seeder consolidada inclui esta funcionalidade e muito mais.
 */
class ProjetosProgramasSeeder extends Seeder {
    public function run(): void {
        foreach ([
            'Projeto', 'Programa', 'Projeto Estruturante', 'Ação/Iniciativa/Atividade'
        ] as $v) { Tipo::firstOrCreate(['nome' => $v]); }

        foreach ([
            'Estratégico/Prioritário', 'Estruturante', 'Modernização/Inovação', 'Setoriais'
        ] as $v) { Classificacao::firstOrCreate(['nome' => $v]); }

        foreach ([
            'Iniciação', 'Planejamento', 'Processo Licitatório', 'Execução', 'Monitoramento e Controle', 'Encerramento'
        ] as $v) { Etapa::firstOrCreate(['nome' => $v]); }

        foreach (['100 dias', '1 ano', '4 anos'] as $v) { Prazo::firstOrCreate(['nome' => $v]); }

        foreach ([
            'Recurso Próprio','Convênio','Parceria Público Privada','Emenda Parlamentar','Fundo','Transferência Voluntária','Banco de Projetos','Outro'
        ] as $v) { Fonte::firstOrCreate(['nome' => $v]); }

        $eixos = [
            1 => 'Gestão pública eficiente',
            2 => 'Angra, cidade com desenvolvimento e oportunidade',
            3 => 'Angra, cidade acolhedora e saudável',
            4 => 'Angra, cidade moderna e do conhecimento',
            5 => 'Angra, cidade sustentável',
            6 => 'Angra, cidade pacífica e segura',
        ];
        $areas = [
            1 => ['Gestão pública','Infraestrutura e parcerias de investimento'],
            2 => ['Desenvolvimento econômico e geração de emprego','Cultura','Turismo e eventos'],
            3 => ['Saúde','Esporte e lazer','Desenvolvimento social e promoção da cidadania','Juventude e terceira idade'],
            4 => ['Educação','Modernização e inovação'],
            5 => ['Planejamento urbano, habitação e defesa civil','Mobilidade urbana e acessibilidade','Meio ambiente','Saneamento básico e ambiental'],
            6 => ['Segurança pública'],
        ];

        $mapEixos = [];
        foreach ($eixos as $code => $nome) {
            $eixo = Eixo::firstOrCreate(['nome' => $nome]);
            $mapEixos[$code] = $eixo->id;
        }
        foreach ($areas as $eixoCode => $lista) {
            foreach ($lista as $nomeArea) {
                Area::firstOrCreate(['eixo_id' => $mapEixos[$eixoCode], 'nome' => $nomeArea]);
            }
        }

        foreach (range(1,17) as $i) {
            Ods::firstOrCreate(['codigo' => str_pad($i, 2, '0', STR_PAD_LEFT)]);
        }
    }
}
