feat: 자재 리비전 비교 및 구매 목록 시스템 구현

- 자재 리비전간 비교 기능 추가 (MaterialComparisonPage) - 버그 해결 필요
- 리비전간 추가 구매 필요 자재 분석 페이지 추가 (RevisionPurchasePage)
- 자재 비교 결과 컴포넌트 구현 (MaterialComparisonResult)
- 자재 비교 API 라우터 추가 (material_comparison.py) - 로직 개선 필요
- 자재 비교 시스템 데이터베이스 스키마 추가
- FileManager, FileUpload 컴포넌트 개선
- BOMManagerPage 제거 및 새로운 구조로 리팩토링
- 자재 분류기 및 스키마 개선

TODO: 자재 비교 알고리즘 정확도 향상 및 예외 처리 강화 필요
This commit is contained in:
Hyungi Ahn
2025-07-22 15:56:40 +09:00
parent 6ca1cd17e2
commit 534015cc7c
16 changed files with 2577 additions and 267 deletions

View File

@@ -165,7 +165,11 @@ MATERIAL_STANDARDS = {
"patterns": [
r"ASTM\s+A403\s+(?:GR\s*)?WP\s*(\d{3}[LH]*)",
r"A403\s+(?:GR\s*)?WP\s*(\d{3}[LH]*)",
r"ASME\s+SA403\s+(?:GR\s*)?WP\s*(\d{3}[LH]*)"
r"ASME\s+SA403\s+(?:GR\s*)?WP\s*(\d{3}[LH]*)",
r"ASTM\s+A403\s+(WP\d{3}[LH]*)",
r"A403\s+(WP\d{3}[LH]*)",
r"(WP\d{3}[LH]*)\s+A403",
r"(WP\d{3}[LH]*)"
],
"grades": {
"WP304": {
@@ -191,6 +195,37 @@ MATERIAL_STANDARDS = {
},
"manufacturing": "WELDED_FABRICATED"
}
},
"A420": {
"low_temp_carbon": {
"patterns": [
r"ASTM\s+A420\s+(?:GR\s*)?WPL\s*(\d+)",
r"A420\s+(?:GR\s*)?WPL\s*(\d+)",
r"ASME\s+SA420\s+(?:GR\s*)?WPL\s*(\d+)",
r"ASTM\s+A420\s+(WPL\d+)",
r"A420\s+(WPL\d+)",
r"(WPL\d+)\s+A420",
r"(WPL\d+)"
],
"grades": {
"WPL1": {
"composition": "탄소강",
"temp_min": "-29°C",
"applications": "저온용 피팅"
},
"WPL3": {
"composition": "3.5Ni",
"temp_min": "-46°C",
"applications": "저온용 피팅"
},
"WPL6": {
"composition": "탄소강",
"temp_min": "-46°C",
"applications": "저온용 피팅"
}
},
"manufacturing": "WELDED_FABRICATED"
}
}
},
@@ -289,7 +324,11 @@ MATERIAL_STANDARDS = {
"A312": {
"patterns": [
r"ASTM\s+A312\s+TP\s*(\d{3}[LH]*)",
r"A312\s+TP\s*(\d{3}[LH]*)"
r"A312\s+TP\s*(\d{3}[LH]*)",
r"ASTM\s+A312\s+(TP\d{3}[LH]*)",
r"A312\s+(TP\d{3}[LH]*)",
r"(TP\d{3}[LH]*)\s+A312",
r"(TP\d{3}[LH]*)"
],
"grades": {
"TP304": {
@@ -310,6 +349,31 @@ MATERIAL_STANDARDS = {
}
},
"manufacturing": "SEAMLESS"
},
"A333": {
"patterns": [
r"ASTM\s+A333\s+(?:GR\s*)?(\d+)",
r"A333\s+(?:GR\s*)?(\d+)",
r"ASME\s+SA333\s+(?:GR\s*)?(\d+)"
],
"grades": {
"1": {
"composition": "탄소강",
"temp_min": "-29°C",
"applications": "저온용 배관"
},
"3": {
"composition": "3.5Ni",
"temp_min": "-46°C",
"applications": "저온용 배관"
},
"6": {
"composition": "탄소강",
"temp_min": "-46°C",
"applications": "저온용 배관"
}
},
"manufacturing": "SEAMLESS"
}
}
},