Files
ventas_php/modules/bonificaciones-pendientes.php

210 lines
8.2 KiB
PHP
Executable File

<?php
$empresa->AuthUser();
$bonificacion->SetPage($_GET["p"]);
///// EVALUACION DE PEDIDOS
$evaluarPedidos = $evaluacion->Enumerate();
$evaluacion->ActualizaPendientes();
$rfc->setRfcId("1");
$rfcInfo = $rfc->Info();
$items = array();
$politicas = $politica->EnumerateAll();
//print_r($evaluarPedidos);
foreach($evaluarPedidos['items'] as $res)
{
$proveedor->setProveedorId($res['proveedorId']);
$res['proveedor'] = $proveedor->GetNameById();
$proveedorInfo = $proveedor->Info();
$porcentajeBonifProveedor = $proveedorInfo['bonificacion'];
$evaluacion->setPedidoId($res['pedidoId']);
$evaluacion->setPlazo($res['plazo']);
$evaluacion->setFecha($res['fechaOrdenCompIng']);
$evaluacion->setBonificacion($res['bonificacion']);
//echo $res['plazo']." ".$res['proveedor'];
/*$bonificacion->setPedidoId($res['pedidoId']);
$bonificacion->setPlazo($res['plazo']);
$bonificacion->setFecha($res['fechaEntrega']);
$bonificacion->setBonificacion($res['bonificacion']);*/
//echo $res['plazo']." ".$res['proveedor']."<br>";
if($evaluacion->evaluar() || $evaluacion->evaluar2())
{
$productosRes = $evaluacion->searchProductos();
$productosR = array();
foreach($productosRes as $resP)
{
$auxiliar = 0;
$bonificacion->setProdItemId($resP['prodItemId']);
$bonificacion->setProveedorId($resP['proveedorId']);
$bonificacion->setPedidoId($resP['pedidoId']);
$bonificacion->setProductoId($resP['productoId']);
if($bonificacion->checkBonificacion() || ($bonificacion->checkBonificacion2() && $evaluacion->evaluar2()))
{
/*$atribVal->setAtribValId($resP['tallaId']);
$talla = utf8_encode($atribVal->GetNameById());
$atribVal->setAtribValId($resP['colorId']);
$color = utf8_encode($atribVal->GetNameById());*/
$evaluacion->setProductoId($resP['productoId']);
$resP['disponible'] = $evaluacion->GetDisponible();
$resP['total'] = $evaluacion->GetTotalProductosPedido();
$resP['vendido'] = $evaluacion->GetTotalVendidos();
$resP['porcentajeVendido'] = $evaluacion->evaluarVentas();
$resP['costoTotal'] = $resP['total']*$resP['costo'];
foreach($politicas as $key => $politica)
{
$porcentaje1 = $politicas[$key]['porcentajeEvaluacion'];
if(isset($politicas[$key+1]['porcentajeEvaluacion']))
$porcentaje2 = $politicas[$key+1]['porcentajeEvaluacion'];
else
$porcentaje2 = 0;
//echo $resP['porcentajeVendido']." >= ".$porcentaje2." && ".$resP['porcentajeVendido']." < ".$porcentaje1."<br>";
if($resP['porcentajeVendido'] >= $porcentaje2 && $resP['porcentajeVendido'] < $porcentaje1)
{
$auxiliar = 1;
//echo $porcentaje1."-".$porcentaje2."<br>";
//$resP['costoBonificacion'] = $resP['disponible']*(($resP['costo']*$porcentajeBonifProveedor)/100);
$resP['costoBonificacion'] = $resP['disponible']*(($resP['costo']*$politicas[$key]['porcentajeBonificacion'])/100);
$resP['porcentajeAplicado'] = $politicas[$key]['porcentajeBonificacion'];//$politica['porcentajeBonificacion'];
if($politica['tipo'] == "Devolucion")
{
$resP['costoBonificacion'] = $resP['disponible']*$resP['costo'];
//echo "#####".$resP['productoId']."<br>";
//$resP['costoBonificacion'] = "";
$resP['porcentajeAplicado'] = "";
}
}
}
$resP['nombre'] = $resP['modelo'];//.' '.$talla.' '.$color;
//print_r($resP);
if($auxiliar == 1)
$productosR[] = $resP;
}
}
//print_r($productosR);
$res['productos'] = $productosR;
$items[] = $res;
}
}
$evaluarPedidos['items'] = $items;
//print_r($evaluarPedidos);
//{foreach from=$evaluarPedidos.items item=item key=key}
foreach($evaluarPedidos['items'] as $key => $evalua)
{
foreach($evalua['productos'] as $kk => $prod)
{
/*{if $it.porcentajeAplicado neq ""}
<img src="{$WEB_ROOT}/images/icons/add.png" class="spanAdd" border="0"
id="{$it.productoId}##{$it.prodItemId}##{$item.pedidoId}##{$item.proveedorId}##{$it.costo}##{$it.total}##{$it.disponible}##{$it.vendido}##{$it.porcentajeVendido}##{if $it.porcentajeAplicado > 0}{$it.porcentajeAplicado}{else}0{/if}##{if $it.costoBonificacion > 0}{$it.costoBonificacion}{/if}" title="Aplicar Bonificacion"/>
{/if}
{if $it.costoDevolucion neq ""}*/
if($prod['porcentajeAplicado'] == "")
{
$tipo = "Devolucion";
}else
{
$tipo = "Bonificacion";
}
//print_r($prod); exit(0);
$productoId = $prod['productoId'];
$prodItemId = $prod['prodItemId'];
$pedidoId = $prod['pedidoId'];
$proveedorId = $prod['proveedorId'];
$costo = $prod['costo'];
$total = $prod['total'];
$disponible = $prod['disponible'];
$vendido = $prod['vendido'];
$porcentajeVendido = $prod['porcentajeVendido'];
$porcentajeAplicado = $prod['porcentajeAplicado'];
$pagoTotal = $prod['costoBonificacion'];
$porcentajeBonifica = $prod['bonificacion'];
$cantidad = $prod['costoBonificacion'];
$restante = $pagoTotal - $cantidad;
$bonificacion->setProdItemId($prodItemId);
$bonificacion->setProveedorId($proveedorId);
$bonificacion->setPedidoId($pedidoId);
$bonificacion->setProductoId($productoId);
$bonificacion->setPorcentajeBonifica($porcentajeBonifica);
$bonificacion->setPagoTotal($pagoTotal);
$bonificacion->setRestante($restante);
$bonificacion->setPorcentajeAplicado($porcentajeAplicado);
$bonificacion->setTotal($total);
$bonificacion->setCosto($costo);
$bonificacion->setDisponible($disponible);
$bonificacion->setVendido($vendido);
$bonificacion->setPorcentajeVendido($porcentajeVendido);
//$bonificacion->setCantidad($cantidad);
$bonificacion->setTipo($tipo);
$bonificacion->Save();
}
}
///// FIN EVALUACION DE PEDIDOS
$bonificaciones = $bonificacion->Enumerate();
foreach($bonificaciones['items'] as $key => $productosBonificacion)
{
$proveedor->setProveedorId($productosBonificacion['proveedorId']);
$bonificaciones['items'][$key]['nombreProveedor'] = $proveedor->GetNameById();
$bonificacion->setProductoId($productosBonificacion['productoId']);
$bonificacion->setPedidoId($productosBonificacion['pedidoId']);
$resP = $bonificacion->searchProductoById();
$producto->setProductoId($productosBonificacion['productoId']);
$infoProd = $producto->Info();
/* $atribVal->setAtribValId($resP['tallaId']);
$talla = utf8_encode($atribVal->GetNameById());
$atribVal->setAtribValId($resP['colorId']);
$color = utf8_encode($atribVal->GetNameById());*/
//echo $productosBonificacion['totalProductos']."***".$productosBonificacion['costoProducto']."<br>";
$bonificaciones['items'][$key]['nombreProducto'] = $infoProd['modelo'];//$productosBonificacion['modelo'];//.' '.$talla.' '.$color;
$bonificaciones['items'][$key]['codigoBarra'] = $infoProd['codigoBarra'];
$bonificaciones['items'][$key]['costoTotal'] = $productosBonificacion['totalProductos']*$productosBonificacion['costoProducto'];
$bonificaciones['items'][$key]['costoTotalVendido'] = $productosBonificacion['vendido']*$productosBonificacion['costoProducto'];
@$bonificaciones['items'][$key]['porcentajeUtilidad'] = ($bonificaciones['items'][$key]['costoTotal']-$bonificaciones['items'][$key]['costoTotalVendido'])/$bonificaciones['items'][$key]['costoTotalVendido'];
if($bonificaciones['items'][$key]['costoTotal'] > $bonificaciones['items'][$key]['costoTotalVendido'])
$bonificaciones['items'][$key]['porcentajeUtilidad'] = "-".$bonificaciones['items'][$key]['porcentajeUtilidad'];
}
//print_r($bonificaciones);
$resPedidos = $evaluacion->GetPedidos();
//print_r($resPedidos);
foreach($resPedidos as $key => $resPedido)
{
$evaluacion->setPedidoId($resPedido['pedidoId']);
$proveedor->setProveedorId($resPedido['proveedorId']);
$resPedidos[$key]['compraFirme'] = $proveedor->GetCompraFirme();
$totalBonificaciones = $evaluacion->getTotalBonificaciones();
$totalDevoluciones = $evaluacion->getTotalDevoluciones();
$resPedidos[$key]["totalBonificacion"] = $totalBonificaciones;
$resPedidos[$key]["totalDevolucion"] = $totalDevoluciones;
}
$smarty->assign('resPedidos', $resPedidos);
$smarty->assign('bonificaciones', $bonificaciones);
?>