feat(pmr): 라벨에 보관조건 표시 추가

- get_conversion_factor()에서 storage_conditions 함께 반환
- PostgreSQL 조회 결과 없으면 '실온보관' 기본값
- create_label_image()에 storage_conditions 파라미터 추가
- 용법 박스 아래, 조제일 위 여백에 보관조건 표시
- 모든 약품에 보관조건 표시 (실온보관 포함)
This commit is contained in:
thug0bin
2026-03-12 17:26:05 +09:00
parent 2cc9ec6bb1
commit 4944669470
2 changed files with 37 additions and 10 deletions

View File

@@ -305,7 +305,7 @@ class DatabaseManager:
def get_conversion_factor(self, sung_code):
"""
건조시럽 환산계수 조회
건조시럽 환산계수 및 보관조건 조회
Args:
sung_code: SUNG_CODE (예: "535000ASY")
@@ -314,13 +314,15 @@ class DatabaseManager:
dict: {
'conversion_factor': float 또는 None,
'ingredient_name': str 또는 None,
'product_name': str 또는 None
'product_name': str 또는 None,
'storage_conditions': str (기본값 '실온보관')
}
"""
result = {
'conversion_factor': None,
'ingredient_name': None,
'product_name': None
'product_name': None,
'storage_conditions': '실온보관' # 기본값
}
session = self.get_postgres_session()
@@ -329,7 +331,7 @@ class DatabaseManager:
try:
query = text("""
SELECT conversion_factor, ingredient_name, product_name
SELECT conversion_factor, ingredient_name, product_name, storage_conditions
FROM drysyrup
WHERE ingredient_code = :sung_code
LIMIT 1
@@ -340,6 +342,9 @@ class DatabaseManager:
result['conversion_factor'] = float(row[0]) if row[0] is not None else None
result['ingredient_name'] = row[1]
result['product_name'] = row[2]
# storage_conditions: 값이 있으면 사용, 없으면 기본값 '실온보관' 유지
if row[3]:
result['storage_conditions'] = row[3]
except Exception as e:
print(f"[DB Manager] 환산계수 조회 실패 (SUNG_CODE={sung_code}): {e}")
# 세션 롤백