package br.com.centralit.citcorpore.integracao; import java.util.ArrayList; import java.util.Collection; import java.util.List; import br.com.centralit.citcorpore.bean.ItemConfigEventoDTO; 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.util.Constantes; import br.com.citframework.util.UtilDatas; @SuppressWarnings({ "unchecked", "rawtypes" }) public class ItemConfigEventoDao extends CrudDaoDefaultImpl { public ItemConfigEventoDao() { super(Constantes.getValue("DATABASE_ALIAS"), null); } public Class getBean() { return ItemConfigEventoDTO.class; } public Collection<Field> getFields() { Collection<Field> listFields = new ArrayList<>(); listFields.add(new Field("IDITEMCONFIGURACAOEVENTO", "idItemConfiguracaoEvento", true, true, false, false)); listFields.add(new Field("IDITEMCONFIGURACAO", "idItemConfiguracao", false, false, false, false)); listFields.add(new Field("IDEVENTO", "idEvento", false, false, false, false)); listFields.add(new Field("TIPOEXECUCAO", "tipoExecucao", false, false, false, false)); listFields.add(new Field("GERARQUANDO", "gerarQuando", false, false, false, false)); listFields.add(new Field("DATA", "data", false, false, false, false)); listFields.add(new Field("HORA", "hora", false, false, false, false)); listFields.add(new Field("IDBASEITEMCONFIGURACAO", "idBaseItemConfiguracao", false, false, false, false)); listFields.add(new Field("LINHACOMANDO", "linhaComando", false, false, false, false)); listFields.add(new Field("LINHACOMANDOLINUX", "linhaComandoLinux", false, false, false, false)); return listFields; } public String getTableName() { return "ITEMCONFIGURACAOEVENTO"; } public Collection find(IDto obj) throws PersistenceException { return null; } public Collection list() throws PersistenceException { return null; } public Collection<ItemConfigEventoDTO> listByIdEvento(Integer idEvento) throws PersistenceException { String sql = "select ic.idItemConfiguracao, bic.idbaseitemconfiguracao, bic.nomebaseitemconfiguracao, v.valorstr, ice.tipoExecucao, ice.gerarQuando, ice.data, ice.hora, ice.linhaComando, ice.linhaComandoLinux " + "from " + getTableName() + " ice " + "left join itemConfiguracao ic on ic.iditemconfiguracao = ice.iditemconfiguracao " + "left join baseitemconfiguracao bic on bic.idbaseitemconfiguracao = ice.idbaseitemconfiguracao " + "left join valor v on v.iditemconfiguracao = ic.iditemconfiguracao " + "where ice.idEvento = ? and (v.idcaracteristica in (select idcaracteristica from caracteristica where tagcaracteristica = 'NAME') or v.idcaracteristica is null)"; List dados = this.execSQL(sql, new Object[] { idEvento }); List fields = new ArrayList(); fields.add("idItemConfiguracao"); fields.add("idBaseItemConfiguracao"); fields.add("nomeBaseItemConfiguracao"); fields.add("identificacao"); fields.add("tipoExecucao"); fields.add("gerarQuando"); fields.add("data"); fields.add("hora"); fields.add("linhaComando"); fields.add("linhaComandoLinux"); return this.listConvertion(getBean(), dados, fields); } public void deleteByIdEvento(Integer idEvento) throws PersistenceException { List lstCondicao = new ArrayList(); lstCondicao.add(new Condition(Condition.AND, "idEvento", "=", idEvento)); super.deleteByCondition(lstCondicao); } public Collection<ItemConfigEventoDTO> verificaDataHoraEvento() throws PersistenceException { String sql = "SELECT IDITEMCONFIGURACAO, IDBASEITEMCONFIGURACAO, IDEVENTO, TIPOEXECUCAO, LINHACOMANDO, LINHACOMANDOLINUX FROM " + getTableName() + " WHERE DATA = ? AND HORA = ? AND GERARQUANDO <> 'A'"; List dados = this.execSQL(sql, new Object[] { UtilDatas.getDataAtual(), UtilDatas.formatHoraFormatadaStr(UtilDatas.getHoraAtual()).replaceAll(":", "") }); List fields = new ArrayList(); fields.add("idItemConfiguracao"); fields.add("idBaseItemConfiguracao"); fields.add("idEvento"); fields.add("tipoExecucao"); fields.add("linhaComando"); fields.add("linhaComandoLinux"); return this.listConvertion(getBean(), dados, fields); } }