Subversion Repositories Integrator Subversion

Rev

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

package br.com.ec.domain.dto;

import java.io.File;
import java.util.Date;

import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;

import br.com.ec.domain.model.Vigencia;
import br.com.ec.domain.model.tipos.TipoSituacoesVigencia;
import br.com.ec.domain.shared.ConstantesSEC;

public class VigenciaDTO {

        private Long sequencial;
        private String descricao;
        private Date dataInicio;
        private Date dataFim;
       
        private String tipoSituacaoValeTransporte;
        private String tipoSituacaoFolha;
        private String tipoSituacaoConciliacaoBancaria;
       
        private Boolean possuiConsolidacaoEstoque;
       
        public VigenciaDTO() {}
       
        public VigenciaDTO(Long sequencial) {
                this.sequencial = sequencial;
        }
       
        public static String CONSULTA_DTO_CONSOLIDACAO = "new br.com.ec.domain.dto.VigenciaDTO("
                        + "e.sequencial, e.descricao, e.dataInicio, e.dataFim, e.tipoSituacaoValeTransporte, e.tipoSituacaoFolha, "
                        + "e.tipoSituacaoConciliacaoBancaria, "
                        + "EXISTS (SELECT c FROM ConsolidadoEstoque c WHERE c.vigencia.sequencial = e.sequencial)) ";
        public VigenciaDTO(Long sequencial, String descricao, Date dataInicio, Date dataFim, String tipoSituacaoValeTransporte,
                        String tipoSituacaoFolha, String tipoSituacaoConciliacaoBancaria, Boolean possuiConsolidacaoEstoque) {
                this.sequencial = sequencial;
                this.descricao = descricao;
                this.dataInicio = dataInicio;
                this.dataFim = dataFim;
                this.tipoSituacaoValeTransporte = tipoSituacaoValeTransporte;
                this.tipoSituacaoFolha = tipoSituacaoFolha;
                this.tipoSituacaoConciliacaoBancaria = tipoSituacaoConciliacaoBancaria;
                this.possuiConsolidacaoEstoque = possuiConsolidacaoEstoque;
        }
       
        public static String CONSULTA_DTO_COMPLETA = "new br.com.ec.domain.dto.VigenciaDTO("
                        + "e.sequencial, e.descricao, e.dataInicio, e.dataFim, e.tipoSituacaoValeTransporte, e.tipoSituacaoFolha, e.tipoSituacaoConciliacaoBancaria) ";
        public VigenciaDTO(Long sequencial, String descricao, Date dataInicio, Date dataFim, String tipoSituacaoValeTransporte,
                        String tipoSituacaoFolha, String tipoSituacaoConciliacaoBancaria) {
                this.sequencial = sequencial;
                this.descricao = descricao;
                this.dataInicio = dataInicio;
                this.dataFim = dataFim;
                this.tipoSituacaoValeTransporte = tipoSituacaoValeTransporte;
                this.tipoSituacaoFolha = tipoSituacaoFolha;
                this.tipoSituacaoConciliacaoBancaria = tipoSituacaoConciliacaoBancaria;
        }
       
        public VigenciaDTO(Long sequencial, String descricao) {
                this.sequencial = sequencial;
                this.descricao = descricao;
        }
       
        public VigenciaDTO(Vigencia vigencia) {
                this.sequencial = vigencia.getSequencial();
                this.descricao = vigencia.getDescricao();
                this.dataInicio = vigencia.getDataInicio();
                this.dataFim = vigencia.getDataFim();
        }

        public Long getSequencial() {
                return sequencial;
        }
        public void setSequencial(Long sequencial) {
                this.sequencial = sequencial;
        }
       
        public String getDescricao() {
                return descricao;
        }
        public void setDescricao(String descricao) {
                this.descricao = descricao;
        }
       
        public Date getDataInicio() {
                return dataInicio;
        }
        public void setDataInicio(Date dataInicio) {
                this.dataInicio = dataInicio;
        }
       
