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 ?>