package br.com.centralit.citcorpore.integracao;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import br.com.centralit.citcorpore.bean.HistoricoLiberacaoDTO;
import br.com.centralit.citcorpore.bean.RequisicaoLiberacaoDTO;
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 HistoricoLiberacaoDao extends CrudDaoDefaultImpl {
public HistoricoLiberacaoDao() {
super(Constantes.getValue("DATABASE_ALIAS"), null);
}
public Collection<Field> getFields() {
Collection<Field> listFields = new ArrayList<>();
listFields.add(new Field("idhistoricoliberacao" ,"idHistoricoLiberacao", true, true, false, false));
listFields.add(new Field("datahoramodificacao" ,"dataHoraModificacao", false, false, false, false));
listFields.add(new Field("idexecutormodificacao" ,"idExecutorModificacao", false, false, false, false));
listFields.add(new Field("tipomodificacao" ,"tipoModificacao", false, false, false, false));
listFields.add(new Field("historicoversao" ,"historicoVersao", false, false, false, false));
listFields.add(new Field("idLiberacao" ,"idRequisicaoLiberacao", false, false, false, false));
listFields.add(new Field("idSolicitante" ,"idSolicitante", false, false, false, false));
listFields.add(new Field("idResponsavel" ,"idResponsavel", false, false, false, false));
listFields.add(new Field("titulo" ,"titulo", false, false, false, false));
listFields.add(new Field("descricao" ,"descricao", false, false, false, false));
listFields.add(new Field("dataInicial" ,"dataInicial", false, false, false, false));
listFields.add(new Field("dataFinal" ,"dataFinal", false, false, false, false));
listFields.add(new Field("dataLiberacao" ,"dataLiberacao", false, false, false, false));
listFields.add(new Field("situacao" ,"situacao", false, false, false, false));
listFields.add(new Field("risco" ,"risco", false, false, false, false));
listFields.add(new Field("versao" ,"versao", false, false, false, false));
listFields.add(new Field("idproprietario" ,"idProprietario", false, false, false, false));
listFields.add(new Field("enviaemailacoes" ,"enviaEmailAcoes", false, false, false, false));
listFields.add(new Field("enviaemailcriacao" ,"enviaEmailCriacao", false, false, false, false));
listFields.add(new Field("tempoatrasohh" ,"tempoAtrasoHH", false, false, false, false));
listFields.add(new Field("tempoatrasomm" ,"tempoAtrasoMM", false, false, false, false));
listFields.add(new Field("tempocapturahh" ,"tempoCapturaHH", false, false, false, false));
listFields.add(new Field("tempocapturamm" ,"tempoCapturaMM", false, false, false, false));
listFields.add(new Field("datahoratermino" ,"dataHoraTermino", false, false, false, false));
listFields.add(new Field("datahoraconclusao" ,"dataHoraConclusao", false, false, false, false));
listFields.add(new Field("status" ,"status", false, false, false, false));
listFields.add(new Field("tempodecorridohh" ,"tempoDecorridoHH", false, false, false, false));
listFields.add(new Field("tempodecorridomm" ,"tempoDecorridoMM", false, false, false, false));
listFields.add(new Field("tempoatendimentohh" ,"tempoAtendimentoHH", false, false, false, false));
listFields.add(new Field("tempoatendimentomm" ,"tempoAtendimentoMM", false, false, false, false));
listFields.add(new Field("datahoracaptura" ,"dataHoraCaptura", false, false, false, false));
listFields.add(new Field("datahorareativacao" ,"dataHoraReativacao", false, false, false, false));
listFields.add(new Field("datahorainicio" ,"dataHoraInicio", false, false, false, false));
listFields.add(new Field("idcalendario" ,"idCalendario", false, false, false, false));
listFields.add(new Field("datahorasuspensao" ,"dataHoraSuspensao", false, false, false, false));
listFields.add(new Field("enviaemailfinalizacao" ,"enviaEmailFinalizacao", false, false, false, false));
listFields.add(new Field("prazohh" ,"prazoHH", false, false, false, false));
listFields.add(new Field("prazomm" ,"prazoMM", false, false, false, false));
listFields.add(new Field("datahorainicioagendada" ,"dataHoraInicioAgendada", false, false, false, false));
listFields.add(new Field("datahoraterminoagendada" ,"dataHoraTerminoAgendada", false, false, false, false));
listFields.add(new Field("idtipoliberacao" ,"idTipoLiberacao", false, false, false, false));
listFields.add(new Field("idGrupoAtual" ,"idGrupoAtual", false, false, false, false));
listFields.add(new Field("baseline" ,"baseLine", false, false, false, false));
listFields.add(new Field("idcontatorequisicaoliberacao" ,"idContatoRequisicaoLiberacao", false, false, false, false));
listFields.add(new Field("telefonecontato" ,"telefoneContato", false, false, false, false));
listFields.add(new Field("ramal" ,"ramal", false, false, false, false));
listFields.add(new Field("observacao" ,"observacao", false, false, false, false));
listFields.add(new Field("idunidade" ,"idUnidade", false, false, false, false));
listFields.add(new Field("Idlocalidade" ,"IdLocalidade", false, false, false, false));
listFields.add(new Field("nomecontato2" ,"nomeContato2", false, false, false, false));
listFields.add(new Field("emailcontato" ,"emailContato", false, false, false, false));
listFields.add(new Field("alterarSituacao" ,"alterarSituacao", false, false, false, false));
listFields.add(new Field("acaoFluxo" ,"acaoFluxo", false, false, false, false));
return listFields;
}
public String getTableName() {
return this.getOwner() + "historicoliberacao";
}
public Collection list() throws PersistenceException {
return null;
}
public Class getBean() {
return HistoricoLiberacaoDTO.class;
}
public Collection find(IDto arg0) throws PersistenceException {
return null;
}
public HistoricoLiberacaoDTO maxIdHistorico(RequisicaoLiberacaoDTO requisicaoLiberacaoDTO) throws PersistenceException {
List parametro = new ArrayList();
List listRetorno = new ArrayList();
StringBuilder sql = new StringBuilder();
sql.append("SELECT MAX(idhistoricoliberacao) AS idhistoricoliberacao FROM " + getTableName() + " WHERE idliberacao = ?");
parametro.add(requisicaoLiberacaoDTO.getIdRequisicaoLiberacao());
List resultado = this.execSQL(sql.toString(), parametro.toArray());
listRetorno.add("idHistoricoLiberacao");
List result = listConvertion(HistoricoLiberacaoDTO.class , resultado, listRetorno);
HistoricoLiberacaoDTO historicoLiberacaoDTO = new HistoricoLiberacaoDTO();
historicoLiberacaoDTO = (HistoricoLiberacaoDTO) result.get(0);
return historicoLiberacaoDTO;
}
public List<HistoricoLiberacaoDTO> listHistoricoLiberacaoByIdRequisicaoLiberacao(Integer idRequisicaoLiberacao) throws PersistenceException {
List listRetorno = new ArrayList();
List parametro = new ArrayList();
String sql = "SELECT HIST.IDHISTORICOLIBERACAO, HIST.IDLIBERACAO, HIST.IDSOLICITANTE, " +
"HIST.VERSAO, HIST.STATUS, HIST.IDEXECUTORMODIFICACAO, HIST.DATAHORAMODIFICACAO, "+
"HIST.HISTORICOVERSAO, EMP.NOME ,USU.NOME, HIST.BASELINE "+
"FROM HISTORICOLIBERACAO HIST "+
"INNER JOIN EMPREGADOS EMP ON EMP.IDEMPREGADO = HIST.IDSOLICITANTE "+
"INNER JOIN USUARIO USU ON USU.IDEMPREGADO = HIST.IDEXECUTORMODIFICACAO "+
"WHERE HIST.IDLIBERACAO = ? ORDER BY HIST.IDHISTORICOLIBERACAO DESC ";
parametro.add(idRequisicaoLiberacao);
List resultado = execSQL(sql, parametro.toArray());
listRetorno.add("idHistoricoLiberacao");
listRetorno.add("idRequisicaoLiberacao");
listRetorno.add("idProprietario");
listRetorno.add("versao");
listRetorno.add("status");
listRetorno.add("idExecutorModificacao");
listRetorno.add("dataHoraModificacao");
listRetorno.add("historicoVersao");
listRetorno.add("nomeProprietario");
listRetorno.add("nomeExecutorModificacao");
listRetorno.add("baseLine");
return listConvertion(HistoricoLiberacaoDTO.class , resultado, listRetorno);
}
@Override
public void updateNotNull(IDto obj) throws PersistenceException {
super.updateNotNull(obj);
}
}