From 4218de49c78e4aa191a15956989403073e32b199 Mon Sep 17 00:00:00 2001 From: Fernando Abimael Alvarez Uc Date: Thu, 1 Aug 2024 14:34:00 -0600 Subject: [PATCH] =?UTF-8?q?Se=20agrega=20funcionalidad=20de=20Pago=20a=20C?= =?UTF-8?q?r=C3=A9dito#AL-4549?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ExpressosPorCotizarController.java | 36 +++++++--------- .../render/RenderExpresosPorCotizar.java | 42 +++++++++++++++---- web/WEB-INF/i3-label_es_MX.label | 1 + 3 files changed, 49 insertions(+), 30 deletions(-) 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 index aee3cb93e..59daf5410 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ExpressosPorCotizarController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/ExpressosPorCotizarController.java @@ -1,6 +1,7 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.expressos; import java.util.ArrayList; +import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -19,15 +20,19 @@ import org.zkoss.zul.Combobox; import org.zkoss.zul.Comboitem; import org.zkoss.zul.Paging; +import com.rjconsultores.ventaboletos.entidad.Constante; 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.Usuario; import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; +import com.rjconsultores.ventaboletos.service.ConstanteService; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.SolicitudExpresosService; import com.rjconsultores.ventaboletos.service.TipoIdentificacionService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; import com.rjconsultores.ventaboletos.web.utilerias.MyDatebox; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; @@ -36,6 +41,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchOb 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.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; import com.trg.search.Filter; @Controller("expressosPorCotizarController") @@ -50,6 +56,9 @@ public class ExpressosPorCotizarController extends MyGenericForwardComposer{ @Autowired private EmpresaService empresaService; + @Autowired + SolicitudExpresosService solicitudExpresosService; + private List lsEmpresa; private Combobox cmbEmpresa; private MyListbox expresosList; @@ -61,33 +70,12 @@ public class ExpressosPorCotizarController extends MyGenericForwardComposer{ 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(); - } - }); + expresosList.setItemRenderer(new RenderExpresosPorCotizar(this)); refreshLista(); } @@ -119,6 +107,10 @@ public class ExpressosPorCotizarController extends MyGenericForwardComposer{ plwTrayectosExpresos.init(buscarExpresos, expresosList, pagingExpresos); } + public void onClick$btnRefresh(Event ev) { + refreshLista(); + } + public List getLsEmpresa() { return lsEmpresa; } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderExpresosPorCotizar.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderExpresosPorCotizar.java index ac689efb6..59f468e9e 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderExpresosPorCotizar.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderExpresosPorCotizar.java @@ -1,5 +1,6 @@ package com.rjconsultores.ventaboletos.web.utilerias.render; +import java.util.Calendar; import java.util.HashMap; import java.util.Map; @@ -14,30 +15,34 @@ import org.zkoss.zul.ListitemRenderer; import com.rjconsultores.ventaboletos.entidad.Categoria; import com.rjconsultores.ventaboletos.entidad.Cliente; +import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; import com.rjconsultores.ventaboletos.entidad.TipoCortesia; +import com.rjconsultores.ventaboletos.entidad.Usuario; +import com.rjconsultores.ventaboletos.service.ConstanteService; import com.rjconsultores.ventaboletos.service.SolicitudExpresosService; import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; 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; +import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; public class RenderExpresosPorCotizar implements ListitemRenderer { - private EventListener listenerGenerico; - private ExpressosPorCotizarController expresosControllerWindow; private SolicitudExpreso expreso; + private Usuario usuario; + @Autowired SolicitudExpresosService expresosService; - public RenderExpresosPorCotizar(ExpressosPorCotizarController window, EventListener listenerGenerico) { + public RenderExpresosPorCotizar(ExpressosPorCotizarController window) { super(); expresosControllerWindow = window; - this.listenerGenerico = listenerGenerico; } @Override @@ -128,12 +133,33 @@ public class RenderExpresosPorCotizar implements ListitemRenderer { lc.appendChild(btnCotizar); break; case 2: - Button btnPagoCredito = new Button("Pago Crédito"); - btnPagoCredito.setAttribute("data", data); - btnPagoCredito.addEventListener("onClick", listenerGenerico); + ConstanteService constanteService = (ConstanteService) AppContext.getApplicationContext().getBean("constanteService"); + String pagoCreditoConstante = constanteService.buscarPorNomeConstante("FORMAPAGOCREDITO_ID").getValorconstante(); - lc.appendChild(btnPagoCredito); + if(expresos.getFormaPagoId() == null || expresos.getFormaPagoId() != Integer.valueOf(pagoCreditoConstante)) { + Button btnPagoCredito = new Button("Pago Crédito"); + + btnPagoCredito.setAttribute("data", data); + btnPagoCredito.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + SolicitudExpresosService solicitudExpresosService = (SolicitudExpresosService) AppContext.getApplicationContext().getBean("solicitudExpresosService"); + expreso = (SolicitudExpreso)listItem.getAttribute("data"); + + usuario = UsuarioLogado.getUsuarioLogado(); + + expreso.setFormaPagoId(Integer.valueOf(pagoCreditoConstante)); + expreso.setUsuarioAutorizaCredito(usuario.getUsuarioId()); + expreso.setFechaHoraAutorizaCredito(Calendar.getInstance().getTime()); + + solicitudExpresosService.actualizacion(expreso); + } + }); + + lc.appendChild(btnPagoCredito); + } break; //case 3: break; diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 8e823afb0..0cbe084d7 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -7456,6 +7456,7 @@ indexController.mniExpressosDocumentos.label = Documentos expresosController.lbl.verDetalle = Ver Detalle expresosController.lbl.asignarBus = Asignar Bus +expresosController.lbl.pagadoCredito = Pagado a Crédito expresoController.MSG.errorArchivo = Archivo inválidoo o nulo cargaContratoController.MSG.errorExpresoNull = Seleccione Expreso a Asociar Contrato