From 8d88e81ac25bb11a1789f63c184eb27632410711 Mon Sep 17 00:00:00 2001 From: "igor.rodrigo" Date: Fri, 4 Nov 2016 12:27:41 +0000 Subject: [PATCH] fixes bug #8187 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@62315 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../catalogos/EditarPuntoVentaController.java | 48 +++++++++++++++---- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java index 402eb4057..bbf2a1d3f 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java @@ -1444,15 +1444,47 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { } private void gravaFechamentoCtaCorrente() { - List params = fechamentoParamptovtaService.buscaParametrosPorPuntoventa(puntoVenta); - for (int i = 0; i < params.size(); i++) { - FechamentoParamptovta fechamentoParamptovta = (FechamentoParamptovta) params.get(i); - fechamentoParamptovtaService.borrar(fechamentoParamptovta); + List paramsFechamento = fechamentoParamptovtaService.buscaParametrosPorPuntoventa(puntoVenta); + gravarCC(paramsFechamento); + removerCC(paramsFechamento); + } + + private void gravarCC(List paramsFechamento) { + boolean encontrouEmpresaComFechamentoConfigurado = false; + for (Object object : fechamentoParamptovtaList.getListData()) { + encontrouEmpresaComFechamentoConfigurado = false; + FechamentoParamptovta fechamentoParamptovta = (FechamentoParamptovta) object; + //verifica se empresa já está configurada com fechamento de conta corrente + for(FechamentoParamptovta paramFechamento : paramsFechamento){ + if(fechamentoParamptovta.getEmpresa().getEmpresaId() == paramFechamento.getEmpresa().getEmpresaId()){ + encontrouEmpresaComFechamentoConfigurado = true; + break; + } + } + //Caso não esteja configurada insere no banco + if(!encontrouEmpresaComFechamentoConfigurado){ + fechamentoParamptovta.setPuntoventa(puntoVenta); + fechamentoParamptovtaService.suscribir(fechamentoParamptovta); + } } - for (Object object : fechamentoParamptovtaList.getListData()) { - FechamentoParamptovta fechamentoParamptovta = (FechamentoParamptovta) object; - fechamentoParamptovta.setPuntoventa(puntoVenta); - fechamentoParamptovtaService.suscribir(fechamentoParamptovta); + } + + private void removerCC(List paramsFechamento) { + boolean removerEmpresa = true; + for(FechamentoParamptovta paramFechamento : paramsFechamento){ + removerEmpresa = true; + //Procura por empresas que estão no banco mas não estão na lista + for (Object object : fechamentoParamptovtaList.getListData()) { + FechamentoParamptovta fechamentoParamptovta = (FechamentoParamptovta) object; + if(paramFechamento.getEmpresa().getEmpresaId() == fechamentoParamptovta.getEmpresa().getEmpresaId()){ + removerEmpresa = false; + break; + } + } + //Remove do banco a empresa que não está na lista + if(removerEmpresa){ + fechamentoParamptovtaService.borrar(paramFechamento); + } } }