USE gestor;

INSERT INTO companies (nome, cnpj, active) VALUES
    ('Insight Master', '00.000.000/0001-00', 1),
    ('Alpha Imóveis', '11.111.111/0001-11', 1),
    ('Beta Loteamentos', '22.222.222/0001-22', 1);

INSERT INTO users (company_id, name, email, password_hash, role, active) VALUES
    (NULL, 'Usuário Master', 'master@appgestor.test', '$2y$10$JOzoI6ofkZTFpWhmhMk2geq4geRGcvEl19tUH9QgVq.HI38BVpYKq', 'master', 1),
    (1, 'Admin Insight', 'admin@insight.test', '$2y$10$JOzoI6ofkZTFpWhmhMk2geq4geRGcvEl19tUH9QgVq.HI38BVpYKq', 'administrador', 1),
    (2, 'Gestor Alpha', 'gestor@alpha.test', '$2y$10$JOzoI6ofkZTFpWhmhMk2geq4geRGcvEl19tUH9QgVq.HI38BVpYKq', 'gestor', 1),
    (2, 'Usuário Operacional', 'user@alpha.test', '$2y$10$JOzoI6ofkZTFpWhmhMk2geq4geRGcvEl19tUH9QgVq.HI38BVpYKq', 'user', 1);

INSERT INTO loteamentos (company_id, nome, cidade, status) VALUES
    (2, 'Residencial Aurora', 'São Paulo', 'ativo'),
    (2, 'Parque Verde', 'Campinas', 'em_validacao'),
    (3, 'Campos do Sol', 'Curitiba', 'ativo');

INSERT INTO imoveis (company_id, loteamento_id, matricula, descricao, tipo, status, area_m2, ultima_atualizacao) VALUES
    (2, 1, 'MT-001', 'Lote 01 Quadra A', 'residencial', 'ativo', 250.00, NOW()),
    (2, 1, 'MT-002', 'Lote 02 Quadra A', 'residencial', 'em_analise', 300.00, NOW()),
    (2, 2, 'MT-010', 'Lote Comercial 10', 'comercial', 'ativo', 150.00, NOW());

INSERT INTO documentos (company_id, imovel_id, titulo, status, hash_integridade, versao, processed_at) VALUES
    (2, 1, 'Certidão matrícula', 'aprovado', SHA2('doc1', 256), 1, NOW()),
    (2, 2, 'Contrato compra', 'pendente_validacao', SHA2('doc2', 256), 2, NULL),
    (2, 3, 'Planta baixa', 'em_processamento', SHA2('doc3', 256), 1, NULL);

INSERT INTO document_templates (company_id, title, category, description, subject, body, active) VALUES
    (NULL, 'Notificação padrão', 'notificacao', 'Aviso formal para pendências e atualizações cadastrais.', 'Notificação importante sobre seu imóvel', 'Olá {{nome}},\n\nIdentificamos uma atualização pendente relacionada ao imóvel {{imovel}}. Por favor, acesse o portal AppGestor para regularizar.\n\nAtenciosamente,\nEquipe AppGestor', 1),
    (2, 'Boas-vindas Alpha', 'boas_vindas', 'Mensagem enviada automaticamente após novo cadastro.', 'Bem-vindo à Alpha Imóveis', 'Olá {{nome}},\n\nÉ um prazer tê-lo conosco! Este é o seu kit de boas-vindas com instruções e contatos úteis.\n\nAbraços,\nTime Alpha Imóveis', 1),
    (2, 'Aviso de assembleia', 'comunicado', 'Convocação rápida para reuniões e assembleias.', 'Convocação para assembleia extraordinária', 'Prezados,\n\nConvocamos todos para a assembleia do empreendimento {{empreendimento}}, no dia {{data}} às {{hora}}.\n\nObrigada,\nGestão Alpha', 1);

INSERT INTO onus (company_id, imovel_id, tipo, descricao, status, origem) VALUES
    (2, 1, 'Hipoteca bancária', 'Hipoteca junto ao Banco XPTO', 'ativo', 'Registro 1234'),
    (2, 2, 'Penhora trabalhista', 'Determinação da vara do trabalho', 'em_analise', 'Processo 5678'),
    (2, 3, 'Reserva legal', 'Área destinada à reserva legal', 'ativo', 'Ambiental');

