Pular para o conteúdo principal

Modelo Técnico: ItemGroup

Ubicación SSoT: com.neosystima.app.modules.tenant.data.model.ItemGroup

Campo API: description

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaDescripción
DescripciónDescripción opcional para dar contexto sobre el contenido del grupo.
DominioLibre
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Estándar
Regla UI: Campo de texto estándar.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Ingreso manual / Sistema
  • Validaciones Raw: Ninguna adicional.
  • Longitud Max: 100

Ejemplo de Integración:

{
"description": "Bebidas con y sin alcohol, Platos principales de la cocina"
}

Campo API: itemStyles

ItemStyle>

1. Definición de Negocio

AtributoDetalle
EtiquetaEstilos Asociados
DescripciónColección de estilos (Nivel 3) que pertenecen a este grupo.
DominioTabla ItemStyle
Público🔴

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🔴
Formato: Lista
Regla UI: Grilla anidada (Master-Detail).

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: Lista vacía
  • Fuente / Dueño: Sistema / Sistema
  • Validaciones Raw: N/A
  • Longitud Max: 255

Ejemplo de Integración:

{
"itemStyles": "[]"
}

Campo API: name

String? REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaNombre del Grupo
DescripciónNombre que identifica al grupo en la lista de precios (ej: Entradas, Bebidas).
Dominio[A-Za-z0-9 ]
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Alfanumérico
Regla UI: Campo de texto de una sola línea con botón de limpieza.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Ingreso manual / Sistema
  • Validaciones Raw: Único por Sección.
  • Longitud Max: 50

Ejemplo de Integración:

{
"name": "Comidas, Bebidas, Cafetería"
}

Campo API: section

Section?

1. Definición de Negocio

AtributoDetalle
EtiquetaSección Asociada
DescripciónReferencia a la Sección (Nivel 1) que contiene a este grupo.
DominioTabla Section
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: ID Foráneo
Regla UI: Campo de solo lectura en edición, define la jerarquía raíz.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Sistema / Sistema
  • Validaciones Raw: El registro foráneo referenciado debe existir en la base de datos.
  • Longitud Max: 255

Ejemplo de Integración:

{
"section": "1, 5, 10"
}

Campo API: sortOrder

Int REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaOrden de Visualización
DescripciónDefine la prioridad de visualización del grupo dentro de la sección.
Dominio[0-999]
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Entero
Regla UI: Selector numérico (spinner).

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: 0
  • Fuente / Dueño: Ingreso manual / Sistema
  • Validaciones Raw: Solo números enteros positivos.
  • Longitud Max: 255

Ejemplo de Integración:

{
"sortOrder": "1, 2, 10"
}

Campo API: status

Status?

1. Definición de Negocio

AtributoDetalle
EtiquetaEstado
DescripciónEstado actual del grupo (Activo/Inactivo). Afecta a todos los estilos e ítems dependientes.
DominioTabla Status
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: ID Foráneo
Regla UI: Selector (Select) filtrado por registros de la tabla Status.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Ingreso manual / Sistema
  • Validaciones Raw: Limitado a los estados permitidos por el dominio.
  • Longitud Max: 255

Ejemplo de Integración:

{
"status": "1 (Activo), 2 (Inactivo)"
}

Campo API: code

String? REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaCódigo de Referencia
DescripciónIdentificador único de negocio para el registro.A diferencia del ID numérico interno, este código está pensado para ser expuesto y facilitar búsquedas o referencias.
DominioSecuencia controlada o formato prefijado
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Alfanumérico
Regla UI: Se muestra como referencia (usualmente entre paréntesis) junto al título del formulario. No es un campo editable en el flujo estándar.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: Generado por secuencia
  • Fuente / Dueño: Generado automáticamente por el motor de secuencias del sistema / Sistema
  • Validaciones Raw: Debe ser estrictamente único en toda la tabla.
  • Longitud Max: 20

Ejemplo de Integración:

