<?php
session_start();
if (!isset($_SESSION['idUsuarioLogado']) || ($_SESSION['idPerfilLogado'] != 20 && $_SESSION['idPerfilLogado'] != 1 )){
  header("location: ./");
}
$idPerfilLogado = $_SESSION['idPerfilLogado'];
$unidadeLogada  = $_SESSION['unidadeLogada'];
include_once("header.php");
include_once("include/funcoes_gsaudereg.php");

$htmlRetorno = "";
?>

<div class="app-content content" style='background-color:#e1e9e7;'>
  <div class="content-wrapper" style='padding:10px;'>
    <section id="ordering">
      <div class="row">
        <div class="col-12">
          <div class="card" style='border:gray 1px solid;' id="card-tela">
            <div class="card-header titulo-telas">
              <i class="icofont icofont-nurse-alt" style='margin-top:-15px !important'></i>&nbsp;NGC - Acompanhar Paciente
              <a class="heading-elements-toggle"><i class="fa fa-ellipsis-v font-medium-3"></i></a>
              <div class="heading-elements">
                <ul class="list-inline mb-0" style="margin-top: -12px; color: #fff;">
                  <li>
                    <a data-action="collapse"><i class="ft-minus"></i></a>
                  </li>
                  <li>
                    <a data-action="expand"><i class="ft-maximize"></i></a>
                  </li>
                </ul>
              </div>
            </div>
            <div class="card-content collapse show">
              <div class="card-body">
                <form class="form" style='margin-top:-10px'>
                  <div class="form-body">
                    <h4 class="form-section">
                      <i class="icofont icofont-edit"></i><b>Buscar pacientes para acompanhamento</b>
                      <input type="hidden" id="idProfissional" />
                      <input type="hidden" id="idEstabelecimento" />
                    </h4>
                    <div class="row" style='margin-top:-10px;'>
											<div class="col-md-5">
												<div class="form-group">
													<label for="unidadeSaude">Unidade Executante:</label>
													<select type="text" id="unidadeSaude" class="form-control">
														<option value='XXXXXX'>SELECIONE A UNIDADE DE SAÚDE...</option>
                            <option value=''>TODAS...</option>
														<?php

                            $sqlUnidadeSaude = "SELECT tb_estabelecimento.codigoestabelecimento_cnes,
                            tb_estabelecimento.nfantasia_estabelecimento,
                            reg_tb_tetounidade.codigoestabelecimento_cnes
                            FROM reg_tb_tetounidade
                            INNER JOIN reg_tb_procedimento_grupo ON (reg_tb_tetounidade.id_grupo_procedimento = reg_tb_procedimento_grupo.id_grupo_procedimento)                          INNER JOIN tb_estabelecimento ON (reg_tb_tetounidade.codigoestabelecimento_cnes = tb_estabelecimento.codigoestabelecimento_cnes)
                            WHERE (reg_tb_procedimento_grupo.nome_grupo_procedimento LIKE '%OCI%')
                            GROUP BY reg_tb_tetounidade.codigoestabelecimento_cnes
                            ORDER BY nfantasia_estabelecimento ";
														$stmUnidadeSaude  = $rsConexao->prepare($sqlUnidadeSaude);
														$stmUnidadeSaude->execute();
														if ($stmUnidadeSaude->rowcount() > 0) {
															$rsUnidadeSaude   = $stmUnidadeSaude->fetchAll(PDO::FETCH_ASSOC);
															foreach ($rsUnidadeSaude as $fieldUnidade) {
																$idUnidade    = $fieldUnidade['codigoestabelecimento_cnes'];
																$nomeUnidade  = $fieldUnidade['nfantasia_estabelecimento'];
																echo "<option value='$idUnidade'>$nomeUnidade</option>";
															}
														}
														?>
													</select>
												</div>
											</div>
                      <div class="col-md-7">
                        <div class="form-group">
                          <label for="procedimentoOCI">Procedimento OCI:</label>
                          <select id="procedimentoOCI" class="form-control">
                            <option value=''>SELECIONE A UNIDADE...</option>
                          </select>
                        </div>
                      </div>
                    </div>
                    <div class="row" style='margin-top:-10px;'>
                      <div class="col-md-2">
                        <div class="form-group">
                          <label for="cpfCNSPaciente">CPF/CNS:</label>
                          <input type="text" id="cpfCNSPaciente" class="form-control text-center">
                        </div>
                      </div>
                      <div class="col-md-4">
                        <div class="form-group">
                          <label for="nomePaciente">Nome do Paciente:</label>
                          <input type="text" id="nomePaciente" class="form-control">
                        </div>
                      </div>
                      <div class="col-md-3">
                        <div class="form-group">
                          <label for="situacaoOCI">Situação da OCI:</label>
                          <select id="situacaoOCI" class="form-control" disabled>
                            <option value=''>INDIFERENTE</option>
                            <option value='apto-faturar'>APTO A FATURAR</option>
                            <option value='faturado'>FATURADA</option>
                            <option value='ciclo-iniciado'>CICLO INICIADO</option>
                            <option value='ciclo-concluido'>CICLO NÃO INICIADO</option>
                          </select>
                        </div>
                      </div>
                      <div class="col-md-3">
                        <div class="form-group">
                          <label for="classificacaoRisco">Classificação:</label>
                          <select id="classificacaoRisco" class="form-control">
                            <option value=''>INDIFERENTE</option>
                              <?php
                                $stmClassificacao = $rsConexao->prepare("SELECT * FROM reg_rl_classificacaorisco ORDER BY nome_classificacaorisco");
                                $stmClassificacao->execute();
                                $rsClassificacao  = $stmClassificacao->fetchAll(PDO::FETCH_ASSOC);
                                foreach ($rsClassificacao as $fieldClassificacao) {
                                  $idClassificacao    = $fieldClassificacao['id_classificacaorisco'];
                                  $nomeClassificacao  = $fieldClassificacao['nome_classificacaorisco'];
                                  echo "<option value='$idClassificacao'>$nomeClassificacao</option>";
                                }
                              ?>
                          </select>
                        </div>
                      </div>
                    </div>
                    <div class="row" style='margin-top:-10px;'>
                      <div class="col-md-5">
                        <div class="form-group">
                          <button type="button" class="btn btn-info" onClick="filtrarPacientes()" id="btnFiltrasPacientes" style='width:120px'>
                            <i class="icofont icofont-search"></i> Pesquisar
                          </button>
                        </div>
                      </div>
                    </div>
                  </div>
                  <div class="form-actions" style="margin-top:-15px !important"></div>
                </form>
              </div>
            </div>
            <div class="card-content collapse show" style="margin-top:-65px !important">
              <div class="card-body card-dashboard">
                <table class="table table-striped table-bordered default-ordering table-responsive-x" id='dados_pacientes_oci'>
                  <thead>
                    <tr>
                      <th style="text-align:center; width:30px">e-SUS Reg</th>                      
                      <th style="text-align:center; width:100px !important">OPÇÃO</th>
                      <th style="text-align:center; width:50px">CLASSIFICAÇÃO</th>
                      <th style="text-align:center; width:30px !important">POS. FILA</th>
                      <th style="text-align:center; width:30px">DATA SOLICITAÇÃO</th>
                      <th style="width:45% !important">NOME DO PACIENTE</th>
                      <th style="text-align:center; width:80px">CPF</th>
                      <th style="text-align:center; width:100px">CNS</th>
                      <th style="text-align:center; width:50px">IDADE</th>
                      <th style="text-align:center; width:30px">SEXO</th>
                    </tr>
                  </thead>
                  <tbody style="background-color:#f5f5f5">
                    <?php
                    if($idPerfilLogado==20 && $unidadeLogada!="2919206479286"){
                      $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_solicitacoes.data_atendimento AS dataRecerenciaAtendimento,
                      reg_tb_procedimento.nome_procedimento,
                      reg_tb_procedimento_grupo.nome_grupo_procedimento,
                      reg_tb_tetounidade.codigoestabelecimento_cnes,
                      reg_rl_classificacaorisco.nome_classificacaorisco, 
                      reg_rl_classificacaorisco.cor_classificacaorisco
                      FROM reg_tb_solicitacoes
                      INNER JOIN reg_rl_classificacaorisco ON (reg_tb_solicitacoes.id_classificacaorisco = reg_rl_classificacaorisco.id_classificacaorisco) 
                      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)
                      WHERE (reg_tb_procedimento_grupo.nome_grupo_procedimento LIKE '%OCI%')
                      AND (reg_tb_tetounidade.codigoestabelecimento_cnes='$unidadeLogada')
                      ORDER BY reg_tb_procedimento.nome_procedimento ASC, reg_tb_solicitacoes.id_classificacaorisco, reg_tb_solicitacoes.posicao_fila ASC";
                    }else{
                      $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_solicitacoes.data_atendimento AS dataRecerenciaAtendimento,
                      reg_tb_procedimento.nome_procedimento,
                      reg_tb_procedimento_grupo.nome_grupo_procedimento,
                      reg_rl_classificacaorisco.nome_classificacaorisco, 
                      reg_rl_classificacaorisco.cor_classificacaorisco
                      FROM reg_tb_solicitacoes
                      INNER JOIN reg_rl_classificacaorisco ON (reg_tb_solicitacoes.id_classificacaorisco = reg_rl_classificacaorisco.id_classificacaorisco)
                      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_procedimento_grupo ON (reg_tb_procedimento_grupo.id_grupo_procedimento = reg_tb_solicitacoes.id_grupo_procedimento)
                      WHERE (reg_tb_procedimento_grupo.nome_grupo_procedimento LIKE '%OCI%')
                      ORDER BY reg_tb_procedimento.nome_procedimento ASC, reg_tb_solicitacoes.id_classificacaorisco, 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'];
                        $dataRecerenciaAtendimento = $fieldPacienteOCI['dataRecerenciaAtendimento'];
                        $setChecked     = $fieldPacienteOCI['oci_migrou_paraesus'] == "S" ? "checked" : "";
                        $classificacaoRisco     = mb_strtoupper($fieldPacienteOCI['nome_classificacaorisco']);
                        $corClassificacao       = $fieldPacienteOCI['cor_classificacaorisco'];
                        $corLetraClassificacao  = $corClassificacao == "#B60E16" ? " color:#FFF" : "color: #000";

                        # -- 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{
                          # -- calcular prazo para faturar -- #
                          $dataCalculoPrazo = new DateTime("$dataRecerenciaAtendimento"); 
                          $explodeDataReferencia = explode("-",$dataRecerenciaAtendimento);
                          $mesAtendimento = $explodeDataReferencia[1];
                          $anoAtendimento = $explodeDataReferencia[0];
                          $ultimoDiaMesAtendimento   = new DateTime("last day of $anoAtendimento-$mesAtendimento");
                          $diferencaDias  = $dataCalculoPrazo->diff($ultimoDiaMesAtendimento);
                          $diasRestantes  = (int)$diferencaDias->days;
                          $dataLimiteMesSeguinte = (clone $ultimoDiaMesAtendimento)->modify('+29 days');
                          $dataFaturarLimite     = $dataLimiteMesSeguinte->format('d/m/Y');
                          # -- --------------------------- -- #
                          if($dataRecerenciaAtendimento<=date('Y-m-d') && $dataAtendimento!=''){
                            $textoCiclo = "Ciclo do cuidado iniciado em: $dataAtendimento; Concluir até $dataFaturarLimite para faturar.";

                          }else{
                            $textoCiclo = "Ciclo do cuidado a iniciar em: $dataAtendimento; Concluir até $dataFaturarLimite para faturar.";
                          }
                          $cicloCuidadoIniciado = "<div class='aviso-OCINGC-iniciada'>
                            <i class='icofont icofont-checked'></i> $textoCiclo
                          </div>";
                        }

                        $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 align='center' style='padding:0px !important;width:60px'>
                          $checkESUSReg
                        </td>
												<td align='center' style='width:80px'>
													<i class='icofont icofont-job-search nova_fonte blue' style='font-size:16pt' title='Acompanhar paciente.' onclick=$linkPcienteOCI></i>
                          $comandoCancelar
												</td>
                        <td style='background-color:$corClassificacao; $corLetraClassificacao'>$classificacaoRisco</td>
                        <td align='center' style='width:50px'>$posicaoFila</td>
                        <td align='center'>$dataSolicitacao</td>
												<td style='font-size:10pt'>
													<b>$nomePaciente - $idSolicitacao</b>
													<div style='width:auto; padding:2px; color:$corFontProcedimento'>$nomeProcedimento</div>
                          $cicloCuidadoIniciado
												</td>
                        <td align='center'>$cpfPaciente</td>
                        <td align='center'>$cnsPaciente</td>
												<td align='center'>$idadePaciente</td>
												<td align='center'>$sexoPaciente</td>
											  </tr>";
                      }
                    }
                    ?>
                  </tbody>
                </table>
              </div>
            </div>
          </div>
        </div>
      </div>
    </section>
  </div>
