-- 2026-04-16
-- Seed de segunda unidade operacional para a Empresa Alpha
-- Objetivo:
-- 1) criar uma nova unidade filha da Empresa Alpha (#64)
-- 2) vincular usuarios operacionais principais ao novo contrato
-- 3) criar pacientes seed da nova unidade
-- 4) criar agendamentos seed na nova unidade para validar filtro multiunidade da empresa
--
-- Ordem sugerida de execucao:
-- 1) 2026-04-14-seed-gestor-empresa-alpha.sql
-- 2) 2026-04-15-01-seed-secretaria-unidades-empresa-alpha.sql
-- 3) 2026-04-15-03-taxonomias-e-agenda-seed-profissionais-alpha.sql
-- 4) 2026-04-16-05-seed-pacientes-e-agendamentos-alpha.sql
-- 5) ESTE ARQUIVO
--
-- Resultado esperado:
-- - nova unidade filha criada abaixo do contrato da Empresa Alpha
-- - secretaria multiunidade e gestor da empresa com acesso ao novo contrato
-- - pacientes e agendamentos seed na nova unidade
-- - /empresa/agendamentos exibindo registros de mais de uma unidade

SET @empresa_contract_id = 64;
SET @source_unit_contract_id = 65;
SET @broker_contract_id = 63;
SET @root_contract_id = 57;
SET @agenda_date = '2026-04-16';
SET @senha_plana = 'Tiix@2026';

