-- 2026-04-15
-- Seed operacional de unidades, secretaria, recepcao, equipes e profissionais da Empresa Alpha
-- Credenciais principais:
--   secretaria.unidades.alpha@tiix.com.br
--   Tiix@2026
-- Credencial auxiliar:
--   recepcao.centro.alpha@tiix.com.br
--   Tiix@2026

SET @corretora_contract_id = 63;
SET @empresa_contract_id = 64;
SET @unit_centro_contract_id = 65;

SET @unit_jardins_slug = CONVERT('unidade-jardins-alpha' USING utf8mb4) COLLATE utf8mb4_0900_ai_ci;
SET @unit_jardins_nome = CONVERT('Unidade Jardins' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @unit_jardins_email = CONVERT('unidade.jardins@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @unit_jardins_cnpj = CONVERT('00000000000600' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;

SET @secretaria_email = CONVERT('secretaria.unidades.alpha@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @secretaria_login = CONVERT('secretaria.unidades.alpha@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @secretaria_nome = CONVERT('Secretaria Operacional Alpha' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @secretaria_first_name = CONVERT('Secretaria' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @secretaria_last_name = CONVERT('Operacional Alpha' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @secretaria_nicename = CONVERT('secretaria-operacional-alpha' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;

SET @recepcao_email = CONVERT('recepcao.centro.alpha@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @recepcao_login = CONVERT('recepcao.centro.alpha@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @recepcao_nome = CONVERT('Recepcao Unidade Centro' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @recepcao_first_name = CONVERT('Recepcao' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @recepcao_last_name = CONVERT('Unidade Centro' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @recepcao_nicename = CONVERT('recepcao-unidade-centro' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;

SET @senha_plana = 'Tiix@2026';
SET @group_slug_unit = CONVERT('assistentes-unidade' USING utf8mb4) COLLATE utf8mb4_0900_ai_ci;

SET @gestor_empresa_user_id = (
    SELECT ID FROM wpjy_users
     WHERE user_email = CONVERT('gestor.empresa.alpha@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci
     ORDER BY ID ASC LIMIT 1
);

SET @gestor_corretora_user_id = (
    SELECT ID FROM wpjy_users
     WHERE user_email = CONVERT('gestor.corretora.geral@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci
     ORDER BY ID ASC LIMIT 1
);

SET @corretora_publica_id = (
    SELECT cc.corretora_id
      FROM wpjy_corretoras_contratos cc
     WHERE cc.contrato_id = @corretora_contract_id
     ORDER BY cc.id ASC LIMIT 1
);

INSERT INTO wpjy_corretoras (nome, slug, cnpj, email, telefone, status)
SELECT c.nome_fantasia, c.slug, c.cnpj, c.email, c.telefonewhatsapp, 'ativo'
FROM wpjy_contratos c
WHERE c.id = @corretora_contract_id
  AND COALESCE(@corretora_publica_id, 0) = 0
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_corretoras co
     WHERE co.slug = c.slug OR co.cnpj = c.cnpj
  );

SET @corretora_publica_id = COALESCE(
    @corretora_publica_id,
    (SELECT id FROM wpjy_corretoras
      WHERE slug = (SELECT slug FROM wpjy_contratos WHERE id = @corretora_contract_id LIMIT 1)
         OR cnpj = (SELECT cnpj FROM wpjy_contratos WHERE id = @corretora_contract_id LIMIT 1)
      ORDER BY id ASC LIMIT 1)
);

INSERT INTO wpjy_corretoras_contratos (corretora_id, contrato_id, role, ativo)
SELECT @corretora_publica_id, @corretora_contract_id, 'manager', 1
WHERE @corretora_publica_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_corretoras_contratos
     WHERE corretora_id = @corretora_publica_id
       AND contrato_id = @corretora_contract_id
  );

INSERT INTO wpjy_corretoras_users (corretora_id, user_id, role, ativo)
SELECT @corretora_publica_id, @gestor_corretora_user_id, 'manager', 1
WHERE @corretora_publica_id IS NOT NULL
  AND @gestor_corretora_user_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_corretoras_users
     WHERE corretora_id = @corretora_publica_id
       AND user_id = @gestor_corretora_user_id
  );

SET @empresa_partner_id = (
    SELECT id FROM wpjy_parceiros_empresas
     WHERE id_contrato = @empresa_contract_id
     ORDER BY id ASC LIMIT 1
);

INSERT INTO wpjy_parceiros_empresas (
    id_contrato, corretora_id, razao_social, nome_fantasia, cnpj, telefone, email,
    nome_responsavel, telefone_responsavel, descricao, categoria_id, termos_aceitos,
    logradouro, numero, complemento, bairro, cidade, estado, cep, status, user_id
)
SELECT
    c.id, COALESCE(@corretora_publica_id, 1), COALESCE(NULLIF(c.nome,''), c.nome_fantasia), c.nome_fantasia,
    c.cnpj, c.telefonewhatsapp, c.email, c.responsavel, c.responsavel_contato,
    'Empresa operacional seed para demonstracao da area da empresa e das unidades.',
    COALESCE((SELECT categoria_id FROM wpjy_parceiros_empresas WHERE id_contrato = @empresa_contract_id LIMIT 1), 1),
    1,
    c.logradouro, c.numero, c.complemento, c.bairro, c.cidade, c.uf, c.cep,
    'aprovado', @gestor_empresa_user_id
FROM wpjy_contratos c
WHERE c.id = @empresa_contract_id
  AND COALESCE(@empresa_partner_id, 0) = 0;

SET @empresa_partner_id = (
    SELECT id FROM wpjy_parceiros_empresas
     WHERE id_contrato = @empresa_contract_id
     ORDER BY id ASC LIMIT 1
);

UPDATE wpjy_parceiros_empresas
   SET corretora_id = COALESCE(@corretora_publica_id, corretora_id),
       status = 'aprovado',
       user_id = COALESCE(@gestor_empresa_user_id, user_id)
 WHERE id = @empresa_partner_id;

SET @unit_centro_partner_id = (
    SELECT id FROM wpjy_parceiros_unidades
     WHERE COALESCE(NULLIF(contrato_unidade_id,0), id_contrato) = @unit_centro_contract_id
     ORDER BY id ASC LIMIT 1
);

SET @unit_jardins_contract_id = (
    SELECT id FROM wpjy_contratos
     WHERE slug = @unit_jardins_slug
     ORDER BY id ASC LIMIT 1
);

INSERT INTO wpjy_contratos (
    contrato_pai, nome, nome_fantasia, slug, tipo, email, cnpj, cep, logradouro, numero, complemento, bairro,
    cidade, uf, responsavel, responsavel_contato, responsavel_email, data_assinatura, contrato, carnet, lixeira,
    telefonewhatsapp, smtp_host, smtp_port, smtp_user, smtp_pass, smtp_auth, equipes
)
SELECT
    @empresa_contract_id, @unit_jardins_nome, @unit_jardins_nome, @unit_jardins_slug, 'UNIDADE', @unit_jardins_email,
    @unit_jardins_cnpj, '01452002', 'Rua Augusta', '1501', 'Conjunto 12', 'Jardins', 'Sao Paulo', 'SP',
    'Coordenacao Unidade Jardins', '11999990006', 'coordenacao.jardins@tiix.com.br', NOW(), 'contrato', 1, 0,
    '11999990006',
    COALESCE(c.smtp_host, 'mail.prevclube.com.br'),
    COALESCE(c.smtp_port, '587'),
    COALESCE(c.smtp_user, 'naoresponda@prevclube.com.br'),
    COALESCE(c.smtp_pass, 'N4JEm5YFwA'),
    COALESCE(c.smtp_auth, 0),
    1
FROM wpjy_contratos c
WHERE c.id = @unit_centro_contract_id
  AND COALESCE(@unit_jardins_contract_id, 0) = 0;

SET @unit_jardins_contract_id = (
    SELECT id FROM wpjy_contratos
     WHERE slug = @unit_jardins_slug
     ORDER BY id ASC LIMIT 1
);

UPDATE wpjy_contratos
   SET equipes = 1
 WHERE id IN (@empresa_contract_id, @unit_centro_contract_id, COALESCE(@unit_jardins_contract_id, -1));

SET @addr_centro_id = (
    SELECT id FROM wpjy_parceiros_enderecos
     WHERE parceiro_tipo = 'empresa'
       AND parceiro_id = @empresa_partner_id
       AND apelido = 'Unidade Centro'
     ORDER BY is_principal DESC, id ASC LIMIT 1
);

INSERT INTO wpjy_parceiros_enderecos (
    parceiro_tipo, parceiro_id, apelido, logradouro, numero, complemento, bairro,
    cidade, estado, cep, pais, telefone, whatsapp, email, is_principal, ativo, ordem
)
SELECT
    'empresa', @empresa_partner_id, 'Unidade Centro', c.logradouro, c.numero, c.complemento, c.bairro,
    c.cidade, c.uf, c.cep, 'Brasil', c.telefonewhatsapp, c.telefonewhatsapp, c.email, 0, 1, 10
FROM wpjy_contratos c
WHERE c.id = @unit_centro_contract_id
  AND @empresa_partner_id IS NOT NULL
  AND COALESCE(@addr_centro_id, 0) = 0;

SET @addr_centro_id = (
    SELECT id FROM wpjy_parceiros_enderecos
     WHERE parceiro_tipo = 'empresa'
       AND parceiro_id = @empresa_partner_id
       AND apelido = 'Unidade Centro'
     ORDER BY is_principal DESC, id ASC LIMIT 1
);

INSERT INTO wpjy_parceiros_unidades (
    id_contrato, empresa_id, endereco_id, nome, cnpj, razao_social, nome_fantasia, ativo, contrato_unidade_id
)
SELECT
    @empresa_contract_id, @empresa_partner_id, @addr_centro_id, c.nome, c.cnpj, c.nome, c.nome_fantasia, 1, c.id
FROM wpjy_contratos c
WHERE c.id = @unit_centro_contract_id
  AND @empresa_partner_id IS NOT NULL
  AND @addr_centro_id IS NOT NULL
  AND COALESCE(@unit_centro_partner_id, 0) = 0;

SET @unit_centro_partner_id = (
    SELECT id FROM wpjy_parceiros_unidades
     WHERE COALESCE(NULLIF(contrato_unidade_id,0), id_contrato) = @unit_centro_contract_id
     ORDER BY id ASC LIMIT 1
);

UPDATE wpjy_parceiros_unidades
   SET id_contrato = @empresa_contract_id,
       empresa_id = COALESCE(@empresa_partner_id, empresa_id),
       endereco_id = COALESCE(@addr_centro_id, endereco_id),
       ativo = 1,
       contrato_unidade_id = @unit_centro_contract_id
 WHERE id = @unit_centro_partner_id;

SET @addr_jardins_id = (
    SELECT id FROM wpjy_parceiros_enderecos
     WHERE parceiro_tipo = 'empresa'
       AND parceiro_id = @empresa_partner_id
       AND apelido = 'Unidade Jardins'
     ORDER BY is_principal DESC, id ASC LIMIT 1
);

INSERT INTO wpjy_parceiros_enderecos (
    parceiro_tipo, parceiro_id, apelido, logradouro, numero, complemento, bairro,
    cidade, estado, cep, pais, telefone, whatsapp, email, is_principal, ativo, ordem
)
SELECT
    'empresa', @empresa_partner_id, 'Unidade Jardins', c.logradouro, c.numero, c.complemento, c.bairro,
    c.cidade, c.uf, c.cep, 'Brasil', c.telefonewhatsapp, c.telefonewhatsapp, c.email, 0, 1, 20
FROM wpjy_contratos c
WHERE c.id = @unit_jardins_contract_id
  AND @empresa_partner_id IS NOT NULL
  AND COALESCE(@addr_jardins_id, 0) = 0;

SET @addr_jardins_id = (
    SELECT id FROM wpjy_parceiros_enderecos
     WHERE parceiro_tipo = 'empresa'
       AND parceiro_id = @empresa_partner_id
       AND apelido = 'Unidade Jardins'
     ORDER BY is_principal DESC, id ASC LIMIT 1
);

SET @unit_jardins_partner_id = (
    SELECT id FROM wpjy_parceiros_unidades
     WHERE COALESCE(NULLIF(contrato_unidade_id,0), id_contrato) = @unit_jardins_contract_id
     ORDER BY id ASC LIMIT 1
);

INSERT INTO wpjy_parceiros_unidades (
    id_contrato, empresa_id, endereco_id, nome, cnpj, razao_social, nome_fantasia, ativo, contrato_unidade_id
)
SELECT
    @empresa_contract_id, @empresa_partner_id, @addr_jardins_id, c.nome, c.cnpj, c.nome, c.nome_fantasia, 1, c.id
FROM wpjy_contratos c
WHERE c.id = @unit_jardins_contract_id
  AND @empresa_partner_id IS NOT NULL
  AND @addr_jardins_id IS NOT NULL
  AND COALESCE(@unit_jardins_partner_id, 0) = 0;

SET @unit_jardins_partner_id = (
    SELECT id FROM wpjy_parceiros_unidades
     WHERE COALESCE(NULLIF(contrato_unidade_id,0), id_contrato) = @unit_jardins_contract_id
     ORDER BY id ASC LIMIT 1
);

UPDATE wpjy_parceiros_unidades
   SET id_contrato = @empresa_contract_id,
       empresa_id = COALESCE(@empresa_partner_id, empresa_id),
       endereco_id = COALESCE(@addr_jardins_id, endereco_id),
       ativo = 1,
       contrato_unidade_id = @unit_jardins_contract_id
 WHERE id = @unit_jardins_partner_id;

SET @team_centro_id = (
    SELECT id FROM wpjy_equipes
     WHERE contrato = @unit_centro_contract_id
       AND nome = 'Equipe Operacional Unidade Centro'
     ORDER BY id ASC LIMIT 1
);

INSERT INTO wpjy_equipes (nome, tipo, descricao, area_slug, contrato, usa_modulo_dev, criado_por, ativo, leads_atendente)
SELECT
    'Equipe Operacional Unidade Centro', 'operacao', 'Equipe seed de secretaria e recepcao da Unidade Centro.',
    'unidade', @unit_centro_contract_id, 0, COALESCE(@gestor_empresa_user_id, @gestor_corretora_user_id, 682), 1, 10
WHERE COALESCE(@team_centro_id, 0) = 0;

SET @team_centro_id = (
    SELECT id FROM wpjy_equipes
     WHERE contrato = @unit_centro_contract_id
       AND nome = 'Equipe Operacional Unidade Centro'
     ORDER BY id ASC LIMIT 1
);

SET @team_jardins_id = (
    SELECT id FROM wpjy_equipes
     WHERE contrato = @unit_jardins_contract_id
       AND nome = 'Equipe Operacional Unidade Jardins'
     ORDER BY id ASC LIMIT 1
);

INSERT INTO wpjy_equipes (nome, tipo, descricao, area_slug, contrato, usa_modulo_dev, criado_por, ativo, leads_atendente)
SELECT
    'Equipe Operacional Unidade Jardins', 'operacao', 'Equipe seed de secretaria e recepcao da Unidade Jardins.',
    'unidade', @unit_jardins_contract_id, 0, COALESCE(@gestor_empresa_user_id, @gestor_corretora_user_id, 682), 1, 10
WHERE @unit_jardins_contract_id IS NOT NULL
  AND COALESCE(@team_jardins_id, 0) = 0;

SET @team_jardins_id = (
    SELECT id FROM wpjy_equipes
     WHERE contrato = @unit_jardins_contract_id
       AND nome = 'Equipe Operacional Unidade Jardins'
     ORDER BY id ASC LIMIT 1
);

SET @secretaria_user_id = (
    SELECT ID FROM wpjy_users
     WHERE user_login = @secretaria_login
        OR user_email = @secretaria_email
     ORDER BY ID ASC LIMIT 1
);

INSERT INTO wpjy_users (
    user_login, user_pass, user_nicename, user_email, user_registered, display_name
)
SELECT @secretaria_login, MD5(@senha_plana), @secretaria_nicename, @secretaria_email, NOW(), @secretaria_nome
WHERE COALESCE(@secretaria_user_id, 0) = 0;

SET @secretaria_user_id = (
    SELECT ID FROM wpjy_users
     WHERE user_login = @secretaria_login
        OR user_email = @secretaria_email
     ORDER BY ID ASC LIMIT 1
);

UPDATE wpjy_users
   SET user_pass = MD5(@senha_plana),
       user_nicename = @secretaria_nicename,
       user_email = @secretaria_email,
       display_name = @secretaria_nome
 WHERE ID = @secretaria_user_id;

DELETE FROM wpjy_usermeta
 WHERE user_id = @secretaria_user_id
   AND meta_key IN (
       'nickname', 'first_name', 'last_name', 'wpjy_capabilities', 'wpjy_user_level',
       'tiix_home_area', 'papel_default', 'papel_assistente',
       'tiix_ctx_contract_id', 'tiix_ctx_group_slug', 'tiix_ctx_mode', 'tiix_ctx_updated_at'
   );

INSERT INTO wpjy_usermeta (user_id, meta_key, meta_value) VALUES
(@secretaria_user_id, 'nickname', @secretaria_nome),
(@secretaria_user_id, 'first_name', @secretaria_first_name),
(@secretaria_user_id, 'last_name', @secretaria_last_name),
(@secretaria_user_id, 'wpjy_capabilities', 'a:1:{s:10:"subscriber";b:1;}'),
(@secretaria_user_id, 'wpjy_user_level', '0'),
(@secretaria_user_id, 'tiix_home_area', 'unidade'),
(@secretaria_user_id, 'papel_default', 'assistente'),
(@secretaria_user_id, 'papel_assistente', '1'),
(@secretaria_user_id, 'tiix_ctx_contract_id', @unit_centro_contract_id),
(@secretaria_user_id, 'tiix_ctx_group_slug', 'assistentes-unidade'),
(@secretaria_user_id, 'tiix_ctx_mode', 'preview'),
(@secretaria_user_id, 'tiix_ctx_updated_at', NOW());

DELETE FROM wpjy_user_dados WHERE user_id = @secretaria_user_id;

INSERT INTO wpjy_user_dados (user_id, nome, email, contrato, celular)
VALUES (@secretaria_user_id, @secretaria_nome, @secretaria_email, @unit_centro_contract_id, '11999990007');

INSERT INTO wpjy_usuario_contratos (id_usuario, id_contrato)
SELECT @secretaria_user_id, @unit_centro_contract_id
WHERE @secretaria_user_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_usuario_contratos
     WHERE id_usuario = @secretaria_user_id
       AND id_contrato = @unit_centro_contract_id
  );

INSERT INTO wpjy_usuario_contratos (id_usuario, id_contrato)
SELECT @secretaria_user_id, @unit_jardins_contract_id
WHERE @secretaria_user_id IS NOT NULL
  AND @unit_jardins_contract_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_usuario_contratos
     WHERE id_usuario = @secretaria_user_id
       AND id_contrato = @unit_jardins_contract_id
  );

SET @global_unit_group_id = (
    SELECT id FROM wpjy_grupos_permissoes
     WHERE slug = @group_slug_unit
     ORDER BY CASE WHEN id_contrato = 0 THEN 0 ELSE 1 END, id ASC
     LIMIT 1
);

INSERT INTO wpjy_usuario_grupo_permissao (id_usuario, id_grupo)
SELECT @secretaria_user_id, @global_unit_group_id
WHERE @secretaria_user_id IS NOT NULL
  AND @global_unit_group_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_usuario_grupo_permissao
     WHERE id_usuario = @secretaria_user_id
       AND id_grupo = @global_unit_group_id
  );

SET @recepcao_user_id = (
    SELECT ID FROM wpjy_users
     WHERE user_login = @recepcao_login
        OR user_email = @recepcao_email
     ORDER BY ID ASC LIMIT 1
);

INSERT INTO wpjy_users (
    user_login, user_pass, user_nicename, user_email, user_registered, display_name
)
SELECT @recepcao_login, MD5(@senha_plana), @recepcao_nicename, @recepcao_email, NOW(), @recepcao_nome
WHERE COALESCE(@recepcao_user_id, 0) = 0;

SET @recepcao_user_id = (
    SELECT ID FROM wpjy_users
     WHERE user_login = @recepcao_login
        OR user_email = @recepcao_email
     ORDER BY ID ASC LIMIT 1
);

UPDATE wpjy_users
   SET user_pass = MD5(@senha_plana),
       user_nicename = @recepcao_nicename,
       user_email = @recepcao_email,
       display_name = @recepcao_nome
 WHERE ID = @recepcao_user_id;

DELETE FROM wpjy_usermeta
 WHERE user_id = @recepcao_user_id
   AND meta_key IN (
       'nickname', 'first_name', 'last_name', 'wpjy_capabilities', 'wpjy_user_level',
       'tiix_home_area', 'papel_default', 'papel_assistente',
       'tiix_ctx_contract_id', 'tiix_ctx_group_slug', 'tiix_ctx_mode', 'tiix_ctx_updated_at'
   );

INSERT INTO wpjy_usermeta (user_id, meta_key, meta_value) VALUES
(@recepcao_user_id, 'nickname', @recepcao_nome),
(@recepcao_user_id, 'first_name', @recepcao_first_name),
(@recepcao_user_id, 'last_name', @recepcao_last_name),
(@recepcao_user_id, 'wpjy_capabilities', 'a:1:{s:10:"subscriber";b:1;}'),
(@recepcao_user_id, 'wpjy_user_level', '0'),
(@recepcao_user_id, 'tiix_home_area', 'unidade'),
(@recepcao_user_id, 'papel_default', 'assistente'),
(@recepcao_user_id, 'papel_assistente', '1'),
(@recepcao_user_id, 'tiix_ctx_contract_id', @unit_centro_contract_id),
(@recepcao_user_id, 'tiix_ctx_group_slug', 'assistentes-unidade'),
(@recepcao_user_id, 'tiix_ctx_mode', 'preview'),
(@recepcao_user_id, 'tiix_ctx_updated_at', NOW());

DELETE FROM wpjy_user_dados WHERE user_id = @recepcao_user_id;

INSERT INTO wpjy_user_dados (user_id, nome, email, contrato, celular)
VALUES (@recepcao_user_id, @recepcao_nome, @recepcao_email, @unit_centro_contract_id, '11999990008');

INSERT INTO wpjy_usuario_contratos (id_usuario, id_contrato)
SELECT @recepcao_user_id, @unit_centro_contract_id
WHERE @recepcao_user_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_usuario_contratos
     WHERE id_usuario = @recepcao_user_id
       AND id_contrato = @unit_centro_contract_id
  );

INSERT INTO wpjy_usuario_grupo_permissao (id_usuario, id_grupo)
SELECT @recepcao_user_id, @global_unit_group_id
WHERE @recepcao_user_id IS NOT NULL
  AND @global_unit_group_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_usuario_grupo_permissao
     WHERE id_usuario = @recepcao_user_id
       AND id_grupo = @global_unit_group_id
  );

INSERT INTO wpjy_parceiros_unidades_usuarios (unidade_id, user_id, papel, permissoes_json, ativo)
SELECT @unit_centro_partner_id, @secretaria_user_id, 'manager', NULL, 1
WHERE @unit_centro_partner_id IS NOT NULL
  AND @secretaria_user_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_parceiros_unidades_usuarios
     WHERE unidade_id = @unit_centro_partner_id
       AND user_id = @secretaria_user_id
  );

INSERT INTO wpjy_parceiros_unidades_usuarios (unidade_id, user_id, papel, permissoes_json, ativo)
SELECT @unit_jardins_partner_id, @secretaria_user_id, 'manager', NULL, 1
WHERE @unit_jardins_partner_id IS NOT NULL
  AND @secretaria_user_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_parceiros_unidades_usuarios
     WHERE unidade_id = @unit_jardins_partner_id
       AND user_id = @secretaria_user_id
  );

INSERT INTO wpjy_parceiros_unidades_usuarios (unidade_id, user_id, papel, permissoes_json, ativo)
SELECT @unit_centro_partner_id, @recepcao_user_id, 'assistant', NULL, 1
WHERE @unit_centro_partner_id IS NOT NULL
  AND @recepcao_user_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_parceiros_unidades_usuarios
     WHERE unidade_id = @unit_centro_partner_id
       AND user_id = @recepcao_user_id
  );

INSERT INTO wpjy_equipes_usuarios (equipe_id, user_id, superior_user_id, papel, ativo)
SELECT @team_centro_id, @secretaria_user_id, NULL, 'manager', 1
WHERE @team_centro_id IS NOT NULL
  AND @secretaria_user_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_equipes_usuarios
     WHERE equipe_id = @team_centro_id
       AND user_id = @secretaria_user_id
  );

INSERT INTO wpjy_equipes_usuarios (equipe_id, user_id, superior_user_id, papel, ativo)
SELECT @team_jardins_id, @secretaria_user_id, NULL, 'manager', 1
WHERE @team_jardins_id IS NOT NULL
  AND @secretaria_user_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_equipes_usuarios
     WHERE equipe_id = @team_jardins_id
       AND user_id = @secretaria_user_id
  );

INSERT INTO wpjy_equipes_usuarios (equipe_id, user_id, superior_user_id, papel, ativo)
SELECT @team_centro_id, @recepcao_user_id, @secretaria_user_id, 'assistant', 1
WHERE @team_centro_id IS NOT NULL
  AND @recepcao_user_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_equipes_usuarios
     WHERE equipe_id = @team_centro_id
       AND user_id = @recepcao_user_id
  );

