Files
ventas_php/ajax/bonificaciones-agregar.php

261 lines
8.3 KiB
PHP
Executable File

<?php
include_once('../init.php');
include_once('../config.php');
include_once(DOC_ROOT.'/libraries.php');
$Usr = $user->Info();
switch($_POST["type"]){
case 'buscarFactura':
$bonificacion->setFolioProv($_POST['folioProv']);
$infP = $bonificacion->GetPedidoByFolio();
if(!$infP){
$util->setError(20144,'complete','');
$util->PrintErrors();
echo 'fail[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
exit;
}
$proveedor->setProveedorId($infP['proveedorId']);
$nomProv = $proveedor->GetNameById();
$fecha = date('d-m-Y H:i:s',strtotime($infP['fecha']));
$fechaRecibido = date('d-m-Y H:i:s',strtotime($infP['fechaOrdenCompIng']));
$fechaRec = strtotime($infP['fechaOrdenCompIng']);
$fechaHoy = time();
$timeDias = $fechaHoy - $fechaRec;
$diasTrans = intval($timeDias / 86400);
if($infP['status'] == 'OrdenCompIng')
$status = 'Mercanc&iacute;a Recibida en CEDIS';
elseif($infP['status'] == 'EnvSuc')
$status = 'Env&iacute;ado a Tiendas';
//Obtenemos los Productos
$bonificacion->setPedidoId($infP['pedidoId']);
$resProductos = $bonificacion->EnumProdsByPedido();
$productos = array();
foreach($resProductos as $res){
$productoId = $res['productoId'];
$producto->setProductoId($productoId);
$infProd = $producto->Info();
$res['codigoBarra'] = $infProd['codigoBarra'];
$res['precio'] = $infProd['precioVentaIva'];
$res['totalCosto'] = $res['costo'] * $res['cantPrendas'];
$bonificacion->setProductoId($productoId);
$bonificacion->setPedidoId($res['pedidoId']);
$res['cantVenta'] = $bonificacion->CantVtasByProd();
$res['cantCompra'] = $res['cantPrendas'];
$res['porc'] = round(($res['cantVenta'] / $res['cantCompra']) * 100);
$res['totalVenta'] = $res['cantVenta'] * $infProd['precioVentaIva'];
if($res['totalVenta'])
$res['utilidad'] = round((($res['totalVenta'] - $res['totalCosto']) / $res['totalVenta']) * 100);
else
$res['utilidad'] = 0;
$res['precioVta'] = $infProd['precioVenta'];
if($res['porc'] < 35){
$res['devolucion'] = 'DEV';
$res['cantDev'] = $res['cantCompra'] - $res['cantVenta'];
$res['totalDev'] = $res['cantDev'] * $res['costo'];
}else{
$res['devolucion'] = '---';
$res['cantDev'] = 0;
$res['totalDev'] = 0;
$res['porcBonif'] = 0;
$bonificacion->setPorcentaje($res['porc']);
$res['porcBonif'] = $bonificacion->GetPorcBonif();
}
$res['totalBonif'] = ($res['cantCompra'] - $res['cantVenta']) * ($res['porcBonif'] / 100) * $res['costo'];
$res['totalBonif'] = number_format($res['totalBonif'],2,'.','');
$productos[] = $res;
}//foreach
echo 'ok[#]';
echo $infP['pedidoId'];
echo '[#]';
echo $nomProv;
echo '[#]';
echo '<a href="'.WEB_ROOT.'/pedidos-detalles/id/'.$infP['pedidoId'].'" target="_blank">'.$infP['noPedido'].'</a>';
echo '[#]';
echo $status;
echo '[#]';
echo $fecha;
echo '[#]';
echo $fechaRecibido;
echo '[#]';
echo $diasTrans;
echo '[#]';
$smarty->assign('productos',$productos);
$smarty->display(DOC_ROOT.'/templates/lists/evaluacion-productos.tpl');
break;
case 'aplicarEval';
$pedidoId = $_POST['pedidoId'];
$productoId = $_POST['productoId'];
//Obtenemos los Productos
$bonificacion->setPedidoId($pedidoId);
$bonificacion->setProductoId($productoId);
$resProductos = $bonificacion->EnumProdsByPedido();
$productos = array();
foreach($resProductos as $res){
$productoId = $res['productoId'];
$producto->setProductoId($productoId);
$infProd = $producto->Info();
$res['codigoBarra'] = $infProd['codigoBarra'];
$res['precio'] = $infProd['precioVentaIva'];
$res['totalCosto'] = $res['costo'] * $res['cantPrendas'];
$bonificacion->setProductoId($productoId);
$bonificacion->setPedidoId($res['pedidoId']);
$res['cantVenta'] = $bonificacion->CantVtasByProd();
$res['cantCompra'] = $res['cantPrendas'];
$res['porc'] = round(($res['cantVenta'] / $res['cantCompra']) * 100);
$res['totalVenta'] = $res['cantVenta'] * $infProd['precioVentaIva'];
if($res['totalVenta'])
$res['utilidad'] = round((($res['totalVenta'] - $res['totalCosto']) / $res['totalVenta']) * 100);
else
$res['utilidad'] = 0;
$res['precioVta'] = $infProd['precioVenta'];
if($res['porc'] < 35){
$res['devolucion'] = 'DEV';
$res['cantDev'] = $res['cantCompra'] - $res['cantVenta'];
$res['totalDev'] = $res['cantDev'] * $res['costo'];
$tipo = 'Dev';
}else{
$res['devolucion'] = '---';
$res['cantDev'] = 0;
$res['totalDev'] = 0;
$res['porcBonif'] = 0;
$tipo = 'Bonif';
$bonificacion->setPorcentaje($res['porc']);
$res['porcBonif'] = $bonificacion->GetPorcBonif();
}
$res['totalBonif'] = ($res['cantCompra'] - $res['cantVenta']) * ($res['porcBonif'] / 100) * $res['costo'];
$res['totalBonif'] = number_format($res['totalBonif'],2,'.','');
}//foreach
$producto->setProductoId($productoId);
$info = $producto->Info();
$sql = 'INSERT INTO bonifDev (pedidoId, productoId, fecha, porcBonif, totalBonif, costo, precioVentaIva,
usuarioId, tipo, cantDev)
VALUES ("'.$pedidoId.'", "'.$productoId.'", "'.date('Y-m-d H:i:s').'", "'.$res['porcBonif'].'",
"'.$res['totalBonif'].'","'.$info['costo'].'","'.$info['precioVentaIva'].'",
"'.$Usr['usuarioId'].'", "'.$tipo.'", "'.$res['cantDev'].'")';
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$util->DBSelect($_SESSION["empresaId"])->InsertData();
$sql = 'UPDATE pedidoProducto SET evaluado = "1"
WHERE pedidoId = "'.$pedidoId.'"
AND productoId = "'.$productoId.'"';
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$util->DBSelect($_SESSION["empresaId"])->UpdateData();
//Agegamos la bonificación al pedido
$totalDesc = $res['totalDesc'] - $res['totalBonif'];
$sql = 'UPDATE pedido SET totalBonif = totalBonif + "'.$res['totalBonif'].'", totalDesc = "'.$totalDesc.'"
WHERE pedidoId = "'.$pedidoId.'"';
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$util->DBSelect($_SESSION["empresaId"])->UpdateData();
if($tipo == 'Bonif'){
//Obtenemos el nuevo precio de venta.
$nvoPrecioVtaIva = $info['precioVentaIva'] - ($info['precioVentaIva'] * ($res['porcBonif'] / 100));
$nvoPrecioVta = $info['precioVenta'] - ($info['precioVenta'] * ($res['porcBonif'] / 100));
$nuevoCosto = $info['costo']-($info['costo'] * ($res['porcBonif'] / 100));
//Actualizamos Inventario
$sql = "UPDATE inventario SET rebajado = '1', precioVenta = ".$nvoPrecioVtaIva."
WHERE pedidoId = ".$pedidoId."
AND productoId = ".$productoId."
AND `status` LIKE 'Disponible'";
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$util->DBSelect($_SESSION["empresaId"])->UpdateData();
//Actualizamos el Costo del Producto.
$sql = "UPDATE producto SET costo = '".$nuevoCosto."',
precioVenta = '".$nvoPrecioVta."',
precioVentaIva = '".$nvoPrecioVtaIva."'
WHERE productoId = ".$productoId;
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$util->DBSelect($_SESSION["empresaId"])->UpdateData();
}else{
//Bloqueamos los productos en Inventario
$sql = "UPDATE inventario SET status = 'Devolucion'
WHERE pedidoId = ".$pedidoId."
AND productoId = ".$productoId."
AND status = 'Disponible'";
$util->DBSelect($_SESSION['empresaId'])->setQuery($sql);
$util->DBSelect($_SESSION['empresaId'])->UpdateData();
}//if
$util->setError(20143,'complete','');
$util->PrintErrors();
echo 'ok[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
break;
}//switch
?>