pharmacy-pos-qr-system/backend/test_today_rx.py
thug0bin ee300f80ca feat: 소수 환자 약품 뱃지 표시
- 1년간 3명 이하 환자만 사용하는 약품에 환자 이름 뱃지 표시
- 조회 기간 내 사용한 환자는 핑크색으로 강조
- 매출액 컬럼명 변경 (약가 → 매출액)
- SUM(DRUPRICE)로 매출액 계산
2026-03-07 00:43:02 +09:00

41 lines
1.0 KiB
Python

# -*- coding: utf-8 -*-
import pyodbc
conn_str = (
'DRIVER={ODBC Driver 17 for SQL Server};'
'SERVER=192.168.0.4\\PM2014;'
'DATABASE=PM_PRES;'
'UID=sa;'
'PWD=tmddls214!%(;'
'TrustServerCertificate=yes;'
'Connection Timeout=10'
)
conn = pyodbc.connect(conn_str, timeout=10)
cur = conn.cursor()
# 오늘 처방 있는지 확인
cur.execute("""
SELECT COUNT(*) as cnt, MAX(Indate) as last_date
FROM PS_main
WHERE Indate = CONVERT(VARCHAR, GETDATE(), 112)
""")
row = cur.fetchone()
print(f'오늘(20260307) 처방 수: {row.cnt}')
# 최근 처방일
cur.execute("SELECT MAX(Indate) FROM PS_main")
print(f'최근 처방일: {cur.fetchone()[0]}')
# 어제 처방 약품 중 3명 이하 확인 (테스트용)
cur.execute("""
SELECT TOP 5 P.DrugCode, M.Paname, M.Indate
FROM PS_sub_pharm P
JOIN PS_main M ON P.PreSerial = M.PreSerial
WHERE M.Indate = '20260306'
ORDER BY P.DrugCode
""")
print('\n=== 3/6 처방 샘플 ===')
for row in cur.fetchall():
print(f'{row.DrugCode}: {row.Paname}')