Subversion Repositories Integrator Subversion

Rev

Rev 106 | Go to most recent revision | 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.core.generic.GenericService;
import br.com.ec.core.util.DataUtils;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.dto.ParametrosFecharCaixaDTO;
import br.com.ec.domain.model.Loja;
import br.com.ec.domain.service.fecharcaixa.FecharCaixaService;
import br.com.ec.domain.service.loja.LojaService;
import br.com.ec.web.generic.AbstractBean;

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

        private static final long serialVersionUID = 1L;
       
        private ParametrosFecharCaixaDTO parametrosFecharCaixaDTO;
       
        private Loja lojaSelecionada;
       
        private FecharCaixaService fecharCaixaService;
        private LojaService lojaService;
       
        @Inject
        public FecharCaixaBean(FecharCaixaService fecharCaixaService, LojaService lojaService) {
                this.fecharCaixaService = fecharCaixaService;
                this.lojaService = lojaService;
        }
       
        @Override
        public void preCarregamento() {
                limparEntidade();
        }
       
        @Override
        public void limparEntidade() {
                parametrosFecharCaixaDTO = new ParametrosFecharCaixaDTO();
                parametrosFecharCaixaDTO.setDataVendas(DataUtils.getDataAtual());
                parametrosFecharCaixaDTO.setLoja(getLojaSelecionada());
        }

        @Override
        public GenericService<ParametrosFecharCaixaDTO> getService() {
                return fecharCaixaService;
        }

        @Override
        public ParametrosFecharCaixaDTO getId() {
                return null;
        }
       
        public ParametrosFecharCaixaDTO getParametrosFecharCaixaDTO() {
                return parametrosFecharCaixaDTO;
        }
        public void setParametrosFecharCaixaDTO(ParametrosFecharCaixaDTO parametrosFecharCaixaDTO) {
                this.parametrosFecharCaixaDTO = parametrosFecharCaixaDTO;
        }
       
        public Loja getLojaSelecionada() {
                if (VerificadorUtil.estaNulo(lojaSelecionada)) {
                        Loja loja = new Loja();
                        loja.setSequencial(new Long(getParametro("sequencialLoja").toString()));
                        lojaSelecionada = lojaService.consultarPorId(loja);
                }
                return lojaSelecionada;
        }
        public void setLojaSelecionada(Loja lojaSelecionada) {
                this.lojaSelecionada = lojaSelecionada;
        }
       
        public void prepararFechamentoCaixa(Loja loja) {
                getParametrosFecharCaixaDTO().setLoja(getLojaSelecionada());
                setParametrosFecharCaixaDTO(fecharCaixaService.iniciarFechamentoCaixa(getParametrosFecharCaixaDTO()));
        }
       
        public void realizarFechamentoDoCaixa() {
                fecharCaixaService.realizarFechamentoDoCaixa(getParametrosFecharCaixaDTO().getListaVendas());
                fecharCaixaService.enviarEmailResumoDoDia(getLojaSelecionada());
                limparEntidade();
        }
       
}