SET @new_unit_slug = CONVERT('unidade-moema-alpha' USING utf8mb4) COLLATE utf8mb4_0900_ai_ci;
SET @new_unit_nome = CONVERT('Unidade Moema' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @new_unit_email = CONVERT('unidade.moema@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @new_unit_cnpj = CONVERT('00000000006700' USING utf8mb4) COLLATE utf8mb4_unicode_520_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 @secretaria_user_id = (
    SELECT ID
      FROM wpjy_users
     WHERE user_email = CONVERT('secretaria.unidades.alpha@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci
     ORDER BY ID ASC
     LIMIT 1
);

SET @marina_prof_id = (
    SELECT id
      FROM wpjy_parceiros_profissionais
     WHERE email = CONVERT('marina.ribeiro@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci
     ORDER BY id ASC
     LIMIT 1
);

SET @bruno_prof_id = (
    SELECT id
      FROM wpjy_parceiros_profissionais
     WHERE email = CONVERT('bruno.prado@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci
     ORDER BY id ASC
     LIMIT 1
);

SET @new_unit_contract_id = (
    SELECT id
      FROM wpjy_contratos
     WHERE slug = @new_unit_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,
    @new_unit_nome,
    @new_unit_nome,
    @new_unit_slug,
    'UNIDADE',
    @new_unit_email,
    @new_unit_cnpj,
    '04534011',
    'Alameda Jau',
    '1489',
    'Conjunto 604',
    'Moema',
    'Sao Paulo',
    'SP',
    'Coordenacao Unidade Moema',
    '11999990067',
    'coordenacao.moema@tiix.com.br',
    NOW(),
    'contrato',
    COALESCE(src.carnet, 1),
    0,
    '11999990067',
    COALESCE(src.smtp_host, 'mail.prevclube.com.br'),
    COALESCE(src.smtp_port, '587'),
    COALESCE(src.smtp_user, 'naoresponda@prevclube.com.br'),
    COALESCE(src.smtp_pass, 'N4JEm5YFwA'),
    COALESCE(src.smtp_auth, 0),
    1
FROM wpjy_contratos src
WHERE src.id = @source_unit_contract_id
  AND COALESCE(@new_unit_contract_id, 0) = 0;

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

UPDATE wpjy_contratos
   SET contrato_pai = @empresa_contract_id,
       nome = @new_unit_nome,
       nome_fantasia = @new_unit_nome,
       email = @new_unit_email,
       equipes = 1,
       lixeira = 0
 WHERE id = @new_unit_contract_id;

DELETE FROM wpjy_usuario_contratos
 WHERE id_usuario IN (@gestor_empresa_user_id, @secretaria_user_id)
   AND id_contrato = @new_unit_contract_id;

INSERT INTO wpjy_usuario_contratos (id_usuario, id_contrato)
SELECT @gestor_empresa_user_id, @new_unit_contract_id
WHERE @gestor_empresa_user_id IS NOT NULL
  AND @new_unit_contract_id IS NOT NULL;

INSERT INTO wpjy_usuario_contratos (id_usuario, id_contrato)
SELECT @secretaria_user_id, @new_unit_contract_id
WHERE @secretaria_user_id IS NOT NULL
  AND @new_unit_contract_id IS NOT NULL;

SET @addr_marina_moema_id = (
    SELECT id
      FROM wpjy_parceiros_enderecos
     WHERE parceiro_tipo = 'profissional'
       AND parceiro_id = @marina_prof_id
       AND apelido = 'Unidade Moema'
     ORDER BY is_principal DESC, id ASC
     LIMIT 1
);

INSERT INTO wpjy_parceiros_enderecos (
    parceiro_tipo, parceiro_id, apelido, is_principal, ordem,
    cep, logradouro, numero, complemento, bairro, cidade, estado, pais, telefone, whatsapp, email, ativo
)
SELECT
    'profissional', @marina_prof_id, 'Unidade Moema', 0, 30,
    c.cep, c.logradouro, c.numero, c.complemento, c.bairro, c.cidade, c.uf, 'Brasil',
    c.responsavel_contato, c.telefonewhatsapp, c.email, 1
FROM wpjy_contratos c
WHERE c.id = @new_unit_contract_id
  AND @marina_prof_id IS NOT NULL
  AND COALESCE(@addr_marina_moema_id, 0) = 0;

SET @addr_bruno_moema_id = (
    SELECT id
      FROM wpjy_parceiros_enderecos
     WHERE parceiro_tipo = 'profissional'
       AND parceiro_id = @bruno_prof_id
       AND apelido = 'Unidade Moema'
     ORDER BY is_principal DESC, id ASC
     LIMIT 1
);

INSERT INTO wpjy_parceiros_enderecos (
    parceiro_tipo, parceiro_id, apelido, is_principal, ordem,
    cep, logradouro, numero, complemento, bairro, cidade, estado, pais, telefone, whatsapp, email, ativo
)
SELECT
    'profissional', @bruno_prof_id, 'Unidade Moema', 0, 30,
    c.cep, c.logradouro, c.numero, c.complemento, c.bairro, c.cidade, c.uf, 'Brasil',
    c.responsavel_contato, c.telefonewhatsapp, c.email, 1
FROM wpjy_contratos c
WHERE c.id = @new_unit_contract_id
  AND @bruno_prof_id IS NOT NULL
  AND COALESCE(@addr_bruno_moema_id, 0) = 0;

SET @capabilities_subscriber = 'a:1:{s:10:"subscriber";b:1;}';

-- ---------------------------------------------------------------------------
-- Paciente 01 da Unidade Moema
-- ---------------------------------------------------------------------------
SET @p01_email = CONVERT('paciente.alpha.moema.01@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @p01_login = @p01_email;
SET @p01_nome = CONVERT('Patricia Nogueira' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @p01_nicename = CONVERT('patricia-nogueira-seed-moema' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @p01_user_id = (
    SELECT ID FROM wpjy_users
     WHERE user_login = @p01_login OR user_email = @p01_email
     ORDER BY ID ASC LIMIT 1
);

INSERT INTO wpjy_users (user_login, user_pass, user_nicename, user_email, user_registered, display_name)
SELECT @p01_login, MD5(@senha_plana), @p01_nicename, @p01_email, NOW(), @p01_nome
WHERE COALESCE(@p01_user_id, 0) = 0;

SET @p01_user_id = (
    SELECT ID FROM wpjy_users
     WHERE user_login = @p01_login OR user_email = @p01_email
     ORDER BY ID ASC LIMIT 1
);

UPDATE wpjy_users
   SET user_pass = MD5(@senha_plana),
       user_nicename = @p01_nicename,
       user_email = @p01_email,
       display_name = @p01_nome
 WHERE ID = @p01_user_id;

DELETE FROM wpjy_usermeta
 WHERE user_id = @p01_user_id
   AND meta_key IN ('nickname','first_name','last_name','wpjy_capabilities','wpjy_user_level','tiix_home_area','papel_default');

INSERT INTO wpjy_usermeta (user_id, meta_key, meta_value) VALUES
(@p01_user_id, 'nickname', @p01_nome),
(@p01_user_id, 'first_name', 'Patricia'),
(@p01_user_id, 'last_name', 'Nogueira'),
(@p01_user_id, 'wpjy_capabilities', @capabilities_subscriber),
(@p01_user_id, 'wpjy_user_level', '0'),
(@p01_user_id, 'tiix_home_area', 'cliente'),
(@p01_user_id, 'papel_default', 'cliente');

DELETE FROM wpjy_user_dados WHERE user_id = @p01_user_id;
INSERT INTO wpjy_user_dados (user_id, nome, email, telefone, celular, contrato, ativo, tipo)
VALUES (@p01_user_id, @p01_nome, @p01_email, '11991000067', '11991000067', @new_unit_contract_id, 1, 'cliente');

DELETE FROM wpjy_usuario_contratos WHERE id_usuario = @p01_user_id AND id_contrato = @new_unit_contract_id;
INSERT INTO wpjy_usuario_contratos (id_usuario, id_contrato) VALUES (@p01_user_id, @new_unit_contract_id);

-- ---------------------------------------------------------------------------
-- Paciente 02 da Unidade Moema
-- ---------------------------------------------------------------------------
SET @p02_email = CONVERT('paciente.alpha.moema.02@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @p02_login = @p02_email;
SET @p02_nome = CONVERT('Ricardo Pires' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @p02_nicename = CONVERT('ricardo-pires-seed-moema' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @p02_user_id = (
    SELECT ID FROM wpjy_users
     WHERE user_login = @p02_login OR user_email = @p02_email
     ORDER BY ID ASC LIMIT 1
);

INSERT INTO wpjy_users (user_login, user_pass, user_nicename, user_email, user_registered, display_name)
SELECT @p02_login, MD5(@senha_plana), @p02_nicename, @p02_email, NOW(), @p02_nome
WHERE COALESCE(@p02_user_id, 0) = 0;

SET @p02_user_id = (
    SELECT ID FROM wpjy_users
     WHERE user_login = @p02_login OR user_email = @p02_email
     ORDER BY ID ASC LIMIT 1
);

UPDATE wpjy_users
   SET user_pass = MD5(@senha_plana),
       user_nicename = @p02_nicename,
       user_email = @p02_email,
       display_name = @p02_nome
 WHERE ID = @p02_user_id;

DELETE FROM wpjy_usermeta
 WHERE user_id = @p02_user_id
   AND meta_key IN ('nickname','first_name','last_name','wpjy_capabilities','wpjy_user_level','tiix_home_area','papel_default');

INSERT INTO wpjy_usermeta (user_id, meta_key, meta_value) VALUES
(@p02_user_id, 'nickname', @p02_nome),
(@p02_user_id, 'first_name', 'Ricardo'),
(@p02_user_id, 'last_name', 'Pires'),
(@p02_user_id, 'wpjy_capabilities', @capabilities_subscriber),
(@p02_user_id, 'wpjy_user_level', '0'),
(@p02_user_id, 'tiix_home_area', 'cliente'),
(@p02_user_id, 'papel_default', 'cliente');

DELETE FROM wpjy_user_dados WHERE user_id = @p02_user_id;
INSERT INTO wpjy_user_dados (user_id, nome, email, telefone, celular, contrato, ativo, tipo)
VALUES (@p02_user_id, @p02_nome, @p02_email, '11991000068', '11991000068', @new_unit_contract_id, 1, 'cliente');

DELETE FROM wpjy_usuario_contratos WHERE id_usuario = @p02_user_id AND id_contrato = @new_unit_contract_id;
INSERT INTO wpjy_usuario_contratos (id_usuario, id_contrato) VALUES (@p02_user_id, @new_unit_contract_id);

-- ---------------------------------------------------------------------------
-- Paciente 03 da Unidade Moema
-- ---------------------------------------------------------------------------
SET @p03_email = CONVERT('paciente.alpha.moema.03@tiix.com.br' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @p03_login = @p03_email;
SET @p03_nome = CONVERT('Monica Duarte' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @p03_nicename = CONVERT('monica-duarte-seed-moema' USING utf8mb4) COLLATE utf8mb4_unicode_520_ci;
SET @p03_user_id = (
    SELECT ID FROM wpjy_users
     WHERE user_login = @p03_login OR user_email = @p03_email
     ORDER BY ID ASC LIMIT 1
);

INSERT INTO wpjy_users (user_login, user_pass, user_nicename, user_email, user_registered, display_name)
SELECT @p03_login, MD5(@senha_plana), @p03_nicename, @p03_email, NOW(), @p03_nome
WHERE COALESCE(@p03_user_id, 0) = 0;

SET @p03_user_id = (
    SELECT ID FROM wpjy_users
     WHERE user_login = @p03_login OR user_email = @p03_email
     ORDER BY ID ASC LIMIT 1
);

UPDATE wpjy_users
   SET user_pass = MD5(@senha_plana),
       user_nicename = @p03_nicename,
       user_email = @p03_email,
       display_name = @p03_nome
 WHERE ID = @p03_user_id;

DELETE FROM wpjy_usermeta
 WHERE user_id = @p03_user_id
   AND meta_key IN ('nickname','first_name','last_name','wpjy_capabilities','wpjy_user_level','tiix_home_area','papel_default');

INSERT INTO wpjy_usermeta (user_id, meta_key, meta_value) VALUES
(@p03_user_id, 'nickname', @p03_nome),
(@p03_user_id, 'first_name', 'Monica'),
(@p03_user_id, 'last_name', 'Duarte'),
(@p03_user_id, 'wpjy_capabilities', @capabilities_subscriber),
(@p03_user_id, 'wpjy_user_level', '0'),
(@p03_user_id, 'tiix_home_area', 'cliente'),
(@p03_user_id, 'papel_default', 'cliente');

DELETE FROM wpjy_user_dados WHERE user_id = @p03_user_id;
INSERT INTO wpjy_user_dados (user_id, nome, email, telefone, celular, contrato, ativo, tipo)
VALUES (@p03_user_id, @p03_nome, @p03_email, '11991000069', '11991000069', @new_unit_contract_id, 1, 'cliente');

DELETE FROM wpjy_usuario_contratos WHERE id_usuario = @p03_user_id AND id_contrato = @new_unit_contract_id;
INSERT INTO wpjy_usuario_contratos (id_usuario, id_contrato) VALUES (@p03_user_id, @new_unit_contract_id);

-- ---------------------------------------------------------------------------
-- Limpa agendamentos seed anteriores da Unidade Moema para reexecucao idempotente
-- ---------------------------------------------------------------------------
DELETE FROM wpjy_parceiros_profissionais_agendamentos
 WHERE descricao LIKE 'Seed Alpha Moema %'
   AND user_id IN (@p01_user_id, @p02_user_id, @p03_user_id);

SET @appt_table = 'wpjy_parceiros_profissionais_agendamentos';

SET @has_col_empresa_id = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'empresa_id'
);
SET @has_col_unidade_id = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'unidade_id'
);
SET @has_col_empresa_contrato_id = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'empresa_contrato_id'
);
SET @has_col_unidade_contrato_id = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'unidade_contrato_id'
);
SET @has_col_corretora_contrato_id = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'corretora_contrato_id'
);
SET @has_col_id_contrato_raiz = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'id_contrato_raiz'
);
SET @has_col_modalidade = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'modalidade'
);
SET @has_col_assigned_to = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'assigned_to'
);
SET @has_col_consultor = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'consultor_user_id'
);
SET @has_col_created_by = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'created_by'
);
SET @has_col_updated_by = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'updated_by'
);
SET @has_col_pre = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'pre_agendamento'
);
SET @has_col_confirmado_em = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'confirmado_em'
);
SET @has_col_concluido_em = (
    SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @appt_table AND COLUMN_NAME = 'concluido_em'
);

