The TEI’s payment system tracks enrollment and up to 7 monthly tuition payments per semester period. Each student has exactly oneDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/LuisAMoralesA/tallerIngles-UAEMEcatepec/llms.txt
Use this file to discover all available pages before exploring further.
payment record, represented by the Payment model class (model.Tables.Payment). Administrators update payment status; students view their current standing in a read-only table. The payment calendar (pay_simbology table) defines the amounts, months, and deadlines for each slot and is managed separately by administrators.
Estructura del seguimiento de pago
Thepayment table maps directly to the Payment Java model and contains the following fields:
| Campo | Tipo | Descripción |
|---|---|---|
id_payment | INT (PK) | Identificador del registro |
register_payment | BOOLEAN | ¿Pagó la inscripción? |
pay_1 | BOOLEAN | Mensualidad 1 pagada |
pay_2 | BOOLEAN | Mensualidad 2 pagada |
pay_3 | BOOLEAN | Mensualidad 3 pagada |
pay_4 | BOOLEAN | Mensualidad 4 pagada |
pay_5 | BOOLEAN | Mensualidad 5 pagada |
pay_6 | BOOLEAN | Mensualidad 6 pagada |
pay_7 | BOOLEAN | Mensualidad 7 pagada |
payment_status | INT (FK) | Estado del alumno: Activo, Baja, Pendiente (tabla payment_status) |
false and payment_status = 1 (Activo).
Ver seguimiento de pago (alumno)
Students navigate to/view/pagos/seguimientoPago.jsp from the Seguimiento item in their lateral menu. The page uses the pagos session attribute (set at login as per.getId_payment_student()) to load the correct payment record without requiring any URL parameter.
The page renders two tables:
-
Tabla de estado general — shows the student’s current status (
payment_status), the current month, and the active semester period. -
Tabla de mensualidades — one row per calendar slot from
pay_simbology, filtered for the current period viabase.obtenerCalendarioFiltrado(). Each row shows:Columna Descripción # Número de orden Mes Correspondiente Nombre del mes del calendario Concepto de Pago Descripción del concepto (e.g., “Inscripción”, “Mensualidad Enero”) Costo ($) Importe en MXN Fecha de Corte Fecha límite, o “NO APLICA” si deadline_payesnullEstatus de Referencia ”PAGADO” (verde) o “PENDIENTE” (rojo), rendered via JSP inline styleattributes server-side
rgba(63, 166, 83, 0.5) for paid, red rgba(245, 39, 39, 0.5) for pending. The seguimientoPagoJScript.js file handles dynamic color updates when an administrator changes a dropdown value — it does not control the student read-only view.
Actualizar pagos (administrador)
Localizar el registro del alumno
From the student list at
/view/listas/listaAlumnos.jsp, click the payment icon next to the
student to navigate to their payment record.Abrir la vista de seguimiento de pago
The administrator is taken to
/view/pagos/seguimientoPago.jsp?idPay={id_payment}. The idPay
query parameter overrides the session-based lookup so the admin can view any student’s record.Actualizar estado y mensualidades
For administrators, each payment slot renders as a
<select> dropdown (PAGADA / PENDIENTE) with a
matching color background. The student status dropdown also becomes editable, with all options from
the payment_status table.Enviar el formulario
Click Actualizar Pagos. A SweetAlert confirmation dialog appears. On confirmation, the form
submits
POST /tallerDeInglesUAEM/updatePay. The servlet:- Reads
idPayment(int) from the request - Reads each payment checkbox/select using null-safe comparison:
"1".equals(request.getParameter("mensualidadX")) - Reads
status(int) for thepayment_statusFK - Builds a
Paymentobject and callsbd.actualizarSeguimientoDePago(pay) - Sets a success message in the session and redirects to
/view/listas/listaAlumnos.jsp
Calendario de mensualidades
Thepay_simbology table defines the payment calendar. Administrators manage individual calendar rows at /view/pagos/calendario.jsp. Clicking the pen icon next to a row loads the same page with ?id_month={id_pay}, converting the table into an editable form that submits to POST /tallerDeInglesUAEM/updateSchedule.
Each row of pay_simbology represents one payment period entry:
| Campo | Descripción |
|---|---|
month | Nombre del mes (e.g., Enero, Febrero, NA para inscripción) |
description_pay | Descripción del concepto de pago |
cost_pay | Costo en MXN (editable en pasos de 50.0) |
period_pay | Periodo de vigencia: Periodo A, Periodo B, o Cualquiera |
deadline_pay | Fecha límite de pago (tipo DATE); null si no aplica |
month = "NA" are highlighted in red on the calendar table to indicate special entries (e.g., inscription/re-inscription) with no specific month mapping.
Cambiar periodo semestral
The calendar supports two semesters: Periodo A and Periodo B. Administrators switch the active period by clicking Actualizar periodo on the calendar page. This submits a form toPOST /tallerDeInglesUAEM/updatePeriodo with a single hidden parameter, periodoActual, containing the currently displayed period string. The updatePeriodo servlet calls bd.actualizarCalendario(periodoActual), which toggles all non-Cualquiera rows from A to B or B to A.
seguimientoPago.jsp and vistaCalificaciones.jsp is determined at runtime by base.obtenerPeriodo(mesActual), which looks up the current month in pay_simbology. If the current month is not found (e.g., during a transition), it falls back to base.obtenerPeriodo(1), the first entry in the calendar table.