diff --git a/resources/master_data/scripts/check_master.py b/resources/master_data/scripts/check_master.py index 84224b7a..611d0d53 100644 --- a/resources/master_data/scripts/check_master.py +++ b/resources/master_data/scripts/check_master.py @@ -276,6 +276,19 @@ def check_logics(files: dict[str, dict], whole: mf.Master) -> list[str]: out += [f"{name} · {x}" for x in found] graph[f"{data.get('원문')}:{row.get('열쇠')}"] = calls out += [f"돌고 도는 참조 · {' → '.join(loop)}" for loop in mf.find_loops(graph)] + return out + duplicate_keys(files) + + +def duplicate_keys(files: dict[str, dict]) -> list[str]: + """같은 그룹·원문에 같은 열쇠 — 먼저 읽힌 파일 것만 찾기에 걸림""" + first, out = {}, [] + for name, data in files.items(): + rows = data.get("표") if data.get("그룹") in mf.TABLE_GROUPS else data.get("줄") + for row in rows or []: + ref = f"{data.get('그룹')}:{data.get('원문')}:{row.get('열쇠')}" + if ref in first and first[ref] != name: + out.append(f"{name} · 열쇠 겹침 「{ref}」 — {first[ref]} 에도 있음") + first.setdefault(ref, name) return out diff --git a/resources/master_data/계수_건설품셈_기계설비1장.json b/resources/master_data/계수_건설품셈_기계설비1장.json index 65d4f6da..3823bca3 100644 --- a/resources/master_data/계수_건설품셈_기계설비1장.json +++ b/resources/master_data/계수_건설품셈_기계설비1장.json @@ -4,7 +4,7 @@ "판": "2026", "표": [ { - "열쇠": "1-1-1 계수", + "열쇠": "1-1-1 강관 용접접합 계수", "이름": "강관 용접접합 계수", "기준": "인력품", "출처": "건설품셈 기계설비 1-1-1", @@ -38,7 +38,7 @@ ] }, { - "열쇠": "1-1-2 계수", + "열쇠": "1-1-2 강관 용접배관 계수", "이름": "강관 용접배관 계수", "기준": "본 품", "출처": "건설품셈 기계설비 1-1-2", @@ -80,7 +80,7 @@ ] }, { - "열쇠": "1-1-3 계수", + "열쇠": "1-1-3 강관 나사식 접합 및 배관 계수", "이름": "강관 나사식 접합 및 배관 계수", "기준": "본 품", "출처": "건설품셈 기계설비 1-1-3", @@ -122,7 +122,7 @@ ] }, { - "열쇠": "1-1-4 계수", + "열쇠": "1-1-4 강관 그루브조인트식 접합 및 배관 계수", "이름": "강관 그루브조인트식 접합 및 배관 계수", "기준": "본 품", "출처": "건설품셈 기계설비 1-1-4", @@ -164,7 +164,7 @@ ] }, { - "열쇠": "1-2-1 계수", + "열쇠": "1-2-1 동관 용접접합 계수", "이름": "동관 용접접합 계수", "기준": "인력품", "출처": "건설품셈 기계설비 1-2-1", @@ -194,7 +194,7 @@ ] }, { - "열쇠": "1-2-2 계수", + "열쇠": "1-2-2 동관 용접배관 계수", "이름": "동관 용접배관 계수", "기준": "인력품", "출처": "건설품셈 기계설비 1-2-2", @@ -236,7 +236,7 @@ ] }, { - "열쇠": "1-3-1 계수", + "열쇠": "1-3-1 스테인리스 강관 용접접합 계수", "이름": "스테인리스 강관 용접접합 계수", "기준": "본 품", "출처": "건설품셈 기계설비 1-3-1", @@ -266,7 +266,7 @@ ] }, { - "열쇠": "1-3-2 계수", + "열쇠": "1-3-2 스테인리스 강관 용접배관 계수", "이름": "스테인리스 강관 용접배관 계수", "기준": "본 품", "출처": "건설품셈 기계설비 1-3-2", @@ -308,7 +308,7 @@ ] }, { - "열쇠": "1-3-3 계수", + "열쇠": "1-3-3 스테인리스 강관 그루브조인트식 접합 및 배관 계수", "이름": "스테인리스 강관 그루브조인트식 접합 및 배관 계수", "기준": "본 품", "출처": "건설품셈 기계설비 1-3-3", @@ -350,7 +350,7 @@ ] }, { - "열쇠": "1-3-4 계수", + "열쇠": "1-3-4 스테인리스 강관 프레스식 접합 및 배관 계수", "이름": "스테인리스 강관 프레스식 접합 및 배관 계수", "기준": "인력품", "출처": "건설품셈 기계설비 1-3-4", @@ -392,7 +392,7 @@ ] }, { - "열쇠": "1-3-5 계수", + "열쇠": "1-3-5 스테인리스 주름관 접합 및 배관 계수", "이름": "스테인리스 주름관 접합 및 배관 계수", "기준": "인력품", "출처": "건설품셈 기계설비 1-3-5", @@ -422,7 +422,7 @@ ] }, { - "열쇠": "1-4-1 계수", + "열쇠": "1-4-1 주철관 기계식접합 및 배관 계수", "이름": "주철관 기계식접합 및 배관 계수", "기준": "인력품", "출처": "건설품셈 기계설비 1-4-1", @@ -452,7 +452,7 @@ ] }, { - "열쇠": "1-4-2 계수", + "열쇠": "1-4-2 주철관 수밀밴드 접합 및 배관 계수", "이름": "주철관 수밀밴드 접합 및 배관 계수", "기준": "인력품", "출처": "건설품셈 기계설비 1-4-2", @@ -482,7 +482,7 @@ ] }, { - "열쇠": "1-5-1 계수", + "열쇠": "1-5-1 경질관 접착제 접합 및 배관 계수", "이름": "경질관 접착제 접합 및 배관 계수", "기준": "인력품", "출처": "건설품셈 기계설비 1-5-1", @@ -512,7 +512,7 @@ ] }, { - "열쇠": "1-5-2 계수", + "열쇠": "1-5-2 경질관 고무링 캡조임 접합 및 배관(일반 PVC) 계수", "이름": "경질관 고무링 캡조임 접합 및 배관(일반 PVC) 계수", "기준": "인력품", "출처": "건설품셈 기계설비 1-5-2", @@ -542,7 +542,7 @@ ] }, { - "열쇠": "1-5-3 계수", + "열쇠": "1-5-3 경질관 고무링 캡조임 접합 및 배관(고강도PVC) 계수", "이름": "경질관 고무링 캡조임 접합 및 배관(고강도PVC) 계수", "기준": "인력품", "출처": "건설품셈 기계설비 1-5-3", @@ -572,7 +572,7 @@ ] }, { - "열쇠": "1-6-1 계수", + "열쇠": "1-6-1 폴리부틸렌(PB) 일반접합 및 배관 계수", "이름": "폴리부틸렌(PB) 일반접합 및 배관 계수", "기준": "인력품", "출처": "건설품셈 기계설비 1-6-1", @@ -593,7 +593,7 @@ ] }, { - "열쇠": "1-6-2 계수", + "열쇠": "1-6-2 폴리부틸렌(PB) 이중관 접합 및 배관 계수", "이름": "폴리부틸렌(PB) 이중관 접합 및 배관 계수", "기준": "인력품", "출처": "건설품셈 기계설비 1-6-2", @@ -614,7 +614,7 @@ ] }, { - "열쇠": "1-6-3 계수", + "열쇠": "1-6-3 가교화 폴리에틸렌관 접합 및 배관 계수", "이름": "가교화 폴리에틸렌관 접합 및 배관 계수", "기준": "인력품", "출처": "건설품셈 기계설비 1-6-3", diff --git a/resources/master_data/계수_건설품셈_기계설비2장.json b/resources/master_data/계수_건설품셈_기계설비2장.json index 2ad6b0c3..59f57538 100644 --- a/resources/master_data/계수_건설품셈_기계설비2장.json +++ b/resources/master_data/계수_건설품셈_기계설비2장.json @@ -4,7 +4,7 @@ "판": "2026", "표": [ { - "열쇠": "2-1-1 계수", + "열쇠": "2-1-1 아연도금강판덕트(각형덕트) 설치 계수", "이름": "아연도금강판덕트(각형덕트) 설치 계수", "기준": "", "출처": "건설품셈 기계설비 2-1-1", @@ -33,7 +33,7 @@ ] }, { - "열쇠": "2-1-2 계수", + "열쇠": "2-1-2 아연도금강판덕트(스파이럴덕트) 설치 계수", "이름": "아연도금강판덕트(스파이럴덕트) 설치 계수", "기준": "", "출처": "건설품셈 기계설비 2-1-2", @@ -62,7 +62,7 @@ ] }, { - "열쇠": "2-1-3 계수", + "열쇠": "2-1-3 스테인리스덕트(각형덕트) 설치 계수", "이름": "스테인리스덕트(각형덕트) 설치 계수", "기준": "", "출처": "건설품셈 기계설비 2-1-3", @@ -91,7 +91,7 @@ ] }, { - "열쇠": "2-1-4 계수", + "열쇠": "2-1-4 PVC덕트 설치 계수", "이름": "PVC덕트 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 2-1-4", @@ -112,7 +112,7 @@ ] }, { - "열쇠": "2-1-5 계수", + "열쇠": "2-1-5 세대내 환기덕트 설치 계수", "이름": "세대내 환기덕트 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 2-1-5", @@ -133,7 +133,7 @@ ] }, { - "열쇠": "2-2-6 계수", + "열쇠": "2-2-6 제연댐퍼 설치 계수", "이름": "제연댐퍼 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 2-2-6", diff --git a/resources/master_data/계수_건설품셈_기계설비3장.json b/resources/master_data/계수_건설품셈_기계설비3장.json index fa2f4efd..d47194d5 100644 --- a/resources/master_data/계수_건설품셈_기계설비3장.json +++ b/resources/master_data/계수_건설품셈_기계설비3장.json @@ -4,7 +4,7 @@ "판": "2026", "표": [ { - "열쇠": "3-1-1 계수", + "열쇠": "3-1-1 일반마감 배관보온 계수", "이름": "일반마감 배관보온 계수", "기준": "", "출처": "건설품셈 기계설비 3-1-1", @@ -41,7 +41,7 @@ ] }, { - "열쇠": "3-2-1 계수", + "열쇠": "3-2-1 일반마감 밸브보온 계수", "이름": "일반마감 밸브보온 계수", "기준": "", "출처": "건설품셈 기계설비 3-2-1", diff --git a/resources/master_data/계수_건설품셈_기계설비4장.json b/resources/master_data/계수_건설품셈_기계설비4장.json index 60f6583e..6be7b693 100644 --- a/resources/master_data/계수_건설품셈_기계설비4장.json +++ b/resources/master_data/계수_건설품셈_기계설비4장.json @@ -4,7 +4,7 @@ "판": "2026", "표": [ { - "열쇠": "4-1-1 계수", + "열쇠": "4-1-1 일반펌프 설치 계수", "이름": "일반펌프 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 4-1-1", @@ -25,7 +25,7 @@ ] }, { - "열쇠": "4-1-2 계수", + "열쇠": "4-1-2 집수정 배수펌프 설치 계수", "이름": "집수정 배수펌프 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 4-1-2", @@ -46,7 +46,7 @@ ] }, { - "열쇠": "4-2-1 계수", + "열쇠": "4-2-1 송풍기 설치 계수", "이름": "송풍기 설치 계수", "기준": "", "출처": "건설품셈 기계설비 4-2-1", diff --git a/resources/master_data/계수_건설품셈_기계설비5장.json b/resources/master_data/계수_건설품셈_기계설비5장.json index 444473a1..f70ea0fc 100644 --- a/resources/master_data/계수_건설품셈_기계설비5장.json +++ b/resources/master_data/계수_건설품셈_기계설비5장.json @@ -4,7 +4,7 @@ "판": "2026", "표": [ { - "열쇠": "5-1-1 계수", + "열쇠": "5-1-1 일반밸브 및 콕류 설치 계수", "이름": "일반밸브 및 콕류 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 5-1-1", @@ -25,7 +25,7 @@ ] }, { - "열쇠": "5-1-2 계수", + "열쇠": "5-1-2 감압밸브장치 설치 계수", "이름": "감압밸브장치 설치 계수", "기준": "", "출처": "건설품셈 기계설비 5-1-2", @@ -51,7 +51,7 @@ ] }, { - "열쇠": "5-2-1 계수", + "열쇠": "5-2-1 스팀트랩 장치 설치 계수", "이름": "스팀트랩 장치 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 5-2-1", @@ -72,7 +72,7 @@ ] }, { - "열쇠": "5-3-1 계수", + "열쇠": "5-3-1 익스팬션조인트 설치 계수", "이름": "익스팬션조인트 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 5-3-1", @@ -93,7 +93,7 @@ ] }, { - "열쇠": "5-3-2 계수", + "열쇠": "5-3-2 플랙시블커넥터 설치 계수", "이름": "플랙시블커넥터 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 5-3-2", @@ -114,7 +114,7 @@ ] }, { - "열쇠": "5-4-1 계수", + "열쇠": "5-4-1 수격방지기 설치 계수", "이름": "수격방지기 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 5-4-1", diff --git a/resources/master_data/계수_건설품셈_기계설비6장.json b/resources/master_data/계수_건설품셈_기계설비6장.json index f147e316..06737fd1 100644 --- a/resources/master_data/계수_건설품셈_기계설비6장.json +++ b/resources/master_data/계수_건설품셈_기계설비6장.json @@ -4,7 +4,7 @@ "판": "2026", "표": [ { - "열쇠": "6-1-1 계수", + "열쇠": "6-1-1 유량계(직독식) 설치 계수", "이름": "유량계(직독식) 설치 계수", "기준": "", "출처": "건설품셈 기계설비 6-1-1", @@ -34,7 +34,7 @@ ] }, { - "열쇠": "6-1-2 계수", + "열쇠": "6-1-2 유량계(원격식) 설치 계수", "이름": "유량계(원격식) 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 6-1-2", @@ -55,7 +55,7 @@ ] }, { - "열쇠": "6-1-3 계수", + "열쇠": "6-1-3 세대용 계량기함 설치 계수", "이름": "세대용 계량기함 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 6-1-3", @@ -76,7 +76,7 @@ ] }, { - "열쇠": "6-2-1 계수", + "열쇠": "6-2-1 세대용 적산열량계 설치 계수", "이름": "세대용 적산열량계 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 6-2-1", @@ -97,7 +97,7 @@ ] }, { - "열쇠": "6-2-2 계수", + "열쇠": "6-2-2 건물용 적산열량계 설치 계수", "이름": "건물용 적산열량계 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 6-2-2", @@ -118,7 +118,7 @@ ] }, { - "열쇠": "6-2-3 계수", + "열쇠": "6-2-3 산업용 적산열량계 설치 계수", "이름": "산업용 적산열량계 설치 계수", "기준": "인력품", "출처": "건설품셈 기계설비 6-2-3", diff --git a/resources/master_data/로직_건설품셈_기계설비1장.json b/resources/master_data/로직_건설품셈_기계설비1장.json new file mode 100644 index 00000000..fa554069 --- /dev/null +++ b/resources/master_data/로직_건설품셈_기계설비1장.json @@ -0,0 +1,1331 @@ +{ + "그룹": "로직", + "원문": "건설품셈", + "부문": "기계설비", + "판": "2026", + "줄": [ + { + "열쇠": "1-1-1 강관 용접접합", + "이름": "강관 용접접합", + "결과단위": "원/개소", + "출처": "건설품셈 기계설비 1-1-1", + "소유": "공용", + "입력": [ + { + "이름": "규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + }, + { + "이름": "용접방법", + "고르기": [ + "아크용접", + "TIG용접" + ] + } + ], + "중간": [ + { + "이름": "용접공", + "식": "찾기(소요량:건설품셈:1-1-1 강관 용접접합, '규격(㎜)'=규격).용접공 * (1 + (만약(용접방법 == 'TIG용접', 찾기(계수:건설품셈:1-1-1 강관 용접접합 계수, 항목='TIG용접 시공 품 가산율').값, 0) - 만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-1-1 강관 용접접합 계수, 항목='고소작업대(시저형) 시공 품 감산율').값, 0)) / 100)" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-1-1 강관 용접접합 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-1-1 강관 용접접합 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1012", + "이름": "용접공", + "단위": "인", + "수량": "용접공", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-1-1 주②" + } + ], + "끝수": null, + "비고": "용접접합 자재는 별도 계상(주③) — 원문 1-1-1 재료표 없음 · 크레인·지게차 이동비 별도(주④) · 고소 감산·TIG 가산이 겹치면 공통 1-4-2 할증 중복가산(합산)" + }, + { + "열쇠": "1-2-1 동관 용접접합", + "이름": "동관 용접접합", + "결과단위": "원/개소", + "출처": "건설품셈 기계설비 1-2-1", + "소유": "공용", + "입력": [ + { + "이름": "규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + } + ], + "중간": [ + { + "이름": "용접공", + "식": "찾기(소요량:건설품셈:1-2-1 동관 용접접합, '규격(㎜)'=규격).용접공 * (1 - 만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-2-1 동관 용접접합 계수, 항목='고소작업대(시저형) 시공 품 감산율').값, 0) / 100)" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-2-1 동관 용접접합 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-2-1 동관 용접접합 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1012", + "이름": "용접공", + "단위": "인", + "수량": "용접공", + "비목": "노무비" + }, + { + "종류": "재료", + "요소": "재료:나라장터자재:20080653", + "이름": "동 및 동합금용 용접봉", + "규격": "BCUP3", + "단위": "㎏", + "수량": "찾기(소요량:건설품셈:1-2-1 Brazing 소모재료, '규격(㎜)'=규격).용접봉 / 1000", + "비목": "재료비", + "출처": "건설품셈 기계설비 1-2-1" + }, + { + "종류": "재료", + "요소": "재료:자체:플럭스(브레이징)", + "이름": "플럭스", + "단위": "㎏", + "수량": "찾기(소요량:건설품셈:1-2-1 Brazing 소모재료, '규격(㎜)'=규격).플럭스 / 1000", + "비목": "재료비", + "출처": "건설품셈 기계설비 1-2-1" + }, + { + "종류": "재료", + "요소": "재료:나라장터자재:20204084", + "이름": "산소가스", + "단위": "ℓ", + "수량": "찾기(소요량:건설품셈:1-2-1 Brazing 소모재료, '규격(㎜)'=규격).산소", + "비목": "재료비", + "출처": "건설품셈 기계설비 1-2-1" + }, + { + "종류": "재료", + "요소": "재료:나라장터자재:20204095", + "이름": "아세틸렌가스", + "단위": "㎏", + "수량": "찾기(소요량:건설품셈:1-2-1 Brazing 소모재료, '규격(㎜)'=규격).아세틸렌 / 1000", + "비목": "재료비", + "출처": "건설품셈 기계설비 1-2-1" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-2-1 주②" + } + ], + "끝수": null, + "비고": "소모재료는 1-2-1 Brazing 소모재료 표(g → ㎏ 환산) · 해석: 용접봉 = 인동납 BCuP-3 · 산소는 대기압 기준량 · 규격 250㎜ 는 원문 재료표에 없음(계산 멈춤) · 크레인·지게차 이동비 별도(주④)" + }, + { + "열쇠": "1-3-1 스테인리스 강관 용접접합", + "이름": "스테인리스 강관 용접접합", + "결과단위": "원/개소", + "출처": "건설품셈 기계설비 1-3-1", + "소유": "공용", + "입력": [ + { + "이름": "규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + } + ], + "중간": [ + { + "이름": "용접공", + "식": "찾기(소요량:건설품셈:1-3-1 스테인리스 강관 용접접합, '규격(㎜)'=규격).용접공 * (1 - 만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-3-1 스테인리스 강관 용접접합 계수, 항목='고소작업대(시저형) 시공 품 감산율').값, 0) / 100)" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-3-1 스테인리스 강관 용접접합 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-3-1 스테인리스 강관 용접접합 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1012", + "이름": "용접공", + "단위": "인", + "수량": "용접공", + "비목": "노무비" + }, + { + "종류": "재료", + "요소": "재료:자체:TIG 용접봉(스테인리스)", + "이름": "TIG 용접봉", + "규격": "스테인리스", + "단위": "㎏", + "수량": "찾기(소요량:건설품셈:1-3-1 TIG용접 소모재료, '규격(㎜)'=규격).용접봉", + "비목": "재료비", + "출처": "건설품셈 기계설비 1-3-1" + }, + { + "종류": "재료", + "요소": "재료:자체:아르곤가스", + "이름": "아르곤가스", + "단위": "ℓ", + "수량": "찾기(소요량:건설품셈:1-3-1 TIG용접 소모재료, '규격(㎜)'=규격).Argon", + "비목": "재료비", + "출처": "건설품셈 기계설비 1-3-1" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-3-1 주②" + } + ], + "끝수": null, + "비고": "소모재료는 1-3-1 TIG용접 소모재료 표 — 규격 6·8·10·32㎜ 는 원문 재료표에 없음(계산 멈춤) · 크레인·지게차 이동비 별도(주④)" + }, + { + "열쇠": "1-1-2 강관 용접배관", + "이름": "강관 용접배관", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-1-2", + "소유": "공용", + "입력": [ + { + "이름": "관규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + }, + { + "이름": "시공위치", + "고르기": [ + "옥내일반배관", + "화장실배관", + "기계실배관", + "옥외배관(암거내)" + ] + } + ], + "중간": [ + { + "이름": "시공량", + "식": "찾기(소요량:건설품셈:1-1-2 강관 용접배관, '관규격(㎜)'=관규격).시공량 * (1 + (만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-1-2 강관 용접배관 계수, 항목='고소작업대(시저형) 시공 시공량 가산율').값, 0) + 만약(시공위치 == '화장실배관', 찾기(계수:건설품셈:1-1-2 강관 용접배관 계수, 항목='시공위치 요율 화장실배관').값, 만약(시공위치 == '기계실배관', 찾기(계수:건설품셈:1-1-2 강관 용접배관 계수, 항목='시공위치 요율 기계실배관').값, 만약(시공위치 == '옥외배관(암거내)', 찾기(계수:건설품셈:1-1-2 강관 용접배관 계수, 항목='시공위치 요율 옥외배관(암거내)').값, 0)))) / 100)", + "출처": "건설품셈 기계설비 1-1-2" + }, + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-1-2 강관 용접배관, '관규격(㎜)'=관규격).배관공 / 시공량" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-1-2 강관 용접배관, '관규격(㎜)'=관규격).보통인부 / 시공량" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-1-2 강관 용접배관 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-1-2 강관 용접배관 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-1-2 주⑥" + } + ], + "끝수": null, + "비고": "옥내일반배관 기준 · 고소 가산과 시공위치 요율이 겹치면 공통 1-4-2 할증 중복가산(합산) · 밸브류는 기계설비 5-1-1 · 인서트는 건축 8-1-4 · 단열·관 지지대 별도 · 크레인·지게차 이동비 별도" + }, + { + "열쇠": "1-1-3 강관 나사식 접합 및 배관", + "이름": "강관 나사식 접합 및 배관", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-1-3", + "소유": "공용", + "입력": [ + { + "이름": "관규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + }, + { + "이름": "시공위치", + "고르기": [ + "옥내일반배관", + "화장실배관", + "기계실배관", + "옥외배관(암거내)" + ] + } + ], + "중간": [ + { + "이름": "시공량", + "식": "찾기(소요량:건설품셈:1-1-3 강관 나사식 접합 및 배관, '관규격(㎜)'=관규격).시공량 * (1 + (만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-1-3 강관 나사식 접합 및 배관 계수, 항목='고소작업대(시저형) 시공 시공량 가산율').값, 0) + 만약(시공위치 == '화장실배관', 찾기(계수:건설품셈:1-1-3 강관 나사식 접합 및 배관 계수, 항목='시공위치 요율 화장실배관').값, 만약(시공위치 == '기계실배관', 찾기(계수:건설품셈:1-1-3 강관 나사식 접합 및 배관 계수, 항목='시공위치 요율 기계실배관').값, 만약(시공위치 == '옥외배관(암거내)', 찾기(계수:건설품셈:1-1-3 강관 나사식 접합 및 배관 계수, 항목='시공위치 요율 옥외배관(암거내)').값, 0)))) / 100)", + "출처": "건설품셈 기계설비 1-1-3" + }, + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-1-3 강관 나사식 접합 및 배관, '관규격(㎜)'=관규격).배관공 / 시공량" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-1-3 강관 나사식 접합 및 배관, '관규격(㎜)'=관규격).보통인부 / 시공량" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-1-3 강관 나사식 접합 및 배관 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-1-3 강관 나사식 접합 및 배관 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-1-3 주⑥" + } + ], + "끝수": null, + "비고": "옥내일반배관 기준 · 고소 가산과 시공위치 요율이 겹치면 공통 1-4-2 할증 중복가산(합산) · 밸브류는 기계설비 5-1-1 · 인서트는 건축 8-1-4 · 단열·관 지지대 별도 · 크레인·지게차 이동비 별도" + }, + { + "열쇠": "1-1-4 강관 그루브조인트식 접합 및 배관", + "이름": "강관 그루브조인트식 접합 및 배관", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-1-4", + "소유": "공용", + "입력": [ + { + "이름": "관규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + }, + { + "이름": "시공위치", + "고르기": [ + "옥내일반배관", + "화장실배관", + "기계실배관", + "옥외배관(암거내)" + ] + } + ], + "중간": [ + { + "이름": "시공량", + "식": "찾기(소요량:건설품셈:1-1-4 강관 그루브조인트식 접합 및 배관, '관규격(㎜)'=관규격).시공량 * (1 + (만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-1-4 강관 그루브조인트식 접합 및 배관 계수, 항목='고소작업대(시저형) 시공 시공량 가산율').값, 0) + 만약(시공위치 == '화장실배관', 찾기(계수:건설품셈:1-1-4 강관 그루브조인트식 접합 및 배관 계수, 항목='시공위치 요율 화장실배관').값, 만약(시공위치 == '기계실배관', 찾기(계수:건설품셈:1-1-4 강관 그루브조인트식 접합 및 배관 계수, 항목='시공위치 요율 기계실배관').값, 만약(시공위치 == '옥외배관(암거내)', 찾기(계수:건설품셈:1-1-4 강관 그루브조인트식 접합 및 배관 계수, 항목='시공위치 요율 옥외배관(암거내)').값, 0)))) / 100)", + "출처": "건설품셈 기계설비 1-1-4" + }, + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-1-4 강관 그루브조인트식 접합 및 배관, '관규격(㎜)'=관규격).배관공 / 시공량" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-1-4 강관 그루브조인트식 접합 및 배관, '관규격(㎜)'=관규격).보통인부 / 시공량" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-1-4 강관 그루브조인트식 접합 및 배관 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-1-4 강관 그루브조인트식 접합 및 배관 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-1-4 주⑥" + } + ], + "끝수": null, + "비고": "옥내일반배관 기준 · 고소 가산과 시공위치 요율이 겹치면 공통 1-4-2 할증 중복가산(합산) · 밸브류는 기계설비 5-1-1 · 인서트는 건축 8-1-4 · 단열·관 지지대 별도 · 크레인·지게차 이동비 별도" + }, + { + "열쇠": "1-2-2 동관 용접배관", + "이름": "동관 용접배관", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-2-2", + "소유": "공용", + "입력": [ + { + "이름": "관규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + }, + { + "이름": "시공위치", + "고르기": [ + "옥내일반배관", + "화장실배관", + "기계실배관", + "옥외배관(암거내)" + ] + } + ], + "중간": [ + { + "이름": "시공량", + "식": "찾기(소요량:건설품셈:1-2-2 동관 용접배관, '관규격(㎜)'=관규격).시공량 * (1 + (만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-2-2 동관 용접배관 계수, 항목='고소작업대(시저형) 시공 시공량 가산율').값, 0) + 만약(시공위치 == '화장실배관', 찾기(계수:건설품셈:1-2-2 동관 용접배관 계수, 항목='시공위치 요율 화장실배관').값, 만약(시공위치 == '기계실배관', 찾기(계수:건설품셈:1-2-2 동관 용접배관 계수, 항목='시공위치 요율 기계실배관').값, 만약(시공위치 == '옥외배관(암거내)', 찾기(계수:건설품셈:1-2-2 동관 용접배관 계수, 항목='시공위치 요율 옥외배관(암거내)').값, 0)))) / 100)", + "출처": "건설품셈 기계설비 1-2-2" + }, + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-2-2 동관 용접배관, '관규격(㎜)'=관규격).배관공 / 시공량" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-2-2 동관 용접배관, '관규격(㎜)'=관규격).보통인부 / 시공량" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-2-2 동관 용접배관 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-2-2 동관 용접배관 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-2-2 주⑥" + } + ], + "끝수": null, + "비고": "옥내일반배관 기준 · 고소 가산과 시공위치 요율이 겹치면 공통 1-4-2 할증 중복가산(합산) · 밸브류는 기계설비 5-1-1 · 인서트는 건축 8-1-4 · 단열·관 지지대 별도 · 크레인·지게차 이동비 별도" + }, + { + "열쇠": "1-3-2 스테인리스 강관 용접배관", + "이름": "스테인리스 강관 용접배관", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-3-2", + "소유": "공용", + "입력": [ + { + "이름": "관규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + }, + { + "이름": "시공위치", + "고르기": [ + "옥내일반배관", + "화장실배관", + "기계실배관", + "옥외배관(암거내)" + ] + } + ], + "중간": [ + { + "이름": "시공량", + "식": "찾기(소요량:건설품셈:1-3-2 스테인리스 강관 용접배관, '관규격(㎜)'=관규격).시공량 * (1 + (만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-3-2 스테인리스 강관 용접배관 계수, 항목='고소작업대(시저형) 시공 시공량 가산율').값, 0) + 만약(시공위치 == '화장실배관', 찾기(계수:건설품셈:1-3-2 스테인리스 강관 용접배관 계수, 항목='시공위치 요율 화장실배관').값, 만약(시공위치 == '기계실배관', 찾기(계수:건설품셈:1-3-2 스테인리스 강관 용접배관 계수, 항목='시공위치 요율 기계실배관').값, 만약(시공위치 == '옥외배관(암거내)', 찾기(계수:건설품셈:1-3-2 스테인리스 강관 용접배관 계수, 항목='시공위치 요율 옥외배관(암거내)').값, 0)))) / 100)", + "출처": "건설품셈 기계설비 1-3-2" + }, + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-3-2 스테인리스 강관 용접배관, '관규격(㎜)'=관규격).배관공 / 시공량" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-3-2 스테인리스 강관 용접배관, '관규격(㎜)'=관규격).보통인부 / 시공량" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-3-2 스테인리스 강관 용접배관 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-3-2 스테인리스 강관 용접배관 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-3-2 주⑦" + } + ], + "끝수": null, + "비고": "옥내일반배관 기준 · 고소 가산과 시공위치 요율이 겹치면 공통 1-4-2 할증 중복가산(합산) · 밸브류는 기계설비 5-1-1 · 인서트는 건축 8-1-4 · 단열·관 지지대 별도 · 크레인·지게차 이동비 별도 · Bending 가공 별도" + }, + { + "열쇠": "1-3-3 스테인리스 강관 그루브조인트식 접합 및 배관", + "이름": "스테인리스 강관 그루브조인트식 접합 및 배관", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-3-3", + "소유": "공용", + "입력": [ + { + "이름": "관규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + }, + { + "이름": "시공위치", + "고르기": [ + "옥내일반배관", + "화장실배관", + "기계실배관", + "옥외배관(암거내)" + ] + } + ], + "중간": [ + { + "이름": "시공량", + "식": "찾기(소요량:건설품셈:1-3-3 스테인리스 강관 그루브조인트식 접합 및 배관, '관규격(㎜)'=관규격).시공량 * (1 + (만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-3-3 스테인리스 강관 그루브조인트식 접합 및 배관 계수, 항목='고소작업대(시저형) 시공 시공량 가산율').값, 0) + 만약(시공위치 == '화장실배관', 찾기(계수:건설품셈:1-3-3 스테인리스 강관 그루브조인트식 접합 및 배관 계수, 항목='시공위치 요율 화장실배관').값, 만약(시공위치 == '기계실배관', 찾기(계수:건설품셈:1-3-3 스테인리스 강관 그루브조인트식 접합 및 배관 계수, 항목='시공위치 요율 기계실배관').값, 만약(시공위치 == '옥외배관(암거내)', 찾기(계수:건설품셈:1-3-3 스테인리스 강관 그루브조인트식 접합 및 배관 계수, 항목='시공위치 요율 옥외배관(암거내)').값, 0)))) / 100)", + "출처": "건설품셈 기계설비 1-3-3" + }, + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-3-3 스테인리스 강관 그루브조인트식 접합 및 배관, '관규격(㎜)'=관규격).배관공 / 시공량" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-3-3 스테인리스 강관 그루브조인트식 접합 및 배관, '관규격(㎜)'=관규격).보통인부 / 시공량" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-3-3 스테인리스 강관 그루브조인트식 접합 및 배관 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-3-3 스테인리스 강관 그루브조인트식 접합 및 배관 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-3-3 주⑥" + } + ], + "끝수": null, + "비고": "옥내일반배관 기준 · 고소 가산과 시공위치 요율이 겹치면 공통 1-4-2 할증 중복가산(합산) · 밸브류는 기계설비 5-1-1 · 인서트는 건축 8-1-4 · 단열·관 지지대 별도 · 크레인·지게차 이동비 별도" + }, + { + "열쇠": "1-3-4 스테인리스 강관 프레스식 접합 및 배관", + "이름": "스테인리스 강관 프레스식 접합 및 배관", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-3-4", + "소유": "공용", + "입력": [ + { + "이름": "관규격", + "고르기": [ + "13SU", + "20", + "25", + "30", + "40", + "50", + "60", + "75", + "80", + "100" + ] + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + }, + { + "이름": "시공위치", + "고르기": [ + "옥내일반배관", + "화장실배관", + "기계실배관", + "옥외배관(암거내)" + ] + } + ], + "중간": [ + { + "이름": "시공량", + "식": "찾기(소요량:건설품셈:1-3-4 스테인리스 강관 프레스식 접합 및 배관, '관규격(㎜)'=관규격).시공량 * (1 + (만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-3-4 스테인리스 강관 프레스식 접합 및 배관 계수, 항목='고소작업대(시저형) 시공 시공량 가산율').값, 0) + 만약(시공위치 == '화장실배관', 찾기(계수:건설품셈:1-3-4 스테인리스 강관 프레스식 접합 및 배관 계수, 항목='시공위치 요율 화장실배관').값, 만약(시공위치 == '기계실배관', 찾기(계수:건설품셈:1-3-4 스테인리스 강관 프레스식 접합 및 배관 계수, 항목='시공위치 요율 기계실배관').값, 만약(시공위치 == '옥외배관(암거내)', 찾기(계수:건설품셈:1-3-4 스테인리스 강관 프레스식 접합 및 배관 계수, 항목='시공위치 요율 옥외배관(암거내)').값, 0)))) / 100)", + "출처": "건설품셈 기계설비 1-3-4" + }, + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-3-4 스테인리스 강관 프레스식 접합 및 배관, '관규격(㎜)'=관규격).배관공 / 시공량" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-3-4 스테인리스 강관 프레스식 접합 및 배관, '관규격(㎜)'=관규격).보통인부 / 시공량" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-3-4 스테인리스 강관 프레스식 접합 및 배관 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-3-4 스테인리스 강관 프레스식 접합 및 배관 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-3-4 주⑦" + } + ], + "끝수": null, + "비고": "옥내일반배관 기준 · 고소 가산과 시공위치 요율이 겹치면 공통 1-4-2 할증 중복가산(합산) · 밸브류는 기계설비 5-1-1 · 인서트는 건축 8-1-4 · 단열·관 지지대 별도 · 크레인·지게차 이동비 별도 · Bending 가공 별도" + }, + { + "열쇠": "1-3-5 주름관", + "이름": "스테인리스 주름관 접합 및 배관", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-3-5", + "소유": "공용", + "입력": [ + { + "이름": "관규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + } + ], + "중간": [ + { + "이름": "시공량", + "식": "찾기(소요량:건설품셈:1-3-5 주름관, '관규격(㎜)'=관규격).시공량 * (1 + 만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-3-5 스테인리스 주름관 접합 및 배관 계수, 항목='고소작업대(시저형) 시공 시공량 가산율').값, 0) / 100)", + "출처": "건설품셈 기계설비 1-3-5" + }, + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-3-5 주름관, '관규격(㎜)'=관규격).배관공 / 시공량" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-3-5 주름관, '관규격(㎜)'=관규격).보통인부 / 시공량" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-3-5 스테인리스 주름관 접합 및 배관 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-3-5 스테인리스 주름관 접합 및 배관 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-3-5 주⑤" + } + ], + "끝수": null, + "비고": "옥내일반배관 기준 · 인서트는 건축 8-1-4 · 단열·관 지지대 별도 · 크레인·지게차 이동비 별도" + }, + { + "열쇠": "1-4-1 주철관 기계식접합 및 배관", + "이름": "주철관 기계식접합 및 배관", + "결과단위": "원/개소", + "출처": "건설품셈 기계설비 1-4-1", + "소유": "공용", + "입력": [ + { + "이름": "관규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + } + ], + "중간": [ + { + "이름": "시공량", + "식": "찾기(소요량:건설품셈:1-4-1 주철관 기계식접합 및 배관, '관규격(㎜)'=관규격).시공량 * (1 + 만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-4-1 주철관 기계식접합 및 배관 계수, 항목='고소작업대(시저형) 시공 시공량 가산율').값, 0) / 100)", + "출처": "건설품셈 기계설비 1-4-1" + }, + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-4-1 주철관 기계식접합 및 배관, '관규격(㎜)'=관규격).배관공 / 시공량" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-4-1 주철관 기계식접합 및 배관, '관규격(㎜)'=관규격).보통인부 / 시공량" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-4-1 주철관 기계식접합 및 배관 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-4-1 주철관 기계식접합 및 배관 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-4-1 주⑤" + } + ], + "끝수": null, + "비고": "옥내일반배관 기준 · 인서트는 건축 8-1-4 · 단열·관 지지대 별도 · 크레인·지게차 이동비 별도" + }, + { + "열쇠": "1-4-2 주철관 수밀밴드 접합 및 배관", + "이름": "주철관 수밀밴드 접합 및 배관", + "결과단위": "원/개소", + "출처": "건설품셈 기계설비 1-4-2", + "소유": "공용", + "입력": [ + { + "이름": "관규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + } + ], + "중간": [ + { + "이름": "시공량", + "식": "찾기(소요량:건설품셈:1-4-2 주철관 수밀밴드 접합 및 배관, '관규격(㎜)'=관규격).시공량 * (1 + 만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-4-2 주철관 수밀밴드 접합 및 배관 계수, 항목='고소작업대(시저형) 시공 시공량 가산율').값, 0) / 100)", + "출처": "건설품셈 기계설비 1-4-2" + }, + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-4-2 주철관 수밀밴드 접합 및 배관, '관규격(㎜)'=관규격).배관공 / 시공량" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-4-2 주철관 수밀밴드 접합 및 배관, '관규격(㎜)'=관규격).보통인부 / 시공량" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-4-2 주철관 수밀밴드 접합 및 배관 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-4-2 주철관 수밀밴드 접합 및 배관 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-4-2 주⑤" + } + ], + "끝수": null, + "비고": "옥내일반배관 기준 · 인서트는 건축 8-1-4 · 단열·관 지지대 별도 · 크레인·지게차 이동비 별도" + }, + { + "열쇠": "1-5-1 경질관 접착제 접합 및 배관", + "이름": "경질관 접착제 접합 및 배관", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-5-1", + "소유": "공용", + "입력": [ + { + "이름": "관규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + } + ], + "중간": [ + { + "이름": "시공량", + "식": "찾기(소요량:건설품셈:1-5-1 경질관 접착제 접합 및 배관, '관규격(㎜)'=관규격).시공량 * (1 + 만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-5-1 경질관 접착제 접합 및 배관 계수, 항목='고소작업대(시저형) 시공 시공량 가산율').값, 0) / 100)", + "출처": "건설품셈 기계설비 1-5-1" + }, + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-5-1 경질관 접착제 접합 및 배관, '관규격(㎜)'=관규격).배관공 / 시공량" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-5-1 경질관 접착제 접합 및 배관, '관규격(㎜)'=관규격).보통인부 / 시공량" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-5-1 경질관 접착제 접합 및 배관 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-5-1 경질관 접착제 접합 및 배관 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-5-1 주⑤" + } + ], + "끝수": null, + "비고": "옥내일반배관 기준 · 인서트는 건축 8-1-4 · 단열·관 지지대 별도 · 크레인·지게차 이동비 별도" + }, + { + "열쇠": "1-5-2 경질관 고무링 캡조임 접합 및 배관(일반 PVC)", + "이름": "경질관 고무링 캡조임 접합 및 배관(일반 PVC)", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-5-2", + "소유": "공용", + "입력": [ + { + "이름": "관규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + } + ], + "중간": [ + { + "이름": "시공량", + "식": "찾기(소요량:건설품셈:1-5-2 경질관 고무링 캡조임 접합 및 배관(일반 PVC), '관규격(㎜)'=관규격).시공량 * (1 + 만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-5-2 경질관 고무링 캡조임 접합 및 배관(일반 PVC) 계수, 항목='고소작업대(시저형) 시공 시공량 가산율').값, 0) / 100)", + "출처": "건설품셈 기계설비 1-5-2" + }, + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-5-2 경질관 고무링 캡조임 접합 및 배관(일반 PVC), '관규격(㎜)'=관규격).배관공 / 시공량" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-5-2 경질관 고무링 캡조임 접합 및 배관(일반 PVC), '관규격(㎜)'=관규격).보통인부 / 시공량" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-5-2 경질관 고무링 캡조임 접합 및 배관(일반 PVC) 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-5-2 경질관 고무링 캡조임 접합 및 배관(일반 PVC) 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-5-2 주⑤" + } + ], + "끝수": null, + "비고": "옥내일반배관 기준 · 인서트는 건축 8-1-4 · 단열·관 지지대 별도 · 크레인·지게차 이동비 별도" + }, + { + "열쇠": "1-5-3 경질관 고무링 캡조임 접합 및 배관(고강도PVC)", + "이름": "경질관 고무링 캡조임 접합 및 배관(고강도PVC)", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-5-3", + "소유": "공용", + "입력": [ + { + "이름": "관규격", + "단위": "㎜" + }, + { + "이름": "시공방법", + "고르기": [ + "인력시공", + "고소작업대(시저형) 시공" + ] + } + ], + "중간": [ + { + "이름": "시공량", + "식": "찾기(소요량:건설품셈:1-5-3 경질관 고무링 캡조임 접합 및 배관(고강도PVC), '관규격(㎜)'=관규격).시공량 * (1 + 만약(시공방법 == '고소작업대(시저형) 시공', 찾기(계수:건설품셈:1-5-3 경질관 고무링 캡조임 접합 및 배관(고강도PVC) 계수, 항목='고소작업대(시저형) 시공 시공량 가산율').값, 0) / 100)", + "출처": "건설품셈 기계설비 1-5-3" + }, + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-5-3 경질관 고무링 캡조임 접합 및 배관(고강도PVC), '관규격(㎜)'=관규격).배관공 / 시공량" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-5-3 경질관 고무링 캡조임 접합 및 배관(고강도PVC), '관규격(㎜)'=관규격).보통인부 / 시공량" + }, + { + "이름": "기계경비율", + "식": "만약(시공방법 == '인력시공', 찾기(계수:건설품셈:1-5-3 경질관 고무링 캡조임 접합 및 배관(고강도PVC) 계수, 항목='기계경비율 인력시공').값, 찾기(계수:건설품셈:1-5-3 경질관 고무링 캡조임 접합 및 배관(고강도PVC) 계수, 항목='기계경비율 고소작업대(시저형) 시공').값)" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-5-3 주⑤" + } + ], + "끝수": null, + "비고": "옥내일반배관 기준 · 인서트는 건축 8-1-4 · 단열·관 지지대 별도 · 크레인·지게차 이동비 별도" + }, + { + "열쇠": "1-6-1 폴리부틸렌(PB) 일반접합 및 배관", + "이름": "폴리부틸렌(PB) 일반접합 및 배관", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-6-1", + "소유": "공용", + "입력": [ + { + "이름": "규격", + "단위": "㎜" + } + ], + "중간": [ + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-6-1 폴리부틸렌(PB) 일반접합 및 배관, '규격(㎜)'=규격).배관공" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-6-1 폴리부틸렌(PB) 일반접합 및 배관, '규격(㎜)'=규격).보통인부" + }, + { + "이름": "기계경비율", + "식": "찾기(계수:건설품셈:1-6-1 폴리부틸렌(PB) 일반접합 및 배관 계수, 항목='기계경비율').값" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-6-1 주③" + } + ], + "끝수": null, + "비고": "절단 · 배관 · 고정철물 · 접합 · 배관시험 포함" + }, + { + "열쇠": "1-6-2 폴리부틸렌(PB) 이중관 접합 및 배관", + "이름": "폴리부틸렌(PB) 이중관 접합 및 배관", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-6-2", + "소유": "공용", + "입력": [ + { + "이름": "규격", + "단위": "㎜" + } + ], + "중간": [ + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-6-2 폴리부틸렌(PB) 이중관 접합 및 배관, '규격(㎜)'=규격).배관공" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-6-2 폴리부틸렌(PB) 이중관 접합 및 배관, '규격(㎜)'=규격).보통인부" + }, + { + "이름": "기계경비율", + "식": "찾기(계수:건설품셈:1-6-2 폴리부틸렌(PB) 이중관 접합 및 배관 계수, 항목='기계경비율').값" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-6-2 주③" + } + ], + "끝수": null, + "비고": "절단 · 배관 · 고정철물 · 접합 · 배관시험 포함" + }, + { + "열쇠": "1-6-3 가교화 폴리에틸렌관 접합 및 배관", + "이름": "가교화 폴리에틸렌관 접합 및 배관", + "결과단위": "원/m", + "출처": "건설품셈 기계설비 1-6-3", + "소유": "공용", + "입력": [ + { + "이름": "규격", + "단위": "㎜" + } + ], + "중간": [ + { + "이름": "배관공", + "식": "찾기(소요량:건설품셈:1-6-3 가교화 폴리에틸렌관 접합 및 배관, '규격(㎜)'=규격).배관공" + }, + { + "이름": "보통인부", + "식": "찾기(소요량:건설품셈:1-6-3 가교화 폴리에틸렌관 접합 및 배관, '규격(㎜)'=규격).보통인부" + }, + { + "이름": "기계경비율", + "식": "찾기(계수:건설품셈:1-6-3 가교화 폴리에틸렌관 접합 및 배관 계수, 항목='기계경비율').값" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1039", + "이름": "배관공", + "단위": "인", + "수량": "배관공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "공구손료 및 경장비", + "식": "노무비 * 기계경비율 / 100", + "비목": "경비", + "출처": "건설품셈 기계설비 1-6-3 주③" + } + ], + "끝수": null, + "비고": "절단 · 배관 · 고정철물 · 접합 · 배관시험 포함" + } + ] +} diff --git a/resources/master_data/재료_자체.json b/resources/master_data/재료_자체.json index 5d16cf66..8a2d4635 100644 --- a/resources/master_data/재료_자체.json +++ b/resources/master_data/재료_자체.json @@ -180,6 +180,9 @@ {"열쇠": "단열판", "이름": "단열판", "규격": "", "단위": "㎡", "값": null, "출처": "자체", "비고": "건설품셈 건축 5-4-9"}, {"열쇠": "접착제 외벽단열용", "이름": "접착제", "규격": "외벽단열용", "단위": "㎏", "값": null, "출처": "자체", "비고": "건설품셈 건축 5-4-9"}, {"열쇠": "표준보강메시", "이름": "표준보강메시", "규격": "", "단위": "㎡", "값": null, "출처": "자체", "비고": "건설품셈 건축 5-4-9"}, - {"열쇠": "고강도메시", "이름": "고강도메시", "규격": "", "단위": "㎡", "값": null, "출처": "자체", "비고": "건설품셈 건축 5-4-9"} + {"열쇠": "고강도메시", "이름": "고강도메시", "규격": "", "단위": "㎡", "값": null, "출처": "자체", "비고": "건설품셈 건축 5-4-9"}, + {"열쇠": "플럭스(브레이징)", "이름": "플럭스", "규격": "브레이징용", "단위": "㎏", "값": null, "출처": "자체", "비고": "건설품셈 기계설비 1-2-1 · 원문 g"}, + {"열쇠": "TIG 용접봉(스테인리스)", "이름": "TIG 용접봉", "규격": "스테인리스", "단위": "㎏", "값": null, "출처": "자체", "비고": "건설품셈 기계설비 1-3-1"}, + {"열쇠": "아르곤가스", "이름": "아르곤가스", "규격": "", "단위": "ℓ", "값": null, "출처": "자체", "비고": "건설품셈 기계설비 1-3-1"} ] } diff --git a/resources/tester/test_masterdata_check.py b/resources/tester/test_masterdata_check.py index a0a1b473..ac54caf7 100644 --- a/resources/tester/test_masterdata_check.py +++ b/resources/tester/test_masterdata_check.py @@ -298,6 +298,36 @@ def test_견본_파일_검사_통과(whole): assert cm.check_logics(files, whole) == [] +def test_열쇠_겹침을_잡음(): + """다른 부문 표와 같은 열쇠면 먼저 읽힌 표만 찾기에 걸림.""" + files = { + "계수_건설품셈_건축1장.json": { + "그룹": "계수", + "원문": "건설품셈", + "표": [{"열쇠": "1-1-1 계수"}], + }, + "계수_건설품셈_기계설비1장.json": { + "그룹": "계수", + "원문": "건설품셈", + "표": [{"열쇠": "1-1-1 계수"}], + }, + } + assert len(cm.duplicate_keys(files)) == 1 + assert cm.duplicate_keys(cm.load()) == [] + + +def test_기계설비_강관_용접배관(whole): + """1-1-2 관규격 15 · (배관공 3인 × 247,897 + 보통인부 1인 × 172,068) ÷ 83m · 기계경비 2%.""" + got = mf.run( + whole, + "건설품셈:1-1-2 강관 용접배관", + {"관규격": 15, "시공방법": "인력시공", "시공위치": "옥내일반배관"}, + ) + labor = (3 * Decimal(247897) + Decimal(172068)) / 83 + assert cents(got["노무비"]) == cents(labor) + assert cents(got["경비"]) == cents(labor * Decimal("0.02")) + + def test_로직_검사가_틀린_열쇠를_잡음(whole): row = { "열쇠": "시험",