SET @appt_cols_base = 'id_profissional,user_id,data,hora_inicio,hora_fim,status,descricao,created_at';
SET @appt_cols = @appt_cols_base;
SET @appt_cols = IF(@has_col_empresa_id > 0, CONCAT(@appt_cols, ',empresa_id'), @appt_cols);
SET @appt_cols = IF(@has_col_unidade_id > 0, CONCAT(@appt_cols, ',unidade_id'), @appt_cols);
SET @appt_cols = IF(@has_col_empresa_contrato_id > 0, CONCAT(@appt_cols, ',empresa_contrato_id'), @appt_cols);
SET @appt_cols = IF(@has_col_unidade_contrato_id > 0, CONCAT(@appt_cols, ',unidade_contrato_id'), @appt_cols);
SET @appt_cols = IF(@has_col_corretora_contrato_id > 0, CONCAT(@appt_cols, ',corretora_contrato_id'), @appt_cols);
SET @appt_cols = IF(@has_col_id_contrato_raiz > 0, CONCAT(@appt_cols, ',id_contrato_raiz'), @appt_cols);
SET @appt_cols = IF(@has_col_modalidade > 0, CONCAT(@appt_cols, ',modalidade'), @appt_cols);
SET @appt_cols = IF(@has_col_assigned_to > 0, CONCAT(@appt_cols, ',assigned_to'), @appt_cols);
SET @appt_cols = IF(@has_col_consultor > 0, CONCAT(@appt_cols, ',consultor_user_id'), @appt_cols);
SET @appt_cols = IF(@has_col_created_by > 0, CONCAT(@appt_cols, ',created_by'), @appt_cols);
SET @appt_cols = IF(@has_col_updated_by > 0, CONCAT(@appt_cols, ',updated_by'), @appt_cols);
SET @appt_cols = IF(@has_col_pre > 0, CONCAT(@appt_cols, ',pre_agendamento'), @appt_cols);
SET @appt_cols = IF(@has_col_confirmado_em > 0, CONCAT(@appt_cols, ',confirmado_em'), @appt_cols);
SET @appt_cols = IF(@has_col_concluido_em > 0, CONCAT(@appt_cols, ',concluido_em'), @appt_cols);

