feat(733-2): 사람 길 만들 때 같은 내용 409 물음 · 복사 딸림 재사용
- 새 M02_Library_Ask — 같은 층 같은 내용(733-1 지문) = 409 {같은것: [{키, 이름, 층, 주인}], 까닭} · 몸 새로 = 그래도 새로 · 씀 = 그 키(새 문서 0 · 같은 내용 아닌 키 = 다시 409)
- 길 = 새로 만들기(빈 문서 · 같은 층 복사 = 안 물음) · [단가산출로 저장] from-line · B09 내 자료집(같은이름 409 와 한 몸 · 하위 호표 지문 = 굳힌 문서) · 공유 요청 승인(일위대가 · 씀 = 사본 키) · 실무 호표 [구조물 조합으로](구조물 조합 지문 = 줄 수량 넣음)
- 복사 딸림 carry — 받는 층에 같은 원본 + 같은 내용 사본이 있으면 그 키 재사용(refs.copied_from) · B09 하위 호표 재사용 목록 = 실무자료 한정 → 모든 사본 원본
- 낡은 시험 고침: test_703 자료집 같은 이름 물음 — 새 이름이라도 같은 내용이면 409(정함 3장 3) → new=True 로 새로 · 씀 확인 더함
- 새 시험 test_733_2_library_ask(새로 · from-line · 승인 · carry) · test_705_2 구조물 조합으로 409
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,6 +18,7 @@ from M02_MasterTemplete import M02_Hopyo_Build as hb
|
||||
from M02_MasterTemplete import M02_Hopyo_Store as hopyo_store
|
||||
from M02_MasterTemplete import M02_Item_Personal as personal
|
||||
from M02_MasterTemplete import M02_Labor_Spec as spec
|
||||
from M02_MasterTemplete import M02_Library_Ask as ask
|
||||
from M02_MasterTemplete import M02_MasterTemplete_Store as store
|
||||
|
||||
PATH = ["실무자료"]
|
||||
@@ -96,8 +97,12 @@ def make_item(
|
||||
bundle: list[int] | None = None,
|
||||
name: str | None = None,
|
||||
who: Any = None,
|
||||
new: bool = False,
|
||||
use: str | None = None,
|
||||
) -> dict[str, Any]:
|
||||
"""[구조물 조합으로] → `{key, 열, 이름, 줄수, 열수, 빠진줄}` — `bundle` = 규격 열로 묶을 호표 번(연 호표 빼고)."""
|
||||
"""[구조물 조합으로] → `{key, 열, 이름, 줄수, 열수, 빠진줄}` —
|
||||
`bundle` = 규격 열로 묶을 호표 번(연 호표 빼고) ·
|
||||
이 층 같은 내용 항목 = 409(733-2) → `new` 그래도 새로 · `use` 그 항목(`씀` · 새로 안 만듦)."""
|
||||
main = _doc(folder, source, key, no, lines, whole, who)
|
||||
doc, hopyo = main["문서"], main["호표"]
|
||||
title = (name or "").strip() or doc["이름"]
|
||||
@@ -130,6 +135,14 @@ def make_item(
|
||||
"기본": found[int(no)]["열"],
|
||||
"수량": qty,
|
||||
}
|
||||
count = {
|
||||
"줄수": len(doc["담은로직"]) + len(doc["자재"]),
|
||||
"열수": len(cols_doc["열"]) if cols_doc else 1,
|
||||
}
|
||||
want = {"담은로직": doc["담은로직"], "자재": doc["자재"], "단위": doc.get("단위")}
|
||||
reuse = ask.ask_item(folder, {**want, "규격": cols_doc}, new, use)
|
||||
if reuse:
|
||||
return {**reuse, **count, "빠진줄": main["빠진줄"]}
|
||||
with store.at(folder):
|
||||
made = personal.create_item(folder, PATH, title, doc.get("단위"))
|
||||
have = store.read("labor", made["열"])
|
||||
@@ -138,8 +151,4 @@ def make_item(
|
||||
if cols_doc:
|
||||
body["규격"] = cols_doc
|
||||
store.write("labor", made["열"], have["판"], body)
|
||||
count = {
|
||||
"줄수": len(doc["담은로직"]) + len(doc["자재"]),
|
||||
"열수": len(cols_doc["열"]) if cols_doc else 1,
|
||||
}
|
||||
return {**made, **count, "빠진줄": main["빠진줄"]}
|
||||
|
||||
Reference in New Issue
Block a user