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;
}
}