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;
import java.io.InputStream;
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.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.zul.Messagebox;
import org.zkoss.zul.Paging;
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.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
@ -40,6 +50,10 @@ public class AsignarBusExpresosController extends MyGenericForwardComposer{
private Paging pagingTrayectosExpresos;
SolicitudExpreso expreso;
TrayectosExpresos trayecto;
@Autowired
TrayectosExpresosService trayectoService;
@Override
public void doAfterCompose(Component comp) throws Exception {
@ -47,7 +61,30 @@ public class AsignarBusExpresosController extends MyGenericForwardComposer{
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());
txtRuta.setValue(expreso.getCiudadOrigen().getNombciudad() + " - " + expreso.getCiudadDestino().getNombciudad());

View File

@ -1,18 +1,23 @@
package com.rjconsultores.ventaboletos.web.utilerias.render;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
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.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.entidad.TrayectosExpresos;
@ -23,13 +28,16 @@ import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
public class RenderAsignarBusExpresos implements ListitemRenderer {
EventListener listenerGenerico;
TrayectosExpresos trayecto;
AsignarBusExpresosController winAsignarBus;
public RenderAsignarBusExpresos(AsignarBusExpresosController window) {
public RenderAsignarBusExpresos(AsignarBusExpresosController window, EventListener listenerGenerico) {
super();
winAsignarBus = window;
this.listenerGenerico = listenerGenerico;
}
@Override
@ -68,40 +76,19 @@ public class RenderAsignarBusExpresos implements ListitemRenderer {
lc = new Listcell(trayectos.getNumPlaca());
lc.setParent(item);
}
lc = new Listcell();
lc.setParent(item);
if(trayectos.getDocFluec() == null) {
lc = new Listcell();
lc.setParent(item);
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);
btnCargarFluec.setAttribute("data", data);
btnCargarFluec.addEventListener("onClick", listenerGenerico);
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);
lc = new Listcell(Labels.getLabel("expresosController.lbl.fluecCargado"));
lc.setParent(item);
}
item.setAttribute("data", trayectos);

View File

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

View File

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