From 19139bbcc8e93f5ac724bbfc8d3be4ad5dad33e1 Mon Sep 17 00:00:00 2001 From: "watcha.h@almacom.co.th" Date: Fri, 3 Apr 2015 11:45:16 +0700 Subject: [PATCH] improve cycle item report --- .../layouts/clinic_vascular_access_form.xml | 2 + .../layouts/clinic_vascular_access_list.xml | 3 +- netforce_clinic/models/report_cycle_item.py | 29 ++++++++++++ .../models/report_hd_case_summary.py | 14 ++---- .../models/report_labor_cost_summary.py | 2 +- netforce_clinic/models/vascular_access.py | 6 ++- .../reports/report_cycle_item.xlsx | Bin 5167 -> 5650 bytes .../templates/report_cycle_item.hbs | 42 +++++++++++++++++- netforce_clinic/templates/report_shop.hbs | 2 - 9 files changed, 83 insertions(+), 17 deletions(-) diff --git a/netforce_clinic/layouts/clinic_vascular_access_form.xml b/netforce_clinic/layouts/clinic_vascular_access_form.xml index 4668247..a9c52ec 100644 --- a/netforce_clinic/layouts/clinic_vascular_access_form.xml +++ b/netforce_clinic/layouts/clinic_vascular_access_form.xml @@ -1,4 +1,6 @@
+ + diff --git a/netforce_clinic/layouts/clinic_vascular_access_list.xml b/netforce_clinic/layouts/clinic_vascular_access_list.xml index f58c2df..57098f9 100644 --- a/netforce_clinic/layouts/clinic_vascular_access_list.xml +++ b/netforce_clinic/layouts/clinic_vascular_access_list.xml @@ -1,4 +1,5 @@ - + + diff --git a/netforce_clinic/models/report_cycle_item.py b/netforce_clinic/models/report_cycle_item.py index 6607d34..f2ba1b7 100644 --- a/netforce_clinic/models/report_cycle_item.py +++ b/netforce_clinic/models/report_cycle_item.py @@ -82,6 +82,15 @@ class ReportCycleItem(Model): dom.append(['department_id','=',department_id]) lines=[] cycles={} + vasculars={} + for vscl in get_model("clinic.vascular.access").search_read([],['code','description']): + vasculars[vscl['code']]={ + 'qty': 0, + 'description': vscl['description'] or '' + } + ptypes={} + for ptype in get_model("clinic.patient.type").search_read([],['name']): + ptypes[ptype['name'] or ""]=0 for citem in get_model('clinic.cycle.item').search_browse(dom,order="date"): cycle=citem.cycle_id if cycle.id not in cycles.keys(): @@ -91,9 +100,12 @@ class ReportCycleItem(Model): cycles[cycle.id].append(nurse.name) for hdcase in citem.hd_cases: patient=hdcase.patient_id + vascular=patient.vascular_acc + vasculars[vascular.code]['qty']+=1 ptype=patient.type_id if ptype_id and ptype_id!=ptype.id: continue + ptypes[ptype.name or ""]+=1 doctor=hdcase.doctor_id cycle=hdcase.cycle_id dpt=hdcase.department_id @@ -163,14 +175,31 @@ class ReportCycleItem(Model): line['no']=no nlines.append(line) no+=1 + vscl_lines=[] + for k,v in vasculars.items(): + vscl_lines.append({ + 'description': v['description'], + 'qty': v['qty'], + }) + ptype_lines=[] + total_pt=0 + for pname,qty in ptypes.items(): + ptype_lines.append({ + 'name': pname, + 'qty': qty, + }) + total_pt+=qty data={ 'company_name': company_name or "", 'lines': nlines, + 'vscl_lines': vscl_lines, + 'ptype_lines': ptype_lines, 'month': month_str, 'date_from': date_from, 'date_to': date_to, 'total_fee': total_fee, 'total_mdc': total_mdc, + 'total_pt': total_pt, } return data diff --git a/netforce_clinic/models/report_hd_case_summary.py b/netforce_clinic/models/report_hd_case_summary.py index ff10fa3..07a477d 100644 --- a/netforce_clinic/models/report_hd_case_summary.py +++ b/netforce_clinic/models/report_hd_case_summary.py @@ -54,7 +54,6 @@ class ReportHDCaseSummary(Model): def get_report_data(self,ids,context={}): company_id=get_active_company() company=get_model("company").browse(company_id) - date=datetime.now().strftime("%Y-%m-%d") year=int(date[0:4]) crr_month=int(date[5:7]) @@ -63,9 +62,9 @@ class ReportHDCaseSummary(Model): date_from=defaults.get('date_from',date) date_to=defaults.get('date_to',date) branch_id=defaults.get("branch_id",None) + department_id=defaults.get("department_id",None) if branch_id: branch_id=branch_id[0] - department_id=defaults.get("department_id",None) if department_id: department_id=department_id[0] time_start='%s-%s-01 00:00:00'%(year,str(crr_month).zfill(2)) @@ -110,10 +109,10 @@ class ReportHDCaseSummary(Model): count=1 # number of hd case of this month dom=[] - dom.append(["time_start",">=",time_start]) - dom.append(["time_stop","<=",time_stop]) + dom.append(["date",">=",date_from]) + dom.append(["date","<=",date_to]) dom.append(["state","in",["completed","waiting_payment","paid"]]) - dom.append(['patient_id.walkin','=','no']) + #dom.append(['patient_id.walkin','=','no']) if branch_id: dom.append(['branch_id','=',branch_id]) if department_id: @@ -228,8 +227,6 @@ class ReportHDCaseSummary(Model): 'unit': 'คน', } }) - - dom=[] time_start='%s-%s-01'%(year,str(crr_month).zfill(2)) time_stop='%s-%s-%s'%(year,str(crr_month).zfill(2),crr_total_day) @@ -237,8 +234,6 @@ class ReportHDCaseSummary(Model): dom.append(['type_id','=',ptype['id']]) dom.append(['walkin','=',"no"]) dom.append(['dispose','=',False]) - #if resign_patients: - #dom.append(['id','not in',resign_patients]) if branch_id: dom.append(['branch_id','=',branch_id]) if department_id: @@ -283,7 +278,6 @@ class ReportHDCaseSummary(Model): elif branch_id: branch=get_model("clinic.branch").browse(branch_id) sub_name="(%s)" % branch.name or "" - print('>> ', context.get('defaults')) data={ 'branch_id': branch_id, 'department_id': department_id, diff --git a/netforce_clinic/models/report_labor_cost_summary.py b/netforce_clinic/models/report_labor_cost_summary.py index 4aa872e..91168c2 100644 --- a/netforce_clinic/models/report_labor_cost_summary.py +++ b/netforce_clinic/models/report_labor_cost_summary.py @@ -134,7 +134,7 @@ class ReportLaborCostSummary(Model): staffs[staff.name][dpt.name]['qty']+=qty if not citems.get(citem.id): - qty=len([hdcase for hdcase in citem.hd_cases]) + qty=len([hdcase for hdcase in citem.hd_cases if hdcase.state in ('completed', 'waiting_payment', 'paid')]) citems[citem.id]=qty lines=[] dom=[] diff --git a/netforce_clinic/models/vascular_access.py b/netforce_clinic/models/vascular_access.py index 785d788..c7e6c15 100644 --- a/netforce_clinic/models/vascular_access.py +++ b/netforce_clinic/models/vascular_access.py @@ -3,10 +3,14 @@ from netforce.model import Model, fields class VascularAccess(Model): _name="clinic.vascular.access" _string="Vascular Access" - + _fields={ "name": fields.Char("Name",required=True,search=True), + "code": fields.Char("Code",required=True,search=True), + "description": fields.Char("Description",search=True), 'note': fields.Text("Note"), } + _sql_constraints=("clinic_vascular_key_uniq","unique(code)","code should be unique"), + VascularAccess.register() diff --git a/netforce_clinic/reports/report_cycle_item.xlsx b/netforce_clinic/reports/report_cycle_item.xlsx index 52d8efcc6a2250bba6c8c17ffed1c71f41129a03..fc924f8a2c1a2e9d2938138c6ade58fba7ebf61b 100644 GIT binary patch delta 4678 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 W{P8Ph5C|l)rNgWMxyUB|nEel_6JN>z diff --git a/netforce_clinic/templates/report_cycle_item.hbs b/netforce_clinic/templates/report_cycle_item.hbs index d7016e9..00a119e 100644 --- a/netforce_clinic/templates/report_cycle_item.hbs +++ b/netforce_clinic/templates/report_cycle_item.hbs @@ -33,7 +33,7 @@ {{dname}} {{tname}} {{fee}} - {{mdc}} + {{mdc}} {{dlz_name}} {{dlz_use}} View @@ -49,9 +49,47 @@ {{currency total_fee zero=""}} - + {{currency total_mdc}} + + + + + +
+ + + + + + + {{#each vscl_lines}} + + + + {{/each}} + +
Vascular AccessQty
{{description}}{{qty}}
+
+ + + + + + + {{#each ptype_lines}} + + + + {{/each}} + + + + + +
Patient TypeQty
{{name}}{{qty}}
รวมผู้ป่วยทั้งหมด{{total_pt}}
+
diff --git a/netforce_clinic/templates/report_shop.hbs b/netforce_clinic/templates/report_shop.hbs index 2c6f28a..7d44be1 100644 --- a/netforce_clinic/templates/report_shop.hbs +++ b/netforce_clinic/templates/report_shop.hbs @@ -14,7 +14,6 @@ Receipt# Invoice# ชื่อยา - ค่าฟอก ค่ายา Lab Misc. @@ -37,7 +36,6 @@ {{view "link" string=inv_number action="cust_invoice" action_options="form_view_xml&cust_invoice_form&mode=form" active_id=inv_id}} {{mdc_name}} - {{currency fee zero=""}} {{currency mdc zero=""}} {{currency lab zero=""}} {{currency misc zero=""}}