Use Cases
Este documento detalla los principales casos de uso implementados en el microservicio Operations Reporting, organizados por categorías funcionales.
Casos de Uso
Section titled “Casos de Uso”Generar Reporte de Inventario (Desactivado)
Section titled “Generar Reporte de Inventario (Desactivado)”- Descripción: Genera un reporte de entradas de inventario con información detallada de productos.
- Interfaz de entrada:
interface GenerateInventoryReportRequest {country: string;warehouse: string;}
- Interfaz de salida:
interface InventoryLine {productSku: string;productEan: string;productName: string;locationType: LocationType;locationName: string;containerLpn: string;stock: number;um: string;country: string;warehouse: string;}
- Flujo principal:
- Validar parámetros de entrada (country y warehouse)
- Consultar entradas de inventario desde el repository
- Para cada entrada de inventario, enriquecer con detalles del producto desde el Product Service
- Transformar los datos al formato de salida
- Devolver los datos como un stream para un procesamiento eficiente
- Reglas de negocio:
- Solo se incluyen entradas con stock mayor que 0
- Se deben aplicar filtros de country y warehouse
- Adaptadores implicados:
- Inventory Repository
- Product Service
- Excepciones:
UnexpectedError: Para cualquier error inesperado durante el procesamiento
Generar Reporte de Ubicaciones (Desactivado)
Section titled “Generar Reporte de Ubicaciones (Desactivado)”- Descripción: Genera un reporte de ubicaciones con su inventario asociado.
- Interfaz de entrada:
interface GenerateLocationsReportRequest {country: string;warehouse: string;locationId: string;}
- Interfaz de salida:
interface InventoryEntry {entryId: string;productId: string;locationId: string;locationName: string;locationType: LocationType;stock: number;country: string;warehouse: string;containerName: string;}
- Flujo principal:
- Validar parámetros de entrada (country, warehouse y locationId)
- Consultar entradas de inventario para la ubicación especificada desde el repository
- Devolver las entradas
- Reglas de negocio:
- Se deben aplicar filtros de country y warehouse
- Adaptadores implicados:
- Inventory Repository
- Excepciones:
UnexpectedError: Para cualquier error inesperado durante el procesamiento
Generar Reporte de Reglas (Desactivado)
Section titled “Generar Reporte de Reglas (Desactivado)”- Descripción: Genera un reporte de reglas de negocio.
- Interfaz de entrada:
interface GenerateRulesReportRequest {country: string;warehouse: string;}
- Interfaz de salida:
interface Rule {id: string;name: string;description: string;enabled: boolean;country: string;warehouse: string;}
- Flujo principal:
- Validar parámetros de entrada (country y warehouse)
- Consultar reglas desde el repository
- Devolver las reglas
- Reglas de negocio:
- Se deben aplicar filtros de country y warehouse
- Adaptadores implicados:
- Rules Repository
- Excepciones:
UnexpectedError: Para cualquier error inesperado durante el procesamiento
Generar Reporte de Merma de Inventario
Section titled “Generar Reporte de Merma de Inventario”- Descripción: Genera un reporte de merma de inventario.
- Interfaz de entrada:
interface GenerateInventoryWasteReportRequest {country: string;warehouse: string;startDate: string;endDate: string;}
- Interfaz de salida:
interface InventoryWaste {id: string;productId: string;productName: string;quantity: number;reason: string;createdAt: string;country: string;warehouse: string;}
- Flujo principal:
- Validar parámetros de entrada (country, warehouse, startDate y endDate)
- Consultar entradas de desperdicios de inventario desde el repository
- Para cada entrada de desperdicio, enriquecer con detalles del producto desde el Product Service
- Devolver las entradas de desperdicio enriquecidas
- Reglas de negocio:
- Se deben aplicar filtros de country y warehouse
- Se deben aplicar filtros de rango de fechas
- Adaptadores implicados:
- Inventory Waste Repository
- Product Service
- Excepciones:
UnexpectedError: Para cualquier error inesperado durante el procesamiento
Generar Reporte de Logística Inversa
Section titled “Generar Reporte de Logística Inversa”- Descripción: Genera un reporte de entradas de logística inversa.
- Interfaz de entrada:
interface GenerateReverseLogisticsReportRequest {country: string;warehouse: string;startDate: string;endDate: string;}
- Interfaz de salida:
interface ReverseLogisticsEntry {id: string;productId: string;productName: string;quantity: number;reason: string;createdAt: string;country: string;warehouse: string;}
- Flujo principal:
- Validar parámetros de entrada (country, warehouse, startDate y endDate)
- Consultar entradas de logística inversa desde el repository
- Para cada entrada, enriquecer con detalles del producto desde el Product Service
- Devolver las entradas enriquecidas
- Reglas de negocio:
- Se deben aplicar filtros de country y warehouse
- Se deben aplicar filtros de rango de fechas
- Adaptadores implicados:
- Reverse Logistics Repository
- Product Service
- Excepciones:
UnexpectedError: Para cualquier error inesperado durante el procesamiento