diff --git a/models/medical_benefit.py b/models/medical_benefit.py index d742d52066546e7086cdbc1963e826f9ca81af96..583c4394fda1f6dc307159eb2940fd06902321fa 100644 --- a/models/medical_benefit.py +++ b/models/medical_benefit.py @@ -480,15 +480,28 @@ class MedicalBenefit(models.Model): } if self.insurance_plan_id: res['domain'] = {} - for partner in rp.search([('partner_type','=','patient')]): - for insurance in partner.health_insurance_ids: - if self.insurance_plan_id.insurance_id.id != self.env.ref('health_insurance.res_partner_pami').id: - if insurance.insurance_plan_id.id == self.insurance_plan_id.id: - partner_ids.append(partner.id) - break - elif insurance.insurance_plan_id.insurance_id.id == self.insurance_plan_id.insurance_id.id: - partner_ids.append(partner.id) - break + query = "" + param_id = [] + if self.insurance_plan_id.insurance_id.id == self.env.ref('health_insurance.res_partner_pami').id: + query = """ + SELECT DISTINCT ON(rp.id) rp.id + FROM res_partner rp JOIN + res_partner_insurance rpi ON rpi.patient_id = rp.id JOIN + health_insurance_plan hip ON rpi.insurance_plan_id = hip.id + WHERE hip.insurance_id = %s """ + param_id.append(self.env.ref('health_insurance.res_partner_pami').id) + else: + query = """ + SELECT DISTINCT ON(rp.id) rp.id + FROM res_partner rp JOIN + res_partner_insurance rpi ON rpi.patient_id = rp.id JOIN + health_insurance_plan hip ON rpi.insurance_plan_id = hip.id + WHERE rpi.insurance_plan_id = %s """ + param_id.append(self.insurance_plan_id.id) + self.env.cr.execute(query,param_id) + partner_ids = [] + for l in self.env.cr.dictfetchall(): + partner_ids.append(l['id']) res['domain']['patient_id'] = [('id','in',partner_ids)] for professional in rp.search([('partner_type','=','professional')]): if self.insurance_plan_id.insurance_id.id in professional.attended_insurance_ids.ids: diff --git a/report/benefits_report_template.xml b/report/benefits_report_template.xml index defcbf346ebe3a2c2342c3f01c1ec88a0128b910..1973479cff62d22c6edaa16fbc0df0870fca03b6 100644 --- a/report/benefits_report_template.xml +++ b/report/benefits_report_template.xml @@ -5,7 +5,7 @@ <t t-call="web.external_layout" t-lang="user.lang"> <div class="page"> <div style="text-align:left;color:black!important;"><strong><h1>Benefits report</h1></strong></div><br/> - <table class="table table-stripped"> + <table class="table table-sm o_main_table"> <tr> <td>Insurance</td> <td>Lot number</td>