diff --git a/resources/master_data/로직_건설품셈_토목7장.json b/resources/master_data/로직_건설품셈_토목7장.json new file mode 100644 index 00000000..9d48f49b --- /dev/null +++ b/resources/master_data/로직_건설품셈_토목7장.json @@ -0,0 +1,555 @@ +{ + "그룹": "로직", + "원문": "건설품셈", + "판": "2026", + "줄": [ + { + "열쇠": "7-2-1 적재 및 운반", + "이름": "사석 적재 및 운반", + "결과단위": "원/10㎥", + "출처": "건설품셈 토목 7-2-1", + "소유": "공용", + "입력": [{ "이름": "종류", "고르기": ["0.03㎥ 이하", "0.1㎥ 이상"], "출처": "건설품셈 토목 7-2-1" }], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1003", + "이름": "특별인부", + "단위": "인", + "수량": "만약((종류 == '0.03㎥ 이하'), 0, 찾기(소요량:건설품셈:7-2-1 적재 및 운반, 종류=종류).특별인부)", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:건설품셈:7-2-1 적재 및 운반, 종류=종류).보통인부", + "비목": "노무비" + } + ], + "덧줄": [ + { + "이름": "잡재료", + "식": "((만약((종류 == '0.03㎥ 이하'), 0, 찾기(소요량:건설품셈:7-2-1 적재 및 운반, 종류=종류).특별인부)) * 인력:건설노임:1003 + (찾기(소요량:건설품셈:7-2-1 적재 및 운반, 종류=종류).보통인부) * 인력:건설노임:1002) * 찾기(소요량:건설품셈:7-2-1 잡재료 보정 — 그룹 계수, 구분='잡재료').비율 / 100", + "비목": "재료비", + "출처": "건설품셈 토목 7-2-1 주④" + } + ], + "끝수": null, + "비고": "0.03㎥ 이하 덤프트럭·대선 진입 · 0.1㎥ 이상 크레인 적재(원문 적재방법) · 크레인 10ton·예선·운반선 별도(주②③) · 해석: 잡재료 = 인력품 × 2%(원문 「2% 이내」 상한) · 1일 운반량 Q = N×q×E(주⑤) · 작업효율(해상운반) 표는 설계자 계산" + }, + { + "열쇠": "7-2-2 해상투하", + "이름": "사석 해상투하", + "결과단위": "원/10㎥", + "출처": "건설품셈 토목 7-2-2", + "소유": "공용", + "입력": [{ "이름": "구분", "고르기": ["0.03㎥ 이하 굴착기 투하", "0.1㎥ 이상 크레인 투하"], "출처": "건설품셈 토목 7-2-2" }], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1003", + "이름": "특별인부", + "단위": "인", + "수량": "찾기(소요량:건설품셈:7-2-2 해상투하, 구분=구분).특별인부", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:건설품셈:7-2-2 해상투하, 구분=구분).보통인부", + "비목": "노무비" + } + ], + "덧줄": [], + "끝수": null, + "비고": "수상부분은 잠수부 계상 안 함(원문 주) · 기계경비 별도 — 굴착기 1.0㎥ · 크레인 10ton(원문 주) · 막힘: 잠수부 줄 빠짐 — 원문 단위 「조」 · 조 편성 원문에 없음" + }, + { + "열쇠": "7-2-3 육상투하", + "이름": "사석 육상투하", + "결과단위": "원/10㎥", + "출처": "건설품셈 토목 7-2-3", + "소유": "공용", + "입력": [{ "이름": "구분", "고르기": ["0.03㎥ 이하 덤프트럭+굴착기 투하", "0.1㎥ 이상 크레인 투하"], "출처": "건설품셈 토목 7-2-3" }], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1003", + "이름": "특별인부", + "단위": "인", + "수량": "만약((구분 == '0.03㎥ 이하 덤프트럭+굴착기 투하'), 0, 찾기(소요량:건설품셈:7-2-3 육상투하, 구분=구분).특별인부)", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:건설품셈:7-2-3 육상투하, 구분=구분).보통인부", + "비목": "노무비" + } + ], + "덧줄": [], + "끝수": null, + "비고": "수상부분은 잠수부 계상 안 함(원문 주) · 기계경비 별도 — 굴착기 1.0㎥ · 크레인 10ton(원문 주) · 막힘: 잠수부 줄 빠짐 — 원문 단위 「조」 · 조 편성 원문에 없음" + }, + { + "열쇠": "7-2-4 수상고르기", + "이름": "사석 수상고르기", + "결과단위": "원/10㎡", + "출처": "건설품셈 토목 7-2-4", + "소유": "공용", + "입력": [ + { "이름": "작업구분", "고르기": ["기초고르기", "피복석 고르기", "피복석 거친고르기", "내부사석 고르기", "필터사석 고르기"], "출처": "건설품셈 토목 7-2-4" }, + { + "이름": "크레인", + "고르기": [ + "2105-0005", + "2104-0010", + "2104-0015", + "2104-0020", + "2104-0025", + "2104-0030", + "2104-0035", + "2104-0040", + "2104-0045", + "2104-0050", + "2104-0060", + "2104-0070", + "2104-0080", + "2104-0100", + "2104-0130", + "2104-0160", + "2104-0200", + "2104-0220", + "2104-0250", + "2104-0300", + "2105-0002", + "2105-0003", + "2105-0010", + "2105-0015", + "2105-0018", + "2101-0010", + "2101-0015", + "2101-0020", + "2101-0025", + "2101-0030", + "2101-0035", + "2101-0040", + "2101-0050", + "2101-0070", + "2101-0080", + "2101-0100", + "2101-0150", + "2101-0220", + "2101-0280", + "2101-0300" + ] + }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + }, + { "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" } + ], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1033", + "이름": "석공", + "단위": "인", + "수량": "찾기(소요량:건설품셈:7-2-4 수상고르기, 작업구분=작업구분).석공", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "만약((작업구분 == '필터사석 고르기'), 0, 찾기(소요량:건설품셈:7-2-4 수상고르기, 작업구분=작업구분).보통인부)", + "비목": "노무비" + }, + { + "종류": "로직", + "요소": "로직(건설품셈:8 굴착기(무한궤도) 시간당 경비, 기계='0201-0100', 지역=지역, 보정작업=보정작업)", + "이름": "굴착기 1.0㎥", + "단위": "시간", + "수량": "만약((작업구분 == '피복석 고르기') 또는 (작업구분 == '피복석 거친고르기'), 0, 찾기(소요량:건설품셈:7-2-4 수상고르기, 작업구분=작업구분).굴착기_1_0m3)" + }, + { + "종류": "로직", + "요소": "로직(건설품셈:8 기계 시간당 경비, 기계=크레인, 지역=지역)", + "이름": "크레인", + "단위": "시간", + "수량": "만약((작업구분 == '기초고르기') 또는 (작업구분 == '내부사석 고르기') 또는 (작업구분 == '필터사석 고르기'), 0, 찾기(소요량:건설품셈:7-2-4 수상고르기, 작업구분=작업구분).크레인_10ton)" + } + ], + "덧줄": [], + "끝수": null, + "비고": "원문 장비 굴착기 1.0㎥ · 크레인 10ton(장비규격 표) — 크레인 종류 설계자 고름 · 원문 장비 값 = 10㎡당 시간" + }, + { + "열쇠": "7-2-5 수중고르기 능력", + "이름": "수중고르기 잠수부 1조 시간당 고르기 면적", + "결과단위": "㎡/시간", + "출처": "건설품셈 토목 7-2-5", + "소유": "공용", + "입력": [ + { "이름": "작업", "고르기": ["기초고르기", "피복석고르기", "피복석거친고르기", "내부사석고르기", "필터사석고르기"], "출처": "건설품셈 토목 7-2-5 표준고르기면적" }, + { "이름": "수심", "단위": "m", "고르기": ["0∼15", "15∼20", "20∼25", "25∼30"], "출처": "건설품셈 토목 7-2-5" }, + { "이름": "구분", "고르기": ["천후", "조류", "명암"], "출처": "건설품셈 토목 7-2-5 주④" }, + { "이름": "세부", "고르기": ["조용할때", "풍랑", "0∼2.8km/hr", "2.8∼5.5km/hr", "보통", "흐릴때"], "출처": "건설품셈 토목 7-2-5" } + ], + "중간": [ + { + "이름": "a", + "식": "만약(작업 == '기초고르기', 찾기(소요량:건설품셈:7-2-5 표준고르기면적(a)).기초고르기, 만약(작업 == '피복석고르기', 찾기(소요량:건설품셈:7-2-5 표준고르기면적(a)).피복석고르기, 만약(작업 == '피복석거친고르기', 찾기(소요량:건설품셈:7-2-5 표준고르기면적(a)).피복석거친고르기, 만약(작업 == '내부사석고르기', 찾기(소요량:건설품셈:7-2-5 표준고르기면적(a)).내부사석고르기, 만약(작업 == '필터사석고르기', 찾기(소요량:건설품셈:7-2-5 표준고르기면적(a)).필터사석고르기, 0)))))", + "출처": "건설품셈 토목 7-2-5 표준고르기면적(a)" + }, + { "이름": "E", "식": "찾기(소요량:건설품셈:7-2-5 작업효율(E), 수심=수심, 구분=구분, 세부=세부).효율", "출처": "건설품셈 토목 7-2-5 작업효율(E)" } + ], + "끝수": null, + "비고": "A = a × E — 잠수부 1조 시간당 능력 · 작업효율은 천후·조류·명암 가운데 최악 하나만(주④) · 막힘: 수중고르기 돈 로직 — 잠수부 「조」 편성 원문에 없음 · 선박·부장장비 별도(주①)", + "결과": { "식": "a * E", "출처": "건설품셈 토목 7-2-5" } + }, + { + "열쇠": "7-3-1 케이슨 진수", + "이름": "케이슨 진수", + "결과단위": "원/개", + "출처": "건설품셈 토목 7-3-1", + "소유": "공용", + "입력": [{ "이름": "비계공인원", "단위": "인", "출처": "건설품셈 토목 7-3-1" }, { "이름": "보통인부인원", "단위": "인", "출처": "건설품셈 토목 7-3-1" }], + "중간": [], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1006", "이름": "비계공", "단위": "인", "수량": "비계공인원", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1002", "이름": "보통인부", "단위": "인", "수량": "보통인부인원", "비목": "노무비" } + ], + "덧줄": [], + "끝수": null, + "비고": "원문 범위 — 설계자 입력: 비계공 500t미만 1∼2 · 500∼1,000t 2∼3 · 1,000∼2,000t 3∼4 · 2,000∼3,000t 4∼6 / 보통인부 500t미만 2∼3 · 500∼1,000t 2∼4 · 1,000∼2,000t 4∼5 · 2,000∼3,000t 5∼7 · 선박 및 부장장비 손료·운전경비 별도" + }, + { + "열쇠": "7-3-2 케이슨 거치", + "이름": "케이슨 거치", + "결과단위": "원/개", + "출처": "건설품셈 토목 7-3-2", + "소유": "공용", + "입력": [{ "이름": "비계공인원", "단위": "인", "출처": "건설품셈 토목 7-3-2" }, { "이름": "보통인부인원", "단위": "인", "출처": "건설품셈 토목 7-3-2" }], + "중간": [], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1006", "이름": "비계공", "단위": "인", "수량": "비계공인원", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1002", "이름": "보통인부", "단위": "인", "수량": "보통인부인원", "비목": "노무비" } + ], + "덧줄": [], + "끝수": null, + "비고": "원문 범위 — 설계자 입력: 비계공 500t미만 1∼2 · 500∼1,000t 2∼3 · 1,000∼2,000t 3∼4 · 2,000∼3,000t 4∼5 / 보통인부 500t미만 2∼3 · 500∼1,000t 3∼4 · 1,000∼2,000t 4∼6 · 2,000∼3,000t 5∼7 · 선박 및 부장장비 손료·운전경비 별도 · 막힘: 잠수부 줄 빠짐 — 원문 단위 「조」 · 조 편성 원문에 없음" + }, + { + "열쇠": "7-3-3 일반블록 거치", + "이름": "일반블록 거치", + "결과단위": "원/개", + "출처": "건설품셈 토목 7-3-3", + "소유": "공용", + "입력": [ + { "이름": "장소", "고르기": ["수상", "수중"], "출처": "건설품셈 토목 7-3-3" }, + { "이름": "중량", "고르기": ["5톤 미만", "5∼10t", "10∼15t", "15∼20t", "20∼30t", "30t 이상"], "출처": "건설품셈 토목 7-3-3" }, + { "이름": "작업량", "단위": "개/일", "출처": "건설품셈 토목 7-3-3" }, + { "이름": "보통인부인원", "단위": "인", "출처": "건설품셈 토목 7-3-3" } + ], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1003", + "이름": "특별인부", + "단위": "인", + "수량": "만약((장소 == '수중' 그리고 중량 == '5톤 미만') 또는 (장소 == '수중' 그리고 중량 == '5∼10t') 또는 (장소 == '수중' 그리고 중량 == '10∼15t') 또는 (장소 == '수중' 그리고 중량 == '15∼20t') 또는 (장소 == '수중' 그리고 중량 == '20∼30t') 또는 (장소 == '수중' 그리고 중량 == '30t 이상'), 0, 찾기(소요량:건설품셈:7-3-3 일반블록 거치, 장소=장소, 중량=중량).특별인부) / 작업량", + "비목": "노무비" + }, + { "종류": "인력", "요소": "인력:건설노임:1002", "이름": "보통인부", "단위": "인", "수량": "보통인부인원 / 작업량", "비목": "노무비" } + ], + "덧줄": [], + "끝수": null, + "비고": "해석: 일당 편성 인원 ÷ 1일 작업량(개) · 1일 작업량·보통인부 원문 범위 — 설계자 입력(주①) · 특별인부는 수상 · 잠수부는 수중(원문 표) · 선박 및 부장장비 손료·운전경비 별도 · 막힘: 잠수부 줄 빠짐 — 원문 단위 「조」 · 조 편성 원문에 없음" + }, + { + "열쇠": "7-3-4 소파블록 거치", + "이름": "소파블록 거치", + "결과단위": "원/개", + "출처": "건설품셈 토목 7-3-4", + "소유": "공용", + "입력": [ + { "이름": "장소", "고르기": ["수상", "수중"], "출처": "건설품셈 토목 7-3-4" }, + { "이름": "적재방식", "고르기": ["충적", "난적"], "출처": "건설품셈 토목 7-3-4" }, + { "이름": "중량", "고르기": ["2톤미만", "2∼5t", "5∼10t", "10∼15t", "15∼20t", "20∼30t", "30t이상"], "출처": "건설품셈 토목 7-3-4" }, + { "이름": "작업량", "단위": "개/일", "출처": "건설품셈 토목 7-3-4" }, + { "이름": "보통인부인원", "단위": "인", "출처": "건설품셈 토목 7-3-4" } + ], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1003", + "이름": "특별인부", + "단위": "인", + "수량": "만약((장소 == '수중' 그리고 적재방식 == '충적' 그리고 중량 == '2톤미만') 또는 (장소 == '수중' 그리고 적재방식 == '난적' 그리고 중량 == '2톤미만') 또는 (장소 == '수중' 그리고 적재방식 == '충적' 그리고 중량 == '2∼5t') 또는 (장소 == '수중' 그리고 적재방식 == '난적' 그리고 중량 == '2∼5t') 또는 (장소 == '수중' 그리고 적재방식 == '충적' 그리고 중량 == '5∼10t') 또는 (장소 == '수중' 그리고 적재방식 == '난적' 그리고 중량 == '5∼10t') 또는 (장소 == '수중' 그리고 적재방식 == '충적' 그리고 중량 == '10∼15t') 또는 (장소 == '수중' 그리고 적재방식 == '난적' 그리고 중량 == '10∼15t') 또는 (장소 == '수중' 그리고 적재방식 == '충적' 그리고 중량 == '15∼20t') 또는 (장소 == '수중' 그리고 적재방식 == '난적' 그리고 중량 == '15∼20t') 또는 (장소 == '수중' 그리고 적재방식 == '충적' 그리고 중량 == '20∼30t') 또는 (장소 == '수중' 그리고 적재방식 == '난적' 그리고 중량 == '20∼30t') 또는 (장소 == '수중' 그리고 적재방식 == '충적' 그리고 중량 == '30t이상') 또는 (장소 == '수중' 그리고 적재방식 == '난적' 그리고 중량 == '30t이상'), 0, 찾기(소요량:건설품셈:7-3-4 소파블록 거치, 장소=장소, 적재방식=적재방식, 중량=중량).특별인부) / 작업량", + "비목": "노무비" + }, + { "종류": "인력", "요소": "인력:건설노임:1002", "이름": "보통인부", "단위": "인", "수량": "보통인부인원 / 작업량", "비목": "노무비" } + ], + "덧줄": [], + "끝수": null, + "비고": "해석: 일당 편성 인원 ÷ 1일 작업량(개) · 1일 작업량·보통인부 원문 범위 — 설계자 입력(주①) · 특별인부는 수상 · 잠수부는 수중(원문 표) · 선박 및 부장장비 손료·운전경비 별도 · 막힘: 잠수부 줄 빠짐 — 원문 단위 「조」 · 조 편성 원문에 없음" + }, + { + "열쇠": "7-4-1 배송관 접합", + "이름": "준설 배송관 접합", + "결과단위": "원/개소", + "출처": "건설품셈 토목 7-4-1", + "소유": "공용", + "입력": [ + { + "이름": "관경", + "단위": "mm", + "고르기": ["250이하", "300", "350", "400", "510", "560", "610", "630", "660", "685", "710", "760", "840", "860"], + "출처": "건설품셈 토목 7-4-1" + }, + { "이름": "접합방식", "고르기": ["플랜지접합", "고무슬리브접합"], "출처": "건설품셈 토목 7-4-1" }, + { "이름": "작업", "고르기": ["설치", "철거"], "출처": "건설품셈 토목 7-4-1 주①" }, + { "이름": "철거감률", "단위": "%", "범위": [0, 30], "출처": "건설품셈 토목 7-4-1 주①" }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1040", + "이름": "배관공(수도)", + "단위": "인", + "수량": "찾기(소요량:건설품셈:7-4-1 배송관 접합, 관경=관경).배관공_수도 * (1 - 만약(작업 == '철거', 철거감률, 0) / 100)", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:건설품셈:7-4-1 배송관 접합, 관경=관경).보통인부 * (1 - 만약(작업 == '철거', 철거감률, 0) / 100)", + "비목": "노무비" + }, + { + "종류": "로직", + "요소": "로직(건설품셈:8 기계 시간당 경비, 기계='2105-0010', 지역=지역)", + "이름": "트럭탑재형 크레인 10ton", + "단위": "시간", + "수량": "만약(관경 == '760' 또는 관경 == '840' 또는 관경 == '860', 0, 만약(접합방식 == '플랜지접합', 찾기(소요량:건설품셈:7-4-1 배송관 접합, 관경=관경).크레인_플랜지접합, 찾기(소요량:건설품셈:7-4-1 배송관 접합, 관경=관경).크레인_고무슬리브접합) * (1 - 만약(작업 == '철거', 철거감률, 0) / 100))" + }, + { + "종류": "로직", + "요소": "로직(건설품셈:8 기계 시간당 경비, 기계='2105-0015', 지역=지역)", + "이름": "트럭탑재형 크레인 15ton", + "단위": "시간", + "수량": "만약(관경 == '760' 또는 관경 == '840' 또는 관경 == '860', 만약(접합방식 == '플랜지접합', 찾기(소요량:건설품셈:7-4-1 배송관 접합, 관경=관경).크레인_플랜지접합, 찾기(소요량:건설품셈:7-4-1 배송관 접합, 관경=관경).크레인_고무슬리브접합) * (1 - 만약(작업 == '철거', 철거감률, 0) / 100), 0)" + } + ], + "덧줄": [], + "끝수": null, + "비고": "크레인 규격 관경 200∼710 10톤 · 760 이상 15톤(주④ 장비규격 표) · 현장 여건상 같은 톤 크롤러·타이어 크레인 가능(주⑤) — 설계자 조정 · 철거는 본 품(인력+장비) 30%까지 감(주①) — 감률 설계자 입력 · 6m 직관 기준 · 소운반 포함 · 체결부 절단 별도" + }, + { + "열쇠": "7-4-2 배송관 띄우개 접합", + "이름": "배송관 띄우개(부함) 접합", + "결과단위": "원/본", + "출처": "건설품셈 토목 7-4-2", + "소유": "공용", + "입력": [ + { + "이름": "관경", + "단위": "mm", + "고르기": [430, 500, 600, 700, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600], + "출처": "건설품셈 토목 7-4-2" + }, + { "이름": "작업", "고르기": ["설치", "철거"], "출처": "건설품셈 토목 7-4-2 주①" }, + { "이름": "철거감률", "단위": "%", "범위": [0, 30], "출처": "건설품셈 토목 7-4-2 주①" }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1003", + "이름": "특별인부", + "단위": "인", + "수량": "찾기(소요량:건설품셈:7-4-2 배송관 띄우개 접합, 관경=관경).특별인부 * (1 - 만약(작업 == '철거', 철거감률, 0) / 100)", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:건설품셈:7-4-2 배송관 띄우개 접합, 관경=관경).보통인부 * (1 - 만약(작업 == '철거', 철거감률, 0) / 100)", + "비목": "노무비" + }, + { + "종류": "로직", + "요소": "로직(건설품셈:8 기계 시간당 경비, 기계='2105-0010', 지역=지역)", + "이름": "트럭탑재형 크레인 10ton", + "단위": "시간", + "수량": "만약(관경 >= 1500, 0, 찾기(소요량:건설품셈:7-4-2 배송관 띄우개 접합, 관경=관경).크레인 * (1 - 만약(작업 == '철거', 철거감률, 0) / 100))" + }, + { + "종류": "로직", + "요소": "로직(건설품셈:8 기계 시간당 경비, 기계='2105-0015', 지역=지역)", + "이름": "트럭탑재형 크레인 15ton", + "단위": "시간", + "수량": "만약(관경 >= 1500, 찾기(소요량:건설품셈:7-4-2 배송관 띄우개 접합, 관경=관경).크레인 * (1 - 만약(작업 == '철거', 철거감률, 0) / 100), 0)" + } + ], + "덧줄": [], + "끝수": null, + "비고": "크레인 규격 띄우개 관경 430∼1,400 10톤 · 1,500 이상 15톤(주③ 장비규격 표) · 같은 톤 크롤러·타이어 크레인 가능(주④) · 철거는 본 품 30%까지 감(주①) — 감률 설계자 입력 · 소운반 포함 · 체결부 절단 별도" + }, + { + "열쇠": "7-4-3 배송관 진수", + "이름": "배송관 진수", + "결과단위": "원/set", + "출처": "건설품셈 토목 7-4-3", + "소유": "공용", + "입력": [ + { + "이름": "배송관관경", + "단위": "mm", + "고르기": [200, 250, 300, 350, 400, 510, 560, 610, 630, 660, 685, 710, 760, 840, 860], + "출처": "건설품셈 토목 7-4-3" + }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:건설품셈:7-4-3 배송관 진수, 배송관관경=배송관관경).보통인부", + "비목": "노무비" + }, + { + "종류": "로직", + "요소": "로직(건설품셈:8 기계 시간당 경비, 기계='2105-0010', 지역=지역)", + "이름": "트럭탑재형 크레인 10ton", + "단위": "시간", + "수량": "만약(배송관관경 >= 760, 0, 찾기(소요량:건설품셈:7-4-3 배송관 진수, 배송관관경=배송관관경).크레인)" + }, + { + "종류": "로직", + "요소": "로직(건설품셈:8 기계 시간당 경비, 기계='2105-0015', 지역=지역)", + "이름": "트럭탑재형 크레인 15ton", + "단위": "시간", + "수량": "만약(배송관관경 >= 760, 찾기(소요량:건설품셈:7-4-3 배송관 진수, 배송관관경=배송관관경).크레인, 0)" + } + ], + "덧줄": [], + "끝수": null, + "비고": "크레인 규격 관경 200∼710 10톤 · 760 이상 15톤(주④ 장비규격 표) · 해상관 1set = 배송관 1본+고무슬리브 1본+띄우개 1본 · 침설관 1set = 배송관 2본+고무슬리브 1본 · 배송관 예인·침설 제외(주①)" + } + ] +} diff --git a/resources/master_data/소요량_건설품셈_토목7장.json b/resources/master_data/소요량_건설품셈_토목7장.json index 1f550d4e..5dfc6914 100644 --- a/resources/master_data/소요량_건설품셈_토목7장.json +++ b/resources/master_data/소요량_건설품셈_토목7장.json @@ -495,38 +495,38 @@ "값칸": { "석공": "인", "보통인부": "인", - "굴착기(1.0㎥)": "hr", - "크레인(10ton)": "hr" + "굴착기_1_0m3": "hr", + "크레인_10ton": "hr" }, "줄": [ { "작업구분": "기초고르기", "석공": 0.7, "보통인부": 0.42, - "굴착기(1.0㎥)": 1.72 + "굴착기_1_0m3": 1.72 }, { "작업구분": "피복석 고르기", "석공": 0.62, "보통인부": 0.39, - "크레인(10ton)": 1.53 + "크레인_10ton": 1.53 }, { "작업구분": "피복석 거친고르기", "석공": 0.55, "보통인부": 0.36, - "크레인(10ton)": 1.36 + "크레인_10ton": 1.36 }, { "작업구분": "내부사석 고르기", "석공": 0.55, "보통인부": 0.36, - "굴착기(1.0㎥)": 1.36 + "굴착기_1_0m3": 1.36 }, { "작업구분": "필터사석 고르기", "석공": 0.07, - "굴착기(1.0㎥)": 0.31 + "굴착기_1_0m3": 0.31 } ], "주": [] @@ -1498,7 +1498,7 @@ "관경": "고르기" }, "값칸": { - "배관공(수도)": "인", + "배관공_수도": "인", "보통인부": "인", "크레인_플랜지접합": "hr", "크레인_고무슬리브접합": "hr" @@ -1506,98 +1506,98 @@ "줄": [ { "관경": "250이하", - "배관공(수도)": 0.03, + "배관공_수도": 0.03, "보통인부": 0.02, "크레인_플랜지접합": 0.22, "크레인_고무슬리브접합": 0.18 }, { "관경": "300", - "배관공(수도)": 0.03, + "배관공_수도": 0.03, "보통인부": 0.02, "크레인_플랜지접합": 0.24, "크레인_고무슬리브접합": 0.19 }, { "관경": "350", - "배관공(수도)": 0.04, + "배관공_수도": 0.04, "보통인부": 0.02, "크레인_플랜지접합": 0.25, "크레인_고무슬리브접합": 0.2 }, { "관경": "400", - "배관공(수도)": 0.04, + "배관공_수도": 0.04, "보통인부": 0.03, "크레인_플랜지접합": 0.27, "크레인_고무슬리브접합": 0.22 }, { "관경": "510", - "배관공(수도)": 0.06, + "배관공_수도": 0.06, "보통인부": 0.04, "크레인_플랜지접합": 0.33, "크레인_고무슬리브접합": 0.26 }, { "관경": "560", - "배관공(수도)": 0.07, + "배관공_수도": 0.07, "보통인부": 0.04, "크레인_플랜지접합": 0.36, "크레인_고무슬리브접합": 0.29 }, { "관경": "610", - "배관공(수도)": 0.08, + "배관공_수도": 0.08, "보통인부": 0.04, "크레인_플랜지접합": 0.38, "크레인_고무슬리브접합": 0.3 }, { "관경": "630", - "배관공(수도)": 0.09, + "배관공_수도": 0.09, "보통인부": 0.05, "크레인_플랜지접합": 0.39, "크레인_고무슬리브접합": 0.31 }, { "관경": "660", - "배관공(수도)": 0.09, + "배관공_수도": 0.09, "보통인부": 0.05, "크레인_플랜지접합": 0.4, "크레인_고무슬리브접합": 0.32 }, { "관경": "685", - "배관공(수도)": 0.1, + "배관공_수도": 0.1, "보통인부": 0.05, "크레인_플랜지접합": 0.41, "크레인_고무슬리브접합": 0.33 }, { "관경": "710", - "배관공(수도)": 0.1, + "배관공_수도": 0.1, "보통인부": 0.05, "크레인_플랜지접합": 0.42, "크레인_고무슬리브접합": 0.34 }, { "관경": "760", - "배관공(수도)": 0.11, + "배관공_수도": 0.11, "보통인부": 0.05, "크레인_플랜지접합": 0.43, "크레인_고무슬리브접합": 0.34 }, { "관경": "840", - "배관공(수도)": 0.12, + "배관공_수도": 0.12, "보통인부": 0.06, "크레인_플랜지접합": 0.47, "크레인_고무슬리브접합": 0.38 }, { "관경": "860", - "배관공(수도)": 0.12, + "배관공_수도": 0.12, "보통인부": 0.06, "크레인_플랜지접합": 0.48, "크레인_고무슬리브접합": 0.38 diff --git a/resources/tester/test_masterdata_check.py b/resources/tester/test_masterdata_check.py index b09b0087..7b36fbb2 100644 --- a/resources/tester/test_masterdata_check.py +++ b/resources/tester/test_masterdata_check.py @@ -25,6 +25,7 @@ SAMPLES = [ "로직_건설품셈_토목4장.json", "로직_건설품셈_토목5장.json", "로직_건설품셈_토목6장.json", + "로직_건설품셈_토목7장.json", "로직_산림품셈_03장.json", "로직_산림품셈_04장.json", "로직_산림품셈_05장.json", @@ -334,6 +335,21 @@ def test_토목_강교_제작공수_보정(whole): assert got["줄"][0]["수량"] == want +def test_토목_배송관_철거_크레인_규격(whole): + """토목 7-4-1 — 관경 760 이상은 15톤 크레인 · 철거 감률은 인력·장비 모두.""" + given = { + "관경": "840", + "접합방식": "플랜지접합", + "작업": "철거", + "철거감률": 30, + "지역": "전국평균", + } + got = {x["이름"]: x["수량"] for x in mf.run(whole, "건설품셈:7-4-1 배송관 접합", given)["줄"]} + assert got["배관공(수도)"] == Decimal("0.12") * Decimal("0.7") + assert got["트럭탑재형 크레인 10ton"] == 0 + assert got["트럭탑재형 크레인 15ton"] == Decimal("0.47") * Decimal("0.7") + + def test_범위_입력은_막음(whole): with pytest.raises(mf.FormulaError): mf.run(