<?php
session_start();
require("../../database/dbConection.php");
$usuarioLogado = $_SESSION['idUsuarioLogado'];
$dataHoraHoje     = date("Y-m-d H:i");

// DADOS RECEBIDOS DO FOMULÁRIOS DE CADASTRO DA AGENDA
$idAgenda = $_POST['idAgenda'];

# -- replicar dados principais da agenda --#
$sqlReplicarAgenda  = "INSERT INTO reg_tb_agenda(
  codigoestabelecimento_cnes,
  codigoprofissional_cnes,
  id_grupo_procedimento,
  id_procedimento,
  mes_agenda,
  ano_agenda,
  horario_inicioagenda,
  horario_finalagenda,
  intervalo_quebrahorario,
  quebrar_horarioagenda,
  status_agenda,
  disponibilidade_agenda,
  id_usuario_cadastrou,
  datahora_cadastro,
  agenda_replicada,
  replicacao_salva
  )SELECT 
  codigoestabelecimento_cnes,
  codigoprofissional_cnes,
  id_grupo_procedimento,
  id_procedimento,
  mes_agenda,
  ano_agenda,
  horario_inicioagenda,
  horario_finalagenda,
  intervalo_quebrahorario,
  quebrar_horarioagenda,
  'I' AS status_agenda,
  disponibilidade_agenda,
  '$usuarioLogado' AS id_usuario_cadastrou,
  '$dataHoraHoje' AS datahora_cadastro,
  'S' AS agenda_replicada,
  'N' AS replicacao_salva 
  FROM reg_tb_agenda
  WHERE id_agenda='$idAgenda'";
$stmReplicarAgenda  = $rsConexao->prepare($sqlReplicarAgenda);
$stmReplicarAgenda  -> execute();
$idAgendaReplicada  = $rsConexao->lastInsertId();

# -- replicar dados da sub tabela (os dias) da agenda --#
$sqlReplicarDiasAgenda = "INSERT INTO reg_tb_agenda_sub(
  id_agenda,
  id_grupo_procedimento,
  id_procedimento,
  dia_agenda,
  mes_agenda,
  ano_agenda,
  horario_inicioagenda,
  horario_finalagenda,
  intervalo_quebrahorario,
  quebrar_horarioagenda,
  quantidadevagas_pvez,
  quantidadevagas_retorno,
  quantidadevagas_reserva
  )SELECT
  '$idAgendaReplicada' AS id_agenda,
  id_grupo_procedimento,
  id_procedimento,
  dia_agenda,
  mes_agenda,
  ano_agenda,
  horario_inicioagenda,
  horario_finalagenda,
  intervalo_quebrahorario,
  quebrar_horarioagenda,
  CASE
    WHEN (CONCAT(ano_agenda,'-',lpad(mes_agenda, 2, '0'),'-',lpad(dia_agenda, 2, '0'),' ',horario_inicioagenda,':00'))>curdate() THEN quantidadevagas_pvez 
      ELSE null
  END AS quantidadevagas_pvez,
  CASE
    WHEN (CONCAT(ano_agenda,'-',lpad(mes_agenda, 2, '0'),'-',lpad(dia_agenda, 2, '0'),' ',horario_inicioagenda,':00'))>curdate() THEN quantidadevagas_retorno 
      ELSE null
  END AS quantidadevagas_retorno,
  CASE
    WHEN (CONCAT(ano_agenda,'-',lpad(mes_agenda, 2, '0'),'-',lpad(dia_agenda, 2, '0'),' ',horario_inicioagenda,':00'))>curdate() THEN quantidadevagas_reserva 
      ELSE null
  END AS quantidadevagas_reserva
  FROM reg_tb_agenda_sub
  WHERE id_agenda='$idAgenda'
  AND ((CONCAT(ano_agenda,'-',lpad(mes_agenda, 2, '0'),'-',lpad(dia_agenda, 2, '0'),' ',horario_inicioagenda,':00'))>curdate())";
  
$stmReplicarDiasAgenda = $rsConexao->prepare($sqlReplicarDiasAgenda);
$stmReplicarDiasAgenda -> execute();

# -- replicar dados de grupo de procedimentos caso exista --#
$sqlReplicarProcedimento  = "INSERT INTO reg_tb_agenda_grupoprocedimento(
  id_agenda,
  id_grupo_procedimento,
  id_procedimento,
  codigoestabelecimento_cnes
)SELECT 
  '$idAgendaReplicada' AS id_agenda,
  id_grupo_procedimento,
  id_procedimento,
  codigoestabelecimento_cnes
  FROM reg_tb_agenda_grupoprocedimento
  WHERE id_agenda='$idAgenda'";
$stmReplicarProcedimento = $rsConexao->prepare($sqlReplicarProcedimento);
$stmReplicarProcedimento -> execute();

echo $idAgendaReplicada;

?>