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<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(); return query.list();
} }
@SuppressWarnings("unchecked")
@Override @Override
public List<Comissao> buscaComissaoVigencia(Integer puntoVentaId, Integer empresaId, String competencia) { public Comissao buscaComissaoVigencia(Integer puntoVentaId, Integer empresaId, String competencia) {
StringBuilder hql = new StringBuilder(); StringBuilder hql = new StringBuilder();
hql.append(" from Comissao c "); hql.append(" from Comissao c ");
@ -100,7 +100,6 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer>
query.setInteger("puntoventaId", puntoVentaId); query.setInteger("puntoventaId", puntoVentaId);
query.setInteger("empresaId", empresaId); 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 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)) { if (validaCompetencia(periodo)) {
String competencia = DateUtil.getStringDate(periodo, "MM/yyyy"); String competencia = DateUtil.getStringDate(periodo, "MM/yyyy");
List<Comissao> comissoes = comissaoDAO.buscaComissaoVigencia(puntoVentaId, empresaId, competencia); Comissao comissaoCadastrada = comissaoDAO.buscaComissaoVigencia(puntoVentaId, empresaId, competencia);
if (comissoes.isEmpty()) { if (comissaoCadastrada == null) {
RegistroCalculo rc = realizarCalculoComissao(puntoVentaId, empresaId, periodo); 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 @Override
public RegistroCalculo relatorioCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException { public RegistroCalculo relatorioCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException {
return realizarCalculoComissao(puntoVentaId, empresaId, periodo); return realizarCalculoComissao(puntoVentaId, empresaId, periodo);
@ -291,11 +304,9 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
Map<String, Object> respDescontos = calculoDescontos(puntoVentaId, empresaId, periodo, ptovtaComissao); Map<String, Object> respDescontos = calculoDescontos(puntoVentaId, empresaId, periodo, ptovtaComissao);
rc.setDescontos((BigDecimal) respDescontos.get("VALOR_DESCONTOS")); rc.setDescontos((BigDecimal) respDescontos.get("VALOR_DESCONTOS"));
rc.setLsDescontos((List<ComissaoDesconto>) respDescontos.get("LISTA_DESCONTOS")); rc.setLsDescontos((List<ComissaoDesconto>) respDescontos.get("LISTA_DESCONTOS"));
/** /**
* Bonificação Metas * 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.
* - 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; BigDecimal comissaoBonificaoMetas = BigDecimal.ZERO;
rc.setComissaoBonificaoMetas(comissaoBonificaoMetas); rc.setComissaoBonificaoMetas(comissaoBonificaoMetas);