feat(#58): Implementar flujo de rechazo de muestras #61

Closed
luis_portillo wants to merge 0 commits from feature/58-sample-rejection-flow into dev

Resumen

Implementación completa del flujo de rechazo de muestras en el sistema LIMS, permitiendo registrar motivos de rechazo, mantener trazabilidad y solicitar re-muestreo cuando sea necesario.

Cambios realizados

Nuevas funcionalidades

  • Estado 'rejected' agregado al ciclo de vida de las muestras
  • Modelo lims.rejection.reason para gestionar motivos de rechazo con severidad
  • Wizard de rechazo con validaciones obligatorias
  • Vista dedicada para muestras rechazadas con filtros avanzados
  • Notificaciones automáticas al rechazar muestras
  • 10 motivos de rechazo predefinidos (hemolizada, coagulada, insuficiente, etc.)

Mejoras técnicas

  • Campos de trazabilidad: motivo, notas, usuario y fecha de rechazo
  • Permisos de seguridad para todos los grupos del laboratorio
  • Corrección de permisos faltantes para sale.order.line
  • Compatibilidad con Odoo 18 en vistas

Archivos modificados

  • Modelos: stock_lot.py, nuevo rejection_reason.py
  • Vistas: stock_lot_views.xml, nueva rejection_reason_views.xml
  • Wizard: nuevo sample_rejection_wizard.py y vistas
  • Seguridad: actualizado ir.model.access.csv
  • Datos: nuevo rejection_reason_data.xml con motivos predefinidos
  • Menús: agregados en configuración y vista principal

Testing

  • Instancia levantada exitosamente con datos demo
  • Usuarios demo creados y verificados con SQL
  • Permisos corregidos para recepcionista
  • Flujo de rechazo funcional

Issues relacionados

  • Cierra #58: Implementar flujo de rechazo de muestras
  • Relacionado con #60: Automatización de re-muestreo (mejora futura)
  • Relacionado con #59: Validación completa de permisos (bug reportado)

Próximos pasos

La funcionalidad de re-muestreo actualmente solo notifica la necesidad. El issue #60 propone la automatización configurable de este proceso.

## Resumen Implementación completa del flujo de rechazo de muestras en el sistema LIMS, permitiendo registrar motivos de rechazo, mantener trazabilidad y solicitar re-muestreo cuando sea necesario. ## Cambios realizados ### Nuevas funcionalidades - ✅ Estado 'rejected' agregado al ciclo de vida de las muestras - ✅ Modelo `lims.rejection.reason` para gestionar motivos de rechazo con severidad - ✅ Wizard de rechazo con validaciones obligatorias - ✅ Vista dedicada para muestras rechazadas con filtros avanzados - ✅ Notificaciones automáticas al rechazar muestras - ✅ 10 motivos de rechazo predefinidos (hemolizada, coagulada, insuficiente, etc.) ### Mejoras técnicas - ✅ Campos de trazabilidad: motivo, notas, usuario y fecha de rechazo - ✅ Permisos de seguridad para todos los grupos del laboratorio - ✅ Corrección de permisos faltantes para `sale.order.line` - ✅ Compatibilidad con Odoo 18 en vistas ### Archivos modificados - Modelos: `stock_lot.py`, nuevo `rejection_reason.py` - Vistas: `stock_lot_views.xml`, nueva `rejection_reason_views.xml` - Wizard: nuevo `sample_rejection_wizard.py` y vistas - Seguridad: actualizado `ir.model.access.csv` - Datos: nuevo `rejection_reason_data.xml` con motivos predefinidos - Menús: agregados en configuración y vista principal ## Testing - ✅ Instancia levantada exitosamente con datos demo - ✅ Usuarios demo creados y verificados con SQL - ✅ Permisos corregidos para recepcionista - ✅ Flujo de rechazo funcional ## Issues relacionados - Cierra #58: Implementar flujo de rechazo de muestras - Relacionado con #60: Automatización de re-muestreo (mejora futura) - Relacionado con #59: Validación completa de permisos (bug reportado) ## Próximos pasos La funcionalidad de re-muestreo actualmente solo notifica la necesidad. El issue #60 propone la automatización configurable de este proceso.
luis_portillo added 2 commits 2025-07-16 05:30:59 +00:00
- Agregar estado 'rejected' al ciclo de vida de la muestra
- Crear modelo lims.rejection.reason para gestionar motivos de rechazo
- Agregar campos de rechazo en stock.lot (reason, notes, rejected_by, date)
- Crear wizard para proceso de rechazo con validaciones
- Implementar acción de rechazo con notificaciones
- Crear vistas para muestras rechazadas con filtros y búsquedas
- Agregar 10 motivos de rechazo predefinidos (hemolizada, coagulada, etc.)
- Incluir permisos de seguridad para los nuevos modelos
- Agregar menús para gestión de rechazos y muestras rechazadas
- Corregir compatibilidad con Odoo 18 en vistas existentes

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Agregar permisos de lectura/escritura para recepcionista en sale.order.line
- Agregar permisos de solo lectura para técnico en sale.order y sale.order.line
- Agregar permisos completos para administrador en ambos modelos

Esto corrige el error "No puede ingresar a los registros 'Línea de pedido de venta'"
que impedía a la recepcionista ver las órdenes de laboratorio.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
luis_portillo closed this pull request 2025-07-16 18:29:57 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Grupo-Consiti/clinical_laboratory#61
No description provided.