
18/06/2012, 09:32
|
| | Fecha de Ingreso: noviembre-2007
Mensajes: 37
Antigüedad: 17 años, 3 meses Puntos: 0 | |
Reporte Buenos dias, espero poder explicarme este reporte como parametro me pide solo la fecha final y al generarlo sale el reporte desde el primer dia del mes hasta la fecha final que uno ingresa. Y mi pregunta es como puedo hacer que en este mismo reporte salgan el total de galones pero desde el primer dia del mes hasta un dia antes de la fecha final que uno ingresa?
Código:
DELIMITER $$
DROP PROCEDURE IF EXISTS `usp_Consolidado` $$
CREATE DEFINER=`tomza`@`%` PROCEDURE `usp_Consolidado`(
in pFechaFinal varchar(50)
)
BEGIN
DROP TABLE IF EXISTS Tmp;
CREATE TABLE Tmp
SELECT factura.fecha as fecha,personal.codigo as codigo, concat(personal.nombres, ' ', personal.apellidos) nombre,distribucion.nombre as distribucion,
if(articulo.codigo='2005', factura_detalle.cantidad,0) as CL05,
if(articulo.codigo='2010', factura_detalle.cantidad,0) as CL10,
if(articulo.codigo='2020', factura_detalle.cantidad,0) as CL20,
if(articulo.codigo='2025', factura_detalle.cantidad,0) as CL25,
if(articulo.codigo='2035', factura_detalle.cantidad,0) as CL35,
if(articulo.codigo='2040', factura_detalle.cantidad,0) as CL40,
if(articulo.codigo='2060', factura_detalle.cantidad,0) as CL60,
if(articulo.codigo='2100', factura_detalle.cantidad,0) as CL100,
if(articulo.codigo='2005' or articulo.codigo='2010' or articulo.codigo='2020' or articulo.codigo='2025'
or articulo.codigo='2035' or articulo.codigo='2040' or articulo.codigo='2060' or articulo.codigo='2100',factura_detalle.cantidad,0) as cilingaldros,
if(articulo.codigo='2005' or articulo.codigo='2010' or articulo.codigo='2020' or articulo.codigo='2025'
or articulo.codigo='2035' or articulo.codigo='2040' or articulo.codigo='2060' or articulo.codigo='2100',factura_detalle.galones,0) as equival_galones,
if(articulo.codigo='4000' or articulo.codigo='5000',factura_detalle.galones,0) as galones
from factura_detalle
inner join factura on factura_detalle.facturaid=factura.facturaid
inner join personal on factura.pilotoid=personal.personalid
inner join distribucion on factura.distribucionid=distribucion.distribucionid
inner join articulo on factura_detalle.articuloid=articulo.articuloid where articulo.codigo='2005' or articulo.codigo='2010' or articulo.codigo='2020'
or articulo.codigo='2025' or articulo.codigo='2035' or articulo.codigo='2040' or articulo.codigo='2060' or articulo.codigo='2100' or articulo.codigo='4000' or articulo.codigo='5000';
select date_format(fecha, '%Y/%m/%d'),codigo, nombre,distribucion,
(sum(CL05) + sum(CL10)) as OTROS, sum(CL20) as CL20, sum(CL25) as CL25, sum(CL35) as CL35, sum(CL40) as CL40, sum(CL60) as CL60,
sum(CL100) as CL100,
sum(cilingaldros) as cilingaldros, sum(equival_galones) as equival_galones, sum(galones) as galones
from tmp c
where
date_format(fecha, '%Y/%m/%d') between date_format(pFechaFinal,'%Y/%m/01') and date_format(pFechaFinal,'%Y/%m/%d')
group by codigo order by fecha;
END $$
DELIMITER ;
|