forked from Coded/SIPRP
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							122 lines
						
					
					
						
							3.1 KiB
						
					
					
				
			
		
		
	
	
							122 lines
						
					
					
						
							3.1 KiB
						
					
					
				/*
 | 
						|
 * RelatorioServlet.java
 | 
						|
 *
 | 
						|
 * Created on 27 de Abril de 2005, 16:16
 | 
						|
 */
 | 
						|
 | 
						|
package siprp.pagina;
 | 
						|
 | 
						|
import java.io.*;
 | 
						|
import java.util.*;
 | 
						|
 | 
						|
import javax.servlet.*;
 | 
						|
import javax.servlet.http.*;
 | 
						|
 | 
						|
import org.apache.velocity.*;
 | 
						|
import org.apache.velocity.app.*;
 | 
						|
/**
 | 
						|
 *
 | 
						|
 * @author  fpalma
 | 
						|
 */
 | 
						|
public class RelatorioServlet extends MailerServlet
 | 
						|
{
 | 
						|
	private final static String EMPRESA = "empresa";
 | 
						|
	private final static String EMAIL_EMPRESA = "email_empresa";
 | 
						|
	private final static String ANO = "ano";
 | 
						|
	
 | 
						|
	private final static String[] FORM_FIELDS = new String[]{
 | 
						|
								EMPRESA, ANO, EMAIL_EMPRESA	};
 | 
						|
	
 | 
						|
	public void doGet( HttpServletRequest req, HttpServletResponse res )
 | 
						|
		throws IOException
 | 
						|
	{
 | 
						|
		ServletOutputStream out = res.getOutputStream();
 | 
						|
		String queryString = req.getQueryString();
 | 
						|
		res.setContentType( "text/html" );
 | 
						|
 | 
						|
		Hashtable parameters = new Hashtable();
 | 
						|
 | 
						|
		// Ir buscar os parametros à sessão
 | 
						|
		HttpSession session = req.getSession( false );
 | 
						|
		if( session == null )
 | 
						|
		{
 | 
						|
			// timeout
 | 
						|
			out.println( showPage( "relatorio/pedido_sessao_expirou.html", null ) );
 | 
						|
			return;
 | 
						|
		}
 | 
						|
 | 
						|
		out.println( showPage( "relatorio/pedido_relatorio.html", parameters ) );
 | 
						|
	}
 | 
						|
 | 
						|
	public void doPost( HttpServletRequest req, HttpServletResponse res )
 | 
						|
		throws IOException
 | 
						|
	{
 | 
						|
		ServletOutputStream out = res.getOutputStream();
 | 
						|
		String queryString = req.getQueryString();
 | 
						|
		res.setContentType( "text/html" );
 | 
						|
 | 
						|
		// Info de marcacao
 | 
						|
		// Dados que vem no pedido: marcacao_tipo, data, hora
 | 
						|
		Hashtable parameters = parseParameters( new Hashtable( req.getParameterMap() ) );
 | 
						|
		
 | 
						|
		// Ir buscar o resto dos parametros à sessão
 | 
						|
		HttpSession session = req.getSession( false );
 | 
						|
		if( session == null )
 | 
						|
		{
 | 
						|
			// timeout
 | 
						|
			out.println( showPage( "relatorio/pedido_sessao_expirou.html", null ) );
 | 
						|
			return;
 | 
						|
		}
 | 
						|
 | 
						|
		parameters.put( EMPRESA, session.getAttribute( siprpServlet.sessionCompanyName ) );
 | 
						|
		String from = ( String ) session.getAttribute( siprpServlet.sessionCompanyEmail );
 | 
						|
		
 | 
						|
		String email = DEFAULT_EMAIL;
 | 
						|
		if( PROPERTIES != null && PROPERTIES.containsKey( EMAIL ) )
 | 
						|
		{
 | 
						|
			email = ( String ) PROPERTIES.get( EMAIL );
 | 
						|
		}
 | 
						|
		String destination = email;
 | 
						|
		String subject = "Pedido de envio de relatorio via web";
 | 
						|
		if( parameters.get( ANO ) == null )
 | 
						|
		{
 | 
						|
			parameters.put( ANO, "corrente" );
 | 
						|
		}
 | 
						|
		String content = createContent( parameters, FORM_FIELDS, "relatorio/pedido.html" );
 | 
						|
		// manda mail
 | 
						|
		boolean success = sendMail( from, destination, subject, content, true );
 | 
						|
 | 
						|
		// mostra pagina correspondente
 | 
						|
		out.println( showResultPage( success, "relatorio/pedido_enviado.html", "relatorio/pedido_nao_enviado.html" ) );
 | 
						|
	}
 | 
						|
	
 | 
						|
	private String showPage( String page, Hashtable parameters )
 | 
						|
	{
 | 
						|
		VelocityContext context = new VelocityContext();
 | 
						|
		StringWriter output = new StringWriter();
 | 
						|
 | 
						|
		try
 | 
						|
		{
 | 
						|
			if( parameters != null )
 | 
						|
			{
 | 
						|
				String key;
 | 
						|
				for( Enumeration e = parameters.keys(); e.hasMoreElements(); )
 | 
						|
				{
 | 
						|
					key = ( String ) e.nextElement();
 | 
						|
					context.put( key, parameters.get( key ) );
 | 
						|
				}
 | 
						|
			}
 | 
						|
 | 
						|
			Velocity.mergeTemplate( page, Velocity.ENCODING_DEFAULT, context, output );
 | 
						|
 | 
						|
			return output.toString();
 | 
						|
		}
 | 
						|
		catch( Exception e )
 | 
						|
		{
 | 
						|
			e.printStackTrace();
 | 
						|
		}
 | 
						|
 | 
						|
		return null;
 | 
						|
	}
 | 
						|
}
 |