package br.com.centralit.citcorpore.integracao; import java.util.ArrayList; import java.util.Collection; import java.util.List; import br.com.centralit.citcorpore.bean.RelatorioListaNegraDTO; import br.com.centralit.citcorpore.bean.SoftwaresListaNegraDTO; 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.integracao.Order; import br.com.citframework.util.Constantes; /** * @author ronnie.lopes * */ @SuppressWarnings({ "rawtypes", "unchecked" }) public class SoftwaresListaNegraDao extends CrudDaoDefaultImpl { public SoftwaresListaNegraDao() { super(Constantes.getValue("DATABASE_ALIAS"), null); } public Class getBean() { return SoftwaresListaNegraDTO.class; } public Collection<Field> getFields() { Collection<Field> listFields = new ArrayList<>(); listFields.add(new Field("IDSOFTWARESLISTANEGRA", "idSoftwaresListaNegra", true, true, false, false)); listFields.add(new Field("NOMESOFTWARESLISTANEGRA", "nomeSoftwaresListaNegra", false, false, false, false)); return listFields; } public String getTableName() { return "SoftwaresListaNegra"; } public Collection find(IDto obj) throws PersistenceException { return null; } public Collection list() throws PersistenceException { List list = new ArrayList(); list.add(new Order("nomeSoftwaresListaNegra")); return super.list(list); } /** * Retorna String com lista de Softwares da Lista Negra. * * @return String - Lista de Softwares da lista negra. * @throws Exception * @author ronnie.lopes */ public String recuperaStringSoftwaresListaNegra() throws PersistenceException { List lista = new ArrayList(); StringBuilder sql = new StringBuilder(); List listRetorno = new ArrayList(); listRetorno.add("nomeSoftwaresListaNegra"); sql.append(" SELECT nomesoftwareslistanegra"); sql.append(" FROM softwareslistanegra"); sql.append(" ORDER BY nomesoftwareslistanegra"); lista = this.execSQL(sql.toString(), null); List<SoftwaresListaNegraDTO> listSoftwareListaNegra = this.listConvertion(SoftwaresListaNegraDTO.class, lista, listRetorno); StringBuilder texto = new StringBuilder(); if (listSoftwareListaNegra != null && !listSoftwareListaNegra.isEmpty()) { for(SoftwaresListaNegraDTO palavra : listSoftwareListaNegra) { texto.append(palavra.getNomeSoftwaresListaNegra()); texto.append("|"); } texto.deleteCharAt(texto.length()-1); return texto.toString(); }else { return ""; } } /** * Retorna Collection com lista de Softwares da Lista Negra. * * @return Collection - Lista de Softwares da lista negra. * @throws Exception * @author ronnie.lopes */ public Collection<SoftwaresListaNegraDTO> recuperaCollectionSoftwaresListaNegra() throws PersistenceException { List lista = new ArrayList(); StringBuilder sql = new StringBuilder(); List listRetorno = new ArrayList(); listRetorno.add("idSoftwaresListaNegra"); listRetorno.add("nomeSoftwaresListaNegra"); sql.append(" SELECT idsoftwareslistanegra, nomesoftwareslistanegra"); sql.append(" FROM softwareslistanegra"); sql.append(" ORDER BY nomesoftwareslistanegra"); lista = this.execSQL(sql.toString(), null); List<SoftwaresListaNegraDTO> listSoftwareListaNegra = this.listConvertion(SoftwaresListaNegraDTO.class, lista, listRetorno); if (listSoftwareListaNegra != null && !listSoftwareListaNegra.isEmpty()) { return listSoftwareListaNegra; }else { return null; } } /** * Mario Hayasaki * @param * @return * @throws Exception */ @SuppressWarnings("unused") public Collection<RelatorioListaNegraDTO> listaRelatorioListaNegra(RelatorioListaNegraDTO relatorioListaNegraDTO) throws PersistenceException { List listRetorno = new ArrayList(); List param = new ArrayList(); List lista = new ArrayList(); StringBuilder sql = new StringBuilder(); String filtro = ""; sql.append(" select distinct itemconfiguracao.iditemconfiguracao, itemconfiguracao.identificacao as descricao, "); sql.append(" softwareslistanegra.nomesoftwareslistanegra "); sql.append(" from itemconfiguracao itemconfiguracao "); sql.append(" inner join softwareslistanegraencontrados softwareslistanegraencontrados "); sql.append(" on softwareslistanegraencontrados.iditemconfiguracao = itemconfiguracao.iditemconfiguracao "); sql.append(" inner join softwareslistanegra softwareslistanegra "); sql.append(" on softwareslistanegra.idsoftwareslistanegra = softwareslistanegraencontrados.idsoftwareslistanegra "); sql.append(" left join grupoitemconfiguracao grupoitemconfiguracao "); sql.append(" on itemconfiguracao.idgrupoitemconfiguracao = grupoitemconfiguracao.idgrupoitemconfiguracao "); if(relatorioListaNegraDTO.getDataInicio()!=null){ filtro +=" and softwareslistanegraencontrados.data between ? and ? "; } if(relatorioListaNegraDTO.getIdSoftwaresListaNegra()!=null){ filtro+= " and softwareslistanegra.idsoftwareslistanegra = ? "; } if(relatorioListaNegraDTO.getIdGrupoItemConfiguracao()!=null){ filtro+=" and grupoitemconfiguracao.idgrupoitemconfiguracao = ? "; } if(!relatorioListaNegraDTO.getLocalidade().equals("")){ filtro+= "and itemconfiguracao.localidade like('%"+relatorioListaNegraDTO.getLocalidade()+"%') "; } if (!filtro.equals("")) { filtro = filtro.replaceFirst("and", ""); sql.append(" where " + filtro); } if (relatorioListaNegraDTO.getDataInicio() != null) { param.add(relatorioListaNegraDTO.getDataInicio()); param.add(relatorioListaNegraDTO.getDataFim()); } if (relatorioListaNegraDTO.getIdSoftwaresListaNegra() != null) { param.add(relatorioListaNegraDTO.getIdSoftwaresListaNegra()); } if(relatorioListaNegraDTO.getIdGrupoItemConfiguracao()!=null){ param.add(relatorioListaNegraDTO.getIdGrupoItemConfiguracao()); } // if(!relatorioListaNegraDTO.getLocalidade().equals("")){ // param.add(relatorioListaNegraDTO.getLocalidade()); // } if (param != null) { lista = this.execSQL(sql.toString(), param.toArray()); } else { lista = this.execSQL(sql.toString(), null); } listRetorno.add("idItemConfiguracao"); listRetorno.add("descricao"); listRetorno.add("nomeSoftwaresListaNegra"); if (lista != null && !lista.isEmpty()) { Collection<RelatorioListaNegraDTO> listResultado = this.engine.listConvertion(RelatorioListaNegraDTO.class, lista, listRetorno); return listResultado; } return null; } }