INSERT INTO confrontantes (company_id, imovel_id, nome, documento, contato, lado, status, observacoes, confirmado_por, confirmado_em) VALUES
    (2, 1, 'Carlos Silva', '123.456.789-00', '(11) 90000-0000', 'norte', 'pendente', 'Aguardando confirmação presencial.', NULL, NULL),
    (2, 2, 'Marta Rodrigues', '987.654.321-00', '(19) 98888-2222', 'sul', 'validado', 'Confrontante confirmou limites em reunião.', 3, NOW()),
    (2, 3, 'Condomínio Leste', NULL, 'contato@condominio.com', 'leste', 'inconsistente', 'Divergência encontrada na escritura.', NULL, NULL);

INSERT INTO user_loteamentos (user_id, loteamento_id) VALUES
    (3, 1),
    (3, 2),
    (4, 1);

INSERT INTO serventias (company_id, nome, cidade, uf, contato, numero_registro, ativo) VALUES
    (1, '1º Registro de Imóveis Capital', 'São Paulo', 'SP', '(11) 4000-1234 / capital@ri.com', 'RI-SP-0001', 1),
    (2, 'Cartório de Registro Alpha', 'Campinas', 'SP', '(19) 3222-4444 / atendimento@alpha.com', 'RI-ALPHA-100', 1),
    (2, 'Cartório Títulos e Documentos Beta', 'Campinas', 'SP', '(19) 3111-2222', 'TD-BETA-200', 0);

INSERT INTO tributos (company_id, imovel_id, tipo, competencia_inicio, competencia_fim, vencimento, valor, status, forma_pagamento, centro_custo, observacoes)
VALUES
    (2, 1, 'IPTU', '2024-01-01', '2024-12-31', DATE_ADD(CURDATE(), INTERVAL 15 DAY), 2500.00, 'a_vencer', NULL, 'Financeiro', 'IPTU anual 2024'),
    (2, 1, 'Seguro', '2024-03-01', '2025-02-28', DATE_ADD(CURDATE(), INTERVAL -5 DAY), 1800.00, 'vencido', NULL, 'Seguros', 'Seguro obrigatório'),
    (2, 3, 'Parcela/Financiamento', '2024-04-01', '2024-04-30', DATE_ADD(CURDATE(), INTERVAL -1 DAY), 1200.00, 'parcial', 'boleto', 'Financiamento', 'Parcela 4/60');

INSERT INTO tributo_pagamentos (tributo_id, data_pagamento, valor_pago, juros, multa, desconto, forma_pagamento, observacao)
VALUES
    (3, DATE_SUB(CURDATE(), INTERVAL 1 DAY), 600.00, 0, 0, 0, 'boleto', 'Pagamento parcial');

INSERT INTO tarefas (company_id, responsavel_id, titulo, descricao, status, sensivel, data_limite) VALUES
    (2, 3, 'Validar OCR Matricula', 'Verificar consistência dos dados extraídos', 'pendente', 1, DATE_ADD(CURDATE(), INTERVAL 3 DAY)),
    (2, 4, 'Atualizar confrontantes', 'Confirmar confrontantes do lote MT-001', 'em_andamento', 0, DATE_ADD(CURDATE(), INTERVAL 5 DAY));

INSERT INTO fila_operacional (loteamento_id, tipo, total) VALUES
    (1, 'validacao_ocr', 5),
    (1, 'poligonal', 2),
    (2, 'confrontantes', 4);

INSERT INTO timeline_loteamentos (loteamento_id, evento, descricao) VALUES
    (1, 'Documento anexado', 'Certidão atualizada pelo usuário 3'),
    (1, 'Atualização poligonal', 'Arquivo georreferenciado revisado'),
    (2, 'Contato com confrontante', 'Solicitada confirmação do confrontante norte');

INSERT INTO revisoes (company_id, usuario_id, documento_id, status) VALUES
    (2, 3, 2, 'em_andamento'),
    (2, 4, 1, 'aprovado');

INSERT INTO prazos (usuario_id, titulo, data_limite, status) VALUES
    (3, 'Revisar contrato', DATE_ADD(CURDATE(), INTERVAL 7 DAY), 'aberto'),
    (4, 'Enviar relatório semanal', DATE_ADD(CURDATE(), INTERVAL 2 DAY), 'aberto');

INSERT INTO acessos_recentes (usuario_id, entidade, referencia, atualizado_em) VALUES
    (3, 'Imóvel', 'MT-001', NOW()),
    (3, 'Documento', 'Certidão matrícula', NOW()),
    (4, 'Imóvel', 'MT-002', NOW());

INSERT INTO ocr_metrics (company_id, processed_today, created_at) VALUES
    (2, 24, CURDATE()),
    (3, 12, CURDATE());
