public String generateFrom(final Collection colGeral) throws Exception { final ObjetoNegocioDao objetoNegocioDao = new ObjetoNegocioDao(); final Map map = new HashMap<>(); if (colGeral != null) { for (final Iterator it = colGeral.iterator(); it.hasNext(); ) { final CamposObjetoNegocioDTO camposObjetoNegocioDTO = (CamposObjetoNegocioDTO) it.next(); ObjetoNegocioDTO objetoNegocioDTO = new ObjetoNegocioDTO(); objetoNegocioDTO.setIdObjetoNegocio(camposObjetoNegocioDTO.getIdObjetoNegocio()); objetoNegocioDTO = (ObjetoNegocioDTO) objetoNegocioDao.restore(objetoNegocioDTO); if (objetoNegocioDTO != null) { if (!map.containsKey(objetoNegocioDTO.getNomeTabelaDB())) { map.put(objetoNegocioDTO.getNomeTabelaDB(), objetoNegocioDTO.getNomeTabelaDB()); } } } } final Set set = map.entrySet(); final Iterator i = set.iterator(); String fromSql = ""; while (i.hasNext()) { final Map.Entry me = (Map.Entry) i.next(); if (!fromSql.equalsIgnoreCase("")) { fromSql += ","; } fromSql += me.getKey(); } return fromSql; }
private String generateFields(final Collection colPresentation) throws Exception { final ObjetoNegocioDao objetoNegocioDao = new ObjetoNegocioDao(); String sqlFields = ""; if (colPresentation != null) { int i = 1; for (final Iterator it = colPresentation.iterator(); it.hasNext(); ) { final GrupoVisaoCamposNegocioDTO grupoVisaoCamposNegocioDTO = (GrupoVisaoCamposNegocioDTO) it.next(); final CamposObjetoNegocioDTO camposObjetoNegocioDTO = grupoVisaoCamposNegocioDTO.getCamposObjetoNegocioDto(); ObjetoNegocioDTO objetoNegocioDTO = new ObjetoNegocioDTO(); objetoNegocioDTO.setIdObjetoNegocio(camposObjetoNegocioDTO.getIdObjetoNegocio()); objetoNegocioDTO = (ObjetoNegocioDTO) objetoNegocioDao.restore(objetoNegocioDTO); if (objetoNegocioDTO != null) { if (!sqlFields.equalsIgnoreCase("")) { sqlFields += ", "; } sqlFields += objetoNegocioDTO.getNomeTabelaDB() + "." + camposObjetoNegocioDTO.getNomeDB() + " Fld_" + i; } i++; } } return sqlFields; }
private String generateFilter(final Collection colFilter) throws Exception { final ObjetoNegocioDao objetoNegocioDao = new ObjetoNegocioDao(); String sqlFilter = ""; if (colFilter != null) { for (final Iterator it = colFilter.iterator(); it.hasNext(); ) { final GrupoVisaoCamposNegocioDTO grupoVisaoCamposNegocioDTO = (GrupoVisaoCamposNegocioDTO) it.next(); final CamposObjetoNegocioDTO camposObjetoNegocioDTO = grupoVisaoCamposNegocioDTO.getCamposObjetoNegocioDto(); ObjetoNegocioDTO objetoNegocioDTO = new ObjetoNegocioDTO(); objetoNegocioDTO.setIdObjetoNegocio(camposObjetoNegocioDTO.getIdObjetoNegocio()); objetoNegocioDTO = (ObjetoNegocioDTO) objetoNegocioDao.restore(objetoNegocioDTO); if (objetoNegocioDTO != null) { if (!sqlFilter.equalsIgnoreCase("")) { sqlFilter += " AND "; } String pref = ""; String suf = ""; String comp = "="; String value = "" + camposObjetoNegocioDTO.getValue(); if (MetaUtil.isStringType(camposObjetoNegocioDTO.getTipoDB())) { pref = "'%"; suf = "%'"; comp = "LIKE"; } else { if (MetaUtil.isNumericType(camposObjetoNegocioDTO.getTipoDB())) { value = this.getNumber(value); } } sqlFilter += objetoNegocioDTO.getNomeTabelaDB() + "." + camposObjetoNegocioDTO.getNomeDB() + " " + comp + " " + pref + value + suf; } } } return sqlFilter; }
private String generateFromWithRelatios( final Collection colPresentation, final Collection colFilter) throws Exception { final ObjetoNegocioDao objetoNegocioDao = new ObjetoNegocioDao(); final HashMap map = new HashMap<>(); final Collection colGeral = new ArrayList<>(); if (colPresentation != null) { colGeral.addAll(colPresentation); } if (colFilter != null) { colGeral.addAll(colFilter); } if (colGeral != null) { for (final Iterator it = colGeral.iterator(); it.hasNext(); ) { final GrupoVisaoCamposNegocioDTO grupoVisaoCamposNegocioDTO = (GrupoVisaoCamposNegocioDTO) it.next(); final CamposObjetoNegocioDTO camposObjetoNegocioDTO = grupoVisaoCamposNegocioDTO.getCamposObjetoNegocioDto(); ObjetoNegocioDTO objetoNegocioDTO = new ObjetoNegocioDTO(); objetoNegocioDTO.setIdObjetoNegocio(camposObjetoNegocioDTO.getIdObjetoNegocio()); objetoNegocioDTO = (ObjetoNegocioDTO) objetoNegocioDao.restore(objetoNegocioDTO); if (objetoNegocioDTO != null) { if (!map.containsKey(objetoNegocioDTO.getNomeTabelaDB())) { map.put(objetoNegocioDTO.getNomeTabelaDB(), objetoNegocioDTO.getNomeTabelaDB()); } } } } final Set set = map.entrySet(); final Iterator i = set.iterator(); String fromSql = ""; while (i.hasNext()) { final Map.Entry me = (Map.Entry) i.next(); if (!fromSql.equalsIgnoreCase("")) { fromSql += ","; } fromSql += me.getKey(); } return fromSql; }
@Override public boolean isPKExists(final Collection colCamposPK, final Map hashValores) throws Exception { final ObjetoNegocioDao objetoNegocioDao = new ObjetoNegocioDao(); String sql = "SELECT "; String sqlFields = ""; String sqlFilter = ""; int i = 1; if (colCamposPK == null || colCamposPK.size() == 0) { return false; } for (final Iterator it = colCamposPK.iterator(); it.hasNext(); ) { final CamposObjetoNegocioDTO camposObjetoNegocioDTO = (CamposObjetoNegocioDTO) it.next(); ObjetoNegocioDTO objetoNegocioDTO = new ObjetoNegocioDTO(); objetoNegocioDTO.setIdObjetoNegocio(camposObjetoNegocioDTO.getIdObjetoNegocio()); objetoNegocioDTO = (ObjetoNegocioDTO) objetoNegocioDao.restore(objetoNegocioDTO); if (objetoNegocioDTO != null) { if (!sqlFields.equalsIgnoreCase("")) { sqlFields += ", "; } sqlFields += objetoNegocioDTO.getNomeTabelaDB() + "." + camposObjetoNegocioDTO.getNomeDB() + " Val_" + i; } if (!sqlFilter.equalsIgnoreCase("")) { sqlFilter += " AND "; } String pref = ""; String suf = ""; final String comp = "="; if (MetaUtil.isStringType(camposObjetoNegocioDTO.getTipoDB().trim())) { pref = "'"; suf = "'"; } String strVal = (String) hashValores.get(camposObjetoNegocioDTO.getNomeDB().toUpperCase()); if (strVal != null) { if (strVal.trim().equalsIgnoreCase("")) { // Se nao existir valor para a PK, eh que nao existe! return false; } if (MetaUtil.isNumericType(camposObjetoNegocioDTO.getTipoDB().trim())) { final int x = strVal.indexOf("["); // Vai ate este ponto, pois o codigo fica entre [x] if (x > -1) { strVal = strVal.substring(x); } strVal = UtilStrings.apenasNumeros(strVal); } strVal = strVal.replaceAll(",00", ""); strVal = strVal.replaceAll("\\,", "."); sqlFilter += objetoNegocioDTO.getNomeTabelaDB() + "." + camposObjetoNegocioDTO.getNomeDB() + " " + comp + " " + pref + strVal + suf; } else { // Se nao existir valor para a PK, eh que nao existe! return false; } i++; } sql += sqlFields + " FROM " + this.generateFrom(colCamposPK) + " WHERE " + sqlFilter; final Collection colRet = this.getDao().execSQL(sql, null); if (colRet == null) { return false; } if (colRet.size() > 0) { return true; } return false; }