diff --git a/pom.xml b/pom.xml
index 6d3e13a..e130f53 100644
--- a/pom.xml
+++ b/pom.xml
@@ -101,6 +101,12 @@
com.oracle.database.jdbc
ojdbc8
+
+
+ de.f0rce.signaturepad
+ signature-widget
+ 3.1.0
+
diff --git a/src/main/java/mx/gob/jumapacelaya/views/DescEspView.java b/src/main/java/mx/gob/jumapacelaya/views/DescEspView.java
index 26b93c8..4ad7d35 100644
--- a/src/main/java/mx/gob/jumapacelaya/views/DescEspView.java
+++ b/src/main/java/mx/gob/jumapacelaya/views/DescEspView.java
@@ -1,10 +1,14 @@
package mx.gob.jumapacelaya.views;
-import com.vaadin.flow.component.html.H1;
+import com.vaadin.flow.component.html.*;
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 java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
@PageTitle("Descuento Especial")
@Route(value = "descesp", layout = MainLayout.class)
@@ -12,9 +16,113 @@ public class DescEspView extends VerticalLayout {
public DescEspView() {
+ cabezera();
+ titulo();
+ body();
+ sign();
+ }
+
+ private void cabezera() {
+
HorizontalLayout encabezadoLayout = new HorizontalLayout();
- encabezadoLayout.getStyle().set("background-color", "red");
+ encabezadoLayout.setWidthFull();
+ encabezadoLayout.setPadding(true);
+
+ // Obtener la fecha actual del sistema
+ LocalDate fechaSistema = LocalDate.now();
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEEE d 'de' MMMM 'del' yyyy");
+ String fechaFormateada = fechaSistema.format(formatter);
+ Span fecha = new Span();
+ fecha.setText("Celaya, Guanajuato a " + fechaFormateada);
+
+ H2 presolicitud = new H2();
+ presolicitud.setText("PreSolicitud");
+
+ encabezadoLayout.add(fecha);
+ encabezadoLayout.addAndExpand(new HorizontalLayout());
+ encabezadoLayout.add(presolicitud);
this.add(encabezadoLayout);
}
+
+
+ private void titulo() {
+
+ VerticalLayout tituloLayout = new VerticalLayout();
+
+ H2 lblTitulo = new H2();
+ lblTitulo.setText("JUNTA MUNICIPAL DE AGUA POTABLE Y ALCANTARILLADO DE CELAYA, GTO");
+
+ H3 lblSubtitulo = new H3();
+ lblSubtitulo.setText("A QUIEN CORRESPONDA");
+
+
+ tituloLayout.add(lblTitulo, lblSubtitulo);
+
+ this.add(tituloLayout);
+ }
+
+
+ private void body() {
+ VerticalLayout bodyLayout = new VerticalLayout();
+
+ H4 lblPresente = new H4();
+ lblPresente.setText("PRESENTE:");
+
+ H4 lblAtt = new H4();
+ lblAtt.setText("ATENTAMENTE:");
+
+ Paragraph parrafo1 = new Paragraph();
+ 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: "
+ );
+
+
+ Paragraph parrafo2 = new Paragraph();
+ parrafo2.setText(
+ "Lo anterior para que se me pueda otorgar un descuento en mi tarifa, comprometiéndome con ello, " +
+ " a mantener mi cuenta regularizada con este Organismo Operador y que no rebasaré un consumo máximo de 15 m3 mensuales; " +
+ "aceptando que no podré solicitar un beneficio o descuento adicional a mi tarifa."
+ );
+
+ Paragraph parrafo3 = new Paragraph();
+ parrafo3.setText(
+ "Sin más por el momento y agradeciendo de antemano sus atenciones, quedo al pendiente " +
+ "de su respuesta."
+ );
+
+ SignaturePad userPad = new SignaturePad();
+ userPad.setBackgroundColor("#FFFFFF");
+ userPad.setHeight("200px");
+ userPad.setPenColor("#000000");
+ userPad.getElement().getStyle().set("border", "1px solid black");
+
+
+ bodyLayout.add(lblPresente, parrafo1, parrafo2, parrafo3, lblAtt);
+ this.add(bodyLayout);
+ }
+
+
+ private void sign() {
+ VerticalLayout signLayout = new VerticalLayout();
+ SignaturePad userPad = new SignaturePad();
+ userPad.setBackgroundColor("#FFFFFF");
+ userPad.setHeight("200px");
+ userPad.setPenColor("#000000");
+ 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: ");
+
+
+ signLayout.add(userPad, nombreCliente, predioCliente, contratoCliente);
+ signLayout.setSpacing(false);
+ signLayout.setAlignItems(Alignment.CENTER);
+ this.setSpacing(false);
+ this.add(signLayout);
+ }
}
diff --git a/src/main/java/mx/gob/jumapacelaya/views/MainLayout.java b/src/main/java/mx/gob/jumapacelaya/views/MainLayout.java
index 60b8c7e..6466beb 100644
--- a/src/main/java/mx/gob/jumapacelaya/views/MainLayout.java
+++ b/src/main/java/mx/gob/jumapacelaya/views/MainLayout.java
@@ -58,7 +58,7 @@ public class MainLayout extends AppLayout {
nav.addItem(new SideNavItem("Solicitud De Descuento", SolicitudDescView.class, LineAwesomeIcon.COINS_SOLID.create()));
nav.addItem(new SideNavItem("Recibo Digital", ReciboDgtalView.class, LineAwesomeIcon.FILE_ALT.create()));
nav.addItem(new SideNavItem("Verificacion", VerificacionView.class, LineAwesomeIcon.CHECK_CIRCLE_SOLID.create()));
- nav.addItem(new SideNavItem("PGO y Tomas independientes", PgoTomasView.class, LineAwesomeIcon.MONEY_BILL_ALT.create()));
+ nav.addItem(new SideNavItem("PGO y Tomas independientes", PgoTomasView.class, LineAwesomeIcon.TINT_SOLID.create()));
nav.addItem(new SideNavItem("Descuento Especial", DescEspView.class, LineAwesomeIcon.MONEY_BILL_ALT.create()));
return nav;
diff --git a/src/main/java/mx/gob/jumapacelaya/views/PgoTomasView.java b/src/main/java/mx/gob/jumapacelaya/views/PgoTomasView.java
index 6ac3a6a..e511587 100644
--- a/src/main/java/mx/gob/jumapacelaya/views/PgoTomasView.java
+++ b/src/main/java/mx/gob/jumapacelaya/views/PgoTomasView.java
@@ -1,18 +1,106 @@
package mx.gob.jumapacelaya.views;
+import com.vaadin.flow.component.button.Button;
+import com.vaadin.flow.component.button.ButtonVariant;
import com.vaadin.flow.component.html.H1;
+import com.vaadin.flow.component.html.H2;
+import com.vaadin.flow.component.html.H3;
+import com.vaadin.flow.component.html.Span;
+import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
+import com.vaadin.flow.component.textfield.NumberField;
+import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.Route;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+
@PageTitle("PGO y Tomas Indep")
@Route(value = "pgotomasindep", layout = MainLayout.class)
public class PgoTomasView extends VerticalLayout {
public PgoTomasView() {
- VerticalLayout layout = new VerticalLayout();
- H1 titulo = new H1("Solicitud Desc");
- add(titulo);
+ cabezera();
+ titulo();
+ formulario();
+ }
+
+
+ private void cabezera() {
+
+ HorizontalLayout encabezadoLayout = new HorizontalLayout();
+ encabezadoLayout.setWidthFull();
+ encabezadoLayout.setPadding(true);
+
+ // Obtener la fecha actual del sistema
+ LocalDate fechaSistema = LocalDate.now();
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEEE d 'de' MMMM 'del' yyyy");
+ String fechaFormateada = fechaSistema.format(formatter);
+
+ Span fecha = new Span();
+ fecha.setText("Celaya, Guanajuato a " + fechaFormateada);
+
+ H2 presolicitud = new H2();
+ presolicitud.setText("PreSolicitud");
+
+ encabezadoLayout.add(fecha);
+ encabezadoLayout.addAndExpand(new HorizontalLayout());
+ encabezadoLayout.add(presolicitud);
+ this.add(encabezadoLayout);
+ }
+
+
+ private void titulo() {
+
+ HorizontalLayout tituloLayout = new HorizontalLayout();
+
+ H2 lblTitulo = new H2();
+ lblTitulo.setText("JUNTA MUNICIPAL DE AGUA POTABLE Y ALCANTARILLADO DE CELAYA, GTO");
+
+
+ tituloLayout.add(lblTitulo);
+
+ this.add(tituloLayout);
+ }
+
+
+ private void formulario() {
+ VerticalLayout formularioLayout = new VerticalLayout();
+ //formularioLayout.getStyle().set("background-color", "green");
+ formularioLayout.setSpacing(true);
+ formularioLayout.setPadding(true);
+
+ H3 label = new H3();
+ label.setText("Solicitud de Verificación PGO-Toma independiente [USUARIO]");
+
+ Span labelTexto = new Span();
+ labelTexto.setText("Prepara la solicitud:");
+
+
+
+ NumberField predio = new NumberField("Predio:");
+
+ TextField solicitante = new TextField("Solicitante:");
+ solicitante.setWidth("30em");
+
+
+ HorizontalLayout identificacionLayout = new HorizontalLayout();
+ identificacionLayout.setWidthFull();
+
+
+
+ Button btnVerSolicitud = new Button("Ver Solic. Verificación");
+ btnVerSolicitud.addThemeVariants(ButtonVariant.LUMO_PRIMARY);
+ btnVerSolicitud.addThemeVariants(ButtonVariant.LUMO_LARGE);
+
+
+ formularioLayout.add(label, labelTexto,
+ predio,
+ solicitante,
+ identificacionLayout);
+ formularioLayout.setSpacing(false);
+ this.add(formularioLayout, btnVerSolicitud);
}
}
diff --git a/src/main/java/mx/gob/jumapacelaya/views/ReciboDgtalView.java b/src/main/java/mx/gob/jumapacelaya/views/ReciboDgtalView.java
index 56ee6e4..ad5a3f9 100644
--- a/src/main/java/mx/gob/jumapacelaya/views/ReciboDgtalView.java
+++ b/src/main/java/mx/gob/jumapacelaya/views/ReciboDgtalView.java
@@ -1,19 +1,122 @@
package mx.gob.jumapacelaya.views;
+import com.vaadin.flow.component.button.Button;
+import com.vaadin.flow.component.button.ButtonVariant;
+import com.vaadin.flow.component.checkbox.CheckboxGroup;
+import com.vaadin.flow.component.combobox.ComboBox;
import com.vaadin.flow.component.html.H1;
+import com.vaadin.flow.component.html.H2;
+import com.vaadin.flow.component.html.H3;
+import com.vaadin.flow.component.html.Span;
+import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
+import com.vaadin.flow.component.textfield.NumberField;
+import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.Route;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+
@PageTitle("Solicitud de Recibo Digital")
@Route(value = "recibodigital", layout = MainLayout.class)
public class ReciboDgtalView extends VerticalLayout {
public ReciboDgtalView() {
- VerticalLayout layout = new VerticalLayout();
- H1 titulo = new H1("Solicitud Desc");
+ cabezera();
+ titulo();
+ formulario();
+ }
+
+
+ private void cabezera() {
+
+ HorizontalLayout encabezadoLayout = new HorizontalLayout();
+ encabezadoLayout.setWidthFull();
+ encabezadoLayout.setPadding(true);
+
+ // Obtener la fecha actual del sistema
+ LocalDate fechaSistema = LocalDate.now();
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEEE d 'de' MMMM 'del' yyyy");
+ String fechaFormateada = fechaSistema.format(formatter);
+
+ Span fecha = new Span();
+ fecha.setText("Celaya, Guanajuato a " + fechaFormateada);
+
+ H2 presolicitud = new H2();
+ presolicitud.setText("PreSolicitud");
+
+ encabezadoLayout.add(fecha);
+ encabezadoLayout.addAndExpand(new HorizontalLayout());
+ encabezadoLayout.add(presolicitud);
+ this.add(encabezadoLayout);
+ }
+
+
+ private void titulo() {
+
+ HorizontalLayout tituloLayout = new HorizontalLayout();
+
+ H2 lblTitulo = new H2();
+ lblTitulo.setText("JUNTA MUNICIPAL DE AGUA POTABLE Y ALCANTARILLADO DE CELAYA, GTO");
+
+
+ tituloLayout.add(lblTitulo);
+
+ this.add(tituloLayout);
+ }
+
+
+ private void formulario() {
+ VerticalLayout formularioLayout = new VerticalLayout();
+ //formularioLayout.getStyle().set("background-color", "green");
+ formularioLayout.setSpacing(true);
+ formularioLayout.setPadding(true);
+
+ H3 label = new H3();
+ label.setText("Solicitud de Recibo Digital [USUARIO]");
+
+ Span labelTexto = new Span();
+ labelTexto.setText("Prepara la solicitud:");
+
+
+ CheckboxGroup tipoSolicitudGroup = new CheckboxGroup<>("Elige el tipo de Solicitud:");
+ tipoSolicitudGroup.setItems("Recargos", "Infracciones", "Ajuste de Facturas");
+
+
+ NumberField predio = new NumberField("Predio:");
+
+ TextField solicitante = new TextField("Solicitante:");
+ solicitante.setWidth("30em");
+
+ TextField txtParentesco = new TextField("Parentesco:");
+
+ HorizontalLayout identificacionLayout = new HorizontalLayout();
+ identificacionLayout.setWidthFull();
+
+ Span identificacionTexto = new Span();
+ identificacionTexto.setText("Se identifica con:");
+
+ ComboBox cmbTipoIdentificacion = new ComboBox<>();
+ cmbTipoIdentificacion.setPlaceholder("Selecciona una opcion");
+ cmbTipoIdentificacion.setItems("INE/IFE", "Lic. de conducir", "Pasaporte", "Cedula prof.", "Visa", "Otro...");
+
+ TextField numIdentificacion = new TextField();
+ numIdentificacion.setPlaceholder("No. identificacion");
+ numIdentificacion.setWidthFull();
+
+ Button btnVerSolicitud = new Button("Ver Solicitud");
+ btnVerSolicitud.addThemeVariants(ButtonVariant.LUMO_PRIMARY);
+ btnVerSolicitud.addThemeVariants(ButtonVariant.LUMO_LARGE);
+
- add(titulo);
+ identificacionLayout.add(cmbTipoIdentificacion, numIdentificacion);
+ formularioLayout.add(label, labelTexto,
+ tipoSolicitudGroup, predio,
+ solicitante, identificacionTexto,
+ identificacionLayout, txtParentesco);
+ formularioLayout.setSpacing(false);
+ this.add(formularioLayout, btnVerSolicitud);
}
}
diff --git a/src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java b/src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java
index 0e4d0df..e6850e9 100644
--- a/src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java
+++ b/src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java
@@ -10,6 +10,7 @@ import com.vaadin.flow.component.html.H3;
import com.vaadin.flow.component.html.Span;
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
+import com.vaadin.flow.component.radiobutton.RadioButtonGroup;
import com.vaadin.flow.component.textfield.NumberField;
import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.router.BeforeEnterEvent;
@@ -88,8 +89,8 @@ public class SolicitudDescView extends VerticalLayout {
labelTexto.setText("Prepara la solicitud:");
- CheckboxGroup tipoSolicitudGroup = new CheckboxGroup<>("Elige el tipo de Solicitud:");
- tipoSolicitudGroup.setItems("Recargos", "Infracciones", "Ajuste de Facturas");
+ RadioButtonGroup tipoSolicitudGroup = new RadioButtonGroup<>("Elige el tipo de Solicitud:");
+ tipoSolicitudGroup.setItems("Recargos", "Infracciones", "Ajuste de Facturas", "Descuento Especial Pago Anual");
NumberField predio = new NumberField("Predio:");
@@ -122,8 +123,8 @@ public class SolicitudDescView extends VerticalLayout {
formularioLayout.add(label, labelTexto,
tipoSolicitudGroup, predio,
solicitante, identificacionTexto,
- identificacionLayout, txtParentesco,
- btnVerSolicitud);
- this.add(formularioLayout);
+ identificacionLayout, txtParentesco);
+ formularioLayout.setSpacing(false);
+ this.add(formularioLayout, btnVerSolicitud);
}
}
diff --git a/src/main/java/mx/gob/jumapacelaya/views/VerificacionView.java b/src/main/java/mx/gob/jumapacelaya/views/VerificacionView.java
index eb50f30..20b8f4b 100644
--- a/src/main/java/mx/gob/jumapacelaya/views/VerificacionView.java
+++ b/src/main/java/mx/gob/jumapacelaya/views/VerificacionView.java
@@ -1,18 +1,108 @@
package mx.gob.jumapacelaya.views;
+import com.vaadin.flow.component.button.Button;
+import com.vaadin.flow.component.button.ButtonVariant;
+import com.vaadin.flow.component.checkbox.CheckboxGroup;
+import com.vaadin.flow.component.combobox.ComboBox;
import com.vaadin.flow.component.html.H1;
+import com.vaadin.flow.component.html.H2;
+import com.vaadin.flow.component.html.H3;
+import com.vaadin.flow.component.html.Span;
+import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
+import com.vaadin.flow.component.textfield.NumberField;
+import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.Route;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+
@PageTitle("Verificacion")
@Route(value = "verificacion", layout = MainLayout.class)
public class VerificacionView extends VerticalLayout {
public VerificacionView() {
- VerticalLayout layout = new VerticalLayout();
- H1 titulo = new H1("Solicitud Desc");
- add(titulo);
+ cabezera();
+ titulo();
+ formulario();
+ }
+
+
+ private void cabezera() {
+
+ HorizontalLayout encabezadoLayout = new HorizontalLayout();
+ encabezadoLayout.setWidthFull();
+ encabezadoLayout.setPadding(true);
+
+ // Obtener la fecha actual del sistema
+ LocalDate fechaSistema = LocalDate.now();
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEEE d 'de' MMMM 'del' yyyy");
+ String fechaFormateada = fechaSistema.format(formatter);
+
+ Span fecha = new Span();
+ fecha.setText("Celaya, Guanajuato a " + fechaFormateada);
+
+ H2 presolicitud = new H2();
+ presolicitud.setText("PreSolicitud");
+
+ encabezadoLayout.add(fecha);
+ encabezadoLayout.addAndExpand(new HorizontalLayout());
+ encabezadoLayout.add(presolicitud);
+ this.add(encabezadoLayout);
+ }
+
+
+ private void titulo() {
+
+ HorizontalLayout tituloLayout = new HorizontalLayout();
+
+ H2 lblTitulo = new H2();
+ lblTitulo.setText("JUNTA MUNICIPAL DE AGUA POTABLE Y ALCANTARILLADO DE CELAYA, GTO");
+
+
+ tituloLayout.add(lblTitulo);
+
+ this.add(tituloLayout);
+ }
+
+
+ private void formulario() {
+ VerticalLayout formularioLayout = new VerticalLayout();
+ //formularioLayout.getStyle().set("background-color", "green");
+ formularioLayout.setSpacing(true);
+ formularioLayout.setPadding(true);
+
+ H3 label = new H3();
+ label.setText("Solicitud de Verificación [USUARIO]");
+
+ Span labelTexto = new Span();
+ labelTexto.setText("Prepara la solicitud:");
+
+
+
+ NumberField predio = new NumberField("Predio:");
+
+ TextField solicitante = new TextField("Solicitante:");
+ solicitante.setWidth("30em");
+
+
+ HorizontalLayout identificacionLayout = new HorizontalLayout();
+ identificacionLayout.setWidthFull();
+
+
+
+ Button btnVerSolicitud = new Button("Ver Solic. Verificación");
+ btnVerSolicitud.addThemeVariants(ButtonVariant.LUMO_PRIMARY);
+ btnVerSolicitud.addThemeVariants(ButtonVariant.LUMO_LARGE);
+
+
+ formularioLayout.add(label, labelTexto,
+ predio,
+ solicitante,
+ identificacionLayout);
+ formularioLayout.setSpacing(false);
+ this.add(formularioLayout, btnVerSolicitud);
}
}