kdrug-inventory-system/.claude/project_state.md
시골약사 38838e5ecf feat: 처방 관리 및 재고 원장 시스템 구현
## 처방 관리 (조제) 기능
- compounds API 추가 (목록/상세/환자별 조회)
- 조제 시 자동 재고 차감 (FIFO)
- 조제 내역 UI (EMR 스타일)
- 조제 상세보기 모달 (처방구성, 재고소비내역)
- 오늘/이번달 조제 통계 표시

## 재고 원장 시스템
- stock-ledger API 구현
- 입출고 내역 실시간 추적
- 재고 현황 페이지 개선 (통계 카드 추가)
- 입출고 원장 모달 UI
- 약재별/전체 입출고 내역 조회

## 확인된 동작
- 박주호 환자 오미자 200g 조제
- 재고 2000g → 1800g 정확히 차감
- 모든 입출고 stock_ledger에 기록

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-15 11:21:20 +00:00

67 lines
2.2 KiB
Markdown

# 한약 재고관리 시스템 - 프로젝트 상태
## ✅ 해결된 이슈 (2026-02-15)
1. **입고장 상세보기 500 에러** - 해결 완료!
- 원인: receipt_date가 튜플 문자열로 저장됨, total_amount가 bytes로 저장됨
- 해결: 데이터베이스 값 수정 완료
2. **Flask 프로세스 중복 실행 문제** - 해결 완료!
- 해결: run_server.sh 스크립트 생성으로 단일 프로세스 관리
## 📝 최근 수정 사항 (2026-02-15)
### ✅ 완료된 작업
1. **총금액 계산 문제 해결**
- `app.py` 쿼리에서 중복된 `pr.total_amount` 제거
- `SUM(prl.line_total) as total_amount` 사용
- API가 정확한 총금액 1,551,900원 반환
2. **UI 개선**
- 입고장 목록에서 총금액을 굵은 파란색으로 강조
- 총수량을 작은 회색 글씨로 표시
- 테이블 헤더 순서 변경 (총금액이 먼저)
3. **원산지 데이터 처리**
- Excel에서 원산지(origin_country) 데이터 읽기 확인
- 데이터베이스 저장 확인
- 입고장 상세 화면에 원산지 표시
### 🔧 해결 필요
1. **입고장 상세보기 오류**
- 증상: 상세보기 버튼 클릭 시 500 에러
- 위치: `/api/purchase-receipts/<id>` API
- 원인: 조사 중
2. **Flask 프로세스 관리**
- 문제: 여러 Flask 프로세스가 중복 실행
- 해결 방법: 단일 프로세스로 관리 필요
## 🗄️ 데이터베이스 상태
- 입고장 1건 (ID: 6, 날짜: 2026-02-11)
- 총 29개 품목, 총금액 1,551,900원
- 도매상: (주)휴먼허브
## 🌐 서버 정보
- **포트**: 5001
- **모드**: Debug (자동 재시작 활성화)
- **URL**: http://localhost:5001
## 📂 주요 파일
- `app.py` - Flask 백엔드
- `database/kdrug.db` - SQLite 데이터베이스
- `templates/index.html` - 프론트엔드 HTML
- `static/app.js` - JavaScript
- `excel_processor.py` - Excel 파일 처리
## 🔄 Flask 서버 관리 명령어
```bash
# 모든 Flask 프로세스 종료
lsof -ti:5001 | xargs -r kill -9
# Flask 서버 시작 (디버그 모드)
source venv/bin/activate && python app.py
```
## 📋 다음 작업
1. 입고장 상세보기 500 에러 수정
2. Flask 프로세스 중복 실행 방지 설정
3. 에러 로깅 개선