Subversion Repositories Integrator Subversion

Rev

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

package br.com.ec.domain.dto;

import java.util.Date;

import br.com.ec.core.util.StringUtil;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.tipos.TipoFuncionarioEvento;

public class FuncionarioEventoDTO {

        private Long sequencial;
        private FuncionarioDTO funcionarioDTO;
        private UsuarioDTO usuarioDTOCadastro;
        private UsuarioDTO usuarioDTOAuditor;
        private Date dataInicial;
        private Date dataFinal;
        private String descricao;
        private String tipo;
       
        public FuncionarioEventoDTO() {}
       
        public FuncionarioEventoDTO(Long sequencialFuncionario) {
                this.funcionarioDTO = new FuncionarioDTO(sequencialFuncionario, null, null);
        }
       
        public static String CONSULTA_DTO = "e.sequencial, e.funcionario.sequencial, e.usuarioCadastro.sequencial, e.usuarioAuditor.sequencial, "
                        + "e.dataInicial, e.dataFinal, e.descricao, e.tipo";
        public FuncionarioEventoDTO(Long sequencial, Long sequencialFuncionario, Long sequencialUsuarioCadastro, Long sequencialUsuarioAuditor,
                        Date dataInicial, Date dataFinal, String descricao, String tipo) {
                super();
                this.sequencial = sequencial;
                this.funcionarioDTO = new FuncionarioDTO(sequencialFuncionario, null, null);
                this.usuarioDTOCadastro = new UsuarioDTO(sequencialUsuarioCadastro, null, null);
                if (VerificadorUtil.naoEstaNulo(sequencialUsuarioAuditor)) {
                        this.usuarioDTOAuditor = new UsuarioDTO(sequencialUsuarioAuditor, null, null);
                }
                this.dataInicial = dataInicial;
                this.dataFinal = dataFinal;
                this.descricao = descricao;
                this.tipo = tipo;
        }
       
        public static String CONSULTA_DTO_COM_FUNCIONARIO = "e.sequencial, e.funcionario.sequencial, e.funcionario.pessoa.sequencial, e.funcionario.pessoa.nome, "
                        + "e.usuarioCadastro.sequencial, e.usuarioAuditor.sequencial, "
                        + "e.dataInicial, e.dataFinal, e.descricao, e.tipo";
        public FuncionarioEventoDTO(Long sequencial, Long sequencialFuncionario, Long sequencialPessoa, String nomeFuncionario,
                        Long sequencialUsuarioCadastro, Long sequencialUsuarioAuditor,
                        Date dataInicial, Date dataFinal, String descricao, String tipo) {
                super();
                this.sequencial = sequencial;
                this.funcionarioDTO = new FuncionarioDTO(sequencialFuncionario, sequencialPessoa, nomeFuncionario);
                this.usuarioDTOCadastro = new UsuarioDTO(sequencialUsuarioCadastro, null, null);
                if (VerificadorUtil.naoEstaNulo(sequencialUsuarioAuditor)) {
                        this.usuarioDTOAuditor = new UsuarioDTO(sequencialUsuarioAuditor, null, null);
                }
                this.dataInicial = dataInicial;
                this.dataFinal = dataFinal;
                this.descricao = descricao;
                this.tipo = tipo;
        }
       
        public static String CONSULTA_DTO_COM_FUNCIONARIO_OLD = "e.sequencial, e.funcionario.sequencial, e.funcionario.pessoa.sequencial, e.funcionario.pessoa.nome, "
                        + "e.usuarioCadastro.sequencial, e.usuarioCadastro.pessoa.nome, e.usuarioAuditor.sequencial, e.usuarioAuditor.pessoa.nome, "
                        + "e.dataInicial, e.dataFinal, e.descricao, e.tipo";
        public FuncionarioEventoDTO(Long sequencial, Long sequencialFuncionario, Long sequencialPessoa, String nomeFuncionario,
                        Long sequencialUsuarioCadastro, String nomeUsuarioCadastro, Long sequencialUsuarioAuditor, String nomeUsuarioAuditor,
                        Date dataInicial, Date dataFinal, String descricao, String tipo) {
                super();
                this.sequencial = sequencial;
                this.funcionarioDTO = new FuncionarioDTO(sequencialFuncionario, sequencialPessoa, nomeFuncionario);
                this.usuarioDTOCadastro = new UsuarioDTO(sequencialUsuarioCadastro, null, nomeUsuarioCadastro);
                if (VerificadorUtil.naoEstaNulo(sequencialUsuarioAuditor)) {
                        this.usuarioDTOAuditor = new UsuarioDTO(sequencialUsuarioAuditor, null, nomeUsuarioAuditor);
                }
                this.dataInicial = dataInicial;
                this.dataFinal = dataFinal;
                this.descricao = descricao;
                this.tipo = tipo;
        }
       
