feat: sistema de pagos domicilios — cobro enfermero y estado pago admin
- 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
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
-- ============================================================
|
||||
-- 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`);
|
||||
Reference in New Issue
Block a user