feat(#32): Add demo data for automatic sample generation - Task 8 completed

- Created 4 demo lab orders showcasing different scenarios:
  - Order 1: Multiple analyses requiring same sample type (EDTA)
  - Order 2: Multiple analyses with different sample types
  - Order 3: Mixed analyses for thyroid panel
  - Order 4: Pediatric order with different sample types
- Added file to manifest demo section
- Successful test with ephemeral instance restart (main initialization OK)
This commit is contained in:
Luis Ernesto Portillo Zaldivar 2025-07-14 22:56:55 -06:00
parent 97cdc368d0
commit 0d9dee160c
3 changed files with 94 additions and 2 deletions

View File

@ -93,9 +93,9 @@ Automatizar la generación de muestras cuando se confirman órdenes de laborator
- Errores en la generación
- [x] Usar el sistema de mensajería de Odoo (`mail.thread`)
### 7. Pruebas y validación
### 7. Pruebas y validación
**Archivo:** `verify_automatic_sample_generation.py`
- [ ] Crear script de verificación que pruebe:
- [x] Crear script de verificación que pruebe:
- Generación correcta de muestras
- Agrupación adecuada de análisis
- Cálculo correcto de volúmenes

View File

@ -33,6 +33,7 @@
'demo/z_lims_demo.xml',
'demo/z_analysis_demo.xml',
'demo/z_sample_demo.xml',
'demo/z_automatic_generation_demo.xml',
],
'installable': True,
'application': True,

View File

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
<!-- Demo Lab Order 1: Multiple analyses with same sample type -->
<record id="demo_lab_order_1" model="sale.order">
<field name="partner_id" ref="lims_management.demo_patient_1"/>
<field name="doctor_id" ref="lims_management.demo_doctor_1"/>
<field name="is_lab_request" eval="True"/>
<field name="state">draft</field>
</record>
<!-- Order lines - Multiple EDTA tube analyses -->
<record id="demo_lab_order_1_line_1" model="sale.order.line">
<field name="order_id" ref="demo_lab_order_1"/>
<field name="product_id" ref="lims_management.analysis_hemograma" eval="obj().product_variant_id.id"/>
<field name="product_uom_qty">1</field>
</record>
<record id="demo_lab_order_1_line_2" model="sale.order.line">
<field name="order_id" ref="demo_lab_order_1"/>
<field name="product_id" ref="lims_management.analysis_hemoglobina_glicosilada" eval="obj().product_variant_id.id"/>
<field name="product_uom_qty">1</field>
</record>
<!-- Demo Lab Order 2: Different sample types -->
<record id="demo_lab_order_2" model="sale.order">
<field name="partner_id" ref="lims_management.demo_patient_2"/>
<field name="doctor_id" ref="lims_management.demo_doctor_2"/>
<field name="is_lab_request" eval="True"/>
<field name="state">draft</field>
</record>
<!-- Order lines - Different sample types -->
<record id="demo_lab_order_2_line_1" model="sale.order.line">
<field name="order_id" ref="demo_lab_order_2"/>
<field name="product_id" ref="lims_management.analysis_glucosa" eval="obj().product_variant_id.id"/>
<field name="product_uom_qty">1</field>
</record>
<record id="demo_lab_order_2_line_2" model="sale.order.line">
<field name="order_id" ref="demo_lab_order_2"/>
<field name="product_id" ref="lims_management.analysis_perfil_lipidico" eval="obj().product_variant_id.id"/>
<field name="product_uom_qty">1</field>
</record>
<record id="demo_lab_order_2_line_3" model="sale.order.line">
<field name="order_id" ref="demo_lab_order_2"/>
<field name="product_id" ref="lims_management.analysis_urocultivo" eval="obj().product_variant_id.id"/>
<field name="product_uom_qty">1</field>
</record>
<!-- Demo Lab Order 3: Mixed analyses (some without sample type) -->
<record id="demo_lab_order_3" model="sale.order">
<field name="partner_id" ref="lims_management.demo_patient_3"/>
<field name="is_lab_request" eval="True"/>
<field name="state">draft</field>
</record>
<record id="demo_lab_order_3_line_1" model="sale.order.line">
<field name="order_id" ref="demo_lab_order_3"/>
<field name="product_id" ref="lims_management.analysis_tsh" eval="obj().product_variant_id.id"/>
<field name="product_uom_qty">1</field>
</record>
<record id="demo_lab_order_3_line_2" model="sale.order.line">
<field name="order_id" ref="demo_lab_order_3"/>
<field name="product_id" ref="lims_management.analysis_t4_libre" eval="obj().product_variant_id.id"/>
<field name="product_uom_qty">1</field>
</record>
<!-- Demo Lab Order 4: Pediatric order -->
<record id="demo_lab_order_4" model="sale.order">
<field name="partner_id" ref="lims_management.demo_patient_minor_1"/>
<field name="doctor_id" ref="lims_management.demo_doctor_1"/>
<field name="is_lab_request" eval="True"/>
<field name="state">draft</field>
</record>
<record id="demo_lab_order_4_line_1" model="sale.order.line">
<field name="order_id" ref="demo_lab_order_4"/>
<field name="product_id" ref="lims_management.analysis_hemograma" eval="obj().product_variant_id.id"/>
<field name="product_uom_qty">1</field>
</record>
<record id="demo_lab_order_4_line_2" model="sale.order.line">
<field name="order_id" ref="demo_lab_order_4"/>
<field name="product_id" ref="lims_management.analysis_parasitos_heces" eval="obj().product_variant_id.id"/>
<field name="product_uom_qty">1</field>
</record>
</odoo>