From 7cf3f1ca8e600b25b7d1662ab46a1ca248898d61 Mon Sep 17 00:00:00 2001 From: Fernando Abimael Alvarez Uc Date: Mon, 29 Jul 2024 14:39:28 -0600 Subject: [PATCH] =?UTF-8?q?Se=20crea=20pantalla=20Expreso=20Por=20Cotizar#?= =?UTF-8?q?AL-4549.=20\n=20Se=20crea=20pantalla=20Expreso=20Carga=20de=20C?= =?UTF-8?q?ontrato#AL-4550.=20\n=20Se=20crea=20pantalla=20Expreso=20Progra?= =?UTF-8?q?maci=C3=B3n=20de=20Veh=C3=ADculo#AL-4551.=20\n=20Se=20crea=20pa?= =?UTF-8?q?ntalla=20Expreso=20Documentos#AL-4552.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AsignarBusExpresosController.java | 97 +++++++ .../CargaContratoExpressosController.java | 196 +++++++++++++++ .../expressos/CotizarExpresoController.java | 236 ++++++++++++++++++ .../DocumentosExpresosController.java | 143 +++++++++++ .../ExpressosPorCotizarController.java | 169 +++++++++++++ .../ModificarTrayectoExpresoController.java | 69 +++++ ...ogramacionVehiculosExpresosController.java | 122 +++++++++ .../menu/MenuFactoryPropertiesImpl.java | 2 +- .../item/expressos/ItemMenuCargaContrato.java | 25 ++ .../item/expressos/ItemMenuDocumentos.java | 25 ++ .../item/expressos/ItemMenuPorCotizar.java | 26 ++ .../ItemMenuProgramacionVehiculo.java | 24 ++ .../menu/item/expressos/MenuExpressos.java | 15 ++ .../utilerias/menu/menu_original.properties | 10 + .../render/RenderAsignarBusExpresos.java | 110 ++++++++ .../render/RenderCargaContratoExpresos.java | 130 ++++++++++ .../render/RenderDocumentosExpresos.java | 138 ++++++++++ .../render/RenderExpresosPorCotizar.java | 145 +++++++++++ .../RenderProgramacionVehiculosExpresos.java | 130 ++++++++++ .../render/RenderTrayectosExpreso.java | 37 +++ src/java/spring-config.xml | 4 +- web/WEB-INF/i3-label_en.label | 25 ++ web/WEB-INF/i3-label_es_MX.label | 53 ++++ web/WEB-INF/i3-label_fr_FR.label | 25 ++ web/WEB-INF/i3-label_pt_BR.label | 25 ++ web/gui/expressos/asignarBusExpreso.zul | 84 +++++++ web/gui/expressos/cargaContrato.zul | 78 ++++++ web/gui/expressos/cotizarExpreso.zul | 137 ++++++++++ web/gui/expressos/detalleExpreso.zul | 18 ++ web/gui/expressos/documentosExpreso.zul | 89 +++++++ .../expressos/modificarTrayectoCotizar.zul | 47 ++++ web/gui/expressos/porCotizar.zul | 73 ++++++ .../expressos/programacionVehiculoExpreso.zul | 73 ++++++ 33 files changed, 2578 insertions(+), 2 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/AsignarBusExpresosController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/CargaContratoExpressosController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/CotizarExpresoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/DocumentosExpresosController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ExpressosPorCotizarController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ModificarTrayectoExpresoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ProgramacionVehiculosExpresosController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuCargaContrato.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuDocumentos.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuPorCotizar.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuProgramacionVehiculo.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/MenuExpressos.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderAsignarBusExpresos.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCargaContratoExpresos.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderDocumentosExpresos.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderExpresosPorCotizar.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderProgramacionVehiculosExpresos.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderTrayectosExpreso.java create mode 100644 web/gui/expressos/asignarBusExpreso.zul create mode 100644 web/gui/expressos/cargaContrato.zul create mode 100644 web/gui/expressos/cotizarExpreso.zul create mode 100644 web/gui/expressos/detalleExpreso.zul create mode 100644 web/gui/expressos/documentosExpreso.zul create mode 100644 web/gui/expressos/modificarTrayectoCotizar.zul create mode 100644 web/gui/expressos/porCotizar.zul create mode 100644 web/gui/expressos/programacionVehiculoExpreso.zul diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/AsignarBusExpresosController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/AsignarBusExpresosController.java new file mode 100644 index 000000000..c67f9a7bb --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/AsignarBusExpresosController.java @@ -0,0 +1,97 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.expressos; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.Executions; +import org.zkoss.zul.Paging; + +import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; +import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderAsignarBusExpresos; + +@Controller("asignarBusExpresosController") +@Scope("prototype") +public class AsignarBusExpresosController extends MyGenericForwardComposer{ + + private static final long serialVersionUID = 1L; + + @Autowired + private transient PagedListWrapper plwTrayectosExpresos; + + MyTextbox txtNumSolicitud; + MyTextbox txtRuta; + MyTextbox txtIdaRegreso; + MyTextbox txtCantPasajeros; + MyTextbox txtFechaIda; + MyTextbox txtFechaRegreso; + MyTextbox txtSitioRecogidaIda; + MyTextbox txtSitioRecogidaRegreso; + + private MyListbox trayectosList; + + private Paging pagingTrayectosExpresos; + + SolicitudExpreso expreso; + + @Override + public void doAfterCompose(Component comp) throws Exception { + expreso = (SolicitudExpreso) Executions.getCurrent().getArg().get("expreso"); + + super.doAfterCompose(comp); + + trayectosList.setItemRenderer(new RenderAsignarBusExpresos(this)); + + txtNumSolicitud.setValue(expreso.getSolicitudExpresoId().toString()); + txtRuta.setValue(expreso.getCiudadOrigen().getNombciudad() + " - " + expreso.getCiudadDestino().getNombciudad()); + txtIdaRegreso.setValue(expreso.getIndViajeRedondo() == true ? "Ida y Regreso" : "Ida"); + txtCantPasajeros.setValue(expreso.getCantidadPasajeros().toString()); + txtFechaIda.setValue(DateUtil.getStringDate(expreso.getFechaHoraIda(), "dd/MM/yyyy")); + txtFechaRegreso.setValue(DateUtil.getStringDate(expreso.getFechaHoraRegreso(), "dd/MM/yyyy")); + txtSitioRecogidaIda.setValue(expreso.getDescSitioPartidaIda()); + txtSitioRecogidaRegreso.setValue(expreso.getDescSitioPartidaRegreso()); + + refreshLista(); + } + + private void refreshLista() { + HibernateSearchObject buscarTrayectos = + new HibernateSearchObject(TrayectosExpresos.class, pagingTrayectosExpresos.getPageSize()); + + buscarTrayectos.addFilterEqual("solicitudExpresoId.solicitudExpresoId", expreso.getSolicitudExpresoId()); + buscarTrayectos.addFilterEqual("status", true); + + plwTrayectosExpresos.init(buscarTrayectos, trayectosList, pagingTrayectosExpresos); + } + + public MyListbox getTrayectosList() { + return trayectosList; + } + + public void setTrayectosList(MyListbox trayectosList) { + this.trayectosList = trayectosList; + } + + public Paging getPagingTrayectosExpresos() { + return pagingTrayectosExpresos; + } + + public void setPagingTrayectosExpresos(Paging pagingTrayectosExpresos) { + this.pagingTrayectosExpresos = pagingTrayectosExpresos; + } + + public PagedListWrapper getPlwTrayectosExpresos() { + return plwTrayectosExpresos; + } + + public void setPlwTrayectosExpresos(PagedListWrapper plwTrayectosExpresos) { + this.plwTrayectosExpresos = plwTrayectosExpresos; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/CargaContratoExpressosController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/CargaContratoExpressosController.java new file mode 100644 index 000000000..fee7bb231 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/CargaContratoExpressosController.java @@ -0,0 +1,196 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.expressos; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.math.BigInteger; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Base64; +import java.util.Date; +import java.util.List; +import java.util.Properties; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.media.AMedia; +import org.zkoss.util.media.Media; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Filedownload; +import org.zkoss.zhtml.Fileupload; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zk.ui.event.UploadEvent; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Messagebox; +import org.zkoss.zul.Paging; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.SolicitudExpresosService; +import com.rjconsultores.ventaboletos.web.utilerias.MyDatebox; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCargaContratoExpresos; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderExpresosPorCotizar; + +import javax.sql.rowset.serial.SerialBlob; +import javax.swing.JFileChooser; + +import oracle.sql.BLOB; + +@Controller("cargaContratoExpressosController") +@Scope("prototype") +public class CargaContratoExpressosController extends MyGenericForwardComposer{ + private static final long serialVersionUID = 1L; + + @Autowired + private transient PagedListWrapper plwTrayectosExpresos; + + @Autowired + private EmpresaService empresaService; + + private List lsEmpresa; + private Combobox cmbEmpresa; + private MyListbox expresosList; + private Paging pagingExpresos; + private Checkbox ckServiciosInactivos; + + private MyDatebox txtFechaInicio; + private MyDatebox txtFechaFin; + + @Autowired + SolicitudExpresosService solicitudExpresosService; + SolicitudExpreso expreso; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + super.doAfterCompose(comp); + + expresosList.setItemRenderer(new RenderCargaContratoExpresos(this)); + expresosList.addEventListener("onSelect", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + expreso = (SolicitudExpreso) expresosList.getSelected(); + } + }); + + refreshLista(); + } + + private void refreshLista() { + HibernateSearchObject buscarExpresos = + new HibernateSearchObject(SolicitudExpreso.class, pagingExpresos.getPageSize()); + + Date fechaInicio = txtFechaInicio.getValue(); + if(fechaInicio != null) { + buscarExpresos.addFilterGreaterOrEqual("FECSOLICITUD", fechaInicio); + } + + Date fechaFin = txtFechaFin.getValue(); + if(fechaFin != null) { + buscarExpresos.addFilterLessOrEqual("FECSOLICITUD", fechaFin); + } + + if(ckServiciosInactivos.isChecked()) { + buscarExpresos.addFilterLessOrEqual("ACTIVO", true); + } + + List filterStatusSolicitudExpreso = new ArrayList(); + filterStatusSolicitudExpreso.add(1); + filterStatusSolicitudExpreso.add(2); + + buscarExpresos.addFilterIn("statusSolicitudExpresoId", filterStatusSolicitudExpreso); + + plwTrayectosExpresos.init(buscarExpresos, expresosList, pagingExpresos); + } + + public void onUpload(UploadEvent event) throws IOException, InterruptedException { + if(expreso == null) { + Messagebox.show( + Labels.getLabel("cargaContratoController.MSG.errorExpresoNull"), + Labels.getLabel("winExpressoCargaContrato.title"), + Messagebox.OK, Messagebox.ERROR); + }else { + Media media = event.getMedia(); + + if(media.getFormat().equalsIgnoreCase("pdf")) { + InputStream inputStream = media.getStreamData(); + byte[] bytesIs = IOUtils.toByteArray(inputStream); + + expreso.setDocContrato(bytesIs); + + solicitudExpresosService.actualizacion(expreso); + } else { + Messagebox.show( + Labels.getLabel("cargaContratoController.MSG.errorFormatoContrato") + " " + media, + Labels.getLabel("winExpressoCargaContrato.title"), + Messagebox.OK, Messagebox.ERROR); + } + } + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public Combobox getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(Combobox cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public MyListbox getExpresosList() { + return expresosList; + } + + public void setExpresosList(MyListbox expresosList) { + this.expresosList = expresosList; + } + + public Paging getPagingExpresos() { + return pagingExpresos; + } + + public void setPagingExpresos(Paging pagingExpresos) { + this.pagingExpresos = pagingExpresos; + } + + public MyDatebox getTxtFechaInicio() { + return txtFechaInicio; + } + + public void setTxtFechaInicio(MyDatebox txtFechaInicio) { + this.txtFechaInicio = txtFechaInicio; + } + + public PagedListWrapper getPlwTrayectosExpresos() { + return plwTrayectosExpresos; + } + + public void setPlwTrayectosExpresos(PagedListWrapper plwTrayectosExpresos) { + this.plwTrayectosExpresos = plwTrayectosExpresos; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/CotizarExpresoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/CotizarExpresoController.java new file mode 100644 index 000000000..47843e0a0 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/CotizarExpresoController.java @@ -0,0 +1,236 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.expressos; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.io.IOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.media.Media; +import org.zkoss.util.resource.Labels; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zk.ui.event.UploadEvent; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; +import org.zkoss.zul.Messagebox; +import org.zkoss.zul.Paging; + +import com.rjconsultores.ventaboletos.entidad.Articulo; +import com.rjconsultores.ventaboletos.entidad.Ciudad; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; +import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos; +import com.rjconsultores.ventaboletos.service.CiudadService; +import com.rjconsultores.ventaboletos.service.SolicitudExpresosService; +import com.rjconsultores.ventaboletos.service.TrayectosExpresosService; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderTrayectosExpreso; + +@Controller("cotizarExpresoController") +@Scope("prototype") +public class CotizarExpresoController extends MyGenericForwardComposer{ + + private static final long serialVersionUID = 1L; + + @Autowired + private CiudadService ciudadService; + + @Autowired + private transient PagedListWrapper plwTrayectosExpresos; + + @Autowired + TrayectosExpresosService trayectosExpresosService; + + @Autowired + SolicitudExpresosService solicitudExpresosService; + + SolicitudExpreso expreso; + TrayectosExpresos trayecto; + + private MyTextbox txtNumSolicitud; + private MyTextbox txtRuta; + private MyTextbox txtIdaRegreso; + private MyTextbox txtCantPasajeros; + private MyTextbox txtFechaIda; + private MyTextbox txtFechaRegreso; + private MyTextbox txtSitioRecogidaIda; + private MyTextbox txtSitioRecogidaRegreso; + private MyTextbox archivoCotizacionPath; + + private List lsOrigen; + private List lsDestino; + private Combobox cmbOrigen; + private Combobox cmbDestino; + + private List lsTrayectos = new ArrayList(); + private MyListbox trayectosList; + private Paging pagingTrayectos; + + private byte[] docCotizacion; + + @Override + public void doAfterCompose(Component comp) throws Exception { + + lsOrigen = ciudadService.obtenerTodos(); + lsDestino = ciudadService.obtenerTodos(); + + super.doAfterCompose(comp); + + expreso = (SolicitudExpreso) Executions.getCurrent().getArg().get("expreso"); + + trayectosList.setItemRenderer(new RenderTrayectosExpreso()); + trayectosList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + trayecto = (TrayectosExpresos) trayectosList.getSelected(); + + Map args = new HashMap(); + + args.put("trayecto", trayecto); + + openWindow("/gui/expressos/modificarTrayectoCotizar.zul", Labels.getLabel("expresosPorCotizarCotizar.window.title"), args, MODAL); + } + }); + + txtNumSolicitud.setValue(expreso.getSolicitudExpresoId().toString()); + txtRuta.setValue(expreso.getCiudadOrigen().getNombciudad() + " - " + expreso.getCiudadDestino().getNombciudad()); + txtIdaRegreso.setValue(expreso.getIndViajeRedondo() == true ? "Ida y Regreso" : "Ida"); + txtCantPasajeros.setValue(expreso.getCantidadPasajeros().toString()); + txtFechaIda.setValue(expreso.getFechaHoraIda().toString()); + txtFechaRegreso.setValue(expreso.getFechaHoraRegreso().toString()); + txtSitioRecogidaIda.setValue(expreso.getDescSitioPartidaIda()); + txtSitioRecogidaRegreso.setValue(expreso.getDescSitioPartidaRegreso()); + + refreshLista(); + } + + private void refreshLista() { + HibernateSearchObject buscarTrayectos = + new HibernateSearchObject(TrayectosExpresos.class, pagingTrayectos.getPageSize()); + + buscarTrayectos.addFilterEqual("solicitudExpresoId.solicitudExpresoId", expreso.getSolicitudExpresoId()); + + buscarTrayectos.addFilterEqual("activo", true); + + plwTrayectosExpresos.init(buscarTrayectos, trayectosList, pagingTrayectos); + } + + public void onUpload(UploadEvent event) throws IOException, InterruptedException { + org.zkoss.util.media.Media media = event.getMedia(); + + if(media.getFormat().toString().equalsIgnoreCase("pdf")) { + InputStream inputStream = media.getStreamData(); + byte[] bytesIs = IOUtils.toByteArray(inputStream); + + docCotizacion = bytesIs; + + archivoCotizacionPath.setValue(media.getName()); + }else { + Messagebox.show( + Labels.getLabel("expresoController.MSG.errorArchivo") + " " + media, + Labels.getLabel("expresosPorCotizarCotizar.window.title"), + Messagebox.OK, Messagebox.ERROR); + } + } + + public void onClick$btnAgregarTrayecto(Event event) throws Exception { + agregarTrayectoExpreso(); + } + + public void onClick$btnRefresh(Event event) throws Exception { + refreshLista(); + } + + public void onClick$btnGuardarCotizacion(Event event) throws Exception { + if(docCotizacion == null) { + Messagebox.show( + Labels.getLabel("expresoController.MSG.errorArchivo"), + Labels.getLabel("expresosPorCotizarCotizar.window.title"), + Messagebox.OK, Messagebox.ERROR); + }else { + expreso.setDocCotizacion(docCotizacion); + expreso.setStatusSolicitudExpresoId(2); + solicitudExpresosService.actualizacion(expreso); + } + } + + public void onFocus$winCotizarExpresso(Event event) throws Exception { + refreshLista(); + } + + private void agregarTrayectoExpreso() { + + trayecto = new TrayectosExpresos(); + trayecto.setSolicitudExpresoId(expreso); + trayecto.setDescTrayecto(cmbOrigen.getValue() + " - " + cmbDestino.getValue()); + trayecto.setCantVehiculos(0); + trayecto.setValorTrayecto(0); + + trayectosExpresosService.suscribir(trayecto); + + refreshLista(); + } + + public SolicitudExpreso getExpreso() { + return expreso; + } + + public void setExpreso(SolicitudExpreso expreso) { + this.expreso = expreso; + } + + public Combobox getCmbOrigen() { + return cmbOrigen; + } + + public void setCmbOrigen(Combobox cmbOrigen) { + this.cmbOrigen = cmbOrigen; + } + + public List getLsOrigen() { + return lsOrigen; + } + + public void setLsOrigen(List lsOrigen) { + this.lsOrigen = lsOrigen; + } + + public List getLsDestino() { + return lsDestino; + } + + public void setLsDestino(List lsDestino) { + this.lsDestino = lsDestino; + } + + public Combobox getCmbDestino() { + return cmbDestino; + } + + public void setCmbDestino(Combobox cmbDestino) { + this.cmbDestino = cmbDestino; + } + + public Paging getPagingTrayectos() { + return pagingTrayectos; + } + + public void setPagingTrayectos(Paging pagingTrayectos) { + this.pagingTrayectos = pagingTrayectos; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/DocumentosExpresosController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/DocumentosExpresosController.java new file mode 100644 index 000000000..3d2ba3652 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/DocumentosExpresosController.java @@ -0,0 +1,143 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.expressos; + +import java.util.Date; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Paging; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.web.utilerias.MyDatebox; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderDocumentosExpresos; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderExpresosPorCotizar; + +@Controller("documentosExpresosController") +@Scope("prototype") +public class DocumentosExpresosController extends MyGenericForwardComposer{ + private static final long serialVersionUID = 1L; + + @Autowired + private transient PagedListWrapper plwTrayectosExpresos; + + @Autowired + private EmpresaService empresaService; + + private List lsEmpresa; + private Combobox cmbEmpresa; + private MyListbox expresosList; + private Paging pagingExpresos; + private Checkbox ckServiciosInactivos; + + private MyDatebox txtFechaInicio; + private MyDatebox txtFechaFin; + + SolicitudExpreso expreso; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + super.doAfterCompose(comp); + + expresosList.setItemRenderer(new RenderDocumentosExpresos(this, new EventListener() { + @Override + public void onEvent(Event arg0) throws Exception { + expreso = (SolicitudExpreso)arg0.getTarget().getAttribute("data"); + + //expreso.setStatusSolicitudExpresoId(); -- UPDATE ID SOLICITUD A CRÉDITO + + refreshLista(); + } + })); + expresosList.addEventListener("onClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + expreso = (SolicitudExpreso) expresosList.getSelected(); + } + }); + + refreshLista(); + } + + private void refreshLista() { + HibernateSearchObject buscarExpresos = + new HibernateSearchObject(SolicitudExpreso.class, pagingExpresos.getPageSize()); + + Date fechaInicio = txtFechaInicio.getValue(); + if(fechaInicio != null) { + buscarExpresos.addFilterGreaterOrEqual("FECSOLICITUD", fechaInicio); + } + + Date fechaFin = txtFechaFin.getValue(); + if(fechaFin != null) { + buscarExpresos.addFilterLessOrEqual("FECSOLICITUD", fechaFin); + } + + if(ckServiciosInactivos.isChecked()) { + buscarExpresos.addFilterLessOrEqual("ACTIVO", true); + } + + plwTrayectosExpresos.init(buscarExpresos, expresosList, pagingExpresos); + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public Combobox getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(Combobox cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public MyListbox getExpresosList() { + return expresosList; + } + + public void setExpresosList(MyListbox expresosList) { + this.expresosList = expresosList; + } + + public Paging getPagingExpresos() { + return pagingExpresos; + } + + public void setPagingExpresos(Paging pagingExpresos) { + this.pagingExpresos = pagingExpresos; + } + + public MyDatebox getTxtFechaInicio() { + return txtFechaInicio; + } + + public void setTxtFechaInicio(MyDatebox txtFechaInicio) { + this.txtFechaInicio = txtFechaInicio; + } + + public PagedListWrapper getPlwTrayectosExpresos() { + return plwTrayectosExpresos; + } + + public void setPlwTrayectosExpresos(PagedListWrapper plwTrayectosExpresos) { + this.plwTrayectosExpresos = plwTrayectosExpresos; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ExpressosPorCotizarController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ExpressosPorCotizarController.java new file mode 100644 index 000000000..aee3cb93e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ExpressosPorCotizarController.java @@ -0,0 +1,169 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.expressos; + +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Messagebox; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Paging; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.FormaPago; +import com.rjconsultores.ventaboletos.entidad.GrupoCortesia; +import com.rjconsultores.ventaboletos.entidad.TipoCortesia; +import com.rjconsultores.ventaboletos.entidad.TipoIdentificacion; +import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.SolicitudExpresosService; +import com.rjconsultores.ventaboletos.service.TipoIdentificacionService; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyDatebox; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderExpresosPorCotizar; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderHistoricoFormaPagoSelecao; +import com.trg.search.Filter; + +@Controller("expressosPorCotizarController") +@Scope("prototype") +public class ExpressosPorCotizarController extends MyGenericForwardComposer{ + + private static final long serialVersionUID = 1L; + + @Autowired + private transient PagedListWrapper plwTrayectosExpresos; + + @Autowired + private EmpresaService empresaService; + + private List lsEmpresa; + private Combobox cmbEmpresa; + private MyListbox expresosList; + private Paging pagingExpresos; + private Checkbox ckServiciosInactivos; + + private MyDatebox txtFechaInicio; + private MyDatebox txtFechaFin; + + SolicitudExpreso expreso; + + @Autowired + SolicitudExpresosService solicitudExpresosService; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + super.doAfterCompose(comp); + + expresosList.setItemRenderer(new RenderExpresosPorCotizar(this, new EventListener() { + @Override + public void onEvent(Event arg0) throws Exception { + expreso = (SolicitudExpreso)arg0.getTarget().getAttribute("data"); + + //expreso.setStatusSolicitudExpresoId(); -- UPDATE ID SOLICITUD A CRÉDITO + + solicitudExpresosService.actualizacion(expreso); + + refreshLista(); + } + })); + expresosList.addEventListener("onClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + expreso = (SolicitudExpreso) expresosList.getSelected(); + } + }); + + refreshLista(); + } + + private void refreshLista() { + HibernateSearchObject buscarExpresos = + new HibernateSearchObject(SolicitudExpreso.class, pagingExpresos.getPageSize()); + + Date fechaInicio = txtFechaInicio.getValue(); + if(fechaInicio != null) { + buscarExpresos.addFilterGreaterOrEqual("FECSOLICITUD", fechaInicio); + } + + Date fechaFin = txtFechaFin.getValue(); + if(fechaFin != null) { + buscarExpresos.addFilterLessOrEqual("FECSOLICITUD", fechaFin); + } + + if(ckServiciosInactivos.isChecked()) { + buscarExpresos.addFilterEqual("ACTIVO", true); + } + + List filterStatusSolicitudExpreso = new ArrayList(); + filterStatusSolicitudExpreso.add(1); + filterStatusSolicitudExpreso.add(2); + + buscarExpresos.addFilterIn("statusSolicitudExpresoId", filterStatusSolicitudExpreso); + + plwTrayectosExpresos.init(buscarExpresos, expresosList, pagingExpresos); + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public Combobox getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(Combobox cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public MyListbox getExpresosList() { + return expresosList; + } + + public void setExpresosList(MyListbox expresosList) { + this.expresosList = expresosList; + } + + public Paging getPagingExpresos() { + return pagingExpresos; + } + + public void setPagingExpresos(Paging pagingExpresos) { + this.pagingExpresos = pagingExpresos; + } + + public MyDatebox getTxtFechaInicio() { + return txtFechaInicio; + } + + public void setTxtFechaInicio(MyDatebox txtFechaInicio) { + this.txtFechaInicio = txtFechaInicio; + } + + public PagedListWrapper getPlwTrayectosExpresos() { + return plwTrayectosExpresos; + } + + public void setPlwTrayectosExpresos(PagedListWrapper plwTrayectosExpresos) { + this.plwTrayectosExpresos = plwTrayectosExpresos; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ModificarTrayectoExpresoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ModificarTrayectoExpresoController.java new file mode 100644 index 000000000..e207ce0a2 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ModificarTrayectoExpresoController.java @@ -0,0 +1,69 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.expressos; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Window; + +import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; +import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos; +import com.rjconsultores.ventaboletos.service.TrayectosExpresosService; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; + +@Controller("modificarTrayectoCotizarController") +@Scope("prototype") +public class ModificarTrayectoExpresoController extends MyGenericForwardComposer{ + + private static final long serialVersionUID = 1L; + + @Autowired + TrayectosExpresosService trayectosExpresosService; + + TrayectosExpresos trayecto; + + private Window winCotizarExpresso; + + private MyTextbox txtRuta; + private MyTextbox txtCantidadVehiculos; + private MyTextbox txtValorTrayecto; + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + trayecto = (TrayectosExpresos) Executions.getCurrent().getArg().get("trayecto"); + winCotizarExpresso = (Window) Executions.getCurrent().getArg().get("winCotizarExpresso"); + + txtRuta.setValue(trayecto.getDescTrayecto()); + + if(trayecto.getCantVehiculos() == null) { + txtCantidadVehiculos.setValue("0"); + }else { + txtCantidadVehiculos.setValue(trayecto.getCantVehiculos().toString()); + } + + if(trayecto.getValorTrayecto() == null) { + txtValorTrayecto.setValue("0"); + }else { + txtValorTrayecto.setValue(trayecto.getValorTrayecto().toString()); + } + } + + public void onClick$btnGuardar(Event event) throws Exception { + + Integer cantVechiculos = Integer.valueOf(txtCantidadVehiculos.getValue().toString()); + Integer valorTrayecto = Integer.valueOf(txtValorTrayecto.getValue().toString()); + + trayecto.setCantVehiculos(cantVechiculos); + trayecto.setValorTrayecto(valorTrayecto); + + trayectosExpresosService.actualizacion(trayecto); + + winCotizarExpresso.focus(); + + this.closeWindow(); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ProgramacionVehiculosExpresosController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ProgramacionVehiculosExpresosController.java new file mode 100644 index 000000000..c789ebbb6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ProgramacionVehiculosExpresosController.java @@ -0,0 +1,122 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.expressos; + +import java.util.Date; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.zk.ui.Component; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Paging; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.web.utilerias.MyDatebox; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderProgramacionVehiculosExpresos; + +@Controller("programacionVehiculoExpresosController") +@Scope("prototype") +public class ProgramacionVehiculosExpresosController extends MyGenericForwardComposer{ +private static final long serialVersionUID = 1L; + + @Autowired + private transient PagedListWrapper plwTrayectosExpresos; + + @Autowired + private EmpresaService empresaService; + + private List lsEmpresa; + private Combobox cmbEmpresa; + private MyListbox expresosList; + private Paging pagingExpresos; + private Checkbox ckServiciosInactivos; + + private MyDatebox txtFechaInicio; + private MyDatebox txtFechaFin; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + super.doAfterCompose(comp); + + expresosList.setItemRenderer(new RenderProgramacionVehiculosExpresos(this)); + + refreshLista(); + } + + private void refreshLista() { + HibernateSearchObject buscarExpresos = + new HibernateSearchObject(SolicitudExpreso.class, pagingExpresos.getPageSize()); + + Date fechaInicio = txtFechaInicio.getValue(); + if(fechaInicio != null) { + buscarExpresos.addFilterGreaterOrEqual("FECSOLICITUD", fechaInicio); + } + + Date fechaFin = txtFechaFin.getValue(); + if(fechaFin != null) { + buscarExpresos.addFilterLessOrEqual("FECSOLICITUD", fechaFin); + } + + if(ckServiciosInactivos.isChecked()) { + buscarExpresos.addFilterLessOrEqual("ACTIVO", true); + } + + plwTrayectosExpresos.init(buscarExpresos, expresosList, pagingExpresos); + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public Combobox getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(Combobox cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public MyListbox getExpresosList() { + return expresosList; + } + + public void setExpresosList(MyListbox expresosList) { + this.expresosList = expresosList; + } + + public Paging getPagingExpresos() { + return pagingExpresos; + } + + public void setPagingExpresos(Paging pagingExpresos) { + this.pagingExpresos = pagingExpresos; + } + + public MyDatebox getTxtFechaInicio() { + return txtFechaInicio; + } + + public void setTxtFechaInicio(MyDatebox txtFechaInicio) { + this.txtFechaInicio = txtFechaInicio; + } + + public PagedListWrapper getPlwTrayectosExpresos() { + return plwTrayectosExpresos; + } + + public void setPlwTrayectosExpresos(PagedListWrapper plwTrayectosExpresos) { + this.plwTrayectosExpresos = plwTrayectosExpresos; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/MenuFactoryPropertiesImpl.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/MenuFactoryPropertiesImpl.java index 08c559abe..53f0fb064 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/MenuFactoryPropertiesImpl.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/MenuFactoryPropertiesImpl.java @@ -132,7 +132,7 @@ public class MenuFactoryPropertiesImpl implements MenuFactory { public void contruir(No noPadre) throws IOException { String linea = null; - while((linea = menuReader.readLine()) != null){ + while((linea = menuReader.readLine()) != null){ if(linea.startsWith("#")) { continue; } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuCargaContrato.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuCargaContrato.java new file mode 100644 index 000000000..a2815d321 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuCargaContrato.java @@ -0,0 +1,25 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuCargaContrato extends DefaultItemMenuSistema{ + + public ItemMenuCargaContrato() { + super("indexController.mniExpressosCargaContrato.label"); + } + + @Override + public String getClaveMenu() { + return null; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/expressos/cargaContrato.zul", + Labels.getLabel("indexController.mniExpressosCargaContrato.label"), + getArgs(), desktop); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuDocumentos.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuDocumentos.java new file mode 100644 index 000000000..17df328cc --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuDocumentos.java @@ -0,0 +1,25 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuDocumentos extends DefaultItemMenuSistema{ + + public ItemMenuDocumentos() { + super("indexController.mniExpressosDocumentos.label"); + } + + @Override + public String getClaveMenu() { + return null; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/expressos/documentosExpreso.zul", + Labels.getLabel("indexController.mniExpressosDocumentos.label"), + getArgs(), desktop); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuPorCotizar.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuPorCotizar.java new file mode 100644 index 000000000..87fbf5f99 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuPorCotizar.java @@ -0,0 +1,26 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuPorCotizar extends DefaultItemMenuSistema { + + public ItemMenuPorCotizar() { + super("indexController.mniExpressosPorCotizar.label"); + } + + @Override + public String getClaveMenu() { + return null; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/expressos/porCotizar.zul", + Labels.getLabel("indexController.mniExpressosPorCotizar.label"), + getArgs(), desktop); + + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuProgramacionVehiculo.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuProgramacionVehiculo.java new file mode 100644 index 000000000..59de7260c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/ItemMenuProgramacionVehiculo.java @@ -0,0 +1,24 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuProgramacionVehiculo extends DefaultItemMenuSistema{ + public ItemMenuProgramacionVehiculo() { + super("indexController.mniExpressosProgramacionVehiculos.label"); + } + + @Override + public String getClaveMenu() { + return null; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/expressos/programacionVehiculoExpreso.zul", + Labels.getLabel("indexController.mniExpressosProgramacionVehiculos.label"), + getArgs(), desktop); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/MenuExpressos.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/MenuExpressos.java new file mode 100644 index 000000000..954d11861 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/expressos/MenuExpressos.java @@ -0,0 +1,15 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos; + +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class MenuExpressos extends DefaultItemMenuSistema { + + public MenuExpressos() { + super("indexController.mnExpressos.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.EXPRESSOS"; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties index eb89253f8..349893510 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties @@ -343,5 +343,15 @@ cortesias.grupoCortesia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.c cortesias.tipoCortesia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.cortesias.ItemMenuTipoCortesia cortesias.tipoCortesiaDescuento=com.rjconsultores.ventaboletos.web.utilerias.menu.item.cortesias.ItemMenuTipoCortesiaDescuento cortesias.cortesiaDireccion=com.rjconsultores.ventaboletos.web.utilerias.menu.item.cortesias.ItemMenuCortesiaDireccion +#Expressos +expressos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos.MenuExpressos +expressos.porCotizar=com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos.ItemMenuPorCotizar +expressos.cargaContrato=com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos.ItemMenuCargaContrato +expressos.programacionVehiculo=com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos.ItemMenuProgramacionVehiculo +expressos.documentos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos.ItemMenuDocumentos +#expressos.cumplimientoServicio=com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos.ItemMenuCumplimientoServicio +#expressos.log=com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos.ItemMenuLog +#expressos.InformeViajesOcasionales=com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos.ItemMenuInformeViajesOcasionales +#expressos.seguimientoExpresos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.expressos.ItemMenuSeguimientoExpresos ayuda=com.rjconsultores.ventaboletos.web.utilerias.menu.item.ayuda.MenuAyuda ayuda.version=com.rjconsultores.ventaboletos.web.utilerias.menu.item.ayuda.ItemMenuVersion \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderAsignarBusExpresos.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderAsignarBusExpresos.java new file mode 100644 index 000000000..26b91d718 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderAsignarBusExpresos.java @@ -0,0 +1,110 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.util.HashMap; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.zkoss.util.media.AMedia; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Filedownload; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Button; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; +import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos; +import com.rjconsultores.ventaboletos.service.TrayectosExpresosService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.gui.controladores.expressos.AsignarBusExpresosController; +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; + +public class RenderAsignarBusExpresos implements ListitemRenderer { + + TrayectosExpresos trayecto; + + AsignarBusExpresosController winAsignarBus; + + public RenderAsignarBusExpresos(AsignarBusExpresosController window) { + super(); + winAsignarBus = window; + } + + @Override + public void render(Listitem item, Object data) throws Exception { + TrayectosExpresos trayectos = (TrayectosExpresos) data; + + Listcell lc = new Listcell(trayectos.getDescTrayecto()); + lc.setParent(item); + + lc = new Listcell(DateUtil.getStringDate(trayectos.getSolicitudExpresoId().getFechaHoraIda(), "dd/MM/yyyy")); + lc.setParent(item); + + lc = new Listcell(trayectos.getTrayectoExpresoId().toString()); + lc.setParent(item); + + if(trayectos.getNumPlaca() == null) { + lc = new Listcell(); + lc.setParent(item); + + Button btnCargarPlaca = new Button(Labels.getLabel("expresosController.lbl.cargarPlaca")); + btnCargarPlaca.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + trayecto = (TrayectosExpresos)listItem.getAttribute("data"); + + Map args = new HashMap(); + args.put("trayecto", trayecto); + + winAsignarBus.openWindow("/gui/expressos/cargarPlacaTrayectoExpreso.zul", Labels.getLabel("asignarBusExpreso.window.title"), args, PantallaUtileria.MODAL); + } + }); + + lc.appendChild(btnCargarPlaca); + }else { + lc = new Listcell(trayectos.getNumPlaca()); + lc.setParent(item); + } + + lc = new Listcell(); + lc.setParent(item); + + if(trayectos.getDocFluec() == null) { + Button btnCargarFluec = new Button(Labels.getLabel("expresosController.lbl.cargarFluec")); + btnCargarFluec.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + trayecto = (TrayectosExpresos)listItem.getAttribute("data"); + + Map args = new HashMap(); + args.put("trayecto", trayecto); + + winAsignarBus.openWindow("/gui/expressos/cargarFluecTrayectoExpreso.zul", Labels.getLabel("asignarBusExpreso.window.title"), args, PantallaUtileria.MODAL); + } + }); + lc.appendChild(btnCargarFluec); + }else { + Button btnVerFluec = new Button(Labels.getLabel("expresosController.lbl.verFluec")); + btnVerFluec.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + trayecto = (TrayectosExpresos)listItem.getAttribute("data"); + + AMedia amedia = new AMedia("fluec.pdf", "pdf", null, trayecto.getDocFluec()); + + org.zkoss.util.media.Media pdf = amedia; + Filedownload.save(pdf); + } + }); + lc.appendChild(btnVerFluec); + } + + item.setAttribute("data", trayectos); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCargaContratoExpresos.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCargaContratoExpresos.java new file mode 100644 index 000000000..0b1181ba6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCargaContratoExpresos.java @@ -0,0 +1,130 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.awt.FileDialog; +import java.awt.Frame; +import java.io.File; +import java.io.InputStream; +import java.util.HashMap; +import java.util.Map; + +import javax.swing.JFileChooser; +import javax.swing.JPanel; +import javax.swing.filechooser.FileNameExtensionFilter; + +import org.springframework.beans.factory.annotation.Autowired; +import org.zkoss.util.media.Media; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Fileupload; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Button; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; +import org.zkoss.zul.Messagebox; + +import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; +import com.rjconsultores.ventaboletos.service.SolicitudExpresosService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.gui.controladores.expressos.CargaContratoExpressosController; +import com.rjconsultores.ventaboletos.web.gui.controladores.expressos.ExpressosPorCotizarController; +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; + +public class RenderCargaContratoExpresos implements ListitemRenderer{ + + private static final long serialVersionUID = 1L; + + private EventListener listenerGenerico; + + private CargaContratoExpressosController expresosControllerWindow; + + private SolicitudExpreso expreso; + + @Autowired + SolicitudExpresosService expresosService; + + public RenderCargaContratoExpresos(CargaContratoExpressosController window) { + super(); + expresosControllerWindow = window; + } + + @Override + public void render(Listitem item, Object data) throws Exception { + SolicitudExpreso expresos = (SolicitudExpreso) data; + + Listcell lc = new Listcell(expresos.getSolicitudExpresoId().toString()); + lc.setParent(item); + + lc = new Listcell(DateUtil.getStringDate(expresos.getFechaSolicitud(), "dd/MM/yyyy")); + lc.setParent(item); + + String ruta = expresos.getCiudadOrigen().getNombciudad() + " - " + expresos.getCiudadDestino().getNombciudad(); + lc = new Listcell(ruta); + lc.setParent(item); + + if(expresos.getIndViajeRedondo() == false) { + lc = new Listcell("Ida"); + lc.setParent(item); + }else if (expresos.getIndViajeRedondo() == true) { + lc = new Listcell("Ida y Regreso"); + lc.setParent(item); + }else { + lc = new Listcell("N/A"); + lc.setParent(item); + } + + + lc = new Listcell(DateUtil.getStringDate(expresos.getFechaHoraIda(), "dd/MM/yyyy HH:mm")); + lc.setParent(item); + + lc = new Listcell(DateUtil.getStringDate(expresos.getFechaHoraRegreso(), "dd/MM/yyyy HH:mm")); + lc.setParent(item); + + lc = new Listcell(expresos.getDescSitioPartidaIda()); + lc.setParent(item); + + lc = new Listcell(expresos.getDescSitioPartidaRegreso()); + lc.setParent(item); + + if(expresos.getIndRequiereDispVehiculo() == 0) { + lc = new Listcell("No"); + lc.setParent(item); + }else if (expresos.getIndRequiereDispVehiculo() == 1) { + lc = new Listcell("Sí"); + lc.setParent(item); + }else { + lc = new Listcell("N/A"); + lc.setParent(item); + } + + lc = new Listcell(); + lc.setParent(item); + + Button btnVerDetalle = new Button("Ver Detalle"); + + btnVerDetalle.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + expreso = (SolicitudExpreso)listItem.getAttribute("data"); + + Map args = new HashMap(); + args.put("expreso", expreso); + + expresosControllerWindow.openWindow("/gui/expressos/detalleExpreso.zul", Labels.getLabel("verDetalleExpreso.window.title"), args, PantallaUtileria.MODAL); + } + }); + lc.appendChild(btnVerDetalle); + + item.setAttribute("data", expresos); + } + + public SolicitudExpreso getExpreso() { + return expreso; + } + + public void setExpreso(SolicitudExpreso expreso) { + this.expreso = expreso; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderDocumentosExpresos.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderDocumentosExpresos.java new file mode 100644 index 000000000..c1dc2abaa --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderDocumentosExpresos.java @@ -0,0 +1,138 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.util.HashMap; +import java.util.Map; + +import org.zkoss.util.media.AMedia; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Filedownload; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Button; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.gui.controladores.expressos.DocumentosExpresosController; +import com.rjconsultores.ventaboletos.web.gui.controladores.expressos.ExpressosPorCotizarController; +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; + +public class RenderDocumentosExpresos implements ListitemRenderer { + + private SolicitudExpreso expreso; + + private EventListener listenerGenerico; + + DocumentosExpresosController winDocumentosExpresosController; + + public RenderDocumentosExpresos(DocumentosExpresosController window, EventListener listenerGenerico) { + super(); + winDocumentosExpresosController = window; + this.listenerGenerico = listenerGenerico; + } + + @Override + public void render(Listitem item, Object data) throws Exception { + SolicitudExpreso expresos = (SolicitudExpreso) data; + + Listcell lc = new Listcell(expresos.getSolicitudExpresoId().toString()); + lc.setParent(item); + + lc = new Listcell(DateUtil.getStringDate(expresos.getFechaSolicitud(), "dd/MM/yyyy")); + lc.setParent(item); + + String ruta = expresos.getCiudadOrigen().getNombciudad() + " - " + expresos.getCiudadDestino().getNombciudad(); + lc = new Listcell(ruta); + lc.setParent(item); + + if(expresos.getIndViajeRedondo() == false) { + lc = new Listcell("Ida"); + lc.setParent(item); + }else if (expresos.getIndViajeRedondo() == true) { + lc = new Listcell("Ida y Regreso"); + lc.setParent(item); + }else { + lc = new Listcell("N/A"); + lc.setParent(item); + } + + + lc = new Listcell(DateUtil.getStringDate(expresos.getFechaHoraIda(), "dd/MM/yyyy HH:mm")); + lc.setParent(item); + + lc = new Listcell(DateUtil.getStringDate(expresos.getFechaHoraRegreso(), "dd/MM/yyyy HH:mm")); + lc.setParent(item); + + lc = new Listcell(expresos.getDescSitioPartidaIda()); + lc.setParent(item); + + lc = new Listcell(expresos.getDescSitioPartidaRegreso()); + lc.setParent(item); + + if(expresos.getIndRequiereDispVehiculo() == 0) { + lc = new Listcell("No"); + lc.setParent(item); + }else if (expresos.getIndRequiereDispVehiculo() == 1) { + lc = new Listcell("Sí"); + lc.setParent(item); + }else { + lc = new Listcell("N/A"); + lc.setParent(item); + } + + lc = new Listcell(); + lc.setParent(item); + + Button btnVerContrato = new Button(""); + btnVerContrato.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + expreso = (SolicitudExpreso)listItem.getAttribute("data"); + + AMedia amedia = new AMedia("contrato.pdf", "pdf", null, expreso.getDocContrato()); + + org.zkoss.util.media.Media pdf = amedia; + Filedownload.save(pdf); + } + }); + lc.appendChild(btnVerContrato); + + Button btnVerFluec = new Button(""); + btnVerFluec.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + expreso = (SolicitudExpreso)listItem.getAttribute("data"); + } + }); + lc.appendChild(btnVerFluec); + + Button btnVerPlanilla = new Button(""); + btnVerPlanilla.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + expreso = (SolicitudExpreso)listItem.getAttribute("data"); + } + }); + lc.appendChild(btnVerPlanilla); + + Button btnVerListaPasajeros = new Button(""); + btnVerListaPasajeros.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + expreso = (SolicitudExpreso)listItem.getAttribute("data"); + } + }); + lc.appendChild(btnVerListaPasajeros); + + item.setAttribute("data", expresos); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderExpresosPorCotizar.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderExpresosPorCotizar.java new file mode 100644 index 000000000..ac689efb6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderExpresosPorCotizar.java @@ -0,0 +1,145 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.util.HashMap; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.zkoss.util.resource.Labels; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Button; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Categoria; +import com.rjconsultores.ventaboletos.entidad.Cliente; +import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; +import com.rjconsultores.ventaboletos.entidad.TipoCortesia; +import com.rjconsultores.ventaboletos.service.SolicitudExpresosService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.gui.controladores.esquemaoperacional.BusquedaConfRestricaoCanalVentaController; +import com.rjconsultores.ventaboletos.web.gui.controladores.expressos.ExpressosPorCotizarController; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; + +public class RenderExpresosPorCotizar implements ListitemRenderer { + + private EventListener listenerGenerico; + + private ExpressosPorCotizarController expresosControllerWindow; + + private SolicitudExpreso expreso; + + @Autowired + SolicitudExpresosService expresosService; + + public RenderExpresosPorCotizar(ExpressosPorCotizarController window, EventListener listenerGenerico) { + super(); + expresosControllerWindow = window; + this.listenerGenerico = listenerGenerico; + } + + @Override + public void render(Listitem item, Object data) throws Exception { + SolicitudExpreso expresos = (SolicitudExpreso) data; + + Listcell lc = new Listcell(expresos.getSolicitudExpresoId().toString()); + lc.setParent(item); + + lc = new Listcell(DateUtil.getStringDate(expresos.getFechaSolicitud(), "dd/MM/yyyy")); + lc.setParent(item); + + String ruta = expresos.getCiudadOrigen().getNombciudad() + " - " + expresos.getCiudadDestino().getNombciudad(); + lc = new Listcell(ruta); + lc.setParent(item); + + if(expresos.getIndViajeRedondo() == false) { + lc = new Listcell("Ida"); + lc.setParent(item); + }else if (expresos.getIndViajeRedondo() == true) { + lc = new Listcell("Ida y Regreso"); + lc.setParent(item); + }else { + lc = new Listcell("N/A"); + lc.setParent(item); + } + + + lc = new Listcell(DateUtil.getStringDate(expresos.getFechaHoraIda(), "dd/MM/yyyy HH:mm")); + lc.setParent(item); + + lc = new Listcell(DateUtil.getStringDate(expresos.getFechaHoraRegreso(), "dd/MM/yyyy HH:mm")); + lc.setParent(item); + + lc = new Listcell(expresos.getDescSitioPartidaIda()); + lc.setParent(item); + + lc = new Listcell(expresos.getDescSitioPartidaRegreso()); + lc.setParent(item); + + if(expresos.getIndRequiereDispVehiculo() == 0) { + lc = new Listcell("No"); + lc.setParent(item); + }else if (expresos.getIndRequiereDispVehiculo() == 1) { + lc = new Listcell("Sí"); + lc.setParent(item); + }else { + lc = new Listcell("N/A"); + lc.setParent(item); + } + + lc = new Listcell(); + lc.setParent(item); + + Button btnVerDetalle = new Button(Labels.getLabel("expresosController.lbl.verDetalle")); + + btnVerDetalle.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + expreso = (SolicitudExpreso)listItem.getAttribute("data"); + + Map args = new HashMap(); + args.put("expreso", expreso); + + expresosControllerWindow.openWindow("/gui/expressos/detalleExpreso.zul", Labels.getLabel("verDetalleExpreso.window.title"), args, PantallaUtileria.MODAL); + } + }); + + lc.appendChild(btnVerDetalle); + + switch(expresos.getStatusSolicitudExpresoId()) { + case 1: + Button btnCotizar = new Button("Cotizar"); + + btnCotizar.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + expreso = (SolicitudExpreso)listItem.getAttribute("data"); + + Map args = new HashMap(); + args.put("expreso", expreso); + + expresosControllerWindow.openWindow("/gui/expressos/cotizarExpreso.zul", Labels.getLabel("expresosPorCotizarCotizar.window.title"), args, PantallaUtileria.MODAL); + } + }); + + lc.appendChild(btnCotizar); break; + case 2: + Button btnPagoCredito = new Button("Pago Crédito"); + + btnPagoCredito.setAttribute("data", data); + btnPagoCredito.addEventListener("onClick", listenerGenerico); + + lc.appendChild(btnPagoCredito); + + break; + //case 3: break; + //case 4: break; + } + + item.setAttribute("data", expresos); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderProgramacionVehiculosExpresos.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderProgramacionVehiculosExpresos.java new file mode 100644 index 000000000..a40724c2f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderProgramacionVehiculosExpresos.java @@ -0,0 +1,130 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.zkoss.util.media.AMedia; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Filedownload; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Button; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; +import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos; +import com.rjconsultores.ventaboletos.service.SolicitudExpresosService; +import com.rjconsultores.ventaboletos.service.TrayectosExpresosService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.gui.controladores.expressos.DocumentosExpresosController; +import com.rjconsultores.ventaboletos.web.gui.controladores.expressos.ProgramacionVehiculosExpresosController; +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; + +public class RenderProgramacionVehiculosExpresos implements ListitemRenderer { + + @Autowired + TrayectosExpresosService trayectosService; + + @Autowired + SolicitudExpresosService expresosService; + + private SolicitudExpreso expreso; + private List trayectos; + + ProgramacionVehiculosExpresosController winProgramacionVehiculoExpresos; + + public RenderProgramacionVehiculosExpresos(ProgramacionVehiculosExpresosController window){ + super(); + winProgramacionVehiculoExpresos = window; + } + + @Override + public void render(Listitem item, Object data) throws Exception { + SolicitudExpreso expresos = (SolicitudExpreso) data; + + Listcell lc = new Listcell(expresos.getSolicitudExpresoId().toString()); + lc.setParent(item); + + lc = new Listcell(DateUtil.getStringDate(expresos.getFechaSolicitud(), "dd/MM/yyyy")); + lc.setParent(item); + + String ruta = expresos.getCiudadOrigen().getNombciudad() + " - " + expresos.getCiudadDestino().getNombciudad(); + lc = new Listcell(ruta); + lc.setParent(item); + + if(expresos.getIndViajeRedondo() == false) { + lc = new Listcell("Ida"); + lc.setParent(item); + }else if (expresos.getIndViajeRedondo() == true) { + lc = new Listcell("Ida y Regreso"); + lc.setParent(item); + }else { + lc = new Listcell("N/A"); + lc.setParent(item); + } + + + lc = new Listcell(DateUtil.getStringDate(expresos.getFechaHoraIda(), "dd/MM/yyyy HH:mm")); + lc.setParent(item); + + lc = new Listcell(DateUtil.getStringDate(expresos.getFechaHoraRegreso(), "dd/MM/yyyy HH:mm")); + lc.setParent(item); + + lc = new Listcell(expresos.getDescSitioPartidaIda()); + lc.setParent(item); + + lc = new Listcell(expresos.getDescSitioPartidaRegreso()); + lc.setParent(item); + + if(expresos.getIndRequiereDispVehiculo() == 0) { + lc = new Listcell("No"); + lc.setParent(item); + }else if (expresos.getIndRequiereDispVehiculo() == 1) { + lc = new Listcell("Sí"); + lc.setParent(item); + }else { + lc = new Listcell("N/A"); + lc.setParent(item); + } + + lc = new Listcell(); + lc.setParent(item); + + Button btnVerDetalle = new Button(Labels.getLabel("expresosController.lbl.verDetalle")); + btnVerDetalle.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + expreso = (SolicitudExpreso)listItem.getAttribute("data"); + + Map args = new HashMap(); + args.put("expreso", expreso); + + winProgramacionVehiculoExpresos.openWindow("/gui/expressos/detalleExpreso.zul", Labels.getLabel("verDetalleExpreso.window.title"), args, PantallaUtileria.MODAL); + } + }); + lc.appendChild(btnVerDetalle); + + Button btnAsignarBus = new Button(Labels.getLabel("expresosController.lbl.asignarBus")); + btnAsignarBus.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + expreso = (SolicitudExpreso)listItem.getAttribute("data"); + + Map args = new HashMap(); + args.put("expreso", expreso); + + winProgramacionVehiculoExpresos.openWindow("/gui/expressos/asignarBusExpreso.zul", Labels.getLabel("asignarBusExpreso.window.title"), args, PantallaUtileria.MODAL); + } + }); + lc.appendChild(btnAsignarBus); + + item.setAttribute("data", expresos); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderTrayectosExpreso.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderTrayectosExpreso.java new file mode 100644 index 000000000..7c3349a47 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderTrayectosExpreso.java @@ -0,0 +1,37 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos; + +public class RenderTrayectosExpreso implements ListitemRenderer{ + + @Override + public void render(Listitem item, Object data) throws Exception { + TrayectosExpresos trayectos = (TrayectosExpresos) data; + + Listcell lc = new Listcell(trayectos.getDescTrayecto()); + lc.setParent(item); + + if(trayectos.getCantVehiculos() == null) { + lc = new Listcell("0"); + lc.setParent(item); + }else { + lc = new Listcell(trayectos.getCantVehiculos().toString()); + lc.setParent(item); + } + + if(trayectos.getValorTrayecto() == null) { + lc = new Listcell("0"); + lc.setParent(item); + }else { + lc = new Listcell(trayectos.getValorTrayecto().toString()); + lc.setParent(item); + } + + item.setAttribute("data", trayectos); + } + +} diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index 76cfb705d..03d0e8df6 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -463,7 +463,9 @@ com.rjconsultores.ventaboletos.entidad.EmpresaSicfeConfig com.rjconsultores.ventaboletos.entidad.EmpresaCrediBancoConfig com.rjconsultores.ventaboletos.entidad.EmpresaAsistenciaDeViajeConfig - com.rjconsultores.ventaboletos.entidad.RecuperarSenha + com.rjconsultores.ventaboletos.entidad.RecuperarSenha + com.rjconsultores.ventaboletos.entidad.SolicitudExpreso + com.rjconsultores.ventaboletos.entidad.TrayectosExpresos diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label index b4e72a0e2..7c2c073a0 100644 --- a/web/WEB-INF/i3-label_en.label +++ b/web/WEB-INF/i3-label_en.label @@ -7315,6 +7315,31 @@ indexController.mnConfiguracionesComerciales.label = Configuração Comercial indexController.mnCortesias.label = Cortesias Para Funcionários indexController.mnEquivalencia.label = Equivalencia indexController.mnEsquemaOperacional.label = Esquema Operacional +#Expressos +indexController.mnExpressos.label = Express +indexController.mniExpressosPorCotizar.label = Express to quote +expressosPorCotizarFechaInicioController.lblDesc.label = Start Date +expressosPorCotizarFechaFinController.lblDesc.label = End Date +expressosPorCotizarEmpresaController.lblDesc.label = Company +expressosPorCotizarServiciosInactivosController.lblDesc.label = Inactive Services +expressosPorCotizarController.btnPesquisa.label = Search +expressosPorCotizarController.lhNumSolicitud.label = # Application +expressosPorCotizarController.lhFechaSolicitud.label = Application Date +expressosPorCotizarController.lhRuta.label = Route +expressosPorCotizarController.lhIdaRegreso.label = Round Trip +expressosPorCotizarController.lhFechaIda.label = Departure Date +expressosPorCotizarController.lhFechaRegreso.label = Return Date +expressosPorCotizarController.lhSitioRecogidaIda.label = Pick-up Site +expressosPorCotizarController.lhSitioRecogidaRegreso.label = Return Pick-up Site +expressosPorCotizarController.lhEstadiaConductor.label = Driver Stay +expressosPorCotizarBuscarController.lblDesc.label = Search +expressosPorCotizarVerDetalleController.lblDesc.label = Details +expressosPorCotizarPagoCreditoController.lblDesc.label = Payment on Credit +expresosPorCotizarPagoCredito.window.title = Payment on Credit +expressosPorCotizarCotizarController.lblDesc.label = Quote +expresosPorCotizarCotizar.window.title = Quote Express +expressosPorCotizarController.lhCantidadPasajeros.label = Number of Passengers +expressosPorCotizarController.lhAdjuntarCotizacion.label = Attach Quote #GR indexController.mnGR.label = Estoque de Passagem #Gestao de Pricing diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 3f351bf3e..4289273b3 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -7406,6 +7406,59 @@ indexController.mnConfiguracionesComerciales.label = Configuración comercial indexController.mnCortesias.label = Cortesias para empleados indexController.mnEquivalencia.label = Equivalencia indexController.mnEsquemaOperacional.label = Esquema operacional +#Expressos +indexController.mnExpressos.label = Expresos +indexController.mniExpressosPorCotizar.label = Expresos por cotizar +indexController.mniExpressosCargaContrato.label = Carga de Contrato +indexController.mniExpressosProgramacionVehiculos.label = Programación de Vehículos + +verDetalleExpreso.window.title = Detalle Expreso +expresosPorCotizarCotizar.window.title = Cotización de Expreso + +expressosPorCotizarFechaInicioController.lblDesc.label = Fecha Inicio +expressosPorCotizarFechaFinController.lblDesc.label = Fecha Fin +expressosPorCotizarEmpresaController.lblDesc.label = Empresa +expressosPorCotizarServiciosInactivosController.lblDesc.label = Servicios inactivos +expressosPorCotizarController.btnPesquisa.label = Buscar +expressosPorCotizarController.lhNumSolicitud.label = # Solicitud +expressosPorCotizarController.lhFechaSolicitud.label = Fecha Solicitud +expressosPorCotizarController.lhRuta.label = Ruta +expressosPorCotizarController.lhIdaRegreso.label = Ida y Regreso +expressosPorCotizarController.lhFechaIda.label = Fecha Ida +expressosPorCotizarController.lhFechaRegreso.label = Fecha Regreso +expressosPorCotizarController.lhSitioRecogidaIda.label = Sitio Recogida Ida +expressosPorCotizarController.lhSitioRecogidaRegreso.label = Sitio Recogida Regreso +expressosPorCotizarController.lhEstadiaConductor.label = Estadia Conductor +expressosPorCotizarBuscarController.lblDesc.label = Buscar +expressosPorCotizarVerDetalleController.lblDesc.label = Ver Detalle +expressosPorCotizarPagoCreditoController.lblDesc.label = Pago a Crédito +indexController.mniExpressosPorCotizar.label = Expresos por cotizar +expresosPorCotizarPagoCredito.window.title = Pago a Crédito +expressosPorCotizarCotizarController.lblDesc.label = Cotizar +expressosPorCotizarController.lhCantidadPasajeros.label = Cantidad de Pasajeros +expressosPorCotizarController.lhAdjuntarCotizacion.label = Adjuntar Cotización +expressosPorCotizarController.lhCantidadVehiculos.label = Cantidad Vehículos +expressosPorCotizarController.lhValorTrayecto.label = Valor Trayecto +expressosPorCotizarController.lblOrigen.label = Origen +expressosPorCotizarController.lblDestino.label = Destino +expressosPorCotizarController.lblAgregarTrayecto.label = Agregar Trayecto +cargarContratoController.lhAdjuntarContrato.label = Cargar Contrato +expressosPorCotizarController.lhTrayecto.label = Trayecto +expressosPorCotizarController.lhCodigoViaje.label = Código Viaje +expressosPorCotizarController.lhPlacaVehiculo.label = Placa +expressosPorCotizarController.lhFluecPlanilla.label = FLUEC - Planilla Ocasional +asignarBusExpreso.window.title = Viaje Expreso +expresosController.lbl.cargarFluec = Cargar FLUEC +expresosController.lbl.cargarPlaca = Cargar Placa + +indexController.mniExpressosDocumentos.label = Documentos + + +expresosController.lbl.verDetalle = Ver Detalle +expresosController.lbl.asignarBus = Asignar Bus + +expresoController.MSG.errorArchivo = Archivo inválidoo o nulo +cargaContratoController.MSG.errorExpresoNull = Seleccione Expreso a Asociar Contrato #GR indexController.mnGR.label = GR #Gestao de Pricing diff --git a/web/WEB-INF/i3-label_fr_FR.label b/web/WEB-INF/i3-label_fr_FR.label index dbe3ccd5c..6e0a77741 100644 --- a/web/WEB-INF/i3-label_fr_FR.label +++ b/web/WEB-INF/i3-label_fr_FR.label @@ -7395,6 +7395,31 @@ indexController.mnConfiguracionesComerciales.label = Configuration commerciale indexController.mnCortesias.label = Courtoisies pour les employés indexController.mnEquivalencia.label = Equivalence indexController.mnEsquemaOperacional.label = Schéma de fonctionnement +#Expressos +indexController.mnExpressos.label = Exprimer +indexController.mniExpressosPorCotizar.label = Exprimer pour citer +expressosPorCotizarFechaInicioController.lblDesc.label = Date de Début +expressosPorCotizarFechaFinController.lblDesc.label = Date de Fin +expressosPorCotizarEmpresaController.lblDesc.label = Entreprise +expressosPorCotizarServiciosInactivosController.lblDesc.label = Services Inactifs +expressosPorCotizarController.btnPesquisa.label = Recherche +expressosPorCotizarController.lhNumSolicitud.label = # Application +expressosPorCotizarController.lhFechaSolicitud.label = Date de Solicitude +expressosPorCotizarController.lhRuta.label = Itinéraire +expressosPorCotizarController.lhIdaRegreso.label = Aller-retour +expressosPorCotizarController.lhFechaIda.label = Date de Départ +expressosPorCotizarController.lhFechaRegreso.label = Date de Retour +expressosPorCotizarController.lhSitioRecogidaIda.label = Lieu de prise en Charge Départ +expressosPorCotizarController.lhSitioRecogidaRegreso.label = Retour au lieu de Retrait +expressosPorCotizarController.lhEstadiaConductor.label = Séjour du Chauffeur +expressosPorCotizarBuscarController.lblDesc.label = Recherche +expressosPorCotizarVerDetalleController.lblDesc.label = Détails +expressosPorCotizarPagoCreditoController.lblDesc.label = Paiement à Crédit +expresosPorCotizarPagoCredito.window.title = Paiement à Crédit +expressosPorCotizarCotizarController.lblDesc.label = Citer +expresosPorCotizarCotizar.window.title = Citation Expresse +expressosPorCotizarController.lhCantidadPasajeros.label = Nombre de Passagers +expressosPorCotizarController.lhAdjuntarCotizacion.label = Joindre un Devis #GR indexController.mnGR.label = Passage de stock #Gestao de Pricing diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 1889a4c24..010f65d8a 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -7401,6 +7401,31 @@ indexController.mnConfiguracionesComerciales.label = Configuração Comercial indexController.mnCortesias.label = Cortesias Para Funcionários indexController.mnEquivalencia.label = Equivalencia indexController.mnEsquemaOperacional.label = Esquema Operacional +indexController.mnExpressos.label = Expressos +indexController.mniExpressosPorCotizar.label = Expressos por cotizar +expressosPorCotizarFechaInicioController.lblDesc.label = Data de Ínicio +expressosPorCotizarFechaFinController.lblDesc.label = Data de Fin +expressosPorCotizarEmpresaController.lblDesc.label = Empresa +expressosPorCotizarServiciosInactivosController.lblDesc.label = Serviços Inativos +expressosPorCotizarController.btnPesquisa.label = Pesquisa +expressosPorCotizarController.lhNumSolicitud.label = # Solicitacao +expressosPorCotizarController.lhFechaSolicitud.label = Data de Aplicação +expressosPorCotizarController.lhRuta.label = Rota +expressosPorCotizarController.lhIdaRegreso.label = Ida e Volta +expressosPorCotizarController.lhFechaIda.label = Data de Partida +expressosPorCotizarController.lhFechaRegreso.label = Data de Volta +expressosPorCotizarController.lhSitioRecogidaIda.label = Local de Retirada de Saída +expressosPorCotizarController.lhSitioRecogidaRegreso.label = Local de Retirada de Volta +expressosPorCotizarController.lhEstadiaConductor.label = Estadia do Motorista +expressosPorCotizarBuscarController.lblDesc.label = Pesquisa +expressosPorCotizarVerDetalleController.lblDesc.label = Detalhes +expressosPorCotizarPagoCreditoController.lblDesc.label = Pagamento a Crédito +expresosPorCotizarPagoCredito.window.title = Pagamento a Crédito +expressosPorCotizarCotizarController.lblDesc.label = Cotizar +expresosPorCotizarCotizar.window.title = Cotação Expressa +expressosPorCotizarController.lhCantidadPasajeros.label = Número de Passageiros +expressosPorCotizarController.lhAdjuntarCotizacion.label = Anexar orçamento + #GR indexController.mnGR.label = Estoque de Passagem #Gestao de Pricing diff --git a/web/gui/expressos/asignarBusExpreso.zul b/web/gui/expressos/asignarBusExpreso.zul new file mode 100644 index 000000000..10e589aec --- /dev/null +++ b/web/gui/expressos/asignarBusExpreso.zul @@ -0,0 +1,84 @@ + + + + + + + + + +