Merge pull request 'Se agrega funcionalidad de Seguimiento de Expresos#AL-4556' (!677) from AL-4556 into master

Reviewed-on: adm/VentaBoletosAdm#677
Reviewed-by: Valdir Cordeiro <valdir.cordeiro@totvs.com.br>
master 1.131.2
fernando.mx 2024-08-27 22:53:54 +00:00
commit 5ef65bdb48
11 changed files with 255 additions and 7 deletions

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId>
<version>1.131.1</version>
<version>1.131.2</version>
<packaging>war</packaging>
<properties>

View File

@ -0,0 +1,67 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.expressos;
import java.util.Date;
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.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Paging;
import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
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.RenderInformeViajesOcasionales;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderSeguimientoExpresos;
@Controller("seguimientoExpresosController")
@Scope("prototype")
public class SeguimientoExpresosController extends MyGenericForwardComposer{
private static final long serialVersionUID = 1L;
@Autowired
private transient PagedListWrapper<TrayectosExpresos> plwTrayectosExpresos;
private MyDatebox dtInicio;
private MyDatebox dtFim;
private MyListbox expresosList;
private Paging pagingExpresos;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
expresosList.setItemRenderer(new RenderSeguimientoExpresos());
refreshLista();
}
private void refreshLista() throws InterruptedException {
HibernateSearchObject<TrayectosExpresos> buscarExpresos =
new HibernateSearchObject<TrayectosExpresos>(TrayectosExpresos.class, pagingExpresos.getPageSize());
Date fechaInicio = dtInicio.getValue();
if(fechaInicio != null) {
buscarExpresos.addFilterGreaterOrEqual("solicitudExpresoId.fechaSolicitud", DateUtil.inicioFecha(fechaInicio));
}
Date fechaFin = dtFim.getValue();
if(fechaFin != null) {
buscarExpresos.addFilterLessOrEqual("solicitudExpresoId.fechaSolicitud", DateUtil.fimFecha(fechaFin));
}
plwTrayectosExpresos.init(buscarExpresos, expresosList, pagingExpresos);
}
public void onClick$btnPesquisa(Event ev) throws InterruptedException {
refreshLista();
}
}

View File

@ -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 ItemMenuSeguimientoExpresos extends DefaultItemMenuSistema {
public ItemMenuSeguimientoExpresos() {
super("indexController.mniExpressosSeguimientoExpresos.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.EXPRESSOS.SEGUIMIENTOEXPRESOS";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/expressos/seguimientoExpresos.zul",
Labels.getLabel("indexController.mniExpressosSeguimientoExpresos.label"),
getArgs(), desktop);
}
}

View File

@ -368,6 +368,6 @@ expressos.documentos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.expr
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
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

View File

@ -0,0 +1,67 @@
package com.rjconsultores.ventaboletos.web.utilerias.render;
import org.zkoss.util.resource.Labels;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
import com.rjconsultores.ventaboletos.entidad.Constante;
import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos;
import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.service.ConstanteService;
import com.rjconsultores.ventaboletos.service.UsuarioService;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
public class RenderSeguimientoExpresos implements ListitemRenderer {
public RenderSeguimientoExpresos() {
super();
}
@Override
public void render(Listitem item, Object data) throws Exception {
TrayectosExpresos expresos = (TrayectosExpresos) data;
Listcell lc = new Listcell(expresos.getSolicitudExpresoId().getSolicitudExpresoId().toString()); //# solicitud
lc.setParent(item);
lc = new Listcell(DateUtil.getStringDate(expresos.getSolicitudExpresoId().getFechaSolicitud(), "dd/MM/yyyy")); //Fecha solicitud
lc.setParent(item);
lc = new Listcell(expresos.getSolicitudExpresoId().getCiudadOrigen().getNombciudad() + " - " + expresos.getSolicitudExpresoId().getCiudadDestino().getNombciudad()); //Ruta
lc.setParent(item);
lc = new Listcell(expresos.getSolicitudExpresoId().getIndViajeRedondo() == true ? Labels.getLabel("expressosPorCotizarController.lhIdaRegreso.label") : Labels.getLabel("expresosController.lbl.idaVuelta")); //Ruta
lc.setParent(item);
lc = new Listcell(DateUtil.getStringDate(expresos.getSolicitudExpresoId().getFechaHoraIda()), "dd/MM/yyyy hh:mm:ss"); //Fecha salida
lc.setParent(item);
lc = new Listcell(DateUtil.getStringDate(expresos.getSolicitudExpresoId().getFechaHoraRegreso()), "dd/MM/yyyy hh:mm:ss"); //Fecha salida
lc.setParent(item);
lc = new Listcell(expresos.getSolicitudExpresoId().getDescSitioPartidaIda());
lc.setParent(item);
lc = new Listcell(expresos.getSolicitudExpresoId().getDescSitioPartidaRegreso());
lc.setParent(item);
lc = new Listcell(expresos.getNumPlaca() == null ? "N/A" : expresos.getNumPlaca().toString()); //Placa
lc.setParent(item);
lc = new Listcell(expresos.getSolicitudExpresoId().getStatusSolicitudExpresoId().toString()); //Estado
lc.setParent(item);
lc = new Listcell(expresos.getSolicitudExpresoId().getDocContrato() != null ? Labels.getLabel("MSG.SI") : Labels.getLabel("MSG.NO"));
lc.setParent(item);
lc = new Listcell(expresos.getDocFluec() != null ? Labels.getLabel("MSG.SI") : Labels.getLabel("MSG.NO"));
lc.setParent(item);
lc = new Listcell(expresos.getSolicitudExpresoId().getDocListaPasajeros() != null ? Labels.getLabel("MSG.SI") : Labels.getLabel("MSG.NO"));
lc.setParent(item);
item.setAttribute("data", expresos);
}
}

