feat: 구매신청 기능 완성 및 SUPPORT/SPECIAL 카테고리 개선

- 모든 카테고리 구매신청 기능 완성 (PIPE, FITTING, VALVE, FLANGE, GASKET, BOLT, SUPPORT, SPECIAL, UNKNOWN)
- 구매신청 완료 항목: 회색 배경, 체크박스 비활성화, '구매신청완료' 배지 표시
- 전체 선택/구매신청 시 이미 구매신청된 항목 자동 제외
- 구매신청 quantity 타입 에러 수정 (문자열 -> 정수 변환)

SUPPORT 카테고리 (구 U-BOLT):
- U-BOLT -> SUPPORT로 카테고리명 변경
- 클램프, 유볼트, 우레탄블럭슈 분류 개선
- 테이블 헤더: 선택-종류-타입-크기-디스크립션-추가요구-사용자요구-수량
- 크기 정보 main_nom 필드에서 가져오기 (배관 인치)
- 엑셀 내보내기 형식 조정

SPECIAL 카테고리:
- SPECIAL 키워드 자재 자동 분류 (SPECIFICATION 제외)
- 파일 업로드 시 SPECIAL 카테고리 처리 로직 추가
- 도면번호 필드 추가 (drawing_name, line_no)
- 타입 필드: 크기/스케줄/재질 제외한 핵심 정보 표시
- 엑셀 DWG_NAME, LINE_NUM 컬럼 파싱 및 저장

FITTING 카테고리:
- 테이블 컬럼 너비 조정 (선택 2%, 종류 8.5%, 수량 12%)

구매신청 관리:
- 엑셀 재다운로드 형식 개선 (BOM 페이지와 동일한 형식)
- 그룹화된 자재 정보 포함하여 저장 및 다운로드
This commit is contained in:
Hyungi Ahn
2025-10-14 12:39:25 +09:00
parent e468663386
commit e27020ae9b
44 changed files with 13102 additions and 176 deletions

View File

