← Volver a Entidades de Sistema

Traspaso

Entidad para gestión de traspasos entre sesiones del sistema

📊 Descripción General

La entidad Traspaso representa el control de traspasos entre sesiones en el sistema RestMaster. Esta entidad permite gestionar el proceso de transferencia de datos entre diferentes sesiones de trabajo, incluyendo apertura, cierre y procesamiento.

🎯 Propósito de la Entidad

  • Control de Sesiones: Gestión de traspasos entre sesiones
  • Proceso de Transferencia: Transferencia de datos
  • Control de Estados: Estados de traspaso
  • Auditoría: Trazabilidad de traspasos
  • Sincronización: Control de procesos

📋 Propiedades de la Entidad

Sesion

double
Número de sesión (clave primaria)

Estado

string (1)
Estado del traspaso

Apertura

DateTime?
Fecha y hora de apertura del traspaso

Cierre

DateTime?
Fecha y hora de cierre del traspaso

Proceso

DateTime?
Fecha y hora de procesamiento del traspaso

🔗 Relaciones con Otras Entidades

⚙️ Entidades de Sistema

  • Sesiones: Sesiones relacionadas
  • SesionesEmpresa: Sesiones de empresa
  • SesionesTrabajo: Sesiones de trabajo
  • TraspasosTrabajo: Traspasos de trabajo

🎯 Funcionalidades Relacionadas

  • Control de Sesiones: Gestión de traspasos
  • Proceso de Transferencia: Transferencia de datos
  • Control de Estados: Estados de traspaso
  • Sincronización: Control de procesos

💡 Ejemplo de Uso

// Crear traspaso de sesión var traspaso = new Traspaso { Sesion = 1001, Estado = "A", Apertura = DateTime.Now, Cierre = null, Proceso = null }; // Consultar traspasos por estado var traspasosAbiertos = context.Traspasos .Where(t => t.Estado == "A") .OrderBy(t => t.Sesion) .ToList(); // Buscar traspaso por sesión var traspasoSesion = context.Traspasos .FirstOrDefault(t => t.Sesion == 1001); // Cerrar traspaso var traspasoCerrar = context.Traspasos .FirstOrDefault(t => t.Sesion == 1001 && t.Estado == "A"); if (traspasoCerrar != null) { traspasoCerrar.Estado = "C"; traspasoCerrar.Cierre = DateTime.Now; context.SaveChanges(); } // Procesar traspaso var traspasoProcesar = context.Traspasos .FirstOrDefault(t => t.Sesion == 1001 && t.Estado == "C"); if (traspasoProcesar != null) { traspasoProcesar.Estado = "P"; traspasoProcesar.Proceso = DateTime.Now; context.SaveChanges(); } // Consultar traspasos por rango de fechas var traspasosRango = context.Traspasos .Where(t => t.Apertura >= DateTime.Today && t.Apertura < DateTime.Today.AddDays(1)) .ToList(); // Verificar traspasos pendientes var traspasosPendientes = context.Traspasos .Where(t => t.Estado == "A" && t.Cierre == null) .ToList(); // Calcular duración de traspaso var traspasoDuracion = context.Traspasos .FirstOrDefault(t => t.Sesion == 1001); if (traspasoDuracion != null && traspasoDuracion.Apertura.HasValue && traspasoDuracion.Cierre.HasValue) { var duracion = traspasoDuracion.Cierre.Value - traspasoDuracion.Apertura.Value; Console.WriteLine($"Duración del traspaso: {duracion.TotalMinutes} minutos"); } // Consultar traspasos procesados var traspasosProcesados = context.Traspasos .Where(t => t.Estado == "P" && t.Proceso.HasValue) .OrderByDescending(t => t.Proceso) .ToList();

🔧 Configuración de Base de Datos

🗄️ Configuración de Tabla

  • Tabla: TRASPASOS
  • Clave Primaria: SESION
  • Esquema: Maestro

🔑 Restricciones

  • Sesion: Clave primaria, valor requerido
  • Estado: Máximo 1 carácter, no Unicode
  • Apertura: Fecha y hora de apertura
  • Cierre: Fecha y hora de cierre
  • Proceso: Fecha y hora de procesamiento

🔗 Integración con Otros Componentes

📚 Componentes Relacionados

  • Back.API: Controladores de traspasos
  • Back.Application: Servicios de traspasos
  • Back.Domain: DTOs de traspasos
  • Common.Constants: Validaciones de traspasos

🎯 Casos de Uso

  • Control de Sesiones: Gestión de traspasos
  • Proceso de Transferencia: Transferencia de datos
  • Control de Estados: Estados de traspaso
  • Sincronización: Control de procesos
  • Auditoría: Trazabilidad
  • Reportes: Análisis de traspasos