Files
ventas_php/export/prod-prov2.php

337 lines
12 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_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.="<table border=\"1\">";
$x .= "<thead>
<tr>
<th style=\"background:#E0E5E7;text-align:center\" colspan=\"12\">
<b>".utf8_decode(urldecode($suc['nombre']))."</b>
</th>
</tr>
</thead><tbody>";
$x .= "
<tr>
<td style=\"background:#E0E5E7;text-align:center\">Proveedor</td>
<td style=\"background:#E0E5E7;text-align:center\">Departamento</td>
<td style=\"background:#E0E5E7;text-align:center\">Linea</td>
<td style=\"background:#E0E5E7;text-align:center\">C&oacute;digo de Barras</td>
<td style=\"background:#E0E5E7;text-align:center\">Producto</td>
<td style=\"background:#E0E5E7;text-align:center\">Cant. en Pedido</td>
<td style=\"background:#E0E5E7;text-align:center\">Cant. en CEDIS</td>
<td style=\"background:#E0E5E7;text-align:center\">Inv. Actual</td>
<td style=\"background:#E0E5E7;text-align:center\" padding-right:20px\">No. Prods. Vendidos</td>
<td style=\"background:#E0E5E7;text-align:center\">Costo</td>
<td style=\"background:#E0E5E7;text-align:center\">Precio Venta</td>
<td style=\"background:#E0E5E7;text-align:center\">Importe Total</td>
</tr>";
foreach($suc['productos'] as $temp){
$x .= "
<tr>
<td style=\"text-align:center; padding-right:20px\">".$temp['proveedor']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['depto']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['linea']."</td>
<td style=\"text-align:center; padding-right:20px\">
".$temp['codigoBarra']."&nbsp;
</td>
<td>".$temp['modelo']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['porLlegar']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['cedis']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['disponible']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['vendidos']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['costo']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['precioVenta']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['total']."</td>
</tr>";
}//foreach
$x .= "
<tr>
<td style=\"text-align:center; padding-right:20px\"></td>
<td style=\"text-align:center; padding-right:20px\"></td>
<td style=\"text-align:center; padding-right:20px\"></td>
<td style=\"text-align:center; padding-right:20px\"></td>
<td style=\"text-align:center;\"><b>TOTAL</b></td>
<td style=\"text-align:center; padding-right:20px\">".$suc['porLlegar']."</td>
<td style=\"text-align:center; padding-right:20px\">".$suc['cedis']."</td>
<td style=\"text-align:center; padding-right:20px\">".$suc['disponible']."</td>
<td style=\"text-align:center; padding-right:20px\">".$suc['vendidos']."</td>
<td style=\"text-align:center; padding-right:20px\"></td>
<td style=\"text-align:center; padding-right:20px\"></td>
<td style=\"text-align:center; padding-right:20px\">".$suc['importe']."</td>
</tr>";
$x.="</tbody>
</table>";
}//foreach
if(count($sucursales) > 1){
$x.="<table border=\"1\">";
$x.="<thead><tr><th style=\"background:#E0E5E7;text-align:center\" colspan=\"12\"><b>TOTALES GLOBALES</b></th></tr>";
$x .= "
<tr>
<td style=\"background:#E0E5E7;text-align:center\">Proveedor</td>
<td style=\"background:#E0E5E7;text-align:center\">Departamento</td>
<td style=\"background:#E0E5E7;text-align:center\">Linea</td>
<td style=\"background:#E0E5E7;text-align:center\">C&oacute;digo de Barras</td>
<td style=\"background:#E0E5E7;text-align:center\">Producto</td>
<td style=\"background:#E0E5E7;text-align:center\">Cant. en Pedido</td>
<td style=\"background:#E0E5E7;text-align:center\">Cant. en CEDIS</td>
<td style=\"background:#E0E5E7;text-align:center\">Inv. Actual</td>
<td style=\"background:#E0E5E7;text-align:center\" padding-right:20px\">No. Prods. Vendidos</td>
<td style=\"background:#E0E5E7;text-align:center\">Costo</td>
<td style=\"background:#E0E5E7;text-align:center\">Precio Venta</td>
<td style=\"background:#E0E5E7;text-align:center\">Importe Total</td>
</tr>
</thead>
<tbody>";
foreach($global['productos'] as $temp){
$x .= "
<tr>
<td style=\"text-align:center; padding-right:20px\">".$temp['proveedor']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['depto']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['linea']."</td>
<td style=\"text-align:center; padding-right:20px\">
".$temp['codigoBarra']."&nbsp;
</td>
<td>".$temp['modelo']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['porLlegar']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['cedis']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['disponible']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['vendidos']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['costo']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['precioVenta']."</td>
<td style=\"text-align:center; padding-right:20px\">".$temp['total']."</td>
</tr>";
}//foreach
$x .= "
<tr>
<td style=\"text-align:center; padding-right:20px\"></td>
<td style=\"text-align:center; padding-right:20px\"></td>
<td style=\"text-align:center; padding-right:20px\"></td>
<td style=\"text-align:center; padding-right:20px\"></td>
<td style=\"text-align:center;\"><b>TOTAL</b></td>
<td style=\"text-align:center; padding-right:20px\">".$global['porLlegar']."</td>
<td style=\"text-align:center; padding-right:20px\">".$global['cedis']."</td>
<td style=\"text-align:center; padding-right:20px\">".$global['disponible']."</td>
<td style=\"text-align:center; padding-right:20px\">".$global['vendidos']."</td>
<td style=\"text-align:center; padding-right:20px\"></td>
<td style=\"text-align:center; padding-right:20px\"></td>
<td style=\"text-align:center; padding-right:20px\">".$global['total']."</td>
</tr>";
$x.="</tbody>";
$x.="</table>";
}//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;
?>