<?php

/* Não incluir o cabeçalho do ERP, caso a requisição seja do PDV*/
  if(!isset($_GET['codepdv'])){
    require_once 'header.php';
  }else{
    echo '<head>';
    echo '<link href="css/mystyles.css" rel="stylesheet" type="text/css">';
    echo '<link href="css/bootstrap/bootstrap.min.css" rel="stylesheet" type="text/css">';
    echo '<script type="text/javascript" src="js/plugins/jquery/jquery.min.js"></script>';
    echo '<script type="text/javascript" src="js/plugins/jquery/jquery-ui.min.js"></script>';
    echo '<script type="text/javascript" src="js/plugins/ibutton/jquery.ibutton.js"></script>'; 

    echo '</head>';
  }
  
    require_once "inc/nfc_print_venda.php";
    require_once "inc/messages.php";
    require_once "inc/usuario.php";
    require_once "inc/parametros_sat.php"; 
	  require_once 'inc/parametros.php';

    $nm_include = 'inc/nfc_print_venda.php';
    $redirect   = 'erpc_faturar_pedidos_list.php';

    $usuario_impressao = getLoggedUser();
    $id_usuario = $usuario_impressao['id'];
    $id_unidade = $usuario_impressao['unidade'];
    $nm_usuario = $usuario_impressao['nome'];

    /* capura o xml gravado no BD */
    if(!isset($_GET['id'])){
      addError('Nro do documento de saída não foi informado, não é possível imprimir o cupom');
      header("Location:erpc_faturar_pedidos_list.php");
    }

    if(!isset($fl_print_web)){
      $fl_print_web  = false;
    }
    
    if(isset($_GET['web'])){
      $fl_print_web=true;
    }

    /* se habilitou a impressão via Navegador em inc/parametros_sat.php, abre nova janela */
    if($fl_print_web==true){
      $id_crip = $_GET['id'];
      header("Location:inc/nfc_print_web.php?id=$id_crip");
    }

    $id_crip = $_GET['id'];
    $id = base64_decode($id_crip);
    $consulta = "select ds_numnf, ds_xml from erpc_documentos_saida where id_status_xml_interno = 1 and id = $id";

    $resultado = mysqli_query($conexao, $consulta) or die ($erro = mysqli_error($conexao));
    if (mysqli_num_rows($resultado)>0) {
          while ($registro = mysqli_fetch_assoc($resultado)){
            $ds_numnf   = $registro['ds_numnf'];
            $xml_string = $registro['ds_xml'];
          }
    }

    if($xml_string==''){
      $p_msg = "Erro ao imprimir: Não foi possível obter as informações do documento de saída Nro $id";

      if(!isset($_GET['codepdv'])){
        addError($p_msg);
        header("Location:erpc_faturar_pedidos_list.php");
      }else{
        echo $p_msg;
      }
      exit;
    }
	
	$sql_pedido = "SELECT id_pedido_liberados FROM `erpc_pedidos_documentos_saida` WHERE id_documento_saida = $id";
    $resultado_pedido = mysqli_query($conexao, $sql_pedido) or die ($erro = mysqli_error($conexao));
    if (mysqli_num_rows($resultado_pedido)>0) {
        while ($registro = mysqli_fetch_assoc($resultado_pedido)){
            $id_pedido = base64_encode($registro['id_pedido_liberados']);
        }
    }
    if(!isset($_SESSION['nr_qtd'])){
        $parametros = parametros_getByNome('qtd_recibos');
        if($parametros !== false){
            $_SESSION['nr_qtd'] = base64_encode($parametros['ds_valor']);
        }else{
          $parametros = parametros_create();
          $parametros['ds_parametro'] = 'qtd_recibos';
          $parametros['ds_valor'] =  '0';
          parametros_insert($parametros);
          $_SESSION['nr_qtd'] = base64_encode("0");
        }
    }
    
    $nr_qtd = $_SESSION['nr_qtd'];
    
    if($_SESSION['impressao_pdv'] == 1){
        $nr_qtd = 0;
    }

    try{
      // escreve o arquivo no diretorio xml temporario { Simples Conferência }
      $myfile = fopen("xml/xml_venda.xml", "w+") or die("Unable to open file!");
      //header( 'Content-type: text/xml' ); preg_replace("/(\t+)/", "", $r_xml)
      fwrite($myfile, $xml_string);
      fclose($myfile);

      /* Validar o XML antes de enviar para a impressora */
      $doc = @simplexml_load_string($xml_string);
      if(!$doc){
        throw new Exception("O Xml gerado para o Documento de Saída: $id é inválido!");
      }
    }catch(Exception $e){
      $msg_error = 'Houve um erro ao imprimir: ' .  $e->getMessage() . "\n";
      addError($msg_error);
      header("Location:$redirect");
    }
  $p_mensagem = "Imprimindo Cupom Nro: $ds_numnf... Por Favor aguarde.!";

/*
    $data = array(
            'xml'     => "$xml_string"  ,
            'include' => 'inc/nfc_print_venda.php',
            'printer' =>   $nm_printer, // smb://192.168.0.106/epson
            'id_usuario'=> $id_usuario,                     // ID   do usuário Logado
            'nm_usuario'=> $nm_usuario,               // Nome do Usuário Logado
            'ds_versao_sw'=>'ERPC_CODE_2017_V1.00', // Versão do Aplicativo da SW - CODECRM
            );

*/