SET @prof_marina_email = CONVERT('marina.ribeiro@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @prof_bruno_email = CONVERT('bruno.prado@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;

SET @prof_marina_id = (
    SELECT id FROM wpjy_parceiros_profissionais
     WHERE email = @prof_marina_email
     ORDER BY id ASC LIMIT 1
);

INSERT INTO wpjy_parceiros_profissionais (
    id_contrato, id_empresa, nome_completo, nome_comercial, descricao, cpf, telefone, email, cidade, estado, status
)
SELECT
    @unit_centro_contract_id, @empresa_partner_id, 'Dra. Marina Ribeiro', 'Marina Ribeiro',
    'Profissional seed vinculada a mais de uma unidade para demonstrar seletor e operacao assistida.',
    '00000000001', '11999990101', @prof_marina_email, 'Sao Paulo', 'SP', 'aprovado'
WHERE COALESCE(@prof_marina_id, 0) = 0;

SET @prof_marina_id = (
    SELECT id FROM wpjy_parceiros_profissionais
     WHERE email = @prof_marina_email
     ORDER BY id ASC LIMIT 1
);

SET @prof_bruno_id = (
    SELECT id FROM wpjy_parceiros_profissionais
     WHERE email = @prof_bruno_email
     ORDER BY id ASC LIMIT 1
);

INSERT INTO wpjy_parceiros_profissionais (
    id_contrato, id_empresa, nome_completo, nome_comercial, descricao, cpf, telefone, email, cidade, estado, status
)
SELECT
    @unit_centro_contract_id, @empresa_partner_id, 'Dr. Bruno Prado', 'Bruno Prado',
    'Profissional seed focado na Unidade Centro para demonstrar equipe e agenda local.',
    '00000000002', '11999990102', @prof_bruno_email, 'Sao Paulo', 'SP', 'aprovado'
WHERE COALESCE(@prof_bruno_id, 0) = 0;

SET @prof_bruno_id = (
    SELECT id FROM wpjy_parceiros_profissionais
     WHERE email = @prof_bruno_email
     ORDER BY id ASC LIMIT 1
);

INSERT INTO wpjy_parceiros_profissionais_unidades (id_profissional, unidade_id, ativo)
SELECT @prof_marina_id, @unit_centro_partner_id, 1
WHERE @prof_marina_id IS NOT NULL
  AND @unit_centro_partner_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_parceiros_profissionais_unidades
     WHERE id_profissional = @prof_marina_id
       AND unidade_id = @unit_centro_partner_id
  );