@@ -0,0 +1,393 @@
{
"request_no": "PR-20251014-001",
"job_no": "TK-MP-TEST-001",
"created_at": "2025-10-14T01:43:47.625634",
"materials": [
{
"material_id": 88145,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1/2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 11,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88153,
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "3/4\"",
"material_grade": "ASTM A106 B",
"quantity": 92,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88157,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1\"",
"material_grade": "ASTM A312 TP304",
"quantity": 23,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88167,
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "1\"",
"material_grade": "ASTM A106 B",
"quantity": 139,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88176,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1 1/2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 14,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88190,
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "1 1/2\"",
"material_grade": "ASTM A106 B",
"quantity": 98,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88446,
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "1/2\"",
"material_grade": "ASTM A106 B",
"quantity": 82,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88528,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "10\"",
"material_grade": "ASTM A312 TP304",
"quantity": 4,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88532,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "12\"",
"material_grade": "ASTM A312 TP304",
"quantity": 1,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88533,
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "2\"",
"material_grade": "ASTM A106 B",
"quantity": 50,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88583,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 9,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88592,
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "3\"",
"material_grade": "ASTM A106 B",
"quantity": 25,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88600,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "3\"",
"material_grade": "ASTM A312 TP304",
"quantity": 8,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88625,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "3/4\"",
"material_grade": "ASTM A312 TP304",
"quantity": 15,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88728,
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "4\"",
"material_grade": "ASTM A106 B",
"quantity": 12,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88740,
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "6\"",
"material_grade": "ASTM A106 B",
"quantity": 13,
"unit": "EA",
"user_requirement": ""
}
],
"grouped_materials": [
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|1/2\"|undefined|ASTM A312 TP304",
"material_ids": [
88145
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1/2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 11,
"unit": "m",
"total_length": 66000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 80, ASTM A106 B|3/4\"|undefined|ASTM A106 B",
"material_ids": [
88153
],
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "3/4\"",
"material_grade": "ASTM A106 B",
"quantity": 92,
"unit": "m",
"total_length": 552000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|1\"|undefined|ASTM A312 TP304",
"material_ids": [
88157
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1\"",
"material_grade": "ASTM A312 TP304",
"quantity": 23,
"unit": "m",
"total_length": 138000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 80, ASTM A106 B|1\"|undefined|ASTM A106 B",
"material_ids": [
88167
],
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "1\"",
"material_grade": "ASTM A106 B",
"quantity": 139,
"unit": "m",
"total_length": 834000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|1 1/2\"|undefined|ASTM A312 TP304",
"material_ids": [
88176
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1 1/2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 14,
"unit": "m",
"total_length": 84000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 80, ASTM A106 B|1 1/2\"|undefined|ASTM A106 B",
"material_ids": [
88190
],
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "1 1/2\"",
"material_grade": "ASTM A106 B",
"quantity": 98,
"unit": "m",
"total_length": 588000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 80, ASTM A106 B|1/2\"|undefined|ASTM A106 B",
"material_ids": [
88446
],
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "1/2\"",
"material_grade": "ASTM A106 B",
"quantity": 82,
"unit": "m",
"total_length": 492000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|10\"|undefined|ASTM A312 TP304",
"material_ids": [
88528
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "10\"",
"material_grade": "ASTM A312 TP304",
"quantity": 4,
"unit": "m",
"total_length": 24000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|12\"|undefined|ASTM A312 TP304",
"material_ids": [
88532
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "12\"",
"material_grade": "ASTM A312 TP304",
"quantity": 1,
"unit": "m",
"total_length": 6000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40, ASTM A106 B|2\"|undefined|ASTM A106 B",
"material_ids": [
88533
],
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "2\"",
"material_grade": "ASTM A106 B",
"quantity": 50,
"unit": "m",
"total_length": 300000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|2\"|undefined|ASTM A312 TP304",
"material_ids": [
88583
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 9,
"unit": "m",
"total_length": 54000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40, ASTM A106 B|3\"|undefined|ASTM A106 B",
"material_ids": [
88592
],
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "3\"",
"material_grade": "ASTM A106 B",
"quantity": 25,
"unit": "m",
"total_length": 150000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|3\"|undefined|ASTM A312 TP304",
"material_ids": [
88600
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "3\"",
"material_grade": "ASTM A312 TP304",
"quantity": 8,
"unit": "m",
"total_length": 48000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|3/4\"|undefined|ASTM A312 TP304",
"material_ids": [
88625
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "3/4\"",
"material_grade": "ASTM A312 TP304",
"quantity": 15,
"unit": "m",
"total_length": 90000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40, ASTM A106 B|4\"|undefined|ASTM A106 B",
"material_ids": [
88728
],
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "4\"",
"material_grade": "ASTM A106 B",
"quantity": 12,
"unit": "m",
"total_length": 72000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40, ASTM A106 B|6\"|undefined|ASTM A106 B",
"material_ids": [
88740
],
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "6\"",
"material_grade": "ASTM A106 B",
"quantity": 13,
"unit": "m",
"total_length": 78000,
"user_requirement": ""
}
]
}

Binary file not shown.

View File

@@ -0,0 +1,369 @@
{
"request_no": "PR-20251014-002",
"job_no": "TK-MP-TEST-001",
"created_at": "2025-10-14T01:43:58.851391",
"materials": [
{
"material_id": 88146,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1/2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 10,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88154,
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "3/4\"",
"material_grade": "ASTM A106 B",
"quantity": 91,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88158,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1\"",
"material_grade": "ASTM A312 TP304",
"quantity": 22,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88168,
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "1\"",
"material_grade": "ASTM A106 B",
"quantity": 138,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88177,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1 1/2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 13,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88191,
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "1 1/2\"",
"material_grade": "ASTM A106 B",
"quantity": 97,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88447,
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "1/2\"",
"material_grade": "ASTM A106 B",
"quantity": 81,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88529,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "10\"",
"material_grade": "ASTM A312 TP304",
"quantity": 3,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88534,
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "2\"",
"material_grade": "ASTM A106 B",
"quantity": 49,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88584,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 8,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88593,
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "3\"",
"material_grade": "ASTM A106 B",
"quantity": 24,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88618,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "3\"",
"material_grade": "ASTM A312 TP304",
"quantity": 7,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88626,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "3/4\"",
"material_grade": "ASTM A312 TP304",
"quantity": 14,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88729,
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "4\"",
"material_grade": "ASTM A106 B",
"quantity": 11,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88741,
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "6\"",
"material_grade": "ASTM A106 B",
"quantity": 12,
"unit": "EA",
"user_requirement": ""
}
],
"grouped_materials": [
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|1/2\"|undefined|ASTM A312 TP304",
"material_ids": [
88146
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1/2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 10,
"unit": "m",
"total_length": 60000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 80, ASTM A106 B|3/4\"|undefined|ASTM A106 B",
"material_ids": [
88154
],
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "3/4\"",
"material_grade": "ASTM A106 B",
"quantity": 91,
"unit": "m",
"total_length": 546000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|1\"|undefined|ASTM A312 TP304",
"material_ids": [
88158
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1\"",
"material_grade": "ASTM A312 TP304",
"quantity": 22,
"unit": "m",
"total_length": 132000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 80, ASTM A106 B|1\"|undefined|ASTM A106 B",
"material_ids": [
88168
],
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "1\"",
"material_grade": "ASTM A106 B",
"quantity": 138,
"unit": "m",
"total_length": 828000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|1 1/2\"|undefined|ASTM A312 TP304",
"material_ids": [
88177
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1 1/2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 13,
"unit": "m",
"total_length": 78000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 80, ASTM A106 B|1 1/2\"|undefined|ASTM A106 B",
"material_ids": [
88191
],
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "1 1/2\"",
"material_grade": "ASTM A106 B",
"quantity": 97,
"unit": "m",
"total_length": 582000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 80, ASTM A106 B|1/2\"|undefined|ASTM A106 B",
"material_ids": [
88447
],
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "1/2\"",
"material_grade": "ASTM A106 B",
"quantity": 81,
"unit": "m",
"total_length": 486000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|10\"|undefined|ASTM A312 TP304",
"material_ids": [
88529
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "10\"",
"material_grade": "ASTM A312 TP304",
"quantity": 3,
"unit": "m",
"total_length": 18000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40, ASTM A106 B|2\"|undefined|ASTM A106 B",
"material_ids": [
88534
],
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "2\"",
"material_grade": "ASTM A106 B",
"quantity": 49,
"unit": "m",
"total_length": 294000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|2\"|undefined|ASTM A312 TP304",
"material_ids": [
88584
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 8,
"unit": "m",
"total_length": 48000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40, ASTM A106 B|3\"|undefined|ASTM A106 B",
"material_ids": [
88593
],
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "3\"",
"material_grade": "ASTM A106 B",
"quantity": 24,
"unit": "m",
"total_length": 144000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|3\"|undefined|ASTM A312 TP304",
"material_ids": [
88618
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "3\"",
"material_grade": "ASTM A312 TP304",
"quantity": 7,
"unit": "m",
"total_length": 42000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|3/4\"|undefined|ASTM A312 TP304",
"material_ids": [
88626
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "3/4\"",
"material_grade": "ASTM A312 TP304",
"quantity": 14,
"unit": "m",
"total_length": 84000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40, ASTM A106 B|4\"|undefined|ASTM A106 B",
"material_ids": [
88729
],
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "4\"",
"material_grade": "ASTM A106 B",
"quantity": 11,
"unit": "m",
"total_length": 66000,
"user_requirement": ""
},
{
"group_key": "PIPE, SMLS, SCH 40, ASTM A106 B|6\"|undefined|ASTM A106 B",
"material_ids": [
88741
],
"description": "PIPE, SMLS, SCH 40, ASTM A106 B",
"category": "PIPE",
"size": "6\"",
"material_grade": "ASTM A106 B",
"quantity": 12,
"unit": "m",
"total_length": 72000,
"user_requirement": ""
}
]
}

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -0,0 +1,90 @@
{
"request_no": "PR-20251014-004",
"job_no": "TKG-25000P",
"created_at": "2025-10-14T02:10:22.262092",
"materials": [
{
"material_id": 77528,
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1/2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 11,
"unit": "EA",
"user_requirement": "열처리?"
}
],
"grouped_materials": [
{
"group_key": "PIPE, SMLS, SCH 40S, ASTM A312 TP304|1/2\"|undefined|ASTM A312 TP304",
"material_ids": [
77528
],
"description": "PIPE, SMLS, SCH 40S, ASTM A312 TP304",
"category": "PIPE",
"size": "1/2\"",
"material_grade": "ASTM A312 TP304",
"quantity": 11,
"unit": "m",
"total_length": 1395.1,
"pipe_lengths": [
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 155,
"quantity": 1,
"totalLength": 155
},
{
"length": 155,
"quantity": 1,
"totalLength": 155
},
{
"length": 200,
"quantity": 1,
"totalLength": 200
},
{
"length": 245.1,
"quantity": 1,
"totalLength": 245.1
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
}
],
"user_requirement": "열처리?"
}
]
}

View File

@@ -0,0 +1,32 @@
{
"request_no": "PR-20251014-005",
"job_no": "TKG-25000P",
"created_at": "2025-10-14T02:14:05.318457",
"materials": [
{
"material_id": 78247,
"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": ""
}
],
"grouped_materials": [
{
"group_key": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304|10\"|undefined|ASTM A182 F304",
"material_ids": [
78247
],
"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": ""
}
]
}

View File

@@ -0,0 +1,32 @@
{
"request_no": "PR-20251014-006",
"job_no": "TKG-25000P",
"created_at": "2025-10-14T02:17:13.397257",
"materials": [
{
"material_id": 78599,
"description": "(4) 0.5, 75 LG, 150LB, ASTM A193/A194 GR B7/2H, ELEC.GALV",
"category": "BOLT",
"size": "1\"",
"material_grade": "ASTM A193/A194 GR B7/2H",
"quantity": 51,
"unit": "EA",
"user_requirement": ""
}
],
"grouped_materials": [
{
"group_key": "(4) 0.5, 75 LG, 150LB, ASTM A193/A194 GR B7/2H, ELEC.GALV|1\"|undefined|ASTM A193/A194 GR B7/2H",
"material_ids": [
78599
],
"description": "(4) 0.5, 75 LG, 150LB, ASTM A193/A194 GR B7/2H, ELEC.GALV",
"category": "BOLT",
"size": "1\"",
"material_grade": "ASTM A193/A194 GR B7/2H",
"quantity": 51,
"unit": "EA",
"user_requirement": ""
}
]
}

View File

@@ -0,0 +1,32 @@
{
"request_no": "PR-20251014-007",
"job_no": "TKG-25000P",
"created_at": "2025-10-14T02:17:26.376309",
"materials": [
{
"material_id": 78599,
"description": "(4) 0.5, 75 LG, 150LB, ASTM A193/A194 GR B7/2H, ELEC.GALV",
"category": "BOLT",
"size": "1\"",
"material_grade": "ASTM A193/A194 GR B7/2H",
"quantity": 51,
"unit": "EA",
"user_requirement": ""
}
],
"grouped_materials": [
{
"group_key": "(4) 0.5, 75 LG, 150LB, ASTM A193/A194 GR B7/2H, ELEC.GALV|1\"|undefined|ASTM A193/A194 GR B7/2H",
"material_ids": [
78599
],
"description": "(4) 0.5, 75 LG, 150LB, ASTM A193/A194 GR B7/2H, ELEC.GALV",
"category": "BOLT",
"size": "1\"",
"material_grade": "ASTM A193/A194 GR B7/2H",
"quantity": 51,
"unit": "EA",
"user_requirement": ""
}
]
}

View File

@@ -0,0 +1,495 @@
{
"request_no": "PR-20251014-008",
"job_no": "TKG-25000P",
"created_at": "2025-10-14T02:17:50.004262",
"materials": [
{
"material_id": 77536,
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "3/4\"",
"material_grade": "ASTM A106 B",
"quantity": 92,
"unit": "EA",
"user_requirement": ""
}
],
"grouped_materials": [
{
"group_key": "PIPE, SMLS, SCH 80, ASTM A106 B|3/4\"|undefined|ASTM A106 B",
"material_ids": [
77536
],
"description": "PIPE, SMLS, SCH 80, ASTM A106 B",
"category": "PIPE",
"size": "3/4\"",
"material_grade": "ASTM A106 B",
"quantity": 92,
"unit": "m",
"total_length": 7920.2,
"pipe_lengths": [
{
"length": 60,
"quantity": 1,
"totalLength": 60
},
{
"length": 60,
"quantity": 1,
"totalLength": 60
},
{
"length": 60,
"quantity": 1,
"totalLength": 60
},
{
"length": 60,
"quantity": 1,
"totalLength": 60
},
{
"length": 43.3,
"quantity": 1,
"totalLength": 43.3
},
{
"length": 43.3,
"quantity": 1,
"totalLength": 43.3
},
{
"length": 43.3,
"quantity": 1,
"totalLength": 43.3
},
{
"length": 43.3,
"quantity": 1,
"totalLength": 43.3
},
{
"length": 43.3,
"quantity": 1,
"totalLength": 43.3
},
{
"length": 43.3,
"quantity": 1,
"totalLength": 43.3
},
{
"length": 50,
"quantity": 1,
"totalLength": 50
},
{
"length": 50,
"quantity": 1,
"totalLength": 50
},
{
"length": 50,
"quantity": 1,
"totalLength": 50
},
{
"length": 50,
"quantity": 1,
"totalLength": 50
},
{
"length": 50,
"quantity": 1,
"totalLength": 50
},
{
"length": 50,
"quantity": 1,
"totalLength": 50
},
{
"length": 50,
"quantity": 1,
"totalLength": 50
},
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 70,
"quantity": 1,
"totalLength": 70
},
{
"length": 76.2,
"quantity": 1,
"totalLength": 76.2
},
{
"length": 76.2,
"quantity": 1,
"totalLength": 76.2
},
{
"length": 76.2,
"quantity": 1,
"totalLength": 76.2
},
{
"length": 76.2,
"quantity": 1,
"totalLength": 76.2
},
{
"length": 76.2,
"quantity": 1,
"totalLength": 76.2
},
{
"length": 76.2,
"quantity": 1,
"totalLength": 76.2
},
{
"length": 77.6,
"quantity": 1,
"totalLength": 77.6
},
{
"length": 77.6,
"quantity": 1,
"totalLength": 77.6
},
{
"length": 77.6,
"quantity": 1,
"totalLength": 77.6
},
{
"length": 77.6,
"quantity": 1,
"totalLength": 77.6
},
{
"length": 77.6,
"quantity": 1,
"totalLength": 77.6
},
{
"length": 77.6,
"quantity": 1,
"totalLength": 77.6
},
{
"length": 80,
"quantity": 1,
"totalLength": 80
},
{
"length": 80,
"quantity": 1,
"totalLength": 80
},
{
"length": 80,
"quantity": 1,
"totalLength": 80
},
{
"length": 80,
"quantity": 1,
"totalLength": 80
},
{
"length": 80,
"quantity": 1,
"totalLength": 80
},
{
"length": 80,
"quantity": 1,
"totalLength": 80
},
{
"length": 80,
"quantity": 1,
"totalLength": 80
},
{
"length": 80,
"quantity": 1,
"totalLength": 80
},
{
"length": 80,
"quantity": 1,
"totalLength": 80
},
{
"length": 88.6,
"quantity": 1,
"totalLength": 88.6
},
{
"length": 88.6,
"quantity": 1,
"totalLength": 88.6
},
{
"length": 98.4,
"quantity": 1,
"totalLength": 98.4
},
{
"length": 98.4,
"quantity": 1,
"totalLength": 98.4
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 100,
"quantity": 1,
"totalLength": 100
},
{
"length": 120,
"quantity": 1,
"totalLength": 120
},
{
"length": 120,
"quantity": 1,
"totalLength": 120
},
{
"length": 150,
"quantity": 1,
"totalLength": 150
},
{
"length": 150,
"quantity": 1,
"totalLength": 150
},
{
"length": 150,
"quantity": 1,
"totalLength": 150
},
{
"length": 150,
"quantity": 1,
"totalLength": 150
},
{
"length": 150,
"quantity": 1,
"totalLength": 150
},
{
"length": 223.6,
"quantity": 1,
"totalLength": 223.6
}
],
"user_requirement": ""
}
]
}

View File

@@ -0,0 +1,55 @@
{
"request_no": "PR-20251014-009",
"job_no": "TK-MP-TEST-001",
"created_at": "2025-10-14T02:24:08.046686",
"materials": [
{
"material_id": 88864,
"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": 88869,
"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": ""
}
],
"grouped_materials": [
{
"group_key": "FLG WELD NECK RF SCH 40S, 150LB, ASTM A182 F304|10\"|undefined|ASTM A182 F304",
"material_ids": [
88864
],
"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": [
88869
],
"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": ""
}
]
}

View File

@@ -0,0 +1,55 @@
{
"request_no": "PR-20251014-010",
"job_no": "TK-MP-TEST-001",
"created_at": "2025-10-14T02:24:14.814790",
"materials": [
{
"material_id": 90052,
"description": "ON/OFF VALVE, FLG, 600LB",
"category": "VALVE",
"size": "1\"",
"material_grade": "-",
"quantity": 1,
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 90053,
"description": "CHECK VALVE, LIFT, SW, 800LB",
"category": "VALVE",
"size": "1 1/2\"",
"material_grade": "-",
"quantity": 2,
"unit": "EA",
"user_requirement": ""
}
],
"grouped_materials": [
{
"group_key": "ON/OFF VALVE, FLG, 600LB|1\"|undefined|-",
"material_ids": [
90052
],
"description": "ON/OFF VALVE, FLG, 600LB",
"category": "VALVE",
"size": "1\"",
"material_grade": "-",
"quantity": 1,
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "CHECK VALVE, LIFT, SW, 800LB|1 1/2\"|undefined|-",
"material_ids": [
90053
],
"description": "CHECK VALVE, LIFT, SW, 800LB",
"category": "VALVE",
"size": "1 1/2\"",
"material_grade": "-",
"quantity": 2,
"unit": "EA",
"user_requirement": ""
}
]
}

View File

@@ -0,0 +1,32 @@
{
"request_no": "PR-20251014-011",
"job_no": "TK-MP-TEST-001",
"created_at": "2025-10-14T02:24:21.733349",
"materials": [
{
"material_id": 89216,
"description": "(4) 0.5, 75 LG, 150LB, ASTM A193/A194 GR B7/2H, ELEC.GALV",
"category": "BOLT",
"size": "1\"",
"material_grade": "ASTM A193/A194 GR B7/2H",
"quantity": 51,
"unit": "EA",
"user_requirement": ""
}
],
"grouped_materials": [
{
"group_key": "(4) 0.5, 75 LG, 150LB, ASTM A193/A194 GR B7/2H, ELEC.GALV|1\"|undefined|ASTM A193/A194 GR B7/2H",
"material_ids": [
89216
],
"description": "(4) 0.5, 75 LG, 150LB, ASTM A193/A194 GR B7/2H, ELEC.GALV",
"category": "BOLT",
"size": "1\"",
"material_grade": "ASTM A193/A194 GR B7/2H",
"quantity": 51,
"unit": "EA",
"user_requirement": ""
}
]
}

View File

@@ -0,0 +1,32 @@
{
"request_no": "PR-20251014-012",
"job_no": "TK-MP-TEST-001",
"created_at": "2025-10-14T02:42:08.351432",
"materials": [
{
"material_id": 89220,
"description": "(4) 0.5, 80 LG, 150LB, ASTM A193/A194 GR B7/2H, ELEC.GALV",
"category": "BOLT",
"size": "1 1/2\"",
"material_grade": "ASTM A193/A194 GR B7/2H",
"quantity": 32,
"unit": "EA",
"user_requirement": ""
}
],
"grouped_materials": [
{
"group_key": "(4) 0.5, 80 LG, 150LB, ASTM A193/A194 GR B7/2H, ELEC.GALV|1 1/2\"|undefined|ASTM A193/A194 GR B7/2H",
"material_ids": [
89220
],
"description": "(4) 0.5, 80 LG, 150LB, ASTM A193/A194 GR B7/2H, ELEC.GALV",
"category": "BOLT",
"size": "1 1/2\"",
"material_grade": "ASTM A193/A194 GR B7/2H",
"quantity": 32,
"unit": "EA",
"user_requirement": ""
}
]
}

View File

@@ -0,0 +1,32 @@
{
"request_no": "PR-20251014-013",
"job_no": "TK-MP-TEST-001",
"created_at": "2025-10-14T02:47:17.256790",
"materials": [
{
"material_id": 89465,
"description": "SWG, 150LB, H/F/I/O SS304/GRAPHITE/SS304/SS304, 4.5mm",
"category": "GASKET",
"size": "1/2\"",
"material_grade": "SS304",
"quantity": 44,
"unit": "EA",
"user_requirement": ""
}
],
"grouped_materials": [
{
"group_key": "SWG, 150LB, H/F/I/O SS304/GRAPHITE/SS304/SS304, 4.5mm|1/2\"|undefined|SS304",
"material_ids": [
89465
],
"description": "SWG, 150LB, H/F/I/O SS304/GRAPHITE/SS304/SS304, 4.5mm",
"category": "GASKET",
"size": "1/2\"",
"material_grade": "SS304",
"quantity": 44,
"unit": "EA",
"user_requirement": ""
}
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
{
"request_no": "PR-20251014-015",
"job_no": "TK-MP-TEST-001",
"created_at": "2025-10-14T02:54:15.899037",
"materials": [],
"grouped_materials": []
}

View File

@@ -0,0 +1,43 @@
{
"request_no": "PR-20251014-016",
"job_no": "TK-MP-TEST-001",
"created_at": "2025-10-14T02:54:33.149908",
"materials": [
{
"material_id": 88142,
"description": "HALF NIPPLE, SMLS, SCH 80S, ASTM A312 TP304 SW X NPT",
"category": "FITTING",
"size": "1/2\"",
"material_grade": "ASTM A312 TP304",
"quantity": "3.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 88144,
"description": "HALF NIPPLE, SMLS, SCH 80S, ASTM A312 TP304 SW X NPT",
"category": "FITTING",
"size": "1/2\"",
"material_grade": "ASTM A312 TP304",
"quantity": "3.000",
"unit": "EA",
"user_requirement": ""
}
],
"grouped_materials": [
{
"group_key": "HALF NIPPLE, SMLS, SCH 80S, ASTM A312 TP304 SW X NPT|1/2\"|undefined|ASTM A312 TP304",
"material_ids": [
88142,
88144
],
"description": "HALF NIPPLE, SMLS, SCH 80S, ASTM A312 TP304 SW X NPT",
"category": "FITTING",
"size": "1/2\"",
"material_grade": "ASTM A312 TP304",
"quantity": "3.000",
"unit": "EA",
"user_requirement": ""
}
]
}

View File

@@ -0,0 +1,132 @@
{
"request_no": "PR-20251014-017",
"job_no": "TK-MP-TEST-001",
"created_at": "2025-10-14T02:54:45.118843",
"materials": [
{
"material_id": 91515,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91516,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91517,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91518,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91552,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91553,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91554,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91555,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 89471,
"description": "SWG, 150LB, H/F/I/O SS304/GRAPHITE/SS304/SS304, 4.5mm",
"category": "GASKET",
"size": "3/4\"",
"material_grade": "SS304",
"quantity": 18,
"unit": "EA",
"user_requirement": ""
}
],
"grouped_materials": [
{
"group_key": "CLAMP CL-1|1\"|undefined|-",
"material_ids": [
91515,
91516,
91517,
91518,
91552,
91553,
91554,
91555
],
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"group_key": "SWG, 150LB, H/F/I/O SS304/GRAPHITE/SS304/SS304, 4.5mm|3/4\"|undefined|SS304",
"material_ids": [
89471
],
"description": "SWG, 150LB, H/F/I/O SS304/GRAPHITE/SS304/SS304, 4.5mm",
"category": "GASKET",
"size": "3/4\"",
"material_grade": "SS304",
"quantity": 18,
"unit": "EA",
"user_requirement": ""
}
]
}

View File

@@ -0,0 +1,109 @@
{
"request_no": "PR-20251014-018",
"job_no": "TK-MP-TEST-001",
"created_at": "2025-10-14T02:54:50.900910",
"materials": [
{
"material_id": 91515,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91516,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91517,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91518,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91552,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91553,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91554,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
},
{
"material_id": 91555,
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
}
],
"grouped_materials": [
{
"group_key": "CLAMP CL-1|1\"|undefined|-",
"material_ids": [
91515,
91516,
91517,
91518,
91552,
91553,
91554,
91555
],
"description": "CLAMP CL-1",
"category": "SUPPORT",
"size": "1\"",
"material_grade": "-",
"quantity": "8.000",
"unit": "EA",
"user_requirement": ""
}
]
}