# 👁️ Visualización de Declaración de Familiares en Admin Panel

## 📍 Ubicación en Filament Admin

**Ruta**: `/admin/worker-data-updates`

**Menú**: Gestión de Trabajadores → Actualizaciones de Datos

## 🎯 Cómo Ver las Declaraciones de Familiares

### 1. Acceder a la Lista de Actualizaciones

```
http://informados.test/admin/worker-data-updates
```

### 2. Filtrar por Tipo de Actualización

En la esquina superior derecha, encontrarás filtros:

```
┌─────────────────────────────────────────────────┐
│  Filtros:                                       │
│  ┌─────────────────────────────────────────┐   │
│  │ Tipo de Actualización:                  │   │
│  │ [Seleccionar ▼]                         │   │
│  │   - Datos Personales                    │   │
│  │   - Datos Educativos                    │   │
│  │   - Declaración Familiar  ← NUEVO       │   │
│  │   - Ambos                               │   │
│  └─────────────────────────────────────────┘   │
└─────────────────────────────────────────────────┘
```

### 3. Identificar en la Tabla

Las actualizaciones de tipo "Declaración Familiar" aparecen con badge **morado**:

```
┌───────────────────────────────────────────────────────────────────┐
│  Trabajador              │ Tipo              │ Estado            │
├───────────────────────────────────────────────────────────────────┤
│  JUAN PÉREZ GARCÍA      │ [🟣 Declaración    │ [🔵 Auto-        │
│  T001234                │      Familiar]     │      aprobado]    │
├───────────────────────────────────────────────────────────────────┤
│  MARÍA LÓPEZ SÁNCHEZ    │ [🔵 Datos          │ [🟢 Aprobado]    │
│  T001235                │      Personales]   │                   │
└───────────────────────────────────────────────────────────────────┘
```

### 4. Ver Detalles Completos

Click en el **ícono de ojo** 👁️ en la fila para abrir la vista detallada.

## 📋 Vista Detallada de la Declaración

### Estructura de la Vista

```
┌─────────────────────────────────────────────────────────────┐
│  Ver Actualización de Datos                                 │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  📊 Información del Trabajador                              │
│  ┌───────────────────────────────────────────────────────┐ │
│  │ Nombre Completo: JUAN CARLOS PÉREZ GARCÍA             │ │
│  │ Registro: T001234          DNI: 12345678              │ │
│  └───────────────────────────────────────────────────────┘ │
│                                                             │
│  📝 Declaración de Información de Familiares ▼ (Expandible)│
│  ┌───────────────────────────────────────────────────────┐ │
│  │                                                       │ │
│  │  1. Funcionarios Públicos                            │ │
│  │  ✅ Sí tiene familiares funcionarios públicos        │ │
│  │                                                       │ │
│  │  Familiares Funcionarios Públicos:                   │ │
│  │  ┌──────────────────┬──────────────────┐            │ │
│  │  │ Apellidos y      │ Juan Pérez       │            │ │
│  │  │ Nombres          │ García           │            │ │
│  │  ├──────────────────┼──────────────────┤            │ │
│  │  │ Parentesco       │ Tío (a)          │            │ │
│  │  ├──────────────────┼──────────────────┤            │ │
│  │  │ Entidad          │ Fuerza Aérea     │            │ │
│  │  │                  │ del Perú         │            │ │
│  │  ├──────────────────┼──────────────────┤            │ │
│  │  │ Cargo            │ Capitán FAP      │            │ │
│  │  └──────────────────┴──────────────────┘            │ │
│  │                                                       │ │
│  │  ┌──────────────────┬──────────────────┐            │ │
│  │  │ Apellidos y      │ María García     │            │ │
│  │  │ Nombres          │ López            │            │ │
│  │  ├──────────────────┼──────────────────┤            │ │
│  │  │ Parentesco       │ Prima (a)        │            │ │
│  │  ├──────────────────┼──────────────────┤            │ │
│  │  │ Entidad          │ SUNAT            │            │ │
│  │  ├──────────────────┼──────────────────┤            │ │
│  │  │ Cargo            │ Auditora         │            │ │
│  │  └──────────────────┴──────────────────┘            │ │
│  │                                                       │ │
│  │  ─────────────────────────────────────────────────   │ │
│  │                                                       │ │
│  │  2. Trabajadores de SMCV                             │ │
│  │  ✅ Sí tiene familiares en SMCV                      │ │
│  │                                                       │ │
│  │  Familiares en SMCV:                                 │ │
│  │  ┌─────────┬────────────┬──────────────────┐        │ │
│  │  │ Nombre  │ Parentesco │ Área             │        │ │
│  │  ├─────────┼────────────┼──────────────────┤        │ │
│  │  │ Carlos  │ Hermano    │ Mantenimiento    │        │ │
│  │  │ López   │            │ Mina Acarreo     │        │ │
│  │  └─────────┴────────────┴──────────────────┘        │ │
│  │                                                       │ │
│  │  ─────────────────────────────────────────────────   │ │
│  │                                                       │ │
│  │  3. Relación Familiar/Empresarial con Contratistas   │ │
│  │  ❌ No tiene relación con contratistas               │ │
│  │                                                       │ │
│  └───────────────────────────────────────────────────────┘ │
│                                                             │
│  📊 Estado y Revisión                                       │
│  ┌───────────────────────────────────────────────────────┐ │
│  │ Estado: [Auto-aprobado]                               │ │
│  │ Notas del Administrador: (vacío)                      │ │
│  └───────────────────────────────────────────────────────┘ │
│                                                             │
│  🔍 Información de Auditoría  ▼                             │
│  ┌───────────────────────────────────────────────────────┐ │
│  │ Dirección IP: 192.168.1.100                           │ │
│  │ Fecha de Actualización: 04/06/2026 15:30:45          │ │
│  └───────────────────────────────────────────────────────┘ │
│                                                             │
│  [← Volver]                                                 │
└─────────────────────────────────────────────────────────────┘
```

