From 9bba8a3401d42ff8a88e2eeed4ad63194b5b0e22 Mon Sep 17 00:00:00 2001 From: "watcha.h" Date: Fri, 24 Apr 2015 15:35:57 +0700 Subject: [PATCH] fix account report --- .../models/report_account_hd_case_summary.py | 92 ++++++++++-------- .../report_account_hd_case_summary.xlsx | Bin 5846 -> 7474 bytes .../report_account_hd_case_summary.hbs | 16 ++- 3 files changed, 60 insertions(+), 48 deletions(-) diff --git a/netforce_clinic/models/report_account_hd_case_summary.py b/netforce_clinic/models/report_account_hd_case_summary.py index bfab66b..76a7016 100644 --- a/netforce_clinic/models/report_account_hd_case_summary.py +++ b/netforce_clinic/models/report_account_hd_case_summary.py @@ -110,27 +110,28 @@ class ReportAccountHDCaseSummary(Model): records={} cycles={} context['reimbursable']=reimbursable + categ_prods=[] + for cat_prod in get_model("product.categ").search_read([],['code']): + code=(cat_prod['code'] or "").lower() + categ_prods.append(code) for line in get_model("clinic.hd.case.line").search_browse(dom,context=context): hdcase=line.hd_case_id - items={} - amt=line.amount or 0 - categ=line.product_categ_id - code=(categ.code or "").lower() - if not code in items.keys(): - items[code]=[] - items[code].append({ - 'amount': amt, - }) - pm_number=','.join([pm.number for pm in hdcase.payments if pm.number]) + pm_numbers=[] + pm_id=None + for pm in hdcase.payments: + if pm.number: + pm_numbers.append(pm.number) + pm_id=pm.id #XXX + pm_number=','.join([pnum for pnum in pm_numbers]) prods={ 'yes': [], 'no': [], '': [], } #get the right invoice - for line in hdcase.lines: - prod=line.product_id - reim=line.reimbursable + for hline in hdcase.lines: + prod=hline.product_id + reim=hline.reimbursable if prod: prods[reim].append(prod.id) inv_number="" @@ -138,8 +139,8 @@ class ReportAccountHDCaseSummary(Model): inv_id=None for inv in hdcase.invoices: inv_prods=[] - for line in inv.lines: - prod=line.product_id + for inv_line in inv.lines: + prod=inv_line.product_id if prod: if prod.id in prods[reimbursable]: inv_prods.append(prod.id) @@ -158,15 +159,15 @@ class ReportAccountHDCaseSummary(Model): cycle_item=hdcase.cycle_item_id if cycle.id not in cycles.keys(): cycles[cycle.id]=[] - for line in cycle_item.lines: - nurse=line.nurse_id + for cline in cycle_item.lines: + nurse=cline.nurse_id cycles[cycle.id].append(nurse.name) vals={ 'hdcase_id': hdcase.id, 'number': hdcase.number or "", 'date': hdcase.date, 'hct': hdcase.hct or 0, - 'epo_name': hdcase.epo or 0, + 'epo_name': hdcase.epo or "", 'ptype': ptype.name or "", 'ptype_color': ptype.color or "default", 'dname': hdcase.doctor_id.name or "", @@ -177,39 +178,44 @@ class ReportAccountHDCaseSummary(Model): 'idcard': patient.card_no or "", 'cseq': cycle.sequence or 0, 'cycle_item_id': cycle_item.id, - 'pm_number': pm_number and pm_number or "-", - 'inv_number': inv_number and inv_number or "-", + 'pm_number': pm_number and pm_number or "", + 'pm_id': pm_id, + 'inv_number': inv_number and inv_number or "", 'inv_id': inv_id, - 'mdc': hdcase.mdc, 'mdc_name': hdcase.mdc_name, 'dlz_name': hdcase.dlz_name, 'dlz_id': hdcase.dlz_id and hdcase.dlz_id or 0, - 'dlz_price': hdcase.dlz_price, - 'lab': hdcase.lab, - 'misc': hdcase.misc, - 'inv_ref': inv_ref and inv_ref or "-", - 'pick_ref': pick_ref and pick_ref or "-", + 'inv_ref': inv_ref and inv_ref or "", + 'pick_ref': pick_ref and pick_ref or "", 'pick_id': pick_id, } - for code, item in items.items(): - vals.update({ - code: sum([t['amount'] for t in item]) - }) # merge 1 line of number - number=vals['number'] - if number not in records.keys(): - records[number]=vals - #FIXME please check - #else: - #for code, item in items.items(): - #if vals.get(code): - #if not records[number].get(code): - #records[number][code]=0 - #records[number][code]+=vals[code] - #records[number]['lab']+=vals['lab'] - #records[number]['misc']+=vals['misc'] + hdcase_id=vals['hdcase_id'] + if not records.get(hdcase_id): + for categ_prod in categ_prods: + vals[categ_prod]=0 + vals['misc']=0 + records[hdcase_id]=vals + amt=line.amount or 0 + print('reimbursable ', line.reimbursable) + categ=line.product_categ_id + if categ: + code=(categ.code or "").lower() + if code: + code=code.replace("epo","mdc") #XXX + records[hdcase_id][code]+=amt + else: + if categ.parent_id: + code=categ.parent_id.code or '' + if code: + code=code.lower() + records[hdcase_id][code]+=amt + else: + records[hdcase_id]['misc']+=amt + else: + records[hdcase_id]['misc']+=amt lines=[] - for hdnumber, vals in records.items(): + for hdcase_id, vals in records.items(): lines.append(vals) company_name=company.name or "" if department_id: diff --git a/netforce_clinic/reports/report_account_hd_case_summary.xlsx b/netforce_clinic/reports/report_account_hd_case_summary.xlsx index 931cf909c31b3e9001da4c9e9faf13df48144543..be763ec7268c0eb46ffc400dba41e8dfc8e55163 100644 GIT binary patch literal 7474 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 delta 4844 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 I{e9{G1E-3{{hn}} {{idcard}} {{ptype}} - {{pm_number}} - {{view "link" string=inv_number action="cust_invoice" action_options="form_view_xml&cust_invoice_form&mode=form" active_id=inv_id}} + {{#if pm_id}} + {{view "link" string=pm_number action="payment" action_options="mode=form" active_id=pm_id}} + {{/if}} + + + {{#if inv_id}} + {{view "link" string=inv_number action="cust_invoice" action_options="form_view_xml&cust_invoice_form&mode=form" active_id=inv_id}} + {{/if}} {{mdc_name}} {{currency fee zero=""}} @@ -90,13 +96,13 @@ {{currency misc zero=""}} {{currency dlz_price zero=""}} - {{view "link" string=inv_ref action="cust_invoice" action_options="form_view_xml&cust_invoice_form&mode=form" active_id=inv_id}} + {{#if inv_id}} + {{view "link" string=inv_ref action="cust_invoice" action_options="form_view_xml&cust_invoice_form&mode=form" active_id=inv_id}} + {{/if}} {{#if pick_id}} {{view "link" string=pick_ref action="pick_out" action_options="mode=form" active_id=pick_id}} - {{else}} - - {{/if}} {{else}}