package br.com.centralit.citcorpore.integracao; import java.sql.Date; import java.util.ArrayList; import java.util.Collection; import java.util.List; import br.com.centralit.citcorpore.bean.FeriadoDTO; 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; import br.com.citframework.util.UtilDatas; public class FeriadoDao extends CrudDaoDefaultImpl { public FeriadoDao() { super(Constantes.getValue("DATABASE_ALIAS"), null); } public Collection find(IDto arg0) throws PersistenceException { return null; } public Collection<Field> getFields() { Collection<Field> listFields = new ArrayList<>(); listFields.add(new Field("idFeriado", "idFeriado", true, true, false, false)); listFields.add(new Field("data", "data", false, false, false, false)); listFields.add(new Field("descricao", "descricao", false, false, false, false)); listFields.add(new Field("abrangencia", "abrangencia", false, false, false, false)); listFields.add(new Field("idUf", "idUf", false, false, false, false)); listFields.add(new Field("idCidade", "idCidade", false, false, false, false)); listFields.add(new Field("recorrente", "recorrente", false, false, false, false)); return listFields; } public String getTableName() { return "Feriado"; } public Class getBean() { return FeriadoDTO.class; } public Collection list() throws PersistenceException { return super.list("data"); } public boolean isFeriado(Date data, Integer idCidade, Integer idUf) throws Exception { String SQL = "SELECT data FROM Feriado " +" WHERE (data = ? AND abrangencia IN ('N','I')) " +" OR (data = ? AND abrangencia IN ('N','I')) " +" OR (data = ? AND ((? <> 0 AND idUf = ?) OR (? <> 0 AND idCidade = ?)))" +" OR (data = ? AND ((? <> 0 AND idUf = ?) OR (? <> 0 AND idCidade = ?)))"; String dataStr = UtilDatas.dateToSTR(data); dataStr = dataStr.substring(0, 6) + "1900"; Date dataAux = UtilDatas.strToSQLDate(dataStr); Integer idCidadeParm = 0; if (idCidade != null) idCidadeParm = idCidade; Integer idUfParm = 0; if (idUf != null) idUfParm = idUf; Object[] objs = new Object[] {dataAux, data, dataAux, idUfParm, idUfParm, idCidadeParm, idCidadeParm, data, idUfParm, idUfParm, idCidadeParm, idCidadeParm}; List lista = this.execSQL(SQL, objs); List listRetorno = new ArrayList(); listRetorno.add("data"); List result = this.engine.listConvertion(getBean(), lista, listRetorno); return result != null && result.size() > 0; } }