<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');

// Banco de Dados
require_once 'connect.php';
require_once 'messages.php';
require_once "comanda_class.php";
require_once "Xml.Class.php";


$ReciboCode = new ReciboCode();
$xml     = new Xml();


class ReciboXmlVenda{

  private $set_msg = array();
  private $id_documento=0;
  private $s_trib_federal = 0;
  private $s_trib_estadual= 0;
  private $s_trib_municipal=0;
  private $p_ds_chave_ibpt = '';

  private $documentos_emitente = array();
  private $documentos_saida   = array();
  private $documentos_cliente = array();
  private $documentos_produto = array();


  public function __construct(){

	$this->xml = new Xml();
	$this->ReciboCode= new ReciboCode();
    $this->xml->openTag("CFe");
    $this->xml->openTag('infCFe versaoDadosEnt="0.07"');
  }

  // retorna as informações do emitente
  function getSQLtoTag($p_tag_sql, $p_tag_name) {
    global $conexao;

    // cria uma tag e transforma o resultado do array para um XML
    //Abrindo a Tag de Resposta
	$this->xml->openTag($p_tag_name);
    foreach ($p_tag_sql as $key => $value) {
      if($key!='nr_documento'){
        $this->xml->addTag($key, $value);
      }
    }

    // fecha a tag e retorna o resultado
    $this->xml->closeTag($p_tag_name);
    return $this->xml;
    }



  // inclui o produto no Xml
  function getProdutoToTag($p_produtos){
    global $conexao;

    for ($i=0; $i < count($p_produtos) ; $i++) {
      $p_nr_item  = $i +1;


      $p_tag_name = 'det nItem="' . $p_nr_item . '"';
      
      $this->xml->openTag($p_tag_name);
      
      
      $this->xml->openTag('prod'); // dados do produto
      
      $this->xml->addTag('cProd', $p_produtos[$i]['cProd']);
      $this->xml->addTag('xProd', $p_produtos[$i]['xProd']);
      $this->xml->addTag('qCom', $p_produtos[$i]['qCom']);
      $this->xml->addTag('uCom' , $p_produtos[$i]['uCom']);
      $this->xml->addTag('Obs' , $p_produtos[$i]['Obs']);
      $this->xml->addTag('xComanda' , $p_produtos[$i]['xComanda']);


      $this->xml->closeTag('prod');
      $this->xml->closeTag('det');

    }
  }


  /* função que verifica se todos os dados do cupom estão OK ! */
    function getDados($id_pedido_liberado){

      $r_getDados = true;
	  $this->id_documento=$id_pedido_liberado;

	  $this->ReciboCode->nr_nota= $id_pedido_liberado;
      
      $sql_produto = $this->ReciboCode->getProdutos($id_pedido_liberado);

      //$xml_ide = $this->getSQLtoTag($sql_ide[0],"ide");
      //$xml_emi = $this->getSQLtoTag($sql_emitente[0], "emit");
      //$xml_emi = $this->getEmitenteToTag($sql_emitente, $sql_enderemit);

      //$xml_cli = $this->getSQLtoTag($sql_cliente[0] , "dest");
      // $xml_entrega  = $this->getSQLtoTag($sql_entrega[0] , "entrega");
	  
	  $xml_pro = $this->getProdutoToTag($sql_produto);
      
      $this->xml->closeTag("infCFe");
      $this->xml->closeTag("CFe");
	  //$xml_tot = $this->getTotaisTotTag($sql_totais);
      
      /*
      echo "<pre>";
      echo $this->xml;
      echo "</pre">
      exit;
      */
      
      return $this->xml;
    }

}



?>