        public static String CONSULTA_DTO_COMPLETA = "e.sequencial, e.funcionario.sequencial, "
                        + "SELECT (uc.sequencial, uc.login, uc.nome) FROM Usuario uc WHERE uc.sequencial = e.usuarioCadastro.sequencial, "
                        + "SELECT (ua.sequencial, ua.login, ua.nome) FROM Usuario ua WHERE ua.sequencial = e.usuarioAuditor.sequencial, "
//                      + "e.usuarioAuditor.sequencial, e.usuarioAuditor.login, e.usuarioAuditor.nome, "
                        + "e.dataInicial, e.dataFinal, e.descricao, e.tipo";
        public FuncionarioEventoDTO(Long sequencial, Long sequencialFuncionario, Long sequencialUsuarioCadastro, String loginUsuarioCadastro,
                        String nomeUsuaioCadastro, Long sequencialUsuarioAuditor, String loginUsuarioAuditor, String nomeUsuarioAuditor,
                        Date dataInicial, Date dataFinal, String descricao, String tipo) {
                super();
                this.sequencial = sequencial;
                this.funcionarioDTO = new FuncionarioDTO(sequencialFuncionario, null, null);
                this.usuarioDTOCadastro = new UsuarioDTO(sequencialUsuarioCadastro, loginUsuarioCadastro, nomeUsuaioCadastro);
                if (VerificadorUtil.naoEstaNulo(sequencialUsuarioAuditor)) {
                        this.usuarioDTOAuditor = new UsuarioDTO(sequencialUsuarioCadastro, loginUsuarioCadastro, nomeUsuaioCadastro);
                }
                this.dataInicial = dataInicial;
                this.dataFinal = dataFinal;
                this.descricao = descricao;
                this.tipo = tipo;
        }
       
        public Long getSequencial() {
                return sequencial;
        }

        public void setSequencial(Long sequencial) {
                this.sequencial = sequencial;
        }

        public FuncionarioDTO getFuncionarioDTO() {
                return funcionarioDTO;
        }
       
        public void setFuncionarioDTO(FuncionarioDTO funcionarioDTO) {
                this.funcionarioDTO = funcionarioDTO;
        }

        public UsuarioDTO getUsuarioDTOCadastro() {
                return usuarioDTOCadastro;
        }
       
        public void setUsuarioDTOCadastro(UsuarioDTO usuarioDTOCadastro) {
                this.usuarioDTOCadastro = usuarioDTOCadastro;
        }
       
        public UsuarioDTO getUsuarioDTOAuditor() {
                return usuarioDTOAuditor;
        }
       
        public void setUsuarioDTOAuditor(UsuarioDTO usuarioDTOAuditor) {
                this.usuarioDTOAuditor = usuarioDTOAuditor;
        }

        public Date getDataInicial() {
                return dataInicial;
        }

        public void setDataInicial(Date dataInicial) {
                this.dataInicial = dataInicial;
        }

        public Date getDataFinal() {
                return dataFinal;
        }

        public void setDataFinal(Date dataFinal) {
                this.dataFinal = dataFinal;
        }

        public String getDescricao() {
                return descricao;
        }

        public void setDescricao(String descricao) {
                this.descricao = StringUtil.setarUpperCaseComTrim(descricao);
        }

        public String getTipo() {
                return tipo;
        }

        public void setTipo(String tipo) {
                this.tipo = tipo;
        }
       
        public String getTipoEventoDescricao() {
                return TipoFuncionarioEvento.parse(getTipo()).getDescricao();
        }
       
        @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime * result + ((sequencial == null) ? 0 : sequencial.hashCode());
                return result;
        }

        @Override
        public boolean equals(Object obj) {
                if (this == obj)
                        return true;
                if (obj == null)
                        return false;
                if (getClass() != obj.getClass())
                        return false;
                FuncionarioEventoDTO other = (FuncionarioEventoDTO) obj;
                if (sequencial == null) {
                        if (other.sequencial != null)
                                return false;
                } else if (!sequencial.equals(other.sequencial))
                        return false;
                return true;
        }

        public Long getSequencialDoFuncionarioDTO() {
                return VerificadorUtil.naoEstaNulo(getFuncionarioDTO())? getFuncionarioDTO().getSequencialFuncionario() : null;
        }

}