INSERT INTO wpjy_parceiros_profissionais_unidades (id_profissional, unidade_id, ativo)
SELECT @prof_marina_id, @unit_jardins_partner_id, 1
WHERE @prof_marina_id IS NOT NULL
  AND @unit_jardins_partner_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_parceiros_profissionais_unidades
     WHERE id_profissional = @prof_marina_id
       AND unidade_id = @unit_jardins_partner_id
  );

INSERT INTO wpjy_parceiros_profissionais_unidades (id_profissional, unidade_id, ativo)
SELECT @prof_bruno_id, @unit_centro_partner_id, 1
WHERE @prof_bruno_id IS NOT NULL
  AND @unit_centro_partner_id IS NOT NULL
  AND NOT EXISTS (
    SELECT 1 FROM wpjy_parceiros_profissionais_unidades
     WHERE id_profissional = @prof_bruno_id
       AND unidade_id = @unit_centro_partner_id
  );

SELECT
    @secretaria_user_id AS secretaria_user_id,
    @recepcao_user_id AS recepcao_user_id,
    @empresa_partner_id AS empresa_partner_id,
    @unit_centro_partner_id AS unidade_centro_id,
    @unit_jardins_partner_id AS unidade_jardins_id,
    @team_centro_id AS equipe_centro_id,
    @team_jardins_id AS equipe_jardins_id,
    @prof_marina_id AS profissional_marina_id,
    @prof_bruno_id AS profissional_bruno_id,
    @unit_centro_contract_id AS contrato_unidade_centro,
    @unit_jardins_contract_id AS contrato_unidade_jardins;

