feat(B08): 갈래 이름 별칭 — 리핑암 ↔ 파쇄암을 인계본에 실음
- 우리 갈래는 「리핑암」인데 일위대가는 「파쇄암」으로 서 있어 도자 운반 금액이 이름만 못 이어 안 붙던 자리(≒30만원) - 근거: 품셈 10-11 f 표 「파쇄암 1/1.35」 = 10-12 [주]③ 환산계수 「암절취 1.35」 - ⚠ 갈래 이름 자체는 안 바꿈 — 흙깎기(FP-09-04)가 「리핑암」으로 서 있음 - 매핑에 `ground_aliases` 절 신설, 인계본에 `ground_class_aliases` 로 실음 - tmp/tests/test_b08_ground_alias.py 신설(4건) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -152,6 +152,10 @@ def build_handoff(
|
|||||||
# 갈래 세트 — 「연암」이 몇 갈래 중 하나인지 알아야 ④가 선다.
|
# 갈래 세트 — 「연암」이 몇 갈래 중 하나인지 알아야 ④가 선다.
|
||||||
"ground_class_set": ground_class_set,
|
"ground_class_set": ground_class_set,
|
||||||
"ground_classes": list(ground_classes or []),
|
"ground_classes": list(ground_classes or []),
|
||||||
|
# 갈래 이름 별칭 — 우리 「리핑암」을 일위대가가 「파쇄암」으로 부른다. 이름만 못 이어
|
||||||
|
# 도자 운반 금액이 안 붙던 자리라(2026-09-08 B09 매김) **인계본에 함께 싣는다.**
|
||||||
|
# ⚠ 갈래 이름 자체는 안 바꾼다 — 흙깎기(FP-09-04)가 「리핑암」으로 서 있다.
|
||||||
|
"ground_class_aliases": (table.ground_aliases or {}).get("aliases") or {},
|
||||||
"ground_methods": dict(methods),
|
"ground_methods": dict(methods),
|
||||||
# 시공법을 안 정해 공종을 못 고른 갈래 — 화면이 이 목록으로 안내를 띄운다.
|
# 시공법을 안 정해 공종을 못 고른 갈래 — 화면이 이 목록으로 안내를 띄운다.
|
||||||
"missing_method_classes": sorted(
|
"missing_method_classes": sorted(
|
||||||
|
|||||||
@@ -182,6 +182,9 @@ class WorkItemMapping:
|
|||||||
unit_conversion: dict[str, Any] = field(default_factory=dict)
|
unit_conversion: dict[str, Any] = field(default_factory=dict)
|
||||||
#: 배수관 — 관종별 공종·연장 키. 관 정본은 `pipe_points.json` 이다.
|
#: 배수관 — 관종별 공종·연장 키. 관 정본은 `pipe_points.json` 이다.
|
||||||
pipe: dict[str, Any] = field(default_factory=dict)
|
pipe: dict[str, Any] = field(default_factory=dict)
|
||||||
|
#: 갈래 이름 별칭 — 우리 「리핑암」 ↔ 일위대가 「파쇄암」처럼 **같은 것을 다른 이름**으로
|
||||||
|
#: 부르는 자리. ⚠ 갈래 이름 자체를 갈지 않는다(흙깎기 매핑이 그 이름으로 서 있다).
|
||||||
|
ground_aliases: dict[str, Any] = field(default_factory=dict)
|
||||||
|
|
||||||
def declared_units(self) -> dict[str, str]:
|
def declared_units(self) -> dict[str, str]:
|
||||||
"""공종코드 → **매핑이 원문에서 읽어 적은 밑수 단위**. 적힌 줄만 낸다.
|
"""공종코드 → **매핑이 원문에서 읽어 적은 밑수 단위**. 적힌 줄만 낸다.
|
||||||
@@ -249,6 +252,7 @@ def load_mapping(path: Path | None = None) -> WorkItemMapping:
|
|||||||
concrete_placing=payload.get("concrete_placing") or {},
|
concrete_placing=payload.get("concrete_placing") or {},
|
||||||
pipe=payload.get("pipe") or {},
|
pipe=payload.get("pipe") or {},
|
||||||
unit_conversion=(payload.get("composite") or {}).get("unit_conversion") or {},
|
unit_conversion=(payload.get("composite") or {}).get("unit_conversion") or {},
|
||||||
|
ground_aliases=payload.get("ground_aliases") or {},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -373,5 +373,17 @@
|
|||||||
"흄관 밑수 두 벌": "`FP-12-11-02` 는 밑수가 「1 m」와 「1 개소」 두 벌이다(표가 둘). B09 가 `#갈래` 로 두 표를 각각 세우므로 B08 은 `variant_value` 로 어느 쪽인지 보내면 된다.",
|
"흄관 밑수 두 벌": "`FP-12-11-02` 는 밑수가 「1 m」와 「1 개소」 두 벌이다(표가 둘). B09 가 `#갈래` 로 두 표를 각각 세우므로 B08 은 `variant_value` 로 어느 쪽인지 보내면 된다.",
|
||||||
"터파기·되메우기": "⚠ 관 부설과 터파기·되메우기가 각각 오면 **같은 굴착을 두 번 셀 수 있다**(B09 ㉡ 가드). 관 줄에는 지금 터파기를 붙이지 않는다."
|
"터파기·되메우기": "⚠ 관 부설과 터파기·되메우기가 각각 오면 **같은 굴착을 두 번 셀 수 있다**(B09 ㉡ 가드). 관 줄에는 지금 터파기를 붙이지 않는다."
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ground_aliases": {
|
||||||
|
"note": "우리 갈래 이름 ↔ 일위대가·품셈이 쓰는 다른 이름. **값을 바꾸지 않고 이름만 잇는다** — 갈래 이름을 갈아 버리면 흙깎기(FP-09-04 리핑암) 매핑이 어긋난다.",
|
||||||
|
"aliases": {
|
||||||
|
"리핑암": {
|
||||||
|
"names": [
|
||||||
|
"파쇄암",
|
||||||
|
"암절취"
|
||||||
|
],
|
||||||
|
"basis": "품셈 10-11 f 표가 「파쇄암 1/1.35」이고 10-12 [주]③ 환산계수가 「암절취 1.35」로 **같은 값**이다 ⇒ 암절취(리핑) = 파쇄암. 우리 일위대가에는 도자 운반이 「토사 1,711.9 · 파쇄암 3,911.3 · 발파암 4,708.1원/㎥」로 파쇄암 이름으로 서 있어, 이름만 못 이어 금액이 안 붙던 자리다(2026-09-08 데스크탑 보조 원문 대조)."
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user