fix
parent
7071d8d5c8
commit
774c96225d
|
@ -15,7 +15,7 @@
|
||||||
<field name="last_name" required="1"/>
|
<field name="last_name" required="1"/>
|
||||||
<field name="doctor_id" required="1"/>
|
<field name="doctor_id" required="1"/>
|
||||||
<field name="department_id" required="1"/>
|
<field name="department_id" required="1"/>
|
||||||
<field name="walkin"/>
|
<field name="walkin" onchange="onchange_walkin"/>
|
||||||
<field name="vascular_acc"/>
|
<field name="vascular_acc"/>
|
||||||
<field name="location" readonly="1"/>
|
<field name="location" readonly="1"/>
|
||||||
<field name="active" invisible="1"/>
|
<field name="active" invisible="1"/>
|
||||||
|
|
|
@ -2,5 +2,6 @@
|
||||||
<field name="date" required="1" span="2"/>
|
<field name="date" 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>
|
||||||
|
|
|
@ -351,7 +351,7 @@ class Patient(Model):
|
||||||
datenow=time.strftime("%Y-%m-%d")
|
datenow=time.strftime("%Y-%m-%d")
|
||||||
vdom=[
|
vdom=[
|
||||||
['patient_id','in',ids],
|
['patient_id','in',ids],
|
||||||
['visit_date','>',datenow],
|
['visit_date','>=',datenow],
|
||||||
['state','=','pending'],
|
['state','=','pending'],
|
||||||
['manual','=',False],
|
['manual','=',False],
|
||||||
]
|
]
|
||||||
|
@ -564,4 +564,14 @@ class Patient(Model):
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
def onchange_walkin(self,context={}):
|
||||||
|
data=context['data']
|
||||||
|
if data['walkin']=='yes':
|
||||||
|
res=get_model('clinic.staff').search([['number','=','walkin'],['type','=','doctor']])
|
||||||
|
if res:
|
||||||
|
data['doctor_id']=res[0]
|
||||||
|
else:
|
||||||
|
data['doctor_id']=None
|
||||||
|
return data
|
||||||
|
|
||||||
Patient.register()
|
Patient.register()
|
||||||
|
|
|
@ -13,6 +13,7 @@ class ReportLaborCostDaily(Model):
|
||||||
"staff_type": fields.Selection([["doctor","Doctor"],["nurse","Nurse"],["staff","Staff"]],"Type"),
|
"staff_type": fields.Selection([["doctor","Doctor"],["nurse","Nurse"],["staff","Staff"]],"Type"),
|
||||||
'staff_id': fields.Many2One("clinic.staff","Staff"),
|
'staff_id': fields.Many2One("clinic.staff","Staff"),
|
||||||
'department_id': fields.Many2One("clinic.department",'Department'),
|
'department_id': fields.Many2One("clinic.department",'Department'),
|
||||||
|
'branch_id': fields.Many2One("clinic.branch","Branch"),
|
||||||
}
|
}
|
||||||
|
|
||||||
def default_get(self,field_names=None,context={},**kw):
|
def default_get(self,field_names=None,context={},**kw):
|
||||||
|
@ -21,11 +22,13 @@ class ReportLaborCostDaily(Model):
|
||||||
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=int(defaults.get('department_id', "0"))
|
||||||
|
branch_id=int(defaults.get('branch_id', "0"))
|
||||||
res={
|
res={
|
||||||
'date': date,
|
'date': date,
|
||||||
'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 and department_id or None,
|
||||||
|
'branch_id': branch_id and branch_id or None,
|
||||||
}
|
}
|
||||||
print("res ", res)
|
print("res ", res)
|
||||||
return res
|
return res
|
||||||
|
@ -37,6 +40,7 @@ class ReportLaborCostDaily(Model):
|
||||||
date=defaults.get("date")
|
date=defaults.get("date")
|
||||||
staff_id=defaults.get("staff_id")
|
staff_id=defaults.get("staff_id")
|
||||||
staff_type=defaults.get("staff_type")
|
staff_type=defaults.get("staff_type")
|
||||||
|
branch_id=defaults.get("branch_id")
|
||||||
dpt_id=defaults.get("department_id")
|
dpt_id=defaults.get("department_id")
|
||||||
dom=[]
|
dom=[]
|
||||||
if ids:
|
if ids:
|
||||||
|
@ -44,6 +48,7 @@ class ReportLaborCostDaily(Model):
|
||||||
date=obj.date
|
date=obj.date
|
||||||
staff_id=obj.staff_id.id
|
staff_id=obj.staff_id.id
|
||||||
staff_type=obj.staff_type
|
staff_type=obj.staff_type
|
||||||
|
branch_id=obj.branch_id.id
|
||||||
dpt_id=obj.department_id.id
|
dpt_id=obj.department_id.id
|
||||||
dom.append(['date','>=',date])
|
dom.append(['date','>=',date])
|
||||||
dom.append(['date','<=',date])
|
dom.append(['date','<=',date])
|
||||||
|
@ -55,6 +60,8 @@ class ReportLaborCostDaily(Model):
|
||||||
dom.append(['staff_id','=',staff_id])
|
dom.append(['staff_id','=',staff_id])
|
||||||
if staff_type:
|
if staff_type:
|
||||||
dom.append(['type','=',staff_type])
|
dom.append(['type','=',staff_type])
|
||||||
|
if branch_id:
|
||||||
|
dom.append(['labor_cost_id.cycle_item_id.branch_id','=',branch_id])
|
||||||
if dpt_id:
|
if dpt_id:
|
||||||
dom.append(['labor_cost_id.cycle_item_id.department_id','=',dpt_id])
|
dom.append(['labor_cost_id.cycle_item_id.department_id','=',dpt_id])
|
||||||
print('dom ', dom)
|
print('dom ', dom)
|
||||||
|
|
|
@ -128,9 +128,10 @@ class ReportLaborCostDetail(Model):
|
||||||
qty=0
|
qty=0
|
||||||
if staff.type=='doctor':
|
if staff.type=='doctor':
|
||||||
for hdcase in citem.hd_cases:
|
for hdcase in citem.hd_cases:
|
||||||
doctor_id=hdcase.doctor_id.id
|
if hdcase.state in ('waiting_payment','paid'):
|
||||||
if staff.id==doctor_id:
|
doctor_id=hdcase.doctor_id.id
|
||||||
qty+=1
|
if staff.id==doctor_id:
|
||||||
|
qty+=1
|
||||||
elif staff.type=='nurse':
|
elif staff.type=='nurse':
|
||||||
qty=citem.pt_total or 0 # qty of patient
|
qty=citem.pt_total or 0 # qty of patient
|
||||||
else:
|
else:
|
||||||
|
@ -141,6 +142,7 @@ class ReportLaborCostDetail(Model):
|
||||||
'staff_id': staff.id,
|
'staff_id': staff.id,
|
||||||
'staff_name': staff.name or "",
|
'staff_name': staff.name or "",
|
||||||
'staff_type': staff.type,
|
'staff_type': staff.type,
|
||||||
|
'department_id': department_id,
|
||||||
dpt.name: {
|
dpt.name: {
|
||||||
'amt': 0,
|
'amt': 0,
|
||||||
'qty': 0,
|
'qty': 0,
|
||||||
|
@ -153,6 +155,7 @@ class ReportLaborCostDetail(Model):
|
||||||
'staff_id': staff.id,
|
'staff_id': staff.id,
|
||||||
'staff_name': staff.name or '',
|
'staff_name': staff.name or '',
|
||||||
'staff_type': staff.type,
|
'staff_type': staff.type,
|
||||||
|
'department_id': department_id,
|
||||||
dpt.name: {
|
dpt.name: {
|
||||||
'amt': 0,
|
'amt': 0,
|
||||||
'qty': 0,
|
'qty': 0,
|
||||||
|
@ -199,7 +202,8 @@ class ReportLaborCostDetail(Model):
|
||||||
'date': kdate,
|
'date': kdate,
|
||||||
'staff_type': vals.get("staff_type"),
|
'staff_type': vals.get("staff_type"),
|
||||||
'staff_id': vals.get("staff_id"),
|
'staff_id': vals.get("staff_id"),
|
||||||
'labor_cost_id': vals.get("labor_cost_id")
|
'labor_cost_id': vals.get("labor_cost_id"),
|
||||||
|
'department_id': vals.get('department_id'),
|
||||||
}
|
}
|
||||||
total_qty, total_amt=0, 0
|
total_qty, total_amt=0, 0
|
||||||
lvals['sub_lines']=[]
|
lvals['sub_lines']=[]
|
||||||
|
@ -229,6 +233,8 @@ class ReportLaborCostDetail(Model):
|
||||||
# summary as footer
|
# summary as footer
|
||||||
dpt_lines=[{'qty': 0, 'amt': 0} for dpt in dpts]
|
dpt_lines=[{'qty': 0, 'amt': 0} for dpt in dpts]
|
||||||
for line in lines:
|
for line in lines:
|
||||||
|
line['branch_id']=branch_id
|
||||||
|
line['department_id']=department_id
|
||||||
i=0
|
i=0
|
||||||
for sub_line in line['sub_lines']:
|
for sub_line in line['sub_lines']:
|
||||||
dpt_lines[i]['qty']+=sub_line['qty'] or 0
|
dpt_lines[i]['qty']+=sub_line['qty'] or 0
|
||||||
|
@ -271,7 +277,8 @@ class ReportLaborCostDetail(Model):
|
||||||
'dpt_lines': dpt_lines,
|
'dpt_lines': dpt_lines,
|
||||||
'show_all': show_count <=1 and True or False,
|
'show_all': show_count <=1 and True or False,
|
||||||
}
|
}
|
||||||
print('.... ', data['show_name'])
|
print('department_id ', department_id)
|
||||||
|
print('branch_id ', branch_id)
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def onchange_date(self,context={}):
|
def onchange_date(self,context={}):
|
||||||
|
|
|
@ -142,8 +142,9 @@ class ReportLaborCostSummary(Model):
|
||||||
if staff.level_id:
|
if staff.level_id:
|
||||||
level=get_model("clinic.staff.level").browse(staff.level_id.id)
|
level=get_model("clinic.staff.level").browse(staff.level_id.id)
|
||||||
level_name=level.name or ""
|
level_name=level.name or ""
|
||||||
if not staffs.get(staff.name):
|
staff_name='%s %s'%(staff.first_name, staff.last_name)
|
||||||
staffs[staff.name]={
|
if not staffs.get(staff_name):
|
||||||
|
staffs[staff_name]={
|
||||||
'number': staff.number or '',
|
'number': staff.number or '',
|
||||||
'first_name': staff.first_name or "",
|
'first_name': staff.first_name or "",
|
||||||
'staff_id': staff.id,
|
'staff_id': staff.id,
|
||||||
|
@ -156,14 +157,14 @@ class ReportLaborCostSummary(Model):
|
||||||
'qty': qty,
|
'qty': qty,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
if not staffs[staff.name].get(dpt.name):
|
if not staffs[staff_name].get(dpt.name):
|
||||||
staffs[staff.name].update({
|
staffs[staff_name].update({
|
||||||
dpt.name: {
|
dpt.name: {
|
||||||
'amt': 0,
|
'amt': 0,
|
||||||
'qty': qty,
|
'qty': qty,
|
||||||
}})
|
}})
|
||||||
staffs[staff.name][dpt.name]['amt']+=amt
|
staffs[staff_name][dpt.name]['amt']+=amt
|
||||||
staffs[staff.name][dpt.name]['qty']+=qty
|
staffs[staff_name][dpt.name]['qty']+=qty
|
||||||
|
|
||||||
if not citems.get(citem.id):
|
if not citems.get(citem.id):
|
||||||
qty=0
|
qty=0
|
||||||
|
@ -252,7 +253,13 @@ class ReportLaborCostSummary(Model):
|
||||||
# run no
|
# run no
|
||||||
nlines=[]
|
nlines=[]
|
||||||
no=1
|
no=1
|
||||||
for line in sorted(lines, key=lambda x: (x['staff_name'],x['first_name'])):
|
sort_key='staff_name'
|
||||||
|
if staff_type=='nurse' and categ_id:
|
||||||
|
categ=get_model('clinic.staff.categ').browse(categ_id)
|
||||||
|
if categ.name in ("FT","HP"):
|
||||||
|
sort_key='number'
|
||||||
|
|
||||||
|
for line in sorted(lines, key=lambda x: (x[sort_key])):
|
||||||
line['no']=no
|
line['no']=no
|
||||||
nlines.append(line)
|
nlines.append(line)
|
||||||
no+=1
|
no+=1
|
||||||
|
|
|
@ -79,7 +79,15 @@
|
||||||
</td>
|
</td>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
<td style="text-align:right;">
|
<td style="text-align:right;">
|
||||||
<a href="#name=clinic_report_labor_cost_daily&defaults.date={{date}}&defaults.staff_type={{staff_type}}&defaults.staff_id={{staff_id}}">{{currency total_qty zero=""}}</a>
|
{{#if ../../department_id}}
|
||||||
|
<a href="#name=clinic_report_labor_cost_daily&defaults.date={{date}}&defaults.staff_type={{staff_type}}&defaults.staff_id={{staff_id}}&defaults.department_id={{../../department_id}}&defaults.branch_id={{../../branch_id}}">{{currency total_qty zero=""}}</a>
|
||||||
|
{{else}}
|
||||||
|
{{#if ../../branch_id}}
|
||||||
|
<a href="#name=clinic_report_labor_cost_daily&defaults.date={{date}}&defaults.staff_type={{staff_type}}&defaults.staff_id={{staff_id}}&defaults.branch_id={{../../branch_id}}">{{currency total_qty zero=""}}</a>
|
||||||
|
{{else}}
|
||||||
|
<a href="#name=clinic_report_labor_cost_daily&defaults.date={{date}}&defaults.staff_type={{staff_type}}&defaults.staff_id={{staff_id}}">{{currency total_qty zero=""}}</a>
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
</td>
|
</td>
|
||||||
<td style="text-align:right;">{{currency total_amt zero=""}}</th>
|
<td style="text-align:right;">{{currency total_amt zero=""}}</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -19,8 +19,8 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th rowspan="3">#</th>
|
<th rowspan="3">#</th>
|
||||||
<th rowspan="3">รหัส</th>
|
|
||||||
{{#ifeq staff_type "nurse"}}
|
{{#ifeq staff_type "nurse"}}
|
||||||
|
<th rowspan="3">รหัส</th>
|
||||||
<th rowspan="3">ชื่อ-สกุล</th>
|
<th rowspan="3">ชื่อ-สกุล</th>
|
||||||
<th rowspan="3">ตำแหน่ง</th>
|
<th rowspan="3">ตำแหน่ง</th>
|
||||||
<th rowspan="3">หมวดหมู่</th>
|
<th rowspan="3">หมวดหมู่</th>
|
||||||
|
@ -38,8 +38,8 @@
|
||||||
{{#each lines }}
|
{{#each lines }}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{no}}</th>
|
<td>{{no}}</th>
|
||||||
<td>{{number}}</th>
|
|
||||||
{{#ifeq ../staff_type "nurse"}}
|
{{#ifeq ../staff_type "nurse"}}
|
||||||
|
<td>{{number}}</th>
|
||||||
<td>
|
<td>
|
||||||
{{view "link" string=staff_name action="clinic_staff" action_options="mode=form" active_id=staff_id}}
|
{{view "link" string=staff_name action="clinic_staff" action_options="mode=form" active_id=staff_id}}
|
||||||
</td>
|
</td>
|
||||||
|
|
Loading…
Reference in New Issue