diff --git a/src/main/java/mx/gob/jumapacelaya/Services/PredioService.java b/src/main/java/mx/gob/jumapacelaya/Services/PredioService.java new file mode 100644 index 0000000..b7e9dbd --- /dev/null +++ b/src/main/java/mx/gob/jumapacelaya/Services/PredioService.java @@ -0,0 +1,62 @@ +package mx.gob.jumapacelaya.Services; + +import mx.gob.jumapacelaya.models.Predio; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.RowMapper; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class PredioService { + + private final JdbcTemplate jdbcTemplate; + + public PredioService(JdbcTemplate jdbcTemplate) { + this.jdbcTemplate = jdbcTemplate; + } + + public List getInfoPredio(int predioId) { + List infoPredio = new ArrayList<>(); + String query = "Select predioid, clienteid, c.nombre nomcliente,\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" + + " edopredioid, e.nombre edopredio, usoid, u.nombre uso, actividadid, a.nombre actividad\n" + + " from predios p\n" + + " left join clientes c using (clienteid)\n" + + " left join estadospredio e using(edopredioid)\n" + + " left join usos u using (usoid)\n" + + " left join actividades a using (usoid, actividadid)\n" + + " left join marcasmedidor ma using(marcamedid)\n" + + " left join modelosmedidor mo using(marcamedid, modelomedid)\n" + + " where predioid=?"; + + return jdbcTemplate.query(query, new Object[]{predioId}, predioRowMapper()); + } + + private RowMapper predioRowMapper() { + return (rs, rowNum) -> new Predio( + rs.getInt("PREDIOID"), + rs.getInt("CLIENTEID"), + rs.getString("NOMCLIENTE"), + rs.getString("DIRECCION"), + rs.getString("DIRECCIONMOSTRAR"), + rs.getString("DIRECCIONCORTA"), + rs.getString("TELEFONO"), + rs.getString("COORDX"), + rs.getString("COORDY"), + rs.getString("ZONAFACTID"), + rs.getString("SERIALMED"), + rs.getString("MARCAMED"), + rs.getString("MODELOMED"), + rs.getString("EDOPREDIOID"), + rs.getString("EDOPREDIO"), + rs.getString("USOID"), + rs.getString("USO"), + rs.getInt("ACTIVIDADID"), + rs.getString("ACTIVIDAD") + ); + } +} diff --git a/src/main/java/mx/gob/jumapacelaya/models/Predio.java b/src/main/java/mx/gob/jumapacelaya/models/Predio.java new file mode 100644 index 0000000..5f8d8e5 --- /dev/null +++ b/src/main/java/mx/gob/jumapacelaya/models/Predio.java @@ -0,0 +1,203 @@ +package mx.gob.jumapacelaya.models; + +import java.math.BigInteger; + +public class Predio { + private int predioid; + private int clienteid; + private String nomcliente; + private String direccion; + private String direcmostrar; + private String direccorta; + private String telefono; + private String coordx; + private String coordy; + private String zonafacid; + private String serialmed; + private String marcamed; + private String modelomed; + private String edopredioid; + private String edopredio; + private String usoid; + private String uso; + private int actividadid; + private String actividad; + + + public Predio(int predioid, int clienteid, String nomcliente, 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.direccion = direccion; + this.direcmostrar = direcmostrar; + this.direccorta = direccorta; + this.telefono = telefono; + this.coordx = coordx; + this.coordy = coordy; + this.zonafacid = zonafacid; + this.serialmed = serialmed; + this.marcamed = marcamed; + this.modelomed = modelomed; + this.edopredioid = edopredioid; + this.edopredio = edopredio; + this.usoid = usoid; + this.uso = uso; + this.actividadid = actividadid; + this.actividad = actividad; + } + + public int getPredioid() { + return predioid; + } + + public void setPredioid(int predioid) { + this.predioid = predioid; + } + + public String getNomcliente() { + return nomcliente; + } + + public void setNomcliente(String nomcliente) { + this.nomcliente = nomcliente; + } + + public int getClienteid() { + return clienteid; + } + + public void setClienteid(int clienteid) { + this.clienteid = clienteid; + } + + public String getDireccion() { + return direccion; + } + + public void setDireccion(String direccion) { + this.direccion = direccion; + } + + public String getDirecmostrar() { + return direcmostrar; + } + + public void setDirecmostrar(String direcmostrar) { + this.direcmostrar = direcmostrar; + } + + public String getDireccorta() { + return direccorta; + } + + public void setDireccorta(String direccorta) { + this.direccorta = direccorta; + } + + public String getTelefono() { + return telefono; + } + + public void setTelefono(String telefono) { + this.telefono = telefono; + } + + public String getCoordx() { + return coordx; + } + + public void setCoordx(String coordx) { + this.coordx = coordx; + } + + public String getCoordy() { + return coordy; + } + + public void setCoordy(String coordy) { + this.coordy = coordy; + } + + public String getZonafacid() { + return zonafacid; + } + + public void setZonafacid(String zonafacid) { + this.zonafacid = zonafacid; + } + + public String getSerialmed() { + return serialmed; + } + + public void setSerialmed(String serialmed) { + this.serialmed = serialmed; + } + + public String getMarcamed() { + return marcamed; + } + + public void setMarcamed(String marcamed) { + this.marcamed = marcamed; + } + + public String getModelomed() { + return modelomed; + } + + public void setModelomed(String modelomed) { + this.modelomed = modelomed; + } + + public String getEdopredioid() { + return edopredioid; + } + + public void setEdopredioid(String edopredioid) { + this.edopredioid = edopredioid; + } + + public String getEdopredio() { + return edopredio; + } + + public void setEdopredio(String edopredio) { + this.edopredio = edopredio; + } + + public String getUsoid() { + return usoid; + } + + public void setUsoid(String usoid) { + this.usoid = usoid; + } + + public String getUso() { + return uso; + } + + public void setUso(String uso) { + this.uso = uso; + } + + public int getActividadid() { + return actividadid; + } + + public void setActividadid(int actividadid) { + this.actividadid = actividadid; + } + + public String getActividad() { + return actividad; + } + + public void setActividad(String actividad) { + this.actividad = actividad; + } +} diff --git a/src/main/java/mx/gob/jumapacelaya/views/EstudioSocioForm.java b/src/main/java/mx/gob/jumapacelaya/views/EstudioSocioForm.java new file mode 100644 index 0000000..c60fa72 --- /dev/null +++ b/src/main/java/mx/gob/jumapacelaya/views/EstudioSocioForm.java @@ -0,0 +1,65 @@ +package mx.gob.jumapacelaya.views; + +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 java.awt.font.TextHitInfo; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + +@PageTitle("Estudio Socioeconomico") +@Route(value = "estudio", layout = MainLayout.class) +public class EstudioSocioForm extends VerticalLayout { + + public EstudioSocioForm() { + this.setSizeFull(); + this.setSpacing(false); + cabezera(); + titulo(); + + } + + 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); + + Image logoJmpa = new Image("images/LOGO_24'27.PNG", "JUMAPA logo"); + logoJmpa.setWidth("110px"); + logoJmpa.setHeight("50px"); + + + encabezadoLayout.add(logoJmpa); + encabezadoLayout.addAndExpand(new HorizontalLayout()); + encabezadoLayout.add(fecha); + encabezadoLayout.addAndExpand(new HorizontalLayout()); + this.add(encabezadoLayout); + } + + + private void titulo() { + + VerticalLayout tituloLayout = new VerticalLayout(); + tituloLayout.setAlignItems(Alignment.CENTER); + + H4 lblTitulo = new H4(); + lblTitulo.setText("VALORACIÓN DE CONDICIÓN SOCIOECONÓMICA DE USUARIOS DOMÉSTICOS"); + + + tituloLayout.add(lblTitulo); + + this.add(tituloLayout); + } +} diff --git a/src/main/java/mx/gob/jumapacelaya/views/HomeView.java b/src/main/java/mx/gob/jumapacelaya/views/HomeView.java index 46f1f42..d9b03f0 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/HomeView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/HomeView.java @@ -1,11 +1,17 @@ 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.combobox.ComboBox; import com.vaadin.flow.component.html.H1; import com.vaadin.flow.component.html.H3; import com.vaadin.flow.component.html.Paragraph; +import com.vaadin.flow.component.icon.Icon; +import com.vaadin.flow.component.icon.VaadinIcon; import com.vaadin.flow.component.notification.Notification; +import com.vaadin.flow.component.notification.NotificationVariant; +import com.vaadin.flow.component.orderedlayout.FlexComponent; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.router.*; @@ -135,11 +141,47 @@ public class HomeView extends VerticalLayout { UI.getCurrent().navigate(route + "?usuarioid=" + username); } else { - Notification.show("Por favor, selecciona un usuario primero."); + notificacion("Por favor, selecciona un usuario primero."); } }); card.add(cardTitle, description); return card; } + + private void notificacion(String message) { + Notification notification = new Notification(); + notification.setPosition(Notification.Position.MIDDLE); + notification.addThemeVariants(NotificationVariant.LUMO_WARNING); + notification.setDuration(0); + + Icon warningIcon = new Icon(VaadinIcon.WARNING); + warningIcon.setSize("48px"); + warningIcon.getStyle().set("margin-bottom", "10px"); + + + Paragraph messajeTexto = new Paragraph(message); + messajeTexto.getStyle().set("margin", "0").set("text-align", "center"); + + Button closeButton = new Button("OK", event -> notification.close()); + closeButton.addThemeVariants(ButtonVariant.LUMO_TERTIARY_INLINE); + closeButton.getElement().setAttribute("arial-label", "Cerrar"); + + VerticalLayout buttonsLayout = new VerticalLayout(warningIcon, messajeTexto, closeButton); + buttonsLayout.setAlignItems(Alignment.CENTER); + buttonsLayout.setSpacing(false); + buttonsLayout.setPadding(false); + buttonsLayout.setWidthFull(); + + VerticalLayout wrapper = new VerticalLayout(buttonsLayout); + wrapper.setPadding(true); + wrapper.setSpacing(false); + wrapper.getStyle().set("position", "relative"); + wrapper.getStyle().set("padding", "10px"); + wrapper.setWidth("100%"); + + + notification.add(wrapper); + notification.open(); + } } diff --git a/src/main/java/mx/gob/jumapacelaya/views/MainLayout.java b/src/main/java/mx/gob/jumapacelaya/views/MainLayout.java index 6466beb..0d4b3d2 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/MainLayout.java +++ b/src/main/java/mx/gob/jumapacelaya/views/MainLayout.java @@ -13,6 +13,7 @@ import com.vaadin.flow.router.Layout; import com.vaadin.flow.server.auth.AnonymousAllowed; import com.vaadin.flow.server.menu.MenuConfiguration; import com.vaadin.flow.theme.lumo.LumoUtility; +import mx.gob.jumapacelaya.views.tiposSolicitud.DescEspView; import org.vaadin.lineawesome.LineAwesomeIcon; /** @@ -59,7 +60,6 @@ public class MainLayout extends AppLayout { 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.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/ReciboDgtalView.java b/src/main/java/mx/gob/jumapacelaya/views/ReciboDgtalView.java index 8006391..2005b3f 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/ReciboDgtalView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/ReciboDgtalView.java @@ -84,9 +84,6 @@ public class ReciboDgtalView extends VerticalLayout implements BeforeEnterObserv 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:"); @@ -115,8 +112,7 @@ public class ReciboDgtalView extends VerticalLayout implements BeforeEnterObserv identificacionLayout.add(cmbTipoIdentificacion, numIdentificacion); - formularioLayout.add(label, labelTexto, - tipoSolicitudGroup, predio, + formularioLayout.add(label, labelTexto, predio, solicitante, identificacionTexto, identificacionLayout, txtParentesco); formularioLayout.setSpacing(false); diff --git a/src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java b/src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java index 992840c..9d825c4 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java @@ -1,13 +1,12 @@ 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; 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.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.component.radiobutton.RadioButtonGroup; @@ -17,7 +16,12 @@ 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 mx.gob.jumapacelaya.Services.PredioService; +import mx.gob.jumapacelaya.models.Predio; +import mx.gob.jumapacelaya.views.tiposSolicitud.InfraccionesView; +import org.aspectj.weaver.ast.Not; import org.hibernate.annotations.DialectOverride; +import org.springframework.beans.factory.annotation.Autowired; import java.time.LocalDate; import java.time.format.DateTimeFormatter; @@ -29,9 +33,12 @@ import java.util.List; public class SolicitudDescView extends VerticalLayout implements BeforeEnterObserver { private H3 label; + private final PredioService predioService; - public SolicitudDescView() { + @Autowired + public SolicitudDescView(PredioService predioService) { this.setSizeFull(); + this.predioService = predioService; cabezera(); titulo(); @@ -95,7 +102,7 @@ public class SolicitudDescView extends VerticalLayout implements BeforeEnterObse tipoSolicitudGroup.setItems("Recargos", "Infracciones", "Ajuste de Facturas", "Descuento Especial Pago Anual"); - NumberField predio = new NumberField("Predio:"); + NumberField predioTxt = new NumberField("Predio:"); TextField solicitante = new TextField("Solicitante:"); solicitante.setWidth("30em"); @@ -120,10 +127,57 @@ public class SolicitudDescView extends VerticalLayout implements BeforeEnterObse btnVerSolicitud.addThemeVariants(ButtonVariant.LUMO_PRIMARY); btnVerSolicitud.addThemeVariants(ButtonVariant.LUMO_LARGE); + btnVerSolicitud.addClickListener(event -> { + String tipoSolicitud = tipoSolicitudGroup.getValue(); + + if (predioTxt.getValue() != null) { + int predioId = predioTxt.getValue().intValue(); + List predios = predioService.getInfoPredio(predioId); + + if (!predios.isEmpty()) { + Predio resultado = predios.get(0); + + 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()); + + } else { + Notification.show("No se encontro informacion del predio", 3000, Notification.Position.MIDDLE); + } + } else { + Notification.show("Ingresa un numero de predio", 3000, Notification.Position.MIDDLE); + } + + + if (tipoSolicitud != null) { + switch (tipoSolicitud) { + case "Recargos": + UI.getCurrent().navigate("recargos"); + break; + case "Infracciones": + UI.getCurrent().navigate("infracciones"); + break; + case "Ajuste de Facturas": + UI.getCurrent().navigate("ajustefacturas"); + break; + case "Descuento Especial Pago Anual": + UI.getCurrent().navigate("descesp"); + break; + default: + Notification.show("Selecciona un tipo de solicitud", 3000, Notification.Position.MIDDLE); + } + } else { + Notification.show("Selecciona una opcion", 3000, Notification.Position.MIDDLE); + } + }); + identificacionLayout.add(cmbTipoIdentificacion, numIdentificacion); formularioLayout.add(label, labelTexto, - tipoSolicitudGroup, predio, + tipoSolicitudGroup, predioTxt, solicitante, identificacionTexto, identificacionLayout, txtParentesco); formularioLayout.setSpacing(false); diff --git a/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/AjusteFacView.java b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/AjusteFacView.java new file mode 100644 index 0000000..066dbd2 --- /dev/null +++ b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/AjusteFacView.java @@ -0,0 +1,106 @@ +package mx.gob.jumapacelaya.views.tiposSolicitud; + +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 mx.gob.jumapacelaya.views.MainLayout; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + +@PageTitle("Ajuste de Facturas") +@Route(value = "ajustefacturas", layout = MainLayout.class) +public class AjusteFacView extends VerticalLayout { + + public AjusteFacView() { + cabezera(); + titulo(); + body(); + sign(); + } + + 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("Firma Solicitud"); + + 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 pueda otorgar facilidades para regularizar " + + "la cuenta del predio PREDIOID, ubicado en DIRECCION, Rfcia: , a nombre de NOMBRE realizado alguna " + + "consideracion al adeudo para poder pagarlo de acuerdo a mis posibilidades económicas." + ); + + bodyLayout.add(lblPresente, parrafo1, 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/DescEspView.java b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/DescEspView.java similarity index 97% rename from src/main/java/mx/gob/jumapacelaya/views/DescEspView.java rename to src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/DescEspView.java index 4ad7d35..507d283 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/DescEspView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/DescEspView.java @@ -1,4 +1,4 @@ -package mx.gob.jumapacelaya.views; +package mx.gob.jumapacelaya.views.tiposSolicitud; import com.vaadin.flow.component.html.*; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; @@ -6,6 +6,7 @@ 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.views.MainLayout; import java.time.LocalDate; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/InfraccionesView.java b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/InfraccionesView.java new file mode 100644 index 0000000..b4e0fd2 --- /dev/null +++ b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/InfraccionesView.java @@ -0,0 +1,106 @@ +package mx.gob.jumapacelaya.views.tiposSolicitud; + +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 mx.gob.jumapacelaya.views.MainLayout; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + +@PageTitle("Infracciones") +@Route(value = "infracciones", layout = MainLayout.class) +public class InfraccionesView extends VerticalLayout { + + public InfraccionesView() { + cabezera(); + titulo(); + body(); + sign(); + } + + 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("Firma Solicitud"); + + 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 pueda otorgar facilidades para regularizar " + + "la cuenta del predio PREDIOID, ubicado en DIRECCION, Rfcia: , a nombre de NOMBRE realizado alguna " + + "consideracion al adeudo para poder pagarlo de acuerdo a mis posibilidades económicas." + ); + + bodyLayout.add(lblPresente, parrafo1, 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/tiposSolicitud/RecargosView.java b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/RecargosView.java new file mode 100644 index 0000000..9703e6f --- /dev/null +++ b/src/main/java/mx/gob/jumapacelaya/views/tiposSolicitud/RecargosView.java @@ -0,0 +1,106 @@ +package mx.gob.jumapacelaya.views.tiposSolicitud; + +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 mx.gob.jumapacelaya.views.MainLayout; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + +@PageTitle("Recargos") +@Route(value = "recargos", layout = MainLayout.class) +public class RecargosView extends VerticalLayout { + + public RecargosView() { + cabezera(); + titulo(); + body(); + sign(); + } + + 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("Firma Solicitud"); + + 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 pueda otorgar facilidades para regularizar " + + "la cuenta del predio: PREDIOID, ubicado en: DOMCILIO, Rfcia: , a nombre de NOMBRE realizando alguna " + + "consideracion al adeudo para poder pagarlo de acuerdo a mis posibilidades económicas." + ); + + bodyLayout.add(lblPresente, parrafo1, 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/resources/META-INF/resources/images/LOGO_24'27.png b/src/main/resources/META-INF/resources/images/LOGO_24'27.png new file mode 100644 index 0000000..055f9e8 Binary files /dev/null and b/src/main/resources/META-INF/resources/images/LOGO_24'27.png differ