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



//DADOS RECEBIDOS DO FOMULÁRIOS DE CADASTRO DA DEMANDA
$idAgendamento          = $_POST['idAgendamento'];
$idPaciente             = $_POST['idPaciente'];
$numeroSolicitacao      = $_POST['numeroSolicitacao'];
$numeroChave            = $_POST['numeroChave'];
$grupoProcedimento      = $_POST['grupoProcedimento'];
$nomeProcedimento       = $_POST['nomeProcedimento'];
$origemAgendamento      = $_POST['origemAgendamento'];
$dataAtendimento        = $_POST['dataAtendimento'];
$dataRetirada           = $_POST['dataRetirada'];
$observacaoAgendamento  = $_POST['observacaoAgendamento'];

$dataUltimaAlteracao    = date("Y-m-d");
$resultadoHTML          = "";
$mensagemProcedimento   = "Ok##";

$formatarOrigem = array(
	'lista_unica'=>'LISTA ÚNICA',
	'policlinica'=>'POLICLÍNICA',
	'sisreg'=>'SISREG',
	'sistema_vida'=>'VIDA+',
);


if($idAgendamento==""){

  $stmDemandaReprimida  = $rsConexao->prepare("SELECT id_agendamento FROM reg_tb_agendamentos WHERE id_paciente='$idPaciente' AND id_procedimento='$nomeProcedimento' AND data_atendimento='$dataAtendimento' AND status_agendamento='Agendado'");
  $stmDemandaReprimida  -> execute();
  $rsDemandaReprimida   = $stmDemandaReprimida->fetchAll(PDO::FETCH_ASSOC);
  $registrosExistentesD  = $stmDemandaReprimida->rowCount();

  if($registrosExistentesD>0){  
    echo "JaExisteData";
    exit;
  }

  $stmDemandaReprimida  = $rsConexao->prepare("SELECT id_agendamento FROM reg_tb_agendamentos WHERE numero_solicitacao='$numeroSolicitacao' AND status_agendamento='Agendado'");
  $stmDemandaReprimida  -> execute();
  $rsDemandaReprimida   = $stmDemandaReprimida->fetchAll(PDO::FETCH_ASSOC);
  $registrosExistentesS  = $stmDemandaReprimida->rowCount();

  if($registrosExistentesS>0){  
    echo "JaExisteNumeroSolicitacao";
    exit;
  }

  $stmDemandaReprimida  = $rsConexao->prepare("SELECT id_agendamento FROM reg_tb_agendamentos WHERE id_paciente='$idPaciente' AND data_atendimento='$dataAtendimento' AND status_agendamento='Agendado'");
  $stmDemandaReprimida  -> execute();
  $rsDemandaReprimida   = $stmDemandaReprimida->fetchAll(PDO::FETCH_ASSOC);
  $registrosExistentesP  = $stmDemandaReprimida->rowCount();

  if($registrosExistentesP>0){  
    $mensagemProcedimento = "JaExisteProcedimento##";
  }

}

