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

2.2 KiB

한약 재고관리 시스템 - 프로젝트 상태

해결된 이슈 (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원
  • 도매상: (주)휴먼허브

🌐 서버 정보

📂 주요 파일

  • app.py - Flask 백엔드
  • database/kdrug.db - SQLite 데이터베이스
  • templates/index.html - 프론트엔드 HTML
  • static/app.js - JavaScript
  • excel_processor.py - Excel 파일 처리

🔄 Flask 서버 관리 명령어

# 모든 Flask 프로세스 종료
lsof -ti:5001 | xargs -r kill -9

# Flask 서버 시작 (디버그 모드)
source venv/bin/activate && python app.py

📋 다음 작업

  1. 입고장 상세보기 500 에러 수정
  2. Flask 프로세스 중복 실행 방지 설정
  3. 에러 로깅 개선