fix(M02): 구조물 조합 표 「일위대가」 줄 = 그 열 일위대가번(SU) — 옛 조합 키(UA) 칸 안 읽음 · 번호 글 줄(도면 · 면적산출과 같음)

- 표 부품: 일위대가 줄도 번호 글 줄(손으로 못 침 · laborLabel) · 조회 후 선택이 열 칸을 안 고침
- 누르면 다른 줄과 같은 길(일위대가 복사해 가져오기) · 열의 옛 「일위대가」 값은 파일에 그대로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
This commit is contained in:
2026-10-04 22:08:06 +09:00
co-authored by Claude Opus 5.5
parent 26a24889e6
commit 6541b65834
5 changed files with 37 additions and 21 deletions
@@ -8,6 +8,7 @@ master 만 · 단위 줄 바로 아래 차례(키보드) · project 에는 없
from __future__ import annotations
import json
import re
import shutil
import subprocess
from pathlib import Path
@@ -70,3 +71,18 @@ def test_text_column_pick_rows_blank():
assert _run()["blank"] == [
[True, False], [True, False], [True, False], [False, False], [False, False],
] # fmt: skip
def test_labor_row_shows_su_number():
"""마스터 일위대가 줄 = 그 열 일위대가번(SU) — 열의 옛 `일위대가` 칸(UA 키)은 안 읽음."""
ops = OPS.read_text(encoding="utf-8")
assert "REF_ROWS: readonly string[] = [KEY_PRICE, KEY_DRAWING, KEY_AREA]" in ops
render = (OPS.parent / "ui_template_sheet_render.ts").read_text(encoding="utf-8")
assert re.search(r"key === KEY_PRICE\s*\?\s*state\.laborLabel", render)
assert "col.일위대가" not in render
sheet = (OPS.parent / "ui_template_sheet.ts").read_text(encoding="utf-8")
assert "col.일위대가" not in sheet # 읽기 · 쓰기 · 조회 후 선택 모두 안 건드림
main = (ROOT / "M02_MasterTemplete" / "M02_MasterTemplete_UI_Main.ts").read_text(
encoding="utf-8"
)
assert 'laborLabel: (colId: string) => struct.numbers()[colId]?.일위대가번 ?? ""' in main