View File

@ -7816,7 +7816,9 @@ expresosController.lbl.estadoSolicitado = Required
expresosController.lbl.idaVuelta = Going
expresosController.lbl.pagadoCredito = Paid on Credit
expresosController.lbl.verDetalle = See detail
expresosController.lh.contratoAdjunto = Contrato Adjunto
expresosController.lh.fuecAdjunto = FUEC Adjunto
expresosController.lh.listaPasajerosAdjunto = Lista Pasajeros Adjunto
expresosPorCotizarCotizar.window.title = Express Quote
expresosPorCotizarPagoCredito.window.title = Credit Payment
@ -8260,6 +8262,7 @@ indexController.mniExpressosInformeViajesOcasionales.label = Occasional Travel R
indexController.mniExpressosLog.label = Log
indexController.mniExpressosPorCotizar.label = Express to be quoted
indexController.mniExpressosProgramacionVehiculos.label = Vehicle Programming
indexController.mniExpressosSeguimientoExpresos.label = Seguimiento Expresos
indexController.mniExtrairBpeXmlController.lab0el = Extract BP-e XML
indexController.mniFaturarVoucher.label = Voucher Billing
indexController.mniFechamentoParamgeral.label = Config. CtaCte Closing and Company Slip

View File

@ -7823,7 +7823,9 @@ expresosController.lbl.estadoSolicitado = Solicitado
expresosController.lbl.idaVuelta = Ida
expresosController.lbl.pagadoCredito = Pagado a Crédito
expresosController.lbl.verDetalle = Ver Detalle
expresosController.lh.contratoAdjunto = Contrato Adjunto
expresosController.lh.fuecAdjunto = FUEC Adjunto
expresosController.lh.listaPasajerosAdjunto = Lista Pasajeros Adjunto
expresosPorCotizarCotizar.window.title = Cotización de Expreso
expresosPorCotizarPagoCredito.window.title = Pago a Crédito
@ -8267,6 +8269,7 @@ indexController.mniExpressosInformeViajesOcasionales.label = Informe de Viajes O
indexController.mniExpressosLog.label = Log
indexController.mniExpressosPorCotizar.label = Expresos por cotizar
indexController.mniExpressosProgramacionVehiculos.label = Programación de Vehículos
indexController.mniExpressosSeguimientoExpresos.label = Seguimiento Expresos
indexController.mniExtrairBpeXmlController.label = Extrair BP-e XML
indexController.mniFaturarVoucher.label = Facturación Bonos
indexController.mniFechamentoParamgeral.label = Cierre cuenta

View File

@ -7817,7 +7817,9 @@ expresosController.lbl.estadoSolicitado = Requis
expresosController.lbl.idaVuelta = En allant
expresosController.lbl.pagadoCredito = Payé à crédit
expresosController.lbl.verDetalle = Voir détail
expresosController.lh.contratoAdjunto = Contrato Adjunto
expresosController.lh.fuecAdjunto = FUEC Adjunto
expresosController.lh.listaPasajerosAdjunto = Lista Pasajeros Adjunto
expresosPorCotizarCotizar.window.title = Devis express
expresosPorCotizarPagoCredito.window.title = Paiement à crédit
@ -8261,6 +8263,7 @@ indexController.mniExpressosInformeViajesOcasionales.label = Rapport de voyage o
indexController.mniExpressosLog.label = Log
indexController.mniExpressosPorCotizar.label = Express à devis
indexController.mniExpressosProgramacionVehiculos.label = Programmation du véhicule
indexController.mniExpressosSeguimientoExpresos.label = Seguimiento Expresos
indexController.mniExtrairBpeXmlController.label = Extraire BP-e XML
indexController.mniFaturarVoucher.label = Facturation Bons
indexController.mniFechamentoParamgeral.label = Configuration. Clôture du CtaCte et facture de l'entreprise