{
"code": "000001, CLI-005, STY-20"
}

Campo API: createdAt

Instant? REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaFecha de Creación
DescripciónFecha y hora exacta en la que se insertó el registro por primera vez.
DominioFechas válidas pasadas o presentes
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Timestamp (ISO 8601)
Regla UI: Selector de fecha/hora. En creación está oculto, en edición se muestra como solo lectura.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: CURRENT_TIMESTAMP
  • Fuente / Dueño: Generado automáticamente por el framework de auditoría / Sistema
  • Validaciones Raw: No modificable tras su creación (updatable = false).
  • Longitud Max: 255

Ejemplo de Integración:

{
"createdAt": "2025-10-15T14:30:00Z"
}

Campo API: createdBy

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaCreado Por
DescripciónIdentificador principal del usuario que creó originalmente el registro.
DominioUsuarios válidos en el contexto de seguridad
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Alfanumérico
Regla UI: Campo de texto estándar. En creación está oculto, en edición se muestra como solo lectura.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadMEDIUM
Encriptado🔴
Indexado🔴
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Extraído del contexto de seguridad (SecurityContext) / Sistema
  • Validaciones Raw: No modificable tras la creación.
  • Longitud Max: 50

Ejemplo de Integración:

{
"createdBy": "admin, guest, USR-001"
}

Campo API: id

Long? REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaIdentificador del Sistema
DescripciónIdentificador numérico interno y clave primaria (Primary Key) del registro en la base de datos.
DominioNúmeros enteros positivos mayores a 0
Público🔴

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🔴
Formato: Numérico (BigInt)
Regla UI: Campo oculto o deshabilitado. No se expone directamente al usuario final para edición.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: Asignación automática
  • Fuente / Dueño: Autoincrementable y asignado por el motor de BD al insertar (INSERT). / Sistema
  • Validaciones Raw: Único e irrepetible. De solo lectura tras su creación.
  • Longitud Max: 255

Ejemplo de Integración:

{
"id": "1, 2, 1054"
}

Campo API: isSystem

Boolean REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaRegistro de Sistema
DescripciónMarca técnica que indica si el registro fue creado por el sistema y posee restricciones (ej: no se puede borrar o editar su código).
Dominio{true, false}
Público🔴

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Booleano
Regla UI: Casilla de verificación (Checkbox) o Interruptor (Toggle). En formularios se muestra deshabilitado (solo lectura).

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: false
  • Fuente / Dueño: Generado por el sistema / Sistema
  • Validaciones Raw: No modificable por el usuario final (bloqueado a nivel de servicio).
  • Longitud Max: 255

Ejemplo de Integración:

{
"isSystem": "true, false"
}

Campo API: lastModifiedBy

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaModificado Por
DescripciónIdentificador principal del usuario que realizó la última modificación al registro.
DominioUsuarios válidos en el contexto de seguridad
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Alfanumérico
Regla UI: Campo de texto estándar. En creación está oculto, en edición se muestra como solo lectura.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Extraído del contexto de seguridad (SecurityContext) / Sistema
  • Validaciones Raw: Ninguna adicional.
  • Longitud Max: 50

Ejemplo de Integración:

{
"lastModifiedBy": "admin, manager"
}

Campo API: updatedAt

Instant?

1. Definición de Negocio

AtributoDetalle
EtiquetaÚltima Actualización
DescripciónFecha y hora de la última modificación del registro.
DominioFechas válidas pasadas o presentes
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Timestamp (ISO 8601)
Regla UI: Selector de fecha/hora. En creación está oculto, en edición se muestra como solo lectura.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: CURRENT_TIMESTAMP
  • Fuente / Dueño: Generado automáticamente por el framework de auditoría / Sistema
  • Validaciones Raw: Se actualiza automáticamente en cada operación de modificación (UPDATE).
  • Longitud Max: 255

Ejemplo de Integración:

{
"updatedAt": "2025-10-16T09:15:00Z"
}