if($idAgendamento==""){
  $sqlAddDemanda  = "INSERT INTO reg_tb_agendamentos(
  id_paciente,
  numero_solicitacao,
  numero_chave,
  id_grupo_procedimento,
  id_procedimento,
  origem_agendamento,
  data_atendimento,
  data_retirada,
  observacoes_demanda,
  id_usuario_cadastrou
  )VALUES(
  :setIdPaciente,
  :setNumeroSolicitacao,
  :setNumeroChave,
  :setGrupoProcedimento,
  :setProcedimento,
  :setOrigemAgendamento,
  :setDataAtendimento,
  :setDataRetirada,
  :setObservacoes,
  :setUsuarioLogado)";
}else{
  $sqlAddDemanda  = "UPDATE reg_tb_agendamentos SET 
  numero_solicitacao=:setNumeroSolicitacao,
  numero_chave=:setNumeroChave,
  id_grupo_procedimento=:setGrupoProcedimento,
  id_procedimento=:setProcedimento,
  origem_agendamento=:setOrigemAgendamento,
  data_atendimento=:setDataAtendimento,
  data_retirada=:setDataRetirada,
  observacoes_demanda=:setObservacoes,
  id_usuario_alterou=:setUsuarioLogado,
  data_ultima_alteracao=:setDataAlteracao 
  WHERE id_agendamento='$idAgendamento'";
}

  $stmAddDemanda  = $rsConexao->prepare($sqlAddDemanda);
  $stmAddDemanda  -> bindParam(":setNumeroSolicitacao",$numeroSolicitacao,PDO::PARAM_STR);
  $stmAddDemanda  -> bindParam(":setNumeroChave",$numeroChave,PDO::PARAM_STR);
  $stmAddDemanda  -> bindParam(":setGrupoProcedimento",$grupoProcedimento,PDO::PARAM_STR);
  $stmAddDemanda  -> bindParam(":setProcedimento",$nomeProcedimento,PDO::PARAM_STR);
  $stmAddDemanda  -> bindParam(":setOrigemAgendamento",$origemAgendamento,PDO::PARAM_STR);
  $stmAddDemanda  -> bindParam(":setDataAtendimento",$dataAtendimento,PDO::PARAM_STR);
  $stmAddDemanda  -> bindParam(":setDataRetirada",$dataRetirada,PDO::PARAM_STR);
  $stmAddDemanda  -> bindParam(":setObservacoes",$observacaoAgendamento,PDO::PARAM_STR);
  $stmAddDemanda  -> bindParam(":setUsuarioLogado",$usuarioLogado,PDO::PARAM_STR);
  
  if($idAgendamento==""){    
    $stmAddDemanda  -> bindParam(":setIdPaciente",$idPaciente,PDO::PARAM_STR);
  }
  if($idAgendamento!=""){    
    $stmAddDemanda  -> bindParam(":setDataAlteracao",$dataUltimaAlteracao,PDO::PARAM_STR);
  }
  
  $stmAddDemanda  -> execute();

  if($idAgendamento!=""){
    $ultimoIdAdd  = $idAgendamento;
  }else{
    $ultimoIdAdd  = $rsConexao->lastInsertId();
  }

  /****************carregar lista atualizada**************************/

  $sqlDemandas  = "SELECT reg_tb_agendamentos.*, date_format(data_atendimento,'%d/%m/%Y') dataAtendimento, date_format(data_retirada,'%d/%m/%Y') dataRetirada,
  tb_usuario.nome_usuario AS nomeUsuarioCadastrou, tb_usuario_1.nome_usuario AS nomeUsuarioAlterou, reg_tb_procedimento.nome_procedimento FROM reg_tb_agendamentos 
  INNER JOIN reg_tb_procedimento ON (reg_tb_agendamentos.id_procedimento = reg_tb_procedimento.id_procedimento) 
  INNER JOIN tb_usuario ON (reg_tb_agendamentos.id_usuario_cadastrou = tb_usuario.id_usuario)
  LEFT OUTER JOIN tb_usuario tb_usuario_1 ON (tb_usuario_1.id_usuario = reg_tb_agendamentos.id_usuario_alterou) WHERE id_paciente='$idPaciente'";
  $stmDemandas  = $rsConexao->prepare($sqlDemandas);
  $stmDemandas  ->execute();
  $rsDemandas = $stmDemandas->fetchAll(PDO::FETCH_ASSOC);
  $totalRegistros	= $stmDemandas->rowCount();
    
  if($totalRegistros > 0){
    foreach($rsDemandas as $fieldDemanda){
      $idAgendamento			= $fieldDemanda['id_agendamento'];
      $numeroSolicitacao	= mb_strtoupper($fieldDemanda['numero_solicitacao']);
      $nomeProcedimento		= mb_strtoupper($fieldDemanda['nome_procedimento']);
      $sistemaOrigem			= $formatarOrigem[$fieldDemanda['origem_agendamento']];
      $dataAtendimento		= $fieldDemanda['dataAtendimento'];
      $dataRetirada				= $fieldDemanda['dataRetirada'];
      $statusAgendamento	= mb_strtoupper($fieldDemanda['status_agendamento']);
      $dataEditar					= mb_strtoupper($fieldDemanda['data_retirada']);
      
      if(date("Y-m-d")>$dataEditar){
        $backgroundColor = "style='background-color:#860000; color:#fff !important'";
      }else{
        $backgroundColor = "";
      }

      if($fieldDemanda['id_usuario_alterou']==""){
        $ultimoUsuario = $fieldDemanda['nomeUsuarioCadastrou'];
      }else{
        $ultimoUsuario = $fieldDemanda['nomeUsuarioAlterou'];
      }

      if($statusAgendamento=="AGENDADO" || $statusAgendamento=="CONFIRMADO" || $statusAgendamento=="CANCELAR"){
        $linkEditarAgendamento		= '"editarAgendamento(' . "'$idAgendamento')" . '"';
        $comandoEditarAgendamento =" <i class='icofont icofont-edit nova_fonte' title='Editar registro de procedimento agendado.'  onclick=$linkEditarAgendamento></i>&nbsp;";

        $linkExcluirAgendamento		= '"excluirAgendamento(' . "'$idAgendamento')" . '"';
        $comandoExcluirAgendamento	= "<i class='icofont icofont-close-squared nova_fonte_delete' title='Excluir registro de procedimento agendado.'  onclick=$linkExcluirAgendamento></i>&nbsp;";
      }else{
        $comandoEditarAgendamento		= "N/A";
        $comandoExcluirAgendamento	= "";
      }

      if($fieldDemanda['observacoes_demanda']!=""){
        $linkVerObservacao	= '"verObservacaoRegistroAgendamento(' . "'$idAgendamento')" . '"';
        $linkVerObservacao	= "<i class='icofont icofont-info-square nova_fonte' title='Ver Observação.'  onclick=$comandoEditarAgendamento></i>";
      }else{
        $linkVerObservacao	= "&nbsp&nbsp&nbsp&nbsp&nbsp";
      }
      $resultadoHTML .= "<tr>
        <td style='text-align:center'>
          $comandoEditarAgendamento
          $comandoExcluirAgendamento
        </td>	
        <td align='center'>$numeroSolicitacao</td>
        <td>$nomeProcedimento</td>
        <td>$sistemaOrigem</td>
        <td align='center'>$dataAtendimento</td>
        <td align='center' $backgroundColor>$dataRetirada</td>
        <td align='center'>$statusAgendamento</td>
        <td>$ultimoUsuario</td>
      </tr>";
    }
  }  
  
  echo $mensagemProcedimento . $resultadoHTML;

  /*****************************************************/

?>