feat(M02): 일위대가 · 면적산출 함께 가져오기 길 (43-9a)
- copy 길 pair=true — 같은 원본 열의 면적산출(시트 · 알약 연결) + 일위대가(담은로직 · 입력값 · 수량 · 자재) 함께 덮어씀 · 도면 그대로 - 면적 먼저(일위대가 계산값이 새 칸 값 읽음) · 원본 면적 없음 · 실무문서 = 일위대가만 - 권한 · 남의 층 감사 기록은 기존 _root 그대로 - 화면 함수 copyLaborAreaFrom(열, 원본, from) — 카드 잇기는 43-9b - 새 항목 칸 셋 자동 생성은 기존 집계표 저장 길 확인 · 시험 test_m02_pair_copy Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
This commit is contained in:
@@ -397,6 +397,25 @@ def copy_from(
|
||||
return info
|
||||
|
||||
|
||||
def copy_pair(
|
||||
column: str,
|
||||
source: str,
|
||||
source_root: Path | None = None,
|
||||
labor_body: dict[str, Any] | None = None,
|
||||
) -> dict[str, Any]:
|
||||
"""일위대가 ↔ 면적산출 함께 가져오기(43-9a) — 같은 원본 열의 면적산출(시트 · 알약 `연결`)과
|
||||
일위대가(담은로직 · 입력값 · 수량 · 자재)로 둘 다 덮어씀 · 도면은 안 건드림 ·
|
||||
원본에 면적산출이 없으면(실무문서 `labor_body` 포함) 일위대가만 · 면적 먼저(일위대가 계산값이
|
||||
새 면적 칸 값을 읽음 · 면적 계산이 막히면 일위대가도 안 씀)."""
|
||||
with at(source_root or root()):
|
||||
has_area = labor_body is None and _path("area", source).is_file()
|
||||
out: dict[str, Any] = {}
|
||||
if has_area:
|
||||
out["area"] = copy_from("area", column, source, source_root)
|
||||
out["labor"] = copy_from("labor", column, source, source_root, labor_body)
|
||||
return out
|
||||
|
||||
|
||||
def prune_removed_structures() -> list[str]:
|
||||
"""집계표에서 지운 열(또는 구조물이 아니게 된 열)의 세 파일을 같이 지움 —
|
||||
번호는 비워 둠(다른 열 번호를 안 당김) · 옛 `inputs/` 는 안 건드림."""
|
||||
|
||||
Reference in New Issue
Block a user