From 44beefcb0823653110fa4d39d333a803250ad652 Mon Sep 17 00:00:00 2001 From: SPP Date: Wed, 24 Jan 2018 12:26:15 +0700 Subject: [PATCH] migrate patient_name visit and hdcase --- netforce_clinic/migrations/__init__.py | 3 +- .../migrations/update_patient_name.py | 30 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 netforce_clinic/migrations/update_patient_name.py diff --git a/netforce_clinic/migrations/__init__.py b/netforce_clinic/migrations/__init__.py index b6fee1a..dd73eb7 100644 --- a/netforce_clinic/migrations/__init__.py +++ b/netforce_clinic/migrations/__init__.py @@ -18,4 +18,5 @@ from . import clinic_setting #from . import update_line_amount #from . import revise #from . import add_patient_moves #XXX do not run it again!!! -from . import check_patient +#from . import check_patient +from . import update_patient_name diff --git a/netforce_clinic/migrations/update_patient_name.py b/netforce_clinic/migrations/update_patient_name.py new file mode 100644 index 0000000..f9a926c --- /dev/null +++ b/netforce_clinic/migrations/update_patient_name.py @@ -0,0 +1,30 @@ +import time +from netforce.migration import Migration +from netforce.model import Model, fields, get_model + + +class UpdatePatientName(Migration): + _name='update.petient.name' + _version="2.12.9" + + def migrate(self): + datenow=time.strftime("%Y-%m-%d") + y,m,d=datenow.split("-") + + for f, model in [('date', 'clinic.hd.case'),('visit_date','clinic.visit')]: + cond=[ + [f,'>=','%s-01-01'%(y)], + [f,'<=',datenow], + ['patient_name','=',None], + ] + print("update %s ... "%model) + objs=get_model(model).search_browse(cond) + for index, obj in enumerate(objs): + patient=obj.patient_id + vals={ + 'patient_name': patient.name_get()[-1][1] + } + obj.write(vals) + #print("%s/%s"%(index+1, len(hdcases))) + +UpdatePatientName.register()