report_wizard_labor_cost merge file to pdf (3)
parent
6babde4800
commit
12e81bfd71
|
@ -45,7 +45,7 @@
|
||||||
<item string="Report Cycle Setting" action="clinic_report_cycle_setting"/>
|
<item string="Report Cycle Setting" action="clinic_report_cycle_setting"/>
|
||||||
<item string="Cycle Item Summary" action="clinic_report_cycle_item"/>
|
<item string="Cycle Item Summary" action="clinic_report_cycle_item"/>
|
||||||
<item string="HD Case Summary" action="clinic_report_hd_case_summary"/>
|
<item string="HD Case Summary" action="clinic_report_hd_case_summary"/>
|
||||||
<item string="HD Case Expense" action="clinic_report_claim"/>
|
<item string="HD Case Expense" action="report_hdcase_expense_summary"/>
|
||||||
<item string="RD Shop Expense" action="clinic_report_shop"/>
|
<item string="RD Shop Expense" action="clinic_report_shop"/>
|
||||||
<divider/>
|
<divider/>
|
||||||
<item string="Receipt Summary" action="clinic_report_receipt_summary"/>
|
<item string="Receipt Summary" action="clinic_report_receipt_summary"/>
|
||||||
|
|
|
@ -8,9 +8,11 @@
|
||||||
<field name="date_to" span="2"/>
|
<field name="date_to" span="2"/>
|
||||||
<field name="branch_id" onchange='onchange_branch' span="2"/>
|
<field name="branch_id" onchange='onchange_branch' span="2"/>
|
||||||
<field name="department_id" domain='[["branch_id","=",branch_id]]' span="2"/>
|
<field name="department_id" domain='[["branch_id","=",branch_id]]' span="2"/>
|
||||||
|
<field name="staff_type" span="2"/>
|
||||||
<field name="file_pdf1" span="4"/>
|
<field name="file_pdf1" span="4"/>
|
||||||
<field name="file_pdf2" span="4"/>
|
<field name="file_pdf2" span="4"/>
|
||||||
<field name="file_pdf3" span="4"/>
|
<field name="file_pdf3" span="4"/>
|
||||||
|
<!--<field name="file_pdf4" span="4"/>-->
|
||||||
</group>
|
</group>
|
||||||
<group span="12" columns="1">
|
<group span="12" columns="1">
|
||||||
<template>
|
<template>
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
<list model="clinic.print.wizard.labor.cost">
|
<list model="clinic.print.wizard.labor.cost">
|
||||||
<field name="period_id"/>
|
<field name="period_id"/>
|
||||||
|
<field name="date_from"/>
|
||||||
|
<field name="date_to"/>
|
||||||
|
<field name="staff_type"/>
|
||||||
|
<field name="branch_id"/>
|
||||||
|
<field name="department_id"/>
|
||||||
<field name="state"/>
|
<field name="state"/>
|
||||||
</list>
|
</list>
|
||||||
|
|
|
@ -21,13 +21,14 @@ class PrintLaborCost(Model):
|
||||||
"cycle_id": fields.Many2One("clinic.cycle","Cycle"),
|
"cycle_id": fields.Many2One("clinic.cycle","Cycle"),
|
||||||
"branch_id": fields.Many2One("clinic.branch","Branch"),
|
"branch_id": fields.Many2One("clinic.branch","Branch"),
|
||||||
"department_id": fields.Many2One("clinic.department","Department"),
|
"department_id": fields.Many2One("clinic.department","Department"),
|
||||||
"staff_type": fields.Selection([["doctor","Doctor"],["nurse","Nurse"]],"Type"),
|
"staff_type": fields.Selection([["doctor","Doctor"],["nurse","Nurse"],["staff","Staff"]],"Type", required=True),
|
||||||
'staff_id': fields.Many2One("clinic.staff","Staff"),
|
'staff_id': fields.Many2One("clinic.staff","Staff"),
|
||||||
'state': fields.Selection([['draft','Draft'],['waiting_doc','Waiting Document'],['done','Done']],'State',search=True),
|
'state': fields.Selection([['draft','Draft'],['waiting_doc','Waiting Document'],['done','Done']],'State',search=True),
|
||||||
'company_id': fields.Many2One('company','Company'),
|
'company_id': fields.Many2One('company','Company'),
|
||||||
'file_pdf1': fields.File("File_Labor_cost_sunmary"),
|
'file_pdf1': fields.File("File_Labor_cost_sunmary"),
|
||||||
'file_pdf2': fields.File("File_Labor_cost_details"),
|
'file_pdf2': fields.File("File_Labor_cost_details"),
|
||||||
'file_pdf3': fields.File("File_Labor_cost_Sub_Deatils(Doctor)"),
|
'file_pdf3': fields.File("File_Labor_cost_Sub_Deatils(Doctor)"),
|
||||||
|
'file_pdf4': fields.File("File_Labor_cost_Sub_Deatils(Nurse)"),
|
||||||
}
|
}
|
||||||
|
|
||||||
def _get_date_from(self,context={}):
|
def _get_date_from(self,context={}):
|
||||||
|
@ -77,6 +78,7 @@ class PrintLaborCost(Model):
|
||||||
'file_pdf1': None,
|
'file_pdf1': None,
|
||||||
'file_pdf2': None,
|
'file_pdf2': None,
|
||||||
'file_pdf3': None,
|
'file_pdf3': None,
|
||||||
|
#'file_pdf4': None,
|
||||||
})
|
})
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
|
@ -99,8 +101,10 @@ class PrintLaborCost(Model):
|
||||||
#Create File Name
|
#Create File Name
|
||||||
fname1='%s_wizard_sunmary_%s_to_%s.pdf'%(obj.id,obj.date_from,obj.date_to)
|
fname1='%s_wizard_sunmary_%s_to_%s.pdf'%(obj.id,obj.date_from,obj.date_to)
|
||||||
fname2='%s_wizard_details_%s_to_%s.pdf'%(obj.id,obj.date_from,obj.date_to)
|
fname2='%s_wizard_details_%s_to_%s.pdf'%(obj.id,obj.date_from,obj.date_to)
|
||||||
fname3='%s_wizard_sub_details_%s_to_%s.pdf'%(obj.id,obj.date_from,obj.date_to)
|
fname3='%s_wizard_sub_details_%s_to_%s(%s).pdf'%(obj.id,obj.date_from,obj.date_to,obj.staff_type)
|
||||||
defaults='&data=%s&period_id=%s&date_from=%s&date_to=%s&cycle_id=%s&branch_id=%s&department_id=%s'%(obj.date_from,obj.period_id.id,obj.date_from,obj.date_to,obj.cycle_id.id or None,obj.branch_id.id or None,obj.department_id.id or None,)
|
#fname3='%s_wizard_sub_details_%s_to_%s(docter).pdf'%(obj.id,obj.date_from,obj.date_to)
|
||||||
|
#fname4='%s_wizard_sub_details_%s_to_%s(nurse).pdf'%(obj.id,obj.date_from,obj.date_to)
|
||||||
|
defaults='&data=%s&period_id=%s&date_from=%s&date_to=%s&cycle_id=%s&branch_id=%s&department_id=%s&staff_type=%s'%(obj.date_from,obj.period_id.id,obj.date_from,obj.date_to,obj.cycle_id.id or None,obj.branch_id.id or None,obj.department_id.id or None,obj.staff_type or None)
|
||||||
lc_id=get_model('clinic.report.wizard.labor.cost').create({})
|
lc_id=get_model('clinic.report.wizard.labor.cost').create({})
|
||||||
link1="report?convert=pdf&refer_id=%s&template=report_wizard_labor_cost_summary&model=clinic.report.wizard.labor.cost&type=report_odt2&method=get_report_wizard_summary%s&type_report=wizard&user=admin" % (lc_id,defaults)
|
link1="report?convert=pdf&refer_id=%s&template=report_wizard_labor_cost_summary&model=clinic.report.wizard.labor.cost&type=report_odt2&method=get_report_wizard_summary%s&type_report=wizard&user=admin" % (lc_id,defaults)
|
||||||
load_report(fname1,link1)
|
load_report(fname1,link1)
|
||||||
|
@ -108,11 +112,14 @@ class PrintLaborCost(Model):
|
||||||
load_report(fname2,link2)
|
load_report(fname2,link2)
|
||||||
link3="report?convert=pdf&refer_id=%s&template=report_wizard_labor_cost_sub_details&model=clinic.report.wizard.labor.cost&type=report_odt2&method=get_report_wizard_sub_details%s&type_report=wizard&user=admin" % (lc_id,defaults)
|
link3="report?convert=pdf&refer_id=%s&template=report_wizard_labor_cost_sub_details&model=clinic.report.wizard.labor.cost&type=report_odt2&method=get_report_wizard_sub_details%s&type_report=wizard&user=admin" % (lc_id,defaults)
|
||||||
load_report(fname3,link3)
|
load_report(fname3,link3)
|
||||||
|
#link4="report?convert=pdf&refer_id=%s&template=report_wizard_labor_cost_sub_details&model=clinic.report.wizard.labor.cost&type=report_odt2&method=get_report_wizard_sub_details%s&type_report=wizard&user=admin" % (lc_id,defaults+'&staff_type=nurse')
|
||||||
|
#load_report(fname4,link4)
|
||||||
|
|
||||||
obj.write({
|
obj.write({
|
||||||
'file_pdf1': '%s' % (fname1),
|
'file_pdf1': '%s' % (fname1),
|
||||||
'file_pdf2': '%s' % (fname2),
|
'file_pdf2': '%s' % (fname2),
|
||||||
'file_pdf3': '%s' % (fname3),
|
'file_pdf3': '%s' % (fname3),
|
||||||
|
#'file_pdf4': '%s' % (fname4),
|
||||||
'state': 'done',
|
'state': 'done',
|
||||||
})
|
})
|
||||||
os.chdir('%s'%fdir)
|
os.chdir('%s'%fdir)
|
||||||
|
|
|
@ -93,7 +93,7 @@ class ReportLaborCostSubDetail(Model):
|
||||||
if staff_id and staff_type=='doctor':
|
if staff_id and staff_type=='doctor':
|
||||||
dom.append(['staff_id','=',staff_id])
|
dom.append(['staff_id','=',staff_id])
|
||||||
elif staff_id and staff_type=='nurse':
|
elif staff_id and staff_type=='nurse':
|
||||||
pass
|
dom.append(['staff_id','=',staff_id])
|
||||||
if staff_type:
|
if staff_type:
|
||||||
dom.append(['type','=',staff_type])
|
dom.append(['type','=',staff_type])
|
||||||
if department_id:
|
if department_id:
|
||||||
|
@ -115,25 +115,35 @@ class ReportLaborCostSubDetail(Model):
|
||||||
qty=line.qty or 0
|
qty=line.qty or 0
|
||||||
if qty:
|
if qty:
|
||||||
amount=amount/qty
|
amount=amount/qty
|
||||||
for hdcase in citem.hd_cases:
|
if staff_type=='nurse':
|
||||||
if hdcase.state not in ("waiting_payment","paid"):
|
|
||||||
continue
|
|
||||||
patient=hdcase.patient_id
|
|
||||||
doctor=hdcase.doctor_id
|
|
||||||
vals={
|
vals={
|
||||||
'date': date,
|
'date': date,
|
||||||
'patient_name': patient.name or "",
|
'patient_name': line.staff_id.name or "",
|
||||||
'department_name': dpt.name or "",
|
'department_name': dpt.name or "",
|
||||||
'amount': amount,
|
'amount': amount,
|
||||||
}
|
}
|
||||||
if staff_type=='doctor' and doctor.id==staff_id:
|
lines.append(vals)
|
||||||
lines.append(vals)
|
amount_total+=amount
|
||||||
amount_total+=amount
|
if staff_type=='doctor':
|
||||||
elif staff_type=='nurse':
|
for hdcase in citem.hd_cases:
|
||||||
lines.append(vals)
|
if hdcase.state not in ("waiting_payment","paid"):
|
||||||
amount_total+=amount
|
continue
|
||||||
else:
|
patient=hdcase.patient_id
|
||||||
pass
|
doctor=hdcase.doctor_id
|
||||||
|
vals={
|
||||||
|
'date': date,
|
||||||
|
'patient_name': patient.name or "",
|
||||||
|
'department_name': dpt.name or "",
|
||||||
|
'amount': amount,
|
||||||
|
}
|
||||||
|
if staff_type=='doctor' and doctor.id==staff_id:
|
||||||
|
lines.append(vals)
|
||||||
|
amount_total+=amount
|
||||||
|
elif staff_type=='nurse':
|
||||||
|
lines.append(vals)
|
||||||
|
amount_total+=amount
|
||||||
|
else:
|
||||||
|
pass
|
||||||
slines=[]
|
slines=[]
|
||||||
no=1
|
no=1
|
||||||
for line in sorted(lines,key=lambda x: (x['date'], x['department_name'])):
|
for line in sorted(lines,key=lambda x: (x['date'], x['department_name'])):
|
||||||
|
|
Loading…
Reference in New Issue