diff --git a/resources/master_data/로직_산림품셈_06장.json b/resources/master_data/로직_산림품셈_06장.json new file mode 100644 index 00000000..a0626b9c --- /dev/null +++ b/resources/master_data/로직_산림품셈_06장.json @@ -0,0 +1,512 @@ +{ + "그룹": "로직", + "원문": "산림품셈", + "판": "2026-01-01", + "줄": [ + { + "열쇠": "6-1 비료주기", + "이름": "비료주기", + "결과단위": "원/100kg", + "출처": "산림품셈 6-1", + "소유": "공용", + "입력": [ + { "이름": "구분", "고르기": ["인공림(10년이하 조림지)", "인공림(10년초과 성림지)", "천연림"] }, + { "이름": "시비방법", "고르기": ["환상시비", "수평구시비", "해당 없음"] }, + { "이름": "돌함량", "고르기": ["돌함량 30%이상·나무뿌리 밀 분포", "돌함량 10~30%·나무뿌리 보통 분포", "해당 없음"] }, + { "이름": "풀베기", "고르기": ["비료주기 전 풀베기 미실시", "해당 없음"] } + ], + "중간": [ + { + "이름": "할증", + "식": "만약(시비방법 == '해당 없음', 0, 찾기(소요량:산림품셈:6-1 비료주기 할증률, 항목=시비방법).할증률) + 만약(돌함량 == '해당 없음', 0, 찾기(소요량:산림품셈:6-1 비료주기 할증률, 항목=돌함량).할증률) + 만약(풀베기 == '해당 없음', 0, 찾기(소요량:산림품셈:6-1 비료주기 할증률, 항목=풀베기).할증률)", + "출처": "산림품셈 6-1 주①②③" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "(찾기(소요량:산림품셈:6-1 비료주기, 구분=구분).소요인력) * (1 + 할증 / 100)", + "비목": "노무비" + } + ], + "덧줄": [], + "끝수": null, + "비고": "해석: 할인·할증은 합산해 품에 곱함(1-4-21 주③) · 해석: 1-4-10 토양상태는 주② 돌함량 할증과 같은 조건이라 겹쳐 넣지 않음 · 비료 재료 원문 표에 없음 · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-6 이동거리(조건 「작업장까지 이동거리」 빈칸 · 범위규칙이 글) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "6-2-1 둘레베기", + "이름": "둘레베기", + "결과단위": "원/100본", + "출처": "산림품셈 6-2-1", + "소유": "공용", + "입력": [], + "중간": [], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1002", "이름": "보통인부", "단위": "인", "수량": "찾기(소요량:산림품셈:6-2-1 둘레베기).소요인력", "비목": "노무비" } + ], + "덧줄": [], + "끝수": null, + "비고": "조림목 본수 = 표준지 생육본수(주②) · 할인·할증 못 넣음 — 1-4-3 집단화정도(조건 「개소당 평균면적」 빈칸 · 범위규칙이 글) · 1-4-5 경사도(값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "6-2-2 줄베기", + "이름": "줄베기", + "결과단위": "원/ha", + "출처": "산림품셈 6-2-2", + "소유": "공용", + "입력": [ + { "이름": "조림목본수", "단위": "본/ha" }, + { "이름": "규모", "고르기": ["1,500본 미만", "1,500본 이상 3,000본 미만", "3,000본 이상"] }, + { "이름": "예취기가격", "단위": "원" }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [{ "이름": "특별", "식": "찾기(소요량:산림품셈:6-2-2 줄베기, 공법='줄베기', 규모=규모).소요인력" }], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:6-2-2 줄베기, 공법='묘목찾기').소요인력 * 조림목본수 / 100", + "비목": "노무비", + "출처": "산림품셈 6-2-2 「묘목찾기」" + }, + { "종류": "인력", "요소": "인력:건설노임:1003", "이름": "특별인부", "단위": "인", "수량": "특별", "비목": "노무비", "출처": "산림품셈 6-2-2 「줄베기」" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:휘발유:{지역}", + "이름": "휘발유(예취기)", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='예취기(휘발유)').주연료 * 특별", + "비목": "재료비", + "출처": "산림품셈 2-1-1" + } + ], + "덧줄": [ + { + "이름": "잡품", + "식": "재료비 * 찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='예취기(휘발유)').잡품 / 100", + "비목": "재료비", + "출처": "산림품셈 2-1-1 주「잡품」" + }, + { "이름": "예취기 손료", "식": "특별 * 기계:산림품셈:2-2-2 예취기.손료계수 * 예취기가격", "비목": "경비", "출처": "산림품셈 2-2-2" } + ], + "끝수": null, + "비고": "묘목찾기 + 줄베기 품 합산(주④⑤) · 예취기 가격 원문에 없음(시중가격) — 설계자 입력 · 예취기 대수 = 특별인부(2-1-1 「1대당 1인」) · 할인·할증 못 넣음 — 1-4-2 조림 후 경과연수(조건 빈칸) · 1-4-3 집단화정도(조건 「개소당 평균면적」 빈칸 · 범위규칙이 글) · 1-4-5 경사도(값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "6-2-3 모두베기", + "이름": "모두베기", + "결과단위": "원/ha", + "출처": "산림품셈 6-2-3", + "소유": "공용", + "입력": [ + { "이름": "조림목본수", "단위": "본/ha" }, + { "이름": "시기", "고르기": ["조림 당해 연도(전년도 추기조림 포함)", "조림 2년차", "조림 3년차 이상"] }, + { "이름": "예취기가격", "단위": "원" }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [{ "이름": "특별", "식": "찾기(소요량:산림품셈:6-2-3 모두베기, 공법='모두베기', 시기=시기).소요인력" }], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:6-2-3 모두베기, 공법='묘목찾기').소요인력 * 조림목본수 / 100", + "비목": "노무비", + "출처": "산림품셈 6-2-3 「묘목찾기」" + }, + { "종류": "인력", "요소": "인력:건설노임:1003", "이름": "특별인부", "단위": "인", "수량": "특별", "비목": "노무비", "출처": "산림품셈 6-2-3 「모두베기」" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:휘발유:{지역}", + "이름": "휘발유(예취기)", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='예취기(휘발유)').주연료 * 특별", + "비목": "재료비", + "출처": "산림품셈 2-1-1" + } + ], + "덧줄": [ + { + "이름": "잡품", + "식": "재료비 * 찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='예취기(휘발유)').잡품 / 100", + "비목": "재료비", + "출처": "산림품셈 2-1-1 주「잡품」" + }, + { "이름": "예취기 손료", "식": "특별 * 기계:산림품셈:2-2-2 예취기.손료계수 * 예취기가격", "비목": "경비", "출처": "산림품셈 2-2-2" } + ], + "끝수": null, + "비고": "묘목찾기 + 모두베기 품 합산(주④⑤) · 예취기 가격 원문에 없음(시중가격) — 설계자 입력 · 예취기 대수 = 특별인부(2-1-1 「1대당 1인」) · 할인·할증 못 넣음 — 1-4-3 집단화정도(조건 「개소당 평균면적」 빈칸 · 범위규칙이 글) · 1-4-5 경사도(값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "6-3 맹아제거", + "이름": "맹아제거", + "결과단위": "원/100본", + "출처": "산림품셈 6-3", + "소유": "공용", + "입력": [], + "중간": [], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1002", "이름": "보통인부", "단위": "인", "수량": "찾기(소요량:산림품셈:6-3 맹아제거).소요인력", "비목": "노무비" } + ], + "덧줄": [], + "끝수": null, + "비고": "모두베기에 중복 적용 못 함(주④) · 할인·할증 못 넣음 — 1-4-3 집단화정도(조건 「개소당 평균면적」 빈칸 · 범위규칙이 글) · 1-4-5 경사도(값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "6-4-1 덩굴걷기", + "이름": "덩굴걷기(기계작업)", + "결과단위": "원/ha", + "출처": "산림품셈 6-4-1", + "소유": "공용", + "입력": [ + { "이름": "예취기가격", "단위": "원" }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [{ "이름": "특별", "식": "찾기(소요량:산림품셈:6-4-1 덩굴걷기, 구분='기계작업').소요인력" }], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1003", "이름": "특별인부", "단위": "인", "수량": "특별", "비목": "노무비" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:휘발유:{지역}", + "이름": "휘발유(예취기)", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='예취기(휘발유)').주연료 * 특별", + "비목": "재료비", + "출처": "산림품셈 2-1-1" + } + ], + "덧줄": [ + { + "이름": "잡품", + "식": "재료비 * 찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='예취기(휘발유)').잡품 / 100", + "비목": "재료비", + "출처": "산림품셈 2-1-1 주「잡품」" + }, + { "이름": "예취기 손료", "식": "특별 * 기계:산림품셈:2-2-2 예취기.손료계수 * 예취기가격", "비목": "경비", "출처": "산림품셈 2-2-2" } + ], + "끝수": null, + "비고": "예취기 가격 원문에 없음(시중가격) — 설계자 입력 · 예취기 대수 = 특별인부(2-1-1 「1대당 1인」) · 할인·할증 못 넣음 — 1-4-1 작업시기(범위규칙이 글) · 1-4-3 집단화정도(조건 「개소당 평균면적」 빈칸 · 범위규칙이 글) · 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-11 덩굴피복도(조건 빈칸 · 값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "6-4-2 덩굴 약제 살포처리", + "이름": "덩굴 약제 살포처리", + "결과단위": "원/ha", + "출처": "산림품셈 6-4-2", + "소유": "공용", + "입력": [{ "이름": "피복도", "고르기": ["밀(60~80%미만)", "과소(20%미만)", "해당 없음"] }, { "이름": "분무기가격", "단위": "원" }], + "중간": [ + { "이름": "특별", "식": "찾기(소요량:산림품셈:6-4-2 덩굴 약제 살포처리, 구분='약제살포').소요인력" }, + { + "이름": "증감", + "식": "만약(피복도 == '해당 없음', 0, 찾기(소요량:산림품셈:2-1-5-1 덩굴 약제처리 피복도별 증감률, 피복도=피복도).증감률)", + "출처": "산림품셈 2-1-5-1 주②" + } + ], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1003", "이름": "특별인부", "단위": "인", "수량": "특별", "비목": "노무비", "출처": "산림품셈 6-4-2 「약제살포」" }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:6-4-2 덩굴 약제 살포처리, 구분='작업보조').소요인력", + "비목": "노무비", + "출처": "산림품셈 6-4-2 「작업보조」" + }, + { + "종류": "재료", + "요소": "재료:자체:농약(Fluroxypyr-meptyl+Triclypyr-TEA 미탁제)", + "이름": "농약(Fluroxypyr-meptyl+Triclypyr-TEA 미탁제)", + "단위": "병", + "수량": "찾기(소요량:산림품셈:2-1-5-1 덩굴 약제처리).주재료 * (1 + 증감 / 100)", + "비목": "재료비", + "출처": "산림품셈 2-1-5-1 · 주②" + } + ], + "덧줄": [ + { "이름": "잡품", "식": "재료비 * 찾기(소요량:산림품셈:2-1-5-1 덩굴 약제처리).잡품 / 100", "비목": "재료비", "출처": "산림품셈 2-1-5-1 주③" }, + { "이름": "분무기 손료", "식": "특별 * 기계:산림품셈:2-2-4 배부식분무기.손료계수 * 분무기가격", "비목": "경비", "출처": "산림품셈 2-2-4" } + ], + "끝수": null, + "비고": "농약 = 재료_자체(공시 없음) · 해석: 분무기 대수 = 약제살포 특별인부(2-2-4 「1대당 1인」) · 분무기 가격 원문에 없음 — 설계자 입력 · 피복도 증감 표는 밀 · 과소 두 줄뿐(보통 = 해당 없음) · 할인·할증 못 넣음 — 1-4-1 작업시기(범위규칙이 글) · 1-4-3 집단화정도(조건 「개소당 평균면적」 빈칸 · 범위규칙이 글) · 1-4-5 경사도(값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "6-5 어린나무 가꾸기", + "이름": "어린나무 가꾸기", + "결과단위": "원/ha", + "출처": "산림품셈 6-5", + "소유": "공용", + "입력": [ + { "이름": "대상지유형", "고르기": ["치수림 단계", "유령림 단계"] }, + { "이름": "소작업로", "단위": "km/ha" }, + { "이름": "체인톱가격", "단위": "원" }, + { "이름": "체인오일단가", "단위": "원/ℓ" }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [ + { "이름": "작업로인력", "식": "소작업로 * 찾기(소요량:산림품셈:6-5 소작업로 설치 기준, 구분='소작업로 설치 인력').적용", "출처": "산림품셈 6-5 주② · 소요인력 산출 1" }, + { "이름": "특별", "식": "찾기(소요량:산림품셈:6-5 어린나무 가꾸기, 인력구분='특별인부(체인톱 사용)', 대상지유형=대상지유형).소요인력 + 작업로인력 * 0.5" } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1003", + "이름": "특별인부", + "단위": "인", + "수량": "특별", + "비목": "노무비", + "출처": "산림품셈 6-5 「특별인부(체인톱 사용)」 · 소작업로 50%" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:6-5 어린나무 가꾸기, 인력구분='보통인부(작업 보조)').소요인력 + 작업로인력 * 0.5", + "비목": "노무비", + "출처": "산림품셈 6-5 「보통인부(작업 보조)」 · 소작업로 50%" + }, + { + "종류": "재료", + "요소": "재료:오피넷유가:휘발유:{지역}", + "이름": "휘발유(체인톱)", + "단위": "ℓ", + "수량": "특별 * 찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='체인톱', 재료명='보통휘발유(주연료)').주연료", + "비목": "재료비", + "출처": "산림품셈 2-1-1 주③" + } + ], + "덧줄": [ + { + "이름": "잡품", + "식": "재료비 * 찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='체인톱', 재료명='보통휘발유(주연료)').잡품 / 100", + "비목": "재료비", + "출처": "산림품셈 2-1-1 주⑤" + }, + { + "이름": "체인오일", + "식": "특별 * 찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='체인톱', 재료명='체인오일(일반오일)').주연료 * 체인오일단가", + "비목": "재료비", + "출처": "산림품셈 2-1-1 주④" + }, + { "이름": "체인톱 손료", "식": "특별 * 기계:산림품셈:2-2-1 체인톱.손료계수 * 체인톱가격", "비목": "경비", "출처": "산림품셈 2-2-1" } + ], + "끝수": null, + "비고": "소작업로 = ha당 소작업로 길이(없으면 0 · 인력구성 특별 1.0 · 보통 1.0 — 소요인력 산출 1) · 해석: 체인톱 대수 = 특별인부 100%(2-1-1 비고) · 체인톱 가격 · 체인오일 단가 원문에 없음(시중가격) — 설계자 입력 · 덩굴걷기 추가는 6-4-1 따로(주③) · 할인·할증 못 넣음 — 1-4-1 작업시기(범위규칙이 글) · 1-4-3 집단화정도(조건 「개소당 평균면적」 빈칸 · 범위규칙이 글) · 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-12 제거대상 피복도(조건 빈칸 · 값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "6-6 가지치기 및 수형교정", + "이름": "가지치기 및 수형교정", + "결과단위": "원/100본", + "출처": "산림품셈 6-6", + "소유": "공용", + "입력": [ + { "이름": "가지치기높이", "고르기": ["0~0.5m", "0.5~1m", "0~1m", "0~2m", "0~4m", "2~4m", "4~6m"] }, + { "이름": "수종", "고르기": ["소나무낙엽송", "잣나무리기다", "편백", "활엽수"] } + ], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "만약(수종 == '소나무낙엽송', 찾기(소요량:산림품셈:6-6 가지치기 및 수형교정, 가지치기높이=가지치기높이).소나무낙엽송, 만약(수종 == '잣나무리기다', 찾기(소요량:산림품셈:6-6 가지치기 및 수형교정, 가지치기높이=가지치기높이).잣나무리기다, 만약(수종 == '편백', 찾기(소요량:산림품셈:6-6 가지치기 및 수형교정, 가지치기높이=가지치기높이).편백, 찾기(소요량:산림품셈:6-6 가지치기 및 수형교정, 가지치기높이=가지치기높이).활엽수)))", + "비목": "노무비" + } + ], + "덧줄": [], + "끝수": null, + "비고": "표에 없는 구간은 중간품 산출(주② · 설계자 몫) · 할인·할증 못 넣음 — 1-4-3 집단화정도(조건 「개소당 평균면적」 빈칸 · 범위규칙이 글) · 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-8 장애물의 정도(조건 「장애물의 정도」 빈칸) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "6-7-2 관목 시비", + "이름": "관목 시비", + "결과단위": "원/100㎡", + "출처": "산림품셈 6-7-2", + "소유": "공용", + "입력": [], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1003", + "이름": "특별인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:6-7-2 관목 시비, 명칭='특별인부').수량", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:6-7-2 관목 시비, 명칭='보통인부').수량", + "비목": "노무비" + } + ], + "덧줄": [], + "끝수": null, + "비고": "비료 종류·수량은 설계자 몫(주②)" + }, + { + "열쇠": "6-7-3 초본류 시비", + "이름": "초본류 시비", + "결과단위": "원/10,000㎡", + "출처": "산림품셈 6-7-3", + "소유": "공용", + "입력": [{ "이름": "증감률", "단위": "%", "범위": [-20, 20] }], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1003", + "이름": "특별인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:6-7-3 초본류 시비, 명칭='특별인부').수량 * (1 + 증감률 / 100)", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:6-7-3 초본류 시비, 명칭='보통인부').수량 * (1 + 증감률 / 100)", + "비목": "노무비" + } + ], + "덧줄": [], + "끝수": null, + "비고": "살포량 300∼700㎏ 밖이면 20% 범위 증감(주① · 설계자 몫) · 트럭(2.5t) 2.6시간 못 넣음 — 기계 요소 없음 · 비료 별도(주②)" + }, + { + "열쇠": "6-8 목재칩 포설", + "이름": "목재칩 포설", + "결과단위": "원/㎡", + "출처": "산림품셈 6-8", + "소유": "공용", + "입력": [], + "중간": [], + "호표": [ + { + "종류": "재료", + "요소": "재료:자체:우드칩", + "이름": "우드칩", + "단위": "㎥", + "수량": "찾기(소요량:산림품셈:6-8 목재칩 포설, 구분='우드칩').수량", + "비목": "재료비", + "출처": "산림품셈 6-8 「분쇄목 T10cm 기준」" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:6-8 목재칩 포설, 구분='보통인부').수량", + "비목": "노무비" + } + ], + "덧줄": [], + "끝수": null, + "비고": "우드칩 = 재료_자체(공시 없음) · 소운반 0.11 Ton(L20m 리어카) 못 넣음 — 리어카 소운반 로직 없음" + } + ] +} diff --git a/resources/master_data/로직_산림품셈_07장.json b/resources/master_data/로직_산림품셈_07장.json new file mode 100644 index 00000000..91d0a58e --- /dev/null +++ b/resources/master_data/로직_산림품셈_07장.json @@ -0,0 +1,869 @@ +{ + "그룹": "로직", + "원문": "산림품셈", + "판": "2026-01-01", + "줄": [ + { + "열쇠": "7-1-2 숲가꾸기·병해충방제", + "이름": "인력집재 숲가꾸기·병해충방제", + "결과단위": "원/㎥", + "출처": "산림품셈 7-1-2", + "소유": "공용", + "입력": [ + { "이름": "집재거리", "단위": "m" }, + { "이름": "구분", "고르기": ["숲가꾸기", "병해충방제"] }, + { "이름": "간벌재직경", "단위": "㎝", "고르기": [8, 10, 12, 14, 16, 18, 20, 22] }, + { "이름": "작업", "고르기": ["일반", "소나무재선충병방제"] }, + { "이름": "집재방향", "고르기": ["상향집재", "하향집재"] }, + { "이름": "경사", "고르기": ["급(30°초과)", "중(15~30°)", "완(15° 미만)"] } + ], + "중간": [ + { + "이름": "할증", + "식": "만약(작업 == '소나무재선충병방제' 그리고 집재방향 == '상향집재', 찾기(계수:산림품셈:1-4-14 집재방향, 구분='소나무재선충병 인력에 의한 원목 및 재해산물 수집', 집재방향='상향집재', 경사=경사).할증률, 0)", + "출처": "산림품셈 7-1-2 주③ · 1-4-14" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "(1 / 찾기(소요량:산림품셈:7-1-2 숲가꾸기·병해충방제, 집재거리=집재거리, 구분=구분, 간벌재직경=간벌재직경).수량) * (1 + 할증 / 100)", + "비목": "노무비" + } + ], + "덧줄": [], + "끝수": null, + "비고": "집재거리 = 평균 집재거리(최대거리의 1/2 · 주②) · 간벌재직경 22 = 「22이상」(병해충방제만) · 1-4-14 는 소나무재선충병방제만 · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-8 장애물의 정도(조건 「장애물의 정도」 빈칸) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "7-3 아키야윈치 집재", + "이름": "아키야윈치 집재", + "결과단위": "원/㎥", + "출처": "산림품셈 7-3", + "소유": "공용", + "입력": [ + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [{ "이름": "Q", "식": "찾기(소요량:산림품셈:7-3 아키야윈치 집재, 집재거리='50m 내외').수집량" }, { "이름": "일수", "식": "1 / Q" }], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1003", "이름": "특별인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1002", "이름": "보통인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:휘발유:{지역}", + "이름": "휘발유(아키아윈치(휘발유))", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='아키아윈치(휘발유)').주연료 * 일수", + "비목": "재료비", + "출처": "산림품셈 2-1-1" + } + ], + "덧줄": [ + { + "이름": "잡품", + "식": "재료비 * 찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='아키아윈치(휘발유)').잡품 / 100", + "비목": "재료비", + "출처": "산림품셈 2-1-1 주「잡품」" + }, + { + "이름": "기계손료", + "식": "기계:산림품셈:2-2-3 아키아윈치.손료계수 * 기계:산림품셈:2-2-3 아키아윈치.장비가격 * 1000 * 일수", + "비목": "경비", + "출처": "산림품셈 2-2-3" + } + ], + "끝수": null, + "비고": "2인 1조(특별 1 · 보통 1) · 집재거리 = 최대거리 50m 내외(주①) · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-8 장애물의 정도(조건 「장애물의 정도」 빈칸) · 1-4-18 방제대상목 평균 경급(값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "7-4-1 소형가선 수확", + "이름": "소형가선 수확(2드럼 윈치)", + "결과단위": "원/㎥", + "출처": "산림품셈 7-4-1", + "소유": "공용", + "입력": [ + { "이름": "본당재적", "단위": "㎥", "고르기": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] }, + { "이름": "집재거리", "단위": "m" }, + { "이름": "집재방향", "고르기": ["상향집재", "하향집재"] }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [ + { "이름": "Q", "식": "찾기(소요량:산림품셈:7-4-1 소형가선 수확, 본당재적=본당재적, 집재거리=집재거리).수집량" }, + { + "이름": "할증", + "식": "찾기(계수:산림품셈:1-4-14 집재방향, 구분='가선을 이용한 기계장비의 원목․생산재 집재', 집재방향=집재방향).할증률", + "출처": "산림품셈 7-4-1 주⑤ · 1-4-14" + }, + { "이름": "일수", "식": "(1 / Q) * (1 + 할증 / 100)" } + ], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1003", "이름": "특별인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1002", "이름": "보통인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:휘발유:{지역}", + "이름": "휘발유(2드럼 케이블윈치(휘발유))", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='2드럼 케이블윈치(휘발유)').주연료 * 일수", + "비목": "재료비", + "출처": "산림품셈 2-1-1" + } + ], + "덧줄": [ + { + "이름": "잡품", + "식": "재료비 * 찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='2드럼 케이블윈치(휘발유)').잡품 / 100", + "비목": "재료비", + "출처": "산림품셈 2-1-1 주「잡품」" + }, + { + "이름": "기계손료", + "식": "기계:산림품셈:2-2-3 2드럼 케이블윈치.손료계수 * 기계:산림품셈:2-2-3 2드럼 케이블윈치.장비가격 * 1000 * 일수", + "비목": "경비", + "출처": "산림품셈 2-2-3" + } + ], + "끝수": null, + "비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 해석: 할증을 인력 · 연료 · 손료(가동일)에 함께 곱함 · 집재량은 구간별 면적비율로 차등(주③ · 설계자 몫) · 경계값(아래 끝 수 그대로)은 못 찾음 — 범위규칙 「이하 · 이상 · 두 수는 양 끝 포함」 을 엔진이 「이하」로만 읽음 · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-15 횡단운반거리(범위규칙이 글) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "7-4-2 소형가선 숲가꾸기·산림병해충방제", + "이름": "소형가선 숲가꾸기·산림병해충방제(2드럼 윈치)", + "결과단위": "원/㎥", + "출처": "산림품셈 7-4-2", + "소유": "공용", + "입력": [ + { "이름": "집재거리", "단위": "m" }, + { "이름": "작업", "고르기": ["숲가꾸기", "산림병해충·소나무재선충병 방제"] }, + { "이름": "평균경급", "고르기": ["20~26cm", "해당 없음"] }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [ + { + "이름": "Q", + "식": "찾기(소요량:산림품셈:7-4-2 소형가선 숲가꾸기·산림병해충방제, 구분='집재량', 집재거리=집재거리).수집량 * (1 + 만약(작업 == '숲가꾸기', 0, 찾기(계수:산림품셈:7-4-2 주 계산용 수, 구분='방제 산물 수집량 가산').적용) / 100)" + }, + { "이름": "할증", "식": "만약(평균경급 == '해당 없음', 0, 찾기(계수:산림품셈:7-4-2 주 계산용 수, 구분='총 소요인력 할증').적용)", "출처": "산림품셈 7-4-2 주②" }, + { "이름": "일수", "식": "(1 / Q) * (1 + 할증 / 100)" } + ], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1003", "이름": "특별인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1002", "이름": "보통인부", "단위": "인", "수량": "2 * 일수", "비목": "노무비" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:휘발유:{지역}", + "이름": "휘발유(2드럼 케이블윈치(휘발유))", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='2드럼 케이블윈치(휘발유)').주연료 * 일수", + "비목": "재료비", + "출처": "산림품셈 2-1-1" + } + ], + "덧줄": [ + { + "이름": "잡품", + "식": "재료비 * 찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='2드럼 케이블윈치(휘발유)').잡품 / 100", + "비목": "재료비", + "출처": "산림품셈 2-1-1 주「잡품」" + }, + { + "이름": "기계손료", + "식": "기계:산림품셈:2-2-3 2드럼 케이블윈치.손료계수 * 기계:산림품셈:2-2-3 2드럼 케이블윈치.장비가격 * 1000 * 일수", + "비목": "경비", + "출처": "산림품셈 2-2-3" + } + ], + "끝수": null, + "비고": "방제 산물 수집량 33% 가산(주③) · 평균경급 20∼26cm 면 총 소요인력 10% 할증(주②) · 해석: 할증을 인력 · 연료 · 손료(가동일)에 함께 곱함 · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-8 장애물의 정도(조건 「장애물의 정도」 빈칸) · 1-4-18 방제대상목 평균 경급(값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "7-5-1 트랙터부착형 수확", + "이름": "트랙터부착형 수확(지면끌기)", + "결과단위": "원/㎥", + "출처": "산림품셈 7-5-1", + "소유": "공용", + "입력": [ + { "이름": "본당재적", "단위": "㎥", "고르기": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] }, + { "이름": "집재거리", "단위": "m" }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [{ "이름": "Q", "식": "찾기(소요량:산림품셈:7-5-1 트랙터부착형 수확, 본당재적=본당재적, 집재거리=집재거리).수집량" }, { "이름": "일수", "식": "1 / Q" }], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1003", "이름": "특별인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1002", "이름": "보통인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:경유:{지역}", + "이름": "경유(임업용동력집재기)", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-2 경유, 기계명='임업용동력집재기').주연료 * 일수", + "비목": "재료비", + "출처": "산림품셈 2-1-2" + } + ], + "덧줄": [ + { "이름": "잡품", "식": "재료비 * 찾기(소요량:산림품셈:2-1-2 경유, 기계명='임업용동력집재기').잡품 / 100", "비목": "재료비", "출처": "산림품셈 2-1-2 주「잡품」" }, + { + "이름": "기계손료", + "식": "기계:산림품셈:2-2-3 임업용 동력집재기(트랙터부착형).손료계수 * 기계:산림품셈:2-2-3 임업용 동력집재기(트랙터부착형).장비가격 * 1000 * 일수", + "비목": "경비", + "출처": "산림품셈 2-2-3" + } + ], + "끝수": null, + "비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 집재량은 구간별 면적비율로 차등(주② · 설계자 몫) · 경계값(아래 끝 수 그대로)은 못 찾음 — 범위규칙 「이하 · 이상 · 두 수는 양 끝 포함」 을 엔진이 「이하」로만 읽음 · 1-4-14 못 넣음 — 트랙터부착형(지면끌기) 갈래 없음 · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "7-6 스윙야더 집재", + "이름": "스윙야더 집재", + "결과단위": "원/㎥", + "출처": "산림품셈 7-6", + "소유": "공용", + "입력": [ + { "이름": "집재거리", "단위": "m" }, + { "이름": "집재방향", "고르기": ["상향집재", "하향집재"] }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [ + { "이름": "Q", "식": "찾기(소요량:산림품셈:7-6 스윙야더 집재, 집재거리=집재거리).수집량" }, + { + "이름": "할증", + "식": "찾기(계수:산림품셈:1-4-14 집재방향, 구분='가선을 이용한 기계장비의 원목․생산재 집재', 집재방향=집재방향).할증률", + "출처": "산림품셈 7-6 주② · 1-4-14" + }, + { "이름": "일수", "식": "(1 / Q) * (1 + 할증 / 100)" } + ], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1003", "이름": "특별인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1002", "이름": "보통인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:경유:{지역}", + "이름": "경유(스윙야더)", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-2 경유, 기계명='스윙야더').주연료 * 일수", + "비목": "재료비", + "출처": "산림품셈 2-1-2" + } + ], + "덧줄": [ + { "이름": "잡품", "식": "재료비 * 찾기(소요량:산림품셈:2-1-2 경유, 기계명='스윙야더').잡품 / 100", "비목": "재료비", "출처": "산림품셈 2-1-2 주「잡품」" }, + { + "이름": "기계손료", + "식": "기계:산림품셈:2-2-3 스윙야더(기본차량 포함).손료계수 * 기계:산림품셈:2-2-3 스윙야더(기본차량 포함).장비가격 * 1000 * 일수", + "비목": "경비", + "출처": "산림품셈 2-2-3" + } + ], + "끝수": null, + "비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 해석: 할증을 인력 · 연료 · 손료(가동일)에 함께 곱함 · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-15 횡단운반거리(범위규칙이 글) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "7-7-1 HAM200 수확", + "이름": "HAM200 수확", + "결과단위": "원/㎥", + "출처": "산림품셈 7-7-1", + "소유": "공용", + "입력": [ + { "이름": "본당재적", "단위": "㎥", "고르기": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] }, + { "이름": "집재거리", "단위": "m" }, + { "이름": "집재방향", "고르기": ["상향집재", "하향집재"] }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [ + { "이름": "Q", "식": "찾기(소요량:산림품셈:7-7-1 HAM200 수확, 본당재적=본당재적, 집재거리=집재거리).수집량" }, + { + "이름": "할증", + "식": "찾기(계수:산림품셈:1-4-14 집재방향, 구분='가선을 이용한 기계장비의 원목․생산재 집재', 집재방향=집재방향).할증률", + "출처": "산림품셈 7-7-1 주⑤ · 1-4-14" + }, + { "이름": "일수", "식": "(1 / Q) * (1 + 할증 / 100)" } + ], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1003", "이름": "특별인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1002", "이름": "보통인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:경유:{지역}", + "이름": "경유(트랙터 부착 기계)", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-2 경유, 기계명='트랙터 부착 기계').주연료 * 일수", + "비목": "재료비", + "출처": "산림품셈 2-1-2" + } + ], + "덧줄": [ + { "이름": "잡품", "식": "재료비 * 찾기(소요량:산림품셈:2-1-2 경유, 기계명='트랙터 부착 기계').잡품 / 100", "비목": "재료비", "출처": "산림품셈 2-1-2 주「잡품」" } + ], + "끝수": null, + "비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 해석: 할증을 인력 · 연료 · 손료(가동일)에 함께 곱함 · 연료 = 2-1-2 트랙터 부착 기계(주① HAM200) · 기계손료 못 넣음 — 기계 열쇠 「2-2-3 HAM200, 춘천집재기, 스마트집재기」 에 쉼표(식이 열쇠를 끊음) · 경계값(아래 끝 수 그대로)은 못 찾음 — 범위규칙 「이하 · 이상 · 두 수는 양 끝 포함」 을 엔진이 「이하」로만 읽음 · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-15 횡단운반거리(범위규칙이 글) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "7-8-3 타워야더 집재", + "이름": "타워야더 집재", + "결과단위": "원/㎥", + "출처": "산림품셈 7-8-3", + "소유": "공용", + "입력": [ + { "이름": "본당재적", "단위": "㎥", "고르기": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] }, + { "이름": "집재거리", "단위": "m" }, + { "이름": "집재방향", "고르기": ["상향집재", "하향집재"] }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [ + { "이름": "Q", "식": "찾기(소요량:산림품셈:7-8-3 타워야더 집재, 본당재적=본당재적, 집재거리=집재거리).수집량" }, + { + "이름": "할증", + "식": "찾기(계수:산림품셈:1-4-14 집재방향, 구분='가선을 이용한 기계장비의 원목․생산재 집재', 집재방향=집재방향).할증률", + "출처": "산림품셈 7-8-3 주④ · 1-4-14" + }, + { "이름": "일수", "식": "(1 / Q) * (1 + 할증 / 100)" } + ], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1003", "이름": "특별인부", "단위": "인", "수량": "2 * 일수", "비목": "노무비" }, + { "종류": "인력", "요소": "인력:건설노임:1002", "이름": "보통인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:경유:{지역}", + "이름": "경유(타워야더(RME 300T))", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-2 경유, 기계명='타워야더(RME 300T)').주연료 * 일수", + "비목": "재료비", + "출처": "산림품셈 2-1-2" + } + ], + "덧줄": [ + { + "이름": "잡품", + "식": "재료비 * 찾기(소요량:산림품셈:2-1-2 경유, 기계명='타워야더(RME 300T)').잡품 / 100", + "비목": "재료비", + "출처": "산림품셈 2-1-2 주「잡품」" + }, + { + "이름": "기계손료", + "식": "기계:산림품셈:2-2-3 타워야더(RME 300T).손료계수 * 기계:산림품셈:2-2-3 타워야더(RME 300T).장비가격 * 1000 * 일수", + "비목": "경비", + "출처": "산림품셈 2-2-3" + } + ], + "끝수": null, + "비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 4인 1조 · 해석: 할증을 인력 · 연료 · 손료(가동일)에 함께 곱함 · 가선설치 · 해체(7-8-1 · 7-8-2) 따로 · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-15 횡단운반거리(범위규칙이 글) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "7-11 동력상하차기 집재", + "이름": "동력상하차기(우드그래플) 집재", + "결과단위": "원/㎥", + "출처": "산림품셈 7-11", + "소유": "공용", + "입력": [ + { "이름": "최대집재거리", "단위": "m" }, + { "이름": "집재재적", "단위": "㎥/ha" }, + { "이름": "원목길이", "단위": "m", "고르기": [1.2, 1.8, 2.1, 2.7, 3.6] }, + { "이름": "잔존목", "고르기": ["잔존목 100본 이상 130본 이하", "잔존목 71본 이상 100본 미만", "해당 없음"] }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [ + { + "이름": "Q", + "식": "만약(최대집재거리 <= 40, 찾기(소요량:산림품셈:7-11 동력상하차기 집재 40m, 최대집재거리=최대집재거리, 집재재적=집재재적, 원목길이=원목길이).수량, 찾기(소요량:산림품셈:7-11 동력상하차기 집재 80m, 최대집재거리=최대집재거리, 집재재적=집재재적, 원목길이=원목길이).수량)" + }, + { "이름": "할증", "식": "만약(잔존목 == '해당 없음', 0, 찾기(계수:산림품셈:7-11 주③⑤ 잔존목 할증, 구분=잔존목).적용)", "출처": "산림품셈 7-11 주③" }, + { "이름": "일수", "식": "(1 / Q) * (1 + 할증 / 100)" } + ], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:경유:{지역}", + "이름": "경유(우드그래플)", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-2 경유, 기계명='우드그래플').주연료 * 일수", + "비목": "재료비", + "출처": "산림품셈 2-1-2" + } + ], + "덧줄": [ + { "이름": "잡품", "식": "재료비 * 찾기(소요량:산림품셈:2-1-2 경유, 기계명='우드그래플').잡품 / 100", "비목": "재료비", "출처": "산림품셈 2-1-2 주「잡품」" }, + { + "이름": "소모성경비", + "식": "찾기(소요량:산림품셈:2-1-3 우드그래플 소모율, 구분='Q(소모율)').적용 * (찾기(소요량:산림품셈:2-1-3 우드그래플 소모성경비, 품명='트랙 접지력 보강').소요비용 + 찾기(소요량:산림품셈:2-1-3 우드그래플 소모성경비, 품명='블레이드 및 실린더 교체').소요비용) / 집재재적", + "비목": "경비", + "출처": "산림품셈 2-1-3" + } + ], + "끝수": null, + "비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 해석: 할증을 인력 · 연료 · 손료(가동일)에 함께 곱함 · 해석: 우드그래플 소모성경비(2-1-3) = Q × (트랙 보강 + 블레이드·실린더) 원/ha ÷ 집재재적 · 기계손료 못 넣음 — 기계 열쇠 「2-2-3 동력상하차기, 임업용 굴착기(우드그래플)」 에 쉼표(식이 열쇠를 끊음) · 경계값(아래 끝 수 그대로)은 못 찾음 — 범위규칙 「이하 · 이상 · 두 수는 양 끝 포함」 을 엔진이 「이하」로만 읽음 · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-13 주행 장애물 상태(조건 빈칸) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "7-11 부산물 동시수집", + "이름": "부산물 동시수집(우드그래플)", + "결과단위": "원/ha", + "출처": "산림품셈 7-11", + "소유": "공용", + "입력": [ + { "이름": "부산물", "단위": "ton/ha" }, + { "이름": "주행", "고르기": ["주행이 매우 힘들 경우 할증", "주행이 다소 힘들 경우 할증", "해당 없음"] }, + { "이름": "잔존목", "고르기": ["잔존목 100본 이상 130본 이하", "잔존목 71본 이상 100본 미만", "해당 없음"] }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [ + { + "이름": "할증", + "식": "만약(주행 == '해당 없음', 0, 찾기(계수:산림품셈:7-11 주①④ 계산용 수, 구분=주행).적용) + 만약(잔존목 == '해당 없음', 0, 찾기(계수:산림품셈:7-11 주③⑤ 잔존목 할증, 구분=잔존목).적용)", + "출처": "산림품셈 7-11 주④⑤" + }, + { + "이름": "대수", + "식": "찾기(소요량:산림품셈:7-11 부산물 동시수집, 구분='원목집재와 동시에 부산물 수집시').소요인력 * 부산물 * (1 + 할증 / 100)", + "출처": "산림품셈 7-11 주③" + } + ], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1048", "이름": "건설기계운전사", "단위": "인", "수량": "대수", "비목": "노무비" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:경유:{지역}", + "이름": "경유(우드그래플)", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-2 경유, 기계명='우드그래플').주연료 * 대수", + "비목": "재료비", + "출처": "산림품셈 2-1-2" + } + ], + "덧줄": [ + { "이름": "잡품", "식": "재료비 * 찾기(소요량:산림품셈:2-1-2 경유, 기계명='우드그래플').잡품 / 100", "비목": "재료비", "출처": "산림품셈 2-1-2 주「잡품」" } + ], + "끝수": null, + "비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 해석: 할인·할증은 합산해 품에 곱함(1-4-21 주③) · 원목집재 품에 가산(주③) · 기계손료 못 넣음 — 기계 열쇠 「2-2-3 동력상하차기, 임업용 굴착기(우드그래플)」 에 쉼표(식이 열쇠를 끊음)" + }, + { + "열쇠": "7-15-1 초소형 포워더 수확", + "이름": "초소형 포워더 운재(수확)", + "결과단위": "원/㎥", + "출처": "산림품셈 7-15-1", + "소유": "공용", + "입력": [{ "이름": "거리", "단위": "m" }], + "중간": [{ "이름": "Q", "식": "찾기(소요량:산림품셈:7-15-1 초소형 포워더 수확, 구분='운반량', 거리=거리).값" }, { "이름": "일수", "식": "1 / Q" }], + "호표": [{ "종류": "인력", "요소": "인력:건설노임:1048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }], + "덧줄": [ + { + "이름": "기계손료", + "식": "기계:산림품셈:2-2-3 초소형 포워더.손료계수 * 기계:산림품셈:2-2-3 초소형 포워더.장비가격 * 1000 * 일수", + "비목": "경비", + "출처": "산림품셈 2-2-3" + } + ], + "끝수": null, + "비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 주행거리 = 최대거리 · 1일 운반량 ÷ (소요인력 산출 예시) · 연료 못 넣음 — 2-1-2 에 초소형 포워더 줄 없음 · 우드그래플 별도 집적은 따로(주②) · 할인·할증 못 넣음 — 1-4-13 주행 장애물 상태(조건 빈칸) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "7-15-2 초소형 포워더 숲가꾸기·병해충방제", + "이름": "초소형 포워더 운재(숲가꾸기·병해충방제)", + "결과단위": "원/㎥", + "출처": "산림품셈 7-15-2", + "소유": "공용", + "입력": [{ "이름": "거리", "단위": "km" }], + "중간": [{ "이름": "Q", "식": "찾기(소요량:산림품셈:7-15-2 초소형 포워더 숲가꾸기·병해충방제, 구분='운재량', 거리=거리).값" }, { "이름": "일수", "식": "1 / Q" }], + "호표": [{ "종류": "인력", "요소": "인력:건설노임:1048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }], + "덧줄": [ + { + "이름": "기계손료", + "식": "기계:산림품셈:2-2-3 초소형 포워더.손료계수 * 기계:산림품셈:2-2-3 초소형 포워더.장비가격 * 1000 * 일수", + "비목": "경비", + "출처": "산림품셈 2-2-3" + } + ], + "끝수": null, + "비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 주행거리 = 최대거리 · 1일 운재량 ÷ (소요인력 산출 예시) · 연료 못 넣음 — 2-1-2 에 초소형 포워더 줄 없음 · 임내차 · 소형 덤프트럭 50%(주②)는 7-16 · 7-17 따로 · 할인·할증 못 넣음 — 1-4-13 주행 장애물 상태(조건 빈칸) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "7-16 소형 포워더 운재", + "이름": "소형 포워더 운재", + "결과단위": "원/㎥", + "출처": "산림품셈 7-16", + "소유": "공용", + "입력": [ + { "이름": "거리", "단위": "m" }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [{ "이름": "Q", "식": "찾기(소요량:산림품셈:7-16 소형 포워더 운재, 구분='운반량', 거리=거리).값" }, { "이름": "일수", "식": "1 / Q" }], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:경유:{지역}", + "이름": "경유(소형 포워더)", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-2 경유, 기계명='소형 포워더').주연료 * 일수", + "비목": "재료비", + "출처": "산림품셈 2-1-2" + } + ], + "덧줄": [ + { "이름": "잡품", "식": "재료비 * 찾기(소요량:산림품셈:2-1-2 경유, 기계명='소형 포워더').잡품 / 100", "비목": "재료비", "출처": "산림품셈 2-1-2 주「잡품」" }, + { + "이름": "기계손료", + "식": "기계:산림품셈:2-2-3 소형 포워더.손료계수 * 기계:산림품셈:2-2-3 소형 포워더.장비가격 * 1000 * 일수", + "비목": "경비", + "출처": "산림품셈 2-2-3" + } + ], + "끝수": null, + "비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 주행거리 = 최대거리 · 1일 운반량 ÷ (소요인력 산출 예시) · 3.0∼10.0톤(주②) · 할인·할증 못 넣음 — 1-4-13 주행 장애물 상태(조건 빈칸) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "7-17 소형트럭 운재", + "이름": "소형트럭 운재", + "결과단위": "원/㎥", + "출처": "산림품셈 7-17", + "소유": "공용", + "입력": [ + { "이름": "거리", "단위": "m" }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [{ "이름": "Q", "식": "찾기(소요량:산림품셈:7-17 소형트럭 운재, 구분='운반량', 거리=거리).값" }, { "이름": "일수", "식": "1 / Q" }], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:경유:{지역}", + "이름": "경유(소형트럭)", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-2 경유, 기계명='소형트럭').주연료 * 일수", + "비목": "재료비", + "출처": "산림품셈 2-1-2" + } + ], + "덧줄": [ + { "이름": "잡품", "식": "재료비 * 찾기(소요량:산림품셈:2-1-2 경유, 기계명='소형트럭').잡품 / 100", "비목": "재료비", "출처": "산림품셈 2-1-2 주「잡품」" }, + { + "이름": "기계손료", + "식": "기계:산림품셈:2-2-3 소형트럭.손료계수 * 기계:산림품셈:2-2-3 소형트럭.장비가격 * 1000 * 일수", + "비목": "경비", + "출처": "산림품셈 2-2-3" + } + ], + "끝수": null, + "비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 주행거리 = 최대거리 · 1일 운반량 ÷ (소요인력 산출 예시) · 단목만 · 임업용 굴착기 상차 · 자체 하차 기준(주①) · 할인·할증 못 넣음 — 1-4-13 주행 장애물 상태(조건 빈칸) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "7-18 지조운반", + "이름": "지조운반(포워더)", + "결과단위": "원/㎥", + "출처": "산림품셈 7-18", + "소유": "공용", + "입력": [ + { "이름": "거리", "단위": "m" }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [{ "이름": "Q", "식": "찾기(소요량:산림품셈:7-18 지조운반, 구분='운반량', 거리=거리).값" }, { "이름": "일수", "식": "1 / Q" }], + "호표": [ + { "종류": "인력", "요소": "인력:건설노임:1048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" }, + { + "종류": "재료", + "요소": "재료:오피넷유가:경유:{지역}", + "이름": "경유(소형 포워더)", + "단위": "ℓ", + "수량": "찾기(소요량:산림품셈:2-1-2 경유, 기계명='소형 포워더').주연료 * 일수", + "비목": "재료비", + "출처": "산림품셈 2-1-2" + } + ], + "덧줄": [ + { "이름": "잡품", "식": "재료비 * 찾기(소요량:산림품셈:2-1-2 경유, 기계명='소형 포워더').잡품 / 100", "비목": "재료비", "출처": "산림품셈 2-1-2 주「잡품」" }, + { + "이름": "기계손료", + "식": "기계:산림품셈:2-2-3 소형 포워더.손료계수 * 기계:산림품셈:2-2-3 소형 포워더.장비가격 * 1000 * 일수", + "비목": "경비", + "출처": "산림품셈 2-2-3" + } + ], + "끝수": null, + "비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 주행거리 = 최대거리 · 1일 운반량 ÷ (소요인력 산출 예시) · 소요재료 · 기계손료 = 소형 포워더 운재와 같음(주③) · 할인·할증 못 넣음 — 1-4-13 주행 장애물 상태(조건 빈칸) — 칸 이름 · 범위규칙 문법" + } + ] +} diff --git a/resources/master_data/로직_산림품셈_08장.json b/resources/master_data/로직_산림품셈_08장.json new file mode 100644 index 00000000..1c92b255 --- /dev/null +++ b/resources/master_data/로직_산림품셈_08장.json @@ -0,0 +1,443 @@ +{ + "그룹": "로직", + "원문": "산림품셈", + "판": "2026-01-01", + "줄": [ + { + "열쇠": "8-3 벌목조재", + "이름": "방제 벌목조재", + "결과단위": "원/㎥", + "출처": "산림품셈 8-3", + "소유": "공용", + "입력": [ + { + "이름": "경급", + "단위": "㎝", + "고르기": [6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50] + }, + { "이름": "소군락", "고르기": ["소군락 모두베기", "해당 없음"] }, + { "이름": "방제수종", "고르기": ["잣나무", "소나무, 해송"] }, + { "이름": "체인톱가격", "단위": "원" }, + { "이름": "체인오일단가", "단위": "원/ℓ" }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [ + { "이름": "할증", "식": "찾기(계수:산림품셈:1-4-22 방제 수종, 구분='방제 수종', 내용=방제수종).할증률", "출처": "산림품셈 8-3 주⑬ · 1-4-22" }, + { + "이름": "감", + "식": "만약(소군락 == '해당 없음', 0, 찾기(계수:산림품셈:8-3 주 계산용 수, 구분='소군락 모두베기 벌목조재 소요인력 감').적용)", + "출처": "산림품셈 8-3 주①" + }, + { "이름": "벌목부수", "식": "(1 / 찾기(소요량:산림품셈:8-3 소각·매몰·훈증·박피, 경급=경급).벌목조재) * (1 - 감 / 100) * (1 + 할증 / 100) * 0.5" } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1037", + "이름": "벌목부", + "단위": "인", + "수량": "벌목부수", + "비목": "노무비", + "출처": "산림품셈 8-3 주⑥ 「벌목부 50%」" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "벌목부수", + "비목": "노무비", + "출처": "산림품셈 8-3 주⑥ 「보통인부 50%」" + }, + { + "종류": "재료", + "요소": "재료:오피넷유가:휘발유:{지역}", + "이름": "휘발유(체인톱)", + "단위": "ℓ", + "수량": "벌목부수 * 찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='체인톱', 재료명='보통휘발유(주연료)').주연료", + "비목": "재료비", + "출처": "산림품셈 2-1-1 주③" + } + ], + "덧줄": [ + { + "이름": "잡품", + "식": "재료비 * 찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='체인톱', 재료명='보통휘발유(주연료)').잡품 / 100", + "비목": "재료비", + "출처": "산림품셈 2-1-1 주⑤" + }, + { + "이름": "체인오일", + "식": "벌목부수 * 찾기(소요량:산림품셈:2-1-1 휘발유·오일, 기계명='체인톱', 재료명='체인오일(일반오일)').주연료 * 체인오일단가", + "비목": "재료비", + "출처": "산림품셈 2-1-1 주④" + }, + { "이름": "체인톱 손료", "식": "벌목부수 * 기계:산림품셈:2-2-1 체인톱.손료계수 * 체인톱가격", "비목": "경비", "출처": "산림품셈 2-2-1" } + ], + "끝수": null, + "비고": "경급 52㎝ 이상은 50(주③) · 해석: 체인톱 대수 = 벌목부 100%(2-1-1 비고) · 체인톱 가격 · 체인오일 단가 원문에 없음(시중가격) — 설계자 입력 · 할인·할증 못 넣음 — 1-4-8 장애물의 정도(조건 「장애물의 정도」 빈칸) · 1-4-17 방제대상목 분포(조건 빈칸 · 값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "8-3 소운반", + "이름": "방제 소운반", + "결과단위": "원/㎥", + "출처": "산림품셈 8-3", + "소유": "공용", + "입력": [ + { + "이름": "경급", + "단위": "㎝", + "고르기": [6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50] + }, + { "이름": "방제수종", "고르기": ["잣나무", "소나무, 해송"] } + ], + "중간": [{ "이름": "할증", "식": "찾기(계수:산림품셈:1-4-22 방제 수종, 구분='방제 수종', 내용=방제수종).할증률", "출처": "산림품셈 8-3 주⑬ · 1-4-22" }], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1037", + "이름": "벌목부", + "단위": "인", + "수량": "(1 / 찾기(소요량:산림품셈:8-3 소각·매몰·훈증·박피, 경급=경급).소운반) * (1 + 할증 / 100) * 0.5", + "비목": "노무비", + "출처": "산림품셈 8-3 주⑥ 「벌목부 50%」" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "(1 / 찾기(소요량:산림품셈:8-3 소각·매몰·훈증·박피, 경급=경급).소운반) * (1 + 할증 / 100) * 0.5", + "비목": "노무비", + "출처": "산림품셈 8-3 주⑥ 「보통인부 50%」" + } + ], + "덧줄": [], + "끝수": null, + "비고": "경급 52㎝ 이상은 50(주③) · 50m 이내 운반 · 층적(주④) · 할인·할증 못 넣음 — 1-4-8 장애물의 정도(조건 「장애물의 정도」 빈칸) · 1-4-17 방제대상목 분포(조건 빈칸 · 값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "8-3 소각", + "이름": "방제 소각", + "결과단위": "원/㎥", + "출처": "산림품셈 8-3", + "소유": "공용", + "입력": [ + { + "이름": "경급", + "단위": "㎝", + "고르기": [6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50] + }, + { "이름": "방제수종", "고르기": ["잣나무", "소나무, 해송"] } + ], + "중간": [{ "이름": "할증", "식": "찾기(계수:산림품셈:1-4-22 방제 수종, 구분='방제 수종', 내용=방제수종).할증률", "출처": "산림품셈 8-3 주⑬ · 1-4-22" }], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "(1 / 찾기(소요량:산림품셈:8-3 소각·매몰·훈증·박피, 경급=경급).소각) * (1 + 할증 / 100)", + "비목": "노무비", + "출처": "산림품셈 8-3 주⑥" + } + ], + "덧줄": [], + "끝수": null, + "비고": "경급 52㎝ 이상은 50(주③) · 할인·할증 못 넣음 — 1-4-8 장애물의 정도(조건 「장애물의 정도」 빈칸) · 1-4-17 방제대상목 분포(조건 빈칸 · 값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "8-3 매몰", + "이름": "방제 매몰", + "결과단위": "원/㎥", + "출처": "산림품셈 8-3", + "소유": "공용", + "입력": [ + { + "이름": "경급", + "단위": "㎝", + "고르기": [6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50] + }, + { "이름": "방제수종", "고르기": ["잣나무", "소나무, 해송"] } + ], + "중간": [{ "이름": "할증", "식": "찾기(계수:산림품셈:1-4-22 방제 수종, 구분='방제 수종', 내용=방제수종).할증률", "출처": "산림품셈 8-3 주⑬ · 1-4-22" }], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "(1 / 찾기(소요량:산림품셈:8-3 소각·매몰·훈증·박피, 경급=경급).매몰) * (1 + 할증 / 100)", + "비목": "노무비", + "출처": "산림품셈 8-3 주⑥" + } + ], + "덧줄": [], + "끝수": null, + "비고": "경급 52㎝ 이상은 50(주③) · 할인·할증 못 넣음 — 1-4-8 장애물의 정도(조건 「장애물의 정도」 빈칸) · 1-4-17 방제대상목 분포(조건 빈칸 · 값 칸 「할인·할증률」) — 칸 이름 · 범위규칙 문법" + }, + { + "열쇠": "8-5 페르몬 유인트랩", + "이름": "페르몬 유인트랩", + "결과단위": "원/ha", + "출처": "산림품셈 8-5", + "소유": "공용", + "입력": [{ "이름": "구분", "고르기": ["트랩설치", "트랩통수거 및 교체", "트랩철거"] }], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:8-5 페르몬 유인트랩, 구분=구분).소요인력 * 2", + "비목": "노무비", + "출처": "산림품셈 8-5 「2인 1조(보통인부)」" + } + ], + "덧줄": [], + "끝수": null, + "비고": "트랩 재료 원문 2장에 없음 · ha당 4set(주①)" + }, + { + "열쇠": "8-6-1 유인헬기방제", + "이름": "유인헬기방제", + "결과단위": "원/ha", + "출처": "산림품셈 8-6-1", + "소유": "공용", + "입력": [ + { "이름": "구분", "고르기": ["소형헬기 (160ha당)", "대형헬기 (400ha당)"] }, + { "이름": "양수기", "고르기": ["사용", "소방관서 급수 지원"] }, + { "이름": "양수기가격", "단위": "원" }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + } + ], + "중간": [ + { + "이름": "면적", + "식": "만약(구분 == '소형헬기 (160ha당)', 찾기(계수:산림품셈:8-6-1 주 계산용 수, 구분='1일 살포면적 소형헬기').적용, 찾기(계수:산림품셈:8-6-1 주 계산용 수, 구분='1일 살포면적 대형헬기').적용)", + "출처": "산림품셈 8-6-1 주①" + }, + { "이름": "휘발유", "식": "만약(양수기 == '사용', 찾기(소요량:산림품셈:2-1-8 유인 헬기, 구분='휘발유(양수기)').수량 / 면적, 0)", "출처": "산림품셈 2-1-8 주①②" } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1003", + "이름": "특별인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:8-6-1 유인헬기 소요인력, 구분=구분, 항목='계').특별인부 / 면적", + "비목": "노무비" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:8-6-1 유인헬기 소요인력, 구분=구분, 항목='계').보통인부 / 면적", + "비목": "노무비" + }, + { "종류": "재료", "요소": "재료:오피넷유가:휘발유:{지역}", "이름": "휘발유(양수기)", "단위": "ℓ", "수량": "휘발유", "비목": "재료비", "출처": "산림품셈 2-1-8" }, + { + "종류": "재료", + "요소": "재료:자체:깃발", + "이름": "깃발", + "단위": "개", + "수량": "찾기(소요량:산림품셈:2-1-8 유인 헬기, 구분='깃발').수량 / 찾기(계수:산림품셈:8-6-1 주 계산용 수, 구분='1일 살포면적 소형헬기').적용", + "비목": "재료비", + "출처": "산림품셈 2-1-8 「20ha당 1개」" + } + ], + "덧줄": [ + { + "이름": "잡품", + "식": "휘발유 * 재료:오피넷유가:휘발유:{지역} * 찾기(소요량:산림품셈:2-1-8 유인 헬기, 구분='휘발유(양수기)').잡품 / 100", + "비목": "재료비", + "출처": "산림품셈 2-1-8 주④" + }, + { "이름": "양수기 손료", "식": "만약(양수기 == '사용', 기계:산림품셈:2-2-6 양수기.손료계수 * 양수기가격 / 면적, 0)", "비목": "경비", "출처": "산림품셈 2-2-6" } + ], + "끝수": null, + "비고": "1일 살포면적(소형 160ha · 대형 400ha)으로 나눔 · 깃발 = 재료_자체(공시 없음) · 해석: 깃발 8개는 소형 160ha 기준(20ha당 1개) · 잡품 95% 는 휘발유 금액에만 · 양수기 가격 원문에 없음 — 설계자 입력 · 헬기 임차 · 약제비 원문 표에 없음 · 안 쓰는 항목은 뺌(주③ — 계 줄 기준)" + }, + { + "열쇠": "8-7 방제 실행 등록", + "이름": "방제 실행 등록", + "결과단위": "원/본", + "출처": "산림품셈 8-7", + "소유": "공용", + "입력": [], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:8-7 방제 실행 등록, 구분='방제실행 등록').소요인력", + "비목": "노무비" + } + ], + "덧줄": [], + "끝수": null, + "비고": "방제 정보를 입력하는 대상목만" + }, + { + "열쇠": "8-8-1 인력 제거", + "이름": "훈증더미 인력 제거", + "결과단위": "원/개", + "출처": "산림품셈 8-8-1", + "소유": "공용", + "입력": [{ "이름": "층적부피", "단위": "RM" }, { "이름": "수집거리", "단위": "m" }, { "이름": "집재방향", "고르기": ["상향집재", "수평 또는 하향집재"] }], + "중간": [ + { + "이름": "할증", + "식": "찾기(계수:산림품셈:1-4-14 집재방향, 구분='소나무재선충병 방제 훈증더미 제거', 집재방향=집재방향).할증률", + "출처": "산림품셈 8-8-1 주④ · 1-4-14" + } + ], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "(찾기(소요량:산림품셈:8-8-1 인력 제거, 층적부피=층적부피, 수집거리=수집거리).수량) * (1 + 할증 / 100)", + "비목": "노무비" + } + ], + "덧줄": [], + "끝수": null, + "비고": "수집거리 50m 이내만(주③) · 경계값(아래 끝 수 그대로)은 못 찾음 — 범위규칙 「이하 · 두 수는 양 끝 포함」 을 엔진이 「이하」로만 읽음" + }, + { + "열쇠": "8-8-2 기계장비 제거", + "이름": "훈증더미 기계장비 제거", + "결과단위": "원/ha", + "출처": "산림품셈 8-8-2", + "소유": "공용", + "입력": [ + { "이름": "훈증더미", "단위": "개/ha" }, + { "이름": "굴착기", "고르기": ["0201-0020", "0201-0040"] }, + { + "이름": "지역", + "고르기": [ + "전국평균", + "전국", + "서울", + "경기", + "강원", + "충북", + "충남", + "전북", + "경북", + "경남", + "부산", + "제주", + "대구", + "인천", + "대전", + "울산", + "세종", + "전남광주" + ], + "출처": "건설품셈 공통 8-1-7 5" + }, + { "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" } + ], + "중간": [ + { + "이름": "할인", + "식": "만약(굴착기 == '0201-0020', 찾기(계수:산림품셈:1-4-24 방제장비 규격, 구분='장비의 규격(굴삭기)', 내용='0.2㎥').할인률, 찾기(계수:산림품셈:1-4-24 방제장비 규격, 구분='장비의 규격(굴삭기)', 내용='0.4㎥ 이상').할인률)", + "출처": "산림품셈 8-8-2 주③ · 1-4-24" + } + ], + "호표": [ + { + "종류": "로직", + "요소": "로직(건설품셈:8 굴착기(무한궤도) 시간당 경비, 기계=굴착기, 지역=지역, 보정작업=보정작업)", + "이름": "굴착기(무한궤도) 우드그랩", + "단위": "시간", + "수량": "찾기(소요량:산림품셈:8-8-2 기계장비 제거, 구분='굴삭기 우드그랩', ha당훈증더미갯수=훈증더미).수량 * (1 + 할인 / 100)" + }, + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:8-8-2 기계장비 제거, 구분='인력', ha당훈증더미갯수=훈증더미).수량", + "비목": "노무비" + } + ], + "덧줄": [], + "끝수": null, + "비고": "굴착기 규격 0.2㎥ 기준 · 0.4㎥ 이상이면 장비품 −20%(1-4-24) · 운반거리 50m 이내(주②) · 부착용 집게 손료 못 넣음 — 건설품셈 8 집게 로직이 0.6·0.8㎥ 만 받음 · 건설품셈 공통 8-2-3 계수 필요(0.2㎥ · 0.4㎥ 굴착기를 쓸 때) · 경계값(아래 끝 수 그대로)은 못 찾음 — 범위규칙 「이하 · 두 수는 양 끝 포함」 을 엔진이 「이하」로만 읽음" + }, + { + "열쇠": "8-9 잔가지줍기", + "이름": "잔가지줍기", + "결과단위": "원/본", + "출처": "산림품셈 8-9", + "소유": "공용", + "입력": [], + "중간": [], + "호표": [ + { + "종류": "인력", + "요소": "인력:건설노임:1002", + "이름": "보통인부", + "단위": "인", + "수량": "찾기(소요량:산림품셈:8-9 잔가지줍기, 구분='잔가지 줍기').소요인력", + "비목": "노무비" + } + ], + "덧줄": [], + "끝수": null + } + ] +} diff --git a/resources/tester/test_masterdata_check.py b/resources/tester/test_masterdata_check.py index 09070097..17a0d5ee 100644 --- a/resources/tester/test_masterdata_check.py +++ b/resources/tester/test_masterdata_check.py @@ -19,6 +19,7 @@ SAMPLES = [ "로직_산림품셈_03장.json", "로직_산림품셈_04장.json", "로직_산림품셈_05장.json", + "로직_산림품셈_07장.json", "로직_산림품셈_10장.json", "로직_산림품셈_11장.json", "로직_산림품셈_13장.json", @@ -167,6 +168,35 @@ def test_작업안전_보조_올림(whole): assert qty == [1, 1, 2, 2] +def test_동력상하차기_잔존목_할증(whole): + """7-11 — 40m · 41∼60㎥ · 1.2m = 22.03㎥ · 잔존목 10% · 소모성경비 0.02105×380만/50.""" + given = { + "최대집재거리": 40, + "집재재적": 50, + "원목길이": 1.2, + "잔존목": "잔존목 100본 이상 130본 이하", + "지역": "전국평균", + } + got = mf.run(whole, "산림품셈:7-11 동력상하차기 집재", given) + assert got["줄"][0]["수량"] == Decimal("1.1") / Decimal("22.03") + assert got["중간"]["소모성경비"] == Decimal("1599.8") + + +def test_방제_벌목조재_감_할증(whole): + """8-3 — 경급 6 = 1.13㎥/인 · 소군락 −30% · 잣나무 +20% · 벌목부 50%.""" + given = { + "경급": 6, + "소군락": "소군락 모두베기", + "방제수종": "잣나무", + "체인톱가격": 1200000, + "체인오일단가": 5000, + "지역": "전국평균", + } + got = mf.run(whole, "산림품셈:8-3 벌목조재", given) + want = Decimal("0.7") * Decimal("1.2") * Decimal("0.5") / Decimal("1.13") + assert got["줄"][0]["수량"].quantize(Decimal("0.000001")) == want.quantize(Decimal("0.000001")) + + def test_범위_입력은_막음(whole): with pytest.raises(mf.FormulaError): mf.run(