SET @common_tail_pre = CONCAT(
    IF(@has_col_empresa_id > 0, CONCAT(',', @empresa_contract_id), ''),
    IF(@has_col_unidade_id > 0, CONCAT(',', @new_unit_contract_id), ''),
    IF(@has_col_empresa_contrato_id > 0, CONCAT(',', @empresa_contract_id), ''),
    IF(@has_col_unidade_contrato_id > 0, CONCAT(',', @new_unit_contract_id), ''),
    IF(@has_col_corretora_contrato_id > 0, CONCAT(',', @broker_contract_id), ''),
    IF(@has_col_id_contrato_raiz > 0, CONCAT(',', @root_contract_id), ''),
    IF(@has_col_modalidade > 0, ',''online''', ''),
    IF(@has_col_assigned_to > 0, CONCAT(',', COALESCE(@secretaria_user_id, 0)), ''),
    IF(@has_col_consultor > 0, CONCAT(',', COALESCE(@secretaria_user_id, 0)), ''),
    IF(@has_col_created_by > 0, CONCAT(',', COALESCE(@secretaria_user_id, 0)), ''),
    IF(@has_col_updated_by > 0, CONCAT(',', COALESCE(@secretaria_user_id, 0)), ''),
    IF(@has_col_pre > 0, ',1', ''),
    IF(@has_col_confirmado_em > 0, ',NULL', ''),
    IF(@has_col_concluido_em > 0, ',NULL', '')
);

