package br.com.centralit.citcorpore.integracao;
import java.sql.Date;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import br.com.centralit.citcorpore.bean.ContratoQuestionariosDTO;
import br.com.citframework.dto.IDto;
import br.com.citframework.excecao.PersistenceException;
import br.com.citframework.integracao.Condition;
import br.com.citframework.integracao.CrudDaoDefaultImpl;
import br.com.citframework.integracao.Field;
import br.com.citframework.integracao.Order;
import br.com.citframework.util.Constantes;
public class ContratoQuestionariosDao extends CrudDaoDefaultImpl {
/**
*
*/
private static final String SQL_LIST_BY_ID_CONTRATO_AND_ABA = "SELECT CONTRATOQUESTIONARIOS.IDCONTRATOQUESTIONARIO AS idContratoQuestionario, CONTRATOQUESTIONARIOS.IDQUESTIONARIO AS idQuestionario, CONTRATOQUESTIONARIOS.IDCONTRATO AS idContrato, "+
" CONTRATOQUESTIONARIOS.DATAQUESTIONARIO AS dataQuestionario, CONTRATOQUESTIONARIOS.IDPROFISSIONAL as idProfissional, CONTRATOQUESTIONARIOS.IDEMPRESA as idEmpresa, "+
" CONTRATOQUESTIONARIOS.ABA AS aba, CONTRATOQUESTIONARIOS.SITUACAO as situacao, QUESTIONARIO.NOMEQUESTIONARIO AS nomeQuestionario, CONTRATOQUESTIONARIOS.situacaoComplemento as situacaoComplemento "+
" FROM CONTRATOQUESTIONARIOS LEFT OUTER JOIN "+
" QUESTIONARIO ON CONTRATOQUESTIONARIOS.IDQUESTIONARIO = QUESTIONARIO.IDQUESTIONARIO "+
" WHERE CONTRATOQUESTIONARIOS.IDCONTRATO = ? "+
" AND UPPER(CONTRATOQUESTIONARIOS.ABA) IN (#ABA#) "+
" ORDER BY CONTRATOQUESTIONARIOS.DATAQUESTIONARIO DESC, IDCONTRATOQUESTIONARIO DESC";
private static final String SQL_LIST_BY_ID_CONTRATO_AND_ABA_CRESCENTE = "SELECT CONTRATOQUESTIONARIOS.IDCONTRATOQUESTIONARIO AS idContratoQuestionario, CONTRATOQUESTIONARIOS.IDQUESTIONARIO AS idQuestionario, CONTRATOQUESTIONARIOS.IDCONTRATO AS idContrato, "+
" CONTRATOQUESTIONARIOS.DATAQUESTIONARIO AS dataQuestionario, CONTRATOQUESTIONARIOS.IDPROFISSIONAL as idProfissional, CONTRATOQUESTIONARIOS.IDEMPRESA as idEmpresa, "+
" CONTRATOQUESTIONARIOS.ABA AS aba, CONTRATOQUESTIONARIOS.SITUACAO as situacao, Profissionais.ConhecidoComo AS profissional, QUESTIONARIO.NOMEQUESTIONARIO AS nomeQuestionario, CONTRATOQUESTIONARIOS.situacaoComplemento as situacaoComplemento "+
" FROM CONTRATOQUESTIONARIOS INNER JOIN "+
" Profissionais ON CONTRATOQUESTIONARIOS.IDPROFISSIONAL = Profissionais.IdProfissional INNER JOIN "+
" QUESTIONARIO ON CONTRATOQUESTIONARIOS.IDQUESTIONARIO = QUESTIONARIO.IDQUESTIONARIO "+
" WHERE CONTRATOQUESTIONARIOS.IDCONTRATO = ? "+
" AND UPPER(CONTRATOQUESTIONARIOS.ABA) IN (#ABA#) "+
" ORDER BY CONTRATOQUESTIONARIOS.DATAQUESTIONARIO, IDCONTRATOQUESTIONARIO DESC";
private static final String SQL_ULTIMO_BY_ID_CONTRATO_AND_ABA = "SELECT CONTRATOQUESTIONARIOS.IDCONTRATOQUESTIONARIO AS idContratoQuestionario, CONTRATOQUESTIONARIOS.IDQUESTIONARIO AS idQuestionario, CONTRATOQUESTIONARIOS.IDCONTRATO AS idContrato, "+
" CONTRATOQUESTIONARIOS.DATAQUESTIONARIO AS dataQuestionario, CONTRATOQUESTIONARIOS.IDPROFISSIONAL as idProfissional, CONTRATOQUESTIONARIOS.IDEMPRESA as idEmpresa, "+
" CONTRATOQUESTIONARIOS.ABA AS aba, CONTRATOQUESTIONARIOS.SITUACAO as situacao, Profissionais.ConhecidoComo AS profissional, QUESTIONARIO.NOMEQUESTIONARIO AS nomeQuestionario"+
" FROM CONTRATOQUESTIONARIOS INNER JOIN "+
" Profissionais ON CONTRATOQUESTIONARIOS.IDPROFISSIONAL = Profissionais.IdProfissional INNER JOIN "+
" QUESTIONARIO ON CONTRATOQUESTIONARIOS.IDQUESTIONARIO = QUESTIONARIO.IDQUESTIONARIO "+
" WHERE CONTRATOQUESTIONARIOS.IDCONTRATO = ? "+
" AND CONTRATOQUESTIONARIOS.ABA IN (#ABA#) "+
" ORDER BY IDCONTRATOQUESTIONARIO DESC, CONTRATOQUESTIONARIOS.DATAQUESTIONARIO DESC";
private static final String SQL_ULTIMO_BY_ID_CONTRATO_AND_ABA_PERIODO = "SELECT CONTRATOQUESTIONARIOS.IDCONTRATOQUESTIONARIO AS idContratoQuestionario, CONTRATOQUESTIONARIOS.IDQUESTIONARIO AS idQuestionario, CONTRATOQUESTIONARIOS.IDCONTRATO AS idContrato, "+
" CONTRATOQUESTIONARIOS.DATAQUESTIONARIO AS dataQuestionario, CONTRATOQUESTIONARIOS.IDPROFISSIONAL as idProfissional, CONTRATOQUESTIONARIOS.IDEMPRESA as idEmpresa, "+
" CONTRATOQUESTIONARIOS.ABA AS aba, CONTRATOQUESTIONARIOS.SITUACAO as situacao, Profissionais.ConhecidoComo AS profissional, QUESTIONARIO.NOMEQUESTIONARIO AS nomeQuestionario"+
" FROM CONTRATOQUESTIONARIOS INNER JOIN "+
" Profissionais ON CONTRATOQUESTIONARIOS.IDPROFISSIONAL = Profissionais.IdProfissional INNER JOIN "+
" QUESTIONARIO ON CONTRATOQUESTIONARIOS.IDQUESTIONARIO = QUESTIONARIO.IDQUESTIONARIO "+
" WHERE CONTRATOQUESTIONARIOS.IDCONTRATO = ? "+
" AND CONTRATOQUESTIONARIOS.ABA IN (#ABA#) "+
" AND CONTRATOQUESTIONARIOS.DATAQUESTIONARIO BETWEEN ? AND ? "+
" ORDER BY IDCONTRATOQUESTIONARIO DESC, CONTRATOQUESTIONARIOS.DATAQUESTIONARIO DESC";
private static final String SQL_LIST_BY_ID_CONTRATO_AND_QUEST = "SELECT CONTRATOQUESTIONARIOS.IDCONTRATOQUESTIONARIO AS idContratoQuestionario, CONTRATOQUESTIONARIOS.IDQUESTIONARIO AS idQuestionario, CONTRATOQUESTIONARIOS.IDCONTRATO AS idContrato, "+
" CONTRATOQUESTIONARIOS.DATAQUESTIONARIO AS dataQuestionario, CONTRATOQUESTIONARIOS.IDEMPRESA as idEmpresa, "+
" CONTRATOQUESTIONARIOS.ABA AS aba, CONTRATOQUESTIONARIOS.SITUACAO as situacao, QUESTIONARIO.NOMEQUESTIONARIO AS nomeQuestionario"+
" FROM CONTRATOQUESTIONARIOS INNER JOIN "+
" QUESTIONARIO ON CONTRATOQUESTIONARIOS.IDQUESTIONARIO = QUESTIONARIO.IDQUESTIONARIO "+
" WHERE CONTRATOQUESTIONARIOS.idQuestionario = ? "+
" AND CONTRATOQUESTIONARIOS.idContrato = ? "+
" ORDER BY CONTRATOQUESTIONARIOS.DATAQUESTIONARIO DESC, IDCONTRATOQUESTIONARIO DESC";
private static final String SQL_LIST_BY_ID_REL_ANUAL_AND_ABA = "SELECT COUNT(*) "+
" FROM CONTRATOQUESTIONARIOS "+
" WHERE CONTRATOQUESTIONARIOS.IDCONTRATO IN (SELECT IDCONTRATO FROM LOTACAO WHERE DATAFIM IS NULL #COMPLEMENTO#) "+
" AND CONTRATOQUESTIONARIOS.ABA = ? ";
private static final String SQL_LIST_BY_ID_REL_ANUAL_AND_ABA_AND_PERIODO = "SELECT COUNT(DISTINCT IDCONTRATO) "+
" FROM CONTRATOQUESTIONARIOS "+
" WHERE CONTRATOQUESTIONARIOS.IDCONTRATO IN (SELECT IDCONTRATO FROM LOTACAO WHERE DATAFIM IS NULL #COMPLEMENTO#) "+
" AND CONTRATOQUESTIONARIOS.ABA = ? AND CONTRATOQUESTIONARIOS.DATAQUESTIONARIO BETWEEN ? AND ? ";
public ContratoQuestionariosDao() {
super(Constantes.getValue("DATABASE_ALIAS"), null);
}
public Collection findByIdContratoAndAbaAndData(Integer idContrato, String aba, Date data) throws PersistenceException {
List condicao = new ArrayList();
List ordenacao = new ArrayList();
condicao.add(new Condition("idContrato", "=", idContrato));
condicao.add(new Condition("aba", "=", aba));
condicao.add(new Condition("dataQuestionario", "=", data));
return super.findByCondition(condicao, ordenacao);
}
public Collection find(IDto obj) throws PersistenceException {
return null;
}
public Collection<Field> getFields() {
List lista = new ArrayList();
lista.add(new Field("idContratoQuestionario","idContratoQuestionario",true,false,false,false));
lista.add(new Field("idQuestionario","idQuestionario",false,false,false,false));
lista.add(new Field("idContrato","idContrato",false,false,false,false));
lista.add(new Field("dataQuestionario","dataQuestionario",false,false,false,false));
lista.add(new Field("idProfissional","idProfissional",false,false,false,false));
lista.add(new Field("idEmpresa","idEmpresa",false,false,false,false));
lista.add(new Field("aba","aba",false,false,false,false));
lista.add(new Field("situacao","situacao",false,false,false,false));
lista.add(new Field("situacaoComplemento","situacaoComplemento",false,false,false,false));
lista.add(new Field("datahoragrav","datahoragrav",false,false,false,false));
lista.add(new Field("migrado","migrado",false,false,false,false));
lista.add(new Field("conteudoImpresso","conteudoImpresso",false,false,false,false));
lista.add(new Field("idMigracao","idMigracao",false,false,false,false));
return lista;
}
public String getTableName() {
return "ContratoQuestionarios";
}
public static String getTableNameAssDigital() {
return "ContratoQuestionarios";
}
public Collection list() throws PersistenceException {
return null;
}
public Class getBean() {
return ContratoQuestionariosDTO.class;
}
public Collection listByIdContratoAndAba(Integer idContrato, String aba) throws PersistenceException {
/* List list = new ArrayList();
list.add(new Order("dataQuestionario"));
ContratoQuestionariosDTO obj = new ContratoQuestionariosDTO();
obj.setIdContrato(idContrato);
obj.setAba(aba);
return super.find(obj, list); */
Object[] objs = new Object[] {idContrato};
String sql = SQL_LIST_BY_ID_CONTRATO_AND_ABA;
String abaX = "";
boolean bPrimeiro = true;
String[] abaAux = aba.split(",");
if (abaAux != null && abaAux.length > 0){
for(int i = 0; i < abaAux.length; i++){
if (!bPrimeiro){
abaX += ",";
}
abaX += "'" + abaAux[i] + "'";
bPrimeiro = false;
}
}else{
abaX = "'" + aba + "'";
}
abaX = abaX.toUpperCase();
sql = sql.replaceAll("\\#ABA\\#", abaX);
List lista = this.execSQL(sql, objs);
List listRetorno = new ArrayList();
listRetorno.add("idContratoQuestionario");
listRetorno.add("idQuestionario");
listRetorno.add("idContrato");
listRetorno.add("dataQuestionario");
listRetorno.add("idProfissional");
listRetorno.add("idEmpresa");
listRetorno.add("aba");
listRetorno.add("situacao");
listRetorno.add("nomeQuestionario");
listRetorno.add("situacaoComplemento");
List result = this.engine.listConvertion(getBean(), lista, listRetorno);
return result;
}
public Collection listByIdContratoAndAbaOrdemCrescente(Integer idContrato, String aba) throws PersistenceException {
/* List list = new ArrayList();
list.add(new Order("dataQuestionario"));
ContratoQuestionariosDTO obj = new ContratoQuestionariosDTO();
obj.setIdContrato(idContrato);
obj.setAba(aba);
return super.find(obj, list); */
Object[] objs = new Object[] {idContrato};
String sql = SQL_LIST_BY_ID_CONTRATO_AND_ABA_CRESCENTE;
String abaX = "";
boolean bPrimeiro = true;
String[] abaAux = aba.split(",");
if (abaAux != null && abaAux.length > 0){
for(int i = 0; i < abaAux.length; i++){
if (!bPrimeiro){
abaX += ",";
}
abaX += "'" + abaAux[i] + "'";
bPrimeiro = false;
}
}else{
abaX = "'" + aba + "'";
}
abaX = abaX.toUpperCase();
sql = sql.replaceAll("\\#ABA\\#", abaX);
List lista = this.execSQL(sql, objs);
List listRetorno = new ArrayList();
listRetorno.add("idContratoQuestionario");
listRetorno.add("idQuestionario");
listRetorno.add("idContrato");
listRetorno.add("dataQuestionario");
listRetorno.add("idEmpresa");
listRetorno.add("aba");
listRetorno.add("situacao");
listRetorno.add("profissional");
listRetorno.add("nomeQuestionario");
listRetorno.add("situacaoComplemento");
List result = this.engine.listConvertion(getBean(), lista, listRetorno);
return result;
}
public ContratoQuestionariosDTO getUltimoByIdContratoAndAba(Integer idContrato, String aba) throws PersistenceException {
Object[] objs = new Object[] {idContrato};
String sql = SQL_ULTIMO_BY_ID_CONTRATO_AND_ABA;
String abaX = "";
boolean bPrimeiro = true;
String[] abaAux = aba.split(",");
if (abaAux != null && abaAux.length > 0){
for(int i = 0; i < abaAux.length; i++){
abaX += "'" + abaAux[i] + "'";
if (!bPrimeiro){
abaX += ",";
}
bPrimeiro = false;
}
}else{
abaX = "'" + aba + "'";
}
sql = sql.replaceAll("\\#ABA\\#", abaX);
List lista = this.execSQL(sql, objs);
List listRetorno = new ArrayList();
listRetorno.add("idContratoQuestionario");
listRetorno.add("idQuestionario");
listRetorno.add("idContrato");
listRetorno.add("dataQuestionario");
listRetorno.add("idEmpresa");
listRetorno.add("aba");
listRetorno.add("situacao");
listRetorno.add("profissional");
listRetorno.add("nomeQuestionario");
List result = this.engine.listConvertion(getBean(), lista, listRetorno);
if (result == null || result.size() == 0){
return null;
}
return (ContratoQuestionariosDTO)result.get(0);
}
public ContratoQuestionariosDTO getUltimoByIdContratoAndAbaAndPeriodo(Integer idContrato, String aba, Date dataInicio, Date dataFim) throws PersistenceException {
Object[] objs = new Object[] {idContrato, dataInicio, dataFim};
String sql = SQL_ULTIMO_BY_ID_CONTRATO_AND_ABA_PERIODO;
String abaX = "";
boolean bPrimeiro = true;
String[] abaAux = aba.split(",");
if (abaAux != null && abaAux.length > 0){
for(int i = 0; i < abaAux.length; i++){
abaX += "'" + abaAux[i] + "'";
if (!bPrimeiro){
abaX += ",";
}
bPrimeiro = false;
}
}else{
abaX = "'" + aba + "'";
}
sql = sql.replaceAll("\\#ABA\\#", abaX);
List lista = this.execSQL(sql, objs);
List listRetorno = new ArrayList();
listRetorno.add("idContratoQuestionario");
listRetorno.add("idQuestionario");
listRetorno.add("idContrato");
listRetorno.add("dataQuestionario");
listRetorno.add("idEmpresa");
listRetorno.add("aba");
listRetorno.add("situacao");
listRetorno.add("profissional");
listRetorno.add("nomeQuestionario");
List result = this.engine.listConvertion(getBean(), lista, listRetorno);
if (result == null || result.size() == 0){
return null;
}
return (ContratoQuestionariosDTO)result.get(0);
}
public ContratoQuestionariosDTO getQuantidadeByIdDepEstabAndAba(Integer idDepartamento, Integer idEstabelecimento, Integer idCargo, String aba) throws PersistenceException {
String sql = SQL_LIST_BY_ID_REL_ANUAL_AND_ABA;
String complemento = "";
List lstParms = new ArrayList();
if (idEstabelecimento != null){
complemento += " AND idEstabelecimento = ?";
lstParms.add(idEstabelecimento);
}
if (idDepartamento != null){
complemento += " AND idDepartamento = ?";
lstParms.add(idDepartamento);
}
if (idCargo != null){
complemento += " AND idCargo = ?";
lstParms.add(idCargo);
}
sql = sql.replaceAll("#COMPLEMENTO#", complemento);
lstParms.add(aba);
Object[] objs = lstParms.toArray();
List lista = this.execSQL(sql, objs);
List listRetorno = new ArrayList();
listRetorno.add("qtde");
List result = this.engine.listConvertion(getBean(), lista, listRetorno);
if (result == null || result.size() == 0){
return null;
}
return (ContratoQuestionariosDTO)result.get(0);
}
public ContratoQuestionariosDTO getQuantidadeByIdDepEstabAndAbaAndPeriodo(Integer idDepartamento, Integer idEstabelecimento, Integer idCargo,
String aba, Date dataInicio, Date dataFim) throws PersistenceException {
String sql = SQL_LIST_BY_ID_REL_ANUAL_AND_ABA_AND_PERIODO;
String complemento = "";
List lstParms = new ArrayList();
if (idEstabelecimento != null){
complemento += " AND idEstabelecimento = ?";
lstParms.add(idEstabelecimento);
}
if (idDepartamento != null){
complemento += " AND idDepartamento = ?";
lstParms.add(idDepartamento);
}
if (idCargo != null){
complemento += " AND idCargo = ?";
lstParms.add(idCargo);
}
sql = sql.replaceAll("#COMPLEMENTO#", complemento);
lstParms.add(aba);
lstParms.add(dataInicio);
lstParms.add(dataFim);
Object[] objs = lstParms.toArray();
List lista = this.execSQL(sql, objs);
List listRetorno = new ArrayList();
listRetorno.add("qtde");
List result = this.engine.listConvertion(getBean(), lista, listRetorno);
if (result == null || result.size() == 0){
return null;
}
return (ContratoQuestionariosDTO)result.get(0);
}
public ContratoQuestionariosDTO getQuantidadeByIdDepEstabAndAbaAndPeriodoFinalizados(Integer idDepartamento, Integer idEstabelecimento, Integer idCargo,
String aba, Date dataInicio, Date dataFim) throws PersistenceException {
String sql = SQL_LIST_BY_ID_REL_ANUAL_AND_ABA_AND_PERIODO;
String complemento = "";
List lstParms = new ArrayList();
if (idEstabelecimento != null){
complemento += " AND idEstabelecimento = ?";
lstParms.add(idEstabelecimento);
}
if (idDepartamento != null){
complemento += " AND idDepartamento = ?";
lstParms.add(idDepartamento);
}
if (idCargo != null){
complemento += " AND idCargo = ?";
lstParms.add(idCargo);
}
complemento += " AND CONTRATOQUESTIONARIOS.situacao = 'F' ";
sql = sql.replaceAll("#COMPLEMENTO#", complemento);
lstParms.add(aba);
lstParms.add(dataInicio);
lstParms.add(dataFim);
Object[] objs = lstParms.toArray();
List lista = this.execSQL(sql, objs);
List listRetorno = new ArrayList();
listRetorno.add("qtde");
List result = this.engine.listConvertion(getBean(), lista, listRetorno);
if (result == null || result.size() == 0){
return null;
}
return (ContratoQuestionariosDTO)result.get(0);
}
public ContratoQuestionariosDTO getQuantidadeByIdDepEstabFuncaoAndAbaAndPeriodo(Integer idDepartamento, Integer idEstabelecimento, Integer idCargo, Integer idFuncao,
String aba, Date dataInicio, Date dataFim) throws PersistenceException {
String sql = SQL_LIST_BY_ID_REL_ANUAL_AND_ABA_AND_PERIODO;
String complemento = "";
List lstParms = new ArrayList();
if (idEstabelecimento != null){
complemento += " AND idEstabelecimento = ?";
lstParms.add(idEstabelecimento);
}
if (idDepartamento != null){
complemento += " AND idDepartamento = ?";
lstParms.add(idDepartamento);
}
if (idCargo != null){
complemento += " AND idCargo = ?";
lstParms.add(idCargo);
}
if (idFuncao != null){
complemento += " AND idFuncao = ?";
lstParms.add(idFuncao);
}
sql = sql.replaceAll("#COMPLEMENTO#", complemento);
lstParms.add(aba);
lstParms.add(dataInicio);
lstParms.add(dataFim);
Object[] objs = lstParms.toArray();
List lista = this.execSQL(sql, objs);
List listRetorno = new ArrayList();
listRetorno.add("qtde");
List result = this.engine.listConvertion(getBean(), lista, listRetorno);
if (result == null || result.size() == 0){
return null;
}
return (ContratoQuestionariosDTO)result.get(0);
}
public Collection listByIdContratoAndQuestionario(Integer idQuestionario, Integer idContrato) throws PersistenceException {
Object[] objs = new Object[] {idQuestionario, idContrato};
List lista = this.execSQL(SQL_LIST_BY_ID_CONTRATO_AND_QUEST, objs);
List listRetorno = new ArrayList();
listRetorno.add("idContratoQuestionario");
listRetorno.add("idQuestionario");
listRetorno.add("idContrato");
listRetorno.add("dataQuestionario");
listRetorno.add("idEmpresa");
listRetorno.add("aba");
listRetorno.add("situacao");
listRetorno.add("nomeQuestionario");
List result = this.engine.listConvertion(getBean(), lista, listRetorno);
return result;
}
public Collection listByIdContrato(Integer idContrato) throws PersistenceException {
List list = new ArrayList();
list.add(new Order("dataQuestionario"));
list.add(new Order("aba"));
ContratoQuestionariosDTO obj = new ContratoQuestionariosDTO();
obj.setIdContrato(idContrato);
return super.find(obj, list);
}
public Collection listByIdContratoOrderDecrescente(Integer idContrato) throws PersistenceException {
List list = new ArrayList();
list.add(new Order("dataQuestionario", Order.DESC));
list.add(new Order("aba"));
ContratoQuestionariosDTO obj = new ContratoQuestionariosDTO();
obj.setIdContrato(idContrato);
return super.find(obj, list);
}
public Collection listByIdContratoOrderIdDecrescente(Integer idContrato) throws PersistenceException {
List list = new ArrayList();
list.add(new Order("idContratoQuestionario", Order.DESC));
list.add(new Order("dataQuestionario", Order.DESC));
list.add(new Order("aba"));
ContratoQuestionariosDTO obj = new ContratoQuestionariosDTO();
obj.setIdContrato(idContrato);
return super.find(obj, list);
}
public void update(IDto obj) throws PersistenceException {
super.updateNotNull(obj);
}
public void updateSituacaoComplemento(Integer idPessQuest, String situacaoComplemento) throws PersistenceException {
ContratoQuestionariosDTO obj = new ContratoQuestionariosDTO();
obj.setIdContratoQuestionario(idPessQuest);
obj.setSituacaoComplemento(situacaoComplemento);
super.updateNotNull(obj);
}
public void updateConteudoImpresso(Integer idPessQuest, String conteudoImpresso) throws PersistenceException {
ContratoQuestionariosDTO obj = new ContratoQuestionariosDTO();
obj.setIdContratoQuestionario(idPessQuest);
obj.setConteudoImpresso(conteudoImpresso);
super.updateNotNull(obj);
}
}