# Pharmacy Stats API QT-POS 통계 다이얼로그 API 버전 ## 구조 ``` pharmacy-stats-api/ ├── app.py # Flask 메인 ├── config.py # DB 연결 설정 ├── queries/ │ ├── v1_pharmit3000.py # PharmIT3000 쿼리 │ └── v2_pmplus20.py # PMPLUS20 쿼리 └── templates/ └── stats.html # 비교 UI ``` ## API 엔드포인트 ### v1 - PharmIT3000 | Endpoint | 설명 | |----------|------| | `/v1/api/stats` | 전체 통계 | | `/v1/api/stats/insurance` | 보험별 통계 | | `/v1/api/stats/time` | 시간가산별 통계 | | `/v1/api/stats/payment` | 결제수단별 통계 | | `/v1/api/stats/hospital` | 병원별 통계 | ### v2 - PMPLUS20 동일한 구조의 `/v2/api/stats/...` 엔드포인트 ### 비교 | Endpoint | 설명 | |----------|------| | `/api/compare` | v1 vs v2 비교 | ## 쿼리 파라미터 - `from`: 시작일 (YYYYMMDD) - `to`: 종료일 (YYYYMMDD) 예: `/v1/api/stats?from=20260401&to=20260401` ## 테이블 매핑 | 역할 | PharmIT3000 (v1) | PMPLUS20 (v2) | |------|-----------------|---------------| | 판매 헤더 | PM_PRES.PS_MAIN | PM_MAIN.TBSIM040_28 | | 판매 상세 | PM_PRES.PS_SUB_PHARM | PM_MAIN.TBSIM040_29 | | 수납 정보 | PM_PRES.CD_SUNAB | PM_MAIN.TBSIR000_01 | | 약품 마스터 | PM_DRUG.CD_GOODS | PM_MAIN.TBSIM040_01 | ## 실행 ```bash pip install -r requirements.txt python app.py ``` 서버: http://0.0.0.0:5060 ## 환경변수 ```bash PHARMIT_SERVER=192.168.0.4\PM2014 PHARMIT_USER=sa PHARMIT_PASS=password PMPLUS_SERVER=192.168.0.4\PM2014 PMPLUS_USER=sa PMPLUS_PASS=password ```