package br.com.centralit.citcorpore.integracao; import java.util.ArrayList; import java.util.Collection; import java.util.List; import br.com.centralit.citcorpore.bean.GlosaOSDTO; 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; ; @SuppressWarnings("serial") public class GlosaOSDao extends CrudDaoDefaultImpl { public GlosaOSDao() { super(Constantes.getValue("DATABASE_ALIAS"), null); } @SuppressWarnings({ "rawtypes", "unchecked" }) public Collection<Field> getFields() { Collection<Field> listFields = new ArrayList<>(); listFields.add(new Field("idGlosaOS", "idGlosaOS", true, true, false, false)); listFields.add(new Field("idOs", "idOs", false, false, false, false)); listFields.add(new Field("dataCriacao", "dataCriacao", false, false, false, false)); listFields.add(new Field("dataUltModificacao", "dataUltModificacao", false, false, false, false)); listFields.add(new Field("descricaoGlosa", "descricaoGlosa", false, false, false, false)); listFields.add(new Field("ocorrencias", "ocorrencias", false, false, false, false)); listFields.add(new Field("percAplicado", "percAplicado", false, false, false, false)); listFields.add(new Field("custoGlosa", "custoGlosa", false, false, false, false)); listFields.add(new Field("numeroOcorrencias", "numeroOcorrencias", false, false, false, false)); return listFields; } public String getTableName() { return this.getOwner() + "GlosaOS"; } public Collection list() throws PersistenceException { return null; } public Class getBean() { return GlosaOSDTO.class; } public Collection find(IDto arg0) throws PersistenceException { return null; } public Collection findByIdOs(Integer parm) throws PersistenceException { List condicao = new ArrayList(); List ordenacao = new ArrayList(); condicao.add(new Condition("idOs", "=", parm)); ordenacao.add(new Order("idGlosaOS")); return super.findByCondition(condicao, ordenacao); } public void deleteByIdOs(Integer parm) throws PersistenceException { List condicao = new ArrayList(); condicao.add(new Condition("idOs", "=", parm)); super.deleteByCondition(condicao); } public void deleteByOsNotIn(Integer idOs, String notIn) throws PersistenceException { String sql = "DELETE FROM " + this.getTableName() + " WHERE idOs = ? AND idGlosaOS NOT IN (?)"; super.execUpdate(sql, new Object[] { idOs, notIn }); } public Double retornarCustoGlosaOSByIdOs(Integer idOs) throws PersistenceException { String sql = "select sum(custoglosa) from glosaos where idos = ?"; List dados = this.execSQL(sql, new Object[] { idOs }); List fields = new ArrayList(); fields.add("custoGlosa"); Collection<GlosaOSDTO> listaDeGlosaOS = this.listConvertion(getBean(), dados, fields); if (listaDeGlosaOS != null && !listaDeGlosaOS.isEmpty()) { for (GlosaOSDTO glosa : listaDeGlosaOS) { return glosa.getCustoGlosa(); } return null; } else { return null; } } @SuppressWarnings({ "unchecked", "rawtypes", "unused" }) public Collection<GlosaOSDTO> listaDeGlosas(Integer idOs) throws PersistenceException { List listRetorno = new ArrayList(); StringBuilder sql = new StringBuilder(); List parametro = new ArrayList(); sql.append("select idglosaos, descricaoglosa,ocorrencias,percaplicado,custoglosa,numeroOcorrencias FROM " + getTableName() + " where idos = ?"); parametro.add(idOs); List lista = new ArrayList(); lista = this.execSQL(sql.toString(), parametro.toArray()); listRetorno.add("idGlosaOS"); listRetorno.add("descricaoGlosa"); listRetorno.add("ocorrencias"); listRetorno.add("percAplicado"); listRetorno.add("custoGlosa"); listRetorno.add("numeroOcorrencias"); if (lista != null && !lista.isEmpty()) { List listaDeGlosas = this.engine.listConvertion(GlosaOSDTO.class, lista, listRetorno); return listaDeGlosas; } else { return new ArrayList(); } } }