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

$htmlRetorno = "";
$opcaoPesquisa      = $_POST['opcaoPesquisa'];

$formatarSexo = array(
  'I' => 'INDIFERENTE',
  'i' => 'INDIFERENTE',
  'M' => 'MASCULINO',
  'F' => 'FEMININO',
);

switch ($opcaoPesquisa) {

  case "cadastrar-solicitacao":
    $grupoProcedimento  = $_POST['grupoProcedimento'];
    $sexoPaciente       = $_POST['sexoPaciente'];
    $idadePaciente      = $_POST['idadePaciente'];

    if($idPerfilLogado!='4'){
      $sqlProcedimento    = "SELECT * FROM reg_tb_procedimento 
      WHERE (id_grupo_procedimento='$grupoProcedimento') 
      AND (sexo_permitido='$sexoPaciente' OR sexo_permitido='I') 
      AND (faixaetaria_idadeinicial<='$idadePaciente' and faixaetaria_idadefinal>='$idadePaciente') 
      AND (disponivel_guiche='S')
      ORDER BY nome_procedimento";
    }else{
      if($grupoProcedimento==1){
        $sqlProcedimento = "SELECT reg_tb_procedimento.id_procedimento,
        reg_tb_procedimento.nome_procedimento,
        reg_tb_procedimento.codigo_sus,
        reg_tb_tetounidade.id_grupo_procedimento
        FROM reg_tb_tetounidade
        INNER JOIN reg_tb_procedimento ON (reg_tb_tetounidade.id_procedimento = reg_tb_procedimento.id_procedimento)
        WHERE (reg_tb_tetounidade.id_grupo_procedimento='$grupoProcedimento') 
        AND (sexo_permitido='$sexoPaciente' OR sexo_permitido='I') 
        AND (faixaetaria_idadeinicial<='$idadePaciente' and faixaetaria_idadefinal>='$idadePaciente') 
        AND (disponivel_guiche='S')
        GROUP BY reg_tb_procedimento.nome_procedimento";
        //(reg_tb_tetounidade.codigoestabelecimento_cnes='$unidadeLogada')
      }else{
        $sqlProcedimento = "SELECT reg_tb_procedimento.id_procedimento,
        reg_tb_procedimento.nome_procedimento,
        reg_tb_procedimento.codigo_sus,
        reg_tb_tetounidade_grupoprocedimento.codigoestabelecimento_cnes,
        reg_tb_tetounidade_grupoprocedimento.id_grupo_procedimento
        FROM reg_tb_tetounidade_grupoprocedimento
        INNER JOIN reg_tb_procedimento ON (reg_tb_tetounidade_grupoprocedimento.id_procedimento = reg_tb_procedimento.id_procedimento)
        WHERE (reg_tb_tetounidade_grupoprocedimento.id_grupo_procedimento='$grupoProcedimento') 
        AND (sexo_permitido='$sexoPaciente' OR sexo_permitido='I') 
        AND (faixaetaria_idadeinicial<='$idadePaciente' and faixaetaria_idadefinal>='$idadePaciente') 
        AND (disponivel_guiche='S')
        GROUP BY reg_tb_procedimento.nome_procedimento";
        //(reg_tb_tetounidade_grupoprocedimento.codigoestabelecimento_cnes='$unidadeLogada')
      }
    }
    $stmProcedimento   = $rsConexao->prepare($sqlProcedimento);
    $stmProcedimento->execute();
    $rsProcedimento     = $stmProcedimento->fetchAll(PDO::FETCH_ASSOC);
    $totalProcedimentos = $stmProcedimento->rowCount();

    if ($totalProcedimentos > 0) {

      $htmlRetorno .= "<option value=''>TODOS...</option>";
      foreach ($rsProcedimento as $fieldProcedimento) {
        $idProcedimento   = $fieldProcedimento['id_procedimento'];
        $codigoSUS        = $fieldProcedimento['codigo_sus'];
        $nomeProcedimento = mb_strtoupper($fieldProcedimento['nome_procedimento']);
        $htmlRetorno .= "<option value='$idProcedimento'>$codigoSUS - $nomeProcedimento</option>";
      }
    } else {

      $htmlRetorno .= "<option value=''>SELECIONE O GRUPO...</option>";
    }
    echo $htmlRetorno;
    break;
  case "consultar-solicitacao":
  case "cadastrar-teto":
    $grupoProcedimento  = $_POST['grupoProcedimento'];
    $ECadastroTeto      = isset($_POST['ECadastroTeto'])  ? $_POST['ECadastroTeto'] : "N";
    $stmProcedimento    = $rsConexao->prepare("SELECT *, format(valor_vigente, 2, 'de_DE') AS valorVigente FROM reg_tb_procedimento WHERE (id_grupo_procedimento='$grupoProcedimento') ORDER BY nome_procedimento");
    $stmProcedimento->execute();
    $rsProcedimento     = $stmProcedimento->fetchAll(PDO::FETCH_ASSOC);
    $totalProcedimentos = $stmProcedimento->rowCount();
    if ($totalProcedimentos > 0) {
      if ($ECadastroTeto == "S" && $grupoProcedimento == 1) {
        $htmlRetorno .= "<option value=''>SELECIONE UM PROCEDIMENTO</option>";
      } else {
        $htmlRetorno .= "<option value=''>TODOS...</option>";
      }
      foreach ($rsProcedimento as $fieldProcedimento) {
        $idProcedimento   = $fieldProcedimento['id_procedimento'];
        $valorVigente     = $fieldProcedimento['valorVigente'];
        $nomeProcedimento = mb_strtoupper($fieldProcedimento['nome_procedimento']);
        if ($opcaoPesquisa == "cadastrar-teto") {
          $htmlRetorno .= "<option value='$valorVigente##$idProcedimento'>$nomeProcedimento</option>";
        } else {
          $htmlRetorno .= "<option value='$idProcedimento'>$nomeProcedimento</option>";
        }
      }
    } else {
      $htmlRetorno .= "<option value=''>SELECIONE O GRUPO...</option>";
    }
    echo $htmlRetorno;
    break;

  case "consultar-agendamento":
    $codigoEstabelecimento  = $_POST['codigoEstabelecimento'];
    $codigoProfissional     = $_POST['codigoProfissional'];
    $grupoProcedimento      = $_POST['grupoProcedimento'];

    if ($grupoProcedimento == '1') {
      $sqlProcedimento = "SELECT reg_tb_agenda.codigoestabelecimento_cnes,
      reg_tb_agenda.codigoprofissional_cnes,
      reg_tb_procedimento.id_procedimento,
      reg_tb_procedimento.nome_procedimento
      FROM reg_tb_agenda
      INNER JOIN reg_tb_procedimento ON (reg_tb_agenda.id_procedimento = reg_tb_procedimento.id_procedimento)
      WHERE (reg_tb_agenda.id_grupo_procedimento='$grupoProcedimento')
      AND (codigoestabelecimento_cnes='$codigoEstabelecimento') 
      AND (codigoprofissional_cnes='$codigoProfissional') 
      AND (nome_procedimento!='') 
      AND (nome_procedimento IS NOT NULL) 
      GROUP BY reg_tb_procedimento.id_procedimento, reg_tb_procedimento.nome_procedimento
      ORDER BY nome_procedimento";
    } else {
      $sqlProcedimento = "SELECT reg_tb_agenda.codigoestabelecimento_cnes,
      reg_tb_agenda.codigoprofissional_cnes,
      reg_tb_procedimento.id_procedimento,
      reg_tb_procedimento.nome_procedimento
      FROM reg_tb_agenda_grupoprocedimento
      INNER JOIN reg_tb_agenda ON (reg_tb_agenda_grupoprocedimento.id_agenda = reg_tb_agenda.id_agenda)
      INNER JOIN reg_tb_procedimento ON (reg_tb_procedimento.id_procedimento = reg_tb_agenda_grupoprocedimento.id_procedimento)
      WHERE (reg_tb_agenda.id_grupo_procedimento='$grupoProcedimento')
      AND (nome_procedimento!='') 
      AND (nome_procedimento IS NOT NULL) 
      GROUP BY reg_tb_procedimento.id_procedimento, reg_tb_procedimento.nome_procedimento;
      ORDER BY nome_procedimento";
    }

    $stmProcedimento    = $rsConexao->prepare($sqlProcedimento);
    $stmProcedimento->execute();
    $rsProcedimento     = $stmProcedimento->fetchAll(PDO::FETCH_ASSOC);
    $totalProcedimentos = $stmProcedimento->rowCount();

    if ($totalProcedimentos > 0) {
      $htmlRetorno .= "<option value=''>TODOS...</option>";
      foreach ($rsProcedimento as $fieldProcedimento) {
        $idProcedimento   = $fieldProcedimento['id_procedimento'];
        $nomeProcedimento = mb_strtoupper($fieldProcedimento['nome_procedimento']);
        $htmlRetorno .= "<option value='$idProcedimento'>$nomeProcedimento</option>";
      }
    } else {
      $htmlRetorno .= "<option value=''>TODOS...</option>";
    }
    echo $htmlRetorno;
    break;

  case "cadastrar-procedimento":
    $grupoProcedimento  = $_POST['grupoProcedimento'];
    $sqlProcedimento = "SELECT reg_tb_procedimento.*, 
    reg_tb_procedimento_grupo.nome_grupo_procedimento,
    tb_procedimento.nome_procedimento AS nomeProcedimentoSIGTAP,
    tb_procedimento.valor_servico_ambulatorial
    FROM reg_tb_procedimento 
    INNER JOIN reg_tb_procedimento_grupo ON (reg_tb_procedimento.id_grupo_procedimento = reg_tb_procedimento_grupo.id_grupo_procedimento)
    INNER JOIN tb_procedimento ON (reg_tb_procedimento.codigo_sus = tb_procedimento.codigo_procedimento)
    WHERE reg_tb_procedimento.id_grupo_procedimento='$grupoProcedimento' ORDER BY nome_procedimento;";
    $stmProcedimento    = $rsConexao->prepare($sqlProcedimento);
    $stmProcedimento->execute();
    $rsProcedimento     = $stmProcedimento->fetchAll(PDO::FETCH_ASSOC);
    $totalProcedimentos = $stmProcedimento->rowCount();

    if ($totalProcedimentos > 0) {

      foreach ($rsProcedimento as $fieldProcedimento) {
        $idProcedimento           = $fieldProcedimento['id_procedimento'];
        $nomeProcedimentoSIGTAP   = $fieldProcedimento['nomeProcedimentoSIGTAP'];
        $codigoSIGTAP             = $fieldProcedimento['codigo_sus'];
        $codigoESUS               = $fieldProcedimento['codigo_integracaoesus'];
        $valorSIGTAP              = number_format($fieldProcedimento['valor_servico_ambulatorial'], 2, ',', '.');
        $valorVigente             = number_format($fieldProcedimento['valor_vigente'], 2, ',', '.');
        $nomeProcedimento         = mb_strtoupper($fieldProcedimento['nome_procedimento']);
        $sexoPermitidoExibir      = $formatarSexo[$fieldProcedimento['sexo_permitido']];
        $sexoPermitido            = $fieldProcedimento['sexo_permitido'];
        $faixaEtariaIdadeInicial  = $fieldProcedimento['faixaetaria_idadeinicial'];
        $faixaEtariaIdadeFinal    = $fieldProcedimento['faixaetaria_idadefinal'];
        $faixaEtariaExibir        = "$faixaEtariaIdadeInicial - $faixaEtariaIdadeFinal";
        $idGrupo                  = $fieldProcedimento['id_grupo_procedimento'];
        $nomeGrupo                = mb_strtoupper($fieldProcedimento['nome_grupo_procedimento']);
        $disponivelGuiche         = $fieldProcedimento['disponivel_guiche'];
        $disponivelGuicheExibir   = $fieldProcedimento['disponivel_guiche'] == "S" ? "SIM" : "NÃO";

        $linkEditarProcedimento   = '"editarProcedimento(' . "'$idProcedimento#$nomeProcedimentoSIGTAP#$codigoSIGTAP#$codigoESUS#$valorSIGTAP#$valorVigente#$nomeProcedimento#$sexoPermitido#$faixaEtariaIdadeInicial#$faixaEtariaIdadeFinal#$disponivelGuiche')" . '"';
        $linkExcluirProcedimento  = '"excluirProcedimento(' . "'$idProcedimento')" . '"';
        //<i class='icofont icofont-close-squared nova_fonte_delete' title='Excluir registro de procedimento.'  onclick=$linkExcluirProcedimento></i>&nbsp;

        # -- link para procedimentos agregados em caso de OCI -- #
        if ($grupoProcedimento == 14) {
          $cmdProcedimentosOCI    = '"procedimentoAssociadoOCI(' . "'$idProcedimento')" . '"';
          $iconeProcedimentosOCI  = "&nbsp;<i class='icofont icofont-prescription nova_fonte_blue' title='Procedimentos associados.'  onclick=$cmdProcedimentosOCI></i>";
          $linkExecutorOCI        = '"window.open(' . "'cadastrar_estabelecimento_unidadeoci?idoci=$idProcedimento')" . '"';
          $btnExecutorOCI         = "<i class='icofont icofont-building-alt nova_fonte green' style='font-size:13pt' title='Unidades executoras de OCI.' onclick=$linkExecutorOCI></i>";
        } else {
          $iconeProcedimentosOCI  = "";
          $btnExecutorOCI = "";
        }
        echo "<tr>
          <td style='text-align:center'>
            <i class='icofont icofont-edit nova_fonte' title='Editar registro de procedimento.'  onclick=$linkEditarProcedimento></i>
            $iconeProcedimentosOCI
          </td>
          <td>$nomeProcedimento</td>
          <td style='text-align:center'>$codigoSIGTAP</td>
          <td style='text-align:center'>$codigoESUS</td>
          <td style='text-align:center'>$sexoPermitidoExibir</td>
          <td style='text-align:center'>$faixaEtariaExibir</td>
          <td style='text-align:right'>$valorVigente</td>          
          <td style='text-align:center'>$disponivelGuicheExibir</td>
        </tr>";
      }
    }
    echo $htmlRetorno;
    break;

  case "buscar_observacao":

    $idProcedimento   = $_POST['idProcedimento'];
    $stmProcedimento  = $rsConexao->prepare("SELECT observacao_procedimento FROM reg_tb_procedimento WHERE id_procedimento='$idProcedimento'");
    $stmProcedimento->execute();
    $rsProcedimento   = $stmProcedimento->fetch(PDO::FETCH_OBJ);
    $preparoProcedimento = $rsProcedimento->observacao_procedimento;

    if ($rsProcedimento->observacao_procedimento == "") {
      echo "NãoExiste";
    } else {
      echo $rsProcedimento->observacao_procedimento;
    }

    break;

  case "buscar_preparo":
    $idProcedimento   = $_POST['idProcedimento'];
    $stmProcedimento  = $rsConexao->prepare("SELECT preparo_procedimento FROM reg_tb_procedimento WHERE id_procedimento='$idProcedimento'");
    $stmProcedimento->execute();
    $rsProcedimento   = $stmProcedimento->fetch(PDO::FETCH_OBJ);
    echo $rsProcedimento->preparo_procedimento;;
    break;

  case "agendamento-avulso":
    $grupoProcedimento  = $_POST['grupoProcedimento'];
    $stmProcedimento   = $rsConexao->prepare("SELECT * FROM reg_tb_procedimento WHERE (id_grupo_procedimento='$grupoProcedimento') ORDER BY nome_procedimento");

    $stmProcedimento->execute();
    $rsProcedimento     = $stmProcedimento->fetchAll(PDO::FETCH_ASSOC);
    $totalProcedimentos = $stmProcedimento->rowCount();

    if ($totalProcedimentos > 0) {
      $htmlRetorno .= "<option value=''>SELECIONE...</option>";
      foreach ($rsProcedimento as $fieldProcedimento) {
        $idProcedimento   = $fieldProcedimento['id_procedimento'];
        $nomeProcedimento = mb_strtoupper($fieldProcedimento['nome_procedimento']);
        $htmlRetorno .= "<option value='$idProcedimento'>$nomeProcedimento</option>";
      }
    } else {
      $htmlRetorno .= "<option value=''>SELECIONE O GRUPO...</option>";
    }
    echo $htmlRetorno;
    break;

  case "cadastro-procedimento-sigtap":
    $conteudoPesquisa   = $_POST['conteudoPesquisa'];
    $sqlProcedimento    = "SELECT *, format(valor_servico_ambulatorial, 2, 'de_DE') AS valorSIGTAP FROM tb_procedimento WHERE (codigo_procedimento='$conteudoPesquisa') OR (nome_procedimento LIKE '%$conteudoPesquisa%')";
    $stmProcedimento    = $rsConexao->prepare($sqlProcedimento);
    $stmProcedimento->execute();
    if ($stmProcedimento->rowCount() > 0) {
      $rsProcedimento = $stmProcedimento->fetchAll(PDO::FETCH_ASSOC);
      foreach ($rsProcedimento as $fiedProcedimento) {
        $nomeProcedimento   = mb_strtoupper($fiedProcedimento['nome_procedimento']);
        $codigoProcedimento = $fiedProcedimento['codigo_procedimento'];
        $sexoPermitido      = ($fiedProcedimento['sexo_permitido'] == "I" || $fiedProcedimento['sexo_permitido'] == "N") ? "I" : $fiedProcedimento['sexo_permitido'];
        $idadeMinima        = $fiedProcedimento['idademinima_permitida'] == 833 ? 0 : $fiedProcedimento['idademinima_permitida'];
        $idadeMaxima        = $fiedProcedimento['idademaxima_permitida'] == 833 ? 130 : $fiedProcedimento['idademaxima_permitida'];
        $valorSIGTAP        = $fiedProcedimento['valorSIGTAP'];

        $selecionaProcedimento = 'onclick="' . "$('#procedimentoSIGTAP').val('$nomeProcedimento'),$('#codigoSIGTAP').val('$codigoProcedimento'),$('#valorSUS').val('$valorSIGTAP'),$('#valorVigente').val('$valorSIGTAP'),$('#sexoPermitido').val('$sexoPermitido'),$('#idadeInicialPermitida').val('$idadeMinima'),$('#idadeFinalPermitida').val('$idadeMaxima')" . '"';

        echo "<tr>
          <td align='center' style='border:1px solid gray'>
            <i class='icofont icofont-check-circled nova_fonte' title='Selecionar procedimento.' $selecionaProcedimento></i>
          </td>
          <td style='border:1px solid gray'>$nomeProcedimento</td>
          <td align='center' style='border:1px solid gray'>$codigoProcedimento</td>
        </tr>";
      }
    }

    break;
  case "relatorio-producao":
    $codigoEstabelecimento  = $_POST['codigoEstabelecimento'];
    $codigoProfissional     = $_POST['codigoProfissional'];
    $grupoProcedimento      = $_POST['grupoProcedimento'];
    $whereProfissional      = $codigoProfissional == "" ? "" : " AND (codigoprofissional_cnes='$codigoProfissional') ";

    if ($grupoProcedimento == '1') {
      $sqlProcedimento = "SELECT reg_tb_agenda.codigoestabelecimento_cnes,
      reg_tb_agenda.codigoprofissional_cnes,
      reg_tb_procedimento.id_procedimento,
      reg_tb_procedimento.nome_procedimento
      FROM reg_tb_agenda
      INNER JOIN reg_tb_procedimento ON (reg_tb_agenda.id_procedimento = reg_tb_procedimento.id_procedimento)
      WHERE (reg_tb_agenda.id_grupo_procedimento='$grupoProcedimento')
      AND (codigoestabelecimento_cnes='$codigoEstabelecimento') 
      $whereProfissional
      AND (nome_procedimento!='') 
      AND (nome_procedimento IS NOT NULL) 
      GROUP BY reg_tb_procedimento.id_procedimento, reg_tb_procedimento.nome_procedimento
      ORDER BY nome_procedimento";
    } else {
      $sqlProcedimento = "SELECT reg_tb_agenda.codigoestabelecimento_cnes,
      reg_tb_agenda.codigoprofissional_cnes,
      reg_tb_procedimento.id_procedimento,
      reg_tb_procedimento.nome_procedimento
      FROM reg_tb_agenda_grupoprocedimento
      INNER JOIN reg_tb_agenda ON (reg_tb_agenda_grupoprocedimento.id_agenda = reg_tb_agenda.id_agenda)
      INNER JOIN reg_tb_procedimento ON (reg_tb_procedimento.id_procedimento = reg_tb_agenda_grupoprocedimento.id_procedimento)
      WHERE (reg_tb_agenda.id_grupo_procedimento='$grupoProcedimento')
      AND (nome_procedimento!='') 
      AND (nome_procedimento IS NOT NULL) 
      GROUP BY reg_tb_procedimento.id_procedimento, reg_tb_procedimento.nome_procedimento;
      ORDER BY nome_procedimento";
    }

    $stmProcedimento    = $rsConexao->prepare($sqlProcedimento);
    $stmProcedimento->execute();
    $rsProcedimento     = $stmProcedimento->fetchAll(PDO::FETCH_ASSOC);
    $totalProcedimentos = $stmProcedimento->rowCount();

    if ($totalProcedimentos > 0) {
      $htmlRetorno .= "<option value=''>TODOS...</option>";
      foreach ($rsProcedimento as $fieldProcedimento) {
        $idProcedimento   = $fieldProcedimento['id_procedimento'];
        $nomeProcedimento = mb_strtoupper($fieldProcedimento['nome_procedimento']);
        $htmlRetorno .= "<option value='$idProcedimento'>$nomeProcedimento</option>";
      }
    } else {
      $htmlRetorno .= "<option value=''>TODOS...</option>";
    }
    echo $htmlRetorno;
    break;

  case "unidade-procedimento-agenda":

    $unidadeSaude       = $_POST['unidadeSaude'];
    $grupoProcedimento  = $_POST['grupoProcedimento'];
    $eGrupo             = $_POST['eGrupo'];

    if ($eGrupo == "S") {
      echo "<option value=''>TODOS...</option>";
    } else {
      $sqlProcedimento = "SELECT reg_tb_tetounidade.id_procedimento,
      ucase(reg_tb_procedimento.nome_procedimento) AS nomeProcedimento,
      reg_tb_tetounidade.codigoestabelecimento_cnes
      FROM reg_tb_tetounidade
      INNER JOIN reg_tb_procedimento ON (reg_tb_tetounidade.id_procedimento = reg_tb_procedimento.id_procedimento)
      WHERE (reg_tb_tetounidade.codigoestabelecimento_cnes='$unidadeSaude')
      AND (reg_tb_procedimento.id_grupo_procedimento='$grupoProcedimento')
      ORDER BY reg_tb_procedimento.nome_procedimento";
      $stmProcedimento  = $rsConexao->prepare($sqlProcedimento);
      $stmProcedimento->execute();
      if ($stmProcedimento->rowCount() > 0) {
        $rsProcedimento = $stmProcedimento->fetchAll(PDO::FETCH_ASSOC);
        echo "<option value=''>SELECIONE...</option>";
        foreach ($rsProcedimento as $fieldProcedimento) {
          $idProcedimento   = $fieldProcedimento['id_procedimento'];
          $nomeProcedimento = $fieldProcedimento['nomeProcedimento'];
          echo "<option value='$idProcedimento'>$nomeProcedimento</option>";
        }
      } else {
        echo "<option value=''>SELECIONE...</option>";
      }
    }
    break;
  case "executante-adicionar-atendimento-extra":
    $unidadeLogada      = $_SESSION['unidadeLogada'];
    $codigoProfissional = $_POST['codigoProfissional'];
    $dataHoje           = date("Y-m-d");
    $sqlProcedimentos = "SELECT reg_tb_agenda.codigoprofissional_cnes,
       reg_tb_agenda_sub.id_procedimento,
       reg_tb_procedimento.nome_procedimento,
       reg_tb_agenda_sub.id_agenda
      FROM reg_tb_agenda_sub
      INNER JOIN reg_tb_agenda ON (reg_tb_agenda_sub.id_agenda = reg_tb_agenda.id_agenda)
      INNER JOIN reg_tb_procedimento ON (reg_tb_procedimento.id_procedimento = reg_tb_agenda_sub.id_procedimento)
      WHERE (reg_tb_agenda.codigoestabelecimento_cnes='$unidadeLogada')
      AND (reg_tb_agenda.codigoprofissional_cnes='$codigoProfissional')
      AND (CONCAT(reg_tb_agenda_sub.ano_agenda,'-',reg_tb_agenda_sub.mes_agenda,'-',lpad(reg_tb_agenda_sub.dia_agenda,2,'0'))='$dataHoje')
      GROUP BY reg_tb_procedimento.nome_procedimento
      ORDER BY reg_tb_procedimento.nome_procedimento";
    $stmProcedimentos = $rsConexao->prepare($sqlProcedimentos);
    $stmProcedimentos->execute();
    if ($stmProcedimentos->rowCount() > 0) {
      echo "<option value=''>SELECIONE...</option>";
      $rsProcedimentos = $stmProcedimentos->fetchAll(PDO::FETCH_ASSOC);
      foreach ($rsProcedimentos as $fieldProcedimento) {
        $idProcedimento   = $fieldProcedimento['id_procedimento'];
        $nomeProcedimento = $fieldProcedimento['nome_procedimento'];
        $idAgenda         = $fieldProcedimento['id_agenda'];
        echo "<option value='$idProcedimento##$idAgenda'>$nomeProcedimento</option>";
      }
    } else {
      echo "<option value=''>SEM AGENDA PARA HOJE</option>";
    }
    break;
  case "laboratorio-agendar":

    # -- capturar as unidades de referência -- #
    $stmUnidadeReferencia = $rsConexao->prepare("SELECT codigo_estabelecimento_referencia FROM reg_tb_unidadereferencia WHERE codigo_estabelecimento_base='" . $_SESSION['unidadeLogada'] . "'");
    $stmUnidadeReferencia->execute();

    if ($stmUnidadeReferencia->rowCount() > 0) {
      $rsUnidadeReferencia  = $stmUnidadeReferencia->fetchAll(PDO::FETCH_ASSOC);
      $arrayUnidade   = $rsUnidadeReferencia;;
      $contarUnidade =  count($arrayUnidade);
      $idUnidadesReferencia = "";
      for ($contaReg = 0; $contaReg < $contarUnidade; $contaReg++) {
        $idUnidadesReferencia = $idUnidadesReferencia == "" ? $arrayUnidade[$contaReg]['codigo_estabelecimento_referencia'] : $idUnidadesReferencia . "," . $arrayUnidade[$contaReg]['codigo_estabelecimento_referencia'];
      }
    } else {
      $idUnidadesReferencia = "9999999999";
    }
    $grupoProcedimento  = $_POST['grupoProcedimento'];
    $sqlProcedimentos   = "SELECT reg_tb_agenda_grupoprocedimento.id_procedimento,    
    ucase(reg_tb_procedimento.nome_procedimento) AS nomeProcedimento
    FROM reg_tb_agenda_grupoprocedimento
    INNER JOIN reg_tb_agenda ON (reg_tb_agenda_grupoprocedimento.id_agenda = reg_tb_agenda.id_agenda)
    INNER JOIN reg_tb_procedimento ON (reg_tb_procedimento.id_procedimento = reg_tb_agenda_grupoprocedimento.id_procedimento)
    WHERE (reg_tb_agenda.status_agenda='A')
    AND (reg_tb_agenda.codigoestabelecimento_cnes IN($idUnidadesReferencia))
    AND (reg_tb_agenda_grupoprocedimento.id_grupo_procedimento='$grupoProcedimento')
    AND (reg_tb_agenda.ano_agenda>='2025' and reg_tb_agenda.mes_agenda>='01')

    GROUP BY id_procedimento
    ORDER BY nome_procedimento";
    $stmProcedimentos = $rsConexao->prepare($sqlProcedimentos);
    $stmProcedimentos->execute();
    if ($stmProcedimentos->rowCount() > 0) {
      $rsProcedimentos = $stmProcedimentos->fetchAll(PDO::FETCH_ASSOC);
      foreach ($rsProcedimentos as $fieldProcedimento) {
        $idProcedimento   = $fieldProcedimento['id_procedimento'];
        $nomeProcedimento = $fieldProcedimento['nomeProcedimento'];
        echo "<option value='$idProcedimento'>&bull; $nomeProcedimento</option>";
      }
    }
    break;

  case "laboratorio-solicitar":
    $grupoProcedimento  = $_POST['grupoProcedimento'];
    $sqlProcedimentos   = "SELECT reg_tb_procedimento.id_procedimento,    
    ucase(reg_tb_procedimento.nome_procedimento) AS nomeProcedimento
    FROM reg_tb_procedimento
    WHERE (reg_tb_procedimento.id_grupo_procedimento='$grupoProcedimento')
    GROUP BY id_procedimento
    ORDER BY nome_procedimento";
    $stmProcedimentos = $rsConexao->prepare($sqlProcedimentos);
    $stmProcedimentos->execute();
    if ($stmProcedimentos->rowCount() > 0) {
      $rsProcedimentos = $stmProcedimentos->fetchAll(PDO::FETCH_ASSOC);
      foreach ($rsProcedimentos as $fieldProcedimento) {
        $idProcedimento   = $fieldProcedimento['id_procedimento'];
        $nomeProcedimento = $fieldProcedimento['nomeProcedimento'];
        echo "<option value='$idProcedimento'>&bull; $nomeProcedimento</option>";
      }
    }
    break;

  case "laboratorio-solicitar-visualizar":

    $idSolicitacao        = $_POST['idSolicitacao'];
    $idGrupoProcedimento  = $_POST['idGrupoProcedimento'];

    $stmProcedimentoSolicitado = $rsConexao->prepare("SELECT concat('#',id_procedimento_solicitado,'#') as idProcedimento FROM reg_tb_solicitacoes_laboratorio WHERE id_solicitacao='$idSolicitacao'");
    $stmProcedimentoSolicitado->execute();
    $rsProcedimentoSolicitado  = $stmProcedimentoSolicitado->fetchAll(PDO::FETCH_ASSOC);
    $arrayProcedimento = json_encode([
      'procedimentosSolicitados' => $rsProcedimentoSolicitado
    ]);

    $sqlProcedimentos   = "SELECT id_procedimento,
    ucase(nome_procedimento) AS nomeProcedimento
    FROM reg_tb_procedimento
    WHERE (id_grupo_procedimento='$idGrupoProcedimento')
    ORDER BY reg_tb_procedimento.nome_procedimento";
    $stmProcedimentos = $rsConexao->prepare($sqlProcedimentos);
    $stmProcedimentos->execute();
    if ($stmProcedimentos->rowCount() > 0) {
      $rsProcedimentos = $stmProcedimentos->fetchAll(PDO::FETCH_ASSOC);
      foreach ($rsProcedimentos as $fieldProcedimento) {
        $idProcedimento   = $fieldProcedimento['id_procedimento'];
        $nomeProcedimento = $fieldProcedimento['nomeProcedimento'];
        $selecionaSolicitado = strpos($arrayProcedimento, "#$idProcedimento#") !== false ? "selected='selected'" : "";
        echo "<option value='$idProcedimento' $selecionaSolicitado>&bull; $nomeProcedimento</option>";
      }
    }
    break;

  case "cadastro-procedimento-oci":
    $conteudoPesquisa   = $_POST['conteudoPesquisa'];
    $sqlProcedimento    = "SELECT * FROM reg_tb_procedimento WHERE (codigo_sus='$conteudoPesquisa') OR (nome_procedimento LIKE '%$conteudoPesquisa%')";
    $stmProcedimento    = $rsConexao->prepare($sqlProcedimento);
    $stmProcedimento->execute();
    if ($stmProcedimento->rowCount() > 0) {
      $rsProcedimento = $stmProcedimento->fetchAll(PDO::FETCH_ASSOC);
      foreach ($rsProcedimento as $fiedProcedimento) {
        $idProcedimento   = mb_strtoupper($fiedProcedimento['id_procedimento']);
        $codigoSUS        = mb_strtoupper($fiedProcedimento['codigo_sus']);
        $nomeProcedimento = mb_strtoupper($fiedProcedimento['nome_procedimento']);

        $selecionaProcedimento = 'onclick="' . "$('#idProcedimentoAssociado').val('$idProcedimento'),$('#nomeProcedimentoAssociado').val('$codigoSUS - $nomeProcedimento')" . '"';

        echo "<tr>
          <td align='center' style='border:1px solid gray'>
            <i class='icofont icofont-check-circled nova_fonte' title='Selecionar procedimento.' $selecionaProcedimento></i>
          </td>
          <td style='border:1px solid gray'>$nomeProcedimento</td>
          <td align='center' style='border:1px solid gray'>$codigoSUS</td>
        </tr>";
      }
    }
    break;

  case "procedimento-oci-ngc":
    $unidadeSaude   = $_POST['unidadeSaude'];
    $sqlListaOCI = "SELECT reg_tb_procedimento.id_procedimento,
    ucase(reg_tb_procedimento.nome_procedimento) AS nomeProcedimento
    FROM reg_tb_procedimento_grupo
    INNER JOIN reg_tb_procedimento ON (reg_tb_procedimento_grupo.id_grupo_procedimento = reg_tb_procedimento.id_grupo_procedimento)
    INNER JOIN reg_tb_tetounidade ON (reg_tb_tetounidade.id_procedimento = reg_tb_procedimento.id_procedimento)
    WHERE (reg_tb_procedimento_grupo.nome_grupo_procedimento LIKE '%OCI%')
    AND (reg_tb_tetounidade.codigoestabelecimento_cnes='$unidadeSaude')
    ORDER BY reg_tb_procedimento.nome_procedimento ASC";
    $stmListaOCI = $rsConexao->prepare($sqlListaOCI);
    $stmListaOCI->execute();
    if ($stmListaOCI->rowCount() > 0) {
      $rsListaOCI = $stmListaOCI->fetchAll(PDO::FETCH_ASSOC);
      echo "<option value=''>TODOS...</option>";
      foreach ($rsListaOCI as $fieldListaOCI) {
        $idOCI    = $fieldListaOCI['id_procedimento'];
        $nomeOCI  = $fieldListaOCI['nomeProcedimento'];
        echo "<option value='$idOCI'>$nomeOCI</option>";
      }
    }else{
      echo "<option value='semOCI'>UNIDADE SEM OCI...</option>";
    }
    break;
}
