diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/CopiarPricingEspecificoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/CopiarPricingEspecificoController.java index ffeb4c3e7..5239502d6 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/CopiarPricingEspecificoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/CopiarPricingEspecificoController.java @@ -13,6 +13,7 @@ import org.zkoss.zk.ui.event.Event; import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.PricingEspecifico; +import com.rjconsultores.ventaboletos.entidad.PricingEspecificoCategoria; import com.rjconsultores.ventaboletos.service.PricingEspecificoService; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; @@ -28,12 +29,13 @@ public class CopiarPricingEspecificoController extends MyGenericForwardComposer private Textbox nombrePricing; private PricingEspecifico pricingEspecifico; + private List pricingCategoriaList; private MyListbox pricingList; @Override public void doAfterCompose(Component comp) throws Exception { pricingEspecifico = (PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico"); - + pricingCategoriaList = (List) Executions.getCurrent().getArg().get("pricingCategoriaList"); super.doAfterCompose(comp); } @@ -45,7 +47,7 @@ public class CopiarPricingEspecificoController extends MyGenericForwardComposer if (lsPricing == null || lsPricing.isEmpty()) { - PricingEspecifico clone = pricingEspecificoService.clonarPricing(pricingEspecifico.getPricingespecificoId(), nombrePricing.getText()); + PricingEspecifico clone = pricingEspecificoService.clonarPricing(pricingEspecifico.getPricingespecificoId(), nombrePricing.getText(), pricingCategoriaList); if (clone != null) { diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoController.java index 751b7b716..1113e3b05 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoController.java @@ -1145,13 +1145,38 @@ public class EditarPricingEspecificoController extends PricingController { } public void onClick$btnCopiar(Event ev) throws InterruptedException { - + incluiCategoriasPadroesAntesCopiar(); Map args = new HashMap(); args.put("pricingEspecifico", pricingEspecifico); + args.put("pricingCategoriaList", pricingEspecifico.getPricingEspecificoCategoriaList()); openWindow("/gui/pricing/copiarPricingEspecifico.zul", Labels.getLabel("copiarPricingEspecificoController.window.title"), args, MODAL); + } + + private void incluiCategoriasPadroesAntesCopiar() { + if (ApplicationProperties.getInstance().usaPadraoPricingTipoPassagemPET()) { + Categoria categoriaNormal = getCategoriaNormal(); + Categoria categoriaPET = getCategoriaPET(); + Boolean existeNormal = false; + Boolean existePET = false; + for (PricingEspecificoCategoria c : pricingEspecifico.getPricingEspecificoCategoriaList()) { + if (c.getCategoria().equals(categoriaNormal)) { + existeNormal = true; + } + if (c.getCategoria().equals(categoriaPET)) { + existePET = true; + } + } + + if (!existeNormal) { + incluirCategoriaNormal(categoriaNormal); + } + if (!existePET) { + incluirCategoriaPet(categoriaPET); + } + } } @Override