diff --git a/Log/OrbbecSDK.log.txt b/Log/OrbbecSDK.log.txt index e13cab53..066f66de 100644 Binary files a/Log/OrbbecSDK.log.txt and b/Log/OrbbecSDK.log.txt differ diff --git a/backend/database.py b/backend/database.py index 14b07cab..828c822a 100644 --- a/backend/database.py +++ b/backend/database.py @@ -404,7 +404,7 @@ class DatabaseManager: if keyword: cursor.execute(''' - SELECT p.*, COALESCE(ds.session_count, 0) AS detection_count + SELECT p.*, COALESCE(ds.session_count, 0) AS num FROM patients p LEFT JOIN ( SELECT patient_id, COUNT(*) AS session_count @@ -417,7 +417,7 @@ class DatabaseManager: ''', (f'%{keyword}%', f'%{keyword}%', f'%{keyword}%', size, offset)) else: cursor.execute(''' - SELECT p.*, COALESCE(ds.session_count, 0) AS detection_count + SELECT p.*, COALESCE(ds.session_count, 0) AS num FROM patients p LEFT JOIN ( SELECT patient_id, COUNT(*) AS session_count @@ -738,6 +738,40 @@ class DatabaseManager: ''' cursor.execute(sql, update_values) + cursor.execute('SELECT patient_id, creator_id, start_time, end_time, status FROM detection_sessions WHERE id = ?', (session_id,)) + srow = cursor.fetchone() + if srow: + patient_id = srow['patient_id'] + creator_id = srow['creator_id'] + session_status = srow['status'] + start_time = srow['start_time'] + end_time = srow['end_time'] + doctor_name = '' + if creator_id: + cursor.execute('SELECT name FROM users WHERE id = ?', (creator_id,)) + urow = cursor.fetchone() + if urow: + try: + doctor_name = dict(urow).get('name') or '' + except Exception: + doctor_name = urow[0] if urow and len(urow) > 0 else '' + check_time = end_time or start_time or self.get_china_time() + mh_obj = {} + try: + cursor.execute('SELECT medical_history FROM patients WHERE id = ?', (patient_id,)) + prow = cursor.fetchone() + if prow and prow[0]: + try: + mh_obj = json.loads(prow[0]) if isinstance(prow[0], str) else {} + except Exception: + mh_obj = {} + except Exception: + mh_obj = {} + mh_obj['doctor'] = doctor_name + mh_obj['status'] = session_status or '' + mh_obj['lastcheck_time'] = str(check_time) if check_time is not None else self.get_china_time() + now_str = self.get_china_time() + cursor.execute('UPDATE patients SET medical_history = ?, updated_at = ? WHERE id = ?', (json.dumps(mh_obj, ensure_ascii=False), now_str, patient_id)) conn.commit() updated_info = [] diff --git a/frontend/src/renderer/src/views/Dashboard.vue b/frontend/src/renderer/src/views/Dashboard.vue index 4102c4c6..3c873bc5 100644 --- a/frontend/src/renderer/src/views/Dashboard.vue +++ b/frontend/src/renderer/src/views/Dashboard.vue @@ -28,16 +28,17 @@ - - - + + + - +