feat(master_data): 노임 마스터화 — 원문 md 다섯 갈래 노임 · 준용대상 짝짓기·통합 · 미공표 산정 · ESTX 항목 비교
- 새 요소 파일(우리 md 에서만 · 판 2026-01-01): 엔지니어링노임 56 · 측량노임 20 · 건설사업관리노임 4 · SW노임 17 · 산림노임 2 — 빌더 build_인력_노임.py · 줄 수·값 md 기계 대조
- 준용대상 49 → 48: 측량중급기술자 옮김(로직 참조 8) · 원문 통합 목록 5 직종 통합 칸(목도 · 특수비계공 · 함석공 · 갱부 · 스레이트공) · 절단공 갈림 · 비슷한 이름 21 후보
- 건설노임 미공표 14 산정{값 · 근거 · 마지막공표} — 원문 회차 평균 그대로 이음 · 석조각공·드잡이공편수 다산소프트와 이음 계열 다름 비고 · 2026-09-01 적용분 확보됨 비고
- 엔진 차례 값 → 준용 → 통합 → 산정 · 호표 출처 · M01 준용 후보 7 노임 파일 · 통합·산정·후보 칸 읽기 전용
- ref/_비교_estx.md 10절: ESTX 378 줄 중 371 짝 · 짝 없는 직종 42 · 일괄 시험 계산 통과 1104 → 1115
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
This commit is contained in:
@@ -240,14 +240,23 @@ class Master:
|
||||
return row
|
||||
|
||||
def value(self, ref: str):
|
||||
"""요소 값 · 준용 이름 — 값이 비고 「준용」(같은 원문 열쇠 또는 `그룹:원문:열쇠`)이 있으면 그 요소 값."""
|
||||
"""요소 값 · 출처 글 — 값이 비면 준용(관리자가 고른 열쇠) → 통합(원문 통합 직종) → 산정(원문 4-라) 차례.
|
||||
준용·통합 = 같은 원문 열쇠 또는 `그룹:원문:열쇠`."""
|
||||
row = self.get(ref)
|
||||
alias = row.get("준용")
|
||||
if row.get("값") is not None or alias in (None, ""):
|
||||
if row.get("값") is not None:
|
||||
return row.get("값"), None
|
||||
alias = str(alias)
|
||||
target = self.get(alias if ":" in alias else ":".join(ref.split(":", 2)[:2] + [alias]))
|
||||
return target.get("값"), target.get("이름") or alias
|
||||
for col in ("준용", "통합"):
|
||||
alias = row.get(col)
|
||||
if alias not in (None, ""):
|
||||
alias = str(alias)
|
||||
target = self.get(
|
||||
alias if ":" in alias else ":".join(ref.split(":", 2)[:2] + [alias])
|
||||
)
|
||||
return target.get("값"), f"{col}: {target.get('이름') or alias}"
|
||||
guess = row.get("산정")
|
||||
if isinstance(guess, dict) and guess.get("값") is not None:
|
||||
return guess["값"], f"산정: 원문 4-라 · 마지막 공표 {guess.get('마지막공표')}"
|
||||
return None, None
|
||||
|
||||
def logic(self, ref: str) -> dict:
|
||||
return self.get(f"로직:{ref}")
|
||||
|
||||
Reference in New Issue
Block a user