clinic/netforce_clinic/migrations/check_seq.py

38 lines
1.6 KiB
Python

from netforce.model import get_model
from netforce import migration
from netforce.access import set_active_user, set_active_company
class Migration(migration.Migration):
_name="clinic.check.seq"
_version="2.11.0"
def migrate(self):
set_active_user(1)
set_active_company(1)
fnames=['branch_id','prefix']
seqs=dict([(x['branch_id'][0],x['prefix']) for x in get_model("sequence").search_read([['type','=','clinic_hdcase']],fnames)])
print('seqs ',seqs)
count=0
for hdcase in get_model('clinic.hd.case').search_browse([]):
seq=seqs[hdcase.branch_id.id]
rp=seq.split("/")[-1].replace("-","")
if '/' in hdcase.number and hdcase.number!='/':
if seq not in hdcase.number:
pf=hdcase.number.split('-')[0].split("/")[-1]
new_hdcase_number=hdcase.number.replace(pf,rp)
new_visit_number=hdcase.visit_id.number.replace(pf,rp)
print(hdcase.number, new_hdcase_number,hdcase.department_id.name)
print(hdcase.visit_id.number, new_visit_number, hdcase.visit_id.department_id.name)
hdcase.write({
'number': new_hdcase_number,
})
hdcase.visit_id.write({
'number': new_visit_number,
})
print('-'*100)
#print(seq, ' : ', hdcase.number, hdcase.visit_id.number, hdcase.date, hdcase.patient_id.name)
count+=1
print('total unmatch', count)
Migration.register()