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

date_default_timezone_set('America/Sao_Paulo');

checkLogin('login.php');

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  require_once 'inc/pedidos_venda.php';
  // $redirect = 'erpc_pedidos_venda_list.php';
  $st_pedido = base64_encode(0);
  //$redirect = 'erpc_pedidos_venda_list.php?st_pedido=' . $st_pedido;
  $redirect = 'erpc_pedidos_filter.php';
  $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;
  }

  // capturando o usuário e unidade logado
  $usuario_pedido = getLoggedUser();
  $pedidos_venda['id_usuario']=$usuario_pedido['id'];
  $pedidos_venda['id_unidade']=$usuario_pedido['unidade'];
  
  /* Valores Padrões Transportadora */
  if($pedidos_venda['vl_servico']==""){
  	 $pedidos_venda['vl_servico']="0";
  };
  
  if($pedidos_venda['qt_volumes']==""){
     $pedidos_venda['qt_volumes']="0";
  };
  
  if($pedidos_venda['nr_peso_liquido']==""){
	 $pedidos_venda['nr_peso_liquido']="0";
  };
  
  if($pedidos_venda['nr_peso_bruto']==""){
	 $pedidos_venda['nr_peso_bruto']="0";
  };

  /* 19/03/2018 Inclusão do campo vl_pagamento, */
  if(!isset($pedidos_venda['vl_pagamento'])){
    $pedidos_venda['vl_pagamento']  = $pedidos_venda['vl_total_pedido'];
  }



  /* Edival 09/04/2018 10:17 - Aplicar rateiro de desconto aos itens do produto, caso haja desconto total */
  $vl_desconto_total = floatval($pedidos_venda['vl_desconto']);
  // echo "<BR>APLICANDO VALOR DESCONTO $vl_desconto_total";

  if($vl_desconto_total > 0){
    $vl_total_produtos = floatval($pedidos_venda['vl_total_produtos']);

    foreach ($pedidos_venda['itens'] as $key => $item) {
      $nr_quantidade = floatval($item['nr_quantidade']);
      $vl_unitario   = floatval($item['vl_unitario']);
      $vl_desconto_produto = floatval($item['vl_desconto_produto']);

      $nr_perc_ipi   = floatval($item['nr_perc_ipi']);
      $nr_perc_icms  = floatval($item['nr_perc_icms']);

      /* Cálculo se baseia pelo valor total do item / valor total do pedido */
      $nr_perc_calculo    = round(round($nr_quantidade * $vl_unitario - $vl_desconto_produto, 2) / $vl_total_produtos, 2);
      $vl_desconto_calculo= $nr_perc_calculo * $vl_desconto_total;

      // echo "<br>ITEM [$key] ==> %  CALCULADO: $nr_perc_calculo | R$ CALCULADO: $vl_desconto_calculo";

      /* Atribuindo novos valores de cálculo */
      $vl_desconto_item= $vl_desconto_produto + $vl_desconto_calculo;
      $vl_total_item   = round($nr_quantidade * $vl_unitario - $vl_desconto_item, 2);

      $pedidos_venda['itens'][$key]['vl_desconto_produto'] = $vl_desconto_item;
      $pedidos_venda['itens'][$key]['vl_total']= $vl_total_item;
      $pedidos_venda['itens'][$key]['vl_ipi']  = round($nr_perc_ipi  * $vl_total_item / 100, 2);
      $pedidos_venda['itens'][$key]['vl_icms'] = round($nr_perc_icms * $vl_total_item / 100, 2);
    }
  }

  /*
  echo "<pre>";
  print_r($pedidos_venda);
  echo "</pre>";
  exit;*/
  
  if (isset($_POST['btn-add'])) {
    $ok = pedidos_venda_insert($pedidos_venda);
    if ($ok === false) {
      $redirect = 'erpc_pedidos_venda_add.php';
    }
  } else if (isset($_POST['btn-edit'])) {
    $ok = pedidos_venda_update($pedidos_venda);
    if ($ok === false) {
      $redirect = 'erpc_pedidos_venda_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_pedidos_venda_remove.php?id=' . urlencode(base64_encode($pedidos_venda['id']));
    }
  }
  header("Location:$redirect");
  exit;
}

function ler_pedidos_venda() {
  date_default_timezone_get('America/Sao_Paulo');
  $pedidos_venda = 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;

  // limpa e formata os campos das multiplas formas a inserir
  $formas = $pedidos_venda['formas'];
  foreach($formas as $i => $item) {
    if(empty($item['vl_pagamento'])){
      unset($formas[$i]);
      }
    elseif($item['vl_pagamento']=="R$ 0,00"){
      unset($formas[$i]);
    }
    else{
      foreach($item as $k => $v) {
        $item[$k] = sgcws_sanitize_field($k, $v);
      }
      $formas[$i] = $item;
    }
  }
  $pedidos_venda['formas'] = $formas;
  
return $pedidos_venda;
}
