INSERT INTO chamados (
    numero,
    cliente_id,
    contato_id,
    categoria_id,
    usuario_responsavel_id,
    titulo,
    descricao,
    prioridade,
    status,
    origem,
    data_abertura,
    data_primeira_resposta,
    data_resolucao,
    data_vencimento_sla
)
SELECT * FROM (
    SELECT
        'CH-0100' AS numero,
        1 AS cliente_id,
        1 AS contato_id,
        2 AS categoria_id,
        2 AS usuario_responsavel_id,
        'Falha intermitente na tela de clientes' AS titulo,
        'Cliente relatou travamento ao abrir o modulo de clientes apos aplicar um filtro de busca.' AS descricao,
        'alta' AS prioridade,
        'em_andamento' AS status,
        'manual' AS origem,
        DATE_SUB(NOW(), INTERVAL 1 HOUR) AS data_abertura,
        DATE_SUB(NOW(), INTERVAL 50 MINUTE) AS data_primeira_resposta,
        NULL AS data_resolucao,
        DATE_ADD(DATE_SUB(NOW(), INTERVAL 1 HOUR), INTERVAL 3 HOUR) AS data_vencimento_sla
) AS dados
WHERE NOT EXISTS (SELECT 1 FROM chamados WHERE numero = 'CH-0100');

INSERT INTO chamados_mensagens (
    chamado_id,
    usuario_id,
    contato_id,
    tipo_autor,
    mensagem,
    privado
)
SELECT ch.id, 2, NULL, 'usuario', 'Equipe interna reproduziu o erro e iniciou validacao do fluxo.', 1
FROM chamados ch
WHERE ch.numero = 'CH-0100'
  AND NOT EXISTS (
      SELECT 1 FROM chamados_mensagens cm WHERE cm.chamado_id = ch.id AND cm.mensagem = 'Equipe interna reproduziu o erro e iniciou validacao do fluxo.'
  );

INSERT INTO chamados_historicos (
    chamado_id,
    usuario_id,
    acao,
    campo_alterado,
    valor_anterior,
    valor_novo,
    observacao
)
SELECT ch.id, 2, 'nova_mensagem', 'mensagem', NULL, 'privada', 'Historico de teste do modulo de chamados.'
FROM chamados ch
WHERE ch.numero = 'CH-0100'
  AND NOT EXISTS (
      SELECT 1 FROM chamados_historicos h WHERE h.chamado_id = ch.id AND h.observacao = 'Historico de teste do modulo de chamados.'
  );
