def insertAndUpdateMusic(filename, file_type): session = SessionClass() music = session.query(Music).filter(Music.music_name == filename).first() if music == None: cur_max_human_no_music = session.query(Music).filter(Music.music_group == file_type).order_by(Music.music_human_no.desc()).first() music_human_no = str(int(cur_max_human_no_music.music_human_no) + 1).zfill(3) music_new = Music() music_new.music_name = filename music_new.music_human_no = music_human_no music_new.music_group = file_type music_new.music_human_no_and_group = music_human_no + file_type music_new.music_insert_time = getTimeStamp() try: session.add(music_new) session.flush() music_human_no_and_group = music_new.music_human_no_and_group session.commit() session.close() return music_human_no_and_group except: session.rollback() return None else: music_human_no_and_group = music.music_human_no_and_group session.commit() session.close() return music_human_no_and_group
def insertGrades(grades,patient_id): session = SessionClass() if (grades != None): grade_count = session.query(Grade).order_by(Grade.grade_time.desc()).filter(Grade.patient_id == patient_id).count() if (grade_count <= 1000): for grade in grades: session.add(Grade(grade_level=grade['grade'], grade_score=grade['score'], grade_time=grade['ts'], patient_id=patient_id)) session.commit() session.close() return
def insertTreatments(treatments,patient_id): session = SessionClass() if (treatments != None): treatment_count = session.query(Treatment).filter(Treatment.patient_id == patient_id).count() if (treatment_count <= 1000): for treatment in treatments: music = session.query(Music).filter(Music.music_human_no_and_group == treatment['musicNum']).first() session.add(Treatment(treatment_time=treatment['ts'],patient_id=patient_id,music_id=music.music_id)) #session.add(Treatment(treatment_time=treatment['ts'], patient_id=patient_id)) session.commit() session.close() return
def insertPatient(patientInfo,device_mac): session = SessionClass() device = session.query(Device).filter(Device.device_mac == device_mac).first() patient = session.query(Patient).filter(Patient.patient_age == patientInfo['age'], Patient.patient_gender == patientInfo['gender'], Patient.patient_name == patientInfo['name'], Patient.device_id == device.device_id).first() doctor_id = insertDoctor(patientInfo['doctor'], device_mac) if doctor_id != None: if patient==None: patient_new=Patient() patient_new.patient_name=patientInfo['name'] patient_new.patient_gender = patientInfo['gender'] patient_new.patient_age = patientInfo['age'] patient_new.patient_self_reported = patientInfo.get('report', None) patient_new.patient_medical_history = patientInfo.get('history', None) patient_new.patient_examination = patientInfo.get('inspect', None) patient_new.patient_device_category = patientInfo['cate'] #patient_new.patient_doctor_category1 = patientInfo['dcate1'] patient_new.patient_doctor_category1 = patientInfo['cate'] patient_new.patient_doctor_category2 = patientInfo.get('dcate2',None) patient_new.device_id=device.device_id patient_new.doctor_id=doctor_id try: session.add(patient_new) session.flush() patient_new_id=patient_new.patient_id session.commit() session.close() return patient_new_id except: session.rollback() return None else: if 'report' in patientInfo: patient.patient_self_reported = patientInfo['report'] if 'history' in patientInfo: patient.patient_medical_history = patientInfo['history'] if 'inspect' in patientInfo: patient.patient_examination = patientInfo['inspect'] if 'dcate1' in patientInfo: patient.patient_examination = patientInfo['dcate1'] if 'dcate2' in patientInfo: patient.patient_examination = patientInfo['dcate2'] patient_id=patient.patient_id session.commit() session.close() return patient_id else: session.close() return None
def insertDevice(deviceInfo): session = SessionClass() device=session.query(Device).filter(Device.device_mac==deviceInfo['device_mac']).first() if device == None: device_new = Device() device_new.device_mac = deviceInfo['device_mac'] device_new.device_img = deviceInfo.get('device_img', None) device_new.device_name = deviceInfo.get('device_name', None) device_new.device_department = deviceInfo.get('device_department', None) try: session.add(device_new) session.flush() device_new_id = device_new.device_id session.commit() session.close() return device_new_id except: session.rollback() return None else: session.close() return device.device_id
def insertDoctor(doctor_name,device_mac): session = SessionClass() device = session.query(Device).filter(Device.device_mac == device_mac).first() doctor = session.query(Doctor).filter(Doctor.device_id == device.device_id,Doctor.doctor_name==doctor_name).first() if doctor==None: doctor_new=Doctor() doctor_new.doctor_name=doctor_name doctor_new.device_id=device.device_id try: session.add(doctor_new) session.flush() doctor_new_id=doctor_new.doctor_id session.commit() session.close() #device=session.query(Doctor).filter(Doctor.doctor_id==doctor_new_id).first() return doctor_new_id except: session.rollback() return None else: session.close() return doctor.doctor_id