Files
ventas_php/ajax/descuentos.php

278 lines
6.5 KiB
PHP
Executable File

<?php
include_once('../init.php');
include_once('../config.php');
include_once(DOC_ROOT.'/libraries.php');
session_start();
$sucursalId = $_SESSION['idSuc'];
$Usr = $user->Info();
$smarty->assign('Usr', $Usr);
if(isset($_POST['action']))
$_POST['type'] = $_POST['action'];
switch($_POST["type"]){
case 'saveDescuentos':
$ventaId = $_POST['ventaId'];
$tipoDesc = $_POST['tipoDesc'];
$valDesc = $_POST['valDesc'];
$prodDesc = $_SESSION['prodDesc'];
$total = 0;
foreach($prodDesc as $res){
$descVal = 0;
if($res['tipoDesc'] == 'Dinero')
$descVal = $res['valDesc'];
elseif($res['tipoDesc'] == 'Porcentaje'){
$descVal = $res['precioUnitario'] * ($res['valDesc']/100);
$descVal = number_format($descVal,2,'.','');
}
$total += $res['total'] - ($descVal * $res['cantidad']);
$venta->setVentaId($ventaId);
$venta->setProdItemId($res['prodItemId']);
$venta->setTipoDesc($res['tipoDesc']);
$venta->setTotal($res['valDesc']);
$venta->UpdateDescProd();
}
$descVal = 0;
if($tipoDesc == 'Dinero')
$descVal = $valDesc;
elseif($tipoDesc == 'Porcentaje')
$descVal = $total * ($valDesc/100);
$total -= $descVal;
//Obtenemos los Totales
$sucursal->setSucursalId($sucursalId);
$porcIva = $sucursal->GetIva();
$porcIva = $porcIva / 100;
$subtotal = $total / (1 + $porcIva);
$subtotal = number_format($subtotal,2,'.','');
$iva = $subtotal * $porcIva;
$iva = number_format($iva,2,'.','');
$venta->setVentaId($ventaId);
$venta->setTipoDesc($tipoDesc);
$venta->setValDesc($valDesc);
$venta->setSubtotal($subtotal);
$venta->setIva($iva);
$venta->setTotal($total);
$venta->UpdateDescVta();
$_SESSION['prodDesc'] = array();
echo 'ok[#]';
break;
case 'updatePrecios':
$ventaId = $_POST['ventaId'];
$tipoDesc = $_POST['tipoDesc'];
$valDesc = $_POST['valDesc'];
$k = $_POST['k'];
$resProds = $_SESSION['prodDesc'];
$productoId = $_SESSION['prodDesc'][$k]['productoId'];
$prodDesc = array();
foreach($resProds as $kP => $res){
if($res['productoId'] == $productoId){
$res['tipoDesc'] = $tipoDesc;
$res['valDesc'] = $valDesc;
}//if
$prodDesc[$kP] = $res;
}//foreach
/*
$venta->setVentaId($ventaId);
$info = $venta->Info();
$card = array();
$card = $_SESSION['prodDesc'][$k];
$total = $card['total'];
$precioUni = $card['precioUnitario'];
$descVal = 0;
if($tipoDesc == 'Dinero')
$descVal = $valDesc;
elseif($tipoDesc == 'Porcentaje')
$descVal = $total * ($valDesc/100);
$card['tipoDesc'] = $tipoDesc;
$card['valorDesc'] = $valDesc;
$card['valDesc'] = $descVal;
$_SESSION['prodDesc'][$k] = $card;
$total -= $descVal;
$prodDesc = $_SESSION['prodDesc'];
*/
$_SESSION['prodDesc'] = $prodDesc;
$total = 0;
$totalP = 0;
foreach($prodDesc as $res){
if($res['productoId'] == $productoId){
$descVal = 0;
if($res['tipoDesc'] == 'Dinero')
$descVal = $res['valDesc'];
elseif($res['tipoDesc'] == 'Porcentaje'){
$descVal = $res['precioUnitario'] * ($res['valDesc']/100);
$descVal = number_format($descVal,2,'.','');
}
$totalD = $res['cantidad'] * $descVal;
$total += $res['total'] - $totalD;
}//if
}//foreach
echo 'ok[#]';
echo number_format($total,2);
break;
case 'updateTotales':
$ventaId = $_POST['ventaId'];
$tipoDesc = $_POST['tipoDesc'];
$valDesc = $_POST['valDesc'];
$prodDesc = $_SESSION['prodDesc'];
$total = 0;
foreach($prodDesc as $res){
$descVal = 0;
if($res['tipoDesc'] == 'Dinero')
$descVal = $res['valDesc'];
elseif($res['tipoDesc'] == 'Porcentaje'){
$descVal = $res['precioUnitario'] * ($res['valDesc']/100);
$descVal = number_format($descVal,2,'.','');
}
$totalD = $res['cantidad'] * $descVal;
$total += $res['total'] - $totalD;
}
$descVal = 0;
if($tipoDesc == 'Dinero')
$descVal = $valDesc;
elseif($tipoDesc == 'Porcentaje')
$descVal = $total * ($valDesc/100);
$total -= $descVal;
//Obtenemos los Totales
$sucursal->setSucursalId($sucursalId);
$porcIva = $sucursal->GetIva();
$porcIva = $porcIva / 100;
$subtotal = $total / (1 + $porcIva);
$subtotal = number_format($subtotal,2,'.','');
$iva = $subtotal * $porcIva;
$iva = number_format($iva,2,'.','');
echo 'ok[#]';
echo number_format($subtotal,2);
echo '[#]';
echo number_format($iva,2);
echo '[#]';
echo number_format($total,2);
break;
case 'cancelarDescuentos':
$_SESSION['prodDesc'] = array();
echo 'ok[#]';
break;
case 'cancelVenta':
$ventaId = $_POST['ventaId'];
$venta->setVentaId($ventaId);
if(!$venta->CancelVenta()){
echo 'fail[#]';
exit;
}
//Devolvemos los productos a inventario
$venta->DevolverProductos();
//Enumeramos los Descuentos
$descuento->setSucursalId($sucursalId);
$ventas = $descuento->Enumerate();
$items = array();
foreach($ventas['items'] as $res){
$fecha = date('d-m-Y',strtotime($res['fecha']));
$hora = date('H:i:s',strtotime($res['fecha']));
$fecha = $util->FormatDateDMMMY($fecha);
$res['fecha'] = $fecha.' '.$hora;
$usuario->setUsuarioId($res['usuarioId']);
$res['usuario'] = $usuario->GetFullNameById();
$sucursal->setSucursalId($res['sucursalId']);
$res['sucursal'] = utf8_decode(urldecode($sucursal->GetNameById()));
if($res['status'] == 'DescAp')
$res['total'] = $res['totalDesc'];
$items[] = $res;
}
$ventas['items'] = $items;
$util->setError(20111,'complete');
$util->PrintErrors();
echo 'ok[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
echo '[#]';
$smarty->assign('ventas', $ventas);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/lists/descuentos.tpl');
break;
}//switch
?>