From e710105b26d3625ae2cfbfcb485cb0a832413353 Mon Sep 17 00:00:00 2001 From: "watcha.h@almacom.co.th" Date: Sun, 21 Jun 2015 22:38:33 +0700 Subject: [PATCH] reports --- .../models/report_labor_cost_detail.py | 46 +++++++++++++++--- .../models/report_labor_cost_sub_detail.py | 9 ++-- .../models/report_labor_cost_summary.py | 6 +-- .../reports/report_labor_cost_detail.xlsx | Bin 6786 -> 7418 bytes .../reports/report_labor_cost_sub_detail.xlsx | Bin 6828 -> 7105 bytes .../reports/report_labor_cost_summary.xlsx | Bin 7370 -> 7380 bytes .../templates/report_labor_cost_detail.hbs | 10 +++- 7 files changed, 55 insertions(+), 16 deletions(-) diff --git a/netforce_clinic/models/report_labor_cost_detail.py b/netforce_clinic/models/report_labor_cost_detail.py index 58acb1c..4c0638a 100644 --- a/netforce_clinic/models/report_labor_cost_detail.py +++ b/netforce_clinic/models/report_labor_cost_detail.py @@ -108,12 +108,8 @@ class ReportLaborCostDetail(Model): dom.append(['cycle_id','=',cycle_id]) if categ_id: dom.append(['staff_id.categ_id','=',categ_id]) - print('dom ', dom) def replace_quote(dom=""): return dom.replace("'","\"") - #prevent to load more data - #if not staff_id: - #return {} dates={} for line in get_model("clinic.labor.cost.line").search_browse(dom): lcost=line.labor_cost_id @@ -122,8 +118,7 @@ class ReportLaborCostDetail(Model): if not date: continue dpt=citem.department_id - #amt=line.pay_amount or 0 #XXX - amt=line.amount or 0 #XXX + amt=line.amount or 0 staff=line.staff_id qty=0 if staff.type=='doctor': @@ -277,8 +272,43 @@ class ReportLaborCostDetail(Model): 'dpt_lines': dpt_lines, 'show_all': show_count <=1 and True or False, } - print('department_id ', department_id) - print('branch_id ', branch_id) + data['dpts_txt']=[{0: '#', 1: 'วันที่'}] + vals={} + no=0 + dpt_len=len(data['dpts_txt'][0]) + for dpt in dpts: + data['dpts_txt'][0][no+dpt_len]=dpt['name'] + vals[no]=0 + no+=1 + count=1 + items=[] + def int2ths(r): + if type(r)==type(''): + return r + if not r: + return "" + return "{0:,.2f}".format(r) + for i in range(len(data['lines'])): + line=data['lines'][i] + item_vals=vals.copy() + item_vals['no']=count + item_vals['date']=line['date'] + no=0 + for sub_line in line['sub_lines']: + item_vals['item%s_qty'%no]=int2ths(sub_line['qty']) + item_vals['item%s_amt'%no]=int2ths(sub_line['amt']) + no+=1 + item_vals['total_qty']=int2ths(line['total_qty']) + item_vals['total_amt']=int2ths(line['total_amt']) + items.append(item_vals) + count+=1 + data['items']=items + data['total_lines_txt']=[{}] + no=0 + for tline in data['dpt_lines']: + data['total_lines_txt'][0]['item%s_qty'%no]=int2ths(tline['qty']) + data['total_lines_txt'][0]['item%s_amt'%no]=int2ths(tline['amt']) + no+=1 return data def onchange_date(self,context={}): diff --git a/netforce_clinic/models/report_labor_cost_sub_detail.py b/netforce_clinic/models/report_labor_cost_sub_detail.py index 7b648e1..9e0d5b9 100644 --- a/netforce_clinic/models/report_labor_cost_sub_detail.py +++ b/netforce_clinic/models/report_labor_cost_sub_detail.py @@ -38,10 +38,10 @@ class ReportLaborCostSubDetail(Model): date_to=self._get_date_to() staff_type=defaults.get("staff_type","doctor") staff_id=int(defaults.get('staff_id', "0")) - department_id=defaults.get('department_id') + department_id=defaults.get('department_id',None) if department_id: department_id=int(department_id) - branch_id=defaults.get('branch_id') + branch_id=defaults.get('branch_id',None) if branch_id: branch_id=int(branch_id) if not branch_id and department_id: @@ -56,6 +56,7 @@ class ReportLaborCostSubDetail(Model): 'department_id': department_id, 'branch_id': branch_id, } + print('res ', res) return res def get_report_data(self,ids,context={}): @@ -66,8 +67,8 @@ class ReportLaborCostSubDetail(Model): date_to=defaults.get("date_to") staff_type=defaults.get("staff_type") staff_id=defaults.get("staff_id") - branch_id=defaults.get("branch_id") - department_id=defaults.get("department_id") + branch_id=defaults.get("branch_id",None) + department_id=defaults.get("department_id",None) staff_name='' dom=[] if ids: diff --git a/netforce_clinic/models/report_labor_cost_summary.py b/netforce_clinic/models/report_labor_cost_summary.py index c3d2cad..d34bc66 100644 --- a/netforce_clinic/models/report_labor_cost_summary.py +++ b/netforce_clinic/models/report_labor_cost_summary.py @@ -120,8 +120,6 @@ class ReportLaborCostSummary(Model): if type(r)==type(''): return r return "{0:,.0f}".format(r) - - print('--> dom: ', dom) total_hdcase=0 for line in get_model("clinic.labor.cost.line").search_browse(dom): lcost=line.labor_cost_id @@ -283,8 +281,10 @@ class ReportLaborCostSummary(Model): 'staff_type': staff_type, 'branch_id': branch_id, 'department_id': department_id, - 'dpts_txt': [{0: '#', 1: 'รหัส', 2: 'ชื่อ-สกุล',}], } + + # for report xlsx + data['dpts_txt']=[{0: '#', 1: 'รหัส', 2: 'ชื่อ-สกุล',}] items=[] vals={} no=0 diff --git a/netforce_clinic/reports/report_labor_cost_detail.xlsx b/netforce_clinic/reports/report_labor_cost_detail.xlsx index fccee4c3670d3682766e493383c5479b015a1f5c..c16264f08d85ecd40d929dca80485b5e4f435c67 100644 GIT binary patch literal 7418 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 literal 6786 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 R3=Bf_ryKpQyrR0g`XA`Vbvgh5 diff --git a/netforce_clinic/reports/report_labor_cost_sub_detail.xlsx b/netforce_clinic/reports/report_labor_cost_sub_detail.xlsx index ea852c3f316fea001dc14b3676ab138c7a626ca7..24cfb0a426097f988d56a9ff4b299d04d8724a26 100644 GIT binary patch literal 7105 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 literal 6828 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 diff --git a/netforce_clinic/reports/report_labor_cost_summary.xlsx b/netforce_clinic/reports/report_labor_cost_summary.xlsx index 1d4e98674604819939e2c17345743d2a3796b850..9a173518aaece54abfa82fbadf0151f49057c5df 100644 GIT binary patch delta 2994 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 K0rXYuAmV=+^fy@m delta 2937 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 diff --git a/netforce_clinic/templates/report_labor_cost_detail.hbs b/netforce_clinic/templates/report_labor_cost_detail.hbs index 9ad3efe..559c288 100644 --- a/netforce_clinic/templates/report_labor_cost_detail.hbs +++ b/netforce_clinic/templates/report_labor_cost_detail.hbs @@ -10,7 +10,15 @@ {{/if}} {{#if show_all}} - {{comp_name}} + {{#if department_id}} + {{comp_name}} + {{else}} + {{#if branch_id}} + {{comp_name}} + {{else}} + {{comp_name}} + {{/if}} + {{/if}} {{else}} {{comp_name}} {{/if}}