From 1599014504867f301524e65f831e2298ea976c98 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sat, 31 Oct 2026 13:33:49 +0900 Subject: [PATCH 1/3] =?UTF-8?q?fix(B09):=20=EC=84=9C=EA=B3=A0=20=EC=82=AC?= =?UTF-8?q?=EB=B3=B8=20=EC=82=B0=EA=B7=BC=20=3D=20=EC=82=B0=EA=B7=BC=20?= =?UTF-8?q?=EB=AA=A9=EB=A1=9D=EC=97=90=20=EB=93=A6=20=C2=B7=20=EB=8C=80?= =?UTF-8?q?=EA=B0=80=20=EB=8B=A8=EA=B0=80=20=EC=B1=84=EC=9B=80(PLAN=20702-?= =?UTF-8?q?3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 단가연결로 들여온 서고 사본(구조물조합 · 사전조합)의 단가산출 줄이 산근 목록에 안 들어 대가 블록 단가가 빈칸 — 산근 모음이 구조물 사본만 훑던 것 · 차례 = 대가 입력과 같게(구조물 → 서고 사본 → 수기 줄). 시험 test_702_3 서고 사본 산근 2 줄 · 대가 합 채움. Co-Authored-By: Claude Opus 5.5 --- B09_Estimation/B09_Estimation_Sangeun.py | 8 +++- .../tester/test_702_3_b09_estimation_live.py | 45 +++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 resources/tester/test_702_3_b09_estimation_live.py diff --git a/B09_Estimation/B09_Estimation_Sangeun.py b/B09_Estimation/B09_Estimation_Sangeun.py index 297f9de63..ac8be89fd 100644 --- a/B09_Estimation/B09_Estimation_Sangeun.py +++ b/B09_Estimation/B09_Estimation_Sangeun.py @@ -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)) diff --git a/resources/tester/test_702_3_b09_estimation_live.py b/resources/tester/test_702_3_b09_estimation_live.py new file mode 100644 index 000000000..26e235fcc --- /dev/null +++ b/resources/tester/test_702_3_b09_estimation_live.py @@ -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") From abe60c208e861e2f6b4115e726fa6071104a2bc9 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sat, 31 Oct 2026 13:45:56 +0900 Subject: [PATCH 2/3] =?UTF-8?q?knowledge(=EC=9A=94=EA=B5=AC):=20=EC=9A=94?= =?UTF-8?q?=EA=B5=AC=20511=20=EC=9B=90=EB=AC=B8=20=EA=B8=B0=EB=A1=9D=20?= =?UTF-8?q?=E2=80=94=20=EC=A0=80=EC=A0=84=EB=A0=A5=206=20=EC=9C=A0?= =?UTF-8?q?=EC=A7=80=20=C2=B7=20=ED=95=9C=20=EC=8B=9C=EA=B0=84=EB=A7=88?= =?UTF-8?q?=EB=8B=A4=20=EC=B4=9D=EB=9F=89=20=EB=8C=80=EB=B9=84=20=EC=A7=84?= =?UTF-8?q?=ED=96=89=20=ED=91=9C=20=ED=95=98=EB=82=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_015uTVHHDv583hbLQAFeBmd9 --- docs/raw/요구_1025/사용자요구_1025.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/raw/요구_1025/사용자요구_1025.md b/docs/raw/요구_1025/사용자요구_1025.md index 33e1bf0ce..b7798c3b9 100644 --- a/docs/raw/요구_1025/사용자요구_1025.md +++ b/docs/raw/요구_1025/사용자요구_1025.md @@ -1009,3 +1009,7 @@ CPU는 더늘리기는 힘들어보이고 GPU 사용을 위해 부품사용에 ## 요구 510 (10-31 · 사용자) 랩탑의 저전력코어를 더사용하면? 어떻게 되는거야? / 6개를 사용하면 CPU 사용량은? / 위 내용 확인했음. 6개로 가도 문제 없어보임. + +## 요구 511 (10-31 · 사용자) + +저전력 코어는 그냥 두는게 좋겠어. 사용에 큰 문제가 없네. 이제부터 한시간에 한번 전체 계산해야하는 총량 대비 진행된 계산량을 보여줘.테이블하나로 표현하고 다른 미사여구는 필요없음. From ac25855ae61a81340ed78ec2e3108d65b2512533 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sat, 31 Oct 2026 13:52:14 +0900 Subject: [PATCH 3/3] =?UTF-8?q?knowledge(=EC=9A=94=EA=B5=AC):=20=EC=9A=94?= =?UTF-8?q?=EA=B5=AC=20512=20=EC=9B=90=EB=AC=B8=20=EA=B8=B0=EB=A1=9D=20?= =?UTF-8?q?=E2=80=94=20=EC=9E=84=EC=83=81=EB=8F=84=20=EB=AC=BC=EC=9D=8C(?= =?UTF-8?q?=EB=B8=8C=EC=9D=B4=EC=9B=94=EB=93=9C=20=C2=B7=20=EA=B3=B5?= =?UTF-8?q?=EA=B3=B5=EB=8D=B0=EC=9D=B4=ED=84=B0=ED=8F=AC=ED=84=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_015uTVHHDv583hbLQAFeBmd9 --- docs/raw/요구_1025/사용자요구_1025.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/raw/요구_1025/사용자요구_1025.md b/docs/raw/요구_1025/사용자요구_1025.md index b7798c3b9..722e64430 100644 --- a/docs/raw/요구_1025/사용자요구_1025.md +++ b/docs/raw/요구_1025/사용자요구_1025.md @@ -1013,3 +1013,7 @@ CPU는 더늘리기는 힘들어보이고 GPU 사용을 위해 부품사용에 ## 요구 511 (10-31 · 사용자) 저전력 코어는 그냥 두는게 좋겠어. 사용에 큰 문제가 없네. 이제부터 한시간에 한번 전체 계산해야하는 총량 대비 진행된 계산량을 보여줘.테이블하나로 표현하고 다른 미사여구는 필요없음. + +## 요구 512 (10-31 · 사용자) + +하는 동안에 나와대화해보자. 브이월드나 공공데이터포털에 정보가 있을것같은데.임상도라고 알아?