388 lines
10 KiB
JavaScript
388 lines
10 KiB
JavaScript
"use strict";
|
|
/**
|
|
* Enums Constants - SSOT (Single Source of Truth)
|
|
*
|
|
* Todos los enums del sistema. Estos se sincronizan automaticamente
|
|
* al frontend usando el script sync-enums.ts
|
|
*
|
|
* @module @shared/constants/enums
|
|
*/
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.AUDIT_ACTION = exports.WORKFLOW_ACTION = exports.DOCUMENT_TYPE = exports.DOCUMENT_STATUS = exports.TICKET_PRIORITY = exports.TICKET_STATUS = exports.INFONAVIT_PROGRAM = exports.INFONAVIT_ASSIGNMENT_STATUS = exports.ATTENDANCE_VALIDATION = exports.ATTENDANCE_TYPE = exports.EMPLOYEE_TYPE = exports.WORK_PERMIT_TYPE = exports.TRAINING_TYPE = exports.INCIDENT_STATUS = exports.INCIDENT_TYPE = exports.INCIDENT_SEVERITY = exports.RETENTION_TYPE = exports.ESTIMATION_STATUS = exports.STOCK_MOVE_TYPE = exports.REQUISITION_STATUS = exports.PURCHASE_ORDER_STATUS = exports.BUDGET_STATUS = exports.CONCEPT_TYPE = exports.LOT_STATUS = exports.FRACCIONAMIENTO_STATUS = exports.PROJECT_TYPE = exports.PROJECT_STATUS = exports.USER_STATUS = exports.ROLES = void 0;
|
|
// ============================================================================
|
|
// AUTH & USERS
|
|
// ============================================================================
|
|
/**
|
|
* Roles del sistema de construccion
|
|
*/
|
|
exports.ROLES = {
|
|
// Super Admin (Plataforma)
|
|
SUPER_ADMIN: 'super_admin',
|
|
// Tenant Admin
|
|
ADMIN: 'admin',
|
|
// Direccion
|
|
DIRECTOR_GENERAL: 'director_general',
|
|
DIRECTOR_PROYECTOS: 'director_proyectos',
|
|
DIRECTOR_CONSTRUCCION: 'director_construccion',
|
|
// Gerencias
|
|
GERENTE_ADMINISTRATIVO: 'gerente_administrativo',
|
|
GERENTE_OPERACIONES: 'gerente_operaciones',
|
|
// Ingenieria y Control
|
|
INGENIERO_RESIDENTE: 'ingeniero_residente',
|
|
INGENIERO_COSTOS: 'ingeniero_costos',
|
|
CONTROL_OBRA: 'control_obra',
|
|
PLANEADOR: 'planeador',
|
|
// Supervisores
|
|
SUPERVISOR_OBRA: 'supervisor_obra',
|
|
SUPERVISOR_HSE: 'supervisor_hse',
|
|
SUPERVISOR_CALIDAD: 'supervisor_calidad',
|
|
// Compras y Almacen
|
|
COMPRAS: 'compras',
|
|
ALMACENISTA: 'almacenista',
|
|
// RRHH
|
|
RRHH: 'rrhh',
|
|
NOMINA: 'nomina',
|
|
// Finanzas
|
|
CONTADOR: 'contador',
|
|
TESORERO: 'tesorero',
|
|
// Postventa
|
|
POSTVENTA: 'postventa',
|
|
// Externos
|
|
SUBCONTRATISTA: 'subcontratista',
|
|
PROVEEDOR: 'proveedor',
|
|
DERECHOHABIENTE: 'derechohabiente',
|
|
// Solo lectura
|
|
VIEWER: 'viewer',
|
|
};
|
|
/**
|
|
* Estados de cuenta de usuario
|
|
*/
|
|
exports.USER_STATUS = {
|
|
ACTIVE: 'active',
|
|
INACTIVE: 'inactive',
|
|
PENDING: 'pending',
|
|
SUSPENDED: 'suspended',
|
|
BLOCKED: 'blocked',
|
|
};
|
|
// ============================================================================
|
|
// PROYECTOS Y ESTRUCTURA
|
|
// ============================================================================
|
|
/**
|
|
* Estados de proyecto
|
|
*/
|
|
exports.PROJECT_STATUS = {
|
|
DRAFT: 'draft',
|
|
PLANNING: 'planning',
|
|
BIDDING: 'bidding',
|
|
AWARDED: 'awarded',
|
|
ACTIVE: 'active',
|
|
PAUSED: 'paused',
|
|
COMPLETED: 'completed',
|
|
CANCELLED: 'cancelled',
|
|
};
|
|
/**
|
|
* Tipos de proyecto
|
|
*/
|
|
exports.PROJECT_TYPE = {
|
|
HORIZONTAL: 'horizontal', // Casas individuales
|
|
VERTICAL: 'vertical', // Edificios/Torres
|
|
MIXED: 'mixed', // Combinado
|
|
INFRASTRUCTURE: 'infrastructure', // Infraestructura
|
|
};
|
|
/**
|
|
* Estados de fraccionamiento
|
|
*/
|
|
exports.FRACCIONAMIENTO_STATUS = {
|
|
ACTIVE: 'activo',
|
|
PAUSED: 'pausado',
|
|
COMPLETED: 'completado',
|
|
CANCELLED: 'cancelado',
|
|
};
|
|
/**
|
|
* Estados de lote
|
|
*/
|
|
exports.LOT_STATUS = {
|
|
AVAILABLE: 'disponible',
|
|
RESERVED: 'apartado',
|
|
SOLD: 'vendido',
|
|
IN_CONSTRUCTION: 'en_construccion',
|
|
DELIVERED: 'entregado',
|
|
WARRANTY: 'en_garantia',
|
|
};
|
|
// ============================================================================
|
|
// PRESUPUESTOS Y COSTOS
|
|
// ============================================================================
|
|
/**
|
|
* Tipos de concepto de obra
|
|
*/
|
|
exports.CONCEPT_TYPE = {
|
|
MATERIAL: 'material',
|
|
LABOR: 'mano_obra',
|
|
EQUIPMENT: 'equipo',
|
|
SUBCONTRACT: 'subcontrato',
|
|
INDIRECT: 'indirecto',
|
|
OVERHEAD: 'overhead',
|
|
UTILITY: 'utilidad',
|
|
};
|
|
/**
|
|
* Estados de presupuesto
|
|
*/
|
|
exports.BUDGET_STATUS = {
|
|
DRAFT: 'borrador',
|
|
SUBMITTED: 'enviado',
|
|
APPROVED: 'aprobado',
|
|
CONTRACTED: 'contratado',
|
|
CLOSED: 'cerrado',
|
|
};
|
|
// ============================================================================
|
|
// COMPRAS E INVENTARIOS
|
|
// ============================================================================
|
|
/**
|
|
* Estados de orden de compra
|
|
*/
|
|
exports.PURCHASE_ORDER_STATUS = {
|
|
DRAFT: 'borrador',
|
|
SUBMITTED: 'enviado',
|
|
APPROVED: 'aprobado',
|
|
CONFIRMED: 'confirmado',
|
|
PARTIAL: 'parcial',
|
|
RECEIVED: 'recibido',
|
|
CANCELLED: 'cancelado',
|
|
};
|
|
/**
|
|
* Estados de requisicion
|
|
*/
|
|
exports.REQUISITION_STATUS = {
|
|
DRAFT: 'borrador',
|
|
SUBMITTED: 'enviado',
|
|
APPROVED: 'aprobado',
|
|
REJECTED: 'rechazado',
|
|
ORDERED: 'ordenado',
|
|
CLOSED: 'cerrado',
|
|
};
|
|
/**
|
|
* Tipos de movimiento de inventario
|
|
*/
|
|
exports.STOCK_MOVE_TYPE = {
|
|
INCOMING: 'entrada',
|
|
OUTGOING: 'salida',
|
|
TRANSFER: 'traspaso',
|
|
ADJUSTMENT: 'ajuste',
|
|
RETURN: 'devolucion',
|
|
CONSUMPTION: 'consumo',
|
|
};
|
|
// ============================================================================
|
|
// ESTIMACIONES
|
|
// ============================================================================
|
|
/**
|
|
* Estados de estimacion
|
|
*/
|
|
exports.ESTIMATION_STATUS = {
|
|
DRAFT: 'borrador',
|
|
IN_REVIEW: 'en_revision',
|
|
SUBMITTED: 'enviado',
|
|
CLIENT_REVIEW: 'revision_cliente',
|
|
APPROVED: 'aprobado',
|
|
REJECTED: 'rechazado',
|
|
PAID: 'pagado',
|
|
CANCELLED: 'cancelado',
|
|
};
|
|
/**
|
|
* Tipos de retencion
|
|
*/
|
|
exports.RETENTION_TYPE = {
|
|
WARRANTY: 'garantia',
|
|
ADVANCE_AMORTIZATION: 'amortizacion_anticipo',
|
|
IMSS: 'imss',
|
|
ISR: 'isr',
|
|
OTHER: 'otro',
|
|
};
|
|
// ============================================================================
|
|
// HSE (Health, Safety & Environment)
|
|
// ============================================================================
|
|
/**
|
|
* Severidad de incidente
|
|
*/
|
|
exports.INCIDENT_SEVERITY = {
|
|
LOW: 'bajo',
|
|
MEDIUM: 'medio',
|
|
HIGH: 'alto',
|
|
CRITICAL: 'critico',
|
|
FATAL: 'fatal',
|
|
};
|
|
/**
|
|
* Tipos de incidente
|
|
*/
|
|
exports.INCIDENT_TYPE = {
|
|
ACCIDENT: 'accidente',
|
|
NEAR_MISS: 'casi_accidente',
|
|
UNSAFE_CONDITION: 'condicion_insegura',
|
|
UNSAFE_ACT: 'acto_inseguro',
|
|
FIRST_AID: 'primeros_auxilios',
|
|
ENVIRONMENTAL: 'ambiental',
|
|
};
|
|
/**
|
|
* Estados de incidente
|
|
*/
|
|
exports.INCIDENT_STATUS = {
|
|
REPORTED: 'reportado',
|
|
UNDER_INVESTIGATION: 'en_investigacion',
|
|
PENDING_ACTIONS: 'pendiente_acciones',
|
|
ACTIONS_IN_PROGRESS: 'acciones_en_progreso',
|
|
CLOSED: 'cerrado',
|
|
};
|
|
/**
|
|
* Tipos de capacitacion
|
|
*/
|
|
exports.TRAINING_TYPE = {
|
|
INDUCTION: 'induccion',
|
|
SAFETY: 'seguridad',
|
|
TECHNICAL: 'tecnico',
|
|
REGULATORY: 'normativo',
|
|
REFRESHER: 'actualizacion',
|
|
CERTIFICATION: 'certificacion',
|
|
};
|
|
/**
|
|
* Tipos de permiso de trabajo
|
|
*/
|
|
exports.WORK_PERMIT_TYPE = {
|
|
HOT_WORK: 'trabajo_caliente',
|
|
CONFINED_SPACE: 'espacio_confinado',
|
|
HEIGHT_WORK: 'trabajo_altura',
|
|
ELECTRICAL: 'electrico',
|
|
EXCAVATION: 'excavacion',
|
|
LIFTING: 'izaje',
|
|
};
|
|
// ============================================================================
|
|
// RRHH
|
|
// ============================================================================
|
|
/**
|
|
* Tipos de empleado
|
|
*/
|
|
exports.EMPLOYEE_TYPE = {
|
|
PERMANENT: 'planta',
|
|
TEMPORARY: 'temporal',
|
|
CONTRACTOR: 'contratista',
|
|
INTERN: 'practicante',
|
|
};
|
|
/**
|
|
* Tipos de asistencia
|
|
*/
|
|
exports.ATTENDANCE_TYPE = {
|
|
CHECK_IN: 'entrada',
|
|
CHECK_OUT: 'salida',
|
|
BREAK_START: 'inicio_descanso',
|
|
BREAK_END: 'fin_descanso',
|
|
};
|
|
/**
|
|
* Metodos de validacion de asistencia
|
|
*/
|
|
exports.ATTENDANCE_VALIDATION = {
|
|
GPS: 'gps',
|
|
BIOMETRIC: 'biometrico',
|
|
QR: 'qr',
|
|
MANUAL: 'manual',
|
|
NFC: 'nfc',
|
|
};
|
|
// ============================================================================
|
|
// INFONAVIT
|
|
// ============================================================================
|
|
/**
|
|
* Estados de asignacion INFONAVIT
|
|
*/
|
|
exports.INFONAVIT_ASSIGNMENT_STATUS = {
|
|
AVAILABLE: 'disponible',
|
|
IN_PROCESS: 'en_proceso',
|
|
ASSIGNED: 'asignado',
|
|
DOCUMENTED: 'documentado',
|
|
REGISTERED: 'registrado',
|
|
DELIVERED: 'entregado',
|
|
};
|
|
/**
|
|
* Programas INFONAVIT
|
|
*/
|
|
exports.INFONAVIT_PROGRAM = {
|
|
TRADICIONAL: 'tradicional',
|
|
COFINAVIT: 'cofinavit',
|
|
APOYO_INFONAVIT: 'apoyo_infonavit',
|
|
UNAMOS_CREDITOS: 'unamos_creditos',
|
|
MEJORAVIT: 'mejoravit',
|
|
};
|
|
// ============================================================================
|
|
// CALIDAD Y POSTVENTA
|
|
// ============================================================================
|
|
/**
|
|
* Estados de ticket postventa
|
|
*/
|
|
exports.TICKET_STATUS = {
|
|
OPEN: 'abierto',
|
|
IN_PROGRESS: 'en_proceso',
|
|
PENDING_CUSTOMER: 'pendiente_cliente',
|
|
PENDING_PARTS: 'pendiente_refacciones',
|
|
RESOLVED: 'resuelto',
|
|
CLOSED: 'cerrado',
|
|
};
|
|
/**
|
|
* Prioridad de ticket
|
|
*/
|
|
exports.TICKET_PRIORITY = {
|
|
LOW: 'baja',
|
|
MEDIUM: 'media',
|
|
HIGH: 'alta',
|
|
URGENT: 'urgente',
|
|
};
|
|
// ============================================================================
|
|
// DOCUMENTOS
|
|
// ============================================================================
|
|
/**
|
|
* Estados de documento
|
|
*/
|
|
exports.DOCUMENT_STATUS = {
|
|
DRAFT: 'borrador',
|
|
PENDING_REVIEW: 'pendiente_revision',
|
|
APPROVED: 'aprobado',
|
|
REJECTED: 'rechazado',
|
|
OBSOLETE: 'obsoleto',
|
|
};
|
|
/**
|
|
* Tipos de documento
|
|
*/
|
|
exports.DOCUMENT_TYPE = {
|
|
PLAN: 'plano',
|
|
CONTRACT: 'contrato',
|
|
PERMIT: 'permiso',
|
|
CERTIFICATE: 'certificado',
|
|
REPORT: 'reporte',
|
|
PHOTO: 'fotografia',
|
|
OTHER: 'otro',
|
|
};
|
|
// ============================================================================
|
|
// WORKFLOW
|
|
// ============================================================================
|
|
/**
|
|
* Acciones de workflow
|
|
*/
|
|
exports.WORKFLOW_ACTION = {
|
|
SUBMIT: 'submit',
|
|
APPROVE: 'approve',
|
|
REJECT: 'reject',
|
|
RETURN: 'return',
|
|
CANCEL: 'cancel',
|
|
REOPEN: 'reopen',
|
|
};
|
|
// ============================================================================
|
|
// AUDIT
|
|
// ============================================================================
|
|
/**
|
|
* Tipos de accion de auditoria
|
|
*/
|
|
exports.AUDIT_ACTION = {
|
|
CREATE: 'create',
|
|
UPDATE: 'update',
|
|
DELETE: 'delete',
|
|
VIEW: 'view',
|
|
EXPORT: 'export',
|
|
LOGIN: 'login',
|
|
LOGOUT: 'logout',
|
|
};
|
|
//# sourceMappingURL=enums.constants.js.map
|