﻿ 
<Reporte xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="./esquemarep.xsd" 
generado="2010-08-10">
	
	<informaciondereporte>
		<titulo>Productividad detallada por mes y analista2 </titulo>
		<descripcion>Muestra un desglose detallado en fichas y ejemplares que cada analista ha capturado,modificado, importado, borrado, etc. dentro de un cierto rango de tiempo.</descripcion>
		  <msshape>false</msshape>
		<agrupable>true</agrupable>
		<ordenable>true</ordenable>
                <requierepantallaprevia>true</requierepantallaprevia>
	</informaciondereporte>
	
	<sentenciaSQL>  

SELECT [$G1],[$G2],[$G3],[$G4],count(distinct d.idficha)::bigint as ntitulos, sum(d.ejemp)::bigint as nejemp FROM (
SELECT fecharegistroenfichadpi as fecha,'CAPTURADOS'::text as actividad,e.idanalistaregistroenfichadpi as analista,date_part('YEAR',e.fecharegistroenfichadpi) as anio, 
       date_part('MONTH',e.fecharegistroenfichadpi) as mes,e.idficha, count(e.numadqui) as ejemp
FROM  analisis.ejemplaresdetallesdpi e INNER JOIN analisis.fichas f ON f.idficha=e.idficha 
WHERE  idanalistaregistroenfichadpi IS NOT NULL
GROUP BY fecha,actividad,analista,anio,mes,e.idficha 
UNION
SELECT e.fecha,'MODIFICADOS'::text as actividad,e.analista as analista,date_part('YEAR',e.fecha) as anio, 
       date_part('MONTH',e.fecha) as mes,e.idinterno as idficha, count(e.numadqui) as ejemp
FROM  analisis.productividad e INNER JOIN analisis.fichas f ON f.idficha=e.idinterno 
WHERE (analista IS NOT NULL) AND operacion ILIKE '%MOD%' AND (tipomov='P' AND modulo=5)
GROUP BY fecha,actividad,analista,anio,mes,idinterno  
UNION
SELECT e.fecha,'IMPORTADOS'::text as actividad,e.analista as analista,date_part('YEAR',e.fecha) as anio, 
       date_part('MONTH',e.fecha) as mes,e.idinterno, count(e.numadqui)::bigint as ejemp
FROM  analisis.productividad e INNER JOIN analisis.fichas f ON f.idficha=e.idinterno 
WHERE  (analista IS NOT NULL) AND operacion ILIKE '%I%' AND (tipomov='P' AND modulo=5)
GROUP BY fecha,actividad,analista,anio,mes,idinterno  
UNION 
SELECT e.fecha,'BORRADOS'::text as actividad,e.analista as analista,date_part('YEAR',e.fecha) as anio, 
       date_part('MONTH',e.fecha) as mes,e.idinterno, count(e.numadqui) as ejemp
FROM  analisis.productividad e 
WHERE (analista IS NOT NULL) AND operacion ILIKE '%DEL%' AND (tipomov='P' AND modulo=5)
GROUP BY fecha,actividad,analista,anio,mes,idinterno  
UNION
SELECT e.fecharecepciondpi as fecha,'ASIGNADOS'::text as actividad,e.idanalistaasignado as analista,date_part('YEAR',e.fecharecepciondpi) as anio, 
       date_part('MONTH',e.fecharecepciondpi) as mes,e.idficha, count(e.numadqui) as ejemp
FROM  analisis.ejemplaresdetallesdpi e 
WHERE  (idanalistaasignado IS NOT NULL) AND (idrecepciondpi IS NOT NULL )
GROUP BY fecha,actividad,analista,anio,mes,idficha  
UNION
SELECT e.fechaenviodpi as fecha,'ENVIADOS'::text as actividad,e.idanalistaenviodpi as analista,date_part('YEAR',e.fechaenviodpi) as anio, 
       date_part('MONTH',e.fechaenviodpi) as mes,e.idficha, count(e.numadqui) as ejemp
FROM  analisis.ejemplaresdetallesdpi e --INNER JOIN analisis.fichas f ON f.idficha=e.idficha 
WHERE  (idanalistaenviodpi IS NOT NULL) AND (idenviodpi IS NOT NULL )
GROUP BY fecha,actividad,analista,anio,mes,idficha
UNION
SELECT e.fecha,'REASIGNADOS'::text as actividad,e.analista as analista,date_part('YEAR',e.fecha) as anio, 
       date_part('MONTH',e.fecha) as mes,e.idinterno, count(e.numadqui) as ejemp
FROM  analisis.productividad e 
WHERE (analista IS NOT NULL) AND operacion ILIKE '%EREA%' AND (tipomov='B' AND modulo=5) 
GROUP BY fecha,actividad,analista,anio,mes,idinterno  
) as d 
WHERE  [$F1] AND [$F2] AND [$F3]
GROUP BY [$G1],[$G2],[$G3],[$G4]
ORDER BY 2;

	</sentenciaSQL>
	
	<paginado paginar="true">
		<paginas>20</paginas>
		<paginas>40</paginas>
		<paginas>60</paginas>
		<paginas>80</paginas>
		<paginas pordefecto="true">100</paginas>
	</paginado>
	
	<colores colorear="true">
		<color elemento="filaimpar">#F2F7FE</color>
	</colores>
	
	<campos>
	    <campo alias="actividad" ancho="1300" tipo="string"/>
    	<campo alias="analista" ancho="1300" tipo="string"/>
		<campo alias="anio" ancho="900" tipo="numerical" />
		<campo alias="mes" ancho="800" tipo="numerical"/>
		<campo alias="ntitulos" ancho="1200" tipo="numerical"/>
		<campo alias="nejemp" ancho="1200" tipo="numerical"  />
	</campos>
	
	<filtros filtrar="true">
		<filtro alias="actividad"/>
		<filtro alias="analista"/>
		<filtro alias="anio"/>
		<filtro alias="mes"/>
		<filtro alias="ntitulos"/>
		<filtro alias="nejemp"/>
	</filtros>

        <parametros>
            <agrupables>
		<campo ref="[$G1]" nombre="actividad"  tipo="string" />	
		<campo ref="[$G2]" nombre="analista"  tipo="string" />
		<campo ref="[$G3]" nombre="anio" tipo="numerical" />
		<campo ref="[$G4]" nombre="mes" tipo="numerical" />
            </agrupables>		
            <filtrables>
               <campo ref="[$F1]" nombre="d.fecha" alias="fecha" tipo="date" 
                    filtSQL="d.fecha BETWEEN '1980-01-01 00:01' AND '2030-12-31 23:59'"/>
		       <campo ref="[$F2]" nombre="d.analista" alias="analista" tipo="string" 
                    filtSQL="d.analista IS NOT NULL"/>
			   <campo ref="[$F3]" nombre="actividad" alias="actividad" tipo="list" 
			          dataList="'ASIGNADOS','BORRADOS','CAPTURADOS','ENVIADOS','IMPORTADOS','MODIFICADOS'" 
			          textList="'Asignados','Borrados','Capturados','Enviados','Importados','Modificados'"
                      filtSQL="actividad ilike '%' "/>	
            </filtrables>
        </parametros>  
</Reporte>