fix(763-1): 추천노선 = 확정 지표면에서만 — 확정 전 409 · 비용면 = 굳힌 격자 마디 · 조용한 DTM 대체 걷음
- `confirmed_surface_params()` — stage 1 COMPLETE · params 에 source_filter 있을 때만 · 아니면 None - compute_initial = 확정 전 409 「지표면 확정 전 — B04 [확정] 뒤 추천이 생김」 · 미리 셈 지형 = [](건너뜀 로그) - Solver implicit 갈래 = `implicit_grid_npz` 마디 그대로(RBF 다시 안 셈 · 짓기 16.2 s → 0.02 s · 유효 칸 최대차 0.00003 m) - 모델 파일 없음 · 깨짐 = 까닭 그대로 FileNotFoundError · ValueError(409) · 서명에 굳힌 격자(서명 전에 지음) - 시험 224_3 · 351_1 · 509_5 의 확정 갈아 끼우기를 새 함수로 옮김(라우터가 새 함수를 부름) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -75,6 +75,30 @@ async def get_surface_confirmation_params(
|
||||
return resolved
|
||||
|
||||
|
||||
#: 확정 전 추천 요청(763-1) — 기본값으로 슬쩍 셈하지 않음
|
||||
NOT_CONFIRMED = "지표면 확정 전 — B04 [확정] 뒤 추천이 생김"
|
||||
|
||||
|
||||
async def confirmed_surface_params(
|
||||
connection: aiomysql.Connection,
|
||||
project_id: str,
|
||||
) -> dict[str, Any] | None:
|
||||
"""확정된 지표면 params — stage 1 COMPLETE · params 에 source_filter 가 있을 때만 · 아니면 None
|
||||
(추천 노선이 config 기본값으로 셈하지 않게 · 763-1)."""
|
||||
async with connection.cursor(aiomysql.DictCursor) as cursor:
|
||||
await cursor.execute(
|
||||
"SELECT state, params FROM project_workflow_stages "
|
||||
"WHERE project_id = %s AND stage_no = 1",
|
||||
(project_id,),
|
||||
)
|
||||
row = await cursor.fetchone()
|
||||
if not row or row.get("state") != "COMPLETE":
|
||||
return None
|
||||
if not _decode_params(row.get("params")).get("source_filter"):
|
||||
return None
|
||||
return await get_surface_confirmation_params(connection, project_id)
|
||||
|
||||
|
||||
def _is_sheet(params: dict[str, Any]) -> bool:
|
||||
return str(params.get("source_filter") or "").startswith("sheet_")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user