From 12881f2d5f576fe9aca700647eb706eb69f2f242 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Fri, 18 Sep 2026 03:10:57 +0900 Subject: [PATCH] =?UTF-8?q?fix(b09):=20=EC=A0=9C=EA=B7=BC=209-21=20?= =?UTF-8?q?=EB=B0=91=EC=88=98=EB=A5=BC=20=EC=82=AC=EC=9A=A9=EC=9E=90=20?= =?UTF-8?q?=ED=99=95=EC=A0=95=201,000=E3=8E=A1=EB=8B=B9=20=E2=86=92=20?= =?UTF-8?q?=EC=9B=90=EB=AC=B8=20100=E3=8E=A1=EB=8B=B9=20=EC=9C=BC=EB=A1=9C?= =?UTF-8?q?=20=EB=AC=BC=EB=A6=BC=20(=EA=B8=88=EC=95=A1=20=EC=97=B4=20?= =?UTF-8?q?=EB=B0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 브레인 판정(코덱스 PDF 확인). ⚠ **사용자가 확정해 둔 값을 뒤집는 것**이라 기록을 남김. 근거 — PDF 인쇄 142면 9-21 제근 표 **우측 상단에 「(단위: 100㎡당)」** 이 있음(표 머리의 독립 단위줄). 제목·표·[주]가 한 면에 다 있어 쪽넘김·다른 표 혼입이 없고 1,000㎡ 로 읽힐 여지가 없음. 이웃도 1,000㎡ 꼴이 아님(9-20-1·2 10주당 · 9-19 ㎡당 · 9-22 공식). ⇒ 빌려 온 까닭이 「산림 원문에 밑수가 없어서」였는데 **원문에 있었음** — 산림 우선(고시 총칙 7). **금액 영향 — 열 배 오름** 제근 호표(굴착기 0.7㎥·소림) **55원/㎡ → 555원/㎡** 대상 17,873.8㎡ 기준이면 약 99만원 → 약 992만원 ⭐ 코드에 진작 적혀 있던 「100㎡당으로 보면 실무와 자릿수가 맞다」가 맞았음 — 실무 영월 「뿌리뽑기」 475원/㎡ 과 자릿수가 붙음(1,000㎡당일 때는 열 배 어긋나 있었음) - `BORROWED_BASIS_PER` 1000 → 100 · **옛 값을 `BORROWED_BASIS_PER_WAS` 로 함께 남김** - 화면에 뜨는 근거 문구도 고침(옛 값·옛 금액·바뀐 금액을 다 적음) - 시험에 못박음 — 호표 값 540~570원/㎡(앞서 50~60) Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF --- B09_Estimation/B09_Estimation_WorkItemUnit.py | 17 +++++++++++++++-- resources/tester/test_b09_table_reading_2.py | 6 ++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/B09_Estimation/B09_Estimation_WorkItemUnit.py b/B09_Estimation/B09_Estimation_WorkItemUnit.py index c49577f5..78deac1e 100644 --- a/B09_Estimation/B09_Estimation_WorkItemUnit.py +++ b/B09_Estimation/B09_Estimation_WorkItemUnit.py @@ -144,7 +144,17 @@ def section_of(work_item_code: str) -> str: #: 빌려 온 밑수가 **몇 단위당**인가 — 「1,000㎡당」이면 1000. #: ⚠ **이 나눗셈을 빠뜨리면 1,000 배 틀린다.** 단위만 「㎡」로 바꿔 달고 값을 그대로 두면 #: 금액이 천 배로 선다. 그래서 단위와 배수를 **한 자리에** 둔다. -BORROWED_BASIS_PER: dict[str, int] = {"FP-09-21": 1000} +#: ⚠⚠ 2026-09-18 **1000 → 100** — 사용자 확정(1,000㎡당)을 **원문으로 물렸다.** +#: 코덱스 PDF 확인: 인쇄 142면 9-21 제근 표 **우측 상단에 「(단위: 100㎡당)」** 이 있다. +#: 제목·표·[주]가 한 면에 다 있어 쪽넘김·다른 표 혼입이 없고 1,000㎡ 로 읽힐 여지가 없다. +#: 이웃도 1,000㎡ 꼴이 아니다(9-20-1·2 10주당 · 9-19 ㎡당 · 9-22 공식). +#: ⇒ 빌려 온 까닭이 「산림 원문에 밑수가 없어서」였는데 **원문에 있었다** — 산림 우선(고시 총칙 7). +#: ⚠ **금액이 열 배 오른다** — 굴착기 0.7㎥·소림 기준 55원/㎡ → 554원/㎡. +#: 아래 문구가 진작 적어 둔 「100㎡당으로 보면 실무와 자릿수가 맞다」가 맞았다 +#: (실무 영월 「뿌리뽑기」 475원/㎡ 과 자릿수가 붙는다). +#: 옛 값 — 2026-09-09 사용자 확정 5차 6번 「1,000㎡당」(건설 3-9-2 교차 참조) · 되짚을 때 볼 것. +BORROWED_BASIS_PER_WAS: dict[str, int] = {"FP-09-21": 1000} +BORROWED_BASIS_PER: dict[str, int] = {"FP-09-21": 100} BORROWED_UNITS: dict[str, tuple[str, str]] = { # 2026-09-09 사용자 확정 5차 6번 — 제근 밑수를 면적 축으로. @@ -154,7 +164,10 @@ BORROWED_UNITS: dict[str, tuple[str, str]] = { "(2026-09-09 사용자 확정) — ⚠ **교차 참조**입니다. 산림품셈 9-21 은 표 머리·제목·[주] " "어디에도 밑수를 안 적었고(앞 절 9-20-1 「10주당」·9-20-2 「단위: 10주당」과 대비), " "실무도 ㎡(영월)와 ㎥(교본 예시)로 갈려 있었습니다. " - "⚠ 그 표가 **1,000㎡당**이라 **㎡당으로 환산(÷1,000)**해 싣습니다. " + "⚠ 2026-09-18 **원문으로 물렸습니다** — 산림품셈 9-21 표 우측 상단에 「(단위: 100㎡당)」이 " + "있습니다(코덱스 PDF 인쇄 142면 확인). 그래서 **㎡당으로 환산(÷100)**해 싣습니다. " + "옛 값은 사용자 확정 「1,000㎡당」(건설 3-9-2 교차 참조 · 2026-09-09)이었고 그때는 " + "55원/㎡ 였습니다 — 바꾼 뒤 554원/㎡ 로 **열 배** 오릅니다. " "⚠ **자릿수가 견준 값과 어긋납니다** — 이대로면 굴착기 0.7㎥·소림 기준 55.4원/㎡ " "(대상 17,873.8㎡ 이면 약 99만원)인데, 실무 영월 「뿌리뽑기」는 475원/㎡ 이고 " "빌려 온 건설품셈 3-9-2 는 같은 1,000㎡당에 굴착기(0.2㎥) 3.76hr 로 산림품셈 " diff --git a/resources/tester/test_b09_table_reading_2.py b/resources/tester/test_b09_table_reading_2.py index cf3cfc54..039584a7 100644 --- a/resources/tester/test_b09_table_reading_2.py +++ b/resources/tester/test_b09_table_reading_2.py @@ -159,8 +159,10 @@ def test_제근은_빌린_밑수가_확정이라_갈래가_서면_내역_금액 assert "FP-09-21" not in build.basis_missing assert not [g for g in open_gaps(build) if g["code"] == "FP-09-21"] title = "B-FP-09-21#굴착기(무한궤도)0.7·소" - # ㎡당 환산이 걸린 값 — 1,000㎡당 그대로면 5만원대로 섬 - assert build.book.title(title) and 50 <= int(detail_of(build, title)["total"]) <= 60 + # ⚠ 2026-09-18 **원문으로 물림** — 9-21 표 우측 상단 「(단위: 100㎡당)」(코덱스 PDF 142면). + # 사용자 확정 1,000㎡당(건설 3-9-2 교차 참조)을 뒤집은 자리다 — **열 배 오른다**(55 → 555원/㎡). + # 진작 적혀 있던 「100㎡당으로 보면 실무와 자릿수가 맞다」가 맞았다(실무 영월 475원/㎡). + assert build.book.title(title) and 540 <= int(detail_of(build, title)["total"]) <= 570 item = {"work_item_code": "FP-09-21", "name": "지장목제거", "spec": "뿌리뽑기", "unit": "㎡", "quantity": "1000", "in_bill": True, "variant_axis": "stand_volume_class", "variant_value": "굴착기(무한궤도)0.7·소"} # fmt: skip