julio 2015-10-26 18:46:00 +00:00
parent 66bada7575
commit bc5faa20b2
1 changed files with 51 additions and 23 deletions

View File

@ -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<Comissao> 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<Comissao> 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");
}
}