From be61c5ee47bb58853189d013352e7865cee170fd Mon Sep 17 00:00:00 2001 From: Marco Folco <marcofolco28@gmail.com> Date: Thu, 4 Feb 2021 15:30:54 -0300 Subject: [PATCH] [MOD] medical benefit and report Modified domain update while filling benefits Improved report template --- models/medical_benefit.py | 31 ++++++++++++++++++++--------- report/benefits_report_template.xml | 2 +- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/models/medical_benefit.py b/models/medical_benefit.py index d742d52..583c439 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 defcbf3..1973479 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> -- GitLab