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.

301 lines
8.6 KiB

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package planosactuacao;
import com.evolute.utils.data.Mappable;
import com.evolute.utils.strings.UnicodeChecker;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.component.Button;
import com.sun.webui.jsf.component.DropDown;
import com.sun.webui.jsf.component.Table;
import com.sun.webui.jsf.component.TableRowGroup;
import com.sun.webui.jsf.model.Option;
import db.entidades.LinhaEstatistica;
import db.providers.PlanosDataProvider;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.faces.FacesException;
/**
* <p>Page bean that corresponds to a similarly named JSP page. This
* class contains component definitions (and initialization code) for
* all components that you have defined on this page, as well as
* lifecycle methods and event handlers where you may add behavior
* to respond to incoming events.</p>
*
* @version Estatistica.java
* @version Created on Mar 27, 2012, 2:22:42 PM
* @author fpalma
*/
public class Estatistica extends AbstractPageBean {
// <editor-fold defaultstate="collapsed" desc="Managed Component Definition">
private DropDown dropEstabelecimento = new DropDown();
private Date calInicioDate = null;
private Date calFimDate = null;
private Button buttonPesquisar;// = new Button();
private Table tableEstatistica = new Table();
private TableRowGroup tableRowGroupEstatisticas = new TableRowGroup();
/**
* <p>Automatically managed component initialization. <strong>WARNING:</strong>
* This method is automatically generated, so any user-specified code inserted
* here is subject to being replaced.</p>
*/
private void _init() throws Exception {
}
// </editor-fold>
/**
* <p>Construct a new Page bean instance.</p>
*/
public Estatistica() {
}
/**
* <p>Callback method that is called whenever a page is navigated to,
* either directly via a URL, or indirectly via page navigation.
* Customize this method to acquire resources that will be needed
* for event handlers and lifecycle methods, whether or not this
* page is performing post back processing.</p>
*
* <p>Note that, if the current request is a postback, the property
* values of the components do <strong>not</strong> represent any
* values submitted with this request. Instead, they represent the
* property values that were saved for this view when it was rendered.</p>
*/
@Override
public void init() {
// Perform initializations inherited from our superclass
super.init();
// Perform application initialization that must complete
// *before* managed components are initialized
// TODO - add your own initialiation code here
// <editor-fold defaultstate="collapsed" desc="Managed Component Initialization">
// Initialize automatically managed components
// *Note* - this logic should NOT be modified
try {
_init();
fillEstabelecimentosDrop();
} catch (Exception e) {
log("Estatistica Initialization Failure", e);
throw e instanceof FacesException ? (FacesException) e: new FacesException(e);
}
// </editor-fold>
// Perform application initialization that must complete
// *after* managed components are initialized
// TODO - add your own initialization code here
}
/**
* <p>Callback method that is called after the component tree has been
* restored, but before any event processing takes place. This method
* will <strong>only</strong> be called on a postback request that
* is processing a form submit. Customize this method to allocate
* resources that will be required in your event handlers.</p>
*/
@Override
public void preprocess() {
}
/**
* <p>Callback method that is called just before rendering takes place.
* This method will <strong>only</strong> be called for the page that
* will actually be rendered (and not, for example, on a page that
* handled a postback and then navigated to a different page). Customize
* this method to allocate resources that will be required for rendering
* this page.</p>
*/
@Override
public void prerender() {
}
/**
* <p>Callback method that is called after rendering is completed for
* this request, if <code>init()</code> was called (regardless of whether
* or not this was the page that was actually rendered). Customize this
* method to release resources acquired in the <code>init()</code>,
* <code>preprocess()</code>, or <code>prerender()</code> methods (or
* acquired during execution of an event handler).</p>
*/
@Override
public void destroy() {
}
/**
* <p>Return a reference to the scoped data bean.</p>
*
* @return reference to the scoped data bean
*/
protected ApplicationBean1 getApplicationBean1()
{
return ( ApplicationBean1 ) getBean( "ApplicationBean1" );
}
/**
* <p>Return a reference to the scoped data bean.</p>
*
* @return reference to the scoped data bean
*/
protected SessionBean1 getSessionBean1()
{
return ( SessionBean1 ) getBean( "SessionBean1" );
}
/**
* <p>Return a reference to the scoped data bean.</p>
*
* @return reference to the scoped data bean
*/
protected RequestBean1 getRequestBean1()
{
return ( RequestBean1 ) getBean( "RequestBean1" );
}
public Button getButtonPesquisar()
{
return buttonPesquisar;
}
public void setButtonPesquisar( Button buttonPesquisar )
{
this.buttonPesquisar = buttonPesquisar;
}
public Date getCalFimDate()
{
return calFimDate;
}
public void setCalFimDate( Date calFimDate )
{
this.calFimDate = calFimDate;
}
public Date getCalInicioDate()
{
return calInicioDate;
}
public void setCalInicioDate( Date calInicioDate )
{
this.calInicioDate = calInicioDate;
}
public DropDown getDropEstabelecimento()
{
return dropEstabelecimento;
}
public void setDropEstabelecimento( DropDown dropEstabelecimento )
{
this.dropEstabelecimento = dropEstabelecimento;
}
public Table getTableEstatistica()
{
return tableEstatistica;
}
public void setTableEstatistica( Table tableEstatistica )
{
this.tableEstatistica = tableEstatistica;
}
public TableRowGroup getTableRowGroupEstatisticas()
{
return tableRowGroupEstatisticas;
}
public void setTableRowGroupEstatisticas( TableRowGroup tableRowGroupEstatisticas )
{
this.tableRowGroupEstatisticas = tableRowGroupEstatisticas;
}
public String buttonPesquisar_action()
{
System.out.println( "ACTION" );
List<LinhaEstatistica> linhasEstatistica = null;
try
{
Integer estabelecimentoId = null;
if ( dropEstabelecimento.getSelected() != null )
{
String estabelecimento = ( String ) dropEstabelecimento.getSelected();
if ( estabelecimento != null )
{
try {
estabelecimentoId = Integer.parseInt( estabelecimento );
}
catch ( Exception e )
{
e.printStackTrace();
}
}
}
linhasEstatistica = PlanosDataProvider.getInstance().getEstatisticaForEstabelecimentoIdAndDateInterval( estabelecimentoId, calInicioDate, calFimDate );
System.out.println( "LINHAS: " + linhasEstatistica.size() );
}
catch( Exception ex )
{
System.out.println( "EXCEPTION" );
ex.printStackTrace();
linhasEstatistica = new ArrayList<LinhaEstatistica>();
}
getSessionBean1().getEstatisticaPlanoDataProvider().setList( linhasEstatistica );
return null;
}
protected void fillEstabelecimentosDrop()
{
// List<EstabelecimentosData> estabelecimentos = null;
List<Mappable> estabelecimentos = null;
try
{
estabelecimentos = PlanosDataProvider.getInstance().getEstabelecimentosForEstatistica( getSessionBean1().getCurrentUser() );
}
catch( Exception ex )
{
ex.printStackTrace();
return;
}
// Option[] options = new Option[ estabelecimentos.size() > 1 ? estabelecimentos.size() + 1 : 1 ];
Option[] options = new Option[ estabelecimentos.size() ];
int off = 0;
// if( options.length > 1 )
// {
// options[ 0 ] = new Option( null, "Todos" );
// off = 1;
// }
for( int i = 0; i + off < options.length; i++ )
{
options[ i + off ] = new Option( estabelecimentos.get( i ).getID(), ( String ) estabelecimentos.get( i ).getValue() );
}
if ( estabelecimentos != null )
{
dropEstabelecimento.setItems( options );
}
}
/**
* <p>Return a reference to the scoped data bean.</p>
*
* @return reference to the scoped data bean
*/
protected EditarPlano getEditarPlano()
{
return ( EditarPlano ) getBean( "EditarPlano" );
}
}