93 lines
3.0 KiB
PHP
Executable File
93 lines
3.0 KiB
PHP
Executable File
<?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 'buenFinProv':
|
|
|
|
$start = microtime(true);
|
|
|
|
$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
|
|
|
|
$smarty->assign('totales',$totales);
|
|
$smarty->assign('sucursales',$sucursales);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/reportes-buenfin-prov.tpl');
|
|
|
|
$end = microtime(true);
|
|
echo 'Tiempo de Ejecución: ';
|
|
echo $time = number_format(($end - $start), 2);
|
|
|
|
break;
|
|
|
|
}//switch
|
|
|
|
?>
|