Korean Traditional Medicine Inventory Management System - 한약 재고관리 시스템
Go to file
시골약사 87e839be14 feat: 100처방 마스터 테이블 스키마 및 관련 문서 추가
- official_formulas, official_formula_ingredients 테이블 스키마 추가
- 100처방 마스터데이터 등록 가이드 (Agent용 절차/규칙/코드 템플릿)
- 한약국 첩제 vs OTC 상담 가이드
- 한약국 AI데이터 기본이해 문서
- 가미패독산 업셀링 칼럼, 입고장 수정기능 구현 문서
- CLAUDE.md에 참고 문서 경로 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 14:15:25 +00:00
.claude docs: 입고 테스트 가이드라인 및 개발 규칙 문서화 2026-02-18 02:46:27 +00:00
backups feat: 처방 관리 및 재고 원장 시스템 구현 2026-02-15 11:21:20 +00:00
database feat: 100처방 마스터 테이블 스키마 및 관련 문서 추가 2026-02-18 14:15:25 +00:00
dev_scripts chore: 개발 파일 정리 및 구조화 2026-02-18 04:44:48 +00:00
docs feat: 100처방 마스터 테이블 스키마 및 관련 문서 추가 2026-02-18 14:15:25 +00:00
migrations chore: 개발 파일 정리 및 구조화 2026-02-18 04:44:48 +00:00
refactoring refactor: 주성분코드 기반 데이터베이스 리팩토링 완료 2026-02-15 10:34:32 +00:00
sample chore: 개발 파일 정리 및 구조화 2026-02-18 04:44:48 +00:00
screenshots chore: 개발 파일 정리 및 구조화 2026-02-18 04:44:48 +00:00
static feat: 수동입고 기능 구현 및 입고일 날짜 포맷 버그 수정 2026-02-18 07:34:56 +00:00
templates feat: 수동입고 기능 구현 및 입고일 날짜 포맷 버그 수정 2026-02-18 07:34:56 +00:00
uploads feat: 처방 관리 및 재고 원장 시스템 구현 2026-02-15 11:21:20 +00:00
.gitignore chore: uploads 폴더를 .gitignore에 추가 2026-02-16 14:41:30 +00:00
add_efficacy_column.py feat: 처방 주요 효능(efficacy) 필드 추가 및 UI 개선 2026-02-18 04:39:05 +00:00
add_mileage_system.py feat: 판매관리 시스템 Phase 1 및 마일리지 시스템 구현 2026-02-18 05:42:29 +00:00
add_missing_herbs.py feat: 쌍화탕 처방 완성 (12종 약재) 2026-02-15 09:54:37 +00:00
add_prescription_data.py chore: 개발 파일 정리 및 구조화 2026-02-18 04:44:48 +00:00
add_sales_columns.py feat: 판매관리 시스템 Phase 1 및 마일리지 시스템 구현 2026-02-18 05:42:29 +00:00
add_sample_herb_data.py chore: 개발 파일 정리 및 구조화 2026-02-18 04:44:48 +00:00
add_samsoeun_formula.py feat: 월비탕 및 삼소음 처방 추가 2026-02-18 04:36:38 +00:00
add_test_dangui_lot.py feat: 복합 로트 사용 기능 구현 (수동 로트 배분) 2026-02-17 02:16:02 +00:00
add_wolbitang_formulas.py feat: 월비탕 및 삼소음 처방 추가 2026-02-18 04:36:38 +00:00
add_wolbitang_prescriptions.py chore: 개발 파일 정리 및 구조화 2026-02-18 04:44:48 +00:00
app.py feat: 수동입고 기능 구현 및 입고일 날짜 포맷 버그 수정 2026-02-18 07:34:56 +00:00
app.py.backup_20260217_030950 refactor: herb_item_tags를 ingredient_code 기반으로 개선 2026-02-17 03:20:35 +00:00
apply_variants_to_lots.py test: variant 시스템 적용 테스트 스크립트 추가 2026-02-16 16:06:55 +00:00
check_compound_detail.py feat: 판매관리 시스템 Phase 1 및 마일리지 시스템 구현 2026-02-18 05:42:29 +00:00
check_compound_ingredients.py feat: 판매관리 시스템 Phase 1 및 마일리지 시스템 구현 2026-02-18 05:42:29 +00:00
check_compound_schema.py feat: 판매관리 시스템 Phase 1 및 마일리지 시스템 구현 2026-02-18 05:42:29 +00:00
claude.md docs: 데이터 구조 및 흐름 문서 완성 2026-02-17 03:26:37 +00:00
CLAUDE.md feat: 100처방 마스터 테이블 스키마 및 관련 문서 추가 2026-02-18 14:15:25 +00:00
config.py feat: 판매관리 시스템 Phase 1 및 마일리지 시스템 구현 2026-02-18 05:42:29 +00:00
create_adjustment_tables.py feat: 재고 보정 시스템 구현 2026-02-15 12:19:18 +00:00
create_sales_tables.py feat: 판매관리 시스템 Phase 1 및 마일리지 시스템 구현 2026-02-18 05:42:29 +00:00
direct_mapping.py feat: 약재명 기반 직접 매핑 스크립트 추가 2026-02-16 16:06:38 +00:00
excel_processor.py fix: Excel 입고 시 보험코드 9자리 패딩 처리 2026-02-16 14:36:52 +00:00
find_duplicate_issue.py chore: 개발 파일 정리 및 구조화 2026-02-18 04:44:48 +00:00
find_jihwang.py feat: 월비탕 및 삼소음 처방 추가 2026-02-18 04:36:38 +00:00
find_jinpi.py feat: 월비탕 및 삼소음 처방 추가 2026-02-18 04:36:38 +00:00
fix_database.py feat: 처방 관리 및 재고 원장 시스템 구현 2026-02-15 11:21:20 +00:00
get_ingredient_codes.py chore: 개발 파일 정리 및 구조화 2026-02-18 04:44:48 +00:00
gitea.md 초기 커밋: 한약 재고관리 시스템 2026-02-15 07:57:40 +00:00
import_hanisarang_catalog.py feat: 한의사랑 카탈로그 import 스크립트 추가 2026-02-16 16:06:20 +00:00
insert_ssanghwa.py feat: 쌍화탕 처방 완성 (12종 약재) 2026-02-15 09:54:37 +00:00
README.md docs: 데이터베이스 스키마 및 API 문서 추가 2026-02-15 19:07:34 +00:00
reset_purchase_data.py test: 입고 프로세스 테스트 및 유틸리티 추가 2026-02-16 14:39:44 +00:00
run_server.sh docs: 서버 관리 및 시스템 설계 문서 추가 2026-02-15 09:57:18 +00:00
test_custom_prescription.html feat: 실시간 커스텀 처방(가감방) 감지 시스템 구현 2026-02-17 01:28:44 +00:00
test_herb_select.html fix: 조제 관리 약재 추가 시 마스터 약재명 표시 및 2단계 선택 구조 개선 2026-02-15 18:31:15 +00:00
test_lot_modal.html fix: 로트 배분 모달 필요량 0 표시 버그 수정 2026-02-17 02:23:37 +00:00
update_existing_custom_prescriptions.py fix: 커스텀 처방 감지 로직 개선 및 기존 데이터 업데이트 2026-02-17 01:38:23 +00:00
update_receipt_numbers.py fix: 입고장 번호 자동 생성 기능 추가 2026-02-15 11:25:58 +00:00
update_sipjeondaebotang.py fix: 기존 처방 약재 및 효능 정보 수정 2026-02-18 04:37:16 +00:00
update_ssanghwatang_danggui.py fix: 기존 처방 약재 및 효능 정보 수정 2026-02-18 04:37:16 +00:00
update_wolbitang_jinpi.py fix: 기존 처방 약재 및 효능 정보 수정 2026-02-18 04:37:16 +00:00
verify_samsoeun.py feat: 월비탕 및 삼소음 처방 추가 2026-02-18 04:36:38 +00:00
verify_wolbitang.py feat: 월비탕 및 삼소음 처방 추가 2026-02-18 04:36:38 +00:00
기획문서.md 초기 커밋: 한약 재고관리 시스템 2026-02-15 07:57:40 +00:00

