Se agrega funcionalidad de carga de fluec#AL4551

master
Fernando Abimael Alvarez Uc 2024-07-31 14:33:10 -06:00
parent 1f5ca7e1fc
commit 25ff79db98
4 changed files with 59 additions and 33 deletions

View File

@ -1,14 +1,24 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.expressos; package com.rjconsultores.ventaboletos.web.gui.controladores.expressos;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.zkoss.util.media.Media;
import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Fileupload;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Paging; import org.zkoss.zul.Paging;
import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso;
import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos; import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos;
import com.rjconsultores.ventaboletos.service.TrayectosExpresosService;
import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
@ -40,6 +50,10 @@ public class AsignarBusExpresosController extends MyGenericForwardComposer{
private Paging pagingTrayectosExpresos; private Paging pagingTrayectosExpresos;
SolicitudExpreso expreso; SolicitudExpreso expreso;
TrayectosExpresos trayecto;
@Autowired
TrayectosExpresosService trayectoService;
@Override @Override
public void doAfterCompose(Component comp) throws Exception { public void doAfterCompose(Component comp) throws Exception {
@ -47,7 +61,30 @@ public class AsignarBusExpresosController extends MyGenericForwardComposer{
super.doAfterCompose(comp); super.doAfterCompose(comp);
trayectosList.setItemRenderer(new RenderAsignarBusExpresos(this)); trayectosList.setItemRenderer(new RenderAsignarBusExpresos(this, new EventListener() {
@Override
public void onEvent(Event arg0) throws Exception {
trayecto = (TrayectosExpresos)arg0.getTarget().getAttribute("data");
Media fluec = Fileupload.get();
if(fluec.getFormat().equalsIgnoreCase("pdf")) {
InputStream inputStream = fluec.getStreamData();
byte[] bytesIs = IOUtils.toByteArray(inputStream);
trayecto.setDocFluec(bytesIs);
trayectoService.actualizacion(trayecto);
} else {
Messagebox.show(
Labels.getLabel("cargaContratoController.MSG.errorFormatoContrato") + " " + fluec,
Labels.getLabel("winExpressoCargaContrato.title"),
Messagebox.OK, Messagebox.ERROR);
}
refreshLista();
}
}));
txtNumSolicitud.setValue(expreso.getSolicitudExpresoId().toString()); txtNumSolicitud.setValue(expreso.getSolicitudExpresoId().toString());
txtRuta.setValue(expreso.getCiudadOrigen().getNombciudad() + " - " + expreso.getCiudadDestino().getNombciudad()); txtRuta.setValue(expreso.getCiudadOrigen().getNombciudad() + " - " + expreso.getCiudadDestino().getNombciudad());

View File

@ -1,18 +1,23 @@
package com.rjconsultores.ventaboletos.web.utilerias.render; package com.rjconsultores.ventaboletos.web.utilerias.render;
import java.io.InputStream;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.zkoss.util.media.AMedia; import org.zkoss.util.media.AMedia;
import org.zkoss.util.media.Media;
import org.zkoss.util.resource.Labels; import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Filedownload; import org.zkoss.zhtml.Filedownload;
import org.zkoss.zhtml.Fileupload;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Button; import org.zkoss.zul.Button;
import org.zkoss.zul.Listcell; import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem; import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer; import org.zkoss.zul.ListitemRenderer;
import org.zkoss.zul.Messagebox;
import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso;
import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos; import com.rjconsultores.ventaboletos.entidad.TrayectosExpresos;
@ -23,13 +28,16 @@ import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
public class RenderAsignarBusExpresos implements ListitemRenderer { public class RenderAsignarBusExpresos implements ListitemRenderer {
EventListener listenerGenerico;
TrayectosExpresos trayecto; TrayectosExpresos trayecto;
AsignarBusExpresosController winAsignarBus; AsignarBusExpresosController winAsignarBus;
public RenderAsignarBusExpresos(AsignarBusExpresosController window) { public RenderAsignarBusExpresos(AsignarBusExpresosController window, EventListener listenerGenerico) {
super(); super();
winAsignarBus = window; winAsignarBus = window;
this.listenerGenerico = listenerGenerico;
} }
@Override @Override
@ -68,40 +76,19 @@ public class RenderAsignarBusExpresos implements ListitemRenderer {
lc = new Listcell(trayectos.getNumPlaca()); lc = new Listcell(trayectos.getNumPlaca());
lc.setParent(item); lc.setParent(item);
} }
lc = new Listcell();
lc.setParent(item);
if(trayectos.getDocFluec() == null) { if(trayectos.getDocFluec() == null) {
lc = new Listcell();
lc.setParent(item);
Button btnCargarFluec = new Button(Labels.getLabel("expresosController.lbl.cargarFluec")); Button btnCargarFluec = new Button(Labels.getLabel("expresosController.lbl.cargarFluec"));
btnCargarFluec.addEventListener("onClick", new EventListener() { btnCargarFluec.setAttribute("data", data);
@Override btnCargarFluec.addEventListener("onClick", listenerGenerico);
public void onEvent(Event event) throws Exception {
Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); lc.appendChild(btnCargarFluec);
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 { }else {
Button btnVerFluec = new Button(Labels.getLabel("expresosController.lbl.verFluec")); lc = new Listcell(Labels.getLabel("expresosController.lbl.fluecCargado"));
btnVerFluec.addEventListener("onClick", new EventListener() { lc.setParent(item);
@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); item.setAttribute("data", trayectos);

View File

@ -128,7 +128,7 @@ public class RenderExpresosPorCotizar implements ListitemRenderer {
lc.appendChild(btnCotizar); break; lc.appendChild(btnCotizar); break;
case 2: case 2:
Button btnPagoCredito = new Button("Pago Crédito"); Button btnPagoCredito = new Button(Labels.getLabel("expresosController.lbl.pagoCredito"));
btnPagoCredito.setAttribute("data", data); btnPagoCredito.setAttribute("data", data);
btnPagoCredito.addEventListener("onClick", listenerGenerico); btnPagoCredito.addEventListener("onClick", listenerGenerico);

View File

@ -7457,6 +7457,8 @@ indexController.mniExpressosDocumentos.label = Documentos
expresosController.lbl.verDetalle = Ver Detalle expresosController.lbl.verDetalle = Ver Detalle
expresosController.lbl.asignarBus = Asignar Bus expresosController.lbl.asignarBus = Asignar Bus
expresosController.lbl.fluecCargado = FLUEC Cargado
expresosController.lbl.pagoCredito = Pago Crédito
expresoController.MSG.errorArchivo = Archivo inválidoo o nulo expresoController.MSG.errorArchivo = Archivo inválidoo o nulo
cargaContratoController.MSG.errorExpresoNull = Seleccione Expreso a Asociar Contrato cargaContratoController.MSG.errorExpresoNull = Seleccione Expreso a Asociar Contrato