Info(); $smarty->assign('Usr', $Usr); switch($_POST["type"]){ case "search": $start = microtime(true); $proveedorId = $_POST['proveedorId']; $reportes->setProveedorId($proveedorId); $resProvs = $reportes->EnumAllProv(); if($proveedorId) $sqlAdd = ' AND proveedorId = "'.$proveedorId.'"'; $sql = 'SELECT proveedorId, noProv, nombre FROM proveedor WHERE baja = "0" '.$sqlAdd.' ORDER BY nombre ASC'; $util->DBSelect($_SESSION['empresaId'])->setQuery($sql); $resProvs = $util->DBSelect($_SESSION['empresaId'])->GetResult(); $total = 0; foreach($resProvs as $val){ $reportes->setProveedorId($val['proveedorId']); $sql = "SELECT e.sucursalId, s.nombre AS sucursal FROM envioRecibir er, envio e, producto p, sucursal s WHERE e.envioId = er.envioId AND e.sucursalId = s.sucursalId AND er.productoId = p.productoId AND p.proveedorId = '".$val['proveedorId']."' AND er.faltantes > 0 GROUP BY e.sucursalId"; $util->DBSelect($_SESSION['empresaId'])->setQuery($sql); $resSucursales = $util->DBSelect($_SESSION['empresaId'])->GetResult(); $sucursales = array(); foreach($resSucursales as $res){ $sql = "SELECT SUM(er.faltantes) AS faltantes, p.codigoBarra, p.modelo AS producto FROM envioRecibir er, envio e, producto p WHERE e.envioId = er.envioId AND er.productoId = p.productoId AND p.proveedorId = '".$val['proveedorId']."' AND e.sucursalId = '".$res['sucursalId']."' AND er.faltantes > 0 GROUP BY er.productoId"; $util->DBSelect($_SESSION['empresaId'])->setQuery($sql); $res['productos'] = $util->DBSelect($_SESSION['empresaId'])->GetResult(); $sql = "SELECT SUM(er.faltantes) FROM envioRecibir er, envio e, producto p WHERE e.envioId = er.envioId AND er.productoId = p.productoId AND p.proveedorId = '".$val['proveedorId']."' AND e.sucursalId = '".$res['sucursalId']."' AND er.faltantes > 0"; $util->DBSelect($_SESSION['empresaId'])->setQuery($sql); $total += $util->DBSelect($_SESSION['empresaId'])->GetSingle(); $sucursales[] = $res; } $val['sucursales'] = $sucursales; $proveedores[] = $val; } $smarty->assign('total', $total); $smarty->assign('proveedores', $proveedores); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/reportes-faltantes.tpl'); $end = microtime(true); echo "Tiempo de Ejecución: "; echo $time = number_format(($end - $start), 2); break; }//switch ?>