package br.com.centralit.citcorpore.integracao; import java.util.ArrayList; import java.util.Collection; import java.util.List; import br.com.centralit.citcorpore.bean.MonitoramentoAtivosDTO; 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({ "rawtypes", "unchecked" }) public class MonitoramentoAtivosDAO extends CrudDaoDefaultImpl { public MonitoramentoAtivosDAO() { super(Constantes.getValue("DATABASE_ALIAS"), null); } @Override public Collection find(IDto obj) throws PersistenceException { return null; } @Override public Collection<Field> getFields() { Collection<Field> listFields = new ArrayList<>(); listFields.add(new Field("IDMONITORAMENTOATIVOS", "idMonitoramentoAtivos", true, true, false, false)); listFields.add(new Field("IDTIPOITEMCONFIGURACAO", "idTipoItemConfiguracao", 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("TIPOREGRA", "tipoRegra", false, false, false, false)); listFields.add(new Field("ENVIAREMAIL", "enviarEmail", false, false, false, false)); listFields.add(new Field("CRIARPROBLEMA", "criarProblema", false, false, false, false)); listFields.add(new Field("CRIARINCIDENTE", "criarIncidente", false, false, false, false)); listFields.add(new Field("DATAINICIO", "dataInicio", false, false, false, false)); listFields.add(new Field("DATAFIM", "dataFim", false, false, false, false)); return listFields; } /** * Retorna MonitoramentoAtivo relacionado � Caracter�stica do Tipo Item Configura��o informado. * * @param idTipoItemConfiguracao * - Identificador do Tipo Item Configura��o. * @param idCaracteristica * - Identificador da Caracter�stica. * @return MonitoramentoAtivosDTO relacionado. * @since 16.06.2014 * @author valdoilo.damasceno */ public MonitoramentoAtivosDTO obterMonitorametoAtivoDaCaracteristica(Integer idTipoItemConfiguracao, Integer idCaracteristica) { StringBuilder sql = new StringBuilder(); List parametros = new ArrayList(); List dados = new ArrayList(); List listMonitoramentoAtivosDTO = new ArrayList(); sql.append(" select " + this.getNamesFieldsStr("m")); sql.append(" from monitoramentoativos m "); sql.append(" join caracteristicamonit c on m.idmonitoramentoativos = c.idmonitoramentoativos "); sql.append(" where m.idtipoitemconfiguracao = ? and c.idcaracteristica = ? and m.tiporegra = ? and m.datafim is null "); parametros.add(idTipoItemConfiguracao); parametros.add(idCaracteristica); parametros.add("c"); try { dados = this.execSQL(sql.toString(), parametros.toArray()); listMonitoramentoAtivosDTO = this.listConvertion(MonitoramentoAtivosDTO.class, dados, getListNamesFieldClass()); } catch (PersistenceException pe) { pe.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } if (listMonitoramentoAtivosDTO != null && !listMonitoramentoAtivosDTO.isEmpty()) { return (MonitoramentoAtivosDTO) listMonitoramentoAtivosDTO.get(0); } return null; } /** * Obt�m o MonitoramentoAtivo do TipoItemConfigura��o. * * @param idTipoItemConfiguracao * - Identificador do Tipo de Item Configura��o. * @return MonitoramentoAtivosDTO * @since 16.06.2014 * @author valdoilo.damasceno */ public MonitoramentoAtivosDTO obterMonitorametoAtivoDoTipoItemConfiguracao(Integer idTipoItemConfiguracao) { StringBuilder sql = new StringBuilder(); List parametros = new ArrayList(); List dados = new ArrayList(); List listRetorno = getListNamesFieldClass(); listRetorno.add("script"); List listMonitoramentoAtivosDTO = new ArrayList(); sql.append(" select " + this.getNamesFieldsStr("m") + ", s.script "); sql.append(" from monitoramentoativos m "); sql.append(" join scriptmonit s on m.idmonitoramentoativos = s.idmonitoramentoativos "); sql.append(" where m.idtipoitemconfiguracao = ? and m.tiporegra = ? and m.datafim is null "); parametros.add(idTipoItemConfiguracao); parametros.add("s"); try { dados = this.execSQL(sql.toString(), parametros.toArray()); listMonitoramentoAtivosDTO = this.listConvertion(MonitoramentoAtivosDTO.class, dados, listRetorno); } catch (PersistenceException pe) { pe.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } if (listMonitoramentoAtivosDTO != null && !listMonitoramentoAtivosDTO.isEmpty()) { return (MonitoramentoAtivosDTO) listMonitoramentoAtivosDTO.get(0); } return null; } public void updateNotNull(IDto obj) throws PersistenceException { super.updateNotNull(obj); } @Override public String getTableName() { return "monitoramentoativos"; } @Override public Collection list() throws PersistenceException { return null; } @Override public Class getBean() { return MonitoramentoAtivosDTO.class; } }