Files
ventas_php/ajax/evaluar-pedidos.php

519 lines
19 KiB
PHP
Executable File

<?php
include_once('../init.php');
include_once('../config.php');
include_once(DOC_ROOT.'/libraries.php');
session_start();
$p = $_SESSION['edpP'];
$projectId = $_SESSION['curProjId'];
switch($_POST['type'])
{
case 'suggestBonificacion':
$bonificacion->setPedidoId($_POST['search1']);
$bonificacion->setSearch($_POST['search2']);
$bonificacion->setStatus($_POST['filtraStatus']);
$bonificaciones = $bonificacion->EnumerateSearch();
//$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);
$bonificacion->setPedidoId($_POST['search1']);
$bonificacion->setSearch($_POST['search2']);
$bonificacion->setStatus($_POST['filtraStatus']);
$resPedidos = $bonificacion->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;
}
//print_r($bonificaciones);
$bonificaciones['items'] = $bonificacion->Util()->EncodeResult($bonificaciones['items']);
$resPedidos = $bonificacion->Util()->EncodeResult($resPedidos);
echo "ok[#]";
$smarty->assign('bonificaciones', $bonificaciones);
$smarty->assign('resPedidos', $resPedidos);
$smarty->assign('pedidoStatus',$_POST['filtraStatus']);
$smarty->display(DOC_ROOT.'/templates/lists/bonificaciones-pendientes.tpl');
break;
case 'cambiarStatus':
//$bonificacionId = $_POST['bonificacionId'];
//$justificante = $_POST['justificante'];
//$aux = $_POST['aux'];
/*if($status == "Rechazado" && $aux == 1)
{
$smarty->assign('status', $status);
$smarty->assign('bonificacionId', $bonificacionId);
echo 'Rechazo[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/justificar-rechazo-bonificacion.tpl');
exit(0);
}*/
//$bonificacion->setBonificacionId($bonificacionId);
$bonificacion->setPedidoId($_POST['pedidoId']);
$bonificacion->setTotalDevolucion($_POST['totalDevolucion']);
$bonificacion->setTotalBonificacion($_POST['totalBonificacion']);
//$bonificacion->setCantidad($totalBonificacion);
/*if($status == "Rechazado")
$bonificacion->setJustificanteRechazo($justificante);*/
if(!$bonificacion->updateStatus())
{
echo 'fail[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
}else
{
$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);
$bonificaciones['items'] = $bonificacion->Util()->EncodeResult($bonificaciones['items']);
$smarty->assign('bonificaciones', $bonificaciones);
echo 'ok[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
echo '[#]';
$smarty->display(DOC_ROOT.'/templates/lists/bonificaciones-pendientes.tpl');
}
break;
case 'addPago':
$menuBon = $_POST['menu'];
$ids = $_POST['id'];
//{$it.productoId}##{$it.prodItemId}##{$item.pedidoId}##{$item.proveedorId}
$ids = split("##", $ids);
$productoId = $ids[0];
$prodItemId = $ids[1];
$pedidoId = $ids[2];
$proveedorId = $ids[3];
$costo = $ids[4];
$total = $ids[5];
$disponible = $ids[6];
$vendido = $ids[7];
$porcentajeVendido = $ids[8];
$porcentajeAplicado = $ids[9];
$pagoTotal = $ids[10];
$evaluacion->setPedidoId($pedidoId);
$infoPro = $evaluacion->InfoPedidoProveedor();
$evaluacion->setProdItemId($prodItemId);
//echo "<br>";
$producto = $evaluacion->searchProductoById();
//print_r($producto);// exit(0);
$smarty->assign('productoId', $productoId);
$smarty->assign('prodItemId', $prodItemId);
$smarty->assign('pedidoId', $pedidoId);
$smarty->assign('proveedorId', $proveedorId);
$smarty->assign('costo', $costo);
$smarty->assign('total', $total);
$smarty->assign('disponible', $disponible);
$smarty->assign('vendido', $vendido);
$smarty->assign('porcentajeVendido', $porcentajeVendido);
$smarty->assign('porcentajeAplicado', $porcentajeAplicado);
$smarty->assign('pagoTotal', $pagoTotal);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/boxes/agregar-bonificacion-popup.tpl');
break;
case 'saveAddPago':
$productoId = $_POST['productoId'];
$prodItemId = $_POST['prodItemId'];
$pedidoId = $_POST['pedidoId'];
$proveedorId = $_POST['proveedorId'];
$costo = $_POST['costo'];
$total = $_POST['total'];
$disponible = $_POST['disponible'];
$vendido = $_POST['vendido'];
$porcentajeVendido = $_POST['porcentajeVendido'];
$porcentajeAplicado = $_POST['porcentajeAplicado'];
$pagoTotal = $_POST['pagoTotal'];
$porcentajeBonifica = $_POST['bonificacion'];
$cantidad = $_POST['cantidad'];
$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);
//exit(0);
if(!$bonificacion->Save())
{
echo 'fail[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
}else
{
/////////////
$evaluarPedidos = $evaluacion->Enumerate();
$rfc->setRfcId("1");
$rfcInfo = $rfc->Info();
$items = array();
$politicas = $politica->EnumerateAll();
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['fechaEntrega']);
$evaluacion->setBonificacion($res['bonificacion']);
if($evaluacion->evaluar())
{
$productosRes = $evaluacion->searchProductos();
$productosR = array();
foreach($productosRes as $resP)
{
// print_r($resP); exit(0);
$bonificacion->setProdItemId($resP['prodItemId']);
$bonificacion->setProveedorId($resP['proveedorId']);
$bonificacion->setPedidoId($resP['pedidoId']);
$bonificacion->setProductoId($resP['productoId']);
if($bonificacion->checkBonificacion())
{
$atribVal->setAtribValId($resP['tallaId']);
$talla = utf8_encode($atribVal->GetNameById());
$atribVal->setAtribValId($resP['colorId']);
$color = utf8_encode($atribVal->GetNameById());
$evaluacion->setProdItemId($resP['prodItemId']);
$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;
if($resP['porcentajeVendido'] <= $porcentaje1 && $resP['porcentajeVendido'] > $porcentaje2)
{
//$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['costoDevolucion'] = $resP['disponible']*$resP['costo'];
$resP['costoBonificacion'] = "";
$resP['porcentajeAplicado'] = "";
}
}
}
$resP['nombre'] = $resP['modelo'].' '.$talla.' '.$color;
$productosR[] = $resP;
}
}
$res['productos'] = $productosR;
$items[] = $res;
}
}
$evaluarPedidos['items'] = $items;
$smarty->assign('rfcInfo',$rfcInfo);
$smarty->assign('msg', $msg);
$smarty->assign('evaluarPedidos', $evaluarPedidos);
///////////////////////////////////////////////////
echo 'ok[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
echo '[#]';
$smarty->display(DOC_ROOT.'/templates/lists/evaluar-pedidos.tpl');
/*$atributos = $atributo->Enumerate();
$atributos["items"] = $util->EncodeResult($atributos["items"]);
$items = array();
foreach($atributos['items'] as $res){
$card = $res;
$atribVal->setAtributoId($res['atributoId']);
$valores = $atribVal->EnumerateAll();
$card['valores'] = $util->EncodeResult($valores);
$items[] = $card;
}
$atributos['items'] = $items;
$smarty->assign('atributos', $atributos);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/lists/atributos.tpl');*/
}
break;
case 'saveDevolucion':
$ids = $_POST['id'];
//{$it.productoId}##{$it.prodItemId}##{$item.pedidoId}##{$item.proveedorId}
$ids = split("##", $ids);
$productoId = $ids[0];
$prodItemId = $ids[1];
$pedidoId = $ids[2];
$proveedorId = $ids[3];
$costo = $ids[4];
$total = $ids[5];
$disponible = $ids[6];
$vendido = $ids[7];
$porcentajeVendido = $ids[8];
$porcentajeAplicado = $ids[9];
$pagoTotal = $ids[10];
$porcentajeBonifica = $_POST['bonificacion'];
$cantidad = $_POST['cantidad'];
$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);
//exit(0);
if(!$bonificacion->SaveDevolucion())
{
echo 'fail[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
}else
{
/////////////
$evaluarPedidos = $evaluacion->Enumerate();
$rfc->setRfcId("1");
$rfcInfo = $rfc->Info();
$items = array();
$politicas = $politica->EnumerateAll();
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['fechaEntrega']);
$evaluacion->setBonificacion($res['bonificacion']);
if($evaluacion->evaluar())
{
$productosRes = $evaluacion->searchProductos();
$productosR = array();
foreach($productosRes as $resP)
{
// print_r($resP); exit(0);
$bonificacion->setProdItemId($resP['prodItemId']);
$bonificacion->setProveedorId($resP['proveedorId']);
$bonificacion->setPedidoId($resP['pedidoId']);
$bonificacion->setProductoId($resP['productoId']);
if($bonificacion->checkBonificacion())
{
$atribVal->setAtribValId($resP['tallaId']);
$talla = utf8_encode($atribVal->GetNameById());
$atribVal->setAtribValId($resP['colorId']);
$color = utf8_encode($atribVal->GetNameById());
$evaluacion->setProdItemId($resP['prodItemId']);
$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;
if($resP['porcentajeVendido'] <= $porcentaje1 && $resP['porcentajeVendido'] > $porcentaje2)
{
//$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['costoDevolucion'] = $resP['disponible']*$resP['costo'];
$resP['costoBonificacion'] = "";
$resP['porcentajeAplicado'] = "";
}
}
}
$resP['nombre'] = $resP['modelo'].' '.$talla.' '.$color;
$productosR[] = $resP;
}
}
$res['productos'] = $productosR;
$items[] = $res;
}
}
$evaluarPedidos['items'] = $items;
$smarty->assign('rfcInfo',$rfcInfo);
$smarty->assign('msg', $msg);
$smarty->assign('evaluarPedidos', $evaluarPedidos);
///////////////////////////////////////////////////
echo 'ok[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
echo '[#]';
$smarty->display(DOC_ROOT.'/templates/lists/evaluar-pedidos.tpl');
/*$atributos = $atributo->Enumerate();
$atributos["items"] = $util->EncodeResult($atributos["items"]);
$items = array();
foreach($atributos['items'] as $res){
$card = $res;
$atribVal->setAtributoId($res['atributoId']);
$valores = $atribVal->EnumerateAll();
$card['valores'] = $util->EncodeResult($valores);
$items[] = $card;
}
$atributos['items'] = $items;
$smarty->assign('atributos', $atributos);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/lists/atributos.tpl');*/
}
break;
}
?>