package br.com.centralit.citcorpore.integracao; import java.util.ArrayList; import java.util.Collection; import java.util.List; import br.com.centralit.citcorpore.bean.LocalidadeUnidadeDTO; 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 LocalidadeUnidadeDAO extends CrudDaoDefaultImpl { public LocalidadeUnidadeDAO() { 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("idlocalidadeunidade", "idLocalidadeUnidade", true, true, false, false)); listFields.add(new Field("idlocalidade", "idLocalidade", false, false, false, false)); listFields.add(new Field("idunidade", "idUnidade", 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; } @Override public String getTableName() { return "localidadeunidade"; } @Override public Collection list() throws PersistenceException { return null; } @Override public Class getBean() { return LocalidadeUnidadeDTO.class; } public Collection<LocalidadeUnidadeDTO> listaIdLocalidades(Integer idUnidade) throws PersistenceException { Object[] objs = new Object[] { idUnidade }; String sql = "SELECT idlocalidade FROM " + getTableName() + " WHERE idunidade = ? AND datafim is null "; List lista = this.execSQL(sql, objs); List listRetorno = new ArrayList(); listRetorno.add("idLocalidade"); if (lista != null && !lista.isEmpty()) { return this.engine.listConvertion(getBean(), lista, listRetorno); } else { return null; } } public boolean verificarExistenciaDeLocalidadeEmUnidade(Integer idLocalidade) throws PersistenceException { Object[] objs = new Object[] { idLocalidade }; String sql = "SELECT distinct idlocalidade FROM " + getTableName() + " WHERE idLocalidade = ? AND datafim is null "; List lista = this.execSQL(sql, objs); List listRetorno = new ArrayList(); listRetorno.add("idLocalidade"); if (lista != null && !lista.isEmpty()) { return true; } else { return false; } } public void updateDataFim(LocalidadeUnidadeDTO obj) throws PersistenceException { List parametros = new ArrayList(); parametros.add(UtilDatas.getDataAtual()); parametros.add(obj.getIdLocalidade()); String sql = "UPDATE " + getTableName() + " SET DATAFIM = ? WHERE IDLOCALIDADE = ? "; this.execUpdate(sql, parametros.toArray()); } public void deleteByIdUnidade(Integer idUnidade) throws PersistenceException { List lstCondicao = new ArrayList(); lstCondicao.add(new Condition("idUnidade", "=", idUnidade)); super.deleteByCondition(lstCondicao); } }