diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java index e7dd885c3..f6a2be7dd 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java @@ -52,41 +52,69 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { @Autowired private DescontoComissaoService descontoComissaoService; + public boolean validaCompetencia(Date periodo) { + Calendar calendario = Calendar.getInstance(); + calendario.setTime(periodo); + + int mes = calendario.get(Calendar.MONTH) + 1; + int ano = calendario.get(Calendar.YEAR); + + Calendar now = Calendar.getInstance(); + int mesNow = now.get(Calendar.MONTH) + 1; + int anoNow = now.get(Calendar.YEAR); + + if (anoNow == ano) { + if (mesNow > mes) { + return true; + } + + } else if (anoNow > ano) { + return true; + } + + return false; + } + @Override public void registrarCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo) throws ComissaoException { - String competencia = DateUtil.getStringDate(periodo, "MM/yyyy"); - List comissoes = comissaoDAO.buscaComissaoVigencia(puntoVentaId, empresaId, competencia); - if (comissoes.isEmpty()) { + if (validaCompetencia(periodo)) { - RegistroCalculo rc = realizarCalculoComissao(puntoVentaId, empresaId, periodo); + String competencia = DateUtil.getStringDate(periodo, "MM/yyyy"); + List comissoes = comissaoDAO.buscaComissaoVigencia(puntoVentaId, empresaId, competencia); + if (comissoes.isEmpty()) { - Comissao comissao = new Comissao(); + RegistroCalculo rc = realizarCalculoComissao(puntoVentaId, empresaId, periodo); - comissao.setCompetencia(competencia); - comissao.setDataPagamento(Calendar.getInstance().getTime()); + Comissao comissao = new Comissao(); - comissao.setEmpresaId(empresaId); - comissao.setPuntoVentaId(puntoVentaId); + comissao.setCompetencia(competencia); + comissao.setDataPagamento(Calendar.getInstance().getTime()); - comissao.setBonificacaoMetas(rc.getComissaoBonificaoMetas()); - comissao.setComissaoBpr(rc.getComissaoBPR()); - comissao.setEntregasPassagem(rc.getComissaoEntregaPassagem()); - comissao.setReceitaExcessobagagem(rc.getComissaoExcessoBagagem()); - comissao.setReceitaSeguroopcional(rc.getComissaoSegOpcional()); - comissao.setReceitaOutros(rc.getComissaoOutros()); + comissao.setEmpresaId(empresaId); + comissao.setPuntoVentaId(puntoVentaId); - comissao.setRoyaties(rc.getRoyaties()); - comissao.setIssRetido(rc.getRetidoISS()); - comissao.setBonificacaoMetas(rc.getComissaoBonificaoMetas()); - comissao.setDescontosEventuais(rc.getDescontos()); + comissao.setBonificacaoMetas(rc.getComissaoBonificaoMetas()); + comissao.setComissaoBpr(rc.getComissaoBPR()); + comissao.setEntregasPassagem(rc.getComissaoEntregaPassagem()); + comissao.setReceitaExcessobagagem(rc.getComissaoExcessoBagagem()); + comissao.setReceitaSeguroopcional(rc.getComissaoSegOpcional()); + comissao.setReceitaOutros(rc.getComissaoOutros()); - comissao.setIndPago(true); - comissao.setUsuarioPagamentoId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + comissao.setRoyaties(rc.getRoyaties()); + comissao.setIssRetido(rc.getRetidoISS()); + comissao.setBonificacaoMetas(rc.getComissaoBonificaoMetas()); + comissao.setDescontosEventuais(rc.getDescontos()); - comissao = comissaoService.suscribir(comissao); + comissao.setIndPago(true); + comissao.setUsuarioPagamentoId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + + comissao = comissaoService.suscribir(comissao); + } else { + throw new ComissaoException("busquedaCalculoComissaoController.registro.exception"); + } } else { - throw new ComissaoException("busquedaCalculoComissaoController.registro.exception"); + throw new ComissaoException("busquedaCalculoComissaoController.competencia.exception"); } }