Merge develop into test - sync latest code
This commit is contained in:
105
scripts/check_service_request.py
Normal file
105
scripts/check_service_request.py
Normal file
@@ -0,0 +1,105 @@
|
||||
import psycopg2
|
||||
import sys
|
||||
|
||||
sys.stdout.reconfigure(encoding="utf-8")
|
||||
|
||||
conn = psycopg2.connect(
|
||||
host="192.168.110.252",
|
||||
port=15432,
|
||||
database="postgresql",
|
||||
user="postgresql",
|
||||
password="Jchl1528",
|
||||
)
|
||||
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("SET search_path TO hisdev, public")
|
||||
|
||||
print("=" * 80)
|
||||
print("直接检查 ServiceRequest 数据")
|
||||
print("=" * 80)
|
||||
print()
|
||||
|
||||
# 直接查询表数据
|
||||
cursor.execute("""
|
||||
SELECT
|
||||
id,
|
||||
category_enum,
|
||||
content_json,
|
||||
activity_id
|
||||
FROM wor_service_request
|
||||
WHERE encounter_id = 2038823905749327873
|
||||
AND delete_flag = '0'
|
||||
AND parent_id IS NULL
|
||||
""")
|
||||
|
||||
print("原始数据:")
|
||||
for row in cursor.fetchall():
|
||||
print(f" ID: {row[0]}")
|
||||
print(f" category_enum: {row[1]}")
|
||||
print(f" activity_id: {row[3]}")
|
||||
if row[2]:
|
||||
import json
|
||||
|
||||
try:
|
||||
content = json.loads(row[2]) if isinstance(row[2], str) else row[2]
|
||||
print(f" content_json.surgeryName: {content.get('surgeryName', 'N/A')}")
|
||||
except:
|
||||
print(f" content_json: {row[2][:100]}")
|
||||
print()
|
||||
|
||||
print()
|
||||
print("=" * 80)
|
||||
print("测试 COALESCE 语法")
|
||||
print("=" * 80)
|
||||
print()
|
||||
|
||||
# 测试 COALESCE 语法
|
||||
cursor.execute("""
|
||||
SELECT
|
||||
id,
|
||||
COALESCE(category_enum, 3) as advice_type,
|
||||
COALESCE(content_json::jsonb->>'surgeryName', '默认值') as surgery_name
|
||||
FROM wor_service_request
|
||||
WHERE category_enum = 4
|
||||
AND delete_flag = '0'
|
||||
LIMIT 1
|
||||
""")
|
||||
|
||||
row = cursor.fetchone()
|
||||
if row:
|
||||
print(f"COALESCE 测试:")
|
||||
print(f" ID: {row[0]}")
|
||||
print(f" advice_type: {row[1]}")
|
||||
print(f" surgery_name: {row[2]}")
|
||||
else:
|
||||
print("未找到记录")
|
||||
|
||||
print()
|
||||
print("=" * 80)
|
||||
print("检查 activity_definition 关联")
|
||||
print("=" * 80)
|
||||
print()
|
||||
|
||||
# 检查 activity_definition
|
||||
cursor.execute("""
|
||||
SELECT
|
||||
sr.id,
|
||||
sr.activity_id,
|
||||
ad.name as activity_name,
|
||||
COALESCE(ad.name, sr.content_json::jsonb->>'surgeryName') as coalesce_name
|
||||
FROM wor_service_request sr
|
||||
LEFT JOIN wor_activity_definition ad ON ad.id = sr.activity_id AND ad.delete_flag = '0'
|
||||
WHERE sr.category_enum = 4
|
||||
AND sr.delete_flag = '0'
|
||||
AND sr.encounter_id = 2038823905749327873
|
||||
""")
|
||||
|
||||
for row in cursor.fetchall():
|
||||
print(f" ServiceRequest ID: {row[0]}")
|
||||
print(f" activity_id: {row[1]}")
|
||||
print(f" activity_name: {row[2]}")
|
||||
print(f" coalesce_name: {row[3]}")
|
||||
print()
|
||||
|
||||
cursor.close()
|
||||
conn.close()
|
||||
Reference in New Issue
Block a user