-- Diagnostico rapido do vinculo profissional -> usuario -> contratos.
-- Ajuste o email se quiser testar outro profissional.

SET @prof_email = 'caua_benicio_mendes@sercoti.com.br';

-- 1) Resolve o profissional e o usuario WordPress associado.
SELECT
    p.id                  AS profissional_id,
    p.user_id             AS user_id_wp,
    p.id_contrato         AS contrato_catalogo_atual,
    p.nome_completo,
    p.status,
    p.email,
    p.cidade,
    p.estado,
    c.nome                AS categoria_atual
FROM wpjy_parceiros_profissionais p
LEFT JOIN wpjy_parceiros_categorias c
       ON c.id = p.categoria_id
WHERE p.email = @prof_email
ORDER BY p.id DESC;

-- 2) Lista os contratos ja vinculados ao usuario do profissional.
SELECT
    p.id                  AS profissional_id,
    p.user_id             AS user_id_wp,
    uc.id_contrato,
    ct.tipo,
    ct.nome,
    ct.nome_fantasia,
    ct.contrato_pai,
    pai.tipo              AS tipo_pai,
    COALESCE(pai.nome_fantasia, pai.nome) AS pai_nome,
    ct.logradouro,
    ct.numero,
    ct.complemento,
    ct.bairro,
    ct.cidade,
    ct.uf,
    ct.cep
FROM wpjy_parceiros_profissionais p
JOIN wpjy_usuario_contratos uc
  ON uc.id_usuario = p.user_id
JOIN wpjy_contratos ct
  ON ct.id = uc.id_contrato
LEFT JOIN wpjy_contratos pai
  ON pai.id = ct.contrato_pai
WHERE p.email = @prof_email
ORDER BY
    FIELD(UPPER(ct.tipo), 'UNIDADE', 'UNIT', 'EMPRESA', 'CORRETORA', 'COMITE', 'ASSOCIATION'),
    ct.id;

-- 3) Mostra apenas os contratos de unidade, que sao os candidatos a endereco presencial.
SELECT
    p.id AS profissional_id,
    p.user_id AS user_id_wp,
    ct.id AS contrato_unidade_id,
    COALESCE(ct.nome_fantasia, ct.nome) AS unidade_nome,
    ct.contrato_pai AS contrato_empresa_id,
    COALESCE(emp.nome_fantasia, emp.nome) AS empresa_nome,
    CONCAT_WS(', ',
        NULLIF(ct.logradouro, ''),
        NULLIF(ct.numero, ''),
        NULLIF(ct.complemento, '')
    ) AS logradouro_resumido,
    CONCAT_WS(' - ',
        NULLIF(ct.bairro, ''),
        CONCAT_WS('/', NULLIF(ct.cidade, ''), NULLIF(ct.uf, ''))
    ) AS bairro_cidade_uf,
    ct.cep
FROM wpjy_parceiros_profissionais p
JOIN wpjy_usuario_contratos uc
  ON uc.id_usuario = p.user_id
JOIN wpjy_contratos ct
  ON ct.id = uc.id_contrato
LEFT JOIN wpjy_contratos emp
  ON emp.id = ct.contrato_pai
WHERE p.email = @prof_email
  AND UPPER(ct.tipo) IN ('UNIDADE', 'UNIT')
ORDER BY ct.id;

-- 4) Se ainda existir legado, mostra o vinculo antigo do profissional com unidades parceiras.
SELECT
    p.id AS profissional_id,
    p.nome_completo,
    pu.unidade_id,
    pu.ativo
FROM wpjy_parceiros_profissionais p
JOIN wpjy_parceiros_profissionais_unidades pu
  ON pu.id_profissional = p.id
WHERE p.email = @prof_email
ORDER BY pu.unidade_id;
