<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <!-- Template principal del reporte -->
    <template id="report_lab_results">
        <t t-call="web.html_container">
            <t t-foreach="docs" t-as="o">
                <t t-if="o.is_lab_request">
                    <t t-call="lims_management.report_lab_results_document" t-lang="o.partner_id.lang"/>
                </t>
            </t>
        </t>
    </template>

    <!-- Documento individual -->
    <template id="report_lab_results_document">
        <t t-call="web.external_layout">
            <div class="page">
                <!-- Estilos CSS -->
                <style>
                    .lab-header {
                        border-bottom: 2px solid #337ab7;
                        margin-bottom: 20px;
                        padding-bottom: 10px;
                    }
                    .patient-info {
                        background-color: #f8f9fa;
                        padding: 15px;
                        margin-bottom: 20px;
                        border-radius: 5px;
                    }
                    .results-table {
                        margin-bottom: 30px;
                    }
                    .results-table th {
                        background-color: #e9ecef;
                        font-weight: bold;
                        padding: 10px;
                        border: 1px solid #dee2e6;
                    }
                    .results-table td {
                        padding: 8px;
                        border: 1px solid #dee2e6;
                    }
                    .result-out-of-range {
                        color: #d9534f;
                        font-weight: bold;
                    }
                    .result-critical {
                        background-color: #f2dede;
                        color: #a94442;
                        font-weight: bold;
                        padding: 2px 5px;
                        border-radius: 3px;
                    }
                    .result-normal {
                        color: #5cb85c;
                    }
                    .test-header {
                        background-color: #337ab7;
                        color: white;
                        padding: 10px;
                        margin-top: 20px;
                        margin-bottom: 0;
                    }
                    .observations {
                        background-color: #fcf8e3;
                        padding: 10px;
                        margin-top: 10px;
                        border-left: 4px solid #faebcc;
                    }
                    .validation-info {
                        margin-top: 40px;
                        border-top: 1px solid #dee2e6;
                        padding-top: 20px;
                    }
                    .signature-line {
                        border-bottom: 1px solid #000;
                        width: 250px;
                        margin-top: 50px;
                        display: inline-block;
                    }
                </style>

                <!-- Encabezado del laboratorio -->
                <div class="lab-header">
                    <div class="row">
                        <div class="col-8">
                            <h2>LABORATORIO CL&#205;NICO</h2>
                            <h3><t t-esc="o.company_id.name"/></h3>
                            <p>
                                <t t-if="o.company_id.street"><t t-esc="o.company_id.street"/><br/></t>
                                <t t-if="o.company_id.city"><t t-esc="o.company_id.city"/>, </t>
                                <t t-if="o.company_id.state_id"><t t-esc="o.company_id.state_id.name"/><br/></t>
                                <t t-if="o.company_id.phone">Tel: <t t-esc="o.company_id.phone"/></t>
                            </p>
                        </div>
                        <div class="col-4 text-right">
                            <img t-if="o.company_id.logo" t-att-src="image_data_uri(o.company_id.logo)" 
                                 style="max-height: 100px; max-width: 200px;"/>
                        </div>
                    </div>
                </div>

                <!-- Información del paciente y orden -->
                <div class="patient-info">
                    <div class="row">
                        <div class="col-6">
                            <h4>DATOS DEL PACIENTE</h4>
                            <table class="table table-sm">
                                <tr>
                                    <td><strong>Nombre:</strong></td>
                                    <td><t t-esc="o.partner_id.name"/></td>
                                </tr>
                                <tr>
                                    <td><strong>Identificaci&#243;n:</strong></td>
                                    <td><t t-esc="o.partner_id.vat or 'N/A'"/></td>
                                </tr>
                                <tr>
                                    <td><strong>Edad:</strong></td>
                                    <td>
                                        <t t-if="o.partner_id.birthdate_date">
                                            <t t-esc="o.partner_id.age"/> a&#241;os
                                        </t>
                                        <t t-else="">N/A</t>
                                    </td>
                                </tr>
                                <tr>
                                    <td><strong>Sexo:</strong></td>
                                    <td>
                                        <t t-if="o.partner_id.gender == 'male'">Masculino</t>
                                        <t t-elif="o.partner_id.gender == 'female'">Femenino</t>
                                        <t t-else="">No especificado</t>
                                    </td>
                                </tr>
                            </table>
                        </div>
                        <div class="col-6">
                            <h4>DATOS DE LA ORDEN</h4>
                            <table class="table table-sm">
                                <tr>
                                    <td><strong>N&#250;mero de Orden:</strong></td>
                                    <td><t t-esc="o.name"/></td>
                                </tr>
                                <tr>
                                    <td><strong>Fecha de Solicitud:</strong></td>
                                    <td><t t-esc="o.date_order" t-options='{"widget": "date"}'/></td>
                                </tr>
                                <tr>
                                    <td><strong>M&#233;dico Solicitante:</strong></td>
                                    <td><t t-esc="o.referring_doctor_id.name or 'N/A'"/></td>
                                </tr>
                                <tr>
                                    <td><strong>Estado:</strong></td>
                                    <td>Resultados Validados</td>
                                </tr>
                            </table>
                        </div>
                    </div>
                </div>

                <!-- Resultados de análisis -->
                <h3 class="text-center" style="margin: 30px 0;">INFORME DE RESULTADOS</h3>

                <!-- Iterar por cada prueba validada -->
                <t t-set="validated_tests" t-value="o.lab_test_ids.filtered(lambda t: t.state == 'validated')"/>
                <t t-foreach="validated_tests" t-as="test">
                    <div class="test-section">
                        <!-- Encabezado del análisis -->
                        <h4 class="test-header">
                            <t t-esc="test.product_id.name"/>
                        </h4>

                        <!-- Tabla de resultados -->
                        <table class="table results-table">
                            <thead>
                                <tr>
                                    <th width="30%">PAR&#193;METRO</th>
                                    <th width="20%" class="text-center">RESULTADO</th>
                                    <th width="15%" class="text-center">UNIDAD</th>
                                    <th width="35%" class="text-center">VALOR DE REFERENCIA</th>
                                </tr>
                            </thead>
                            <tbody>
                                <t t-foreach="test.result_ids" t-as="result">
                                    <tr>
                                        <td><t t-esc="result.parameter_id.name"/></td>
                                        <td class="text-center">
                                            <span t-attf-class="#{result.is_critical and 'result-critical' or result.is_out_of_range and 'result-out-of-range' or 'result-normal'}">
                                                <t t-esc="result.value_display"/>
                                                <t t-if="result.is_critical"> **</t>
                                                <t t-elif="result.is_out_of_range"> *</t>
                                            </span>
                                        </td>
                                        <td class="text-center">
                                            <t t-esc="result.parameter_id.unit or '-'"/>
                                        </td>
                                        <td class="text-center">
                                            <t t-if="result.applicable_range_id">
                                                <t t-if="result.parameter_id.value_type == 'numeric'">
                                                    <t t-esc="result.applicable_range_id.normal_min"/> - <t t-esc="result.applicable_range_id.normal_max"/>
                                                </t>
                                                <t t-else="">
                                                    <t t-esc="result.applicable_range_id.reference_text or 'N/A'"/>
                                                </t>
                                            </t>
                                            <t t-else="">N/A</t>
                                        </td>
                                    </tr>
                                    <!-- Mostrar notas si existen -->
                                    <t t-if="result.notes">
                                        <tr>
                                            <td colspan="4" style="padding-left: 30px; font-style: italic;">
                                                <strong>Nota:</strong> <t t-esc="result.notes"/>
                                            </td>
                                        </tr>
                                    </t>
                                </t>
                            </tbody>
                        </table>

                        <!-- Comentarios de la prueba -->
                        <t t-if="test.notes">
                            <div class="observations">
                                <strong>Observaciones:</strong> <t t-esc="test.notes"/>
                            </div>
                        </t>
                    </div>
                </t>

                <!-- Leyenda de símbolos -->
                <div style="margin-top: 30px; font-size: 12px;">
                    <p><strong>*</strong> Valor fuera del rango normal</p>
                    <p><strong>**</strong> Valor cr&#237;tico que requiere atenci&#243;n inmediata</p>
                </div>

                <!-- Comentarios generales de la orden -->
                <t t-if="o.lab_notes">
                    <div class="observations" style="margin-top: 30px;">
                        <h5>OBSERVACIONES GENERALES</h5>
                        <p><t t-esc="o.lab_notes"/></p>
                    </div>
                </t>

                <!-- Información de validación -->
                <div class="validation-info">
                    <div class="row">
                        <div class="col-6">
                            <p><strong>Fecha de Validaci&#243;n:</strong> 
                                <t t-if="validated_tests">
                                    <t t-esc="validated_tests[0].validation_date" t-options='{"widget": "datetime"}'/>
                                </t>
                            </p>
                        </div>
                        <div class="col-6 text-center">
                            <t t-if="validated_tests and validated_tests[0].validator_id">
                                <div class="signature-line"></div>
                                <p style="margin-top: 5px;">
                                    <strong><t t-esc="validated_tests[0].validator_id.name"/></strong><br/>
                                    Responsable del Laboratorio
                                </p>
                            </t>
                        </div>
                    </div>
                </div>

                <!-- Nota al pie -->
                <div style="margin-top: 50px; font-size: 10px; text-align: center; color: #666;">
                    <p>Este informe es confidencial y est&#225; dirigido exclusivamente al paciente y/o m&#233;dico tratante.</p>
                    <p>Los resultados se relacionan &#250;nicamente con las muestras analizadas.</p>
                </div>
            </div>
        </t>
    </template>
</odoo>