<?php
require_once 'inc/usuario.php';

checkLogin('login.php');

  $ds_logo = ''; // trim($_POST['ds_logo']);

  $dir     = 'xml/entradas/';
  
  if (!empty($_FILES['arquivo']['name'])) {
    $arquivo =  $dir . $_FILES['arquivo']['name'];
    if(!is_dir($dir)){
      mkdir($dir);
    }
    $ok      = move_uploaded_file($_FILES['arquivo']['tmp_name'], $arquivo);
    echo "<br>resultado move_uploaded_file:$ok";

    /*Validar se o arquivo é um XML da Sefaz*/
    /*
    $doc = new DOMDocument();
    $doc->load($arquivo);
    $books = $doc->getElementsByTagName("NFe"); // NFe - infNFe

    echo "<br>Número de Elementos do XML " .  count($books);
    */
	}

  echo "<br>fim da copia do arquivo: $arquivo";
  
  // capturando o usuário e unidade logado
  $usuario_entrada = getLoggedUser();
  $id_usuario=$usuario_entrada['id'];
  $id_unidade=$usuario_entrada['unidade'];
  $cd_status_nfe  ='';
  $cd_status_nfe  ='';
  $ds_recibo_sefaz='';
  $id_status_xml_importado = 1;
  $id_tipo_ambiente = '1';
  $st_ativo = 1;

  /* Carrega o conteúdo do XML{file} para String para inclusão no BD */
  try {
    echo "<br>Lendo o arquivo:$arquivo";
    $xml = simplexml_load_file($arquivo);
    // $xml = simplexml_load_string($xml_string);
    
    $ds_chave = preg_replace("/[^0-9]/", "", $xml->NFe->infNFe['Id']);

    if(!isset($xml->NFe)){
      addError("Formato do arquivo XML inválido ou não encontrado a TAG NFe | $arquivo");
      header("location:erpc_nfecode_importacao_painel.php");
    }
    $ds_numnf = $xml->NFe->infNFe->ide->cNF;
    $ds_serie = $xml->NFe->infNFe->ide->serie;
    $originalDate=$xml->NFe->infNFe->ide->dhEmi;
    $id_tipo_ambiente=$xml->NFe->infNFe->ide->tpAmb;
    // $dh_emissao=date("d-m-Y H:i:s", strtotime($originalDate));
    $dh_emissao=date("Y-m-d H:i:s", strtotime($originalDate));

    $id_finalidade_nfe= $xml->NFe->infNFe->ide->finNFe;
    $vl_total_nfe     = $xml->NFe->infNFe->total->ICMSTot->vNF;
    $ds_infCpl        = $xml->NFe->infNFe->infAdic->infCpl;
    $ds_xml_cnpj      = $xml->NFe->infNFe->emit->CNPJ;
    $ds_xml_razao     = $xml->NFe->infNFe->emit->xNome;  

    /* Verifica se a Nfe já foi validada e liberada */
    if(isset($xml->protNFe->infProt)){
      $cd_status_nfe  = $xml->protNFe->infProt->cStat;
      $ds_status_nfe  = $xml->protNFe->infProt->xMotivo;
      $ds_recibo_sefaz= $xml->protNFe->infProt->nProt;

      if($cd_status_nfe=="100"){
        $id_status_xml_importado = 2;
      }
    }

    $ds_xml           = base64_encode($xml->asXML());
  }catch (Exception $e) {
    $msg_erro = "Houve um erro ao ler o XML: " . $arquivo . " - " . $e -> getMessage() . "\n";
    addError($msg_erro);
    echo $msg_erro;
  }

if(isset($_POST['adicionar']) && $ds_chave!="" ){
  $id_usuario=$usuario_entrada['id'];
  $id_unidade=$usuario_entrada['unidade'];
  $st_ativo = 1;

    
  $sql  = "insert into erpc_documentos_entrada(
           st_ativo, id_unidade, id_usuario, id_status_xml_importado, id_tipo_ambiente, id_finalidade_nfe, st_tipo_entrada, ds_chave, ds_numnf, ds_serie, dh_emissao, vl_total_nfe, ds_infCpl, ds_xml_cnpj, ds_xml_razao, ds_xml, 
             cd_status_nfe, ds_status_nfe, ds_recibo_sefaz)
    values($st_ativo, $id_unidade, $id_usuario, $id_status_xml_importado, $id_tipo_ambiente, 
    $id_finalidade_nfe, 1, '$ds_chave', '$ds_numnf', '$ds_serie', '$dh_emissao', '$vl_total_nfe', '$ds_infCpl$', '$ds_xml_cnpj', '$ds_xml_razao', '$ds_xml',
      '$cd_status_nfe', '$ds_status_nfe', '$ds_recibo_sefaz')";
}
// executa sql
if($sql!=""){
  $sql = str_replace("''", "null", $sql);

	$stmt = mysqli_prepare($conexao, $sql) or die(mysqli_error($conexao) . '<br />' . $sql);
	$ok   = mysqli_stmt_execute($stmt) or die(mysqli_error($conexao));

  if($ok=1){
    addMessage("XML incluído com sucesso: $ds_chave");
  }
}

  header("location:erpc_nfecode_importacao_painel.php");
?>
<!--
<script type='text/javascript'/>window.location.assign("erpc_nfecode_importacao_painel.php");</script>
->