SELECT
    u.ID,
    u.user_login,
    u.user_email,
    home.meta_value AS tiix_home_area,
    papel.meta_value AS papel_default,
    ctx_contract.meta_value AS contrato_ativo_seed,
    ctx_group.meta_value AS grupo_ativo_seed
FROM wpjy_users u
LEFT JOIN wpjy_usermeta home
       ON home.user_id = u.ID
      AND home.meta_key = 'tiix_home_area'
LEFT JOIN wpjy_usermeta papel
       ON papel.user_id = u.ID
      AND papel.meta_key = 'papel_default'
LEFT JOIN wpjy_usermeta ctx_contract
       ON ctx_contract.user_id = u.ID
      AND ctx_contract.meta_key = 'tiix_ctx_contract_id'
LEFT JOIN wpjy_usermeta ctx_group
       ON ctx_group.user_id = u.ID
      AND ctx_group.meta_key = 'tiix_ctx_group_slug'
WHERE u.ID IN (@secretaria_user_id, @recepcao_user_id)
ORDER BY u.ID ASC;

SELECT
    uc.id_usuario,
    uc.id_contrato,
    c.tipo,
    c.nome_fantasia
FROM wpjy_usuario_contratos uc
JOIN wpjy_contratos c
  ON c.id = uc.id_contrato
WHERE uc.id_usuario IN (@secretaria_user_id, @recepcao_user_id)
ORDER BY uc.id_usuario ASC, uc.id_contrato ASC;

SELECT
    pu.id AS unidade_id,
    pu.nome,
    pu.contrato_unidade_id,
    COUNT(DISTINCT puu.user_id) AS colaboradores_total,
    COUNT(DISTINCT ppu.id_profissional) AS profissionais_total
FROM wpjy_parceiros_unidades pu
LEFT JOIN wpjy_parceiros_unidades_usuarios puu
       ON puu.unidade_id = pu.id
      AND puu.ativo = 1
LEFT JOIN wpjy_parceiros_profissionais_unidades ppu
       ON ppu.unidade_id = pu.id
      AND ppu.ativo = 1
WHERE pu.id IN (@unit_centro_partner_id, @unit_jardins_partner_id)
GROUP BY pu.id, pu.nome, pu.contrato_unidade_id
ORDER BY pu.id ASC;
