feat(M02): 항목 하나 비우기 길 — 도면 · 일위대가 · 면적산출을 새 열과 같은 빈 문서로 (40-4)

- POST /api/m02/layers/{층}/{structures|labor|area}/{열}/clear(owner) · 번호 · 열 그대로 · 받는 층 쓰기 권한(_root)
- Store.clear · 면적을 비우면 그 열 일위대가 계산값 다시 · 장부 맞춤
- 화면 함수 Api_Fetch clearPart

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
This commit is contained in:
2026-10-04 22:21:23 +09:00
co-authored by Claude Opus 5.5
parent 7cdc7b08da
commit 00cb6db66f
4 changed files with 176 additions and 0 deletions
@@ -351,6 +351,21 @@ def create_structure(column: str) -> dict[str, Any]:
return read("structure", column)
def clear(kind: str, column: str) -> dict[str, Any]:
"""항목 하나 비우기(40-4) — 새 열 만들 때와 같은 빈 문서로 다시 씀 · 번호 · 열 그대로 ·
없는 파일은 404 · 면적산출을 비우면 그 열 일위대가 계산값도 다시 · 장부 맞춤."""
if kind not in _KEY:
raise StoreError(404, f"없는 종류 「{kind}」")
number = read(kind, column)["문서"].get(_KEY[kind])
with _LOCK:
atomic_write_json(_path(kind, column), {**_blank(kind, column), _KEY[kind]: number})
info = _info(kind, _path(kind, column))
if kind == "area":
_refresh_labor(column)
sync_combos()
return info
def copy_from(
kind: str,
column: str,