<?php
session_start();
require("../../database/dbConection.php");
$idUsuarioLogado = $_SESSION['idUsuarioLogado'];

$numCNSPaciente     = str_replace(" ", "",$_POST['cnsPaciente']);
$opcaoPeriodo       = $_POST['opcaoPeriodo'];
$dataInicial        = $_POST['dataInicial'];
$dataFinal          = $_POST['dataFinal'];
$statusAgendamento  = $_POST['statusAgendamento'];
$operadorSistema    = $_POST['operadorSistema'];

//* LIMPAR DADOS TEMPORÁRIOS *//
  $stmLimparDados = $rsConexao->prepare("DELETE FROM reg_dados_relatorio WHERE id_usuario='$idUsuarioLogado'");
  $stmLimparDados  -> execute();
  $stmReiniciaContador = $rsConexao->prepare("ALTER TABLE reg_dados_relatorio AUTO_INCREMENT=1");
  $stmReiniciaContador  -> execute();  
//***************************//

switch($opcaoPeriodo){

  case "data_atendimento":
  case "data_retirada":
    $innerJointOperador = " INNER JOIN tb_usuario ON (tb_usuario.id_usuario=reg_tb_agendamentos.id_usuario_cadastrou) ";
    $campoOperador      = " reg_tb_agendamentos.id_usuario_cadastrou ";
  break;

  case "dataregistro_comunicacao":
    $innerJointOperador = " INNER JOIN tb_usuario ON (tb_usuario.id_usuario = reg_tb_agendamentos.idusuario_comunicacao) ";
    $campoOperador      = " reg_tb_agendamentos.idusuario_comunicacao ";
  break;

  case "data_entrega":
    $innerJointOperador = " INNER JOIN tb_usuario ON (tb_usuario.id_usuario = reg_tb_agendamentos.id_usuario_entregou) ";
    $campoOperador      = " reg_tb_agendamentos.id_usuario_entregou ";
  break;

  case "data_cancelamento":
    $innerJointOperador = " INNER JOIN tb_usuario ON (tb_usuario.id_usuario = reg_tb_agendamentos.id_usuario_cancelou) ";
    $campoOperador      = " reg_tb_agendamentos.id_usuario_cancelou ";
  break;  

}

$whereRelatorio = " WHERE reg_tb_agendamentos.id_agendamento>0 AND ($opcaoPeriodo BETWEEN '$dataInicial' AND '$dataFinal') ";

if($statusAgendamento!="todos"){
  $whereRelatorio = $whereRelatorio . " AND reg_tb_agendamentos.status_agendamento='$statusAgendamento'";
}

if($statusAgendamento!="todos"){
  
  if($operadorSistema!="todos"){
    $whereRelatorio = $whereRelatorio . " AND reg_tb_agendamentos.status_agendamento='$statusAgendamento' AND $campoOperador='$operadorSistema'";
  }else{
    $whereRelatorio = $whereRelatorio . " AND reg_tb_agendamentos.status_agendamento='$statusAgendamento' ";
  }
    
}else{
  if($operadorSistema!="todos"){
    $whereRelatorio = $whereRelatorio . " AND $campoOperador='$operadorSistema'";
  }else{
    $whereRelatorio = $whereRelatorio;
  }
}

if($numCNSPaciente!=""){
  $whereRelatorio = $whereRelatorio . " AND tb_paciente.cns_paciente='$numCNSPaciente'";
}else{
  $whereRelatorio = $whereRelatorio;
}


$sqlRelatorio = "SELECT reg_tb_agendamentos.$opcaoPeriodo, tb_paciente.cns_paciente, tb_paciente.nome_paciente, tb_paciente.datanasc, TIMESTAMPDIFF(YEAR, tb_paciente.datanasc, NOW()) AS idadePaciente,
tb_paciente.sexo, tb_paciente.celular1, tb_paciente.celular2, tb_paciente.celular3, reg_tb_procedimento.nome_procedimento, reg_tb_agendamentos.status_agendamento, 
tb_usuario.nome_usuario, reg_tb_agendamentos.data_atendimento FROM reg_tb_agendamentos INNER JOIN tb_paciente ON (reg_tb_agendamentos.id_paciente = tb_paciente.id_paciente) 
INNER JOIN reg_tb_procedimento ON (reg_tb_agendamentos.id_procedimento=reg_tb_procedimento.id_procedimento) $innerJointOperador $whereRelatorio AND id_usuario='$idUsuarioLogado'";
$stmPreencherDados  = $rsConexao->prepare($sqlRelatorio);
$stmPreencherDados  -> execute();
$rsPreencherDados   = $stmPreencherDados->fetchAll(PDO:: FETCH_ASSOC);
$totalRegistros     = $stmPreencherDados->rowCount();

if($totalRegistros>0){

  $sqlAdicionarTempo = "INSERT INTO reg_dados_relatorio(
    dara_periodoescolhido,
    cns_paciente,
    nome_paciente,
    sexo_paciente,
    datanasc_paciente,
    idade_paciente,
    telefone_paciente,
    nome_procedimento,
    status_agendamento,
    id_usuario,
    nome_operador,
    data_atendimento
  )VALUES";

 $contador = 0;
  
 foreach($rsPreencherDados AS $fieldDados){

    $contador = $contador+1;
    $dataReferencia     = $fieldDados["$opcaoPeriodo"];
    $cnsPaciente        = $fieldDados["cns_paciente"];
    $nomePaciente       = $fieldDados["nome_paciente"];
    $sexoPaciente       = $fieldDados["sexo"];
    $nascPaciente       = $fieldDados["datanasc"];
    $idadePaciente      = $fieldDados["idadePaciente"];
    $telefonePaciente   = $fieldDados["celular1"] . " - " . $fieldDados["celular2"] . " - " . $fieldDados["celular3"];    
    $nomeProcedimento   = $fieldDados["nome_procedimento"];
    $statusAgendamento  = $fieldDados["status_agendamento"];
    $idUsuario          = $idUsuarioLogado;
    $nomeOperador       = $fieldDados["nome_usuario"];
    $dataAtendimento    = $fieldDados["data_atendimento"];

    $sqlAdicionar = $sqlAdicionarTempo . "('$dataReferencia','$cnsPaciente','$nomePaciente','$sexoPaciente','$nascPaciente','$idadePaciente','$telefonePaciente','$nomeProcedimento','$statusAgendamento','$idUsuario','$nomeOperador','$dataAtendimento')";

    $stmAdicionar = $rsConexao->prepare($sqlAdicionar);    
    $stmAdicionar -> execute();

  }
  
}

?>