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>
This commit is contained in:
@@ -543,6 +543,54 @@ $(document).ready(function() {
|
||||
const tbody = $('#inventoryList');
|
||||
tbody.empty();
|
||||
|
||||
// 주성분코드 기준 보유 현황 표시
|
||||
if (response.summary) {
|
||||
const summary = response.summary;
|
||||
const coverageHtml = `
|
||||
<div class="alert alert-info mb-3">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-8">
|
||||
<h6 class="mb-2">📊 급여 약재 보유 현황</h6>
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="me-4">
|
||||
<strong>전체 급여 약재:</strong> ${summary.total_ingredient_codes || 454}개 주성분
|
||||
</div>
|
||||
<div class="me-4">
|
||||
<strong>보유 약재:</strong> ${summary.owned_ingredient_codes || 0}개 주성분
|
||||
</div>
|
||||
<div>
|
||||
<strong>보유율:</strong>
|
||||
<span class="badge bg-primary fs-6">${summary.coverage_rate || 0}%</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 text-end">
|
||||
<div class="progress" style="height: 30px;">
|
||||
<div class="progress-bar bg-success" role="progressbar"
|
||||
style="width: ${summary.coverage_rate || 0}%"
|
||||
aria-valuenow="${summary.coverage_rate || 0}"
|
||||
aria-valuemin="0" aria-valuemax="100">
|
||||
${summary.owned_ingredient_codes || 0} / ${summary.total_ingredient_codes || 454}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<small class="text-muted">
|
||||
※ 건강보험 급여 한약재 ${summary.total_ingredient_codes || 454}개 주성분 중 ${summary.owned_ingredient_codes || 0}개 보유
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
// 재고 테이블 위에 통계 표시
|
||||
if ($('#inventoryCoverage').length === 0) {
|
||||
$('#inventoryList').parent().before(`<div id="inventoryCoverage">${coverageHtml}</div>`);
|
||||
} else {
|
||||
$('#inventoryCoverage').html(coverageHtml);
|
||||
}
|
||||
}
|
||||
|
||||
response.data.forEach(item => {
|
||||
// 원산지가 여러 개인 경우 표시
|
||||
const originBadge = item.origin_count > 1
|
||||
|
||||
Reference in New Issue
Block a user