kdrug-inventory-system/docs/대규모리팩토링.md
시골약사 8f2823e6df refactor: 주성분코드 기반 데이터베이스 리팩토링 완료
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>
2026-02-15 10:34:32 +00:00

1.8 KiB

우리 기존설계에 변화가 필요해

약품 마스터 테이블을 별도로만들어야겟어

대한민국에서 주기적으로

한약재 제품코드를 표준화해서 제공한다

한약재 품목명, 업체명, 제품명 약품규격 (숫자) 약품 규격(단위) 제공을하고

"주성분코드" 를 제공하고 이게 FK가 되야할거같아

그리고 해당 성분코드에 여러 제품들이 있는거지

▶ 표준코드: 개개의 의약품을 식별하기 위해 고유하게 설정된 번호 - 국가식별코드, 업체식별코드, 품목코드* 및 검증번호로 구성(13자리 숫자) * 품목코드는 함량포함한 품목코드(4자리)와 포장단위(1자리)로 구성되어 있음

▶ 대표코드: 표준코드의 12번째 자리가 '0'인 코드를 말함(실제 의약품에 부착하는 코드로 사용불가)

▶ 제품코드: 한약재 비용 청구시 사용하는 코드 - 업체식별코드와 품목코드로 구성(9자리 숫자) - 9자리 중 제일 마지막 숫자인 포장단위는 대표코드와 동일하게 "0"임

우리 입고장에

건강 : 062400730 9자리숫자는 진짜 해당제품에 "제품코드" 인것이고

해당 건강에 성분 코드는 별도로 존재하는거지 "성분코드로는"

같은 성분 코드를 지닌 다른 회사 제품도 있을수잇는거고

우리는 성분 코드 기반으로 효능 태그를 사실상 해야할수도잇어

성분코드 = 실제성분이름 1:1 맵핑일거니까

일단 기존 코드를 두고 프론트에서 봐가면서 마이그레이션 해가야하니까

우리 일단 xls파일을 확인하고 sqlite에 마이그레이션 해줘 약품 마스터 테이블을 만들어서 가능할까?