package br.com.centralit.citcorpore.integracao; import java.util.ArrayList; import java.util.Collection; import java.util.List; import br.com.centralit.citcorpore.bean.HistoricoMudancaDTO; import br.com.centralit.citcorpore.bean.RequisicaoMudancaDTO; 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; @SuppressWarnings({ "unchecked", "rawtypes" }) public class HistoricoMudancaDao extends CrudDaoDefaultImpl { public HistoricoMudancaDao() { super(Constantes.getValue("DATABASE_ALIAS"), null); } public Collection<Field> getFields() { Collection<Field> listFields = new ArrayList<>(); listFields.add(new Field("idHistoricoMudanca", "idHistoricoMudanca", 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("baseLine", "baseLine", false, false, false, false)); listFields.add(new Field("acaoFluxo", "acaoFluxo", false, false, false, false)); listFields.add(new Field("alterarSituacao", "alterarSituacao", false, false, false, false)); listFields.add(new Field("emailSolicitante", "emailSolicitante", false, false, false, false)); listFields.add(new Field("registroExecucao", "registroExecucao", false, false, false, false)); listFields.add(new Field("idrequisicaomudanca", "idRequisicaoMudanca", false, false, false, false)); listFields.add(new Field("idproprietario", "idProprietario", false, false, false, false)); listFields.add(new Field("idsolicitante", "idSolicitante", false, false, false, false)); listFields.add(new Field("idtipomudanca", "idTipoMudanca", false, false, false, false)); listFields.add(new Field("motivo", "motivo", false, false, false, false)); listFields.add(new Field("nivelimportancianegocio", "nivelImportanciaNegocio", false, false, false, false)); listFields.add(new Field("classificacao", "classificacao", false, false, false, false)); listFields.add(new Field("nivelimpacto", "nivelImpacto", false, false, false, false)); listFields.add(new Field("analiseimpacto", "analiseImpacto", false, false, false, false)); listFields.add(new Field("razaoMudanca", "razaoMudanca", false, false, false, false)); listFields.add(new Field("datahoraconclusao", "dataHoraConclusao", false, false, false, false)); listFields.add(new Field("dataaceitacao", "dataAceitacao", false, false, false, false)); listFields.add(new Field("datavotacao", "dataVotacao", false, false, false, false)); listFields.add(new Field("datahorainicio", "dataHoraInicio", false, false, false, false)); listFields.add(new Field("datahoratermino", "dataHoraTermino", 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("risco", "risco", false, false, false, false)); listFields.add(new Field("estimativacusto", "estimativaCusto", false, false, false, false)); listFields.add(new Field("planoreversao", "planoReversao", false, false, false, false)); listFields.add(new Field("status", "status", false, false, false, false)); listFields.add(new Field("prioridade", "prioridade", false, false, false, false)); listFields.add(new Field("nomecategoriamudanca", "nomeCategoriaMudanca", false, false, false, false)); listFields.add(new Field("enviaemailcriacao", "enviaEmailCriacao", false, false, false, false)); listFields.add(new Field("enviaemailfinalizacao", "enviaEmailFinalizacao", false, false, false, false)); listFields.add(new Field("enviaemailacoes", "enviaEmailAcoes", false, false, false, false)); listFields.add(new Field("exibirquadromudancas", "exibirQuadroMudancas", false, false, false, false)); listFields.add(new Field("seqreabertura", "seqReabertura", 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("datahorasuspensao", "dataHoraSuspensao", false, false, false, false)); listFields.add(new Field("datahorareativacao", "dataHoraReativacao", 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("idgrupoatual", "idGrupoAtual", false, false, false, false)); listFields.add(new Field("idgruponivel1", "idGrupoNivel1", false, false, false, false)); listFields.add(new Field("idcalendario", "idCalendario", false, false, false, false)); listFields.add(new Field("datahoracaptura", "dataHoraCaptura", 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("tempoatrasohh", "tempoAtrasoHH", false, false, false, false)); listFields.add(new Field("tempoatrasomm", "tempoAtrasoMM", 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("fase", "fase", false, false, false, false)); listFields.add(new Field("nivelurgencia", "nivelUrgencia", false, false, false, false)); listFields.add(new Field("idbaseconhecimento", "idBaseConhecimento", false, false, false, false)); listFields.add(new Field("idcontrato", "idContrato", false, false, false, false)); listFields.add(new Field("idGrupoComite", "idGrupoComite", false, false, false, false)); listFields.add(new Field("idunidade", "idUnidade", false, false, false, false)); listFields.add(new Field("idcontatorequisicaomudanca", "idContatoRequisicaoMudanca", false, false, false, false)); listFields.add(new Field("enviaEmailGrupoComite", "enviaEmailGrupoComite", 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("idlocalidade", "IdLocalidade", false, false, false, false)); listFields.add(new Field("fechamento", "fechamento", false, false, false, false)); listFields.add(new Field("ehPropostaAux", "ehPropostaAux", false, false, false, false)); listFields.add(new Field("votacaoPropostaAprovadaAux", "votacaoPropostaAprovadaAux", false, false, false, false)); listFields.add(new Field("idGrupoAtvPeriodica", "idGrupoAtvPeriodica", false, false, false, false)); return listFields; } @Override public Collection find(IDto obj) throws PersistenceException { return null; } @Override public String getTableName() { return this.getOwner() + "historicoMudanca"; } @Override public Collection list() throws PersistenceException { return null; } @Override public Class getBean() { return HistoricoMudancaDTO.class; } public HistoricoMudancaDTO maxIdHistorico(RequisicaoMudancaDTO requisicaoMudancaDTO) throws PersistenceException { List parametro = new ArrayList(); List listRetorno = new ArrayList(); StringBuilder sql = new StringBuilder(); sql.append("SELECT MAX(idHistoricoMudanca) AS idHistoricoMudanca FROM " + getTableName() + " WHERE idrequisicaomudanca = ?"); parametro.add(requisicaoMudancaDTO.getIdRequisicaoMudanca()); List resultado = this.execSQL(sql.toString(), parametro.toArray()); listRetorno.add("idHistoricoMudanca"); List result = listConvertion(HistoricoMudancaDTO.class , resultado, listRetorno); HistoricoMudancaDTO historicoMudancaDTO = new HistoricoMudancaDTO(); historicoMudancaDTO = (HistoricoMudancaDTO) result.get(0); return historicoMudancaDTO; } public List<HistoricoMudancaDTO> listHistoricoMudancaByIdRequisicaoMudanca(Integer idRequisicaoMudanca) throws PersistenceException { List listRetorno = new ArrayList(); List parametro = new ArrayList(); String sql = "SELECT HIST.REGISTROEXECUCAO, HIST.EMAILSOLICITANTE, HIST.ALTERARSITUACAO, HIST.ACAOFLUXO, HIST.IDHISTORICOMUDANCA, HIST.IDREQUISICAOMUDANCA, HIST.IDSOLICITANTE, "+ "HIST.STATUS, HIST.IDEXECUTORMODIFICACAO, HIST.DATAHORAMODIFICACAO, "+ "HIST.HISTORICOVERSAO, EMP.NOME ,USU.NOME, HIST.BASELINE, g.nome,HIST.nivelimpacto, HIST.nivelurgencia, HIST.datahoraterminoagendada, HIST.fase "+ "FROM HISTORICOMUDANCA HIST "+ "INNER JOIN EMPREGADOS EMP ON EMP.IDEMPREGADO = HIST.IDSOLICITANTE "+ "INNER JOIN USUARIO USU ON USU.IDEMPREGADO = HIST.IDEXECUTORMODIFICACAO "+ "LEFT JOIN GRUPO G on hist.idgrupoatual = g.idgrupo "+ "WHERE HIST.IDREQUISICAOMUDANCA = ? "+ "group by HIST.IDHISTORICOMUDANCA,HIST.REGISTROEXECUCAO, HIST.EMAILSOLICITANTE, HIST.ALTERARSITUACAO, HIST.ACAOFLUXO, HIST.IDHISTORICOMUDANCA, HIST.IDREQUISICAOMUDANCA, HIST.IDSOLICITANTE, "+ "HIST.STATUS, HIST.IDEXECUTORMODIFICACAO, HIST.DATAHORAMODIFICACAO, "+ "HIST.HISTORICOVERSAO, EMP.NOME ,USU.NOME, HIST.BASELINE, g.nome,HIST.nivelimpacto, HIST.nivelurgencia, HIST.datahoraterminoagendada, HIST.fase "+ "ORDER BY HIST.IDHISTORICOMUDANCA DESC "; parametro.add(idRequisicaoMudanca); List resultado = execSQL(sql, parametro.toArray()); listRetorno.add("registroExecucao"); listRetorno.add("emailSolicitante"); listRetorno.add("alterarSituacao"); listRetorno.add("acaoFluxo"); listRetorno.add("idHistoricoMudanca"); listRetorno.add("idRequisicaoMudanca"); listRetorno.add("idProprietario"); listRetorno.add("status"); listRetorno.add("idExecutorModificacao"); listRetorno.add("dataHoraModificacao"); listRetorno.add("historicoVersao"); listRetorno.add("nomeProprietario"); listRetorno.add("nomeExecutorModificacao"); listRetorno.add("baseLine"); listRetorno.add("status"); listRetorno.add("nivelImpacto"); listRetorno.add("nivelUrgencia"); listRetorno.add("dataHoraTerminoAgendada"); listRetorno.add("fase"); return listConvertion(HistoricoMudancaDTO.class , resultado, listRetorno); } @Override public void updateNotNull(IDto obj) throws PersistenceException { super.updateNotNull(obj); } }