diff --git a/src/main/java/mx/gob/jumapacelaya/Services/PredioService.java b/src/main/java/mx/gob/jumapacelaya/Services/PredioService.java index b7e9dbd..4f5d636 100644 --- a/src/main/java/mx/gob/jumapacelaya/Services/PredioService.java +++ b/src/main/java/mx/gob/jumapacelaya/Services/PredioService.java @@ -19,7 +19,7 @@ public class PredioService { public List getInfoPredio(int predioId) { List infoPredio = new ArrayList<>(); - String query = "Select predioid, clienteid, c.nombre nomcliente,\n" + + String query = "Select predioid, clienteid, c.nombre nomcliente, contrato contrato, \n" + " fn_getdomicilio(p.direcid) direccion, fn_get_direccion(p.direcid) direccionmostrar, fn_direccionshort(p.direcid) direccioncorta,\n" + " fn_gettelefono(clienteid) telefono,\n" + " p.coordx, p.coordy, p.zonafactid, p.serialmed, marcamedid||'-'||ma.descripcion marcamed, (decode(mo.descripcion,null,'Desconocido',modelomedid||'-'||mo.descripcion)) modelomed,\n" + @@ -41,6 +41,7 @@ public class PredioService { rs.getInt("PREDIOID"), rs.getInt("CLIENTEID"), rs.getString("NOMCLIENTE"), + rs.getString("CONTRATO"), rs.getString("DIRECCION"), rs.getString("DIRECCIONMOSTRAR"), rs.getString("DIRECCIONCORTA"), diff --git a/src/main/java/mx/gob/jumapacelaya/models/Predio.java b/src/main/java/mx/gob/jumapacelaya/models/Predio.java index 5f8d8e5..00d965c 100644 --- a/src/main/java/mx/gob/jumapacelaya/models/Predio.java +++ b/src/main/java/mx/gob/jumapacelaya/models/Predio.java @@ -6,6 +6,7 @@ public class Predio { private int predioid; private int clienteid; private String nomcliente; + private String contrato; private String direccion; private String direcmostrar; private String direccorta; @@ -24,13 +25,14 @@ public class Predio { private String actividad; - public Predio(int predioid, int clienteid, String nomcliente, String direccion, String direcmostrar, String direccorta, + public Predio(int predioid, int clienteid, String nomcliente, String contrato, String direccion, String direcmostrar, String direccorta, String telefono, String coordx, String coordy, String zonafacid, String serialmed, String marcamed, String modelomed, String edopredioid, String edopredio, String usoid, String uso, int actividadid, String actividad) { this.predioid = predioid; this.clienteid = clienteid; this.nomcliente = nomcliente; + this.contrato = contrato; this.direccion = direccion; this.direcmostrar = direcmostrar; this.direccorta = direccorta; @@ -200,4 +202,12 @@ public class Predio { public void setActividad(String actividad) { this.actividad = actividad; } + + public String getContrato() { + return contrato; + } + + public void setContrato(String contrato) { + this.contrato = contrato; + } } diff --git a/src/main/java/mx/gob/jumapacelaya/views/HomeView.java b/src/main/java/mx/gob/jumapacelaya/views/HomeView.java index d9b03f0..3065373 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/HomeView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/HomeView.java @@ -98,8 +98,7 @@ public class HomeView extends VerticalLayout { {"Solicitud de descuento", "solidesc"}, {"Recibo digital por email", "recibodigital"}, {"Verificación", "verificacion"}, - {"PGO y Tomas independientes", "pgotomasindep"}, - {"Descuento especial", "descesp"} + {"PGO y Tomas independientes", "pgotomasindep"} }; diff --git a/src/main/java/mx/gob/jumapacelaya/views/PgoTomasView.java b/src/main/java/mx/gob/jumapacelaya/views/PgoTomasView.java index f08fb0c..d1945e4 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/PgoTomasView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/PgoTomasView.java @@ -1,5 +1,6 @@ package mx.gob.jumapacelaya.views; +import com.vaadin.flow.component.UI; import com.vaadin.flow.component.button.Button; import com.vaadin.flow.component.button.ButtonVariant; import com.vaadin.flow.component.html.H1; @@ -118,6 +119,7 @@ public class PgoTomasView extends VerticalLayout implements BeforeEnterObserver label.setText("Solicitud de Descuento en adeudo [" + usuario + "]"); } else { label.setText("Usuario Desconocido"); + UI.getCurrent().navigate("/"); } } } diff --git a/src/main/java/mx/gob/jumapacelaya/views/ReciboDgtalView.java b/src/main/java/mx/gob/jumapacelaya/views/ReciboDgtalView.java index 2005b3f..dc2017e 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/ReciboDgtalView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/ReciboDgtalView.java @@ -1,5 +1,6 @@ package mx.gob.jumapacelaya.views; +import com.vaadin.flow.component.UI; import com.vaadin.flow.component.button.Button; import com.vaadin.flow.component.button.ButtonVariant; import com.vaadin.flow.component.checkbox.CheckboxGroup; @@ -130,6 +131,7 @@ public class ReciboDgtalView extends VerticalLayout implements BeforeEnterObserv label.setText("Solicitud de Descuento en adeudo [" + usuario + "]"); } else { label.setText("Usuario Desconocido"); + UI.getCurrent().navigate("/"); } } } diff --git a/src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java b/src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java index 9d825c4..e1b7caa 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java @@ -129,6 +129,7 @@ public class SolicitudDescView extends VerticalLayout implements BeforeEnterObse btnVerSolicitud.addClickListener(event -> { String tipoSolicitud = tipoSolicitudGroup.getValue(); + String nombreSolicitante = solicitante.getValue(); if (predioTxt.getValue() != null) { int predioId = predioTxt.getValue().intValue(); @@ -137,12 +138,15 @@ public class SolicitudDescView extends VerticalLayout implements BeforeEnterObse if (!predios.isEmpty()) { Predio resultado = predios.get(0); + UI.getCurrent().getSession().setAttribute("predio", resultado); + System.out.println(resultado.getPredioid()); System.out.println(resultado.getNomcliente()); System.out.println(resultado.getDireccorta()); System.out.println(resultado.getTelefono()); System.out.println(resultado.getUso()); System.out.println(resultado.getActividad()); + System.out.println(resultado.getContrato()); } else { Notification.show("No se encontro informacion del predio", 3000, Notification.Position.MIDDLE); @@ -152,22 +156,28 @@ public class SolicitudDescView extends VerticalLayout implements BeforeEnterObse } - if (tipoSolicitud != null) { + if (tipoSolicitud != null && nombreSolicitante != null) { + String url = ""; + switch (tipoSolicitud) { case "Recargos": - UI.getCurrent().navigate("recargos"); + url = "recargos?solicitante=" + nombreSolicitante; break; case "Infracciones": - UI.getCurrent().navigate("infracciones"); + url = "infracciones?solicitante=" + nombreSolicitante; break; case "Ajuste de Facturas": - UI.getCurrent().navigate("ajustefacturas"); + url = "ajustefacturas?solicitante=" + nombreSolicitante; + break; + case "Descuento Especial Pago Anual": + url = "descesp?solicitante=" + nombreSolicitante; break; - case "Descuento Especial Pago Anual": - UI.getCurrent().navigate("descesp"); - break; - default: - Notification.show("Selecciona un tipo de solicitud", 3000, Notification.Position.MIDDLE); + default: + Notification.show("Selecciona un tipo de solicitud", 3000, Notification.Position.MIDDLE); + } + + if (!url.isEmpty()) { + UI.getCurrent().navigate(url); } } else { Notification.show("Selecciona una opcion", 3000, Notification.Position.MIDDLE); @@ -190,10 +200,12 @@ public class SolicitudDescView extends VerticalLayout implements BeforeEnterObse ? event.getLocation().getQueryParameters().getParameters().get("usuarioid").stream().findFirst().orElse(null) : null; + if (usuario != null) { label.setText("Solicitud de Descuento en adeudo [" + usuario + "]"); } else { label.setText("Usuario Desconocido"); + UI.getCurrent().navigate("/"); } } } diff --git a/src/main/java/mx/gob/jumapacelaya/views/VerificacionView.java b/src/main/java/mx/gob/jumapacelaya/views/VerificacionView.java index 7bfe9ba..f4086d3 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/VerificacionView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/VerificacionView.java @@ -1,5 +1,6 @@ package mx.gob.jumapacelaya.views; +import com.vaadin.flow.component.UI; import com.vaadin.flow.component.button.Button; import com.vaadin.flow.component.button.ButtonVariant; import com.vaadin.flow.component.html.H2; @@ -115,6 +116,7 @@ public class VerificacionView extends VerticalLayout implements BeforeEnterObser label.setText("Solicitud de Descuento en adeudo [" + usuario + "]"); } else { label.setText("Usuario Desconocido"); + UI.getCurrent().navigate("/"); } } } diff --git a/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/AjusteFacView.java b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/AjusteFacView.java index 066dbd2..9f2aaeb 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/AjusteFacView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/AjusteFacView.java @@ -1,12 +1,17 @@ package mx.gob.jumapacelaya.views.tiposSolicitud; +import com.vaadin.flow.component.UI; import com.vaadin.flow.component.html.*; +import com.vaadin.flow.component.notification.Notification; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.router.PageTitle; import com.vaadin.flow.router.Route; import de.f0rce.signaturepad.SignaturePad; +import mx.gob.jumapacelaya.Services.PredioService; +import mx.gob.jumapacelaya.models.Predio; import mx.gob.jumapacelaya.views.MainLayout; +import org.springframework.beans.factory.annotation.Autowired; import java.time.LocalDate; import java.time.format.DateTimeFormatter; @@ -15,11 +20,24 @@ import java.time.format.DateTimeFormatter; @Route(value = "ajustefacturas", layout = MainLayout.class) public class AjusteFacView extends VerticalLayout { - public AjusteFacView() { - cabezera(); - titulo(); - body(); - sign(); + private final PredioService predioService; + private Predio predio; + + @Autowired + public AjusteFacView(PredioService predioService) { + this.predioService = predioService; + this.predio = (Predio) UI.getCurrent().getSession().getAttribute("predio"); + + if (predio == null) { + Notification.show("No se encontró el predio en la sesion. Por favor ingresa un numero de predio primero.", 3000, Notification.Position.MIDDLE); + UI.getCurrent().navigate("solidesc"); + } else { + + cabezera(); + titulo(); + body(); + sign(); + } } private void cabezera() { @@ -74,7 +92,8 @@ public class AjusteFacView extends VerticalLayout { Paragraph parrafo1 = new Paragraph(); parrafo1.setText( "Sirva este medio para solicitar de la manera más atenta, se me pueda otorgar facilidades para regularizar " + - "la cuenta del predio PREDIOID, ubicado en DIRECCION, Rfcia: , a nombre de NOMBRE realizado alguna " + + "la cuenta del predio: " + predio.getPredioid() + ", ubicado en: " + predio.getDirecmostrar() + ", a nombre de " + predio.getNomcliente() + + ", realizando alguna " + "consideracion al adeudo para poder pagarlo de acuerdo a mis posibilidades económicas." ); @@ -92,9 +111,9 @@ public class AjusteFacView extends VerticalLayout { userPad.getElement().getStyle().set("border", "1px solid black"); - Span nombreCliente = new Span("Nombre del Solicitante"); - Span predioCliente = new Span("Predio: "); - Span contratoCliente = new Span("Contrato: "); + Span nombreCliente = new Span("Nombre del Solicitante: " + predio.getNomcliente()); + Span predioCliente = new Span("Predio: " + predio.getPredioid()); + Span contratoCliente = new Span("Contrato: " + predio.getContrato()); signLayout.add(userPad, nombreCliente, predioCliente, contratoCliente); diff --git a/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/DescEspView.java b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/DescEspView.java index 507d283..bcf06a9 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/DescEspView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/DescEspView.java @@ -1,11 +1,15 @@ package mx.gob.jumapacelaya.views.tiposSolicitud; +import com.vaadin.flow.component.UI; import com.vaadin.flow.component.html.*; +import com.vaadin.flow.component.notification.Notification; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.router.PageTitle; import com.vaadin.flow.router.Route; import de.f0rce.signaturepad.SignaturePad; +import mx.gob.jumapacelaya.Services.PredioService; +import mx.gob.jumapacelaya.models.Predio; import mx.gob.jumapacelaya.views.MainLayout; import java.time.LocalDate; @@ -15,12 +19,23 @@ import java.time.format.DateTimeFormatter; @Route(value = "descesp", layout = MainLayout.class) public class DescEspView extends VerticalLayout { - public DescEspView() { + private final PredioService predioService; + private Predio predio; - cabezera(); - titulo(); - body(); - sign(); + public DescEspView(PredioService predioService) { + this.predioService = predioService; + this.predio = (Predio) UI.getCurrent().getSession().getAttribute("predio"); + + if (predio == null) { + Notification.show("No se encontró el predio en la sesion. Por favor ingresa un numero de predio primero.", 3000, Notification.Position.MIDDLE); + UI.getCurrent().navigate("solidesc"); + } else { + + cabezera(); + titulo(); + body(); + sign(); + } } private void cabezera() { @@ -77,7 +92,7 @@ public class DescEspView extends VerticalLayout { parrafo1.setText( "Sirva este medio para solicitar de la manera más atenta se me valore mi condición socioeconómica, " + "ya que por el momento no cuento con la solvencia económica suficiente para pagar la tarifa del " + - "presente año que corresponde al domicilio que habito ubicado en: " + "presente año que corresponde al domicilio que habito ubicado en: " + predio.getDirecmostrar() ); @@ -115,9 +130,9 @@ public class DescEspView extends VerticalLayout { userPad.getElement().getStyle().set("border", "1px solid black"); - Span nombreCliente = new Span("Nombre del Solicitante"); - Span predioCliente = new Span("Predio: "); - Span contratoCliente = new Span("Contrato: "); + Span nombreCliente = new Span("Nombre del Solicitante: " + predio.getNomcliente()); + Span predioCliente = new Span("Predio: " + predio.getPredioid()); + Span contratoCliente = new Span("Contrato: " + predio.getContrato()); signLayout.add(userPad, nombreCliente, predioCliente, contratoCliente); diff --git a/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/InfraccionesView.java b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/InfraccionesView.java index b4e0fd2..3513e37 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/InfraccionesView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/InfraccionesView.java @@ -1,12 +1,17 @@ package mx.gob.jumapacelaya.views.tiposSolicitud; +import com.vaadin.flow.component.UI; import com.vaadin.flow.component.html.*; +import com.vaadin.flow.component.notification.Notification; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.router.PageTitle; import com.vaadin.flow.router.Route; import de.f0rce.signaturepad.SignaturePad; +import mx.gob.jumapacelaya.Services.PredioService; +import mx.gob.jumapacelaya.models.Predio; import mx.gob.jumapacelaya.views.MainLayout; +import org.springframework.beans.factory.annotation.Autowired; import java.time.LocalDate; import java.time.format.DateTimeFormatter; @@ -15,11 +20,24 @@ import java.time.format.DateTimeFormatter; @Route(value = "infracciones", layout = MainLayout.class) public class InfraccionesView extends VerticalLayout { - public InfraccionesView() { - cabezera(); - titulo(); - body(); - sign(); + private final PredioService predioService; + private Predio predio; + + @Autowired + public InfraccionesView(PredioService predioService) { + this.predioService = predioService; + this.predio = (Predio) UI.getCurrent().getSession().getAttribute("predio"); + + if (predio == null) { + Notification.show("No se encontró el predio en la sesion. Por favor ingresa un numero de predio primero.", 3000, Notification.Position.MIDDLE); + UI.getCurrent().navigate("solidesc"); + } else { + + cabezera(); + titulo(); + body(); + sign(); + } } private void cabezera() { @@ -74,7 +92,8 @@ public class InfraccionesView extends VerticalLayout { Paragraph parrafo1 = new Paragraph(); parrafo1.setText( "Sirva este medio para solicitar de la manera más atenta, se me pueda otorgar facilidades para regularizar " + - "la cuenta del predio PREDIOID, ubicado en DIRECCION, Rfcia: , a nombre de NOMBRE realizado alguna " + + "la cuenta del predio: " + predio.getPredioid() + ", ubicado en: " + predio.getDirecmostrar() + ", a nombre de " + predio.getNomcliente() + + ", realizando alguna " + "consideracion al adeudo para poder pagarlo de acuerdo a mis posibilidades económicas." ); @@ -92,9 +111,9 @@ public class InfraccionesView extends VerticalLayout { userPad.getElement().getStyle().set("border", "1px solid black"); - Span nombreCliente = new Span("Nombre del Solicitante"); - Span predioCliente = new Span("Predio: "); - Span contratoCliente = new Span("Contrato: "); + Span nombreCliente = new Span("Nombre del Solicitante: " + predio.getNomcliente()); + Span predioCliente = new Span("Predio: " + predio.getPredioid()); + Span contratoCliente = new Span("Contrato: " + predio.getContrato()); signLayout.add(userPad, nombreCliente, predioCliente, contratoCliente); diff --git a/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/RecargosView.java b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/RecargosView.java index 9703e6f..1b22724 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/RecargosView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/RecargosView.java @@ -1,25 +1,47 @@ package mx.gob.jumapacelaya.views.tiposSolicitud; +import com.vaadin.flow.component.UI; import com.vaadin.flow.component.html.*; +import com.vaadin.flow.component.notification.Notification; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout; +import com.vaadin.flow.router.BeforeEnterEvent; +import com.vaadin.flow.router.BeforeEnterObserver; import com.vaadin.flow.router.PageTitle; import com.vaadin.flow.router.Route; import de.f0rce.signaturepad.SignaturePad; +import mx.gob.jumapacelaya.Services.PredioService; +import mx.gob.jumapacelaya.models.Predio; import mx.gob.jumapacelaya.views.MainLayout; +import org.springframework.beans.factory.annotation.Autowired; import java.time.LocalDate; import java.time.format.DateTimeFormatter; @PageTitle("Recargos") @Route(value = "recargos", layout = MainLayout.class) -public class RecargosView extends VerticalLayout { +public class RecargosView extends VerticalLayout implements BeforeEnterObserver { - public RecargosView() { - cabezera(); - titulo(); - body(); - sign(); + private final PredioService predioService; + private Predio predio; + Span nombreCliente = new Span(); + + @Autowired + public RecargosView(PredioService predioService) { + this.predioService = predioService; + + this.predio = (Predio) UI.getCurrent().getSession().getAttribute("predio"); + + if (predio == null) { + Notification.show("No se encontró el predio en la sesion. Por favor ingresa un numero de predio primero.", 3000, Notification.Position.MIDDLE); + UI.getCurrent().navigate("solidesc"); + } else { + + cabezera(); + titulo(); + body(); + sign(); + } } private void cabezera() { @@ -74,7 +96,8 @@ public class RecargosView extends VerticalLayout { Paragraph parrafo1 = new Paragraph(); parrafo1.setText( "Sirva este medio para solicitar de la manera más atenta, se me pueda otorgar facilidades para regularizar " + - "la cuenta del predio: PREDIOID, ubicado en: DOMCILIO, Rfcia: , a nombre de NOMBRE realizando alguna " + + "la cuenta del predio: " + predio.getPredioid() + ", ubicado en: " + predio.getDirecmostrar() + ", a nombre de " + predio.getNomcliente() + + ", realizando alguna " + "consideracion al adeudo para poder pagarlo de acuerdo a mis posibilidades económicas." ); @@ -92,9 +115,8 @@ public class RecargosView extends VerticalLayout { userPad.getElement().getStyle().set("border", "1px solid black"); - Span nombreCliente = new Span("Nombre del Solicitante"); - Span predioCliente = new Span("Predio: "); - Span contratoCliente = new Span("Contrato: "); + Span predioCliente = new Span("Predio: " + predio.getPredioid()); + Span contratoCliente = new Span("Contrato: " + predio.getContrato()); signLayout.add(userPad, nombreCliente, predioCliente, contratoCliente); @@ -103,4 +125,18 @@ public class RecargosView extends VerticalLayout { this.setSpacing(false); this.add(signLayout); } + + @Override + public void beforeEnter(BeforeEnterEvent event) { + String solicitante = event.getLocation().getQueryParameters().getParameters().get("solicitante") != null + ? event.getLocation().getQueryParameters().getParameters().get("solicitante").stream().findFirst().orElse(null) + : null; + + if (solicitante != null && !solicitante.isEmpty()) { + nombreCliente.setText("Nombre del Solicitante: " + solicitante); + + } else { + nombreCliente.setText("Sin solicitante"); + } + } }