<?php
require_once 'inc/usuario.php';
require_once 'inc/documento_saida_class.php';
require_once 'inc/orcamento.php';
require_once 'inc/liberar_orcamentos.php';
require_once 'inc/faturar_pedidos_venda_rapida.php';
require_once 'inc/clientes.php';

date_default_timezone_set('America/Sao_Paulo');

if(!isset($_SESSION)) {  
  session_start();
}

// capturando o usuário e unidade logado
$usuario_pedido = getLoggedUser();
$pedidos_venda['id_usuario']=$usuario_pedido['id'];
$pedidos_venda['id_unidade']=$usuario_pedido['unidade'];
$redirect = 'blablabla.html';


if ($_SERVER['REQUEST_METHOD'] == 'POST' or $_SERVER['REQUEST_METHOD'] == 'GET') {
  /*
  echo "<br>nr_pedido===>"  . $_POST['nr_pedido'];
  echo "<br>btn-fatura===>" . isset($_POST['btn-fatura']);
  */
  if (isset($_POST['btn-add'])) {
    $redirect = 'desktop.php';

    $MeuPedido     = new MeuPedido();
    $pedidos_venda = ler_pedidos_venda();
    
    // se não informou o cliente, seta como 1 NÃO IDENTIFICADO
    if($pedidos_venda['id_cliente']==''){
      $pedidos_venda['id_cliente']=1;
    }

    // se informado o CPF do cliente, faz a inclusão no BD
    //if($pedidos_venda['ds_cnpj_cpf']!==""){
    if(strlen($pedidos_venda['ds_cnpj_cpf']) >= 11){
            $consulta  = "CALL pr_incluir_consumidor_nfp(?)";

            /* Somente números para uma consulta mais limpa */
            $p_cnpj_cpf=  preg_replace("/[^0-9]/", "", $pedidos_venda['ds_cnpj_cpf']);

            $stmt = mysqli_prepare($conexao, $consulta);
            mysqli_stmt_bind_param($stmt, 's', $p_cnpj_cpf);
            
            mysqli_stmt_execute($stmt);
            
            // 4 - Não é necessário retorno de dados
            $result = mysqli_stmt_get_result($stmt);

            echo "<br>Linhas: " . $result -> num_rows;


            if($result -> num_rows > 0){
              $row = mysqli_fetch_array($result, MYSQLI_NUM); // MYSQLI_NUM ou MYSQLI_ASSOC

              $p_id_cliente = $row[0] ; // . ";"
            }
            mysqli_stmt_close($stmt);
            $pedidos_venda['id_cliente']=$p_id_cliente;
    }elseif($pedidos_venda['ds_cnpj_cpf']!==''){
        $clientes = clientes_getById($pedidos_venda['ds_cnpj_cpf']);
        echo $clientes['id'];
        if ($clientes) {
            $pedidos_venda['id_cliente']=$pedidos_venda['ds_cnpj_cpf']; 
        }
    }
    
    
    /*
    echo "<br>id_cliente:" . $pedidos_venda['id_cliente'];
    echo "<br>ds_cnpj_cpf:" . $pedidos_venda['ds_cnpj_cpf'];
    echo "<pre>";
    print_r($pedidos_venda);
    echo "</pre>";
    exit;
    */


    // 19/03/2018 Inclusão do Campo vl_pagamento == vl_total_venda 
    $pedidos_venda['vl_total_pedido'] = str_replace(",",".",$pedidos_venda['vl_total_pedido']);
    
    if($pedidos_venda['vl_total_pedido'] < $pedidos_venda['vl_total_produtos']){
        $pedidos_venda['vl_total_pedido'] = $pedidos_venda['vl_total_produtos'];
    }
    if($pedidos_venda['id_forma_pagamento'] != 1){
        $pedidos_venda['vl_total_pedido'] = $pedidos_venda['vl_total_produtos'];
		$pedidos_venda['vl_pagamento']  = $pedidos_venda['vl_total_produtos'];
    }elseif($pedidos_venda['id_forma_pagamento'] == 1){
		$pedidos_venda['vl_pagamento']  = $pedidos_venda['vl_total_pedido'];
		$pedidos_venda['vl_total_pedido'] = $pedidos_venda['vl_total_produtos'];
	}
    
    //$pedidos_venda['vl_pagamento']  = $pedidos_venda['vl_total_pedido'];


    /*
    echo "<pre>";
    print_r($pedidos_venda);
    echo "</pre>";
    exit;
    */
    /*
    // varre os itens, informando o tipo de saída e unidade de medida
    for ($i=0; $i < count($pedidos_venda['itens']) ; $i++) {
      $pedidos_venda['itens'][$i]['id_tipo_movimentacao']= '510';
      $pedidos_venda['itens'][$i]['id_unidade_medida']   = 'PC';
    }
    */
    

    $ok = $MeuPedido->pedidos_venda_insert($pedidos_venda);
    // Liberação do Pedido
    if ($ok === false) {
      $redirect = 'desktop.php';
    }else{
      // Liberação imediata do pedido de venda
      
      $LiberarVendaRapida = new LiberarVendaRapida();
      $nr_pedido = $MeuPedido->pedidos_venda_getID();
      $ar_libera = array($nr_pedido);

      //passa um array com o número do pedido incluído 
      $LiberarVendaRapida->setPedidos($ar_libera);
      $LiberarVendaRapida->setAllPedidos();

      //retorna o array com a ID do Pedido Liberado
      $ar_pedido= $LiberarVendaRapida->getPedidos();
        
      //$redirect = 'erpc_venda_rapida_question.php?id_pedido=' . base64_encode($ar_pedido);
      //$redirect = 'erpc_venda_rapida_question.php?pedidos=' . http_build_query($ar_pedido);
      
      $nr_ped_orig = base64_encode($ar_pedido[0]['PedOrig']);
      $nr_ped_libe = base64_encode($ar_pedido[0]['PedLibe']);
      //$redirect = "erpc_venda_rapida_question.php?PedOrig=$nr_ped_orig&PedLibe=$nr_ped_libe";
      $redirect = "erpc_orcamento_recibo.php?id_pedido=$nr_ped_orig&id_pedido_original=$nr_ped_libe";
      
    }
  } else if (isset($_POST['btn-fatura']) or isset($_GET['codepdv'])){

    /* 02/03/2018 04:55 Redirecionar página de faturamento ou PDV */
    if(isset($_POST['btn-fatura'])){
      $nr_pedido = $_POST['id_pedido'];
    }else{
      $nr_pedido_crip = $_GET['id_pedido']; // DO PDV SERÁ ENVIADO O MÉTODO GET
      $nr_pedido = base64_decode($nr_pedido_crip);

      echo "<br>Numero do Pedido: $nr_pedido";
    }

    $ar_pedido = array($nr_pedido);
    // echo "<br>$nr_pedido";

    /* informar sempre o array com o números dos pedidos liberados */
    $FaturarVendaRapida = new FaturarVendaRapida();
    $FaturarVendaRapida->setPedidos($ar_pedido);
    $FaturarVendaRapida->setAllFaturar(59);

    $id_doc_sai = $FaturarVendaRapida->getNumeroDocumentoSaida();
    $id_doc_sai_crip = base64_encode($id_doc_sai);

    $redirect = "erpc_nfccode_xml_venda.php?id=$id_doc_sai_crip" . (isset($_GET['codepdv']) ? "&codepdv" : '');

  } else if (isset($_POST['btn-edit'])) {
    $ok = pedidos_venda_update($pedidos_venda);
    if ($ok === false) {
      $redirect = 'erpc_venda_rapida_edit.php?id=' . urlencode(base64_encode($pedidos_venda['id']));
    }
  } else if (isset($_POST['btn-remove'])) {
    $ok = pedidos_venda_delete($pedidos_venda);
    if ($ok === false) {
      $redirect = 'erpc_venda_rapida_remove.php?id=' . urlencode(base64_encode($pedidos_venda['id']));
    }
  }
  header("Location:$redirect");
  exit;
}

function ler_pedidos_venda() {
  date_default_timezone_get('America/Sao_Paulo');
  global $MeuPedido;

  $pedidos_venda = $MeuPedido->pedidos_venda_create();

  if (isset($_POST['pedidos_venda'])) {
    $pedidos_venda = array_replace_recursive($pedidos_venda, $_POST['pedidos_venda']);
  }



  foreach($pedidos_venda as $k => $v) {
    $pedidos_venda[$k] = sgcws_sanitize_field($k, $v);

    //  echo "<br> $key ==> $v";
  }

  $itens = $pedidos_venda['itens'];
  foreach($itens as $i => $item) {
    foreach($item as $k => $v) {
      $item[$k] = sgcws_sanitize_field($k, $v);
    }
    $itens[$i] = $item;
  }
  $pedidos_venda['itens'] = $itens;

return $pedidos_venda;
}
