julio 2015-10-27 18:15:35 +00:00
parent 542f2c9369
commit 079386eda9
4 changed files with 23 additions and 11 deletions

View File

@ -10,6 +10,6 @@ public interface ComissaoDAO extends GenericDAO<Comissao, Integer> {
public List<BoletoComissao> buscarReceitasComissoes(Integer puntoVentaId, Integer empresaId, Date periodo);
public List<Comissao> buscaComissaoVigencia(Integer puntoVentaId, Integer empresaId, String competencia);
public Comissao buscaComissaoVigencia(Integer puntoVentaId, Integer empresaId, String competencia);
}

View File

@ -84,9 +84,9 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer>
return query.list();
}
@SuppressWarnings("unchecked")
@Override
public List<Comissao> 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<Comissao, Integer>
query.setInteger("puntoventaId", puntoVentaId);
query.setInteger("empresaId", empresaId);
return query.list();
return (Comissao) query.uniqueResult();
}
}

View File

@ -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;
}

View File

@ -82,8 +82,8 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
if (validaCompetencia(periodo)) {
String competencia = DateUtil.getStringDate(periodo, "MM/yyyy");
List<Comissao> 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);
@ -293,9 +306,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
rc.setLsDescontos((List<ComissaoDesconto>) 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);