- Flask 서버 관리 스크립트 (run_server.sh) 추가 - 원산지별 재고 관리 설계 문서 추가 - Flask 프로세스 관리 문서 작성 - 다중 Flask 프로세스 문제 해결 방안 문서화 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2.6 KiB
2.6 KiB
원산지별 재고 관리 및 조제 시 선택 기능
🎯 완료된 기능 (2026-02-15)
1. 원산지별 재고 구분 표시
- 재고 현황 API 개선 (
/api/inventory/summary)origin_count: 원산지 개수min_price,max_price: 가격 범위- 평균 가격 표시
2. 재고 상세 API 추가 (/api/inventory/detail/<herb_id>)
- 원산지별로 그룹화된 재고 정보
- 각 원산지별 로트 목록
- 평균 단가, 재고 수량, 재고 가치
3. UI 개선
- 재고 목록에서 원산지 개수 배지 표시
- 가격 범위 표시 (여러 원산지일 경우)
- 클릭 시 상세 모달 표시
- 원산지별 재고 카드형 UI
📌 실제 사례: 건강(乾薑) 약재
페루산: 5,000g @ 12.4원/g (총 62,000원)
한국산: 1,500g @ 51.4원/g (총 77,100원)
🔄 조제 시 원산지 선택 기능 (설계)
1. 데이터베이스 스키마 변경
-- compound_details 테이블에 로트 정보 추가
ALTER TABLE compound_details ADD COLUMN lot_id INTEGER;
ALTER TABLE compound_details ADD FOREIGN KEY (lot_id) REFERENCES inventory_lots(lot_id);
2. 조제 프로세스 개선
-
처방 선택 후 약재 목록 표시
- 각 약재에 원산지 선택 옵션 제공
- 기본값: 가장 저렴한 원산지
- 선택 가능: 고품질(비싼) 원산지
-
원산지 선택 UI
// 예시: 건강 30g 조제 시 { herb: "건강", required: 30, options: [ {origin: "페루", price: 12.4, available: 5000}, {origin: "한국", price: 51.4, available: 1500} ] } -
가격 차이 실시간 표시
- 기본 선택: 페루산 30g = 372원
- 프리미엄 선택: 한국산 30g = 1,542원
- 차이: +1,170원
3. API 엔드포인트 추가
GET /api/herbs/<id>/lots- 약재별 가용 로트 목록POST /api/compounds/calculate- 원산지별 가격 계산POST /api/compounds/dispense- 원산지 지정 조제
4. FIFO 변형 전략
- 기본: 저렴한 원산지 우선 (Cost-Optimized FIFO)
- 선택: 특정 원산지 지정 가능
- 혼합: 일부는 저렴, 일부는 고품질
💡 비즈니스 가치
- 환자 선택권: 가격 vs 품질 선택 가능
- 투명성: 원산지별 가격 명시
- 재고 관리: 원산지별 재고 추적
- 수익성: 프리미엄 옵션 제공
🚀 구현 우선순위
- ✅ 원산지별 재고 표시 (완료)
- ✅ 재고 상세 모달 (완료)
- ⏳ 조제 시 원산지 선택 UI
- ⏳ 원산지별 가격 계산
- ⏳ 조제 이력에 원산지 기록