- database/07_add_pago_domicilio.sql: 6 columnas nuevas en lab_domicilios (pago_estado ENUM, pago_modo, pago_monto, pago_fecha, pago_notas, pago_registrado_por) - Domicilio::filtrarCampos(): permite guardar campos de pago vía actualizar() - Enfermera::agenda(): incluye valor_domicilio, valor_copago, pago_estado, pago_modo, pago_monto, pago_notas - api/lab/registrar_pago.php: endpoint POST para registrar/actualizar pago del domicilio - enfermero_portal.php: bloque cobro en card, modal registrar pago (efectivo/transferencia/exento), objeto pagoModal JS - lab_domicilios.php: badge pago ⏳/✅/🔵 en fila tabla, sección pago detallada en panel lateral
34 lines
1.4 KiB
SQL
34 lines
1.4 KiB
SQL
-- ============================================================
|
|
-- Migration: 07_add_pago_domicilio
|
|
-- Agrega campos de pago del cliente a lab_domicilios
|
|
-- ============================================================
|
|
|
|
ALTER TABLE `lab_domicilios`
|
|
ADD COLUMN IF NOT EXISTS `pago_estado` ENUM('pendiente','pagado','exento') NOT NULL DEFAULT 'pendiente'
|
|
COMMENT 'Estado del pago del cliente: pendiente / pagado / exento'
|
|
AFTER `valor_copago`,
|
|
|
|
ADD COLUMN IF NOT EXISTS `pago_modo` ENUM('efectivo','transferencia','otro') DEFAULT NULL
|
|
COMMENT 'Medio de pago usado por el cliente'
|
|
AFTER `pago_estado`,
|
|
|
|
ADD COLUMN IF NOT EXISTS `pago_monto` DECIMAL(12,2) DEFAULT NULL
|
|
COMMENT 'Monto efectivamente cobrado al cliente'
|
|
AFTER `pago_modo`,
|
|
|
|
ADD COLUMN IF NOT EXISTS `pago_fecha` DATETIME DEFAULT NULL
|
|
COMMENT 'Fecha y hora en que se registró el pago'
|
|
AFTER `pago_monto`,
|
|
|
|
ADD COLUMN IF NOT EXISTS `pago_notas` VARCHAR(255) DEFAULT NULL
|
|
COMMENT 'Observaciones del pago (referencia transferencia, etc.)'
|
|
AFTER `pago_fecha`,
|
|
|
|
ADD COLUMN IF NOT EXISTS `pago_registrado_por` INT DEFAULT NULL
|
|
COMMENT 'FK al enfermero/admin que registró el pago'
|
|
AFTER `pago_notas`;
|
|
|
|
-- Índice para consultas rápidas por estado de pago
|
|
ALTER TABLE `lab_domicilios`
|
|
ADD INDEX IF NOT EXISTS `idx_pago_estado` (`pago_estado`);
|