auto: 2026-09-02 16:48 (EOMSANGDON-HOME)
This commit is contained in:
@@ -40,6 +40,7 @@ from B07_DesignDetail.B07_DesignDetail_Engine_Cad_Sheet import (
|
||||
from B07_DesignDetail.B07_DesignDetail_Engine_Cad_Table import (
|
||||
QUANTITY_VALUE_KEYS,
|
||||
)
|
||||
from B07_DesignDetail.B07_DesignDetail_Engine_Template import add_title_fields
|
||||
from B07_DesignDetail.B07_DesignDetail_Schema import (
|
||||
DesignDrawingItem,
|
||||
)
|
||||
@@ -417,9 +418,29 @@ def _drawing_list(
|
||||
# 목록의 절반이 눌리지 않는 회색 버튼이면 고장난 것처럼 보인다.
|
||||
for drawing_id, label in BLANK_DRAWINGS:
|
||||
drawings.append(DesignDrawingItem(id=drawing_id, kind="blank", label=label))
|
||||
_store_drawing_numbers(project_root, drawings)
|
||||
return drawings
|
||||
|
||||
|
||||
def _store_drawing_numbers(project_root: Path, drawings: list[DesignDrawingItem]) -> None:
|
||||
"""도면번호(목록 순번)를 manifest 에 적어 둔다.
|
||||
|
||||
단건 조회는 목록 순서를 모른다 — 알려면 횡단 장 계획을 다시 계산해야 하고, 그것을 도면
|
||||
열 때마다 하면 비싸다. 목록은 화면에 들어올 때 늘 먼저 뜨므로, 그때 매긴 번호를 적어
|
||||
두고 단건 조회는 그것을 읽는다. 목록이 바뀌면 다음 조회에서 다시 적힌다.
|
||||
"""
|
||||
manifest = _read_manifest(project_root)
|
||||
entries = manifest["drawings"]
|
||||
changed = False
|
||||
for number, item in enumerate(drawings, start=1):
|
||||
entry = entries.setdefault(item.id, {})
|
||||
if entry.get("number") != number:
|
||||
entry["number"] = number
|
||||
changed = True
|
||||
if changed:
|
||||
_write_manifest(project_root, manifest)
|
||||
|
||||
|
||||
def _cross_sheet_plan(
|
||||
project_root: Path,
|
||||
longitudinal_path: Path,
|
||||
@@ -590,6 +611,9 @@ def _read_drawing(
|
||||
stored_design(없으면 기본값)에서 만든다.
|
||||
"""
|
||||
manifest_entry = _read_manifest(project_root)["drawings"].get(drawing_id, {})
|
||||
number = manifest_entry.get("number")
|
||||
if isinstance(number, int):
|
||||
add_title_fields({"도면번호": str(number)})
|
||||
saved_path = _design_root(project_root) / "drawings" / f"{drawing_id}.json"
|
||||
if manifest_entry.get("confirmed") and saved_path.is_file():
|
||||
saved = _read_json(saved_path)
|
||||
|
||||
Reference in New Issue
Block a user