?>

<div class="content controls">
  <div class="progress">
      <?=$p_mensagem;?>
      <div id="theBar" class="progress-bar progress-bar-info progress-bar-striped active" role="progressbar" aria-valuenow="1" aria-valuemin="0" aria-valuemax="100" style="width: 00%">
          <!-- <span class="sr-only"></span>-->
      </div>
  </div>
</div>

<div class="block" hidden>
  <form method="post" action="<?=$url?>"  id=validate_custom>
    <input type="text" id="id_documento_saida" name="id_documento_saida" value="<?=$id;?>"/>
    <div class="content controls">
      <div class="form row">
        <div class="col-md-2"><label>xml:</label></div>
        <div class="col-md-10">
          <textarea rows="10" id="xml" name="xml" value=<?php echo "<pre>$xml_string"; ?> </textarea></div>
      </div>
      <div class="form row">
        <div class="col-md-2"><label>include:</label></div>
        <div class="col-md-10"><input type="text" id="include" name="include" value="<?=$nm_include;?>"/></div>
      </div>
      <div class="form row">
        <div class="col-md-2"><label>nm_printer:</label></div>
        <div class="col-md-10"><input type="text" id="printer" name="printer" value="<?=$nm_printer;?>"/></div>
      </div>
      <div class="form row">
        <div class="col-md-2"><label>id_usuario:</label></div>
        <div class="col-md-10"><input type="text" id="id_usuario" name="id_usuario" value="<?=$id_usuario;?>"/></div>
      </div>
      <div class="form row">
        <div class="col-md-2"><label>nm_usuario:</label></div>
        <div class="col-md-10"><input type="text" id="nm_usuario" name="nm_usuario" value="<?=$nm_usuario;?>"/></div>
      </div>
      <div class="form row">
        <div class="col-md-2"><label>ds_versao_sw:</label></div>
        <div class="col-md-10"><input type="text" id="ds_versao_sw" name="ds_versao_sw" value="ERPC_CODE_2017_V1.00"/></div>
      </div>

      <!--
      <div class="form-row">
        <input type="text" name="fl_print_web" id="fl_print_web" value="<?=$fl_print_web;?>">
      </div>
      -->

      <button type="button" name="btn-enviar" id="btn-enviar" class="btn btn-primary btn-cleanx">Enviar</button>

    </div>

    <div class="form-row">
      <div id="dialog" title="Confirmação" hidden>
          <span>Cupom foi impresso com sucesso? N.ro
          <?php echo $ds_numnf;?>?</span>
        <br>
        <br>


          <button type="button" name="btn-sim"    id="btn-sim" class="btn btn-primary btn-cleanx">Sim</button>
          <button type="button" name="btn-nao"    id="btn-nao" class="btn btn-default btn-cleanx">Não</button>

        </form>
      </div>
    </div>

  </form>
</div>
<iframe hidden name="frameImpressao" src="" height="200" width="300"></iframe>
<div id='post-result'></div>

<script type="text/javascript" src="js\jquery-3.1.1.min.js"></script>

<?

if(!isset($_GET['codepdv'])){
  echo "<br><p class='btn btn-primary btn-cleanx'><a href='$redirect'/>Verifique se o Cupom foi impresso com sucesso! Clique aqui para retornar</a></p>";
}

  include_once "footer.php";

?>

<!-- Incluido a última versão do JQuery, necessidade do EasySat -->


<!-- Script para POST automático do Form -->
<script type='text/javascript'>
$(document).ready(function() {

    // $('.navbar').attr('hidden', 'true');


    var b_post = false;
    var s_post = '';

	function imprime_frame(pedido, qtd){
        window.frames[0].location = "impressao_recibo.php?id_pedido="+pedido+"&nr_qtd="+qtd;
    }
	
    /*
    $("#dialog").dialog({
      autoOpen: false,
      modal: true
    });
    */

    // Barra de prograsso para comunicação com o Sat
    var i = 40;
    var counterBack = setInterval(function () {
      i--;
      if (i > 0) {
        $('.progress-bar').css('width', i + '%');
        $("#theBar").html(i + '% do ');
        if(b_post==true){
          $('#post-result').append("<br>Cupom impresso com sucesso!");
		  imprime_frame('<?php echo $id_pedido; ?>', '<?php echo $nr_qtd; ?>');
          clearInterval(counterBack);
          // $("#dialog").dialog("open");
        }
      } else {
        clearInterval(counterBack);
        // $("#dialog").dialog("open");
      }
    }, 1000);


    $("#btn-enviar").on('click', function(){
        var v_post = $("#validate_custom").attr('action');
        $.post(v_post,
            $('#validate_custom').serialize(),
            function(data,status){
              if(data!=""){
                s_post = data;
              }else{
                b_post = true;
              }
              $('#post-result').append(s_post);
            }
        );
    });

    $(document).ajaxError(function(event, request, settings, exception) {
      $("#post-result").append( "<li>Error requesting page " + settings.url + "</li>" );
      $("#post-result").append( "<li>Error : " + request.status + "</li>" );
    });

    /*
    $("#btn-sim").on('click', function(){
      window.location= 'erpc_faturar_pedidos_list.php';
      window.close();
    });

    $("#btn-nao").on('click', function(){
      window.location = 'erpc_faturar_pedidos_list.php';
    });
    */

    $("#btn-enviar").click();

  }(jQuery));
</script>
