knowledge(유가전력): 전력 줄 두 줄로 줄임(사용자 확정) — 로직 「전력 계약종별」 고르기도 맞춤

재료_유가전력.json 전력 18줄 가운데 두 줄만 남김: ① 주택용 저압 전력량요금
120.0원/kWh(처음 200kWh까지, 옛 키 MO000058 그대로) ② 일반용(갑)Ⅰ 저압 전력량요금
한 줄(여름 132.4·봄가을 91.9·겨울 119.0 세 계절 단순평균 114.4원/kWh, 새 키
MO000073) — 비고에 계절 평균 값을 남김. 기본요금·최저요금·산업용(갑)Ⅰ·임시전력(갑)
16줄은 마스터에서 뺌(md 원문에는 그대로) — _키대장.json 「폐기」로 옮김(build 스크립트가
다시 돌아도 같은 결과, 번호 재사용 없음).

로직_건설품셈_13장_플랜트설비공사.json의 「전력 계약종별」 입력 고르기 8곳 모두
["주택용 저압", "일반용(갑)Ⅰ 저압", "산업용(갑)Ⅰ 저압"] → 두 가지로 맞춤(산업용 뺌).

품셈재료 「전력」(MP000358) 연결은 {"이름": "전력량요금", "계약종별": "입력"} 구조라
바뀐 줄에도 그대로 이어짐 — master_material.py 코드 변경 불요(구분·상세구분·이름
앞머리로 찾는 방식이라 데이터만 바뀌면 됨).

