218 lines
6.3 KiB
PHP
Executable File
218 lines
6.3 KiB
PHP
Executable File
<?php
|
|
include_once('../init.php');
|
|
include_once('../config.php');
|
|
include_once(DOC_ROOT.'/libraries.php');
|
|
|
|
$Usr = $user->Info();
|
|
$smarty->assign('Usr', $Usr);
|
|
|
|
switch($_POST["type"]){
|
|
|
|
case 'rInventario':
|
|
|
|
$proveedorId = $_POST['proveedorId'];
|
|
$sucursalId = $_POST['sucursal'];
|
|
$prodCatId = $_POST['prodCatId'];
|
|
$prodSubcatId = $_POST['prodSubcatId'];
|
|
|
|
$reportes->setIdSuc($sucursalId);
|
|
$resSuc = $reportes->EnumSucursales();
|
|
|
|
if($proveedorId)
|
|
$sqlFilter = ' AND proveedorId = '.$proveedorId;
|
|
|
|
$sql = 'SELECT proveedorId FROM proveedor WHERE 1 '.$sqlFilter;
|
|
$util->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$proveedores = $util->DBSelect($_SESSION['empresaId'])->GetResult();
|
|
|
|
$dispGral = 0;
|
|
$totalGral = 0;
|
|
$totalGralPV = 0;
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$dispSuc = 0;
|
|
$totalSuc = 0;
|
|
$totalSucPV = 0;
|
|
$productos = array();
|
|
foreach($proveedores as $prov){
|
|
|
|
$proveedorId = $prov['proveedorId'];
|
|
|
|
$sql = "SELECT reporte, fecha FROM `reporteInvBest` WHERE proveedorId = ".$proveedorId;
|
|
$util->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$row = $util->DBSelect($_SESSION['empresaId'])->GetRow();
|
|
|
|
if(!$row)
|
|
continue;
|
|
|
|
$reporte = $row['reporte'];
|
|
$fechaRep = date('d-m-Y',strtotime($row['fecha']));
|
|
|
|
$resSucursales = unserialize(urldecode($reporte));
|
|
|
|
foreach($resSucursales as $res2){
|
|
|
|
if($sucursalId > 0 && $sucursalId != $res2['sucursalId'])
|
|
continue;
|
|
|
|
foreach($res2['productos'] as $prod){
|
|
|
|
if($prodCatId > 0 && $prodCatId != $prod['prodCatId'])
|
|
continue;
|
|
|
|
if($prodSubcatId > 0 && $prodSubcatId != $prod['prodSubcatId'])
|
|
continue;
|
|
|
|
$dispSuc += $prod['disponible'];
|
|
$totalSuc += $prod['total'];
|
|
$totalSucPV += $prod['totalPV'];
|
|
|
|
$dispGral += $prod['disponible'];
|
|
$totalGral += $prod['total'];
|
|
$totalGralPV += $prod['totalPV'];
|
|
|
|
$productos[] = $prod;
|
|
|
|
}//foreach
|
|
|
|
}//foreach
|
|
|
|
}//foreach
|
|
|
|
$res['disponible'] = $dispSuc;
|
|
$res['total'] = $totalSuc;
|
|
$res['totalPV'] = $totalSucPV;
|
|
|
|
$res['productos'] = $productos;
|
|
|
|
if(count($productos) > 0)
|
|
$sucursales[] = $res;
|
|
|
|
}//foreach
|
|
|
|
$totales['disponible'] = $dispGral;
|
|
$totales['total'] = $totalGral;
|
|
$totales['totalPV'] = $totalGralPV;
|
|
|
|
$smarty->assign('totales', $totales);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/reportes-inventario.tpl');
|
|
|
|
break;
|
|
|
|
case "_rInventario":
|
|
|
|
$proveedorId = $_POST['proveedorId'];
|
|
$sucursalId = $_POST['sucursal'];
|
|
$prodCatId = $_POST['prodCatId'];
|
|
$prodSubcatId = $_POST['prodSubcatId'];
|
|
|
|
$reportes->setIdSuc($sucursalId);
|
|
$resSuc = $reportes->EnumSucursales();
|
|
|
|
$sqlFilter = '';
|
|
if($proveedorId)
|
|
$sqlFilter = ' AND p.proveedorId = '.$proveedorId;
|
|
if($prodCatId)
|
|
$sqlFilter .= ' AND p.prodCatId = '.$prodCatId;
|
|
if($prodSubcatId)
|
|
$sqlFilter .= ' AND p.prodSubcatId = '.$prodSubcatId;
|
|
|
|
$dispGral = 0;
|
|
$totalGral = 0;
|
|
$totalGralPV = 0;
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
|
|
$sql = 'SELECT prov.nombre, p.productoId, p.costo, p.codigoBarra, p.modelo, p.precioVentaIva,
|
|
SUM( i.cantidad ) AS disponible, (SUM( i.cantidad ) * p.costo) AS total,
|
|
(SUM( i.cantidad ) * p.precioVentaIva) AS totalPV,
|
|
prov.nombre AS proveedor
|
|
FROM producto p, inventario i, proveedor prov
|
|
WHERE p.productoId = i.productoId
|
|
AND p.proveedorId = prov.proveedorId
|
|
AND i.sucursalId = '.$res['sucursalId'].'
|
|
'.$sqlFilter.'
|
|
AND i.status = "Disponible"
|
|
GROUP BY i.productoId
|
|
ORDER BY p.codigoBarra ASC';
|
|
$util->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$resProductos = $util->DBSelect($_SESSION['empresaId'])->GetResult();
|
|
|
|
$totalSinDesc = 0;
|
|
$productos = array();
|
|
foreach($resProductos as $prod){
|
|
|
|
$prod['nombre'] = utf8_encode($prod['nombre']);
|
|
$prod['modelo'] = utf8_encode($prod['modelo']);
|
|
|
|
$inventario->setSucursalId($res['sucursalId']);
|
|
$inventario->setProductoId($prod['productoId']);
|
|
$vtasSinDesc = $inventario->VentasDescontadas();
|
|
|
|
$totalSinDesc += $vtasSinDesc;
|
|
$prod['disponible'] -= $vtasSinDesc;
|
|
|
|
$productos[] = $prod;
|
|
}
|
|
$res['productos'] = $productos;
|
|
|
|
//Obtenemos los Totales
|
|
|
|
$sql = 'SELECT SUM(i.cantidad) AS disponible, SUM(i.cantidad * p.costo) AS total,
|
|
SUM(i.cantidad * p.precioVentaIva) AS totalPV
|
|
FROM producto p, inventario i, proveedor prov
|
|
WHERE p.productoId = i.productoId
|
|
AND p.proveedorId = prov.proveedorId
|
|
AND i.sucursalId = '.$res['sucursalId'].'
|
|
'.$sqlFilter.'
|
|
AND i.status = "Disponible"';
|
|
$util->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
|
$row = $util->DBSelect($_SESSION['empresaId'])->GetRow();
|
|
|
|
$row['disponible'] -= $totalSinDesc;
|
|
|
|
$res['disponible'] = $row['disponible'];
|
|
$res['total'] = $row['total'];
|
|
$res['totalPV'] = $row['totalPV'];
|
|
|
|
$dispGral += $row['disponible'];
|
|
$totalGral += $row['total'];
|
|
$totalGralPV += $row['totalPV'];
|
|
|
|
$sucursales[] = $res;
|
|
|
|
}//foreach
|
|
|
|
$totales['disponible'] = $dispGral;
|
|
$totales['total'] = $totalGral;
|
|
$totales['totalPV'] = $totalGralPV;
|
|
|
|
$smarty->assign('totales', $totales);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/reportes-inventario.tpl');
|
|
|
|
break;
|
|
|
|
case 'loadSubcats':
|
|
|
|
$prodSubcat->setProdCatId($_POST['prodCatId']);
|
|
$subcategorias = $prodSubcat->EnumerateAll();
|
|
$subcategorias = $util->EncodeResult($subcategorias);
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('subcategorias', $subcategorias);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/enumProdSubcat2.tpl');
|
|
|
|
break;
|
|
|
|
}//switch
|
|
|
|
?>
|