<?
require_once 'connect.php';
require_once 'messages.php';
require_once 'usuario.php';

/* Criado a Classe */
class ReportPtPedido{

  public function __construct(){
      $this->dt_inicio= '01/01/1900';
      $this->dt_final = '01/01/1900';

      $this->id_tipo = '4';
      $this->ds_tipo = 'Todas';

      $usuario_list = getLoggedUser();
      $this->id_usuario=$usuario_list['id'];
      $this->id_unidade=$usuario_list['unidade'];
  }

  // métodos mágicos get e set
  public function __set($atrib, $value){
    $this->$atrib = $value;
  }

  public function __get($atrib){
    return $this->$atrib;
  }

  function getSQL($consulta){
  global $conexao;

    $ar_retorno = array();
    $resultado = mysqli_query($conexao, $consulta) or die ($erro = mysqli_error($conexao));
    	if (mysqli_num_rows($resultado)>0) {
          while ($registro = mysqli_fetch_assoc($resultado)){
            array_push($ar_retorno, $registro);
          }
    }
    return $ar_retorno;
  }

  function getTipoPesq(){
    switch ($this->id_tipo) {
      case 1: // A vencer
        $this->ds_tipo = "A vencer";
        break;

      default:
        # code...
        break;
    }
  }

  function formatarData($value){
    $dia = substr($value, 0, 2);
    $mes = substr($value, 3, 2);
    $ano = substr($value, -4);

    $dt_format = "$ano-$mes-$dia";

    return $dt_format;
  }

  function getMontarSQL(){
    $dt_inicio = $this->formatarData($this->dt_inicio);
    $dt_final  = $this->formatarData($this->dt_final );

    

    /* Cupom são pedidos faturados com a data de faturamento no período informado */
    $sql_venc = "SELECT erpc_produtos.id, erpc_produtos.cd_produto, erpc_produtos.ds_produto, erpc_produtos.qt_ponto_pedido, erpc_produtos_saldos.vl_saldo, 
                 erpc_produtos.nr_prazo_entrega, erpc_dom_tipo_prazo_entrega.ds_tipo, erpc_produtos.st_ativo
                    FROM erpc_produtos
                        INNER JOIN erpc_produtos_saldos
                        INNER JOIN erpc_dom_tipo_prazo_entrega
                            WHERE erpc_produtos.id = erpc_produtos_saldos.id_produto
                            AND erpc_produtos.id_tipo_prazo_entrega = erpc_dom_tipo_prazo_entrega.id
                            AND erpc_produtos_saldos.vl_saldo <= erpc_produtos.qt_ponto_pedido
                    GROUP BY erpc_produtos.id;";

    /* Notas são pedidos faturados com a data de faturamento no período informado */
    $sql_tot = "SELECT erpc_produtos.id, erpc_produtos.cd_produto, erpc_produtos.ds_produto, erpc_produtos.qt_ponto_pedido, erpc_produtos_saldos.vl_saldo, 
                erpc_produtos.nr_prazo_entrega, erpc_dom_tipo_prazo_entrega.ds_tipo, erpc_produtos.st_ativo
                    FROM erpc_produtos
                        INNER JOIN erpc_produtos_saldos
                        INNER JOIN erpc_dom_tipo_prazo_entrega
                            WHERE erpc_produtos.id = erpc_produtos_saldos.id_produto
                            AND erpc_produtos.id_tipo_prazo_entrega = erpc_dom_tipo_prazo_entrega.id
                    GROUP BY erpc_produtos.id;";
                            
   

    /* Monta o SQL a ser executado */
    $sql = '';

    if($this->id_tipo=='4'){
      $sql  = $sql_tot;
    }else{
      if($this->id_tipo == '1'){
        $sql = $sql_venc;
      }
    }
    
    $this->sql = $sql;
    /*
    echo "<pre>";
    echo "<br><br>$sql<br><br>";
    echo "</pre>";
    exit;
    */
    return $sql;
  }

  /* Retorna um Array com Todas as Vendas de acordo com o Filtro informado */
  function getCapturarPesq(){
    $this->getTipoPesq();

    $consulta= $this->getMontarSQL();  // Monta a String para a execução no BD

    $result  = $this->getSQL($consulta);        // Executa a Instrução no BD
    return $result;
  }
}

?>
