knowledge(마스터): 전력을 재료_유가전력으로 연결 — 자재품목 전력 2줄 뺌
- 품셈재료 「전력」 연결 = {이름: 전력량요금, 계약종별: 입력} — 유가전력 전력 줄을 가리킴
- 전력 쓰는 로직 8 줄에 입력 「전력 계약종별」(주택용 저압 · 일반용(갑)Ⅰ 저압 · 산업용(갑)Ⅰ 저압) — 품셈·계약예규에 계약종별 규정 없어 기본값 두지 않음
- 임시전력(갑)은 주택용 저압 요금 그대로(요금표 6.가) — 따로 고르기에 두지 않음
- master_material: 자재품목 아닌 줄은 「값」 한 칸으로 읽고 계약종별 후보를 고름 · check_master 연결 모양·끊김 검사도 맞춤
- 자재품목 MT000006 · MT000007 삭제 → _키대장.json 「폐기」 · 빌더 DROP 에 더해 다시 만들어도 같음
- _틀.md 재료 절 · 시험 둘 고침(전력 계약종별 · 연결 낮은 값은 시멘트로)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
This commit is contained in:
@@ -300,8 +300,9 @@ def _check_linked(where: str, row: dict) -> list[str]:
|
||||
link = row.get("연결")
|
||||
if isinstance(link, dict) and (
|
||||
not link.get("이름")
|
||||
or set(link) - {"이름", "규격", "지역"}
|
||||
or set(link) - {"이름", "규격", "지역", "계약종별"}
|
||||
or link.get("지역") not in (None, "입력")
|
||||
or link.get("계약종별") not in (None, "입력")
|
||||
):
|
||||
out.append(f"{where} · 후보 조건 모양 「{link}」")
|
||||
elif link is not None and not isinstance(link, (str, dict)):
|
||||
@@ -314,8 +315,8 @@ def check_links(whole: mf.Master) -> list[str]:
|
||||
out = []
|
||||
for key, row in whole.index.get("MP", {}).items():
|
||||
link = row.get("연결")
|
||||
if isinstance(link, str) and link not in whole.index.get("MT", {}):
|
||||
out.append(f"{whole.label(key)} · 연결 「{link}」 이 자재품목에 없음")
|
||||
if isinstance(link, str) and link not in whole.index.get(link[:2], {}):
|
||||
out.append(f"{whole.label(key)} · 연결 「{link}」 이 자재품목·유가전력에 없음")
|
||||
for key, row in whole.index.get("LB", {}).items():
|
||||
for col in ("준용",):
|
||||
ref = row.get(col)
|
||||
|
||||
Reference in New Issue
Block a user