knowledge(마스터): 추정 줄에 준용 직종 값 채움 · 출처는 근거 문서

- 상태 「추정」 아홉 줄 — 값·단위·일시간을 준용 직종 것으로 채움 · 출처 짧게(건설품셈 기계설비 13-06 · 제조노임 직종해설 · 엔산법 시행령 별표2 · 건설노임 명칭변경표 2010.1) · 비고는 공작기계공 「밀링원일 수 있음」 만 남김
- 시험사1급 준용 비파괴시험공 → 특급품질관리원
- 빌더 refill_estimated — 다시 지을 때마다 준용 직종에서 값 되채움
- check_master — 추정 줄 값 = 준용 직종 값 검사 · 출처 낱말에 엔산법
- 엔진 — 추정 줄은 제 값 · 호표 출처 「추정(준용: ○○)」

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
This commit is contained in:
2026-09-20 19:44:33 +09:00
co-authored by Claude Opus 5
parent ca34d9740f
commit 7a9bcac924
6 changed files with 53 additions and 22 deletions
+11 -2
View File
@@ -47,6 +47,7 @@ BOOKS = (
"조달청제비율",
"품셈재료",
"질의회신",
"엔산법",
"자체",
)
DIVISIONS = {
@@ -311,7 +312,7 @@ def _check_linked(where: str, row: dict) -> list[str]:
def check_links(whole: mf.Master) -> list[str]:
"""끊긴 키 — 품셈재료 연결 · 인력 준용이 가리키는 줄."""
"""끊긴 키 — 품셈재료 연결 · 인력 준용이 가리키는 줄 · 추정 줄 값 = 준용 직종 값."""
out = []
for key, row in whole.index.get("MP", {}).items():
link = row.get("연결")
@@ -320,8 +321,16 @@ def check_links(whole: mf.Master) -> list[str]:
for key, row in whole.index.get("LB", {}).items():
for col in ("준용",):
ref = row.get(col)
if ref not in (None, "") and str(ref) not in whole.index.get("LB", {}):
if ref in (None, ""):
continue
target = whole.index.get("LB", {}).get(str(ref))
if target is None:
out.append(f"{whole.label(key)} · {col}{ref}」 없는 인력 키")
elif row.get("상태") == "추정" and row.get("") != target.get(""):
out.append(
f"{whole.label(key)} · 추정 값 「{row.get('')}」 이"
f" 준용 「{target.get('이름')}」 값 「{target.get('')}」 과 다름"
)
return out