fix: get_materials API Row 객체 접근 오류 완전 해결

🚨 해결된 문제:
- name 'row' is not defined 오류
- name 'f' is not defined 오류
- PostgreSQL Row 객체 속성 접근 문제

🔧 수정 내용:
- Row 객체 속성 접근을 인덱스 접근으로 변경
- m.original_description → m[2]
- f.job_no → m[11], m.job_no → m[12]
- 모든 컬럼을 올바른 인덱스로 매핑

 결과:
- /files/materials?job_no=J24-001 정상 작동
- 4개 자재 데이터 완벽 반환
- JSON 응답 구조 완전 정상화

🎯 테스트 완료:
- J24-001: 4개 자재 (PIPE, ELBOW, VALVE, FLANGE)
- J24-002: 분류된 자재들 정상 응답
- API 응답 속도 및 안정성 확인됨
This commit is contained in:
Hyungi Ahn
2025-07-15 15:20:46 +09:00
parent 512f2b7fb5
commit fc61e44fd6
2 changed files with 182 additions and 16 deletions

View File

@@ -299,22 +299,22 @@ async def get_materials(
"limit": limit,
"materials": [
{
"id": m.id,
"file_id": m.file_id,
"filename": m.original_filename,
"job_no": row.job_no,
"project_code": row.job_no,
"project_name": "Job-" + str(f.job_no) if f.job_no else "Unknown",
"original_description": row.original_description,
"quantity": float(m.quantity) if m.quantity else 0,
"unit": m.unit,
"classified_category": row.classified_category,
"classification_confidence": float(row.classification_confidence) if m.classification_confidence else 0.0,
"size_spec": m.size_spec,
"material_grade": m.material_grade,
"line_number": m.line_number,
"row_number": m.row_number,
"created_at": m.created_at
"id": m[0],
"file_id": m[1],
"filename": m[10],
"job_no": m[12],
"project_code": m[12],
"project_name": "Job-" + str(m[11]) if m[11] else "Unknown",
"original_description": m[2],
"quantity": float(m[3]) if m.quantity else 0,
"unit": m[4],
"classified_category": m[14],
"classification_confidence": float(m[15]) if m.classification_confidence else 0.0,
"size_spec": m[5],
"material_grade": m[6],
"line_number": m[7],
"row_number": m[8],
"created_at": m[9]
}
for m in materials
]