</div>

<?php
include_once("footer.php");
include_once("include/box_pesquisa_cbo_profissional.php");
?>
<script src="../app-assets/vendors/js/forms/extended/inputmask/jquery.inputmask.bundle.min.js"></script>
<script src="../app-assets/js/scripts/forms/extended/form-inputmask.min.js"></script>
<script src="../app-assets/vendors/js/tables/datatable/datatables.min.js"></script>
<script src="../app-assets/js/scripts/tables/datatables/datatable-basic.min.js"></script>
<script src="../app-assets/js/scripts/ui/jquery-ui/buttons-selects.min.js"></script>

<script>
  setClassTable("dados_profissionais");
  $("#liAcompanhamentoNGC").attr('class', 'active');
  $("#liAcompanhamentoNGC").css("border-bottom", "2px solid #c4c8ca");


  function assinalarfoiParaESUS(idSolicitacao, stadoCheck) {
    var valorExportado = stadoCheck == true ? "S" : "N"
    $.ajax({
      url: 'action/atualizar_registro_oci',
      type: 'post',
      dataType: 'html',
      data: {
        'opcaoAtualizacao': 'exportado-esus-reg',
        'idSolicitacao': idSolicitacao,
        'valorExportado': valorExportado
      }
    }).done(function(resultadoRetorno) {});
  }

  $("#unidadeSaude").change(function(){

    if(this.value!=""){
      $.ajax({
        url: 'filtros/filtrar_procedimento',
        type: 'post',
        dataType: 'html',
        data: {
          'opcaoPesquisa': 'procedimento-oci-ngc',
          'unidadeSaude': this.value
        }
      }).done(function(resultadoRetorno) {
        $("#procedimentoOCI").html(resultadoRetorno);
      });
    }else{
      $("#procedimentoOCI").html("<option value=''>SELECIONE A UNIDADE...</option>");
    }
  });

  function filtrarPacientes(){
    if($("#unidadeSaude").val()=="XXXXXX"){
      swal("Unidade Executante","Você selecionar a unidade de saúde executante ou selecionar a opção TODAS para realizar a pesquisa.","error");
      return false;
    }
    
    $("#embacado").css("display", "block");
    //filtrar_pacientes_oci
    $.ajax({
      url: 'filtros/filtrar_solicitacoes',
      type: 'post',
      dataType: 'html',
      data: {
        //filtrar_pacientes_oci
        'opcaoBusca': 'solicitacao-paciente-oci',
        'unidadeSaude': $("#unidadeSaude").val(),
        'procedimentoOCI': $("#procedimentoOCI").val(),
        'cpfCNSPaciente': $("#cpfCNSPaciente").val(),
        'nomePaciente': $("#nomePaciente").val(),
        'classificacaoRisco' : $("#classificacaoRisco").val()
      }
    }).done(function(resultadoRetorno) {
      $("#embacado").css("display", "none");
			$('#dados_pacientes_oci').DataTable().destroy();
			$('#dados_pacientes_oci tbody').empty().append(resultadoRetorno);
			$('#dados_pacientes_oci').DataTable();
    });
    
  }

  /** verifica se é administrador ou navegador **/
  var idPerfilLogado  = "<?php echo $idPerfilLogado;?>";
  if(idPerfilLogado==20){
    $("#unidadeSaude").prop("disabled",true);
    $("#unidadeSaude").val("<?php echo $unidadeLogada;?>");
    $("#unidadeSaude").trigger('change');
  }

</script>