SET @common_tail_conf = CONCAT(
    IF(@has_col_empresa_id > 0, CONCAT(',', @empresa_contract_id), ''),
    IF(@has_col_unidade_id > 0, CONCAT(',', @new_unit_contract_id), ''),
    IF(@has_col_empresa_contrato_id > 0, CONCAT(',', @empresa_contract_id), ''),
    IF(@has_col_unidade_contrato_id > 0, CONCAT(',', @new_unit_contract_id), ''),
    IF(@has_col_corretora_contrato_id > 0, CONCAT(',', @broker_contract_id), ''),
    IF(@has_col_id_contrato_raiz > 0, CONCAT(',', @root_contract_id), ''),
    IF(@has_col_modalidade > 0, ',''presencial''', ''),
    IF(@has_col_assigned_to > 0, CONCAT(',', COALESCE(@secretaria_user_id, 0)), ''),
    IF(@has_col_consultor > 0, CONCAT(',', COALESCE(@secretaria_user_id, 0)), ''),
    IF(@has_col_created_by > 0, CONCAT(',', COALESCE(@secretaria_user_id, 0)), ''),
    IF(@has_col_updated_by > 0, CONCAT(',', COALESCE(@secretaria_user_id, 0)), ''),
    IF(@has_col_pre > 0, ',0', ''),
    IF(@has_col_confirmado_em > 0, ',NOW()', ''),
    IF(@has_col_concluido_em > 0, ',NULL', '')
);

