Categorías de Trabajo
Organice sus actividades de trabajo en una estructura jerárquica para una mejor clasificación y análisis.
📂 Categorías de Trabajo
Las Categorías de Trabajo son un sistema de clasificación que le permite organizar sus actividades de trabajo en una estructura de árbol lógico. Piense en ellas como un sistema de "carpetas" donde agrupa todas las tareas de su proyecto para mantener el orden y facilitar los reportes.
Una buena estructura de categorías es fundamental para poder filtrar, agrupar y analizar sus reportes de progreso de manera eficiente.
Flujo de Configuración en 2 Pasos
Para configurar sus categorías, debe seguir un proceso de dos pasos que se realizan en páginas separadas de la aplicación:
Paso 1: Definir los Niveles de Categoría
Primero, debe ir a la sección Niveles de Categoría. Aquí es donde define la estructura de su árbol, sin crear todavía las categorías. Define cuántos niveles tendrá su jerarquía y cómo se llama cada uno.
Ejemplo de Niveles:
- Nivel 1: División Principal
- Nivel 2: Especialidad
- Nivel 3: Tipo de Trabajo
Paso 2: Crear las Categorías
Una vez definidos los niveles, vaya a la sección Categorías de Trabajo. Aquí es donde crea las "carpetas" que encajarán en la estructura que definió en el paso anterior.
Ejemplo de Categorías basadas en los niveles anteriores:
- Obras Civiles (Nivel 1: División Principal)
|- Estructuras (Nivel 2: Especialidad)
| |- Fundaciones (Nivel 3: Tipo de Trabajo)
| '- Superestructura (Nivel 3: Tipo de Trabajo)
'- Albañilería (Nivel 2: Especialidad)
'- Instalaciones (Nivel 1: División Principal)
|- Eléctricas (Nivel 2: Especialidad)
'- Sanitarias (Nivel 2: Especialidad)¿Para Qué Sirven las Categorías?
- Organización: Mantienen sus actividades ordenadas, especialmente en proyectos grandes.
- Análisis y Reportes: Permiten generar reportes de progreso agrupados. Por ejemplo, puede ver el avance total de "Obras Civiles" o filtrar un dashboard para ver solo las actividades de "Instalaciones Eléctricas".
- Facilidad de Búsqueda: Ayudan a encontrar rápidamente cualquier actividad en el sistema.
Gestión de Categorías y Niveles
- Crear: Defina primero sus niveles y luego cree las categorías, asignando cada una a su nivel y a su categoría "padre" correspondiente.
- Editar: Puede cambiar el nombre de una categoría o nivel en cualquier momento.
- Mover: Puede reorganizar su estructura moviendo una categoría a un lugar diferente del árbol.
- Eliminar: Solo puede eliminar categorías o niveles que no estén en uso (sin sub-categorías o actividades asociadas).
Estructura Jerárquica
Puede crear una estructura de categorías tan profunda como necesite, anidando unas dentro de otras.
Ejemplo de Estructura de Categorías:
- Proyecto Completo (Nivel 0)
|- Obras Civiles (Nivel 1)
| |- Estructuras (Nivel 2)
| | |- Fundaciones
| | '- Superestructura
| '- Albañilería (Nivel 2)
'- Instalaciones (Nivel 1)
|- Eléctricas (Nivel 2)
'- Sanitarias (Nivel 2)Cuando crea una actividad, debe asignarla a una de estas categorías.
Características Principales
🗂️ Organización Jerárquica
- Múltiples niveles: Estructura de árbol con profundidad configurable
- Clasificación lógica: Agrupación por tipo, especialidad o fase
- Herencia de propiedades: Los niveles inferiores heredan características
- Navegación intuitiva: Exploración fácil de la estructura
📊 Gestión Flexible
- Niveles configurables: Definición de niveles según necesidades del proyecto
- Códigos sistemáticos: Identificación única y ordenada
- Estados activos/inactivos: Control de disponibilidad
- Metadatos extensibles: Información adicional por categoría
🔗 Integración Completa
- Asociación con actividades: Clasificación automática de actividades
- Filtrado avanzado: Búsqueda y filtros por categoría
- Reportes agrupados: Análisis consolidado por clasificación
- Configuración de permisos: Control de acceso por categoría
Estructura de Categorías
📋 Datos Básicos
Información Principal:
const categoria = {
id: "cat-001",
nombre: "Obras Civiles",
descripcion: "Trabajos de construcción civil y estructural",
nivelId: "nivel-1",
parentId: null, // null para categorías raíz
orden: 2,
activo: true,
fechaCreacion: "2024-01-15T10:00:00Z"
};Propiedades Avanzadas:
const propiedadesAvanzadas = {
codigo: "OC", // Código corto para identificación
color: "#10b981", // Color para visualización
icono: "building", // Icono representativo
metadatos: {
especialidad: "construccion",
riesgo: "medio",
equiposComunes: ["mixer", "grua", "vibrador"],
certificacionesRequeridas: ["hormigon", "soldadura"]
}
};🏗️ Jerarquía Típica
Construcción Edificación:
01. Trabajos Preliminares/
├── 01.01 Instalación de Faenas
├── 01.02 Demoliciones
└── 01.03 Limpieza de Terreno
02. Movimiento de Tierras/
├── 02.01 Excavaciones/
│ ├── 02.01.01 Excavación General
│ ├── 02.01.02 Excavación de Fundaciones
│ └── 02.01.03 Excavación de Servicios
├── 02.02 Rellenos/
│ ├── 02.02.01 Relleno Estructural
│ └── 02.02.02 Relleno Compactado
└── 02.03 Nivelación y Compactación
03. Obras Civiles/
├── 03.01 Fundaciones/
│ ├── 03.01.01 Hormigón de Limpieza
│ ├── 03.01.02 Armaduras de Fundación
│ └── 03.01.03 Hormigón de Fundación
├── 03.02 Estructuras/
│ ├── 03.02.01 Columnas
│ ├── 03.02.02 Vigas
│ └── 03.02.03 Losas
└── 03.03 Muros
04. Instalaciones/
├── 04.01 Instalaciones Eléctricas/
│ ├── 04.01.01 Canalizaciones
│ ├── 04.01.02 Cableado
│ └── 04.01.03 Tableros y Equipos
├── 04.02 Instalaciones Sanitarias/
│ ├── 04.02.01 Agua Potable
│ ├── 04.02.02 Alcantarillado
│ └── 04.02.03 Artefactos
└── 04.03 Climatización
05. Terminaciones/
├── 05.01 Revestimientos
├── 05.02 Pintura
└── 05.03 Pisos y PavimentosInfraestructura Vial:
01. Trabajos Preliminares/
├── 01.01 Topografía y Replanteo
├── 01.02 Despeje y Destronque
└── 01.03 Instalación de Faenas
02. Movimiento de Tierras/
├── 02.01 Cortes/
│ ├── 02.01.01 Corte en Tierra
│ ├── 02.01.02 Corte en Roca
│ └── 02.01.03 Corte en Material Mixto
├── 02.02 Terraplenes/
│ ├── 02.02.01 Terraplén Común
│ └── 02.02.02 Terraplén Seleccionado
└── 02.03 Préstamos y Botaderos
03. Pavimentación/
├── 03.01 Subrasante
├── 03.02 Sub-base Granular
├── 03.03 Base Granular
└── 03.04 Carpeta Asfáltica
04. Drenaje/
├── 04.01 Cunetas
├── 04.02 Alcantarillas
└── 04.03 Obras de Arte
05. Señalización/
├── 05.01 Demarcación Horizontal
├── 05.02 Señalización Vertical
└── 05.03 Dispositivos de SeguridadNiveles de Categoría
📊 Configuración de Niveles
Definición de Niveles:
const nivelCategoria = {
id: "nivel-1",
nombre: "División Principal",
descripcion: "Divisiones principales del proyecto",
nivel: 1, // Orden jerárquico
activo: true,
propiedadesPorDefecto: {
requiereCodigo: true,
requiereColor: true,
requiereIcono: false,
permitePadre: false // Nivel raíz
}
};Niveles Típicos por Tipo de Proyecto:
Edificación:
const nivelesEdificacion = [
{
nivel: 1,
nombre: "División",
descripcion: "Divisiones principales (Preliminares, Estructura, etc.)",
ejemplos: ["Trabajos Preliminares", "Obras Civiles", "Instalaciones"]
},
{
nivel: 2,
nombre: "Especialidad",
descripcion: "Especialidades dentro de cada división",
ejemplos: ["Fundaciones", "Estructuras", "Eléctricas"]
},
{
nivel: 3,
nombre: "Tipo de Trabajo",
descripcion: "Tipos específicos de trabajo",
ejemplos: ["Columnas", "Vigas", "Cableado"]
},
{
nivel: 4,
nombre: "Subtipo",
descripcion: "Subtipos o variaciones específicas",
ejemplos: ["Columnas Rectangulares", "Vigas Principales"]
}
];Infraestructura:
const nivelesInfraestructura = [
{
nivel: 1,
nombre: "Fase",
descripcion: "Fases principales del proyecto",
ejemplos: ["Preliminares", "Movimiento Tierras", "Pavimentación"]
},
{
nivel: 2,
nombre: "Tipo de Obra",
descripcion: "Tipos de obra dentro de cada fase",
ejemplos: ["Cortes", "Terraplenes", "Base Granular"]
},
{
nivel: 3,
nombre: "Especificación",
descripcion: "Especificaciones técnicas",
ejemplos: ["Corte en Tierra", "Terraplén Común"]
}
];🔧 Gestión de Niveles
Operaciones Disponibles:
const operacionesNiveles = {
crear: {
validarOrden: true,
verificarCoherencia: true,
definirPropiedades: true,
configurarPermisos: true
},
editar: {
camposEditables: ["nombre", "descripcion"],
camposRestringidos: ["nivel", "orden"],
validarImpacto: true,
actualizarCategorias: true
},
eliminar: {
verificarUso: true,
migrarCategorias: "requerido",
validarIntegridad: true,
confirmarAccion: true
},
reordenar: {
validarJerarquia: true,
actualizarReferencias: true,
mantenerCoherencia: true
}
};Gestión de Categorías
➕ Creación de Categorías
La gestión de categorías es muy sencilla:
- Crear: Para crear una categoría, solo necesita un nombre y, opcionalmente, seleccionar una categoría padre si desea anidarla.
- Editar: Puede cambiar el nombre de una categoría en cualquier momento.
- Mover: Puede reorganizar su estructura moviendo una categoría (y todas sus sub-categorías) a un lugar diferente del árbol.
- Eliminar: Solo puede eliminar una categoría si no tiene sub-categorías ni actividades asociadas a ella.
✏️ Edición de Categorías
Campos Editables:
- Nombre y descripción
- Código y propiedades visuales
- Orden dentro del mismo nivel
- Metadatos y propiedades avanzadas
- Estado activo/inactivo
Restricciones de Edición:
const restriccionesEdicion = {
nivelInmutable: {
condicion: "siempre",
razon: "Cambiar nivel requiere recrear la categoría"
},
padreRestringido: {
condicion: "tiene_actividades_asociadas",
accion: "validar_compatibilidad"
},
ordenValidado: {
unicoEnNivel: true,
recalcularSiguientes: true
}
};🗑️ Eliminación de Categorías
Validaciones Previas:
const validacionesEliminacion = {
verificarActividades: {
tieneActividadesAsociadas: false,
mensaje: "Reasignar actividades antes de eliminar"
},
verificarHijos: {
tieneCategoriasHijas: false,
mensaje: "Eliminar primero las subcategorías"
},
verificarConfiguracion: {
esRequeridaPorSistema: false,
mensaje: "Categoría requerida por configuración del sistema"
}
};Proceso de Eliminación:
const procesoEliminacion = {
eliminacionLogica: {
marcarInactiva: true,
conservarHistorial: true,
ocultarEnSelecciones: true,
mantenerReferencias: true
},
eliminacionFisica: {
validarSinReferencias: true,
respaldarDatos: true,
confirmarAccion: true,
auditarEliminacion: true
}
};Asociación con Actividades
🔗 Configuración de Asociaciones
Tipos de Asociación:
const tiposAsociacionCA = {
directa: {
descripcion: "Actividad asignada directamente a categoría",
configuracion: "seleccion-manual",
flexibilidad: "alta"
},
automatica: {
descripcion: "Asignación automática por reglas",
configuracion: "reglas-negocio",
flexibilidad: "media"
},
heredada: {
descripcion: "Herencia desde categoría padre",
configuracion: "jerarquia",
flexibilidad: "baja"
}
};Reglas de Asignación:
const reglasAsignacion = {
porNombreActividad: {
patron: /excavac/i,
categoria: "movimiento-tierras",
subcategoria: "excavaciones"
},
porUnidadMedida: {
"m³": ["movimiento-tierras", "hormigonado"],
"m²": ["revestimientos", "pintura"],
"m": ["instalaciones", "cableado"],
"unidades": ["equipos", "elementos"]
},
porPalabrasClave: {
"hormigon": "obras-civiles",
"pintura": "terminaciones",
"electrico": "instalaciones-electricas",
"sanitario": "instalaciones-sanitarias"
}
};📊 Gestión de Asociaciones
Herramientas de Gestión:
const herramientasGestion = {
asignacionMasiva: {
porPatron: true,
porSeleccion: true,
porImportacion: true,
validacionPrevia: true
},
reasignacion: {
cambioCategoria: true,
validarCompatibilidad: true,
mantenerHistorial: true,
notificarCambios: true
},
validacion: {
verificarCoherencia: true,
detectarInconsistencias: true,
sugerirCorrecciones: true,
generarReportes: true
}
};Reportes y Análisis
📊 Reportes de Categorías
Reporte de Estructura:
const reporteEstructura = {
resumenGeneral: {
totalCategorias: 45,
categoriasActivas: 42,
categoriasInactivas: 3,
nivelesConfigurados: 4,
profundidadMaxima: 4
},
distribucionPorNivel: [
{ nivel: 1, nombre: "División", cantidad: 5, porcentaje: 11.1 },
{ nivel: 2, nombre: "Especialidad", cantidad: 15, porcentaje: 33.3 },
{ nivel: 3, nombre: "Tipo", cantidad: 20, porcentaje: 44.4 },
{ nivel: 4, nombre: "Subtipo", cantidad: 5, porcentaje: 11.1 }
],
analisisJerarquia: {
categoriasSinHijos: 25, // Categorías hoja
categoriasConHijos: 20, // Categorías padre
profundidadPromedio: 2.8,
balanceJerarquia: "equilibrado"
}
};Análisis de Utilización:
const analisisUtilizacion = {
categoriasConActividades: {
total: 42,
conActividades: 38,
utilizacion: 90.5 // %
},
actividadesPorCategoria: {
promedio: 3.2,
minimo: 0,
maximo: 12,
distribucion: {
"0": 4, // categorías sin actividades
"1-3": 18, // categorías con pocas actividades
"4-6": 15, // categorías con actividades moderadas
"7+": 5 // categorías con muchas actividades
}
},
eficienciaClasificacion: {
categoriasOptimas: 85.7, // %
categoriasSubutilizadas: 9.5, // %
categoriasSobreutilizadas: 4.8 // %
}
};📈 Métricas de Rendimiento
KPIs de Categorías:
const kpisCategorias = {
configuracion: {
completitudEstructura: 95.2, // %
consistenciaJerarquia: 100, // %
coberturaNiveles: 88.9 // %
},
utilizacion: {
categoriasActivas: 93.3, // %
distribucionEquilibrada: 78.6, // %
eficienciaClasificacion: 91.4 // %
},
mantenimiento: {
categoriasActualizadas: 96.7, // %
metadatosCompletos: 85.7, // %
asociacionesValidas: 100 // %
}
};Mejores Prácticas
✅ Diseño de Estructura
Principios de Diseño:
- Máximo 5 niveles para mantener simplicidad
- Nombres descriptivos y consistentes
- Códigos sistemáticos que reflejen la jerarquía
- Balanceo de profundidad evitando estructuras muy desbalanceadas
Nomenclatura Recomendada:
const nomenclaturaRecomendada = {
patron: "{NUMERO}.{NUMERO} {NOMBRE}",
ejemplos: [
"01. Trabajos Preliminares",
"01.01 Instalación de Faenas",
"01.01.01 Oficinas Temporales",
"02. Movimiento de Tierras",
"02.01 Excavaciones",
"02.01.01 Excavación General"
],
validacion: {
numeracionConsecutiva: true,
jerarquiaCoherente: true,
longitudAdecuada: true
}
};🎯 Optimización de Clasificación
Estrategias de Clasificación:
const estrategiasClasificacion = {
agrupacionLogica: {
porFase: "Agrupar por fases constructivas",
porEspecialidad: "Agrupar por especialidad técnica",
porUbicacion: "Agrupar por ubicación física"
},
balanceoCarga: {
evitarConcentracion: true,
distribuirEquitativamente: true,
mantenerCoherencia: true
},
flexibilidadFutura: {
permitirExpansion: true,
facilitarReorganizacion: true,
mantenerCompatibilidad: true
}
};📊 Mantenimiento Continuo
Rutinas de Mantenimiento:
const rutinasMantenimiento = {
revision: {
frecuencia: "mensual",
actividades: [
"verificar-integridad-jerarquia",
"validar-asociaciones-actividades",
"actualizar-metadatos"
]
},
optimizacion: {
frecuencia: "trimestral",
actividades: [
"consolidar-categorias-vacias",
"rebalancear-estructura",
"actualizar-nomenclatura"
]
},
auditoria: {
frecuencia: "semestral",
actividades: [
"analizar-utilizacion",
"evaluar-eficiencia",
"identificar-mejoras"
]
}
};🔧 Configuración por Tipo de Proyecto
Plantillas Predefinidas:
const plantillasPredefinidas = {
edificacion: {
niveles: 4,
categoriasPrincipales: [
"Preliminares", "Movimiento Tierras", "Obras Civiles",
"Instalaciones", "Terminaciones"
],
profundidadRecomendada: 3
},
infraestructura: {
niveles: 3,
categoriasPrincipales: [
"Preliminares", "Movimiento Tierras", "Pavimentación",
"Drenaje", "Señalización"
],
profundidadRecomendada: 3
},
industrial: {
niveles: 4,
categoriasPrincipales: [
"Preliminares", "Obras Civiles", "Montaje Equipos",
"Instalaciones", "Pruebas"
],
profundidadRecomendada: 4
}
};Tip de Organización: Diseña la estructura de categorías considerando tanto la fase constructiva como la especialidad técnica. Esto facilitará tanto la planificación secuencial como la gestión por especialidades.
Las categorías de trabajo proporcionan la estructura organizacional fundamental para clasificar y gestionar las actividades del proyecto. Una estructura bien diseñada facilita la navegación, mejora la eficiencia operativa y permite análisis detallados del progreso por tipo de trabajo.