## 🎨 Indicadores Visuales

### Estados de Respuesta

- **✅ Sí tiene familiares...** → Verde, indica respuesta positiva
- **❌ No tiene familiares...** → Rojo, indica respuesta negativa

### Colores de Badges

En la tabla principal:

| Tipo de Actualización | Color Badge | Texto |
|----------------------|-------------|-------|
| Datos Personales | 🔵 Azul (info) | Datos Personales |
| Datos Educativos | 🟡 Amarillo (warning) | Datos Educativos |
| **Declaración Familiar** | **🟣 Morado (purple)** | **Declaración Familiar** |
| Ambos | 🟢 Verde (success) | Ambos |

### Visibilidad de Secciones

#### Se muestra la sección completa SI:
- `family_data` existe en el registro

#### Se muestran subsecciones SI:
- **Funcionarios Públicos**: `has_public_officials = true` Y `public_officials` no está vacío
- **Trabajadores SMCV**: `has_smcv_workers = true` Y `smcv_workers` no está vacío
- **Relación Contratistas**: `has_contractor_relations = true` Y `contractor_relations` no está vacío

#### Ejemplo de Visibilidad Condicional

**Caso 1: Solo respondió "No" a todo**
```
┌─────────────────────────────────────────────────┐
│  📝 Declaración de Información de Familiares    │
│  ┌─────────────────────────────────────────┐   │
│  │ 1. Funcionarios Públicos                │   │
│  │ ❌ No tiene familiares funcionarios     │   │
│  │                                         │   │
│  │ 2. Trabajadores de SMCV                 │   │
│  │ ❌ No tiene familiares en SMCV          │   │
│  │                                         │   │
│  │ 3. Relación con Contratistas            │   │
│  │ ❌ No tiene relación con contratistas   │   │
│  └─────────────────────────────────────────┘   │
└─────────────────────────────────────────────────┘
```

**Caso 2: Tiene 2 funcionarios y 1 en SMCV**
```
┌─────────────────────────────────────────────────┐
│  📝 Declaración de Información de Familiares    │
│  ┌─────────────────────────────────────────┐   │
│  │ 1. Funcionarios Públicos                │   │
│  │ ✅ Sí tiene familiares funcionarios     │   │
│  │                                         │   │
│  │ [Tabla con 2 registros]                 │   │
│  │                                         │   │
│  │ 2. Trabajadores de SMCV                 │   │
│  │ ✅ Sí tiene familiares en SMCV          │   │
│  │                                         │   │
│  │ [Tabla con 1 registro]                  │   │
│  │                                         │   │
│  │ 3. Relación con Contratistas            │   │
│  │ ❌ No tiene relación con contratistas   │   │
│  └─────────────────────────────────────────┘   │
└─────────────────────────────────────────────────┘
```

## 🔍 Filtros Disponibles

### Filtro por Estado
- Pendiente
- Aprobado
- Rechazado
- Auto-aprobado

### Filtro por Tipo (actualizado)
- Datos Personales
- Datos Educativos
- **Declaración Familiar** ← NUEVO
- Ambos

### Filtro por Fecha
- Desde: [DatePicker]
- Hasta: [DatePicker]

## 📊 Columnas en la Tabla

