Subversion Repositories Integrator Subversion

Rev

Rev 106 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.ec.controller.managedbean;

import java.io.Serializable;

import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.context.annotation.Scope;

import br.com.ec.controller.managedbean.consultademanda.PedidoConsultaPorDemanda;
import br.com.ec.core.generic.GenericService;
import br.com.ec.core.util.DataUtils;
import br.com.ec.domain.dto.ParametrosConsultaPedidoDTO;
import br.com.ec.domain.model.Pedido;
import br.com.ec.domain.service.pedido.PedidoService;
import br.com.ec.web.exception.VerificadorLancamentoException;
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
import br.com.ec.web.generic.AbstractBean;
import br.com.ec.web.message.LancadorMensagem;

@Named
@Scope("view")
public class FaltaBean extends AbstractBean<Pedido> implements Serializable {

        private static final long serialVersionUID = 1L;
       
        private PedidoConsultaPorDemanda lazy;
        private String senhaUsuario;
       
        private PedidoService pedidoService;

        @Inject
        public FaltaBean(PedidoConsultaPorDemanda lazy, PedidoService pedidoService) {
                this.lazy = lazy;
                this.pedidoService = pedidoService;
        }
       
        @Override
        public void preCarregamento() {
                limparEntidade();
                prepararConsultaDemanda();
        }
       
        @Override
        public void limparEntidade() {
                entidade = new Pedido();
//              entidade.setEmpresa(new Empresa(ConstantesSEC.Empresa.CODIGO_EMPRESA_FARMACIA_3));
                parametrosConsulta = new ParametrosConsultaPedidoDTO();
                parametrosConsulta.setEntidade(entidade);
                ((ParametrosConsultaPedidoDTO)parametrosConsulta).setAtendido(false);
                setSenhaUsuario("");
        }

        @Override
        public GenericService<Pedido> getService() {
                return pedidoService;
        }
       
        @Override
        public Pedido getEntidade() {
                return entidade;
        }

        @Override
        public Pedido getId() {
                return getEntidade();
        }
       
        public PedidoConsultaPorDemanda getLazy() {
                return lazy;
        }
        public void setLazy(PedidoConsultaPorDemanda lazy) {
                this.lazy = lazy;
        }
        public void prepararConsultaDemanda() {
                lazy.setarParametrosConsulta(getParametrosConsulta());
        }
       
        public String getSenhaUsuario() {
                return senhaUsuario;
        }
        public void setSenhaUsuario(String senhaUsuario) {
                this.senhaUsuario = senhaUsuario;
        }
       
        /***************************************************************/
       
        @Override
        public void cadastrar() {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
                                pedidoService.adicionarPedido(getEntidade(), senhaUsuario);
                                limparEntidade();
                                LancadorMensagem.lancarSucesso("PEDIDO ADICIONADO COM SUCESSO!");
                        }
                });
        }
       
        public void atenderPedido(final Pedido pedido) {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
                                pedido.setDataUltimaAlteracaoSituacao(DataUtils.getDataAtual());
                                pedidoService.alterar(pedido);
                                LancadorMensagem.lancarSucesso("PEDIDO ATENDIDO COM SUCESSO!");
                        }
                });
        }
       
        public void excluirPedido(final Pedido pedido) {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
                                pedidoService.excluir(pedido);
                                LancadorMensagem.lancarSucesso("PEDIDO EXCLUÍDO COM SUCESSO!");
                        }
                });
        }
       
}