Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_4
28-2d 합치기 충돌 풀기 — 13장 로직 · 소요량 두 파일을 줄(키)마다 세 갈래(바탕 · sub4 · main) 대조로 합침 - 양쪽이 고친 13줄은 칸이 안 겹침 — sub4 = 인력 중간 ×1.1 · 비고 · Tainter 코크스 줄 · Bolt Beating 값 · 음극 Plate 구분 / main = 재료 호표(아세틸렌 병→ℓ 환산 · 검색어 「아세틸렌 98% (1kg=853ℓ)」 · 광명단 · 페인트 · 신너 · 소창직 검색어) · 검사및교정 줄 단위 칸 — 둘 다 살림 - 한쪽만 고친 줄은 그쪽 것(sub4 19 · main 49) - check_master 틀 · 본문 · 로직 0 · 계산전부 1469 통과 · test_masterdata_check + test_m01_api 98 통과 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { ROUTES } from "@config/config_frontend";
|
||||
import { attachCollapsible } from "@ui/ui_template_collapsible";
|
||||
import {
|
||||
createButton,
|
||||
createTag,
|
||||
@@ -130,39 +131,63 @@ async function loadRoleData(state: DashboardState): Promise<void> {
|
||||
}
|
||||
}
|
||||
|
||||
function buildSystemSettingsPanel(): HTMLElement {
|
||||
/** 설정 카드 공용 양식 — 제목 + 한 줄 설명 · 누르면 이동 */
|
||||
function settingCard(title: string, desc: string, go: () => void): HTMLElement {
|
||||
const card = document.createElement("button");
|
||||
card.type = "button";
|
||||
card.className = "b01-dashboard__setting-card";
|
||||
const head = document.createElement("strong");
|
||||
head.className = "b01-dashboard__setting-title";
|
||||
head.textContent = title;
|
||||
const sub = document.createElement("span");
|
||||
sub.className = "b01-dashboard__setting-desc";
|
||||
sub.textContent = desc;
|
||||
card.append(head, sub);
|
||||
card.addEventListener("click", go);
|
||||
return card;
|
||||
}
|
||||
|
||||
/** 시스템 설정 — 역할로 카드 숨김 · M02 카드는 `?open=&root=` 로 진입(27-1d) */
|
||||
function buildSystemSettingsPanel(user: DashboardUser): HTMLElement {
|
||||
const wrap = document.createElement("div");
|
||||
wrap.className = "b01-dashboard__actions";
|
||||
wrap.className = "b01-dashboard__setting-grid";
|
||||
const m02 = (title: string, open: string, root: string, desc: string): HTMLElement =>
|
||||
settingCard(title, desc, () => navigateTo(ROUTES.M02_MASTER_TEMPLATE, { open, root }));
|
||||
if (user.role === "SYSTEM_ADMIN") {
|
||||
const desc = L("B01_Dashboard_PermMasterWrite");
|
||||
wrap.append(
|
||||
settingCard(L("B01_Dashboard_MasterElements"), L("B01_Dashboard_PermSourceRead"), () =>
|
||||
navigateTo(ROUTES.M01_MASTER_DATA),
|
||||
),
|
||||
m02(L("B01_Dashboard_CardUnitCombo"), "일위대가", "master", desc),
|
||||
m02(L("B01_Dashboard_CardStructCombo"), "구조물조합", "master", desc),
|
||||
m02(L("B01_Dashboard_CardStructOption"), "옵션", "master", desc),
|
||||
m02(L("B01_Dashboard_CardDrawing"), "도면", "master", desc),
|
||||
);
|
||||
return wrap;
|
||||
}
|
||||
// 회사 수정 = 회사 관리자 · 회사 마스터(M02 accessFor 와 같은 규칙)
|
||||
const companyAdmin = user.role === "ADMIN" || user.is_master;
|
||||
const root = companyAdmin ? "company" : "personal";
|
||||
const desc = [
|
||||
L("B01_Dashboard_PermMasterRead"),
|
||||
L(companyAdmin ? "B01_Dashboard_PermCompanyWrite" : "B01_Dashboard_PermCompanyRead"),
|
||||
L("B01_Dashboard_PermPersonalWrite"),
|
||||
].join(" · ");
|
||||
wrap.append(
|
||||
createButton({
|
||||
label: L("B01_Dashboard_MasterElements"),
|
||||
variant: "ghost",
|
||||
onClick: () => navigateTo(ROUTES.M01_MASTER_DATA),
|
||||
}),
|
||||
createButton({
|
||||
label: L("B01_Dashboard_MasterTemplate"),
|
||||
variant: "ghost",
|
||||
onClick: () => navigateTo(ROUTES.M02_MASTER_TEMPLATE),
|
||||
}),
|
||||
m02(L("B01_Dashboard_CardUnitCombo"), "일위대가", root, desc),
|
||||
m02(L("B01_Dashboard_CardStructCombo"), "구조물조합", root, desc),
|
||||
);
|
||||
return wrap;
|
||||
}
|
||||
|
||||
/** 구조물 관리 카드 — 개인용은 모두 · 회사용은 회사 관리자와 시스템 관리자(21-0) */
|
||||
function buildStructurePanel(state: DashboardState): HTMLElement {
|
||||
const wrap = document.createElement("div");
|
||||
wrap.className = "b01-dashboard__actions";
|
||||
const go = (layer: "company" | "personal", label: string): HTMLElement =>
|
||||
createButton({
|
||||
label,
|
||||
variant: "ghost",
|
||||
onClick: () => navigateTo(ROUTES.M02_MASTER_TEMPLATE, { layer }),
|
||||
});
|
||||
if (state.user.role === "ADMIN" || state.user.role === "SYSTEM_ADMIN") {
|
||||
wrap.append(go("company", L("B01_Dashboard_StructureCompany")));
|
||||
}
|
||||
wrap.append(go("personal", L("B01_Dashboard_StructurePersonal")));
|
||||
return wrap;
|
||||
/** 시스템 설정 컨테이너 — 모든 역할 · 한 줄 통째 · 제목 눌러 통째로 접힘 */
|
||||
function buildSystemSettingsSection(user: DashboardUser): HTMLElement {
|
||||
const card = section(L("B01_Dashboard_SystemSettings"), buildSystemSettingsPanel(user), true);
|
||||
card.querySelector(".ui-card__body")?.classList.add("ui-collapsible");
|
||||
card.querySelector(".b01-dashboard__section-header")?.classList.add("ui-collapsible__title");
|
||||
attachCollapsible(card);
|
||||
return card;
|
||||
}
|
||||
|
||||
function buildPage(state: DashboardState): HTMLElement {
|
||||
@@ -171,22 +196,16 @@ function buildPage(state: DashboardState): HTMLElement {
|
||||
|
||||
const grid = document.createElement("div");
|
||||
grid.className = "b01-dashboard__grid";
|
||||
// 시스템 설정은 모든 역할 맨 위 한 줄(27-3a)
|
||||
grid.append(buildSystemSettingsSection(state.user));
|
||||
|
||||
if (state.user.role === "SYSTEM_ADMIN") {
|
||||
// 리소스 현황 오른쪽에 시스템 설정 — 앞으로 다른 설정 단추도 이 칸에 듦 (2026-09-15 브레인 Z01).
|
||||
const topRow = document.createElement("div");
|
||||
topRow.className = "b01-dashboard__top-row";
|
||||
topRow.append(
|
||||
section(L("B01_Dashboard_Resources"), buildResourcePanel(state.resources)),
|
||||
section(L("B01_Dashboard_SystemSettings"), buildSystemSettingsPanel()),
|
||||
);
|
||||
grid.append(
|
||||
topRow,
|
||||
section(L("B01_Dashboard_Resources"), buildResourcePanel(state.resources), true),
|
||||
section(L("B01_Dashboard_Projects"), projectTable(state.allProjects, state.user), true, [
|
||||
createButton({ label: "+", onClick: () => navigateTo(ROUTES.B02_PROJ_REGISTER) }),
|
||||
]),
|
||||
buildTempUploadSection(),
|
||||
section(L("B01_Dashboard_StructureManage"), buildStructurePanel(state)),
|
||||
section(L("B01_Dashboard_Users"), userTable(state.allUsers, state.user), true, [
|
||||
createButton({ label: "+", onClick: () => openAddMemberModal() }),
|
||||
]),
|
||||
@@ -201,7 +220,6 @@ function buildPage(state: DashboardState): HTMLElement {
|
||||
createButton({ label: "+", onClick: () => navigateTo(ROUTES.B02_PROJ_REGISTER) }),
|
||||
]),
|
||||
buildTempUploadSection(),
|
||||
section(L("B01_Dashboard_StructureManage"), buildStructurePanel(state)),
|
||||
section(L("B01_Dashboard_Members"), memberTable(state.members, state.user), true, [
|
||||
createButton({ label: "+", onClick: () => openAddMemberModal() }),
|
||||
]),
|
||||
@@ -216,7 +234,6 @@ function buildPage(state: DashboardState): HTMLElement {
|
||||
// 임시 보관함 — 프로젝트를 만들기 전에 자료를 올려 두는 곳이라 프로젝트 목록
|
||||
// 바로 아래에 둔다(2026-08-08 사용자 지시).
|
||||
buildTempUploadSection(),
|
||||
section(L("B01_Dashboard_StructureManage"), buildStructurePanel(state)),
|
||||
section(L("B01_Dashboard_Company"), buildCompanyPanel(state), true),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -31,12 +31,41 @@
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
/* 리소스 현황 | 시스템 설정 — 설정 칸은 단추만 들어 좁게. */
|
||||
.b01-dashboard__top-row {
|
||||
grid-column: 1 / -1;
|
||||
/* 시스템 설정 — 작은 카드(제목 + 한 줄 설명) 한 양식 */
|
||||
.b01-dashboard__setting-grid {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
|
||||
gap: var(--spacing-24);
|
||||
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
||||
gap: var(--spacing-8);
|
||||
}
|
||||
|
||||
.b01-dashboard__setting-card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--spacing-4);
|
||||
padding: var(--spacing-8) var(--spacing-16);
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-cards);
|
||||
background: var(--color-surface);
|
||||
color: inherit;
|
||||
font: inherit;
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.b01-dashboard__setting-card:hover,
|
||||
.b01-dashboard__setting-card:focus-visible {
|
||||
border-color: var(--color-royal-amethyst);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.b01-dashboard__setting-title {
|
||||
font-size: var(--text-body);
|
||||
font-weight: var(--font-weight-medium);
|
||||
}
|
||||
|
||||
.b01-dashboard__setting-desc {
|
||||
color: var(--color-text-secondary);
|
||||
font-size: var(--text-caption);
|
||||
}
|
||||
|
||||
.b01-dashboard__actions {
|
||||
@@ -288,8 +317,7 @@
|
||||
|
||||
@media (max-width: 860px) {
|
||||
.b01-dashboard__header,
|
||||
.b01-dashboard__grid,
|
||||
.b01-dashboard__top-row {
|
||||
.b01-dashboard__grid {
|
||||
display: block;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
"""M02 층 권한 한 벌 — 나무 · 항목(`Router_Items`) · 양식 · 남의 층 목록(`Router_Layers`)이 함께 씀
|
||||
(PLAN 27-1c). 화면 쪽 짝 = `M02_MasterTemplete_Layer.ts` 의 `accessFor`.
|
||||
|
||||
system 읽기 = 로그인 누구나 · 수정 = SYSTEM_ADMIN
|
||||
company {C} 자기 회사 = 읽기 누구나 · 수정 = 회사 관리자(ADMIN · 마스터 · SYSTEM_ADMIN) ·
|
||||
남의 회사 = SYSTEM_ADMIN 읽기만
|
||||
personal {C}/{U} 본인 = 읽기 · 수정 · 같은 회사 남 = 회사 관리자 읽기만 ·
|
||||
다른 회사 = SYSTEM_ADMIN 읽기만
|
||||
owner 글 없음 = 자기 층 · 남의 층은 그 층 폴더가 있을 때만(없으면 404) ·
|
||||
읽기로 남의 층에 뼈대를 안 만듦.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import re
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
from fastapi import HTTPException
|
||||
|
||||
from M02_MasterTemplete import M02_Template_Layers as layers
|
||||
|
||||
NO_COMPANY = "회사부터 등록 — 회사 없이는 회사 · 개인 구조물 집계표를 만들 수 없음"
|
||||
_SHAPE = {"company": re.compile(r"^\d+$"), "personal": re.compile(r"^\d+/\d+$")}
|
||||
|
||||
|
||||
def is_system_admin(session: dict[str, Any]) -> bool:
|
||||
return session.get("role") == "SYSTEM_ADMIN"
|
||||
|
||||
|
||||
def is_company_admin(session: dict[str, Any]) -> bool:
|
||||
return session.get("role") in ("ADMIN", "SYSTEM_ADMIN") or bool(session.get("is_master"))
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class Grant:
|
||||
"""층 한 칸의 권한 — `owner` = 층 주인 글(시스템 None) · `mine` = 자기 층(뼈대 만들어도 됨)."""
|
||||
|
||||
layer: str
|
||||
owner: str | None
|
||||
write: bool
|
||||
mine: bool
|
||||
|
||||
|
||||
def own_owner(session: dict[str, Any], layer: str, company: Any = None) -> str | None:
|
||||
"""자기 층 주인 글 — 회사 없으면 None(`company` = 프로젝트 회사로 바꿔 끼울 때)."""
|
||||
company = session.get("company_id") if company is None else company
|
||||
if company is None:
|
||||
return None
|
||||
return str(company) if layer == "company" else f"{company}/{session.get('user_id')}"
|
||||
|
||||
|
||||
def grant(session: dict[str, Any], layer: str, owner: str | None = None) -> Grant:
|
||||
"""읽기 권한이 없으면 403 · 회사 없는 사람의 자기 층은 409 · 모양이 틀리면 400."""
|
||||
if layer == "system":
|
||||
return Grant(layer, None, is_system_admin(session), True)
|
||||
if layer not in _SHAPE:
|
||||
raise HTTPException(status_code=404, detail="없는 층입니다.")
|
||||
own = own_owner(session, layer)
|
||||
who = own if owner in (None, "") else str(owner)
|
||||
if who is None:
|
||||
raise HTTPException(status_code=409, detail=NO_COMPANY)
|
||||
if not _SHAPE[layer].match(who):
|
||||
raise HTTPException(status_code=400, detail=f"층 주인 모양이 틀림 「{who}」")
|
||||
if who == own:
|
||||
return Grant(layer, who, layer == "personal" or is_company_admin(session), True)
|
||||
same_company = who.split("/")[0] == str(session.get("company_id"))
|
||||
colleague = layer == "personal" and same_company and is_company_admin(session)
|
||||
if not (is_system_admin(session) or colleague):
|
||||
raise HTTPException(
|
||||
status_code=403, detail="다른 회사 · 다른 사람의 구조물 집계표는 볼 수 없음"
|
||||
)
|
||||
return Grant(layer, who, False, False)
|
||||
|
||||
|
||||
def require(
|
||||
session: dict[str, Any], layer: str, owner: str | None = None, *, write: bool = False
|
||||
) -> Grant:
|
||||
"""`grant` + 쓰기 권한까지 — 까닭은 층마다."""
|
||||
got = grant(session, layer, owner)
|
||||
if write and not got.write:
|
||||
if layer == "system":
|
||||
detail = "마스터 템플릿은 시스템 관리자만 고침."
|
||||
elif got.mine:
|
||||
detail = "회사용은 회사 관리자만 고침 — 개인용으로 복사해서 씀."
|
||||
else:
|
||||
detail = "남의 층은 읽기만."
|
||||
raise HTTPException(status_code=403, detail=detail)
|
||||
return got
|
||||
|
||||
|
||||
def folder(got: Grant) -> Path:
|
||||
"""회사 · 개인 층 폴더 — 남의 층은 그 층 폴더가 있어야 함(부르는 쪽은 자기 층만 뼈대를 만듦)."""
|
||||
if got.owner is None:
|
||||
raise HTTPException(status_code=409, detail=NO_COMPANY)
|
||||
try:
|
||||
if got.layer == "company":
|
||||
path = layers.company_dir(got.owner)
|
||||
else:
|
||||
company, user = got.owner.split("/", 1)
|
||||
path = layers.personal_dir(company, user)
|
||||
except ValueError as error:
|
||||
raise HTTPException(status_code=400, detail=f"층 주인 모양 — {error}") from error
|
||||
if not got.mine and not path.is_dir():
|
||||
raise HTTPException(status_code=404, detail="그 층은 아직 만든 것이 없음")
|
||||
return path
|
||||
@@ -53,21 +53,35 @@ function reason(detail: unknown, status: number): string {
|
||||
return lines.filter(Boolean).join(" · ") || `HTTP ${status}`;
|
||||
}
|
||||
|
||||
/** 지금 화면의 층 — 시스템 = 옛 길 그대로 · 회사 · 개인 = `/layers/{층}` 아래(구조물집계표 · 조합 길 모두) */
|
||||
/** 지금 화면의 층 — 시스템 = 옛 길 그대로 · 회사 · 개인 = `/layers/{층}` 아래(구조물집계표 · 조합 길 모두) ·
|
||||
* `owner` = 남의 층을 볼 때 주인(회사 `{C}` · 개인 `{C}/{U}` · 자기 층 = null · PLAN 27-1c) —
|
||||
* 지금 층 길에 `?owner=` 로 붙음(M02 화면을 떠나면 페이지가 시스템 · null 로 되돌림) */
|
||||
let activeLayer: Layer = "system";
|
||||
export const setActiveLayer = (layer: Layer): void => {
|
||||
let activeOwner: string | null = null;
|
||||
export const setActiveLayer = (layer: Layer, owner: string | null = null): void => {
|
||||
activeLayer = layer;
|
||||
activeOwner = owner;
|
||||
};
|
||||
export const getActiveLayer = (): Layer => activeLayer;
|
||||
const scoped = <T>(path: string, init: RequestInit = {}): Promise<T> =>
|
||||
call<T>(`${activeLayer === "system" ? "" : `/layers/${activeLayer}`}${path}`, init);
|
||||
export const getActiveOwner = (): string | null => activeOwner;
|
||||
|
||||
const enc = encodeURIComponent;
|
||||
/** 지금 층 길이면 `owner` 인자를 붙임 */
|
||||
const owned = (layer: Layer, path: string): string =>
|
||||
layer === activeLayer && activeOwner && layer !== "system" && layer !== "project"
|
||||
? `${path}${path.includes("?") ? "&" : "?"}owner=${enc(activeOwner)}`
|
||||
: path;
|
||||
const scoped = <T>(path: string, init: RequestInit = {}): Promise<T> =>
|
||||
call<T>(
|
||||
owned(activeLayer, `${activeLayer === "system" ? "" : `/layers/${activeLayer}`}${path}`),
|
||||
init,
|
||||
);
|
||||
|
||||
const q = (projectId: string | null): string => (projectId ? `?project_id=${enc(projectId)}` : "");
|
||||
const head = (layer: Layer): string =>
|
||||
layer === "system" ? "/templates" : `/layers/${layer}/templates`;
|
||||
const item = (layer: Layer, kind: Kind, name: string, projectId: string | null): string =>
|
||||
`${head(layer)}/${kind}/${enc(name)}${layer === "system" ? "" : q(projectId)}`;
|
||||
owned(layer, `${head(layer)}/${kind}/${enc(name)}${layer === "system" ? "" : q(projectId)}`);
|
||||
|
||||
/** 시스템 길은 배열 · 층 길은 `{층, 양식: [...]}` — 둘 다 목록으로 */
|
||||
export const listTemplates = async (
|
||||
@@ -75,7 +89,7 @@ export const listTemplates = async (
|
||||
projectId: string | null,
|
||||
): Promise<TemplateInfo[]> => {
|
||||
const got = await call<TemplateInfo[] | { 양식: TemplateInfo[] }>(
|
||||
layer === "system" ? head(layer) : `${head(layer)}${q(projectId)}`,
|
||||
layer === "system" ? head(layer) : owned(layer, `${head(layer)}${q(projectId)}`),
|
||||
);
|
||||
return Array.isArray(got) ? got : got.양식;
|
||||
};
|
||||
@@ -108,7 +122,7 @@ export const deleteLayerTemplate = (
|
||||
name: string,
|
||||
판: string,
|
||||
): Promise<{ ok: boolean }> =>
|
||||
call(`/layers/${layer}/templates/${kind}/${enc(name)}?판=${enc(판)}`, {
|
||||
call(owned(layer, `/layers/${layer}/templates/${kind}/${enc(name)}?판=${enc(판)}`), {
|
||||
method: "DELETE",
|
||||
});
|
||||
|
||||
@@ -384,10 +398,10 @@ export interface InputLinks {
|
||||
}
|
||||
|
||||
const itemPath = (layer: Layer, key: string, tail: string): string =>
|
||||
`/layers/${layer}/items/${enc(key)}/${tail}`;
|
||||
owned(layer, `/layers/${layer}/items/${enc(key)}/${tail}`);
|
||||
|
||||
export const fetchItemRows = (layer: Layer): Promise<ItemRow[]> =>
|
||||
call<ItemRow[]>(`/items?layer=${layer}`);
|
||||
call<ItemRow[]>(owned(layer, `/items?layer=${layer}`));
|
||||
|
||||
export const fetchItemInputs = (layer: Layer, key: string): Promise<ItemInputs> =>
|
||||
call(itemPath(layer, key, "inputs"));
|
||||
@@ -404,7 +418,7 @@ export const saveInputLinks = (
|
||||
): Promise<{ 판: string }> =>
|
||||
call(itemPath(layer, key, "input-links"), { method: "PUT", body: JSON.stringify({ 판, 줄 }) });
|
||||
|
||||
/* --- 항목 나무(PLAN 26-1 · 26-3a) — 폴더 경로 깊이 자유 · 고침은 층 쓰기 권한 --- */
|
||||
/* --- 구조물 라이브러리(PLAN 26-1 · 26-3a) — 폴더 경로 깊이 자유 · 고침은 층 쓰기 권한 --- */
|
||||
export interface TreeItem {
|
||||
key: string;
|
||||
열: string;
|
||||
@@ -434,8 +448,31 @@ export interface TreeEdit {
|
||||
단위?: string;
|
||||
}
|
||||
|
||||
export const fetchTree = (layer: Layer): Promise<TreeView> => call(`/layers/${layer}/tree`);
|
||||
/** `owner` = 남의 층(없으면 자기 층) — 지금 층과 따로 받음(나무 부품이 여러 뿌리를 그림) */
|
||||
const treePath = (layer: Layer, owner: string | null): string =>
|
||||
`/layers/${layer}/tree${owner ? `?owner=${enc(owner)}` : ""}`;
|
||||
|
||||
export const fetchTree = (layer: Layer, owner: string | null = null): Promise<TreeView> =>
|
||||
call(treePath(layer, owner));
|
||||
|
||||
/** 판이 다르면 409(`StaleError`) — 부르는 쪽이 다시 읽음 */
|
||||
export const editTree = (layer: Layer, edit: TreeEdit, 판: string): Promise<TreeView> =>
|
||||
call(`/layers/${layer}/tree`, { method: "POST", body: JSON.stringify({ ...edit, 판 }) });
|
||||
export const editTree = (
|
||||
layer: Layer,
|
||||
edit: TreeEdit,
|
||||
판: string,
|
||||
owner: string | null = null,
|
||||
): Promise<TreeView> =>
|
||||
call(treePath(layer, owner), { method: "POST", body: JSON.stringify({ ...edit, 판 }) });
|
||||
|
||||
/** 남의 층 목록 한 줄(PLAN 27-1c) — 회사 `{C}` · 개인 `{C}/{U}` */
|
||||
export interface LayerOwner {
|
||||
owner: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
/** 회사 = 시스템 관리자만 회사 목록 · 개인 = 그 회사 사람(본인 뺌 · 층 자리 있는 것만) */
|
||||
export const fetchOwners = (
|
||||
layer: "company" | "personal",
|
||||
company: string | null = null,
|
||||
): Promise<LayerOwner[]> =>
|
||||
call(`/layers/${layer}/owners${company ? `?company=${enc(company)}` : ""}`);
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/* =============================================================================
|
||||
* M02_MasterTemplete_Layer.ts
|
||||
* M02 화면의 층 — 주소 인자(`#/m02-master-template?layer=personal|company` · 없으면 system) ·
|
||||
* 층별 제목 · 고칠 권한(시스템 = SYSTEM_ADMIN · 회사 = role ADMIN 또는 is_master · 개인 = 본인) ·
|
||||
* M02 한 화면의 뿌리 셋(마스터 · 회사 · 개인 · PLAN 27-1) — 진입 해시
|
||||
* `#/m02-master-template?open=구조물조합|일위대가|옵션|도면&root=master|company|personal&owner=…`
|
||||
* (옛 `?layer=` 도 root 로 읽음) · 고칠 권한(`accessFor` — 서버 `M02_Layer_Access` 와 짝 · 27-1c) ·
|
||||
* 회사 없음 안내 · 회사용 읽기만일 때 [개인용으로 복사] 막대.
|
||||
* ========================================================================== */
|
||||
|
||||
@@ -13,31 +14,63 @@ import type { SessionUser } from "../A06_Login/A06_Login_Api_Fetch";
|
||||
import { copyItemToPersonal, fetchStructureCombos } from "./M02_MasterTemplete_Api_Fetch";
|
||||
|
||||
export type ManageLayer = "system" | "company" | "personal";
|
||||
/** 해시 · 화면의 뿌리 이름 — 서버 층 이름은 `layerOfRoot` */
|
||||
export type Root = "master" | "company" | "personal";
|
||||
export type OpenTarget = "구조물조합" | "일위대가" | "옵션" | "도면";
|
||||
|
||||
/** 주소 인자에서 층 — 모르는 값 · 없음 = 시스템 */
|
||||
export function layerFromHash(): ManageLayer {
|
||||
const value = currentQuery().get("layer");
|
||||
return value === "company" || value === "personal" ? value : "system";
|
||||
export interface Entry {
|
||||
root: Root;
|
||||
/** 남의 층 주인(회사 `{C}` · 개인 `{C}/{U}`) — 자기 층 = null */
|
||||
owner: string | null;
|
||||
open: OpenTarget;
|
||||
}
|
||||
|
||||
export const titleOf = (layer: ManageLayer): string =>
|
||||
layer === "company"
|
||||
? L("M02_TitleCompany")
|
||||
: layer === "personal"
|
||||
? L("M02_TitlePersonal")
|
||||
: L("M02_Title");
|
||||
const OPENS: OpenTarget[] = ["구조물조합", "일위대가", "옵션", "도면"];
|
||||
|
||||
export const layerOfRoot = (root: Root): ManageLayer => (root === "master" ? "system" : root);
|
||||
|
||||
/** 주소 인자에서 진입 — 모르는 값 · 없음 = 마스터 · 구조물 조합 */
|
||||
export function entryFromHash(): Entry {
|
||||
const query = currentQuery();
|
||||
const raw = query.get("root") ?? query.get("layer");
|
||||
const root: Root = raw === "company" || raw === "personal" ? raw : "master";
|
||||
const open = OPENS.find((one) => one === query.get("open")) ?? "구조물조합";
|
||||
return { root, owner: root === "master" ? null : query.get("owner") || null, open };
|
||||
}
|
||||
|
||||
/** 진입 해시 인자 — `navigateTo(ROUTES.M02_MASTER_TEMPLATE, entryQuery(…))` */
|
||||
export const entryQuery = (entry: Entry): Record<string, string> => ({
|
||||
open: entry.open,
|
||||
root: entry.root,
|
||||
...(entry.owner ? { owner: entry.owner } : {}),
|
||||
});
|
||||
|
||||
/** 자기 층 주인 글 — 회사 없으면 null */
|
||||
export const ownOwner = (layer: ManageLayer, user: SessionUser | null): string | null =>
|
||||
!user?.company_id || layer === "system"
|
||||
? null
|
||||
: layer === "company"
|
||||
? String(user.company_id)
|
||||
: `${user.company_id}/${user.id}`;
|
||||
|
||||
export interface LayerAccess {
|
||||
/** 이 층을 고칠 수 있나 — 서버도 같은 규칙으로 막음 */
|
||||
canWrite: boolean;
|
||||
/** 회사 · 개인 층인데 회사가 없음 — 「회사부터 등록」 안내 */
|
||||
/** 회사 · 개인 자기 층인데 회사가 없음 — 「회사부터 등록」 안내 */
|
||||
needCompany: boolean;
|
||||
}
|
||||
|
||||
export function accessFor(layer: ManageLayer, user: SessionUser | null): LayerAccess {
|
||||
/** 서버 `M02_Layer_Access.grant` 와 같은 규칙 — 남의 층(`owner`)은 늘 읽기만(읽을 수 있나는 서버가 가름) */
|
||||
export function accessFor(
|
||||
layer: ManageLayer,
|
||||
owner: string | null,
|
||||
user: SessionUser | null,
|
||||
): LayerAccess {
|
||||
if (layer === "system") return { canWrite: user?.role === "SYSTEM_ADMIN", needCompany: false };
|
||||
if (!user?.company_id) return { canWrite: false, needCompany: true };
|
||||
const companyAdmin = user.role === "ADMIN" || !!user.is_master;
|
||||
const own = ownOwner(layer, user);
|
||||
if (owner && owner !== own) return { canWrite: false, needCompany: false };
|
||||
if (!own) return { canWrite: false, needCompany: true };
|
||||
const companyAdmin = user?.role === "ADMIN" || user?.role === "SYSTEM_ADMIN" || !!user?.is_master;
|
||||
return { canWrite: layer === "personal" || companyAdmin, needCompany: false };
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
"""M02 층 집계표 API — `/api/m02/layers/{layer}/…` · 항목 목록 · 항목 복사(PLAN 21-1 · 21-2).
|
||||
|
||||
⚠ 등록은 `main.py`(로그인만) · 층 권한은 여기서(`Router_Layers._layer_dir` 와 같은 규칙):
|
||||
system 읽기 = 로그인 누구나(항목 고르기) · 쓰기 = SYSTEM_ADMIN
|
||||
company 읽기 = 같은 회사 · 쓰기 = 회사 관리자(ADMIN · 마스터 · SYSTEM_ADMIN)
|
||||
personal 읽기 · 쓰기 = 본인(SYSTEM_ADMIN 은 누구나) · 회사 없음 = 쓰기 409 「회사부터 등록」
|
||||
⚠ 등록은 `main.py`(로그인만) · 층 권한은 `M02_Layer_Access`(양식 길 `Router_Layers` 와 한 벌 ·
|
||||
PLAN 27-1c) · `owner` = 회사 `{C}` · 개인 `{C}/{U}`(없으면 자기 층) · 회사 없음 = 409.
|
||||
옛 길(`/api/m02/structures/…` 등 · `M02_MasterTemplete_Router.py`)은 시스템 층 별칭으로 그대로.
|
||||
회사 · 개인 층은 처음 부를 때 빈 뼈대를 만듦(`Items.ensure`).
|
||||
결정(PLAN 21-9): 일위대가(UA) 갈라 내기는 새 UA 가 M01 시스템 마스터에 생기므로 층 길에서도
|
||||
@@ -19,13 +17,13 @@ from fastapi import APIRouter, Depends, HTTPException, Query
|
||||
from pydantic import BaseModel
|
||||
|
||||
from common_util.common_util_auth import verify_session
|
||||
from M02_MasterTemplete import M02_Layer_Access as access
|
||||
from M02_MasterTemplete import M02_MasterTemplete_Branch as branch
|
||||
from M02_MasterTemplete import M02_MasterTemplete_Inputs as inputs_store
|
||||
from M02_MasterTemplete import M02_MasterTemplete_Items as items_store
|
||||
from M02_MasterTemplete import M02_MasterTemplete_Matset as matset
|
||||
from M02_MasterTemplete import M02_MasterTemplete_Store as store
|
||||
from M02_MasterTemplete import M02_MasterTemplete_Tree as tree
|
||||
from M02_MasterTemplete import M02_Template_Layers as layers
|
||||
from M02_MasterTemplete.M02_MasterTemplete_Router import (
|
||||
BranchBody,
|
||||
MaterialBranchBody,
|
||||
@@ -37,7 +35,7 @@ router = APIRouter(prefix="/api/m02", tags=["M02 MasterTemplete Items"])
|
||||
|
||||
Layer = Literal["system", "company", "personal"]
|
||||
Session = dict[str, Any]
|
||||
NO_COMPANY = "회사부터 등록 — 회사 없이는 회사 · 개인 구조물 집계표를 만들 수 없음"
|
||||
NO_COMPANY = access.NO_COMPANY
|
||||
|
||||
|
||||
class InputLinksBody(BaseModel):
|
||||
@@ -63,55 +61,16 @@ class CopyItemBody(BaseModel):
|
||||
key: str
|
||||
|
||||
|
||||
def _admin(session: Session) -> bool:
|
||||
return session.get("role") == "SYSTEM_ADMIN"
|
||||
|
||||
|
||||
def _company_admin(session: Session) -> bool:
|
||||
return session.get("role") in ("ADMIN", "SYSTEM_ADMIN") or bool(session.get("is_master"))
|
||||
|
||||
|
||||
def _owner(session: Session, layer: str, owner: str | None) -> str | None:
|
||||
"""층 주인 글 — 회사 `{회사}` · 개인 `{회사}/{사용자}` · 시스템 None ·
|
||||
남의 것은 SYSTEM_ADMIN 만."""
|
||||
if layer == "system":
|
||||
return None
|
||||
company, user = session.get("company_id"), session.get("user_id")
|
||||
mine = str(company) if layer == "company" else f"{company}/{user}"
|
||||
if owner in (None, "", mine):
|
||||
return None if company is None else mine
|
||||
if not _admin(session):
|
||||
raise HTTPException(status_code=403, detail="다른 회사 · 다른 사람의 구조물 집계표입니다.")
|
||||
return owner
|
||||
|
||||
|
||||
def _folder(layer: str, owner: str | None) -> Path:
|
||||
if layer == "system":
|
||||
return store.FOLDER
|
||||
try:
|
||||
if layer == "company":
|
||||
return layers.company_dir(owner)
|
||||
company, user = str(owner).split("/", 1)
|
||||
return layers.personal_dir(company, user)
|
||||
except ValueError as error:
|
||||
raise HTTPException(status_code=400, detail=f"층 주인 모양 — {error}") from error
|
||||
|
||||
|
||||
def _root(session: Session, layer: str, owner: str | None = None, write: bool = False) -> Path:
|
||||
"""층 폴더(권한까지) — 회사 · 개인은 없으면 빈 뼈대를 만듦. 회사 없는 사람: 쓰기 409."""
|
||||
"""층 폴더(권한까지 · `M02_Layer_Access`) — 자기 회사 · 개인 층은 없으면 빈 뼈대를 만듦."""
|
||||
got = access.require(session, layer, owner, write=write)
|
||||
if layer == "system":
|
||||
if write and not _admin(session):
|
||||
raise HTTPException(status_code=403, detail="마스터 템플릿은 시스템 관리자만 고침.")
|
||||
return store.FOLDER
|
||||
who = _owner(session, layer, owner)
|
||||
if who is None:
|
||||
raise HTTPException(status_code=409, detail=NO_COMPANY)
|
||||
if write and layer == "company" and not _company_admin(session):
|
||||
raise HTTPException(
|
||||
status_code=403, detail="회사용은 회사 관리자만 고침 — 개인용으로 복사해서 씀."
|
||||
)
|
||||
folder = _folder(layer, who)
|
||||
items_store.ensure(folder)
|
||||
folder = access.folder(got)
|
||||
if got.mine:
|
||||
items_store.ensure(folder)
|
||||
elif not (folder / "table" / f"{store.STRUCTURE_TABLE}.json").is_file():
|
||||
raise HTTPException(status_code=404, detail="그 층은 아직 만든 것이 없음")
|
||||
return folder
|
||||
|
||||
|
||||
@@ -127,9 +86,9 @@ def _call(folder: Path, fn, *args):
|
||||
|
||||
|
||||
def _listing(session: Session, layer: str, owner: str | None) -> dict[str, Any]:
|
||||
who = None if layer == "system" else _owner(session, layer, owner)
|
||||
if layer != "system" and who is None:
|
||||
if layer != "system" and not owner and access.own_owner(session, layer) is None:
|
||||
return {"layer": layer, "owner": None, "items": []} # 회사 없음 = 빈 그룹
|
||||
who = access.grant(session, layer, owner).owner
|
||||
folder = _root(session, layer, who)
|
||||
return {"layer": layer, "owner": who, "items": items_store.items(folder)}
|
||||
|
||||
@@ -154,9 +113,7 @@ def copy_item(body: CopyItemBody, session: Session = Depends(verify_session)) ->
|
||||
"""회사 · 마스터 항목 → 내 개인 층 새 항목(열 · 세 파일 · 자재 조합 줄 · 새 SS 키 · `본뜬`)."""
|
||||
target = _root(session, "personal", None, write=True)
|
||||
source = _root(session, body.from_layer, body.from_owner)
|
||||
owner = (
|
||||
None if body.from_layer == "system" else _owner(session, body.from_layer, body.from_owner)
|
||||
)
|
||||
owner = access.grant(session, body.from_layer, body.from_owner).owner
|
||||
origin = {"layer": body.from_layer, "owner": owner, "key": body.key}
|
||||
try:
|
||||
return items_store.copy_item(source, target, body.key, origin)
|
||||
@@ -285,7 +242,7 @@ def post_combo(
|
||||
):
|
||||
"""일위대가 조합 갈라 내기 — 새 UA 는 M01 시스템 마스터에 생기므로 SYSTEM_ADMIN 만."""
|
||||
folder = _root(session, layer, owner, write=True)
|
||||
if not _admin(session):
|
||||
if not access.is_system_admin(session):
|
||||
raise HTTPException(status_code=403, detail="일위대가 조합은 시스템 관리자만 새로 만듦.")
|
||||
return _call(
|
||||
folder, branch.branch_combo, column, body.본뜬키, body.담은로직, body.이름, body.판
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
"""M02 양식 층 API — 계약 `tmp/M02_분석/6_계약.md` 「층 (sub4)」.
|
||||
|
||||
⚠ 등록은 `main.py`(로그인만) · 층마다 권한은 여기서:
|
||||
system 읽기 · 쓰기는 시스템 관리자(옛 `/api/m02/templates` 길과 같은 저장소)
|
||||
company 같은 회사 읽기 · 쓰기는 회사 관리자(ADMIN · 마스터 · 시스템 관리자)
|
||||
personal 본인 읽기·쓰기 · 같은 회사 사람 것은 읽기만(가져오기)
|
||||
project 같은 회사 프로젝트 · 작업본 쓰기 · `_initial/` 은 안 씀
|
||||
⚠ 등록은 `main.py`(로그인만) · 시스템 · 회사 · 개인 층 권한은 `M02_Layer_Access`(나무 · 항목 길과
|
||||
한 벌 · PLAN 27-1c · `owner` = 회사 `{C}` · 개인 `{C}/{U}`) · 남의 층 목록 = `/layers/{층}/owners`:
|
||||
project 같은 회사 프로젝트 · 작업본 쓰기 · `_initial/` 은 안 씀 ·
|
||||
가져오기(apply · sources)는 같은 회사 사람 개인 층도 읽음
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
@@ -26,6 +25,7 @@ from common_util import common_util_spreadsheet as spreadsheet
|
||||
from common_util.common_util_auth import verify_session
|
||||
from common_util.common_util_storage import resolve_stored_project_path
|
||||
from config.config_db import get_db_pool, run_with_connection
|
||||
from M02_MasterTemplete import M02_Layer_Access as access
|
||||
from M02_MasterTemplete import M02_MasterTemplete_Items as items_store
|
||||
from M02_MasterTemplete import M02_MasterTemplete_Store as store
|
||||
from M02_MasterTemplete import M02_Table_Fill as fill
|
||||
@@ -115,6 +115,14 @@ async def _company_projects(company_id: int) -> list[dict[str, Any]]:
|
||||
return [{"project_id": str(row[0]), "name": row[1], "storage_path": row[2]} for row in rows]
|
||||
|
||||
|
||||
async def _companies() -> list[dict[str, Any]]:
|
||||
pool = get_db_pool()
|
||||
async with pool.acquire() as connection, connection.cursor() as cursor:
|
||||
await cursor.execute("SELECT id, name FROM companies WHERE deleted_at IS NULL ORDER BY id")
|
||||
rows = await cursor.fetchall()
|
||||
return [{"company_id": row[0], "name": row[1]} for row in rows]
|
||||
|
||||
|
||||
async def _cross_designs(project_id: str) -> list[dict[str, Any]]:
|
||||
"""최신 노선의 B06 횡단 설계 — 못 읽으면 빈 목록(관 연장이 빈칸으로 섬 · 0 아님)."""
|
||||
try:
|
||||
@@ -129,12 +137,8 @@ async def _cross_designs(project_id: str) -> list[dict[str, Any]]:
|
||||
# ── 권한 · 자리 ───────────────────────────────────────
|
||||
|
||||
|
||||
def _is_system_admin(session: dict[str, Any]) -> bool:
|
||||
return session.get("role") == "SYSTEM_ADMIN"
|
||||
|
||||
|
||||
def _is_company_admin(session: dict[str, Any]) -> bool:
|
||||
return session.get("role") in ("ADMIN", "SYSTEM_ADMIN") or bool(session.get("is_master"))
|
||||
_is_system_admin = access.is_system_admin
|
||||
_is_company_admin = access.is_company_admin
|
||||
|
||||
|
||||
async def _project(session: dict[str, Any], project_id: str | None) -> dict[str, Any]:
|
||||
@@ -172,28 +176,23 @@ async def _layer_dir(
|
||||
*,
|
||||
project_id: str | None,
|
||||
user_id: int | None = None,
|
||||
owner: str | None = None,
|
||||
write: bool = False,
|
||||
) -> Path:
|
||||
"""층 폴더 — 읽기·쓰기 권한까지 여기서 가름."""
|
||||
if layer == "system":
|
||||
if write and not _is_system_admin(session):
|
||||
raise HTTPException(status_code=403, detail="시스템 양식은 시스템 관리자만.")
|
||||
return layers.system_dir()
|
||||
"""층 폴더 — 권한은 `M02_Layer_Access` 한 벌(나무 · 항목 길과 같음 · PLAN 27-1c) ·
|
||||
`owner` 없으면 프로젝트(없으면 세션) 회사의 회사 층 · 개인 층(`user_id` 또는 본인)."""
|
||||
if layer == "project":
|
||||
return layers.project_dir((await _project(session, project_id))["root"])
|
||||
project = await _project(session, project_id) if project_id else None
|
||||
company_id = _company_of(session, project)
|
||||
if layer == "company":
|
||||
if write and not _is_company_admin(session):
|
||||
raise HTTPException(status_code=403, detail="회사 공식 양식은 회사 관리자만.")
|
||||
return _ensured(layers.company_dir(company_id))
|
||||
if layer == "personal":
|
||||
owner = int(user_id) if user_id is not None else int(session["user_id"])
|
||||
if write and owner != session.get("user_id"):
|
||||
raise HTTPException(status_code=403, detail="개인 양식은 본인만 고칩니다.")
|
||||
await _same_company_user(session, owner, company_id)
|
||||
return _ensured(layers.personal_dir(company_id, owner))
|
||||
raise HTTPException(status_code=404, detail="없는 층입니다.")
|
||||
if layer == "system":
|
||||
access.require(session, layer, write=write)
|
||||
return layers.system_dir()
|
||||
if not owner:
|
||||
project = await _project(session, project_id) if project_id else None
|
||||
company_id = _company_of(session, project)
|
||||
who = session["user_id"] if user_id is None else user_id
|
||||
owner = str(company_id) if layer == "company" else f"{company_id}/{who}"
|
||||
got = access.require(session, layer, owner, write=write)
|
||||
return _ensured(access.folder(got)) if got.mine else access.folder(got)
|
||||
|
||||
|
||||
def _ensured(folder: Path) -> Path:
|
||||
@@ -209,14 +208,49 @@ def _bad(error: ValueError) -> HTTPException:
|
||||
# ── 층 길 ─────────────────────────────────────────────
|
||||
|
||||
|
||||
@router.get("/layers/{layer}/owners")
|
||||
async def list_owners(
|
||||
layer: Literal["company", "personal"],
|
||||
company: int | None = Query(None),
|
||||
session: dict[str, Any] = Depends(verify_session),
|
||||
) -> list[dict[str, Any]]:
|
||||
"""남의 층 목록(PLAN 27-1c · 펼칠 때 부름) — `[{owner, name}]` · 층 자리가 있는 것만(본인 뺌).
|
||||
회사 = SYSTEM_ADMIN 만 회사 목록 · 개인 = 그 회사 사람(SYSTEM_ADMIN 은 어느 회사나 ·
|
||||
회사 관리자는 자기 회사만)."""
|
||||
if layer == "company":
|
||||
if not access.is_system_admin(session):
|
||||
raise HTTPException(status_code=403, detail="회사 목록은 시스템 관리자만 봄.")
|
||||
rows = [(str(r["company_id"]), r["name"]) for r in await _companies()]
|
||||
else:
|
||||
target = session.get("company_id") if company is None else company
|
||||
if target is None:
|
||||
raise HTTPException(status_code=409, detail=access.NO_COMPANY)
|
||||
mine = str(target) == str(session.get("company_id"))
|
||||
if not (access.is_system_admin(session) or (mine and access.is_company_admin(session))):
|
||||
raise HTTPException(status_code=403, detail="같은 회사 사람 목록은 회사 관리자만 봄.")
|
||||
me = session.get("user_id")
|
||||
users = await _company_users(int(target))
|
||||
rows = [(f"{target}/{u['user_id']}", u["name"]) for u in users if u["user_id"] != me]
|
||||
found = []
|
||||
for owner, name in rows:
|
||||
got = access.Grant(layer, owner, False, owner == access.own_owner(session, layer))
|
||||
try:
|
||||
access.folder(got)
|
||||
except HTTPException:
|
||||
continue
|
||||
found.append({"owner": owner, "name": name})
|
||||
return found
|
||||
|
||||
|
||||
@router.get("/layers/{layer}/templates")
|
||||
async def list_layer(
|
||||
layer: Layer,
|
||||
project_id: str | None = Query(None),
|
||||
user_id: int | None = Query(None),
|
||||
owner: str | None = Query(None),
|
||||
session: dict[str, Any] = Depends(verify_session),
|
||||
) -> dict[str, Any]:
|
||||
folder = await _layer_dir(session, layer, project_id=project_id, user_id=user_id)
|
||||
folder = await _layer_dir(session, layer, project_id=project_id, user_id=user_id, owner=owner)
|
||||
rows = await asyncio.to_thread(layers.list_templates, folder)
|
||||
manifest = await asyncio.to_thread(layers.read_manifest, folder)
|
||||
for row in rows:
|
||||
@@ -231,9 +265,10 @@ async def read_layer_template(
|
||||
name: str,
|
||||
project_id: str | None = Query(None),
|
||||
user_id: int | None = Query(None),
|
||||
owner: str | None = Query(None),
|
||||
session: dict[str, Any] = Depends(verify_session),
|
||||
) -> dict[str, Any]:
|
||||
folder = await _layer_dir(session, layer, project_id=project_id, user_id=user_id)
|
||||
folder = await _layer_dir(session, layer, project_id=project_id, user_id=user_id, owner=owner)
|
||||
try:
|
||||
found = await asyncio.to_thread(layers.read_template, folder, kind, name)
|
||||
except ValueError as error:
|
||||
@@ -258,9 +293,13 @@ async def save_layer_template(
|
||||
name: str,
|
||||
body: SaveBody,
|
||||
project_id: str | None = Query(None),
|
||||
user_id: int | None = Query(None),
|
||||
owner: str | None = Query(None),
|
||||
session: dict[str, Any] = Depends(verify_session),
|
||||
) -> dict[str, Any]:
|
||||
folder = await _layer_dir(session, layer, project_id=project_id, write=True)
|
||||
folder = await _layer_dir(
|
||||
session, layer, project_id=project_id, user_id=user_id, owner=owner, write=True
|
||||
)
|
||||
document = body.문서
|
||||
try:
|
||||
layers.check_skeleton(kind, document) # 빈 `{}` · 뼈대 없는 문서는 파일 안 씀
|
||||
@@ -318,6 +357,7 @@ async def delete_layer_template(
|
||||
name: str,
|
||||
판: str | None = Query(None),
|
||||
project_id: str | None = Query(None),
|
||||
owner: str | None = Query(None),
|
||||
session: dict[str, Any] = Depends(verify_session),
|
||||
) -> dict[str, Any]:
|
||||
"""개인 = 본인만 · 회사 = 회사 관리자만 · 시스템 = 시스템 관리자 · 프로젝트 층은 거절 ·
|
||||
@@ -326,7 +366,7 @@ async def delete_layer_template(
|
||||
raise HTTPException(
|
||||
status_code=403, detail="개인 · 회사 · 시스템 층 양식만 지울 수 있습니다."
|
||||
)
|
||||
folder = await _layer_dir(session, layer, project_id=project_id, write=True)
|
||||
folder = await _layer_dir(session, layer, project_id=project_id, owner=owner, write=True)
|
||||
if (kind, name) in store.IN_USE:
|
||||
raise HTTPException(status_code=409, detail=f"쓰는 양식이라 못 지움 「{name}」")
|
||||
try:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* 관리 화면 항목 나무 — 줄 모양은 공용 ui-tree · ui-sidebar-row */
|
||||
/* 관리 화면 구조물 라이브러리 — 줄 모양은 공용 ui-tree · ui-sidebar-row */
|
||||
.m02-tree {
|
||||
padding-top: var(--spacing-8);
|
||||
display: flex;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/* =============================================================================
|
||||
* M02_MasterTemplete_TreePanel.ts
|
||||
* 관리 화면(마스터 · 회사 · 개인 공용) 좌측 「항목 나무」 — 폴더 → … → 항목(깊이 자유) · 찾기.
|
||||
* 관리 화면(마스터 · 회사 · 개인 공용) 「구조물 라이브러리」 한 층의 나무 — 폴더 → … → 항목(깊이 자유) · 찾기.
|
||||
* 층 + `owner`(남의 층 · PLAN 27-1c) 한 벌을 그림 — 뿌리 셋 배치는 `_Roots` · 자료 길은 `api` 로 바꿔 끼움.
|
||||
* 항목을 누르면 표에서 그 열이 골라짐(카드 넷은 표가 엶) · 표에서 열을 고르면 `select` 로 나무도 그 항목.
|
||||
* 오른쪽 클릭 · 키보드(F2 · Delete)로 폴더 · 항목 더하기 · 이름 바꾸기 · 옮기기 · 지우기 —
|
||||
* `POST /api/m02/layers/{층}/tree`(PLAN 26-1). 읽기만 층은 메뉴 · 키 없음. 나무 자료는 `_Model`.
|
||||
@@ -44,6 +45,15 @@ import {
|
||||
|
||||
export interface TreePanelOptions {
|
||||
layer: Layer;
|
||||
/** 남의 층 주인(회사 `{C}` · 개인 `{C}/{U}`) — 없으면 자기 층 */
|
||||
owner?: string | null;
|
||||
/** 맨 위 줄 글 — 없으면 층 이름 */
|
||||
label?: string;
|
||||
/** 나무 읽기 · 고치기 길 — 없으면 구조물 조합 나무(`/layers/{층}/tree`) */
|
||||
api?: {
|
||||
fetch: (layer: Layer, owner: string | null) => Promise<TreeView>;
|
||||
edit: (layer: Layer, edit: TreeEdit, 판: string, owner: string | null) => Promise<TreeView>;
|
||||
};
|
||||
/** 이 층을 고칠 수 있나 — 아니면 메뉴 · 키 없음 */
|
||||
canEdit: boolean;
|
||||
/** 항목을 누름 — 표에서 그 열을 고름 */
|
||||
@@ -67,13 +77,17 @@ const why = (error: unknown): string => (error instanceof Error ? error.message
|
||||
const hint = (text: string): HTMLElement => el("p", { className: "m02-tree__hint", text });
|
||||
|
||||
export function createTreePanel(opt: TreePanelOptions): TreePanelHandle {
|
||||
const layerLabel = L(
|
||||
opt.layer === "company"
|
||||
? "M02_PickerCompany"
|
||||
: opt.layer === "personal"
|
||||
? "M02_PickerPersonal"
|
||||
: "M02_PickerSystem",
|
||||
);
|
||||
const layerLabel =
|
||||
opt.label ??
|
||||
L(
|
||||
opt.layer === "company"
|
||||
? "M02_PickerCompany"
|
||||
: opt.layer === "personal"
|
||||
? "M02_PickerPersonal"
|
||||
: "M02_PickerSystem",
|
||||
);
|
||||
const owner = opt.owner ?? null;
|
||||
const api = opt.api ?? { fetch: fetchTree, edit: editTree };
|
||||
let view: TreeView | null = null;
|
||||
let text = "";
|
||||
let activeCol: string | null = null;
|
||||
@@ -175,7 +189,7 @@ export function createTreePanel(opt: TreePanelOptions): TreePanelHandle {
|
||||
async function refresh(): Promise<void> {
|
||||
const mine = ++seq;
|
||||
try {
|
||||
const got = await fetchTree(opt.layer);
|
||||
const got = await api.fetch(opt.layer, owner);
|
||||
if (mine !== seq) return;
|
||||
view = got;
|
||||
} catch (error) {
|
||||
@@ -217,7 +231,7 @@ export function createTreePanel(opt: TreePanelOptions): TreePanelHandle {
|
||||
if (!view || busy) return;
|
||||
busy = true;
|
||||
try {
|
||||
const got = await editTree(opt.layer, body_, view.판);
|
||||
const got = await api.edit(opt.layer, body_, view.판, owner);
|
||||
view = got;
|
||||
const note: TreeNote | undefined = got.알림;
|
||||
// 새 항목은 그 열을 고름 · 지운 항목이면 고름 풀림 · 나머지는 지금 고른 열 그대로
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* =============================================================================
|
||||
* M02_MasterTemplete_TreePanel_Dialogs.ts
|
||||
* 항목 나무 오른쪽 클릭 메뉴가 띄우는 작은 창 — 글 받기 · 옮길 폴더 고르기 · 저장/버림 물음.
|
||||
* 구조물 라이브러리 오른쪽 클릭 메뉴가 띄우는 작은 창 — 글 받기 · 옮길 폴더 고르기 · 저장/버림 물음.
|
||||
* 모두 약속(Promise)으로 답함 — 닫기 · Esc · 바깥 누르기 = 취소(null / "cancel").
|
||||
* ========================================================================== */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* =============================================================================
|
||||
* M02_MasterTemplete_TreePanel_Model.ts
|
||||
* 관리 화면 항목 나무의 자료 쪽(화면 없음) — 서버 나무(`폴더` + `items`)를 폴더 나무로 · 찾기 ·
|
||||
* 관리 화면 구조물 라이브러리의 자료 쪽(화면 없음) — 서버 나무(`폴더` + `items`)를 폴더 나무로 · 찾기 ·
|
||||
* 폴더 목록. 항목 경로는 폴더 이름 배열 + 마지막 마디가 항목 이름(PLAN 26-1 · 깊이 자유).
|
||||
* ========================================================================== */
|
||||
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
/* =============================================================================
|
||||
* M02_MasterTemplete_TreePanel_Roots.ts
|
||||
* 라이브러리 한 화면의 뿌리 셋(마스터 · 회사 · 개인 · PLAN 27-1b · c) — 나무 종류와 무관한 공용 부품
|
||||
* (구조물 라이브러리 · 일위대가 라이브러리가 함께 씀). 고른 뿌리(`active`) 아래에 부르는 쪽 나무(`panel`)를 붙임.
|
||||
* 시스템 관리자 「회사」 → 회사 목록 → (회사 공용 · 그 회사 사람)
|
||||
* 회사 관리자 「개인」 → (내 것 · 같은 회사 사람)
|
||||
* 그 밖 마스터 · 회사 · 개인 한 줄씩
|
||||
* 목록은 펼칠 때 불러옴(`fetchOwners`) · 다른 뿌리를 누르면 `go`(부르는 쪽이 해시로 다시 엶) ·
|
||||
* 읽기만 뿌리는 줄 끝에 「읽기」(권한 = `accessFor` · 서버 `M02_Layer_Access` 와 짝).
|
||||
* ========================================================================== */
|
||||
|
||||
import { el } from "@ui/ui_template_elements";
|
||||
import { t as L } from "@ui/ui_template_locale";
|
||||
import { createTreeRow } from "@ui/ui_template_tree";
|
||||
import type { SessionUser } from "../A06_Login/A06_Login_Api_Fetch";
|
||||
import { fetchOwners, type LayerOwner } from "./M02_MasterTemplete_Api_Fetch";
|
||||
import {
|
||||
accessFor,
|
||||
buildNeedCompany,
|
||||
layerOfRoot,
|
||||
ownOwner,
|
||||
type Root,
|
||||
} from "./M02_MasterTemplete_Layer";
|
||||
|
||||
export interface RootsOptions {
|
||||
user: SessionUser | null;
|
||||
/** 지금 고른 뿌리 — `owner` null = 자기 층 */
|
||||
active: { root: Root; owner: string | null };
|
||||
/** 고른 뿌리 아래에 붙일 나무 */
|
||||
panel: HTMLElement;
|
||||
/** 다른 뿌리를 누름 — `owner` null = 자기 층 */
|
||||
go: (root: Root, owner: string | null) => void;
|
||||
}
|
||||
|
||||
const hint = (text: string): HTMLElement => el("p", { className: "m02-tree__hint", text });
|
||||
const why = (error: unknown): string => (error instanceof Error ? error.message : "");
|
||||
|
||||
export function createLibraryRoots(opt: RootsOptions): HTMLElement {
|
||||
const { user, active } = opt;
|
||||
const isSystem = user?.role === "SYSTEM_ADMIN";
|
||||
const companyAdmin = isSystem || user?.role === "ADMIN" || !!user?.is_master;
|
||||
const ownCompany = ownOwner("company", user);
|
||||
const activeCompany = active.owner?.split("/")[0] ?? ownCompany;
|
||||
|
||||
/** 층 하나 — 누르면 그 뿌리로 · 고른 뿌리면 아래에 나무(누르면 접기/펴기) */
|
||||
function leaf(label: string, root: Root, owner: string | null, depth: number): HTMLElement[] {
|
||||
const current = root === active.root && owner === active.owner;
|
||||
const readOnly = !accessFor(layerOfRoot(root), owner, user).canWrite;
|
||||
const text = readOnly ? `${label} · ${L("M02_RootReadOnly")}` : label;
|
||||
const wrap = el("div", { className: "m02-roots__panel", children: current ? [opt.panel] : [] });
|
||||
wrap.style.paddingLeft = `calc(${depth + 1} * var(--spacing-16))`;
|
||||
const row = createTreeRow(
|
||||
{ id: `${root}|${owner}`, label: text, count: null },
|
||||
"",
|
||||
depth,
|
||||
() => {
|
||||
if (!current) return opt.go(root, owner);
|
||||
wrap.hidden = !wrap.hidden;
|
||||
},
|
||||
);
|
||||
row.classList.toggle("is-active", current);
|
||||
return current ? [row, wrap] : [row];
|
||||
}
|
||||
|
||||
/** 묶음 — 펼칠 때 한 번 불러옴(`load`) · `open` = 고른 뿌리가 안에 있어 처음부터 펼침 */
|
||||
function group(
|
||||
label: string,
|
||||
depth: number,
|
||||
open: boolean,
|
||||
load: () => Promise<HTMLElement[]>,
|
||||
): HTMLElement {
|
||||
const kids = el("div", { className: "ui-tree__kids" });
|
||||
kids.hidden = !open;
|
||||
let loaded = false;
|
||||
const fill = async (): Promise<void> => {
|
||||
loaded = true;
|
||||
kids.replaceChildren(hint(L("M02_PickerLoading")));
|
||||
try {
|
||||
const nodes = await load();
|
||||
kids.replaceChildren(...(nodes.length ? nodes : [hint(L("M02_RootNone"))]));
|
||||
} catch (error) {
|
||||
loaded = false;
|
||||
kids.replaceChildren(hint(L("M02_PickerLoadFailed").replace("{value}", why(error))));
|
||||
}
|
||||
};
|
||||
const row = createTreeRow({ id: label, label, count: null }, open ? "▾" : "▸", depth, () => {
|
||||
kids.hidden = !kids.hidden;
|
||||
const caret = row.querySelector(".ui-tree__caret");
|
||||
if (caret) caret.textContent = kids.hidden ? "▸" : "▾";
|
||||
if (!kids.hidden && !loaded) void fill();
|
||||
});
|
||||
if (open) void fill();
|
||||
return el("div", { className: "ui-tree__branch", children: [row, kids] });
|
||||
}
|
||||
|
||||
/** 목록에 없는 고른 층(해시로 바로 들어옴 · 탈퇴한 사람 등)도 줄을 세움 — 나무를 붙일 자리 */
|
||||
const withActive = (list: LayerOwner[], owner: string | null, fits: boolean): LayerOwner[] =>
|
||||
owner && fits && !list.some((one) => one.owner === owner)
|
||||
? [...list, { owner, name: owner }]
|
||||
: list;
|
||||
|
||||
/** 그 회사 사람들의 개인 층(본인 뺌) */
|
||||
const people = async (company: string | null, depth: number): Promise<HTMLElement[]> => {
|
||||
const fits = active.root === "personal" && activeCompany === (company ?? ownCompany);
|
||||
return withActive(await fetchOwners("personal", company), active.owner, fits).flatMap((one) =>
|
||||
leaf(one.name, "personal", one.owner, depth),
|
||||
);
|
||||
};
|
||||
|
||||
const master = leaf(L("M02_PickerSystem"), "master", null, 0);
|
||||
if (!ownCompany && !isSystem) {
|
||||
return el("div", { className: "m02-roots", children: [...master, buildNeedCompany()] });
|
||||
}
|
||||
|
||||
// 시스템 관리자 — 회사 목록 → 회사 공용 · 그 회사 사람
|
||||
const companies = (): HTMLElement =>
|
||||
group(L("M02_PickerCompany"), 0, active.root === "company" || !!active.owner, async () =>
|
||||
withActive(await fetchOwners("company"), activeCompany, !!active.owner).map((one) => {
|
||||
const mine = one.owner === ownCompany;
|
||||
const here = !!active.owner || active.root === "company";
|
||||
return group(one.name, 1, here && activeCompany === one.owner, async () => [
|
||||
...leaf(L("M02_RootShared"), "company", mine ? null : one.owner, 2),
|
||||
...(await people(one.owner, 2)),
|
||||
]);
|
||||
}),
|
||||
);
|
||||
|
||||
const company = isSystem ? [companies()] : leaf(L("M02_PickerCompany"), "company", null, 0);
|
||||
// 회사 관리자 — 개인 → 내 것 · 같은 회사 사람 · 시스템 관리자는 남의 개인을 회사 아래에서 봄
|
||||
const personal = !ownCompany
|
||||
? []
|
||||
: companyAdmin && !isSystem
|
||||
? [
|
||||
group(L("M02_PickerPersonal"), 0, active.root === "personal", async () => [
|
||||
...leaf(L("M02_RootMine"), "personal", null, 1),
|
||||
...(await people(null, 1)),
|
||||
]),
|
||||
]
|
||||
: leaf(L("M02_PickerPersonal"), "personal", null, 0);
|
||||
return el("div", { className: "m02-roots", children: [...master, ...company, ...personal] });
|
||||
}
|
||||
@@ -106,7 +106,7 @@ export function canEdit(layer: Layer, isAdmin: boolean): boolean {
|
||||
}
|
||||
|
||||
/** 페이지가 끼우는 것 — `top` = 편집 칸 맨 위 막대(회사용 읽기만 안내) · `onColumn` = 집계표에서 고른 열 ·
|
||||
* `aside` = 「구조물 조합」을 열 때만 편집 칸 왼쪽에 보임(항목 나무 · PLAN 26-7c) */
|
||||
* `aside` = 「구조물 조합」을 열 때만 편집 칸 왼쪽에 보임(구조물 라이브러리 · PLAN 26-7c) */
|
||||
export interface MainExtras {
|
||||
top?: HTMLElement;
|
||||
aside?: HTMLElement;
|
||||
|
||||
@@ -1,54 +1,74 @@
|
||||
/* =============================================================================
|
||||
* M02_MasterTemplete_UI_Page.ts
|
||||
* 마스터 템플릿 · 구조물 관리 화면 — 좌측 도킹 패널(양식 목록) / 우측 편집 칸(표·도면 부품) ·
|
||||
* 「구조물 조합」을 열면 편집 칸 왼쪽에 항목 나무(주 · 고치는 자리) · 오른쪽 참조표(PLAN 26-7c)
|
||||
* 「구조물 조합」을 열면 편집 칸 왼쪽에 구조물 라이브러리(뿌리 셋 · 주 · 고치는 자리) · 오른쪽 참조표(PLAN 26-7c)
|
||||
*
|
||||
* 층 = 주소 인자 `?layer=personal|company`(없으면 시스템) — 같은 화면 한 벌.
|
||||
* 화면은 로그인만 확인 — 고치기는 층별 권한일 때만 켬(서버도 막음 · `M02_MasterTemplete_Layer.ts`).
|
||||
* 한 화면에 뿌리 셋(마스터 · 회사 · 개인 · PLAN 27-1) — 고른 뿌리 = 진입 해시 `?open=&root=&owner=`
|
||||
* (`M02_MasterTemplete_Layer.ts`) · 다른 뿌리를 누르면 해시를 바꿔 이 화면을 다시 세움.
|
||||
* 화면은 로그인만 확인 — 고치기는 뿌리별 권한일 때만 켬(서버도 막음 · `accessFor`).
|
||||
* ========================================================================== */
|
||||
|
||||
import "@ui/ui_template_workflow_layout.css";
|
||||
import { ROUTES } from "@config/config_frontend";
|
||||
import { el } from "@ui/ui_template_elements";
|
||||
import { t as L } from "@ui/ui_template_locale";
|
||||
import { createWorkflowOverlays } from "@ui/ui_template_overlay";
|
||||
import { navigateTo, type MountedPage } from "../A00_Common/router";
|
||||
import { fetchSessionUser } from "../A06_Login/A06_Login_Api_Fetch";
|
||||
import { setActiveLayer } from "./M02_MasterTemplete_Api_Fetch";
|
||||
import {
|
||||
accessFor,
|
||||
buildNeedCompany,
|
||||
buildReadOnlyBar,
|
||||
layerFromHash,
|
||||
titleOf,
|
||||
entryFromHash,
|
||||
entryQuery,
|
||||
layerOfRoot,
|
||||
ownOwner,
|
||||
type Root,
|
||||
} from "./M02_MasterTemplete_Layer";
|
||||
import { STRUCTURE_TABLE } from "./M02_MasterTemplete_Structure";
|
||||
import { createTreePanel } from "./M02_MasterTemplete_TreePanel";
|
||||
import { createLibraryRoots } from "./M02_MasterTemplete_TreePanel_Roots";
|
||||
import { canEdit, createMain, type Selection } from "./M02_MasterTemplete_UI_Main";
|
||||
import { buildSide } from "./M02_MasterTemplete_UI_Side";
|
||||
import "./M02_MasterTemplete_UI_Style.css";
|
||||
|
||||
export async function renderM02MasterTemplate(root: HTMLElement): Promise<void> {
|
||||
export async function renderM02MasterTemplate(root: HTMLElement): Promise<MountedPage> {
|
||||
const user = await fetchSessionUser().catch(() => null);
|
||||
const layer = layerFromHash();
|
||||
setActiveLayer(layer);
|
||||
const access = accessFor(layer, user);
|
||||
if (access.needCompany) {
|
||||
root.replaceChildren(buildNeedCompany());
|
||||
return;
|
||||
const entry = entryFromHash();
|
||||
let layer = layerOfRoot(entry.root);
|
||||
// 자기 층 주인을 적어도 자기 층 · 회사 없는 사람의 회사 · 개인 뿌리 = 마스터(뿌리 자리에 안내)
|
||||
let owner = entry.owner && entry.owner !== ownOwner(layer, user) ? entry.owner : null;
|
||||
if (accessFor(layer, owner, user).needCompany) {
|
||||
[entry.root, layer, owner] = ["master", "system", null];
|
||||
}
|
||||
const isAdmin = access.canWrite; // 이 층을 고칠 수 있나(하위 부품의 「관리자」 = 같은 뜻)
|
||||
// 회사용을 읽기만 볼 때 — 안내 + [개인용으로 복사]
|
||||
const readOnlyBar = layer === "company" && !isAdmin ? buildReadOnlyBar(user) : null;
|
||||
// 항목 나무 — 고르기 모달과 같은 폴더 나무(세 층 공용) · 「구조물 조합」 편집 칸 왼쪽
|
||||
setActiveLayer(layer, owner);
|
||||
const isAdmin = accessFor(layer, owner, user).canWrite; // 이 뿌리를 고칠 수 있나(하위 부품의 「관리자」)
|
||||
// 자기 회사용을 읽기만 볼 때 — 안내 + [개인용으로 복사]
|
||||
const readOnlyBar = layer === "company" && !owner && !isAdmin ? buildReadOnlyBar(user) : null;
|
||||
// 고른 뿌리의 나무 — 고르기 모달과 같은 폴더 나무 · 「구조물 조합」 편집 칸 왼쪽
|
||||
const tree = createTreePanel({
|
||||
layer,
|
||||
owner,
|
||||
label: L("M02_KindTable"),
|
||||
canEdit: canEdit(layer, isAdmin),
|
||||
onPick: (item) => void main.openTable(layer, item.열),
|
||||
settle: () => main.settle(),
|
||||
onChanged: (colId) => main.openTable(layer, colId, true),
|
||||
});
|
||||
const go = async (next: Root, nextOwner: string | null): Promise<void> => {
|
||||
// 같은 주소 안 이동은 머리 가드가 안 물음 — 저장 안 한 고침은 여기서
|
||||
if (!(await main.confirmLeave())) return;
|
||||
navigateTo(ROUTES.M02_MASTER_TEMPLATE, entryQuery({ ...entry, root: next, owner: nextOwner }));
|
||||
};
|
||||
const roots = createLibraryRoots({
|
||||
user,
|
||||
active: { root: entry.root, owner },
|
||||
panel: tree.root,
|
||||
go: (next, nextOwner) => void go(next, nextOwner),
|
||||
});
|
||||
const aside = el("aside", {
|
||||
className: "m02-shell__tree",
|
||||
children: [el("h3", { className: "m02-shell__title", text: L("M02_TreeTitle") }), tree.root],
|
||||
children: [el("h3", { className: "m02-shell__title", text: L("M02_TreeTitle") }), roots],
|
||||
});
|
||||
const main = createMain(
|
||||
isAdmin,
|
||||
@@ -81,7 +101,7 @@ export async function renderM02MasterTemplate(root: HTMLElement): Promise<void>
|
||||
|
||||
const layout = el("div", { className: "ui-workflow-layout m02-master" });
|
||||
const overlays = createWorkflowOverlays({
|
||||
title: titleOf(layer),
|
||||
title: L("M02_Title"),
|
||||
optionsContent: el("div", { className: "m02-master__side", children: [side.root] }),
|
||||
showProjectName: false,
|
||||
onOptionsOpenChange: (isOpen) => layout.classList.toggle("is-options-open", isOpen),
|
||||
@@ -96,5 +116,10 @@ export async function renderM02MasterTemplate(root: HTMLElement): Promise<void>
|
||||
root.innerHTML = "";
|
||||
root.append(layout);
|
||||
void main.open(home);
|
||||
// 진입 해시 `open` — 옵션 · 도면 컨테이너는 마스터에만(일위대가는 27-2 컨테이너가 생기면) ·
|
||||
// 옵션 화면이 뒤에 열리면 편집 칸 차례(`seq`)가 늦게 온 집계표를 버림
|
||||
if (entry.open === "옵션" || entry.open === "도면") side.reveal(entry.open);
|
||||
void tree.refresh();
|
||||
// 이 화면을 떠나면 층 길을 시스템 · 자기 층으로 되돌림(다른 화면의 항목 고르기가 남의 층을 안 부르게)
|
||||
return { covers: () => false, show: () => {}, dispose: () => setActiveLayer("system") };
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* 서버가 미리 만들어 둠(도번 SD · 면적번 SA · 재료번 SM + 같은 8자리) ·
|
||||
* 줄 글은 번호가 맨 앞(「SD01010100 돌기슭막이 …」). 「자재 조합」 컨테이너는 `M02_MasterTemplete_Matset.ts`.
|
||||
* 화면 이름 「구조물 조합」(PLAN 26-7a) — 파일 이름 · 양식 키 · API 길은 「구조물집계표」 그대로.
|
||||
* 항목 나무는 좌측이 아니라 「구조물 조합」 상세 화면 왼쪽(PLAN 26-7c · 페이지가 붙임).
|
||||
* 구조물 라이브러리는 좌측이 아니라 「구조물 조합」 상세 화면 왼쪽(PLAN 26-7c · 페이지가 붙임).
|
||||
* ========================================================================== */
|
||||
|
||||
import {
|
||||
@@ -80,6 +80,8 @@ export interface SideHandle {
|
||||
refresh: () => Promise<void>;
|
||||
/** 고름 표시를 지금 열린 것 한 줄로 — 편집 칸이 무엇을 열든(카드 [도면 수정] 등) 부름 */
|
||||
paint: () => void;
|
||||
/** 진입 해시 `open`(PLAN 27-1d) — 그 컨테이너를 펼침(옵션은 열기까지) · 시스템 층에만 있음 */
|
||||
reveal: (target: "옵션" | "도면") => void;
|
||||
}
|
||||
|
||||
/** 서버 이름 규칙과 같게 — 화면에서 먼저 막음 */
|
||||
@@ -152,18 +154,17 @@ export function buildSide(opt: SideOptions): SideHandle {
|
||||
);
|
||||
summary.classList.remove("is-collapsed");
|
||||
summary.classList.add("m02-side__summary");
|
||||
// 구조물 옵션 보이기 · 도면 양식은 시스템 층(마스터 템플릿)에만
|
||||
const extras =
|
||||
layer === "system"
|
||||
? {
|
||||
옵션: section(options.title, options.body),
|
||||
도면: section(L("M02_KindDrawing"), bodies.get("drawing")!, ...actionRow("drawing")),
|
||||
}
|
||||
: null;
|
||||
const listHost = el("div", {
|
||||
className: "m02-side__lists ui-sidebar-panel",
|
||||
children: [
|
||||
summary,
|
||||
// 구조물 옵션 보이기 · 도면 양식은 시스템 층(마스터 템플릿)에만
|
||||
...(layer === "system"
|
||||
? [
|
||||
section(options.title, options.body),
|
||||
section(L("M02_KindDrawing"), bodies.get("drawing")!, ...actionRow("drawing")),
|
||||
]
|
||||
: []),
|
||||
],
|
||||
children: [summary, ...(extras ? [extras.옵션, extras.도면] : [])],
|
||||
});
|
||||
attachCollapsible(listHost);
|
||||
|
||||
@@ -362,6 +363,11 @@ export function buildSide(opt: SideOptions): SideHandle {
|
||||
}
|
||||
}
|
||||
|
||||
const reveal = (target: "옵션" | "도면"): void => {
|
||||
extras?.[target].classList.remove("is-collapsed");
|
||||
if (target === "옵션") options.body.querySelector<HTMLElement>("button")?.click();
|
||||
};
|
||||
|
||||
void refresh();
|
||||
return { root, refresh, paint };
|
||||
return { root, refresh, paint, reveal };
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
/* 「구조물 조합」(PLAN 26-7c) — 왼쪽 항목 나무(주 · 고치는 자리) · 오른쪽 편집 칸(참조표 · 카드) */
|
||||
/* 「구조물 조합」(PLAN 26-7c) — 왼쪽 구조물 라이브러리(주 · 고치는 자리) · 오른쪽 편집 칸(참조표 · 카드) */
|
||||
.m02-shell {
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"다음": {"LB": 409, "EQ": 655, "RT": 20, "MN": 7000, "MT": 30719, "MO": 74, "MP": 364, "FX": 6, "CF": 159, "QF": 477, "GF": 252, "CC": 341, "GC": 1104, "QC": 2060, "GX": 1, "UA": 38},
|
||||
"다음": {"LB": 409, "EQ": 655, "RT": 20, "MN": 7000, "MT": 30719, "MO": 74, "MP": 364, "FX": 6, "CF": 159, "QF": 477, "GF": 331, "CC": 341, "GC": 1140, "QC": 2060, "GX": 1, "UA": 38},
|
||||
"폐기": {"MT000001": "자재품목 휘발유 — 값이 비고 글뿐 · 유가 테이블로 감", "MT000002": "자재품목 경유 — 값이 비고 글뿐 · 유가 테이블로 감", "MT000003": "자재품목 선박용경유 — 값이 비고 글뿐 · 유가 테이블로 감", "MT000004": "자재품목 중유 — 값이 비고 글뿐 · 유가 테이블로 감", "MT000005": "자재품목 등유 — 값이 비고 글뿐 · 유가 테이블로 감", "LB000399": "이름 「〃」 — 직종이 아니라 되풀이 기호 · 소요량 13-6-9 에서 윗줄 직종으로 바로잡음", "MN": "재료_나라장터자재 — old 로 옮김 · 로직은 자재품목·품셈재료로 갈아 끼움", "LB000372": "미확보 고급기능사 — 측량노임 항공사진고급기능사 옛이름으로 옮김", "LB000393": "미확보 리베팅공 — 건설노임 철골공 옛이름으로 옮김(2010 통합표 연번10)", "LB000405": "미확보 Belt Conveyor 설치공 — 품셈 13-10-1 주② 배분으로 다섯 직종에 나눔", "MT000006": "자재품목 전력 — 재료_유가전력 전력 줄로 감", "MT000007": "자재품목 전력 — 재료_유가전력 전력 줄로 감", "LB000368": "미확보 기술사 — 기술사(건설) 옛이름으로 옮김", "LB000369": "미확보 특급기술자 — 특급기술자(건설) 옛이름으로 옮김", "LB000370": "미확보 고급기술자 — 고급기술자(건설) 옛이름으로 옮김", "LB000361": "미확보 중급기술자 — 중급기술자(건설) 옛이름으로 옮김", "LB000364": "미확보 초급기술자 — 초급기술자(건설) 옛이름으로 옮김", "LB000365": "미확보 고급숙련기술자 — 고급숙련기술자(건설) 옛이름으로 옮김", "LB000366": "미확보 중급숙련기술자 — 중급숙련기술자(건설) 옛이름으로 옮김", "LB000367": "미확보 초급숙련기술자 — 초급숙련기술자(건설) 옛이름으로 옮김", "LB000389": "미확보 기계기사 — 초급기술자(기계·설비) 옛이름으로 옮김", "LB000388": "미확보 기계산업기사 — 초급숙련기술자(기계·설비) 옛이름으로 옮김", "MO000055": {"원문번호": "주택용저압:기본_200이하", "파일": "재료_유가전력.json"}, "MO000056": {"원문번호": "주택용저압:기본_201~400", "파일": "재료_유가전력.json"}, "MO000057": {"원문번호": "주택용저압:기본_400초과", "파일": "재료_유가전력.json"}, "MO000059": {"원문번호": "주택용저압:전력량_다음200", "파일": "재료_유가전력.json"}, "MO000060": {"원문번호": "주택용저압:전력량_400초과", "파일": "재료_유가전력.json"}, "MO000061": {"원문번호": "주택용저압:월간최저요금", "파일": "재료_유가전력.json"}, "MO000062": {"원문번호": "일반용갑I저압:기본", "파일": "재료_유가전력.json"}, "MO000063": {"원문번호": "일반용갑I저압:전력량_여름철", "파일": "재료_유가전력.json"}, "MO000064": {"원문번호": "일반용갑I저압:전력량_봄가을철", "파일": "재료_유가전력.json"}, "MO000065": {"원문번호": "일반용갑I저압:전력량_겨울철", "파일": "재료_유가전력.json"}, "MO000066": {"원문번호": "산업용갑I저압:기본", "파일": "재료_유가전력.json"}, "MO000067": {"원문번호": "산업용갑I저압:전력량_여름철", "파일": "재료_유가전력.json"}, "MO000068": {"원문번호": "산업용갑I저압:전력량_봄가을철", "파일": "재료_유가전력.json"}, "MO000069": {"원문번호": "산업용갑I저압:전력량_겨울철", "파일": "재료_유가전력.json"}, "MO000070": {"원문번호": "임시전력갑:기본요금적용", "파일": "재료_유가전력.json"}, "MO000071": {"원문번호": "임시전력갑:전력량요금적용", "파일": "재료_유가전력.json"}, "MO000072": {"원문번호": "임시전력갑:월간최저요금", "파일": "재료_유가전력.json"}},
|
||||
"키": {
|
||||
"CC000001": {"원문번호": "공통 1-3-1 콘크리트 및 포장용 재료", "파일": "계수_건설품셈_01장_적용기준.json"},
|
||||
@@ -2262,6 +2262,42 @@
|
||||
"GC001101": {"원문번호": "유지관리 2-4-12 CCTV조사", "파일": "로직_건설품셈_02장_토목.json"},
|
||||
"GC001102": {"원문번호": "유지관리 2-4-13 주철관 철거", "파일": "로직_건설품셈_02장_토목.json"},
|
||||
"GC001103": {"원문번호": "유지관리 2-4-14 원심력철근콘크리트관 철거", "파일": "로직_건설품셈_02장_토목.json"},
|
||||
"GC001104": {"원문번호": "유지관리 3-1-1 콘크리트구조물 헐기(인력)", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001105": {"원문번호": "유지관리 3-1-2 콘크리트구조물 헐기(기계)", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001106": {"원문번호": "유지관리 3-1-3 철골재 철거(인력)", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001107": {"원문번호": "유지관리 3-1-4 철골재 철거(기계)", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001108": {"원문번호": "유지관리 3-1-5 석축 헐기(인력)", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001109": {"원문번호": "유지관리 3-2-1 금속기와 해체", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001110": {"원문번호": "유지관리 3-2-2 흡음텍스 해체", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001111": {"원문번호": "유지관리 3-2-3 경량천장철골틀 해체", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001112": {"원문번호": "유지관리 3-2-4 조적벽 해체", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001113": {"원문번호": "유지관리 3-2-5 경량벽체철골틀 해체", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001114": {"원문번호": "유지관리 3-2-6 석고판 해체", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001115": {"원문번호": "유지관리 3-2-7 도배 해체", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001116": {"원문번호": "유지관리 3-2-8 PVC계바닥재 해체", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001117": {"원문번호": "유지관리 3-2-9 타일 해체", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001118": {"원문번호": "유지관리 3-2-10 기존방수층 및 보호층 철거", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001119": {"원문번호": "유지관리 3-2-11 기존방수층 제거 및 바탕처리", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001120": {"원문번호": "유지관리 3-2-12 석면건축자재 해체", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001121": {"원문번호": "유지관리 3-3-1 재도장 시 바탕처리(콘크리트·모르타르면)", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001122": {"원문번호": "유지관리 3-3-2 재도장 시 바탕처리(철재면)", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001123": {"원문번호": "유지관리 3-3-3 재도장 시 바탕처리(목재면)", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001124": {"원문번호": "유지관리 3-4-1 지붕 덧씌우기", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001125": {"원문번호": "유지관리 3-4-2 지붕 재설치", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001126": {"원문번호": "유지관리 3-4-3 도배 교체", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001127": {"원문번호": "유지관리 3-4-4 PVC계바닥재 교체", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001128": {"원문번호": "유지관리 3-4-5 타일 교체", "파일": "로직_건설품셈_03장_건축.json"},
|
||||
"GC001129": {"원문번호": "유지관리 4-1-1 배관 해체", "파일": "로직_건설품셈_04장_기계설비.json"},
|
||||
"GC001130": {"원문번호": "유지관리 4-1-2 각형덕트 해체", "파일": "로직_건설품셈_04장_기계설비.json"},
|
||||
"GC001131": {"원문번호": "유지관리 4-1-3 스파이럴덕트 해체", "파일": "로직_건설품셈_04장_기계설비.json"},
|
||||
"GC001132": {"원문번호": "유지관리 4-1-4 배관보온 해체", "파일": "로직_건설품셈_04장_기계설비.json"},
|
||||
"GC001133": {"원문번호": "유지관리 4-1-5 덕트보온 해체", "파일": "로직_건설품셈_04장_기계설비.json"},
|
||||
"GC001134": {"원문번호": "유지관리 4-1-6 펌프 해체", "파일": "로직_건설품셈_04장_기계설비.json"},
|
||||
"GC001135": {"원문번호": "유지관리 4-3-1 유량계 교체", "파일": "로직_건설품셈_04장_기계설비.json"},
|
||||
"GC001136": {"원문번호": "유지관리 4-3-2 관갱생공", "파일": "로직_건설품셈_04장_기계설비.json"},
|
||||
"GC001137": {"원문번호": "유지관리 4-3-3 배관누수 검사", "파일": "로직_건설품셈_04장_기계설비.json"},
|
||||
"GC001138": {"원문번호": "공통 7-4-2 석재판 붙임 앵커 긴결공법", "파일": "로직_건설품셈_07장_돌공사.json"},
|
||||
"GC001139": {"원문번호": "공통 7-4-3 석재판 붙임 강제트러스 지지공법", "파일": "로직_건설품셈_07장_돌공사.json"},
|
||||
"GF000001": {"원문번호": "3-1 경계표시", "파일": "로직_산림품셈_03장_작업장_관리.json"},
|
||||
"GF000002": {"원문번호": "3-3 작업로 설치", "파일": "로직_산림품셈_03장_작업장_관리.json"},
|
||||
"GF000003": {"원문번호": "3-4-2 임산물 운반로 신설 작업량", "파일": "로직_산림품셈_03장_작업장_관리.json"},
|
||||
@@ -2513,6 +2549,85 @@
|
||||
"GF000249": {"원문번호": "9-14-2 다짐", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000250": {"원문번호": "9-15-2 표토제거 답외구간", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000251": {"원문번호": "9-17-2 비다짐", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000252": {"원문번호": "9-4-1 암파쇄(대형브레이커 · 굴착기 0.7㎥)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000253": {"원문번호": "9-5-2 발파암 깎기 90%(대형브레이커 · 굴착기 0.7㎥)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000254": {"원문번호": "9-5-1 육상 암석 절취(발파 10%)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000255": {"원문번호": "9-6-1 발파암 기계소할(대형브레이커 · 굴착기 0.7㎥)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000256": {"원문번호": "9-7-1 무근콘크리트 깨기(T=30㎝ 미만) 깨기(대형브레이커 · 굴착기 0.7㎥)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000257": {"원문번호": "9-7-2 무근콘크리트 깨기(T=30㎝ 이상) 깨기(대형브레이커 · 굴착기 0.7㎥)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000258": {"원문번호": "9-8-1 철근콘크리트 깨기(T=30㎝ 미만) 깨기(대형브레이커 · 굴착기 0.7㎥)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000259": {"원문번호": "9-8-2 철근콘크리트 깨기(T=30㎝ 이상) 깨기(대형브레이커 · 굴착기 0.7㎥)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000260": {"원문번호": "9-10-1 기존포장 깨기 콘크리트 깨기(대형브레이커 · 굴착기 0.7㎥)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000261": {"원문번호": "9-10-2 기존포장 깨기 아스팔트 깨기(대형브레이커 · 굴착기 0.7㎥)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000262": {"원문번호": "9-11-1 포장절단 콘크리트(기계)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000263": {"원문번호": "9-12-2 측구터파기 암절취", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000264": {"원문번호": "9-12-3 측구터파기 발파암", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000265": {"원문번호": "9-13-7 구조물터파기 육상 암절취(0~1m)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000266": {"원문번호": "9-13-8 구조물터파기 육상 암절취(1~2m)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000267": {"원문번호": "9-13-9 구조물터파기 육상 암절취(2~3m)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000268": {"원문번호": "9-13-10 구조물터파기 용수 암절취(0~1m)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000269": {"원문번호": "9-13-11 구조물터파기 용수 암절취(1~2m)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000270": {"원문번호": "9-13-12 구조물터파기 용수 암절취(2~3m)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000271": {"원문번호": "9-13-13 구조물터파기 육상 발파암(0~1m)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000272": {"원문번호": "9-13-14 구조물터파기 육상 발파암(1~2m)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000273": {"원문번호": "9-13-15 구조물터파기 육상 발파암(2~3m)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000274": {"원문번호": "9-13-16 구조물터파기 용수 발파암(0~1m)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000275": {"원문번호": "9-13-17 구조물터파기 용수 발파암(1~2m)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000276": {"원문번호": "9-13-18 구조물터파기 용수 발파암(2~3m)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000277": {"원문번호": "9-16-3 노체 살수(물탱크 5,500ℓ)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000278": {"원문번호": "9-19-3 비탈면 고르기(발파암)", "파일": "로직_산림품셈_09장_토공.json"},
|
||||
"GF000279": {"원문번호": "10-6-1 인력운반 토사·석재", "파일": "로직_산림품셈_10장_자재․장비_운반.json"},
|
||||
"GF000280": {"원문번호": "10-6-2 인력운반 돌(지게)", "파일": "로직_산림품셈_10장_자재․장비_운반.json"},
|
||||
"GF000281": {"원문번호": "10-6-3 인력운반 기타 임업자재", "파일": "로직_산림품셈_10장_자재․장비_운반.json"},
|
||||
"GF000282": {"원문번호": "10-8-1 케이블 크레인 짐내리기", "파일": "로직_산림품셈_10장_자재․장비_운반.json"},
|
||||
"GF000283": {"원문번호": "10-9-1 덤프트럭 자재 운반(1회 표준 운반량)", "파일": "로직_산림품셈_10장_자재․장비_운반.json"},
|
||||
"GF000284": {"원문번호": "10-12-1 덤프운반(굴착기 0.7㎥ 적재 · 덤프트럭 15ton)", "파일": "로직_산림품셈_10장_자재․장비_운반.json"},
|
||||
"GF000285": {"원문번호": "10-13-2 묘목 인력운반", "파일": "로직_산림품셈_10장_자재․장비_운반.json"},
|
||||
"GF000286": {"원문번호": "4-1-1 수확베기 임업용 동력기계톱 벌목", "파일": "로직_산림품셈_04장_나무베기.json"},
|
||||
"GF000287": {"원문번호": "4-2-1 단목베기(100본당)", "파일": "로직_산림품셈_04장_나무베기.json"},
|
||||
"GF000288": {"원문번호": "4-2-2 단목베기(1,000㎡당 · 굴착기 0.2㎥ + 부착용 집게)", "파일": "로직_산림품셈_04장_나무베기.json"},
|
||||
"GF000289": {"원문번호": "4-3 위험목 베기(굴착기 우드그랩 0.2㎥ · 크레인 5톤)", "파일": "로직_산림품셈_04장_나무베기.json"},
|
||||
"GF000290": {"원문번호": "5-1-1 관목굴취", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000291": {"원문번호": "5-3-2 관목식재(단식)", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000292": {"원문번호": "5-3-3 관목식재(군식)", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000293": {"원문번호": "5-1-2 교목굴취(나무높이)", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000294": {"원문번호": "5-1-3 교목굴취(근원직경)", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000295": {"원문번호": "5-2 뿌리돌림", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000296": {"원문번호": "5-3-4 교목식재(나무높이)", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000297": {"원문번호": "5-3-5 교목식재(흉고직경)", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000298": {"원문번호": "5-16-1 선떼붙이기 단끊기", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000299": {"원문번호": "5-19-1 표토절취 및 모으기", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000300": {"원문번호": "5-19-2 표토펴기 및 고르기", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000301": {"원문번호": "5-26-1 흙갈이 막갈이", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000302": {"원문번호": "5-26-2 흙갈이 흙부수기", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000303": {"원문번호": "5-28-2 방초매트 및 야자섬유매트 포장", "파일": "로직_산림품셈_05장_식재_및_녹화.json"},
|
||||
"GF000304": {"원문번호": "6-4-3 칡덩굴 소금처리", "파일": "로직_산림품셈_06장_생육보조.json"},
|
||||
"GF000305": {"원문번호": "6-4-4 칡덩굴 뿌리제거", "파일": "로직_산림품셈_06장_생육보조.json"},
|
||||
"GF000306": {"원문번호": "6-7-1 교목 시비(환상시비)", "파일": "로직_산림품셈_06장_생육보조.json"},
|
||||
"GF000307": {"원문번호": "7-2 수라집재", "파일": "로직_산림품셈_07장_집재_및_운재.json"},
|
||||
"GF000308": {"원문번호": "7-5-2 트랙터부착형 숲가꾸기·병해충방제(지면끌기)", "파일": "로직_산림품셈_07장_집재_및_운재.json"},
|
||||
"GF000309": {"원문번호": "7-7-2 HAM200 숲가꾸기·병해충방제", "파일": "로직_산림품셈_07장_집재_및_운재.json"},
|
||||
"GF000310": {"원문번호": "7-8-1 타워야더(RME 300T) 가선설치", "파일": "로직_산림품셈_07장_집재_및_운재.json"},
|
||||
"GF000311": {"원문번호": "7-8-2 타워야더(RME 300T) 가선해체", "파일": "로직_산림품셈_07장_집재_및_운재.json"},
|
||||
"GF000312": {"원문번호": "7-9-1 부착형 타워(K-301 · HAM300) 수확 집재", "파일": "로직_산림품셈_07장_집재_및_운재.json"},
|
||||
"GF000313": {"원문번호": "7-9-2 부착형 타워(K-301 · HAM300) 숲가꾸기·재선충병방제 집재", "파일": "로직_산림품셈_07장_집재_및_운재.json"},
|
||||
"GF000314": {"원문번호": "7-10 굴착기 우드그랩 산지집재(병해충방제)", "파일": "로직_산림품셈_07장_집재_및_운재.json"},
|
||||
"GF000315": {"원문번호": "7-12 동력상하차기(우드그래플) 집적", "파일": "로직_산림품셈_07장_집재_및_운재.json"},
|
||||
"GF000316": {"원문번호": "7-13 검척", "파일": "로직_산림품셈_07장_집재_및_운재.json"},
|
||||
"GF000317": {"원문번호": "8-1-1 나무주사 약제주입기", "파일": "로직_산림품셈_08장_방제.json"},
|
||||
"GF000318": {"원문번호": "8-1-2 나무주사 약제주입병", "파일": "로직_산림품셈_08장_방제.json"},
|
||||
"GF000319": {"원문번호": "8-4 끈끈이 롤 트랩 설치·제거", "파일": "로직_산림품셈_08장_방제.json"},
|
||||
"GF000320": {"원문번호": "8-6-2 드론방제(무인헬기 · 멀티콥터)", "파일": "로직_산림품셈_08장_방제.json"},
|
||||
"GF000321": {"원문번호": "8-6-3 지상방제 차량살포(동력분무기)", "파일": "로직_산림품셈_08장_방제.json"},
|
||||
"GF000322": {"원문번호": "8-10 그물망 피복", "파일": "로직_산림품셈_08장_방제.json"},
|
||||
"GF000323": {"원문번호": "8-11 이동식 임목 파쇄(93.25KW)", "파일": "로직_산림품셈_08장_방제.json"},
|
||||
"GF000324": {"원문번호": "13-4-6 밑돌 및 천단 돌쌓기", "파일": "로직_산림품셈_13장_구조물.json"},
|
||||
"GF000325": {"원문번호": "13-10-2 나무 말뚝박기 — 작은 말뚝(6할 박기)", "파일": "로직_산림품셈_13장_구조물.json"},
|
||||
"GF000326": {"원문번호": "13-10-2 나무 말뚝박기 — 기초말뚝", "파일": "로직_산림품셈_13장_구조물.json"},
|
||||
"GF000327": {"원문번호": "13-10-2 나무 말뚝박기 — 윈치말뚝", "파일": "로직_산림품셈_13장_구조물.json"},
|
||||
"GF000328": {"원문번호": "13-11-1 원형 돌망태", "파일": "로직_산림품셈_13장_구조물.json"},
|
||||
"GF000329": {"원문번호": "13-11-2 타원형 돌망태", "파일": "로직_산림품셈_13장_구조물.json"},
|
||||
"GF000330": {"원문번호": "13-15-1 목재 껍질벗기기", "파일": "로직_산림품셈_13장_구조물.json"},
|
||||
"LB000001": {"원문번호": "1001", "파일": "인력.json"},
|
||||
"LB000002": {"원문번호": "1002", "파일": "인력.json"},
|
||||
"LB000003": {"원문번호": "1003", "파일": "인력.json"},
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
"이름": "수라집재 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 7-2 주①②",
|
||||
"용도": {"공종": "수라집재", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "수라집재", "대상": ["작업량 조건"], "로직키": ["GF000307"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -95,7 +95,7 @@
|
||||
"이름": "부착형 타워 수확 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 7-9-1 주②",
|
||||
"용도": {"공종": "수확", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "수확", "대상": ["작업량 조건"], "로직키": ["GF000312"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -125,7 +125,7 @@
|
||||
"이름": "굴착기 우드그랩 산지집재 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 7-10 주③⑤",
|
||||
"용도": {"공종": "굴착기 우드그랩 산지집재-병해충방제", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "굴착기 우드그랩 산지집재-병해충방제", "대상": ["작업량 조건"], "로직키": ["GF000314"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -170,7 +170,7 @@
|
||||
"이름": "동력상하차기 집적 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 7-12 주④",
|
||||
"용도": {"공종": "동력상하차기(우드그래플) 집적", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "동력상하차기(우드그래플) 집적", "대상": ["작업량 조건"], "로직키": ["GF000315"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -183,7 +183,7 @@
|
||||
"이름": "검척 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 7-13 주①②③⑤",
|
||||
"용도": {"공종": "검척", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "검척", "대상": ["작업량 조건"], "로직키": ["GF000316"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -199,9 +199,9 @@
|
||||
"이름": "검척 평균 말구직경 할인·할증",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 7-13 주③",
|
||||
"용도": {"공종": "검척", "대상": ["작업량 조건", "할증"], "로직키": []},
|
||||
"용도": {"공종": "검척", "대상": ["작업량 조건", "할증"], "로직키": ["GF000316"]},
|
||||
"조건": { "구분": "고르기", "말구직경": "범위" },
|
||||
"범위규칙": "미만·이상 · 아래 끝 포함 · 위 끝 미포함",
|
||||
"범위규칙": "이상·미만 · 미만·이상 · 아래 끝 포함 · 위 끝 미포함",
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
{ "구분": "12cm 미만", "적용": 30, "단위": "%", "적용원문": "평균 말구직경이 12cm 미만인 경우 30%", "말구직경": [null, 12] },
|
||||
|
||||
@@ -162,7 +162,7 @@
|
||||
"이름": "끈끈이 롤 트랩 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 8-4 주①②",
|
||||
"용도": {"공종": "끈끈이 롤 트랩", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "끈끈이 롤 트랩", "대상": ["작업량 조건"], "로직키": ["GF000319"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -209,7 +209,7 @@
|
||||
"이름": "무인 헬리콥터 방제 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 8-6-2 주①②③⑤⑥",
|
||||
"용도": {"공종": "드론방제", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "드론방제", "대상": ["작업량 조건"], "로직키": ["GF000320"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -227,7 +227,7 @@
|
||||
"이름": "무인 멀티콥터 방제 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 8-6-2 주①②③④",
|
||||
"용도": {"공종": "드론방제", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "드론방제", "대상": ["작업량 조건"], "로직키": ["GF000320"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -270,7 +270,7 @@
|
||||
"이름": "그물망 피복 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 8-10 주①②",
|
||||
"용도": {"공종": "그물망 피복", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "그물망 피복", "대상": ["작업량 조건"], "로직키": ["GF000322"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -284,7 +284,7 @@
|
||||
"이름": "이동식 임목 파쇄 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 8-11 주①②⑤",
|
||||
"용도": {"공종": "이동식 임목 파쇄", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "이동식 임목 파쇄", "대상": ["인력", "작업량 조건"], "로직키": ["GF000323"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
"이름": "살수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 9-16-3",
|
||||
"용도": {"공종": "살수", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "살수", "대상": ["작업량 조건"], "로직키": ["GF000277"]},
|
||||
"조건": {
|
||||
"구분": "고르기"
|
||||
},
|
||||
@@ -182,7 +182,7 @@
|
||||
"이름": "살수 조건",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 9-16-3 주①②",
|
||||
"용도": {"공종": "살수", "대상": ["기계", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "살수", "대상": ["기계", "작업량 조건"], "로직키": ["GF000277"]},
|
||||
"조건": {
|
||||
"구분": "고르기"
|
||||
},
|
||||
@@ -252,7 +252,7 @@
|
||||
"이름": "철근콘크리트 깨기(T=30㎝ 미만) 주 · 고철공제",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 9-8-1 주②③ · 4 고철공제",
|
||||
"용도": {"공종": "T=30㎝ 미만", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "T=30㎝ 미만", "대상": ["작업량 조건"], "로직키": ["GF000258"]},
|
||||
"조건": {
|
||||
"구분": "고르기"
|
||||
},
|
||||
@@ -309,7 +309,7 @@
|
||||
"이름": "철근콘크리트 깨기(T=30㎝ 이상) 주 · 고철공제",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 9-8-2 주② · 4 고철공제",
|
||||
"용도": {"공종": "T=30㎝ 이상", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "T=30㎝ 이상", "대상": ["작업량 조건"], "로직키": ["GF000259"]},
|
||||
"조건": {
|
||||
"구분": "고르기"
|
||||
},
|
||||
@@ -365,7 +365,7 @@
|
||||
"이름": "발파구간 횡단경사 인건비 가산",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 9-5-3 주③",
|
||||
"용도": {"공종": "집토", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "집토", "대상": ["작업량 조건"], "로직키": ["GF000254"]},
|
||||
"조건": {
|
||||
"구분": "고르기"
|
||||
},
|
||||
@@ -431,7 +431,7 @@
|
||||
"이름": "무근콘크리트 깨기(T=30㎝ 미만) 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 9-7-1 주②⑤⑧⑨⑩",
|
||||
"용도": {"공종": "T=30㎝ 미만", "대상": ["기계", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "T=30㎝ 미만", "대상": ["기계", "작업량 조건"], "로직키": ["GF000256"]},
|
||||
"조건": {
|
||||
"구분": "고르기"
|
||||
},
|
||||
@@ -488,7 +488,7 @@
|
||||
"이름": "무근콘크리트 깨기(T=30㎝ 이상) 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 9-7-2 주②",
|
||||
"용도": {"공종": "T=30㎝ 이상", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "T=30㎝ 이상", "대상": ["작업량 조건"], "로직키": ["GF000257"]},
|
||||
"조건": {
|
||||
"구분": "고르기"
|
||||
},
|
||||
@@ -660,7 +660,7 @@
|
||||
"이름": "기존포장 깨기 콘크리트 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 9-10-1 주②",
|
||||
"용도": {"공종": "콘크리트", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "콘크리트", "대상": ["작업량 조건"], "로직키": ["GF000260"]},
|
||||
"조건": {
|
||||
"구분": "고르기"
|
||||
},
|
||||
@@ -684,7 +684,7 @@
|
||||
"이름": "기존포장 깨기 아스팔트 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 9-10-2 주②",
|
||||
"용도": {"공종": "아스팔트", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "아스팔트", "대상": ["작업량 조건"], "로직키": ["GF000261"]},
|
||||
"조건": {
|
||||
"구분": "고르기"
|
||||
},
|
||||
@@ -933,7 +933,7 @@
|
||||
"이름": "측구터파기 토사 인력·장비 비율",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 9-12-1",
|
||||
"용도": {"공종": "토사", "대상": ["작업량 조건"], "로직키": ["GF000098", "GF000099"]},
|
||||
"용도": {"공종": "토사", "대상": ["작업량 조건"], "로직키": ["GF000098", "GF000099", "GF000264"]},
|
||||
"조건": {
|
||||
"구분": "고르기"
|
||||
},
|
||||
@@ -967,7 +967,7 @@
|
||||
"이름": "구조물터파기 육상토사 인력·장비 비율",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 9-13-1",
|
||||
"용도": {"공종": "육상토사", "대상": ["작업량 조건"], "로직키": ["GF000100", "GF000101", "GF000102", "GF000103", "GF000104", "GF000105"]},
|
||||
"용도": {"공종": "육상토사", "대상": ["작업량 조건"], "로직키": ["GF000100", "GF000101", "GF000102", "GF000103", "GF000104", "GF000105", "GF000276"]},
|
||||
"조건": {
|
||||
"구분": "고르기"
|
||||
},
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
"이름": "밑돌 및 천단 돌쌓기 적용 조건",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 13-4-6 주③",
|
||||
"용도": {"공종": "밑돌 및 천단 돌쌓기", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "밑돌 및 천단 돌쌓기", "대상": ["작업량 조건"], "로직키": ["GF000324"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -245,7 +245,7 @@
|
||||
"이름": "말뚝박기공 할증 · 감 계수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 13-10-2 머리 글 · 1 주①②③④ · 2 주①②③⑤ · 3 주①②④⑤⑧",
|
||||
"용도": {"공종": "나무 말뚝박기", "대상": ["작업량 조건", "할증"], "로직키": []},
|
||||
"용도": {"공종": "나무 말뚝박기", "대상": ["작업량 조건", "할증"], "로직키": ["GF000325", "GF000326", "GF000327"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -274,7 +274,7 @@
|
||||
"이름": "원형 돌망태 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 13-11-1 주④⑤",
|
||||
"용도": {"공종": "원형", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "원형", "대상": ["작업량 조건"], "로직키": ["GF000328"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -290,7 +290,7 @@
|
||||
"이름": "타원형 돌망태 주 속 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 13-11-2 주④⑤",
|
||||
"용도": {"공종": "타원형", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "타원형", "대상": ["작업량 조건"], "로직키": ["GF000329"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "단위": "글" },
|
||||
"줄": [
|
||||
|
||||
@@ -1693,7 +1693,14 @@
|
||||
"비목": "노무비"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 경장비(스크리드 등)",
|
||||
"식": "((찾기(QC000517, 형식=형식, 두께=두께).포장공 / 시공량) * LB000019 + (찾기(QC000517, 형식=형식, 두께=두께).보통인부 / 시공량) * LB000002) * 3 / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 1-6-2 주⑥"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -2176,7 +2183,14 @@
|
||||
"수량": "찾기(QC000524, 형식=형식).플레이트콤팩터 * 8 / 시공량"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 경장비(절단기 등)",
|
||||
"식": "((찾기(QC000524, 형식=형식).포장공 / 시공량) * LB000019 + ((찾기(QC000524, 형식=형식).특별인부 - 만약(정밀절단 == '아님', 찾기(QC000583, 구분='블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우, 특별인부 1인을 감하여 적용한다.').값, 0)) / 시공량) * LB000003 + (찾기(QC000524, 형식=형식).보통인부 / 시공량) * LB000002) * 만약(정밀절단 == '아님', 찾기(QC000583, 구분='공구손료 및 경장비(절단기 등)의 기계경비 · 블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우').값, 찾기(QC000583, 구분='공구손료 및 경장비(절단기 등)의 기계경비 · 블록 정밀절단(전동절단기) 시공').값) / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 1-7-1 주⑤"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -2265,7 +2279,14 @@
|
||||
"수량": "찾기(QC000526, 형식=형식).플레이트콤팩터 * 8 / 시공량"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 경장비(절단기 등)",
|
||||
"식": "((찾기(QC000526, 형식=형식).포장공 / 시공량) * LB000019 + ((찾기(QC000526, 형식=형식).특별인부 - 만약(정밀절단 == '아님', 찾기(QC000584, 구분='블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우, 특별인부 1인을 감하여 적용한다.').값, 0)) / 시공량) * LB000003 + (찾기(QC000526, 형식=형식).보통인부 / 시공량) * LB000002) * 만약(정밀절단 == '아님', 찾기(QC000584, 구분='공구손료 및 경장비(절단기 등)의 기계경비 · 블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우').값, 찾기(QC000584, 구분='공구손료 및 경장비(절단기 등)의 기계경비 · 블록 정밀절단(전동절단기) 시공').값) / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 1-7-2 주⑤"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -2729,7 +2750,14 @@
|
||||
"출처": "건설품셈 토목 1-8-2 주④"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 경장비(드릴, 발전기 등)",
|
||||
"식": "((찾기(QC000532, 형식=형식).특별인부 / 시공량) * LB000003 + (찾기(QC000532, 형식=형식).보통인부 / 시공량) * LB000002 + 만약(추가표지판 == '없음', 0, (찾기(QC000533, 표지판설치규격_개소당=추가표지판).특별인부 * LB000003 + 찾기(QC000533, 표지판설치규격_개소당=추가표지판).보통인부 * LB000002) * 추가개수)) * 2 / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 1-8-2 주⑥"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -3148,8 +3176,21 @@
|
||||
"소유": "공용",
|
||||
"비고": "표지병 등으로 능률 저하 시 시공량 10%까지 감(비고) — 설계자 입력(아니면 0) · 해석: 감은 시공량에 곱함 · 해석: 프로판가스 = 자재품목 프로판가스(일반용) · 공시에 없는 재료(프라이머) = 재료_자체 · 트럭 4.5ton = 용해기 운반(트럭 작업 표) · 사전 청소 별도 · 페인트·유리알 재료량 별도 · 막힘: 트럭 줄 빠짐 — 기계 요소에 트럭(화물) 없음(덤프트럭만)",
|
||||
"입력": [
|
||||
{ "이름": "도색", "고르기": ["실선", "파선", "횡단보도, 주차장", "문자, 기호"] },
|
||||
{ "이름": "표지병감", "단위": "%", "범위": [0, 10], "출처": "건설품셈 토목 1-8-9 비고" }
|
||||
{
|
||||
"이름": "도색",
|
||||
"고르기": ["실선", "파선", "횡단보도, 주차장", "문자, 기호"]
|
||||
},
|
||||
{
|
||||
"이름": "표지병감",
|
||||
"단위": "%",
|
||||
"범위": [0, 10],
|
||||
"출처": "건설품셈 토목 1-8-9 비고"
|
||||
},
|
||||
{
|
||||
"이름": "주재료비",
|
||||
"단위": "원/㎡",
|
||||
"출처": "건설품셈 토목 1-8-9 주⑥"
|
||||
}
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "시공량", "식": "찾기(QC000544, 도색=도색).시공량 * (1 - 표지병감 / 100)", "출처": "건설품셈 토목 1-8-9 비고" }
|
||||
@@ -3173,7 +3214,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "도료", "검색어": "신구접착및방청제 LDS-MP"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "도료", "검색어": "융착식 프라이머"},
|
||||
"이름": "프라이머(융착식 도료)",
|
||||
"단위": "kg",
|
||||
"수량": "찾기(QC000546).프라이머 / 10",
|
||||
@@ -3190,7 +3231,20 @@
|
||||
"출처": "건설품셈 토목 1-8-9 재료(10㎡당)"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 경장비",
|
||||
"식": "((찾기(QC000544, 도색=도색).특별인부 / 시공량) * LB000003 + (찾기(QC000544, 도색=도색).보통인부 / 시공량) * LB000002) * 찾기(QC000601, 구분='공구손료 및 경장비(라인마커, 용해기 등)의 기계경비').값 / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 1-8-9 주⑤"
|
||||
},
|
||||
{
|
||||
"이름": "잡재료 및 소모재료",
|
||||
"식": "주재료비 * 찾기(QC000602, 구분='잡재료 및 소모재료').값 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 토목 1-8-9 주⑥"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -3578,7 +3632,14 @@
|
||||
"비목": "노무비"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 경장비(핸드믹서 등)",
|
||||
"식": "((찾기(QC000553, 형식=형식).도장공 / 시공량) * LB000029 + (찾기(QC000553, 형식=형식).보통인부 / 시공량) * LB000002) * 3 / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 1-8-13 주⑤"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -3587,8 +3648,18 @@
|
||||
"결과단위": "원/개소",
|
||||
"출처": "건설품셈 토목 1-8-14",
|
||||
"소유": "공용",
|
||||
"비고": "형식 A-Type = 산재 구간 · B-Type = 밀집 구간(적용기준 표) · 요율 표(A-Type 2% · B-Type 4%)는 무엇에 곱하는지 원문 글 없음 — 계산에 안 넣음 · 표시못 재료 원문 표에 없음 · 막힘: 트럭 줄 빠짐 — 기계 요소에 트럭(화물) 없음(덤프트럭만)",
|
||||
"입력": [{ "이름": "형식", "고르기": ["A-Type", "B-Type"] }],
|
||||
"비고": "형식 A-Type = 산재 구간 · B-Type = 밀집 구간(적용기준 표) · 요율 표(A-Type 2% · B-Type 4%) = 인력품에 곱함(주⑤) · 잡재료 = 주재료비 2%(주⑥) — 주재료비는 설계자 입력 · 표시못 재료 원문 표에 없음 · 막힘: 트럭 줄 빠짐 — 기계 요소에 트럭(화물) 없음(덤프트럭만)",
|
||||
"입력": [
|
||||
{
|
||||
"이름": "형식",
|
||||
"고르기": ["A-Type", "B-Type"]
|
||||
},
|
||||
{
|
||||
"이름": "주재료비",
|
||||
"단위": "원/개소",
|
||||
"출처": "건설품셈 토목 1-8-14 주⑥"
|
||||
}
|
||||
],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC000555, 형식=형식).시공량" }],
|
||||
"호표": [
|
||||
{
|
||||
@@ -3608,7 +3679,20 @@
|
||||
"비목": "노무비"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 경장비(전동드릴, 발전기 등)",
|
||||
"식": "((찾기(QC000555, 형식=형식).특별인부 / 시공량) * LB000003 + (찾기(QC000555, 형식=형식).보통인부 / 시공량) * LB000002) * 찾기(QC000557, 구분=형식).요율 / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 1-8-14 주⑤"
|
||||
},
|
||||
{
|
||||
"이름": "잡재료(채움모르타르 등)",
|
||||
"식": "주재료비 * 2 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 토목 1-8-14 주⑥"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -3932,7 +4016,14 @@
|
||||
"수량": "찾기(QC000562, 형식=형식, 규격_아래폭_높이mm=규격_아래폭_높이mm, 구간=구간).굴착기 * 8 / 시공량"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 경장비(절단기 등)",
|
||||
"식": "((찾기(QC000562, 형식=형식, 규격_아래폭_높이mm=규격_아래폭_높이mm, 구간=구간).특별인부 / 시공량) * LB000003 + (찾기(QC000562, 형식=형식, 규격_아래폭_높이mm=규격_아래폭_높이mm, 구간=구간).보통인부 / 시공량) * LB000002) * 2 / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 1-9-2 주⑥"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -4287,7 +4378,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "철근·강재", "상세구분": "철선", "검색어": "보통철선 #8 서울"},
|
||||
"요소": {"구분": "철근·강재", "상세구분": "철선", "검색어": "보통철선(결속선) 서울 m/kg"},
|
||||
"이름": "결속선",
|
||||
"단위": "m",
|
||||
"수량": "찾기(QC000569, 구분='결속선').수량",
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98%"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "FLUX"},
|
||||
"이름": "플럭스",
|
||||
"단위": "㎏",
|
||||
"수량": "찾기(QC001401, '규격(㎜)'=규격).플럭스 / 1000",
|
||||
@@ -194,7 +194,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98%"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "용접봉 스테인레스강용"},
|
||||
"이름": "TIG 용접봉",
|
||||
"규격": "스테인리스",
|
||||
"단위": "㎏",
|
||||
@@ -204,7 +204,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98%"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "알곤"},
|
||||
"이름": "아르곤가스",
|
||||
"단위": "ℓ",
|
||||
"수량": "찾기(QC001404, '규격(㎜)'=규격).Argon",
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "볼트·너트", "검색어": "세파볼트 D형"},
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "볼트·너트", "검색어": "육각볼트"},
|
||||
"이름": "서비스볼트",
|
||||
"단위": "본",
|
||||
"수량": "만약(부재 == 'H형강부재', 찾기(QC001188, 재료='서비스볼트').H형강부재, 찾기(QC001188, 재료='서비스볼트').전용접부재)",
|
||||
@@ -185,7 +185,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98%"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "용접봉 탄산가스용접용"},
|
||||
"이름": "CO_2 와이어",
|
||||
"단위": "㎏",
|
||||
"수량": "만약(용접방식 == '반자동용접', 환산용접길이 * 찾기(QC001190, 재료='CO_2 와이어').반자동용접, 0)",
|
||||
@@ -194,7 +194,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98%"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "탄산가스"},
|
||||
"이름": "탄산가스",
|
||||
"단위": "㎏",
|
||||
"수량": "만약(용접방식 == '반자동용접', 환산용접길이 * 찾기(QC001190, 재료='탄산가스').반자동용접, 0)",
|
||||
@@ -332,7 +332,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "볼트·너트", "검색어": "세파볼트 D형"},
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "볼트·너트", "검색어": "육각볼트"},
|
||||
"이름": "보통볼트",
|
||||
"단위": "본",
|
||||
"수량": "찾기(QC001192, 구분='보통볼트', 규격='가조임').수량",
|
||||
@@ -648,7 +648,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98%"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "용접봉 탄산가스용접용"},
|
||||
"이름": "CO_2 와이어",
|
||||
"단위": "㎏",
|
||||
"수량": "찾기(QC001197, 구분='CO_2 와이어').수량",
|
||||
@@ -657,7 +657,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98%"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "탄산가스"},
|
||||
"이름": "탄산가스",
|
||||
"단위": "㎏",
|
||||
"수량": "찾기(QC001197, 구분='탄산가스').수량",
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "T챤넬(K-SPAN) 4.5×610×2440"},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "외부판넬 (벽)"},
|
||||
"이름": "외부PANEL(벽) 1,200×2,400㎜",
|
||||
"단위": "매",
|
||||
"수량": "찾기(QC000012, 구분='외부PANEL(벽)', 종류=주자재종류).수량 * 손율 / 100",
|
||||
@@ -71,7 +71,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "T챤넬(K-SPAN) 4.5×610×2440"},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "외부판넬 (창문)"},
|
||||
"이름": "외부PANEL (창문) 1,200×2,400㎜",
|
||||
"단위": "매",
|
||||
"수량": "찾기(QC000012, 구분='외부PANEL (창문)', 종류=주자재종류).수량 * 손율 / 100",
|
||||
@@ -79,7 +79,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "T챤넬(K-SPAN) 4.5×610×2440"},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "외부판넬 (철재문)"},
|
||||
"이름": "외부PANEL (철재문) 1,200×2,400㎜",
|
||||
"단위": "매",
|
||||
"수량": "찾기(QC000012, 구분='외부PANEL (철재문)', 종류=주자재종류).수량 * 손율 / 100",
|
||||
@@ -87,7 +87,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "T챤넬(K-SPAN) 4.5×610×2440"},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "내부판넬 (벽)"},
|
||||
"이름": "내부PANEL(벽) 1,200×2,400㎜",
|
||||
"단위": "매",
|
||||
"수량": "만약(종류 == '사무실', 찾기(QC000012, 구분='내부PANEL(벽)', 종류=주자재종류).수량 * 손율 / 100, 0)",
|
||||
@@ -111,7 +111,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "T챤넬(K-SPAN) 4.5×610×2440"},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "출입구채양 (CANOPY)"},
|
||||
"이름": "CANOPY(출입구채양) 600×1,200㎜",
|
||||
"단위": "매",
|
||||
"수량": "찾기(QC000012, 구분='CANOPY(출입구채양)', 종류=주자재종류).수량 * 손율 / 100",
|
||||
@@ -119,7 +119,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "T챤넬(K-SPAN) 4.5×610×2440"},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "박공판넬"},
|
||||
"이름": "박공PANEL",
|
||||
"단위": "매",
|
||||
"수량": "찾기(QC000012, 구분='박공PANEL', 종류=주자재종류).수량 * 손율 / 100",
|
||||
@@ -143,7 +143,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "철근·강재", "상세구분": "형강", "검색어": "트러스 (TRUSS) SPAN:L=7.2"},
|
||||
"요소": {"구분": "철근·강재", "상세구분": "형강", "검색어": "중도리 (PURLIN)"},
|
||||
"이름": "중도리(PURIN) 두께:2.0이상",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000012, 구분='중도리(PURIN)', 종류=주자재종류).수량 * 손율 / 100",
|
||||
@@ -151,7 +151,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "T챤넬(K-SPAN) 4.5×610×2440"},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "천정판 (CEILING)"},
|
||||
"이름": "천장판 미장합판+50㎜ GLASSWOOL",
|
||||
"단위": "매",
|
||||
"수량": "만약(종류 == '사무실', 찾기(QC000012, 구분='천장판', 종류=주자재종류).수량 * 손율 / 100, 0)",
|
||||
@@ -159,7 +159,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "처마후레싱 C/S"},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "T-BAR L=1200mm"},
|
||||
"이름": "T-BAR",
|
||||
"단위": "m",
|
||||
"수량": "만약(종류 == '사무실', 찾기(QC000012, 구분='T-BAR', 종류=주자재종류).수량 * 손율 / 100, 0)",
|
||||
@@ -213,7 +213,7 @@
|
||||
"호표": [
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "가설건축물", "검색어": "콘테이너(사무실) 12.0*3.0*2.6m"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "가설건축물", "검색어": "콘테이너(사무실) 3.0*3.0*2.6m"},
|
||||
"이름": "콘테이너형 가설건축물 3.0x3.0m",
|
||||
"단위": "동",
|
||||
"수량": "만약(규모 == '3.0x3.0m', 손율 / 100, 0)",
|
||||
@@ -221,7 +221,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "가설건축물", "검색어": "콘테이너(사무실) 12.0*3.0*2.6m"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "가설건축물", "검색어": "콘테이너(사무실) 6.0*3.0*2.6m"},
|
||||
"이름": "콘테이너형 가설건축물 3.0x6.0m",
|
||||
"단위": "동",
|
||||
"수량": "만약(규모 == '3.0x6.0m', 손율 / 100, 0)",
|
||||
@@ -229,7 +229,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "가설건축물", "검색어": "콘테이너(사무실) 12.0*3.0*2.6m"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "가설건축물", "검색어": "콘테이너(사무실) 9.0*3.0*2.6m"},
|
||||
"이름": "콘테이너형 가설건축물 3.0x9.0m",
|
||||
"단위": "동",
|
||||
"수량": "만약(규모 == '3.0x9.0m', 손율 / 100, 0)",
|
||||
@@ -2047,7 +2047,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "안전발판(PSP대용) 250×3000"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "수평틀(조립식틀비계)"},
|
||||
"이름": "수평띠장 L1829",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000063, 구분='수평띠장', 규격='L1829').수량 * 찾기(QC000016, 공기=공기, 재료='강관, 비계기본틀, 비계장선틀, 가새').손율 / 100",
|
||||
@@ -2063,7 +2063,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "안전발판(PSP대용) 250×3000"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "안전난간대(조립식틀비계) W1219"},
|
||||
"이름": "손잡이 L1219",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000063, 구분='손잡이', 규격='L1219').수량 * 찾기(QC000016, 공기=공기, 재료='강관, 비계기본틀, 비계장선틀, 가새').손율 / 100",
|
||||
@@ -2071,7 +2071,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "안전발판(PSP대용) 250×3000"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "안전난간대(조립식틀비계) W1829"},
|
||||
"이름": "손잡이 L1829",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000063, 구분='손잡이', 규격='L1829').수량 * 찾기(QC000016, 공기=공기, 재료='강관, 비계기본틀, 비계장선틀, 가새').손율 / 100",
|
||||
@@ -2079,7 +2079,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "안전발판(PSP대용) 250×3000"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "바퀴"},
|
||||
"이름": "바퀴",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000063, 구분='바퀴').수량 * 찾기(QC000016, 공기=공기, 재료='받침철물 조절받침철물 비계안전발판').손율 / 100",
|
||||
@@ -2087,7 +2087,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "안전발판(PSP대용) 250×3000"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "쟈키"},
|
||||
"이름": "자키",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000063, 구분='자키').수량 * 찾기(QC000016, 공기=공기, 재료='받침철물 조절받침철물 비계안전발판').손율 / 100",
|
||||
@@ -2372,7 +2372,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "안전발판(PSP대용) 250×3000"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "강관비계브라켓"},
|
||||
"이름": "브라켓",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000071, 구분='브라켓').수량 * 찾기(QC000016, 공기=공기, 재료='조임철물 이음철물').손율 / 100",
|
||||
@@ -2396,7 +2396,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "직포 옥상방수용직포"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "낙하물방지망"},
|
||||
"이름": "그물망",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC000071, 구분='그물망').수량",
|
||||
@@ -2483,7 +2483,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "안전발판(PSP대용) 250×3000"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "강관비계브라켓"},
|
||||
"이름": "브라켓",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000074, 구분='브라켓').수량 * 찾기(QC000016, 공기=공기, 재료='조임철물 이음철물').손율 / 100",
|
||||
@@ -2491,7 +2491,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "강관비계 Φ48.6 서울"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "낙방사다리"},
|
||||
"이름": "사다리 폭 30㎝×길이 3m 기준",
|
||||
"단위": "m",
|
||||
"수량": "찾기(QC000074, 구분='사다리', 규격='폭 30㎝×길이 3m 기준').수량 * 찾기(QC000016, 공기=공기, 재료='강관, 비계기본틀, 비계장선틀, 가새').손율 / 100",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "직포 옥상방수용직포"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "낙하물방지망"},
|
||||
"이름": "그물망",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC000074, 구분='그물망').수량",
|
||||
@@ -2916,7 +2916,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "직포 옥상방수용직포"},
|
||||
"요소": {"구분": "안전시설", "상세구분": "낙석방지·휀스", "검색어": "PE안전망"},
|
||||
"이름": "그물망",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC000085, 구분='그물망').수량 / 10",
|
||||
@@ -2967,7 +2967,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "직포 옥상방수용직포"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "낙하물방지망"},
|
||||
"이름": "보호망",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC000088, 구분='보호망').수량",
|
||||
@@ -3002,7 +3002,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "직포 옥상방수용직포"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "낙하물방지망"},
|
||||
"이름": "보호망",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC000091, 구분='보호망').수량",
|
||||
@@ -3947,7 +3947,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "PVC천막지 T-210"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "P.E 분진망"},
|
||||
"이름": "방진망",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC000133, 구분='방진망').수량",
|
||||
@@ -4570,7 +4570,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "직포 옥상방수용직포"},
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포", "검색어": "토목용부직포"},
|
||||
"이름": "부직포",
|
||||
"단위": "㎡",
|
||||
"수량": "만약(작업 == '부직포 깔기', 찾기(QC000144, 구분=작업, 자재='부직포').수량, 0)",
|
||||
@@ -4586,7 +4586,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "그리스(일반범용) CROWN"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "풀"},
|
||||
"이름": "풀",
|
||||
"단위": "kg",
|
||||
"수량": "만약(작업 == '보양지 붙이기', 찾기(QC000144, 구분=작업, 자재='풀').수량, 0)",
|
||||
|
||||
@@ -420,40 +420,31 @@
|
||||
"결과단위": "원/개",
|
||||
"출처": "건설품셈 기계설비 2-2-2",
|
||||
"소유": "공용",
|
||||
"비고": "후드는 투영면적 ㎡당 — 설계 수량을 ㎡ 로 · 「원문에 없는 조합: 구분=그릴(도어그릴) · 종류=흡입구 장변길이 · 규격=투영면적 ㎡당 / 구분=그릴(도어그릴) · 종류=300㎜×300㎜ 이하 · 규격=1m미만 / 구분=그릴(도어그릴) · 종류=300㎜×300㎜ 이하 · 규격=1m이상 / 구분=그릴(도어그릴) · 종류=300㎜×300㎜ 이하 · 규격=투영면적 ㎡당 / 구분=그릴(도어그릴) · 종류=일반 · 규격=1m미만 외 40」",
|
||||
"비고": "후드는 투영면적 ㎡당 — 입력 「투영면적」(㎡)을 곱함(후드 외 구분은 1) · 「원문에 없는 조합: 구분=그릴(도어그릴) · 종류=흡입구 장변길이 · 규격=투영면적 ㎡당 / 구분=그릴(도어그릴) · 종류=300㎜×300㎜ 이하 · 규격=1m미만 / 구분=그릴(도어그릴) · 종류=300㎜×300㎜ 이하 · 규격=1m이상 / 구분=그릴(도어그릴) · 종류=300㎜×300㎜ 이하 · 규격=투영면적 ㎡당 / 구분=그릴(도어그릴) · 종류=일반 · 규격=1m미만 외 40」",
|
||||
"입력": [
|
||||
{
|
||||
"이름": "구분",
|
||||
"고르기": [
|
||||
"그릴(도어그릴)",
|
||||
"점검구",
|
||||
"후드"
|
||||
]
|
||||
"고르기": ["그릴(도어그릴)", "점검구", "후드"]
|
||||
},
|
||||
{
|
||||
"이름": "종류",
|
||||
"고르기": [
|
||||
"흡입구 장변길이",
|
||||
"300㎜×300㎜ 이하",
|
||||
"일반",
|
||||
"2중",
|
||||
"그리스필터",
|
||||
"2중 그리스필터"
|
||||
]
|
||||
"고르기": ["흡입구 장변길이", "300㎜×300㎜ 이하", "일반", "2중", "그리스필터", "2중 그리스필터"]
|
||||
},
|
||||
{
|
||||
"이름": "규격",
|
||||
"고르기": [
|
||||
"1m미만",
|
||||
"1m이상",
|
||||
"투영면적 ㎡당"
|
||||
]
|
||||
"고르기": ["1m미만", "1m이상", "투영면적 ㎡당"]
|
||||
},
|
||||
{
|
||||
"이름": "투영면적",
|
||||
"단위": "㎡",
|
||||
"출처": "건설품셈 기계설비 2-2-2 후드 「투영면적 ㎡당」",
|
||||
"비고": "구분 = 후드일 때만 곱함 — 그 밖의 구분은 1 을 넣음"
|
||||
}
|
||||
],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "덕트공",
|
||||
"식": "찾기(QC001424, 구분=구분, 종류=종류, 규격=규격).덕트공"
|
||||
"식": "찾기(QC001424, 구분=구분, 종류=종류, 규격=규격).덕트공 * 만약(구분 == '후드', 투영면적, 1)"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
@@ -666,7 +657,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "앵커", "검색어": "L형앵커볼트 5/8\""},
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "앵커", "검색어": "셋트앵커 1/2"},
|
||||
"이름": "앵커",
|
||||
"규격": "1/2〃",
|
||||
"단위": "개",
|
||||
@@ -676,7 +667,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "볼트·너트", "검색어": "핀볼트 M12"},
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "볼트·너트", "검색어": "브라인드리벳"},
|
||||
"이름": "블라인드리벳",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC001430, 구분='블라인드리벳').수량",
|
||||
@@ -685,7 +676,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "철근·강재", "상세구분": "철근", "검색어": "철근부식방지재 MT-3"},
|
||||
"요소": {"구분": "철근·강재", "상세구분": "철근", "검색어": "이형철근 D=22mm"},
|
||||
"이름": "철물",
|
||||
"규격": "D22 철근",
|
||||
"단위": "㎏",
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "콘크리트제품", "상세구분": "경계석·블록", "검색어": "주차라인블록 1000X300X150"},
|
||||
"요소": {"구분": "콘크리트제품", "상세구분": "경계석·블록", "검색어": "시멘트벽돌"},
|
||||
"이름": "시멘트벽돌",
|
||||
"단위": "매",
|
||||
"수량": "찾기(QC001211, 벽두께=벽두께).'벽돌(19×9×5.7㎝)'",
|
||||
|
||||
@@ -2932,7 +2932,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "도료", "검색어": "신구접착및방청제 LDS-MP"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "도료", "검색어": "융착식 프라이머"},
|
||||
"이름": "프라이머",
|
||||
"단위": "kg",
|
||||
"수량": "찾기(QC001944, 구분='프라이머').수량 / 10",
|
||||
@@ -2940,7 +2940,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98%"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "프로판가스 일반용"},
|
||||
"이름": "프로판가스",
|
||||
"단위": "kg",
|
||||
"수량": "찾기(QC001944, 구분='프로판가스').수량 / 10",
|
||||
@@ -3410,6 +3410,16 @@
|
||||
"이름": "물탱크(살수차) 16,000ℓ",
|
||||
"단위": "시간",
|
||||
"수량": "찾기(QC001949).'살수차(16,000ℓ)' * 8 / 시공량"
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "팁(날) 노면파쇄기용"},
|
||||
"이름": "팁(날)",
|
||||
"단위": "개",
|
||||
"수량": "0.7 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 유지관리 2-1-19 주⑤",
|
||||
"비고": "원문 100㎡당 0.7개 → ㎡당 0.007개"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
|
||||
@@ -0,0 +1,652 @@
|
||||
{
|
||||
"그룹": "로직",
|
||||
"원문": "건설품셈",
|
||||
"부문": "유지관리",
|
||||
"차례": 55,
|
||||
"판": "2026",
|
||||
"줄": [
|
||||
{
|
||||
"키": "GC001104",
|
||||
"원문번호": "3-1-1",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "콘크리트구조물 헐기(인력)",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "건설품셈 유지관리 3-1-1",
|
||||
"소유": "공용",
|
||||
"비고": "소형브레이커(전기식) 기준(주①) · 헐기·발생재 정리 포함(주②) · 장애물 제거 별도(주③) · 잡재료(치즐 등) = 인력품의 1%(주④) · 막힘: 소형브레이커(전기식) 1.5㎾ — 5220-0015 손료 계수 빈칸 — 줄 뺌 · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": { "철근유무": "무근" },
|
||||
"입력": [{ "이름": "철근유무", "설명": "콘크리트 종류", "고르기": ["무근", "철근"], "출처": "건설품셈 유지관리 3-1-1" }],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC002018, 철근유무=철근유무).시공량" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000015", "이름": "착암공", "단위": "인", "수량": "찾기(QC002018, 철근유무=철근유무).착암공 / 시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002018, 철근유무=철근유무).보통인부 / 시공량", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "잡재료(치즐 등)", "식": "노무비 * 1 / 100", "비목": "재료비", "출처": "건설품셈 유지관리 3-1-1" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001105",
|
||||
"원문번호": "3-1-2",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "콘크리트구조물 헐기(기계)",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "건설품셈 유지관리 3-1-2",
|
||||
"소유": "공용",
|
||||
"비고": "굴착기+압쇄기 철근콘크리트 해체(주①) · 높이 10m 이하(주③) · 안전시설·폐기물 상차·운반·처리 별도(주④) · 대형브레이커 필요 시 공통 8-2-13 별도(주⑥) · 공구손료·경장비 = 인력품의 4%(주⑦) · 장애물 제거 시 산소 135L · 아세틸렌 0.05㎏/㎥(주⑧) · 해석: 압쇄기 = 굴착기 부수물(8-3-1 (0250) 압쇄기 1.0㎥) · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": { "장애물": "미제거", "지역": "전국평균", "보정작업": "해당 없음" },
|
||||
"입력": [
|
||||
{ "이름": "장애물", "설명": "장애물(철근 · 파이프 등) 제거 여부", "고르기": ["미제거", "제거"], "출처": "건설품셈 유지관리 3-1-2" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
},
|
||||
{ "이름": "보정작업", "설명": "암석·전석 작업이면 기계손료 가산", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC002019, 장애물=장애물).시공량" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000012", "이름": "용접공", "단위": "인", "수량": "만약(장애물 == '제거', 찾기(QC002019, 장애물=장애물).용접공 / 시공량, 0)", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QC002019, 장애물=장애물).특별인부 / 시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002019, 장애물=장애물).보통인부 / 시공량", "비목": "노무비" },
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000270, 기계='0201-0100', 집게='0250-0100', 지역=지역, 보정작업=보정작업)",
|
||||
"이름": "굴착기(무한궤도)+압쇄기 1.0㎥",
|
||||
"단위": "시간",
|
||||
"수량": "찾기(QC002019, 장애물=장애물).'굴착기+압쇄기(1.0㎥)' * 8 / 시공량"
|
||||
},
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000267, 기계='0201-0060', 지역=지역, 보정작업=보정작업)",
|
||||
"이름": "굴착기(무한궤도) 0.6㎥",
|
||||
"단위": "시간",
|
||||
"수량": "찾기(QC002019, 장애물=장애물).'굴착기(0.6㎥)' * 8 / 시공량"
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": { "구분": "잡재료", "상세구분": "용접·가스", "검색어": "산소 6000ℓ/병" },
|
||||
"이름": "산소(대기압상태기준)",
|
||||
"단위": "ℓ",
|
||||
"수량": "만약(장애물 == '제거', 찾기(QC002020, 구분='산소(대기압상태기준)').수량, 0)",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 유지관리 3-1-2"
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": { "구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98% (용접용)" },
|
||||
"이름": "아세틸렌",
|
||||
"단위": "kg",
|
||||
"수량": "만약(장애물 == '제거', 찾기(QC002020, 구분='아세틸렌').수량, 0)",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 유지관리 3-1-2"
|
||||
}
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 4 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-1-2" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001106",
|
||||
"원문번호": "3-1-3",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "철골재 철거(인력)",
|
||||
"결과단위": "원/ton",
|
||||
"출처": "건설품셈 유지관리 3-1-3",
|
||||
"소유": "공용",
|
||||
"비고": "산소용접기 기준(주①) · 철거·발생재 정리 포함(주②) · 안전시설·폐기물 별도(주③) · 재료 ton당 산소 0.7병 · 아세틸렌 2.5㎏ 또는 LPG 2.0㎏ 중 하나(주④ ※) · 해석: 산소는 두 경우 모두 씀 · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": { "가스": "아세틸렌" },
|
||||
"입력": [{ "이름": "가스", "설명": "절단 가스(아세틸렌 또는 LPG 중 하나)", "고르기": ["아세틸렌", "LPG"], "출처": "건설품셈 유지관리 3-1-3" }],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC002021).시공량" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000012", "이름": "용접공", "단위": "인", "수량": "찾기(QC002021).용접공 / 시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002021).보통인부 / 시공량", "비목": "노무비" },
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": { "구분": "잡재료", "상세구분": "용접·가스", "검색어": "산소 6㎥(40ℓ용기)" },
|
||||
"이름": "산소",
|
||||
"단위": "병",
|
||||
"수량": "찾기(QC002022, 구분='산소').수량",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 유지관리 3-1-3"
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": { "구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98% (용접용)" },
|
||||
"이름": "아세틸렌",
|
||||
"단위": "kg",
|
||||
"수량": "만약(가스 == '아세틸렌', 찾기(QC002022, 구분='아세틸렌').수량, 0)",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 유지관리 3-1-3"
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": { "구분": "잡재료", "상세구분": "소모품", "검색어": "LPG 가스" },
|
||||
"이름": "LPG",
|
||||
"단위": "kg",
|
||||
"수량": "만약(가스 == 'LPG', 찾기(QC002022, 구분='LPG').수량, 0)",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 유지관리 3-1-3"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001107",
|
||||
"원문번호": "3-1-4",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "철골재 철거(기계)",
|
||||
"결과단위": "원/ton",
|
||||
"출처": "건설품셈 유지관리 3-1-4",
|
||||
"소유": "공용",
|
||||
"비고": "굴착기+빔커터기 철골 해체(주①) · 높이 10m 이하 지상 철거(주③) · 안전시설·폐기물 별도(주④) · 크레인 규격은 작업여건 따라 설계자가 고름(주⑤) · 공구손료·경장비 = 인력품의 4%(주⑦) · 막힘: 빔커터기 기계 요소 없음 — 굴착기+빔커터기 줄은 굴착기(1.0㎥) 경비만 · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": { "크레인": "2104-0025", "지역": "전국평균", "보정작업": "해당 없음" },
|
||||
"입력": [
|
||||
{
|
||||
"이름": "크레인",
|
||||
"설명": "크레인 기계 코드(규격 설계자 결정)",
|
||||
"고르기": [
|
||||
"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-0005",
|
||||
"2105-0010",
|
||||
"2105-0015",
|
||||
"2105-0018"
|
||||
],
|
||||
"출처": "건설품셈 유지관리 3-1-4"
|
||||
},
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
},
|
||||
{ "이름": "보정작업", "설명": "암석·전석 작업이면 기계손료 가산", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC002023).시공량" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QC002023).특별인부 / 시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002023).보통인부 / 시공량", "비목": "노무비" },
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000267, 기계='0201-0100', 지역=지역, 보정작업=보정작업)",
|
||||
"이름": "굴착기(무한궤도)+빔커터기 1.0㎥",
|
||||
"단위": "시간",
|
||||
"수량": "찾기(QC002023).'굴착기+빔커터기(1.0㎥)' * 8 / 시공량"
|
||||
},
|
||||
{ "종류": "로직", "요소": "로직(GC000267, 기계='0201-0100', 지역=지역, 보정작업=보정작업)", "이름": "굴착기(무한궤도) 1.0㎥", "단위": "시간", "수량": "찾기(QC002023).'굴착기(1.0㎥)' * 8 / 시공량" },
|
||||
{ "종류": "로직", "요소": "로직(GC000268, 기계=크레인, 지역=지역)", "이름": "크레인", "단위": "시간", "수량": "찾기(QC002023).크레인 * 8 / 시공량" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 4 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-1-4" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001108",
|
||||
"원문번호": "3-1-5",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "석축 헐기(인력)",
|
||||
"결과단위": "원/㎡(절석 쌓기는 원/㎥)",
|
||||
"출처": "건설품셈 유지관리 3-1-5",
|
||||
"소유": "공용",
|
||||
"비고": "기준높이 3.6m(주①) · 재사용·제자리 고르기 별도(주②) · 장애물 제거·공구손료 포함(주③) · 잡재료 = 인력품의 5% 이내(주④ — 설계자 입력) · 절석(마름돌) 쌓기만 ㎥당 · 할석공도 절석 쌓기만",
|
||||
"시험입력": { "공종": "메쌓기 뒷길이 45∼60㎝", "잡재료율": 5 },
|
||||
"입력": [
|
||||
{ "이름": "공종", "설명": "석축 종류", "고르기": ["메쌓기 뒷길이 45∼60㎝", "메쌓기 뒷길이 60∼90㎝", "찰쌓기", "절석(마름돌) 쌓기"], "출처": "건설품셈 유지관리 3-1-5" },
|
||||
{ "이름": "잡재료율", "설명": "잡재료(인력품 대비 · 5% 이내)", "단위": "%", "범위": [0, 5], "출처": "건설품셈 유지관리 3-1-5" }
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000017", "이름": "할석공", "단위": "인", "수량": "만약(공종 == '절석(마름돌) 쌓기', 찾기(QC002024, 공종=공종).할석공, 0)", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002024, 공종=공종).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "잡재료", "식": "노무비 * 잡재료율 / 100", "비목": "재료비", "출처": "건설품셈 유지관리 3-1-5" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001109",
|
||||
"원문번호": "3-2-1",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "금속기와 해체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-2-1",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도 · 지붕재·후레싱 포함 · 공구손료·경장비 = 인력품의 3%",
|
||||
"시험입력": {},
|
||||
"입력": [],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000036", "이름": "지붕잇기공", "단위": "인", "수량": "찾기(QC002025).지붕잇기공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002025).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 3 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-2-1" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001110",
|
||||
"원문번호": "3-2-2",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "흡음텍스 해체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-2-2",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도",
|
||||
"시험입력": {},
|
||||
"입력": [],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000030", "이름": "내장공", "단위": "인", "수량": "찾기(QC002026).내장공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002026).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001111",
|
||||
"원문번호": "3-2-3",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "경량천장철골틀 해체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-2-3",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도 · 천장틀·달대·행거 포함 · 공구손료·경장비 = 인력품의 2%",
|
||||
"시험입력": {},
|
||||
"입력": [],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000030", "이름": "내장공", "단위": "인", "수량": "찾기(QC002027).내장공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002027).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 2 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-2-3" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001112",
|
||||
"원문번호": "3-2-4",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "조적벽 해체",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "건설품셈 유지관리 3-2-4",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도 · 높이 3.6m 이하 · 고정철물 포함 · 공구손료·경장비 = 인력품의 2%",
|
||||
"시험입력": {},
|
||||
"입력": [],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000021", "이름": "조적공", "단위": "인", "수량": "찾기(QC002028).조적공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002028).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 2 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-2-4" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001113",
|
||||
"원문번호": "3-2-5",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "경량벽체철골틀 해체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-2-5",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도 · 러너·스터드 포함 · 공구손료·경장비 = 인력품의 2%",
|
||||
"시험입력": {},
|
||||
"입력": [],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000030", "이름": "내장공", "단위": "인", "수량": "찾기(QC002029).내장공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002029).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 2 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-2-5" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001114",
|
||||
"원문번호": "3-2-6",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "석고판 해체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-2-6",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도 · 공구손료·경장비 = 인력품의 2%",
|
||||
"시험입력": { "부위": "벽" },
|
||||
"입력": [{ "이름": "부위", "설명": "해체 부위", "고르기": ["벽", "천장"], "출처": "건설품셈 유지관리 3-2-6" }],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000030", "이름": "내장공", "단위": "인", "수량": "찾기(QC002030, 부위=부위).내장공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002030, 부위=부위).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 2 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-2-6" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001115",
|
||||
"원문번호": "3-2-7",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "도배 해체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-2-7",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도 · 정배지·초배지 포함",
|
||||
"시험입력": { "부위": "벽" },
|
||||
"입력": [{ "이름": "부위", "설명": "해체 부위", "고르기": ["벽", "천장"], "출처": "건설품셈 유지관리 3-2-7" }],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000031", "이름": "도배공", "단위": "인", "수량": "찾기(QC002031, 부위=부위).도배공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002031, 부위=부위).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001116",
|
||||
"원문번호": "3-2-8",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "PVC계바닥재 해체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-2-8",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도 · 바닥재(시트)",
|
||||
"시험입력": {},
|
||||
"입력": [],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000030", "이름": "내장공", "단위": "인", "수량": "찾기(QC002032).내장공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002032).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001117",
|
||||
"원문번호": "3-2-9",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "타일 해체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-2-9",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도 · 타일·접착제 깨기 포함 · 공구손료·경장비 = 인력품의 6%",
|
||||
"시험입력": { "공법": "떠붙이기" },
|
||||
"입력": [{ "이름": "공법", "설명": "타일 붙임 공법", "고르기": ["떠붙이기", "압착붙이기,접착붙이기"], "출처": "건설품셈 유지관리 3-2-9" }],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000028", "이름": "타일공", "단위": "인", "수량": "찾기(QC002033, 공법=공법).타일공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002033, 공법=공법).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 6 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-2-9" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001118",
|
||||
"원문번호": "3-2-10",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "기존방수층 및 보호층 철거",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-2-10",
|
||||
"소유": "공용",
|
||||
"비고": "아스팔트 8층 방수 보수용 · 누름 콘크리트 파쇄·방수층 철거·소운반·정리 포함(주①) · 누름 콘크리트 두께 8㎝ 기준(주③) · 소규모(개소당 40㎡ 미만)는 장비 사용기간·품을 40% 범위 안에서 가산(주② — 설계자 입력)",
|
||||
"시험입력": { "소규모가산": 0, "지역": "전국평균" },
|
||||
"입력": [
|
||||
{ "이름": "소규모가산", "설명": "소규모공사 가산(개소당 40㎡ 미만 · 0 ~ 40)", "단위": "%", "범위": [0, 40], "출처": "건설품셈 유지관리 3-2-10" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
}
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000015", "이름": "착암공", "단위": "인", "수량": "찾기(QC002034).착암공 * (1 + 소규모가산 / 100)", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002034).보통인부 * (1 + 소규모가산 / 100)", "비목": "노무비" },
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000273, 기계='5210-0013')",
|
||||
"이름": "소형브레이커(공압식) 1.3㎥/min",
|
||||
"단위": "시간",
|
||||
"수량": "찾기(QC002034).'소형브레이커(1.3㎥/min)' * (1 + 소규모가산 / 100)"
|
||||
},
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000268, 기계='5205-0035', 지역=지역)",
|
||||
"이름": "공기압축기(이동식) 3.5㎥/min",
|
||||
"단위": "시간",
|
||||
"수량": "찾기(QC002034).'공기압축기(3.5㎥/min)' * (1 + 소규모가산 / 100)"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001119",
|
||||
"원문번호": "3-2-11",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "기존방수층 제거 및 바탕처리",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-2-11",
|
||||
"소유": "공용",
|
||||
"비고": "재방수용 도막방수층 제거·바탕처리(주①) · 제거·홈메우기·청소·퍼티 포함(주②) · 공구손료·경장비 = 인력품의 6%(주③) · 퍼티·방수테이프 등 재료 별도(주④)",
|
||||
"시험입력": { "부위": "바닥" },
|
||||
"입력": [{ "이름": "부위", "설명": "시공 부위", "고르기": ["바닥", "수직부"], "출처": "건설품셈 유지관리 3-2-11" }],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000026", "이름": "방수공", "단위": "인", "수량": "찾기(QC002035, 부위=부위).방수공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002035, 부위=부위).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 6 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-2-11" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001120",
|
||||
"원문번호": "3-2-12",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "석면건축자재 해체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-2-12",
|
||||
"소유": "공용",
|
||||
"비고": "내장재 = 천장재·내벽체·간막이 · 외장재 = 슬레이트 지붕 · 뿜칠재 = 철골 내화피복·철재 천장면(주①) · 콘크리트면 뿜칠재는 20% 할증(주②) · 비닐보양·오염제거구역 포함 · 보양막(외장재) 제외(주③) · 1일 6시간 기준(주④) · 기기경비·재료·소모품·가설재 별도(주⑤⑥) · 뿜칠재는 보통인부 없음",
|
||||
"시험입력": { "부위": "내장재", "뿜칠면": "철골·철재면" },
|
||||
"입력": [
|
||||
{ "이름": "부위", "설명": "석면 자재 구분", "고르기": ["내장재", "외장재", "뿜칠재"], "출처": "건설품셈 유지관리 3-2-12" },
|
||||
{ "이름": "뿜칠면", "설명": "뿜칠재 부착면(콘크리트면 20% 할증 · 뿜칠재만)", "고르기": ["철골·철재면", "콘크리트면"], "출처": "건설품셈 유지관리 3-2-12" }
|
||||
],
|
||||
"중간": [{ "이름": "할증", "식": "만약(부위 == '뿜칠재' 그리고 뿜칠면 == '콘크리트면', 1.2, 1)", "출처": "건설품셈 유지관리 3-2-12 주②" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000091", "이름": "석면해체공", "단위": "인", "수량": "찾기(QC002036, 부위=부위).석면해체공 * 할증", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "만약(부위 == '뿜칠재', 0, 찾기(QC002036, 부위=부위).보통인부)", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001121",
|
||||
"원문번호": "3-3-1",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "재도장 시 바탕처리(콘크리트·모르타르면)",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-3-1",
|
||||
"소유": "공용",
|
||||
"비고": "기존 도장면을 제거하지 않고 오염·균열 부위만 퍼티·연마(주②) · 공구손료·잡재료비(연마지 등) = 인력품의 3%(주③) · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": {},
|
||||
"입력": [],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC002037).시공량", "출처": "건설품셈 유지관리 3-3-1" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000029", "이름": "도장공", "단위": "인", "수량": "찾기(QC002037).도장공 / 시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002037).보통인부 / 시공량", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 잡재료비", "식": "노무비 * 3 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-3-1" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001122",
|
||||
"원문번호": "3-3-2",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "재도장 시 바탕처리(철재면)",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-3-2",
|
||||
"소유": "공용",
|
||||
"비고": "A급 = 탈락·부식 심해 약품으로 완전 제거 · B급 = 녹 제거·와이어 브러쉬 청소(주③ · QC002039) · 공구손료·잡재료비 = 인력품의 3%(주④) · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": { "등급": "A급" },
|
||||
"입력": [{ "이름": "등급", "설명": "대상면 상태 등급", "고르기": ["A급", "B급"], "출처": "건설품셈 유지관리 3-3-2" }],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC002038, 등급=등급).시공량", "출처": "건설품셈 유지관리 3-3-2" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000029", "이름": "도장공", "단위": "인", "수량": "찾기(QC002038, 등급=등급).도장공 / 시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002038, 등급=등급).보통인부 / 시공량", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 잡재료비", "식": "노무비 * 3 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-3-2" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001123",
|
||||
"원문번호": "3-3-3",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "재도장 시 바탕처리(목재면)",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-3-3",
|
||||
"소유": "공용",
|
||||
"비고": "A급 = 손상 심해 충진·평탄 연마 · B급 = 손상 거의 없음·부분 퍼티(주③ · QC002041) · 공구손료·잡재료비 = 인력품의 3%(주④) · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": { "등급": "A급" },
|
||||
"입력": [{ "이름": "등급", "설명": "대상면 상태 등급", "고르기": ["A급", "B급"], "출처": "건설품셈 유지관리 3-3-3" }],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC002040, 등급=등급).시공량", "출처": "건설품셈 유지관리 3-3-3" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000029", "이름": "도장공", "단위": "인", "수량": "찾기(QC002040, 등급=등급).도장공 / 시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002040, 등급=등급).보통인부 / 시공량", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 잡재료비", "식": "노무비 * 3 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-3-3" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001124",
|
||||
"원문번호": "3-4-1",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "지붕 덧씌우기",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-4-1",
|
||||
"소유": "공용",
|
||||
"비고": "기존 지붕 위 신규 금속기와 덧씌우기(주①②) · 홈통은 건축 7-2(주③) · 비계·안전시설 별도(주④) · 공구손료·경장비 = 인력품의 2%(주⑤) · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": { "지붕형태": "일반" },
|
||||
"입력": [{ "이름": "지붕형태", "설명": "맞배지붕(경사 지붕면 2개소)은 시공량 20% 가산", "고르기": ["일반", "맞배지붕"], "출처": "건설품셈 유지관리 3-4-1" }],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC002042).시공량 * 만약(지붕형태 == '맞배지붕', 1.2, 1)", "출처": "건설품셈 유지관리 3-4-1" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000036", "이름": "지붕잇기공", "단위": "인", "수량": "찾기(QC002042).지붕잇기공 / 시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002042).보통인부 / 시공량", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 2 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-4-1" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001125",
|
||||
"원문번호": "3-4-2",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "지붕 재설치",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-4-2",
|
||||
"소유": "공용",
|
||||
"비고": "기존 지붕재 철거된 상태에서 재설치(주①②) · 지붕재 철거 별도(주④) · 비계·안전시설 별도(주⑤) · 공구손료·경장비 = 인력품의 2%(주⑥) · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": { "지붕형태": "일반" },
|
||||
"입력": [{ "이름": "지붕형태", "설명": "맞배지붕(경사 지붕면 2개소)은 시공량 20% 가산", "고르기": ["일반", "맞배지붕"], "출처": "건설품셈 유지관리 3-4-2" }],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC002043).시공량 * 만약(지붕형태 == '맞배지붕', 1.2, 1)", "출처": "건설품셈 유지관리 3-4-2" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000036", "이름": "지붕잇기공", "단위": "인", "수량": "찾기(QC002043).지붕잇기공 / 시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002043).보통인부 / 시공량", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 2 / 100", "비목": "경비", "출처": "건설품셈 유지관리 3-4-2" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001126",
|
||||
"원문번호": "3-4-3",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "도배 교체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-4-3",
|
||||
"소유": "공용",
|
||||
"비고": "도배지 해체·바탕정리·풀먹임·초배·정배(주①②) · 지장물 운반 별도(주③) · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": { "부위": "벽", "지장물": "없음" },
|
||||
"입력": [
|
||||
{ "이름": "부위", "설명": "시공 부위", "고르기": ["벽", "천장"], "출처": "건설품셈 유지관리 3-4-3" },
|
||||
{ "이름": "지장물", "설명": "사용 중 세대의 가구 등 지장물(있으면 시공량 15% 감)", "고르기": ["없음", "있음"], "출처": "건설품셈 유지관리 3-4-3" }
|
||||
],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC002044, 부위=부위).시공량 * 만약(지장물 == '있음', 0.85, 1)", "출처": "건설품셈 유지관리 3-4-3" }],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000030", "이름": "내장공", "단위": "인", "수량": "찾기(QC002044, 부위=부위).내장공 / 시공량", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001127",
|
||||
"원문번호": "3-4-4",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "PVC계바닥재 교체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-4-4",
|
||||
"소유": "공용",
|
||||
"비고": "바닥재 해체·바탕정리·접착제(부분접합)·설치(주①②) · 지장물 운반 별도(주③) · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": { "지장물": "없음" },
|
||||
"입력": [{ "이름": "지장물", "설명": "사용 중 세대의 가구 등 지장물(있으면 시공량 15% 감)", "고르기": ["없음", "있음"], "출처": "건설품셈 유지관리 3-4-4" }],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC002045).시공량 * 만약(지장물 == '있음', 0.85, 1)", "출처": "건설품셈 유지관리 3-4-4" }],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000030", "이름": "내장공", "단위": "인", "수량": "찾기(QC002045).내장공 / 시공량", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001128",
|
||||
"원문번호": "3-4-5",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "03장 건축",
|
||||
"이름": "타일 교체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 3-4-5",
|
||||
"소유": "공용",
|
||||
"비고": "타일 해체·바탕정리·붙임·줄눈·마무리(주①②) · 방수·지장물 운반 별도(주③④) · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": { "공법": "떠붙이기(벽)", "지장물": "없음" },
|
||||
"입력": [
|
||||
{ "이름": "공법", "설명": "붙임 공법(부위)", "고르기": ["떠붙이기(벽)", "압착붙이기(바닥)"], "출처": "건설품셈 유지관리 3-4-5" },
|
||||
{ "이름": "지장물", "설명": "사용 중 세대의 가구 등 지장물(있으면 시공량 15% 감)", "고르기": ["없음", "있음"], "출처": "건설품셈 유지관리 3-4-5" }
|
||||
],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC002046, 공법=공법).시공량 * 만약(지장물 == '있음', 0.85, 1)", "출처": "건설품셈 유지관리 3-4-5" }],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000028", "이름": "타일공", "단위": "인", "수량": "찾기(QC002046, 공법=공법).타일공 / 시공량", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -527,7 +527,7 @@
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "건설품셈 공통 3-3-1 · 3-3-6 주",
|
||||
"소유": "공용",
|
||||
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴·브레이커 소모자재 요율(3-3-6 주⑨)은 그 기계 줄이 막혀 못 넣음 · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
|
||||
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴 · 대형브레이커(2차파쇄) 소모자재 = 기계경비 × 요율(3-3-6 주⑨ · 크롤러드릴 24% · 대형브레이커 5%) · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
|
||||
"입력": [
|
||||
{
|
||||
"이름": "지역",
|
||||
@@ -555,7 +555,16 @@
|
||||
},
|
||||
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "드릴경비",
|
||||
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000189).유압식크롤러드릴)"
|
||||
},
|
||||
{
|
||||
"이름": "브레이커경비",
|
||||
"식": "로직(GC000271, 기계='0201-0100', 브레이커='0230-0010', 지역=지역, 보정작업=보정작업).계 * (찾기(QC000189).굴착기_대형브레이커)"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
{
|
||||
"종류": "인력",
|
||||
@@ -588,7 +597,20 @@
|
||||
"수량": "찾기(QC000189).굴착기_대형브레이커"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "소모자재(크롤러드릴)",
|
||||
"식": "드릴경비 * 찾기(QC000196, 장비='유압식 크롤러드릴').요율 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 공통 3-3-6 주⑨"
|
||||
},
|
||||
{
|
||||
"이름": "소모자재(대형브레이커)",
|
||||
"식": "브레이커경비 * 찾기(QC000196, 장비='굴착기+대형브레이커').요율 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 공통 3-3-6 주⑨"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -597,7 +619,7 @@
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "건설품셈 공통 3-3-2 · 3-3-6 주",
|
||||
"소유": "공용",
|
||||
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴·브레이커 소모자재 요율(3-3-6 주⑨)은 그 기계 줄이 막혀 못 넣음 · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
|
||||
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴 · 대형브레이커(2차파쇄) 소모자재 = 기계경비 × 요율(3-3-6 주⑨ · 크롤러드릴 24% · 대형브레이커 5%) · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
|
||||
"입력": [
|
||||
{
|
||||
"이름": "지역",
|
||||
@@ -625,7 +647,16 @@
|
||||
},
|
||||
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "드릴경비",
|
||||
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000190).유압식크롤러드릴)"
|
||||
},
|
||||
{
|
||||
"이름": "브레이커경비",
|
||||
"식": "로직(GC000271, 기계='0201-0100', 브레이커='0230-0010', 지역=지역, 보정작업=보정작업).계 * (찾기(QC000190).굴착기_대형브레이커)"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
{
|
||||
"종류": "인력",
|
||||
@@ -658,7 +689,20 @@
|
||||
"수량": "찾기(QC000190).굴착기_대형브레이커"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "소모자재(크롤러드릴)",
|
||||
"식": "드릴경비 * 찾기(QC000196, 장비='유압식 크롤러드릴').요율 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 공통 3-3-6 주⑨"
|
||||
},
|
||||
{
|
||||
"이름": "소모자재(대형브레이커)",
|
||||
"식": "브레이커경비 * 찾기(QC000196, 장비='굴착기+대형브레이커').요율 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 공통 3-3-6 주⑨"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -667,7 +711,7 @@
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "건설품셈 공통 3-3-3 · 3-3-6 주",
|
||||
"소유": "공용",
|
||||
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴·브레이커 소모자재 요율(3-3-6 주⑨)은 그 기계 줄이 막혀 못 넣음 · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
|
||||
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴 소모자재 = 기계경비 × 요율(3-3-6 주⑨ · 크롤러드릴 24%) · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
|
||||
"입력": [
|
||||
{
|
||||
"이름": "지역",
|
||||
@@ -695,7 +739,12 @@
|
||||
},
|
||||
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "드릴경비",
|
||||
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000191).유압식크롤러드릴)"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
{
|
||||
"종류": "인력",
|
||||
@@ -728,7 +777,14 @@
|
||||
"수량": "찾기(QC000191).굴착기"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "소모자재(크롤러드릴)",
|
||||
"식": "드릴경비 * 찾기(QC000196, 장비='유압식 크롤러드릴').요율 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 공통 3-3-6 주⑨"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -737,7 +793,7 @@
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "건설품셈 공통 3-3-4 · 3-3-6 주",
|
||||
"소유": "공용",
|
||||
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴·브레이커 소모자재 요율(3-3-6 주⑨)은 그 기계 줄이 막혀 못 넣음 · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
|
||||
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴 소모자재 = 기계경비 × 요율(3-3-6 주⑨ · 크롤러드릴 24%) · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
|
||||
"입력": [
|
||||
{
|
||||
"이름": "지역",
|
||||
@@ -765,7 +821,12 @@
|
||||
},
|
||||
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "드릴경비",
|
||||
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000192).유압식크롤러드릴)"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
{
|
||||
"종류": "인력",
|
||||
@@ -798,7 +859,14 @@
|
||||
"수량": "찾기(QC000192).굴착기"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "소모자재(크롤러드릴)",
|
||||
"식": "드릴경비 * 찾기(QC000196, 장비='유압식 크롤러드릴').요율 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 공통 3-3-6 주⑨"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -807,7 +875,7 @@
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "건설품셈 공통 3-3-5 · 3-3-6 주",
|
||||
"소유": "공용",
|
||||
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴·브레이커 소모자재 요율(3-3-6 주⑨)은 그 기계 줄이 막혀 못 넣음 · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
|
||||
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴 소모자재 = 기계경비 × 요율(3-3-6 주⑨ · 크롤러드릴 24%) · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
|
||||
"입력": [
|
||||
{
|
||||
"이름": "지역",
|
||||
@@ -835,7 +903,12 @@
|
||||
},
|
||||
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "드릴경비",
|
||||
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000193).유압식크롤러드릴)"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
{
|
||||
"종류": "인력",
|
||||
@@ -868,7 +941,14 @@
|
||||
"수량": "찾기(QC000193).굴착기"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "소모자재(크롤러드릴)",
|
||||
"식": "드릴경비 * 찾기(QC000196, 장비='유압식 크롤러드릴').요율 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 공통 3-3-6 주⑨"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -877,7 +957,7 @@
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "건설품셈 공통 3-3-6 · 3-3-6 주",
|
||||
"소유": "공용",
|
||||
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴·브레이커 소모자재 요율(3-3-6 주⑨)은 그 기계 줄이 막혀 못 넣음 · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
|
||||
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴 소모자재 = 기계경비 × 요율(3-3-6 주⑨ · 크롤러드릴 24%) · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
|
||||
"입력": [
|
||||
{
|
||||
"이름": "지역",
|
||||
@@ -905,7 +985,12 @@
|
||||
},
|
||||
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "드릴경비",
|
||||
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000194).유압식크롤러드릴)"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
{
|
||||
"종류": "인력",
|
||||
@@ -938,7 +1023,14 @@
|
||||
"수량": "찾기(QC000194).굴착기"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "소모자재(크롤러드릴)",
|
||||
"식": "드릴경비 * 찾기(QC000196, 장비='유압식 크롤러드릴').요율 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 공통 3-3-6 주⑨"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -1163,7 +1255,7 @@
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "건설품셈 공통 3-3-8",
|
||||
"소유": "공용",
|
||||
"비고": "할암봉 소모자재 별도(주⑤) · 대형브레이커 소모자재 2%(주④)는 그 줄이 막혀 못 넣음 · 유압식할암기는 손료만",
|
||||
"비고": "할암봉 소모자재 별도(주⑤) · 대형브레이커 소모자재 = 기계경비 × 2%(주④) · 유압식할암기는 손료만",
|
||||
"입력": [
|
||||
{
|
||||
"이름": "지역",
|
||||
@@ -1192,7 +1284,14 @@
|
||||
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "드릴경비", "식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000201).유압식크롤러드릴)" }
|
||||
{
|
||||
"이름": "드릴경비",
|
||||
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000201).유압식크롤러드릴)"
|
||||
},
|
||||
{
|
||||
"이름": "브레이커경비",
|
||||
"식": "로직(GC000271, 기계='0201-0100', 브레이커='0230-0010', 지역=지역, 보정작업=보정작업).계 * (찾기(QC000201).굴착기_대형브레이커)"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
{
|
||||
@@ -1246,6 +1345,12 @@
|
||||
"식": "드릴경비 * 찾기(QC000202, 장비='유압식 크롤러드릴').기계경비의 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 공통 3-3-8 주④"
|
||||
},
|
||||
{
|
||||
"이름": "소모자재(대형브레이커)",
|
||||
"식": "브레이커경비 * 찾기(QC000202, 장비='굴착기+대형브레이커').기계경비의 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 공통 3-3-8 주④"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
|
||||
@@ -802,7 +802,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "빗자루 도로청소용"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "바퀴숫돌 단면용"},
|
||||
"이름": "바퀴숫돌 단면용 A36m B11호 A150×8×22 KSL 6501",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000648, 품명='바퀴숫돌', 레일규격=레일규격, 규격='단면용 A36m B11호 A150×8×22 KSL 6501').수량",
|
||||
@@ -811,7 +811,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "빗자루 도로청소용"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "바퀴숫돌 측면용"},
|
||||
"이름": "바퀴숫돌 측면용 A24 QWV1호 A205×25×25 KSL 6501",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000648, 품명='바퀴숫돌', 레일규격=레일규격, 규격='측면용 A24 QWV1호 A205×25×25 KSL 6501').수량",
|
||||
@@ -820,7 +820,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "빗자루 도로청소용"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "바퀴숫돌 평면용"},
|
||||
"이름": "바퀴숫돌 평면용 A24 QWV1호 A205×25×25 KSL 6501",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000648, 품명='바퀴숫돌', 레일규격=레일규격, 규격='평면용 A24 QWV1호 A205×25×25 KSL 6501').수량",
|
||||
@@ -829,7 +829,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "빗자루 도로청소용"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "바퀴숫돌 최종용"},
|
||||
"이름": "바퀴숫돌 최종용 A24 QWV 5호 A205×22×22",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000648, 품명='바퀴숫돌', 레일규격=레일규격, 규격='최종용 A24 QWV 5호 A205×22×22').수량",
|
||||
|
||||
@@ -0,0 +1,247 @@
|
||||
{
|
||||
"그룹": "로직",
|
||||
"원문": "건설품셈",
|
||||
"부문": "유지관리",
|
||||
"차례": 56,
|
||||
"판": "2026",
|
||||
"줄": [
|
||||
{
|
||||
"키": "GC001129",
|
||||
"원문번호": "4-1-1",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "04장 기계설비",
|
||||
"이름": "배관 해체",
|
||||
"결과단위": "원/m",
|
||||
"출처": "건설품셈 유지관리 4-1-1",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도 · 지지철물 포함 · 공구손료·경장비 = 인력품의 2% · 동관은 250㎜ 까지",
|
||||
"시험입력": { "관종": "강관", "규격": "50" },
|
||||
"입력": [
|
||||
{ "이름": "관종", "설명": "배관 재질", "고르기": ["강관", "동관"], "출처": "건설품셈 유지관리 4-1-1" },
|
||||
{
|
||||
"이름": "규격",
|
||||
"설명": "배관 호칭 지름(㎜)",
|
||||
"고르기": ["ø15이하", "20", "25", "32", "40", "50", "65", "80", "100", "125", "150", "200", "250", "300", "350", "400"],
|
||||
"출처": "건설품셈 유지관리 4-1-1"
|
||||
}
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000039", "이름": "배관공", "단위": "인", "수량": "찾기(QC002047, 관종=관종, '규격(㎜)'=규격).배관공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002047, 관종=관종, '규격(㎜)'=규격).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 2 / 100", "비목": "경비", "출처": "건설품셈 유지관리 4-1-1" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001130",
|
||||
"원문번호": "4-1-2",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "04장 기계설비",
|
||||
"이름": "각형덕트 해체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 4-1-2",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도 · 아연도금강판·스테인리스 · 지지철물·절단 포함 · 공구손료·경장비 = 인력품의 2%",
|
||||
"시험입력": { "호칭두께": "0.5" },
|
||||
"입력": [{ "이름": "호칭두께", "설명": "덕트 호칭 두께(mm)", "고르기": ["0.5", "0.6", "0.8", "1.0", "1.2", "1.6"], "출처": "건설품셈 유지관리 4-1-2" }],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000043", "이름": "덕트공", "단위": "인", "수량": "찾기(QC002048, '호칭두께(mm)'=호칭두께).덕트공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002048, '호칭두께(mm)'=호칭두께).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 2 / 100", "비목": "경비", "출처": "건설품셈 유지관리 4-1-2" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001131",
|
||||
"원문번호": "4-1-3",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "04장 기계설비",
|
||||
"이름": "스파이럴덕트 해체",
|
||||
"결과단위": "원/m",
|
||||
"출처": "건설품셈 유지관리 4-1-3",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도 · 아연도금강판 · 철판두께는 규격 따라 정해짐(200 이하 0.5㎜ · 225 이상 0.6㎜) · 공구손료·경장비 = 인력품의 2%",
|
||||
"시험입력": { "규격": "ø150이하" },
|
||||
"입력": [
|
||||
{
|
||||
"이름": "규격",
|
||||
"설명": "스파이럴덕트 지름(㎜)",
|
||||
"고르기": ["ø150이하", "160", "180", "200", "225", "250", "275", "300", "350", "400", "450", "500", "550", "600"],
|
||||
"출처": "건설품셈 유지관리 4-1-3"
|
||||
}
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000043", "이름": "덕트공", "단위": "인", "수량": "찾기(QC002049, '규격(㎜)'=규격).덕트공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002049, '규격(㎜)'=규격).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 2 / 100", "비목": "경비", "출처": "건설품셈 유지관리 4-1-3" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001132",
|
||||
"원문번호": "4-1-4",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "04장 기계설비",
|
||||
"이름": "배관보온 해체",
|
||||
"결과단위": "원/m",
|
||||
"출처": "건설품셈 유지관리 4-1-4",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도 · 보온두께 50mm 이하",
|
||||
"시험입력": { "보온재": "고무발포보온재", "규격": "50" },
|
||||
"입력": [
|
||||
{ "이름": "보온재", "설명": "보온재 종류", "고르기": ["고무발포보온재", "발포폴리에틸렌보온재", "유리면보온재(글라스울)"], "출처": "건설품셈 유지관리 4-1-4" },
|
||||
{
|
||||
"이름": "규격",
|
||||
"설명": "배관 호칭 지름(㎜)",
|
||||
"고르기": ["ø15", "20", "25", "32", "40", "50", "65", "80", "100", "125", "150", "200", "250", "300"],
|
||||
"출처": "건설품셈 유지관리 4-1-4"
|
||||
}
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000044", "이름": "보온공", "단위": "인", "수량": "찾기(QC002050, 보온재종류=보온재, '규격(㎜)'=규격).보온공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002050, 보온재종류=보온재, '규격(㎜)'=규격).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001133",
|
||||
"원문번호": "4-1-5",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "04장 기계설비",
|
||||
"이름": "덕트보온 해체",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 유지관리 4-1-5",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도",
|
||||
"시험입력": { "보온재": "고무발포보온재·발포폴리에틸렌보온재" },
|
||||
"입력": [{ "이름": "보온재", "설명": "보온재 종류", "고르기": ["고무발포보온재·발포폴리에틸렌보온재", "유리면보온재(글라스울)"], "출처": "건설품셈 유지관리 4-1-5" }],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000044", "이름": "보온공", "단위": "인", "수량": "찾기(QC002051, 보온재종류=보온재).보온공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002051, 보온재종류=보온재).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001134",
|
||||
"원문번호": "4-1-6",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "04장 기계설비",
|
||||
"이름": "펌프 해체",
|
||||
"결과단위": "원/대",
|
||||
"출처": "건설품셈 유지관리 4-1-6",
|
||||
"소유": "공용",
|
||||
"비고": "재사용하지 않는 해체 · 비산방지·안전시설·폐기물 처리 별도 · 일반펌프(급수·소방) · 방진가대·절단 포함 · 공구손료·경장비 = 인력품의 2%",
|
||||
"시험입력": { "규격": "0.75 이하" },
|
||||
"입력": [
|
||||
{
|
||||
"이름": "규격",
|
||||
"설명": "펌프 출력(kW)",
|
||||
"고르기": ["0.75 이하", "1.5 이하", "2.2 이하", "3.7 이하", "5.5 이하", "7.5 이하", "11 이하", "15 이하", "22 이하", "37 이하", "55 이하", "75 이하"],
|
||||
"출처": "건설품셈 유지관리 4-1-6"
|
||||
}
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000051", "이름": "기계설비공", "단위": "인", "수량": "찾기(QC002052, '규격(kW)'=규격).기계설비공", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002052, '규격(kW)'=규격).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 2 / 100", "비목": "경비", "출처": "건설품셈 유지관리 4-1-6" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001135",
|
||||
"원문번호": "4-3-1",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "04장 기계설비",
|
||||
"이름": "유량계 교체",
|
||||
"결과단위": "원/개",
|
||||
"출처": "건설품셈 유지관리 4-3-1",
|
||||
"소유": "공용",
|
||||
"비고": "수도미터·온수미터 옥내배관 해체 후 재부착(주①) · 보호통·뚜껑 철거·재설치가 필요하면 보호통 시공량(주② · ø65 이상은 보호통 칸 없음) · 해체·재부착·작동시험·마무리 포함(주③) · 같은 장소 수도·온수미터 병행 교체 시 유량계 시공량 30% 감(비고) · 공구손료·경장비 = 인력품의 1%(주④) · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": { "규격": "ø13~15", "대상": "유량계", "병행교체": "아니오" },
|
||||
"입력": [
|
||||
{ "이름": "규격", "설명": "유량계 규격(mm)", "고르기": ["ø13~15", "ø20~32", "ø40~50", "ø65~80", "ø100~150", "ø200~300"], "출처": "건설품셈 유지관리 4-3-1" },
|
||||
{ "이름": "대상", "설명": "보호통·뚜껑 철거·재설치 필요 여부(필요 = 보호통)", "고르기": ["유량계", "보호통"], "출처": "건설품셈 유지관리 4-3-1" },
|
||||
{ "이름": "병행교체", "설명": "같은 장소 수도미터·온수미터 병행 교체(유량계 시공량 30% 감)", "고르기": ["아니오", "예"], "출처": "건설품셈 유지관리 4-3-1" }
|
||||
],
|
||||
"중간": [{ "이름": "시공량", "식": "만약(대상 == '보호통', 찾기(QC002056, '규격(mm)'=규격).'시공량(보호통)', 찾기(QC002056, '규격(mm)'=규격).'시공량(유량계)' * 만약(병행교체 == '예', 0.7, 1))" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000039", "이름": "배관공", "단위": "인", "수량": "찾기(QC002056, '규격(mm)'=규격).배관공 / 시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC002056, '규격(mm)'=규격).보통인부 / 시공량", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 1 / 100", "비목": "경비", "출처": "건설품셈 유지관리 4-3-1" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001136",
|
||||
"원문번호": "4-3-2",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "04장 기계설비",
|
||||
"이름": "관갱생공",
|
||||
"결과단위": "원/m",
|
||||
"출처": "건설품셈 유지관리 4-3-2",
|
||||
"소유": "공용",
|
||||
"비고": "에어샌드공법 · 도장두께 0.3∼1㎜(주①②) · 관내부 세척·열풍건조·피복코팅·소운반 포함(주③) · 입상관은 품 30% 가산(주④) · 검사구·밸브·보온 복구·가설배관·폐기물 처리 별도(주⑤⑥) · 공기압축기 25.5㎥/min × 장비조합 대수(QC002058 · 주⑧) · 라이닝기 경비 별도(주⑦) · 해석: 표 장비사용시간 = 대당 시간 · 막힘: 규사(㎏) · 에폭시도료(㎏) 자재품목에 같은 단위 품목 없음(규사 = 마대 · 에폭시계 도료 = ℓ) — 줄 뺌",
|
||||
"시험입력": { "규격": "50", "입상관": "아니오", "지역": "전국평균" },
|
||||
"입력": [
|
||||
{
|
||||
"이름": "규격",
|
||||
"설명": "배관 호칭 지름(㎜)",
|
||||
"고르기": ["ø15", "20", "25", "32", "40", "50", "65", "80", "100", "125", "150", "200", "250", "300"],
|
||||
"출처": "건설품셈 유지관리 4-3-2"
|
||||
},
|
||||
{ "이름": "입상관", "설명": "입상관(품 30% 가산)", "고르기": ["아니오", "예"], "출처": "건설품셈 유지관리 4-3-2" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
}
|
||||
],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "대수",
|
||||
"식": "찾기(QC002058, '규격(㎜)범위'=만약(규격 == 'ø15' 또는 규격 == '20' 또는 규격 == '25' 또는 규격 == '32' 또는 규격 == '40' 또는 규격 == '50', 'ø15∼50', 만약(규격 == '65' 또는 규격 == '80' 또는 규격 == '100', 'ø65∼100', 만약(규격 == '125' 또는 규격 == '150' 또는 규격 == '200', 'ø125∼200', 'ø250∼300')))).공기압축기",
|
||||
"출처": "건설품셈 유지관리 4-3-2 주⑧"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000039", "이름": "배관공", "단위": "인", "수량": "찾기(QC002057, '규격(㎜)'=규격).배관공 * (1 + 만약(입상관 == '예', 30, 0) / 100)", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QC002057, '규격(㎜)'=규격).특별인부 * (1 + 만약(입상관 == '예', 30, 0) / 100)", "비목": "노무비" },
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000268, 기계='5205-0255', 지역=지역)",
|
||||
"이름": "공기압축기(이동식) 25.5㎥/min",
|
||||
"단위": "시간",
|
||||
"수량": "찾기(QC002057, '규격(㎜)'=규격).장비사용시간 * 대수 * (1 + 만약(입상관 == '예', 30, 0) / 100)"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001137",
|
||||
"원문번호": "4-3-3",
|
||||
"구분": "건설품셈 유지관리",
|
||||
"상세구분": "04장 기계설비",
|
||||
"이름": "배관누수 검사",
|
||||
"결과단위": "원/회",
|
||||
"출처": "건설품셈 유지관리 4-3-3",
|
||||
"소유": "공용",
|
||||
"비고": "급수·급탕·난방 옥내배관(ø50mm 이하) 누수 검사(주①) · 준비·검침·미터기 해체 재설치·공기압시험·누수탐지 포함(주②) · 해체·복구·교체 별도(주③) · 공구손료·경장비 = 인력품의 3%(주④) · 해석: 일당 인원 ÷ 일당 시공량 = 단위당 인 · 기계 대수 × 1일 8시간(건설품셈 공통 1-1) ÷ 일당 시공량 = 시간",
|
||||
"시험입력": {},
|
||||
"입력": [],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC002059).시공량", "출처": "건설품셈 유지관리 4-3-3" }],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000039", "이름": "배관공", "단위": "인", "수량": "찾기(QC002059).배관공 / 시공량", "비목": "노무비" }],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 3 / 100", "비목": "경비", "출처": "건설품셈 유지관리 4-3-3" }],
|
||||
"끝수": null
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -94,7 +94,7 @@
|
||||
"호표": [
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98%"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "용접봉 전기"},
|
||||
"이름": "용접봉(강교 제작)",
|
||||
"단위": "㎏",
|
||||
"수량": "찾기(QC000664, 품명='용접봉').수량",
|
||||
|
||||
@@ -3057,7 +3057,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "고무바 2.2cm"},
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "드레인보드(PBD)"},
|
||||
"이름": "드레인 보드",
|
||||
"단위": "m",
|
||||
"수량": "1 + 찾기(QC000356, 항목='5-2-3 재료량(주②)', 구분='드레인 보드 재료할증').비율 / 100",
|
||||
@@ -5331,7 +5331,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "직포 옥상방수용직포"},
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포", "검색어": "토목용부직포"},
|
||||
"이름": "부직포",
|
||||
"단위": "㎡",
|
||||
"수량": "만약(재료 == '부직포', 찾기(QC000399, 구분='부직포').수량, 0)",
|
||||
@@ -5347,7 +5347,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "매트", "검색어": "PET 매트 10T/m"},
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "매트", "검색어": "벤토나이트 매트"},
|
||||
"이름": "벤토나이트매트",
|
||||
"단위": "㎡",
|
||||
"수량": "만약(재료 == '벤토나이트매트', 찾기(QC000399, 구분='벤토나이트매트').수량, 0)",
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "불연천장재(마이톤) 12mm"},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "카페트"},
|
||||
"이름": "카페트",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC001251, 구분='카페트').수량",
|
||||
@@ -140,7 +140,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "직포 옥상방수용직포"},
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "폴리에스터 펠트"},
|
||||
"이름": "펠트",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC001251, 구분='펠트').수량",
|
||||
@@ -149,7 +149,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "접착·혼화", "검색어": "석고본드"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "접착·혼화", "검색어": "접착제 일반용"},
|
||||
"이름": "접착제",
|
||||
"단위": "㎏",
|
||||
"수량": "찾기(QC001251, 구분='접착제').수량",
|
||||
@@ -1124,7 +1124,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "그리스(일반범용) CROWN"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "풀 벽지용"},
|
||||
"이름": "풀",
|
||||
"단위": "kg",
|
||||
"수량": "찾기(QC001269, 바탕면=바탕면).풀",
|
||||
@@ -1770,7 +1770,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "PVC천막지 T-210"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "PE필름"},
|
||||
"이름": "방습필름",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC001285, 구분=구분).방습필름",
|
||||
|
||||
@@ -1545,7 +1545,14 @@
|
||||
"수량": "찾기(QC000697, 관경=관경).크레인 * 요율"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 잡재료",
|
||||
"식": "((찾기(QC000697, 관경=관경).배관공_수도 * 요율) * LB000040 + (찾기(QC000697, 관경=관경).보통인부 * 요율) * LB000002) * 1 / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 6-7-1 주④"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -1780,7 +1787,14 @@
|
||||
"수량": "만약((관경 == 150 그리고 관종류 == '비압력관') 또는 (관경 == 150 그리고 관종류 == '압력관') 또는 (관경 == 200 그리고 관종류 == '비압력관') 또는 (관경 == 200 그리고 관종류 == '압력관'), 0, 찾기(QC000700, 관경=관경, 관종류=관종류).크레인 * 요율)"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 잡재료",
|
||||
"식": "((찾기(QC000700, 관경=관경, 관종류=관종류).배관공_수도 * 요율) * LB000040 + (찾기(QC000700, 관경=관경, 관종류=관종류).보통인부 * 요율) * LB000002) * 1 / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 6-7-3 주④"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -2078,7 +2092,7 @@
|
||||
},
|
||||
{
|
||||
"이름": "잡재료",
|
||||
"식": "(찾기(QC000707).IV전선 * MT030714 + 찾기(QC000707).백열등 * MT008751) * 2 / 100",
|
||||
"식": "(찾기(QC000707).IV전선 * MT030714 + 찾기(QC000707).백열등 * MT008750) * 2 / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "건설품셈 토목 6-7-5 주⑤"
|
||||
}
|
||||
@@ -2185,7 +2199,14 @@
|
||||
"수량": "찾기(QC000708, 관경=관경).크레인 * 요율"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 잡재료",
|
||||
"식": "((찾기(QC000708, 관경=관경).배관공_수도 * 요율) * LB000040 + (찾기(QC000708, 관경=관경).보통인부 * 요율) * LB000002) * 2 / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 6-8-1 주⑤"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -2224,7 +2245,14 @@
|
||||
"비목": "노무비"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 잡재료",
|
||||
"식": "((찾기(QC000709, 관경=관경, 구분='인력').배관공_수도 * 요율) * LB000040 + (찾기(QC000709, 관경=관경, 구분='인력').보통인부 * 요율) * LB000002) * 2 / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 6-8-1 주⑤"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -2324,7 +2352,14 @@
|
||||
"수량": "찾기(QC000711, 관경=관경).크레인 * 요율"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 잡재료",
|
||||
"식": "((찾기(QC000711, 관경=관경).배관공_수도 * 요율) * LB000040 + (찾기(QC000711, 관경=관경).보통인부 * 요율) * LB000002) * 2 / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 6-8-2 주⑤"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
@@ -2460,7 +2495,7 @@
|
||||
"결과단위": "원/개소",
|
||||
"출처": "건설품셈 토목 6-8-4",
|
||||
"소유": "공용",
|
||||
"비고": "해석: 크레인·양중장비 종류·규격 설계자 고름 · 시공조건 B·C 요율(6-1-1 8) — 일당 표는 시공량에 · 단위당 표는 품에 곱함(해석: 인력·장비 품 모두) · 관경 = 본관(주②) · 크레인 원문 5톤급 트럭탑재형(80~900) · 크레인은 150㎜ 이상만(원문 표) · 천공·터파기·되메우기·잔토처리·물푸기 제외(주③) · 누수방지대에도 적용(주④) · 할정자관 중량표는 참고 · 막힘: 공구손료 및 잡재료 인력품 2%(주⑥) 빠짐 — 소요량에 계수 표 없음",
|
||||
"비고": "해석: 크레인·양중장비 종류·규격 설계자 고름 · 시공조건 B·C 요율(6-1-1 8) — 일당 표는 시공량에 · 단위당 표는 품에 곱함(해석: 인력·장비 품 모두) · 관경 = 본관(주②) · 크레인 원문 5톤급 트럭탑재형(80~900) · 크레인은 150㎜ 이상만(원문 표) · 천공·터파기·되메우기·잔토처리·물푸기 제외(주③) · 누수방지대에도 적용(주④) · 할정자관 중량표는 참고 · 공구손료 및 잡재료 = 인력품 2%(주⑥)",
|
||||
"입력": [
|
||||
{ "이름": "관경", "고르기": [80, 100, 150, 200, 250, 300, 350, 400, 450, 500, 600, 700, 800, 900] },
|
||||
{ "이름": "시공조건", "고르기": ["시공조건 A", "시공조건 B", "시공조건 C"], "출처": "건설품셈 토목 6-1-1 8" },
|
||||
@@ -2551,7 +2586,14 @@
|
||||
"수량": "만약(관경 == 80 또는 관경 == 100, 0, 찾기(QC000715, 관경=관경).크레인 * 요율)"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "공구손료 및 잡재료",
|
||||
"식": "((찾기(QC000715, 관경=관경).배관공_수도 * 요율) * LB000040 + (찾기(QC000715, 관경=관경).보통인부 * 요율) * LB000002) * 2 / 100",
|
||||
"비목": "경비",
|
||||
"출처": "건설품셈 토목 6-8-4 주⑥"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
|
||||
@@ -406,7 +406,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "방수석고보드 12.5t"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "시트방수재"},
|
||||
"이름": "방수시트",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC001300, 구분='시트').수량",
|
||||
@@ -469,7 +469,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "방수석고보드 12.5t"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "시트방수재"},
|
||||
"이름": "방수시트",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC001300, 구분='시트').수량",
|
||||
@@ -532,7 +532,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "방수석고보드 12.5t"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "시트방수재"},
|
||||
"이름": "방수시트",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC001300, 구분='시트').수량",
|
||||
@@ -949,7 +949,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "방수석고보드 12.5t"},
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "매트", "검색어": "벤토나이트 매트"},
|
||||
"이름": "벤토나이트방수재",
|
||||
"단위": "㎡",
|
||||
"수량": "만약(종류 == '벤토나이트 매트', 찾기(QC001307, 구분='벤토나이트방수재', 종류='매트', 부위=부위).수량, 0)",
|
||||
@@ -967,7 +967,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "KL-지수재 급결"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "벤토나이트 매스틱"},
|
||||
"이름": "벤토나이트씰재",
|
||||
"단위": "L",
|
||||
"수량": "찾기(QC001307, 구분='벤토나이트씰재', 종류=만약(종류 == '벤토나이트 매트', '매트', '시트'), 부위=부위).수량",
|
||||
@@ -985,7 +985,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "PVC천막지 T-210"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "PE필름"},
|
||||
"이름": "PE필름 0.04㎜",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC001307, 구분='PE필름', 종류=만약(종류 == '벤토나이트 매트', '매트', '시트'), 부위=부위).수량",
|
||||
@@ -1012,7 +1012,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "볼트·너트", "검색어": "핀볼트 M12"},
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "볼트·너트", "검색어": "평와셔"},
|
||||
"이름": "와셔",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC001307, 구분='와셔', 종류=만약(종류 == '벤토나이트 매트', '매트', '시트'), 부위=부위).수량",
|
||||
|
||||
@@ -498,7 +498,7 @@
|
||||
"호표": [
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "접착·혼화", "검색어": "석고본드"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "접착·혼화", "검색어": "에폭시 접착제"},
|
||||
"이름": "에폭시 신구콘크리트 접착제",
|
||||
"단위": "kg",
|
||||
"수량": "만약(용도 == '신구-콘크리트 접착제바르기', 접착제량, 0)",
|
||||
@@ -506,7 +506,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "접착·혼화", "검색어": "석고본드"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "접착·혼화", "검색어": "에폭시 접착제"},
|
||||
"이름": "에폭시 콘크리트고무 접착제",
|
||||
"단위": "kg",
|
||||
"수량": "만약(용도 == '콘크리트 및 고무 기타 접착제바르기', 접착제량, 0)",
|
||||
@@ -514,7 +514,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "도료", "검색어": "목재전용도료 오일스테인"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "도료", "검색어": "에폭시계 신너"},
|
||||
"이름": "시너",
|
||||
"단위": "ℓ",
|
||||
"수량": "찾기(QC000412, 용도=용도, 재료명='시너').수량",
|
||||
|
||||
@@ -483,6 +483,50 @@
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001138",
|
||||
"원문번호": "7-4-2",
|
||||
"구분": "건설품셈 공통",
|
||||
"상세구분": "07장 돌공사",
|
||||
"이름": "석재판 붙임 앵커 긴결공법",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 공통 7-4-2",
|
||||
"소유": "공용",
|
||||
"비고": "구조물 벽체에 앵커로 석재판(비구조요소) 고정(주①) · 앵커 구멍·지지철물·절단·설치·줄눈(코킹) 포함(주②) · 해석: 일당 인원 ÷ 일당 시공량 = ㎡당 인 · 해석: 인력품 = 인력 호표 줄 금액 합 · 해석: 주③ 3% 는 원문 주 글에만 있어(계수 표 없음) 식에 수로 적음 · 석재판·앵커·지지철물 재료 원문 표에 없음",
|
||||
"시험입력": { "면적": 0.3 },
|
||||
"입력": [{ "이름": "면적", "설명": "석재판 1장 면적(0.8㎡ 이하 · 0.3㎡ 이하 / 0.3㎡ 초과 두 구간)", "단위": "㎡", "범위": [0, 0.8], "출처": "건설품셈 공통 7-4-2" }],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QC000495, 면적=면적).시공량" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000033", "이름": "석공", "단위": "인", "수량": "찾기(QC000495, 면적=면적).석공 / 시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000034", "이름": "줄눈공", "단위": "인", "수량": "찾기(QC000495, 면적=면적).줄눈공 / 시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC000495, 면적=면적).보통인부 / 시공량", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 3 / 100", "비목": "경비", "출처": "건설품셈 공통 7-4-2 주③" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GC001139",
|
||||
"원문번호": "7-4-3",
|
||||
"구분": "건설품셈 공통",
|
||||
"상세구분": "07장 돌공사",
|
||||
"이름": "석재판 붙임 강제트러스 지지공법",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "건설품셈 공통 7-4-3",
|
||||
"소유": "공용",
|
||||
"비고": "구조물 벽체에 하지철물(각관·앵글 등)과 석재판(비구조요소) 설치(주①) · 앵커 구멍·지지철물·트러스 절단·용접·석재판 설치·줄눈(코킹) 포함(주②) · 하지철물 설치 + 석재판 붙임 두 공정을 각 시공량으로 나눠 더함 · 해석: 일당 인원 ÷ 일당 시공량 = ㎡당 인 · 해석: 인력품 = 인력 호표 줄 금액 합 · 해석: 주③ 3% 는 원문 주 글에만 있어(계수 표 없음) 식에 수로 적음 · 석재판·앵커·지지철물 재료 원문 표에 없음",
|
||||
"시험입력": { "면적": 0.5 },
|
||||
"입력": [{ "이름": "면적", "설명": "석재판 1장 면적(0.8㎡ 이하 · 0.3㎡ 이하 / 0.3㎡ 초과 두 구간)", "단위": "㎡", "범위": [0, 0.8], "출처": "건설품셈 공통 7-4-3" }],
|
||||
"중간": [{ "이름": "하지시공량", "식": "찾기(QC000496, 공정='하지철물 설치', 면적=면적).시공량" }, { "이름": "붙임시공량", "식": "찾기(QC000496, 공정='석재판 붙임', 면적=면적).시공량" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000012", "이름": "용접공", "단위": "인", "수량": "찾기(QC000496, 공정='하지철물 설치', 면적=면적).용접공 / 하지시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000009", "이름": "철공", "단위": "인", "수량": "찾기(QC000496, 공정='하지철물 설치', 면적=면적).철공 / 하지시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000033", "이름": "석공", "단위": "인", "수량": "찾기(QC000496, 공정='석재판 붙임', 면적=면적).석공 / 붙임시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000034", "이름": "줄눈공", "단위": "인", "수량": "찾기(QC000496, 공정='석재판 붙임', 면적=면적).줄눈공 / 붙임시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QC000496, 공정='석재판 붙임', 면적=면적).보통인부 / 붙임시공량", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 3 / 100", "비목": "경비", "출처": "건설품셈 공통 7-4-3 주③" }],
|
||||
"끝수": null
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -407,7 +407,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "불연천장재(마이톤) 12mm"},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "폴리카보네이트"},
|
||||
"이름": "폴리카보네이트",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC001319, 구분='폴리카보네이트').수량",
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "철근·강재", "상세구분": "철망·와이어메쉬", "검색어": "메쉬스크린 H=0.9m"},
|
||||
"요소": {"구분": "철근·강재", "상세구분": "철망·와이어메쉬", "검색어": "와이어메쉬 용접철망"},
|
||||
"이름": "와이어메시",
|
||||
"단위": "매",
|
||||
"수량": "찾기(QC001331, 구분='와이어메시', 규격='1,800×1,800㎜').수량",
|
||||
@@ -169,7 +169,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "앵커", "검색어": "L형앵커볼트 5/8\""},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "인서트"},
|
||||
"이름": "인서트",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC001333, 구분='인서트').수량",
|
||||
@@ -221,7 +221,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "처마후레싱 C/S"},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "몰딩 AL"},
|
||||
"이름": "조이너 및 몰딩",
|
||||
"단위": "m",
|
||||
"수량": "찾기(QC001335, 구분='조이너 및 몰딩').수량",
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "싱글코아바렐 {규격}"},
|
||||
"이름": "싱글코아바렐",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000776, 층=층, 종별='싱글코아바렐').수량",
|
||||
@@ -108,7 +108,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "메탈크라운비트 {규격}"},
|
||||
"이름": "메탈크라운비트",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000776, 층=층, 종별='메탈크라운비트').수량",
|
||||
@@ -117,7 +117,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "쵸핑비트 {규격}"},
|
||||
"이름": "쵸핑비트",
|
||||
"단위": "개",
|
||||
"수량": "만약(층 == '호박돌층', 찾기(QC000776, 층=층, 종별='쵸핑비트').수량, 0)",
|
||||
@@ -126,7 +126,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "드라이브파이프헤드 {규격}"},
|
||||
"이름": "드라이브파이프헤드",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000776, 층=층, 종별='드라이브파이프헤드').수량",
|
||||
@@ -135,7 +135,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "드라이브파이프슈 {규격}"},
|
||||
"이름": "드라이브파이프슈",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000776, 층=층, 종별='드라이브파이프슈').수량",
|
||||
@@ -211,7 +211,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "더블코아바렐 {규격}"},
|
||||
"이름": "더블코아바렐",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000777, 층=층, 종별='더블코아바렐').수량",
|
||||
@@ -220,7 +220,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "메탈크라운비트 {규격}"},
|
||||
"이름": "메탈크라운비트",
|
||||
"단위": "개",
|
||||
"수량": "만약(층 == '풍화암' 또는 층 == '연암' 또는 층 == '보통암', 찾기(QC000777, 층=층, 종별='메탈크라운비트').수량, 0)",
|
||||
@@ -229,7 +229,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "다이아몬드비트 {규격}"},
|
||||
"이름": "다이아몬드비트",
|
||||
"단위": "개",
|
||||
"수량": "만약(층 == '경암' 또는 층 == '극경암', 찾기(QC000777, 층=층, 종별='다이아몬드비트').수량, 0)",
|
||||
@@ -238,7 +238,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "메탈리밍쉘 {규격}"},
|
||||
"이름": "메탈리밍쉘",
|
||||
"단위": "개",
|
||||
"수량": "만약(층 == '풍화암' 또는 층 == '연암' 또는 층 == '보통암', 찾기(QC000777, 층=층, 종별='메탈리밍쉘').수량, 0)",
|
||||
@@ -247,7 +247,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "다이아몬드리밍쉘 {규격}"},
|
||||
"이름": "다이아몬드리밍쉘",
|
||||
"단위": "개",
|
||||
"수량": "만약(층 == '경암' 또는 층 == '극경암', 찾기(QC000777, 층=층, 종별='다이아몬드리밍쉘').수량, 0)",
|
||||
@@ -256,7 +256,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "코어리프터 {규격}"},
|
||||
"이름": "코아리프터",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000777, 층=층, 종별='코아리프터').수량",
|
||||
@@ -445,7 +445,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "신월튜브"},
|
||||
"이름": "신월튜브",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000781, 종별='신월튜브').수량",
|
||||
@@ -980,7 +980,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "쉬트파일수팽창지수재 DPS-500"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "벤토나이트 그라우팅용(일반)"},
|
||||
"이름": "벤토나이트",
|
||||
"단위": "㎏",
|
||||
"수량": "찾기(QC000789, 규격=규격, 종별='벤토나이트').수량",
|
||||
@@ -1093,7 +1093,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "쉬트파일수팽창지수재 DPS-500"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "벤토나이트 그라우팅용(일반)"},
|
||||
"이름": "벤토나이트",
|
||||
"단위": "㎏",
|
||||
"수량": "찾기(QC000790, 규격=규격, 종별='벤토나이트').수량",
|
||||
@@ -1206,7 +1206,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "쉬트파일수팽창지수재 DPS-500"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "벤토나이트 그라우팅용(일반)"},
|
||||
"이름": "벤토나이트",
|
||||
"단위": "㎏",
|
||||
"수량": "찾기(QC000791, 규격=규격, 종별='벤토나이트').수량",
|
||||
@@ -1319,7 +1319,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "쉬트파일수팽창지수재 DPS-500"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "벤토나이트 그라우팅용(일반)"},
|
||||
"이름": "벤토나이트",
|
||||
"단위": "㎏",
|
||||
"수량": "찾기(QC000792, 규격=규격, 종별='벤토나이트').수량",
|
||||
@@ -1432,7 +1432,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "쉬트파일수팽창지수재 DPS-500"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "벤토나이트 그라우팅용(일반)"},
|
||||
"이름": "벤토나이트",
|
||||
"단위": "㎏",
|
||||
"수량": "찾기(QC000793, 규격=규격, 종별='벤토나이트').수량",
|
||||
|
||||
@@ -637,7 +637,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "시멘트·골재", "상세구분": "모르타르", "검색어": "단면복구용몰탈 LDS-Mortar"},
|
||||
"요소": {"구분": "시멘트·골재", "상세구분": "모르타르", "검색어": "무수축 그라우트"},
|
||||
"이름": "무수축모르타르",
|
||||
"단위": "㎏",
|
||||
"수량": "찾기(QC001361, '규격(㎜)'=규격).무수축모르타르",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,34 @@
|
||||
"차례": 2,
|
||||
"판": "2026-01-01",
|
||||
"줄": [
|
||||
{
|
||||
"키": "GF000286",
|
||||
"원문번호": "4-1-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "04장 나무베기",
|
||||
"이름": "수확베기 임업용 동력기계톱 벌목",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "산림품셈 4-1-1",
|
||||
"소유": "공용",
|
||||
"비고": "해석: 벌목부 = 1인 ÷ 1일 벌목량 · 할증은 경급 할증과 산불피해목 할증을 더해 곱함 · 박피품 별도(3) · 할인·할증(집단화정도 1-4-3 · 경사도 1-4-5 · 장애물 1-4-8 등)은 이웃 로직과 같이 못 넣음 — 1-4 표 칸 이름·범위규칙 막힘",
|
||||
"시험입력": { "벌도목": "단목", "평균경급": 25, "산불피해목": "아님" },
|
||||
"입력": [
|
||||
{ "이름": "벌도목", "설명": "생산재 갈래(단목 · 전간목 · 전목)", "고르기": ["단목", "전간목", "전목"], "출처": "산림품셈 4-1-1" },
|
||||
{ "이름": "평균경급", "설명": "벌도목 평균 지름", "단위": "㎝", "출처": "산림품셈 4-1-1 주①" },
|
||||
{ "이름": "산불피해목", "설명": "산불피해지의 산불피해목 벌목 여부", "고르기": ["아님", "산불피해목"], "출처": "산림품셈 4-1-1 주②" }
|
||||
],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "경급할증",
|
||||
"식": "만약(평균경급 > 30, 0, 찾기(QF000042, 구분=만약(평균경급 < 20, '벌도목 평균경급 20cm 미만', '벌도목 평균경급 20~30cm'), '평균경급(cm)'=평균경급).할증률)",
|
||||
"출처": "산림품셈 4-1-1 주①"
|
||||
},
|
||||
{ "이름": "산불할증", "식": "만약(산불피해목 == '산불피해목', 찾기(QF000042, 구분='산불피해지 산불피해목').할증률, 0)", "출처": "산림품셈 4-1-1 주②" }
|
||||
],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000037", "이름": "벌목부", "단위": "인", "수량": "1 / 찾기(QF000041, '벌도목 구분'=벌도목).벌목량 * (1 + (경급할증 + 산불할증) / 100)", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000011", "원문번호": "4-1-2", "구분": "산림품셈", "상세구분": "04장 나무베기",
|
||||
"이름": "하베스터 벌도ㆍ조재",
|
||||
@@ -134,6 +162,123 @@
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000287",
|
||||
"원문번호": "4-2-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "04장 나무베기",
|
||||
"이름": "단목베기(100본당)",
|
||||
"결과단위": "원/100본",
|
||||
"출처": "산림품셈 4-2-1",
|
||||
"소유": "공용",
|
||||
"비고": "주② — 전목 = 벌목 · 전간목 = 벌목+가지제거 · 단목 = 벌목+가지제거+토막내기(벌목부) · 작업보조 보통인부 0.6 · 관목류 제거 보통인부 30% 할증(주⑤) · 규격재 조재 20% 할증(주⑥) — 해석: 전체 품에 곱함 · 표의 흉고직경은 짝수 구간(10 이하 · 12~14 …) · 할인·할증(집단화정도 1-4-3 · 경사도 1-4-5 · 장애물 1-4-8 등)은 이웃 로직과 같이 못 넣음 — 1-4 표 칸 이름·범위규칙 막힘",
|
||||
"시험입력": { "흉고직경": 14, "생산재": "단목", "관목류": "아님", "규격재조재": "아님" },
|
||||
"입력": [
|
||||
{ "이름": "흉고직경", "설명": "제거 대상목 가슴높이 지름(표 구간 안 값)", "단위": "㎝", "출처": "산림품셈 4-2-1" },
|
||||
{ "이름": "생산재", "설명": "베어서 남기는 모양(전목 · 전간목 · 단목)", "고르기": ["전목", "전간목", "단목"], "출처": "산림품셈 4-2-1 주②" },
|
||||
{ "이름": "관목류", "설명": "관목류 제거 여부", "고르기": ["아님", "관목류 제거"], "출처": "산림품셈 4-2-1 주⑤" },
|
||||
{ "이름": "규격재조재", "설명": "규격재 생산 조재 포함 여부", "고르기": ["아님", "포함"], "출처": "산림품셈 4-2-1 주⑥" }
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "벌목", "식": "찾기(QF000045, 구분='벌목·가지제거·토막내기', '제거 대상목 흉고직경(㎝)'=흉고직경).벌목" },
|
||||
{ "이름": "가지", "식": "만약(생산재 == '전목', 0, 찾기(QF000045, 구분='벌목·가지제거·토막내기', '제거 대상목 흉고직경(㎝)'=흉고직경).가지제거)" },
|
||||
{ "이름": "토막", "식": "만약(생산재 == '단목', 찾기(QF000045, 구분='벌목·가지제거·토막내기', '제거 대상목 흉고직경(㎝)'=흉고직경).토막내기, 0)" },
|
||||
{ "이름": "조재할증", "식": "만약(규격재조재 == '포함', 찾기(QF000046, 구분='규격재 생산을 위한 조재 포함 시 할증').값, 0)", "출처": "산림품셈 4-2-1 주⑥" },
|
||||
{ "이름": "관목할증", "식": "만약(관목류 == '관목류 제거', 찾기(QF000046, 구분='관목류 제거 시 보통인부 할증').값, 0)", "출처": "산림품셈 4-2-1 주⑤" }
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000037", "이름": "벌목부(체인톱)", "단위": "인", "수량": "(벌목 + 가지 + 토막) * (1 + 조재할증 / 100)", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부(작업보조)", "단위": "인", "수량": "찾기(QF000045, 구분='작업보조').작업보조 * (1 + (관목할증 + 조재할증) / 100)", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000288",
|
||||
"원문번호": "4-2-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "04장 나무베기",
|
||||
"이름": "단목베기(1,000㎡당 · 굴착기 0.2㎥ + 부착용 집게)",
|
||||
"결과단위": "원/1,000㎡",
|
||||
"출처": "산림품셈 4-2-2",
|
||||
"소유": "공용",
|
||||
"비고": "집재거리 100m 초과 매 100m 마다 인력품 30% 가산(비고) — 해석: 초과분 100m 단위 올림 · 공구손료 및 경장비 10%(주⑤) — 해석: 인력품(노무비)의 10% · 장비 규격 변경·위험지역 장비 추가는 설계자 판단(주③④) · 할인·할증(집단화정도 1-4-3 · 경사도 1-4-5 · 장애물 1-4-8 등)은 이웃 로직과 같이 못 넣음 — 1-4 표 칸 이름·범위규칙 막힘",
|
||||
"시험입력": { "나무높이": 6, "집재거리": 100, "지역": "전국평균", "보정작업": "해당 없음" },
|
||||
"입력": [
|
||||
{ "이름": "나무높이", "설명": "베는 나무의 평균 높이", "단위": "m", "출처": "산림품셈 4-2-2 주①" },
|
||||
{ "이름": "집재거리", "설명": "벤 나무를 모으는 거리", "단위": "m", "출처": "산림품셈 4-2-2 비고" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
},
|
||||
{ "이름": "보정작업", "설명": "암석·전석 작업이면 기계손료 가산", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "가산",
|
||||
"식": "만약(집재거리 > 찾기(QF000048).'집재거리 기준', 올림((집재거리 - 찾기(QF000048).'집재거리 기준') / 찾기(QF000048).가산단위, 0) * 찾기(QF000048).가산할증, 0)",
|
||||
"출처": "산림품셈 4-2-2 비고"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000037", "이름": "벌목부", "단위": "인", "수량": "찾기(QF000047, 구분='벌목부', '나무높이(m)'=나무높이).소요 * (1 + 가산 / 100)", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000047, 구분='보통인부', '나무높이(m)'=나무높이).소요 * (1 + 가산 / 100)", "비목": "노무비" },
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000270, 기계='0201-0020', 집게='7206-0020', 지역=지역, 보정작업=보정작업)",
|
||||
"이름": "굴착기(무한궤도) 0.2㎥ + 부착용 집게",
|
||||
"단위": "시간",
|
||||
"수량": "찾기(QF000047, 구분='굴착기+부착용집게', '나무높이(m)'=나무높이).소요"
|
||||
}
|
||||
],
|
||||
"덧줄": [{ "이름": "공구손료 및 경장비", "식": "노무비 * 찾기(QF000049).값 / 100", "비목": "경비", "출처": "산림품셈 4-2-2 주⑤" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000289",
|
||||
"원문번호": "4-3",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "04장 나무베기",
|
||||
"이름": "위험목 베기(굴착기 우드그랩 0.2㎥ · 크레인 5톤)",
|
||||
"결과단위": "원/본",
|
||||
"출처": "산림품셈 4-3",
|
||||
"소유": "공용",
|
||||
"비고": "가슴높이지름 16㎝ 이상(주② · 미만은 솎아베기 품) · 숲가꾸기 위험목 또는 인력작업 = 벌목부 100% 가산(주④) · 병해충 발생지 장비 없이 인력만 = 보통인부 100% 가산(주⑥) — 해석: 인력만이면 장비 줄 0 · 장비 = 굴착기 0.2㎥ + 부착용 집게 0.2㎥(우드그랩) · 트럭탑재형 크레인 5톤(주⑤) · 50m 이내 집재 포함(주③)",
|
||||
"시험입력": { "가슴높이지름": 25, "작업": "장비 사용", "지역": "전국평균", "보정작업": "해당 없음" },
|
||||
"입력": [
|
||||
{ "이름": "가슴높이지름", "설명": "위험목 가슴높이 지름(표 구간 안 값)", "단위": "㎝", "범위": [16, 999], "출처": "산림품셈 4-3" },
|
||||
{ "이름": "작업", "설명": "작업 갈래", "고르기": ["장비 사용", "숲가꾸기 위험목 또는 인력작업", "병해충 발생지 인력만"], "출처": "산림품셈 4-3 주④⑥" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
},
|
||||
{ "이름": "보정작업", "설명": "암석·전석 작업이면 기계손료 가산", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "벌목가산", "식": "만약(작업 == '숲가꾸기 위험목 또는 인력작업', 찾기(QF000051, 구분='숲가꾸기 위험목 제거 또는 인력작업 시 벌목부 가산').값, 0)" },
|
||||
{ "이름": "보통가산", "식": "만약(작업 == '병해충 발생지 인력만', 찾기(QF000051, 구분='산림병해충·소나무재선충병 발생지역 인력만 제거 시 보통인부 가산').값, 0)" },
|
||||
{ "이름": "장비", "식": "만약(작업 == '병해충 발생지 인력만', 0, 1)" }
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QF000050, '가슴높이지름(cm)'=가슴높이지름).특별인부", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000037", "이름": "벌목부", "단위": "인", "수량": "찾기(QF000050, '가슴높이지름(cm)'=가슴높이지름).벌목부 * (1 + 벌목가산 / 100)", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000050, '가슴높이지름(cm)'=가슴높이지름).보통인부 * (1 + 보통가산 / 100)", "비목": "노무비" },
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000270, 기계='0201-0020', 집게='7206-0020', 지역=지역, 보정작업=보정작업)",
|
||||
"이름": "굴착기 0.2㎥ + 부착용 집게(우드그랩)",
|
||||
"단위": "시간",
|
||||
"수량": "찾기(QF000050, '가슴높이지름(cm)'=가슴높이지름).'굴삭기 우드그랩' * 장비"
|
||||
},
|
||||
{ "종류": "로직", "요소": "로직(GC000268, 기계='2105-0005', 지역=지역)", "이름": "트럭탑재형 크레인 5톤", "단위": "시간", "수량": "찾기(QF000050, '가슴높이지름(cm)'=가슴높이지름).크레인 * 장비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000013", "원문번호": "4-4", "구분": "산림품셈", "상세구분": "04장 나무베기",
|
||||
"이름": "가지정리",
|
||||
|
||||
@@ -4,6 +4,99 @@
|
||||
"차례": 3,
|
||||
"판": "2026-01-01",
|
||||
"줄": [
|
||||
{
|
||||
"키": "GF000290",
|
||||
"원문번호": "5-1-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "관목굴취",
|
||||
"결과단위": "원/10본",
|
||||
"출처": "산림품셈 5-1-1",
|
||||
"소유": "공용",
|
||||
"비고": "원문 0.3m 는 「0.3∼0.7m 이하」 줄(「0.3m 미만」 은 위 끝 제외) — 표 규칙(양 끝 포함 · 겹치면 위 끝 작은 줄) 때문에 0.3 은 0.31 로 찾음 · 1.5m 초과는 나무높이 비례 할증 가능(설계자 판단) · 수관폭이 더 크면 수관폭을 나무높이로(주④) · 분 보호 안 함 기준(주②) · 녹화마대 등으로 분 보호 시 5-1-2 교목굴취(나무높이) 적용(주⑥)",
|
||||
"시험입력": { "수고": 0.5 },
|
||||
"입력": [{ "이름": "수고", "설명": "관목 나무높이(표 구간 안 값)", "단위": "m", "출처": "산림품셈 5-1-1" }],
|
||||
"중간": [{ "이름": "찾을수고", "식": "만약(수고 == 0.3, 0.31, 수고)" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QF000058, '수고(m)'=찾을수고).특별인부", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000058, '수고(m)'=찾을수고).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000293",
|
||||
"원문번호": "5-1-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "교목굴취(나무높이)",
|
||||
"결과단위": "원/본",
|
||||
"출처": "산림품셈 5-1-2",
|
||||
"소유": "공용",
|
||||
"비고": "분이 없으면 굴취품 20% 감(비고) · 분 = 근원직경 4∼5배(주②) · 분뜨기 재료 별도(주④) · 기계 필요 시 별도(주⑥)",
|
||||
"시험입력": { "나무높이": 2.0, "분": "있음" },
|
||||
"입력": [{ "이름": "나무높이", "설명": "교목 나무높이(표 구간 안 값)", "단위": "m", "출처": "산림품셈 5-1-2" }, { "이름": "분", "설명": "뿌리분을 뜨는지", "고르기": ["있음", "없음"], "출처": "산림품셈 5-1-2 비고" }],
|
||||
"중간": [{ "이름": "감", "식": "만약(분 == '없음', 찾기(QF000061, 구분='분이 없는 경우 굴취품 감').값, 0)" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QF000060, '나무높이(m)'=나무높이).특별인부 * (1 - 감 / 100)", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000060, '나무높이(m)'=나무높이).보통인부 * (1 - 감 / 100)", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000294",
|
||||
"원문번호": "5-1-3",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "교목굴취(근원직경)",
|
||||
"결과단위": "원/본",
|
||||
"출처": "산림품셈 5-1-3",
|
||||
"소유": "공용",
|
||||
"비고": "근원직경으로 찾음(괄호 흉고직경만 알면 원문 짝으로 근원직경을 넣음) · 분이 없으면 굴취품 20% 감(비고) — 해석: 인력·장비 모두 · 장비 규격 = 주⑧ 표(10∼19㎝ 굴착기 0.4㎥ · 20㎝ 이상 0.6㎥ · 크레인 규격표) · 굴착기는 표에서 굴착기 칸이 있는 10㎝ 이상 · 크레인은 20㎝ 이상 · 타이어 크레인(40∼60㎝ 25∼50ton)은 설계자 고름",
|
||||
"시험입력": { "근원직경": 25, "분": "있음", "타이어크레인": "2104-0025", "지역": "전국평균", "보정작업": "해당 없음" },
|
||||
"입력": [
|
||||
{ "이름": "근원직경", "설명": "교목 근원(뿌리목) 지름(표 구간 안 값)", "단위": "㎝", "출처": "산림품셈 5-1-3" },
|
||||
{ "이름": "분", "설명": "뿌리분을 뜨는지", "고르기": ["있음", "없음"], "출처": "산림품셈 5-1-3 비고" },
|
||||
{
|
||||
"이름": "타이어크레인",
|
||||
"설명": "근원직경 40㎝ 이상일 때 쓰는 타이어 크레인(25∼50ton)",
|
||||
"고르기": ["2104-0025", "2104-0030", "2104-0035", "2104-0040", "2104-0045", "2104-0050"],
|
||||
"출처": "산림품셈 5-1-3 주⑧"
|
||||
},
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
},
|
||||
{ "이름": "보정작업", "설명": "암석·전석 작업이면 기계손료 가산", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "감", "식": "만약(분 == '없음', 찾기(QF000064, 구분='분이 없는 경우 굴취품 감').값, 0)" },
|
||||
{ "이름": "굴착기", "식": "만약(근원직경 < 10, '0201-0040', 만약(찾기(QF000063, '근원직경(cm)'=근원직경).굴착기 == 0.4, '0201-0040', '0201-0060'))", "출처": "산림품셈 5-1-3 주⑧" }
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QF000062, '근원직경(㎝)'=근원직경).특별인부 * (1 - 감 / 100)", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000062, '근원직경(㎝)'=근원직경).보통인부 * (1 - 감 / 100)", "비목": "노무비" },
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000267, 기계=굴착기, 지역=지역, 보정작업=보정작업)",
|
||||
"이름": "굴착기(주⑧ 규격표)",
|
||||
"단위": "시간",
|
||||
"수량": "만약(근원직경 < 10, 0, 찾기(QF000062, '근원직경(㎝)'=근원직경).굴착기 * (1 - 감 / 100))"
|
||||
},
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000268, 기계=만약(찾기(QF000063, '근원직경(cm)'=근원직경).크레인 == '트럭탑재형 크레인 10ton', '2105-0010', 만약(찾기(QF000063, '근원직경(cm)'=근원직경).크레인 == '크레인(타이어) 25 ∼ 50ton', 타이어크레인, '2105-0015')), 지역=지역)",
|
||||
"이름": "크레인(주⑧ 규격표)",
|
||||
"단위": "시간",
|
||||
"수량": "만약(근원직경 < 20, 0, 찾기(QF000062, '근원직경(㎝)'=근원직경).크레인 * (1 - 감 / 100))"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000016", "원문번호": "5-1-4", "구분": "산림품셈", "상세구분": "05장 식재 및 녹화",
|
||||
"이름": "떼채취",
|
||||
@@ -26,6 +119,34 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000295",
|
||||
"원문번호": "5-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "뿌리돌림",
|
||||
"결과단위": "원/본",
|
||||
"출처": "산림품셈 5-2",
|
||||
"소유": "공용",
|
||||
"비고": "분 = 근원직경 4∼5배(주②) · 절단 부위 보호 재료 별도(주③)",
|
||||
"시험입력": { "근원직경": 9 },
|
||||
"입력": [
|
||||
{
|
||||
"이름": "근원직경",
|
||||
"설명": "근원 지름(표의 값 중)",
|
||||
"단위": "㎝",
|
||||
"고르기": [3, 5, 7, 9, 11, 13, 15, 18, 21, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90, 100],
|
||||
"출처": "산림품셈 5-2"
|
||||
}
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QF000068, '근원직경(㎝)'=근원직경).특별인부", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000068, '근원직경(㎝)'=근원직경).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000017", "원문번호": "5-3-1", "구분": "산림품셈", "상세구분": "05장 식재 및 녹화",
|
||||
"이름": "나무식재",
|
||||
@@ -70,6 +191,157 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000291",
|
||||
"원문번호": "5-3-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "관목식재(단식)",
|
||||
"결과단위": "원/10본",
|
||||
"출처": "산림품셈 5-3-2",
|
||||
"소유": "공용",
|
||||
"비고": "원문 0.3m 는 「0.3∼0.7m 이하」 줄(「0.3m 미만」 은 위 끝 제외) — 표 규칙(양 끝 포함 · 겹치면 위 끝 작은 줄) 때문에 0.3 은 0.31 로 찾음 · 1.5m 초과는 나무높이 비례 할증 가능(설계자 판단) · 수관폭이 더 크면 수관폭을 나무높이로(주④) · 1회 물주기 포함(주⑤) · 살수차 등 장비 별도(주⑥)",
|
||||
"시험입력": { "수고": 0.5 },
|
||||
"입력": [{ "이름": "수고", "설명": "관목 나무높이(표 구간 안 값)", "단위": "m", "출처": "산림품셈 5-3-2" }],
|
||||
"중간": [{ "이름": "찾을수고", "식": "만약(수고 == 0.3, 0.31, 수고)" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QF000074, '수고(m)'=찾을수고).특별인부", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000074, '수고(m)'=찾을수고).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000292",
|
||||
"원문번호": "5-3-3",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "관목식재(군식)",
|
||||
"결과단위": "원/10본",
|
||||
"출처": "산림품셈 5-3-3",
|
||||
"소유": "공용",
|
||||
"비고": "원문 0.3m 는 「0.3∼0.7m 이하」 줄(「0.3m 미만」 은 위 끝 제외) — 표 규칙(양 끝 포함 · 겹치면 위 끝 작은 줄) 때문에 0.3 은 0.31 로 찾음 · 1.5m 초과는 나무높이 비례 할증 가능(설계자 판단) · 수관폭이 더 크면 수관폭을 나무높이로(주④) · 1회 물주기 포함(주⑤) · 군식 식재밀도 표는 원문에 없음(주⑧)",
|
||||
"시험입력": { "수고": 0.5 },
|
||||
"입력": [{ "이름": "수고", "설명": "관목 나무높이(표 구간 안 값)", "단위": "m", "출처": "산림품셈 5-3-3" }],
|
||||
"중간": [{ "이름": "찾을수고", "식": "만약(수고 == 0.3, 0.31, 수고)" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QF000076, '수고(m)'=찾을수고).특별인부", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000076, '수고(m)'=찾을수고).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000296",
|
||||
"원문번호": "5-3-4",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "교목식재(나무높이)",
|
||||
"결과단위": "원/본",
|
||||
"출처": "산림품셈 5-3-4",
|
||||
"소유": "공용",
|
||||
"비고": "지주목을 세우지 않으면 인력품 감 — 인력시공 10% · 기계시공 20%(비고) · 기계시공은 2.1m 이상만(표 「-」) · 굴착기 0.4㎥(주⑦) · 1회 물주기 포함(주③)",
|
||||
"시험입력": { "나무높이": 3.0, "시공": "기계시공", "지주목": "세움", "지역": "전국평균", "보정작업": "해당 없음" },
|
||||
"입력": [
|
||||
{ "이름": "나무높이", "설명": "교목 나무높이(표 구간 안 값)", "단위": "m", "출처": "산림품셈 5-3-4" },
|
||||
{ "이름": "시공", "설명": "시공 방법", "고르기": ["인력시공", "기계시공"], "출처": "산림품셈 5-3-4" },
|
||||
{ "이름": "지주목", "설명": "지주목을 세우는지", "고르기": ["세움", "안 세움"], "출처": "산림품셈 5-3-4 비고" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
},
|
||||
{ "이름": "보정작업", "설명": "암석·전석 작업이면 기계손료 가산", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "감",
|
||||
"식": "만약(지주목 == '세움', 0, 만약(시공 == '인력시공', 찾기(QF000079, 구분='지주목을 세우지 않을 때 인력시공시 인력품 감').값, 찾기(QF000079, 구분='지주목을 세우지 않을 때 기계시공시 인력품 감').값))"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000003",
|
||||
"이름": "특별인부",
|
||||
"단위": "인",
|
||||
"수량": "만약(시공 == '인력시공', 찾기(QF000078, '나무높이(m)'=나무높이).'인력시공 특별인부', 찾기(QF000078, '나무높이(m)'=나무높이).'기계시공 특별인부') * (1 - 감 / 100)",
|
||||
"비목": "노무비"
|
||||
},
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000002",
|
||||
"이름": "보통인부",
|
||||
"단위": "인",
|
||||
"수량": "만약(시공 == '인력시공', 찾기(QF000078, '나무높이(m)'=나무높이).'인력시공 보통인부', 찾기(QF000078, '나무높이(m)'=나무높이).'기계시공 보통인부') * (1 - 감 / 100)",
|
||||
"비목": "노무비"
|
||||
},
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000267, 기계='0201-0040', 지역=지역, 보정작업=보정작업)",
|
||||
"이름": "굴착기 0.4㎥",
|
||||
"단위": "시간",
|
||||
"수량": "만약(시공 == '인력시공', 0, 찾기(QF000078, '나무높이(m)'=나무높이).'기계시공 굴착기')"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000297",
|
||||
"원문번호": "5-3-5",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "교목식재(흉고직경)",
|
||||
"결과단위": "원/본",
|
||||
"출처": "산림품셈 5-3-5",
|
||||
"소유": "공용",
|
||||
"비고": "흉고직경(지표 1.2m 높이 지름 · 주⑤)으로 찾음 · 지주목 안 세우면 인력품 감 — 해석: 굴착기 칸이 있는 8㎝ 이상 = 기계시공 20% · 그 아래 인력시공 10% · 장비 규격 = 주⑧ 표(8∼17㎝ 굴착기 0.4㎥ · 18㎝ 이상 0.6㎥ · 크레인 규격표) · 타이어 크레인(35∼50㎝ 25∼50ton)은 설계자 고름",
|
||||
"시험입력": { "흉고직경": 20, "지주목": "세움", "타이어크레인": "2104-0025", "지역": "전국평균", "보정작업": "해당 없음" },
|
||||
"입력": [
|
||||
{ "이름": "흉고직경", "설명": "가슴높이(1.2m) 지름(표 구간 안 값)", "단위": "㎝", "출처": "산림품셈 5-3-5" },
|
||||
{ "이름": "지주목", "설명": "지주목을 세우는지", "고르기": ["세움", "안 세움"], "출처": "산림품셈 5-3-5 비고" },
|
||||
{
|
||||
"이름": "타이어크레인",
|
||||
"설명": "흉고직경 35㎝ 이상일 때 쓰는 타이어 크레인(25∼50ton)",
|
||||
"고르기": ["2104-0025", "2104-0030", "2104-0035", "2104-0040", "2104-0045", "2104-0050"],
|
||||
"출처": "산림품셈 5-3-5 주⑧"
|
||||
},
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
},
|
||||
{ "이름": "보정작업", "설명": "암석·전석 작업이면 기계손료 가산", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "기계", "식": "만약(흉고직경 < 8, 0, 1)" },
|
||||
{ "이름": "감", "식": "만약(지주목 == '세움', 0, 만약(기계 == 0, 찾기(QF000082, 구분='지주목을 세우지 않을 때 인력시공시 인력품 감').값, 찾기(QF000082, 구분='지주목을 세우지 않을 때 기계시공시 인력품 감').값))" },
|
||||
{ "이름": "굴착기", "식": "만약(기계 == 0, '0201-0040', 만약(찾기(QF000081, '흉고직경(cm)'=흉고직경).굴착기 == 0.4, '0201-0040', '0201-0060'))", "출처": "산림품셈 5-3-5 주⑧" }
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QF000080, '흉고직경(㎝)'=흉고직경).특별인부 * (1 - 감 / 100)", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000080, '흉고직경(㎝)'=흉고직경).보통인부 * (1 - 감 / 100)", "비목": "노무비" },
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000267, 기계=굴착기, 지역=지역, 보정작업=보정작업)",
|
||||
"이름": "굴착기(주⑧ 규격표)",
|
||||
"단위": "시간",
|
||||
"수량": "만약(기계 == 0, 0, 찾기(QF000080, '흉고직경(㎝)'=흉고직경).굴착기)"
|
||||
},
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000268, 기계=만약(찾기(QF000081, '흉고직경(cm)'=흉고직경).크레인 == '트럭탑재형 크레인 10ton', '2105-0010', 만약(찾기(QF000081, '흉고직경(cm)'=흉고직경).크레인 == '크레인(타이어) 25 ∼ 50ton', 타이어크레인, '2105-0015')), 지역=지역)",
|
||||
"이름": "크레인(주⑧ 규격표)",
|
||||
"단위": "시간",
|
||||
"수량": "만약(흉고직경 < 18, 0, 찾기(QF000080, '흉고직경(㎝)'=흉고직경).크레인)"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000018", "원문번호": "5-4", "구분": "산림품셈", "상세구분": "05장 식재 및 녹화",
|
||||
"이름": "파종조림",
|
||||
@@ -373,6 +645,43 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000298",
|
||||
"원문번호": "5-16-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "선떼붙이기 단끊기",
|
||||
"결과단위": "원/100m",
|
||||
"출처": "산림품셈 5-16-1",
|
||||
"소유": "공용",
|
||||
"비고": "해석: 절취 품은 절취량으로 나눔(주③ 「절취량을 산출하여 본품에 나누어」) — 100m 절취량 = 0.15㎥/m × 100m = 15㎥ · 절취 ÷ 15 + 나머지 세 공정 = 표 합계줄(2.03 · 2.09 · 2.23)과 맞음 · 특수현장은 100m당 절취량을 넣음(0 = 원문 15㎥) · 작업반장 1인/보통인부 20인(주⑤) · 단끊기 연장은 주② 식으로 설계자가 셈",
|
||||
"시험입력": { "토질": "보통토사", "절취량": 0 },
|
||||
"입력": [
|
||||
{ "이름": "토질", "설명": "단을 끊는 흙 갈래", "고르기": ["보통토사", "경질ㆍ고사점토 및 자갈섞인 점토", "호박돌 섞인 토사"], "출처": "산림품셈 5-16-1" },
|
||||
{ "이름": "절취량", "설명": "100m당 절취량(0 = 원문 기준 15㎥)", "단위": "㎥/100m", "출처": "산림품셈 5-16-1 주③" }
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "기준절취량", "식": "만약(절취량 > 0, 절취량, 찾기(QF000107, 구분='절취량 기준').값 * 100)", "출처": "산림품셈 5-16-1 주③" },
|
||||
{
|
||||
"이름": "인부",
|
||||
"식": "만약(토질 == '보통토사', 찾기(QF000106, 공정별='절취').보통토사, 만약(토질 == '호박돌 섞인 토사', 찾기(QF000106, 공정별='절취').'호박돌 섞인 토사', 찾기(QF000106, 공정별='절취').'경질ㆍ고사점토 및 자갈섞인 점토'))/ 기준절취량 + 만약(토질 == '보통토사', 찾기(QF000106, 공정별='수평잡기 및 단정리').보통토사, 만약(토질 == '호박돌 섞인 토사', 찾기(QF000106, 공정별='수평잡기 및 단정리').'호박돌 섞인 토사', 찾기(QF000106, 공정별='수평잡기 및 단정리').'경질ㆍ고사점토 및 자갈섞인 점토')) + 만약(토질 == '보통토사', 찾기(QF000106, 공정별='잡석 및 뿌리 정리').보통토사, 만약(토질 == '호박돌 섞인 토사', 찾기(QF000106, 공정별='잡석 및 뿌리 정리').'호박돌 섞인 토사', 찾기(QF000106, 공정별='잡석 및 뿌리 정리').'경질ㆍ고사점토 및 자갈섞인 점토')) + 만약(토질 == '보통토사', 찾기(QF000106, 공정별='절·성토면 고르기').보통토사, 만약(토질 == '호박돌 섞인 토사', 찾기(QF000106, 공정별='절·성토면 고르기').'호박돌 섞인 토사', 찾기(QF000106, 공정별='절·성토면 고르기').'경질ㆍ고사점토 및 자갈섞인 점토'))"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "인부", "비목": "노무비" },
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000001",
|
||||
"이름": "작업반장",
|
||||
"단위": "인",
|
||||
"수량": "인부 * 찾기(QF000107, 구분='기준 인원당 작업반장').값 / 찾기(QF000107, 구분='작업반장 배치 기준 보통인부').값",
|
||||
"비목": "노무비",
|
||||
"출처": "산림품셈 5-16-1 주⑤"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000029", "원문번호": "5-18", "구분": "산림품셈", "상세구분": "05장 식재 및 녹화",
|
||||
"이름": "씨뿌리기(줄)",
|
||||
@@ -403,6 +712,43 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000299",
|
||||
"원문번호": "5-19-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "표토절취 및 모으기",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "산림품셈 5-19-1",
|
||||
"소유": "공용",
|
||||
"비고": "사질양토 기준(주①) · 잡관목·그루터기 제거 별도(주③)",
|
||||
"시험입력": { "취급심도": 12 },
|
||||
"입력": [{ "이름": "취급심도", "설명": "표토를 걷는 깊이(표의 값 중)", "단위": "㎝", "고르기": [6, 9, 12, 15, 18], "출처": "산림품셈 5-19-1" }],
|
||||
"중간": [],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000116, 구분='표토절취', '취급심도(㎝)'=취급심도).수량", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000300",
|
||||
"원문번호": "5-19-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "표토펴기 및 고르기",
|
||||
"결과단위": "원/㎥ 또는 원/100㎡",
|
||||
"출처": "산림품셈 5-19-2",
|
||||
"소유": "공용",
|
||||
"비고": "결과 단위는 고른 기준 — ㎥당 또는 100㎡당(원문 두 줄) · 식재면 고르기 포함",
|
||||
"시험입력": { "기준": "㎥ 당", "표토두께": 15 },
|
||||
"입력": [
|
||||
{ "이름": "기준", "설명": "결과 단위(㎥당 · 100㎡당)", "고르기": ["㎥ 당", "100㎡"], "출처": "산림품셈 5-19-2" },
|
||||
{ "이름": "표토두께", "설명": "펴는 표토 두께(표의 값 중)", "단위": "㎝", "고르기": [15, 30], "출처": "산림품셈 5-19-2" }
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000117, 구분=기준, '표토두께(㎝)'=표토두께).수량", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000030", "원문번호": "5-20", "구분": "산림품셈", "상세구분": "05장 식재 및 녹화",
|
||||
"이름": "표토관리",
|
||||
@@ -828,6 +1174,46 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000301",
|
||||
"원문번호": "5-26-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "흙갈이 막갈이",
|
||||
"결과단위": "원/992㎡",
|
||||
"출처": "산림품셈 5-26-1",
|
||||
"소유": "공용",
|
||||
"비고": "원문 기준 992㎡(300평)당 · 면고르기 불포함(주②)",
|
||||
"시험입력": { "토성": "양토", "막갈이깊이": 15 },
|
||||
"입력": [
|
||||
{ "이름": "토성", "설명": "흙의 성질", "고르기": ["사토", "양토", "식토"], "출처": "산림품셈 5-26-1" },
|
||||
{ "이름": "막갈이깊이", "설명": "가는 깊이(표의 값 중)", "단위": "cm", "고르기": [9, 12, 15, 18, 21], "출처": "산림품셈 5-26-1" }
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000139, 토성=토성, '막갈이깊이(cm)'=막갈이깊이).수량", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000302",
|
||||
"원문번호": "5-26-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "흙갈이 흙부수기",
|
||||
"결과단위": "원/992㎡",
|
||||
"출처": "산림품셈 5-26-2",
|
||||
"소유": "공용",
|
||||
"비고": "원문 기준 992㎡(300평)당 · 고르기 포함",
|
||||
"시험입력": { "토성": "양토", "막갈이깊이": 15 },
|
||||
"입력": [
|
||||
{ "이름": "토성", "설명": "흙의 성질", "고르기": ["사토", "양토", "식토"], "출처": "산림품셈 5-26-2" },
|
||||
{ "이름": "막갈이깊이", "설명": "가는 깊이(표의 값 중)", "단위": "cm", "고르기": [9, 12, 15, 18, 21], "출처": "산림품셈 5-26-2" }
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000140, 토성=토성, '막갈이깊이(cm)'=막갈이깊이).수량", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000040", "원문번호": "5-27", "구분": "산림품셈", "상세구분": "05장 식재 및 녹화",
|
||||
"이름": "식재면 관리",
|
||||
@@ -887,6 +1273,26 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000303",
|
||||
"원문번호": "5-28-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "05장 식재 및 녹화",
|
||||
"이름": "방초매트 및 야자섬유매트 포장",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "산림품셈 5-28-2",
|
||||
"소유": "공용",
|
||||
"비고": "해석: 일당 인원 ÷ 일 시공량 · 토공 별도(주③) · 매트·고정핀 재료 원문 표에 없음",
|
||||
"시험입력": { "폭": 1.5 },
|
||||
"입력": [{ "이름": "폭", "설명": "매트 포장 폭(2.0m 이하)", "단위": "m", "범위": [0, 2.0], "출처": "산림품셈 5-28-2" }],
|
||||
"중간": [{ "이름": "시공량", "식": "찾기(QF000144, 구분='조경공', '폭(m)'=폭).'시공량(㎡)'" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000038", "이름": "조경공", "단위": "인", "수량": "찾기(QF000144, 구분='조경공', '폭(m)'=폭).수량 / 시공량", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000144, 구분='보통인부').수량 / 시공량", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000042", "원문번호": "5-29", "구분": "산림품셈", "상세구분": "05장 식재 및 녹화",
|
||||
"이름": "복사이식 굴착기 시간당 작업량(Q1)",
|
||||
|
||||
@@ -306,6 +306,57 @@
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000304",
|
||||
"원문번호": "6-4-3",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "06장 생육보조",
|
||||
"이름": "칡덩굴 소금처리",
|
||||
"결과단위": "원/100본",
|
||||
"출처": "산림품셈 6-4-3",
|
||||
"소유": "공용",
|
||||
"비고": "유형1·2 칡덩굴 분포지만(주①) · 주두부 찾기·자르기·소금처리·뒷정리 + 덩굴 제거지점 표시 포함(주②) — 해석: 표시 0.05인을 더함 · 소금·나무젓가락 재료 원문 표에 없음 · 할인·할증(작업시기 1-4-1 · 집단화 1-4-3 · 경사도 1-4-5 · 하층식생 1-4-7 …)은 이웃 로직과 같이 못 넣음 — 1-4 표 칸 이름·범위규칙 막힘",
|
||||
"시험입력": { "주두부직경": 3 },
|
||||
"입력": [{ "이름": "주두부직경", "설명": "칡덩굴 주두부 지름", "단위": "㎝", "출처": "산림품셈 6-4-3" }],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부(소금처리)", "단위": "인", "수량": "찾기(QF000167, 구분='소금 처리', 주두부직경=주두부직경).소요인력", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부(덩굴 제거지점 표시)", "단위": "인", "수량": "찾기(QF000167, 구분='덩굴 제거지점 표시').소요인력", "비목": "노무비", "출처": "산림품셈 6-4-3 주②③" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000305",
|
||||
"원문번호": "6-4-4",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "06장 생육보조",
|
||||
"이름": "칡덩굴 뿌리제거",
|
||||
"결과단위": "원/100본",
|
||||
"출처": "산림품셈 6-4-4",
|
||||
"소유": "공용",
|
||||
"비고": "주두부 지름은 원문 세 구간으로 고름(1㎝ 미만 · 1~4㎝ · 4㎝ 초과 — 구간 가운데 값으로 찾음) · 덩굴 제거지점 표시는 면봉·비닐랩 처리만(주⑧) · 당해연도 발생 칡덩굴은 1㎝ 미만(주⑥) · 수량은 주두부 기준(주⑤) · 유형3·4 는 피복도 → 본/ha 환산표(QF000169)로 수량을 셈 · 글리포세이트·비닐랩 재료 원문 표에 없음 · 할인·할증(작업시기 1-4-1 · 집단화 1-4-3 · 경사도 1-4-5 · 하층식생 1-4-7 …)은 이웃 로직과 같이 못 넣음 — 1-4 표 칸 이름·범위규칙 막힘",
|
||||
"시험입력": { "주두부직경": "1~4㎝", "처리방법": "글리포세이트 면봉처리" },
|
||||
"입력": [
|
||||
{ "이름": "주두부직경", "설명": "칡덩굴 주두부 지름 구간", "고르기": ["1㎝ 미만", "1~4㎝", "4㎝ 초과"], "출처": "산림품셈 6-4-4" },
|
||||
{ "이름": "처리방법", "설명": "뿌리 처리 방법", "고르기": ["뿌리굴취", "글리포세이트 면봉처리", "비닐랩 밀봉처리"], "출처": "산림품셈 6-4-4 주①⑧" }
|
||||
],
|
||||
"중간": [{ "이름": "지름", "식": "만약(주두부직경 == '1㎝ 미만', 0.5, 만약(주두부직경 == '1~4㎝', 2, 5))" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부(뿌리 고살)", "단위": "인", "수량": "찾기(QF000168, 구분='뿌리 고살', 주두부직경=지름).소요인력", "비목": "노무비" },
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000002",
|
||||
"이름": "보통인부(덩굴 제거지점 표시)",
|
||||
"단위": "인",
|
||||
"수량": "만약(처리방법 == '뿌리굴취', 0, 찾기(QF000168, 구분='덩굴 제거지점 표시').소요인력)",
|
||||
"비목": "노무비",
|
||||
"출처": "산림품셈 6-4-4 주⑦⑧"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000056", "원문번호": "6-5", "구분": "산림품셈", "상세구분": "06장 생육보조",
|
||||
"이름": "어린나무 가꾸기",
|
||||
@@ -418,6 +469,26 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000306",
|
||||
"원문번호": "6-7-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "06장 생육보조",
|
||||
"이름": "교목 시비(환상시비)",
|
||||
"결과단위": "원/10주",
|
||||
"출처": "산림품셈 6-7-1",
|
||||
"소유": "공용",
|
||||
"비고": "환상시비 기준(주①) · 터파기·비료포설·되메우기 포함(주②) · 비료 종류·수량은 설계자 결정(주③) — 비료 재료 원문 표에 없음",
|
||||
"시험입력": { "근원직경": 15 },
|
||||
"입력": [{ "이름": "근원직경", "설명": "교목 근원 지름(51㎝ 미만)", "단위": "㎝", "범위": [0, 51], "출처": "산림품셈 6-7-1" }],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QF000173, 인력구분='특별인부', 근원직경=근원직경).소요인력", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000173, 인력구분='보통인부', 근원직경=근원직경).소요인력", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000058", "원문번호": "6-7-2", "구분": "산림품셈", "상세구분": "06장 생육보조",
|
||||
"이름": "관목 시비",
|
||||
@@ -490,7 +561,7 @@
|
||||
"호표": [
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "목재", "상세구분": "각재·판재", "검색어": "미송각재 30×30×3600mm 서울"},
|
||||
"요소": {"구분": "목재", "상세구분": "각재·판재", "검색어": "우드칩 72ℓ/포"},
|
||||
"이름": "우드칩",
|
||||
"단위": "㎥",
|
||||
"수량": "찾기(QF000177, 구분='우드칩').수량",
|
||||
|
||||
@@ -39,6 +39,30 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000307",
|
||||
"원문번호": "7-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "07장 집재 및 운재",
|
||||
"이름": "수라집재",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "산림품셈 7-2",
|
||||
"소유": "공용",
|
||||
"비고": "표 값 = 특별인부 1인 1일 수집량(㎥) · 설치·해체 포함 · 산지경사 20~65%(주①) · 병해충·재선충 방제 산물은 수집량 34% 가산(주②) · 재적 50㎥ 는 「41~50」 줄(표 규칙상 49.5 로 찾음) · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-15 횡단운반거리(범위규칙이 글) — 칸 이름 · 범위규칙 문법(이웃 로직과 같음)",
|
||||
"시험입력": { "집재거리": 150, "집재재적": 25, "작업": "일반" },
|
||||
"입력": [
|
||||
{ "이름": "집재거리", "설명": "집재 거리(250m 이하)", "단위": "m", "범위": [0, 250], "출처": "산림품셈 7-2" },
|
||||
{ "이름": "집재재적", "설명": "ha당 집재 재적", "단위": "㎥/ha", "출처": "산림품셈 7-2" },
|
||||
{ "이름": "작업", "설명": "작업 갈래", "고르기": ["일반", "병해충·소나무재선충병 방제"], "출처": "산림품셈 7-2 주②" }
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "찾을재적", "식": "만약(집재재적 == 50, 49.5, 집재재적)" },
|
||||
{ "이름": "Q", "식": "찾기(QF000182, 집재거리=집재거리, ha당집재재적=찾을재적).수량 * (1 + 만약(작업 == '일반', 0, 찾기(CF000062, 구분='방제 산물 수집량 가산').적용) / 100)" }
|
||||
],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "1 / Q", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000062", "원문번호": "7-3", "구분": "산림품셈", "상세구분": "07장 집재 및 운재",
|
||||
"이름": "아키야윈치 집재",
|
||||
@@ -311,6 +335,49 @@
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000308",
|
||||
"원문번호": "7-5-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "07장 집재 및 운재",
|
||||
"이름": "트랙터부착형 숲가꾸기·병해충방제(지면끌기)",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "산림품셈 7-5-2",
|
||||
"소유": "공용",
|
||||
"비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 3인 1조 · 7-5-1(GF000065) 과 같은 꼴 · 집재거리 = 최대거리 · 본당평균재적 = 총 집재량 ÷ 총본수(주②③) · 재선충병 방제 산물은 수집량 2% 가산(주④) · 1-4-14 못 넣음 — 트랙터부착형 갈래 없음 · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-15 횡단운반거리(범위규칙이 글) — 칸 이름 · 범위규칙 문법(이웃 로직과 같음)",
|
||||
"시험입력": { "집재거리": 70, "본당재적": 0.3, "작업": "숲가꾸기", "지역": "전국평균" },
|
||||
"입력": [
|
||||
{ "이름": "집재거리", "설명": "최대 집재 거리(120m 이하)", "단위": "m", "범위": [0, 120], "출처": "산림품셈 7-5-2 주②" },
|
||||
{ "이름": "본당재적", "설명": "본당 평균 재적(0.1∼0.2 · 0.3∼0.4 · 0.5 이상)", "단위": "㎥", "출처": "산림품셈 7-5-2 주③" },
|
||||
{ "이름": "작업", "설명": "작업 갈래", "고르기": ["숲가꾸기", "병해충방제", "소나무재선충병방제"], "출처": "산림품셈 7-5-2 주④" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
}
|
||||
],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "Q",
|
||||
"식": "찾기(QF000187, 집재거리=집재거리, 본당평균재적=본당재적).수집량 * (1 + 만약(작업 == '소나무재선충병방제', 2, 0) / 100)",
|
||||
"출처": "산림품셈 7-5-2 주④",
|
||||
"비고": "2% 는 주④ 글(계수 표 없음)"
|
||||
},
|
||||
{ "이름": "일수", "식": "1 / Q" }
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" },
|
||||
{ "종류": "재료", "요소": "MO:경유:{지역}", "이름": "경유(임업용동력집재기)", "단위": "ℓ", "수량": "찾기(QF000002, 기계명='임업용동력집재기').주연료 * 일수", "비목": "재료비", "출처": "산림품셈 2-1-2" }
|
||||
],
|
||||
"덧줄": [
|
||||
{ "이름": "잡품", "식": "재료비 * 찾기(QF000002, 기계명='임업용동력집재기').잡품 / 100", "비목": "재료비", "출처": "산림품셈 2-1-2 주「잡품」" },
|
||||
{ "이름": "기계손료", "식": "EQ000632.손료계수 * EQ000632.장비가격 * 1000 * 일수", "비목": "경비", "출처": "산림품셈 2-2-3" }
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000066", "원문번호": "7-6", "구분": "산림품셈", "상세구분": "07장 집재 및 운재",
|
||||
"이름": "스윙야더 집재",
|
||||
@@ -444,6 +511,91 @@
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000309",
|
||||
"원문번호": "7-7-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "07장 집재 및 운재",
|
||||
"이름": "HAM200 숲가꾸기·병해충방제",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "산림품셈 7-7-2",
|
||||
"소유": "공용",
|
||||
"비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 3인 1조 · 7-7-1(GF000067) 과 같은 꼴 · 해석: 할증을 인력 · 연료 · 손료(가동일)에 함께 곱함 · 가선설치·해체 · 측방집재 포함(주②) · 재선충병 방제 산물 27% 가산(주⑥) · 연료 = 2-1-2 트랙터 부착 기계 · 기계손료 = 2-2-3 HAM200, 춘천집재기, 스마트집재기(EQ000633) · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-15 횡단운반거리(범위규칙이 글) — 칸 이름 · 범위규칙 문법(이웃 로직과 같음)",
|
||||
"시험입력": { "집재재적": 50, "집재거리": 150, "집재방향": "상향집재", "작업": "숲가꾸기", "지역": "전국평균" },
|
||||
"입력": [
|
||||
{ "이름": "집재재적", "설명": "소반별 ha당 평균 집재 재적(100 이하)", "단위": "㎥/ha", "범위": [0, 100], "출처": "산림품셈 7-7-2 주③" },
|
||||
{ "이름": "집재거리", "설명": "최대 집재 거리(200m 이하)", "단위": "m", "범위": [0, 200], "출처": "산림품셈 7-7-2 주④" },
|
||||
{ "이름": "집재방향", "설명": "집재 방향", "고르기": ["상향집재", "하향집재"], "출처": "산림품셈 1-4-14" },
|
||||
{ "이름": "작업", "설명": "작업 갈래", "고르기": ["숲가꾸기", "병해충방제", "소나무재선충병방제"], "출처": "산림품셈 7-7-2 주⑥" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
}
|
||||
],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "Q",
|
||||
"식": "찾기(QF000190, 집재재적=집재재적, 집재거리=집재거리).수집량 * (1 + 만약(작업 == '소나무재선충병방제', 27, 0) / 100)",
|
||||
"출처": "산림품셈 7-7-2 주⑥",
|
||||
"비고": "27% 는 주⑥ 글(계수 표 없음)"
|
||||
},
|
||||
{ "이름": "할증", "식": "찾기(CF000043, 구분='가선을 이용한 기계장비의 원목․생산재 집재', 집재방향=집재방향).할증률", "출처": "산림품셈 1-4-14" },
|
||||
{ "이름": "일수", "식": "(1 / Q) * (1 + 할증 / 100)" }
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" },
|
||||
{ "종류": "재료", "요소": "MO:경유:{지역}", "이름": "경유(트랙터 부착 기계)", "단위": "ℓ", "수량": "찾기(QF000002, 기계명='트랙터 부착 기계').주연료 * 일수", "비목": "재료비", "출처": "산림품셈 2-1-2" }
|
||||
],
|
||||
"덧줄": [
|
||||
{ "이름": "잡품", "식": "재료비 * 찾기(QF000002, 기계명='트랙터 부착 기계').잡품 / 100", "비목": "재료비", "출처": "산림품셈 2-1-2 주「잡품」" },
|
||||
{ "이름": "기계손료", "식": "EQ000633.손료계수 * EQ000633.장비가격 * 1000 * 일수", "비목": "경비", "출처": "산림품셈 2-2-3" }
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000310",
|
||||
"원문번호": "7-8-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "07장 집재 및 운재",
|
||||
"이름": "타워야더(RME 300T) 가선설치",
|
||||
"결과단위": "원/회",
|
||||
"출처": "산림품셈 7-8-1",
|
||||
"소유": "공용",
|
||||
"비고": "표 값 = 가선 1회당 소요 조 수 · 1조 = 특별인부 2명 + 보통인부 1명(표 인력구분) · 집재는 7-8-3(GF000068)",
|
||||
"시험입력": { "집재방식": "상향집재", "작업로길이": 200 },
|
||||
"입력": [{ "이름": "집재방식", "설명": "집재 방향", "고르기": ["상향집재", "하향집재"], "출처": "산림품셈 7-8-1" }, { "이름": "작업로길이", "설명": "가선(작업로) 길이", "단위": "m", "출처": "산림품셈 7-8-1" }],
|
||||
"중간": [{ "이름": "조", "식": "찾기(QF000191, 집재방식=집재방식, 작업로길이=작업로길이).소요량" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "2 * 조", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "1 * 조", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000311",
|
||||
"원문번호": "7-8-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "07장 집재 및 운재",
|
||||
"이름": "타워야더(RME 300T) 가선해체",
|
||||
"결과단위": "원/회",
|
||||
"출처": "산림품셈 7-8-2",
|
||||
"소유": "공용",
|
||||
"비고": "표 값 = 가선 1회당 소요 조 수 · 1조 = 특별인부 2명 + 보통인부 1명(표 인력구분) · 집재는 7-8-3(GF000068)",
|
||||
"시험입력": { "집재방식": "상향집재", "작업로길이": 200 },
|
||||
"입력": [{ "이름": "집재방식", "설명": "집재 방향", "고르기": ["상향집재", "하향집재"], "출처": "산림품셈 7-8-2" }, { "이름": "작업로길이", "설명": "가선(작업로) 길이", "단위": "m", "출처": "산림품셈 7-8-2" }],
|
||||
"중간": [{ "이름": "조", "식": "찾기(QF000192, 집재방식=집재방식, 작업로길이=작업로길이).소요량" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "2 * 조", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "1 * 조", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000068", "원문번호": "7-8-3", "구분": "산림품셈", "상세구분": "07장 집재 및 운재",
|
||||
"이름": "타워야더 집재",
|
||||
@@ -519,6 +671,152 @@
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000312",
|
||||
"원문번호": "7-9-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "07장 집재 및 운재",
|
||||
"이름": "부착형 타워(K-301 · HAM300) 수확 집재",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "산림품셈 7-9-1",
|
||||
"소유": "공용",
|
||||
"비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 4인 1조(운전기사 1 · 특별인부 2 · 보통인부 1) · 해석: 할증을 인력 · 연료 · 손료(가동일)에 함께 곱함 · 1일 8시간 · 1회 집재재적 0.48㎥ 기준(주②) · 가선설치·해체 포함(주①) · 연료·손료 = 2-1-2 · 2-2-3 의 콜라타워야더(K-301) · HAM300 · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-15 횡단운반거리(범위규칙이 글) — 칸 이름 · 범위규칙 문법(이웃 로직과 같음)",
|
||||
"시험입력": { "집재재적": 50, "집재거리": 150, "기종": "K-301", "집재방향": "상향집재", "지역": "전국평균" },
|
||||
"입력": [
|
||||
{ "이름": "집재재적", "설명": "ha당 집재 재적(100 이하)", "단위": "㎥/ha", "범위": [0, 100], "출처": "산림품셈 7-9-1" },
|
||||
{ "이름": "집재거리", "설명": "최대 집재 거리(250m 이하)", "단위": "m", "범위": [0, 250], "출처": "산림품셈 7-9-1" },
|
||||
{ "이름": "기종", "설명": "부착형 타워 기종", "고르기": ["K-301", "HAM300"], "출처": "산림품셈 7-9-1" },
|
||||
{ "이름": "집재방향", "설명": "집재 방향", "고르기": ["상향집재", "하향집재"], "출처": "산림품셈 1-4-14" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
}
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "Q0", "식": "찾기(QF000194, 집재재적=집재재적, 집재거리=집재거리).수집량" },
|
||||
{ "이름": "Q", "식": "Q0" },
|
||||
{ "이름": "할증", "식": "찾기(CF000043, 구분='가선을 이용한 기계장비의 원목․생산재 집재', 집재방향=집재방향).할증률", "출처": "산림품셈 1-4-14" },
|
||||
{ "이름": "일수", "식": "(1 / Q) * (1 + 할증 / 100)" }
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "2 * 일수", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" },
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": "MO:경유:{지역}",
|
||||
"이름": "경유(부착형 타워)",
|
||||
"단위": "ℓ",
|
||||
"수량": "만약(기종 == 'K-301', 찾기(QF000002, 기계명='콜라타워야더(K-301)').주연료, 찾기(QF000002, 기계명='HAM300(임업용 트랙터 포함)').주연료) * 일수",
|
||||
"비목": "재료비",
|
||||
"출처": "산림품셈 2-1-2"
|
||||
}
|
||||
],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "잡품",
|
||||
"식": "재료비 * 만약(기종 == 'K-301', 찾기(QF000002, 기계명='콜라타워야더(K-301)').잡품, 찾기(QF000002, 기계명='HAM300(임업용 트랙터 포함)').잡품) / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "산림품셈 2-1-2 주「잡품」"
|
||||
},
|
||||
{ "이름": "기계손료", "식": "만약(기종 == 'K-301', EQ000630.손료계수 * EQ000630.장비가격, EQ000629.손료계수 * EQ000629.장비가격) * 1000 * 일수", "비목": "경비", "출처": "산림품셈 2-2-3" }
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000313",
|
||||
"원문번호": "7-9-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "07장 집재 및 운재",
|
||||
"이름": "부착형 타워(K-301 · HAM300) 숲가꾸기·재선충병방제 집재",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "산림품셈 7-9-2",
|
||||
"소유": "공용",
|
||||
"비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 4인 1조(운전기사 1 · 특별인부 2 · 보통인부 1) · 해석: 할증을 인력 · 연료 · 손료(가동일)에 함께 곱함 · 재선충병 방제 산물은 수집량 가산표(QF000196)대로 가산(주④) · 작업면적 1.0ha 이상(주③) · 연료·손료 = 2-1-2 · 2-2-3 의 콜라타워야더(K-301) · HAM300 · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-15 횡단운반거리(범위규칙이 글) — 칸 이름 · 범위규칙 문법(이웃 로직과 같음)",
|
||||
"시험입력": { "집재재적": 50, "집재거리": 150, "기종": "K-301", "집재방향": "상향집재", "지역": "전국평균", "작업": "소나무재선충병방제" },
|
||||
"입력": [
|
||||
{ "이름": "집재재적", "설명": "ha당 집재 재적(100 이하)", "단위": "㎥/ha", "범위": [0, 100], "출처": "산림품셈 7-9-2" },
|
||||
{ "이름": "집재거리", "설명": "최대 집재 거리(250m 이하)", "단위": "m", "범위": [0, 250], "출처": "산림품셈 7-9-2" },
|
||||
{ "이름": "기종", "설명": "부착형 타워 기종", "고르기": ["K-301", "HAM300"], "출처": "산림품셈 7-9-2" },
|
||||
{ "이름": "집재방향", "설명": "집재 방향", "고르기": ["상향집재", "하향집재"], "출처": "산림품셈 1-4-14" },
|
||||
{ "이름": "작업", "설명": "작업 갈래", "고르기": ["숲가꾸기", "소나무재선충병방제"], "출처": "산림품셈 7-9-2 주④" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
}
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "Q0", "식": "찾기(QF000195, 집재재적=집재재적, 집재거리=집재거리).수집량" },
|
||||
{ "이름": "가산", "식": "만약(작업 == '소나무재선충병방제', 찾기(QF000196, 노선별집재재적=집재재적, 집재거리=집재거리).가산율, 0)", "출처": "산림품셈 7-9-2 주④" },
|
||||
{ "이름": "Q", "식": "Q0 * (1 + 가산 / 100)" },
|
||||
{ "이름": "할증", "식": "찾기(CF000043, 구분='가선을 이용한 기계장비의 원목․생산재 집재', 집재방향=집재방향).할증률", "출처": "산림품셈 1-4-14" },
|
||||
{ "이름": "일수", "식": "(1 / Q) * (1 + 할증 / 100)" }
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "2 * 일수", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" },
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": "MO:경유:{지역}",
|
||||
"이름": "경유(부착형 타워)",
|
||||
"단위": "ℓ",
|
||||
"수량": "만약(기종 == 'K-301', 찾기(QF000002, 기계명='콜라타워야더(K-301)').주연료, 찾기(QF000002, 기계명='HAM300(임업용 트랙터 포함)').주연료) * 일수",
|
||||
"비목": "재료비",
|
||||
"출처": "산림품셈 2-1-2"
|
||||
}
|
||||
],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "잡품",
|
||||
"식": "재료비 * 만약(기종 == 'K-301', 찾기(QF000002, 기계명='콜라타워야더(K-301)').잡품, 찾기(QF000002, 기계명='HAM300(임업용 트랙터 포함)').잡품) / 100",
|
||||
"비목": "재료비",
|
||||
"출처": "산림품셈 2-1-2 주「잡품」"
|
||||
},
|
||||
{ "이름": "기계손료", "식": "만약(기종 == 'K-301', EQ000630.손료계수 * EQ000630.장비가격, EQ000629.손료계수 * EQ000629.장비가격) * 1000 * 일수", "비목": "경비", "출처": "산림품셈 2-2-3" }
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000314",
|
||||
"원문번호": "7-10",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "07장 집재 및 운재",
|
||||
"이름": "굴착기 우드그랩 산지집재(병해충방제)",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "산림품셈 7-10",
|
||||
"소유": "공용",
|
||||
"비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 1일 작업량(㎥) · 운전기사 1 + 보통인부 1(작업방해물 제거 · 주④) · ha당 평균 작업량은 원문 세 구간으로 고름 · 집재거리 40m 기준 · 횡단경사 40% 이하 · 굴착기 이동 50m 이하(주③⑤) · 연료 = 2-1-2 우드그래플 · 손료 = 2-2-3 동력상하차기, 임업용 굴착기(우드그래플) · 할인·할증 못 넣음 — 1-4-5 경사도(값 칸 「할인·할증률」) · 1-4-15 횡단운반거리(범위규칙이 글) — 칸 이름 · 범위규칙 문법(이웃 로직과 같음)",
|
||||
"시험입력": { "평균작업량": "20∼40㎥", "지역": "전국평균" },
|
||||
"입력": [
|
||||
{ "이름": "평균작업량", "설명": "ha당 평균 작업량 구간", "고르기": ["20㎥ 미만", "20∼40㎥", "40㎥ 초과"], "출처": "산림품셈 7-10" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
}
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "작업량값", "식": "만약(평균작업량 == '20㎥ 미만', 10, 만약(평균작업량 == '20∼40㎥', 30, 50))", "비고": "구간 가운데 값으로 찾음" },
|
||||
{ "이름": "Q", "식": "찾기(QF000197, 구분='작업량', ha당평균작업량=작업량값).작업량" },
|
||||
{ "이름": "일수", "식": "1 / Q" }
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "1 * 일수", "비목": "노무비" },
|
||||
{ "종류": "재료", "요소": "MO:경유:{지역}", "이름": "경유(우드그래플)", "단위": "ℓ", "수량": "찾기(QF000002, 기계명='우드그래플').주연료 * 일수", "비목": "재료비", "출처": "산림품셈 2-1-2" }
|
||||
],
|
||||
"덧줄": [
|
||||
{ "이름": "잡품", "식": "재료비 * 찾기(QF000002, 기계명='우드그래플').잡품 / 100", "비목": "재료비", "출처": "산림품셈 2-1-2 주「잡품」" },
|
||||
{ "이름": "기계손료", "식": "EQ000636.손료계수 * EQ000636.장비가격 * 1000 * 일수", "비목": "경비", "출처": "산림품셈 2-2-3" }
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000069", "원문번호": "7-11", "구분": "산림품셈", "상세구분": "07장 집재 및 운재",
|
||||
"이름": "동력상하차기(우드그래플) 집재",
|
||||
@@ -654,6 +952,67 @@
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000315",
|
||||
"원문번호": "7-12",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "07장 집재 및 운재",
|
||||
"이름": "동력상하차기(우드그래플) 집적",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "산림품셈 7-12",
|
||||
"소유": "공용",
|
||||
"비고": "해석: 건설기계조종원·운전기사 = 건설노임 건설기계운전사(1048) · 1인 1조 · 원목 길이 1.8 · 2.1 · 2.7 · 3.6m(장재는 응용 · 주②) · 검척 안 한 원목은 생산재 평균직경(주③) · 재선충병 방제 산물 77% 가산(주④) · 직경 30㎝ 는 「26∼30」 줄(표 규칙상 29.5 로 찾음) · 연료 = 2-1-2 우드그래플 · 손료 = 2-2-3 동력상하차기(EQ000636)",
|
||||
"시험입력": { "원목길이": 2.7, "원목직경": 28, "작업": "일반", "지역": "전국평균" },
|
||||
"입력": [
|
||||
{ "이름": "원목길이", "설명": "원목(생산재) 길이", "단위": "m", "고르기": [1.8, 2.1, 2.7, 3.6], "출처": "산림품셈 7-12" },
|
||||
{ "이름": "원목직경", "설명": "말구 평균 지름", "단위": "㎝", "출처": "산림품셈 7-12" },
|
||||
{ "이름": "작업", "설명": "작업 갈래", "고르기": ["일반", "소나무재선충병방제"], "출처": "산림품셈 7-12 주④" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
}
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "찾을직경", "식": "만약(원목직경 == 30, 29.5, 원목직경)" },
|
||||
{ "이름": "Q", "식": "찾기(QF000201, 원목길이=원목길이, 원목직경=찾을직경).수량 * (1 + 만약(작업 == '일반', 0, 찾기(CF000071, 구분='소나무재선충병방제 산물 집적량 가산').적용) / 100)" },
|
||||
{ "이름": "일수", "식": "1 / Q" }
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000048", "이름": "건설기계운전사", "단위": "인", "수량": "1 * 일수", "비목": "노무비" },
|
||||
{ "종류": "재료", "요소": "MO:경유:{지역}", "이름": "경유(우드그래플)", "단위": "ℓ", "수량": "찾기(QF000002, 기계명='우드그래플').주연료 * 일수", "비목": "재료비", "출처": "산림품셈 2-1-2" }
|
||||
],
|
||||
"덧줄": [
|
||||
{ "이름": "잡품", "식": "재료비 * 찾기(QF000002, 기계명='우드그래플').잡품 / 100", "비목": "재료비", "출처": "산림품셈 2-1-2 주「잡품」" },
|
||||
{ "이름": "기계손료", "식": "EQ000636.손료계수 * EQ000636.장비가격 * 1000 * 일수", "비목": "경비", "출처": "산림품셈 2-2-3" }
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000316",
|
||||
"원문번호": "7-13",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "07장 집재 및 운재",
|
||||
"이름": "검척",
|
||||
"결과단위": "원/100㎥",
|
||||
"출처": "산림품셈 7-13",
|
||||
"소유": "공용",
|
||||
"비고": "초급기술자 0.67인/100㎥(2인 1조 · 1일 300㎥ · 주①) · 원문에 기술자 갈래 없음 — 설계자 고름 · 평균 말구직경 할인·할증(주③ · 16∼24㎝ 는 0) · 층적 측정은 검척 품의 10%(주⑤) · 1ha당 150㎥ 기준 뒤 정산(주②) · 중량매각은 생략 가능",
|
||||
"시험입력": { "직종": "초급기술자(건설)", "말구직경": 15.51, "측정": "검척" },
|
||||
"입력": [
|
||||
{ "이름": "직종", "설명": "검척하는 초급기술자의 노임 직종", "고르기": ["초급기술자(건설)", "초급기술자(기타)", "측량초급기술자"], "출처": "산림품셈 7-13" },
|
||||
{ "이름": "말구직경", "설명": "평균 말구 지름(가중 평균 · 주④)", "단위": "㎝", "출처": "산림품셈 7-13 주③④" },
|
||||
{ "이름": "측정", "설명": "생산량 산출 방법", "고르기": ["검척", "층적 측정"], "출처": "산림품셈 7-13 주⑤" }
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "할증", "식": "만약(말구직경 >= 16 그리고 말구직경 < 24, 0, 찾기(CF000073, 말구직경=말구직경).적용)", "출처": "산림품셈 7-13 주③" },
|
||||
{ "이름": "층적", "식": "만약(측정 == '층적 측정', 찾기(CF000072, 구분='층적 측정 시 검척 품 적용').적용 / 100, 1)", "출처": "산림품셈 7-13 주⑤" }
|
||||
],
|
||||
"호표": [{ "종류": "인력", "요소": "LB:{직종}", "이름": "초급기술자", "단위": "인", "수량": "찾기(QF000202, 구분='생산목 검척').소요인력 * (1 + 할증 / 100) * 층적", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000071", "원문번호": "7-15-1", "구분": "산림품셈", "상세구분": "07장 집재 및 운재",
|
||||
"이름": "초소형 포워더 운재(수확)",
|
||||
|
||||
@@ -4,6 +4,46 @@
|
||||
"차례": 6,
|
||||
"판": "2026-01-01",
|
||||
"줄": [
|
||||
{
|
||||
"키": "GF000317",
|
||||
"원문번호": "8-1-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "08장 방제",
|
||||
"이름": "나무주사 약제주입기",
|
||||
"결과단위": "원/ha",
|
||||
"출처": "산림품셈 8-1-1",
|
||||
"소유": "공용",
|
||||
"비고": "천공 = 특별인부 · 자재운반·흉고검측·약제주입 = 보통인부(주②) · 약제량은 전수·표준지 조사로 산정(주①) · 둘레베기 필요 시 6-2-1(주③) · 약제 재료 원문 표에 없음 · 할인·할증 못 넣음 — 1-4 표 칸 이름·범위규칙 막힘(이웃 로직과 같음)",
|
||||
"시험입력": { "천공수": 1000 },
|
||||
"입력": [{ "이름": "천공수", "설명": "나무주사 천공 개수", "단위": "개", "출처": "산림품셈 8-1-1" }],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부(천공)", "단위": "인", "수량": "찾기(QF000210, 천공수=천공수).특별인부", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000210, 천공수=천공수).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000318",
|
||||
"원문번호": "8-1-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "08장 방제",
|
||||
"이름": "나무주사 약제주입병",
|
||||
"결과단위": "원(원문 밑수 「인」 — 천공수 구간당)",
|
||||
"출처": "산림품셈 8-1-2",
|
||||
"소유": "공용",
|
||||
"비고": "원문 밑수 「(인)」 뿐 — 면적 기준 없음(8-1-1 은 ha당) · 주입병 60㎖ 기준(주②) · 특별인부 천공 · 보통인부 운반·측정·주입·수거·구멍막기(주①) · 약제 재료 원문 표에 없음 · 할인·할증 못 넣음 — 1-4 표 칸 이름·범위규칙 막힘(이웃 로직과 같음)",
|
||||
"시험입력": { "천공수": 1000 },
|
||||
"입력": [{ "이름": "천공수", "설명": "나무주사 천공 개수", "단위": "개", "출처": "산림품셈 8-1-2" }],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부(천공)", "단위": "인", "수량": "찾기(QF000211, 천공수=천공수).특별인부", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000211, 천공수=천공수).보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000076", "원문번호": "8-3", "구분": "산림품셈", "상세구분": "08장 방제",
|
||||
"이름": "방제 벌목조재",
|
||||
@@ -200,6 +240,26 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000319",
|
||||
"원문번호": "8-4",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "08장 방제",
|
||||
"이름": "끈끈이 롤 트랩 설치·제거",
|
||||
"결과단위": "원/ha",
|
||||
"출처": "산림품셈 8-4",
|
||||
"소유": "공용",
|
||||
"비고": "해석: 표 작업량 = 보통인부 인/ha(밑수 100본/ha · 롤 사용량이 많을수록 품이 큼) · 설치·제거 따로 고름 · 롤트랩 수량은 주② 식(Q = 2πrL(1+R)/W) 으로 설계자가 셈 — 재료 별도 · 막힘: 임업용 테이프(4.0m/본 · 주③) 자재품목에 없음 — 줄 뺌 · 할인·할증 못 넣음 — 1-4 표 칸 이름·범위규칙 막힘(이웃 로직과 같음)",
|
||||
"시험입력": { "작업": "롤트랩 설치", "롤트랩사용량": 9 },
|
||||
"입력": [
|
||||
{ "이름": "작업", "설명": "설치 또는 제거", "고르기": ["롤트랩 설치", "롤트랩 제거"], "출처": "산림품셈 8-4" },
|
||||
{ "이름": "롤트랩사용량", "설명": "롤트랩 사용량(8롤 미만 · 8∼11 미만 · 11 이상)", "단위": "롤", "출처": "산림품셈 8-4" }
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000232, 구분=작업, 롤트랩사용량=롤트랩사용량).작업량", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000080", "원문번호": "8-5", "구분": "산림품셈", "상세구분": "08장 방제",
|
||||
"이름": "페르몬 유인트랩",
|
||||
@@ -306,6 +366,89 @@
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000320",
|
||||
"원문번호": "8-6-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "08장 방제",
|
||||
"이름": "드론방제(무인헬기 · 멀티콥터)",
|
||||
"결과단위": "원/ha",
|
||||
"출처": "산림품셈 8-6-2",
|
||||
"소유": "공용",
|
||||
"비고": "해석: 드론조종자·부조종자(건설기계조종원) = 건설노임 건설기계운전사(1048) · 인력 = 표 「계」 줄 · 손료 = 1일 손료계수 × 취득가액 ÷ 1일 방제면적(시간당 면적 × 4시간 · 2-2-7 주④ · 2-2-8) · 멀티콥터는 배터리 손료도 더함 · 약제비·연료 원문 표에 없음 · 할인·할증 못 넣음 — 1-4 표 칸 이름·범위규칙 막힘(이웃 로직과 같음)",
|
||||
"시험입력": { "기종": "무인헬기" },
|
||||
"입력": [{ "이름": "기종", "설명": "드론 종류", "고르기": ["무인헬기", "멀티콥터"], "출처": "산림품셈 8-6-2" }],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "일방제면적",
|
||||
"식": "만약(기종 == '무인헬기', 찾기(CF000091, 구분='시간당 방제가능 면적').적용 * 찾기(CF000091, 구분='1일 작업시간').적용, 찾기(CF000092, 구분='시간당 방제가능 면적').적용 * 찾기(CF000092, 구분='1일 작업시간').적용)",
|
||||
"출처": "산림품셈 8-6-2 주① · 2-2-7 주④"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000048",
|
||||
"이름": "드론조종자(건설기계운전사)",
|
||||
"단위": "인",
|
||||
"수량": "만약(기종 == '무인헬기', 찾기(QF000237, 항목='계').'드론조종자 (건설기계 조종원)', 찾기(QF000238, 항목='계').'드론조종자 (건설기계 조종원)')",
|
||||
"비목": "노무비"
|
||||
},
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000048",
|
||||
"이름": "부조종자(건설기계운전사)",
|
||||
"단위": "인",
|
||||
"수량": "만약(기종 == '무인헬기', 찾기(QF000237, 항목='계').'부조종자 (건설기계 조종원)', 찾기(QF000238, 항목='계').'부조종자 (건설기계 조종원)')",
|
||||
"비목": "노무비"
|
||||
},
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000003",
|
||||
"이름": "특별인부(신호수)",
|
||||
"단위": "인",
|
||||
"수량": "만약(기종 == '무인헬기', 찾기(QF000237, 항목='계').'특별인부 (신호수)', 찾기(QF000238, 항목='계').'특별인부 (신호수)')",
|
||||
"비목": "노무비"
|
||||
},
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000002",
|
||||
"이름": "보통인부",
|
||||
"단위": "인",
|
||||
"수량": "만약(기종 == '무인헬기', 찾기(QF000237, 항목='계').'보통인부', 찾기(QF000238, 항목='계').'보통인부')",
|
||||
"비목": "노무비"
|
||||
}
|
||||
],
|
||||
"덧줄": [
|
||||
{
|
||||
"이름": "드론 손료",
|
||||
"식": "만약(기종 == '무인헬기', EQ000645.손료계수 * EQ000645.취득가액, EQ000646.손료계수 * EQ000646.취득가액 + EQ000647.손료계수 * EQ000647.취득가액) / 일방제면적",
|
||||
"비목": "경비",
|
||||
"출처": "산림품셈 2-2-7 · 2-2-8"
|
||||
}
|
||||
],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000321",
|
||||
"원문번호": "8-6-3",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "08장 방제",
|
||||
"이름": "지상방제 차량살포(동력분무기)",
|
||||
"결과단위": "원/일",
|
||||
"출처": "산림품셈 8-6-3",
|
||||
"소유": "공용",
|
||||
"비고": "해석: 표 「계」 줄 = 1일 인원(운전 1인 · 사전조사 0.05인 · 물주입·살포 2인) · 동력분무기 손료 = 1일 손료계수 0.0084 × 취득가격(2-2-9 · 가격은 조달·물가 따라 설계자 입력) · 방제차량(1톤)은 건설품셈 적산기준(2-2-9) — 1톤 트럭 기계 요소 없어 줄 뺌 · 약제량은 희석배수표(QF000240)로 설계자가 셈",
|
||||
"시험입력": { "동력분무기가격": 5000000 },
|
||||
"입력": [{ "이름": "동력분무기가격", "설명": "동력분무기(45HP) 취득가격", "단위": "원", "출처": "산림품셈 2-2-9" }],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QF000239, 항목='계').특별인부", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000239, 항목='계').보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "동력분무기 손료", "식": "EQ000649.손료계수 * 동력분무기가격", "비목": "경비", "출처": "산림품셈 2-2-9" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000082", "원문번호": "8-7", "구분": "산림품셈", "상세구분": "08장 방제",
|
||||
"이름": "방제 실행 등록",
|
||||
@@ -439,6 +582,58 @@
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000322",
|
||||
"원문번호": "8-10",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "08장 방제",
|
||||
"이름": "그물망 피복",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "산림품셈 8-10",
|
||||
"소유": "공용",
|
||||
"비고": "입목재적 ㎥당 — 원문 1㎥ · 2㎥ 줄은 같은 ㎥당 품(2㎥ = 1㎥ × 2) · 소운반 30m 이내(주①) · 그물망 층적부피 = 입목재적 × 1.81(주② · 재료 별도) · 할인·할증 못 넣음 — 1-4 표 칸 이름·범위규칙 막힘(이웃 로직과 같음)",
|
||||
"시험입력": {},
|
||||
"입력": [],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000037", "이름": "벌목부(벌목조재)", "단위": "인", "수량": "찾기(QF000245, 입목재적=1, 항목='계').벌목부", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부(피복작업)", "단위": "인", "수량": "찾기(QF000245, 입목재적=1, 항목='계').보통인부", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000323",
|
||||
"원문번호": "8-11",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "08장 방제",
|
||||
"이름": "이동식 임목 파쇄(93.25KW)",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "산림품셈 8-11",
|
||||
"소유": "공용",
|
||||
"비고": "Q 3.5㎥/hr · 1일 8시간 · 운전원 1 + 보통인부 2(주①②) — 해석: 시간당 인원 = 1일 인원 ÷ 8 · 해석: 운전원 = 건설노임 건설기계운전사(1048) · 해석: 연료 13.5ℓ/hr(디젤) 는 주⑤ 글(「10.8 + 16.3ℓ / 2 = 13.5ℓ」)이라 식에 수로 적음 · 잡재료 = 주연료비 16% · 손료 = 시간당 손료계수 3,349×10^-7 × 장비가격(2-2-10 · 시중가격 설계자 입력) · 막힘: 파쇄기날 0.00125개/hr 자재품목에 없음 — 줄 뺌 · 장비 운반비 별도(주③)",
|
||||
"시험입력": { "파쇄기가격": 150000000, "지역": "전국평균" },
|
||||
"입력": [
|
||||
{ "이름": "파쇄기가격", "설명": "이동식 임목 파쇄기 시중가격", "단위": "원", "출처": "산림품셈 2-2-10" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
}
|
||||
],
|
||||
"중간": [{ "이름": "Q", "식": "찾기(QF000246, 구분='이동식 임목 파쇄기').작업량" }, { "이름": "시간", "식": "1 / Q" }, { "이름": "일시간", "식": "찾기(CF000096, 구분='1일 작업시간').적용" }],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000048", "이름": "운전원(건설기계운전사)", "단위": "인", "수량": "찾기(CF000096, 구분='기계운전자').적용 / 일시간 * 시간", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(CF000096, 구분='보통인부').적용 / 일시간 * 시간", "비목": "노무비" },
|
||||
{ "종류": "재료", "요소": "MO:경유:{지역}", "이름": "경유(파쇄기)", "단위": "ℓ", "수량": "13.5 * 시간", "비목": "재료비", "출처": "산림품셈 8-11 주⑤" }
|
||||
],
|
||||
"덧줄": [
|
||||
{ "이름": "잡재료", "식": "재료비 * 찾기(CF000096, 구분='잡재료').적용 / 100", "비목": "재료비", "출처": "산림품셈 8-11 비고" },
|
||||
{ "이름": "파쇄기 손료", "식": "EQ000650.시간당손료계수 / 10000000 * 파쇄기가격 * 시간", "비목": "경비", "출처": "산림품셈 2-2-10" }
|
||||
],
|
||||
"끝수": null
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -220,6 +220,85 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000279",
|
||||
"원문번호": "10-6-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "10장 자재․장비 운반",
|
||||
"이름": "인력운반 토사·석재",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "산림품셈 10-6-1",
|
||||
"소유": "공용",
|
||||
"비고": "100m 이상은 다른 품(주②) · 석재 = 자갈·부순돌·조약돌(주③) · 1회 25㎏(주④)",
|
||||
"시험입력": { "재료": "토사", "거리": 20 },
|
||||
"입력": [
|
||||
{ "이름": "재료", "설명": "나르는 재료", "고르기": ["토사", "석재"], "출처": "산림품셈 10-6-1" },
|
||||
{ "이름": "거리", "설명": "운반 거리(표의 거리 중)", "단위": "m", "고르기": [20, 30, 40, 50, 60, 70, 80, 90], "출처": "산림품셈 10-6-1" }
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000002",
|
||||
"이름": "보통인부",
|
||||
"단위": "인",
|
||||
"수량": "만약(재료 == '토사', 찾기(QF000308, '거리(m)'=거리).'보통인부 토사', 찾기(QF000308, '거리(m)'=거리).'보통인부 석재')",
|
||||
"비목": "노무비"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000280",
|
||||
"원문번호": "10-6-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "10장 자재․장비 운반",
|
||||
"이름": "인력운반 돌(지게)",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "산림품셈 10-6-2",
|
||||
"소유": "공용",
|
||||
"비고": "1,000m 이상은 다른 품(주②) · 깬돌 25㎏ 기준 · 75㎏ 정도는 품 50% 할증 가능 · 100㎏ 이상 적용 불가(주③)",
|
||||
"시험입력": { "거리": 50, "돌무게": "25㎏ 기준" },
|
||||
"입력": [
|
||||
{ "이름": "거리", "설명": "운반 거리(표의 거리 중)", "단위": "m", "고르기": [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000], "출처": "산림품셈 10-6-2" },
|
||||
{ "이름": "돌무게", "설명": "한 번에 지는 돌 무게", "고르기": ["25㎏ 기준", "75㎏ 정도"], "출처": "산림품셈 10-6-2 주③" }
|
||||
],
|
||||
"중간": [{ "이름": "할증", "식": "만약(돌무게 == '75㎏ 정도', 찾기(QF000312, 구분='75kg 정도').할증, 0)", "출처": "산림품셈 10-6-2 주③" }],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000309, '거리(m)'=거리).보통인부 * (1 + 할증 / 100)", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000281",
|
||||
"원문번호": "10-6-3",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "10장 자재․장비 운반",
|
||||
"이름": "인력운반 기타 임업자재",
|
||||
"결과단위": "원/자재 단위",
|
||||
"출처": "산림품셈 10-6-3",
|
||||
"소유": "공용",
|
||||
"비고": "결과 단위는 고른 자재의 표 단위 — 목재 ㎥ · 볏짚·섶단·나뭇가지단 100속 · 자른 떼 100매 · 식생낭 100개 · 말뚝 100본 · 볏짚멍석 1,000㎡ · 비료 톤 · 200m 이내(주②) · 지게·망태기 비용 포함(주③)",
|
||||
"시험입력": { "자재": "목재 소재(조재목)", "거리": 20 },
|
||||
"입력": [
|
||||
{
|
||||
"이름": "자재",
|
||||
"설명": "나르는 자재(결과 단위가 자재마다 다름)",
|
||||
"고르기": ["목재 소재(조재목)", "목재 제재", "볏짚", "섶단·새", "나뭇가지단", "자른 떼(20㎝×20㎝)", "식생낭(혼토입)", "편책용 말뚝(목재,파이프)", "볏짚멍석(종비포함)", "비료"],
|
||||
"출처": "산림품셈 10-6-3"
|
||||
},
|
||||
{ "이름": "거리", "설명": "운반 거리(표의 거리 중)", "단위": "m", "고르기": [20, 40, 60, 80, 100, 120, 140, 160, 180, 200], "출처": "산림품셈 10-6-3" }
|
||||
],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "인원",
|
||||
"식": "만약(자재 == '목재 소재(조재목)', 찾기(QF000310, '거리(m)'=거리).'목재 소재(조재목)', 만약(자재 == '목재 제재', 찾기(QF000310, '거리(m)'=거리).'목재 제재', 만약(자재 == '볏짚', 찾기(QF000310, '거리(m)'=거리).'볏짚', 만약(자재 == '섶단·새', 찾기(QF000310, '거리(m)'=거리).'섶단·새', 만약(자재 == '나뭇가지단', 찾기(QF000310, '거리(m)'=거리).'나뭇가지단', 만약(자재 == '자른 떼(20㎝×20㎝)', 찾기(QF000310, '거리(m)'=거리).'자른 떼(20㎝×20㎝)', 만약(자재 == '식생낭(혼토입)', 찾기(QF000310, '거리(m)'=거리).'식생낭(혼토입)', 만약(자재 == '편책용 말뚝(목재,파이프)', 찾기(QF000310, '거리(m)'=거리).'편책용 말뚝(목재,파이프)', 만약(자재 == '볏짚멍석(종비포함)', 찾기(QF000310, '거리(m)'=거리).'볏짚멍석(종비포함)', 만약(자재 == '비료', 찾기(QF000310, '거리(m)'=거리).'비료', 0))))))))))"
|
||||
}
|
||||
],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "인원", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000138", "원문번호": "10-7-1", "구분": "산림품셈", "상세구분": "10장 자재․장비 운반",
|
||||
"이름": "모노레일 노선선정",
|
||||
@@ -432,6 +511,39 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000282",
|
||||
"원문번호": "10-8-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "10장 자재․장비 운반",
|
||||
"이름": "케이블 크레인 짐내리기",
|
||||
"결과단위": "원/일",
|
||||
"출처": "산림품셈 10-8-1",
|
||||
"소유": "공용",
|
||||
"비고": "신호수는 짐내리기도 같이 함(주①) · 2단 크레인은 보통인부 2.0인 추가(주②) · 협소지 모아 쌓기 추가 인부는 설계자 판단(주③)",
|
||||
"시험입력": { "짐": "콘크리트(버켓)", "크레인단수": "1단" },
|
||||
"입력": [
|
||||
{ "이름": "짐", "설명": "내리는 짐 갈래", "고르기": ["콘크리트(버켓)", "제 자재(버켓 · 골재 등)", "제 자재(망태기 · 중량 큰 것)", "제 자재(망태기 · 중량 적은 것)"], "출처": "산림품셈 10-8-1" },
|
||||
{ "이름": "크레인단수", "설명": "케이블 크레인 단수", "고르기": ["1단", "2단"], "출처": "산림품셈 10-8-1 주②" }
|
||||
],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "인부",
|
||||
"식": "만약(짐 == '콘크리트(버켓)', 찾기(QF000322, 구분='콘크리트').'보통인부 짐내리는 인부', 만약(짐 == '제 자재(버켓 · 골재 등)', 찾기(QF000322, 구분='제 자재', 운반기구='버켓').'보통인부 짐내리는 인부', 만약(짐 == '제 자재(망태기 · 중량 큰 것)', 찾기(QF000322, 비고='토사, 자갈, 시멘트, 블록, 강재, 목재 등으로 중량이 큰 것').'보통인부 짐내리는 인부', 찾기(QF000322, 비고='떼, 억새띠, 잡목묶음 등 중량이 적은 것').'보통인부 짐내리는 인부')))"
|
||||
},
|
||||
{
|
||||
"이름": "신호수",
|
||||
"식": "만약(짐 == '콘크리트(버켓)', 찾기(QF000322, 구분='콘크리트').'보통인부 신호수', 만약(짐 == '제 자재(버켓 · 골재 등)', 찾기(QF000322, 구분='제 자재', 운반기구='버켓').'보통인부 신호수', 만약(짐 == '제 자재(망태기 · 중량 큰 것)', 찾기(QF000322, 비고='토사, 자갈, 시멘트, 블록, 강재, 목재 등으로 중량이 큰 것').'보통인부 신호수', 찾기(QF000322, 비고='떼, 억새띠, 잡목묶음 등 중량이 적은 것').'보통인부 신호수')))"
|
||||
},
|
||||
{ "이름": "추가", "식": "만약(크레인단수 == '2단', 찾기(QF000326, 구분='2단 크레인').'보통인부 추가', 0)", "출처": "산림품셈 10-8-1 주②" }
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부(짐내리는 인부)", "단위": "인", "수량": "인부 + 추가", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부(신호수)", "단위": "인", "수량": "신호수", "비목": "노무비" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000143", "원문번호": "10-8-2", "구분": "산림품셈", "상세구분": "10장 자재․장비 운반",
|
||||
"이름": "케이블 크레인 운반대 설치",
|
||||
@@ -452,7 +564,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "목재", "상세구분": "각재·판재", "검색어": "미송각재 30×30×3600mm 서울"},
|
||||
"요소": {"구분": "목재", "상세구분": "각재·판재", "검색어": "원목 경목"},
|
||||
"이름": "소재(원목)",
|
||||
"단위": "㎥",
|
||||
"수량": "찾기(QF000323, 구분='운반대').소재",
|
||||
@@ -570,6 +682,43 @@
|
||||
],
|
||||
"끝수": "손료 원 미만 버림(건설품셈 공통 8-1-5 12) · 합계 원문 규정 없음"
|
||||
},
|
||||
{
|
||||
"키": "GF000283",
|
||||
"원문번호": "10-9-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "10장 자재․장비 운반",
|
||||
"이름": "덤프트럭 자재 운반(1회 표준 운반량)",
|
||||
"결과단위": "원/ton",
|
||||
"출처": "산림품셈 10-9-1",
|
||||
"소유": "공용",
|
||||
"비고": "원문 머리 「작업량은 건설품셈을 적용」 — 1회 사이클시간(적재·운반·적하)은 설계자가 건설품셈 덤프트럭 식으로 셈 · 해석: 운반비 = 덤프트럭 시간당 경비 × 사이클시간/60 ÷ 1회 운반량(ton) · 개·㎡·㎥ 당은 표 환산량으로 바꿈(콘크리트블록 개 · 형틀 ㎡ · 토사·자갈·통나무 ㎥) · 1톤 4륜구동은 GF000145 · 주② 제잡비 비율은 원문 표에 없음",
|
||||
"시험입력": { "자재": "토사", "규격": "1t이상 2t미만", "덤프트럭": "0602-0025", "사이클시간": 30, "지역": "전국평균" },
|
||||
"입력": [
|
||||
{ "이름": "자재", "설명": "나르는 자재", "고르기": ["콘크리트 블록", "목제형틀", "철제형틀", "토사", "자갈", "강재", "통나무"], "출처": "산림품셈 10-9-1" },
|
||||
{ "이름": "규격", "설명": "덤프트럭 적재 규격", "고르기": ["1t미만", "1t이상 2t미만", "2t이상 3t미만", "3t이상 4t미만", "4t이상 5t미만"], "출처": "산림품셈 10-9-1" },
|
||||
{ "이름": "덤프트럭", "설명": "쓰는 덤프트럭(1톤 4륜구동 = 10-9 머리)", "고르기": ["1톤 4륜구동", "0602-0025", "0602-0045"], "출처": "산림품셈 10-9" },
|
||||
{ "이름": "사이클시간", "설명": "덤프트럭 1회 운반 사이클시간(건설품셈 덤프트럭 식)", "단위": "분", "출처": "산림품셈 10-9 머리" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
}
|
||||
],
|
||||
"중간": [{ "이름": "운반량", "식": "찾기(QF000329, 구분=자재, 규격=규격).중량 / 1000", "비고": "㎏ → ton" }],
|
||||
"호표": [
|
||||
{ "종류": "로직", "요소": "로직(GF000145, 지역=지역)", "이름": "덤프트럭 1톤(4륜구동)", "단위": "시간", "수량": "만약(덤프트럭 == '1톤 4륜구동', 사이클시간 / 60 / 운반량, 0)" },
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000268, 기계=만약(덤프트럭 == '1톤 4륜구동', '0602-0025', 덤프트럭), 지역=지역)",
|
||||
"이름": "덤프트럭",
|
||||
"단위": "시간",
|
||||
"수량": "만약(덤프트럭 == '1톤 4륜구동', 0, 사이클시간 / 60 / 운반량)"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000146", "원문번호": "10-10-1", "구분": "산림품셈", "상세구분": "10장 자재․장비 운반",
|
||||
"이름": "헬리콥터 콘크리트 및 골재운반 지상작업",
|
||||
@@ -676,6 +825,71 @@
|
||||
"호표": [{ "종류": "로직", "요소": "로직(GC000269, 기계=기계, 지역=지역, 보정작업=보정작업)", "이름": "불도저(무한궤도)", "단위": "시간", "수량": "1 / 작업량" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000284",
|
||||
"원문번호": "10-12-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "10장 자재․장비 운반",
|
||||
"이름": "덤프운반(굴착기 0.7㎥ 적재 · 덤프트럭 15ton)",
|
||||
"결과단위": "원/㎥",
|
||||
"출처": "산림품셈 10-12-1",
|
||||
"소유": "공용",
|
||||
"비고": "적재 Q1 = 3600·q0·K·f·E0/Cm · 운반 q = T/γt × L · n = q/(q0·K) · t1 = Cms·n/(60·Es) · t2 = (L/5 + L/6)×60 · Cmt = t1+…+t5 · Q = 60·q·f·E/Cmt(원문 식) · 해석: 원문 식 줄의 수 q0 0.7 · T 15ton · E 0.9 · Cms 20초 · Es 0.85 는 표가 없어 식에 수로 적음 · 해석: K·E0 는 주⑤ 표 「임도」 값(토사 0.9·0.60 · 파쇄암 0.55·0.35) — 식 줄의 E0 0.75 와 다름(사람 확인 목록) · f = 1/L(재료별 토량환산계수)",
|
||||
"시험입력": { "재료": "토사", "운반거리": 1.0, "지역": "전국평균", "보정작업": "해당 없음" },
|
||||
"입력": [
|
||||
{ "이름": "재료", "설명": "나르는 흙·암 갈래", "고르기": ["토사", "암절취", "발파암"], "출처": "산림품셈 10-12-1 주②③" },
|
||||
{ "이름": "운반거리", "설명": "편도 운반 거리(L)", "단위": "㎞", "출처": "산림품셈 10-12-1" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
},
|
||||
{ "이름": "보정작업", "설명": "암석·전석 작업이면 기계손료 가산", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [
|
||||
{ "이름": "암", "식": "만약(재료 == '토사', 0, 1)" },
|
||||
{ "이름": "K", "식": "만약(암 == 0, 찾기(QF000336, 구분='K').값, 찾기(QF000336, 구분='K').괄호값)", "출처": "산림품셈 10-12-1 주⑤" },
|
||||
{ "이름": "E0", "식": "만약(암 == 0, 찾기(QF000336, 구분='E0', 세부='토사').값, 찾기(QF000336, 구분='E0', 세부='파쇄암').값)", "출처": "산림품셈 10-12-1 주⑤" },
|
||||
{ "이름": "L", "식": "찾기(QF000339, 재료=재료).'토량환산계수(L)'", "출처": "산림품셈 10-12-1 주③" },
|
||||
{ "이름": "감마", "식": "만약(암 == 0, 찾기(QF000338, 재료='토사').단위중량, 찾기(QF000338, 재료='암절취 및 발파암').단위중량)", "출처": "산림품셈 10-12-1 주②" },
|
||||
{ "이름": "Q1", "식": "반올림(3600 * 0.7 * K * (1 / L) * E0 / 찾기(QF000336, 구분='㎝(초)').값, 3)", "출처": "산림품셈 10-12-1 1. 적재" },
|
||||
{ "이름": "q", "식": "15 / 감마 * L", "출처": "산림품셈 10-12-1 2. 운반" },
|
||||
{ "이름": "n", "식": "q / (0.7 * K)", "출처": "산림품셈 10-12-1 2. 운반" },
|
||||
{
|
||||
"이름": "Cmt",
|
||||
"식": "20 * n / (60 * 0.85) + (운반거리 / 찾기(QF000337, 구분='t2', 세부='V1(적재)').값 + 운반거리 / 찾기(QF000337, 구분='t2', 세부='V2(공차)').값) * 60 + 찾기(QF000337, 구분='적하(t3)').값 + 찾기(QF000337, 구분='대기(t4)').값 + 찾기(QF000337, 구분='덮개(t5)').값",
|
||||
"출처": "산림품셈 10-12-1 2. 운반"
|
||||
},
|
||||
{ "이름": "Q", "식": "반올림(60 * q * (1 / L) * 0.9 / Cmt, 3)", "출처": "산림품셈 10-12-1 2. 운반" }
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "로직", "요소": "로직(GC000267, 기계='0201-0070', 지역=지역, 보정작업=보정작업)", "이름": "굴착기(무한궤도) 0.7㎥(적재)", "단위": "시간", "수량": "1 / Q1" },
|
||||
{ "종류": "로직", "요소": "로직(GC000269, 기계='0602-0150', 지역=지역, 보정작업=보정작업)", "이름": "덤프트럭 15ton(운반)", "단위": "시간", "수량": "1 / Q" }
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000285",
|
||||
"원문번호": "10-13-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "10장 자재․장비 운반",
|
||||
"이름": "묘목 인력운반",
|
||||
"결과단위": "원/1,000본",
|
||||
"출처": "산림품셈 10-13-2",
|
||||
"소유": "공용",
|
||||
"비고": "표 인원은 묘목 1,000본당(10-13 머리 산식과 같은 기준) · 원문에 직종 없음 — 설계자 고름(보통인부 1002 · 인력운반공 1045)",
|
||||
"시험입력": { "수평거리": 100, "직종": "1002" },
|
||||
"입력": [
|
||||
{ "이름": "수평거리", "설명": "이륙지점~하륙지점 수평거리(100m 단위)", "단위": "m", "고르기": [100, 200, 300, 400, 500, 600], "출처": "산림품셈 10-13-2" },
|
||||
{ "이름": "직종", "설명": "운반 인력의 노임 직종(원문 번호)", "고르기": ["1002", "1045"], "출처": "산림품셈 10-13-2", "비고": "1002 보통인부 · 1045 인력운반공" }
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [{ "종류": "인력", "요소": "LB:{직종}", "이름": "운반 인력", "단위": "인", "수량": "찾기(QF000341, '수평거리(m)'=수평거리).인원", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -638,7 +638,7 @@
|
||||
"호표": [
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "단열·보온", "상세구분": "단열재", "검색어": "샌드위치판넬(그라스울) T50"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": "문양거푸집 스티로폼"},
|
||||
"이름": "문양 스티로폴(자재비 포함)",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QF000359, 구분='문양 스티로폴(자재비 포함)').적용",
|
||||
@@ -844,7 +844,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "블레이드 14\""},
|
||||
"이름": "커터 블레이드",
|
||||
"단위": "개",
|
||||
"수량": "0.31 / 100",
|
||||
@@ -1661,7 +1661,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "직포 옥상방수용직포"},
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포", "검색어": "토목용부직포"},
|
||||
"이름": "부직포",
|
||||
"단위": "㎡",
|
||||
"수량": "부직포면적",
|
||||
@@ -1670,7 +1670,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "시멘트·골재", "상세구분": "골재", "검색어": "모래 강모래"},
|
||||
"요소": {"구분": "시멘트·골재", "상세구분": "골재", "검색어": "잡석"},
|
||||
"이름": "잡석 구입",
|
||||
"단위": "㎥",
|
||||
"수량": "잡석량",
|
||||
@@ -2969,7 +2969,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "철근·강재", "상세구분": "철근", "검색어": "에폭시피복철근(가공비) D25mm"},
|
||||
"요소": {"구분": "철근·강재", "상세구분": "철근", "검색어": "이형철근 전국"},
|
||||
"이름": "철근",
|
||||
"단위": "ton",
|
||||
"수량": "철근량",
|
||||
@@ -2984,7 +2984,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "맨홀·수로·그레이팅", "상세구분": "맨홀", "검색어": "PE빗물받이스틸뚜껑 495×395×50T"},
|
||||
"요소": {"구분": "맨홀·수로·그레이팅", "상세구분": "맨홀", "검색어": "집수정 뚜껑"},
|
||||
"이름": "집수정 뚜껑(스틸그레이팅)",
|
||||
"단위": "개",
|
||||
"수량": "뚜껑수",
|
||||
@@ -3260,7 +3260,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "철근·강재", "상세구분": "철근", "검색어": "에폭시피복철근(가공비) D25mm"},
|
||||
"요소": {"구분": "철근·강재", "상세구분": "철근", "검색어": "이형철근 전국"},
|
||||
"이름": "철근",
|
||||
"단위": "ton",
|
||||
"수량": "철근량",
|
||||
@@ -3908,7 +3908,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "안전발판(PSP대용) 250×3000"},
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "와이어로프·클램프", "검색어": "철물 앵커용"},
|
||||
"이름": "철물",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QF000390, 구분='자재 - 철물').적용",
|
||||
@@ -4035,7 +4035,7 @@
|
||||
"호표": [
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "직포 옥상방수용직포"},
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포", "검색어": "토목용부직포"},
|
||||
"이름": "부직포",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QF000394, 구분='자재 - 부직포').적용",
|
||||
@@ -4406,7 +4406,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "접착·혼화", "검색어": "석고본드"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "접착·혼화", "검색어": "접착제 일반용"},
|
||||
"이름": "접착제",
|
||||
"단위": "kg",
|
||||
"수량": "찾기(QF000400, 구분='자재 - 접착제').적용",
|
||||
@@ -4467,7 +4467,7 @@
|
||||
"호표": [
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "접착·혼화", "검색어": "석고본드"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "접착·혼화", "검색어": "에폭시 접착제"},
|
||||
"이름": "에폭시 접착제(콘크리트용)",
|
||||
"단위": "kg",
|
||||
"수량": "찾기(QF000402, 구분='자재 - 에폭시 접착제').적용",
|
||||
@@ -4475,7 +4475,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "도료", "검색어": "목재전용도료 오일스테인"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "도료", "검색어": "에폭시계신너"},
|
||||
"이름": "시너",
|
||||
"단위": "ℓ",
|
||||
"수량": "찾기(QF000402, 구분='자재 - 시너').적용",
|
||||
@@ -4562,7 +4562,7 @@
|
||||
"호표": [
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "철근·강재", "상세구분": "형강", "검색어": "트러스 (TRUSS) SPAN:L=7.2"},
|
||||
"요소": {"구분": "교량·구조부속", "상세구분": "보강재·정착", "검색어": "다웰바 Φ32*1000"},
|
||||
"이름": "강봉(D32㎜, L=1000㎜)",
|
||||
"단위": "EA",
|
||||
"수량": "강봉수",
|
||||
@@ -4571,7 +4571,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "관·이음관", "상세구분": "PVC관", "검색어": "PVC파이프(일반관) D=30mm(VG1) 서울"},
|
||||
"요소": {"구분": "관·이음관", "상세구분": "PVC관", "검색어": "PVC파이프(일반관) D=35mm 서울"},
|
||||
"이름": "P.V.C 파이프(Ø35㎜)",
|
||||
"단위": "m",
|
||||
"수량": "파이프길이",
|
||||
@@ -4895,7 +4895,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "고철·기타금속", "검색어": "봉땜납 Sn"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "고철·기타금속", "검색어": "고철"},
|
||||
"이름": "고철대(감)",
|
||||
"단위": "kg",
|
||||
"수량": "-1000 * 찾기(QF000411, 구분='인력 - 고철대(감)').적용 / 100",
|
||||
|
||||
@@ -403,7 +403,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "시멘트·골재", "상세구분": "골재", "검색어": "모래 강모래"},
|
||||
"요소": {"구분": "시멘트·골재", "상세구분": "골재", "검색어": "잡석"},
|
||||
"이름": "잡석(채움재)",
|
||||
"단위": "㎥",
|
||||
"수량": "잡석량",
|
||||
@@ -671,6 +671,23 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000324",
|
||||
"원문번호": "13-4-6",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "13장 구조물",
|
||||
"이름": "밑돌 및 천단 돌쌓기",
|
||||
"결과단위": "원/m",
|
||||
"출처": "산림품셈 13-4-6",
|
||||
"소유": "공용",
|
||||
"비고": "돌쌓기 기초·천단에서 돌을 다듬어 면을 맞추어 쌓을 때 석공품 가산(주①②) · 높이 3m 이하(주③) · 돌쌓기 본품(13-4-1~5)에 더해 씀",
|
||||
"시험입력": { "뒷길이": 30 },
|
||||
"입력": [{ "이름": "뒷길이", "설명": "돌의 뒷길이(25 · 30 · 35 중)", "단위": "㎝", "출처": "산림품셈 13-4-6" }],
|
||||
"중간": [],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000033", "이름": "석공", "단위": "인", "수량": "찾기(QF000439, '돌의 뒷길이'=뒷길이).석공", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000223", "원문번호": "13-5-1", "구분": "산림품셈", "상세구분": "13장 구조물",
|
||||
"이름": "돌붙임(인력)",
|
||||
@@ -890,7 +907,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "시멘트·골재", "상세구분": "골재", "검색어": "모래 강모래"},
|
||||
"요소": {"구분": "시멘트·골재", "상세구분": "골재", "검색어": "잡석"},
|
||||
"이름": "잡석(채움재)",
|
||||
"단위": "㎥",
|
||||
"수량": "잡석량",
|
||||
@@ -1551,6 +1568,233 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000325",
|
||||
"원문번호": "13-10-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "13장 구조물",
|
||||
"이름": "나무 말뚝박기 — 작은 말뚝(6할 박기)",
|
||||
"결과단위": "원/개",
|
||||
"출처": "산림품셈 13-10-2 1",
|
||||
"소유": "공용",
|
||||
"비고": "인력박기 · 보통 토사질 기준 · 해석: 할증·감(산지 비탈면 30% · 연토 −20% · 자갈 +30% · 9할박기 +30%)은 더해 한 번에 곱함 · 말뚝빼기는 그 품의 70%(주④) · 머리 자르기는 본당 0.02인 더함(주②) · 소운반 별도 · 말뚝 재료 별도",
|
||||
"시험입력": { "말구": 9, "길이": 1.8, "지질": "보통 토사질", "박기": "6할박기", "작업": "박기", "머리자르기": "안 함", "산지비탈면": "아니오" },
|
||||
"입력": [
|
||||
{ "이름": "말구", "설명": "말뚝 말구 지름(6 · 7.5 · 9 · 10.5 중)", "단위": "㎝", "출처": "산림품셈 13-10-2 1" },
|
||||
{ "이름": "길이", "설명": "말뚝 길이(0.9 ~ 4.5 원문 칸 중 · 빈칸 조합 없음)", "단위": "m", "출처": "산림품셈 13-10-2 1" },
|
||||
{ "이름": "지질", "설명": "지질 상태", "고르기": ["보통 토사질", "연토", "자갈층"], "출처": "산림품셈 13-10-2 1 주①" },
|
||||
{ "이름": "박기", "설명": "관입 정도", "고르기": ["6할박기", "9할박기"], "출처": "산림품셈 13-10-2 1 주③" },
|
||||
{ "이름": "작업", "설명": "박기 또는 빼기", "고르기": ["박기", "빼기"], "출처": "산림품셈 13-10-2 1 주④" },
|
||||
{ "이름": "머리자르기", "설명": "말뚝머리 자르기", "고르기": ["안 함", "함"], "출처": "산림품셈 13-10-2 1 주②" },
|
||||
{ "이름": "산지비탈면", "설명": "산지 비탈면 시공(품 30% 할증)", "고르기": ["아니오", "예"], "출처": "산림품셈 13-10-2" }
|
||||
],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "할증",
|
||||
"식": "1 + 만약(산지비탈면 == '예', 찾기(CF000149, 구분='산지 비탈면 시공 할증').적용, 0) / 100 - 만약(지질 == '연토', 찾기(CF000149, 구분='작은 말뚝 연토 지질 감').적용, 0) / 100 + 만약(지질 == '자갈층', 찾기(CF000149, 구분='작은 말뚝 자갈층 할증').적용, 0) / 100 + 만약(박기 == '9할박기', 찾기(CF000149, 구분='작은 말뚝 9할박기 할증').적용, 0) / 100"
|
||||
},
|
||||
{ "이름": "빼기계수", "식": "만약(작업 == '빼기', 찾기(CF000149, 구분='작은 말뚝 말뚝빼기').적용 / 100, 1)" }
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000451, '말구(㎝)'=말구, '길이(m)'=길이).보통인부 * 할증 * 빼기계수", "비목": "노무비" },
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000002",
|
||||
"이름": "보통인부(말뚝머리 자르기)",
|
||||
"단위": "인",
|
||||
"수량": "만약(머리자르기 == '함', 찾기(CF000149, 구분='작은 말뚝 말뚝머리 자르기 보통인부 할증').적용, 0)",
|
||||
"비목": "노무비",
|
||||
"출처": "산림품셈 13-10-2 1 주②"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000326",
|
||||
"원문번호": "13-10-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "13장 구조물",
|
||||
"이름": "나무 말뚝박기 — 기초말뚝",
|
||||
"결과단위": "원/개",
|
||||
"출처": "산림품셈 13-10-2 2",
|
||||
"소유": "공용",
|
||||
"비고": "인력박기(주⑦) · 보통 토사질 · 9할 박기 미만 기준 · 관입률 0 = 계수 안 곱함, 0.3~0.8 = 관입률 계수(QF000453) 곱함(주⑥) · 해석: 가산·감(산지 비탈면 30% · 사항 +15% · 연토사질 −20% · 자갈질 +30% · 철근콘크리트 −30%)은 더해 한 번에 곱함 · 말뚝빼기 70%(주②) · 크기 불일치 비례 가감(주④)은 설계자 몫 · 말뚝 제작 별도",
|
||||
"시험입력": { "말구": 15, "길이": 3, "관입률": 0, "지질": "보통 토사질", "사항박기": "아니오", "말뚝재료": "나무", "작업": "박기", "산지비탈면": "아니오" },
|
||||
"입력": [
|
||||
{ "이름": "말구", "설명": "말뚝 말구 지름(12 ~ 30 · 3㎝ 간격)", "단위": "㎝", "출처": "산림품셈 13-10-2 2" },
|
||||
{ "이름": "길이", "설명": "말뚝 길이(1.5 ~ 12 원문 칸 중 · 빈칸 조합 없음)", "단위": "m", "출처": "산림품셈 13-10-2 2" },
|
||||
{ "이름": "관입률", "설명": "말뚝관입길이 ÷ 말뚝길이(0 = 계수 없음 · 0.3 ~ 0.8 · 0.1 간격)", "단위": "비", "출처": "산림품셈 13-10-2 2 주⑥" },
|
||||
{ "이름": "지질", "설명": "지질 상태", "고르기": ["보통 토사질", "연토사질", "자갈질"], "출처": "산림품셈 13-10-2 2 주③" },
|
||||
{ "이름": "사항박기", "설명": "사항(斜抗)박기", "고르기": ["아니오", "예"], "출처": "산림품셈 13-10-2 2 주①" },
|
||||
{ "이름": "말뚝재료", "설명": "말뚝 재료", "고르기": ["나무", "철근 콘크리트"], "출처": "산림품셈 13-10-2 2 주⑤" },
|
||||
{ "이름": "작업", "설명": "박기 또는 빼기", "고르기": ["박기", "빼기"], "출처": "산림품셈 13-10-2 2 주②" },
|
||||
{ "이름": "산지비탈면", "설명": "산지 비탈면 시공(품 30% 할증)", "고르기": ["아니오", "예"], "출처": "산림품셈 13-10-2" }
|
||||
],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "할증",
|
||||
"식": "1 + 만약(산지비탈면 == '예', 찾기(CF000149, 구분='산지 비탈면 시공 할증').적용, 0) / 100 + 만약(사항박기 == '예', 찾기(CF000149, 구분='기초말뚝 사항박기 가산').적용, 0) / 100 - 만약(지질 == '연토사질', 찾기(CF000149, 구분='기초말뚝 연토사질 감').적용, 0) / 100 + 만약(지질 == '자갈질', 찾기(CF000149, 구분='기초말뚝 자갈질 가산').적용, 0) / 100 - 만약(말뚝재료 == '철근 콘크리트', 찾기(CF000149, 구분='기초말뚝 철근 콘크리트 말뚝박기 감').적용, 0) / 100"
|
||||
},
|
||||
{ "이름": "빼기계수", "식": "만약(작업 == '빼기', 찾기(CF000149, 구분='기초말뚝 말뚝빼기').적용 / 100, 1)" },
|
||||
{ "이름": "관입계수", "식": "만약(관입률 == 0, 1, 찾기(QF000453, 관입률=관입률).계수)" }
|
||||
],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000452, '말구(㎝)'=말구, '길이(m)'=길이).보통인부 * 할증 * 빼기계수 * 관입계수", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000327",
|
||||
"원문번호": "13-10-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "13장 구조물",
|
||||
"이름": "나무 말뚝박기 — 윈치말뚝",
|
||||
"결과단위": "원/개",
|
||||
"출처": "산림품셈 13-10-2 3",
|
||||
"소유": "공용",
|
||||
"비고": "표는 1일당 — 개당 = 1일 품 ÷ 1일 시공개수 · 보통 토사질 · 관입 6~8할 기준 · 3~5할 박기 · 콘크리트 말뚝은 시공개수 20% 가산(주①④) · 계항은 품 50% 가산(주⑧) · 지질 가감 ±30% 이내 설계자 입력(주②) · 인부품에 말뚝머리 자르기 포함(주③) · 잡재료 = 경유비의 11%(주⑨) · 해석: 기계운전원(발동기) = 건설노임 건설기계운전사(1048) · 윈치·발동기 손료 별도(주⑦) · 전력 원동기(주⑤) · 항타시설 조립·해체(주⑥) 별도",
|
||||
"시험입력": { "말구": 15, "길이": 5, "관입": "6~8할", "말뚝재료": "나무", "계항": "아니오", "지질가감": 0, "산지비탈면": "아니오", "지역": "전국평균" },
|
||||
"입력": [
|
||||
{ "이름": "말구", "설명": "말뚝 말구 지름(8 · 9 · 12 · 15 · 18 · 21 · 24 · 27 중)", "단위": "㎝", "출처": "산림품셈 13-10-2 3" },
|
||||
{ "이름": "길이", "설명": "말뚝 길이(원문 말구별 칸 중)", "단위": "m", "출처": "산림품셈 13-10-2 3" },
|
||||
{ "이름": "관입", "설명": "관입 길이", "고르기": ["6~8할", "3~5할"], "출처": "산림품셈 13-10-2 3 주①" },
|
||||
{ "이름": "말뚝재료", "설명": "말뚝 재료", "고르기": ["나무", "콘크리트"], "출처": "산림품셈 13-10-2 3 주④" },
|
||||
{ "이름": "계항", "설명": "계항(선타항 길이 기준 품 50% 가산)", "고르기": ["아니오", "예"], "출처": "산림품셈 13-10-2 3 주⑧" },
|
||||
{ "이름": "지질가감", "설명": "지질 경연에 따른 가감(−30 ~ 30)", "단위": "%", "범위": [-30, 30], "출처": "산림품셈 13-10-2 3 주②" },
|
||||
{ "이름": "산지비탈면", "설명": "산지 비탈면 시공(품 30% 할증)", "고르기": ["아니오", "예"], "출처": "산림품셈 13-10-2" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
}
|
||||
],
|
||||
"중간": [
|
||||
{
|
||||
"이름": "개수",
|
||||
"식": "찾기(QF000454, '말구(㎝)'=말구, '길이(m)'=길이).일기당개박수 * (1 + 만약(관입 == '3~5할', 찾기(CF000149, 구분='윈치 3~5할 박기 개수 가산').적용, 0) / 100 + 만약(말뚝재료 == '콘크리트', 찾기(CF000149, 구분='윈치 콘크리트 말뚝 시공개수 가산').적용, 0) / 100)"
|
||||
},
|
||||
{
|
||||
"이름": "품계수",
|
||||
"식": "(1 + 만약(계항 == '예', 찾기(CF000149, 구분='윈치 계항 선타항 길이 품 가산').적용, 0) / 100 + 지질가감 / 100 + 만약(산지비탈면 == '예', 찾기(CF000149, 구분='산지 비탈면 시공 할증').적용, 0) / 100) / 개수"
|
||||
}
|
||||
],
|
||||
"호표": [
|
||||
{ "종류": "인력", "요소": "LB000048", "이름": "기계운전원(발동기)(건설기계운전사)", "단위": "인", "수량": "찾기(QF000454, '말구(㎝)'=말구, '길이(m)'=길이).'기계운전원(발동기)' * 품계수", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000006", "이름": "비계공", "단위": "인", "수량": "찾기(QF000454, '말구(㎝)'=말구, '길이(m)'=길이).비계공 * 품계수", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000003", "이름": "특별인부", "단위": "인", "수량": "찾기(QF000454, '말구(㎝)'=말구, '길이(m)'=길이).특별인부 * 품계수", "비목": "노무비" },
|
||||
{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000454, '말구(㎝)'=말구, '길이(m)'=길이).보통인부 * 품계수", "비목": "노무비" },
|
||||
{ "종류": "재료", "요소": "MO:경유:{지역}", "이름": "경유(발동기)", "단위": "ℓ", "수량": "찾기(QF000454, '말구(㎝)'=말구, '길이(m)'=길이).경유 * 품계수", "비목": "재료비" }
|
||||
],
|
||||
"덧줄": [{ "이름": "잡재료", "식": "재료비 * 찾기(QF000454, '말구(㎝)'=말구, '길이(m)'=길이).잡재료 / 100", "비목": "재료비", "출처": "산림품셈 13-10-2 3 주⑨" }],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000328",
|
||||
"원문번호": "13-11-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "13장 구조물",
|
||||
"이름": "원형 돌망태",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "산림품셈 13-11-1",
|
||||
"소유": "공용",
|
||||
"비고": "인력 시공 지름 45 · 50 · 55 · 60 · 기계 시공 지름 40 · 45 · 50 · 60 · 90 · 100 · 120 · 해석: 인력표 「인력(인)」 직종 없음 — 보통인부로 둠 · 인력 시공 조약돌량(㎥/㎡)은 표에 있으나 조약돌 자재품목 없어 재료 줄 뺌 · 기계 시공 재료량은 설계수량(주②) · 필터매트 설치 시 특별인부 0.09 · 보통인부 0.15인/㎡ 더함 · 돌망태 운반비 별도 · KSF 4601 공장제품",
|
||||
"시험입력": { "시공": "기계", "지름": 50, "필터매트": "설치 안 함", "지역": "전국평균", "보정작업": "해당 없음" },
|
||||
"입력": [
|
||||
{ "이름": "시공", "설명": "인력 또는 기계(굴착기) 시공", "고르기": ["인력", "기계"], "출처": "산림품셈 13-11-1" },
|
||||
{ "이름": "지름", "설명": "돌망태 지름(인력 45 · 50 · 55 · 60 · 기계 40 · 45 · 50 · 60 · 90 · 100 · 120 중)", "단위": "㎝", "출처": "산림품셈 13-11-1" },
|
||||
{ "이름": "필터매트", "설명": "필터매트(부직포) 설치", "고르기": ["설치 안 함", "설치"], "출처": "산림품셈 13-11-1" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
},
|
||||
{ "이름": "보정작업", "설명": "암석·전석 작업이면 기계손료 가산", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000003",
|
||||
"이름": "특별인부",
|
||||
"단위": "인",
|
||||
"수량": "만약(시공 == '인력', 0, 찾기(QF000456, '지름(㎝)'=지름, 공종='조립설치', 명칭='특별인부').수량) + 만약(필터매트 == '설치', 찾기(CF000150, 구분='필터매트(부직포) 설치 시 특별인부').적용, 0)",
|
||||
"비목": "노무비"
|
||||
},
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000002",
|
||||
"이름": "보통인부",
|
||||
"단위": "인",
|
||||
"수량": "만약(시공 == '인력', 찾기(QF000455, '지름(㎝)'=지름).조립설치 + 찾기(QF000455, '지름(㎝)'=지름).돌채움, 찾기(QF000456, '지름(㎝)'=지름, 공종='조립설치', 명칭='보통인부').수량) + 만약(필터매트 == '설치', 찾기(CF000150, 구분='필터매트(부직포) 설치 시 보통인부').적용, 0)",
|
||||
"비목": "노무비"
|
||||
},
|
||||
{ "종류": "인력", "요소": "LB000033", "이름": "석공", "단위": "인", "수량": "만약(시공 == '인력', 0, 찾기(QF000456, '지름(㎝)'=지름, 공종='돌채움', 명칭='석공').수량)", "비목": "노무비" },
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000267, 기계='0201-0100', 지역=지역, 보정작업=보정작업)",
|
||||
"이름": "굴착기(무한궤도) 1.0㎥",
|
||||
"단위": "시간",
|
||||
"수량": "만약(시공 == '인력', 0, 찾기(QF000456, '지름(㎝)'=지름, 공종='돌채움', 명칭='굴착기(1.0㎥)').수량)"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000329",
|
||||
"원문번호": "13-11-2",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "13장 구조물",
|
||||
"이름": "타원형 돌망태",
|
||||
"결과단위": "원/㎡",
|
||||
"출처": "산림품셈 13-11-2",
|
||||
"소유": "공용",
|
||||
"비고": "인력 시공 지름 40 · 45 · 50 · 60 · 70 · 80 · 90 · 100 · 기계 시공 지름 40 · 45 · 50 · 60 · 70 · 80 · 90 · 100 · 해석: 인력표 「인력(인)」 직종 없음 — 보통인부로 둠 · 인력 시공 조약돌량(㎥/㎡)은 표에 있으나 조약돌 자재품목 없어 재료 줄 뺌 · 기계 시공 재료량은 설계수량(주②) · 필터매트 설치 시 특별인부 0.09 · 보통인부 0.15인/㎡ 더함 · 돌망태 운반비 별도 · KSF 4601 공장제품",
|
||||
"시험입력": { "시공": "기계", "지름": 50, "필터매트": "설치 안 함", "지역": "전국평균", "보정작업": "해당 없음" },
|
||||
"입력": [
|
||||
{ "이름": "시공", "설명": "인력 또는 기계(굴착기) 시공", "고르기": ["인력", "기계"], "출처": "산림품셈 13-11-2" },
|
||||
{ "이름": "지름", "설명": "돌망태 지름(인력 40 · 45 · 50 · 60 · 70 · 80 · 90 · 100 · 기계 40 · 45 · 50 · 60 · 70 · 80 · 90 · 100 중)", "단위": "㎝", "출처": "산림품셈 13-11-2" },
|
||||
{ "이름": "필터매트", "설명": "필터매트(부직포) 설치", "고르기": ["설치 안 함", "설치"], "출처": "산림품셈 13-11-2" },
|
||||
{
|
||||
"이름": "지역",
|
||||
"설명": "기계 연료값을 고를 지역",
|
||||
"고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"],
|
||||
"출처": "건설품셈 공통 8-1-7 5"
|
||||
},
|
||||
{ "이름": "보정작업", "설명": "암석·전석 작업이면 기계손료 가산", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
|
||||
],
|
||||
"중간": [],
|
||||
"호표": [
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000003",
|
||||
"이름": "특별인부",
|
||||
"단위": "인",
|
||||
"수량": "만약(시공 == '인력', 0, 찾기(QF000458, '지름(㎝)'=지름, 공종='조립설치', 명칭='특별인부').수량) + 만약(필터매트 == '설치', 찾기(CF000151, 구분='필터매트(부직포) 설치 시 특별인부').적용, 0)",
|
||||
"비목": "노무비"
|
||||
},
|
||||
{
|
||||
"종류": "인력",
|
||||
"요소": "LB000002",
|
||||
"이름": "보통인부",
|
||||
"단위": "인",
|
||||
"수량": "만약(시공 == '인력', 찾기(QF000457, '지름(㎝)'=지름).조립설치 + 찾기(QF000457, '지름(㎝)'=지름).돌채움, 찾기(QF000458, '지름(㎝)'=지름, 공종='조립설치', 명칭='보통인부').수량) + 만약(필터매트 == '설치', 찾기(CF000151, 구분='필터매트(부직포) 설치 시 보통인부').적용, 0)",
|
||||
"비목": "노무비"
|
||||
},
|
||||
{ "종류": "인력", "요소": "LB000033", "이름": "석공", "단위": "인", "수량": "만약(시공 == '인력', 0, 찾기(QF000458, '지름(㎝)'=지름, 공종='돌채움', 명칭='석공').수량)", "비목": "노무비" },
|
||||
{
|
||||
"종류": "로직",
|
||||
"요소": "로직(GC000267, 기계='0201-0100', 지역=지역, 보정작업=보정작업)",
|
||||
"이름": "굴착기(무한궤도) 1.0㎥",
|
||||
"단위": "시간",
|
||||
"수량": "만약(시공 == '인력', 0, 찾기(QF000458, '지름(㎝)'=지름, 공종='돌채움', 명칭='굴착기(1.0㎥)').수량)"
|
||||
}
|
||||
],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000234", "원문번호": "13-11-3", "구분": "산림품셈", "상세구분": "13장 구조물",
|
||||
"이름": "매트리스형 돌망태",
|
||||
@@ -1661,7 +1905,7 @@
|
||||
"호표": [
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "돌망태·사방", "검색어": "기초사석 0.015~0.03㎥"},
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "돌망태·사방", "검색어": "사각개비온"},
|
||||
"이름": "철망태",
|
||||
"단위": "㎥",
|
||||
"수량": "찾기(QF000460, 구분='자재', 명칭='철망태').수량",
|
||||
@@ -2025,6 +2269,23 @@
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000330",
|
||||
"원문번호": "13-15-1",
|
||||
"구분": "산림품셈",
|
||||
"상세구분": "13장 구조물",
|
||||
"이름": "목재 껍질벗기기",
|
||||
"결과단위": "원/m",
|
||||
"출처": "산림품셈 13-15-1",
|
||||
"소유": "공용",
|
||||
"비고": "말구 지름별 m당 보통인부",
|
||||
"시험입력": { "말구": 12 },
|
||||
"입력": [{ "이름": "말구", "설명": "목재 말구 지름(5 · 6 · 9 · 12 · 15 · 18 · 21 · 24 · 27 · 30 중)", "단위": "㎝", "출처": "산림품셈 13-15-1" }],
|
||||
"중간": [],
|
||||
"호표": [{ "종류": "인력", "요소": "LB000002", "이름": "보통인부", "단위": "인", "수량": "찾기(QF000469, '말구(㎝)'=말구).보통인부", "비목": "노무비" }],
|
||||
"덧줄": [],
|
||||
"끝수": null
|
||||
},
|
||||
{
|
||||
"키": "GF000245", "원문번호": "13-16-1", "구분": "산림품셈", "상세구분": "13장 구조물",
|
||||
"이름": "필터매트(육상)",
|
||||
|
||||
@@ -408,7 +408,11 @@
|
||||
"① 본 품은 콘크리트믹서트럭으로 직접 타설하는 콘크리트 포장의 인력포설 기준이다.",
|
||||
"② 본 품은 비닐깔기 및 철망깔기, 콘크리트 포설, 양생 작업을 포함한다.",
|
||||
"③ 거푸집 설치 및 해체, 줄눈작업은 별도 계상한다.",
|
||||
"④ 현장 여건별 적용기준은 다음과 같다."
|
||||
"④ 현장 여건별 적용기준은 다음과 같다.",
|
||||
"※ 경운기 등 기타방법으로 콘크리트를 운반하는 경우 운반에 소요되는 비용은 별도 계상한다.",
|
||||
"⑤ 콘크리트와 노반과의 접착부 처리품(모래층 깔기 등)은 별도 계상한다. 모래 부설시 일당시공량은 보통인부 2인기준 두께 3㎝시 660㎡, 두께 6㎝시 410㎡ 이다.",
|
||||
"⑥ 공구손료 및 경장비(스크리드 등)의 기계경비는 인력품의 3%로 계상한다.",
|
||||
"⑦ 비닐, 양생재, 철망 등 재료비 및 잡재료비는 별도 계상한다."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -543,7 +547,9 @@
|
||||
"비고 - 블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우, 특별인부 1인을 감하여 적용한다.",
|
||||
"① 본 품은 규격 0.1㎡이하, 두께 8cm이하 보도용 블록의 설치 기준이다.",
|
||||
"② 본 품은 모래 부설, 모래층 다짐 및 고르기, 블록 절단 및 설치, 줄눈채움, 블록설치 후 다짐 작업을 포함한다.",
|
||||
"③ 현장 여건별 적용기준은 다음과 같다."
|
||||
"③ 현장 여건별 적용기준은 다음과 같다.",
|
||||
"④ 기층에 콘크리트나 아스팔트 등의 안정처리기층을 사용하거나, 지반침하방지가 필요한 경우 별도 계상한다.",
|
||||
"⑤ 공구손료 및 경장비(절단기 등)의 기계경비는 인력품의 5%, 블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우 2%로 계상한다."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -577,7 +583,9 @@
|
||||
"비고 - 블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우, 특별인부 1인을 감하여 적용한다.",
|
||||
"① 본 품은 규격 0.10㎡초과 0.25㎡이하, 두께 8cm이하 보도용 블록의 설치 기준이다.",
|
||||
"② 본 품은 모래 부설, 모래층 다짐 및 고르기, 블록 절단 및 설치, 줄눈채움, 블록설치 후 다짐 작업을 포함한다.",
|
||||
"③ 현장 여건별 적용기준은 다음과 같다."
|
||||
"③ 현장 여건별 적용기준은 다음과 같다.",
|
||||
"④ 기층에 콘크리트나 아스팔트 등의 안정처리기층을 사용하거나, 지반침하방지가 필요한 경우 별도 계상한다.",
|
||||
"⑤ 공구손료 및 경장비(절단기 등)의 기계경비는 인력품의 5%, 블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우 2%로 계상한다."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -687,7 +695,9 @@
|
||||
"① 본 품은 복주식, 편지식, 문형식의 도로표지 설치 기준이다.",
|
||||
"② 본 품은 형태별 지주 및 규격별 표지판 설치 작업을 포함한다.",
|
||||
"③ 기초제작 및 폐자재 운반은 별도 계상한다.",
|
||||
"④ 표지판을 추가 설치하는 경우에는 다음의 품을 적용한다."
|
||||
"④ 표지판을 추가 설치하는 경우에는 다음의 품을 적용한다.",
|
||||
"⑤ 지주설치 크레인의 규격은 다음을 기준한 것이며, 작업여건에 따라 변경할 수 있다.",
|
||||
"⑥ 공구손료 및 경장비(드릴, 발전기 등)의 기계경비는 인력품의 2%로 계상한다."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1083,7 +1093,9 @@
|
||||
"주": [
|
||||
"① 본 품은 도로포장 노면에 미끄럼방지를 위해 유색포장(열경화성 아크릴수지+규사)를 도포하는 기준이다.",
|
||||
"② 본 품은 노면 청소, 테이프 마킹 및 제거, 자재 혼합 및 도포, 요철마감 작업을 포함한다.",
|
||||
"③ 각 유형별 적용기준은 다음과 같다."
|
||||
"③ 각 유형별 적용기준은 다음과 같다.",
|
||||
"④ 트럭은 자재, 공구 및 경장비의 현장내 운반 작업에 적용한다.",
|
||||
"⑤ 공구손료 및 경장비(핸드믹서 등)의 기계경비는 인력품의 3%로 계상한다."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1116,7 +1128,9 @@
|
||||
"① 본 품은 아스팔트, 콘크리트, 보도블록 노면에 관로표시못 설치 기준이다.",
|
||||
"② 본 품은 천공, 접착제 도포, 표시못 설치 작업을 포함한다.",
|
||||
"③ 트럭은 자재, 공구 및 경장비의 현장내 운반 작업에 적용한다.",
|
||||
"④ 공사의 종류는 다음과 같이 구분한다."
|
||||
"④ 공사의 종류는 다음과 같이 구분한다.",
|
||||
"⑤ 공구손료 및 경장비(전동드릴, 발전기 등)의 기계경비는 인력품에 다음 요율을 적용한다. (A-Type 2% · B-Type 4%)",
|
||||
"⑥ 잡재료(채움모르타르 등)는 주재료비의 2%로 계상한다."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1138,7 +1152,9 @@
|
||||
"이름": "표시못 설치 요율",
|
||||
"기준": "",
|
||||
"출처": "건설품셈 토목 1-8-14",
|
||||
"용도": {"공종": "표시못 설치", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "표시못 설치", "대상": ["작업량 조건"], "로직키": [
|
||||
"GC000327"
|
||||
]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "요율": "%" },
|
||||
"줄": [
|
||||
@@ -1275,7 +1291,9 @@
|
||||
"① 본 품은 화강암 및 콘크리트 경계블록(길이 1.0m)을 설치하는 기준이다.",
|
||||
"② 본 품은 위치확인, 경계블록 절단 및 설치, 이음모르타르 바름 작업을 포함한다.",
|
||||
"③ 기초 콘크리트, 거푸집, 터파기 및 되메우기, 잔토처리는 현장 여건에 따라 별도 계상한다.",
|
||||
"④ 현장 여건별 적용기준은 다음과 같다."
|
||||
"④ 현장 여건별 적용기준은 다음과 같다.",
|
||||
"⑤ 장비의 종류 및 규격은 현장여건에 따라 변경할 수 있다.",
|
||||
"⑥ 공구손료 및 경장비(절단기 등)의 기계경비는 인력품의 2%로 계상한다."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1613,7 +1631,21 @@
|
||||
"값칸": { "값": "구분 따름", "단위": "글", "기준": "글", "가감": "글" },
|
||||
"줄": [
|
||||
{ "구분": "유도・점자블록을 설치하는 경우 시공량의 10%를 감하여 적용한다.", "값": 10, "단위": "%", "기준": "시공량", "가감": "감" },
|
||||
{ "구분": "블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우, 특별인부 1인을 감하여 적용한다.", "값": 1, "단위": "인", "기준": "특별인부", "가감": "감" }
|
||||
{ "구분": "블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우, 특별인부 1인을 감하여 적용한다.", "값": 1, "단위": "인", "기준": "특별인부", "가감": "감" },
|
||||
{
|
||||
"구분": "공구손료 및 경장비(절단기 등)의 기계경비 · 블록 정밀절단(전동절단기) 시공",
|
||||
"값": 5,
|
||||
"단위": "%",
|
||||
"기준": "인력품",
|
||||
"가감": "계상"
|
||||
},
|
||||
{
|
||||
"구분": "공구손료 및 경장비(절단기 등)의 기계경비 · 블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우",
|
||||
"값": 2,
|
||||
"단위": "%",
|
||||
"기준": "인력품",
|
||||
"가감": "계상"
|
||||
}
|
||||
],
|
||||
"주": [],
|
||||
"그룹": "계수"
|
||||
@@ -1628,7 +1660,21 @@
|
||||
"값칸": { "값": "구분 따름", "단위": "글", "기준": "글", "가감": "글" },
|
||||
"줄": [
|
||||
{ "구분": "유도・점자블록을 설치하는 경우 시공량의 10%를 감하여 적용한다.", "값": 10, "단위": "%", "기준": "시공량", "가감": "감" },
|
||||
{ "구분": "블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우, 특별인부 1인을 감하여 적용한다.", "값": 1, "단위": "인", "기준": "특별인부", "가감": "감" }
|
||||
{ "구분": "블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우, 특별인부 1인을 감하여 적용한다.", "값": 1, "단위": "인", "기준": "특별인부", "가감": "감" },
|
||||
{
|
||||
"구분": "공구손료 및 경장비(절단기 등)의 기계경비 · 블록 정밀절단(전동절단기) 시공",
|
||||
"값": 5,
|
||||
"단위": "%",
|
||||
"기준": "인력품",
|
||||
"가감": "계상"
|
||||
},
|
||||
{
|
||||
"구분": "공구손료 및 경장비(절단기 등)의 기계경비 · 블록 정밀절단(전동절단기)에 의한 시공이 아닌 경우",
|
||||
"값": 2,
|
||||
"단위": "%",
|
||||
"기준": "인력품",
|
||||
"가감": "계상"
|
||||
}
|
||||
],
|
||||
"주": [],
|
||||
"그룹": "계수"
|
||||
@@ -1862,7 +1908,9 @@
|
||||
"이름": "차선도색 융착식 도료 수동식 계수 주⑤",
|
||||
"기준": "",
|
||||
"출처": "건설품셈 토목 1-8-9 주⑤",
|
||||
"용도": {"공종": "차선도색", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "차선도색", "대상": ["작업량 조건"], "로직키": [
|
||||
"GC000319"
|
||||
]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "값": "구분 따름", "단위": "글", "기준": "글" },
|
||||
"줄": [
|
||||
@@ -1876,7 +1924,9 @@
|
||||
"이름": "차선도색 융착식 도료 수동식 계수 주⑥",
|
||||
"기준": "",
|
||||
"출처": "건설품셈 토목 1-8-9 주⑥",
|
||||
"용도": {"공종": "차선도색", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "차선도색", "대상": ["작업량 조건"], "로직키": [
|
||||
"GC000319"
|
||||
]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "값": "구분 따름", "단위": "글", "기준": "글" },
|
||||
"줄": [
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"특별인부": "인",
|
||||
"보통인부": "인",
|
||||
"커터(320-400㎜)": "대",
|
||||
"동력분무기(4.85㎾)": "수"
|
||||
"동력분무기(4.85㎾)": "대"
|
||||
},
|
||||
"줄": [
|
||||
{
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"이름": "콘크리트구조물 헐기(인력)",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 3-1-1",
|
||||
"용도": {"공종": "콘크리트구조물 헐기", "대상": ["인력", "작업량 조건", "재료"], "로직키": []},
|
||||
"용도": {"공종": "콘크리트구조물 헐기", "대상": ["인력", "작업량 조건", "재료"], "로직키": ["GC001104"]},
|
||||
"조건": { "철근유무": "고르기" },
|
||||
"값칸": { "착암공": "인", "보통인부": "인", "소형브레이커(1.5kW)": "대", "시공량": "㎥" },
|
||||
"줄": [
|
||||
@@ -31,7 +31,7 @@
|
||||
"이름": "콘크리트구조물 헐기(기계)",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 3-1-2",
|
||||
"용도": {"공종": "콘크리트구조물 헐기", "대상": ["기계", "인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "콘크리트구조물 헐기", "대상": ["기계", "인력", "작업량 조건"], "로직키": ["GC001105"]},
|
||||
"조건": { "장애물": "고르기" },
|
||||
"값칸": { "용접공": "인", "특별인부": "인", "보통인부": "인", "굴착기+압쇄기(1.0㎥)": "대", "굴착기(0.6㎥)": "대", "시공량": "㎥" },
|
||||
"줄": [
|
||||
@@ -55,7 +55,7 @@
|
||||
"이름": "콘크리트구조물 헐기(기계) 장애물 제거 재료량(㎥당)",
|
||||
"기준": "㎥당",
|
||||
"출처": "건설품셈 유지관리 3-1-2",
|
||||
"용도": {"공종": "콘크리트구조물 헐기", "대상": ["작업량 조건", "재료"], "로직키": []},
|
||||
"용도": {"공종": "콘크리트구조물 헐기", "대상": ["작업량 조건", "재료"], "로직키": ["GC001105"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "단위": "글", "수량": "수" },
|
||||
"줄": [
|
||||
@@ -69,7 +69,7 @@
|
||||
"이름": "철골재 철거(인력)",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 3-1-3",
|
||||
"용도": {"공종": "철골재 철거", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "철골재 철거", "대상": ["인력", "작업량 조건"], "로직키": ["GC001106"]},
|
||||
"조건": {},
|
||||
"값칸": { "용접공": "인", "보통인부": "인", "시공량": "ton" },
|
||||
"줄": [ { "용접공": 3, "보통인부": 2, "시공량": 1.4 } ],
|
||||
@@ -85,7 +85,7 @@
|
||||
"이름": "철골재 철거(인력) 재료량(ton당)",
|
||||
"기준": "ton당",
|
||||
"출처": "건설품셈 유지관리 3-1-3",
|
||||
"용도": {"공종": "철골재 철거", "대상": ["작업량 조건", "재료"], "로직키": []},
|
||||
"용도": {"공종": "철골재 철거", "대상": ["작업량 조건", "재료"], "로직키": ["GC001106"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "단위": "글", "수량": "수" },
|
||||
"줄": [
|
||||
@@ -103,7 +103,7 @@
|
||||
"이름": "철골재 철거(기계)",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 3-1-4",
|
||||
"용도": {"공종": "철골재 철거", "대상": ["기계", "인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "철골재 철거", "대상": ["기계", "인력", "작업량 조건"], "로직키": ["GC001107"]},
|
||||
"조건": {},
|
||||
"값칸": { "특별인부": "인", "보통인부": "인", "굴착기+빔커터기(1.0㎥)": "대", "굴착기(1.0㎥)": "대", "크레인": "대", "시공량": "ton" },
|
||||
"줄": [ { "특별인부": 2, "보통인부": 1, "굴착기+빔커터기(1.0㎥)": 1, "굴착기(1.0㎥)": 1, "크레인": 1, "시공량": 22 } ],
|
||||
@@ -122,7 +122,7 @@
|
||||
"이름": "석축 헐기(인력)",
|
||||
"기준": "정의별",
|
||||
"출처": "건설품셈 유지관리 3-1-5",
|
||||
"용도": {"공종": "석축 헐기", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "석축 헐기", "대상": ["인력", "작업량 조건"], "로직키": ["GC001108"]},
|
||||
"조건": { "공종": "고르기" },
|
||||
"값칸": { "기준": "글", "할석공": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -144,7 +144,7 @@
|
||||
"이름": "금속기와 해체",
|
||||
"기준": "㎡당",
|
||||
"출처": "건설품셈 유지관리 3-2-1",
|
||||
"용도": {"공종": "금속기와 해체", "대상": ["인력"], "로직키": []},
|
||||
"용도": {"공종": "금속기와 해체", "대상": ["인력"], "로직키": ["GC001109"]},
|
||||
"조건": {},
|
||||
"값칸": { "지붕잇기공": "인", "보통인부": "인" },
|
||||
"줄": [ { "지붕잇기공": 0.018, "보통인부": 0.012 } ],
|
||||
@@ -161,7 +161,7 @@
|
||||
"이름": "흡음텍스 해체",
|
||||
"기준": "㎡당",
|
||||
"출처": "건설품셈 유지관리 3-2-2",
|
||||
"용도": {"공종": "흡음텍스 해체", "대상": ["인력"], "로직키": []},
|
||||
"용도": {"공종": "흡음텍스 해체", "대상": ["인력"], "로직키": ["GC001110"]},
|
||||
"조건": {},
|
||||
"값칸": { "내장공": "인", "보통인부": "인" },
|
||||
"줄": [ { "내장공": 0.016, "보통인부": 0.011 } ],
|
||||
@@ -176,7 +176,7 @@
|
||||
"이름": "경량천장철골틀 해체",
|
||||
"기준": "㎡당",
|
||||
"출처": "건설품셈 유지관리 3-2-3",
|
||||
"용도": {"공종": "경량천장철골틀 해체", "대상": ["인력"], "로직키": []},
|
||||
"용도": {"공종": "경량천장철골틀 해체", "대상": ["인력"], "로직키": ["GC001111"]},
|
||||
"조건": {},
|
||||
"값칸": { "내장공": "인", "보통인부": "인" },
|
||||
"줄": [ { "내장공": 0.018, "보통인부": 0.012 } ],
|
||||
@@ -193,7 +193,7 @@
|
||||
"이름": "조적벽 해체",
|
||||
"기준": "㎥당",
|
||||
"출처": "건설품셈 유지관리 3-2-4",
|
||||
"용도": {"공종": "조적벽 해체", "대상": ["인력"], "로직키": []},
|
||||
"용도": {"공종": "조적벽 해체", "대상": ["인력"], "로직키": ["GC001112"]},
|
||||
"조건": {},
|
||||
"값칸": { "조적공": "인", "보통인부": "인" },
|
||||
"줄": [ { "조적공": 0.380, "보통인부": 0.252 } ],
|
||||
@@ -210,7 +210,7 @@
|
||||
"이름": "경량벽체철골틀 해체",
|
||||
"기준": "㎡당",
|
||||
"출처": "건설품셈 유지관리 3-2-5",
|
||||
"용도": {"공종": "경량벽체철골틀 해체", "대상": ["인력"], "로직키": []},
|
||||
"용도": {"공종": "경량벽체철골틀 해체", "대상": ["인력"], "로직키": ["GC001113"]},
|
||||
"조건": {},
|
||||
"값칸": { "내장공": "인", "보통인부": "인" },
|
||||
"줄": [ { "내장공": 0.016, "보통인부": 0.011 } ],
|
||||
@@ -227,7 +227,7 @@
|
||||
"이름": "석고판 해체",
|
||||
"기준": "㎡당",
|
||||
"출처": "건설품셈 유지관리 3-2-6",
|
||||
"용도": {"공종": "석고판 해체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "석고판 해체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001114"]},
|
||||
"조건": { "부위": "고르기" },
|
||||
"값칸": { "내장공": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -246,7 +246,7 @@
|
||||
"이름": "도배 해체",
|
||||
"기준": "㎡당",
|
||||
"출처": "건설품셈 유지관리 3-2-7",
|
||||
"용도": {"공종": "도배 해체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "도배 해체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001115"]},
|
||||
"조건": { "부위": "고르기" },
|
||||
"값칸": { "도배공": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -265,7 +265,7 @@
|
||||
"이름": "PVC계바닥재 해체",
|
||||
"기준": "㎡당",
|
||||
"출처": "건설품셈 유지관리 3-2-8",
|
||||
"용도": {"공종": "PVC계바닥재 해체", "대상": ["인력"], "로직키": []},
|
||||
"용도": {"공종": "PVC계바닥재 해체", "대상": ["인력"], "로직키": ["GC001116"]},
|
||||
"조건": {},
|
||||
"값칸": { "내장공": "인", "보통인부": "인" },
|
||||
"줄": [ { "내장공": 0.006, "보통인부": 0.004 } ],
|
||||
@@ -280,7 +280,7 @@
|
||||
"이름": "타일 해체",
|
||||
"기준": "㎡당",
|
||||
"출처": "건설품셈 유지관리 3-2-9",
|
||||
"용도": {"공종": "타일 해체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "타일 해체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001117"]},
|
||||
"조건": { "공법": "고르기" },
|
||||
"값칸": { "타일공": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -300,7 +300,7 @@
|
||||
"이름": "기존방수층 및 보호층 철거",
|
||||
"기준": "㎡당",
|
||||
"출처": "건설품셈 유지관리 3-2-10",
|
||||
"용도": {"공종": "기존방수층 및 보호층 철거", "대상": ["기계", "인력"], "로직키": []},
|
||||
"용도": {"공종": "기존방수층 및 보호층 철거", "대상": ["기계", "인력"], "로직키": ["GC001118"]},
|
||||
"조건": {},
|
||||
"값칸": { "착암공": "인", "보통인부": "인", "소형브레이커(1.3㎥/min)": "시간", "공기압축기(3.5㎥/min)": "시간" },
|
||||
"줄": [ { "착암공": 0.06, "보통인부": 0.22, "소형브레이커(1.3㎥/min)": 0.10, "공기압축기(3.5㎥/min)": 0.05 } ],
|
||||
@@ -316,7 +316,7 @@
|
||||
"이름": "기존방수층 제거 및 바탕처리",
|
||||
"기준": "㎡당",
|
||||
"출처": "건설품셈 유지관리 3-2-11",
|
||||
"용도": {"공종": "기존방수층 제거 및 바탕처리", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "기존방수층 제거 및 바탕처리", "대상": ["인력", "작업량 조건"], "로직키": ["GC001119"]},
|
||||
"조건": { "부위": "고르기" },
|
||||
"값칸": { "방수공": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -335,7 +335,7 @@
|
||||
"이름": "석면건축자재 해체",
|
||||
"기준": "㎡당",
|
||||
"출처": "건설품셈 유지관리 3-2-12",
|
||||
"용도": {"공종": "석면건축자재 해체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "석면건축자재 해체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001120"]},
|
||||
"조건": { "부위": "고르기" },
|
||||
"값칸": { "석면해체공": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -360,7 +360,7 @@
|
||||
"이름": "재도장 시 바탕처리(콘크리트·모르타르면)",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 3-3-1",
|
||||
"용도": {"공종": "재도장 시 바탕처리", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "재도장 시 바탕처리", "대상": ["인력", "작업량 조건"], "로직키": ["GC001121"]},
|
||||
"조건": {},
|
||||
"값칸": { "도장공": "인", "보통인부": "인", "시공량": "㎡" },
|
||||
"줄": [ { "도장공": 2, "보통인부": 1, "시공량": 230 } ],
|
||||
@@ -375,7 +375,7 @@
|
||||
"이름": "재도장 시 바탕처리(철재면)",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 3-3-2",
|
||||
"용도": {"공종": "재도장 시 바탕처리", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "재도장 시 바탕처리", "대상": ["인력", "작업량 조건"], "로직키": ["GC001122"]},
|
||||
"조건": { "등급": "고르기" },
|
||||
"값칸": { "도장공": "인", "보통인부": "인", "시공량": "㎡" },
|
||||
"줄": [
|
||||
@@ -394,7 +394,7 @@
|
||||
"이름": "재도장 시 바탕처리(철재면) 대상면 적용기준",
|
||||
"기준": "정의",
|
||||
"출처": "건설품셈 유지관리 3-3-2",
|
||||
"용도": {"공종": "재도장 시 바탕처리", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "재도장 시 바탕처리", "대상": ["작업량 조건"], "로직키": ["GC001122"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용기준": "글" },
|
||||
"줄": [
|
||||
@@ -408,7 +408,7 @@
|
||||
"이름": "재도장 시 바탕처리(목재면)",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 3-3-3",
|
||||
"용도": {"공종": "재도장 시 바탕처리", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "재도장 시 바탕처리", "대상": ["인력", "작업량 조건"], "로직키": ["GC001123"]},
|
||||
"조건": { "등급": "고르기" },
|
||||
"값칸": { "도장공": "인", "보통인부": "인", "시공량": "㎡" },
|
||||
"줄": [
|
||||
@@ -427,7 +427,7 @@
|
||||
"이름": "재도장 시 바탕처리(목재면) 대상면 적용기준",
|
||||
"기준": "정의",
|
||||
"출처": "건설품셈 유지관리 3-3-3",
|
||||
"용도": {"공종": "재도장 시 바탕처리", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "재도장 시 바탕처리", "대상": ["작업량 조건"], "로직키": ["GC001123"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "적용기준": "글" },
|
||||
"줄": [
|
||||
@@ -441,7 +441,7 @@
|
||||
"이름": "지붕 덧씌우기",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 3-4-1",
|
||||
"용도": {"공종": "지붕 덧씌우기", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "지붕 덧씌우기", "대상": ["인력", "작업량 조건"], "로직키": ["GC001124"]},
|
||||
"조건": {},
|
||||
"값칸": { "지붕잇기공": "인", "보통인부": "인", "시공량": "㎡" },
|
||||
"줄": [ { "지붕잇기공": 4, "보통인부": 2, "시공량": 85 } ],
|
||||
@@ -459,7 +459,7 @@
|
||||
"이름": "지붕 재설치",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 3-4-2",
|
||||
"용도": {"공종": "지붕 재설치", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "지붕 재설치", "대상": ["인력", "작업량 조건"], "로직키": ["GC001125"]},
|
||||
"조건": {},
|
||||
"값칸": { "지붕잇기공": "인", "보통인부": "인", "시공량": "㎡" },
|
||||
"줄": [ { "지붕잇기공": 6, "보통인부": 2, "시공량": 50 } ],
|
||||
@@ -478,7 +478,7 @@
|
||||
"이름": "도배 교체",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 3-4-3",
|
||||
"용도": {"공종": "도배 교체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "도배 교체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001126"]},
|
||||
"조건": { "부위": "고르기" },
|
||||
"값칸": { "내장공": "인", "시공량": "㎡" },
|
||||
"줄": [
|
||||
@@ -497,7 +497,7 @@
|
||||
"이름": "PVC계바닥재 교체",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 3-4-4",
|
||||
"용도": {"공종": "PVC계바닥재 교체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "PVC계바닥재 교체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001127"]},
|
||||
"조건": {},
|
||||
"값칸": { "내장공": "인", "시공량": "㎡" },
|
||||
"줄": [ { "내장공": 2, "시공량": 61 } ],
|
||||
@@ -513,7 +513,7 @@
|
||||
"이름": "타일 교체",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 3-4-5",
|
||||
"용도": {"공종": "타일 교체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "타일 교체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001128"]},
|
||||
"조건": { "공법": "고르기" },
|
||||
"값칸": { "타일공": "인", "시공량": "㎡" },
|
||||
"줄": [
|
||||
|
||||
@@ -439,7 +439,15 @@
|
||||
"이름": "소모자재 요율",
|
||||
"기준": "",
|
||||
"출처": "건설품셈 공통 3-3-6 주⑨",
|
||||
"용도": {"공종": "암발파", "대상": ["작업량 조건"], "로직키": ["GC000098"]},
|
||||
"용도": {"공종": "암발파", "대상": ["작업량 조건"], "로직키": [
|
||||
"GC000098",
|
||||
"GC000091",
|
||||
"GC000092",
|
||||
"GC000093",
|
||||
"GC000094",
|
||||
"GC000095",
|
||||
"GC000096"
|
||||
]},
|
||||
"조건": { "장비": "고르기" },
|
||||
"값칸": { "요율": "%" },
|
||||
"줄": [
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"이름": "배관 해체",
|
||||
"기준": "m당",
|
||||
"출처": "건설품셈 유지관리 4-1-1",
|
||||
"용도": {"공종": "배관 해체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "배관 해체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001129"]},
|
||||
"조건": { "관종": "고르기", "규격(㎜)": "고르기" },
|
||||
"값칸": { "배관공": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -59,7 +59,7 @@
|
||||
"이름": "각형덕트 해체",
|
||||
"기준": "㎡당",
|
||||
"출처": "건설품셈 유지관리 4-1-2",
|
||||
"용도": {"공종": "각형덕트 해체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "각형덕트 해체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001130"]},
|
||||
"조건": { "호칭두께(mm)": "고르기" },
|
||||
"값칸": { "덕트공": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -83,7 +83,7 @@
|
||||
"이름": "스파이럴덕트 해체",
|
||||
"기준": "m당",
|
||||
"출처": "건설품셈 유지관리 4-1-3",
|
||||
"용도": {"공종": "스파이럴덕트 해체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "스파이럴덕트 해체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001131"]},
|
||||
"조건": { "철판두께(㎜)": "고르기", "규격(㎜)": "고르기" },
|
||||
"값칸": { "덕트공": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -115,7 +115,7 @@
|
||||
"이름": "배관보온 해체",
|
||||
"기준": "m당",
|
||||
"출처": "건설품셈 유지관리 4-1-4",
|
||||
"용도": {"공종": "배관보온 해체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "배관보온 해체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001132"]},
|
||||
"조건": { "보온재종류": "고르기", "규격(㎜)": "고르기" },
|
||||
"값칸": { "보온공": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -173,7 +173,7 @@
|
||||
"이름": "덕트보온 해체",
|
||||
"기준": "㎡당",
|
||||
"출처": "건설품셈 유지관리 4-1-5",
|
||||
"용도": {"공종": "덕트보온 해체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "덕트보온 해체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001133"]},
|
||||
"조건": { "보온재종류": "고르기" },
|
||||
"값칸": { "보온공": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -191,7 +191,7 @@
|
||||
"이름": "펌프 해체",
|
||||
"기준": "대당",
|
||||
"출처": "건설품셈 유지관리 4-1-6",
|
||||
"용도": {"공종": "펌프 해체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "펌프 해체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001134"]},
|
||||
"조건": { "규격(kW)": "고르기" },
|
||||
"값칸": { "기계설비공": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -278,7 +278,7 @@
|
||||
"이름": "유량계 교체",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 4-3-1",
|
||||
"용도": {"공종": "유량계 교체", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "유량계 교체", "대상": ["인력", "작업량 조건"], "로직키": ["GC001135"]},
|
||||
"조건": { "규격(mm)": "고르기" },
|
||||
"값칸": { "배관공": "인", "보통인부": "인", "시공량(보호통)": "개", "시공량(유량계)": "개" },
|
||||
"줄": [
|
||||
@@ -302,7 +302,7 @@
|
||||
"이름": "관갱생공",
|
||||
"기준": "m당",
|
||||
"출처": "건설품셈 유지관리 4-3-2",
|
||||
"용도": {"공종": "관갱생공", "대상": ["인력", "작업량 조건", "재료"], "로직키": []},
|
||||
"용도": {"공종": "관갱생공", "대상": ["인력", "작업량 조건", "재료"], "로직키": ["GC001136"]},
|
||||
"조건": { "규격(㎜)": "고르기" },
|
||||
"값칸": { "규사": "㎏", "에폭시도료": "㎏", "배관공": "인", "특별인부": "인", "장비사용시간": "시간" },
|
||||
"줄": [
|
||||
@@ -337,7 +337,7 @@
|
||||
"이름": "관갱생공 장비조합",
|
||||
"기준": "정의",
|
||||
"출처": "건설품셈 유지관리 4-3-2",
|
||||
"용도": {"공종": "관갱생공", "대상": ["기계", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "관갱생공", "대상": ["기계", "작업량 조건"], "로직키": ["GC001136"]},
|
||||
"조건": { "규격(㎜)범위": "고르기" },
|
||||
"값칸": { "라이닝기": "글", "공기압축기": "대" },
|
||||
"줄": [
|
||||
@@ -353,7 +353,7 @@
|
||||
"이름": "배관누수 검사",
|
||||
"기준": "일당",
|
||||
"출처": "건설품셈 유지관리 4-3-3",
|
||||
"용도": {"공종": "배관누수 검사", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "배관누수 검사", "대상": ["인력", "작업량 조건"], "로직키": ["GC001137"]},
|
||||
"조건": {},
|
||||
"값칸": { "배관공": "인", "시공량": "회" },
|
||||
"줄": [ { "배관공": 2, "시공량": 2.8 } ],
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
{
|
||||
"구분": "희석재",
|
||||
"단위": "ℓ",
|
||||
"사용량": 25,
|
||||
"사용량": "도료 사용량 × 25 / 100",
|
||||
"사용량원문": "도료 사용량의 25%"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -714,7 +714,8 @@
|
||||
"주": [
|
||||
"① 본 품은 PC관의 부설 및 소켓식 접합 기준이다.",
|
||||
"② 본 품은 관부설, 윤활제 바르기, 고무링 삽입 및 소켓연결, 위치 및 구배 확인, 관로표시테이프 부설, 현장정리 작업을 포함한다.",
|
||||
"③ 크레인 규격은 다음을 참고하여 적용하며, 현장조건(작업범위, 위치 등)에 따라 변경할 수 있다."
|
||||
"③ 크레인 규격은 다음을 참고하여 적용하며, 현장조건(작업범위, 위치 등)에 따라 변경할 수 있다.",
|
||||
"④ 공구손료 및 잡재료는 인력품의 1%로 계상한다."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -818,7 +819,8 @@
|
||||
"주": [
|
||||
"① 본 품은 유리섬유복합관(6m)을 소켓 접합하는 기준이다.",
|
||||
"② 본 품은 관부설, 이물질 제거, 윤활제 도포, 접합장치 설치 및 삽입, 위치 및 구배 확인, 관로표시테이프 부설 작업을 포함한다.",
|
||||
"③ 크레인 규격은 다음을 참고하여 적용하며, 현장조건(작업범위, 위치 등)에 따라 변경할 수 있다."
|
||||
"③ 크레인 규격은 다음을 참고하여 적용하며, 현장조건(작업범위, 위치 등)에 따라 변경할 수 있다.",
|
||||
"④ 공구손료 및 잡재료는 인력품의 1%로 계상한다."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1133,7 +1135,8 @@
|
||||
"① 본 품은 주철제 게이트밸브의 부설 및 플랜지 접합하는 기준이다.",
|
||||
"② 본 품은 밸브 조립 및 부설, 이음관 접합(플랜지) 작업을 포함한다.",
|
||||
"③ 신축관의 접합 및 제수변실 설치는 별도 계상한다.",
|
||||
"④ 크레인 규격은 다음을 참고하여 적용하며, 현장조건(작업범위, 위치 등)에 따라 변경할 수 있다."
|
||||
"④ 크레인 규격은 다음을 참고하여 적용하며, 현장조건(작업범위, 위치 등)에 따라 변경할 수 있다.",
|
||||
"⑤ 공구손료 및 잡재료는 인력품의 2%로 계상한다."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1178,7 +1181,8 @@
|
||||
"① 본 품은 강관제 게이트 제수밸브의 부설 및 플랜지 접합하는 기준이다.",
|
||||
"② 본 품은 밸브 조립 및 부설, 이음관 접합(플랜지) 작업을 포함한다.",
|
||||
"③ 신축관의 접합 및 제수변실 설치는 별도 계상한다.",
|
||||
"④ 크레인 규격은 다음을 참고하여 적용하며, 현장조건(작업범위, 위치 등)에 따라 변경할 수 있다."
|
||||
"④ 크레인 규격은 다음을 참고하여 적용하며, 현장조건(작업범위, 위치 등)에 따라 변경할 수 있다.",
|
||||
"⑤ 공구손료 및 잡재료는 인력품의 2%로 계상한다."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1284,7 +1288,8 @@
|
||||
"② 본 품의 관경은 본관을 기준한 것이다.",
|
||||
"③ 천공작업, 터파기, 되메우기, 잔토처리, 물푸기 작업은 제외되어 있다.",
|
||||
"④ 본 품은 누수방지대 부설 및 접합에 적용이 가능하다.",
|
||||
"⑤ 본 품의 크레인 규격은 다음을 참고하여 적용한다."
|
||||
"⑤ 본 품의 크레인 규격은 다음을 참고하여 적용한다.",
|
||||
"⑥ 공구손료 및 잡재료는 인력품의 2%로 계상한다."
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -175,9 +175,9 @@
|
||||
"이름": "석재판 붙임 — 앵커 긴결공법(일당)",
|
||||
"기준": "일당 — 편성 1조 기준",
|
||||
"출처": "건설품셈 공통 7-4-2",
|
||||
"용도": {"공종": "앵커 긴결공법", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "앵커 긴결공법", "대상": ["인력", "작업량 조건"], "로직키": ["GC001138"]},
|
||||
"조건": { "면적": "범위" },
|
||||
"범위규칙": "아래 값 초과 ~ 위 값 이하(아래 값이 없으면 위 값 이하)",
|
||||
"범위규칙": "초과·이하 · 아래 값 초과 ~ 위 값 이하(아래 값이 없으면 위 값 이하)",
|
||||
"값칸": { "석공": "인", "줄눈공": "인", "보통인부": "인", "시공량": "㎡" },
|
||||
"줄": [
|
||||
{ "면적": [null, 0.3], "석공": 3, "줄눈공": 1, "보통인부": 2, "시공량": 10 },
|
||||
@@ -194,9 +194,9 @@
|
||||
"이름": "석재판 붙임 — 강제트러스 지지공법(일당)",
|
||||
"기준": "일당 — 편성 1조 기준",
|
||||
"출처": "건설품셈 공통 7-4-3",
|
||||
"용도": {"공종": "강제트러스 지지공법", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "강제트러스 지지공법", "대상": ["인력", "작업량 조건"], "로직키": ["GC001139"]},
|
||||
"조건": { "공정": "고르기", "면적": "범위" },
|
||||
"범위규칙": "아래 값 초과 ~ 위 값 이하(아래 값이 없으면 위 값 이하)",
|
||||
"범위규칙": "초과·이하 · 아래 값 초과 ~ 위 값 이하(아래 값이 없으면 위 값 이하)",
|
||||
"값칸": { "용접공": "인", "철공": "인", "석공": "인", "줄눈공": "인", "보통인부": "인", "시공량": "㎡" },
|
||||
"줄": [
|
||||
{ "공정": "하지철물 설치", "면적": [null, 0.3], "용접공": 2, "철공": 1, "시공량": 11 },
|
||||
|
||||
@@ -302,7 +302,7 @@
|
||||
{ "명칭": "덕트계통 (공조,환기 배연)", "적용": "풍량조정댐퍼, 방화댐퍼의 조정, 풍량, 풍속, 소음의 측정, 필요개소의 온습도 측정", "항목": "비고", "수량": "각형덕트", "단위": "㎡" },
|
||||
{ "명칭": "덕트계통 (공조,환기 배연)", "적용": "풍량조정댐퍼, 방화댐퍼의 조정, 풍량, 풍속, 소음의 측정, 필요개소의 온습도 측정", "항목": "덕트공", "수량": 0.012, "단위": "m" },
|
||||
{ "명칭": "덕트계통 (공조,환기 배연)", "적용": "풍량조정댐퍼, 방화댐퍼의 조정, 풍량, 풍속, 소음의 측정, 필요개소의 온습도 측정", "항목": "비고", "수량": "스파이럴덕트", "단위": "m" },
|
||||
{ "명칭": "주기계 실내기기", "적용": "보일러, 냉동기 등의 점검, 조정, 계기측정 기록 기타 건물 연면적", "항목": "비고", "수량": "( )는 온풍난방의 경우", "단위": "m" },
|
||||
{ "명칭": "주기계 실내기기", "적용": "보일러, 냉동기 등의 점검, 조정, 계기측정 기록 기타 건물 연면적", "항목": "비고", "수량": "( )는 온풍난방의 경우", "단위": "" },
|
||||
{ "명칭": "주기계 실내기기", "적용": "5,000㎡이하", "항목": "배관공", "수량": "8.0(4.0)", "단위": "1식" },
|
||||
{ "명칭": "주기계 실내기기", "적용": "6,000∼15,000㎡", "항목": "배관공", "수량": "12.0(6.0)", "단위": "1식" },
|
||||
{ "명칭": "주기계 실내기기", "적용": "16,000∼30,000㎡", "항목": "배관공", "수량": "16.0(8.0)", "단위": "1식" },
|
||||
|
||||
@@ -1078,7 +1078,7 @@
|
||||
{
|
||||
"키": "QC001616", "원문번호": "13-1-2", "구분": "건설품셈 기계설비", "상세구분": "13장 플랜트설비공사",
|
||||
"이름": "관만곡(Pipe Bending) 설치 표3",
|
||||
"기준": "",
|
||||
"기준": "개당",
|
||||
"출처": "건설품셈 기계설비 13-1-2",
|
||||
"용도": {"공종": "관만곡(Pipe Bending) 설치", "대상": ["작업량 조건"], "로직키": ["GC000876"]},
|
||||
"조건": { "구분": "고르기", "구경(㎜)": "수" },
|
||||
@@ -3149,62 +3149,62 @@
|
||||
"값칸": { "수량": "", "용접공": "", "특별인부": "" },
|
||||
"줄": [
|
||||
{ "두께(㎜)": 5, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 0.27 },
|
||||
{ "두께(㎜)": 5, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 0.30 },
|
||||
{ "두께(㎜)": 5, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 0.3 },
|
||||
{ "두께(㎜)": 5, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 0.33 },
|
||||
{ "두께(㎜)": 5, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 0.35 },
|
||||
{ "두께(㎜)": 5, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 1.90 },
|
||||
{ "두께(㎜)": 5, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 2.20 },
|
||||
{ "두께(㎜)": 5, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 2.30 },
|
||||
{ "두께(㎜)": 5, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 2.50 },
|
||||
{ "두께(㎜)": 5, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.010, "특별인부": 0.002 },
|
||||
{ "두께(㎜)": 5, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.020, "특별인부": 0.006 },
|
||||
{ "두께(㎜)": 5, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 1.9 },
|
||||
{ "두께(㎜)": 5, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 2.2 },
|
||||
{ "두께(㎜)": 5, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 2.3 },
|
||||
{ "두께(㎜)": 5, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 2.5 },
|
||||
{ "두께(㎜)": 5, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.01, "특별인부": 0.002 },
|
||||
{ "두께(㎜)": 5, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.02, "특별인부": 0.006 },
|
||||
{ "두께(㎜)": 5, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.027, "특별인부": 0.008 },
|
||||
{ "두께(㎜)": 5, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.031, "특별인부": 0.009 },
|
||||
{ "두께(㎜)": 6, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 0.33 },
|
||||
{ "두께(㎜)": 6, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 0.40 },
|
||||
{ "두께(㎜)": 6, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 0.4 },
|
||||
{ "두께(㎜)": 6, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 0.42 },
|
||||
{ "두께(㎜)": 6, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 0.43 },
|
||||
{ "두께(㎜)": 6, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 2.25 },
|
||||
{ "두께(㎜)": 6, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 2.65 },
|
||||
{ "두께(㎜)": 6, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 2.75 },
|
||||
{ "두께(㎜)": 6, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 2.90 },
|
||||
{ "두께(㎜)": 6, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 2.9 },
|
||||
{ "두께(㎜)": 6, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.014, "특별인부": 0.004 },
|
||||
{ "두께(㎜)": 6, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.026, "특별인부": 0.008 },
|
||||
{ "두께(㎜)": 6, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.032, "특별인부": 0.009 },
|
||||
{ "두께(㎜)": 6, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.036, "특별인부": 0.011 },
|
||||
{ "두께(㎜)": 7, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 0.40 },
|
||||
{ "두께(㎜)": 7, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 0.50 },
|
||||
{ "두께(㎜)": 7, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 0.4 },
|
||||
{ "두께(㎜)": 7, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 0.5 },
|
||||
{ "두께(㎜)": 7, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 0.53 },
|
||||
{ "두께(㎜)": 7, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 0.55 },
|
||||
{ "두께(㎜)": 7, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 2.60 },
|
||||
{ "두께(㎜)": 7, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 3.10 },
|
||||
{ "두께(㎜)": 7, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 2.6 },
|
||||
{ "두께(㎜)": 7, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 3.1 },
|
||||
{ "두께(㎜)": 7, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 3.25 },
|
||||
{ "두께(㎜)": 7, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 3.50 },
|
||||
{ "두께(㎜)": 7, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 3.5 },
|
||||
{ "두께(㎜)": 7, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.021, "특별인부": 0.006 },
|
||||
{ "두께(㎜)": 7, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.031, "특별인부": 0.009 },
|
||||
{ "두께(㎜)": 7, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.038, "특별인부": 0.011 },
|
||||
{ "두께(㎜)": 7, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.042, "특별인부": 0.013 },
|
||||
{ "두께(㎜)": 8, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 0.49 },
|
||||
{ "두께(㎜)": 8, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 0.60 },
|
||||
{ "두께(㎜)": 8, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 0.6 },
|
||||
{ "두께(㎜)": 8, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 0.61 },
|
||||
{ "두께(㎜)": 8, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 0.62 },
|
||||
{ "두께(㎜)": 8, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 3.25 },
|
||||
{ "두께(㎜)": 8, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 3.75 },
|
||||
{ "두께(㎜)": 8, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 4.00 },
|
||||
{ "두께(㎜)": 8, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 4.0 },
|
||||
{ "두께(㎜)": 8, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 4.25 },
|
||||
{ "두께(㎜)": 8, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.027, "특별인부": 0.008 },
|
||||
{ "두께(㎜)": 8, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.040, "특별인부": 0.012 },
|
||||
{ "두께(㎜)": 8, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.04, "특별인부": 0.012 },
|
||||
{ "두께(㎜)": 8, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.048, "특별인부": 0.012 },
|
||||
{ "두께(㎜)": 8, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.052, "특별인부": 0.016 },
|
||||
{ "두께(㎜)": 9, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 0.68 },
|
||||
{ "두께(㎜)": 9, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 0.80 },
|
||||
{ "두께(㎜)": 9, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 0.8 },
|
||||
{ "두께(㎜)": 9, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 0.82 },
|
||||
{ "두께(㎜)": 9, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 0.83 },
|
||||
{ "두께(㎜)": 9, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 3.80 },
|
||||
{ "두께(㎜)": 9, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 4.50 },
|
||||
{ "두께(㎜)": 9, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 3.8 },
|
||||
{ "두께(㎜)": 9, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 4.5 },
|
||||
{ "두께(㎜)": 9, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 4.75 },
|
||||
{ "두께(㎜)": 9, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 5.10 },
|
||||
{ "두께(㎜)": 9, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.033, "특별인부": 0.010 },
|
||||
{ "두께(㎜)": 9, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 5.1 },
|
||||
{ "두께(㎜)": 9, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.033, "특별인부": 0.01 },
|
||||
{ "두께(㎜)": 9, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.052, "특별인부": 0.015 },
|
||||
{ "두께(㎜)": 9, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.056, "특별인부": 0.017 },
|
||||
{ "두께(㎜)": 9, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.063, "특별인부": 0.019 },
|
||||
@@ -3212,10 +3212,10 @@
|
||||
{ "두께(㎜)": 10, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 1.0 },
|
||||
{ "두께(㎜)": 10, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 1.01 },
|
||||
{ "두께(㎜)": 10, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 1.01 },
|
||||
{ "두께(㎜)": 10, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 4.70 },
|
||||
{ "두께(㎜)": 10, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 4.7 },
|
||||
{ "두께(㎜)": 10, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 5.25 },
|
||||
{ "두께(㎜)": 10, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 5.70 },
|
||||
{ "두께(㎜)": 10, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 6.10 },
|
||||
{ "두께(㎜)": 10, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 5.7 },
|
||||
{ "두께(㎜)": 10, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 6.1 },
|
||||
{ "두께(㎜)": 10, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.048, "특별인부": 0.013 },
|
||||
{ "두께(㎜)": 10, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.062, "특별인부": 0.017 },
|
||||
{ "두께(㎜)": 10, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.069, "특별인부": 0.021 },
|
||||
@@ -3223,107 +3223,107 @@
|
||||
{ "두께(㎜)": 11, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 0.95 },
|
||||
{ "두께(㎜)": 11, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 1.15 },
|
||||
{ "두께(㎜)": 11, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 1.18 },
|
||||
{ "두께(㎜)": 11, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 1.20 },
|
||||
{ "두께(㎜)": 11, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 5.50 },
|
||||
{ "두께(㎜)": 11, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 6.20 },
|
||||
{ "두께(㎜)": 11, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 6.70 },
|
||||
{ "두께(㎜)": 11, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 7.10 },
|
||||
{ "두께(㎜)": 11, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 1.2 },
|
||||
{ "두께(㎜)": 11, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 5.5 },
|
||||
{ "두께(㎜)": 11, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 6.2 },
|
||||
{ "두께(㎜)": 11, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 6.7 },
|
||||
{ "두께(㎜)": 11, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 7.1 },
|
||||
{ "두께(㎜)": 11, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.057, "특별인부": 0.015 },
|
||||
{ "두께(㎜)": 11, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.071, "특별인부": 0.021 },
|
||||
{ "두께(㎜)": 11, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.079, "특별인부": 0.024 },
|
||||
{ "두께(㎜)": 11, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.083, "특별인부": 0.025 },
|
||||
{ "두께(㎜)": 12, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 1.09 },
|
||||
{ "두께(㎜)": 12, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 1.30 },
|
||||
{ "두께(㎜)": 12, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 1.3 },
|
||||
{ "두께(㎜)": 12, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 1.33 },
|
||||
{ "두께(㎜)": 12, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 1.35 },
|
||||
{ "두께(㎜)": 12, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 6.40 },
|
||||
{ "두께(㎜)": 12, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 7.10 },
|
||||
{ "두께(㎜)": 12, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 6.4 },
|
||||
{ "두께(㎜)": 12, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 7.1 },
|
||||
{ "두께(㎜)": 12, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 7.75 },
|
||||
{ "두께(㎜)": 12, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 8.20 },
|
||||
{ "두께(㎜)": 12, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 8.2 },
|
||||
{ "두께(㎜)": 12, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.066, "특별인부": 0.017 },
|
||||
{ "두께(㎜)": 12, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.081, "특별인부": 0.024 },
|
||||
{ "두께(㎜)": 12, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.092, "특별인부": 0.028 },
|
||||
{ "두께(㎜)": 12, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.096, "특별인부": 0.029 },
|
||||
{ "두께(㎜)": 13, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 1.26 },
|
||||
{ "두께(㎜)": 13, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 1.50 },
|
||||
{ "두께(㎜)": 13, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 1.5 },
|
||||
{ "두께(㎜)": 13, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 1.55 },
|
||||
{ "두께(㎜)": 13, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 1.58 },
|
||||
{ "두께(㎜)": 13, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 7.25 },
|
||||
{ "두께(㎜)": 13, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 8.10 },
|
||||
{ "두께(㎜)": 13, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 8.80 },
|
||||
{ "두께(㎜)": 13, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 9.30 },
|
||||
{ "두께(㎜)": 13, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.075, "특별인부": 0.020 },
|
||||
{ "두께(㎜)": 13, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 8.1 },
|
||||
{ "두께(㎜)": 13, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 8.8 },
|
||||
{ "두께(㎜)": 13, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 9.3 },
|
||||
{ "두께(㎜)": 13, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.075, "특별인부": 0.02 },
|
||||
{ "두께(㎜)": 13, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.092, "특별인부": 0.028 },
|
||||
{ "두께(㎜)": 13, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.104, "특별인부": 0.031 },
|
||||
{ "두께(㎜)": 13, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.110, "특별인부": 0.033 },
|
||||
{ "두께(㎜)": 13, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.11, "특별인부": 0.033 },
|
||||
{ "두께(㎜)": 14, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 1.45 },
|
||||
{ "두께(㎜)": 14, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 1.70 },
|
||||
{ "두께(㎜)": 14, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 1.7 },
|
||||
{ "두께(㎜)": 14, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 1.73 },
|
||||
{ "두께(㎜)": 14, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 1.75 },
|
||||
{ "두께(㎜)": 14, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 8.20 },
|
||||
{ "두께(㎜)": 14, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 9.10 },
|
||||
{ "두께(㎜)": 14, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 10.00 },
|
||||
{ "두께(㎜)": 14, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 10.30 },
|
||||
{ "두께(㎜)": 14, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 8.2 },
|
||||
{ "두께(㎜)": 14, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 9.1 },
|
||||
{ "두께(㎜)": 14, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 10.0 },
|
||||
{ "두께(㎜)": 14, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 10.3 },
|
||||
{ "두께(㎜)": 14, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.083, "특별인부": 0.023 },
|
||||
{ "두께(㎜)": 14, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.110, "특별인부": 0.031 },
|
||||
{ "두께(㎜)": 14, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.11, "특별인부": 0.031 },
|
||||
{ "두께(㎜)": 14, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.119, "특별인부": 0.034 },
|
||||
{ "두께(㎜)": 14, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.125, "특별인부": 0.038 },
|
||||
{ "두께(㎜)": 15, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 1.64 },
|
||||
{ "두께(㎜)": 15, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 1.90 },
|
||||
{ "두께(㎜)": 15, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 1.9 },
|
||||
{ "두께(㎜)": 15, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 1.94 },
|
||||
{ "두께(㎜)": 15, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 1.96 },
|
||||
{ "두께(㎜)": 15, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 9.20 },
|
||||
{ "두께(㎜)": 15, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 9.2 },
|
||||
{ "두께(㎜)": 15, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 10.25 },
|
||||
{ "두께(㎜)": 15, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 11.10 },
|
||||
{ "두께(㎜)": 15, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 11.70 },
|
||||
{ "두께(㎜)": 15, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 11.1 },
|
||||
{ "두께(㎜)": 15, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 11.7 },
|
||||
{ "두께(㎜)": 15, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.089, "특별인부": 0.026 },
|
||||
{ "두께(㎜)": 15, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.128, "특별인부": 0.036 },
|
||||
{ "두께(㎜)": 15, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.135, "특별인부": 0.041 },
|
||||
{ "두께(㎜)": 15, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.142, "특별인부": 0.043 },
|
||||
{ "두께(㎜)": 16, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 1.90 },
|
||||
{ "두께(㎜)": 16, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 2.20 },
|
||||
{ "두께(㎜)": 16, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 1.9 },
|
||||
{ "두께(㎜)": 16, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 2.2 },
|
||||
{ "두께(㎜)": 16, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 2.25 },
|
||||
{ "두께(㎜)": 16, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 2.29 },
|
||||
{ "두께(㎜)": 16, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 10.50 },
|
||||
{ "두께(㎜)": 16, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 11.50 },
|
||||
{ "두께(㎜)": 16, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 12.50 },
|
||||
{ "두께(㎜)": 16, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 13.00 },
|
||||
{ "두께(㎜)": 16, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 10.5 },
|
||||
{ "두께(㎜)": 16, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 11.5 },
|
||||
{ "두께(㎜)": 16, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 12.5 },
|
||||
{ "두께(㎜)": 16, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 13.0 },
|
||||
{ "두께(㎜)": 16, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.096, "특별인부": 0.029 },
|
||||
{ "두께(㎜)": 16, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.138, "특별인부": 0.039 },
|
||||
{ "두께(㎜)": 16, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.150, "특별인부": 0.045 },
|
||||
{ "두께(㎜)": 16, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.160, "특별인부": 0.048 },
|
||||
{ "두께(㎜)": 17, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 2.20 },
|
||||
{ "두께(㎜)": 17, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 2.50 },
|
||||
{ "두께(㎜)": 16, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.15, "특별인부": 0.045 },
|
||||
{ "두께(㎜)": 16, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.16, "특별인부": 0.048 },
|
||||
{ "두께(㎜)": 17, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 2.2 },
|
||||
{ "두께(㎜)": 17, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 2.5 },
|
||||
{ "두께(㎜)": 17, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 2.56 },
|
||||
{ "두께(㎜)": 17, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 2.60 },
|
||||
{ "두께(㎜)": 17, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 11.50 },
|
||||
{ "두께(㎜)": 17, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 12.50 },
|
||||
{ "두께(㎜)": 17, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 16.00 },
|
||||
{ "두께(㎜)": 17, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 14.50 },
|
||||
{ "두께(㎜)": 17, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 2.6 },
|
||||
{ "두께(㎜)": 17, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 11.5 },
|
||||
{ "두께(㎜)": 17, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 12.5 },
|
||||
{ "두께(㎜)": 17, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 16.0 },
|
||||
{ "두께(㎜)": 17, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 14.5 },
|
||||
{ "두께(㎜)": 17, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.108, "특별인부": 0.032 },
|
||||
{ "두께(㎜)": 17, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.150, "특별인부": 0.044 },
|
||||
{ "두께(㎜)": 17, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.160, "특별인부": 0.051 },
|
||||
{ "두께(㎜)": 17, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.15, "특별인부": 0.044 },
|
||||
{ "두께(㎜)": 17, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.16, "특별인부": 0.051 },
|
||||
{ "두께(㎜)": 17, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.175, "특별인부": 0.053 },
|
||||
{ "두께(㎜)": 18, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 2.49 },
|
||||
{ "두께(㎜)": 18, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 2.80 },
|
||||
{ "두께(㎜)": 18, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 2.8 },
|
||||
{ "두께(㎜)": 18, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 2.88 },
|
||||
{ "두께(㎜)": 18, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 2.93 },
|
||||
{ "두께(㎜)": 18, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 13.75 },
|
||||
{ "두께(㎜)": 18, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 16.00 },
|
||||
{ "두께(㎜)": 18, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 16.30 },
|
||||
{ "두께(㎜)": 18, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 17.00 },
|
||||
{ "두께(㎜)": 18, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.110, "특별인부": 0.035 },
|
||||
{ "두께(㎜)": 18, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 16.0 },
|
||||
{ "두께(㎜)": 18, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 16.3 },
|
||||
{ "두께(㎜)": 18, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 17.0 },
|
||||
{ "두께(㎜)": 18, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.11, "특별인부": 0.035 },
|
||||
{ "두께(㎜)": 18, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.163, "특별인부": 0.049 },
|
||||
{ "두께(㎜)": 18, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.190, "특별인부": 0.057 },
|
||||
{ "두께(㎜)": 18, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.19, "특별인부": 0.057 },
|
||||
{ "두께(㎜)": 18, "구분": "인력(인)", "자세 및 직종": "입향", "용접공": 0.196, "특별인부": 0.059 },
|
||||
{ "두께(㎜)": 19, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 2.80 },
|
||||
{ "두께(㎜)": 19, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 3.10 },
|
||||
{ "두께(㎜)": 19, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 3.20 },
|
||||
{ "두께(㎜)": 19, "구분": "용접봉소비량(㎏)", "자세 및 직종": "하향", "수량": 2.8 },
|
||||
{ "두께(㎜)": 19, "구분": "용접봉소비량(㎏)", "자세 및 직종": "횡향", "수량": 3.1 },
|
||||
{ "두께(㎜)": 19, "구분": "용접봉소비량(㎏)", "자세 및 직종": "상향", "수량": 3.2 },
|
||||
{ "두께(㎜)": 19, "구분": "용접봉소비량(㎏)", "자세 및 직종": "입향", "수량": 3.27 },
|
||||
{ "두께(㎜)": 19, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 15.50 },
|
||||
{ "두께(㎜)": 19, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 16.80 },
|
||||
{ "두께(㎜)": 19, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 17.20 },
|
||||
{ "두께(㎜)": 19, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 19.00 },
|
||||
{ "두께(㎜)": 19, "구분": "소요전력(㎾h)", "자세 및 직종": "하향", "수량": 15.5 },
|
||||
{ "두께(㎜)": 19, "구분": "소요전력(㎾h)", "자세 및 직종": "횡향", "수량": 16.8 },
|
||||
{ "두께(㎜)": 19, "구분": "소요전력(㎾h)", "자세 및 직종": "상향", "수량": 17.2 },
|
||||
{ "두께(㎜)": 19, "구분": "소요전력(㎾h)", "자세 및 직종": "입향", "수량": 19.0 },
|
||||
{ "두께(㎜)": 19, "구분": "인력(인)", "자세 및 직종": "하향", "용접공": 0.129, "특별인부": 0.039 },
|
||||
{ "두께(㎜)": 19, "구분": "인력(인)", "자세 및 직종": "횡향", "용접공": 0.175, "특별인부": 0.053 },
|
||||
{ "두께(㎜)": 19, "구분": "인력(인)", "자세 및 직종": "상향", "용접공": 0.204, "특별인부": 0.061 },
|
||||
@@ -3377,7 +3377,9 @@
|
||||
{ "Carbon Rod": "9.5ø×305m/m", "구분": "DC", "항목": "사용전압", "수량": 330, "단위": "A" },
|
||||
{ "Carbon Rod": "9.5ø×305m/m", "구분": "DC", "항목": "전압", "수량": 40, "단위": "V" }
|
||||
],
|
||||
"주": []
|
||||
"주": [
|
||||
"∘ 적용범위 : 강판 주강 Stainless철판, 경합금, 황동주철물 등의 Gouging 및 절단 등."
|
||||
]
|
||||
},
|
||||
{
|
||||
"키": "QC001644", "원문번호": "13-2-5", "구분": "건설품셈 기계설비", "상세구분": "13장 플랜트설비공사",
|
||||
@@ -3462,7 +3464,9 @@
|
||||
"② 예열품은 합금강의 재질에 따른 할증을 하지 않는다.",
|
||||
"③ 예열작업을 위한 비계설치비용 등은 별도 계상한다.",
|
||||
"④ Gas Heating의 경우 개소당 0.125인을 적용한다.",
|
||||
"⑤ 예열온도는 다음과 같다."
|
||||
"⑤ 예열온도는 다음과 같다.",
|
||||
"◦ 탄소강관은 예열이 필요 없으나 외기온도가 5℃이하에서는 손으로 따뜻함을 느낄 정도로 예열해야 함.",
|
||||
"◦ 가열속도는 Pipe내부와 외부의 온도차가 80℃를 초과하지 못하게 서서히 가열함."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -4724,7 +4728,9 @@
|
||||
{ "품명": "시너", "용량별": "7,000", "수량": 60, "단위": "ℓ" },
|
||||
{ "품명": "시너", "용량별": "10,000(㎥)", "수량": 73, "단위": "ℓ" }
|
||||
],
|
||||
"주": []
|
||||
"주": [
|
||||
"※ 산소량은 대기압상태의 기준량이며, 압축산소는 35℃에서 150기압으로 압축용기에 넣어 사용하는 것을 기준한다."
|
||||
]
|
||||
},
|
||||
{
|
||||
"키": "QC001667",
|
||||
@@ -4912,8 +4918,8 @@
|
||||
{ "작업구분": "Casing 설치 성형된 casing을 운반, 조양 alignment 후 설치", "항목": "윈치운전조", "수량": 1.01, "단위": "조/ton" },
|
||||
{ "작업구분": "Casing 설치 성형된 casing을 운반, 조양 alignment 후 설치", "항목": "비계공", "수량": 2.87, "단위": "인/ton" },
|
||||
{ "작업구분": "Casing 설치 성형된 casing을 운반, 조양 alignment 후 설치", "항목": "특별인부", "수량": 1.33, "단위": "인/ton" },
|
||||
{ "작업구분": "본용접 Preheating, 본용접, annealing 작업", "항목": "수량", "수량": "※각 tube size에 대하여 용접항을 참조 산출", "단위": "인/ton" },
|
||||
{ "작업구분": "검사 및 교정 외관검사, 수압시험후 casing leak test 교정 작업(비파괴 시험은 제외)", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 모든 품의 10%", "단위": "인/ton" }
|
||||
{ "작업구분": "본용접 Preheating, 본용접, annealing 작업", "항목": "수량", "수량": "※각 tube size에 대하여 용접항을 참조 산출", "단위": "" },
|
||||
{ "작업구분": "검사 및 교정 외관검사, 수압시험후 casing leak test 교정 작업(비파괴 시험은 제외)", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 모든 품의 10%", "단위": "" }
|
||||
],
|
||||
"주": [
|
||||
"50만㎾이상 보일러설치에 있어서 Tube Panel Header류 및 Buckstay 조립조정은 다음을 참고하여 적용할 수 있다."
|
||||
@@ -5232,7 +5238,7 @@
|
||||
{ "작업구분": "drum internal조양 및 조립설치(internal 무게 ton당)", "구분": "200", "항목": "도장공", "수량": 1.2, "단위": "인/ton" },
|
||||
{ "작업구분": "drum internal조양 및 조립설치(internal 무게 ton당)", "구분": "250", "항목": "도장공", "수량": 1.2, "단위": "인/ton" },
|
||||
{ "작업구분": "drum internal조양 및 조립설치(internal 무게 ton당)", "구분": "300(ton)", "항목": "도장공", "수량": 1.2, "단위": "인/ton" },
|
||||
{ "작업구분": "검사 및 교정", "항목": "수량", "수량": "기술관리, 포장해체, 작업토의를 제외한 10%", "단위": "인/ton" }
|
||||
{ "작업구분": "검사 및 교정", "항목": "수량", "수량": "기술관리, 포장해체, 작업토의를 제외한 10%", "단위": "" }
|
||||
],
|
||||
"주": []
|
||||
},
|
||||
@@ -5304,7 +5310,7 @@
|
||||
{ "작업구분": "DUCT 설치 성형된 duct를 운반조양 alignment후 bolting 및 hangering", "항목": "특별인부", "수량": 1.33, "단위": "인/ton" },
|
||||
{ "작업구분": "DUCT 설치 성형된 duct를 운반조양 alignment후 bolting 및 hangering", "항목": "플랜트용접공", "수량": 0.66, "단위": "인/ton" },
|
||||
{ "작업구분": "DUCT 설치 성형된 duct를 운반조양 alignment후 bolting 및 hangering", "항목": "플랜트제관공", "수량": 0.56, "단위": "인/ton" },
|
||||
{ "작업구분": "검사 및 교정 외관검사 및 Leak test", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 모든 품의 10%", "단위": "인/ton" }
|
||||
{ "작업구분": "검사 및 교정 외관검사 및 Leak test", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 모든 품의 10%", "단위": "" }
|
||||
],
|
||||
"주": []
|
||||
},
|
||||
@@ -5349,7 +5355,7 @@
|
||||
{ "작업구분": "Heating Element 삽입 Hot busket, Interbusker, Cold busket의 삽입", "항목": "특별인부", "수량": 0.84, "단위": "인/ton" },
|
||||
{ "작업구분": "Sealing Plate 및 Packing ring 조립 설치", "항목": "플랜트기계설치공", "수량": 13.6, "단위": "인/ton" },
|
||||
{ "작업구분": "Sealing Plate 및 Packing ring 조립 설치", "항목": "특별인부", "수량": 2.9, "단위": "인/ton" },
|
||||
{ "작업구분": "검사 및 교정", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 모든 품의 10%", "단위": "인/ton" }
|
||||
{ "작업구분": "검사 및 교정", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 모든 품의 10%", "단위": "" }
|
||||
],
|
||||
"주": []
|
||||
},
|
||||
@@ -6203,7 +6209,7 @@
|
||||
{ "작업구분": "Foundation 침하 측정 (공사기간 중)", "용량별": "300", "항목": "측량사", "수량": 0.25, "단위": "인/일" },
|
||||
{ "작업구분": "Foundation 침하 측정 (공사기간 중)", "용량별": "350", "항목": "측량사", "수량": 0.25, "단위": "인/일" },
|
||||
{ "작업구분": "Foundation 침하 측정 (공사기간 중)", "용량별": "500 (MW)", "항목": "측량사", "수량": 0.25, "단위": "인/일" },
|
||||
{ "작업구분": "검사 및 교정", "항목": "수량", "수량": "포장해체, 기술관리를 제외한 모든 품의 10%", "단위": "인/일" }
|
||||
{ "작업구분": "검사 및 교정", "항목": "수량", "수량": "포장해체, 기술관리를 제외한 모든 품의 10%", "단위": "" }
|
||||
],
|
||||
"주": [
|
||||
"① Turbine 부대기기, oil tank cooler, 윤활유 정화장치 등의 설치품은 일반 보조기기 품을 적용하여 별도 계상한다.",
|
||||
@@ -6543,7 +6549,7 @@
|
||||
{ "작업구분": "Hydrogen cooler 설치", "용량별": "300", "항목": "건설기계운전조", "수량": 4.9, "단위": "조/대" },
|
||||
{ "작업구분": "Hydrogen cooler 설치", "용량별": "350", "항목": "건설기계운전조", "수량": 5.6, "단위": "조/대" },
|
||||
{ "작업구분": "Hydrogen cooler 설치", "용량별": "500 (MW)", "항목": "건설기계운전조", "수량": 7.6, "단위": "조/대" },
|
||||
{ "작업구분": "검사 및 교정 Gas leak test 포함", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 품의 10%", "단위": "조/대" }
|
||||
{ "작업구분": "검사 및 교정 Gas leak test 포함", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 품의 10%", "단위": "" }
|
||||
],
|
||||
"주": [
|
||||
"부대기기 및 부대배관 작업의 품은 별도 계상한다."
|
||||
@@ -6595,7 +6601,7 @@
|
||||
{ "작업구분": "Tube 삽입 설치 Tube sheet support Plate 소재 tube 삽입, Tube expanding 작업", "항목": "플랜트기계설치공", "수량": 0.0332, "단위": "인/개" },
|
||||
{ "작업구분": "Tube 삽입 설치 Tube sheet support Plate 소재 tube 삽입, Tube expanding 작업", "항목": "특별인부", "수량": 0.0629, "단위": "인/개" },
|
||||
{ "작업구분": "Tube 삽입 설치 Tube sheet support Plate 소재 tube 삽입, Tube expanding 작업", "항목": "Crane운전조", "수량": 0.0029, "단위": "조/개" },
|
||||
{ "작업구분": "Condenser 내부소재 Leak test 교정", "항목": "수량", "수량": "기술관리 포장해체를 제외한 품의 15%", "단위": "조/개" }
|
||||
{ "작업구분": "Condenser 내부소재 Leak test 교정", "항목": "수량", "수량": "기술관리 포장해체를 제외한 품의 15%", "단위": "" }
|
||||
],
|
||||
"주": []
|
||||
},
|
||||
@@ -6714,17 +6720,17 @@
|
||||
"값칸": { "목공": "", "플랜트기계설치공": "", "인력운반공": "", "특별인부": "", "계": "" },
|
||||
"줄": [
|
||||
{ "직종 용량(㎥/hr)": "50이하", "목공": 0.04, "플랜트기계설치공": 0.89, "인력운반공": 5.16, "특별인부": 3.86, "계": 9.95 },
|
||||
{ "직종 용량(㎥/hr)": "51∼100", "목공": 0.06, "플랜트기계설치공": 1.10, "인력운반공": 6.04, "특별인부": 5.73, "계": 12.93 },
|
||||
{ "직종 용량(㎥/hr)": "101∼200", "목공": 0.10, "플랜트기계설치공": 1.62, "인력운반공": 8.47, "특별인부": 7.19, "계": 17.38 },
|
||||
{ "직종 용량(㎥/hr)": "51∼100", "목공": 0.06, "플랜트기계설치공": 1.1, "인력운반공": 6.04, "특별인부": 5.73, "계": 12.93 },
|
||||
{ "직종 용량(㎥/hr)": "101∼200", "목공": 0.1, "플랜트기계설치공": 1.62, "인력운반공": 8.47, "특별인부": 7.19, "계": 17.38 },
|
||||
{ "직종 용량(㎥/hr)": "201∼300", "목공": 0.15, "플랜트기계설치공": 2.67, "인력운반공": 10.13, "특별인부": 10.69, "계": 23.64 },
|
||||
{ "직종 용량(㎥/hr)": "301∼400", "목공": 0.19, "플랜트기계설치공": 3.19, "인력운반공": 13.60, "특별인부": 12.75, "계": 29.73 },
|
||||
{ "직종 용량(㎥/hr)": "401∼500", "목공": 0.22, "플랜트기계설치공": 3.87, "인력운반공": 16.50, "특별인부": 15.56, "계": 36.15 },
|
||||
{ "직종 용량(㎥/hr)": "501∼600", "목공": 0.27, "플랜트기계설치공": 4.66, "인력운반공": 19.30, "특별인부": 18.27, "계": 42.50 },
|
||||
{ "직종 용량(㎥/hr)": "601∼700", "목공": 0.31, "플랜트기계설치공": 6.55, "인력운반공": 20.00, "특별인부": 20.72, "계": 47.58 },
|
||||
{ "직종 용량(㎥/hr)": "701∼800", "목공": 0.34, "플랜트기계설치공": 8.56, "인력운반공": 20.60, "특별인부": 22.95, "계": 52.45 },
|
||||
{ "직종 용량(㎥/hr)": "801∼900", "목공": 0.37, "플랜트기계설치공": 10.53, "인력운반공": 20.90, "특별인부": 25.10, "계": 56.90 },
|
||||
{ "직종 용량(㎥/hr)": "901∼1,000", "목공": 0.39, "플랜트기계설치공": 11.94, "인력운반공": 21.50, "특별인부": 26.72, "계": 60.55 },
|
||||
{ "직종 용량(㎥/hr)": "1,001∼2,000", "목공": 0.56, "플랜트기계설치공": 18.64, "인력운반공": 22.30, "특별인부": 42.0, "계": 83.50 }
|
||||
{ "직종 용량(㎥/hr)": "301∼400", "목공": 0.19, "플랜트기계설치공": 3.19, "인력운반공": 13.6, "특별인부": 12.75, "계": 29.73 },
|
||||
{ "직종 용량(㎥/hr)": "401∼500", "목공": 0.22, "플랜트기계설치공": 3.87, "인력운반공": 16.5, "특별인부": 15.56, "계": 36.15 },
|
||||
{ "직종 용량(㎥/hr)": "501∼600", "목공": 0.27, "플랜트기계설치공": 4.66, "인력운반공": 19.3, "특별인부": 18.27, "계": 42.5 },
|
||||
{ "직종 용량(㎥/hr)": "601∼700", "목공": 0.31, "플랜트기계설치공": 6.55, "인력운반공": 20.0, "특별인부": 20.72, "계": 47.58 },
|
||||
{ "직종 용량(㎥/hr)": "701∼800", "목공": 0.34, "플랜트기계설치공": 8.56, "인력운반공": 20.6, "특별인부": 22.95, "계": 52.45 },
|
||||
{ "직종 용량(㎥/hr)": "801∼900", "목공": 0.37, "플랜트기계설치공": 10.53, "인력운반공": 20.9, "특별인부": 25.1, "계": 56.9 },
|
||||
{ "직종 용량(㎥/hr)": "901∼1,000", "목공": 0.39, "플랜트기계설치공": 11.94, "인력운반공": 21.5, "특별인부": 26.72, "계": 60.55 },
|
||||
{ "직종 용량(㎥/hr)": "1,001∼2,000", "목공": 0.56, "플랜트기계설치공": 18.64, "인력운반공": 22.3, "특별인부": 42.0, "계": 83.5 }
|
||||
],
|
||||
"주": [
|
||||
"① 본 품은 조립된 Pump를 설치하는 품이다.",
|
||||
@@ -6823,21 +6829,21 @@
|
||||
{ "직종 무게(ton)": "0.5이하", "목공": 0.03, "플랜트기계설치공": 0.52, "비계공": 0.06, "건설기계운전 (조/대)": 0.19, "특별인부": 2.12, "계": 2.92 },
|
||||
{ "직종 무게(ton)": "0.51∼1.0", "목공": 0.05, "플랜트기계설치공": 0.78, "비계공": 0.08, "건설기계운전 (조/대)": 0.28, "특별인부": 3.16, "계": 4.35 },
|
||||
{ "직종 무게(ton)": "1.01∼2.0", "목공": 0.08, "플랜트기계설치공": 1.04, "비계공": 0.11, "건설기계운전 (조/대)": 0.38, "특별인부": 4.92, "계": 6.53 },
|
||||
{ "직종 무게(ton)": "2.01∼3.0", "목공": 0.10, "플랜트기계설치공": 1.41, "비계공": 0.15, "건설기계운전 (조/대)": 0.51, "특별인부": 6.08, "계": 8.25 },
|
||||
{ "직종 무게(ton)": "2.01∼3.0", "목공": 0.1, "플랜트기계설치공": 1.41, "비계공": 0.15, "건설기계운전 (조/대)": 0.51, "특별인부": 6.08, "계": 8.25 },
|
||||
{ "직종 무게(ton)": "3.01∼4.0", "목공": 0.12, "플랜트기계설치공": 1.78, "비계공": 0.19, "건설기계운전 (조/대)": 0.64, "특별인부": 8.33, "계": 11.06 },
|
||||
{ "직종 무게(ton)": "4.01∼5.0", "목공": 0.13, "플랜트기계설치공": 2.13, "비계공": 0.23, "건설기계운전 (조/대)": 0.78, "특별인부": 9.91, "계": 13.00 },
|
||||
{ "직종 무게(ton)": "4.01∼5.0", "목공": 0.13, "플랜트기계설치공": 2.13, "비계공": 0.23, "건설기계운전 (조/대)": 0.78, "특별인부": 9.91, "계": 13.0 },
|
||||
{ "직종 무게(ton)": "5.01∼6.0", "목공": 0.15, "플랜트기계설치공": 2.46, "비계공": 0.27, "건설기계운전 (조/대)": 0.89, "특별인부": 11.52, "계": 15.29 },
|
||||
{ "직종 무게(ton)": "6.01∼7.0", "목공": 0.17, "플랜트기계설치공": 2.76, "비계공": 0.31, "건설기계운전 (조/대)": 1.00, "특별인부": 12.86, "계": 17.10 },
|
||||
{ "직종 무게(ton)": "7.01∼8.0", "목공": 0.19, "플랜트기계설치공": 3.08, "비계공": 0.60, "건설기계운전 (조/대)": 1.13, "특별인부": 14.15, "계": 19.15 },
|
||||
{ "직종 무게(ton)": "6.01∼7.0", "목공": 0.17, "플랜트기계설치공": 2.76, "비계공": 0.31, "건설기계운전 (조/대)": 1.0, "특별인부": 12.86, "계": 17.1 },
|
||||
{ "직종 무게(ton)": "7.01∼8.0", "목공": 0.19, "플랜트기계설치공": 3.08, "비계공": 0.6, "건설기계운전 (조/대)": 1.13, "특별인부": 14.15, "계": 19.15 },
|
||||
{ "직종 무게(ton)": "8.01∼9.0", "목공": 0.21, "플랜트기계설치공": 3.18, "비계공": 1.15, "건설기계운전 (조/대)": 1.24, "특별인부": 15.39, "계": 21.17 },
|
||||
{ "직종 무게(ton)": "9.01∼10.0", "목공": 0.23, "플랜트기계설치공": 3.28, "비계공": 1.65, "건설기계운전 (조/대)": 1.35, "특별인부": 16.65, "계": 23.16 },
|
||||
{ "직종 무게(ton)": "10.1∼15.0", "목공": 0.45, "플랜트기계설치공": 3.45, "비계공": 8.62, "건설기계운전 (조/대)": 2.19, "특별인부": 17.41, "계": 30.12 },
|
||||
{ "직종 무게(ton)": "15.1∼20.0", "목공": 0.56, "플랜트기계설치공": 4.27, "비계공": 10.70, "건설기계운전 (조/대)": 2.71, "특별인부": 19.21, "계": 37.45 },
|
||||
{ "직종 무게(ton)": "20.1∼25.0", "목공": 0.65, "플랜트기계설치공": 4.98, "비계공": 12.50, "건설기계운전 (조/대)": 3.15, "특별인부": 22.65, "계": 43.94 },
|
||||
{ "직종 무게(ton)": "15.1∼20.0", "목공": 0.56, "플랜트기계설치공": 4.27, "비계공": 10.7, "건설기계운전 (조/대)": 2.71, "특별인부": 19.21, "계": 37.45 },
|
||||
{ "직종 무게(ton)": "20.1∼25.0", "목공": 0.65, "플랜트기계설치공": 4.98, "비계공": 12.5, "건설기계운전 (조/대)": 3.15, "특별인부": 22.65, "계": 43.94 },
|
||||
{ "직종 무게(ton)": "25.1∼30.0", "목공": 0.73, "플랜트기계설치공": 5.62, "비계공": 14.15, "건설기계운전 (조/대)": 3.52, "특별인부": 25.31, "계": 49.33 },
|
||||
{ "직종 무게(ton)": "30.1∼35.0", "목공": 0.82, "플랜트기계설치공": 6.35, "비계공": 15.52, "건설기계운전 (조/대)": 3.95, "특별인부": 28.62, "계": 55.26 },
|
||||
{ "직종 무게(ton)": "35.1∼40.0", "목공": 0.89, "플랜트기계설치공": 6.95, "비계공": 17.00, "건설기계운전 (조/대)": 4.31, "특별인부": 31.17, "계": 60.32 },
|
||||
{ "직종 무게(ton)": "40.1∼45.0", "목공": 0.97, "플랜트기계설치공": 7.58, "비계공": 18.50, "건설기계운전 (조/대)": 4.75, "특별인부": 33.95, "계": 65.75 },
|
||||
{ "직종 무게(ton)": "35.1∼40.0", "목공": 0.89, "플랜트기계설치공": 6.95, "비계공": 17.0, "건설기계운전 (조/대)": 4.31, "특별인부": 31.17, "계": 60.32 },
|
||||
{ "직종 무게(ton)": "40.1∼45.0", "목공": 0.97, "플랜트기계설치공": 7.58, "비계공": 18.5, "건설기계운전 (조/대)": 4.75, "특별인부": 33.95, "계": 65.75 },
|
||||
{ "직종 무게(ton)": "45.1∼50.0", "목공": 1.06, "플랜트기계설치공": 8.05, "비계공": 19.62, "건설기계운전 (조/대)": 5.03, "특별인부": 36.23, "계": 69.99 }
|
||||
],
|
||||
"주": [
|
||||
@@ -7658,7 +7664,13 @@
|
||||
{ "품명": "산소", "규격": "6,000ℓ입", "수량": 0.38, "단위": "병" },
|
||||
{ "품명": "아세틸렌", "규격": "4,500ℓ 입", "수량": 0.33, "단위": "병" },
|
||||
{ "품명": "용접봉", "규격": "4ø×350ℓ", "수량": 3.0, "단위": "㎏" },
|
||||
{ "품명": "세유", "수량": 3.0, "단위": "ℓ" }
|
||||
{ "품명": "세유", "수량": 3.0, "단위": "ℓ" },
|
||||
{
|
||||
"품명": "기타",
|
||||
"규격": "10%",
|
||||
"수량": 10,
|
||||
"단위": "%"
|
||||
}
|
||||
],
|
||||
"주": []
|
||||
},
|
||||
@@ -8942,12 +8954,12 @@
|
||||
"조건": { "작업구분": "고르기", "항목": "고르기", "구분": "고르기" },
|
||||
"값칸": { "수량": "" },
|
||||
"줄": [
|
||||
{ "작업구분": "1. 기술관리(공사기간중)", "항목": "기계기사", "수량": 0.80, "단위": "인/일" },
|
||||
{ "작업구분": "1. 기술관리(공사기간중)", "항목": "기계기사", "수량": 0.8, "단위": "인/일" },
|
||||
{ "작업구분": "2. 표면손질", "항목": "특별인부", "수량": 0.16, "단위": "인/㎡" },
|
||||
{ "구분": "3. 본체조립설치", "작업구분": "본체 Frame", "항목": "철골공", "수량": 4.98, "단위": "인/ton" },
|
||||
{ "구분": "3. 본체조립설치", "작업구분": "Shell Plate", "항목": "비계공", "수량": 3.27, "단위": "인/ton" },
|
||||
{ "구분": "3. 본체조립설치", "작업구분": "Hand Rail", "항목": "기계설비공", "수량": 0.82, "단위": "인/ton" },
|
||||
{ "구분": "3. 본체조립설치", "작업구분": "Stair의 조립", "항목": "용접공", "수량": 0.80, "단위": "인/ton" },
|
||||
{ "구분": "3. 본체조립설치", "작업구분": "Stair의 조립", "항목": "용접공", "수량": 0.8, "단위": "인/ton" },
|
||||
{ "구분": "4. 기계조립설치", "작업구분": "구동기기 Chain,", "항목": "기계설비공", "수량": 5.79, "단위": "인/ton" },
|
||||
{ "구분": "4. 기계조립설치", "작업구분": "Conveyor 및", "항목": "비계공", "수량": 2.29, "단위": "인/ton" },
|
||||
{ "구분": "4. 기계조립설치", "작업구분": "Lapping Device 등의", "항목": "용접공", "수량": 0.76, "단위": "인/ton" },
|
||||
@@ -8960,7 +8972,7 @@
|
||||
{ "구분": "6. 음극 Plate 조립 설치", "작업구분": "조립 설치, 지상교정 및 조립조양, 가조립", "항목": "비계공", "수량": 0.0315, "단위": "인/㎡" },
|
||||
{ "구분": "6. 음극 Plate 조립 설치", "작업구분": "조립 설치, 지상교정 및 조립조양, 가조립", "항목": "용접공", "수량": 0.0045, "단위": "인/㎡" },
|
||||
{ "구분": "6. 음극 Plate 조립 설치", "작업구분": "조립 설치, 지상교정 및 조립조양, 가조립", "항목": "특별인부", "수량": 0.0794, "단위": "인/㎡" },
|
||||
{ "작업구분": "검사및교정", "항목": "수량", "수량": "기술관리를 제외한 본 품의 10%", "단위": "인/㎡" }
|
||||
{ "작업구분": "검사및교정", "항목": "수량", "수량": "기술관리를 제외한 본 품의 10%", "단위": "" }
|
||||
],
|
||||
"주": [
|
||||
"① 본 품은 본체조립 설치로 Duct flange까지이며 Duct는 별도 계상한다.",
|
||||
@@ -9074,7 +9086,7 @@
|
||||
{ "작업구분": "◦ 원치 설치 및 철거 - 조양을 위한 원치플리・로프 등의 설치와 사용후 철거까지 포함", "항목": "비계공", "수량": 11.00, "단위": "인/대" },
|
||||
{ "작업구분": "◦ 원치 설치 및 철거 - 조양을 위한 원치플리・로프 등의 설치와 사용후 철거까지 포함", "항목": "용접공", "수량": 3.30, "단위": "인/대" },
|
||||
{ "작업구분": "◦ 원치 설치 및 철거 - 조양을 위한 원치플리・로프 등의 설치와 사용후 철거까지 포함", "항목": "특별인부", "수량": 4.95, "단위": "인/대" },
|
||||
{ "작업구분": "◦ 검사 및 교정 - 외관검사, 교정작업 (비파괴시험은 제외)", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 전공량의 10%", "단위": "인/대" }
|
||||
{ "작업구분": "◦ 검사 및 교정 - 외관검사, 교정작업 (비파괴시험은 제외)", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 전공량의 10%", "단위": "" }
|
||||
],
|
||||
"주": [
|
||||
"① 본 품은 급진기, 소각로모듈, 화격자, 내화물, 재 축출기 등 소각로 설비의 조립・설치를 기준으로 소운반을 포함한다.",
|
||||
@@ -9143,7 +9155,7 @@
|
||||
{ "작업구분": "◦ 원치 설치 및 철거 - 조양을 위한 원치플리・로프 등의 설치와 사용후 철거까지 포함", "항목": "비계공", "수량": 11.00, "단위": "인/대" },
|
||||
{ "작업구분": "◦ 원치 설치 및 철거 - 조양을 위한 원치플리・로프 등의 설치와 사용후 철거까지 포함", "항목": "용접공", "수량": 3.30, "단위": "인/대" },
|
||||
{ "작업구분": "◦ 원치 설치 및 철거 - 조양을 위한 원치플리・로프 등의 설치와 사용후 철거까지 포함", "항목": "특별인부", "수량": 4.95, "단위": "인/대" },
|
||||
{ "작업구분": "◦ 검사 및 교정 - 외관검사, 교정작업 (비파괴시험은 제외)", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 전공량의 10%", "단위": "인/대" }
|
||||
{ "작업구분": "◦ 검사 및 교정 - 외관검사, 교정작업 (비파괴시험은 제외)", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 전공량의 10%", "단위": "" }
|
||||
],
|
||||
"주": [
|
||||
"① 본 품은 보일러 드럼, Tube Panel, Buckstay 등 폐열보일러의 조립・설치 기준으로 소운반을 포함한다.",
|
||||
@@ -9206,7 +9218,7 @@
|
||||
{ "작업구분": "◦ 본체 설치 - 반응물 배출장치(Lump Crusher) 및 Rotary Valve 설치 포함 ※ 소석회 분무장치 제외", "항목": "특별인부", "수량": 1.53, "단위": "인/ton" },
|
||||
{ "작업구분": "◦ 본체 설치 - 반응물 배출장치(Lump Crusher) 및 Rotary Valve 설치 포함 ※ 소석회 분무장치 제외", "항목": "비계공", "수량": 1.85, "단위": "인/ton" },
|
||||
{ "작업구분": "◦ 본체 설치 - 반응물 배출장치(Lump Crusher) 및 Rotary Valve 설치 포함 ※ 소석회 분무장치 제외", "항목": "건설기계운전조", "수량": 0.48, "단위": "조/ton" },
|
||||
{ "작업구분": "◦ 검사 및 교정 - Gas Leak Test 포함", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 전공량의 10%", "단위": "조/ton" }
|
||||
{ "작업구분": "◦ 검사 및 교정 - Gas Leak Test 포함", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 전공량의 10%", "단위": "" }
|
||||
],
|
||||
"주": [
|
||||
"① 본 품은 반응탑 본체, Rotary Valve 등 반건식 반응탑의 조립・설치기준으로 소운반이 포함되어 있다.",
|
||||
@@ -9270,7 +9282,7 @@
|
||||
{ "작업구분": "◦ Sealing 용접 - 용접용 Support설치 및 운반포함", "항목": "플랜트용접공", "수량": 14.74, "단위": "인/ton" },
|
||||
{ "작업구분": "◦ Sealing 용접 - 용접용 Support설치 및 운반포함", "항목": "플랜트제관공", "수량": 4.99, "단위": "인/ton" },
|
||||
{ "작업구분": "◦ Sealing 용접 - 용접용 Support설치 및 운반포함", "항목": "특별인부", "수량": 1.07, "단위": "인/ton" },
|
||||
{ "작업구분": "◦ 검사 및 교정 - Gas Leak Test 포함", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 전공량의 10%", "단위": "인/ton" }
|
||||
{ "작업구분": "◦ 검사 및 교정 - Gas Leak Test 포함", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 전공량의 10%", "단위": "" }
|
||||
],
|
||||
"주": [
|
||||
"① 본 품은 촉매를 이용하여 질소산화물을 분해 정화하는 장치로서 탈질설비의 조립・설치와 소운반이 포함되어 있다.",
|
||||
@@ -9324,7 +9336,7 @@
|
||||
{ "작업구분": "◦ 휠터백 및 백케이지 조립・설치 - 지상교정, 조양・기기 설치포함 - Leveling 재교정후 Setting 포함", "항목": "비계공", "수량": 0.06, "단위": "인/휠터수" },
|
||||
{ "작업구분": "◦ 휠터백 및 백케이지 조립・설치 - 지상교정, 조양・기기 설치포함 - Leveling 재교정후 Setting 포함", "항목": "특별인부", "수량": 0.08, "단위": "인/휠터수" },
|
||||
{ "작업구분": "◦ 휠터백 및 백케이지 조립・설치 - 지상교정, 조양・기기 설치포함 - Leveling 재교정후 Setting 포함", "항목": "플랜트용접공", "수량": 0.01, "단위": "인/휠터수" },
|
||||
{ "작업구분": "◦ 검사 및 교정 - Gas Leak Test 포함", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 공량의 10%", "단위": "인/휠터수" }
|
||||
{ "작업구분": "◦ 검사 및 교정 - Gas Leak Test 포함", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 공량의 10%", "단위": "" }
|
||||
],
|
||||
"주": [
|
||||
"① 본 품은 여과집진기 휠터백, 펄스유닛 등 여과집진기의 조립・설치 기준으로 소운반이 포함되어 있다.",
|
||||
@@ -9381,7 +9393,7 @@
|
||||
{ "작업구분": "◦혼합기, 이젝터, 로타리밸브 설치", "항목": "비계공", "수량": 0.57, "단위": "인/ton" },
|
||||
{ "작업구분": "◦혼합기, 이젝터, 로타리밸브 설치", "항목": "플랜트용접공", "수량": 0.57, "단위": "인/ton" },
|
||||
{ "작업구분": "◦혼합기, 이젝터, 로타리밸브 설치", "항목": "특별인부", "수량": 1.16, "단위": "인/ton" },
|
||||
{ "작업구분": "◦검사 및 교정 - Gas Leak Test 포함", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 공량의 10%", "단위": "인/ton" }
|
||||
{ "작업구분": "◦검사 및 교정 - Gas Leak Test 포함", "항목": "수량", "수량": "기술관리, 포장해체를 제외한 공량의 10%", "단위": "" }
|
||||
],
|
||||
"주": [
|
||||
"① 본 품은 활성탄・반응조제 및 소석회 공급설비의 조립・설치기준으로 소운반이 포함되어 있다.",
|
||||
@@ -9823,7 +9835,7 @@
|
||||
{ "공정별": "스레이트 잇기 : Louver side에 스레이트 잇기", "항목": "스레이트공", "수량": 0.05, "단위": "인/㎡" },
|
||||
{ "공정별": "스레이트 잇기 : Louver side에 스레이트 잇기", "항목": "보통인부", "수량": 0.04, "단위": "인/㎡" },
|
||||
{ "공정별": "충전물충전 : 충전물을 규격별 순서로 충전 작업함", "항목": "보통인부", "수량": 0.6, "단위": "인/㎥" },
|
||||
{ "공정별": "검사 및 교정", "항목": "수량", "수량": "기술관리를 제외한 전 품의 10%", "단위": "인/㎥" }
|
||||
{ "공정별": "검사 및 교정", "항목": "수량", "수량": "기술관리를 제외한 전 품의 10%", "단위": "" }
|
||||
],
|
||||
"주": [
|
||||
"① 본 품은 강재공냉식 Cooling tower를 기초 Tank 위에 조립 설치하는 품이다.",
|
||||
@@ -9855,7 +9867,7 @@
|
||||
"조건": { "공정별": "고르기" },
|
||||
"값칸": { "기계산업기사": "", "비계공": "", "특별인부": "", "제관공": "", "용접공": "", "기계설비공": "", "측량사": "", "수량": "", "비고": "글" },
|
||||
"줄": [
|
||||
{ "공정별": "기술관리", "기계산업기사": 0.500 },
|
||||
{ "공정별": "기술관리", "기계산업기사": 0.5 },
|
||||
{ "공정별": "소운반조작", "비계공": 0.667, "특별인부": 0.333 },
|
||||
{ "공정별": "표면손질", "특별인부": 3.3 },
|
||||
{ "공정별": "현장가공", "제관공": 0.588, "용접공": 0.588, "특별인부": 0.588 },
|
||||
@@ -10472,7 +10484,14 @@
|
||||
{ "구분": "Back Ring 사용시 : 25%까지 가산", "값": 25, "단위": "%", "기준": "본 품", "가감": "가산" },
|
||||
{ "구분": "Nozzle 용접시 : 50%까지 가산", "값": 50, "단위": "%", "기준": "본 품", "가감": "가산" },
|
||||
{ "구분": "Sloping Line 용접시 : 100%까지 가산", "값": 100, "단위": "%", "기준": "본 품", "가감": "가산" },
|
||||
{ "구분": "Mitre 용접시 : 50%까지 가산", "값": 50, "단위": "%", "기준": "본 품", "가감": "가산" }
|
||||
{ "구분": "Mitre 용접시 : 50%까지 가산", "값": 50, "단위": "%", "기준": "본 품", "가감": "가산" },
|
||||
{
|
||||
"구분": "Socket 용접시 : 40% 까지 감",
|
||||
"값": 40,
|
||||
"단위": "%",
|
||||
"기준": "본 품",
|
||||
"가감": "감"
|
||||
}
|
||||
],
|
||||
"주": [],
|
||||
"그룹": "계수"
|
||||
@@ -10518,7 +10537,14 @@
|
||||
{ "구분": "Back Ring 사용시 : 25%까지 가산", "값": 25, "단위": "%", "기준": "본 품", "가감": "가산" },
|
||||
{ "구분": "Nozzle 용접시 : 50%까지 가산", "값": 50, "단위": "%", "기준": "본 품", "가감": "가산" },
|
||||
{ "구분": "Sloping Line 용접시 : 100%까지 가산", "값": 100, "단위": "%", "기준": "본 품", "가감": "가산" },
|
||||
{ "구분": "Mitre 용접시 : 50%까지 가산", "값": 50, "단위": "%", "기준": "본 품", "가감": "가산" }
|
||||
{ "구분": "Mitre 용접시 : 50%까지 가산", "값": 50, "단위": "%", "기준": "본 품", "가감": "가산" },
|
||||
{
|
||||
"구분": "Socket 용접시 : 40% 까지 감",
|
||||
"값": 40,
|
||||
"단위": "%",
|
||||
"기준": "본 품",
|
||||
"가감": "감"
|
||||
}
|
||||
],
|
||||
"주": [],
|
||||
"그룹": "계수"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"이름": "수확베기 임업용 동력기계톱 벌목량",
|
||||
"기준": "㎥/1인/1일",
|
||||
"출처": "산림품셈 4-1-1",
|
||||
"용도": {"공종": "임업용 동력기계톱", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "임업용 동력기계톱", "대상": ["인력", "작업량 조건"], "로직키": ["GF000286"]},
|
||||
"조건": { "벌도목 구분": "고르기" },
|
||||
"값칸": { "벌목량": "㎥", "인력구분": "글" },
|
||||
"줄": [
|
||||
@@ -28,9 +28,9 @@
|
||||
"이름": "수확베기 벌목 할증",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 4-1-1 주①②",
|
||||
"용도": {"공종": "임업용 동력기계톱", "대상": ["작업량 조건", "할증"], "로직키": []},
|
||||
"용도": {"공종": "임업용 동력기계톱", "대상": ["작업량 조건", "할증"], "로직키": ["GF000286"]},
|
||||
"조건": { "구분": "고르기", "평균경급(cm)": "범위" },
|
||||
"범위규칙": "「20cm 미만」 = 위 끝 제외 · 「20~30cm」 = 양 끝 포함",
|
||||
"범위규칙": "이상·미만 · 마지막 칸 이하 포함 · 「20cm 미만」 = 위 끝 제외 · 「20~30cm」 = 양 끝 포함",
|
||||
"값칸": { "할증률": "%" },
|
||||
"줄": [
|
||||
{ "구분": "벌도목 평균경급 20cm 미만", "평균경급(cm)": [null, 20], "할증률": 10 },
|
||||
@@ -71,9 +71,9 @@
|
||||
"이름": "단목베기 100본당",
|
||||
"기준": "인/100본당",
|
||||
"출처": "산림품셈 4-2-1",
|
||||
"용도": {"공종": "100본당", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "100본당", "대상": ["인력", "작업량 조건"], "로직키": ["GF000287"]},
|
||||
"조건": { "구분": "고르기", "제거 대상목 흉고직경(㎝)": "범위" },
|
||||
"범위규칙": "「10㎝이하」 = 위 끝 포함 · 「48㎝ 이상」 = 아래 끝 포함 · 12~14㎝ 등은 양 끝 포함(표에 없는 11 · 15 등의 값은 원문에 없음) · 작업보조 줄은 흉고직경 무관(조건 칸 없음)",
|
||||
"범위규칙": "이상·이하 · 「10㎝이하」 = 위 끝 포함 · 「48㎝ 이상」 = 아래 끝 포함 · 12~14㎝ 등은 양 끝 포함(표에 없는 11 · 15 등의 값은 원문에 없음) · 작업보조 줄은 흉고직경 무관(조건 칸 없음)",
|
||||
"값칸": { "벌목": "인", "가지제거": "인", "토막내기": "인", "작업보조": "인", "인력구분": "글" },
|
||||
"줄": [
|
||||
{ "구분": "벌목·가지제거·토막내기", "제거 대상목 흉고직경(㎝)": [null, 10], "벌목": 0.2, "가지제거": 0.1, "토막내기": 0.1, "인력구분": "벌목부" },
|
||||
@@ -106,7 +106,7 @@
|
||||
"이름": "단목베기 100본당 주 계수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 4-2-1 주④⑤⑥",
|
||||
"용도": {"공종": "100본당", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "100본당", "대상": ["작업량 조건"], "로직키": ["GF000287"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "값": "단위 따름", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -122,9 +122,9 @@
|
||||
"이름": "단목베기 1,000㎡당",
|
||||
"기준": "인/1,000㎡당",
|
||||
"출처": "산림품셈 4-2-2",
|
||||
"용도": {"공종": "1,000㎡당", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "1,000㎡당", "대상": ["인력", "작업량 조건"], "로직키": ["GF000288"]},
|
||||
"조건": { "구분": "고르기", "규격": "고르기", "나무높이(m)": "범위" },
|
||||
"범위규칙": "「5m 미만」 = 위 끝 제외 · 「5m이상~8m미만」 = 아래 끝 포함 · 위 끝 제외 · 「8m 이상」 = 아래 끝 포함",
|
||||
"범위규칙": "이상·미만 · 「5m 미만」 = 위 끝 제외 · 「5m이상~8m미만」 = 아래 끝 포함 · 위 끝 제외 · 「8m 이상」 = 아래 끝 포함",
|
||||
"값칸": { "단위": "글", "소요": "단위 따름" },
|
||||
"줄": [
|
||||
{ "구분": "벌목부", "나무높이(m)": [null, 5], "단위": "인", "소요": 2.14 },
|
||||
@@ -150,7 +150,7 @@
|
||||
"이름": "단목베기 1,000㎡당 집재거리 가산",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 4-2-2 비고",
|
||||
"용도": {"공종": "1,000㎡당", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "1,000㎡당", "대상": ["작업량 조건"], "로직키": ["GF000288"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "집재거리 기준": "m", "가산단위": "m", "가산할증": "%", "원문": "글" },
|
||||
"줄": [
|
||||
@@ -164,7 +164,7 @@
|
||||
"이름": "단목베기 1,000㎡당 경장비 기계경비",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 4-2-2 주⑤",
|
||||
"용도": {"공종": "1,000㎡당", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "1,000㎡당", "대상": ["작업량 조건"], "로직키": ["GF000288"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "값": "단위 따름", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -178,9 +178,9 @@
|
||||
"이름": "위험목 베기",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 4-3",
|
||||
"용도": {"공종": "위험목 베기", "대상": ["기계", "인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "위험목 베기", "대상": ["기계", "인력", "작업량 조건"], "로직키": ["GF000289"]},
|
||||
"조건": { "가슴높이지름(cm)": "범위" },
|
||||
"범위규칙": "「16~20cm」 등 양 끝 포함 · 「52cm이상」 = 아래 끝 포함",
|
||||
"범위규칙": "이상·이하 · 「16~20cm」 등 양 끝 포함 · 「52cm이상」 = 아래 끝 포함",
|
||||
"값칸": { "특별인부": "인/본당", "벌목부": "인/본당", "보통인부": "인/본당", "굴삭기 우드그랩": "hr", "크레인": "hr" },
|
||||
"줄": [
|
||||
{ "가슴높이지름(cm)": [16, 20], "특별인부": 0.14, "벌목부": 0.28, "보통인부": 0.28, "굴삭기 우드그랩": 0.28, "크레인": 0.28 },
|
||||
@@ -205,7 +205,7 @@
|
||||
"이름": "위험목 베기 주 계수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 4-3 주②③④⑤⑥",
|
||||
"용도": {"공종": "위험목 베기", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "위험목 베기", "대상": ["작업량 조건"], "로직키": ["GF000289"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "값": "단위 따름", "단위": "글" },
|
||||
"줄": [
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
"이름": "굴취작업 관목굴취",
|
||||
"기준": "인/10본당",
|
||||
"출처": "산림품셈 5-1-1",
|
||||
"용도": {"공종": "관목굴취", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "관목굴취", "대상": ["인력", "작업량 조건"], "로직키": ["GF000290"]},
|
||||
"조건": { "수고(m)": "범위" },
|
||||
"범위규칙": "「0.3m 미만」 = 위 끝 제외 · 나머지 양 끝 포함(원문 「0.3∼0.7m 이하」 · 「0.8∼1.1m 이하」 · 「1.2∼1.5m 이하」)",
|
||||
"범위규칙": "이상·이하 · 「0.3m 미만」 = 위 끝 제외 · 나머지 양 끝 포함(원문 「0.3∼0.7m 이하」 · 「0.8∼1.1m 이하」 · 「1.2∼1.5m 이하」)",
|
||||
"값칸": { "특별인부": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
{ "수고(m)": [null, 0.3], "특별인부": 0.084, "보통인부": 0.012 },
|
||||
@@ -48,9 +48,9 @@
|
||||
"이름": "굴취작업 교목굴취(나무높이)",
|
||||
"기준": "인/본당",
|
||||
"출처": "산림품셈 5-1-2",
|
||||
"용도": {"공종": "교목굴취", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "교목굴취", "대상": ["인력", "작업량 조건"], "로직키": ["GF000293"]},
|
||||
"조건": { "나무높이(m)": "범위" },
|
||||
"범위규칙": "「1.0 이하」 = 위 끝 포함 · 나머지 양 끝 포함",
|
||||
"범위규칙": "이상·이하 · 「1.0 이하」 = 위 끝 포함 · 나머지 양 끝 포함",
|
||||
"값칸": { "특별인부": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
{ "나무높이(m)": [null, 1.0], "특별인부": 0.072, "보통인부": 0.012 },
|
||||
@@ -78,7 +78,7 @@
|
||||
"이름": "교목굴취(나무높이) 분 관련 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 5-1-2",
|
||||
"용도": {"공종": "교목굴취", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "교목굴취", "대상": ["작업량 조건"], "로직키": ["GF000293"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "값": "단위 따름", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -93,9 +93,9 @@
|
||||
"이름": "굴취작업 교목굴취(근원직경)",
|
||||
"기준": "인/본당",
|
||||
"출처": "산림품셈 5-1-3",
|
||||
"용도": {"공종": "교목굴취", "대상": ["기계", "인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "교목굴취", "대상": ["기계", "인력", "작업량 조건"], "로직키": ["GF000294"]},
|
||||
"조건": { "근원직경(㎝)": "범위", "흉고직경(㎝)": "범위" },
|
||||
"범위규칙": "「4이하」 = 위 끝 포함 · 「5(4이하)」의 근원직경 5 = [5, 5] · 나머지 양 끝 포함 · 괄호 안 흉고직경이 없는 줄은 흉고직경 칸 없음",
|
||||
"범위규칙": "이상·이하 · 「4이하」 = 위 끝 포함 · 「5(4이하)」의 근원직경 5 = [5, 5] · 나머지 양 끝 포함 · 괄호 안 흉고직경이 없는 줄은 흉고직경 칸 없음",
|
||||
"값칸": { "특별인부": "인", "보통인부": "인", "굴착기": "시간", "크레인": "시간" },
|
||||
"줄": [
|
||||
{ "근원직경(㎝)": [null, 4], "특별인부": 0.096, "보통인부": 0.024 },
|
||||
@@ -132,9 +132,9 @@
|
||||
"이름": "교목굴취(근원직경) 장비 규격",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 5-1-3 주⑧",
|
||||
"용도": {"공종": "교목굴취", "대상": ["기계", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "교목굴취", "대상": ["기계", "작업량 조건"], "로직키": ["GF000294"]},
|
||||
"조건": { "근원직경(cm)": "범위" },
|
||||
"범위규칙": "양 끝 포함",
|
||||
"범위규칙": "이상·이하 · 양 끝 포함",
|
||||
"값칸": { "굴착기": "㎥", "크레인": "글" },
|
||||
"줄": [
|
||||
{ "근원직경(cm)": [10, 19], "굴착기": 0.4 },
|
||||
@@ -150,7 +150,7 @@
|
||||
"이름": "교목굴취(근원직경) 분 관련 수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 5-1-3",
|
||||
"용도": {"공종": "교목굴취", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "교목굴취", "대상": ["작업량 조건"], "로직키": ["GF000294"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "값": "단위 따름", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -223,7 +223,7 @@
|
||||
"이름": "뿌리돌림",
|
||||
"기준": "인/본당",
|
||||
"출처": "산림품셈 5-2",
|
||||
"용도": {"공종": "뿌리돌림", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "뿌리돌림", "대상": ["인력", "작업량 조건"], "로직키": ["GF000295"]},
|
||||
"조건": { "근원직경(㎝)": "수" },
|
||||
"값칸": { "특별인부": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -358,9 +358,9 @@
|
||||
"이름": "식재작업 관목식재(단식)",
|
||||
"기준": "인/10본당",
|
||||
"출처": "산림품셈 5-3-2",
|
||||
"용도": {"공종": "관목식재", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "관목식재", "대상": ["인력", "작업량 조건"], "로직키": ["GF000291"]},
|
||||
"조건": { "수고(m)": "범위" },
|
||||
"범위규칙": "「0.3m 미만」 = 위 끝 제외 · 나머지 양 끝 포함(원문 「0.3∼0.7m 이하」 · 「0.8∼1.1m 이하」 · 「1.2∼1.5m 이하」)",
|
||||
"범위규칙": "이상·이하 · 「0.3m 미만」 = 위 끝 제외 · 나머지 양 끝 포함(원문 「0.3∼0.7m 이하」 · 「0.8∼1.1m 이하」 · 「1.2∼1.5m 이하」)",
|
||||
"값칸": { "특별인부": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
{ "수고(m)": [null, 0.3], "특별인부": 0.19, "보통인부": 0.06 },
|
||||
@@ -397,9 +397,9 @@
|
||||
"이름": "식재작업 관목식재(군식)",
|
||||
"기준": "인/10본당",
|
||||
"출처": "산림품셈 5-3-3",
|
||||
"용도": {"공종": "관목식재", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "관목식재", "대상": ["인력", "작업량 조건"], "로직키": ["GF000292"]},
|
||||
"조건": { "수고(m)": "범위" },
|
||||
"범위규칙": "「0.3m 미만」 = 위 끝 제외 · 나머지 양 끝 포함(원문 「0.3∼0.7m 이하」 · 「0.8∼1.1m 이하」 · 「1.2∼1.5m 이하」)",
|
||||
"범위규칙": "이상·이하 · 「0.3m 미만」 = 위 끝 제외 · 나머지 양 끝 포함(원문 「0.3∼0.7m 이하」 · 「0.8∼1.1m 이하」 · 「1.2∼1.5m 이하」)",
|
||||
"값칸": { "특별인부": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
{ "수고(m)": [null, 0.3], "특별인부": 0.07, "보통인부": 0.02 },
|
||||
@@ -437,9 +437,9 @@
|
||||
"이름": "식재작업 교목식재(나무높이)",
|
||||
"기준": "인/본당",
|
||||
"출처": "산림품셈 5-3-4",
|
||||
"용도": {"공종": "교목식재", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "교목식재", "대상": ["작업량 조건"], "로직키": ["GF000296"]},
|
||||
"조건": { "나무높이(m)": "범위" },
|
||||
"범위규칙": "「1.0 이하」 = 위 끝 포함 · 나머지 양 끝 포함",
|
||||
"범위규칙": "이상·이하 · 「1.0 이하」 = 위 끝 포함 · 나머지 양 끝 포함",
|
||||
"값칸": { "인력시공 특별인부": "인", "인력시공 보통인부": "인", "기계시공 특별인부": "인", "기계시공 보통인부": "인", "기계시공 굴착기": "시간" },
|
||||
"줄": [
|
||||
{ "나무높이(m)": [null, 1.0], "인력시공 특별인부": 0.07, "인력시공 보통인부": 0.06 },
|
||||
@@ -467,7 +467,7 @@
|
||||
"이름": "교목식재(나무높이) 지주목 미설치 감 · 굴착기 규격",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 5-3-4",
|
||||
"용도": {"공종": "교목식재", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "교목식재", "대상": ["작업량 조건"], "로직키": ["GF000296"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "값": "단위 따름", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -483,9 +483,9 @@
|
||||
"이름": "식재작업 교목식재(흉고직경)",
|
||||
"기준": "인/본당",
|
||||
"출처": "산림품셈 5-3-5",
|
||||
"용도": {"공종": "교목식재", "대상": ["기계", "인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "교목식재", "대상": ["기계", "인력", "작업량 조건"], "로직키": ["GF000297"]},
|
||||
"조건": { "흉고직경(㎝)": "범위", "근원직경(㎝)": "범위" },
|
||||
"범위규칙": "「4(5)이하」 = 위 끝 포함 · 「5(6)」 = [5, 5] · 나머지 양 끝 포함",
|
||||
"범위규칙": "이상·이하 · 「4(5)이하」 = 위 끝 포함 · 「5(6)」 = [5, 5] · 나머지 양 끝 포함",
|
||||
"값칸": { "특별인부": "인", "보통인부": "인", "굴착기": "시간", "크레인": "시간" },
|
||||
"줄": [
|
||||
{ "흉고직경(㎝)": [null, 4], "근원직경(㎝)": [null, 5], "특별인부": 0.1, "보통인부": 0.06 },
|
||||
@@ -520,9 +520,9 @@
|
||||
"이름": "교목식재(흉고직경) 장비 규격",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 5-3-5 주⑧",
|
||||
"용도": {"공종": "교목식재", "대상": ["기계", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "교목식재", "대상": ["기계", "작업량 조건"], "로직키": ["GF000297"]},
|
||||
"조건": { "흉고직경(cm)": "범위" },
|
||||
"범위규칙": "양 끝 포함",
|
||||
"범위규칙": "이상·이하 · 양 끝 포함",
|
||||
"값칸": { "굴착기": "㎥", "크레인": "글" },
|
||||
"줄": [
|
||||
{ "흉고직경(cm)": [8, 17], "굴착기": 0.4 },
|
||||
@@ -538,7 +538,7 @@
|
||||
"이름": "교목식재(흉고직경) 지주목 미설치 감 · 흉고 높이",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 5-3-5",
|
||||
"용도": {"공종": "교목식재", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "교목식재", "대상": ["작업량 조건"], "로직키": ["GF000297"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "값": "단위 따름", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -1006,7 +1006,7 @@
|
||||
"이름": "선떼붙이기공 단끊기",
|
||||
"기준": "인/100m당",
|
||||
"출처": "산림품셈 5-16-1",
|
||||
"용도": {"공종": "단끊기", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "단끊기", "대상": ["작업량 조건"], "로직키": ["GF000298"]},
|
||||
"조건": { "공정별": "고르기" },
|
||||
"값칸": { "보통토사": "인", "경질ㆍ고사점토 및 자갈섞인 점토": "인", "호박돌 섞인 토사": "인" },
|
||||
"줄": [
|
||||
@@ -1030,7 +1030,7 @@
|
||||
"이름": "단끊기 단폭 · 기준 경사 · 절취량 · 작업반장",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 5-16-1",
|
||||
"용도": {"공종": "단끊기", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "단끊기", "대상": ["작업량 조건"], "로직키": ["GF000298"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "값": "단위 따름", "단위": "글" },
|
||||
"줄": [
|
||||
@@ -1203,7 +1203,7 @@
|
||||
"이름": "표토 절취 및 정지 표토절취 및 모으기",
|
||||
"기준": "㎡당",
|
||||
"출처": "산림품셈 5-19-1",
|
||||
"용도": {"공종": "표토절취 및 모으기", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "표토절취 및 모으기", "대상": ["인력", "작업량 조건"], "로직키": ["GF000299"]},
|
||||
"조건": { "구분": "고르기", "직종": "고르기", "취급심도(㎝)": "수" },
|
||||
"값칸": { "수량": "인" },
|
||||
"줄": [
|
||||
@@ -1224,7 +1224,7 @@
|
||||
"이름": "표토 절취 및 정지 표토펴기 및 고르기",
|
||||
"기준": "인",
|
||||
"출처": "산림품셈 5-19-2",
|
||||
"용도": {"공종": "표토펴기 및 고르기", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "표토펴기 및 고르기", "대상": ["인력", "작업량 조건"], "로직키": ["GF000300"]},
|
||||
"조건": { "구분": "고르기", "직종": "고르기", "표토두께(㎝)": "수" },
|
||||
"값칸": { "수량": "인" },
|
||||
"줄": [
|
||||
@@ -1639,7 +1639,7 @@
|
||||
"이름": "흙갈이 막갈이",
|
||||
"기준": "인/992㎡당",
|
||||
"출처": "산림품셈 5-26-1",
|
||||
"용도": {"공종": "막갈이", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "막갈이", "대상": ["작업량 조건"], "로직키": ["GF000301"]},
|
||||
"조건": { "토성": "고르기", "막갈이깊이(cm)": "수" },
|
||||
"값칸": { "수량": "인" },
|
||||
"줄": [
|
||||
@@ -1669,7 +1669,7 @@
|
||||
"이름": "흙갈이 흙부수기",
|
||||
"기준": "인/992㎡당",
|
||||
"출처": "산림품셈 5-26-2",
|
||||
"용도": {"공종": "흙부수기", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "흙부수기", "대상": ["작업량 조건"], "로직키": ["GF000302"]},
|
||||
"조건": { "토성": "고르기", "막갈이깊이(cm)": "수" },
|
||||
"값칸": { "수량": "인" },
|
||||
"줄": [
|
||||
@@ -1753,9 +1753,9 @@
|
||||
"이름": "비탈덮기 방초매트 및 야자섬유매트 포장",
|
||||
"기준": "일당",
|
||||
"출처": "산림품셈 5-28-2",
|
||||
"용도": {"공종": "방초매트 및 야자섬유매트 포장", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "방초매트 및 야자섬유매트 포장", "대상": ["인력", "작업량 조건"], "로직키": ["GF000303"]},
|
||||
"조건": { "구분": "고르기", "폭(m)": "범위" },
|
||||
"범위규칙": "원문 머리 「폭 1.5m 이하」 · 「폭 2.0m 이하」 — 「폭 1.5m 이하」 = 위 끝 포함 · 「폭 2.0m 이하」 = 1.5m 초과 2.0m 이하 · 보통인부 줄은 폭 무관",
|
||||
"범위규칙": "이하 · 원문 머리 「폭 1.5m 이하」 · 「폭 2.0m 이하」 — 「폭 1.5m 이하」 = 위 끝 포함 · 「폭 2.0m 이하」 = 1.5m 초과 2.0m 이하 · 보통인부 줄은 폭 무관",
|
||||
"값칸": { "단위": "글", "수량": "수", "시공량(㎡)": "㎡" },
|
||||
"줄": [
|
||||
{ "구분": "조경공", "폭(m)": [null, 1.5], "단위": "인", "수량": 2, "시공량(㎡)": 90 },
|
||||
|
||||
@@ -166,9 +166,9 @@
|
||||
"이름": "소금처리",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 6-4-3",
|
||||
"용도": {"공종": "소금처리", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "소금처리", "대상": ["인력", "작업량 조건"], "로직키": ["GF000304"]},
|
||||
"조건": { "구분": "고르기", "주두부직경": "범위" },
|
||||
"범위규칙": "㎝미만·㎝이상 표기대로 · 「덩굴 제거지점 표시」 행은 직경 조건 없음",
|
||||
"범위규칙": "이상·미만 · ㎝미만·㎝이상 표기대로 · 「덩굴 제거지점 표시」 행은 직경 조건 없음",
|
||||
"값칸": { "소요인력": "인/100본", "인력구분": "글" },
|
||||
"줄": [
|
||||
{ "구분": "소금 처리", "주두부직경": [null, 2], "소요인력": 0.20, "인력구분": "보통인부" },
|
||||
@@ -189,9 +189,9 @@
|
||||
"이름": "뿌리제거",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 6-4-4",
|
||||
"용도": {"공종": "뿌리제거", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "뿌리제거", "대상": ["인력", "작업량 조건"], "로직키": ["GF000305"]},
|
||||
"조건": { "구분": "고르기", "주두부직경": "범위" },
|
||||
"범위규칙": "표의 표기대로 · 1㎝ 미만 / 1~4㎝ / 4㎝ 초과 · 「덩굴 제거지점 표시」 행은 직경 조건 없음",
|
||||
"범위규칙": "이상·미만 · 표의 표기대로 · 1㎝ 미만 / 1~4㎝ / 4㎝ 초과 · 「덩굴 제거지점 표시」 행은 직경 조건 없음",
|
||||
"값칸": { "소요인력": "인/100본", "인력구분": "글" },
|
||||
"줄": [
|
||||
{ "구분": "뿌리 고살", "주두부직경": [null, 1], "소요인력": 0.40, "인력구분": "보통인부" },
|
||||
@@ -217,7 +217,7 @@
|
||||
"이름": "덩굴 피복도와 덩굴본수 환산표",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 6-4-4",
|
||||
"용도": {"공종": "뿌리제거", "대상": ["작업량 조건", "환산"], "로직키": []},
|
||||
"용도": {"공종": "뿌리제거", "대상": ["작업량 조건", "환산"], "로직키": ["GF000305"]},
|
||||
"조건": { "덩굴피복도": "범위" },
|
||||
"범위규칙": "표의 표기대로 · 80%이상 / 60∼80% / 40∼60% / 20∼40% / 20%이하 · 단위 %",
|
||||
"값칸": { "할인할증율": "", "환산계수": "", "덩굴본수": "본/ha" },
|
||||
@@ -300,9 +300,9 @@
|
||||
"이름": "교목 시비",
|
||||
"기준": "인/10주당",
|
||||
"출처": "산림품셈 6-7-1",
|
||||
"용도": {"공종": "교목 시비", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "교목 시비", "대상": ["인력", "작업량 조건"], "로직키": ["GF000306"]},
|
||||
"조건": { "인력구분": "고르기", "근원직경": "범위" },
|
||||
"범위규칙": "㎝미만·㎝이상 표기대로",
|
||||
"범위규칙": "이상·미만 · ㎝미만·㎝이상 표기대로",
|
||||
"값칸": { "소요인력": "인/10주" },
|
||||
"줄": [
|
||||
{ "인력구분": "특별인부", "근원직경": [null, 11], "소요인력": 0.29 },
|
||||
|
||||
@@ -200,9 +200,9 @@
|
||||
"이름": "수라집재",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 7-2",
|
||||
"용도": {"공종": "수라집재", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "수라집재", "대상": ["인력", "작업량 조건"], "로직키": ["GF000307"]},
|
||||
"조건": { "집재거리": "범위", "ha당집재재적": "범위" },
|
||||
"범위규칙": "이하·미만은 위 끝 · 이상·초과는 아래 끝 · 두 수는 양 끝 포함 · 칸마다 원문 칸에 적힘",
|
||||
"범위규칙": "이상·이하 · 이하·미만은 위 끝 · 이상·초과는 아래 끝 · 두 수는 양 끝 포함 · 칸마다 원문 칸에 적힘",
|
||||
"값칸": { "수량": "㎥", "소요인력": "글", "ha당집재재적원문": "글" },
|
||||
"줄": [
|
||||
{ "집재거리": [0, 100], "ha당집재재적": [null, 20], "ha당집재재적원문": "20이하㎥", "수량": 1.94, "소요인력": "특별인부" },
|
||||
@@ -395,9 +395,9 @@
|
||||
"이름": "트랙터부착형 집재(지면끌기) 숲가꾸기·병해충방제",
|
||||
"기준": "1대 1일당",
|
||||
"출처": "산림품셈 7-5-2",
|
||||
"용도": {"공종": "숲가꾸기, 병해충방제", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "숲가꾸기, 병해충방제", "대상": ["작업량 조건"], "로직키": ["GF000308"]},
|
||||
"조건": { "집재거리": "범위", "본당평균재적": "범위" },
|
||||
"범위규칙": "두 수는 양 끝 포함 · 이상 · 칸마다 원문 칸에 적힘",
|
||||
"범위규칙": "이상·이하 · 두 수는 양 끝 포함 · 이상 · 칸마다 원문 칸에 적힘",
|
||||
"값칸": { "수집량": "㎥", "인력구분": "글", "본당평균재적원문": "글" },
|
||||
"줄": [
|
||||
{ "집재거리": [0, 40], "본당평균재적": [0.1, 0.2], "본당평균재적원문": "0.1∼0.2㎥", "수집량": 20.07, "인력구분": "3인 1조 (건설기계운전기사 1명, 특별인부 1명, 보통인부 1명)" },
|
||||
@@ -507,9 +507,9 @@
|
||||
"이름": "HAM200 집재 숲가꾸기·병해충방제",
|
||||
"기준": "1대 1일당",
|
||||
"출처": "산림품셈 7-7-2",
|
||||
"용도": {"공종": "숲가꾸기, 병해충방제", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "숲가꾸기, 병해충방제", "대상": ["작업량 조건"], "로직키": ["GF000309"]},
|
||||
"조건": { "집재재적": "범위", "집재거리": "범위" },
|
||||
"범위규칙": "두 수는 양 끝 포함 · 이하만 적힌 칸은 위 끝만",
|
||||
"범위규칙": "이상·이하 · 두 수는 양 끝 포함 · 이하만 적힌 칸은 위 끝만",
|
||||
"값칸": { "수집량": "㎥", "인력구분": "글" },
|
||||
"줄": [
|
||||
{ "집재재적": [0, 20], "집재거리": [null, 100], "수집량": 11.55, "인력구분": "3인 1조 (건설기계운전기사 1명, 특별인부 1명, 보통인부 1명)" },
|
||||
@@ -544,9 +544,9 @@
|
||||
"이름": "타워야더(RME 300T) 가선설치",
|
||||
"기준": "가선 1회당",
|
||||
"출처": "산림품셈 7-8-1",
|
||||
"용도": {"공종": "가선설치", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "가선설치", "대상": ["작업량 조건"], "로직키": ["GF000310"]},
|
||||
"조건": { "집재방식": "고르기", "작업로길이": "범위" },
|
||||
"범위규칙": "이하·초과 · 칸마다 원문 칸에 적힘",
|
||||
"범위규칙": "이하 · 이하·초과 · 칸마다 원문 칸에 적힘",
|
||||
"값칸": { "소요량": "조", "인력구분": "글", "작업로길이원문": "글" },
|
||||
"줄": [
|
||||
{ "집재방식": "상향집재", "작업로길이": [null, 120], "작업로길이원문": "120m이하", "소요량": 0.6, "인력구분": "3인 1조 (특별인부 2명 보통인부 1명)" },
|
||||
@@ -571,9 +571,9 @@
|
||||
"이름": "타워야더(RME 300T) 가선해체",
|
||||
"기준": "가선 1회당",
|
||||
"출처": "산림품셈 7-8-2",
|
||||
"용도": {"공종": "가선해체", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "가선해체", "대상": ["작업량 조건"], "로직키": ["GF000311"]},
|
||||
"조건": { "집재방식": "고르기", "작업로길이": "범위" },
|
||||
"범위규칙": "이하·초과 · 칸마다 원문 칸에 적힘",
|
||||
"범위규칙": "이하 · 이하·초과 · 칸마다 원문 칸에 적힘",
|
||||
"값칸": { "소요량": "조", "인력구분": "글", "작업로길이원문": "글" },
|
||||
"줄": [
|
||||
{ "집재방식": "상향집재", "작업로길이": [null, 120], "작업로길이원문": "120m이하", "소요량": 0.3, "인력구분": "3인 1조 (특별인부 2명 보통인부 1명)" },
|
||||
@@ -656,9 +656,9 @@
|
||||
"이름": "부착형 타워(K-301, HAM300) 집재 수확",
|
||||
"기준": "1대 1일당",
|
||||
"출처": "산림품셈 7-9-1",
|
||||
"용도": {"공종": "수확", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "수확", "대상": ["작업량 조건"], "로직키": ["GF000312"]},
|
||||
"조건": { "집재재적": "범위", "집재거리": "범위" },
|
||||
"범위규칙": "양 끝 포함 · 이하만 적힌 칸은 위 끝만",
|
||||
"범위규칙": "이상·이하 · 양 끝 포함 · 이하만 적힌 칸은 위 끝만",
|
||||
"값칸": { "수집량": "㎥", "인력구분": "글" },
|
||||
"줄": [
|
||||
{ "집재재적": [0, 20], "집재거리": [null, 100], "수집량": 18.76, "인력구분": "4인1조 (건설기계운전기사 1명 특별인부 2명 보통인부 1명)" },
|
||||
@@ -693,9 +693,9 @@
|
||||
"이름": "부착형 타워 집재 숲가꾸기·소나무재선충병방제",
|
||||
"기준": "1대 1일당",
|
||||
"출처": "산림품셈 7-9-2",
|
||||
"용도": {"공종": "숲가꾸기, 소나무재선충병방제", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "숲가꾸기, 소나무재선충병방제", "대상": ["작업량 조건"], "로직키": ["GF000313"]},
|
||||
"조건": { "집재재적": "범위", "집재거리": "범위" },
|
||||
"범위규칙": "양 끝 포함 · 이하만 적힌 칸은 위 끝만",
|
||||
"범위규칙": "이상·이하 · 양 끝 포함 · 이하만 적힌 칸은 위 끝만",
|
||||
"값칸": { "수집량": "㎥", "인력구분": "글" },
|
||||
"줄": [
|
||||
{ "집재재적": [0, 20], "집재거리": [null, 100], "수집량": 17.14, "인력구분": "4인1조 (건설기계운전기사 1명 특별인부 2명 보통인부 1명)" },
|
||||
@@ -733,9 +733,9 @@
|
||||
"이름": "소나무재선충병 방제 산물 수집량 가산 비율",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 7-9-2 주④",
|
||||
"용도": {"공종": "숲가꾸기, 소나무재선충병방제", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "숲가꾸기, 소나무재선충병방제", "대상": ["작업량 조건"], "로직키": ["GF000313"]},
|
||||
"조건": { "노선별집재재적": "범위", "집재거리": "범위" },
|
||||
"범위규칙": "양 끝 포함 · 이하만 적힌 칸은 위 끝만",
|
||||
"범위규칙": "이상·이하 · 양 끝 포함 · 이하만 적힌 칸은 위 끝만",
|
||||
"값칸": { "가산율": "%" },
|
||||
"줄": [
|
||||
{ "노선별집재재적": [0, 20], "집재거리": [null, 100], "가산율": 17 },
|
||||
@@ -766,9 +766,9 @@
|
||||
"이름": "굴착기 우드그랩 산지집재-병해충방제",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 7-10",
|
||||
"용도": {"공종": "굴착기 우드그랩 산지집재-병해충방제", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "굴착기 우드그랩 산지집재-병해충방제", "대상": ["작업량 조건"], "로직키": ["GF000314"]},
|
||||
"조건": { "구분": "고르기", "ha당평균작업량": "범위" },
|
||||
"범위규칙": "이하·미만은 위 끝 · 이상·초과는 아래 끝 · 두 수는 양 끝 포함 · 칸마다 원문 칸에 적힘",
|
||||
"범위규칙": "이상·이하 · 이하·미만은 위 끝 · 이상·초과는 아래 끝 · 두 수는 양 끝 포함 · 칸마다 원문 칸에 적힘",
|
||||
"값칸": { "작업량": "㎥", "적용인부": "글", "ha당평균작업량원문": "글" },
|
||||
"줄": [
|
||||
{ "구분": "작업량", "ha당평균작업량": [null, 20], "ha당평균작업량원문": "20㎥ 미만", "작업량": 27.49, "적용인부": "건설기계운전기사 1명 보통인부 1인" },
|
||||
@@ -871,9 +871,9 @@
|
||||
"이름": "동력상하차기(우드그래플) 집적",
|
||||
"기준": "1대 1일당",
|
||||
"출처": "산림품셈 7-12",
|
||||
"용도": {"공종": "동력상하차기(우드그래플) 집적", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "동력상하차기(우드그래플) 집적", "대상": ["작업량 조건"], "로직키": ["GF000315"]},
|
||||
"조건": { "원목길이": "수", "원목직경": "범위" },
|
||||
"범위규칙": "이하·초과 · 두 수는 양 끝 포함 · 칸마다 원문 칸에 적힘 · 원목길이 m",
|
||||
"범위규칙": "이상·이하 · 이하·초과 · 두 수는 양 끝 포함 · 칸마다 원문 칸에 적힘 · 원목길이 m",
|
||||
"값칸": { "수량": "㎥", "소요인력": "글", "원목직경원문": "글" },
|
||||
"줄": [
|
||||
{ "원목길이": 1.8, "원목직경": [null, 9], "원목직경원문": "9㎝ 이하", "수량": 25.39, "소요인력": "1인 1조 (건설기계 운전기사 1명)" },
|
||||
@@ -916,7 +916,7 @@
|
||||
"이름": "검척",
|
||||
"기준": "100㎥당",
|
||||
"출처": "산림품셈 7-13",
|
||||
"용도": {"공종": "검척", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "검척", "대상": ["작업량 조건"], "로직키": ["GF000316"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "소요인력": "인", "인력구분": "글" },
|
||||
"줄": [
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
"이름": "나무주사 약제주입기",
|
||||
"기준": "ha당",
|
||||
"출처": "산림품셈 8-1-1",
|
||||
"용도": {"공종": "약제주입기", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "약제주입기", "대상": ["인력", "작업량 조건"], "로직키": ["GF000317"]},
|
||||
"조건": { "천공수": "범위" },
|
||||
"범위규칙": "이하·초과 · 칸마다 원문 칸에 적힘",
|
||||
"범위규칙": "이하 · 이하·초과 · 칸마다 원문 칸에 적힘",
|
||||
"값칸": { "특별인부": "인", "보통인부": "인", "천공수원문": "글" },
|
||||
"줄": [
|
||||
{ "천공수": [null, 600], "천공수원문": "600개 이하", "특별인부": 0.62, "보통인부": 1.86 },
|
||||
@@ -39,9 +39,9 @@
|
||||
"이름": "나무주사 약제주입병",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 8-1-2",
|
||||
"용도": {"공종": "약제주입병", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "약제주입병", "대상": ["인력", "작업량 조건"], "로직키": ["GF000318"]},
|
||||
"조건": { "천공수": "범위" },
|
||||
"범위규칙": "이하·초과 · 칸마다 원문 칸에 적힘",
|
||||
"범위규칙": "이하 · 이하·초과 · 칸마다 원문 칸에 적힘",
|
||||
"값칸": { "특별인부": "인", "보통인부": "인", "천공수원문": "글" },
|
||||
"줄": [
|
||||
{ "천공수": [null, 300], "천공수원문": "300개 이하", "특별인부": 0.31, "보통인부": 0.93 },
|
||||
@@ -764,9 +764,9 @@
|
||||
"이름": "끈끈이 롤 트랩",
|
||||
"기준": "100본/ha당",
|
||||
"출처": "산림품셈 8-4",
|
||||
"용도": {"공종": "끈끈이 롤 트랩", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "끈끈이 롤 트랩", "대상": ["인력", "작업량 조건"], "로직키": ["GF000319"]},
|
||||
"조건": { "구분": "고르기", "롤트랩사용량": "범위" },
|
||||
"범위규칙": "미만·이상 · 칸마다 원문 칸에 적힘",
|
||||
"범위규칙": "이상·미만 · 미만·이상 · 칸마다 원문 칸에 적힘",
|
||||
"값칸": { "작업량": "줄 따름", "롤트랩사용량원문": "글", "임업용테이프": "m/본", "적용인부": "글" },
|
||||
"줄": [
|
||||
{ "구분": "롤트랩 설치", "롤트랩사용량": [null, 8], "롤트랩사용량원문": "8롤 미만", "작업량": 2.5, "단위": "ha", "적용인부": "보통인부", "임업용테이프": 4 },
|
||||
@@ -890,7 +890,7 @@
|
||||
"이름": "드론방제 무인 헬리콥터 소요인력",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 8-6-2",
|
||||
"용도": {"공종": "드론방제", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "드론방제", "대상": ["인력", "작업량 조건"], "로직키": ["GF000320"]},
|
||||
"조건": { "구분": "고르기", "항목": "고르기" },
|
||||
"값칸": { "드론조종자 (건설기계 조종원)": "인", "부조종자 (건설기계 조종원)": "인", "특별인부 (신호수)": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -916,7 +916,7 @@
|
||||
"이름": "드론방제 무인 멀티콥터 소요인력",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 8-6-2",
|
||||
"용도": {"공종": "드론방제", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "드론방제", "대상": ["인력", "작업량 조건"], "로직키": ["GF000320"]},
|
||||
"조건": { "구분": "고르기", "항목": "고르기" },
|
||||
"값칸": { "드론조종자 (건설기계 조종원)": "인", "부조종자 (건설기계 조종원)": "인", "특별인부 (신호수)": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -940,7 +940,7 @@
|
||||
"이름": "지상방제 지상 약제살포",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 8-6-3",
|
||||
"용도": {"공종": "지상방제", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "지상방제", "대상": ["인력", "작업량 조건"], "로직키": ["GF000321"]},
|
||||
"조건": { "구분": "고르기", "항목": "고르기" },
|
||||
"값칸": { "특별인부": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -958,7 +958,7 @@
|
||||
"이름": "지상살포 희석배수별 약제소요량",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 8-6-3",
|
||||
"용도": {"공종": "지상방제", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "지상방제", "대상": ["작업량 조건"], "로직키": ["GF000321"]},
|
||||
"조건": { "희석배수": "수", "물의양": "수" },
|
||||
"값칸": { "약제소요량": "㎖", "물의양원문": "글" },
|
||||
"줄": [
|
||||
@@ -1130,7 +1130,7 @@
|
||||
"이름": "그물망 피복",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 8-10",
|
||||
"용도": {"공종": "그물망 피복", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "그물망 피복", "대상": ["인력", "작업량 조건"], "로직키": ["GF000322"]},
|
||||
"조건": { "입목재적": "수", "항목": "고르기" },
|
||||
"값칸": { "벌목부": "인", "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -1152,7 +1152,7 @@
|
||||
"이름": "이동식 임목 파쇄",
|
||||
"기준": "1대 1조 시간당",
|
||||
"출처": "산림품셈 8-11",
|
||||
"용도": {"공종": "이동식 임목 파쇄", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "이동식 임목 파쇄", "대상": ["작업량 조건"], "로직키": ["GF000323"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "작업량": "㎥/hr", "작업량원문": "글", "규격": "글", "비고": "글" },
|
||||
"줄": [
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
"이름": "암절취 암파쇄",
|
||||
"기준": "㎥/hr · 본/hr",
|
||||
"출처": "산림품셈 9-4-1",
|
||||
"용도": {"공종": "암파쇄", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "암파쇄", "대상": ["작업량 조건"], "로직키": ["GF000252"]},
|
||||
"조건": { "적용기계": "고르기", "암의 종류": "고르기" },
|
||||
"값칸": { "작업능력": "㎥/hr", "치즐소모량": "본/hr" },
|
||||
"줄": [
|
||||
@@ -110,7 +110,7 @@
|
||||
"이름": "발파암 육상, 암석 절취(발파 10%)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-5-1",
|
||||
"용도": {"공종": "육상, 암석 절취", "대상": ["기계", "인력", "작업량 조건", "재료"], "로직키": []},
|
||||
"용도": {"공종": "육상, 암석 절취", "대상": ["기계", "인력", "작업량 조건", "재료"], "로직키": ["GF000254"]},
|
||||
"조건": { "구분": "고르기", "이름": "고르기", "규격": "고르기" },
|
||||
"값칸": { "수량": "줄 따름", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -130,7 +130,7 @@
|
||||
"이름": "발파암 깎기(90%)",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 9-5-2",
|
||||
"용도": {"공종": "깎기", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "깎기", "대상": ["작업량 조건"], "로직키": ["GF000253"]},
|
||||
"조건": { "암의 종류": "고르기" },
|
||||
"값칸": { "작업능력": "㎥/hr", "치즐소모량": "본/hr" },
|
||||
"줄": [
|
||||
@@ -167,7 +167,7 @@
|
||||
"이름": "발파암 소할 기계소할(15%)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-6-1",
|
||||
"용도": {"공종": "기계소할", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "기계소할", "대상": ["작업량 조건"], "로직키": ["GF000255"]},
|
||||
"조건": { "적용기계": "고르기" },
|
||||
"값칸": { "작업능력": "㎥/hr", "작업능력원문": "글", "치즐소모량": "본/hr" },
|
||||
"줄": [
|
||||
@@ -187,7 +187,7 @@
|
||||
"이름": "무근콘크리트 깨기 T=30㎝ 미만",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-7-1",
|
||||
"용도": {"공종": "T=30㎝ 미만", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "T=30㎝ 미만", "대상": ["작업량 조건"], "로직키": ["GF000256"]},
|
||||
"조건": { "구분": "고르기", "평균두께": "범위" },
|
||||
"범위규칙": "이상·미만 · 평균두께 단위 ㎝",
|
||||
"값칸": { "작업능력": "㎥/hr", "작업능력원문": "글", "비고": "글" },
|
||||
@@ -233,7 +233,7 @@
|
||||
"이름": "무근콘크리트 깨기 T=30㎝ 이상",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-7-2",
|
||||
"용도": {"공종": "T=30㎝ 이상", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "T=30㎝ 이상", "대상": ["작업량 조건"], "로직키": ["GF000257"]},
|
||||
"조건": { "구분": "고르기", "평균두께": "범위" },
|
||||
"범위규칙": "이상·미만 · 평균두께 단위 ㎝",
|
||||
"값칸": { "작업능력": "㎥/hr", "작업능력원문": "글", "비고": "글" },
|
||||
@@ -253,7 +253,7 @@
|
||||
"이름": "철근콘크리트 깨기 T=30㎝ 미만 깨기",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-8-1",
|
||||
"용도": {"공종": "T=30㎝ 미만", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "T=30㎝ 미만", "대상": ["작업량 조건"], "로직키": ["GF000258"]},
|
||||
"조건": { "구분": "고르기", "평균두께": "범위" },
|
||||
"범위규칙": "이상·미만 · 평균두께 단위 ㎝",
|
||||
"값칸": { "작업능력": "㎥/hr", "작업능력원문": "글", "비고": "글" },
|
||||
@@ -293,7 +293,7 @@
|
||||
"이름": "철근콘크리트 깨기 T=30㎝ 이상 깨기",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-8-2",
|
||||
"용도": {"공종": "T=30㎝ 이상", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "T=30㎝ 이상", "대상": ["작업량 조건"], "로직키": ["GF000259"]},
|
||||
"조건": { "구분": "고르기", "평균두께": "범위" },
|
||||
"범위규칙": "이상·미만 · 평균두께 단위 ㎝",
|
||||
"값칸": { "작업능력": "㎥/hr", "작업능력원문": "글", "비고": "글" },
|
||||
@@ -336,7 +336,7 @@
|
||||
"이름": "기존포장 깨기 콘크리트 깨기",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-10-1",
|
||||
"용도": {"공종": "콘크리트", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "콘크리트", "대상": ["작업량 조건"], "로직키": ["GF000260"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "작업능력": "㎥/hr", "작업능력원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -357,7 +357,7 @@
|
||||
"이름": "기존포장 깨기 아스팔트 깨기",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-10-2",
|
||||
"용도": {"공종": "아스팔트", "대상": ["작업량 조건", "재료"], "로직키": []},
|
||||
"용도": {"공종": "아스팔트", "대상": ["작업량 조건", "재료"], "로직키": ["GF000261"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "작업능력": "㎥/hr", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -377,7 +377,7 @@
|
||||
"이름": "포장절단 콘크리트(기계)",
|
||||
"기준": "일당",
|
||||
"출처": "산림품셈 9-11-1",
|
||||
"용도": {"공종": "콘크리트", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "콘크리트", "대상": ["인력", "작업량 조건"], "로직키": ["GF000262"]},
|
||||
"조건": { "구분": "고르기", "이름": "고르기", "규격": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -442,7 +442,7 @@
|
||||
"이름": "측구터파기 암절취",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-12-2",
|
||||
"용도": {"공종": "암절취", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "암절취", "대상": ["인력", "작업량 조건"], "로직키": ["GF000263"]},
|
||||
"조건": { "구분": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -462,7 +462,7 @@
|
||||
"이름": "측구터파기 발파암",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-12-3",
|
||||
"용도": {"공종": "발파암", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "발파암", "대상": ["인력", "작업량 조건"], "로직키": ["GF000264"]},
|
||||
"조건": { "구분": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -577,7 +577,7 @@
|
||||
"이름": "구조물터파기 육상 암절취(0~1m)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-13-7",
|
||||
"용도": {"공종": "육상 암절취", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "육상 암절취", "대상": ["인력", "작업량 조건"], "로직키": ["GF000265", "GF000266", "GF000267"]},
|
||||
"조건": { "구분": "고르기", "작업": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -597,7 +597,7 @@
|
||||
"이름": "구조물터파기 육상 암절취(1~2m)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-13-8",
|
||||
"용도": {"공종": "육상 암절취", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "육상 암절취", "대상": ["인력", "작업량 조건"], "로직키": ["GF000266"]},
|
||||
"조건": { "구분": "고르기", "작업": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -614,7 +614,7 @@
|
||||
"이름": "구조물터파기 육상 암절취(2~3m)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-13-9",
|
||||
"용도": {"공종": "육상 암절취", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "육상 암절취", "대상": ["인력", "작업량 조건"], "로직키": ["GF000267"]},
|
||||
"조건": { "구분": "고르기", "작업": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -631,7 +631,7 @@
|
||||
"이름": "구조물터파기 용수 암절취(0~1m)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-13-10",
|
||||
"용도": {"공종": "용수 암절취", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "용수 암절취", "대상": ["인력", "작업량 조건"], "로직키": ["GF000268", "GF000269", "GF000270"]},
|
||||
"조건": { "구분": "고르기", "작업": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -650,7 +650,7 @@
|
||||
"이름": "구조물터파기 용수 암절취(1~2m)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-13-11",
|
||||
"용도": {"공종": "용수 암절취", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "용수 암절취", "대상": ["인력", "작업량 조건"], "로직키": ["GF000269"]},
|
||||
"조건": { "구분": "고르기", "작업": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -666,7 +666,7 @@
|
||||
"이름": "구조물터파기 용수 암절취(2~3m)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-13-12",
|
||||
"용도": {"공종": "용수 암절취", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "용수 암절취", "대상": ["인력", "작업량 조건"], "로직키": ["GF000270"]},
|
||||
"조건": { "구분": "고르기", "작업": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -682,7 +682,7 @@
|
||||
"이름": "구조물터파기 육상 발파암(0~1m)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-13-13",
|
||||
"용도": {"공종": "육상 발파암", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "육상 발파암", "대상": ["인력", "작업량 조건"], "로직키": ["GF000271", "GF000272", "GF000273"]},
|
||||
"조건": { "구분": "고르기", "작업": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -702,7 +702,7 @@
|
||||
"이름": "구조물터파기 육상 발파암(1~2m)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-13-14",
|
||||
"용도": {"공종": "육상 발파암", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "육상 발파암", "대상": ["인력", "작업량 조건"], "로직키": ["GF000272"]},
|
||||
"조건": { "구분": "고르기", "작업": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -719,7 +719,7 @@
|
||||
"이름": "구조물터파기 육상 발파암(2~3m)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-13-15",
|
||||
"용도": {"공종": "육상 발파암", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "육상 발파암", "대상": ["인력", "작업량 조건"], "로직키": ["GF000273"]},
|
||||
"조건": { "구분": "고르기", "작업": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -736,7 +736,7 @@
|
||||
"이름": "구조물터파기 용수 발파암(0~1m)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-13-16",
|
||||
"용도": {"공종": "용수 발파암", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "용수 발파암", "대상": ["인력", "작업량 조건"], "로직키": ["GF000274", "GF000275", "GF000276"]},
|
||||
"조건": { "구분": "고르기", "작업": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -756,7 +756,7 @@
|
||||
"이름": "구조물터파기 용수 발파암(1~2m)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-13-17",
|
||||
"용도": {"공종": "용수 발파암", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "용수 발파암", "대상": ["인력", "작업량 조건"], "로직키": ["GF000275"]},
|
||||
"조건": { "구분": "고르기", "작업": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -773,7 +773,7 @@
|
||||
"이름": "구조물터파기 용수 발파암(2~3m)",
|
||||
"기준": "㎥당",
|
||||
"출처": "산림품셈 9-13-18",
|
||||
"용도": {"공종": "용수 발파암", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "용수 발파암", "대상": ["인력", "작업량 조건"], "로직키": ["GF000276"]},
|
||||
"조건": { "구분": "고르기", "작업": "고르기", "이름": "고르기", "항목": "고르기" },
|
||||
"값칸": { "적용": "줄 따름", "적용원문": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -982,7 +982,7 @@
|
||||
"이름": "비탈면 고르기(발파암) 기계사용료 (연암, 보통암+경암)/2 적용",
|
||||
"기준": "㎡당",
|
||||
"출처": "산림품셈 9-19-3",
|
||||
"용도": {"공종": "비탈면 고르기", "대상": ["기계", "인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "비탈면 고르기", "대상": ["기계", "인력", "작업량 조건"], "로직키": ["GF000278"]},
|
||||
"조건": { "구분": "고르기", "이름": "고르기" },
|
||||
"값칸": { "수량": "줄 따름", "비고": "글" },
|
||||
"줄": [
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
"이름": "인력운반 토사",
|
||||
"기준": "인/㎥당",
|
||||
"출처": "산림품셈 10-6-1",
|
||||
"용도": {"공종": "토사", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "토사", "대상": ["작업량 조건"], "로직키": ["GF000279"]},
|
||||
"조건": { "거리(m)": "수" },
|
||||
"값칸": { "보통인부 토사": "인", "보통인부 석재": "인" },
|
||||
"줄": [
|
||||
@@ -149,7 +149,7 @@
|
||||
"이름": "인력운반 돌(지게)",
|
||||
"기준": "인/㎥당",
|
||||
"출처": "산림품셈 10-6-2",
|
||||
"용도": {"공종": "돌", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "돌", "대상": ["인력", "작업량 조건"], "로직키": ["GF000280"]},
|
||||
"조건": { "거리(m)": "수" },
|
||||
"값칸": { "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -176,7 +176,7 @@
|
||||
"이름": "인력운반 기타 임업자재",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 10-6-3",
|
||||
"용도": {"공종": "기타 임업자재", "대상": ["작업량 조건", "재료"], "로직키": []},
|
||||
"용도": {"공종": "기타 임업자재", "대상": ["작업량 조건", "재료"], "로직키": ["GF000281"]},
|
||||
"조건": { "거리(m)": "수" },
|
||||
"값칸": { "목재 소재(조재목)": "인/㎥", "목재 제재": "인/㎥", "볏짚": "인/100속", "섶단·새": "인/100속", "나뭇가지단": "인/100속", "자른 떼(20㎝×20㎝)": "인/100매", "식생낭(혼토입)": "인/100개", "편책용 말뚝(목재,파이프)": "인/100본", "볏짚멍석(종비포함)": "인/1000㎡", "비료": "인/톤" },
|
||||
"줄": [
|
||||
@@ -218,7 +218,7 @@
|
||||
"이름": "인력운반 돌(지게) 1회 운반량·할증",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 10-6-2 주③",
|
||||
"용도": {"공종": "돌", "대상": ["작업량 조건", "할증"], "로직키": []},
|
||||
"용도": {"공종": "돌", "대상": ["작업량 조건", "할증"], "로직키": ["GF000280"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "운반량": "kg", "할증": "%", "적용": "글" },
|
||||
"줄": [
|
||||
@@ -406,7 +406,7 @@
|
||||
"이름": "케이블 크레인 짐내리기",
|
||||
"기준": "인/1일당",
|
||||
"출처": "산림품셈 10-8-1",
|
||||
"용도": {"공종": "짐내리기", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "짐내리기", "대상": ["작업량 조건"], "로직키": ["GF000282"]},
|
||||
"조건": { "구분": "고르기", "운반기구": "고르기", "비고": "고르기" },
|
||||
"값칸": { "보통인부 짐내리는 인부": "인", "보통인부 신호수": "인" },
|
||||
"줄": [
|
||||
@@ -483,7 +483,7 @@
|
||||
"이름": "케이블 크레인 2단 크레인 추가 인부",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 10-8-1 주②",
|
||||
"용도": {"공종": "짐내리기", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "짐내리기", "대상": ["작업량 조건"], "로직키": ["GF000282"]},
|
||||
"조건": { "구분": "고르기" },
|
||||
"값칸": { "보통인부 추가": "인" },
|
||||
"줄": [
|
||||
@@ -541,7 +541,7 @@
|
||||
"이름": "덤프트럭 자재의 1회당 표준 운반량",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 10-9-1",
|
||||
"용도": {"공종": "자재의 1회당 표준 운반량", "대상": ["작업량 조건", "재료"], "로직키": []},
|
||||
"용도": {"공종": "자재의 1회당 표준 운반량", "대상": ["작업량 조건", "재료"], "로직키": ["GF000283"]},
|
||||
"조건": { "구분": "고르기", "규격": "고르기" },
|
||||
"값칸": { "중량": "kg", "환산량": "환산단위 따름", "환산단위": "글", "본수": "본" },
|
||||
"줄": [
|
||||
@@ -717,7 +717,7 @@
|
||||
"이름": "덤프운반 토사 굴착기 작업능력",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 10-12-1 주⑤",
|
||||
"용도": {"공종": "토사", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "토사", "대상": ["작업량 조건"], "로직키": ["GF000284"]},
|
||||
"조건": { "구분": "고르기", "세부": "고르기" },
|
||||
"값칸": { "값": "단위 따름", "단위": "글", "괄호값": "수 또는 글", "괄호단위": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -743,7 +743,7 @@
|
||||
"이름": "덤프운반 토사 덤프트럭 작업능력",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 10-12-1 주②",
|
||||
"용도": {"공종": "토사", "대상": ["기계", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "토사", "대상": ["기계", "작업량 조건"], "로직키": ["GF000284"]},
|
||||
"조건": { "구분": "고르기", "세부": "고르기" },
|
||||
"값칸": { "값": "단위 따름", "단위": "글", "괄호값": "글", "적용": "글", "비고": "글" },
|
||||
"줄": [
|
||||
@@ -778,7 +778,7 @@
|
||||
"이름": "덤프운반 토사 적재 재료 단위중량",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 10-12-1 주②",
|
||||
"용도": {"공종": "토사", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "토사", "대상": ["작업량 조건"], "로직키": ["GF000284"]},
|
||||
"조건": { "재료": "고르기" },
|
||||
"값칸": { "단위중량": "ton/㎥" },
|
||||
"줄": [
|
||||
@@ -795,7 +795,7 @@
|
||||
"이름": "덤프운반 토사 토량환산계수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 10-12-1 주③",
|
||||
"용도": {"공종": "토사", "대상": ["작업량 조건", "환산"], "로직키": []},
|
||||
"용도": {"공종": "토사", "대상": ["작업량 조건", "환산"], "로직키": ["GF000284"]},
|
||||
"조건": { "재료": "고르기" },
|
||||
"값칸": { "토량환산계수(L)": "" },
|
||||
"줄": [
|
||||
@@ -831,7 +831,7 @@
|
||||
"이름": "인력운반(드론운반공)",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 10-13-2",
|
||||
"용도": {"공종": "인력운반", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "인력운반", "대상": ["작업량 조건"], "로직키": ["GF000285"]},
|
||||
"조건": { "수평거리(m)": "수" },
|
||||
"값칸": { "인원": "명" },
|
||||
"줄": [
|
||||
|
||||
@@ -555,7 +555,7 @@
|
||||
"이름": "밑돌 및 천단 돌쌓기",
|
||||
"기준": "m당",
|
||||
"출처": "산림품셈 13-4-6",
|
||||
"용도": {"공종": "밑돌 및 천단 돌쌓기", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "밑돌 및 천단 돌쌓기", "대상": ["인력", "작업량 조건"], "로직키": ["GF000324"]},
|
||||
"조건": { "돌의 뒷길이": "수" },
|
||||
"값칸": { "석공": "인" },
|
||||
"줄": [
|
||||
@@ -955,7 +955,7 @@
|
||||
"이름": "작은 말뚝 박기(6할 박기)",
|
||||
"기준": "개당",
|
||||
"출처": "산림품셈 13-10-2 1",
|
||||
"용도": {"공종": "나무 말뚝박기", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "나무 말뚝박기", "대상": ["인력", "작업량 조건"], "로직키": ["GF000325", "GF000326", "GF000327"]},
|
||||
"조건": { "말구(㎝)": "수", "길이(m)": "수" },
|
||||
"값칸": { "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -1003,7 +1003,7 @@
|
||||
"이름": "기초말뚝 박기",
|
||||
"기준": "개당",
|
||||
"출처": "산림품셈 13-10-2 2",
|
||||
"용도": {"공종": "나무 말뚝박기", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "나무 말뚝박기", "대상": ["인력", "작업량 조건"], "로직키": ["GF000325", "GF000326", "GF000327"]},
|
||||
"조건": { "말구(㎝)": "수", "길이(m)": "수" },
|
||||
"값칸": { "보통인부": "인" },
|
||||
"줄": [
|
||||
@@ -1117,7 +1117,7 @@
|
||||
"이름": "기초말뚝 박기 관입길이에 따른 계수",
|
||||
"기준": "",
|
||||
"출처": "산림품셈 13-10-2 2 주⑥",
|
||||
"용도": {"공종": "나무 말뚝박기", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "나무 말뚝박기", "대상": ["작업량 조건"], "로직키": ["GF000325", "GF000326", "GF000327"]},
|
||||
"조건": { "관입률": "수" },
|
||||
"값칸": { "계수": "" },
|
||||
"줄": [
|
||||
@@ -1135,7 +1135,7 @@
|
||||
"이름": "윈치말뚝 박기",
|
||||
"기준": "1일당",
|
||||
"출처": "산림품셈 13-10-2 3",
|
||||
"용도": {"공종": "나무 말뚝박기", "대상": ["기계", "인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "나무 말뚝박기", "대상": ["기계", "인력", "작업량 조건"], "로직키": ["GF000325", "GF000326", "GF000327"]},
|
||||
"조건": { "말구(㎝)": "수", "길이(m)": "수" },
|
||||
"값칸": { "경유": "ℓ", "잡재료": "%", "기계운전원(발동기)": "인", "비계공": "인", "보통인부": "인", "특별인부": "인", "일기당개박수": "개", "발동기": "HP", "떨공이": "kg", "말뚝중량": "kg/개", "떨공이원문": "글", "윈치": "글" },
|
||||
"줄": [
|
||||
@@ -1184,7 +1184,7 @@
|
||||
"이름": "원형 돌망태 인력",
|
||||
"기준": "㎡당",
|
||||
"출처": "산림품셈 13-11-1 1",
|
||||
"용도": {"공종": "원형", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "원형", "대상": ["작업량 조건"], "로직키": ["GF000328"]},
|
||||
"조건": { "지름(㎝)": "수" },
|
||||
"값칸": { "조약돌량": "㎥", "조립설치": "인", "돌채움": "인" },
|
||||
"줄": [
|
||||
@@ -1206,7 +1206,7 @@
|
||||
"이름": "원형 돌망태 기계",
|
||||
"기준": "㎡당",
|
||||
"출처": "산림품셈 13-11-1 2",
|
||||
"용도": {"공종": "원형", "대상": ["기계", "인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "원형", "대상": ["기계", "인력", "작업량 조건"], "로직키": ["GF000328"]},
|
||||
"조건": { "지름(㎝)": "수", "공종": "고르기", "명칭": "고르기" },
|
||||
"값칸": { "수량": "줄 따름" },
|
||||
"줄": [
|
||||
@@ -1251,7 +1251,7 @@
|
||||
"이름": "타원형 돌망태 인력",
|
||||
"기준": "㎡당",
|
||||
"출처": "산림품셈 13-11-2 1",
|
||||
"용도": {"공종": "타원형", "대상": ["작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "타원형", "대상": ["작업량 조건"], "로직키": ["GF000329"]},
|
||||
"조건": { "지름(㎝)": "수" },
|
||||
"값칸": { "조약돌량": "㎥", "조립설치": "인", "돌채움": "인" },
|
||||
"줄": [
|
||||
@@ -1277,7 +1277,7 @@
|
||||
"이름": "타원형 돌망태 기계",
|
||||
"기준": "㎡당",
|
||||
"출처": "산림품셈 13-11-2 2",
|
||||
"용도": {"공종": "타원형", "대상": ["기계", "인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "타원형", "대상": ["기계", "인력", "작업량 조건"], "로직키": ["GF000329"]},
|
||||
"조건": { "지름(㎝)": "수", "공종": "고르기", "명칭": "고르기" },
|
||||
"값칸": { "수량": "줄 따름" },
|
||||
"줄": [
|
||||
@@ -1541,7 +1541,7 @@
|
||||
"이름": "목재 껍질벗기기",
|
||||
"기준": "m당",
|
||||
"출처": "산림품셈 13-15-1",
|
||||
"용도": {"공종": "목재 껍질벗기기", "대상": ["인력", "작업량 조건"], "로직키": []},
|
||||
"용도": {"공종": "목재 껍질벗기기", "대상": ["인력", "작업량 조건"], "로직키": ["GF000330"]},
|
||||
"조건": { "말구(㎝)": "수" },
|
||||
"값칸": { "보통인부": "인" },
|
||||
"줄": [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* M02 항목 나무 자료(`M02_MasterTemplete_TreePanel_Model.ts`) 단위검증 헬퍼 — 트랜스파일해 Node 로 돌리고 JSON 으로 냄. */
|
||||
/* M02 구조물 라이브러리 자료(`M02_MasterTemplete_TreePanel_Model.ts`) 단위검증 헬퍼 — 트랜스파일해 Node 로 돌리고 JSON 으로 냄. */
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const ts = require(path.join(__dirname, "..", "..", "config", "node_modules", "typescript"));
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
"""B01 대시보드 「시스템 설정」 컨테이너 시험(27-3) — 화면 조작은 ORCA.
|
||||
|
||||
· 역할별 카드(제목 · 설명 · 이동 해시)를 Node 로 바로 돌림 — 가짜 DOM
|
||||
· 모든 역할 맨 위 한 줄 · 통째로 접힘 · 「구조물 관리」 컨테이너 없음
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
import re
|
||||
import shutil
|
||||
import subprocess
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
PAGE = ROOT / "B01_Dashboard" / "B01_Dashboard_UI_Page.ts"
|
||||
|
||||
|
||||
def _text(path: Path) -> str:
|
||||
return path.read_text(encoding="utf-8")
|
||||
|
||||
|
||||
def _fn(src: str, name: str) -> str:
|
||||
found = re.search(rf"^function {name}\([\s\S]*?^}}", src, re.M)
|
||||
assert found, f"{name} 를 못 찾음"
|
||||
return found.group(0)
|
||||
|
||||
|
||||
def _cards(user: dict) -> list:
|
||||
src = _text(PAGE)
|
||||
script = (
|
||||
"interface DashboardUser { role: string; is_master: boolean }\n"
|
||||
"const ROUTES = { M01_MASTER_DATA: 'm01-master-data', M02_MASTER_TEMPLATE: 'm02-master-template' };\n"
|
||||
"const L = (k: string) => k;\n"
|
||||
"let went = '';\n"
|
||||
"const navigateTo = (r: string, q?: Record<string, string>) =>"
|
||||
" { went = r + (q ? '?' + new URLSearchParams(q) : ''); };\n"
|
||||
"const mk = (): any => ({ children: [] as any[], textContent: '', className: '', on: null as any,"
|
||||
" append(...c: any[]) { this.children.push(...c); },"
|
||||
" addEventListener(_: string, f: any) { this.on = f; } });\n"
|
||||
"const document = { createElement: () => mk() };\n"
|
||||
+ _fn(src, "settingCard")
|
||||
+ "\n"
|
||||
+ _fn(src, "buildSystemSettingsPanel")
|
||||
+ "\nconst user = JSON.parse(process.argv[1]);"
|
||||
+ "\nconsole.log(JSON.stringify(buildSystemSettingsPanel(user).children.map((c: any) => {"
|
||||
+ " c.on(); return [c.children[0].textContent, c.children[1].textContent,"
|
||||
+ " decodeURIComponent(went)]; })));"
|
||||
)
|
||||
result = subprocess.run(
|
||||
["node", "--experimental-strip-types", "--no-warnings",
|
||||
"--input-type=module-typescript", "-e", script, json.dumps(user)],
|
||||
capture_output=True, text=True, encoding="utf-8", timeout=60,
|
||||
) # fmt: skip
|
||||
assert result.returncode == 0, result.stderr
|
||||
return json.loads(result.stdout)
|
||||
|
||||
|
||||
M02 = "m02-master-template"
|
||||
READ_CO = (
|
||||
"B01_Dashboard_PermMasterRead · B01_Dashboard_PermCompanyRead · B01_Dashboard_PermPersonalWrite"
|
||||
)
|
||||
WRITE_CO = READ_CO.replace("CompanyRead", "CompanyWrite")
|
||||
|
||||
|
||||
@pytest.mark.skipif(shutil.which("node") is None, reason="node 가 없음")
|
||||
def test_시스템_관리자_카드_다섯():
|
||||
m = "B01_Dashboard_PermMasterWrite"
|
||||
assert _cards({"role": "SYSTEM_ADMIN", "is_master": False}) == [
|
||||
["B01_Dashboard_MasterElements", "B01_Dashboard_PermSourceRead", "m01-master-data"],
|
||||
["B01_Dashboard_CardUnitCombo", m, f"{M02}?open=일위대가&root=master"],
|
||||
["B01_Dashboard_CardStructCombo", m, f"{M02}?open=구조물조합&root=master"],
|
||||
["B01_Dashboard_CardStructOption", m, f"{M02}?open=옵션&root=master"],
|
||||
["B01_Dashboard_CardDrawing", m, f"{M02}?open=도면&root=master"],
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.skipif(shutil.which("node") is None, reason="node 가 없음")
|
||||
def test_회사_관리자_개인_카드_둘():
|
||||
company = [
|
||||
["B01_Dashboard_CardUnitCombo", WRITE_CO, f"{M02}?open=일위대가&root=company"],
|
||||
["B01_Dashboard_CardStructCombo", WRITE_CO, f"{M02}?open=구조물조합&root=company"],
|
||||
]
|
||||
assert _cards({"role": "ADMIN", "is_master": False}) == company
|
||||
assert _cards({"role": "USER", "is_master": True}) == company # 회사 마스터 = 회사 수정
|
||||
assert _cards({"role": "USER", "is_master": False}) == [
|
||||
["B01_Dashboard_CardUnitCombo", READ_CO, f"{M02}?open=일위대가&root=personal"],
|
||||
["B01_Dashboard_CardStructCombo", READ_CO, f"{M02}?open=구조물조합&root=personal"],
|
||||
]
|
||||
|
||||
|
||||
def test_모든_역할_맨_위_통째로_접힘():
|
||||
src = _text(PAGE)
|
||||
build = _fn(src, "buildPage")
|
||||
# 역할 갈래 앞에서 한 번 — 모든 역할 · 프로젝트 위
|
||||
assert build.index("grid.append(buildSystemSettingsSection(state.user))") < build.index(
|
||||
'if (state.user.role === "SYSTEM_ADMIN")'
|
||||
)
|
||||
assert "StructureManage" not in src and "buildStructurePanel" not in src
|
||||
assert "top-row" not in src
|
||||
sect = _fn(src, "buildSystemSettingsSection")
|
||||
assert "buildSystemSettingsPanel(user), true)" in sect # 한 줄 통째
|
||||
assert '"ui-collapsible"' in sect and '"ui-collapsible__title"' in sect
|
||||
assert "attachCollapsible(card)" in sect
|
||||
config = _text(ROOT / "config" / "config_frontend.ts")
|
||||
assert re.search(r"PROTECTED_ROUTES[\s\S]*?ROUTES\.M02_MASTER_TEMPLATE,[\s\S]*?\];", config)
|
||||
@@ -266,7 +266,10 @@ def test_단가_자동_요소_찾기_저장전_시험계산(client: TestClient)
|
||||
json={"key": LOGIC_KEY, "inputs": LOGIC_INPUTS, "row": half},
|
||||
)
|
||||
lines = res.json()["lines"]
|
||||
assert [x["이름"] for x in lines] == ["화약취급공"] and res.json()["sums"]["계"] < before
|
||||
names = [x["이름"] for x in lines] # 소모자재 덧줄(3-3-6 주⑨)은 남음
|
||||
assert (
|
||||
names[0] == "화약취급공" and "보통인부" not in names and res.json()["sums"]["계"] < before
|
||||
)
|
||||
new = {**half, "키": "", "원문번호": "새 로직"}
|
||||
body = {
|
||||
"key": "",
|
||||
|
||||
@@ -0,0 +1,142 @@
|
||||
"""M02 층 권한 한 벌(PLAN 27-1c · `M02_Layer_Access`) — 나무 · 항목 · 양식 · 남의 층 목록 같은 규칙.
|
||||
|
||||
① `grant` 표 — 역할(일반 · 회사 관리자 · 시스템 관리자) × 층(마스터 · 자기 회사 · 남의 회사 ·
|
||||
자기 개인 · 같은 회사 남 · 다른 회사 남) = 읽기 · 수정 · 막힘.
|
||||
② 임시 storage — 남의 층은 자리가 있을 때만(없으면 404 · 폴더 안 만듦) · 나무 · 양식 길 같은 답 ·
|
||||
남의 층 목록(회사 = 시스템 관리자 · 개인 = 회사 관리자 자기 회사 · 본인 뺌 · 자리 있는 것만).
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
import pytest
|
||||
from fastapi import HTTPException
|
||||
|
||||
from config import config_system
|
||||
from M02_MasterTemplete import M02_Layer_Access as access
|
||||
from M02_MasterTemplete import M02_MasterTemplete_Router_Layers as layers_router
|
||||
from M02_MasterTemplete import M02_MasterTemplete_Store as store
|
||||
from M02_MasterTemplete import M02_Template_Layers as layers
|
||||
from resources.tester.test_m02_structure import write_sample_table
|
||||
from resources.tester.test_m02_tree import _app
|
||||
|
||||
USER = {"user_id": 42, "company_id": 7, "role": "USER", "is_master": False}
|
||||
ADMIN = {**USER, "role": "ADMIN"}
|
||||
MASTER = {**USER, "is_master": True}
|
||||
SYSADMIN = {**USER, "role": "SYSTEM_ADMIN"}
|
||||
|
||||
|
||||
def _answer(session: dict[str, Any], layer: str, owner: str | None) -> str:
|
||||
try:
|
||||
return "수정" if access.grant(session, layer, owner).write else "읽기"
|
||||
except HTTPException as error:
|
||||
return str(error.status_code)
|
||||
|
||||
|
||||
def test_권한_표():
|
||||
cases = [
|
||||
("system", None),
|
||||
("company", None),
|
||||
("company", "9"),
|
||||
("personal", None),
|
||||
("personal", "7/43"),
|
||||
("personal", "9/90"),
|
||||
]
|
||||
got = {
|
||||
name: [_answer(s, *c) for c in cases]
|
||||
for name, s in (
|
||||
("일반", USER),
|
||||
("회사관리", ADMIN),
|
||||
("마스터", MASTER),
|
||||
("시스템", SYSADMIN),
|
||||
)
|
||||
}
|
||||
assert got == {
|
||||
"일반": ["읽기", "읽기", "403", "수정", "403", "403"],
|
||||
"회사관리": ["읽기", "수정", "403", "수정", "읽기", "403"],
|
||||
"마스터": ["읽기", "수정", "403", "수정", "읽기", "403"],
|
||||
"시스템": ["수정", "수정", "읽기", "수정", "읽기", "읽기"],
|
||||
}
|
||||
# 자기 층 owner 를 적어도 같음 · 모양 틀림 400 · 회사 없음 409
|
||||
assert access.grant(USER, "personal", "7/42").write is True
|
||||
assert _answer(SYSADMIN, "personal", "9") == "400"
|
||||
assert _answer({**USER, "company_id": None}, "company", None) == "409"
|
||||
with pytest.raises(HTTPException) as caught:
|
||||
access.require(ADMIN, "personal", "7/43", write=True)
|
||||
assert caught.value.status_code == 403
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def world(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> dict[str, Any]:
|
||||
system = tmp_path / "system"
|
||||
system.mkdir()
|
||||
write_sample_table(system)
|
||||
monkeypatch.setattr(store, "FOLDER", system)
|
||||
monkeypatch.setattr(layers, "SYSTEM_ROOT", system)
|
||||
store.renumber()
|
||||
storage = tmp_path / "storage"
|
||||
storage.mkdir()
|
||||
monkeypatch.setattr(config_system, "STORAGE_BASE_DIR", str(storage))
|
||||
users = {42: 7, 43: 7, 44: 7, 90: 9}
|
||||
|
||||
async def company_users(company_id: int) -> list[dict[str, Any]]:
|
||||
return [{"user_id": u, "name": f"u{u}"} for u, c in users.items() if c == company_id]
|
||||
|
||||
async def companies() -> list[dict[str, Any]]:
|
||||
return [{"company_id": c, "name": f"c{c}"} for c in (7, 8, 9)]
|
||||
|
||||
monkeypatch.setattr(layers_router, "_company_users", company_users)
|
||||
monkeypatch.setattr(layers_router, "_companies", companies)
|
||||
session: dict[str, Any] = dict(USER)
|
||||
return {"client": _app(session), "session": session, "storage": storage}
|
||||
|
||||
|
||||
def test_남의_층은_자리가_있을_때만_읽기(world: dict[str, Any]):
|
||||
client, session, storage = world["client"], world["session"], world["storage"]
|
||||
session.update(ADMIN)
|
||||
tree = "/api/m02/layers/personal/tree?owner=7/43"
|
||||
table = "/api/m02/layers/personal/templates/table/구조물집계표?owner=7/43"
|
||||
assert client.get(tree).status_code == 404 # 43 은 아직 아무것도 없음
|
||||
assert not (storage / "7/43").exists() # 읽기로 남의 폴더를 만들지 않음
|
||||
(storage / "7/43/templates").mkdir(parents=True) # 폴더만 있고 집계표 없음
|
||||
assert client.get(tree).status_code == 404
|
||||
assert client.get(table).status_code == 404
|
||||
assert client.get("/api/m02/items?layer=personal&owner=7/43").status_code == 404
|
||||
assert not any((storage / "7/43/templates").iterdir()) # 읽기로 남의 층에 뼈대를 안 씀
|
||||
session.update(user_id=43)
|
||||
assert client.get("/api/m02/layers/personal/tree").status_code == 200 # 43 첫 진입 = 뼈대
|
||||
session.update(user_id=42)
|
||||
assert client.get(tree).status_code == 200
|
||||
assert client.get(table).status_code == 200 # 양식 길도 같은 규칙
|
||||
body = {"op": "add-folder", "경로": [], "이름": "새", "판": client.get(tree).json()["판"]}
|
||||
assert client.post(tree, json=body).status_code == 403 # 읽기만
|
||||
assert client.get("/api/m02/items?layer=personal&owner=7/43").status_code == 200
|
||||
session.update(USER)
|
||||
assert client.get(tree).status_code == 403
|
||||
assert client.get(table).status_code == 403
|
||||
session.update(SYSADMIN)
|
||||
assert client.get(tree).status_code == 200
|
||||
assert client.post(tree, json=body).status_code == 403 # 시스템 관리자도 남의 층은 읽기만
|
||||
|
||||
|
||||
def test_남의_층_목록(world: dict[str, Any]):
|
||||
client, session, storage = world["client"], world["session"], world["storage"]
|
||||
for owner in ("7/43", "9/90"): # 층 폴더가 있는 사람만 목록에
|
||||
(storage / owner / "templates").mkdir(parents=True)
|
||||
(storage / "9/templates").mkdir()
|
||||
people = "/api/m02/layers/personal/owners"
|
||||
assert client.get(people).status_code == 403 # 일반 사용자
|
||||
assert client.get("/api/m02/layers/company/owners").status_code == 403
|
||||
session.update(ADMIN)
|
||||
assert client.get(people).json() == [
|
||||
{"owner": "7/43", "name": "u43"}
|
||||
] # 본인 · 44(자리 없음) 뺌
|
||||
assert client.get(f"{people}?company=9").status_code == 403 # 남의 회사 사람
|
||||
session.update(SYSADMIN)
|
||||
assert client.get("/api/m02/layers/company/owners").json() == [
|
||||
{"owner": "7", "name": "c7"}, # 자기 회사는 자리 없어도
|
||||
{"owner": "9", "name": "c9"},
|
||||
]
|
||||
assert client.get(f"{people}?company=9").json() == [{"owner": "9/90", "name": "u90"}]
|
||||
@@ -1,8 +1,8 @@
|
||||
"""M02 층 화면(`?layer=personal|company`) 붙는 자리 시험 — 화면 조작은 ORCA.
|
||||
"""M02 한 화면 뿌리 셋(PLAN 27-1 · 진입 해시 `?open=&root=&owner=`) 붙는 자리 시험 — 조작은 ORCA.
|
||||
|
||||
· 권한 규칙(`accessFor`)을 Node 로 바로 돌림 — 시스템 SYSTEM_ADMIN ·
|
||||
회사 ADMIN/is_master · 개인 본인 · 회사 없음
|
||||
· 주소 인자를 라우트에서 떼는지 · 대시보드 카드 역할별 단추 · 층 길 접두어
|
||||
회사 ADMIN/is_master/SYSTEM_ADMIN · 개인 본인 · 회사 없음 · 남의 층 읽기만
|
||||
· 주소 인자를 라우트에서 떼는지 · 대시보드 카드 역할별 단추 · 층 길 접두어 · 뿌리 셋
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
@@ -26,25 +26,35 @@ def _text(path: Path) -> str:
|
||||
|
||||
@pytest.mark.skipif(shutil.which("node") is None, reason="node 가 없음")
|
||||
def test_층별_고칠_권한():
|
||||
found = re.search(r"^export function accessFor[\s\S]*?^}", _text(LAYER), re.M)
|
||||
assert found, "accessFor 를 못 찾음"
|
||||
"""서버 `M02_Layer_Access` 와 같은 규칙(PLAN 27-1c) — 남의 층(owner)은 읽기만."""
|
||||
text = _text(LAYER)
|
||||
own = re.search(r"^export const ownOwner[\s\S]*?;\n", text, re.M)
|
||||
found = re.search(r"^export function accessFor[\s\S]*?^}", text, re.M)
|
||||
assert own and found, "ownOwner · accessFor 를 못 찾음"
|
||||
script = (
|
||||
'type ManageLayer = "system" | "company" | "personal";\n'
|
||||
"interface SessionUser { role?: string; company_id?: number | null; is_master?: boolean }\n"
|
||||
"interface SessionUser { id: string; role?: string; company_id?: number | null;"
|
||||
" is_master?: boolean }\n"
|
||||
"interface LayerAccess { canWrite: boolean; needCompany: boolean }\n"
|
||||
+ own.group(0).replace("export ", "")
|
||||
+ found.group(0).replace("export ", "")
|
||||
+ "\nconst cases = JSON.parse(process.argv[1]);"
|
||||
+ "\nconsole.log(JSON.stringify(cases.map((c) => accessFor(c[0], c[1]))));"
|
||||
+ "\nconsole.log(JSON.stringify(cases.map((c) => accessFor(c[0], c[1], c[2]))));"
|
||||
)
|
||||
sysadmin = {"role": "SYSTEM_ADMIN", "company_id": None}
|
||||
admin = {"role": "ADMIN", "company_id": 3}
|
||||
master = {"role": "USER", "company_id": 3, "is_master": True}
|
||||
user = {"role": "USER", "company_id": 3}
|
||||
orphan = {"role": "USER", "company_id": None}
|
||||
sysadmin = {"id": "1", "role": "SYSTEM_ADMIN", "company_id": None}
|
||||
sys3 = {"id": "1", "role": "SYSTEM_ADMIN", "company_id": 3}
|
||||
admin = {"id": "5", "role": "ADMIN", "company_id": 3}
|
||||
master = {"id": "6", "role": "USER", "company_id": 3, "is_master": True}
|
||||
user = {"id": "7", "role": "USER", "company_id": 3}
|
||||
orphan = {"id": "8", "role": "USER", "company_id": None}
|
||||
cases = [
|
||||
["system", sysadmin], ["system", admin], ["system", None],
|
||||
["company", admin], ["company", master], ["company", user], ["company", orphan],
|
||||
["personal", user], ["personal", admin], ["personal", orphan], ["personal", sysadmin],
|
||||
["system", None, sysadmin], ["system", None, admin], ["system", None, None],
|
||||
["company", None, admin], ["company", None, master], ["company", None, user],
|
||||
["company", None, orphan], ["company", None, sys3],
|
||||
["personal", None, user], ["personal", None, admin], ["personal", None, orphan],
|
||||
["personal", None, sysadmin],
|
||||
["personal", "3/7", user], ["personal", "3/7", admin], ["company", "9", sysadmin],
|
||||
["personal", "9/90", sysadmin],
|
||||
] # fmt: skip
|
||||
result = subprocess.run(
|
||||
["node", "--experimental-strip-types", "--no-warnings",
|
||||
@@ -57,8 +67,9 @@ def test_층별_고칠_권한():
|
||||
no_company = {"canWrite": False, "needCompany": True}
|
||||
assert json.loads(result.stdout) == [
|
||||
ok, ro, ro, # 시스템 = SYSTEM_ADMIN 만
|
||||
ok, ok, ro, no_company, # 회사 = ADMIN · is_master · 일반은 읽기만 · 회사 없음 안내
|
||||
ok, ok, ro, no_company, ok, # 회사 = ADMIN · is_master · SYSTEM_ADMIN · 일반 읽기만
|
||||
ok, ok, no_company, no_company, # 개인 = 본인 · 회사 없으면 안내
|
||||
ok, ro, ro, ro, # 자기 층 owner 는 자기 층 · 남의 층은 읽기만
|
||||
] # fmt: skip
|
||||
|
||||
|
||||
@@ -68,21 +79,35 @@ def test_주소_인자를_라우트에서_뗌():
|
||||
assert "export function currentQuery()" in router
|
||||
assert "query?: Record<string, string>" in router
|
||||
layer = _text(LAYER)
|
||||
assert 'value === "company" || value === "personal" ? value : "system"' in layer
|
||||
# 진입 해시 `?open=&root=&owner=`(PLAN 27-1d) · 옛 `?layer=` 도 root 로
|
||||
assert 'query.get("root") ?? query.get("layer")' in layer
|
||||
assert 'raw === "company" || raw === "personal" ? raw : "master"' in layer
|
||||
assert '["구조물조합", "일위대가", "옵션", "도면"]' in layer
|
||||
picker = _text(ROOT / "ui_template" / "ui_template_item_picker.ts")
|
||||
assert 'open: "구조물조합", root: "personal"' in picker and "layer=personal" not in picker
|
||||
|
||||
|
||||
def test_대시보드_카드_역할별_단추():
|
||||
page = _text(ROOT / "B01_Dashboard" / "B01_Dashboard_UI_Page.ts")
|
||||
def test_한_화면_뿌리_셋():
|
||||
"""27-1b · c — 뿌리 셋 한 화면 · 다른 뿌리 = 해시로 다시 세움(저장 안 한 고침은 먼저 물음) ·
|
||||
떠나면 층 길을 시스템으로 되돌림 · 목록은 펼칠 때 · 나무 부품은 owner · 자료 길을 받음."""
|
||||
page = _text(M02 / "M02_MasterTemplete_UI_Page.ts")
|
||||
assert "createLibraryRoots(" in page and "setActiveLayer(layer, owner)" in page
|
||||
assert "await main.confirmLeave()" in page.split("const go =")[1].split("navigateTo(")[0]
|
||||
assert 'dispose: () => setActiveLayer("system")' in page
|
||||
assert "side.reveal(entry.open)" in page
|
||||
roots = _text(M02 / "M02_MasterTemplete_TreePanel_Roots.ts")
|
||||
assert 'fetchOwners("company")' in roots and 'fetchOwners("personal", company)' in roots
|
||||
assert "if (!kids.hidden && !loaded) void fill();" in roots # 펼칠 때 불러옴
|
||||
panel = _text(M02 / "M02_MasterTemplete_TreePanel.ts")
|
||||
assert (
|
||||
page.count('section(L("B01_Dashboard_StructureManage"), buildStructurePanel(state))') == 3
|
||||
"api.fetch(opt.layer, owner)" in panel
|
||||
and "api.edit(opt.layer, body_, view.판, owner)" in panel
|
||||
)
|
||||
body = page.split("function buildStructurePanel")[1].split("function buildPage")[0]
|
||||
# 개인용은 모두 · 회사용은 ADMIN · SYSTEM_ADMIN 만
|
||||
assert 'state.user.role === "ADMIN" || state.user.role === "SYSTEM_ADMIN"' in body
|
||||
assert body.index('go("company"') < body.index('go("personal"')
|
||||
assert "ROUTES.M02_MASTER_TEMPLATE, { layer }" in body
|
||||
config = _text(ROOT / "config" / "config_frontend.ts")
|
||||
assert re.search(r"PROTECTED_ROUTES[\s\S]*?ROUTES\.M02_MASTER_TEMPLATE,[\s\S]*?\];", config)
|
||||
assert (
|
||||
"...(opt.canEdit ? { menu: () => menuOf(target) } : {})" in panel
|
||||
) # 읽기 뿌리 = 메뉴 없음
|
||||
api = _text(M02 / "M02_MasterTemplete_Api_Fetch.ts")
|
||||
assert "owner=${enc(activeOwner)}" in api and "/owners" in api
|
||||
|
||||
|
||||
def test_층_길_접두어와_고정_풀림():
|
||||
@@ -103,10 +128,13 @@ def test_층_길_접두어와_고정_풀림():
|
||||
|
||||
def test_읽기만_회사용_개인용으로_복사_막대():
|
||||
page = _text(M02 / "M02_MasterTemplete_UI_Page.ts")
|
||||
assert 'layer === "company" && !isAdmin ? buildReadOnlyBar(user)' in page
|
||||
assert "readOnlyBar?.setColumn(column)" in page # 열 고름 → 막대 · 항목 나무가 함께 받음
|
||||
assert "access.needCompany" in page and "buildNeedCompany()" in page
|
||||
assert "titleOf(layer)" in page
|
||||
assert 'layer === "company" && !owner && !isAdmin ? buildReadOnlyBar(user)' in page
|
||||
assert (
|
||||
"readOnlyBar?.setColumn(column)" in page
|
||||
) # 열 고름 → 막대 · 구조물 라이브러리가 함께 받음
|
||||
assert "accessFor(layer, owner, user).needCompany" in page # 회사 없음 = 마스터로
|
||||
assert "buildNeedCompany()" in _text(M02 / "M02_MasterTemplete_TreePanel_Roots.ts")
|
||||
assert 'title: L("M02_Title")' in page # 한 화면 한 제목
|
||||
layer = _text(LAYER)
|
||||
assert 'fromLayer: "company"' in layer and "M02_CopyToPersonal" in layer
|
||||
|
||||
|
||||
@@ -60,6 +60,9 @@ def test_처음_한_번_만듦_글_열_빼고_칸은_집계표_그대로(client,
|
||||
|
||||
def test_집계표_저장_때_새_열_지운_열_고친_열을_맞춤_키_유지(client):
|
||||
before = _keys(client)
|
||||
old_rv = next(
|
||||
r for r in client.get("/api/m02/structure-combos").json()["줄"] if r["열"] == "rv"
|
||||
)
|
||||
|
||||
def change(table):
|
||||
cols = table["열"]
|
||||
@@ -77,12 +80,9 @@ def test_집계표_저장_때_새_열_지운_열_고친_열을_맞춤_키_유지
|
||||
assert [r["열"] for r in doc["줄"]][:4] == ["rv", "new1", "c1", "pv_b"] # 집계표 차례
|
||||
assert all(rows[c]["키"] == k for c, k in before.items() if c != "h_rip_m")
|
||||
rv = rows["rv"]
|
||||
assert (rv["분류1"], rv["분류3"], rv["단위"], rv["일위대가"]) == (
|
||||
"메쌓기",
|
||||
"기초유",
|
||||
"m",
|
||||
"UA000004",
|
||||
)
|
||||
# 화면 표 [저장](26-7e) — 있던 항목 머리(경로)는 나무가 정본이라 저장본 그대로 · 나머지는 표대로
|
||||
assert (rv["분류1"], rv["분류3"]) == (old_rv["분류1"], old_rv["분류3"])
|
||||
assert (rv["단위"], rv["일위대가"]) == ("m", "UA000004")
|
||||
assert (rv["바인딩"], rv["펼침"]) == ({"종류": "revetment"}, True)
|
||||
# 번호는 세 파일과 같음 — 새 열도 [저장] 한 번에 SD · SA · SM 이 섬
|
||||
numbers = client.get("/api/m02/structures/numbers").json()
|
||||
|
||||
@@ -116,11 +116,11 @@ def test_파일이_깨져도_폼_응답은_모두_보임(client) -> None:
|
||||
def test_좌측_줄은_구조물_집계_양식_아래_한_줄_같은_한_곳에서_지움() -> None:
|
||||
side = (ROOT / "M02_MasterTemplete/M02_MasterTemplete_UI_Side.ts").read_text("utf-8")
|
||||
assert "section(options.title, options.body)" in side
|
||||
assert (
|
||||
side.index(" summary,")
|
||||
< side.index("section(options.title")
|
||||
< side.index('section(L("M02_KindDrawing")')
|
||||
# 차례 = 구조물 조합 → 옵션 → 도면 양식(시스템 층에만 · 해시 진입 `reveal` 이 이름으로 · 27-1d)
|
||||
assert side.index("옵션: section(options.title") < side.index(
|
||||
'도면: section(L("M02_KindDrawing")'
|
||||
)
|
||||
assert "children: [summary, ...(extras ? [extras.옵션, extras.도면] : [])]" in side
|
||||
assert "onOpen: () => (options.clear(), paint())" in side # 자재 조합을 열면 이 줄 고름 지움
|
||||
assert "onOpen: () => (matset.clear(), paint())" in side # 이 줄을 열면 자재 조합 고름 지움
|
||||
paint = side.split("function paint(): void {")[1].split("\n }\n")[0]
|
||||
|
||||
@@ -143,13 +143,24 @@ def test_개인_양식은_본인만_쓰고_같은_회사는_읽어_가져옴(wor
|
||||
assert client.get(mine).status_code == 200
|
||||
session.update(user_id=43)
|
||||
theirs = mine + "&user_id=42"
|
||||
# 층 길 = 권한 한 벌(PLAN 27-1c) — 같은 회사 남의 개인 층은 회사 관리자만 읽기 · 쓰기는 본인만
|
||||
assert client.get(theirs).status_code == 403
|
||||
session["role"] = "ADMIN"
|
||||
assert client.get(theirs).status_code == 200
|
||||
# 첫 진입 때 구조물집계표 빈 뼈대가 서므로(PLAN 21-2) 새 이름으로 씀
|
||||
assert client.get(mine + "&owner=7/42").status_code == 200
|
||||
put = client.put(
|
||||
f"/api/m02/layers/personal/templates/table/내표?project_id={P1}&user_id=42",
|
||||
json={"판": None, "문서": {"열": []}},
|
||||
)
|
||||
assert put.status_code == 200 # user_id 는 쓰기에서 무시 — 본인(43) 자리에 새로 씀
|
||||
assert put.status_code == 403
|
||||
assert not (world["storage"] / "7/42/templates/table/내표.json").exists()
|
||||
session["role"] = "USER"
|
||||
# 첫 진입 때 구조물집계표 빈 뼈대가 서므로(PLAN 21-2) 새 이름으로 씀
|
||||
put = client.put(
|
||||
f"/api/m02/layers/personal/templates/table/내표?project_id={P1}",
|
||||
json={"판": None, "문서": {"열": []}},
|
||||
)
|
||||
assert put.status_code == 200
|
||||
assert (world["storage"] / "7/43/templates/table/내표.json").is_file()
|
||||
got = client.post(
|
||||
f"/api/m02/projects/{P2}/templates/apply", json={"from": "personal", "user_id": 42}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""M02 관리 화면 항목 나무(PLAN 26-3a) 자료 셈 회귀검증 — 폴더 나무 · 빈 폴더 · 깊이 5 · 찾기 · 폴더 목록.
|
||||
"""M02 관리 화면 구조물 라이브러리(PLAN 26-3a) 자료 셈 회귀검증 — 폴더 나무 · 빈 폴더 · 깊이 5 · 찾기 · 폴더 목록.
|
||||
|
||||
항목 경로 = 폴더 이름 배열 + 마지막 마디가 항목 이름 · 찾는 글이 있으면 맞는 항목과 위 폴더만.
|
||||
Node 헬퍼(`helper_m02_treepanel.cjs`)가 TS 를 트랜스파일해 돌리고, 여기서 값을 판정한다.
|
||||
|
||||
@@ -52,7 +52,8 @@ export interface ItemPickerOptions {
|
||||
export type ItemPickerResult =
|
||||
{ action: "apply"; item: SummaryItem } | { action: "clear" } | { action: "cancel" };
|
||||
|
||||
const MANAGE_HASH = "#/m02-master-template?layer=personal";
|
||||
/** 관리 화면 진입 해시(PLAN 27-1d) — 구조물 조합 · 개인 뿌리가 열린 채 */
|
||||
const MANAGE_HASH = `#/m02-master-template?${new URLSearchParams({ open: "구조물조합", root: "personal" })}`;
|
||||
|
||||
const labels = (): TreeLabels => ({
|
||||
layers: {
|
||||
|
||||
@@ -139,6 +139,12 @@ export const ui_locales_b3 = {
|
||||
/* --- B01 시스템 설정 --- */
|
||||
B01_Dashboard_SystemSettings: ["시스템 설정", "System Settings"],
|
||||
B01_Dashboard_MasterData: ["마스터 데이터", "Master Data"],
|
||||
B01_Dashboard_PermSourceRead: ["원문 원천 · 읽기", "Source data · read"],
|
||||
B01_Dashboard_PermMasterRead: ["마스터 읽기", "Master read"],
|
||||
B01_Dashboard_PermMasterWrite: ["마스터 수정", "Master edit"],
|
||||
B01_Dashboard_PermCompanyRead: ["회사 읽기", "Company read"],
|
||||
B01_Dashboard_PermCompanyWrite: ["회사 수정", "Company edit"],
|
||||
B01_Dashboard_PermPersonalWrite: ["개인 수정", "Personal edit"],
|
||||
|
||||
/* --- B08·B09 빈 화면 (PLAN 7-3) --- */
|
||||
B08_Quantity_Rebuilding: [
|
||||
|
||||
@@ -4,7 +4,10 @@
|
||||
* ========================================================================== */
|
||||
|
||||
export const ui_locales_m2 = {
|
||||
B01_Dashboard_MasterTemplate: ["마스터 템플릿", "Master Templates"],
|
||||
B01_Dashboard_CardUnitCombo: ["일위대가 조합", "Unit cost combos"],
|
||||
B01_Dashboard_CardStructCombo: ["구조물 조합", "Structure combos"],
|
||||
B01_Dashboard_CardStructOption: ["구조물 옵션", "Structure options"],
|
||||
B01_Dashboard_CardDrawing: ["도면 양식", "Drawing templates"],
|
||||
M02_Title: ["마스터 템플릿", "Master Templates"],
|
||||
M02_KindTable: ["구조물 조합", "Structure combos"],
|
||||
M02_KindDrawing: ["도면 양식", "Drawing templates"],
|
||||
@@ -57,9 +60,6 @@ export const ui_locales_m2 = {
|
||||
M02_ActionFailed: ["안 됨 — {value}", "Failed — {value}"],
|
||||
M02_StructureNone: ["없음", "None"],
|
||||
M02_Back: ["돌아가기", "Back"],
|
||||
B01_Dashboard_StructureManage: ["구조물 관리", "Structure management"],
|
||||
B01_Dashboard_StructureCompany: ["회사용", "Company"],
|
||||
B01_Dashboard_StructurePersonal: ["개인용", "Personal"],
|
||||
M02_TitleCompany: ["구조물 관리(회사)", "Structure management (company)"],
|
||||
M02_TitlePersonal: ["구조물 관리(개인)", "Structure management (personal)"],
|
||||
M02_ReadOnlyCompany: [
|
||||
@@ -68,7 +68,7 @@ export const ui_locales_m2 = {
|
||||
],
|
||||
M02_CopyToPersonal: ["개인용으로 복사", "Copy to personal"],
|
||||
M02_CopyPickFirst: ["복사할 열을 구조물 조합에서 먼저 고름", "Pick a column in the table first"],
|
||||
M02_CopyDone: ["개인용으로 복사함 — 구조물 관리(개인)에서 고침", "Copied — edit it in your own"],
|
||||
M02_CopyDone: ["개인용으로 복사함 — 「개인」 뿌리에서 고침", "Copied — edit it in your own"],
|
||||
M02_CopyFailed: ["복사 안 됨 — {value}", "Copy failed — {value}"],
|
||||
M02_NeedCompany: [
|
||||
"회사부터 등록해야 구조물 조합을 만들 수 있음",
|
||||
@@ -98,7 +98,11 @@ export const ui_locales_m2 = {
|
||||
M02_PickerManage: ["관리 화면에서 고치기", "Edit in manager"],
|
||||
M02_PickerCopied: ["개인용으로 복사했음", "Copied to personal"],
|
||||
M02_PickerCopyFailed: ["복사 못 함 — {value}", "Copy failed — {value}"],
|
||||
M02_TreeTitle: ["항목 나무", "Item tree"],
|
||||
M02_TreeTitle: ["구조물 라이브러리", "Structure library"],
|
||||
M02_RootMine: ["내 것", "Mine"],
|
||||
M02_RootShared: ["회사 공용", "Company shared"],
|
||||
M02_RootReadOnly: ["읽기", "read-only"],
|
||||
M02_RootNone: ["볼 수 있는 층이 없음", "Nothing to show"],
|
||||
M02_TreeSearch: ["항목 찾기", "Find item"],
|
||||
M02_TreeEmptyEdit: [
|
||||
"항목이 없음 — 맨 위 줄을 오른쪽 클릭해 폴더 · 항목을 더함",
|
||||
|
||||
Reference in New Issue
Block a user