🔧 자재 분류기 개선 및 ELL 키워드 분류 문제 해결 (테스트 필요 - 안되는거 같음)

분류기 개선사항:
1. ELL-O-LET vs 일반 엘보 분류 개선
   - OLET 우선순위 확인 로직 추가
   - ELL 키워드 충돌 문제 해결

2. 엘보 서브타입 강화
   - 90DEG_LONG_RADIUS, 90DEG_SHORT_RADIUS 등 조합형 추가
   - 더 구체적인 키워드 패턴 지원

3. 레듀스 플랜지 분류 개선
   - REDUCING FLANGE가 FITTING이 아닌 FLANGE로 분류되도록 수정
   - 특별 우선순위 로직 추가

4. 90 ELL SW 분류 문제 해결
   - fitting_keywords에 ELL 키워드 추가
   - ELBOW description_keywords에 ELL, 90 ELL, 45 ELL 추가

기술적 개선:
- 키워드 우선순위 체계 강화
- 구체적인 패턴 매칭 개선
- 분류 신뢰도 향상

플랜지 카테고리 개선:
- 타입 풀네임 표시 (WN → WELD NECK FLANGE)
- 끝단처리 별도 컬럼 추가 (RF → RAISED FACE)
- 엑셀 내보내기 구조 개선 (P열 납기일, 관리항목 4개)
This commit is contained in:
hyungi
2025-10-15 17:43:10 +09:00
parent e799aae71b
commit b9442928da
11 changed files with 3107 additions and 172 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -0,0 +1,745 @@
{
"request_no": "PR-20251015-002",
"job_no": "TKG-20000P",
"created_at": "2025-10-15T05:53:13.449375",
"materials": [
{
"material_id": 76366,
"description": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "10\"",
"material_grade": "ASTM A182 F304",
"quantity": 5,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76371,
"description": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "12\"",
"material_grade": "ASTM A182 F304",
"quantity": 1,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76372,
"description": "FLG WELD NECK RF SCH 40, 150LB, ASTM A105",
"category": "FLANGE",
"size": "2\"",
"material_grade": "ASTM A105",
"quantity": 36,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76408,
"description": "FLG WELD NECK RF SCH 40, 300LB, ASTM A105",
"category": "FLANGE",
"size": "2\"",
"material_grade": "ASTM A105",
"quantity": 6,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76414,
"description": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "2\"",
"material_grade": "ASTM A182 F304",
"quantity": 7,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76422,
"description": "FLG WELD NECK RF SCH 40, 600LB, ASTM A105",
"category": "FLANGE",
"size": "3\"",
"material_grade": "ASTM A105",
"quantity": 8,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76427,
"description": "FLG WELD NECK RF SCH 40S, 600LB, ASTM A182 F304",
"category": "FLANGE",
"size": "3\"",
"material_grade": "ASTM A182 F304",
"quantity": 2,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76429,
"description": "FLG WELD NECK RF SCH 40, 150LB, ASTM A105",
"category": "FLANGE",
"size": "3\"",
"material_grade": "ASTM A105",
"quantity": 12,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76441,
"description": "FLG WELD NECK RF SCH 40, 300LB, ASTM A105",
"category": "FLANGE",
"size": "3\"",
"material_grade": "ASTM A105",
"quantity": 2,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76446,
"description": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "3\"",
"material_grade": "ASTM A182 F304",
"quantity": 9,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76455,
"description": "FLG WELD NECK RF SCH 40, 300LB, ASTM A105",
"category": "FLANGE",
"size": "4\"",
"material_grade": "ASTM A105",
"quantity": 3,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76458,
"description": "FLG WELD NECK RF SCH 40, 150LB, ASTM A105",
"category": "FLANGE",
"size": "6\"",
"material_grade": "ASTM A105",
"quantity": 10,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76468,
"description": "FLG SWRF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "1/2\"",
"material_grade": "ASTM A182 F304",
"quantity": 14,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76480,
"description": "FLG SWRF SCH 80, 150LB, ASTM A105",
"category": "FLANGE",
"size": "3/4\"",
"material_grade": "ASTM A105",
"quantity": 15,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76484,
"description": "FLG SWRF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "1\"",
"material_grade": "ASTM A182 F304",
"quantity": 9,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76485,
"description": "FLG SWRF SCH 80, 150LB, ASTM A105",
"category": "FLANGE",
"size": "1\"",
"material_grade": "ASTM A105",
"quantity": 66,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76489,
"description": "FLG SWRF SCH 80, 600LB, ASTM A105",
"category": "FLANGE",
"size": "1\"",
"material_grade": "ASTM A105",
"quantity": 6,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76491,
"description": "FLG SWRF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "1 1/2\"",
"material_grade": "ASTM A182 F304",
"quantity": 8,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76499,
"description": "FLG SWRF SCH 80, 150LB, ASTM A105",
"category": "FLANGE",
"size": "1 1/2\"",
"material_grade": "ASTM A105",
"quantity": 40,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76535,
"description": "FLG SWRF SCH 80, 600LB, ASTM A105",
"category": "FLANGE",
"size": "1 1/2\"",
"material_grade": "ASTM A105",
"quantity": 5,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76540,
"description": "RED. FLG SWRF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "1 1/2\" x 3/4\"",
"material_grade": "ASTM A182 F304",
"quantity": 2,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76542,
"description": "RED. FLG SWRF SCH 80, 150LB, ASTM A105",
"category": "FLANGE",
"size": "1 1/2\" x 3/4\"",
"material_grade": "ASTM A105",
"quantity": 4,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76546,
"description": "RED. FLG SWRF SCH 80, 600LB, ASTM A105",
"category": "FLANGE",
"size": "1 1/2\" x 3/4\"",
"material_grade": "ASTM A105",
"quantity": 2,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76556,
"description": "FLG SWRF SCH 40S, 600LB, ASTM A182 F304",
"category": "FLANGE",
"size": "1\"",
"material_grade": "ASTM A182 F304",
"quantity": 1,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76624,
"description": "RED. FLG SWRF SCH 80, 150LB, ASTM A105",
"category": "FLANGE",
"size": "1\" x 3/4\"",
"material_grade": "ASTM A105",
"quantity": 1,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76629,
"description": "FLG SWRF SCH 80, 300LB, ASTM A105",
"category": "FLANGE",
"size": "1 1/2\"",
"material_grade": "ASTM A105",
"quantity": 3,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76634,
"description": "FLG SWRF SCH 80, 150LB, ASTM A105",
"category": "FLANGE",
"size": "1/2\"",
"material_grade": "ASTM A105",
"quantity": 57,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76691,
"description": "FLG SWRF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "3/4\"",
"material_grade": "ASTM A182 F304",
"quantity": 7,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76698,
"description": "FLG SWRF SCH 40S, 300LB, ASTM A182 F304",
"category": "FLANGE",
"size": "3/4\"",
"material_grade": "ASTM A182 F304",
"quantity": 1,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76699,
"description": "FLG SWRF SCH 40S, 600LB, ASTM A182 F304",
"category": "FLANGE",
"size": "3/4\"",
"material_grade": "ASTM A182 F304",
"quantity": 1,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76711,
"description": "FLG SWRF SCH 80, 300LB, ASTM A105",
"category": "FLANGE",
"size": "3/4\"",
"material_grade": "ASTM A105",
"quantity": 2,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 76713,
"description": "FLG SWRF SCH 80, 600LB, ASTM A105",
"category": "FLANGE",
"size": "3/4\"",
"material_grade": "ASTM A105",
"quantity": 5,
"unit": "EA",
"user_requirement": ""
}
],
"grouped_materials": [
{
"group_key": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304|10\"|undefined|ASTM A182 F304",
"material_ids": [
76366
],
"description": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "10\"",
"material_grade": "ASTM A182 F304",
"quantity": 5,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304|12\"|undefined|ASTM A182 F304",
"material_ids": [
76371
],
"description": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "12\"",
"material_grade": "ASTM A182 F304",
"quantity": 1,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG WELD NECK RF SCH 40, 150LB, ASTM A105|2\"|undefined|ASTM A105",
"material_ids": [
76372
],
"description": "FLG WELD NECK RF SCH 40, 150LB, ASTM A105",
"category": "FLANGE",
"size": "2\"",
"material_grade": "ASTM A105",
"quantity": 36,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG WELD NECK RF SCH 40, 300LB, ASTM A105|2\"|undefined|ASTM A105",
"material_ids": [
76408
],
"description": "FLG WELD NECK RF SCH 40, 300LB, ASTM A105",
"category": "FLANGE",
"size": "2\"",
"material_grade": "ASTM A105",
"quantity": 6,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304|2\"|undefined|ASTM A182 F304",
"material_ids": [
76414
],
"description": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "2\"",
"material_grade": "ASTM A182 F304",
"quantity": 7,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG WELD NECK RF SCH 40, 600LB, ASTM A105|3\"|undefined|ASTM A105",
"material_ids": [
76422
],
"description": "FLG WELD NECK RF SCH 40, 600LB, ASTM A105",
"category": "FLANGE",
"size": "3\"",
"material_grade": "ASTM A105",
"quantity": 8,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG WELD NECK RF SCH 40S, 600LB, ASTM A182 F304|3\"|undefined|ASTM A182 F304",
"material_ids": [
76427
],
"description": "FLG WELD NECK RF SCH 40S, 600LB, ASTM A182 F304",
"category": "FLANGE",
"size": "3\"",
"material_grade": "ASTM A182 F304",
"quantity": 2,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG WELD NECK RF SCH 40, 150LB, ASTM A105|3\"|undefined|ASTM A105",
"material_ids": [
76429
],
"description": "FLG WELD NECK RF SCH 40, 150LB, ASTM A105",
"category": "FLANGE",
"size": "3\"",
"material_grade": "ASTM A105",
"quantity": 12,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG WELD NECK RF SCH 40, 300LB, ASTM A105|3\"|undefined|ASTM A105",
"material_ids": [
76441
],
"description": "FLG WELD NECK RF SCH 40, 300LB, ASTM A105",
"category": "FLANGE",
"size": "3\"",
"material_grade": "ASTM A105",
"quantity": 2,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304|3\"|undefined|ASTM A182 F304",
"material_ids": [
76446
],
"description": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "3\"",
"material_grade": "ASTM A182 F304",
"quantity": 9,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG WELD NECK RF SCH 40, 300LB, ASTM A105|4\"|undefined|ASTM A105",
"material_ids": [
76455
],
"description": "FLG WELD NECK RF SCH 40, 300LB, ASTM A105",
"category": "FLANGE",
"size": "4\"",
"material_grade": "ASTM A105",
"quantity": 3,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG WELD NECK RF SCH 40, 150LB, ASTM A105|6\"|undefined|ASTM A105",
"material_ids": [
76458
],
"description": "FLG WELD NECK RF SCH 40, 150LB, ASTM A105",
"category": "FLANGE",
"size": "6\"",
"material_grade": "ASTM A105",
"quantity": 10,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 40S, 150LB, ASTM A182 F304|1/2\"|undefined|ASTM A182 F304",
"material_ids": [
76468
],
"description": "FLG SWRF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "1/2\"",
"material_grade": "ASTM A182 F304",
"quantity": 14,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 80, 150LB, ASTM A105|3/4\"|undefined|ASTM A105",
"material_ids": [
76480
],
"description": "FLG SWRF SCH 80, 150LB, ASTM A105",
"category": "FLANGE",
"size": "3/4\"",
"material_grade": "ASTM A105",
"quantity": 15,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 40S, 150LB, ASTM A182 F304|1\"|undefined|ASTM A182 F304",
"material_ids": [
76484
],
"description": "FLG SWRF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "1\"",
"material_grade": "ASTM A182 F304",
"quantity": 9,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 80, 150LB, ASTM A105|1\"|undefined|ASTM A105",
"material_ids": [
76485
],
"description": "FLG SWRF SCH 80, 150LB, ASTM A105",
"category": "FLANGE",
"size": "1\"",
"material_grade": "ASTM A105",
"quantity": 66,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 80, 600LB, ASTM A105|1\"|undefined|ASTM A105",
"material_ids": [
76489
],
"description": "FLG SWRF SCH 80, 600LB, ASTM A105",
"category": "FLANGE",
"size": "1\"",
"material_grade": "ASTM A105",
"quantity": 6,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 40S, 150LB, ASTM A182 F304|1 1/2\"|undefined|ASTM A182 F304",
"material_ids": [
76491
],
"description": "FLG SWRF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "1 1/2\"",
"material_grade": "ASTM A182 F304",
"quantity": 8,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 80, 150LB, ASTM A105|1 1/2\"|undefined|ASTM A105",
"material_ids": [
76499
],
"description": "FLG SWRF SCH 80, 150LB, ASTM A105",
"category": "FLANGE",
"size": "1 1/2\"",
"material_grade": "ASTM A105",
"quantity": 40,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 80, 600LB, ASTM A105|1 1/2\"|undefined|ASTM A105",
"material_ids": [
76535
],
"description": "FLG SWRF SCH 80, 600LB, ASTM A105",
"category": "FLANGE",
"size": "1 1/2\"",
"material_grade": "ASTM A105",
"quantity": 5,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "RED. FLG SWRF SCH 40S, 150LB, ASTM A182 F304|1 1/2\" x 3/4\"|undefined|ASTM A182 F304",
"material_ids": [
76540
],
"description": "RED. FLG SWRF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "1 1/2\" x 3/4\"",
"material_grade": "ASTM A182 F304",
"quantity": 2,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "RED. FLG SWRF SCH 80, 150LB, ASTM A105|1 1/2\" x 3/4\"|undefined|ASTM A105",
"material_ids": [
76542
],
"description": "RED. FLG SWRF SCH 80, 150LB, ASTM A105",
"category": "FLANGE",
"size": "1 1/2\" x 3/4\"",
"material_grade": "ASTM A105",
"quantity": 4,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "RED. FLG SWRF SCH 80, 600LB, ASTM A105|1 1/2\" x 3/4\"|undefined|ASTM A105",
"material_ids": [
76546
],
"description": "RED. FLG SWRF SCH 80, 600LB, ASTM A105",
"category": "FLANGE",
"size": "1 1/2\" x 3/4\"",
"material_grade": "ASTM A105",
"quantity": 2,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 40S, 600LB, ASTM A182 F304|1\"|undefined|ASTM A182 F304",
"material_ids": [
76556
],
"description": "FLG SWRF SCH 40S, 600LB, ASTM A182 F304",
"category": "FLANGE",
"size": "1\"",
"material_grade": "ASTM A182 F304",
"quantity": 1,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "RED. FLG SWRF SCH 80, 150LB, ASTM A105|1\" x 3/4\"|undefined|ASTM A105",
"material_ids": [
76624
],
"description": "RED. FLG SWRF SCH 80, 150LB, ASTM A105",
"category": "FLANGE",
"size": "1\" x 3/4\"",
"material_grade": "ASTM A105",
"quantity": 1,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 80, 300LB, ASTM A105|1 1/2\"|undefined|ASTM A105",
"material_ids": [
76629
],
"description": "FLG SWRF SCH 80, 300LB, ASTM A105",
"category": "FLANGE",
"size": "1 1/2\"",
"material_grade": "ASTM A105",
"quantity": 3,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 80, 150LB, ASTM A105|1/2\"|undefined|ASTM A105",
"material_ids": [
76634
],
"description": "FLG SWRF SCH 80, 150LB, ASTM A105",
"category": "FLANGE",
"size": "1/2\"",
"material_grade": "ASTM A105",
"quantity": 57,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 40S, 150LB, ASTM A182 F304|3/4\"|undefined|ASTM A182 F304",
"material_ids": [
76691
],
"description": "FLG SWRF SCH 40S, 150LB, ASTM A182 F304",
"category": "FLANGE",
"size": "3/4\"",
"material_grade": "ASTM A182 F304",
"quantity": 7,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 40S, 300LB, ASTM A182 F304|3/4\"|undefined|ASTM A182 F304",
"material_ids": [
76698
],
"description": "FLG SWRF SCH 40S, 300LB, ASTM A182 F304",
"category": "FLANGE",
"size": "3/4\"",
"material_grade": "ASTM A182 F304",
"quantity": 1,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 40S, 600LB, ASTM A182 F304|3/4\"|undefined|ASTM A182 F304",
"material_ids": [
76699
],
"description": "FLG SWRF SCH 40S, 600LB, ASTM A182 F304",
"category": "FLANGE",
"size": "3/4\"",
"material_grade": "ASTM A182 F304",
"quantity": 1,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 80, 300LB, ASTM A105|3/4\"|undefined|ASTM A105",
"material_ids": [
76711
],
"description": "FLG SWRF SCH 80, 300LB, ASTM A105",
"category": "FLANGE",
"size": "3/4\"",
"material_grade": "ASTM A105",
"quantity": 2,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "FLG SWRF SCH 80, 600LB, ASTM A105|3/4\"|undefined|ASTM A105",
"material_ids": [
76713
],
"description": "FLG SWRF SCH 80, 600LB, ASTM A105",
"category": "FLANGE",
"size": "3/4\"",
"material_grade": "ASTM A105",
"quantity": 5,
"unit": "EA",
"user_requirement": ""
}
]
}

Binary file not shown.