검증: check_master 틀·로직 0건(전체) · test_masterdata_check·test_m01_api 72건 전부
통과(test_전력은_계약종별로_고름이 MO000058.값=120 그대로 확인). 계산 결과 전후 동일.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WaS48Nvs26o3aFUpcfJxVv
This commit is contained in:
2026-09-20 20:17:57 +09:00
co-authored by Claude Sonnet 5
parent 4b1eeec524
commit e013168b40
4 changed files with 34 additions and 145 deletions
@@ -5,7 +5,9 @@
(`master_keys.issue`). 휘발유·경유 36줄은 옛 판(전국평균 2026-08-14 · 시도별 2026-09-09) 값을
그대로 지님 — 여기서 새로 안 받음(로직 계산 결과가 이 작업 전후로 갈리지 않게). 새로 받는 것은
① 실내등유(C004, `유가_오피넷/` 최신 전국평균·시도별) ② 전력(한전 전기요금표 별표1(C),
`전기요금_한국전력/20250101/`, 저압 위주 주요 계약종별만 — 나머지는 md 원문만 참조).
`전기요금_한국전력/20250101/`). 전력은 사용자 확정으로 전력량요금 두 줄만(주택용 저압 ·
일반용(갑)Ⅰ 저압 계절 평균) — 기본요금·최저요금·산업용·임시전력 등은 md 원문만 참조, 옛
키는 _키대장.json 「폐기」로 옮김(다시 빌드해도 같은 결과).
쓰기: ./venv/Scripts/python.exe resources/master_data/scripts/build_재료_유가전력.py
"""
@@ -104,100 +106,18 @@ def 실내등유_rows(national: Path, sido: Path) -> list[dict]:
POWER_SOURCE = "유가전력 한전 전기요금표 2025-01-01"
# 별표1(C) 저압 위주 주요 계약종별만(원문 § 1.가 · 2.가(1) · 2.다(1) · 6.가) — 그 밖은 md 참조.
# 사용자 확정 — 전력량요금 두 줄만(2026-09-20). 기본요금·최저요금·산업용·임시전력 등
# 나머지 계약종별은 md 원문(전기요금_한국전력/20250101/)만 참조 · 옛 키는 대장 「폐기」.
POWER_ROWS = [
# 주택용 저압(원문 1.가)
("주택용저압:기본_200이하", "주택용 저압", "기본요금(200kWh 이하)", "원/호", 910, None),
("주택용저압:기본_201~400", "주택용 저압", "기본요금(201~400kWh)", "원/호", 1600, None),
("주택용저압:기본_400초과", "주택용 저압", "기본요금(400kWh 초과)", "원/호", 7300, None),
("주택용저압:전력량_처음200", "주택용 저압", "전력량요금", "원/kWh", 120.0, "처음 200kWh까지"),
(
"주택용저압:전력량_처음200",
"주택용 저압",
"전력량요금(처음 200kWh까지)",
"원/kWh",
120.0,
None,
),
(
"주택용저압:전력량_다음200",
"주택용 저압",
"전력량요금(다음 200kWh까지)",
"원/kWh",
214.6,
None,
),
("주택용저압:전력량_400초과", "주택용 저압", "전력량요금(400kWh 초과)", "원/kWh", 307.3, None),
("주택용저압:월간최저요금", "주택용 저압", "월간 최저요금", "원/월", 1000, None),
# 일반용(갑)Ⅰ 저압(원문 2.가(1))
("일반용갑I저압:기본", "일반용(갑) 저압", "기본요금", "원/kW", 6160, None),
(
"일반용갑I저압:전력량_여름철",
"일반용갑I저압:전력량_평균",
"일반용(갑) 저압",
"전력량요금(여름철)",
"원/kWh",
132.4,
None,
),
(
"일반용갑I저압:전력량_봄가을철",
"일반용(갑) 저압",
"전력량요금(봄·가을철)",
"원/kWh",
91.9,
None,
),
(
"일반용갑I저압:전력량_겨울철",
"일반용(갑) 저압",
"전력량요금(겨울철)",
"원/kWh",
119.0,
None,
),
# 산업용(갑)Ⅰ 저압(원문 2.다(1))
("산업용갑I저압:기본", "산업용(갑) 저압", "기본요금", "원/kW", 5550, None),
(
"산업용갑I저압:전력량_여름철",
"산업용(갑) 저압",
"전력량요금(여름철)",
"원/kWh",
107.7,
None,
),
(
"산업용갑I저압:전력량_봄가을철",
"산업용(갑) 저압",
"전력량요금(봄·가을철)",
"원/kWh",
85.9,
None,
),
(
"산업용갑I저압:전력량_겨울철",
"산업용(갑) 저압",
"전력량요금(겨울철)",
"원/kWh",
106.0,
None,
),
# 임시전력(갑)(원문 6.가) — 자체 요율 없이 주택용전력 요금을 그대로 적용
(
"임시전력갑:기본요금적용",
"임시전력(갑)",
"기본요금",
"-",
None,
"주택용 저압 요금 그대로 적용(원문 6.가.(1))",
),
(
"임시전력갑:전력량요금적용",
"임시전력(갑)",
"전력량요금",
"-",
None,
"주택용 저압 요금 그대로 적용(원문 6.가.(2))",
"원/kWh",
114.4,
"계절 평균: 여름 132.4 · 봄가을 91.9 · 겨울 119.0",
),
("임시전력갑:월간최저요금", "임시전력(갑)", "월간 최저요금", "원/월", 1000, None),
]
@@ -229,6 +149,15 @@ def main() -> None:
book = mk.load_book()
file = OUT.name
new_numbers = {r["원문번호"] for r in rows}
retired = book.setdefault("폐기", {})
for key in [
k
for k, v in book[""].items()
if k[:2] == "MO" and v.get("파일") == file and v["원문번호"] not in new_numbers
]:
retired[key] = book[""].pop(key)
out_rows = []
for r in rows:
key = mk.issue(book, "MO", r["원문번호"], file)
@@ -287,7 +216,7 @@ def main() -> None:
"규격 = 기준일(유류: 수집일 · 전력: 시행일) · 구분 = 유류/전력 · 상세구분 = 유류(지역 이름)·전력(계약종별)",
"휘발유·경유는 옛 판(전국평균 2026-08-14 · 시도별 2026-09-09) 값 그대로 — 이번엔 실내등유만 새로 받음(로직 계산 결과가 갈리지 않게). 다음에 유류 전체를 갱신할 땐 이 셋을 한 수집일로 맞출 것.",
"전력비 계상 기준 조문 없음 — 계약예규 「예정가격작성기준」 §19③1·§34③1, 건설품셈 1-5-2호, 산림품셈 1-7-2호 모두 「전력비는 실비를 계상」만 정하고 특정 계약종별 지정 없음.",
"전력 — 별표1(C) 저압 위주 주요 계약종별(주택용·일반용(갑)Ⅰ·산업용(갑)Ⅰ·임시전력(갑))만 올림. 고압·을종·교육용·농사용·가로등 등 나머지 계약종별과 슈퍼유저요금·하계 특례는 md 원문(전기요금_한국전력/20250101/)만 참조.",
"전력 — 사용자 확정(2026-09-20)으로 두 줄만 남김: 주택용 저압 전력량요금(처음 200kWh까지, 120.0원/kWh) · 일반용(갑)Ⅰ 저압 전력량요금(여름·봄가을·겨울 단순평균, 114.4원/kWh). 기본요금·최저요금·산업용·임시전력 등 나머지 계약종별은 md 원문(전기요금_한국전력/20250101/)만 참조 — 옛 키는 _키대장.json 「폐기」로 옮김.",
],
}
dump_master(OUT, head, out_rows)