package br.com.centralit.citcorpore.integracao; import java.util.ArrayList; import java.util.Collection; import java.util.List; import br.com.centralit.citcorpore.bean.JustificativaParecerDTO; 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.integracao.Order; import br.com.citframework.util.Constantes; /** * @author breno.guimaraes * */ public class JustificativaParecerDao extends CrudDaoDefaultImpl { public JustificativaParecerDao() { super(Constantes.getValue("DATABASE_ALIAS"), null); } @Override public Collection<JustificativaParecerDTO> find(final IDto justificativa) throws PersistenceException { return null; } @Override public Collection<Field> getFields() { final Collection<Field> listFields = new ArrayList<>(); listFields.add(new Field("idjustificativa", "idJustificativa", true, true, false, false)); listFields.add(new Field("descricaojustificativa", "descricaoJustificativa", false, false, false, false)); listFields.add(new Field("aplicavelRequisicao", "aplicavelRequisicao", false, false, false, false)); listFields.add(new Field("aplicavelCotacao", "aplicavelCotacao", false, false, false, false)); listFields.add(new Field("aplicavelInspecao", "aplicavelInspecao", false, false, false, false)); listFields.add(new Field("situacao", "situacao", 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 "justificativaparecer"; } @Override public Collection<JustificativaParecerDTO> list() throws PersistenceException { final List<Condition> condicao = new ArrayList<>(); final List<Order> ordenacao = new ArrayList<>(); ordenacao.add(new Order("descricaoJustificativa")); return super.findByCondition(condicao, ordenacao); } @Override public Class<JustificativaParecerDTO> getBean() { return JustificativaParecerDTO.class; } public Collection<JustificativaParecerDTO> listAplicaveisCotacao() throws PersistenceException { final List<Condition> condicao = new ArrayList<>(); final List<Order> ordenacao = new ArrayList<>(); condicao.add(new Condition("aplicavelCotacao", "=", "S")); ordenacao.add(new Order("descricaoJustificativa")); return super.findByCondition(condicao, ordenacao); } public Collection<JustificativaParecerDTO> listAplicaveisRequisicao() throws PersistenceException { final List<Condition> condicao = new ArrayList<>(); final List<Order> ordenacao = new ArrayList<>(); condicao.add(new Condition("aplicavelRequisicao", "=", "S")); ordenacao.add(new Order("descricaoJustificativa")); return super.findByCondition(condicao, ordenacao); } public Collection<JustificativaParecerDTO> listAplicaveisInspecao() throws PersistenceException { final List<Condition> condicao = new ArrayList<>(); final List<Order> ordenacao = new ArrayList<>(); condicao.add(new Condition("aplicavelInspecao", "=", "S")); ordenacao.add(new Order("descricaoJustificativa")); return super.findByCondition(condicao, ordenacao); } public boolean consultarJustificativaAtiva(final JustificativaParecerDTO justificativaParecerDto) throws PersistenceException { final List<Object> parametro = new ArrayList<>(); List<?> list = new ArrayList<>(); final StringBuilder sql = new StringBuilder(); sql.append("select idjustificativa from "); sql.append(this.getTableName()); sql.append(" where descricaojustificativa = ? and situacao = 'A'"); parametro.add(justificativaParecerDto.getDescricaoJustificativa()); if (justificativaParecerDto.getIdJustificativa() != null) { sql.append("and idjustificativa <> ?"); parametro.add(justificativaParecerDto.getIdJustificativa()); } list = this.execSQL(sql.toString(), parametro.toArray()); if (list != null && !list.isEmpty()) { return true; } return false; } public Collection<JustificativaParecerDTO> listAplicaveisRequisicaoViagem() throws PersistenceException { final List<Condition> condicao = new ArrayList<>(); final List<Order> ordenacao = new ArrayList<>(); condicao.add(new Condition("aplicavelRequisicao", "=", "S")); condicao.add(new Condition("viagem", "=", "S")); ordenacao.add(new Order("descricaoJustificativa")); return super.findByCondition(condicao, ordenacao); } }