| Columna | Descripción | Searchable | Sortable |
|---------|-------------|------------|----------|
| Trabajador | Nombre completo del trabajador | ✅ Sí (nombre y registro) | ✅ Sí |
| Registro | Código de registro | ✅ Sí | ✅ Sí |
| Tipo de Actualización | Badge con color según tipo | ❌ No | ✅ Sí |
| Estado | Badge con color según estado | ❌ No | ✅ Sí |
| Fecha | Fecha y hora de actualización | ❌ No | ✅ Sí |
| Revisado por | Usuario que aprobó/rechazó | ❌ No | ❌ No |

**Nota**: La columna "Revisado por" está oculta por defecto. Puedes mostrarla desde el botón de columnas.

## 🎯 Casos de Uso para Administradores

### Caso 1: Revisar todas las declaraciones de familiares

```
1. Ir a /admin/worker-data-updates
2. Aplicar filtro: Tipo = "Declaración Familiar"
3. Ver lista de todos los trabajadores que declararon
4. Click en cada uno para ver detalles
```

### Caso 2: Buscar declaración de un trabajador específico

```
1. Ir a /admin/worker-data-updates
2. Usar buscador: Escribir nombre o registro
3. Click en el registro encontrado
4. Expandir sección "Declaración de Información de Familiares"
```

### Caso 3: Revisar declaraciones auto-aprobadas

```
1. Ir a /admin/worker-data-updates
2. Aplicar filtros:
   - Estado = "Auto-aprobado"
   - Tipo = "Declaración Familiar"
3. Ver todas las declaraciones que se aplicaron automáticamente
```

### Caso 4: Exportar datos de declaraciones

```
1. Ir a /admin/worker-data-updates
2. Aplicar filtro: Tipo = "Declaración Familiar"
3. Seleccionar registros deseados
4. Click en "Exportar" (si está habilitado)
```

## 📦 Estructura de Datos Mostrada

### JSON almacenado en `family_data`:

```json
{
  "has_public_officials": true,
  "public_officials": [
    {
      "full_name": "Juan Pérez García",
      "relationship": "Tío (a)",
      "institution": "Fuerza Aérea del Perú",
      "position": "Capitán FAP"
    }
  ],
  "has_smcv_workers": true,
  "smcv_workers": [
    {
      "full_name": "Carlos López",
      "relationship": "Hermano",
      "area": "Mantenimiento Mina Acarreo"
    }
  ],
  "has_contractor_relations": false,
  "contractor_relations": []
}
```

### Cómo se visualiza:

**Sección 1**: Muestra header "✅ Sí tiene" + Repeater con 1 item (Juan Pérez)
**Sección 2**: Muestra header "✅ Sí tiene" + Repeater con 1 item (Carlos López)
**Sección 3**: Muestra solo header "❌ No tiene" (sin repeater)

## ✨ Características Destacadas

✅ **Collapsible**: La sección completa se puede expandir/contraer
✅ **Read-Only**: Todos los campos están deshabilitados (solo lectura)
✅ **Conditional Display**: Solo muestra datos relevantes
✅ **Visual Indicators**: Iconos ✅/❌ para respuestas rápidas
✅ **Organized Layout**: Repeaters con columnas para mejor legibilidad
✅ **Consistent Styling**: Mantiene el diseño de Filament

## 🚀 Acciones Disponibles

Desde la vista detallada, el administrador puede:

1. **Ver todos los detalles** de la declaración
2. **Aprobar manualmente** (si está en estado pendiente)
3. **Rechazar** con notas explicativas
4. **Eliminar** el registro (si tiene permisos)
5. **Volver a la lista** para revisar más declaraciones

## 📝 Notas Importantes

- La sección **solo aparece** si existe `family_data` en el registro
- Las **subsecciones se ocultan** si no hay datos para mostrar
- Los campos son **read-only** (no editables desde admin)
- El administrador puede ver **toda la auditoría**: IP, fecha, user agent
- Las declaraciones se **auto-aprueban** por defecto (configurable)

## 🎉 Beneficios para el Admin

✅ **Vista Centralizada**: Todas las declaraciones en un solo lugar
✅ **Filtrado Rápido**: Encuentra declaraciones por tipo, estado, fecha
✅ **Búsqueda Eficiente**: Busca por nombre o registro del trabajador
✅ **Visualización Clara**: Indicadores visuales ✅/❌ para respuestas rápidas
✅ **Auditoría Completa**: Ve quién, cuándo y desde dónde se hizo la declaración
✅ **Exportable**: Puede exportar datos para análisis posterior
✅ **Sin Edición Accidental**: Campos bloqueados previenen cambios no autorizados