View File

@ -7800,7 +7800,9 @@ expresosController.lbl.cargarPlaca = Anexar Placa
expresosController.lbl.idaVuelta = Ida
expresosController.lbl.pagadoCredito = Pagado a Crédito
expresosController.lbl.verDetalle = Ver detalhe
expresosController.lh.contratoAdjunto = Contrato Adjunto
expresosController.lh.fuecAdjunto = FUEC Adjunto
expresosController.lh.listaPasajerosAdjunto = Lista Pasajeros Adjunto
expresosPorCotizarCotizar.window.title = Cotação Expressa
expresosPorCotizarPagoCredito.window.title = Pagamento de crédito
@ -8242,6 +8244,7 @@ indexController.mniExpressosInformeViajesOcasionales.label = Relatório de viage
indexController.mniExpressosLog.label = Log
indexController.mniExpressosPorCotizar.label = Expresso a ser cotado
indexController.mniExpressosProgramacionVehiculos.label = Programação de veículos
indexController.mniExpressosSeguimientoExpresos.label = Seguimiento Expresos
indexController.mniExtrairBpeXmlController.label = Extrair BP-e XML
indexController.mniFaturarVoucher.label = Faturamento Voucher
indexController.mniFechamentoParamgeral.label = Config. de Fechamento CtaCte e Boleto Empresa

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<?page contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winSeguimientoExpresos"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winSeguimientoExpresos" title="${c:l('winSeguimientoExpresos.title')}"
border="normal" height="484px" width="1200px" position="center" mode="overlapped"
apply="${seguimientoExpresosController}">
<toolbar>
<button id="btnCerrar" onClick="winSeguimientoExpresos.detach()" image="/gui/img/exit.png" width="35px"
tooltiptext="${c:l('busquedaLogAuditoriaController.btnCerrar.tooltiptext')}"/>
</toolbar>
<grid fixedLayout="true">
<columns>
<column width="17%" />
<column width="35%" />
<column width="13%" />
<column width="35%" />
</columns>
<rows>
<row>
<label
value="${c:l('lb.dataIni.value')}" />
<datebox id="dtInicio" width="40%" mold="rounded"
use="com.rjconsultores.ventaboletos.web.utilerias.MyDatebox"
format="dd/MM/yyyy" maxlength="10" />
<label
value="${c:l('lb.dataFin.value')}" />
<datebox id="dtFim" width="40%" mold="rounded"
use="com.rjconsultores.ventaboletos.web.utilerias.MyDatebox"
format="dd/MM/yyyy" maxlength="10" />
</row>
</rows>
</grid>
<toolbar>
<button id="btnPesquisa" image="/gui/img/find.png"
label="${c:l('tooltiptext.btnPesquisa')}"/>
<button id="btnImprimir" image="/gui/img/pdf.png"
label="${c:l('tooltiptext.btnImprimir')}"/>
</toolbar>
<paging id="pagingExpresos" pageSize="20" />
<listbox id="expresosList" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false" height="50%" vflex="true">
<listhead sizable="true">
<listheader image="/gui/img/create_doc.gif"
label="${c:l('expressosPorCotizarController.lhNumSolicitud.label')}" width="100px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('expressosPorCotizarController.lhFechaSolicitud.label')}" width="120px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('expressosPorCotizarController.lhRuta.label')}" width="120px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('expressosPorCotizarController.lhIdaRegreso.label')}" width="120px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('expressosPorCotizarController.lhFechaIda.label')}" width="120px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('expressosPorCotizarController.lhFechaRegreso.label')}" width="120px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('expressosPorCotizarController.lhSitioRecogidaIda.label')}" width="120px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('expressosPorCotizarController.lhSitioRecogidaRegreso.label')}" width="120px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('expressosPorCotizarController.lhPlacaVehiculo.label')}" width="120px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('expressosPorCotizarController.lhEstado.label')}" width="120px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('expresosController.lh.contratoAdjunto')}" width="130px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('expresosController.lh.fuecAdjunto')}" width="130px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('expresosController.lh.listaPasajerosAdjunto')}" width="130px"/>
</listhead>
</listbox>
</window>
</zk>