From 0bf077286441efd95eba226a7a89e2c51e7a8a73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=8B=9C=EA=B3=A8=EC=95=BD=EC=82=AC?= Date: Sun, 15 Feb 2026 18:38:08 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=A0=9C=ED=92=88=20=EC=84=A0=ED=83=9D?= =?UTF-8?q?=20=EB=93=9C=EB=A1=AD=EB=8B=A4=EC=9A=B4=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EB=A7=88=EC=8A=A4=ED=84=B0=20=EC=95=BD=EC=9E=AC=EB=AA=85=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - /api/herbs/by-ingredient API에서 마스터 약재명(herb_masters) 조회 추가 - 제품별 개별명(신흥인삼) 대신 통일된 성분명(인삼) 표시 - product_name 필드에 원래 제품명 보존, herb_name에 마스터명 제공 - 프론트엔드에서 약재명 [회사명] (재고) 형식으로 표시 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- app.py | 20 ++++++++++++++++++-- static/app.js | 3 ++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app.py b/app.py index 2abe95c..2d0d14c 100644 --- a/app.py +++ b/app.py @@ -261,11 +261,21 @@ def get_herbs_by_ingredient(ingredient_code): try: with get_db() as conn: cursor = conn.cursor() + + # 먼저 마스터 약재명 조회 + cursor.execute(""" + SELECT herb_name + FROM herb_masters + WHERE ingredient_code = ? + """, (ingredient_code,)) + master_row = cursor.fetchone() + master_herb_name = master_row[0] if master_row else None + cursor.execute(""" SELECT h.herb_item_id, h.insurance_code, - h.herb_name, + h.herb_name as product_name, h.specification, CASE WHEN h.specification LIKE '%신흥%' THEN '신흥' @@ -286,7 +296,13 @@ def get_herbs_by_ingredient(ingredient_code): ORDER BY stock_quantity DESC, h.herb_name """, (ingredient_code,)) - products = [dict(row) for row in cursor.fetchall()] + products = [] + for row in cursor.fetchall(): + product = dict(row) + # 마스터 약재명 추가 + product['herb_name'] = master_herb_name or product['product_name'] + products.append(product) + return jsonify({'success': True, 'data': products}) except Exception as e: return jsonify({'success': False, 'error': str(e)}), 500 diff --git a/static/app.js b/static/app.js index dcb1f10..3decd42 100644 --- a/static/app.js +++ b/static/app.js @@ -1674,7 +1674,8 @@ $(document).ready(function() { productSelect.append(''); response.data.forEach(product => { const stockInfo = product.stock_quantity > 0 ? `(재고: ${product.stock_quantity.toFixed(1)}g)` : '(재고 없음)'; - productSelect.append(``); + const companyInfo = product.company_name ? `[${product.company_name}]` : ''; + productSelect.append(``); }); productSelect.prop('disabled', false); }