SET @common_tail_conc = CONCAT(
    IF(@has_col_empresa_id > 0, CONCAT(',', @empresa_contract_id), ''),
    IF(@has_col_unidade_id > 0, CONCAT(',', @new_unit_contract_id), ''),
    IF(@has_col_empresa_contrato_id > 0, CONCAT(',', @empresa_contract_id), ''),
    IF(@has_col_unidade_contrato_id > 0, CONCAT(',', @new_unit_contract_id), ''),
    IF(@has_col_corretora_contrato_id > 0, CONCAT(',', @broker_contract_id), ''),
    IF(@has_col_id_contrato_raiz > 0, CONCAT(',', @root_contract_id), ''),
    IF(@has_col_modalidade > 0, ',''online''', ''),
    IF(@has_col_assigned_to > 0, CONCAT(',', COALESCE(@secretaria_user_id, 0)), ''),
    IF(@has_col_consultor > 0, CONCAT(',', COALESCE(@secretaria_user_id, 0)), ''),
    IF(@has_col_created_by > 0, CONCAT(',', COALESCE(@secretaria_user_id, 0)), ''),
    IF(@has_col_updated_by > 0, CONCAT(',', COALESCE(@secretaria_user_id, 0)), ''),
    IF(@has_col_pre > 0, ',0', ''),
    IF(@has_col_confirmado_em > 0, ',NOW()', ''),
    IF(@has_col_concluido_em > 0, ',NOW()', '')
);

SET @sql_appt_1 = CONCAT(
    'INSERT INTO wpjy_parceiros_profissionais_agendamentos (', @appt_cols, ') VALUES (',
    @marina_prof_id, ',', @p01_user_id, ',''', @agenda_date, ''',''09:30:00'',''10:00:00'',''pre_agendado'',''Seed Alpha Moema 01 - Patricia Nogueira'',NOW()',
    @common_tail_pre,
    ')'
);
PREPARE stmt_appt_1 FROM @sql_appt_1; EXECUTE stmt_appt_1; DEALLOCATE PREPARE stmt_appt_1;

SET @sql_appt_2 = CONCAT(
    'INSERT INTO wpjy_parceiros_profissionais_agendamentos (', @appt_cols, ') VALUES (',
    @bruno_prof_id, ',', @p02_user_id, ',''', @agenda_date, ''',''11:30:00'',''12:00:00'',''confirmado'',''Seed Alpha Moema 02 - Ricardo Pires'',NOW()',
    @common_tail_conf,
    ')'
);
PREPARE stmt_appt_2 FROM @sql_appt_2; EXECUTE stmt_appt_2; DEALLOCATE PREPARE stmt_appt_2;

SET @sql_appt_3 = CONCAT(
    'INSERT INTO wpjy_parceiros_profissionais_agendamentos (', @appt_cols, ') VALUES (',
    @marina_prof_id, ',', @p03_user_id, ',''', @agenda_date, ''',''14:30:00'',''15:00:00'',''concluido'',''Seed Alpha Moema 03 - Monica Duarte'',NOW()',
    @common_tail_conc,
    ')'
);
PREPARE stmt_appt_3 FROM @sql_appt_3; EXECUTE stmt_appt_3; DEALLOCATE PREPARE stmt_appt_3;

SELECT
    @new_unit_contract_id AS nova_unidade_contrato_id,
    @new_unit_nome AS nova_unidade_nome,
    (SELECT COUNT(*) FROM wpjy_parceiros_profissionais_agendamentos WHERE unidade_id = @new_unit_contract_id AND descricao LIKE 'Seed Alpha Moema %') AS agendamentos_seed_moema,
    (SELECT COUNT(*) FROM wpjy_usuario_contratos WHERE id_contrato = @new_unit_contract_id AND id_usuario IN (@gestor_empresa_user_id, @secretaria_user_id)) AS acessos_operacionais_moema;