한약 재고관리 시스템

한의원/한약방을 위한 웹 기반 재고관리 및 조제관리 시스템입니다.

주요 기능

1. 환자 관리

  • 환자 등록 (이름, 전화번호, 주민번호, 성별, 생년월일)
  • 환자 검색 및 조회
  • 환자별 조제 이력 관리

2. 입고 관리

  • Excel 파일을 통한 대량 입고 처리
  • 도매상별 입고 관리
  • 로트별 재고 추적 (원산지, 입고일, 단가 등)

3. 처방 관리 (약속 처방)

  • 자주 사용하는 처방 템플릿 등록
  • 처방별 구성 약재 및 용량 설정
  • 처방 재사용 및 가감 기능

4. 조제 관리

  • 처방 선택 후 즉시 조제
  • 약재 가감 기능
  • FIFO 방식 재고 차감
  • 조제 원가 자동 계산

5. 재고 현황

  • 실시간 재고 조회
  • 약재별 재고 수량 및 금액
  • 로트별 상세 재고 현황

시스템 아키텍처

┌─────────────────────────────────────────┐
│         웹 브라우저 (클라이언트)          │
│     HTML + Bootstrap + jQuery           │
└──────────────────┬──────────────────────┘
                   │ HTTP/AJAX
                   │
┌──────────────────▼──────────────────────┐
│        Flask 웹 서버 (Backend)          │
│         REST API + 템플릿 렌더링         │
└──────────────────┬──────────────────────┘
                   │
┌──────────────────▼──────────────────────┐
│       SQLite Database                  │
│  (재고, 환자, 처방, 조제 데이터)        │
└─────────────────────────────────────────┘

데이터베이스 구조