        public Date getDataFim() {
                return dataFim;
        }
        public void setDataFim(Date dataFim) {
                this.dataFim = dataFim;
        }
       
        public String getTipoSituacaoValeTransporte() {
                return tipoSituacaoValeTransporte;
        }
        public void setTipoSituacaoValeTransporte(String tipoSituacaoValeTransporte) {
                this.tipoSituacaoValeTransporte = tipoSituacaoValeTransporte;
        }
        public String descricaoSituacaoValeTransporte() {
                return TipoSituacoesVigencia.parse(getTipoSituacaoValeTransporte()).getDescricao();
        }
       
        public String getTipoSituacaoFolha() {
                return tipoSituacaoFolha;
        }
        public void setTipoSituacaoFolha(String tipoSituacaoFolha) {
                this.tipoSituacaoFolha = tipoSituacaoFolha;
        }
        public String descricaoSituacaoFolha() {
                return TipoSituacoesVigencia.parse(getTipoSituacaoFolha()).getDescricao();
        }
       
        public String getTipoSituacaoConciliacaoBancaria() {
                return tipoSituacaoConciliacaoBancaria;
        }
        public void setTipoSituacaoConciliacaoBancaria(String tipoSituacaoConciliacaoBancaria) {
                this.tipoSituacaoConciliacaoBancaria = tipoSituacaoConciliacaoBancaria;
        }
        public String descricaoSituacaoConciliacaoBancaria() {
                return TipoSituacoesVigencia.parse(getTipoSituacaoConciliacaoBancaria()).getDescricao();
        }

        public Boolean getPossuiConsolidacaoEstoque() {
                return possuiConsolidacaoEstoque;
        }
        public void setPossuiConsolidacaoEstoque(Boolean possuiConsolidacaoEstoque) {
                this.possuiConsolidacaoEstoque = possuiConsolidacaoEstoque;
        }
       
        /*********************************/
       
        public String getCaminhoPadraoImagens() {
                return ConstantesSEC.TESTE_EMISSAO_LOCAL? ConstantesSEC.Imagem.CAMINHO_PADRAO_LOCAL : ConstantesSEC.Imagem.CAMINHO_PADRAO_SERVIDOR;
        }
       
        public String getCaminhoPastaImagens() {
                ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
                return ConstantesSEC.TESTE_EMISSAO_LOCAL?
                                servletContext.getRealPath("") + File.separator + ConstantesSEC.Imagem.NOME_PASTA_PADRAO + File.separator :
                                servletContext.getRealPath("") + File.separator + ".." + File.separator + ConstantesSEC.Imagem.NOME_PASTA_PADRAO + File.separator;
        }
       
        public String getImagemPromocoes() {
                return retornarImagemPngOuJpg("promocoes_");
        }
       
        public String getImagemEscala() {
                return retornarImagemPngOuJpg("escala_");
        }
       
        public String getImagemDestaques() {
                return retornarImagemPngOuJpg("destaques_");
        }
       
        private String retornarImagemPngOuJpg(String pasta) {
                File foto = new File(getCaminhoPastaImagens() + pasta + getSequencial() + ".jpg");
                if (foto.exists()) {
                        return getCaminhoPadraoImagens() + pasta + getSequencial() + ".jpg";
                }
                foto = new File(getCaminhoPastaImagens() + pasta + getSequencial() + ".jpeg");
                if (foto.exists()) {
                        return getCaminhoPadraoImagens() + pasta + getSequencial() + ".jpeg";
                }
                if (!foto.exists()) {
                        foto = new File(getCaminhoPastaImagens() + pasta + getSequencial() + ".png");
                }
                return foto.exists()? getCaminhoPadraoImagens() + pasta + getSequencial() + ".png" : getCaminhoPadraoImagens() + "SEM_IMAGEM.png";
        }
       
}