Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
- AuthContext를 통한 통합 인증 상태 관리로 변경 - App.jsx와 AuthContext 간 중복 사용자 상태 관리 제거 - SimpleLogin에서 AuthContext의 login 함수 직접 사용 - 로그인 후 사용자 역할이 즉시 올바르게 인식되도록 개선 - 새로고침 없이도 시스템 관리자 권한 정상 표시 변경사항: - App.jsx: AuthProvider 래퍼 추가, 중복 인증 로직 제거 - SimpleLogin.jsx: AuthContext 직접 사용으로 변경 - 사용자 상태 동기화 문제 완전 해결
576 lines
12 KiB
JSON
576 lines
12 KiB
JSON
{
|
|
"request_no": "PR-20251014-004",
|
|
"job_no": "테스트용",
|
|
"created_at": "2025-10-14T21:44:18.401404",
|
|
"materials": [
|
|
{
|
|
"material_id": 4,
|
|
"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": 12,
|
|
"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 40S, ASTM A312 TP304|1/2\"|undefined|ASTM A312 TP304",
|
|
"material_ids": [
|
|
4
|
|
],
|
|
"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": ""
|
|
},
|
|
{
|
|
"group_key": "PIPE, SMLS, SCH 80, ASTM A106 B|3/4\"|undefined|ASTM A106 B",
|
|
"material_ids": [
|
|
12
|
|
],
|
|
"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": ""
|
|
}
|
|
]
|
|
} |