핵심 테이블

  • herb_masters - 약재 마스터 (성분코드 기준, 454개 표준 약재)
  • herb_items - 약재 제품 (제조사별 개별 제품)
  • patients - 환자 정보
  • suppliers - 도매상 정보
  • purchase_receipts - 입고장 헤더
  • purchase_receipt_lines - 입고장 상세
  • inventory_lots - 로트별 재고
  • formulas - 처방 마스터
  • formula_ingredients - 처방 구성 약재 (ingredient_code 기반)
  • compounds - 조제 작업
  • compound_consumptions - 로트별 차감 내역
  • stock_ledger - 재고 원장 (모든 변동 기록)

핵심 개념

  • 성분코드 (ingredient_code): 표준 약재 식별자
  • 2단계 약재 체계: 마스터(성분) → 제품(제조사별)
  • 1제 = 20첩 = 30파우치 (기본값, 조정 가능)
  • 로트 관리: 입고 시점별로 재고를 구분 관리
  • FIFO 차감: 오래된 재고부터 우선 사용
  • 원가 추적: 로트별 단가 기준 정확한 원가 계산

📚 문서

설치 방법

1. 필수 요구사항

  • Python 3.8 이상
  • pip (Python 패키지 관리자)

2. 설치 과정

# 1. 프로젝트 클론 또는 다운로드
cd kdrug

# 2. 가상환경 생성 및 활성화
python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 3. 필요 패키지 설치
pip install flask flask-cors pandas openpyxl

# 4. 서버 실행
python app.py

3. 웹 브라우저에서 접속

http://localhost:5001

사용 방법

1. 초기 설정

  1. 시스템 실행 후 웹 브라우저로 접속
  2. 약재 마스터 데이터 준비 (Excel 업로드로 자동 생성 가능)

2. Excel 입고장 업로드

Excel 파일 형식 (필수 컬럼):

  • 제품코드 (보험코드 9자리)
  • 업체명
  • 약재명
  • 구입일자 (YYYYMMDD)
  • 구입량 (그램 단위)
  • 구입액 (원)
  • 원산지

3. 환자 등록

  1. 좌측 메뉴에서 "환자 관리" 클릭
  2. "새 환자 등록" 버튼 클릭
  3. 필수 정보 입력 (이름, 전화번호)
  4. 선택 정보 입력 (주민번호, 성별, 생년월일 등)

4. 처방 등록 (약속 처방)

  1. 좌측 메뉴에서 "처방 관리" 클릭
  2. "새 처방 등록" 버튼 클릭
  3. 처방명 입력 (예: 쌍화탕, 보중익기탕 등)
  4. 구성 약재 추가
    • 약재 선택
    • 1첩당 용량(g) 입력
  5. 저장

5. 조제 실행

  1. 좌측 메뉴에서 "조제 관리" 클릭
  2. "새 조제" 버튼 클릭
  3. 환자 선택
  4. 처방 선택 (등록된 처방 템플릿)
  5. 제수 입력 (기본 1제)
  6. 약재 가감 (필요시)
    • 용량 조정
    • 약재 추가/삭제
  7. "조제 실행" 클릭
  8. 자동으로 재고 차감 및 원가 계산

6. 재고 확인

  1. 좌측 메뉴에서 "재고 현황" 클릭
  2. 약재명으로 검색 가능
  3. 현재 재고량, 로트 수, 평균 단가, 재고 금액 확인

시스템 특징

장점

  • 간편한 Excel 업로드: 기존 Excel 입고장을 그대로 활용
  • 약속 처방 기능: 자주 사용하는 처방을 템플릿으로 저장
  • 가감 기능: 처방 기본 구성에서 유연한 조정 가능
  • 정확한 원가 계산: 로트별 단가 추적으로 정확한 원가 산출
  • FIFO 재고 관리: 선입선출 원칙 자동 적용
  • 웹 기반: 별도 설치 없이 브라우저에서 사용

보안 고려사항

  • 주민번호 등 민감 정보는 암호화 필요 (프로덕션 환경)
  • 사용자 인증/권한 관리 기능 추가 필요
  • HTTPS 적용 권장

향후 개발 계획

  1. 보험 청구 연동

    • 건강보험 첩약 코드 완벽 지원
    • 청구 자료 자동 생성
  2. 고급 리포트

    • 월별/분기별 매출 분석
    • 약재별 사용량 통계
    • 환자별 처방 이력
  3. 모바일 지원

    • 반응형 웹 디자인
    • 모바일 앱 개발
  4. 재고 알림

    • 최소 재고 수준 설정
    • 재고 부족 알림
    • 유효기간 임박 알림
  5. 다중 사용자

    • 사용자 계정 관리
    • 권한별 접근 제어
    • 작업 이력 추적

기술 스택

  • Backend: Flask 3.1.2 (Python Web Framework)
  • Database: SQLite (경량 관계형 데이터베이스)
  • Frontend: Bootstrap 5.1.3 + jQuery 3.6.0
  • Excel 처리: pandas + openpyxl
  • API: RESTful JSON API

라이선스

이 프로젝트는 교육 및 테스트 목적으로 제작되었습니다. 상업적 사용 시 별도 협의가 필요합니다.

문의

기술 지원 및 문의사항은 이슈 트래커를 통해 등록해주세요.