diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarConfRestricaoCanalVentaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarConfRestricaoCanalVentaController.java index b3e77b30f..a2fa668c8 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarConfRestricaoCanalVentaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarConfRestricaoCanalVentaController.java @@ -251,32 +251,84 @@ public class EditarConfRestricaoCanalVentaController extends MyGenericForwardCom txtDescConf.setConstraint(constraint); clone = Boolean.TRUE; - //Copiar as listas existentes sem retirar do registro original - mantis 0011070 - List listaAux = confRestricaoCanalVentaNovo.getLsConfRestricaoPtovta(); - confRestricaoCanalVentaNovo.setLsConfRestricaoPtovta(new ArrayList()); - - for (ConfRestricaoPtovta pt : listaAux){ - confRestricaoPtovtaDataList.removeItem(pt); - pt.setConfRestricaoPtovtaId(null); - confRestricaoCanalVentaNovo.getLsConfRestricaoPtovta().add(pt); - confRestricaoPtovtaDataList.addItemNovo(pt); - } - - List listaAuxExcecao = confRestricaoCanalVentaNovo.getLsConfRestricaoExcecao(); - confRestricaoCanalVentaNovo.setLsConfRestricaoExcecao(new ArrayList()); - - for (ConfRestricaoExcecao ex : listaAuxExcecao){ - excecaoDataList.removeItem(ex); - ex.setConfRestricaoExcecaoId(null); - confRestricaoCanalVentaNovo.getLsConfRestricaoExcecao().add(ex); - excecaoDataList.addItemNovo(ex); - } + copiarListasConfRestricaoCanalVenta(confRestricaoCanalVentaNovo); confRestricaoCanalVenta = confRestricaoCanalVentaNovo; } } + /** + * @param confRestricaoCanalVentaNovo + */ + protected void copiarListasConfRestricaoCanalVenta(ConfRestricaoCanalVenta confRestricaoCanalVentaNovo) { + copiarConfRestricaoTramos(confRestricaoCanalVentaNovo); + + copiarConfRestricaoPtoVta(confRestricaoCanalVentaNovo); + + copiarConfRestricaoExcecao(confRestricaoCanalVentaNovo); + } + + /** + * @param confRestricaoCanalVentaNovo + */ + protected void copiarConfRestricaoExcecao(ConfRestricaoCanalVenta confRestricaoCanalVentaNovo) { + List listaAuxExcecao = confRestricaoCanalVentaNovo.getLsConfRestricaoExcecao(); + confRestricaoCanalVentaNovo.setLsConfRestricaoExcecao(new ArrayList()); + + for (ConfRestricaoExcecao restricaoExcecao : listaAuxExcecao){ + excecaoDataList.removeItem(restricaoExcecao); + restricaoExcecao.setConfRestricaoExcecaoId(null); + ConfRestricaoTramo tramo = restricaoExcecao.getConfRestricaoTramo(); + if(tramo!= null) { + tramo.setConfRestricaoTramoId(null); + restricaoExcecao.setConfRestricaoTramo(tramo); + tramo.setConfRestricaoCanalVenta(confRestricaoCanalVentaNovo); + } + restricaoExcecao.setConfRestricaoCanalVenta(confRestricaoCanalVentaNovo); + confRestricaoCanalVentaNovo.getLsConfRestricaoExcecao().add(restricaoExcecao); + excecaoDataList.addItemNovo(restricaoExcecao); + } + } + + /** + * @param confRestricaoCanalVentaNovo + */ + protected void copiarConfRestricaoPtoVta(ConfRestricaoCanalVenta confRestricaoCanalVentaNovo) { + List listaAuxPtoVta = confRestricaoCanalVentaNovo.getLsConfRestricaoPtovta(); + confRestricaoCanalVentaNovo.setLsConfRestricaoPtovta(new ArrayList()); + + for (ConfRestricaoPtovta restricaoPtovta : listaAuxPtoVta){ + confRestricaoPtovtaDataList.removeItem(restricaoPtovta); + restricaoPtovta.setConfRestricaoPtovtaId(null); + restricaoPtovta.setConfRestricaoCanalVenta(confRestricaoCanalVentaNovo); + ConfRestricaoTramo tramo = restricaoPtovta.getConfRestricaoTramo(); + if(tramo!= null) { + tramo.setConfRestricaoTramoId(null); + restricaoPtovta.setConfRestricaoTramo(tramo); + tramo.setConfRestricaoCanalVenta(confRestricaoCanalVentaNovo); + } + confRestricaoCanalVentaNovo.getLsConfRestricaoPtovta().add(restricaoPtovta); + confRestricaoPtovtaDataList.addItemNovo(restricaoPtovta); + } + } + + /** + * @param confRestricaoCanalVentaNovo + */ + protected void copiarConfRestricaoTramos(ConfRestricaoCanalVenta confRestricaoCanalVentaNovo) { + List listaAuxTramo = confRestricaoCanalVentaNovo.getLsConfRestricaoTramo(); + confRestricaoCanalVentaNovo.setLsConfRestricaoTramo(new ArrayList()); + + for (ConfRestricaoTramo restricaoTramo : listaAuxTramo){ + confRestricaoTramoDataList.removeItem(restricaoTramo); + restricaoTramo.setConfRestricaoTramoId(null); + restricaoTramo.setConfRestricaoCanalVenta(confRestricaoCanalVentaNovo); + confRestricaoCanalVentaNovo.getLsConfRestricaoTramo().add(restricaoTramo); + confRestricaoTramoDataList.addItemNovo(restricaoTramo); + } + } + public void onClick$btnSalvar(Event ev) throws InterruptedException { //Solução momentânea para atualizar somente a adm - NÃO APAGAR // if( (cmbRuta.getModel() == null || cmbRuta.getModel().getSize() <= 0) && txtServico.getValue() == null) {