- 전체 시스템 데이터 흐름 문서 추가
- 테이블 관계 및 JOIN 경로 명확화
- ingredient_code 중심 설계 반영
- claude.md 메인 문서 추가
- 한약재 정보 관리 시스템 설계 문서 개선
주요 내용:
- 코드 체계 (성분코드 vs 보험코드) 설명
- 개선된 JOIN 구조 (5단계 → 3단계)
- 효능 태그 시스템 리팩토링 반영
- 개발 가이드 및 주의사항 포함
- herb_efficacy_tags 테이블 생성 (효능 마스터)
- herb_item_tags 테이블 생성 (약재-효능 다대다 관계)
- 18개 기본 효능 태그 등록 (보혈, 활혈, 보기 등)
- Git 사용 가이드라인 문서 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
## 구현 내용
### 1. 백엔드 (app.py)
- 수동 로트 배분 지원 (lot_assignments 배열 처리)
- 각 로트별 지정 수량만큼 재고 차감
- 검증: 배분 합계 확인, 재고 충분 확인
- compound_consumptions 테이블에 각 로트별 소비 기록
### 2. 프론트엔드 (app.js, index.html)
- 로트 배분 모달 UI 구현
- 로트별 재고, 단가 표시
- 수동 입력 및 자동 배분 기능
- 실시간 합계 계산 및 검증
- 원산지 선택에 "수동 배분" 옵션 추가 (로트 2개 이상 시)
- 조제 저장 시 lot_assignments 포함
### 3. 테스트
- 테스트용 당귀 로트 추가 (한국산)
- E2E 테스트 성공
- 당귀 100g을 2개 로트(중국산 60g + 한국산 40g)로 배분
- 각 로트별 재고 정확히 차감
- 소비 내역 올바르게 기록
## 장점
- DB 스키마 변경 없음
- 기존 자동 선택과 호환
- 재고 부족 시 여러 로트 조합 가능
- 원가 최적화 가능
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 프론트엔드: 조제 시 실시간 커스텀 처방 감지
- 처방 선택 시 원래 구성 약재 저장
- 약재 추가/삭제/변경 시 즉시 감지
- 가감방 뱃지 및 변경 내용 표시
- 백엔드: 커스텀 처방 자동 감지 및 저장
- compounds 테이블에 커스텀 관련 필드 추가
- 조제 시 원 처방과 비교하여 변경사항 자동 감지
- 커스텀 처방 정보 저장 (추가/제거/변경된 약재)
- 환자 조제 내역에 커스텀 처방 표시
- 가감방 뱃지 표시
- 변경 내용 상세 표시
- DB 마이그레이션 스크립트 추가
- is_custom, custom_summary, custom_type 필드 추가
- compound_ingredients에 modification_type, original_grams 필드 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 동일 보험코드 내 세부 제품 구분 방안
- 형태, 가공법, 선별상태, 등급 등 variant 속성 정의
- display_name 활용 방안 및 가격 기반 매칭 전략
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
추가된 문서:
1. 프로젝트_전체_분석.md
- 시스템 아키텍처 분석
- 디렉토리 구조 정리
- 데이터베이스 설계 상세
- 주요 기능 및 비즈니스 로직
2. 보험코드_매핑_문제_분석.md
- Excel 입고 시 보험코드 처리 문제 분석
- 앞자리 0 누락 문제 원인과 해결방안
- 영향 범위 및 수정 방법
3. 입고_프로세스_개선방안.md
- 성분코드-보험코드 매핑 구조 설명
- 개선된 입고 프로세스 설계
- 성분코드 기준 재고 관리 방법
- 구현 우선순위 및 기대 효과
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- database_schema.md: 전체 테이블 구조 상세 설명
- 27개 테이블의 컬럼 정의 및 설명
- 테이블 간 관계 설명
- 주요 비즈니스 규칙 문서화
- database_erd.md: ER 다이어그램 및 데이터 플로우
- Mermaid 다이어그램으로 시각화
- 재고 흐름도, 처방-조제 흐름 설명
- 인덱스 전략 및 데이터 무결성 규칙
- api_documentation.md: REST API 상세 명세
- 약재, 처방, 조제, 재고, 환자 관리 API
- 요청/응답 형식 예시
- 에러 처리 방식
- README 업데이트: 문서 링크 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
## 처방 관리 (조제) 기능
- 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>
DB 구조 개선:
- 454개 주성분코드 기반 herb_masters 테이블 생성
- 53,769개 제품 데이터를 herb_products 테이블에 임포트
- 128개 업체 정보를 product_companies 테이블에 추가
- 기존 herb_items에 ingredient_code 매핑 (100% 완료)
UI/API 개선:
- 급여 약재 보유 현황 표시 (28/454 = 6.2%)
- 재고 현황에 프로그레스 바 추가
- 주성분코드 기준 통계 API 추가
문서화:
- 데이터베이스 리팩토링 제안서 작성
- 리팩토링 결과 보고서 작성
- 백업 정보 문서화
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>