Merge develop into test - sync latest code
This commit is contained in:
115
scripts/verify_fix.py
Normal file
115
scripts/verify_fix.py
Normal file
@@ -0,0 +1,115 @@
|
||||
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("验证修复后的数据(模拟新SQL查询)")
|
||||
print("=" * 80)
|
||||
print()
|
||||
|
||||
encounter_id = 2038823905749327873
|
||||
practitioner_id = 1980296166230962178
|
||||
|
||||
# 使用修改后的SQL逻辑
|
||||
cursor.execute(
|
||||
"""
|
||||
SELECT
|
||||
3 AS advice_type,
|
||||
T1.id AS request_id,
|
||||
T1.id || '-3' AS unique_key,
|
||||
T1.requester_id AS requester_id,
|
||||
T1.create_time AS request_time,
|
||||
CASE WHEN T1.requester_id = %s THEN '1' ELSE '0' END AS biz_request_flag,
|
||||
T1.content_json AS content_json,
|
||||
null AS skin_test_flag,
|
||||
null AS inject_flag,
|
||||
null AS group_id,
|
||||
COALESCE(T2.NAME, T1.content_json::jsonb->>'surgeryName') AS advice_name,
|
||||
'' AS volume,
|
||||
'' AS lot_number,
|
||||
T1.quantity AS quantity,
|
||||
T1.unit_code AS unit_code,
|
||||
T1.status_enum AS status_enum,
|
||||
'' AS method_code,
|
||||
'' AS rate_code,
|
||||
NULL AS dose,
|
||||
'' AS dose_unit_code,
|
||||
T3.id AS charge_item_id,
|
||||
T3.total_price AS total_price,
|
||||
T3.status_enum AS charge_status,
|
||||
ao.id AS position_id,
|
||||
ao.name AS position_name,
|
||||
null AS dispense_per_duration,
|
||||
1 AS part_percent,
|
||||
'' AS condition_definition_name,
|
||||
T1.therapy_enum AS therapyEnum,
|
||||
99 AS sort_number,
|
||||
T1.based_on_id AS based_on_id
|
||||
FROM wor_service_request AS T1
|
||||
LEFT JOIN wor_activity_definition AS T2
|
||||
ON T2.ID = T1.activity_id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item AS T3 ON T3.service_id = T1.ID AND T3.delete_flag = '0' AND
|
||||
T3.service_table = 'wor_service_request'
|
||||
LEFT JOIN adm_organization AS ao ON ao.ID = T1.org_id AND ao.delete_flag = '0'
|
||||
WHERE T1.delete_flag = '0' AND T1.generate_source_enum = 1
|
||||
AND T1.parent_id IS NULL
|
||||
AND T1.encounter_id = %s
|
||||
ORDER BY T1.status_enum
|
||||
""",
|
||||
(practitioner_id, encounter_id),
|
||||
)
|
||||
|
||||
rows = cursor.fetchall()
|
||||
print(f"查询到 {len(rows)} 条记录:")
|
||||
print()
|
||||
|
||||
for row in rows:
|
||||
print(f"advice_type: {row[0]}")
|
||||
print(f"request_id: {row[1]}")
|
||||
print(f"unique_key: {row[2]}")
|
||||
print(f"advice_name: {row[10]} ← 关键字段") # advice_name是第11个字段(索引10)
|
||||
print(f"content_json: {row[6][:80] if row[6] else None}...")
|
||||
print(f"status_enum: {row[14]}")
|
||||
print(f"therapyEnum: {row[25]}")
|
||||
print("-" * 80)
|
||||
print()
|
||||
|
||||
# 检查手术医嘱
|
||||
cursor.execute(
|
||||
"""
|
||||
SELECT
|
||||
id,
|
||||
prescription_no,
|
||||
COALESCE(
|
||||
(SELECT name FROM wor_activity_definition WHERE id = sr.activity_id AND delete_flag = '0'),
|
||||
sr.content_json::jsonb->>'surgeryName'
|
||||
) as advice_name,
|
||||
status_enum,
|
||||
content_json::jsonb->>'surgeryName' as surgery_name
|
||||
FROM wor_service_request sr
|
||||
WHERE category_enum = 4
|
||||
AND delete_flag = '0'
|
||||
AND encounter_id = %s
|
||||
""",
|
||||
(encounter_id,),
|
||||
)
|
||||
|
||||
print("直接查询手术医嘱:")
|
||||
for row in cursor.fetchall():
|
||||
print(f" ID: {row[0]}, 单号: {row[1]}, advice_name: {row[2]}, 状态: {row[3]}")
|
||||
|
||||
cursor.close()
|
||||
conn.close()
|
||||
Reference in New Issue
Block a user