Info(); if($Usr['type'] != 'admin' && $Usr['type'] != 'gerente' && $Usr['type'] != 'centralizador'){ header('Location: '.WEB_ROOT); exit; } $name = "R_Productos_Proveedor_2"; extract($_POST); $proveedorId = $_POST['idProveedor']; $sucursalId = $_POST['idSucursal']; $orden = $_POST['orden']; $fechaI = $_POST['fechaI']; $fechaF = $_POST['fechaF']; $prodCatId = $_POST['prodCatId']; $prodSubcatId = $_POST['prodSubcatId']; $codigoBarra = $_POST['codigoBarra']; $reportes->setFechaI($fechaI); $reportes->setFechaF($fechaF); if($orden=="mayor") { $orderBy = "DESC"; $mayormenor = true; } else { $mayormenor = false; $orderBy = "ASC"; } if($Usr['type']=="admin") $smarty->assign("tipo","admin"); if($Usr['type']=="gerente") $smarty->assign("tipo","gerente"); $reportes->setIdSuc($sucursalId); $resSucursales = $reportes->EnumSucursales(); $global['disponible'] = 0; $global['cedis'] = 0; $global['porLlegar'] = 0; $global['vendidos'] = 0; $global['total'] = 0; $totDispGral = 0; $totProdsGral = 0; $totImpGral = 0; $prodGlobal = array(); foreach($resSucursales as $res){ $sucursalId = $res['sucursalId']; $sqlFilter = ''; if($codigoBarra) $sqlFilter .= ' AND p.codigoBarra = "'.$codigoBarra.'"'; if($proveedorId) $sqlFilter .= ' AND p.proveedorId = '.$proveedorId; if($proveedorId) $sqlFilter .= ' AND p.proveedorId = '.$proveedorId; if($prodCatId) $sqlFilter .= ' AND p.prodCatId = '.$prodCatId; if($prodSubcatId) $sqlFilter .= ' AND p.prodSubcatId = '.$prodSubcatId; /* $sql = 'SELECT vp.productoId, p.imagen, p.modelo, p.codigoBarra, p.precioVentaIva AS precioVenta, p.costo, p.proveedorId, p.prodCatId, p.prodSubcatId, SUM(vp.cantidad) AS vendidos FROM ventaProducto AS vp, venta AS v, producto p WHERE v.ventaId = vp.ventaId AND vp.productoId = p.productoId AND status <> "Cancelado" AND v.fecha >= "'.date('Y-m-d',strtotime($fechaI)).' 00:00:00" AND v.fecha <= "'.date('Y-m-d',strtotime($fechaF)).' 23:59:59" AND v.sucursalId = "'.$sucursalId.'" '.$sqlFilter.' GROUP BY vp.productoId'; */ $sql = 'SELECT p.productoId, p.imagen, p.modelo, p.codigoBarra, p.precioVentaIva AS precioVenta, p.costo, p.proveedorId, p.prodCatId, p.prodSubcatId, SUM(IF( v.ventaId IS NULL , 0, vp.cantidad)) AS vendidos FROM producto AS p LEFT JOIN ventaProducto vp ON vp.productoId = p.productoId LEFT JOIN venta v ON v.ventaId = vp.ventaId AND v.status <> "Cancelado" AND v.fecha >= "'.date('Y-m-d',strtotime($fechaI)).' 00:00:00" AND v.fecha <= "'.date('Y-m-d',strtotime($fechaF)).' 23:59:59" AND v.sucursalId = "'.$sucursalId.'" WHERE 1 '.$sqlFilter.' GROUP BY p.productoId ORDER BY vendidos '.$orderBy; $util->DBSelect($_SESSION['empresaId'])->setQuery($sql); $resProds = $util->DBSelect($_SESSION['empresaId'])->GetResult(); $reportes->setIdSuc($sucursalId); $totalDisp = 0; $totalProds = 0; $totalImporte = 0; $totalCedis = 0; $totalPorLlegar = 0; $productos = array(); foreach($resProds as $prod){ $productoId = $prod['productoId']; $reportes->setProductoId($productoId); $vendidos = $prod['vendidos']; $devueltos = $reportes->GetTotalProdDevBySuc(); $totalVendidos = $vendidos - $devueltos; $prod['vendidos'] = $totalVendidos; $importe = $prod['vendidos'] * $prod['precioVenta']; $prod['total'] = $importe; //if($prod['vendidos'] == 0) //continue; $proveedor->setProveedorId($prod['proveedorId']); $prod['proveedor'] = utf8_encode($proveedor->GetNameById()); $prodCat->setProdCatId($prod['prodCatId']); $prod['depto'] = utf8_encode($prodCat->GetNameById()); $prodSubcat->setProdSubcatId($prod['prodSubcatId']); $prod['linea'] = utf8_encode($prodSubcat->GetNameById()); $inventario->setProductoId($productoId); $inventario->setSucursalId($sucursalId); $disponible = $inventario->GetDispByProd(); $prod['disponible'] = $disponible; $reportes->setProductoId($productoId); $prod['cedis'] = $reportes->GetCantProdCedis(); $prod['porLlegar'] = $reportes->GetCantProdNoCedis(); $totalDisp += $disponible; $totalProds += $totalVendidos; $totalImporte += $importe; $totalCedis += $prod['cedis']; $totalPorLlegar += $prod['porLlegar']; $productos[] = $prod; //Guardamos los Datos Globales if(array_key_exists($productoId, $prodGlobal)){ $prod2 = $prodGlobal[$productoId]; $prod2['disponible'] += $prod['disponible']; $prod2['porLlegar'] += $prod['porLlegar']; $prod2['cedis'] += $prod['cedis']; $prod2['vendidos'] += $prod['vendidos']; $prod2['total'] += $prod['total']; }else $prod2 = $prod; $global['disponible'] += $prod['disponible']; $global['porLlegar'] += $prod['porLlegar']; $global['cedis'] += $prod['cedis']; $global['vendidos'] += $prod['vendidos']; $global['total'] += $prod['total']; $prodGlobal[$productoId] = $prod2; }//foreach $res['productos'] = $reportes->orderMultiDimensionalArray($productos,'vendidos',$mayormenor); $res['disponible'] = $totalDisp; $res['vendidos'] = $totalProds; $res['importe'] = $totalImporte; $res['cedis'] = $totalCedis; $res['porLlegar'] = $totalPorLlegar; $sucursales[] = $res; }//foreach $global['productos'] = $reportes->orderMultiDimensionalArray($prodGlobal,'vendidos',$mayormenor); foreach($sucursales as $suc){ $x.=""; $x .= ""; $x .= " "; foreach($suc['productos'] as $temp){ $x .= " "; }//foreach $x .= " "; $x.="
".utf8_decode(urldecode($suc['nombre']))."
Proveedor Departamento Linea Código de Barras Producto Cant. en Pedido Cant. en CEDIS Inv. Actual No. Prods. Vendidos Costo Precio Venta Importe Total
".$temp['proveedor']." ".$temp['depto']." ".$temp['linea']." ".$temp['codigoBarra']."  ".$temp['modelo']." ".$temp['porLlegar']." ".$temp['cedis']." ".$temp['disponible']." ".$temp['vendidos']." ".$temp['costo']." ".$temp['precioVenta']." ".$temp['total']."
TOTAL ".$suc['porLlegar']." ".$suc['cedis']." ".$suc['disponible']." ".$suc['vendidos']." ".$suc['importe']."
"; }//foreach if(count($sucursales) > 1){ $x.=""; $x.=""; $x .= " "; foreach($global['productos'] as $temp){ $x .= " "; }//foreach $x .= " "; $x.=""; $x.="
TOTALES GLOBALES
Proveedor Departamento Linea Código de Barras Producto Cant. en Pedido Cant. en CEDIS Inv. Actual No. Prods. Vendidos Costo Precio Venta Importe Total
".$temp['proveedor']." ".$temp['depto']." ".$temp['linea']." ".$temp['codigoBarra']."  ".$temp['modelo']." ".$temp['porLlegar']." ".$temp['cedis']." ".$temp['disponible']." ".$temp['vendidos']." ".$temp['costo']." ".$temp['precioVenta']." ".$temp['total']."
TOTAL ".$global['porLlegar']." ".$global['cedis']." ".$global['disponible']." ".$global['vendidos']." ".$global['total']."
"; }//if header("Content-Type: application/vnd.ms-excel; charset=utf-8"); header("Content-type: application/x-msexcel; charset=utf-8"); header("Content-Disposition: attachment; filename=".$name.".xls"); header("Pragma: no-cache"); header("Expires: 0"); echo $x; ?>