From 2f171c24525bc898ba183bf8562e3d9813b54623 Mon Sep 17 00:00:00 2001 From: julio Date: Fri, 6 Sep 2013 20:29:55 +0000 Subject: [PATCH] Copiar e Colar Pricing git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@30730 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/service/PricingService.java | 2 + .../service/impl/PricingServiceImpl.java | 302 ++++++++++++++++++ 2 files changed, 304 insertions(+) diff --git a/src/com/rjconsultores/ventaboletos/service/PricingService.java b/src/com/rjconsultores/ventaboletos/service/PricingService.java index d240ce7fc..47e56bdf4 100644 --- a/src/com/rjconsultores/ventaboletos/service/PricingService.java +++ b/src/com/rjconsultores/ventaboletos/service/PricingService.java @@ -27,4 +27,6 @@ public interface PricingService extends GenericService { public void inativar(Pricing entidad); public void ativar(Pricing entidad); + + public Boolean clonarPricing(Integer pricingId, String nomePricing); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/PricingServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/PricingServiceImpl.java index 7d8bf7983..edea138a4 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/PricingServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/PricingServiceImpl.java @@ -5,6 +5,7 @@ package com.rjconsultores.ventaboletos.service.impl; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Calendar; import java.util.List; @@ -197,4 +198,305 @@ public class PricingServiceImpl implements PricingService { public List buscarPorNombre(String nombPricing) { return pricingDAO.buscarPorNombre(nombPricing); } + + @Transactional + public Boolean clonarPricing(Integer pricingId, String nomePricing) { + + Pricing pricing = this.obtenerID(pricingId); + Pricing clonePricing = new Pricing(); + + clonePricing.setNombPricing(nomePricing); + + clonePricing.setCantboleto(pricing.getCantboleto()); + clonePricing.setCantdiasanticipacion(pricing.getCantdiasanticipacion()); + clonePricing.setDescuentoporcentaje(pricing.getDescuentoporcentaje()); + clonePricing.setDescuentoporcredondo(pricing.getDescuentoporcredondo()); + clonePricing.setEmpresa(pricing.getEmpresa()); + clonePricing.setIndcancelable(pricing.getIndcancelable()); + clonePricing.setIndGeneraFeriadoVenta(pricing.getIndGeneraFeriadoVenta()); + clonePricing.setIndGeneraFeriadoViaje(pricing.getIndGeneraFeriadoViaje()); + clonePricing.setIndtransferible(pricing.getIndtransferible()); + + clonePricing.setPricingAnticipacionList(new ArrayList()); + clonePricing.setPricingAsientoList(new ArrayList()); + clonePricing.setPricingCategoriaList(new ArrayList()); + clonePricing.setPricingClaseList(new ArrayList()); + clonePricing.setPricingCorridaList(new ArrayList()); + clonePricing.setPricingDiaList(new ArrayList()); + clonePricing.setPricingImporteList(new ArrayList()); + clonePricing.setPricingMarcaList(new ArrayList()); + clonePricing.setPricingMercadoList(new ArrayList()); + clonePricing.setPricingOcupacionList(new ArrayList()); + clonePricing.setPricingPuntoventaList(new ArrayList()); + clonePricing.setPricingRutaList(new ArrayList()); + clonePricing.setPricingTipoptovtaList(new ArrayList()); + clonePricing.setPricingTipoServicioList(new ArrayList()); + clonePricing.setPricingVigenciaList(new ArrayList()); + + clonePricing = suscribir(clonePricing); + + System.out.println(clonePricing.getPricingId()); + + clonePricing = percorrerPricingAtivoParaClonar(pricing, clonePricing); + actualizacion(clonePricing); + + inativar(clonePricing); + + System.out.println(clonePricing.getPricingId()); + + if (clonePricing.getPricingId() != null) { + return true; + } else { + return false; + } + } + + private Pricing percorrerPricingAtivoParaClonar(Pricing pricing, Pricing clonePricing) { + + Integer ativar = Pricing.ATIVO; + Integer statusAtivo = Pricing.ATIVO; + + List pricingAsientoList = new ArrayList(); + for (PricingAsiento pricingAsiento : pricing.getPricingAsientoList(statusAtivo)) { + + PricingAsiento clonePricingAsiento = new PricingAsiento(); + + clonePricingAsiento.setNombImagen(pricingAsiento.getNombImagen()); + clonePricingAsiento.setNumeasiento(pricingAsiento.getNumeasiento()); + clonePricingAsiento.setPorcentaje(pricingAsiento.getPorcentaje()); + + clonePricingAsiento.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingAsiento.setFecmodif(Calendar.getInstance().getTime()); + clonePricingAsiento.setActivo(ativar); + clonePricingAsiento.setPricing(clonePricing); + pricingAsientoList.add(clonePricingAsiento); + } + clonePricing.setPricingAsientoList(pricingAsientoList); + + List pricingCategoriaList = new ArrayList(); + for (PricingCategoria pricingCategoria : pricing.getPricingCategoriaList(statusAtivo)) { + + PricingCategoria clonePricingCategoria = new PricingCategoria(); + + clonePricingCategoria.setCategoria(pricingCategoria.getCategoria()); + + clonePricingCategoria.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingCategoria.setFecmodif(Calendar.getInstance().getTime()); + clonePricingCategoria.setActivo(ativar); + clonePricingCategoria.setPricing(clonePricing); + pricingCategoriaList.add(clonePricingCategoria); + } + clonePricing.setPricingCategoriaList(pricingCategoriaList); + List pricingClaseList = new ArrayList(); + for (PricingClase pricingClase : pricing.getPricingClaseList(statusAtivo)) { + + PricingClase clonePricingClase = new PricingClase(); + + clonePricingClase.setClaseServicio(pricingClase.getClaseServicio()); + + clonePricingClase.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingClase.setFecmodif(Calendar.getInstance().getTime()); + clonePricingClase.setActivo(ativar); + clonePricingClase.setPricing(clonePricing); + pricingClaseList.add(clonePricingClase); + } + clonePricing.setPricingClaseList(pricingClaseList); + + List pricingCorridaList = new ArrayList(); + for (PricingCorrida pricingCorrida : pricing.getPricingCorridaList(statusAtivo)) { + + PricingCorrida clonePricingCorrida = new PricingCorrida(); + + clonePricingCorrida.setCorridaCtrl(pricingCorrida.getCorridaCtrl()); + + clonePricingCorrida.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingCorrida.setFecmodif(Calendar.getInstance().getTime()); + clonePricingCorrida.setActivo(ativar); + clonePricingCorrida.setPricing(clonePricing); + pricingCorridaList.add(clonePricingCorrida); + } + clonePricing.setPricingCorridaList(pricingCorridaList); + + List pricingDiaList = new ArrayList(); + for (PricingDia pricingDia : pricing.getPricingDiaList(statusAtivo)) { + + PricingDia clonePricingDia = new PricingDia(); + + clonePricingDia.setHorariofin(pricingDia.getHorariofin()); + clonePricingDia.setHorarioinicio(pricingDia.getHorarioinicio()); + clonePricingDia.setInddomingo(pricingDia.getInddomingo()); + clonePricingDia.setIndjueves(pricingDia.getIndjueves()); + clonePricingDia.setIndlunes(pricingDia.getIndlunes()); + clonePricingDia.setIndmartes(pricingDia.getIndmartes()); + clonePricingDia.setIndmiercoles(pricingDia.getIndmiercoles()); + clonePricingDia.setIndsabado(pricingDia.getIndsabado()); + clonePricingDia.setIndviernes(pricingDia.getIndviernes()); + + clonePricingDia.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingDia.setFecmodif(Calendar.getInstance().getTime()); + clonePricingDia.setActivo(ativar); + clonePricingDia.setPricing(clonePricing); + pricingDiaList.add(clonePricingDia); + } + clonePricing.setPricingDiaList(pricingDiaList); + + List pricingImporteList = new ArrayList(); + for (PricingImporte pricingImporte : pricing.getPricingImporteList(statusAtivo)) { + + PricingImporte clonePricingImporte = new PricingImporte(); + + clonePricingImporte.setImporte(pricingImporte.getImporte()); + clonePricingImporte.setMoneda(pricingImporte.getMoneda()); + + clonePricingImporte.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingImporte.setFecmodif(Calendar.getInstance().getTime()); + clonePricingImporte.setActivo(ativar); + clonePricingImporte.setPricing(clonePricing); + pricingImporteList.add(clonePricingImporte); + } + clonePricing.setPricingImporteList(pricingImporteList); + + List pricingMarcaList = new ArrayList(); + for (PricingMarca pricingMarca : pricing.getPricingMarcaList(statusAtivo)) { + + PricingMarca clonePricingMarca = new PricingMarca(); + + clonePricingMarca.setMarca(pricingMarca.getMarca()); + + clonePricingMarca.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingMarca.setFecmodif(Calendar.getInstance().getTime()); + clonePricingMarca.setActivo(ativar); + clonePricingMarca.setPricing(clonePricing); + pricingMarcaList.add(clonePricingMarca); + } + clonePricing.setPricingMarcaList(pricingMarcaList); + + List pricingMercadoList = new ArrayList(); + for (PricingMercado pricingMercado : pricing.getPricingMercadoList(statusAtivo)) { + + PricingMercado clonePricingMercado = new PricingMercado(); + + clonePricingMercado.setDestino(pricingMercado.getDestino()); + clonePricingMercado.setOrigen(pricingMercado.getOrigen()); + + clonePricingMercado.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingMercado.setFecmodif(Calendar.getInstance().getTime()); + clonePricingMercado.setActivo(ativar); + clonePricingMercado.setPricing(clonePricing); + pricingMercadoList.add(clonePricingMercado); + } + clonePricing.setPricingMercadoList(pricingMercadoList); + + List pricingOcupacionList = new ArrayList(); + for (PricingOcupacion pricingOcupacion : pricing.getPricingOcupacionList(statusAtivo)) { + + PricingOcupacion clonePricingOcupacion = new PricingOcupacion(); + + clonePricingOcupacion.setOcupacionfinal(pricingOcupacion.getOcupacionfinal()); + clonePricingOcupacion.setOcupacioninicial(pricingOcupacion.getOcupacioninicial()); + clonePricingOcupacion.setPorcentaje(pricingOcupacion.getPorcentaje()); + + clonePricingOcupacion.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingOcupacion.setFecmodif(Calendar.getInstance().getTime()); + clonePricingOcupacion.setActivo(ativar); + clonePricingOcupacion.setPricing(clonePricing); + pricingOcupacionList.add(clonePricingOcupacion); + } + clonePricing.setPricingOcupacionList(pricingOcupacionList); + + List pricingPuntoVentaList = new ArrayList(); + for (PricingPuntoVenta pricingPuntoVenta : pricing.getPricingPuntoventaList(statusAtivo)) { + + PricingPuntoVenta clonePricingPuntoVenta = new PricingPuntoVenta(); + + clonePricingPuntoVenta.setPuntoVenta(pricingPuntoVenta.getPuntoVenta()); + + clonePricingPuntoVenta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingPuntoVenta.setFecmodif(Calendar.getInstance().getTime()); + clonePricingPuntoVenta.setActivo(ativar); + clonePricingPuntoVenta.setPricing(clonePricing); + pricingPuntoVentaList.add(clonePricingPuntoVenta); + } + clonePricing.setPricingPuntoventaList(pricingPuntoVentaList); + + List pricingRutaList = new ArrayList(); + for (PricingRuta pricingRuta : pricing.getPricingRutaList(statusAtivo)) { + + PricingRuta clonePricingRuta = new PricingRuta(); + + clonePricingRuta.setRuta(pricingRuta.getRuta()); + + clonePricingRuta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingRuta.setFecmodif(Calendar.getInstance().getTime()); + clonePricingRuta.setActivo(ativar); + clonePricingRuta.setPricing(clonePricing); + pricingRutaList.add(clonePricingRuta); + } + clonePricing.setPricingRutaList(pricingRutaList); + + List pricingTipoPtoVtaList = new ArrayList(); + for (PricingTipoPtoVta pricingTipoPtoVta : pricing.getPricingTipoptovtaList(statusAtivo)) { + + PricingTipoPtoVta clonePricingTipoPtoVta = new PricingTipoPtoVta(); + + clonePricingTipoPtoVta.setTipoPtovta(pricingTipoPtoVta.getTipoPtovta()); + + clonePricingTipoPtoVta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingTipoPtoVta.setFecmodif(Calendar.getInstance().getTime()); + clonePricingTipoPtoVta.setActivo(ativar); + clonePricingTipoPtoVta.setPricing(clonePricing); + pricingTipoPtoVtaList.add(clonePricingTipoPtoVta); + } + clonePricing.setPricingTipoptovtaList(pricingTipoPtoVtaList); + + List pricingVigenciaList = new ArrayList(); + for (PricingVigencia pricingVigencia : pricing.getPricingVigenciaList(statusAtivo)) { + + PricingVigencia clonePricingVigencia = new PricingVigencia(); + + clonePricingVigencia.setFecfinventa(pricingVigencia.getFecfinventa()); + clonePricingVigencia.setFecinicioventa(pricingVigencia.getFecinicioventa()); + clonePricingVigencia.setFecinicioviaje(pricingVigencia.getFecinicioviaje()); + clonePricingVigencia.setFecfinviaje(pricingVigencia.getFecfinviaje()); + + clonePricingVigencia.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingVigencia.setFecmodif(Calendar.getInstance().getTime()); + clonePricingVigencia.setActivo(ativar); + clonePricingVigencia.setPricing(clonePricing); + pricingVigenciaList.add(clonePricingVigencia); + } + clonePricing.setPricingVigenciaList(pricingVigenciaList); + + List pricingAnticipacionList = new ArrayList(); + for (PricingAnticipacion pricingAnticipacion : pricing.getPricingAnticipacionList(statusAtivo)) { + + PricingAnticipacion clonePricingAnticipacion = new PricingAnticipacion(); + clonePricingAnticipacion.setCantdiasmax(pricingAnticipacion.getCantdiasmax()); + clonePricingAnticipacion.setCantdiasmin(pricingAnticipacion.getCantdiasmin()); + clonePricingAnticipacion.setPorcpricing(pricingAnticipacion.getPorcpricing()); + + clonePricingAnticipacion.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingAnticipacion.setFecmodif(Calendar.getInstance().getTime()); + clonePricingAnticipacion.setActivo(ativar); + clonePricingAnticipacion.setPricing(clonePricing); + pricingAnticipacionList.add(clonePricingAnticipacion); + } + clonePricing.setPricingAnticipacionList(pricingAnticipacionList); + + List pricingTipoServicioList = new ArrayList(); + for (PricingTipoServicio pricingTipoServicio : pricing.getPricingTipoServicioList(statusAtivo)) { + + PricingTipoServicio clonePricingTipoServicio = new PricingTipoServicio(); + clonePricingTipoServicio.setTipoServicio(pricingTipoServicio.getTipoServicio()); + + clonePricingTipoServicio.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + clonePricingTipoServicio.setFecmodif(Calendar.getInstance().getTime()); + clonePricingTipoServicio.setActivo(ativar); + clonePricingTipoServicio.setPricing(clonePricing); + pricingTipoServicioList.add(clonePricingTipoServicio); + } + clonePricing.setPricingTipoServicioList(pricingTipoServicioList); + + return clonePricing; + } }