Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_3

This commit is contained in:
2026-11-15 18:31:03 +09:00
101 changed files with 447 additions and 32 deletions
@@ -137,6 +137,9 @@ COLS = {
}
COLS["한국은행환율"] = COLS["유가전력"]
ALIAS = "별칭" # 요소 줄 덧칸(815-2) — 열 한 벌 밖 · 있으면 빈 글 아님
OFF = (
"비활성" # 기계 줄 맨 위 칸(842-2) — 있으면 true 만 · 없음 = 켜짐 · 찾기 · 고르기 · 잇기에서 뺌
)
def _cols_of(row: dict) -> tuple:
@@ -300,6 +303,8 @@ def check_form(name: str, data: dict) -> list[str]:
out += _check_labor(where, row)
if ALIAS in row and not (isinstance(row[ALIAS], str) and row[ALIAS].strip()):
out.append(f"{where} · 「{ALIAS}」 이 빈 글 · 글 아님(빈 칸이면 칸을 두지 않음)")
if OFF in row and (row[OFF] is not True or data.get("그룹") != "기계"):
out.append(f"{where} · 「{OFF}」 는 기계 줄에만 true(켜짐이면 칸을 두지 않음)")
if cols and _cols_of(row) != cols:
out.append(f"{where} · 열이 한 벌이 아님 — 「{' · '.join(cols)}」")
if book == "자재품목" and row.get(mm.LOAD) not in mm.LOADS:
@@ -1,5 +1,6 @@
{
"키": "EQ000541",
"비활성": true,
"원문번호": "9010-0003",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000542",
"비활성": true,
"원문번호": "9010-0006",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000543",
"비활성": true,
"원문번호": "9010-0010",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000544",
"비활성": true,
"원문번호": "9010-0012",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000545",
"비활성": true,
"원문번호": "9010-0020",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000546",
"비활성": true,
"원문번호": "9010-0022",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000547",
"비활성": true,
"원문번호": "9010-0033",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000548",
"비활성": true,
"원문번호": "9010-0040",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000549",
"비활성": true,
"원문번호": "9010-0044",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000550",
"비활성": true,
"원문번호": "9010-0060",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000551",
"비활성": true,
"원문번호": "9010-0080",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000552",
"비활성": true,
"원문번호": "9010-0120",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000553",
"비활성": true,
"원문번호": "9010-0200",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000554",
"비활성": true,
"원문번호": "9020-0010",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000555",
"비활성": true,
"원문번호": "9020-0015",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000556",
"비활성": true,
"원문번호": "9020-0016",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000557",
"비활성": true,
"원문번호": "9020-0022",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000558",
"비활성": true,
"원문번호": "9020-0035",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000559",
"비활성": true,
"원문번호": "9020-0050",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000560",
"비활성": true,
"원문번호": "9020-0072",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000561",
"비활성": true,
"원문번호": "9020-0160",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000562",
"비활성": true,
"원문번호": "9020-0180",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000563",
"비활성": true,
"원문번호": "9020-0200",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000564",
"비활성": true,
"원문번호": "9030-0016",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000565",
"비활성": true,
"원문번호": "9030-0018",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000566",
"비활성": true,
"원문번호": "9030-0025",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000567",
"비활성": true,
"원문번호": "9030-0035",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000568",
"비활성": true,
"원문번호": "9030-0045",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000569",
"비활성": true,
"원문번호": "9030-0050",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000570",
"비활성": true,
"원문번호": "9030-0080",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000571",
"비활성": true,
"원문번호": "9030-0100",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000572",
"비활성": true,
"원문번호": "9030-0240",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000573",
"비활성": true,
"원문번호": "9040-0010",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000574",
"비활성": true,
"원문번호": "9040-0030",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000575",
"비활성": true,
"원문번호": "9040-0050",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000576",
"비활성": true,
"원문번호": "9040-0060",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000577",
"비활성": true,
"원문번호": "9040-0100",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000578",
"비활성": true,
"원문번호": "9040-0120",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000579",
"비활성": true,
"원문번호": "9040-0200",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000580",
"비활성": true,
"원문번호": "9040-0250",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000581",
"비활성": true,
"원문번호": "9040-0300",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000582",
"비활성": true,
"원문번호": "9040-0380",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000583",
"비활성": true,
"원문번호": "9040-0680",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000584",
"비활성": true,
"원문번호": "9050-0075",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000585",
"비활성": true,
"원문번호": "9050-0150",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000586",
"비활성": true,
"원문번호": "9050-0450",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000587",
"비활성": true,
"원문번호": "9050-0750",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000588",
"비활성": true,
"원문번호": "9050-0850",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000589",
"비활성": true,
"원문번호": "9060-0060",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000590",
"비활성": true,
"원문번호": "9060-0100",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000591",
"비활성": true,
"원문번호": "9060-0200",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000592",
"비활성": true,
"원문번호": "9060-0300",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000593",
"비활성": true,
"원문번호": "9060-0500",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000594",
"비활성": true,
"원문번호": "9060-0600",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000595",
"비활성": true,
"원문번호": "9070-0015",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000596",
"비활성": true,
"원문번호": "9070-0020",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000597",
"비활성": true,
"원문번호": "9080-0050",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000598",
"비활성": true,
"원문번호": "9080-0080",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000599",
"비활성": true,
"원문번호": "9080-0100",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000600",
"비활성": true,
"원문번호": "9080-0120",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000601",
"비활성": true,
"원문번호": "9080-0150",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000602",
"비활성": true,
"원문번호": "9080-0200",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000603",
"비활성": true,
"원문번호": "9080-0300",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000604",
"비활성": true,
"원문번호": "9080-0500",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000605",
"비활성": true,
"원문번호": "9080-0700",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000606",
"비활성": true,
"원문번호": "9080-1000",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000607",
"비활성": true,
"원문번호": "9080-1100",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000608",
"비활성": true,
"원문번호": "9080-1400",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000609",
"비활성": true,
"원문번호": "9080-1500",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000610",
"비활성": true,
"원문번호": "9080-1750",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000611",
"비활성": true,
"원문번호": "9080-2000",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000612",
"비활성": true,
"원문번호": "9080-3000",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000613",
"비활성": true,
"원문번호": "9090-0800",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000614",
"비활성": true,
"원문번호": "9090-1000",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000615",
"비활성": true,
"원문번호": "9090-1200",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000616",
"비활성": true,
"원문번호": "9090-1300",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000617",
"비활성": true,
"원문번호": "9090-1400",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000618",
"비활성": true,
"원문번호": "9090-1500",
"원문": "건설품셈",
"구분": "[90]해상장비",
@@ -1,5 +1,6 @@
{
"키": "EQ000619",
"비활성": true,
"원문번호": "9090-1600",
"원문": "건설품셈",
"구분": "[90]해상장비",