From 843f7c1d2f4398428ec9edf5a1867a0c278c59d3 Mon Sep 17 00:00:00 2001 From: "watcha.h" Date: Tue, 3 Mar 2015 10:28:38 +0700 Subject: [PATCH] improve make an appointment --- netforce_clinic/layouts/clinic_make_apt.xml | 2 +- netforce_clinic/models/hd_case.py | 2 +- netforce_clinic/models/make_apt.py | 33 ++++++++++++++++++++- netforce_clinic/models/setting.py | 21 +++++++++++++ 4 files changed, 55 insertions(+), 3 deletions(-) diff --git a/netforce_clinic/layouts/clinic_make_apt.xml b/netforce_clinic/layouts/clinic_make_apt.xml index c4f3cae..9f2371d 100644 --- a/netforce_clinic/layouts/clinic_make_apt.xml +++ b/netforce_clinic/layouts/clinic_make_apt.xml @@ -8,7 +8,7 @@ - + diff --git a/netforce_clinic/models/hd_case.py b/netforce_clinic/models/hd_case.py index a8533a7..faaf38d 100644 --- a/netforce_clinic/models/hd_case.py +++ b/netforce_clinic/models/hd_case.py @@ -321,7 +321,7 @@ class HDCase(Model): due_amt=0.0 rmb_amt=0.0 for line in data['lines']: - amt=line['amount'] or 0.0 + amt=line.get('amount', 0.0) reimbursable=line.get('reimbursable','no') if reimbursable=='yes': rmb_amt+=amt diff --git a/netforce_clinic/models/make_apt.py b/netforce_clinic/models/make_apt.py index 1d1e88a..16e75e9 100644 --- a/netforce_clinic/models/make_apt.py +++ b/netforce_clinic/models/make_apt.py @@ -4,6 +4,7 @@ from calendar import monthrange from netforce.model import Model, fields, get_model from netforce.access import get_active_user +from netforce.utils import get_data_path DRT=0 FMT_DATE="%Y-%m-%d" @@ -230,7 +231,7 @@ class MakeAPT(Model): vids=visit_obj.search(dom) if not vids: visit_vals.append(vals) - count+=7 + count+=7 #XXX start_date=tmp user_id=get_active_user() staff_ids=get_model("clinic.staff").search([['type','=','type'],['user_id','=',user_id]]) @@ -269,4 +270,34 @@ class MakeAPT(Model): data['department_id']=None return data + def onchange_patient(self,context={}): + data=context['data'] + path=context['path'] + line=get_data_path(data,path,parent=True) + patient_id=line['patient_id'] + patient=get_model("clinic.patient").browse(patient_id) + department_id=None + if patient.department_id: + department_id=patient.department_id.id + line['department_id']=department_id + for cycle in patient.cycles: + cycle_id=cycle.cycle_id.id + day=cycle.day + print('day ', day) + if day=='mon': + line['mon_cycle_id']=cycle_id + elif day=='tue': + line['tue_cycle_id']=cycle_id + elif day=='wed': + line['wed_cycle_id']=cycle_id + elif day=='thu': + line['thu_cycle_id']=cycle_id + elif day=='fri': + line['fri_cycle_id']=cycle_id + elif day=='sat': + line['sat_cycle_id']=cycle_id + elif day=='sun': + line['sun_cycle_id']=cycle_id + return data + MakeAPT.register() diff --git a/netforce_clinic/models/setting.py b/netforce_clinic/models/setting.py index 4af3e96..eb07a7d 100644 --- a/netforce_clinic/models/setting.py +++ b/netforce_clinic/models/setting.py @@ -122,6 +122,27 @@ class ClinicSetting(Model): return def run_script(self,ids,context={}): + user_id=get_active_user() + if user_id !=1: + print("Only admin!!") + return + pids=get_model("clinic.patient").search([['state','=','dispose']]) + count=0 + for visit in get_model("clinic.visit").search_browse([['patient_id','in',pids]]): + if visit.state=='confirmed': + continue + visit.to_draft() + hdcase=visit.hd_case_id + if hdcase: + hdcase.to_draft() + hdcase.delete() + visit.delete() + count+=1 + print("count ", count) + print("Done!") + return + + def export_staff_rotation_csv(self,ids,context={}): user_id=get_active_user() if user_id !=1: print("Only admin!!")