<?php

namespace Database\Seeders;

use App\Models\ModeloContrato;
use Illuminate\Database\Seeder;

class ModeloContratoSeeder extends Seeder
{
    public function run(): void
    {
        $modelos = [
            [
                'nome'           => 'Simples Nacional — Serviço',
                'codigo_regime'  => 'sn_servico',
                'descricao'      => 'Modelo para empresas no Simples Nacional com atividade de serviço',
                'clausulas'      => [
                    ['titulo' => 'Objeto', 'texto' => 'A OPCON Soluções Contábeis prestará serviços de contabilidade à {{RAZAO_SOCIAL}}, empresa optante pelo Simples Nacional, enquadrada na atividade de serviços.'],
                    ['titulo' => 'DAS e Retenções', 'texto' => 'A CONTRATADA é responsável pelo cálculo e geração do DAS mensal, bem como pelo controle das retenções aplicáveis conforme legislação vigente.'],
                    ['titulo' => 'Envio Mensal de Documentos', 'texto' => 'A CONTRATANTE obriga-se a enviar notas fiscais de serviço, extratos bancários e demais documentos até o dia 5 de cada mês.'],
                    ['titulo' => 'Pró-labore', 'texto' => 'A CONTRATADA calculará o pró-labore dos {{PROLABORE}} sócios mensalmente, gerando os documentos de recolhimento previdenciário.'],
                    ['titulo' => 'Emissão de NF de Serviço', 'texto' => 'Orientação e suporte para emissão de notas fiscais eletrônicas de serviço junto à Prefeitura Municipal.'],
                    ['titulo' => 'Honorários', 'texto' => 'O honorário mensal acordado é de {{HONORARIO}}, a ser pago até o dia 10 de cada mês subsequente.'],
                    ['titulo' => 'Vigência', 'texto' => 'Este contrato entra em vigor na data de assinatura, por prazo indeterminado, com rescisão mediante aviso prévio de 30 dias.'],
                ],
                'documentos_obrigatorios' => [
                    ['nome' => 'Certificado digital', 'obrigatorio' => true],
                    ['nome' => 'Contrato social', 'obrigatorio' => true],
                    ['nome' => 'Documentos dos sócios (RG/CPF)', 'obrigatorio' => true],
                    ['nome' => 'Senha prefeitura', 'obrigatorio' => true],
                    ['nome' => 'Senha Gov.br', 'obrigatorio' => true],
                    ['nome' => 'Procurações', 'obrigatorio' => false],
                ],
                'checklist' => [
                    'Certificado digital',
                    'Senha prefeitura',
                    'Contrato social',
                    'Documentos sócios',
                    'Senha Gov.br',
                ],
            ],
            [
                'nome'           => 'Simples Nacional — Comércio',
                'codigo_regime'  => 'sn_comercio',
                'descricao'      => 'Modelo para empresas no Simples Nacional com atividade de comércio',
                'clausulas'      => [
                    ['titulo' => 'Objeto', 'texto' => 'A OPCON Soluções Contábeis prestará serviços de contabilidade à {{RAZAO_SOCIAL}}, empresa optante pelo Simples Nacional, enquadrada na atividade de comércio.'],
                    ['titulo' => 'DAS e PGDAS', 'texto' => 'A CONTRATADA é responsável pelo cálculo do DAS e pela entrega do PGDAS-D mensalmente dentro dos prazos legais.'],
                    ['titulo' => 'Controle de Estoque e Inventário', 'texto' => 'Orientação para controle de estoque e elaboração do inventário anual quando aplicável.'],
                    ['titulo' => 'Obrigações Acessórias', 'texto' => 'Envio das obrigações acessórias estaduais e municipais pertinentes ao regime.'],
                    ['titulo' => 'Honorários', 'texto' => 'O honorário mensal acordado é de {{HONORARIO}}, a ser pago até o dia 10 de cada mês subsequente.'],
                    ['titulo' => 'Vigência', 'texto' => 'Este contrato entra em vigor na data de assinatura, por prazo indeterminado, com rescisão mediante aviso prévio de 30 dias.'],
                ],
                'documentos_obrigatorios' => [
                    ['nome' => 'Certificado digital', 'obrigatorio' => true],
                    ['nome' => 'Contrato social', 'obrigatorio' => true],
                    ['nome' => 'Inscrição Estadual', 'obrigatorio' => true],
                    ['nome' => 'Senha SEFAZ', 'obrigatorio' => true],
                    ['nome' => 'Senha Gov.br', 'obrigatorio' => true],
                ],
                'checklist' => [
                    'Certificado digital',
                    'Inscrição Estadual',
                    'Contrato social',
                    'Senha SEFAZ',
                    'Senha Gov.br',
                ],
            ],
            [
                'nome'           => 'Lucro Presumido — Serviço',
                'codigo_regime'  => 'lp_servico',
                'descricao'      => 'Modelo para empresas no Lucro Presumido com atividade de serviço',
                'clausulas'      => [
                    ['titulo' => 'Objeto', 'texto' => 'A OPCON Soluções Contábeis prestará serviços de contabilidade completa à {{RAZAO_SOCIAL}}, tributada pelo Lucro Presumido na atividade de serviços.'],
                    ['titulo' => 'Apuração Trimestral', 'texto' => 'A CONTRATADA realizará a apuração trimestral do IRPJ e CSLL conforme as bases de cálculo do Lucro Presumido.'],
                    ['titulo' => 'Obrigações Federais', 'texto' => 'Entrega de DCTF, EFD-Contribuições, DIRF, RAIS, CAGED e demais obrigações acessórias federais dentro dos prazos.'],
                    ['titulo' => 'Escrituração Contábil', 'texto' => 'Elaboração das demonstrações financeiras anuais (Balanço Patrimonial, DRE e DLPA).'],
                    ['titulo' => 'Honorários', 'texto' => 'O honorário mensal acordado é de {{HONORARIO}}, a ser pago até o dia 10 de cada mês subsequente.'],
                    ['titulo' => 'Vigência', 'texto' => 'Este contrato entra em vigor na data de assinatura, por prazo indeterminado, com rescisão mediante aviso prévio de 30 dias.'],
                ],
                'documentos_obrigatorios' => [
                    ['nome' => 'Certificado digital (e-CNPJ A3)', 'obrigatorio' => true],
                    ['nome' => 'Contrato social e alterações', 'obrigatorio' => true],
                    ['nome' => 'Documentos dos sócios', 'obrigatorio' => true],
                    ['nome' => 'Extratos bancários', 'obrigatorio' => true],
                    ['nome' => 'Notas fiscais emitidas e recebidas', 'obrigatorio' => true],
                    ['nome' => 'Folha de pagamento anterior', 'obrigatorio' => false],
                ],
                'checklist' => [
                    'Certificado digital A3',
                    'Contrato social completo',
                    'Documentos dos sócios',
                    'Extratos bancários',
                ],
            ],
            [
                'nome'           => 'Lucro Real — Serviço',
                'codigo_regime'  => 'lr_servico',
                'descricao'      => 'Modelo para empresas no Lucro Real com atividade de serviço',
                'clausulas'      => [
                    ['titulo' => 'Objeto', 'texto' => 'A OPCON prestará serviços contábeis completos à {{RAZAO_SOCIAL}}, tributada pelo Lucro Real, incluindo escrituração fiscal e contábil complexa.'],
                    ['titulo' => 'SPED e ECD/ECF', 'texto' => 'Entrega anual do SPED Contábil (ECD), SPED Fiscal (EFD) e ECF nos prazos determinados pela Receita Federal.'],
                    ['titulo' => 'Inventário Anual', 'texto' => 'Elaboração e controle do inventário anual de estoques e ativos permanentes.'],
                    ['titulo' => 'Acompanhamento Contábil Mensal', 'texto' => 'Fechamento contábil mensal com envio de relatórios gerenciais, balancetes e análise de performance.'],
                    ['titulo' => 'Conciliações Bancárias', 'texto' => 'Conciliação bancária mensal de todas as contas correntes da empresa ({{BANCO_QTD}} banco(s)).'],
                    ['titulo' => 'Honorários Diferenciados', 'texto' => 'Dado o nível de complexidade, o honorário mensal acordado é de {{HONORARIO}}, a ser pago até o dia 10 de cada mês subsequente.'],
                    ['titulo' => 'Vigência', 'texto' => 'Este contrato entra em vigor na data de assinatura, por prazo indeterminado, com rescisão mediante aviso prévio de 30 dias.'],
                ],
                'documentos_obrigatorios' => [
                    ['nome' => 'Certificado digital e-CNPJ A3', 'obrigatorio' => true],
                    ['nome' => 'SPED anterior (ECD + ECF)', 'obrigatorio' => true],
                    ['nome' => 'Balancetes dos últimos 3 meses', 'obrigatorio' => true],
                    ['nome' => 'Inventário do exercício anterior', 'obrigatorio' => true],
                    ['nome' => 'Plano de contas vigente', 'obrigatorio' => true],
                    ['nome' => 'Contratos com clientes e fornecedores', 'obrigatorio' => false],
                ],
                'checklist' => [
                    'Certificado digital e-CNPJ A3',
                    'SPED anterior',
                    'Balancetes recentes',
                    'Inventário',
                    'Plano de contas',
                ],
            ],
        ];

        foreach ($modelos as $modelo) {
            ModeloContrato::updateOrCreate(
                ['codigo_regime' => $modelo['codigo_regime']],
                $modelo
            );
        }
    }
}
