package br.com.centralit.citcorpore.integracao; import java.util.ArrayList; import java.util.Collection; import java.util.List; import br.com.centralit.citcorpore.bean.AtividadesServicoContratoDTO; 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; public class AtividadesServicoContratoDao extends CrudDaoDefaultImpl { public AtividadesServicoContratoDao() { super(Constantes.getValue("DATABASE_ALIAS"), null); } @Override public Collection<Field> getFields() { final Collection<Field> fields = new ArrayList<>(); fields.add(new Field("idAtividadeServicoContrato", "idAtividadeServicoContrato", true, true, false, false)); fields.add(new Field("idServicoContrato", "idServicoContrato", false, false, false, false)); fields.add(new Field("descricaoAtividade", "descricaoAtividade", false, false, false, false)); fields.add(new Field("obsAtividade", "obsAtividade", false, false, false, false)); fields.add(new Field("custoAtividade", "custoAtividade", false, false, false, false)); fields.add(new Field("complexidade", "complexidade", false, false, false, false)); fields.add(new Field("hora", "hora", false, false, false, false)); fields.add(new Field("quantidade", "quantidade", false, false, false, false)); fields.add(new Field("periodo", "periodo", false, false, false, false)); fields.add(new Field("formula", "formula", false, false, false, false)); fields.add(new Field("contabilizar", "contabilizar", false, false, false, false)); fields.add(new Field("idServicoContratoContabil", "idServicoContratoContabil", false, false, false, false)); fields.add(new Field("deleted", "deleted", false, false, false, false)); fields.add(new Field("tipoCusto", "tipoCusto", false, false, false, false)); fields.add(new Field("estruturaFormulaOs", "estruturaFormulaOs", false, false, false, false)); fields.add(new Field("formulaCalculoFinal", "formulaCalculoFinal", false, false, false, false)); return fields; } @Override public String getTableName() { return this.getOwner() + "AtividadesServicoContrato"; } @Override public Collection<AtividadesServicoContratoDTO> list() throws PersistenceException { return null; } @Override public Class<AtividadesServicoContratoDTO> getBean() { return AtividadesServicoContratoDTO.class; } @Override public Collection<AtividadesServicoContratoDTO> find(final IDto arg0) throws PersistenceException { return null; } public Collection<AtividadesServicoContratoDTO> findByIdServicoContrato(final Integer parm) throws PersistenceException { final List<Condition> condicao = new ArrayList<>(); final List<Order> ordenacao = new ArrayList<>(); condicao.add(new Condition("idServicoContrato", "=", parm)); ordenacao.add(new Order("idAtividadeServicoContrato")); return super.findByCondition(condicao, ordenacao); } /** * Retorna Lita de Atividades Servico Contrato Ativas pelo * idServicoContrato. * * @param idServicoContrato * @return atividadesServicoContrato * @throws Exception */ public Collection<AtividadesServicoContratoDTO> obterAtividadesAtivasPorIdServicoContrato(final Integer idServicoContrato) throws PersistenceException { final List<Condition> condicao = new ArrayList<>(); final List<Order> ordenacao = new ArrayList<>(); condicao.add(new Condition("idServicoContrato", "=", idServicoContrato)); ordenacao.add(new Order("idAtividadeServicoContrato")); return super.findByCondition(condicao, ordenacao); } public void deleteByIdServicoContrato(final Integer parm) throws PersistenceException { final List<Condition> condicao = new ArrayList<>(); condicao.add(new Condition("idServicoContrato", "=", parm)); super.deleteByCondition(condicao); } /** * @param idServicoContrato * @throws PersistenceException * @author cledson.junior */ public void updateAtividadesServicoContrato(final Integer idServicoContrato) throws PersistenceException { final List<Object> parametros = new ArrayList<>(); parametros.add("y"); parametros.add(idServicoContrato); final String sql = "UPDATE " + this.getTableName() + " SET deleted = ? WHERE idServicoContrato = ?"; this.execUpdate(sql, parametros.toArray()); } public Collection<AtividadesServicoContratoDTO> listarPorFormula() throws PersistenceException { final StringBuilder sql = new StringBuilder(); sql.append("SELECT idatividadeservicocontrato, "); sql.append(" idservicocontrato, "); sql.append(" custoatividade, "); sql.append(" complexidade, "); sql.append(" hora, "); sql.append(" quantidade, "); sql.append(" periodo, "); sql.append(" deleted, "); sql.append(" formula, "); sql.append(" estruturaformulaos, "); sql.append(" formulacalculofinal "); sql.append("FROM atividadesservicocontrato "); sql.append("WHERE tipocusto = 'F' "); sql.append(" AND estruturaformulaos IS NULL"); final List<String> listRetorno = new ArrayList<>(); listRetorno.add("idAtividadeServicoContrato"); listRetorno.add("idServicoContrato"); listRetorno.add("custoAtividade"); listRetorno.add("complexidade"); listRetorno.add("hora"); listRetorno.add("quantidade"); listRetorno.add("periodo"); listRetorno.add("deleted"); listRetorno.add("formula"); listRetorno.add("estruturaFormulaOs"); listRetorno.add("formulaCalculoFinal"); final List<?> lista = this.execSQL(sql.toString(), null); if (lista != null && !lista.isEmpty()) { return engine.listConvertion(AtividadesServicoContratoDTO.class, lista, listRetorno); } return null; } }