Primer commit del sistema avantika sin cambios
This commit is contained in:
218
ajax/reportes-inventario.php
Executable file
218
ajax/reportes-inventario.php
Executable file
@@ -0,0 +1,218 @@
|
||||
<?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
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user