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

$opcaoCadastro  = $_POST['opcaoCadastro'];


switch ($opcaoCadastro) {

  case "cadastrar-estabelecimento":
    $codigoEstabelecimento        = $_POST['codigoEstabelecimento'];
    $cnpjEstabelecimento          = $_POST['cnpjEstabelecimento'];
    $cnesEstabelecimento          = $_POST['cnesEstabelecimento'];
    $razaoSocialEstabelecimento   = $_POST['razaoSocialEstabelecimento'];
    $nomeFantasiaEstabelecimento  = $_POST['nomeFantasiaEstabelecimento'];
    $cepEstabelecimento           = $_POST['cepEstabelecimento'];
    $enderecoEstabelecimento      = $_POST['enderecoEstabelecimento'];
    $numeroEstabelecimento        = $_POST['numeroEstabelecimento'];
    $bairroEstabelecimento        = $_POST['bairroEstabelecimento'];
    $complementoEstabelecimento   = $_POST['complementoEstabelecimento'];
    $telefoneEstabelecimento1     = $_POST['telefoneEstabelecimento1'];
    $telefoneEstabelecimento2     = $_POST['telefoneEstabelecimento2'];
    $emailEstabelecimento         = $_POST['emailEstabelecimento'];
    $latitudeEstabelecimento      = $_POST['latitudeEstabelecimento'];
    $longitudeEstabelecimento     = $_POST['longitudeEstabelecimento'];
    $prestadorPrivado             = $_POST['prestadorPrivado'];
    $postoDescentralizado         = $_POST['postoDescentralizado'];
    $nomeAbreviadoEstabelecimento = $_POST['nomeAbreviadoEstabelecimento'];
    $perfilEstabelecimento        = $_POST['perfilEstabelecimento'];
    $respeitaCotaEstabelecimento  = $_POST['respeitaCotaEstabelecimento'];
    $ibgeEstabelecimento          = $_POST['ibgeEstabelecimento'];
    $usaPainelSenha               = $_POST['usaPainelSenha'];
    $statusEstabelecimento        = "A";

    //VERIFICAR SE EXISTE SOLICITAÇÃO PENDENTE DO MESMO PACIENTE E MESMO Estabelecimento
    if ($codigoEstabelecimento == "") {
      $stmEstabelecimentoExiste = $rsConexao->prepare("SELECT codigoestabelecimento_cnes FROM tb_estabelecimento WHERE cnes_estabelecimento='$cnesEstabelecimento'");
      $stmEstabelecimentoExiste->execute();
      if ($stmEstabelecimentoExiste->rowCount() > 0) {
        echo "JaExiste";
        exit;
      }
    }

    if ($codigoEstabelecimento == "") {
      $geraCodigoEstabelecimento = $ibgeEstabelecimento . $cnesEstabelecimento;
      $sqlEstabelecimento  = "INSERT INTO tb_estabelecimento(
          codigoestabelecimento_cnes,
          cnpj_estabelecimento,
          cnes_estabelecimento,
          nempresarial_estabelecimento,
          nfantasia_estabelecimento,
          cep_estabelecimento,
          endereco_estabelecimento,
          numeroend_estabelecimento,
          bairro_estabelecimento,
          pontoreferencia_estabelecimento,
          telefone1_estabelecimento,
          telefone2_estabelecimento,
          email_estabelecimento,
          latitude_estabelecimento,
          longitude_estabelecimento,
          prestador_privado,
          posto_regulacao,
          nome_abreviado,
          perfil_estabelecimento,
          respeita_cota,
          status_estabelecimento,
          codigoibge_cidade,
          usa_painelsenha
        )VALUES(
          :setCodigoEstabelecimento,
          :setCNPJEstabelecimento,
          :setCNESEstabelecimento,
          :setRazaoSocial,
          :setNomeFantasia,
          :setCEPEstabelecimento,
          :setEndereco,
          :setNumeroEndereco,
          :setBairro,      
          :setPontoReferencia,
          :setTelefone1,
          :setTelefone2,
          :setEmail,
          :setLatitude,
          :setLongitude,
          :setPrestadorPrivado,
          :setPostoRegulacao,
          :setNomeAbreviado,
          :setPerfilEstabelecimento,
          :setRespeitaCota,   
          :setStatus,
          :setIBGEEstabelecimento,
          :setPainelSenha
        )";
    } else {
      $geraCodigoEstabelecimento = $codigoEstabelecimento;
      $sqlEstabelecimento  = "UPDATE tb_estabelecimento SET
        codigoestabelecimento_cnes=:setCodigoEstabelecimento,
        cnpj_estabelecimento=:setCNPJEstabelecimento,
        cnes_estabelecimento=:setCNESEstabelecimento,
        nempresarial_estabelecimento=:setRazaoSocial,
        nfantasia_estabelecimento=:setNomeFantasia,
        cep_estabelecimento=:setCEPEstabelecimento,
        endereco_estabelecimento=:setEndereco,
        numeroend_estabelecimento=:setNumeroEndereco,
        bairro_estabelecimento=:setBairro,
        pontoreferencia_estabelecimento=:setPontoReferencia,
        telefone1_estabelecimento=:setTelefone1,
        telefone2_estabelecimento=:setTelefone2,
        email_estabelecimento=:setEmail,
        latitude_estabelecimento=:setLatitude,
        longitude_estabelecimento=:setLongitude,
        prestador_privado=:setPrestadorPrivado,
        posto_regulacao=:setPostoRegulacao,
        nome_abreviado=:setNomeAbreviado,
        perfil_estabelecimento=:setPerfilEstabelecimento,
        respeita_cota=:setRespeitaCota,
        status_estabelecimento=:setStatus,
        codigoibge_cidade=:setIBGEEstabelecimento,
        usa_painelsenha=:setPainelSenha
        WHERE (codigoestabelecimento_cnes=:setCodigoEstabelecimento)";
    }

    $stmAddEstabelecimento  = $rsConexao->prepare($sqlEstabelecimento);
    $stmAddEstabelecimento->bindParam(":setCodigoEstabelecimento", $geraCodigoEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setCNPJEstabelecimento", $cnpjEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setCNESEstabelecimento", $cnesEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setRazaoSocial", $razaoSocialEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setNomeFantasia", $nomeFantasiaEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setCEPEstabelecimento", $cepEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setEndereco", $enderecoEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setNumeroEndereco", $numeroEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setBairro", $bairroEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setPontoReferencia", $complementoEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setTelefone1", $telefoneEstabelecimento1, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setTelefone2", $telefoneEstabelecimento2, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setEmail", $emailEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setLatitude", $latitudeEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setLongitude", $longitudeEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setPrestadorPrivado", $prestadorPrivado, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setPostoRegulacao", $postoDescentralizado, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setNomeAbreviado", $nomeAbreviadoEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setPerfilEstabelecimento", $perfilEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setRespeitaCota", $respeitaCotaEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setStatus", $statusEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setIBGEEstabelecimento", $ibgeEstabelecimento, PDO::PARAM_STR);
    $stmAddEstabelecimento->bindParam(":setPainelSenha", $usaPainelSenha, PDO::PARAM_STR);

    $stmAddEstabelecimento->execute();

    //******* carregar lista atualizada *******/  
    $formatarPerfil = array(
      'A'  => 'AMBOS',
      'E'  => 'EXECUTANTE',
      'S'  => 'SOLICITANTE',
      ''  => 'NÃO INFORMADO'
    );
    $stmEstabelecimentos  = $rsConexao->prepare("SELECT * FROM tb_estabelecimento WHERE (codigoestabelecimento_cnes!='9999999999999') ORDER BY nfantasia_estabelecimento");
    $stmEstabelecimentos->execute();
    $rsEstabelecimentos    = $stmEstabelecimentos->fetchAll(PDO::FETCH_ASSOC);
    foreach ($rsEstabelecimentos as $fieldEstabelecimentos) {
      $codigoEstabelecimento        = $fieldEstabelecimentos['codigoestabelecimento_cnes'];
      $nomeFantasiaEstabelecimento  = mb_strtoupper($fieldEstabelecimentos['nfantasia_estabelecimento']);
      $cnesEstabelecimento          = $fieldEstabelecimentos['cnes_estabelecimento'];
      $telefoneEstabelecimento      = $fieldEstabelecimentos['telefone1_estabelecimento'] != "" ? $fieldEstabelecimentos['telefone1_estabelecimento'] : "";
      $telefoneEstabelecimento      = $fieldEstabelecimentos['telefone2_estabelecimento'] != "" ? $telefoneEstabelecimento . "<br>" . $fieldEstabelecimentos['telefone2_estabelecimento'] : $telefoneEstabelecimento;
      $statusEstabelecimento        = mb_strtoupper($fieldEstabelecimentos['status_estabelecimento']);
      $styloRegistroDesativado      = $fieldEstabelecimentos['status_estabelecimento'] == "A" ? "" : "style='background-color: #ffadad;color: #860000;'";
      $bairroEstabelecimento        = mb_strtoupper($fieldEstabelecimentos['bairro_estabelecimento']);
      $perfilEstabelecimento        = $formatarPerfil[$fieldEstabelecimentos['perfil_estabelecimento']];
      $prestadorPrivado              = mb_strtoupper($fieldEstabelecimentos['prestador_privado']);

      $linkEditarCadastro  = '"editarEstabelecimento(' . "'$codigoEstabelecimento')" . '"';
      if ($fieldEstabelecimentos['status_estabelecimento'] == "A") {
        $linkComandoBloqueio  = '"statusEstabelecimento(' . "'$codigoEstabelecimento','desativar')" . '"';
        $btnComandoBloqueio    = "<i class='icofont icofont-close-squared nova_fonte_delete' title='Desativar registro do estabelecimento.' onclick=$linkComandoBloqueio></i>&nbsp;";
      } else {
        $linkComandoBloqueio  = '"statusEstabelecimento(' . "'$codigoEstabelecimento','ativar')" . '"';
        $btnComandoBloqueio    = "<i class='icofont icofont-checked nova_fonte_blue' style='font-size:16pt' title='ativar registro do estabelecimento.' onclick=$linkComandoBloqueio></i>&nbsp;";
      }
      if ($prestadorPrivado != "S") {
        $linkComandoSetor  = '"window.open(' . "'cadastrar_estabelecimento_setor?id=$codigoEstabelecimento')" . '"';
        $btnComandoSetor  .= "<i class='icofont icofont-architecture-alt nova_fonte blue' title='Setores do estabelecimento.' onclick=$linkComandoSetor></i>";
      } else {
        $btnComandoSetor  = "";
      }

      if (($fieldEstabelecimentos['perfil_estabelecimento'] == "A" || $fieldEstabelecimentos['perfil_estabelecimento'] == "S") && $prestadorPrivado != "S") {
        $linkUnidadeReferencia = '"window.open(' . "'cadastrar_estabelecimento_unidaderef?id=$codigoEstabelecimento')" . '"';
        $btnUnidadeReferencia  = "<i class='icofont icofont-building-alt nova_fonte green' style='font-size:13pt' title='Unidades de referência.' onclick=$linkUnidadeReferencia></i>";
      } else {
        $btnUnidadeReferencia   = "";
      }

      echo "<tr $styloRegistroDesativado> 
        <td>
				  <i class='icofont icofont-edit nova_fonte' title='Editar registro do estabelecimento.' onclick=$linkEditarCadastro></i>&nbsp;
					$btnComandoBloqueio
					$btnComandoSetor
					$btnUnidadeReferencia
				</td>
				<td>$nomeFantasiaEstabelecimento</td>
				<td align='center'>$cnesEstabelecimento</td>
				<td align='center'>$telefoneEstabelecimento</td>
				<td>$bairroEstabelecimento</td>
				<td>$perfilEstabelecimento</td>
			</tr>";
      $btnComandoSetor = "";
    }
    //**************************************************** */
    break;

  case "cadastrar-setor-estabelecimento":
    $idEstabelecimento      = $_POST['idEstabelecimento'];
    $idSetorEstabelecimento = $_POST['idSetorEstabelecimento'];
    $nomeSetor              = $_POST['nomeSetor'];
    $servicoSetor           = $_POST['servicoSetor'];
    $referirSetor           = $_POST['referirSetor'];

    if ($idSetorEstabelecimento == "") {
      # -- verificar se o setor já existe -- #
      $stmExiste = $rsConexao->prepare("SELECT id_setoratendimento FROM reg_tb_setoratendimento WHERE nome_setoratendimento='$nomeSetor' AND codigo_estabelecimento='$idEstabelecimento'");
      $stmExiste->execute();
      if ($stmExiste->rowCount() > 0) {
        echo "jáExiste";
        exit;
      }

      $sqlSetor = "INSERT INTO reg_tb_setoratendimento(
        codigo_estabelecimento,
        nome_setoratendimento,
        servico_realizado,
        comochamar_setor
      ) VALUES (
        :setEstabelecimento,
        :setNomeSetor,
        :setServicoSetor,
        :setReferirSetor
      )";
    } else {
      $sqlSetor = "UPDATE reg_tb_setoratendimento SET
        codigo_estabelecimento=:setEstabelecimento,
        nome_setoratendimento=:setNomeSetor,
        servico_realizado=:setServicoSetor,
        comochamar_setor=:setReferirSetor
        WHERE id_setoratendimento='$idSetorEstabelecimento'";
    }
    $stmSetor = $rsConexao->prepare($sqlSetor);
    $stmSetor->bindParam(":setEstabelecimento", $idEstabelecimento, PDO::PARAM_STR);
    $stmSetor->bindParam(":setNomeSetor", $nomeSetor, PDO::PARAM_STR);
    $stmSetor->bindParam(":setServicoSetor", $servicoSetor, PDO::PARAM_STR);
    $stmSetor->bindParam(":setReferirSetor", $referirSetor, PDO::PARAM_STR);
    $stmSetor->execute();

    $stmSetorEstabelecimento  = $rsConexao->prepare("SELECT * FROM reg_tb_setoratendimento WHERE codigo_estabelecimento='$idEstabelecimento'");
    $stmSetorEstabelecimento->execute();
    if ($stmSetorEstabelecimento->rowCount() > 0) {
      $rsSetorEstabelecimento  = $stmSetorEstabelecimento->fetchAll(PDO::FETCH_ASSOC);
      foreach ($rsSetorEstabelecimento as $fieldSetorEstabelecimento) {
        $idSetor        = $fieldSetorEstabelecimento['id_setoratendimento'];
        $nomeSertor      = mb_strtoupper($fieldSetorEstabelecimento['nome_setoratendimento']);
        $servicoSetor    = mb_strtoupper($fieldSetorEstabelecimento['servico_realizado']);
        $comoSeReferir  = $fieldSetorEstabelecimento['comochamar_setor'];


        $linkEditarSetor  = '"editarSetor(' . "'$idSetor##$nomeSertor##$servicoSetor##$comoSeReferir')" . '"';
        /*$linkExcluirPerfil	= '"excluirPerfil(' . "'$idUsuarioPerfil')" . '"';
        
        <i class='icofont icofont-close-squared nova_fonte_delete' title='Excluir perfil de acesso.' onclick=$linkExcluirPerfil></i>
        */
        echo "<tr>
            <td align='center'>
              <i class='icofont icofont-edit nova_fonte' title='Editar dados do perfil de acesso.' onclick=$linkEditarSetor></i>&nbsp;
            </td>
            <td>$nomeSertor</td>
            <td>$servicoSetor</td>
            <td align='center'>$comoSeReferir</td>
          </tr>";
      }
    }
    break;

  case "cadastrar-estabelecimento-unidadereferencia":
    $codigoMunicipio        = substr($_POST['idUnidadeBase'], 0, 6);
    $idUnidadeBase          = $_POST['idUnidadeBase'];
    $unidadeReferencia      = $_POST['unidadeReferencia'];    

    $sqlExiste = "SELECT id_unidadereferencia
    FROM reg_tb_unidadereferencia 
    WHERE (codigo_estabelecimento_base='$idUnidadeBase')
    AND (codigo_estabelecimento_referencia='$unidadeReferencia')";

    $stmExiste = $rsConexao->prepare($sqlExiste);
    $stmExiste ->execute();
    if($stmExiste->rowCount()>0){
      echo "jáExiste";
      exit;
    }
    $sqlUnidadeReferencia = "INSERT INTO reg_tb_unidadereferencia(
      codigo_municipio,
      codigo_estabelecimento_base,
      codigo_estabelecimento_referencia
    )VALUES(
      :setMunicipio,
      :setUnidadeBase,
      :setUnidadeReferencia
    )";
    $stmUnidadeReferencia = $rsConexao->prepare($sqlUnidadeReferencia);
    $stmUnidadeReferencia->bindParam(":setMunicipio", $codigoMunicipio, PDO::PARAM_STR);
    $stmUnidadeReferencia->bindParam(":setUnidadeBase", $idUnidadeBase, PDO::PARAM_STR);
    $stmUnidadeReferencia->bindParam(":setUnidadeReferencia", $unidadeReferencia, PDO::PARAM_STR);
    $stmUnidadeReferencia->execute();

    $sqlUnidadeReferencia = "SELECT reg_tb_unidadereferencia.id_unidadereferencia,
		  reg_tb_unidadereferencia.codigo_estabelecimento_referencia,
			tb_estabelecimento.nfantasia_estabelecimento,
			tb_estabelecimento.cnes_estabelecimento,
			concat(endereco_estabelecimento,', ',numeroend_estabelecimento,', ',bairro_estabelecimento,' -> MUNICÍPIO: ',nome_cidade) as enderecoUnidade
			FROM reg_tb_unidadereferencia
			INNER JOIN tb_estabelecimento ON (reg_tb_unidadereferencia.codigo_estabelecimento_referencia =tb_estabelecimento.codigoestabelecimento_cnes)
			INNER JOIN tb_cidades ON (tb_cidades.codigoibge_cidade = tb_estabelecimento.codigoibge_cidade)
			WHERE (reg_tb_unidadereferencia.codigo_estabelecimento_base = '$idUnidadeBase')";
      
      $stmUnidadeReferencia	= $rsConexao->prepare($sqlUnidadeReferencia);
			$stmUnidadeReferencia->execute();
			if ($stmUnidadeReferencia->rowCount() > 0) {
			  $rsUnidadeReferencia	= $stmUnidadeReferencia->fetchAll(PDO::FETCH_ASSOC);
				foreach ($rsUnidadeReferencia as $fieldUnidadeReferencia) {
				$idUnidadeReferencia			= $fieldUnidadeReferencia['id_unidadereferencia'];
				$codigoUnidadeReferencia	= $fieldUnidadeReferencia['codigo_estabelecimento_referencia'];
				$nomeUnidadeReferencia		= mb_strtoupper($fieldUnidadeReferencia['nfantasia_estabelecimento']);
				$cnesUnidadeReferencia		= $fieldUnidadeReferencia['cnes_estabelecimento'];
				$enderecoUnidade					= mb_strtoupper($fieldUnidadeReferencia['enderecoUnidade']);
        $linkExcluirUnidade	= '"excluirUnidadeReferencia(' . "'$idUnidadeReferencia','$idUnidadeBase')" . '"';
        echo "<tr>
          <td align='center'>
            <i class='icofont icofont-close-squared nova_fonte_delete' title='Bloquear setor.' onclick=$linkExcluirUnidade></i>
          </td>
          <td>$nomeUnidadeReferencia</td>
          <td align='center'>$cnesUnidadeReferencia</td>
          <td>$enderecoUnidade</td>
        </tr>";
      }
    }
    break;
}
