fix: PMR 약품명 조회 - PM_DRUG.CD_GOODS JOIN
- PS_sub_pharm.DrugCode → PM_DRUG.CD_GOODS.GoodsName - 용량(QUAN), 횟수(QUAN_TIME), 일수(Days) 매핑
This commit is contained in:
parent
75448ffdc5
commit
8d025457c0
@ -172,36 +172,35 @@ def get_prescription_detail(prescription_id):
|
|||||||
conn.close()
|
conn.close()
|
||||||
return jsonify({'success': False, 'error': '처방전을 찾을 수 없습니다'}), 404
|
return jsonify({'success': False, 'error': '처방전을 찾을 수 없습니다'}), 404
|
||||||
|
|
||||||
# 처방 약품 목록 (PS_sub_pharm 테이블 확인 필요)
|
# 처방 약품 목록 (PS_sub_pharm + PM_DRUG.CD_GOODS JOIN)
|
||||||
cursor.execute("""
|
|
||||||
SELECT COLUMN_NAME
|
|
||||||
FROM INFORMATION_SCHEMA.COLUMNS
|
|
||||||
WHERE TABLE_NAME = 'PS_sub_pharm'
|
|
||||||
""")
|
|
||||||
sub_columns = [row[0] for row in cursor.fetchall()]
|
|
||||||
|
|
||||||
# 약품 목록 조회
|
|
||||||
medications = []
|
medications = []
|
||||||
if 'PreSerial' in sub_columns:
|
cursor.execute("""
|
||||||
cursor.execute("""
|
SELECT
|
||||||
SELECT *
|
s.DrugCode,
|
||||||
FROM PS_sub_pharm
|
s.Days,
|
||||||
WHERE PreSerial = ?
|
s.QUAN,
|
||||||
ORDER BY 1
|
s.QUAN_TIME,
|
||||||
""", (prescription_id,))
|
s.PS_Type,
|
||||||
|
s.INV_QUAN,
|
||||||
med_columns = [col[0] for col in cursor.description]
|
g.GoodsName,
|
||||||
for row in cursor.fetchall():
|
g.SUNG_CODE
|
||||||
med_dict = dict(zip(med_columns, row))
|
FROM PS_sub_pharm s
|
||||||
medications.append({
|
LEFT JOIN PM_DRUG.dbo.CD_GOODS g ON s.DrugCode = g.DrugCode
|
||||||
'medication_code': med_dict.get('GoodsCode') or med_dict.get('PCODE') or '',
|
WHERE s.PreSerial = ?
|
||||||
'med_name': med_dict.get('GoodsName') or med_dict.get('PNAME') or '',
|
ORDER BY s.SUB_SERIAL
|
||||||
'dosage': med_dict.get('Once_Qty') or med_dict.get('POESSION') or 0,
|
""", (prescription_id,))
|
||||||
'frequency': med_dict.get('Times') or med_dict.get('PTIMES') or 0,
|
|
||||||
'duration': med_dict.get('Days') or med_dict.get('PDAY') or 0,
|
for row in cursor.fetchall():
|
||||||
'total_qty': med_dict.get('Total_Qty') or 0,
|
medications.append({
|
||||||
'type': med_dict.get('PS_Type', '0')
|
'medication_code': row.DrugCode or '',
|
||||||
})
|
'med_name': row.GoodsName or row.DrugCode or '',
|
||||||
|
'dosage': float(row.QUAN) if row.QUAN else 0,
|
||||||
|
'frequency': row.QUAN_TIME or 0,
|
||||||
|
'duration': row.Days or 0,
|
||||||
|
'total_qty': float(row.INV_QUAN) if row.INV_QUAN else 0,
|
||||||
|
'type': '급여' if row.PS_Type in ['0', '4'] else '비급여' if row.PS_Type == '1' else row.PS_Type,
|
||||||
|
'sung_code': row.SUNG_CODE or ''
|
||||||
|
})
|
||||||
|
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user