feat: 사용자 요구사항 기능 완전 구현 및 전체 카테고리 추가
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
- 사용자 요구사항 저장/로드/엑셀 내보내기 기능 완전 구현 - 백엔드 API 수정: Request Body 방식으로 변경 - 데이터베이스 스키마: material_id 컬럼 추가 - 프론트엔드 상태 관리 개선: 저장 후 자동 리로드 - 입력 필드 연결 문제 해결: 누락된 onChange 핸들러 추가 - NewMaterialsPage에 '전체' 카테고리 버튼 추가 (기본 선택) - Docker 환경 개선: 프론트엔드 볼륨 마운트 및 포트 수정 - UI 개선: 벌레 이모지 제거, 디버그 코드 정리
This commit is contained in:
@@ -1053,6 +1053,68 @@ def calculate_bolt_confidence(confidence_scores: Dict) -> float:
|
||||
|
||||
# ========== 특수 기능들 ==========
|
||||
|
||||
def extract_bolt_additional_requirements(description: str) -> str:
|
||||
"""볼트 설명에서 추가요구사항 추출 (표면처리, 특수 요구사항 등)"""
|
||||
|
||||
desc_upper = description.upper()
|
||||
additional_reqs = []
|
||||
|
||||
# 표면처리 패턴들
|
||||
surface_treatments = {
|
||||
'ELEC.GALV': '전기아연도금',
|
||||
'ELEC GALV': '전기아연도금',
|
||||
'GALVANIZED': '아연도금',
|
||||
'GALV': '아연도금',
|
||||
'HOT DIP GALV': '용융아연도금',
|
||||
'HDG': '용융아연도금',
|
||||
'ZINC PLATED': '아연도금',
|
||||
'ZINC': '아연도금',
|
||||
'STAINLESS': '스테인리스',
|
||||
'SS': '스테인리스',
|
||||
'PASSIVATED': '부동태화',
|
||||
'ANODIZED': '아노다이징',
|
||||
'BLACK OXIDE': '흑색산화',
|
||||
'PHOSPHATE': '인산처리',
|
||||
'DACROMET': '다크로메트',
|
||||
'GEOMET': '지오메트'
|
||||
}
|
||||
|
||||
# 특수 요구사항 패턴들
|
||||
special_requirements = {
|
||||
'HEAVY HEX': '중육각',
|
||||
'FULL THREAD': '전나사',
|
||||
'PARTIAL THREAD': '부분나사',
|
||||
'FINE THREAD': '세나사',
|
||||
'COARSE THREAD': '조나사',
|
||||
'LEFT HAND': '좌나사',
|
||||
'RIGHT HAND': '우나사',
|
||||
'SOCKET HEAD': '소켓헤드',
|
||||
'BUTTON HEAD': '버튼헤드',
|
||||
'FLAT HEAD': '평머리',
|
||||
'PAN HEAD': '팬헤드',
|
||||
'TRUSS HEAD': '트러스헤드',
|
||||
'WASHER FACE': '와셔면',
|
||||
'SERRATED': '톱니형',
|
||||
'LOCK': '잠금',
|
||||
'SPRING': '스프링',
|
||||
'WAVE': '웨이브'
|
||||
}
|
||||
|
||||
# 표면처리 확인
|
||||
for pattern, korean in surface_treatments.items():
|
||||
if pattern in desc_upper:
|
||||
additional_reqs.append(korean)
|
||||
|
||||
# 특수 요구사항 확인
|
||||
for pattern, korean in special_requirements.items():
|
||||
if pattern in desc_upper:
|
||||
additional_reqs.append(korean)
|
||||
|
||||
# 중복 제거 및 정렬
|
||||
additional_reqs = list(set(additional_reqs))
|
||||
|
||||
return ', '.join(additional_reqs) if additional_reqs else ''
|
||||
|
||||
def get_bolt_purchase_info(bolt_result: Dict) -> Dict:
|
||||
"""볼트 구매 정보 생성"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user