Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_7

This commit is contained in:
2026-10-31 14:45:08 +09:00
3 changed files with 60 additions and 1 deletions
+7 -1
View File
@@ -570,11 +570,17 @@ def collect(
def build(
project_root: str | Path, sheets: dict[str, Any], user: dict[str, Any] | None = None
) -> dict[str, Any]:
"""연결된 사본 전부(구조물 id 차례)의 산근 + 설계내역서 손 줄 로직(166-2 · 뒤 번호)."""
"""연결된 사본 전부(구조물 id 차례 → 설계내역서 서고 사본 · 702-3)의 산근 +
설계내역서 손 줄 로직(166-2 · 뒤 번호) — 차례 = `Labor_Source.daega_inputs`."""
from B09_Estimation.B09_Estimation_Bill_Library import copies
base = structures_dir(project_root)
entries = [
(owner, base / linked["폴더"])
for owner, linked in sorted(linked_snapshots(project_root).items())
if "일위대가" in linked.get("부분", [])
]
entries += [
(f"서고 {(m.get('원본') or {}).get('name') or f.name}", f) for f, m in copies(project_root)
]
return collect(entries, sheets, hand_sources(user))
@@ -1009,3 +1009,11 @@ CPU는 더늘리기는 힘들어보이고 GPU 사용을 위해 부품사용에
## 요구 510 (10-31 · 사용자)
랩탑의 저전력코어를 더사용하면? 어떻게 되는거야? / 6개를 사용하면 CPU 사용량은? / 위 내용 확인했음. 6개로 가도 문제 없어보임.
## 요구 511 (10-31 · 사용자)
저전력 코어는 그냥 두는게 좋겠어. 사용에 큰 문제가 없네. 이제부터 한시간에 한번 전체 계산해야하는 총량 대비 진행된 계산량을 보여줘.테이블하나로 표현하고 다른 미사여구는 필요없음.
## 요구 512 (10-31 · 사용자)
하는 동안에 나와대화해보자. 브이월드나 공공데이터포털에 정보가 있을것같은데.임상도라고 알아?
@@ -0,0 +1,45 @@
"""702-3 B09 단가연결 즉시 금액 · [저장] 단추 · 서고 사본 산근.
- 서고 사본(단가연결로 들여온 사전조합)의 단가산출 줄 = 산근 목록에 듦 · 대가 블록 단가 채움
(옛 흠 — 산근이 구조물 사본만 훑어 서고 사본 산근 0 · 대가 빈칸)
- 셈 미리보기 길(`POST …/estimation/calc`) = 화면 캐시로 서버 셈 · 저장 안 함 · 로직 연결 줄 금액
- 화면 — 연결 즉시 뒤에서 셈(차례 번호 · 옛 요청 끊기) · [저장] 단추 · 옮길 때 물음
임시 층(견본 마스터 · 임시 storage) · 실제 마스터 · 프로젝트는 안 씀.
"""
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
if str(ROOT) not in sys.path:
sys.path.insert(0, str(ROOT))
from B09_Estimation import B09_Estimation_Prices as prices # noqa: E402
from B09_Estimation import B09_Estimation_Sangeun as sangeun # noqa: E402
from B09_Estimation.B09_Estimation_Calc_Base import compute_base # noqa: E402
from B09_Estimation.B09_Estimation_Calc_Labor import compute_labor # noqa: E402
from resources.tester.test_204_2_b09_bill_library import ( # noqa: E402, F401
daega_inputs,
library,
linked_resource_keys,
world,
)
B09 = ROOT / "B09_Estimation"
def test_서고_사본_산근_목록에_듦_대가_단가_채움(world):
root = world["root"]
folder = library.import_copy(root, "precombo", "system", None, world["key"])["폴더"]
daega = daega_inputs(root)
block = next(b for b in daega["blocks"] if b["id"] == daega["libs"][folder])
wanted = [ln["key"] for ln in block["lines"] if ln["kind"] == "sangeun"]
base = compute_base(prices.build_inputs(None, linked_resource_keys(root)), {})
sg = sangeun.build(root, base)
assert [r["key"] for r in sg["sg_list"]] == wanted # 둘 다 산근 · 블록 줄 키 그대로
assert all(r["sum"] for r in sg["sg_list"])
assert sg["sg_list"][0]["uses"] == ["서고 서고 조합"]
by_key = {r["key"]: r for r in sg["sg_list"]}
labor = compute_labor(daega, {**base, "gaps": []}, by_key)
row = next(r for r in labor["daega"] if r["key"] == block["id"])
assert row["sum"] and not row.get("blank")