Files
ventas_php/export/buenfin-proveedor.php

142 lines
4.6 KiB
PHP
Executable File

<?php
include_once('../init.php');
include_once('../config.php');
include_once(DOC_ROOT.'/libraries.php');
$Usr = $user->Info();
if($Usr['type'] != 'admin' && $Usr['type'] != 'gerente' && $Usr['type'] != 'centralizador'){
header('Location: '.WEB_ROOT);
exit;
}
$name = "R_Buen_Fin_Proveedor";
extract($_POST);
$idSucursal = $_POST['idSucursal'];
$idProveedor = $_POST['idProveedor'];
$fechaIni = date('Y-m-d',strtotime($_POST['fechaI']));
$fechaFin = date('Y-m-d',strtotime($_POST['fechaF']));
$promocionId = $promocion->GetBuenFinId();
if($idProveedor)
$sqlFilter = ' AND prov.proveedorId = '.$idProveedor;
$reportes->setIdSuc($idSucursal);
$resSuc = $reportes->EnumSucursales();
$totales['prods'] = 0;
$totales['costo'] = 0;
$sucursales = array();
foreach($resSuc as $res){
$sucursalId = $res['sucursalId'];
$sql = 'SELECT prov.proveedorId, prov.nombre, SUM(vp.cantidad) AS totalProds,
SUM(vp.cantidad * p.costo) AS totalCosto
FROM venta AS v, ventaProducto AS vp, producto AS p, proveedor AS prov
WHERE v.ventaId = vp.ventaId
AND vp.productoId = p.productoId
AND p.proveedorId = prov.proveedorId
AND ((v.status = "Cancelado" AND v.cancelDev = "1") OR v.status <> "Cancelado")
AND v.status <> "Descuento"
AND prov.baja = "0"
AND vp.promocionId = "'.$promocionId.'"
AND v.fecha >= "'.$fechaIni.' 00:00:00"
AND v.fecha <= "'.$fechaFin.' 23:59:59"
AND v.sucursalId = "'.$sucursalId.'"
'.$sqlFilter.'
GROUP BY prov.proveedorId';
$util->DBSelect($_SESSION['empresaId'])->setQuery($sql);
$res['proveedores'] = $util->DBSelect($_SESSION['empresaId'])->GetResult();
$sql = 'SELECT SUM(vp.cantidad) AS totalProds,
SUM(vp.cantidad * p.costo) AS totalCosto
FROM venta AS v, ventaProducto AS vp, producto AS p, proveedor AS prov
WHERE v.ventaId = vp.ventaId
AND vp.productoId = p.productoId
AND p.proveedorId = prov.proveedorId
AND ((v.status = "Cancelado" AND v.cancelDev = "1") OR v.status <> "Cancelado")
AND v.status <> "Descuento"
AND prov.baja = "0"
AND vp.promocionId = "'.$promocionId.'"
AND v.fecha >= "'.$fechaIni.' 00:00:00"
AND v.fecha <= "'.$fechaFin.' 23:59:59"
'.$sqlFilter.'
AND v.sucursalId = "'.$sucursalId.'"';
$util->DBSelect($_SESSION['empresaId'])->setQuery($sql);
$row = $util->DBSelect($_SESSION['empresaId'])->GetRow();
$res['totalProds'] = $row['totalProds'];
$res['totalCosto'] = $row['totalCosto'];
$totales['prods'] += $row['totalProds'];
$totales['costo'] += $row['totalCosto'];
$sucursales[] = $res;
}//foreach
$x .= "<table border=\"1\">";
foreach($sucursales as $res){
$x.="<thead>
<tr>
<th style=\"background:#E0E5E7;text-align:center\" colspan=\"4\"><b>".utf8_decode(urldecode($res['nombre']))."</b></th>
</tr>
</thead><tbody>";
$x .= "
<tr>
<td style=\"background:#E0E5E7;text-align:center\">No. Prov.</td>
<td style=\"background:#E0E5E7;text-align:center\">Proveedor</td>
<td style=\"background:#E0E5E7;text-align:center\" padding-right:20px\">Productos Vendidos</td>
<td style=\"background:#E0E5E7;text-align:center\" padding-right:20px\">Costo Total</td>
</tr>";
foreach($res['proveedores'] as $val){
$x .= "
<tr>
<td style='text-align:center;'>".$val['proveedorId']."</td>
<td>".$val['nombre']."</td>
<td style=\"text-align:center; padding-right:20px\">".$val['totalProds']."</td>
<td style=\"text-align:right; padding-right:20px\">$".number_format($val['totalCosto'],2)."</td>
</tr>";
}
$x .= "
<tr>
<td style=\"background:#E0E5E7;text-align:center\" padding-right:20px\"></td>
<td style=\"background:#E0E5E7;text-align:center\" padding-right:20px\">Total</td>
<td style=\"background:#E0E5E7;text-align:center\" padding-right:20px\">".$res['totalProds']."</td>
<td style=\"background:#E0E5E7;text-align:right\" padding-right:20px\">$".number_format($res['totalCosto'],2)."</td>
</tr>";
}
$x .= "
<tr>
<td style=\"text-align:center\" padding-right:20px\"></td>
<td style=\"text-align:center\" padding-right:20px\">TOTAL GENERAL</td>
<td style=\"text-align:center\" padding-right:20px\">".$totales['prods']."</td>
<td style=\"text-align:right\" padding-right:20px\">$".number_format($totales['costo'],2)."</td>
</tr>";
$x .= "</tbody>";
$x .= "</table>";
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;
?>