package br.com.centralit.citcorpore.integracao;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import br.com.centralit.citcorpore.bean.HistoricoExecucaoDTO;
import br.com.citframework.dto.IDto;
import br.com.citframework.excecao.PersistenceException;
import br.com.citframework.integracao.CrudDaoDefaultImpl;
import br.com.citframework.integracao.Field;
import br.com.citframework.util.Constantes;
public class HistoricoExecucaoDao extends CrudDaoDefaultImpl {
private static final String SQL_HISTORICO_DEMANDA = "SELECT H.data, H.situacao, H.detalhamento, H.hora, E.nome " +
"FROM HISTORICOEXECUCAO H " +
" INNER JOIN EXECUCAODEMANDA EX on EX.idExecucao = H.idExecucao " +
" INNER JOIN EMPREGADOS E on E.idEmpregado = H.idEmpregadoExecutor " +
"where EX.idDemanda = ? order by data";
public HistoricoExecucaoDao() {
super(Constantes.getValue("DATABASE_ALIAS"), null);
}
public Class getBean() {
return HistoricoExecucaoDTO.class;
}
public Collection<Field> getFields() {
Collection<Field> listFields = new ArrayList<>();
listFields.add(new Field("idHistorico", "idHistorico", true, true, false, false));
listFields.add(new Field("idExecucao", "idExecucao", false, false, false, false));
listFields.add(new Field("data", "data", false, false, false, false));
listFields.add(new Field("situacao", "situacao", false, false, false, false));
listFields.add(new Field("idEmpregadoExecutor", "idEmpregadoExecutor", false, false, false, false));
listFields.add(new Field("detalhamento", "detalhamento", false, false, false, false));
listFields.add(new Field("hora", "hora", false, false, false, false));
return listFields;
}
public String getTableName() {
return "HISTORICOEXECUCAO";
}
public Collection find(IDto obj) throws PersistenceException {
return null;
}
public Collection list() throws PersistenceException {
return null;
}
public Collection findByDemanda(Integer idDemanda) throws PersistenceException {
Object[] objs = new Object[] {idDemanda};
String sql = SQL_HISTORICO_DEMANDA;
List lista = this.execSQL(sql, objs);
List listRetorno = new ArrayList();
listRetorno.add("data");
listRetorno.add("situacao");
listRetorno.add("detalhamento");
listRetorno.add("hora");
listRetorno.add("nomeEmpregado");
List result = this.engine.listConvertion(getBean(), lista, listRetorno);
if (result == null || result.size() == 0) return null;
return result;
}
}