improve report
parent
f8521a2e16
commit
164e0d378d
|
@ -4,5 +4,6 @@
|
||||||
<field name="date_to" required="1" span="2"/>
|
<field name="date_to" required="1" span="2"/>
|
||||||
<field name="type" onchange="onchange_type" span="2"/>
|
<field name="type" onchange="onchange_type" span="2"/>
|
||||||
<field name="staff_id" domain='[["type","=",type]]' span="2"/>
|
<field name="staff_id" domain='[["type","=",type]]' span="2"/>
|
||||||
<field name="department_id" span="2"/>
|
<field name="branch_id" span="2"/>
|
||||||
|
<field name="department_id" domain='[["branch_id","=",branch_id]]' span="2"/>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -4,5 +4,6 @@
|
||||||
<field name="date_to" required="1" span="2"/>
|
<field name="date_to" required="1" span="2"/>
|
||||||
<field name="staff_type" onchange="onchange_type" span="2"/>
|
<field name="staff_type" onchange="onchange_type" span="2"/>
|
||||||
<field name="staff_id" domain='[["type","=",type]]' span="2"/>
|
<field name="staff_id" domain='[["type","=",type]]' span="2"/>
|
||||||
<field name="department_id" span="2"/>
|
<field name="branch_id" span="2"/>
|
||||||
|
<field name="department_id" domain='[["branch_id","=",branch_id]]' span="2"/>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
<field name="date" mode="month" onchange="onchange_date" span="2"/>
|
<field name="date" mode="month" onchange="onchange_date" span="2"/>
|
||||||
<field name="date_from" required="1" span="2"/>
|
<field name="date_from" required="1" span="2"/>
|
||||||
<field name="date_to" required="1" span="2"/>
|
<field name="date_to" required="1" span="2"/>
|
||||||
<field name="staff_type" onchange="onchange_type" span="2"/>
|
|
||||||
<field name="staff_id" domain='[["type","=",staff_type]]' 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" onchange="onchange_type" span="2"/>
|
||||||
|
<field name="staff_id" domain='[["type","=",staff_type]]' span="2"/>
|
||||||
<field name="categ_id" domain='[["type","=","nurse"]]' span="2"/>
|
<field name="categ_id" domain='[["type","=","nurse"]]' span="2"/>
|
||||||
<field name="level_id" span="2"/>
|
<field name="level_id" span="2"/>
|
||||||
<field name="only_value" span="2"/>
|
<field name="only_value" span="2"/>
|
||||||
|
|
|
@ -157,7 +157,6 @@ class HDCase(Model):
|
||||||
'dlz_use': dlz_use,
|
'dlz_use': dlz_use,
|
||||||
'dlz_max': dlz_max,
|
'dlz_max': dlz_max,
|
||||||
}
|
}
|
||||||
print('no ', no)
|
|
||||||
set_active_user(user_id)
|
set_active_user(user_id)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,16 @@ class ReportLaborCostDetail(Model):
|
||||||
date_to=self._get_date_to()
|
date_to=self._get_date_to()
|
||||||
staff_type=defaults.get("staff_type","doctor")
|
staff_type=defaults.get("staff_type","doctor")
|
||||||
staff_id=int(defaults.get('staff_id', "0"))
|
staff_id=int(defaults.get('staff_id', "0"))
|
||||||
department_id=int(defaults.get('department_id', "0"))
|
print('defaults ', defaults)
|
||||||
|
department_id=defaults.get('department_id')
|
||||||
|
if department_id:
|
||||||
|
department_id=int(department_id)
|
||||||
|
branch_id=defaults.get('branch_id')
|
||||||
|
if branch_id:
|
||||||
|
branch_id=int(branch_id)
|
||||||
|
if not branch_id and department_id:
|
||||||
|
dpt=get_model('clinic.department').browse(department_id)
|
||||||
|
branch_id=dpt.branch_id.id
|
||||||
res={
|
res={
|
||||||
'date': time.strftime("%Y-%m-%d"),
|
'date': time.strftime("%Y-%m-%d"),
|
||||||
'date_from': date_from,
|
'date_from': date_from,
|
||||||
|
@ -47,6 +56,7 @@ class ReportLaborCostDetail(Model):
|
||||||
'type': staff_type,
|
'type': staff_type,
|
||||||
'staff_id': staff_id and staff_id or None,
|
'staff_id': staff_id and staff_id or None,
|
||||||
'department_id': department_id and department_id or None,
|
'department_id': department_id and department_id or None,
|
||||||
|
'branch_id': branch_id,
|
||||||
}
|
}
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
@ -59,6 +69,7 @@ class ReportLaborCostDetail(Model):
|
||||||
staff_type=defaults.get("type")
|
staff_type=defaults.get("type")
|
||||||
staff_id=defaults.get("staff_id")
|
staff_id=defaults.get("staff_id")
|
||||||
department_id=defaults.get("department_id")
|
department_id=defaults.get("department_id")
|
||||||
|
branch_id=defaults.get("branch_id")
|
||||||
dom=[]
|
dom=[]
|
||||||
if ids:
|
if ids:
|
||||||
obj=self.browse(ids)[0]
|
obj=self.browse(ids)[0]
|
||||||
|
@ -67,6 +78,7 @@ class ReportLaborCostDetail(Model):
|
||||||
staff_id=obj.staff_id.id
|
staff_id=obj.staff_id.id
|
||||||
staff_type=obj.type
|
staff_type=obj.type
|
||||||
department_id=obj.department_id.id
|
department_id=obj.department_id.id
|
||||||
|
branch_id=obj.branch_id.id
|
||||||
dom.append(['date','>=',date_from])
|
dom.append(['date','>=',date_from])
|
||||||
dom.append(['date','<=',date_to])
|
dom.append(['date','<=',date_to])
|
||||||
if staff_id:
|
if staff_id:
|
||||||
|
@ -75,6 +87,8 @@ class ReportLaborCostDetail(Model):
|
||||||
dom.append(['type','=',staff_type])
|
dom.append(['type','=',staff_type])
|
||||||
if department_id:
|
if department_id:
|
||||||
dom.append(['labor_cost_id.cycle_item_id.department_id','=',department_id])
|
dom.append(['labor_cost_id.cycle_item_id.department_id','=',department_id])
|
||||||
|
if branch_id:
|
||||||
|
dom.append(['labor_cost_id.cycle_item_id.branch_id','=',branch_id])
|
||||||
|
|
||||||
def replace_quote(dom=""):
|
def replace_quote(dom=""):
|
||||||
return dom.replace("'","\"")
|
return dom.replace("'","\"")
|
||||||
|
@ -131,9 +145,18 @@ class ReportLaborCostDetail(Model):
|
||||||
department_name=get_model("clinic.department").browse(department_id).name or ""
|
department_name=get_model("clinic.department").browse(department_id).name or ""
|
||||||
# link to sub detail
|
# link to sub detail
|
||||||
show_count=0
|
show_count=0
|
||||||
|
show_dpt=[]
|
||||||
|
if department_name:
|
||||||
|
show_dpt.append(department_name)
|
||||||
|
if branch_id:
|
||||||
|
for dpt in get_model("clinic.department").search_read([['branch_id','=',branch_id]],['name']):
|
||||||
|
show_dpt.append(dpt['name'])
|
||||||
|
show_all=False
|
||||||
|
if not department_id and not branch_id:
|
||||||
|
show_all=True
|
||||||
for dpt in dpts:
|
for dpt in dpts:
|
||||||
show_link=True
|
show_link=True
|
||||||
if dpt['name']!=department_name and department_name!='':
|
if dpt['name'] not in show_dpt and not show_all:
|
||||||
show_link=False
|
show_link=False
|
||||||
show_count+=1
|
show_count+=1
|
||||||
dpt.update({
|
dpt.update({
|
||||||
|
@ -210,7 +233,8 @@ class ReportLaborCostDetail(Model):
|
||||||
'staff_name': staff_name,
|
'staff_name': staff_name,
|
||||||
'staff_id': staff_id,
|
'staff_id': staff_id,
|
||||||
'staff_type': staff_type,
|
'staff_type': staff_type,
|
||||||
'department_id': "0", #XXX
|
'department_id': department_id,
|
||||||
|
'branch_id': branch_id,
|
||||||
'date_from': date_from,
|
'date_from': date_from,
|
||||||
'date_to': date_to,
|
'date_to': date_to,
|
||||||
'dpts': dpts,
|
'dpts': dpts,
|
||||||
|
|
|
@ -13,9 +13,9 @@ class ReportLaborCostSubDetail(Model):
|
||||||
"date": fields.Date("Month"),
|
"date": fields.Date("Month"),
|
||||||
"date_from": fields.Date("From", required=True),
|
"date_from": fields.Date("From", required=True),
|
||||||
"date_to": fields.Date("To", required=True),
|
"date_to": fields.Date("To", required=True),
|
||||||
'department_id': fields.Many2One("clinic.department","Department"),
|
|
||||||
'staff_id': fields.Many2One("clinic.staff","Staff"),
|
'staff_id': fields.Many2One("clinic.staff","Staff"),
|
||||||
"staff_type": fields.Selection([["doctor","Doctor"],["nurse","Nurse"],["staff","Staff"]],"Type"),
|
"staff_type": fields.Selection([["doctor","Doctor"],["nurse","Nurse"],["staff","Staff"]],"Type"),
|
||||||
|
'branch_id': fields.Many2One("clinic.branch","Branch"),
|
||||||
'department_id': fields.Many2One("clinic.department","Department"),
|
'department_id': fields.Many2One("clinic.department","Department"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,16 +38,24 @@ class ReportLaborCostSubDetail(Model):
|
||||||
date_to=self._get_date_to()
|
date_to=self._get_date_to()
|
||||||
staff_type=defaults.get("staff_type","doctor")
|
staff_type=defaults.get("staff_type","doctor")
|
||||||
staff_id=int(defaults.get('staff_id', "0"))
|
staff_id=int(defaults.get('staff_id', "0"))
|
||||||
department_id=int(defaults.get('department_id', "0"))
|
department_id=defaults.get('department_id')
|
||||||
|
if department_id:
|
||||||
|
department_id=int(department_id)
|
||||||
|
branch_id=defaults.get('branch_id')
|
||||||
|
if branch_id:
|
||||||
|
branch_id=int(branch_id)
|
||||||
|
if not branch_id and department_id:
|
||||||
|
dpt=get_model("clinic.department").browse(department_id)
|
||||||
|
branch_id=dpt.branch_id.id
|
||||||
res={
|
res={
|
||||||
'date': time.strftime("%Y-%m-%d"),
|
'date': time.strftime("%Y-%m-%d"),
|
||||||
'date_from': date_from,
|
'date_from': date_from,
|
||||||
'date_to': date_to,
|
'date_to': date_to,
|
||||||
'staff_type': staff_type,
|
'staff_type': staff_type,
|
||||||
'staff_id': staff_id and staff_id or None,
|
'staff_id': staff_id and staff_id or None,
|
||||||
'department_id': department_id and department_id or None,
|
'department_id': department_id,
|
||||||
|
'branch_id': branch_id,
|
||||||
}
|
}
|
||||||
print('res ', res)
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def get_report_data(self,ids,context={}):
|
def get_report_data(self,ids,context={}):
|
||||||
|
@ -58,6 +66,7 @@ class ReportLaborCostSubDetail(Model):
|
||||||
date_to=defaults.get("date_to")
|
date_to=defaults.get("date_to")
|
||||||
staff_type=defaults.get("staff_type")
|
staff_type=defaults.get("staff_type")
|
||||||
staff_id=defaults.get("staff_id")
|
staff_id=defaults.get("staff_id")
|
||||||
|
branch_id=defaults.get("branch_id")
|
||||||
department_id=defaults.get("department_id")
|
department_id=defaults.get("department_id")
|
||||||
staff_name=''
|
staff_name=''
|
||||||
dom=[]
|
dom=[]
|
||||||
|
@ -69,6 +78,7 @@ class ReportLaborCostSubDetail(Model):
|
||||||
staff_name=obj.staff_id.name or ""
|
staff_name=obj.staff_id.name or ""
|
||||||
staff_type=obj.staff_type
|
staff_type=obj.staff_type
|
||||||
department_id=obj.department_id.id
|
department_id=obj.department_id.id
|
||||||
|
branch_id=obj.branch_id.id
|
||||||
dom.append(['date','>=',date_from])
|
dom.append(['date','>=',date_from])
|
||||||
dom.append(['date','<=',date_to])
|
dom.append(['date','<=',date_to])
|
||||||
if staff_id and staff_type=='doctor':
|
if staff_id and staff_type=='doctor':
|
||||||
|
@ -79,6 +89,8 @@ class ReportLaborCostSubDetail(Model):
|
||||||
dom.append(['type','=',staff_type])
|
dom.append(['type','=',staff_type])
|
||||||
if department_id:
|
if department_id:
|
||||||
dom.append(['labor_cost_id.cycle_item_id.department_id','=',department_id])
|
dom.append(['labor_cost_id.cycle_item_id.department_id','=',department_id])
|
||||||
|
if branch_id:
|
||||||
|
dom.append(['labor_cost_id.cycle_item_id.branch_id','=',branch_id])
|
||||||
if not staff_id:
|
if not staff_id:
|
||||||
return {}
|
return {}
|
||||||
def replace_quote(dom=""):
|
def replace_quote(dom=""):
|
||||||
|
|
|
@ -245,6 +245,8 @@ class ReportLaborCostSummary(Model):
|
||||||
'total_hdcase': total_hdcase or 0,
|
'total_hdcase': total_hdcase or 0,
|
||||||
'total_cost': round(total_cost,0) or 0,
|
'total_cost': round(total_cost,0) or 0,
|
||||||
'staff_type': staff_type,
|
'staff_type': staff_type,
|
||||||
|
'branch_id': branch_id,
|
||||||
|
'department_id': department_id,
|
||||||
}
|
}
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
|
@ -25,8 +25,8 @@ class ReportShop(Model):
|
||||||
weekday, total_day=monthrange(int(year), int(month))
|
weekday, total_day=monthrange(int(year), int(month))
|
||||||
date_from=defaults.get('date_from','%s-%s-01'%(year,month))
|
date_from=defaults.get('date_from','%s-%s-01'%(year,month))
|
||||||
date_to=defaults.get('date_to',"%s-%s-%s"%(year,month,total_day))
|
date_to=defaults.get('date_to',"%s-%s-%s"%(year,month,total_day))
|
||||||
date_from=defaults.get('date',date)
|
#date_from=defaults.get('date',date)
|
||||||
date_to=defaults.get('date',date)
|
#date_to=defaults.get('date',date)
|
||||||
product_id=defaults.get('product_id')
|
product_id=defaults.get('product_id')
|
||||||
|
|
||||||
branch_id=defaults.get('branch_id',None)
|
branch_id=defaults.get('branch_id',None)
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<table class="table table-condensed table-striped">
|
<table class="table table-condensed table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<th>ชั้น</th>
|
<th>ชั้น</th>
|
||||||
<th style="text-align:right">รวม</th>
|
<th style="text-align:right">รวมจำนวนครั้ง</th>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{{#each lines }}
|
{{#each lines }}
|
||||||
|
|
|
@ -18,20 +18,20 @@
|
||||||
<th></th>
|
<th></th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th rowspan="2">#</th>
|
<th rowspan="3">#</th>
|
||||||
<th rowspan="2">รหัส</th>
|
<th rowspan="3">รหัส</th>
|
||||||
{{#ifeq staff_type "nurse"}}
|
{{#ifeq staff_type "nurse"}}
|
||||||
<th rowspan="2">ชื่อ-สกุล</th>
|
<th rowspan="3">ชื่อ-สกุล</th>
|
||||||
<th rowspan="2">ตำแหน่ง</th>
|
<th rowspan="3">ตำแหน่ง</th>
|
||||||
<th rowspan="2">หมวดหมู่</th>
|
<th rowspan="3">หมวดหมู่</th>
|
||||||
{{else}}
|
{{else}}
|
||||||
<th rowspan="2" colspan="3">ชื่อ-สกุล</th>
|
<th rowspan="3" colspan="3">ชื่อ-สกุล</th>
|
||||||
{{/ifeq}}
|
{{/ifeq}}
|
||||||
{{#each dpts}}
|
{{#each dpts}}
|
||||||
<th style="text-align:right">{{name}}</th>
|
<th style="text-align:right">{{name}}</th>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</th>
|
</th>
|
||||||
<th rowspan="2" style="text-align:right;">รวม</th>
|
<th rowspan="3" style="text-align:right;">รวม</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
@ -52,11 +52,11 @@
|
||||||
{{/ifeq}}
|
{{/ifeq}}
|
||||||
{{#each sub_lines}}
|
{{#each sub_lines}}
|
||||||
<td style="text-align:right;">
|
<td style="text-align:right;">
|
||||||
<a href="#name=clinic_report_labor_cost_detail&defaults.date_from={{../../date_from}}&defaults.date_to={{../../date_to}}&defaults.staff_type={{../staff_type}}&defaults.staff_id={{../staff_id}}&defaults.department_id={{dpt_id}}">{{currency amt zero=""}}</a>
|
<a href="#name=clinic_report_labor_cost_detail&defaults.date_from={{../../date_from}}&defaults.date_to={{../../date_to}}&defaults.staff_type={{../staff_type}}&defaults.staff_id={{../staff_id}}&defaults.department_id={{dpt_id}}&defaults.branch_id={{../branch_id}}">{{currency amt zero=""}}</a>
|
||||||
</td>
|
</td>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
<td style="text-align:right;">
|
<td style="text-align:right;">
|
||||||
<a href="#name=clinic_report_labor_cost_detail&defaults.date_from={{../date_from}}&defaults.date_to={{../date_to}}&defaults.staff_type={{staff_type}}&defaults.staff_id={{staff_id}}">{{currency total zero=""}}</a>
|
<a href="#name=clinic_report_labor_cost_detail&defaults.date_from={{../date_from}}&defaults.date_to={{../date_to}}&defaults.staff_type={{staff_type}}&defaults.staff_id={{staff_id}}&defaults.branch_id={{../branch_id}}">{{currency total zero=""}}</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|
Loading…
Reference in New Issue