/* * * Copyright (c) 2013 - 2014 INT - National Institute of Technology & COPPE - Alberto Luiz Coimbra Institute - Graduate School and Research in Engineering. * See the file license.txt for copyright permission. * */ package actions; import java.util.Date; import javax.faces.model.DataModel; import javax.faces.model.ListDataModel; import modelo.CapacDia; import modelo.Parametros; import modelo.PerioPM; import service.CapacDiaAppService; import service.ParametrosAppService; import service.controleTransacao.FabricaDeAppService; import util.DataUtil; import util.SelectOneDataModel; public class CapacDiaActions extends BaseActions { // Paginas public final String PAGINA_LIST = "listCapacDia"; public final String PAGINA_EDIT = "editCapacDia"; public final String PAGINA_EDIT_CAPACPADRAO = "editCapacPadrao"; // Services private static CapacDiaAppService capacDiaService; private static ParametrosAppService parametrosService; // Variaveis de Tela private CapacDia capacDiaCorrente; /** Campo existente apenas em tela e que sera usado para * propagar a mesma capacidade diaria para todos os periodos */ private double capacidadePadrao; // Componentes de Controle private DataModel listaCapacDia; private Parametros parametroCorrente; public CapacDiaActions(){ try { capacDiaService = FabricaDeAppService.getAppService(CapacDiaAppService.class); parametrosService = FabricaDeAppService.getAppService(ParametrosAppService.class); } catch (Exception e) { } } /** * Usado na edi��o. * � necessario fazer listaCapacDia e parametroCorrente como null para for�ar * o novo get dos mesmos. * @return */ public String cancela() { listaCapacDia = null; parametroCorrente = null; return PAGINA_LIST; } public String cancelaModal() { parametroCorrente = null; return PAGINA_LIST; } /** * Recebe a lista do bean e insere na requisi��o o CapacDia selecionado * na pagina "list" * Obtem o campo calculado capacProdDiariaEmMinMg desse CapacDia. * A partir do Parametros.MargemSeguranca. * Retorna "PAGINA_EDIT" e vai para a pagina "edit" onde � chamado o metodo altera() * para confirmar a edicao. * @return */ public String preparaAlteracao() { capacDiaCorrente = (CapacDia) listaCapacDia.getRowData(); //Atribui valores atuais para os campos calculados capacDiaCorrente.setCapacProdDiariaEmMinMg(capacDiaCorrente.getCapacProdDiariaEmMin()*(parametroCorrente.getMargemSeguranca()/100)); return PAGINA_EDIT; } /** * Atribui valor para o campo calculado: CapacProdDiariaEmMinMg. * E altera o campo calculado capacDiaCorrente. * * @return */ public String altera() { capacDiaService.altera(capacDiaCorrente); info("capacDia.SUCESSO_ALTERACAO"); listaCapacDia = null; parametroCorrente = null; return PAGINA_LIST; } /** * Alteracao da Margem de Seguranca * retorna para a tela capacidade de producao diaria na matriz **/ public String alteraMargemSeg(){ parametrosService.altera(parametroCorrente); info("parametros.SUCESSO_ALTERACAO_MARGEM"); listaCapacDia = null; parametroCorrente = null; return PAGINA_LIST; } public String PreparaAlteraCapacPadrao(){ return PAGINA_EDIT_CAPACPADRAO; } /** * Alteracao da capacidade de producao diaria em todos os registros a partir * da variavel capacidadePadrao informada pelo usuario * retorna para a tela capacidade de producao diaria na matriz **/ public String alteraCapacPadrao(){ capacDiaService.alteraCapacPadrao(capacidadePadrao); info("capacDia.SUCESSO_ALTERACAO_CAPACPADRAO"); listaCapacDia = null; parametroCorrente = null; return PAGINA_LIST; } // ================================== M�todos get() e set() ================================== // public double getCapacidadePadrao() { return capacidadePadrao; } public void setCapacidadePadrao(double capacidadePadrao) { this.capacidadePadrao = capacidadePadrao; } public CapacDia getCapacDiaCorrente() { return capacDiaCorrente; } public void setCapacDiaCorrente(CapacDia capacDiaCorrente) { this.capacDiaCorrente = capacDiaCorrente; } public DataModel getListaCapacDia() { if(parametroCorrente == null){ parametroCorrente = new Parametros(); parametroCorrente = parametrosService.recuperaListaDeParametros().get(0); } if (listaCapacDia == null){ listaCapacDia = new ListDataModel(capacDiaService.recuperaListaPaginadaDeCapacDias()); } return listaCapacDia; } public void setListaCapacDia(DataModel listaCapacDia) { this.listaCapacDia = listaCapacDia; } public void setParametroCorrente(Parametros parametroCorrente) { this.parametroCorrente = parametroCorrente; } public Parametros getParametroCorrente() { if (parametroCorrente == null){ parametroCorrente = new Parametros(); parametroCorrente = parametrosService.recuperaListaDeParametros().get(0); } return parametroCorrente; } }