feat(B03~B08): 제목 줄 프로젝트 이름 + 계획노선 CSV 문구 정리
- 워크플로 상태 응답에 project_name 추가. 좌측 제목 패널 같은 행 오른쪽 끝에
프로젝트 이름 표기(길면 말줄임, 전체는 툴팁). 이름표를 오버레이 쪽에 두어
레이아웃을 직접 조립하는 B03 까지 여섯 화면이 한 곳으로 반영됨.
- fetchProjectWorkflowState 가 {status, workflow_state} 껍데기를 벗기도록 수정.
- 계획노선을 「업로드한 CSV」로 적은 주석을 「계획노선(정본)」으로 정리.
업로드 판정이 .csv 개수만 세어 shapefile 을 막던 것도 .shp 포함으로 맞춤.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -168,7 +168,16 @@ async def fail_stage(
|
||||
|
||||
|
||||
async def get_workflow_state(cursor: aiomysql.DictCursor, project_id: str) -> Dict[str, Any]:
|
||||
"""프로젝트의 모든 단계 상태를 조회하여 요약 및 배열로 반환한다."""
|
||||
"""프로젝트의 모든 단계 상태를 조회하여 요약 및 배열로 반환한다.
|
||||
|
||||
프로젝트 이름도 함께 싣는다 (2026-09-04 사용자 지시) — B03~B08 좌측 제목 줄 오른쪽에
|
||||
이름을 붙이는데, 화면이 들고 있는 것은 프로젝트 id 뿐이라 여기서 내려 준다. 새로고침·
|
||||
주소 직접 입력으로 들어와도 같은 값이 따라온다.
|
||||
"""
|
||||
await cursor.execute("SELECT name FROM projects WHERE id = %s", (project_id,))
|
||||
name_row = await cursor.fetchone()
|
||||
project_name = name_row["name"] if name_row else None
|
||||
|
||||
await cursor.execute(
|
||||
"""
|
||||
SELECT stage_no, stage_key, state, progress_percent, params, message,
|
||||
@@ -183,7 +192,12 @@ async def get_workflow_state(cursor: aiomysql.DictCursor, project_id: str) -> Di
|
||||
rows = await cursor.fetchall()
|
||||
|
||||
if not rows:
|
||||
return {"project_id": project_id, "current_stage": 0, "stages": []}
|
||||
return {
|
||||
"project_id": project_id,
|
||||
"project_name": project_name,
|
||||
"current_stage": 0,
|
||||
"stages": [],
|
||||
}
|
||||
|
||||
stages_list = []
|
||||
for r in rows:
|
||||
@@ -221,6 +235,7 @@ async def get_workflow_state(cursor: aiomysql.DictCursor, project_id: str) -> Di
|
||||
|
||||
return {
|
||||
"project_id": project_id,
|
||||
"project_name": project_name,
|
||||
"current_stage": current_stage,
|
||||
"stages": stages_list,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user