diff --git a/src/com/rjconsultores/ventaboletos/dao/ComissaoDAO.java b/src/com/rjconsultores/ventaboletos/dao/ComissaoDAO.java index bab74f710..921e0325d 100644 --- a/src/com/rjconsultores/ventaboletos/dao/ComissaoDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/ComissaoDAO.java @@ -10,6 +10,6 @@ public interface ComissaoDAO extends GenericDAO { public List buscarReceitasComissoes(Integer puntoVentaId, Integer empresaId, Date periodo); - public List buscaComissaoVigencia(Integer puntoVentaId, Integer empresaId, String competencia); + public Comissao buscaComissaoVigencia(Integer puntoVentaId, Integer empresaId, String competencia); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ComissaoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ComissaoHibernateDAO.java index b1e5d9bf4..6df64652a 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ComissaoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ComissaoHibernateDAO.java @@ -84,9 +84,9 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO return query.list(); } - @SuppressWarnings("unchecked") + @Override - public List buscaComissaoVigencia(Integer puntoVentaId, Integer empresaId, String competencia) { + public Comissao buscaComissaoVigencia(Integer puntoVentaId, Integer empresaId, String competencia) { StringBuilder hql = new StringBuilder(); hql.append(" from Comissao c "); @@ -100,7 +100,6 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO query.setInteger("puntoventaId", puntoVentaId); query.setInteger("empresaId", empresaId); - return query.list(); - + return (Comissao) query.uniqueResult(); } } diff --git a/src/com/rjconsultores/ventaboletos/service/CalculoComissaoService.java b/src/com/rjconsultores/ventaboletos/service/CalculoComissaoService.java index bbc04ebc1..a637ee69f 100644 --- a/src/com/rjconsultores/ventaboletos/service/CalculoComissaoService.java +++ b/src/com/rjconsultores/ventaboletos/service/CalculoComissaoService.java @@ -11,4 +11,6 @@ public interface CalculoComissaoService { public void registrarCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException; + public void cancelarCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException; + } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java index d70d75d12..0228d6fad 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java @@ -82,8 +82,8 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { if (validaCompetencia(periodo)) { String competencia = DateUtil.getStringDate(periodo, "MM/yyyy"); - List comissoes = comissaoDAO.buscaComissaoVigencia(puntoVentaId, empresaId, competencia); - if (comissoes.isEmpty()) { + Comissao comissaoCadastrada = comissaoDAO.buscaComissaoVigencia(puntoVentaId, empresaId, competencia); + if (comissaoCadastrada == null) { RegistroCalculo rc = realizarCalculoComissao(puntoVentaId, empresaId, periodo); @@ -119,6 +119,19 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { } } + @Override + public void cancelarCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException { + + String competencia = DateUtil.getStringDate(periodo, "MM/yyyy"); + Comissao comissao = comissaoDAO.buscaComissaoVigencia(puntoVentaId, empresaId, competencia); + if (comissao != null) { + comissaoService.borrar(comissao); + + } else { + throw new ComissaoException("busquedaCalculoComissaoController.comissao.exception"); + } + } + @Override public RegistroCalculo relatorioCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException { return realizarCalculoComissao(puntoVentaId, empresaId, periodo); @@ -291,11 +304,9 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { Map respDescontos = calculoDescontos(puntoVentaId, empresaId, periodo, ptovtaComissao); rc.setDescontos((BigDecimal) respDescontos.get("VALOR_DESCONTOS")); rc.setLsDescontos((List) respDescontos.get("LISTA_DESCONTOS")); - + /** - * Bonificação Metas - * - Meta = Eh o valor estipulado de receita dentro do periodo que a agencia deve alcançar. - * - Bonificação = Eh uma porcentagem paga encima da comissao, por alcançar a meta. + * Bonificação Metas - Meta = Eh o valor estipulado de receita dentro do periodo que a agencia deve alcançar. - Bonificação = Eh uma porcentagem paga encima da comissao, por alcançar a meta. */ BigDecimal comissaoBonificaoMetas = BigDecimal.ZERO; rc.setComissaoBonificaoMetas(comissaoBonificaoMetas);