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

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



switch ($opcaoPesquisa) {

  case "paciente-oci-navegacao":
    $unidadeSaude = $_POST['unidadeSaude'];
    $procedimentoOCI = $_POST['procedimentoOCI'];
    $cpfCNSPaciente = $_POST['cpfCNSPaciente'];
    $nomePaciente = $_POST['nomePaciente'];

    $setWhare = "WHERE (reg_tb_procedimento_grupo.nome_grupo_procedimento LIKE '%OCI%') AND (reg_tb_solicitacoes.id_solicitacao>0)";
    $setWhare = $procedimentoOCI == "" ? $setWhare : $setWhare . " AND (reg_tb_solicitacoes.id_procedimento='$procedimentoOCI')";
    $setWhare = $cpfCNSPaciente == "" ? $setWhare : $setWhare . " AND (tb_paciente.cpf_paciente='$cpfCNSPaciente' OR tb_paciente.cns_paciente='$cpfCNSPaciente')";
    $setWhare = $nomePaciente == "" ? $setWhare : $setWhare . " AND (tb_paciente.nome_paciente LIKE '%$nomePaciente%')";
    $setWhare = $unidadeSaude == "" ? $setWhare : $setWhare . " AND (reg_tb_tetounidade.codigoestabelecimento_cnes='$unidadeSaude')";

    $sqlPacienteOCI = "SELECT tb_paciente.id_paciente,
    tb_paciente.nome_paciente,
    timestampdiff(year,tb_paciente.datanasc,curdate()) AS idadePaciente,
    tb_paciente.sexo,
    tb_paciente.cpf_paciente,
    tb_paciente.cns_paciente,
    reg_tb_solicitacoes.id_solicitacao,
    reg_tb_solicitacoes.id_statussolicitacao,
    reg_tb_solicitacoes.id_grupo_procedimento,
    reg_tb_solicitacoes.id_procedimento,
    reg_tb_solicitacoes.posicao_fila,
    reg_tb_solicitacoes.oci_migrou_paraesus,
    reg_tb_solicitacoes.datahora_cadastro,
    date_format(reg_tb_solicitacoes.datahora_cadastro,'%d/%m/%Y') As dataSolicitacao,
    date_format(reg_tb_solicitacoes.data_atendimento,'%d/%m/%Y') As dataAtendimento,
    reg_tb_procedimento.nome_procedimento,
    reg_tb_procedimento_grupo.nome_grupo_procedimento,
    reg_tb_tetounidade.codigoestabelecimento_cnes,
    date_format(DATE_ADD(reg_tb_solicitacoes.data_atendimento, INTERVAL 60 DAY),'%d/%m/%Y') dataFaturar
    FROM reg_tb_solicitacoes
    INNER JOIN tb_paciente ON (reg_tb_solicitacoes.id_paciente = tb_paciente.id_paciente)
    INNER JOIN reg_tb_procedimento ON (reg_tb_solicitacoes.id_procedimento = reg_tb_procedimento.id_procedimento)
    INNER JOIN reg_tb_tetounidade ON (reg_tb_tetounidade.id_procedimento = reg_tb_procedimento.id_procedimento)
    INNER JOIN reg_tb_procedimento_grupo ON (reg_tb_procedimento_grupo.id_grupo_procedimento = reg_tb_solicitacoes.id_grupo_procedimento)    
    $setWhare
    ORDER BY reg_tb_procedimento.nome_procedimento ASC, reg_tb_solicitacoes.posicao_fila ASC";

    $stmPacienteOCI  = $rsConexao->prepare($sqlPacienteOCI);
    $stmPacienteOCI->execute();

    if ($stmPacienteOCI->rowCount() > 0) {
      $rsPacienteOCI   = $stmPacienteOCI->fetchAll(PDO::FETCH_ASSOC);
      foreach ($rsPacienteOCI as $fieldPacienteOCI) {
        $idPaciente     = $fieldPacienteOCI['id_paciente'];
        $idSolicitacao  = $fieldPacienteOCI['id_solicitacao'];
        $posicaoFila    = $fieldPacienteOCI['posicao_fila'];
        $nomePaciente   = $fieldPacienteOCI['nome_paciente'];
        $sexoPaciente   = $fieldPacienteOCI['sexo'];
        $idadePaciente  = $fieldPacienteOCI['idadePaciente'];
        $cpfPaciente    = $fieldPacienteOCI['cpf_paciente'];
        $cnsPaciente    = $fieldPacienteOCI['cns_paciente'];
        $statusSolicitacao = $fieldPacienteOCI['id_statussolicitacao'];
        $dataSolicitacaoOrdem  = $fieldPacienteOCI['datahora_cadastro'];
        $dataSolicitacao  = $fieldPacienteOCI['dataSolicitacao'];
        $dataAtendimento = $fieldPacienteOCI['dataAtendimento'];

        $dataFaturar = $fieldPacienteOCI['dataFaturar'];
        $setChecked     = $fieldPacienteOCI['oci_migrou_paraesus'] == "S" ? "checked" : "";
        # -- relacionar vínculos do profissional --#
        $sqlOCI = "SELECT reg_tb_procedimento.codigo_sus,
        ucase(reg_tb_procedimento.nome_procedimento) as nomeProcedimento
        FROM reg_tb_solicitacoes
        INNER JOIN reg_tb_procedimento ON (reg_tb_solicitacoes.id_procedimento = reg_tb_procedimento.id_procedimento)
        WHERE id_solicitacao='$idSolicitacao'";

        $stmOCI  = $rsConexao->prepare($sqlOCI);
        $stmOCI->execute();
        if ($stmOCI->rowCount() > 0) {
          $rsOCI    = $stmOCI->fetchAll(PDO::FETCH_ASSOC);
          $codigiProcedimento = "";
          $nomeProcedimento    = "";
          foreach ($rsOCI as $fieldOCI) {
            $codigoProcedimento  = $fieldOCI['codigo_sus'];
            $nomeProcedimento   = $fieldOCI['nomeProcedimento'];
            $nomeProcedimento  = "&bull; " . $codigoProcedimento . " - " . $nomeProcedimento;
          }
          $corFontProcedimento = "#027fbe";
        }

        # ----Definição da mensagem de início do ciclo da OCI #
        if ($statusSolicitacao == 2) {
          $cicloCuidadoIniciado = "<div class='aviso-OCINGC-naoiniciada'>
            <i class='icofont icofont-hour-glass'></i> Ciclo do cuidado não iniciado
          </div>";
        } else if ($statusSolicitacao == 5) {
          $cicloCuidadoIniciado = "<div class='aviso-OCINGC-cancelada'>
            <i class='icofont icofont-close-squared'></i> Solicitação de OCI cancelada
          </div>";
        } else {
          if ($dataAtendimento <= date('Y-m-d') && $dataAtendimento != '') {
            $textoCiclo = "Ciclo do cuidado iniciado em: $dataAtendimento; Concluir até $dataFaturar para faturar.";
          } else {
            $textoCiclo = "Ciclo do cuidado inicia em: $dataAtendimento; Concluir até $dataFaturar para faturar.";
          }
          $cicloCuidadoIniciado = "<div class='aviso-OCINGC-iniciada'>
            <i class='icofont icofont-close-squared'></i> $textoCiclo
          </div>";
        }

        # -- OCI concluída para faturar -- #
        /*if($statusSolicitacao==5){
        $cicloCuidadoIniciado = "<div class='aviso-OCINGC-concluida'>
        <i class='icofont icofont-checked'></i> Ciclo do cuidado concluído e pronto para faturar.
        </div>";
        }*/

        # ----Definição da mensagem de início do ciclo da OCI #
        # -- checkbox que assinala de o paciente foi migrado PARA o eSUS Regulação --#
        $checkESUSReg = "<input type='checkbox' $setChecked onclick='assinalarfoiParaESUS($idSolicitacao,this.checked)' class='form-control checkbox-novo;' style='width:25px !important'>";
        # --------------------------------------------------------------------------- #

        # -- comandos de clique -- #
        $linkPcienteOCI  = '"window.open(' . "'ngc_pacienteoci?ids=$idSolicitacao&idp=$idPaciente')" . '"';
        if ($statusSolicitacao != 3 && $statusSolicitacao != 5 && $statusSolicitacao != 6) {
          $comandoCancelar = 'onClick="window.open(' . "'solicitacao_cancelar?idpac=$idPaciente&idsol=$idSolicitacao&op=sc')" . '"';
          $comandoCancelar = "<i class='icofont icofont-close-squared-alt nova_fonte_delete' title='Cancelar solicitação de OCI do paciente.' $comandoCancelar></i>";
        } else {
          $comandoCancelar = "";
        }
        echo "<tr>
				<td style='text-align:center; width:50px'>
					<i class='icofont icofont-job-search nova_fonte blue' style='font-size:16pt' title='Acompanhar paciente.' onclick=$linkPcienteOCI></i>
          $comandoCancelar
				</td>
        <td align='center' style='padding:0px !important; width:30px !important'>
          $checkESUSReg
        </td>
        <td style='text-align:center; width:30px !important'>$posicaoFila</td>
        <td style='text-align:center; width:30px !important'>$dataSolicitacao</td>
				<td style='font-size:10pt; width:45% !important'>
					<b>$nomePaciente</b>
					<div style='width:auto; padding:2px; color:$corFontProcedimento'>$nomeProcedimento</div>
          $cicloCuidadoIniciado
				</td>
        <td style='text-align:center; width:80px !important'>$cpfPaciente</td>
        <td style='text-align:center; width:100px !important'>$cnsPaciente</td>
				<td style='text-align:center; width:50px !important'>$idadePaciente</td>
				<td style='text-align:center; width:30px !important'>$sexoPaciente</td>
			</tr>";
      }
    }

    break;
}
