- /admin/drug-usage 페이지 + API 3개 구현 - GET /api/drug-usage: 기간별 약품 통계 (조제건수, 입고건수) - GET /api/drug-usage/<code>/imports: 약품별 입고 상세 - GET /api/drug-usage/<code>/prescriptions: 약품별 조제 상세 UX 개선: - 약품 클릭 시 입고/조제 상세 펼침 패널 - table-layout:fixed + colgroup으로 컬럼 너비 고정 - white-space:nowrap으로 날짜/숫자 줄바꿈 방지 - 금액/거래처 사이 border로 구분선 추가 - 발행기관 OrderName으로 수정 (InsName 오류 수정) QT_GUI 데이터와 100% 일치 검증 (살라겐정)
33 lines
820 B
Python
33 lines
820 B
Python
# -*- coding: utf-8 -*-
|
|
import pyodbc
|
|
|
|
conn_str = (
|
|
'DRIVER={ODBC Driver 17 for SQL Server};'
|
|
'SERVER=192.168.0.4\\PM2014;'
|
|
'DATABASE=PM_DRUG;'
|
|
'UID=sa;'
|
|
'PWD=tmddls214!%(;'
|
|
'TrustServerCertificate=yes;'
|
|
)
|
|
conn = pyodbc.connect(conn_str, timeout=10)
|
|
cursor = conn.cursor()
|
|
|
|
# 2024년 이후 APC (9xx로 시작) 확인
|
|
cursor.execute('''
|
|
SELECT G.GoodsName, U.CD_CD_BARCODE
|
|
FROM CD_GOODS G
|
|
JOIN CD_ITEM_UNIT_MEMBER U ON G.DrugCode = U.DRUGCODE
|
|
WHERE G.POS_BOON = '010103'
|
|
AND G.GoodsSelCode = 'B'
|
|
AND U.CD_CD_BARCODE LIKE '9%'
|
|
AND LEN(U.CD_CD_BARCODE) = 13
|
|
ORDER BY G.GoodsName
|
|
''')
|
|
|
|
rows = cursor.fetchall()
|
|
print(f'=== 2024년 이후 APC 제품: {len(rows)}건 ===')
|
|
for row in rows:
|
|
print(f' {row.GoodsName} | APC: {row.CD_CD_BARCODE}')
|
|
|
|
conn.close()
|