From 58a3e039b306db0ca55ccd65fb6730f23b03037a Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 9 Nov 2026 20:49:52 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat(813-2):=20=EB=B3=B4=EC=A1=B0=20?= =?UTF-8?q?=EB=AC=B8=EC=84=9C=20=EB=B6=80=ED=92=88=20=ED=91=9C=EC=A7=80=20?= =?UTF-8?q?73=20=C2=B7=20=EC=9E=91=EC=97=85=EB=9F=89=EB=8B=B9=20=EA=B8=B0?= =?UTF-8?q?=EA=B3=84=EA=B2=BD=EB=B9=84=206=20=EC=A7=80=EC=9B=80=20=C2=B7?= =?UTF-8?q?=20=EB=8B=A8=EA=B0=80=EC=82=B0=EC=B6=9C=20=EB=AA=A9=EB=A1=9D?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EB=BA=8C=20=C2=B7=20=EA=B8=B0=EA=B3=84=20?= =?UTF-8?q?=E2=86=92=20=EB=B6=80=ED=92=88=20=EA=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 표지 = 수식 문서 머리 · 옛 로직 줄 칸 「부품」 — 기계경비식 9 · 작업량 틀 60(기종 = 기계표 상세구분 · 규격 열쇠) · 계수식 4 · 변환기가 옮김 · 틀 문서 9 장 - 지움 = 작업량당 기계경비 6(GC001145 · 1148 · 1151 · 1156 · 1159 · 1166 · 부르는 곳 0 · 요구 734-4 · 735-4) — 수식 문서 · 옛 로직 · 키대장 폐기 칸 · 빌더 · 변수표 - 이름 꼬리 4 = 원문 제목(지게운반 · 인력운반(기계설비) · 벽돌운반 · 수중펌프 설치 및 해체) · 키 폐기 0 - 서버 = `M01_MasterData_Parts` — M01 `/logics` · M02 `/logic-lib/logics` 목록에서 부품 뺌(1,440) · 키로 열기 · 부르기 그대로 · `/m01/parts`(기종 계산식 · 틀 · 계수식) · `/m02/logic-lib/machine-parts` · 연결 찾기 과녁에서 부품 뺌(1,444 → 1,435 · 판정 코드 그대로) - 금액 전후 = 문서 1,513 · 셈 9,626(기본 + 옵션 표본) 모두 같음 · 791_1 지문 남은 1,513 같음 → 지문 다시 뜸 · 802_2 변환 대조 1,513 · 목록 xlsx 다시 씀(요약 수) - 낡은 시험 = 1,519 · 1,518 기대 → 1,513 · GC001148 견본 → 같은 꼴 GF000089 토사깍기(기계)(블록 Q 39.293 · 합계 2,190) · 지운 6 을 셈하던 줄 걷음 · 목록 수 1,440 · 묶음 328 · 부르는 수 507 - 새 지킴 시험 test_813_2_parts Co-Authored-By: Claude Opus 5.5 --- M01_MasterData/M01_MasterData_Parts.py | 89 +++ M01_MasterData/M01_MasterData_Router.py | 10 +- M02_MasterTemplete/M02_Doc_MatchSk.py | 3 +- M02_MasterTemplete/M02_Logic_Lib_Read.py | 7 + M02_MasterTemplete/M02_Machine_Hourly.py | 11 +- .../M02_MasterTemplete_Router_Combos.py | 3 +- docs/raw/요구_1104/_목록_802-2_변환대조.xlsx | Bin 13010 -> 13009 bytes resources/master_data/_수식문서_틀.md | 11 + resources/master_data/_키대장.json | 8 +- .../scripts/_건설기계_로직_준설.py | 1 + .../build_로직_건설품셈_01장_적용기준.py | 6 +- .../build_로직_건설품셈_08장_건설기계.py | 7 +- .../master_data/scripts/master_doc_convert.py | 1 + .../master_data/scripts/변수표_796_3.json | 32 -- .../로직_건설품셈_01장_적용기준.json | 8 +- .../로직_건설품셈_08장_건설기계.json | 541 ++---------------- .../로직_건설품셈_13장_플랜트설비공사.json | 1 + .../로직_산림품셈_03장_작업장_관리.json | 1 + .../로직_산림품셈_05장_식재_및_녹화.json | 1 + .../master_data/로직_산림품셈_09장_토공.json | 14 + .../로직_산림품셈_10장_자재․장비_운반.json | 3 + .../master_data/로직_산림품셈_11장_가설.json | 1 + .../로직_산림품셈_13장_구조물.json | 1 + .../수식문서/수식_건설품셈_01장_적용기준.json | 12 +- .../수식문서/수식_건설품셈_08장_건설기계.json | 403 +++++++------ .../수식_건설품셈_13장_플랜트설비공사.json | 3 + .../수식_산림품셈_03장_작업장_관리.json | 5 + .../수식_산림품셈_05장_식재_및_녹화.json | 5 + .../수식문서/수식_산림품셈_09장_토공.json | 65 +++ .../수식_산림품셈_10장_자재․장비_운반.json | 11 + .../수식문서/수식_산림품셈_11장_가설.json | 5 + .../수식문서/수식_산림품셈_13장_구조물.json | 5 + .../fixtures/m01_791_1_logic_fingerprint.json | 8 +- resources/tester/test_713_3_list.py | 12 +- resources/tester/test_782_3_capacity_82.py | 21 +- .../tester/test_791_1_engine_semantics.py | 2 +- resources/tester/test_796_1_formula_model.py | 20 +- .../tester/test_796_2c_m02_equation_full.py | 11 +- resources/tester/test_796_2e_unlink_basis.py | 4 +- resources/tester/test_799_1_subtotals.py | 12 +- resources/tester/test_800_1_var_symbols.py | 2 +- .../tester/test_800_2_equation_layout.py | 2 +- resources/tester/test_801_3_groups.py | 6 +- resources/tester/test_802_2_convert.py | 4 +- resources/tester/test_802_4a_m02_doc.py | 2 +- resources/tester/test_802_4b2_m02_screen.py | 6 +- resources/tester/test_804_2_line_stack.py | 4 +- resources/tester/test_804_7_line_stack_fix.py | 2 +- resources/tester/test_812_3_native_layout.py | 2 +- resources/tester/test_813_2_parts.py | 111 ++++ 50 files changed, 677 insertions(+), 828 deletions(-) create mode 100644 M01_MasterData/M01_MasterData_Parts.py create mode 100644 resources/tester/test_813_2_parts.py diff --git a/M01_MasterData/M01_MasterData_Parts.py b/M01_MasterData/M01_MasterData_Parts.py new file mode 100644 index 000000000..d3267715c --- /dev/null +++ b/M01_MasterData/M01_MasterData_Parts.py @@ -0,0 +1,89 @@ +"""부품 문서(PLAN 813-2 · 요구 722-3 · 724~735) — 수식 문서 머리 칸 `부품` 읽기. + +갈래 = 기계경비식(기계 시간당 경비 셈 방식) · 작업량 틀(`기종` = 기계표 상세구분 목록 · +`규격` = 고른 기계 규격 수를 받는 변수 열쇠) · 계수식(기계 무관 · 돈 아닌 식). +틀 = `_수식문서_틀.md` 9 장. +- 단가산출 기초 목록 · 찾아 넣기 「다른 단가산출」 목록에서 뺌(`strip`) — 키로 열기 · 셈 · 부르기는 그대로 +- 기종 → 그 기종 기계가 쓰는 기계경비식 · 작업량 틀(`of_kind` · M01 「기계」 화면) +- 기계 원문번호 → 그 기종 작업량 틀 문서(`of_machine` · 줄 쌓기 기계 넣기) +쓰기 없음 · 로그인 사용자 모두(마스터 읽기). +""" + +from __future__ import annotations + +from typing import Any + +from M01_MasterData import M01_MasterData_Doc as doc_store +from M01_MasterData import M01_MasterData_Store as store + +KINDS = ("기계경비식", "작업량 틀", "계수식") + + +def parts() -> dict[str, dict]: + """{문서 키: 부품 표지}.""" + return {k: d["부품"] for k, d in doc_store.docs().items() if isinstance(d.get("부품"), dict)} + + +def strip(rows: list[dict]) -> list[dict]: + """목록에서 부품 문서를 뺌.""" + have = parts() + return [r for r in rows if str(r.get("키")) not in have] + + +def _brief(key: str, d: dict) -> dict[str, Any]: + tag = d.get("부품") or {} + return { + "키": key, + "이름": d.get("이름") or "", + "결과단위": d.get("결과단위") or "", + "갈래": tag.get("갈래") or "", + "규격": tag.get("규격") or "", + } + + +def _machines() -> list[dict]: + files = store.loaded()[0] + return list((files.get("기계.json") or {}).get("줄") or []) + + +def _templates(kind: str) -> list[tuple[str, dict]]: + return [ + (k, d) + for k, d in doc_store.docs().items() + if (d.get("부품") or {}).get("갈래") == "작업량 틀" and kind in d["부품"].get("기종", []) + ] + + +def of_kind(group: str, detail: str = "") -> dict[str, list]: + """M01 화면 — 계수식 = 그 넷 · 기계 = 상세구분 `detail` 기계가 쓰는 기계경비식(기계 수) + + 작업량 틀.""" + docs = doc_store.docs() + if group == "계수식": + return { + "계수식": [ + _brief(k, d) for k, d in docs.items() if parts().get(k, {}).get("갈래") == "계수식" + ] + } + from M02_MasterTemplete import M02_Machine_Hourly as hourly # M02 가 M01 을 부름 — 늦게 + + used: dict[str, int] = {} + for m in _machines(): + if m.get("상세구분") != detail: + continue + got = hourly.logic_of(str(m.get("원문번호") or "")) + if got: + used[str(got["키"])] = used.get(str(got["키"]), 0) + 1 + rule = [{**_brief(k, docs[k]), "기계수": n} for k, n in used.items() if k in docs] + return {"기계경비식": rule, "작업량 틀": [_brief(k, d) for k, d in _templates(detail)]} + + +def of_machine(no: str) -> dict[str, Any]: + """줄 쌓기 기계 넣기 — 기계 원문번호 → {기계 {이름 · 규격 · 상세구분}, 틀 [{… 문서}]}.""" + row = next((m for m in _machines() if str(m.get("원문번호")) == str(no)), None) + if not row: + raise store.StoreError(404, f"없는 기계 「{no}」") + kind = str(row.get("상세구분") or "") + return { + "기계": {"이름": row.get("이름"), "규격": row.get("규격") or "", "상세구분": kind}, + "틀": [{**_brief(k, d), "문서": d} for k, d in _templates(kind)], + } diff --git a/M01_MasterData/M01_MasterData_Router.py b/M01_MasterData/M01_MasterData_Router.py index e4f9f3f3d..c18bd242a 100644 --- a/M01_MasterData/M01_MasterData_Router.py +++ b/M01_MasterData/M01_MasterData_Router.py @@ -14,6 +14,7 @@ from pydantic import BaseModel from M01_MasterData import M01_MasterData_Doc as doc_screen from M01_MasterData import M01_MasterData_Equation as equation +from M01_MasterData import M01_MasterData_Parts as parts from M01_MasterData import M01_MasterData_Sheet as line_sheet from M01_MasterData import M01_MasterData_Store as store from M01_MasterData import M01_MasterData_Store_Combo as combo_store @@ -205,7 +206,14 @@ def get_logics( sub: str = "", detail: str = "", q: str = "", blocked: int | None = None, owner: str = "" ) -> dict: """줄마다 덧칸(묶음 · 작업량 · 부르는/불리는 수 · 관련 · 713-3) — 읽기만.""" - return {"logics": store_list.attach(_call(store.logics, sub, detail, q, blocked, owner))} + rows = parts.strip(_call(store.logics, sub, detail, q, blocked, owner)) # 부품 문서 뺌(813-2) + return {"logics": store_list.attach(rows)} + + +@router.get("/parts") +def get_parts(group: str, detail: str = "") -> dict: + """부품 문서(813-2) — 계수식 · 기계 상세구분의 기계경비식 · 작업량 틀.""" + return _call(parts.of_kind, group, detail) @router.get("/logic") diff --git a/M02_MasterTemplete/M02_Doc_MatchSk.py b/M02_MasterTemplete/M02_Doc_MatchSk.py index 9cad03cce..72e7b9067 100644 --- a/M02_MasterTemplete/M02_Doc_MatchSk.py +++ b/M02_MasterTemplete/M02_Doc_MatchSk.py @@ -33,7 +33,8 @@ def index() -> dm.Index: """M01 수식 문서 색인 — 폴더가 바뀌면(M01 관리자 고침) 다시.""" docs = dc.folder() if _INDEX["문서"] is not docs: - _INDEX["문서"], _INDEX["색인"] = docs, dm.Index(docs) + aims = {k: d for k, d in docs.items() if not d.get("부품")} # 부품 문서 = 과녁 아님(813-2) + _INDEX["문서"], _INDEX["색인"] = docs, dm.Index(aims) return _INDEX["색인"] diff --git a/M02_MasterTemplete/M02_Logic_Lib_Read.py b/M02_MasterTemplete/M02_Logic_Lib_Read.py index 73e4471d1..40b0e4e8e 100644 --- a/M02_MasterTemplete/M02_Logic_Lib_Read.py +++ b/M02_MasterTemplete/M02_Logic_Lib_Read.py @@ -10,6 +10,7 @@ from __future__ import annotations from fastapi import APIRouter, HTTPException +from M01_MasterData import M01_MasterData_Parts as parts from M01_MasterData import M01_MasterData_Router as m01 from M02_MasterTemplete import M02_Machine_Hourly as machine @@ -72,3 +73,9 @@ def post_text(body: m01.CalcBody) -> dict: def get_machine_hourly(key: str) -> dict: """기계(EQ) 한 시간 값 노 · 재 · 경(736-3 · [항목 추가] 기계 고정 줄 단가).""" return machine.hourly(key) + + +@router.get("/machine-parts") +def get_machine_parts(no: str) -> dict: + """줄 쌓기 기계 넣기(813-2) — 기계 원문번호 → 그 기종 작업량 틀(문서째).""" + return m01._call(parts.of_machine, no) diff --git a/M02_MasterTemplete/M02_Machine_Hourly.py b/M02_MasterTemplete/M02_Machine_Hourly.py index dbf5ef6a0..50b2c94da 100644 --- a/M02_MasterTemplete/M02_Machine_Hourly.py +++ b/M02_MasterTemplete/M02_Machine_Hourly.py @@ -41,6 +41,12 @@ def _rank(row: dict) -> tuple: return (attach, loss, loss and "보정작업" in names, len(_codes(row)), str(row.get("키"))) +def logic_of(code: str) -> dict | None: + """기계 원문번호 → 그 기계 시간당 경비 로직(짝 차례 첫째) · 없으면 None(813-2 M01 화면도 씀).""" + fit = [r for r in _family() if code in [str(c) for c in _codes(r)]] + return min(fit, key=_rank) if fit else None + + def hourly(key: str) -> dict[str, Any]: """`{ok, 이름, 규격, 로직, 원문번호, 노무비, 재료비, 경비, 계}` · 못 셈 = `{ok: False, reason}`.""" if not key.startswith("EQ"): @@ -50,10 +56,9 @@ def hourly(key: str) -> dict[str, Any]: except cm.mf.FormulaError as e: return {"ok": False, "reason": str(e)} code = str(row.get("원문번호") or "") - fit = [r for r in _family() if code in [str(c) for c in _codes(r)]] - if not fit: + logic = logic_of(code) + if not logic: return {"ok": False, "reason": f"「{row.get('이름')}」 은 시간당 경비를 셀 자료가 없음"} - logic = min(fit, key=_rank) args = "".join( f", {i['이름']}='{(i.get('고르기') or [''])[0]}'" for i in logic.get("입력") or [] diff --git a/M02_MasterTemplete/M02_MasterTemplete_Router_Combos.py b/M02_MasterTemplete/M02_MasterTemplete_Router_Combos.py index 40882864f..d09e09c5d 100644 --- a/M02_MasterTemplete/M02_MasterTemplete_Router_Combos.py +++ b/M02_MasterTemplete/M02_MasterTemplete_Router_Combos.py @@ -19,6 +19,7 @@ from pydantic import BaseModel from common_util.common_util_auth import verify_session from common_util.common_util_http_cache import cached_file_response +from M01_MasterData import M01_MasterData_Parts as parts from M01_MasterData import M01_MasterData_Store as m01 from M01_MasterData import M01_MasterData_Store_Make as make from M02_MasterTemplete import M02_Labor_Inputs as labor_inputs @@ -40,7 +41,7 @@ def _read(fn, *args): @router.get("/logic-lib/logics", dependencies=[Depends(verify_session)]) def get_logics() -> dict: - return {"logics": _read(m01.logics, "", "", "", None)} + return {"logics": parts.strip(_read(m01.logics, "", "", "", None))} # 부품 문서 뺌(813-2) @router.get("/logic-lib/subs", dependencies=[Depends(verify_session)]) diff --git a/docs/raw/요구_1104/_목록_802-2_변환대조.xlsx b/docs/raw/요구_1104/_목록_802-2_변환대조.xlsx index ab3b94924dfa8efe810eecf696c525003472afa9..be806a05eb9a0e01eafc6338bdc0b709a11e073a 100644 GIT binary patch delta 877 zcmcbVdNGwJz?+#xgn@y9gMoA5M4ol^oC`B!wdbeuz53-<6_;yE$8FM=I%=m*6_%0oXNu0C{=W&h$)a`$3~xvOYNnXrKtT*NniDP z*P>{@I~yi8T)+FRGRkgyZqi+))Kz90hLh6duT}(FeD~$O-}N>1TX^G{q!|i7Wilqm zPM-es@8N%j!J(0BixfY7%F}PrxgNCUzT5SF*?+SyR3`I(lRviF;p&Ii_phiU2hiqg zjP`6yoC`OLb7(MgfP(5;{fzaS-MLd38UIaQ!{b!%wl}&lPpf3J)LQ%OxdDr;MPE#F z+P>=Iufx|k*K*}VC*HPtbAIvD-Id=8+ddurUh{8t&zj3&6Ro@MT#Q|Mc~SI~zdxEk zJ^r4WF!#zTbFB-pt?ypVva>&9U$3kDO62<;)zdNle8Jb>Uw!x~r|Xly`pu{JFL5pk zo))LR$8g`1nmRA*8yX$KB2DU(W<=+HT)pXbW%=uZSt6hJ_**UyO#Jm|E`yqRM`?f1 zIvLCStCt`DV@C1Z3SMDJkmvTQ^)iBJAB}1zAU*k{)^iYdllDfC@Z?n8A0TeLUL=^i zOW%eQo@gfj*Ef>~@n*)%Q5IlhV3?!Mz#t4vLNL(4cye-xffC4^3IiD?E{@58+@h0L z8we`ELer3mfuRkkQv#+1NN;O2;RY&{(hl%uWD;S3rPs{ZowpC4xervSrpAb-VfJK2 zLv@ffUWPJE8`Qwo)EWwcL?#%@FxpRE3ls-(P8-Tt?a^Xjh%ZXbDc08mk?5A}-hD{3 z4VV?a0bRzA^7=7k|!p?dt;%iJ7>kghsT86X8+5XF}YPHXm>#E zeeqh;;>T_>aq{x>omj4EEti3Jq|F6|BA&1cB ztBm$+OfhMj#W*yWg+O7oU(NrJArk{b8yf?I1jA%SL($0}3|Kd3aXT^NXME+WfX~{`sid?tiG; zwanEgWL@9ASa&J&qVB1>KaM{?{x;g+mvvQI^u;=-@>1XV^3Ue)pC(w^RsC*K>N@rI zm9M|QDyTGb{keSdn@{;KSuSdNuNS^25np6yuWFqmazvBsps?qewcCD#-h8`fcd3PM zSLMCsb1ttisQu{2Fj@M@E_coFzB$`py)69Ch~nMlyuy+o@9t6SWdzaQ8r4iddh!Xa z=OFGz?TsMe$tk)&K-@UJNHBM&z6~cl9ZmkHZzd1o&5W6&EC39pIqD1y!oXAo0}YI) zCI=fRDS*_-IQ?<{0t`)0c2H;{z_vzi4sh76G7tnSL=ARig{IulNDu_uy7TtoGxvc; zsi`rdnK);%f}uLd^`3?@OdHj}x@rssK_dNzGK>zB*8s(VoKuD}R(rJ=7~+dkbBgu# zKxBY7Ba;XNEZbzp?%sV!vkjP8z5$)ik8lh_1LLyE3Py4uQyh$B7$Yag8fk(!9Y9X- N list[dict]: ) row.pop("결과") row.pop("시험입력") + row["이름"] = "수중펌프 설치 및 해체" # 813-2 원문 제목 · 윗절 row["호표"] = [ { "종류": "인력", diff --git a/resources/master_data/scripts/build_로직_건설품셈_01장_적용기준.py b/resources/master_data/scripts/build_로직_건설품셈_01장_적용기준.py index 261b44c8c..6b433fc1d 100644 --- a/resources/master_data/scripts/build_로직_건설품셈_01장_적용기준.py +++ b/resources/master_data/scripts/build_로직_건설품셈_01장_적용기준.py @@ -375,7 +375,7 @@ def logics(key: dict) -> list[dict]: "키": None, "열쇠": "공통 1-2-7 인력운반(지게)", **HEAD, - "이름": "인력운반(지게) — 건설 공통 1-2-7", + "이름": "지게운반", "결과단위": "원/자재 단위", "출처": f"{SRC} 2 · 3", "소유": "공용", @@ -461,7 +461,7 @@ def logics(key: dict) -> list[dict]: "키": None, "열쇠": "공통 1-2-7 인력운반(기계설비)", **HEAD, - "이름": "인력운반(기계설비) — 건설 공통 1-2-7", + "이름": "인력운반(기계설비)", "결과단위": "원/자재 단위", "출처": f"{SRC} 5", "소유": "공용", @@ -534,7 +534,7 @@ def logics(key: dict) -> list[dict]: "키": None, "열쇠": "공통 1-2-7 벽돌운반", **HEAD, - "이름": "벽돌운반 — 건설 공통 1-2-7", + "이름": "벽돌운반", "결과단위": "원/1,000매", "출처": f"{SRC} 4", "소유": "공용", diff --git a/resources/master_data/scripts/build_로직_건설품셈_08장_건설기계.py b/resources/master_data/scripts/build_로직_건설품셈_08장_건설기계.py index 003bb6ba3..1dd6d49c6 100644 --- a/resources/master_data/scripts/build_로직_건설품셈_08장_건설기계.py +++ b/resources/master_data/scripts/build_로직_건설품셈_08장_건설기계.py @@ -164,12 +164,7 @@ def main() -> None: C = chooser(made, old_coef) rows = L1.part1(C) + L2.part2(C) + L3.part3(C) - q_rows = {r["열쇠"]: r for r in rows} - hourly = {r["키"]: r for r in _load(LOGIC)["줄"]} - machines: dict[str, list] = {} - for m in _load("기계.json")["줄"]: - machines.setdefault(m.get("상세구분"), []).append(m["원문번호"]) - rows += LC.costs(q_rows, hourly, machines) + [LC.breaker(hourly)] + # 작업량당 기계경비(LC.costs · LC.breaker) = 813-2 지움 — 단가산출에 기계 하나 넣어 만듦 rows.sort(key=lambda r: _sec(r["원문번호"])) for r in rows: r["키"] = mk.issue(book, "GC", r["열쇠"], LOGIC) diff --git a/resources/master_data/scripts/master_doc_convert.py b/resources/master_data/scripts/master_doc_convert.py index 12b576941..c355d0514 100644 --- a/resources/master_data/scripts/master_doc_convert.py +++ b/resources/master_data/scripts/master_doc_convert.py @@ -443,6 +443,7 @@ def _build(c: _Conv, row: dict, given: dict, lone_steps: dict) -> dict: "이름": row.get("이름") or "", "결과단위": row.get("결과단위") or "", "출처": row.get("출처") or "", + **({"부품": row["부품"]} if row.get("부품") else {}), # 813-2 부품 표지 } money: list[dict] = [] if "결과" in row: diff --git a/resources/master_data/scripts/변수표_796_3.json b/resources/master_data/scripts/변수표_796_3.json index 6855e160a..1e35fce60 100644 --- a/resources/master_data/scripts/변수표_796_3.json +++ b/resources/master_data/scripts/변수표_796_3.json @@ -277,11 +277,6 @@ "t": {"이름": "기어 변속시간", "근거": "건설품셈 공통 8-2-1 「t : 기어 변속시간(0.25분)」", "확신": "원문"}, "cm": {"이름": "1회 싸이클시간", "근거": "건설품셈 공통 8-2-1 「cm : 1회 싸이클 시간」", "확신": "원문"} }, -"GC001145": { - "운반거리": {"기호": "L", "근거": "건설품셈 공통 8-2-1 「L : 운반거리(m)」", "확신": "원문"}, - "f": {"이름": "체적환산계수", "근거": "건설품셈 공통 8-2-1 「f : 체적환산계수」", "확신": "원문"}, - "작업량": {"이름": "시간당 작업량", "기호": "Q", "근거": "건설품셈 공통 8-2-1 「Q : 시간당 작업량(㎥/hr)」 · 식 = 로직 호출(시간당 작업량)", "확신": "원문"} -}, "GC001146": { "작업거리": {"기호": "ℓ", "근거": "건설품셈 공통 8-2-2 「ℓ : 1회의 작업거리(m)」", "확신": "원문"}, "f": {"이름": "체적환산계수", "근거": "건설품셈 공통 8-2-2 「f : 체적환산계수」", "확신": "원문"}, @@ -296,11 +291,6 @@ "E": {"이름": "작업효율", "근거": "건설품셈 공통 8-2-3 「E : 작업효율」", "확신": "원문"}, "cm": {"이름": "1회 싸이클시간", "근거": "건설품셈 공통 8-2-3 「cm : 1회 싸이클 시간(초)」", "확신": "원문"} }, -"GC001148": { - "버킷용량": {"기호": "q", "근거": "건설품셈 공통 8-2-3 「q : 버킷용량(㎥)」", "확신": "원문"}, - "f": {"이름": "체적환산계수", "근거": "건설품셈 공통 8-2-3 「f : 체적환산계수」", "확신": "원문"}, - "작업량": {"이름": "시간당 작업량", "기호": "Q", "근거": "건설품셈 공통 8-2-3 「Q : 시간당 작업량(㎥/hr)」 · 식 = 로직 호출(시간당 작업량)", "확신": "원문"} -}, "GC001149": { "작업거리": {"기호": "L", "근거": "건설품셈 공통 8-2-4 「L : 1열 실작업거리(편도m)」", "확신": "원문"}, "전진거리": {"기호": "L", "아래": "1", "근거": "건설품셈 공통 8-2-4 「L_1 : 1열 전진거리(m)」", "확신": "원문"}, @@ -320,12 +310,6 @@ "cm": {"이름": "1회 싸이클시간", "근거": "건설품셈 공통 8-2-5 「cm : 1회 싸이클 시간(초)」", "확신": "원문"}, "E": {"이름": "작업효율", "근거": "건설품셈 공통 8-2-5 「E : 작업효율」", "확신": "원문"} }, -"GC001151": { - "버킷용량": {"기호": "q", "근거": "건설품셈 공통 8-2-5 「q : 버킷용량(㎥)」", "확신": "원문"}, - "주행거리": {"기호": "ℓ", "근거": "건설품셈 공통 8-2-5 「ℓ : 편도주행거리(표준을 8m로 한다)」", "확신": "원문"}, - "f": {"이름": "체적환산계수", "근거": "건설품셈 공통 8-2-5 「f : 체적환산계수」", "확신": "원문"}, - "작업량": {"이름": "운전시간당 작업량", "기호": "Q", "근거": "건설품셈 공통 8-2-5 「Q : 운전시간당 작업량(㎥/hr)」 · 식 = 로직 호출(시간당 작업량)", "확신": "원문"} -}, "GC001152": { "적재주행거리": {"기호": "L", "아래": "1", "근거": "건설품셈 공통 8-2-6 「L_1 : 적재시의 주행거리(m)」", "확신": "원문"}, "공차주행거리": {"기호": "L", "아래": "2", "근거": "건설품셈 공통 8-2-6 「L_2 : 공차시의 주행거리(m)」", "확신": "원문"}, @@ -375,16 +359,6 @@ "t5": {"기호": "t", "아래": "5", "근거": "열쇠 꼴 ○○+숫자 = 첨자", "확신": "추정"}, "t6": {"기호": "t", "아래": "6", "근거": "열쇠 꼴 ○○+숫자 = 첨자", "확신": "추정"} }, -"GC001156": { - "적재용량": {"기호": "T", "근거": "건설품셈 공통 8-2-8 「T : 덤프트럭의 적재용량(ton)」", "확신": "원문"}, - "체적변화율": {"기호": "L", "근거": "건설품셈 공통 8-2-8 「L : 체적환산계수에서의 체적변화율」", "확신": "원문"}, - "f": {"이름": "체적환산계수", "근거": "건설품셈 공통 8-2-8 「f : 체적환산계수」", "확신": "원문"}, - "적재싸이클": {"기호": "cms", "근거": "건설품셈 공통 8-2-8 「cms : 적재기계의 1회 싸이클시간(초)」", "확신": "원문"}, - "적재버킷": {"기호": "q", "근거": "건설품셈 공통 8-2-8 「q : 흐트러진 상태의 덤프트럭 1회 적재량(㎥)」", "확신": "원문"}, - "버킷계수": {"기호": "k", "근거": "건설품셈 공통 8-2-8 「k : 리퍼 또는 버킷계수」", "확신": "원문"}, - "적재효율": {"기호": "Es", "근거": "건설품셈 공통 8-2-8 「Es : 적재기계의 작업효율」", "확신": "원문"}, - "작업량": {"이름": "1시간당 작업량", "기호": "Q", "근거": "건설품셈 공통 8-2-8 「Q : 1시간당 작업량(㎥/hr)」 · 식 = 로직 호출(시간당 작업량)", "확신": "원문"} -}, "GC001157": { "다짐횟수": {"기호": "N", "근거": "건설품셈 공통 8-2-9 「N : 소요다짐횟수」", "확신": "원문"}, "두께": {"기호": "D", "근거": "건설품셈 공통 8-2-9 「D : 펴는 흙의 두께(m)」", "확신": "원문"}, @@ -399,12 +373,6 @@ "V": {"이름": "다짐속도", "근거": "건설품셈 공통 8-2-9 「V : 다짐속도(㎞/hr)」", "확신": "원문"}, "E": {"이름": "작업효율", "근거": "건설품셈 공통 8-2-9 「E : 작업효율」", "확신": "원문"} }, -"GC001159": { - "다짐횟수": {"기호": "N", "근거": "건설품셈 공통 8-2-9 「N : 소요다짐횟수」", "확신": "원문"}, - "두께": {"기호": "D", "근거": "건설품셈 공통 8-2-9 「D : 펴는 흙의 두께(m)」", "확신": "원문"}, - "f": {"이름": "체적환산계수", "근거": "건설품셈 공통 8-2-9 「f : 체적환산계수」", "확신": "원문"}, - "작업량": {"이름": "시간당 다짐토량", "기호": "Q", "근거": "건설품셈 공통 8-2-9 「Q : 시간당 다짐토량(㎥/hr)」 · 식 = 로직 호출(시간당 작업량)", "확신": "원문"} -}, "GC001161": { "W": {"이름": "유효혼합폭", "근거": "건설품셈 공통 8-2-11 「W : 유효혼합폭(m)」", "확신": "원문"}, "V": {"이름": "작업속도", "근거": "건설품셈 공통 8-2-11 「V : 작업속도(1,000m/hr)」", "확신": "원문"}, diff --git a/resources/master_data/로직_건설품셈_01장_적용기준.json b/resources/master_data/로직_건설품셈_01장_적용기준.json index e2ecee7d4..7d8d8966a 100644 --- a/resources/master_data/로직_건설품셈_01장_적용기준.json +++ b/resources/master_data/로직_건설품셈_01장_적용기준.json @@ -10,7 +10,7 @@ "원문번호": "1-2-7", "구분": "건설품셈 공통", "상세구분": "01장 적용기준", - "이름": "인력운반(지게) — 건설 공통 1-2-7", + "이름": "지게운반", "결과단위": "원/자재 단위", "출처": "건설품셈 공통 1-2-7 2 · 3", "개정": [2008, 2010, 2016, 2022, 2023], @@ -131,7 +131,7 @@ "원문번호": "1-2-7", "구분": "건설품셈 공통", "상세구분": "01장 적용기준", - "이름": "인력운반(기계설비) — 건설 공통 1-2-7", + "이름": "인력운반(기계설비)", "결과단위": "원/자재 단위", "출처": "건설품셈 공통 1-2-7 5", "개정": [2008, 2010, 2016, 2022, 2023], @@ -258,7 +258,7 @@ "원문번호": "1-2-7", "구분": "건설품셈 공통", "상세구분": "01장 적용기준", - "이름": "벽돌운반 — 건설 공통 1-2-7", + "이름": "벽돌운반", "결과단위": "원/1,000매", "출처": "건설품셈 공통 1-2-7 4", "개정": [2008, 2010, 2016, 2022, 2023], @@ -282,6 +282,7 @@ "이름": "건설폐기물 발생량 — 건설 공통 1-5-4", "결과단위": "ton", "출처": "건설품셈 공통 1-5-4 2", + "부품": { "갈래": "계수식" }, "개정": [2011, 2014, 2017, 2020], "소유": "공용", "비고": "발생량 = 면적 × 단위면적당 발생량(TON/㎡) × (1 + 증가율 ÷ 100) · 증가율 = 폐콘크리트류만(주③ 파일 시공 15% · 20% 이내 · 주④ 세륜 시설 개소당 3% 이내 — 설계자가 넣음 · 0 = 증가 없음) · 원문 칸 「-」 = 줄 없음(멈춤) · 건축물 해체는 설계도서 산출 우선(원문 2) · 주⑤ 현장 여건 조정", @@ -314,6 +315,7 @@ "이름": "공사용수 — 건설 공통 1-5-6", "결과단위": "㎥", "출처": "건설품셈 공통 1-5-6 3", + "부품": { "갈래": "계수식" }, "소유": "공용", "비고": "용수량 = 작업량 × 단위당 용수(㎥) × (1 + 잡용수율 ÷ 100) · 양생 물 포함([주]) · 해석: 잡용수 = 원문 「사용량비의 40∼50%」 — 잡용수율 0 = 더하지 않음(설계자가 40∼50 넣음)", "시험입력": { "구분": "콘크리트혼합 및 양생", "작업량": 100, "잡용수율": 0 }, diff --git a/resources/master_data/로직_건설품셈_08장_건설기계.json b/resources/master_data/로직_건설품셈_08장_건설기계.json index 4c05877a6..cf980a4ba 100644 --- a/resources/master_data/로직_건설품셈_08장_건설기계.json +++ b/resources/master_data/로직_건설품셈_08장_건설기계.json @@ -13,6 +13,7 @@ "이름": "굴착기(무한궤도) 시간당 기계경비", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6 · 8-1-7", + "부품": { "갈래": "기계경비식" }, "소유": "공용", "입력": [ { "이름": "기계", "고르기": ["0201-0012", "0201-0020", "0201-0040", "0201-0060", "0201-0070", "0201-0080", "0201-0100", "0201-0120", "0201-0200"] }, @@ -68,6 +69,7 @@ "이름": "기계 시간당 기계경비(손료 보정 없는 기종)", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6", + "부품": { "갈래": "기계경비식" }, "소유": "공용", "비고": "고르기는 쓰는 기계만 — 주연료·조종원이 있는 기계는 더 넣어 씀 · 암석·전석섞인토사 작업의 불도저(19톤 미만 · 타이어·습지)·로더(무한궤도)·덤프트럭(18톤 미만)은 「공통 8 기계 시간당 경비(손료 보정)」(8-1-7 1)", "입력": [ @@ -237,6 +239,7 @@ "이름": "기계 시간당 기계경비(8-1-7 손료 보정)", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6 · 8-1-7", + "부품": { "갈래": "기계경비식" }, "소유": "공용", "비고": "8-1-7 표의 기종만 가산 — 불도저(무한궤도) 19톤 미만 · 타이어·습지 불도저 · 로더(무한궤도) · 덤프트럭 18톤 미만 · 주① 대로 불도저 19톤 이상 · 덤프트럭 18톤 이상과 표 밖 기종은 가산 0 · 굴착기(무한궤도)는 「공통 8 굴착기(무한궤도) 시간당 경비」", "입력": [ @@ -432,6 +435,7 @@ "이름": "굴착기(무한궤도)+부착용 집게 시간당 기계경비", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6 · 8-1-7 · 8-4-8 주⑤", + "부품": { "갈래": "기계경비식" }, "소유": "공용", "비고": "집게는 굴착기 부수물(8-3-1 (0250) 주 · 규격은 해당 굴착기 규격) — 집게 규격은 굴착기 규격에 맞춰 고름", "입력": [ @@ -498,6 +502,7 @@ "이름": "굴착기(무한궤도)+대형브레이커 시간당 기계경비", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6 · 8-1-7 · 8-4-8 주⑤", + "부품": { "갈래": "기계경비식" }, "소유": "공용", "비고": "브레이커는 굴착기 부수물(8-3-1 (0230) · 규격은 해당 굴착기 규격) — 치즐 소모는 쓰는 절의 요율로 따로", "입력": [ @@ -568,6 +573,7 @@ "이름": "기계 시간당 기계경비(조종원 없는 기종)", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6", + "부품": { "갈래": "기계경비식" }, "소유": "공용", "비고": "원문 운전경비 표에 조종원 칸이 빈 기종(진동기 · 엔진) — 주연료가 있는 기계만", "입력": [ @@ -930,6 +936,7 @@ "이름": "기계 시간당 기계경비(조종원직종 입력)", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6", + "부품": { "갈래": "기계경비식" }, "소유": "공용", "비고": "원문 8-1-3 5 운전사 구분에 이름 없는 기종 — 조종원직종을 설계자가 고름", "입력": [ @@ -1008,6 +1015,7 @@ "이름": "기계 시간당 기계경비(연료 없는 기종)", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6", + "부품": { "갈래": "기계경비식" }, "소유": "공용", "비고": "원문 운전경비 표에 주연료가 빈 기종(공기식 크롤러드릴 등 — 동력은 공기압축기) — 손료 + 조종원", "입력": [ @@ -1053,6 +1061,7 @@ "이름": "시공능력 산정 기본식 Q = n·q·f·E — 건설 공통 8-1-4", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-1-4", + "부품": { "갈래": "계수식" }, "소유": "공용", "비고": "n = 60/cm(분) 또는 3,600/cm(초) · 끝수 Q 3자리 · n 2자리 · cm 3자리(주①) · 단위는 원문대로 ㎥/hr 또는 ton/hr", "시험입력": { "싸이클시간": 21, "시간단위": "초", "작업량": 0.9, "f": 0.7, "E": 0.75 }, @@ -1083,6 +1092,7 @@ "이름": "불도저 시간당 작업량 — 건설 공통 8-2-1", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-1", + "부품": { "갈래": "작업량 틀", "기종": ["불도저"] }, "개정": [2025], "소유": "공용", "비고": "q = q° × e · cm = L/V1 + L/V2 + t · 타이어형 속도 표는 규격이 수(15 · 28 · 33)", @@ -1140,86 +1150,6 @@ "타이어규격": { "기호": "S", "아래": "타이어규격" } } }, - { - "키": "GC001145", - "원문번호": "8-2-1", - "구분": "건설품셈 공통", - "상세구분": "08장 건설기계", - "이름": "불도저 작업량당 기계경비 — 건설 공통 8-2-1", - "결과단위": "원/㎥", - "출처": "건설품셈 공통 8-2-1 · 건설품셈 공통 8-1-4", - "개정": [2025], - "소유": "공용", - "비고": "시간당 기계경비(GC000269) × 1/Q — Q = 8-2-1 불도저 시간당 작업량 로직", - "시험입력": { - "종별": "무한궤도", - "급수": "19", - "운반거리": 30, - "거리구분": "30", - "현장조건": "자연상태", - "등급": "보통", - "토질명": "모래, 사질토", - "E보정": "해당 없음", - "전진단": 1, - "후진단": 1, - "f": 1, - "E입력": 0, - "기계": "0101-0007" - }, - "입력": [ - { "이름": "종별", "설명": "불도저 종별", "고르기": ["무한궤도", "타이어"], "출처": "건설품셈 공통 8-2-1 1 가" }, - { "이름": "급수", "설명": "불도저 급수(ton)", "고르기": ["4(초습지)", "7", "10", "12", "13(습지)", "19", "32", "15", "28", "33"], "출처": "건설품셈 공통 8-2-1 1 가" }, - { "이름": "운반거리", "설명": "운반거리(L)", "단위": "m", "출처": "건설품셈 공통 8-2-1 2" }, - { "이름": "거리구분", "설명": "운반거리계수(e) 표의 거리 칸", "고르기": ["10이하", "20", "30", "40", "50", "60", "70", "80"], "출처": "건설품셈 공통 8-2-1 1 나" }, - { "이름": "현장조건", "설명": "흙 상태", "고르기": ["자연상태", "흐트러진 상태"], "출처": "건설품셈 공통 8-2-1 1 다" }, - { "이름": "등급", "설명": "작업 조건 등급", "고르기": ["양호", "보통", "불량"], "출처": "건설품셈 공통 8-2-1 1 다" }, - { "이름": "토질명", "설명": "토질", "고르기": ["모래, 사질토", "자갈섞인 흙, 점성토", "파쇄암"], "출처": "건설품셈 공통 8-2-1 1 다" }, - { "이름": "E보정", "설명": "작업효율에서 뺄 경우", "고르기": ["해당 없음", "정지작업을 겸하는 경우", "터파기"], "출처": "건설품셈 공통 8-2-1 1 다 주" }, - { "이름": "전진단", "설명": "전진 기어 단", "고르기": [1, 2, 3, 4], "출처": "건설품셈 공통 8-2-1 2 주" }, - { "이름": "후진단", "설명": "후진 기어 단", "고르기": [1, 2, 3], "출처": "건설품셈 공통 8-2-1 2 주" }, - { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-1" }, - { - "이름": "기계", - "설명": "불도저 규격", - "고르기": ["0101-0007", "0101-0010", "0101-0012", "0101-0019", "0101-0032", "0102-0015", "0102-0028", "0102-0033", "0121-0004", "0121-0013"] - }, - { - "이름": "지역", - "고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], - "출처": "건설품셈 공통 8-1-7 5" - }, - { "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" } - ], - "중간": [ - { - "이름": "작업량", - "식": "로직(GC001144, 종별=종별, 급수=급수, 운반거리=운반거리, 거리구분=거리구분, 현장조건=현장조건, 등급=등급, 토질명=토질명, E보정=E보정, 전진단=전진단, 후진단=후진단, f=f, E입력=E입력)", - "단위": "㎥/hr" - } - ], - "호표": [{ "종류": "로직", "요소": "로직(GC000269, 기계=기계, 지역=지역, 보정작업=보정작업)", "이름": "불도저", "단위": "시간", "수량": "1 / 작업량", "출처": "건설품셈 공통 8-1-4" }], - "덧줄": [], - "끝수": null, - "변수표": { - "운반거리": { "기호": "L" }, - "f": { "이름": "체적환산계수" }, - "작업량": { "이름": "시간당 작업량", "기호": "Q" }, - "종별": { "기호": "S", "아래": "종별" }, - "급수": { "기호": "S", "아래": "급수" }, - "거리구분": { "기호": "S", "아래": "거리구분" }, - "현장조건": { "기호": "S", "아래": "현장조건" }, - "등급": { "기호": "S", "아래": "등급" }, - "토질명": { "기호": "S", "아래": "토질명" }, - "E보정": { "기호": "E", "아래": "보정" }, - "전진단": { "기호": "S", "아래": "전진단" }, - "후진단": { "기호": "S", "아래": "후진단" }, - "E입력": { "기호": "E", "아래": "입력" }, - "기계": { "기호": "S", "아래": "기계" }, - "지역": { "기호": "S", "아래": "지역" }, - "보정작업": { "기호": "S", "아래": "보정작업" } - } - }, { "키": "GC001146", "원문번호": "8-2-2", @@ -1228,6 +1158,7 @@ "이름": "리퍼(유압식) 시간당 파쇄량 — 건설 공통 8-2-2", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-2", + "부품": { "갈래": "작업량 틀", "기종": ["유압식 리퍼"] }, "개정": [2025], "소유": "공용", "비고": "cm = 0.05ℓ + 0.25(원문 산정식) · 탄성파속도는 작업효율 표에 있는 값(규격별)", @@ -1269,6 +1200,7 @@ "이름": "굴착기 시간당 작업량 — 건설 공통 8-2-3", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-3", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "버킷용량" }, "개정": [2004, 2007, 2009, 2025], "소유": "공용", "비고": "Q = 3,600·q·K·f·E/cm · 협소현장 = 주⑦ 상하수도관로부설 등 별도 E 표 · 싸이클입력 0 = 표(규격 · 선회각도)", @@ -1337,96 +1269,6 @@ "보정": { "기호": "r", "아래": "보정" } } }, - { - "키": "GC001148", - "원문번호": "8-2-3", - "구분": "건설품셈 공통", - "상세구분": "08장 건설기계", - "이름": "굴착기(무한궤도) 작업량당 기계경비 — 건설 공통 8-2-3", - "결과단위": "원/㎥", - "출처": "건설품셈 공통 8-2-3 · 건설품셈 공통 8-1-4", - "개정": [2004, 2007, 2009, 2025], - "소유": "공용", - "비고": "시간당 기계경비(GC000267) × 1/Q — Q = 8-2-3 굴착기 시간당 작업량 로직", - "시험입력": { - "버킷용량": 1, - "규격구분": "1.0∼1.2", - "선회각도": 135, - "버킷조건": "위의 토질보다 약간 단단한 토질로서 버킷에 거의 가득 채울 수 있는 모래, 보통토 및 조건이 좋은 점토인 경우", - "현장조건": "흐트러진 상태", - "등급": "보통", - "토질명": "모래, 사질토", - "E보정": "해당 없음", - "협소현장": "해당 없음", - "f": 0.7, - "E입력": 0, - "싸이클입력": 0, - "기계": "0201-0012" - }, - "입력": [ - { "이름": "버킷용량", "설명": "버킷용량(q)", "단위": "㎥", "출처": "건설품셈 공통 8-2-3" }, - { "이름": "규격구분", "설명": "싸이클시간 표의 규격 칸", "단위": "㎥", "고르기": ["0.12∼0.4", "0.6∼0.8", "1.0∼1.2", "2.0"], "출처": "건설품셈 공통 8-2-3 3" }, - { "이름": "선회각도", "설명": "선회 각도", "단위": "도", "고르기": [45, 90, 135, 180], "출처": "건설품셈 공통 8-2-3 3" }, - { - "이름": "버킷조건", - "설명": "버킷계수(K) 현장조건", - "고르기": [ - "용이하게 굴착할 수 있는 연한 토질로서 버킷에 산적으로 가득찰 때가 많은 조건이 좋은 모래, 보통토인 경우", - "위의 토질보다 약간 단단한 토질로서 버킷에 거의 가득 채울 수 있는 모래, 보통토 및 조건이 좋은 점토인 경우", - "버킷에 가득 채우기가 어렵거나 가벼운 발파를 필요로 하는 것으로서 단단한 점토질, 점토, 역토질인 경우", - "버킷에 넣기 어렵고 불규칙한 공극이 생기는 것으로서 발파 또는 리퍼작업 등에 의하여 얻어진 암과 파쇄암, 호박돌, 역 등인 경우" - ], - "출처": "건설품셈 공통 8-2-3 1" - }, - { "이름": "현장조건", "설명": "흙 상태", "고르기": ["자연상태", "흐트러진 상태"], "출처": "건설품셈 공통 8-2-3 2" }, - { "이름": "등급", "설명": "작업 조건 등급", "고르기": ["양호", "보통", "불량"], "출처": "건설품셈 공통 8-2-3 2" }, - { "이름": "토질명", "설명": "토질", "고르기": ["모래, 사질토", "자갈섞인 흙, 점성토", "파쇄암"], "출처": "건설품셈 공통 8-2-3 2" }, - { "이름": "E보정", "설명": "작업효율에서 뺄 경우", "고르기": ["해당 없음", "터파기"], "출처": "건설품셈 공통 8-2-3 2 주" }, - { "이름": "협소현장", "설명": "주택가 상하수도관로부설 등 협소현장(주⑦)", "고르기": ["해당 없음", "상하수도관로부설 등 협소현장"], "출처": "건설품셈 공통 8-2-3 2 주⑦" }, - { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-3" }, - { "이름": "싸이클입력", "설명": "1회 싸이클시간을 직접 넣을 때 — 0 이면 표", "단위": "sec", "범위": [0, 30], "출처": "건설품셈 공통 8-2-3 3" }, - { - "이름": "기계", - "설명": "굴착기(무한궤도) 규격", - "고르기": ["0201-0012", "0201-0020", "0201-0040", "0201-0060", "0201-0070", "0201-0080", "0201-0100", "0201-0120", "0201-0200"] - }, - { - "이름": "지역", - "고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], - "출처": "건설품셈 공통 8-1-7 5" - }, - { "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" } - ], - "중간": [ - { - "이름": "작업량", - "식": "로직(GC001147, 버킷용량=버킷용량, 규격구분=규격구분, 선회각도=선회각도, 버킷조건=버킷조건, 현장조건=현장조건, 등급=등급, 토질명=토질명, E보정=E보정, 협소현장=협소현장, f=f, E입력=E입력, 싸이클입력=싸이클입력)", - "단위": "㎥/hr" - } - ], - "호표": [{ "종류": "로직", "요소": "로직(GC000267, 기계=기계, 지역=지역, 보정작업=보정작업)", "이름": "굴착기(무한궤도)", "단위": "시간", "수량": "1 / 작업량", "출처": "건설품셈 공통 8-1-4" }], - "덧줄": [], - "끝수": null, - "변수표": { - "버킷용량": { "기호": "q" }, - "f": { "이름": "체적환산계수" }, - "작업량": { "이름": "시간당 작업량", "기호": "Q" }, - "규격구분": { "기호": "S", "아래": "규격구분" }, - "선회각도": { "기호": "θ", "아래": "선회" }, - "버킷조건": { "기호": "S", "아래": "버킷조건" }, - "현장조건": { "기호": "S", "아래": "현장조건" }, - "등급": { "기호": "S", "아래": "등급" }, - "토질명": { "기호": "S", "아래": "토질명" }, - "E보정": { "기호": "E", "아래": "보정" }, - "협소현장": { "기호": "S", "아래": "협소현장" }, - "E입력": { "기호": "E", "아래": "입력" }, - "싸이클입력": { "기호": "X", "아래": "싸이클" }, - "기계": { "기호": "S", "아래": "기계" }, - "지역": { "기호": "S", "아래": "지역" }, - "보정작업": { "기호": "S", "아래": "보정작업" } - } - }, { "키": "GC001149", "원문번호": "8-2-4", @@ -1435,6 +1277,7 @@ "이름": "트랜처 시간당 작업량 — 건설 공통 8-2-4", "결과단위": "m/hr", "출처": "건설품셈 공통 8-2-4", + "부품": { "갈래": "작업량 틀", "기종": ["트랜처"] }, "소유": "공용", "비고": "cm = t1 + (L1/V1 + L2/V2) + t3 · 작업보조인부 4인 1조(주①)", "시험입력": { "작업거리": 100, "전진거리": 0, "후진거리": 0, "굴착심도": 0.7, "토질": "사질토", "작업조건": "보통", "E입력": 0 }, @@ -1483,6 +1326,7 @@ "이름": "로더 운전시간당 작업량 — 건설 공통 8-2-5", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-5", + "부품": { "갈래": "작업량 틀", "기종": ["로더"], "규격": "버킷용량" }, "개정": [2007, 2020], "소유": "공용", "비고": "cm = m·ℓ + t1 + t2 · K 표 둘(산적상태 적재 · 자연상태·기타 적재) · 주행거리 0 = 표준 8m", @@ -1563,100 +1407,6 @@ "보정": { "기호": "r", "아래": "보정" } } }, - { - "키": "GC001151", - "원문번호": "8-2-5", - "구분": "건설품셈 공통", - "상세구분": "08장 건설기계", - "이름": "로더 작업량당 기계경비 — 건설 공통 8-2-5", - "결과단위": "원/㎥", - "출처": "건설품셈 공통 8-2-5 · 건설품셈 공통 8-1-4", - "개정": [2007, 2020], - "소유": "공용", - "비고": "시간당 기계경비(GC000269) × 1/Q — Q = 8-2-5 로더 시간당 작업량 로직", - "시험입력": { - "기종": "타이어식", - "버킷용량": 1.34, - "작업방법": "산적상태에서 담을 때", - "적재조건": "보통인 경우", - "K표": "산적상태 적재", - "K조건": "굴착기계로 깎거나 쌓아모은 산적상태에서 적재하는 것으로 굴착력을 필요로 하지 않고 쉽게 버킷에 산적할 수 있는 것, 즉 조건이 좋은 모래, 보통토 등", - "주행거리": 0, - "현장조건": "흐트러진 상태", - "등급": "양호", - "토질명": "모래, 사질토", - "E보정": "해당 없음", - "f": 1, - "E입력": 0, - "기계": "0301-0057" - }, - "입력": [ - { "이름": "기종", "설명": "로더 기종", "고르기": ["무한궤도식", "타이어식"], "출처": "건설품셈 공통 8-2-5 1" }, - { "이름": "버킷용량", "설명": "버킷용량(q)", "단위": "㎥", "출처": "건설품셈 공통 8-2-5" }, - { "이름": "작업방법", "설명": "버킷에 담는 방법", "고르기": ["산적상태에서 담을 때", "지면부터 굴착 집토하여 담을 때"], "출처": "건설품셈 공통 8-2-5 1" }, - { "이름": "적재조건", "설명": "t1 현장조건", "고르기": ["용이한 경우", "보통인 경우", "약간곤란한 경우", "곤란한 경우"], "출처": "건설품셈 공통 8-2-5 1" }, - { "이름": "K표", "설명": "버킷계수 표 갈래", "고르기": ["산적상태 적재", "자연상태·기타 적재"], "출처": "건설품셈 공통 8-2-5 2" }, - { - "이름": "K조건", - "설명": "버킷계수 현장조건(고른 표의 줄)", - "고르기": [ - "굴착기계로 깎거나 쌓아모은 산적상태에서 적재하는 것으로 굴착력을 필요로 하지 않고 쉽게 버킷에 산적할 수 있는 것, 즉 조건이 좋은 모래, 보통토 등", - "흐트러진 산적상태에서 적재하는 것으로 위 상태보다 약간 삽날이 들어가기 어려운 토질로서 버킷에 가득 채울 수 있는 것, 즉 점토, 역질토", - "모래, 사력보통토, 점토, 역질토 등 직접 자연상태에서 굴착적재 할 수 있는 여건으로 버킷에 평적에 약간 미달되게 채울 수 있는 것", - "버킷에 가득 채울 수 없는 것으로 다른 기계로 쌓아 모아놓은 부순돌 및 점질토나 역질토로서 굳어진 덩어리상태로 되어 있는 것", - "버킷에 넣기 어렵고 허술하며 불규칙한 공극이 생긴 것, 예를 들면 발파 또는 리퍼로 깎은 암괴, 호박돌, 역 등" - ], - "출처": "건설품셈 공통 8-2-5 2" - }, - { "이름": "주행거리", "설명": "편도주행거리(ℓ) — 0 이면 표준 8m", "단위": "m", "출처": "건설품셈 공통 8-2-5" }, - { "이름": "현장조건", "설명": "흙 상태", "고르기": ["자연상태", "흐트러진 상태"], "출처": "건설품셈 공통 8-2-5 3" }, - { "이름": "등급", "설명": "작업 조건 등급", "고르기": ["양호", "보통", "불량"], "출처": "건설품셈 공통 8-2-5 3" }, - { "이름": "토질명", "설명": "토질", "고르기": ["모래, 사질토", "자갈섞인 흙, 점성토", "파쇄암"], "출처": "건설품셈 공통 8-2-5 3" }, - { "이름": "E보정", "설명": "작업효율에서 뺄 경우", "고르기": ["해당 없음", "터파기"], "출처": "건설품셈 공통 8-2-5 3 주" }, - { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-5" }, - { - "이름": "기계", - "설명": "로더 규격", - "고르기": ["0301-0057", "0301-0076", "0301-0095", "0301-0115", "0301-0134", "0301-0153", "0301-0172", "0301-0287", "0302-0057", "0302-0095", "0302-0134"] - }, - { - "이름": "지역", - "고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], - "출처": "건설품셈 공통 8-1-7 5" - }, - { "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" } - ], - "중간": [ - { - "이름": "작업량", - "식": "로직(GC001150, 기종=기종, 버킷용량=버킷용량, 작업방법=작업방법, 적재조건=적재조건, K표=K표, K조건=K조건, 주행거리=주행거리, 현장조건=현장조건, 등급=등급, 토질명=토질명, E보정=E보정, f=f, E입력=E입력)", - "단위": "㎥/hr" - } - ], - "호표": [{ "종류": "로직", "요소": "로직(GC000269, 기계=기계, 지역=지역, 보정작업=보정작업)", "이름": "로더", "단위": "시간", "수량": "1 / 작업량", "출처": "건설품셈 공통 8-1-4" }], - "덧줄": [], - "끝수": null, - "변수표": { - "버킷용량": { "기호": "q" }, - "주행거리": { "기호": "ℓ" }, - "f": { "이름": "체적환산계수" }, - "작업량": { "이름": "운전시간당 작업량", "기호": "Q" }, - "기종": { "기호": "S", "아래": "기종" }, - "작업방법": { "기호": "S", "아래": "작업방법" }, - "적재조건": { "기호": "S", "아래": "적재조건" }, - "K표": { "기호": "K", "아래": "표" }, - "K조건": { "기호": "K", "아래": "조건" }, - "현장조건": { "기호": "S", "아래": "현장조건" }, - "등급": { "기호": "S", "아래": "등급" }, - "토질명": { "기호": "S", "아래": "토질명" }, - "E보정": { "기호": "E", "아래": "보정" }, - "E입력": { "기호": "E", "아래": "입력" }, - "기계": { "기호": "S", "아래": "기계" }, - "지역": { "기호": "S", "아래": "지역" }, - "보정작업": { "기호": "S", "아래": "보정작업" } - } - }, { "키": "GC001152", "원문번호": "8-2-6", @@ -1665,6 +1415,7 @@ "이름": "모터 스크레이퍼 시간당 작업량 — 건설 공통 8-2-6", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-6", + "부품": { "갈래": "작업량 틀", "기종": ["스크레이퍼"] }, "소유": "공용", "비고": "q = 적재함용적 × K · cm = L1/V1 + L2/V2 + t", "시험입력": { "적재함용적": 10, "적재주행거리": 300, "공차주행거리": 300, "푸쉬도우저": "사용", "f": 1, "E입력": 0 }, @@ -1743,6 +1494,7 @@ "이름": "모터 그레이더 1시간당 작업면적 — 건설 공통 8-2-7", "결과단위": "㎡/hr", "출처": "건설품셈 공통 8-2-7", + "부품": { "갈래": "작업량 틀", "기종": ["모터그레이더"] }, "개정": [2025], "소유": "공용", "비고": "cm 가 = 0.06×D/V1 + t · 나 = 0.06×(D/V1 + D/V2) + 2t · 속도가 여럿이면(P1·Cm1 + P2·Cm2 …) 설계자가 나눠 셈", @@ -1808,6 +1560,7 @@ "이름": "모터 그레이더 1시간당 작업토량 — 건설 공통 8-2-7", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-7", + "부품": { "갈래": "작업량 틀", "기종": ["모터그레이더"] }, "개정": [2025], "소유": "공용", "비고": "cm 가 = 0.06×D/V1 + t · 나 = 0.06×(D/V1 + D/V2) + 2t · 속도가 여럿이면(P1·Cm1 + P2·Cm2 …) 설계자가 나눠 셈", @@ -1881,6 +1634,7 @@ "이름": "덤프트럭 1시간당 작업량 — 건설 공통 8-2-8", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-8", + "부품": { "갈래": "작업량 틀", "기종": ["덤프트럭"], "규격": "적재용량" }, "개정": [2017], "소유": "공용", "비고": "q = T/γt × L · cm = t1 + … + t6 · 적재기계 t1 = cms·n/(60·Es) · n = q/(qs·k)(2자리) · 인력 t1 = 적재시간(분/㎥) × q · t2 = 거리/속도 × 60(분)", @@ -1997,126 +1751,6 @@ "E입력": { "기호": "E", "아래": "입력" } } }, - { - "키": "GC001156", - "원문번호": "8-2-8", - "구분": "건설품셈 공통", - "상세구분": "08장 건설기계", - "이름": "덤프트럭 작업량당 기계경비 — 건설 공통 8-2-8", - "결과단위": "원/㎥", - "출처": "건설품셈 공통 8-2-8 · 건설품셈 공통 8-1-4", - "개정": [2017], - "소유": "공용", - "비고": "시간당 기계경비(GC000268) × 1/Q — Q = 8-2-8 덤프트럭 시간당 작업량 로직", - "시험입력": { - "적재용량": 15, - "단위중량": 1.8, - "체적변화율": 1.25, - "f": 0.7, - "운반거리": 0.08, - "도로상태": "교차가 힘든 산간지도로 및 제방 등의 도로", - "적하토질": "모래, 역, 호박돌", - "적하조건": "불량", - "적재장소": "적재장소가 넓지는 않으나 목적장소에 불편없이 진입할 수 있을 때", - "덮개": "해당 없음", - "세륜": "안 함", - "적재방법": "적재기계", - "적재싸이클": 21, - "적재버킷": 1, - "버킷계수": 0.9, - "적재효율": 0.75, - "인력종류": "토사류", - "적재시간입력": 0, - "E입력": 0, - "기계": "0602-0025" - }, - "입력": [ - { "이름": "적재용량", "설명": "덤프트럭의 적재용량(T)", "단위": "ton", "출처": "건설품셈 공통 8-2-8" }, - { "이름": "단위중량", "설명": "자연상태 토석의 단위중량(γt · 습윤밀도)", "단위": "ton/㎥", "출처": "건설품셈 공통 8-2-8" }, - { "이름": "체적변화율", "설명": "체적환산계수에서의 체적변화율(L = 흐트러진/자연)", "출처": "건설품셈 공통 8-2-8" }, - { "이름": "f", "설명": "체적환산계수", "출처": "건설품셈 공통 8-2-8" }, - { "이름": "운반거리", "설명": "운반거리(편도)", "단위": "㎞", "출처": "건설품셈 공통 8-2-8 2" }, - { - "이름": "도로상태", - "설명": "운반도로 상태", - "고르기": [ - "토취장 또는 토사장 등 열악한 조건의 도로", - "교차가 힘든 산간지도로 및 제방 등의 도로", - "교차가 가능한 산간지도로 및 제방도로, 미포장도로", - "2차로 이상의 공사용도로", - "2차로 교통량 및 교통대기가 많은 시가지 포장도로(7,000대/일 이상)", - "4차로 이상의 교통량 및 교통대기가 많은 시가지 포장도로(40,000대/일 이상)", - "2차로 시가지 포장도로(7,000∼2,000대/일)", - "4차로 이상의 시가지 포장도로(40,000대/일 미만)", - "2차로 교외 포장도로(2,000대/일 이상)", - "4차로 이상의 교외 포장도로(40,000대/일 이상)", - "2차로 교외 포장도로(2,000대/일 미만)", - "4차로 이상의 교외 포장도로(40,000대/일 미만)", - "2차로 고속도로 또는 교통량(편도) 1일 40,000대 이상의 4차로 고속도로", - "4차로 고속도로(편도 교통량 1일 40,000대 미만)" - ], - "출처": "건설품셈 공통 8-2-8 3" - }, - { "이름": "적하토질", "설명": "적하시간 표의 토질", "고르기": ["모래, 역, 호박돌", "점질토, 점토"], "출처": "건설품셈 공통 8-2-8 4" }, - { "이름": "적하조건", "설명": "적하 작업조건", "고르기": ["양호", "보통", "불량"], "출처": "건설품셈 공통 8-2-8 4" }, - { - "이름": "적재장소", - "설명": "적재장소 진입 조건(t4)", - "고르기": ["적재장소가 넓어서 트럭이 자유로이 목적장소에 진입할 수 있을 때", "적재장소가 넓지는 않으나 목적장소에 불편없이 진입할 수 있을 때", "적재장소가 좁아서 목적장소에 진입하는데 불편을 느낄 때"], - "출처": "건설품셈 공통 8-2-8 5" - }, - { "이름": "덮개", "설명": "적재함 덮개 설치 · 해체(t5)", "고르기": ["해당 없음", "인력에 의한 경우", "자동덮개시설의 경우"], "출처": "건설품셈 공통 8-2-8 6" }, - { "이름": "세륜", "설명": "세륜기 통과(t6)", "고르기": ["안 함", "함"], "출처": "건설품셈 공통 8-2-8 7" }, - { "이름": "적재방법", "설명": "적재시간(t1) 산출 갈래", "고르기": ["적재기계", "인력", "직접 입력"], "출처": "건설품셈 공통 8-2-8 1 · 8 · 9" }, - { "이름": "적재싸이클", "설명": "적재기계의 1회 싸이클시간(cms)", "단위": "sec", "출처": "건설품셈 공통 8-2-8 8" }, - { "이름": "적재버킷", "설명": "적재기계의 버킷용량(q)", "단위": "㎥", "출처": "건설품셈 공통 8-2-8 8" }, - { "이름": "버킷계수", "설명": "적재기계의 버킷계수(k)", "출처": "건설품셈 공통 8-2-8 8" }, - { "이름": "적재효율", "설명": "적재기계의 작업효율(Es)", "출처": "건설품셈 공통 8-2-8 8" }, - { "이름": "인력종류", "설명": "인력 적재 종류", "고르기": ["토사류", "석재류"], "출처": "건설품셈 공통 8-2-8 9" }, - { "이름": "적재시간입력", "설명": "적재시간(t1)을 직접 넣을 때(적재방법 「직접 입력」)", "단위": "분", "출처": "건설품셈 공통 8-2-8 1" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.9", "범위": [0, 1], "출처": "건설품셈 공통 8-2-8" }, - { "이름": "기계", "설명": "덤프트럭 규격", "고르기": ["0602-0025", "0602-0045", "0602-0060", "0602-0105", "0602-0150"] }, - { - "이름": "지역", - "고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], - "출처": "건설품셈 공통 8-1-7 5" - } - ], - "중간": [ - { - "이름": "작업량", - "식": "로직(GC001155, 적재용량=적재용량, 단위중량=단위중량, 체적변화율=체적변화율, f=f, 운반거리=운반거리, 도로상태=도로상태, 적하토질=적하토질, 적하조건=적하조건, 적재장소=적재장소, 덮개=덮개, 세륜=세륜, 적재방법=적재방법, 적재싸이클=적재싸이클, 적재버킷=적재버킷, 버킷계수=버킷계수, 적재효율=적재효율, 인력종류=인력종류, 적재시간입력=적재시간입력, E입력=E입력)", - "단위": "㎥/hr" - } - ], - "호표": [{ "종류": "로직", "요소": "로직(GC000268, 기계=기계, 지역=지역)", "이름": "덤프트럭", "단위": "시간", "수량": "1 / 작업량", "출처": "건설품셈 공통 8-1-4" }], - "덧줄": [], - "끝수": null, - "변수표": { - "적재용량": { "기호": "T" }, - "체적변화율": { "기호": "L" }, - "f": { "이름": "체적환산계수" }, - "적재싸이클": { "기호": "cms" }, - "적재버킷": { "기호": "q" }, - "버킷계수": { "기호": "k" }, - "적재효율": { "기호": "Es" }, - "작업량": { "이름": "1시간당 작업량", "기호": "Q" }, - "단위중량": { "기호": "W", "아래": "단위" }, - "운반거리": { "기호": "L", "아래": "운반" }, - "도로상태": { "기호": "S", "아래": "도로상태" }, - "적하토질": { "기호": "S", "아래": "적하토질" }, - "적하조건": { "기호": "S", "아래": "적하조건" }, - "적재장소": { "기호": "S", "아래": "적재장소" }, - "덮개": { "기호": "S", "아래": "덮개" }, - "세륜": { "기호": "S", "아래": "세륜" }, - "적재방법": { "기호": "S", "아래": "적재방법" }, - "인력종류": { "기호": "S", "아래": "인력종류" }, - "적재시간입력": { "기호": "T", "아래": "적재" }, - "E입력": { "기호": "E", "아래": "입력" }, - "기계": { "기호": "S", "아래": "기계" }, - "지역": { "기호": "S", "아래": "지역" } - } - }, { "키": "GC001157", "원문번호": "8-2-9", @@ -2125,6 +1759,7 @@ "이름": "롤러 시간당 다짐토량 — 건설 공통 8-2-9", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-9", + "부품": { "갈래": "작업량 틀", "기종": ["머캐덤 롤러", "탠덤롤러", "진동롤러", "타이어 롤러", "양족식 롤러"] }, "개정": [2004, 2017, 2025], "소유": "공용", "비고": "Q = 1,000·V·W·D·E·f/N · 소요다짐횟수 · 두께는 2 표(CC000063) 참고 입력", @@ -2184,6 +1819,7 @@ "이름": "롤러 시간당 다짐면적 — 건설 공통 8-2-9", "결과단위": "㎡/hr", "출처": "건설품셈 공통 8-2-9", + "부품": { "갈래": "작업량 틀", "기종": ["머캐덤 롤러", "탠덤롤러", "진동롤러", "타이어 롤러", "양족식 롤러"] }, "개정": [2004, 2017, 2025], "소유": "공용", "비고": "A = 1,000·V·W·E·1/N", @@ -2231,77 +1867,6 @@ "E입력": { "기호": "E", "아래": "입력" } } }, - { - "키": "GC001159", - "원문번호": "8-2-9", - "구분": "건설품셈 공통", - "상세구분": "08장 건설기계", - "이름": "롤러 작업량당 기계경비 — 건설 공통 8-2-9", - "결과단위": "원/㎥", - "출처": "건설품셈 공통 8-2-9 · 건설품셈 공통 8-1-4", - "개정": [2004, 2017, 2025], - "소유": "공용", - "비고": "시간당 기계경비(GC000268) × 1/Q — Q = 8-2-9 롤러토량 시간당 작업량 로직", - "시험입력": { - "다짐기계": "타이어롤러", - "규격": "8∼15", - "다짐층": "노체, 축제, 노상", - "다짐횟수": 4, - "E공종": "노체, 축제, 노상", - "E기계": "불도저", - "현장조건": "보통", - "E입력": 0, - "두께": 0.3, - "f": 1, - "기계": "1106-0010" - }, - "입력": [ - { "이름": "다짐기계", "설명": "다짐기계", "고르기": ["머캐덤롤러", "탠덤롤러", "타이어롤러", "불도저", "자주식, 양족식 롤러", "진동롤러(자주식)"], "출처": "건설품셈 공통 8-2-9 1" }, - { - "이름": "규격", - "설명": "다짐기계 규격(ton)", - "고르기": ["6∼8", "8∼10", "10∼12", "12∼15", "5∼8", "10∼14", "8∼15", "15∼25", "12", "19", "2.5", "4.4", "6.0", "10.0"], - "출처": "건설품셈 공통 8-2-9 1" - }, - { "이름": "다짐층", "설명": "표준다짐속도 칸", "고르기": ["노체, 축제, 노상", "보조기층, 기층", "표층"], "출처": "건설품셈 공통 8-2-9 1" }, - { "이름": "다짐횟수", "설명": "소요다짐횟수(N)", "단위": "회", "출처": "건설품셈 공통 8-2-9 2" }, - { "이름": "E공종", "설명": "작업효율 표의 공종", "고르기": ["표층", "기층, 보조기층", "노체, 축제, 노상"], "출처": "건설품셈 공통 8-2-9 3" }, - { "이름": "E기계", "설명": "작업효율 표의 다짐기계", "고르기": ["머캐덤롤러", "타이어롤러", "탠덤롤러", "진동롤러", "불도저", "양족식롤러(자주식)"], "출처": "건설품셈 공통 8-2-9 3" }, - { "이름": "현장조건", "설명": "작업 조건", "고르기": ["양호", "보통", "불량"], "출처": "건설품셈 공통 8-2-9 3" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-9" }, - { "이름": "두께", "설명": "펴는 흙의 두께(D · 다져진 상태)", "단위": "m", "출처": "건설품셈 공통 8-2-9 2 주②" }, - { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, - { - "이름": "기계", - "설명": "롤러 규격", - "고르기": ["1106-0010", "1106-0012", "1206-0008", "1305-0007", "1306-0025", "1306-0100", "1306-0120", "1406-0008", "1406-0015", "1506-0032"] - }, - { - "이름": "지역", - "고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], - "출처": "건설품셈 공통 8-1-7 5" - } - ], - "중간": [{ "이름": "작업량", "식": "로직(GC001157, 다짐기계=다짐기계, 규격=규격, 다짐층=다짐층, 다짐횟수=다짐횟수, E공종=E공종, E기계=E기계, 현장조건=현장조건, E입력=E입력, 두께=두께, f=f)", "단위": "㎥/hr" }], - "호표": [{ "종류": "로직", "요소": "로직(GC000268, 기계=기계, 지역=지역)", "이름": "롤러", "단위": "시간", "수량": "1 / 작업량", "출처": "건설품셈 공통 8-1-4" }], - "덧줄": [], - "끝수": null, - "변수표": { - "다짐횟수": { "기호": "N" }, - "두께": { "기호": "D" }, - "f": { "이름": "체적환산계수" }, - "작업량": { "이름": "시간당 다짐토량", "기호": "Q" }, - "다짐기계": { "기호": "S", "아래": "다짐기계" }, - "규격": { "기호": "S", "아래": "규격" }, - "다짐층": { "기호": "S", "아래": "다짐층" }, - "E공종": { "기호": "E", "아래": "공종" }, - "E기계": { "기호": "E", "아래": "기계" }, - "현장조건": { "기호": "S", "아래": "현장조건" }, - "E입력": { "기호": "E", "아래": "입력" }, - "기계": { "기호": "S", "아래": "기계" }, - "지역": { "기호": "S", "아래": "지역" } - } - }, { "키": "GC001160", "원문번호": "8-2-10", @@ -2310,6 +1875,7 @@ "이름": "아스팔트 플랜트 시간당 생산능력 — 건설 공통 8-2-10", "결과단위": "ton/hr", "출처": "건설품셈 공통 8-2-10", + "부품": { "갈래": "작업량 틀", "기종": ["아스팔트 믹싱플랜트"] }, "소유": "공용", "비고": "기계효율 80% 반영값 · 작업효율 적용 안 함 · 일생산 6시간(2)", "시험입력": { "플랜트규격": 60, "혼합재": "B" }, @@ -2330,6 +1896,7 @@ "이름": "스테이빌라이저(노상안정기) 시간당 작업량 — 건설 공통 8-2-11", "결과단위": "㎡/hr", "출처": "건설품셈 공통 8-2-11", + "부품": { "갈래": "작업량 틀", "기종": ["스테이빌라이저"] }, "소유": "공용", "비고": "A = W·V·E/P · W = Rotor 폭 − 0.4m", "시험입력": { "로터폭": 2.4, "작업조건": "보통의 경우", "혼합횟수": 0, "E입력": 0 }, @@ -2365,6 +1932,7 @@ "이름": "죠 크러셔 시간당 생산능력 — 건설 공통 8-2-12", "결과단위": "ton/hr", "출처": "건설품셈 공통 8-2-12", + "부품": { "갈래": "작업량 틀", "기종": ["죠 크러셔"] }, "소유": "공용", "비고": "양호 = 최대치 · 보통 = 평균치 · 불량 = 최소치(주④) · 단위용적중량 1.6ton/㎥ 기준", "시험입력": { "규격": "025060", "출구간격": 40, "작업조건": "보통" }, @@ -2389,6 +1957,7 @@ "이름": "롤 크러셔 시간당 생산능력 — 건설 공통 8-2-12", "결과단위": "ton/hr", "출처": "건설품셈 공통 8-2-12", + "부품": { "갈래": "작업량 틀", "기종": ["롤 크러셔"] }, "소유": "공용", "비고": "효율 양호 65% · 보통 50% · 불량 35%(주③)", "시험입력": { "규격": "076063", "출구간격": 25, "작업조건": "보통" }, @@ -2410,6 +1979,7 @@ "이름": "이동식 크러셔 시간당 생산능력 — 건설 공통 8-2-12", "결과단위": "ton/hr", "출처": "건설품셈 공통 8-2-12", + "부품": { "갈래": "작업량 틀", "기종": ["크러셔"] }, "소유": "공용", "비고": "괄호 값도 원문 칸 그대로 씀", "시험입력": { "규격": 100, "출구간격": 25, "작업조건": "보통" }, @@ -2431,6 +2001,7 @@ "이름": "스크린 전체 통과량 — 건설 공통 8-2-12", "결과단위": "ton/hr", "출처": "건설품셈 공통 8-2-12", + "부품": { "갈래": "작업량 틀", "기종": ["스크린"] }, "소유": "공용", "비고": "통과량 = 930㎠당 통과능력 × A×B×C×D×E × 체적면적 × 1/930(주⑤ 예시)", "시험입력": { "체규격": 25, "조합방법": "1회통과식", "택의수": 1, "B골재량": 40, "C규격": 28.0, "D골재량": 30, "체면적": 930 }, @@ -2477,41 +2048,6 @@ "통과능력": { "기호": "q", "아래": "통과" } } }, - { - "키": "GC001166", - "원문번호": "8-2-13", - "구분": "건설품셈 공통", - "상세구분": "08장 건설기계", - "이름": "대형브레이커 작업량당 기계경비 — 건설 공통 8-2-13", - "결과단위": "원/㎥", - "출처": "건설품셈 공통 8-2-13 2", - "개정": [2014, 2017, 2025], - "소유": "공용", - "비고": "작업능력 = 구조물 헐기(CC000065) · 굴착(CC000067) 표 범위 안에서 — 적용방법 다: 넓고 장해물 없음 상한치 · 약간 지장 평균치 · 협소 하한치 · 굴착기 0.4㎥ 조합 하한치(주⑤) · 보통인부 1인 · 치즐은 따로", - "시험입력": { "작업능력": 3.3, "기계": "0201-0070", "브레이커": "0230-0007" }, - "입력": [ - { "이름": "작업능력", "설명": "대형브레이커 작업능력(Q · 표 범위 안 값)", "단위": "㎥/hr", "출처": "건설품셈 공통 8-2-13 2" }, - { "이름": "기계", "고르기": ["0201-0012", "0201-0020", "0201-0040", "0201-0060", "0201-0070", "0201-0080", "0201-0100", "0201-0120", "0201-0200"] }, - { "이름": "브레이커", "고르기": ["0230-0002", "0230-0004", "0230-0006", "0230-0007", "0230-0008", "0230-0010"] }, - { - "이름": "지역", - "고르기": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], - "출처": "건설품셈 공통 8-1-7 5" - }, - { "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" } - ], - "중간": [], - "호표": [{ "종류": "로직", "요소": "로직(GC000271, 기계=기계, 브레이커=브레이커, 지역=지역, 보정작업=보정작업)", "이름": "굴착기+대형브레이커", "단위": "시간", "수량": "1 / 작업능력", "출처": "건설품셈 공통 8-2-13 2" }], - "덧줄": [], - "끝수": null, - "변수표": { - "작업능력": { "기호": "q", "아래": "작업" }, - "기계": { "기호": "S", "아래": "기계" }, - "브레이커": { "기호": "S", "아래": "브레이커" }, - "지역": { "기호": "S", "아래": "지역" }, - "보정작업": { "기호": "S", "아래": "보정작업" } - } - }, { "키": "GC001167", "원문번호": "8-2-14", @@ -2520,6 +2056,7 @@ "이름": "압쇄기(콘크리트 소할용) 시간당 작업량 — 건설 공통 8-2-14", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-14", + "부품": { "갈래": "작업량 틀", "기종": ["압쇄기"] }, "개정": [2004], "소유": "공용", "비고": "Q = q × E", @@ -2538,6 +2075,7 @@ "이름": "법면다짐기 시간당 작업량 — 건설 공통 8-2-15", "결과단위": "㎡/hr", "출처": "건설품셈 공통 8-2-15", + "부품": { "갈래": "작업량 틀", "기종": ["유압식 진동콤팩터"] }, "소유": "공용", "비고": "유압식 진동콤팩터 + 굴착기 0.7㎥ · 법면다짐판 + 굴착기 1.0㎥(1)", "시험입력": { "구분": "유압식 진동콤팩터" }, @@ -2555,6 +2093,7 @@ "이름": "골재세척설비 시간당 작업량 — 건설 공통 8-2-16", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-16", + "부품": { "갈래": "작업량 틀", "기종": ["골재세척설비"] }, "개정": [2001], "소유": "공용", "비고": "Q = q × E", @@ -2573,6 +2112,7 @@ "이름": "콘크리트 믹서 시간당 생산량 — 건설 공통 8-2-17", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-17", + "부품": { "갈래": "작업량 틀", "기종": ["콘크리트 믹서"], "규격": "믹서용량" }, "소유": "공용", "비고": "Q = 60/4 · q · E", "시험입력": { "믹서용량": 0.5, "E입력": 0 }, @@ -2593,6 +2133,7 @@ "이름": "콘크리트 배치플랜트(강제 혼합식) 시간당 작업량 — 건설 공통 8-2-18", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-18", + "부품": { "갈래": "작업량 틀", "기종": ["콘크리트 배치플랜트"] }, "개정": [2000, 2002, 2011], "소유": "공용", "비고": "Q = 60·q·E/cm · 터널 숏크리트 매우 불량은 E입력 0.40(주②)", @@ -2637,6 +2178,7 @@ "이름": "콘크리트 믹서트럭 시간당 운반량 — 건설 공통 8-2-19", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-19", + "부품": { "갈래": "작업량 틀", "기종": ["콘크리트 믹서트럭"], "규격": "적재용량" }, "소유": "공용", "비고": "cm = t1 + t2 + t3 + t4 · t1 = w/q·cmc · t2 = 거리/속도 × 60(분) · 범위(배출 2∼3 · 3∼4 · 대기 5∼10)는 가운데 기본", "시험입력": { "적재용량": 6, "플랜트실용량": 1, "플랜트싸이클": 0, "운반거리": 5, "적재속도": 30, "공차속도": 35, "슬럼프": "5㎝ 이상", "펌프조합": "아니오", "배출시간입력": 0, "대기시간입력": 0, "E입력": 0 }, @@ -2696,6 +2238,7 @@ "이름": "콘크리트 덤프트럭 시간당 운반량 — 건설 공통 8-2-19", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-19", + "부품": { "갈래": "작업량 틀", "기종": ["덤프트럭"] }, "소유": "공용", "비고": "cm = cm1 + cm2 · cm1 = 3L + 5(±5) · cm2 = w/q·cmc + t1 + t2", "시험입력": { "규격": 10.5, "플랜트실용량": 1, "플랜트싸이클": 0, "운반거리": 5, "하역시간입력": 0, "대기시간입력": 0, "E입력": 0 }, @@ -2745,6 +2288,7 @@ "이름": "기관차 시간당 작업량 — 건설 공통 8-2-20", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-20", + "부품": { "갈래": "작업량 틀", "기종": ["디젤 기관차"] }, "소유": "공용", "비고": "Q = C·N·f·E · N = 60/(t1 + L/V1 + L/V2 + t2) · C = n × q", "시험입력": { "기관차": "5t", "대차용량": 1.5, "운반거리": 500, "재료": "토사류", "f": 1, "E": 0.8 }, @@ -2789,6 +2333,7 @@ "이름": "경운기 시간당 작업량 — 건설 공통 8-2-21", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-21", + "부품": { "갈래": "작업량 틀", "기종": ["경운기"] }, "소유": "공용", "비고": "cm = L/V1 + L/V2 + t · 공차 속도 = 원문 「적하」 칸", "시험입력": { "적재량": 0.5, "거리": 100, "종류": "토사류", "작업로": "보통", "f": 1, "E입력": 0 }, @@ -2831,6 +2376,7 @@ "이름": "디젤 파일 해머 파일 1본당 시공시간 — 강관파일 — 건설 공통 8-2-22", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-22", + "부품": { "갈래": "작업량 틀", "기종": ["디젤 파일 해머"] }, "소유": "공용", "비고": "Tc = (Tb+Tw+Ts+Tt+Te)/F · Tb = 0.05·α·β·L(N+2) — 원문 강관 식 글에 β 글자가 빠져 있으나 기호 풀이(β 해머 계수) · 표 · 콘크리트 식대로 β 곱함", "시험입력": { @@ -2925,6 +2471,7 @@ "이름": "디젤 파일 해머 파일 1본당 시공시간 — 콘크리트 파일(PC · RC) — 건설 공통 8-2-22", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-22", + "부품": { "갈래": "작업량 틀", "기종": ["디젤 파일 해머"] }, "소유": "공용", "비고": "Tc = (Tb+Ts+Tt+Te)/F · Tb = 0.08α·β·L(N+2) · 용접 없음", "시험입력": { "토질": "실트・로움・모래", "α입력": 0, "파일경": 400, "해머": "2.2ton 급", "관입길이": 12, "평균N": 10, "세우기횟수": 1, "평탄성": "양호", "현장": "현장이 넓으며 작업에 장애물이 없는 경우" }, @@ -2988,6 +2535,7 @@ "이름": "유압 파일 해머 파일 1본당 시공시간 — 강관파일 — 건설 공통 8-2-23", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-23", + "부품": { "갈래": "작업량 틀", "기종": ["유압 파일 해머"] }, "소유": "공용", "비고": "Tc = α·β·Ta · 용접시간 포함(주④)", "시험입력": { "평균N": 15, "항타길이": "17∼32", "판두께": "12", "파일경": "500∼800" }, @@ -3024,6 +2572,7 @@ "이름": "유압 파일 해머 파일 1본당 시공시간 — 콘크리트 파일(PC · RC · PHC) — 건설 공통 8-2-23", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-23", + "부품": { "갈래": "작업량 틀", "기종": ["유압 파일 해머"] }, "소유": "공용", "비고": "Tc = α·Ta", "시험입력": { "평균N": 25, "항타길이": "16∼22", "파일경": "300∼600" }, @@ -3054,6 +2603,7 @@ "이름": "진동파일 해머 파일 1본당 시공시간 — H파일 — 건설 공통 8-2-24", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-24", + "부품": { "갈래": "작업량 틀", "기종": ["진동파일 해머"] }, "개정": [1996, 2026], "소유": "공용", "비고": "Tc = (Ts+Tb)/F · Tb = r×ℓ×k · r = (r1ℓ1 + r2ℓ2)/(ℓ1+ℓ2) · F = F0 + (f1+f2+f3+f4)", @@ -3119,6 +2669,7 @@ "이름": "진동파일 해머 파일 1본당 시공시간 — 강널말뚝 — 건설 공통 8-2-24", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-24", + "부품": { "갈래": "작업량 틀", "기종": ["진동파일 해머"] }, "개정": [1996, 2026], "소유": "공용", "비고": "Tc = {(0.75+γ·Nmax)·ℓ+α}·K/F · K = 원문 항타 · 인발 두 줄에 걸친 한 칸(항타 줄 값) · 인발 F0 = 원문 「항발」 칸", @@ -3164,6 +2715,7 @@ "이름": "진동파일해머(워터제트 병용 압입공) 파일 1본당 시공시간 — 건설 공통 8-2-25", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-25", + "부품": { "갈래": "작업량 틀", "기종": ["진동파일 해머", "워터젯트"] }, "소유": "공용", "비고": "Tc = To×α/F · To = 0.05L(N+42.5)+9.6 · F = F0 + (f1+f2+f3+f4)", "시험입력": { "근입길이": 12, "평균N": 40, "토질": "점성토", "α입력": 0, "f1": 0, "f2": 0, "f3": 0, "f4": 0 }, @@ -3206,6 +2758,7 @@ "이름": "유압식 압입 인발기 강널말뚝 1본당 시공시간 — 건설 공통 8-2-26", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-26", + "부품": { "갈래": "작업량 틀", "기종": ["유압식 압입 인발기"] }, "소유": "공용", "비고": "압입 Tc = (Ts+Tb)/F · 인발 Tc = (1.10ℓ+4.76)/F", "시험입력": { "작업": "압입", "파일길이": 12, "압입길이": 10, "Nmax": 20, "f1": 0, "f2": 0, "f3": 0 }, @@ -3247,7 +2800,7 @@ "원문번호": "8-2-27", "구분": "건설품셈 공통", "상세구분": "08장 건설기계", - "이름": "수중펌프 설치 및 해체(1개소당) — 건설 공통 8-2-27", + "이름": "수중펌프 설치 및 해체", "결과단위": "원/개소", "출처": "건설품셈 공통 8-2-27 5", "소유": "공용", @@ -3268,6 +2821,7 @@ "이름": "터널전단면 굴착기(TBM) 1시간당 작업량 — 건설 공통 8-2-28", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-28", + "부품": { "갈래": "작업량 틀", "기종": ["터널전단면 굴착기"] }, "소유": "공용", "비고": "A = πD²/4 · cm = T1 + T2 · T1 = ℓ/(R×Pe)×100", "시험입력": { "굴착직경": 4.5, "작업거리": 1.2, "회전속도": 8, "투과깊이": 0.5, "현장조건": "보통", "E입력": 0 }, @@ -3308,6 +2862,7 @@ "이름": "펌프식 준설선 1시간당 준설능력 — 건설 공통 8-2-29", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-29", + "부품": { "갈래": "작업량 틀", "기종": ["펌프 준설선"] }, "개정": [2010, 2011], "소유": "공용", "비고": "Q = q·bo·E/746 · E = E1×E2×E3×E4 · bo = 디젤 공칭 × 0.8 · 터빈 × 0.9", @@ -3387,6 +2942,7 @@ "이름": "그래브 준설선 1시간당 준설량 — 건설 공통 8-2-30", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-30", + "부품": { "갈래": "작업량 틀", "기종": ["그래브 준설선"] }, "개정": [2010, 2011], "소유": "공용", "비고": "Q = 3,600·q·k·f·E/cm · E = E1×E2 · 수심 10m 기준 1m 증감마다 2초 증감 · 표의 괄호 값 = 쇄암 · 발파후 준설", @@ -3463,6 +3019,7 @@ "이름": "쇄암선(중추식) 시간당 작업능력 — 건설 공통 8-2-31", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-31", + "부품": { "갈래": "작업량 틀", "기종": [] }, "개정": [2011], "소유": "공용", "비고": "Q = 60·d·S·E/(t + n/p)", @@ -3496,6 +3053,7 @@ "이름": "이동식 임목파쇄기 시간당 파쇄능력 — 건설 공통 8-2-32", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-32", + "부품": { "갈래": "작업량 틀", "기종": ["이동식 임목파쇄기"] }, "개정": [2007, 2011], "소유": "공용", "비고": "93.25㎾ Q = 6.0 · 354.35∼402.84㎾ Q = q·K·S·E", @@ -3521,6 +3079,7 @@ "이름": "하천골재채취선 시간당 준설량 — 건설 공통 8-2-33", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-33", + "부품": { "갈래": "작업량 틀", "기종": ["하천골재채취선"] }, "개정": [2005], "소유": "공용", "비고": "Q = q·b·E/746", diff --git a/resources/master_data/로직_건설품셈_13장_플랜트설비공사.json b/resources/master_data/로직_건설품셈_13장_플랜트설비공사.json index 5ca29e6e6..e53c015b2 100644 --- a/resources/master_data/로직_건설품셈_13장_플랜트설비공사.json +++ b/resources/master_data/로직_건설품셈_13장_플랜트설비공사.json @@ -8793,6 +8793,7 @@ "이름": "아세틸렌량의 환산(ℓ → ㎏)", "결과단위": "㎏", "출처": "건설품셈 기계설비 13-2-7", + "부품": { "갈래": "계수식" }, "소유": "공용", "비고": "아세틸렌(㎏) = 아세틸렌(ℓ) × 26g/22.4ℓ ÷ 1,000 · 26g = 1mol당 분자량 · 22.4ℓ = 표준상태 1mol당량", "시험입력": { "아세틸렌부피": 1000 }, diff --git a/resources/master_data/로직_산림품셈_03장_작업장_관리.json b/resources/master_data/로직_산림품셈_03장_작업장_관리.json index 5ac1df373..f67fc2a01 100644 --- a/resources/master_data/로직_산림품셈_03장_작업장_관리.json +++ b/resources/master_data/로직_산림품셈_03장_작업장_관리.json @@ -83,6 +83,7 @@ "이름": "임산물 운반로 신설 굴착기 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 3-4-2 1", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q" }, "개정": [2026], "소유": "공용", "비고": "해석: 원문 단가산출 예시의 값(q 0.2 · K 0.7 · f 0.71 · E 0.45 · Cm 18)을 표준 값으로 씀", diff --git a/resources/master_data/로직_산림품셈_05장_식재_및_녹화.json b/resources/master_data/로직_산림품셈_05장_식재_및_녹화.json index 0f2566c88..24cc4b820 100644 --- a/resources/master_data/로직_산림품셈_05장_식재_및_녹화.json +++ b/resources/master_data/로직_산림품셈_05장_식재_및_녹화.json @@ -1199,6 +1199,7 @@ "이름": "복사이식 굴착기 시간당 작업량(Q1)", "결과단위": "㎥/hr", "출처": "산림품셈 5-29 주④", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q" }, "개정": [2026], "소유": "공용", "비고": "해석: q = 주③ 굴착기 용량 1.0㎥ · 주⑤ Q=Q1×T 는 단위가 안 맞아(㎥/시간 × m) 넣지 않음", diff --git a/resources/master_data/로직_산림품셈_09장_토공.json b/resources/master_data/로직_산림품셈_09장_토공.json index 464589b58..3316584d8 100644 --- a/resources/master_data/로직_산림품셈_09장_토공.json +++ b/resources/master_data/로직_산림품셈_09장_토공.json @@ -46,6 +46,7 @@ "이름": "토사깍기(기계 · 굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-3-2", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q" }, "개정": [2026], "소유": "공용", "비고": "E 원문 「0.55∼0.45」 — 설계자 입력 · f 는 주④ 0.77", @@ -158,6 +159,7 @@ "이름": "암절취 집토(굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-4-2", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q" }, "개정": [2026], "소유": "공용", "비고": "f 원문 「1/1.40」 그대로 계산", @@ -299,6 +301,7 @@ "이름": "발파암 집토(굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-5-3", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q" }, "개정": [2026], "소유": "공용", "비고": "f 원문 「1/1.625」 그대로 계산", @@ -388,6 +391,7 @@ "이름": "콘크리트 깨기 집토(굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-7-1 주⑥", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q" }, "개정": [2026], "소유": "공용", "입력": [], @@ -825,6 +829,7 @@ "이름": "측구터파기 토사 굴착기 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-12-1", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q" }, "개정": [2026], "소유": "공용", "입력": [], @@ -2028,6 +2033,7 @@ "이름": "되메우기 굴착기 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-14-1", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q" }, "개정": [2026], "소유": "공용", "입력": [], @@ -2080,6 +2086,7 @@ "이름": "다짐(플레이트콤펙터) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-14-2", + "부품": { "갈래": "작업량 틀", "기종": ["플레이트 콤팩터"] }, "개정": [2026], "소유": "공용", "비고": "돈 로직 GF000249", @@ -2121,6 +2128,7 @@ "이름": "표토제거 답(畓)구간(굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎡/hr", "출처": "산림품셈 9-15-1", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q" }, "개정": [2026], "소유": "공용", "비고": "T(표토두께) 설계자 입력 · Q=Q1/T · f 원문 「1/1.30」 그대로 계산", @@ -2165,6 +2173,7 @@ "이름": "표토제거 답(畓)외구간(불도저 19ton) 시간당 작업량", "결과단위": "㎡/hr", "출처": "산림품셈 9-15-2", + "부품": { "갈래": "작업량 틀", "기종": ["불도저"] }, "개정": [2026], "소유": "공용", "비고": "돈 로직 GF000250 · f 원문 「1/1.3」 그대로 계산", @@ -2224,6 +2233,7 @@ "이름": "노체포설 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-16-1 주②", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"] }, "개정": [2026], "소유": "공용", "입력": [], @@ -2270,6 +2280,7 @@ "이름": "노체다짐 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-16-2 주②", + "부품": { "갈래": "작업량 틀", "기종": ["머캐덤 롤러", "탠덤롤러", "진동롤러", "타이어 롤러", "양족식 롤러"] }, "개정": [2026], "소유": "공용", "입력": [], @@ -2341,6 +2352,7 @@ "이름": "비다짐(정지 · 불도저 19ton) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-17-2", + "부품": { "갈래": "작업량 틀", "기종": ["불도저"] }, "개정": [2026], "소유": "공용", "비고": "돈 로직 GF000251 · E 원문 「(0.55-0.1)」 · f 원문 「1/1.3」 그대로 계산", @@ -2395,6 +2407,7 @@ "이름": "층따기(굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-18", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q" }, "개정": [2026], "소유": "공용", "비고": "f 원문 「1/1.3」 그대로 계산", @@ -2641,6 +2654,7 @@ "이름": "섞기(굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-22", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q" }, "개정": [2026], "소유": "공용", "비고": "f 원문 「1/1.25」 그대로 계산 · 주③ Q=Q1*T 는 단위가 맞지 않아 Q1 까지만", diff --git a/resources/master_data/로직_산림품셈_10장_자재․장비_운반.json b/resources/master_data/로직_산림품셈_10장_자재․장비_운반.json index 9080d16db..9bad8e51b 100644 --- a/resources/master_data/로직_산림품셈_10장_자재․장비_운반.json +++ b/resources/master_data/로직_산림품셈_10장_자재․장비_운반.json @@ -12,6 +12,7 @@ "이름": "골재운반 덤프트럭 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 10-3-1 주", + "부품": { "갈래": "작업량 틀", "기종": ["덤프트럭"] }, "개정": [2026], "소유": "공용", "비고": "원문은 식만(Q=60×qt×f×E/㎝) — qt · f · E · ㎝ 값 없음 · 설계자 입력", @@ -518,6 +519,7 @@ "이름": "4륜구동 1톤 덤프트럭 시간당 기계경비", "결과단위": "원/시간", "출처": "산림품셈 10-9", + "부품": { "갈래": "기계경비식" }, "개정": [2026], "소유": "공용", "비고": "손료·운전경비는 2.5톤(0602-0025) · 주연료 2.5톤의 80% · 중기가격 조달청 등재가격은 요소 없음 · 작업량(건설품셈 덤프트럭 식)·10-9-1 운반량 쓰는 식 요소 없음 · 주② 제잡비 비율 원문에 없음", @@ -673,6 +675,7 @@ "이름": "불도저 운반 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 10-11 주②", + "부품": { "갈래": "작업량 틀", "기종": ["불도저"] }, "개정": [2026], "소유": "공용", "비고": "해석: 파쇄암·발파암의 E 는 「암석」 줄", diff --git a/resources/master_data/로직_산림품셈_11장_가설.json b/resources/master_data/로직_산림품셈_11장_가설.json index 1ab42eadb..8d1f89822 100644 --- a/resources/master_data/로직_산림품셈_11장_가설.json +++ b/resources/master_data/로직_산림품셈_11장_가설.json @@ -93,6 +93,7 @@ "이름": "쇄석·혼합석 부설 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 11-4 주①", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q" }, "개정": [2026], "소유": "공용", "비고": "해석: 원문 식 「3600×90×k×f×E/㎝」의 90 을 q(버킷용량)로 봄", diff --git a/resources/master_data/로직_산림품셈_13장_구조물.json b/resources/master_data/로직_산림품셈_13장_구조물.json index 42ed818c5..b4957c668 100644 --- a/resources/master_data/로직_산림품셈_13장_구조물.json +++ b/resources/master_data/로직_산림품셈_13장_구조물.json @@ -1323,6 +1323,7 @@ "이름": "토양개량제 부설 굴착기 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 13-13-2", + "부품": { "갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q" }, "개정": [2026], "소유": "공용", "비고": "식은 9장 같은 꼴 표(9-12-1 등)와 같이 Q=3600×q×k×f×E/㎝", diff --git a/resources/master_data/수식문서/수식_건설품셈_01장_적용기준.json b/resources/master_data/수식문서/수식_건설품셈_01장_적용기준.json index 8e86736a9..b5ebadc4c 100644 --- a/resources/master_data/수식문서/수식_건설품셈_01장_적용기준.json +++ b/resources/master_data/수식문서/수식_건설품셈_01장_적용기준.json @@ -6,7 +6,7 @@ "꼴": "수식문서", "판": 1, "키": "GC001140", - "이름": "인력운반(지게) — 건설 공통 1-2-7", + "이름": "지게운반", "결과단위": "원/자재 단위", "출처": "건설품셈 공통 1-2-7 2 · 3", "변수": [ @@ -55,7 +55,7 @@ "꼴": "수식문서", "판": 1, "키": "GC001141", - "이름": "인력운반(기계설비) — 건설 공통 1-2-7", + "이름": "인력운반(기계설비)", "결과단위": "원/자재 단위", "출처": "건설품셈 공통 1-2-7 5", "변수": [ @@ -102,7 +102,7 @@ "꼴": "수식문서", "판": 1, "키": "GC001142", - "이름": "벽돌운반 — 건설 공통 1-2-7", + "이름": "벽돌운반", "결과단위": "원/1,000매", "출처": "건설품셈 공통 1-2-7 4", "변수": [ @@ -128,6 +128,9 @@ "이름": "건설폐기물 발생량 — 건설 공통 1-5-4", "결과단위": "ton", "출처": "건설품셈 공통 1-5-4 2", + "부품": { + "갈래": "계수식" + }, "결과": "Q", "변수": [ {"열쇠": "공사", "기호": "S", "아래": "공사", "위": "", "이름": "공사", "단위": "", "설명": "신축 · 해체", "출처": "건설품셈 공통 1-5-4 2", "연결": {"갈래": "선택", "목록": ["신축", "해체"], "값": "신축"}}, @@ -157,6 +160,9 @@ "이름": "공사용수 — 건설 공통 1-5-6", "결과단위": "㎥", "출처": "건설품셈 공통 1-5-6 3", + "부품": { + "갈래": "계수식" + }, "결과": "Q", "변수": [ {"열쇠": "구분", "기호": "S", "아래": "구분", "위": "", "이름": "구분", "단위": "", "설명": "용수 구분", "출처": "건설품셈 공통 1-5-6 3", "연결": {"갈래": "선택", "목록": ["거푸집씻기", "콘크리트혼합 및 양생", "경량콘크리트혼합 및 양생", "보통벽돌쌓기", "돌쌓기모르타르", "돌씻기", "미장", "타일붙임모르타르", "타일씻기"], "값": "콘크리트혼합 및 양생"}}, diff --git a/resources/master_data/수식문서/수식_건설품셈_08장_건설기계.json b/resources/master_data/수식문서/수식_건설품셈_08장_건설기계.json index e6969ee61..5462af5b2 100644 --- a/resources/master_data/수식문서/수식_건설품셈_08장_건설기계.json +++ b/resources/master_data/수식문서/수식_건설품셈_08장_건설기계.json @@ -9,6 +9,9 @@ "이름": "굴착기(무한궤도) 시간당 기계경비", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6 · 8-1-7", + "부품": { + "갈래": "기계경비식" + }, "변수": [ {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "연결": {"갈래": "선택", "목록": ["0201-0012", "0201-0020", "0201-0040", "0201-0060", "0201-0070", "0201-0080", "0201-0100", "0201-0120", "0201-0200"], "값": "0201-0012"}}, {"열쇠": "지역", "기호": "S", "아래": "지역", "위": "", "이름": "지역", "단위": "", "출처": "건설품셈 공통 8-1-7 5", "연결": {"갈래": "선택", "목록": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], "값": "전국평균"}}, @@ -55,6 +58,9 @@ "이름": "기계 시간당 기계경비(손료 보정 없는 기종)", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6", + "부품": { + "갈래": "기계경비식" + }, "변수": [ {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "연결": {"갈래": "선택", "목록": ["1730-0015", "7204-0055", "0602-0150", "2702-0020", "0101-0007", "0101-0010", "0101-0012", "0101-0019", "0101-0032", "2105-0005", "2104-0010", "2104-0015", "2104-0020", "2104-0025", "2104-0030", "2104-0035", "2104-0040", "2104-0045", "2104-0050", "2104-0060", "2104-0070", "2104-0080", "2104-0100", "2104-0130", "2104-0160", "2104-0200", "2104-0220", "2104-0250", "2104-0300", "4504-0032", "4504-0036", "4504-0041", "4504-0043", "4504-0047", "4504-0052", "4205-0010", "4205-0017", "4205-0020", "4205-0030", "4205-0040", "4205-0045", "2105-0002", "2105-0003", "2105-0010", "2105-0015", "2105-0018", "2502-0025", "0602-0025", "2502-0050", "2101-0010", "2101-0015", "2101-0020", "2101-0025", "2101-0030", "2101-0035", "2101-0040", "2101-0050", "2101-0070", "2101-0080", "2101-0100", "2101-0150", "2101-0220", "2101-0280", "2101-0300", "7204-0018", "7204-0160", "5205-0210", "5405-0110", "7505-0450", "5205-0255", "7505-0150", "5205-0103", "6701-0147", "6701-0184", "5205-0170", "7505-0350", "0302-0134", "7505-0100", "7505-0050", "5205-0071", "7505-0025", "0502-0036", "1306-0100", "1506-0032", "0121-0004", "1305-0007", "7204-0038", "7204-0065", "0302-0057", "5701-0020", "0302-0095", "3201-0003", "1106-0012", "1406-0015", "1206-0008", "3601-0102", "1306-0025", "0211-0018", "0602-0045", "0602-0060", "0602-0105", "1630-0080", "3901-0300", "7505-0250", "2502-0035", "1306-0120", "1106-0010", "3201-0001", "1406-0008", "3601-0202", "3601-0402", "3611-0142", "2502-0020", "2502-0075", "5205-0035", "2702-0030", "2702-0060"], "값": "1730-0015"}}, {"열쇠": "지역", "기호": "S", "아래": "지역", "위": "", "이름": "지역", "단위": "", "출처": "건설품셈 공통 8-1-7 5", "연결": {"갈래": "선택", "목록": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], "값": "전국평균"}}, @@ -97,6 +103,9 @@ "이름": "기계 시간당 기계경비(8-1-7 손료 보정)", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6 · 8-1-7", + "부품": { + "갈래": "기계경비식" + }, "변수": [ {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "연결": {"갈래": "선택", "목록": ["1730-0015", "7204-0055", "0602-0150", "2702-0020", "0101-0007", "0101-0010", "0101-0012", "0101-0019", "0101-0032", "2105-0005", "2104-0010", "2104-0015", "2104-0020", "2104-0025", "2104-0030", "2104-0035", "2104-0040", "2104-0045", "2104-0050", "2104-0060", "2104-0070", "2104-0080", "2104-0100", "2104-0130", "2104-0160", "2104-0200", "2104-0220", "2104-0250", "2104-0300", "4504-0032", "4504-0036", "4504-0041", "4504-0043", "4504-0047", "4504-0052", "4205-0010", "4205-0017", "4205-0020", "4205-0030", "4205-0040", "4205-0045", "2105-0002", "2105-0003", "2105-0010", "2105-0015", "2105-0018", "2502-0025", "0602-0025", "2502-0050", "2101-0010", "2101-0015", "2101-0020", "2101-0025", "2101-0030", "2101-0035", "2101-0040", "2101-0050", "2101-0070", "2101-0080", "2101-0100", "2101-0150", "2101-0220", "2101-0280", "2101-0300", "7204-0018", "7204-0160", "5205-0210", "5405-0110", "7505-0450", "5205-0255", "7505-0150", "5205-0103", "6701-0147", "6701-0184", "5205-0170", "7505-0350", "0302-0134", "7505-0100", "7505-0050", "5205-0071", "7505-0025", "0502-0036", "1306-0100", "1506-0032", "0121-0004", "1305-0007", "7204-0038", "7204-0065", "0302-0057", "5701-0020", "0302-0095", "3201-0003", "1106-0012", "1406-0015", "1206-0008", "3601-0102", "1306-0025", "0211-0018", "0602-0045", "3901-0300", "7505-0250", "2502-0035", "1306-0120", "1106-0010", "3201-0001", "1406-0008", "3601-0202", "3601-0402", "3611-0142", "2502-0020", "2502-0075", "5205-0035", "2702-0030", "2702-0060", "0102-0015", "0102-0028", "0102-0033", "0121-0013", "0301-0057", "0301-0076", "0301-0095", "0301-0115", "0301-0134", "0301-0153", "0301-0172", "0301-0287", "0602-0060", "0602-0080", "0602-0105"], "값": "1730-0015"}}, {"열쇠": "지역", "기호": "S", "아래": "지역", "위": "", "이름": "지역", "단위": "", "출처": "건설품셈 공통 8-1-7 5", "연결": {"갈래": "선택", "목록": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], "값": "전국평균"}}, @@ -145,6 +154,9 @@ "이름": "굴착기(무한궤도)+부착용 집게 시간당 기계경비", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6 · 8-1-7 · 8-4-8 주⑤", + "부품": { + "갈래": "기계경비식" + }, "변수": [ {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "연결": {"갈래": "선택", "목록": ["0201-0060", "0201-0080", "0201-0020", "0201-0040", "0201-0070", "0201-0100"], "값": "0201-0060"}}, {"열쇠": "집게", "기호": "S", "아래": "집게", "위": "", "이름": "집게", "단위": "", "연결": {"갈래": "선택", "목록": ["7206-0070", "7206-0020", "7206-0100"], "값": "7206-0070"}}, @@ -199,6 +211,9 @@ "이름": "굴착기(무한궤도)+대형브레이커 시간당 기계경비", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6 · 8-1-7 · 8-4-8 주⑤", + "부품": { + "갈래": "기계경비식" + }, "변수": [ {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "연결": {"갈래": "선택", "목록": ["0201-0012", "0201-0020", "0201-0040", "0201-0060", "0201-0070", "0201-0080", "0201-0100", "0201-0120", "0201-0200"], "값": "0201-0012"}}, {"열쇠": "브레이커", "기호": "S", "아래": "브레이커", "위": "", "이름": "브레이커", "단위": "", "연결": {"갈래": "선택", "목록": ["0230-0002", "0230-0004", "0230-0006", "0230-0007", "0230-0008", "0230-0010"], "값": "0230-0002"}}, @@ -253,6 +268,9 @@ "이름": "기계 시간당 기계경비(조종원 없는 기종)", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6", + "부품": { + "갈래": "기계경비식" + }, "변수": [ {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "연결": {"갈래": "선택", "목록": ["4611-0350", "7812-0015", "4506-0200", "4506-0400", "1730-0015", "1630-0080", "1305-0007", "2106-0002", "2106-0003", "2106-0005", "7210-0485", "7360-0090", "6540-0131", "3302-0038", "4430-0400", "7505-0100"], "값": "4611-0350"}}, {"열쇠": "지역", "기호": "S", "아래": "지역", "위": "", "이름": "지역", "단위": "", "출처": "건설품셈 공통 8-1-7 5", "연결": {"갈래": "선택", "목록": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], "값": "전국평균"}}, @@ -345,6 +363,9 @@ "이름": "기계 시간당 기계경비(조종원직종 입력)", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6", + "부품": { + "갈래": "기계경비식" + }, "변수": [ {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "연결": {"갈래": "선택", "목록": ["2106-0002", "2106-0003", "2106-0005", "6802-0040", "6802-0060", "6802-0100", "6802-0120", "6802-0135", "6802-0160", "6801-0010", "6803-0100", "6803-0120", "4430-0400", "3302-0038", "3801-0795", "7330-0010", "7954-1119", "7110-0025", "7110-0013", "7120-0746", "7101-0450"], "값": "2106-0002"}}, {"열쇠": "지역", "기호": "S", "아래": "지역", "위": "", "이름": "지역", "단위": "", "출처": "건설품셈 공통 8-1-7 5", "연결": {"갈래": "선택", "목록": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], "값": "전국평균"}}, @@ -387,6 +408,9 @@ "이름": "기계 시간당 기계경비(연료 없는 기종)", "결과단위": "원/시간", "출처": "건설품셈 공통 8-1-5 · 8-1-6", + "부품": { + "갈래": "기계경비식" + }, "변수": [ {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "연결": {"갈래": "선택", "목록": ["5401-0017"], "값": "5401-0017"}}, {"열쇠": "지역", "기호": "S", "아래": "지역", "위": "", "이름": "지역", "단위": "", "출처": "건설품셈 공통 8-1-7 5", "연결": {"갈래": "선택", "목록": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], "값": "전국평균"}}, @@ -423,6 +447,9 @@ "이름": "시공능력 산정 기본식 Q = n·q·f·E — 건설 공통 8-1-4", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-1-4", + "부품": { + "갈래": "계수식" + }, "결과": "Q", "변수": [ {"열쇠": "싸이클시간", "기호": "cm", "아래": "", "위": "", "이름": "싸이클시간", "단위": "", "설명": "1회 작업싸이클 시간(cm)", "출처": "건설품셈 공통 8-1-4 주⑤", "연결": {"갈래": "입력", "값": 21}}, @@ -451,6 +478,10 @@ "이름": "불도저 시간당 작업량 — 건설 공통 8-2-1", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-1", + "부품": { + "갈래": "작업량 틀", + "기종": ["불도저"] + }, "결과": "Q", "변수": [ {"열쇠": "종별", "기호": "S", "아래": "종별", "위": "", "이름": "종별", "단위": "", "설명": "불도저 종별", "출처": "건설품셈 공통 8-2-1 1 가", "연결": {"갈래": "선택", "목록": ["무한궤도", "타이어"], "값": "무한궤도"}}, @@ -500,42 +531,6 @@ "끝전": "비목버림" } }, - { - "꼴": "수식문서", - "판": 1, - "키": "GC001145", - "이름": "불도저 작업량당 기계경비 — 건설 공통 8-2-1", - "결과단위": "원/㎥", - "출처": "건설품셈 공통 8-2-1 · 건설품셈 공통 8-1-4", - "변수": [ - {"열쇠": "종별", "기호": "S", "아래": "종별", "위": "", "이름": "종별", "단위": "", "설명": "불도저 종별", "출처": "건설품셈 공통 8-2-1 1 가", "연결": {"갈래": "선택", "목록": ["무한궤도", "타이어"], "값": "무한궤도"}}, - {"열쇠": "급수", "기호": "S", "아래": "급수", "위": "", "이름": "급수", "단위": "", "설명": "불도저 급수(ton)", "출처": "건설품셈 공통 8-2-1 1 가", "연결": {"갈래": "선택", "목록": ["4(초습지)", "7", "10", "12", "13(습지)", "19", "32", "15", "28", "33"], "값": "19"}}, - {"열쇠": "운반거리", "기호": "L", "아래": "", "위": "", "이름": "운반거리", "단위": "m", "설명": "운반거리(L)", "출처": "건설품셈 공통 8-2-1 2", "연결": {"갈래": "입력", "값": 30}}, - {"열쇠": "거리구분", "기호": "S", "아래": "거리구분", "위": "", "이름": "거리구분", "단위": "", "설명": "운반거리계수(e) 표의 거리 칸", "출처": "건설품셈 공통 8-2-1 1 나", "연결": {"갈래": "선택", "목록": ["10이하", "20", "30", "40", "50", "60", "70", "80"], "값": "30"}}, - {"열쇠": "현장조건", "기호": "S", "아래": "현장조건", "위": "", "이름": "현장조건", "단위": "", "설명": "흙 상태", "출처": "건설품셈 공통 8-2-1 1 다", "연결": {"갈래": "선택", "목록": ["자연상태", "흐트러진 상태"], "값": "자연상태"}}, - {"열쇠": "등급", "기호": "S", "아래": "등급", "위": "", "이름": "등급", "단위": "", "설명": "작업 조건 등급", "출처": "건설품셈 공통 8-2-1 1 다", "연결": {"갈래": "선택", "목록": ["양호", "보통", "불량"], "값": "보통"}}, - {"열쇠": "토질명", "기호": "S", "아래": "토질명", "위": "", "이름": "토질명", "단위": "", "설명": "토질", "출처": "건설품셈 공통 8-2-1 1 다", "연결": {"갈래": "선택", "목록": ["모래, 사질토", "자갈섞인 흙, 점성토", "파쇄암"], "값": "모래, 사질토"}}, - {"열쇠": "E보정", "기호": "E", "아래": "보정", "위": "", "이름": "E보정", "단위": "", "설명": "작업효율에서 뺄 경우", "출처": "건설품셈 공통 8-2-1 1 다 주", "연결": {"갈래": "선택", "목록": ["해당 없음", "정지작업을 겸하는 경우", "터파기"], "값": "해당 없음"}}, - {"열쇠": "전진단", "기호": "S", "아래": "전진단", "위": "", "이름": "전진단", "단위": "", "설명": "전진 기어 단", "출처": "건설품셈 공통 8-2-1 2 주", "연결": {"갈래": "선택", "목록": [1, 2, 3, 4], "값": 1}}, - {"열쇠": "후진단", "기호": "S", "아래": "후진단", "위": "", "이름": "후진단", "단위": "", "설명": "후진 기어 단", "출처": "건설품셈 공통 8-2-1 2 주", "연결": {"갈래": "선택", "목록": [1, 2, 3], "값": 1}}, - {"열쇠": "f", "기호": "f", "아래": "", "위": "", "이름": "체적환산계수", "단위": "", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4", "연결": {"갈래": "입력", "값": 1}}, - {"열쇠": "E입력", "기호": "E", "아래": "입력", "위": "", "이름": "E입력", "단위": "", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-1", "연결": {"갈래": "입력", "값": 0, "범위": [0, 1]}}, - {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "설명": "불도저 규격", "연결": {"갈래": "선택", "목록": ["0101-0007", "0101-0010", "0101-0012", "0101-0019", "0101-0032", "0102-0015", "0102-0028", "0102-0033", "0121-0004", "0121-0013"], "값": "0101-0007"}}, - {"열쇠": "지역", "기호": "S", "아래": "지역", "위": "", "이름": "지역", "단위": "", "출처": "건설품셈 공통 8-1-7 5", "연결": {"갈래": "선택", "목록": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], "값": "전국평균"}}, - {"열쇠": "보정작업", "기호": "S", "아래": "보정작업", "위": "", "이름": "보정작업", "단위": "", "출처": "건설품셈 공통 8-1-7 1", "연결": {"갈래": "선택", "목록": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "값": "해당 없음"}}, - {"열쇠": "작업량", "기호": "Q", "아래": "", "위": "", "이름": "시간당 작업량", "단위": "㎥/hr", "연결": {"갈래": "단가산출", "키": "GC001144", "입력": {"종별": "S_종별", "급수": "S_급수", "운반거리": "L", "거리구분": "S_거리구분", "현장조건": "S_현장조건", "등급": "S_등급", "토질명": "S_토질명", "E보정": "E_보정", "전진단": "S_전진단", "후진단": "S_후진단", "f": "f", "E입력": "E_입력"}}}, - {"열쇠": "P_기계시간당", "기호": "P", "아래": "기계시간당", "위": "", "이름": "기계 시간당 기계경비(8-1-7 손료 보정)", "단위": "원/시간", "연결": {"갈래": "단가산출", "키": "GC000269", "입력": {"기계": "S_기계", "지역": "S_지역", "보정작업": "S_보정작업"}}} - ], - "식": [], - "금액": [ - {"이름": "불도저", "단위": "시간", "비목": "묶음", "수량": "1 ÷ Q", "단가": "P_기계시간당", "출처": "건설품셈 공통 8-1-4"} - ], - "끝수": { - "줄": {"방법": "버림", "자리": 1}, - "비목": {"방법": "버림", "자리": 0}, - "끝전": "비목버림" - } - }, { "꼴": "수식문서", "판": 1, @@ -543,6 +538,10 @@ "이름": "리퍼(유압식) 시간당 파쇄량 — 건설 공통 8-2-2", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-2", + "부품": { + "갈래": "작업량 틀", + "기종": ["유압식 리퍼"] + }, "결과": "Q", "변수": [ {"열쇠": "규격", "기호": "S", "아래": "규격", "위": "", "이름": "규격", "단위": "", "설명": "트랙터 규격(ton)", "출처": "건설품셈 공통 8-2-2 1", "연결": {"갈래": "선택", "목록": [20, 30], "값": 20}}, @@ -579,6 +578,11 @@ "이름": "굴착기 시간당 작업량 — 건설 공통 8-2-3", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-3", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "버킷용량" + }, "결과": "Q", "변수": [ {"열쇠": "버킷용량", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "㎥", "설명": "버킷용량(q)", "출처": "건설품셈 공통 8-2-3", "연결": {"갈래": "입력", "값": 1}}, @@ -616,42 +620,6 @@ "끝전": "비목버림" } }, - { - "꼴": "수식문서", - "판": 1, - "키": "GC001148", - "이름": "굴착기(무한궤도) 작업량당 기계경비 — 건설 공통 8-2-3", - "결과단위": "원/㎥", - "출처": "건설품셈 공통 8-2-3 · 건설품셈 공통 8-1-4", - "변수": [ - {"열쇠": "버킷용량", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "㎥", "설명": "버킷용량(q)", "출처": "건설품셈 공통 8-2-3", "연결": {"갈래": "입력", "값": 1}}, - {"열쇠": "규격구분", "기호": "S", "아래": "규격구분", "위": "", "이름": "규격구분", "단위": "㎥", "설명": "싸이클시간 표의 규격 칸", "출처": "건설품셈 공통 8-2-3 3", "연결": {"갈래": "선택", "목록": ["0.12∼0.4", "0.6∼0.8", "1.0∼1.2", "2.0"], "값": "1.0∼1.2"}}, - {"열쇠": "선회각도", "기호": "θ", "아래": "선회", "위": "", "이름": "선회각도", "단위": "도", "설명": "선회 각도", "출처": "건설품셈 공통 8-2-3 3", "연결": {"갈래": "선택", "목록": [45, 90, 135, 180], "값": 135}}, - {"열쇠": "버킷조건", "기호": "S", "아래": "버킷조건", "위": "", "이름": "버킷조건", "단위": "", "설명": "버킷계수(K) 현장조건", "출처": "건설품셈 공통 8-2-3 1", "연결": {"갈래": "선택", "목록": ["용이하게 굴착할 수 있는 연한 토질로서 버킷에 산적으로 가득찰 때가 많은 조건이 좋은 모래, 보통토인 경우", "위의 토질보다 약간 단단한 토질로서 버킷에 거의 가득 채울 수 있는 모래, 보통토 및 조건이 좋은 점토인 경우", "버킷에 가득 채우기가 어렵거나 가벼운 발파를 필요로 하는 것으로서 단단한 점토질, 점토, 역토질인 경우", "버킷에 넣기 어렵고 불규칙한 공극이 생기는 것으로서 발파 또는 리퍼작업 등에 의하여 얻어진 암과 파쇄암, 호박돌, 역 등인 경우"], "값": "위의 토질보다 약간 단단한 토질로서 버킷에 거의 가득 채울 수 있는 모래, 보통토 및 조건이 좋은 점토인 경우"}}, - {"열쇠": "현장조건", "기호": "S", "아래": "현장조건", "위": "", "이름": "현장조건", "단위": "", "설명": "흙 상태", "출처": "건설품셈 공통 8-2-3 2", "연결": {"갈래": "선택", "목록": ["자연상태", "흐트러진 상태"], "값": "흐트러진 상태"}}, - {"열쇠": "등급", "기호": "S", "아래": "등급", "위": "", "이름": "등급", "단위": "", "설명": "작업 조건 등급", "출처": "건설품셈 공통 8-2-3 2", "연결": {"갈래": "선택", "목록": ["양호", "보통", "불량"], "값": "보통"}}, - {"열쇠": "토질명", "기호": "S", "아래": "토질명", "위": "", "이름": "토질명", "단위": "", "설명": "토질", "출처": "건설품셈 공통 8-2-3 2", "연결": {"갈래": "선택", "목록": ["모래, 사질토", "자갈섞인 흙, 점성토", "파쇄암"], "값": "모래, 사질토"}}, - {"열쇠": "E보정", "기호": "E", "아래": "보정", "위": "", "이름": "E보정", "단위": "", "설명": "작업효율에서 뺄 경우", "출처": "건설품셈 공통 8-2-3 2 주", "연결": {"갈래": "선택", "목록": ["해당 없음", "터파기"], "값": "해당 없음"}}, - {"열쇠": "협소현장", "기호": "S", "아래": "협소현장", "위": "", "이름": "협소현장", "단위": "", "설명": "주택가 상하수도관로부설 등 협소현장(주⑦)", "출처": "건설품셈 공통 8-2-3 2 주⑦", "연결": {"갈래": "선택", "목록": ["해당 없음", "상하수도관로부설 등 협소현장"], "값": "해당 없음"}}, - {"열쇠": "f", "기호": "f", "아래": "", "위": "", "이름": "체적환산계수", "단위": "", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4", "연결": {"갈래": "입력", "값": 0.7}}, - {"열쇠": "E입력", "기호": "E", "아래": "입력", "위": "", "이름": "E입력", "단위": "", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-3", "연결": {"갈래": "입력", "값": 0, "범위": [0, 1]}}, - {"열쇠": "싸이클입력", "기호": "X", "아래": "싸이클", "위": "", "이름": "싸이클입력", "단위": "sec", "설명": "1회 싸이클시간을 직접 넣을 때 — 0 이면 표", "출처": "건설품셈 공통 8-2-3 3", "연결": {"갈래": "입력", "값": 0, "범위": [0, 30]}}, - {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "설명": "굴착기(무한궤도) 규격", "연결": {"갈래": "선택", "목록": ["0201-0012", "0201-0020", "0201-0040", "0201-0060", "0201-0070", "0201-0080", "0201-0100", "0201-0120", "0201-0200"], "값": "0201-0012"}}, - {"열쇠": "지역", "기호": "S", "아래": "지역", "위": "", "이름": "지역", "단위": "", "출처": "건설품셈 공통 8-1-7 5", "연결": {"갈래": "선택", "목록": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], "값": "전국평균"}}, - {"열쇠": "보정작업", "기호": "S", "아래": "보정작업", "위": "", "이름": "보정작업", "단위": "", "출처": "건설품셈 공통 8-1-7 1", "연결": {"갈래": "선택", "목록": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "값": "해당 없음"}}, - {"열쇠": "작업량", "기호": "Q", "아래": "", "위": "", "이름": "시간당 작업량", "단위": "㎥/hr", "연결": {"갈래": "단가산출", "키": "GC001147", "입력": {"버킷용량": "q", "규격구분": "S_규격구분", "선회각도": "θ_선회", "버킷조건": "S_버킷조건", "현장조건": "S_현장조건", "등급": "S_등급", "토질명": "S_토질명", "E보정": "E_보정", "협소현장": "S_협소현장", "f": "f", "E입력": "E_입력", "싸이클입력": "X_싸이클"}}}, - {"열쇠": "P_굴착기무한궤", "기호": "P", "아래": "굴착기무한궤", "위": "", "이름": "굴착기(무한궤도) 시간당 기계경비", "단위": "원/시간", "연결": {"갈래": "단가산출", "키": "GC000267", "입력": {"기계": "S_기계", "지역": "S_지역", "보정작업": "S_보정작업"}}} - ], - "식": [], - "금액": [ - {"이름": "굴착기(무한궤도)", "단위": "시간", "비목": "묶음", "수량": "1 ÷ Q", "단가": "P_굴착기무한궤", "출처": "건설품셈 공통 8-1-4"} - ], - "끝수": { - "줄": {"방법": "버림", "자리": 1}, - "비목": {"방법": "버림", "자리": 0}, - "끝전": "비목버림" - } - }, { "꼴": "수식문서", "판": 1, @@ -659,6 +627,10 @@ "이름": "트랜처 시간당 작업량 — 건설 공통 8-2-4", "결과단위": "m/hr", "출처": "건설품셈 공통 8-2-4", + "부품": { + "갈래": "작업량 틀", + "기종": ["트랜처"] + }, "결과": "Q", "변수": [ {"열쇠": "작업거리", "기호": "L", "아래": "", "위": "", "이름": "작업거리", "단위": "m", "설명": "1열 실작업거리(L · 편도)", "출처": "건설품셈 공통 8-2-4 2", "연결": {"갈래": "입력", "값": 100}}, @@ -701,6 +673,11 @@ "이름": "로더 운전시간당 작업량 — 건설 공통 8-2-5", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-5", + "부품": { + "갈래": "작업량 틀", + "기종": ["로더"], + "규격": "버킷용량" + }, "결과": "Q", "변수": [ {"열쇠": "기종", "기호": "S", "아래": "기종", "위": "", "이름": "기종", "단위": "", "설명": "로더 기종", "출처": "건설품셈 공통 8-2-5 1", "연결": {"갈래": "선택", "목록": ["무한궤도식", "타이어식"], "값": "타이어식"}}, @@ -746,43 +723,6 @@ "끝전": "비목버림" } }, - { - "꼴": "수식문서", - "판": 1, - "키": "GC001151", - "이름": "로더 작업량당 기계경비 — 건설 공통 8-2-5", - "결과단위": "원/㎥", - "출처": "건설품셈 공통 8-2-5 · 건설품셈 공통 8-1-4", - "변수": [ - {"열쇠": "기종", "기호": "S", "아래": "기종", "위": "", "이름": "기종", "단위": "", "설명": "로더 기종", "출처": "건설품셈 공통 8-2-5 1", "연결": {"갈래": "선택", "목록": ["무한궤도식", "타이어식"], "값": "타이어식"}}, - {"열쇠": "버킷용량", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "㎥", "설명": "버킷용량(q)", "출처": "건설품셈 공통 8-2-5", "연결": {"갈래": "입력", "값": 1.34}}, - {"열쇠": "작업방법", "기호": "S", "아래": "작업방법", "위": "", "이름": "작업방법", "단위": "", "설명": "버킷에 담는 방법", "출처": "건설품셈 공통 8-2-5 1", "연결": {"갈래": "선택", "목록": ["산적상태에서 담을 때", "지면부터 굴착 집토하여 담을 때"], "값": "산적상태에서 담을 때"}}, - {"열쇠": "적재조건", "기호": "S", "아래": "적재조건", "위": "", "이름": "적재조건", "단위": "", "설명": "t1 현장조건", "출처": "건설품셈 공통 8-2-5 1", "연결": {"갈래": "선택", "목록": ["용이한 경우", "보통인 경우", "약간곤란한 경우", "곤란한 경우"], "값": "보통인 경우"}}, - {"열쇠": "K표", "기호": "K", "아래": "표", "위": "", "이름": "K표", "단위": "", "설명": "버킷계수 표 갈래", "출처": "건설품셈 공통 8-2-5 2", "연결": {"갈래": "선택", "목록": ["산적상태 적재", "자연상태·기타 적재"], "값": "산적상태 적재"}}, - {"열쇠": "K조건", "기호": "K", "아래": "조건", "위": "", "이름": "K조건", "단위": "", "설명": "버킷계수 현장조건(고른 표의 줄)", "출처": "건설품셈 공통 8-2-5 2", "연결": {"갈래": "선택", "목록": ["굴착기계로 깎거나 쌓아모은 산적상태에서 적재하는 것으로 굴착력을 필요로 하지 않고 쉽게 버킷에 산적할 수 있는 것, 즉 조건이 좋은 모래, 보통토 등", "흐트러진 산적상태에서 적재하는 것으로 위 상태보다 약간 삽날이 들어가기 어려운 토질로서 버킷에 가득 채울 수 있는 것, 즉 점토, 역질토", "모래, 사력보통토, 점토, 역질토 등 직접 자연상태에서 굴착적재 할 수 있는 여건으로 버킷에 평적에 약간 미달되게 채울 수 있는 것", "버킷에 가득 채울 수 없는 것으로 다른 기계로 쌓아 모아놓은 부순돌 및 점질토나 역질토로서 굳어진 덩어리상태로 되어 있는 것", "버킷에 넣기 어렵고 허술하며 불규칙한 공극이 생긴 것, 예를 들면 발파 또는 리퍼로 깎은 암괴, 호박돌, 역 등"], "값": "굴착기계로 깎거나 쌓아모은 산적상태에서 적재하는 것으로 굴착력을 필요로 하지 않고 쉽게 버킷에 산적할 수 있는 것, 즉 조건이 좋은 모래, 보통토 등"}}, - {"열쇠": "주행거리", "기호": "ℓ", "아래": "", "위": "", "이름": "주행거리", "단위": "m", "설명": "편도주행거리(ℓ) — 0 이면 표준 8m", "출처": "건설품셈 공통 8-2-5", "연결": {"갈래": "입력", "값": 0}}, - {"열쇠": "현장조건", "기호": "S", "아래": "현장조건", "위": "", "이름": "현장조건", "단위": "", "설명": "흙 상태", "출처": "건설품셈 공통 8-2-5 3", "연결": {"갈래": "선택", "목록": ["자연상태", "흐트러진 상태"], "값": "흐트러진 상태"}}, - {"열쇠": "등급", "기호": "S", "아래": "등급", "위": "", "이름": "등급", "단위": "", "설명": "작업 조건 등급", "출처": "건설품셈 공통 8-2-5 3", "연결": {"갈래": "선택", "목록": ["양호", "보통", "불량"], "값": "양호"}}, - {"열쇠": "토질명", "기호": "S", "아래": "토질명", "위": "", "이름": "토질명", "단위": "", "설명": "토질", "출처": "건설품셈 공통 8-2-5 3", "연결": {"갈래": "선택", "목록": ["모래, 사질토", "자갈섞인 흙, 점성토", "파쇄암"], "값": "모래, 사질토"}}, - {"열쇠": "E보정", "기호": "E", "아래": "보정", "위": "", "이름": "E보정", "단위": "", "설명": "작업효율에서 뺄 경우", "출처": "건설품셈 공통 8-2-5 3 주", "연결": {"갈래": "선택", "목록": ["해당 없음", "터파기"], "값": "해당 없음"}}, - {"열쇠": "f", "기호": "f", "아래": "", "위": "", "이름": "체적환산계수", "단위": "", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4", "연결": {"갈래": "입력", "값": 1}}, - {"열쇠": "E입력", "기호": "E", "아래": "입력", "위": "", "이름": "E입력", "단위": "", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-5", "연결": {"갈래": "입력", "값": 0, "범위": [0, 1]}}, - {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "설명": "로더 규격", "연결": {"갈래": "선택", "목록": ["0301-0057", "0301-0076", "0301-0095", "0301-0115", "0301-0134", "0301-0153", "0301-0172", "0301-0287", "0302-0057", "0302-0095", "0302-0134"], "값": "0301-0057"}}, - {"열쇠": "지역", "기호": "S", "아래": "지역", "위": "", "이름": "지역", "단위": "", "출처": "건설품셈 공통 8-1-7 5", "연결": {"갈래": "선택", "목록": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], "값": "전국평균"}}, - {"열쇠": "보정작업", "기호": "S", "아래": "보정작업", "위": "", "이름": "보정작업", "단위": "", "출처": "건설품셈 공통 8-1-7 1", "연결": {"갈래": "선택", "목록": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "값": "해당 없음"}}, - {"열쇠": "작업량", "기호": "Q", "아래": "", "위": "", "이름": "운전시간당 작업량", "단위": "㎥/hr", "연결": {"갈래": "단가산출", "키": "GC001150", "입력": {"기종": "S_기종", "버킷용량": "q", "작업방법": "S_작업방법", "적재조건": "S_적재조건", "K표": "K_표", "K조건": "K_조건", "주행거리": "ℓ", "현장조건": "S_현장조건", "등급": "S_등급", "토질명": "S_토질명", "E보정": "E_보정", "f": "f", "E입력": "E_입력"}}}, - {"열쇠": "P_기계시간당", "기호": "P", "아래": "기계시간당", "위": "", "이름": "기계 시간당 기계경비(8-1-7 손료 보정)", "단위": "원/시간", "연결": {"갈래": "단가산출", "키": "GC000269", "입력": {"기계": "S_기계", "지역": "S_지역", "보정작업": "S_보정작업"}}} - ], - "식": [], - "금액": [ - {"이름": "로더", "단위": "시간", "비목": "묶음", "수량": "1 ÷ Q", "단가": "P_기계시간당", "출처": "건설품셈 공통 8-1-4"} - ], - "끝수": { - "줄": {"방법": "버림", "자리": 1}, - "비목": {"방법": "버림", "자리": 0}, - "끝전": "비목버림" - } - }, { "꼴": "수식문서", "판": 1, @@ -790,6 +730,10 @@ "이름": "모터 스크레이퍼 시간당 작업량 — 건설 공통 8-2-6", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-6", + "부품": { + "갈래": "작업량 틀", + "기종": ["스크레이퍼"] + }, "결과": "Q", "변수": [ {"열쇠": "적재함용적", "기호": "V", "아래": "적재함", "위": "", "이름": "적재함용적", "단위": "㎥", "설명": "적재함 용적", "출처": "건설품셈 공통 8-2-6", "연결": {"갈래": "입력", "값": 10}}, @@ -834,6 +778,10 @@ "이름": "모터 그레이더 1시간당 작업면적 — 건설 공통 8-2-7", "결과단위": "㎡/hr", "출처": "건설품셈 공통 8-2-7", + "부품": { + "갈래": "작업량 틀", + "기종": ["모터그레이더"] + }, "결과": "A", "변수": [ {"열쇠": "작업거리", "기호": "D", "아래": "", "위": "", "이름": "작업거리", "단위": "m", "설명": "1회의 작업거리(D · 편도)", "출처": "건설품셈 공통 8-2-7", "연결": {"갈래": "입력", "값": 100}}, @@ -874,6 +822,10 @@ "이름": "모터 그레이더 1시간당 작업토량 — 건설 공통 8-2-7", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-7", + "부품": { + "갈래": "작업량 틀", + "기종": ["모터그레이더"] + }, "결과": "A", "변수": [ {"열쇠": "작업거리", "기호": "D", "아래": "", "위": "", "이름": "작업거리", "단위": "m", "설명": "1회의 작업거리(D · 편도)", "출처": "건설품셈 공통 8-2-7", "연결": {"갈래": "입력", "값": 100}}, @@ -917,6 +869,11 @@ "이름": "덤프트럭 1시간당 작업량 — 건설 공통 8-2-8", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-8", + "부품": { + "갈래": "작업량 틀", + "기종": ["덤프트럭"], + "규격": "적재용량" + }, "결과": "Q", "변수": [ {"열쇠": "적재용량", "기호": "T", "아래": "", "위": "", "이름": "적재용량", "단위": "ton", "설명": "덤프트럭의 적재용량(T)", "출처": "건설품셈 공통 8-2-8", "연결": {"갈래": "입력", "값": 15}}, @@ -974,48 +931,6 @@ "끝전": "비목버림" } }, - { - "꼴": "수식문서", - "판": 1, - "키": "GC001156", - "이름": "덤프트럭 작업량당 기계경비 — 건설 공통 8-2-8", - "결과단위": "원/㎥", - "출처": "건설품셈 공통 8-2-8 · 건설품셈 공통 8-1-4", - "변수": [ - {"열쇠": "적재용량", "기호": "T", "아래": "", "위": "", "이름": "적재용량", "단위": "ton", "설명": "덤프트럭의 적재용량(T)", "출처": "건설품셈 공통 8-2-8", "연결": {"갈래": "입력", "값": 15}}, - {"열쇠": "단위중량", "기호": "W", "아래": "단위", "위": "", "이름": "단위중량", "단위": "ton/㎥", "설명": "자연상태 토석의 단위중량(γt · 습윤밀도)", "출처": "건설품셈 공통 8-2-8", "연결": {"갈래": "입력", "값": 1.8}}, - {"열쇠": "체적변화율", "기호": "L", "아래": "", "위": "", "이름": "체적변화율", "단위": "", "설명": "체적환산계수에서의 체적변화율(L = 흐트러진/자연)", "출처": "건설품셈 공통 8-2-8", "연결": {"갈래": "입력", "값": 1.25}}, - {"열쇠": "f", "기호": "f", "아래": "", "위": "", "이름": "체적환산계수", "단위": "", "설명": "체적환산계수", "출처": "건설품셈 공통 8-2-8", "연결": {"갈래": "입력", "값": 0.7}}, - {"열쇠": "운반거리", "기호": "L", "아래": "운반", "위": "", "이름": "운반거리", "단위": "㎞", "설명": "운반거리(편도)", "출처": "건설품셈 공통 8-2-8 2", "연결": {"갈래": "입력", "값": 0.08}}, - {"열쇠": "도로상태", "기호": "S", "아래": "도로상태", "위": "", "이름": "도로상태", "단위": "", "설명": "운반도로 상태", "출처": "건설품셈 공통 8-2-8 3", "연결": {"갈래": "선택", "목록": ["토취장 또는 토사장 등 열악한 조건의 도로", "교차가 힘든 산간지도로 및 제방 등의 도로", "교차가 가능한 산간지도로 및 제방도로, 미포장도로", "2차로 이상의 공사용도로", "2차로 교통량 및 교통대기가 많은 시가지 포장도로(7,000대/일 이상)", "4차로 이상의 교통량 및 교통대기가 많은 시가지 포장도로(40,000대/일 이상)", "2차로 시가지 포장도로(7,000∼2,000대/일)", "4차로 이상의 시가지 포장도로(40,000대/일 미만)", "2차로 교외 포장도로(2,000대/일 이상)", "4차로 이상의 교외 포장도로(40,000대/일 이상)", "2차로 교외 포장도로(2,000대/일 미만)", "4차로 이상의 교외 포장도로(40,000대/일 미만)", "2차로 고속도로 또는 교통량(편도) 1일 40,000대 이상의 4차로 고속도로", "4차로 고속도로(편도 교통량 1일 40,000대 미만)"], "값": "교차가 힘든 산간지도로 및 제방 등의 도로"}}, - {"열쇠": "적하토질", "기호": "S", "아래": "적하토질", "위": "", "이름": "적하토질", "단위": "", "설명": "적하시간 표의 토질", "출처": "건설품셈 공통 8-2-8 4", "연결": {"갈래": "선택", "목록": ["모래, 역, 호박돌", "점질토, 점토"], "값": "모래, 역, 호박돌"}}, - {"열쇠": "적하조건", "기호": "S", "아래": "적하조건", "위": "", "이름": "적하조건", "단위": "", "설명": "적하 작업조건", "출처": "건설품셈 공통 8-2-8 4", "연결": {"갈래": "선택", "목록": ["양호", "보통", "불량"], "값": "불량"}}, - {"열쇠": "적재장소", "기호": "S", "아래": "적재장소", "위": "", "이름": "적재장소", "단위": "", "설명": "적재장소 진입 조건(t4)", "출처": "건설품셈 공통 8-2-8 5", "연결": {"갈래": "선택", "목록": ["적재장소가 넓어서 트럭이 자유로이 목적장소에 진입할 수 있을 때", "적재장소가 넓지는 않으나 목적장소에 불편없이 진입할 수 있을 때", "적재장소가 좁아서 목적장소에 진입하는데 불편을 느낄 때"], "값": "적재장소가 넓지는 않으나 목적장소에 불편없이 진입할 수 있을 때"}}, - {"열쇠": "덮개", "기호": "S", "아래": "덮개", "위": "", "이름": "덮개", "단위": "", "설명": "적재함 덮개 설치 · 해체(t5)", "출처": "건설품셈 공통 8-2-8 6", "연결": {"갈래": "선택", "목록": ["해당 없음", "인력에 의한 경우", "자동덮개시설의 경우"], "값": "해당 없음"}}, - {"열쇠": "세륜", "기호": "S", "아래": "세륜", "위": "", "이름": "세륜", "단위": "", "설명": "세륜기 통과(t6)", "출처": "건설품셈 공통 8-2-8 7", "연결": {"갈래": "선택", "목록": ["안 함", "함"], "값": "안 함"}}, - {"열쇠": "적재방법", "기호": "S", "아래": "적재방법", "위": "", "이름": "적재방법", "단위": "", "설명": "적재시간(t1) 산출 갈래", "출처": "건설품셈 공통 8-2-8 1 · 8 · 9", "연결": {"갈래": "선택", "목록": ["적재기계", "인력", "직접 입력"], "값": "적재기계"}}, - {"열쇠": "적재싸이클", "기호": "cms", "아래": "", "위": "", "이름": "적재싸이클", "단위": "sec", "설명": "적재기계의 1회 싸이클시간(cms)", "출처": "건설품셈 공통 8-2-8 8", "연결": {"갈래": "입력", "값": 21}}, - {"열쇠": "적재버킷", "기호": "q", "아래": "", "위": "", "이름": "적재버킷", "단위": "㎥", "설명": "적재기계의 버킷용량(q)", "출처": "건설품셈 공통 8-2-8 8", "연결": {"갈래": "입력", "값": 1}}, - {"열쇠": "버킷계수", "기호": "k", "아래": "", "위": "", "이름": "버킷계수", "단위": "", "설명": "적재기계의 버킷계수(k)", "출처": "건설품셈 공통 8-2-8 8", "연결": {"갈래": "입력", "값": 0.9}}, - {"열쇠": "적재효율", "기호": "Es", "아래": "", "위": "", "이름": "적재효율", "단위": "", "설명": "적재기계의 작업효율(Es)", "출처": "건설품셈 공통 8-2-8 8", "연결": {"갈래": "입력", "값": 0.75}}, - {"열쇠": "인력종류", "기호": "S", "아래": "인력종류", "위": "", "이름": "인력종류", "단위": "", "설명": "인력 적재 종류", "출처": "건설품셈 공통 8-2-8 9", "연결": {"갈래": "선택", "목록": ["토사류", "석재류"], "값": "토사류"}}, - {"열쇠": "적재시간입력", "기호": "T", "아래": "적재", "위": "", "이름": "적재시간입력", "단위": "분", "설명": "적재시간(t1)을 직접 넣을 때(적재방법 「직접 입력」)", "출처": "건설품셈 공통 8-2-8 1", "연결": {"갈래": "입력", "값": 0}}, - {"열쇠": "E입력", "기호": "E", "아래": "입력", "위": "", "이름": "E입력", "단위": "", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.9", "출처": "건설품셈 공통 8-2-8", "연결": {"갈래": "입력", "값": 0, "범위": [0, 1]}}, - {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "설명": "덤프트럭 규격", "연결": {"갈래": "선택", "목록": ["0602-0025", "0602-0045", "0602-0060", "0602-0105", "0602-0150"], "값": "0602-0025"}}, - {"열쇠": "지역", "기호": "S", "아래": "지역", "위": "", "이름": "지역", "단위": "", "출처": "건설품셈 공통 8-1-7 5", "연결": {"갈래": "선택", "목록": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], "값": "전국평균"}}, - {"열쇠": "작업량", "기호": "Q", "아래": "", "위": "", "이름": "1시간당 작업량", "단위": "㎥/hr", "연결": {"갈래": "단가산출", "키": "GC001155", "입력": {"적재용량": "T", "단위중량": "W_단위", "체적변화율": "L", "f": "f", "운반거리": "L_운반", "도로상태": "S_도로상태", "적하토질": "S_적하토질", "적하조건": "S_적하조건", "적재장소": "S_적재장소", "덮개": "S_덮개", "세륜": "S_세륜", "적재방법": "S_적재방법", "적재싸이클": "cms", "적재버킷": "q", "버킷계수": "k", "적재효율": "Es", "인력종류": "S_인력종류", "적재시간입력": "T_적재", "E입력": "E_입력"}}}, - {"열쇠": "P_기계시간당", "기호": "P", "아래": "기계시간당", "위": "", "이름": "기계 시간당 기계경비(손료 보정 없는 기종)", "단위": "원/시간", "연결": {"갈래": "단가산출", "키": "GC000268", "입력": {"기계": "S_기계", "지역": "S_지역"}}} - ], - "식": [], - "금액": [ - {"이름": "덤프트럭", "단위": "시간", "비목": "묶음", "수량": "1 ÷ Q", "단가": "P_기계시간당", "출처": "건설품셈 공통 8-1-4"} - ], - "끝수": { - "줄": {"방법": "버림", "자리": 1}, - "비목": {"방법": "버림", "자리": 0}, - "끝전": "비목버림" - } - }, { "꼴": "수식문서", "판": 1, @@ -1023,6 +938,10 @@ "이름": "롤러 시간당 다짐토량 — 건설 공통 8-2-9", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-9", + "부품": { + "갈래": "작업량 틀", + "기종": ["머캐덤 롤러", "탠덤롤러", "진동롤러", "타이어 롤러", "양족식 롤러"] + }, "결과": "Q", "변수": [ {"열쇠": "다짐기계", "기호": "S", "아래": "다짐기계", "위": "", "이름": "다짐기계", "단위": "", "설명": "다짐기계", "출처": "건설품셈 공통 8-2-9 1", "연결": {"갈래": "선택", "목록": ["머캐덤롤러", "탠덤롤러", "타이어롤러", "불도저", "자주식, 양족식 롤러", "진동롤러(자주식)"], "값": "타이어롤러"}}, @@ -1065,6 +984,10 @@ "이름": "롤러 시간당 다짐면적 — 건설 공통 8-2-9", "결과단위": "㎡/hr", "출처": "건설품셈 공통 8-2-9", + "부품": { + "갈래": "작업량 틀", + "기종": ["머캐덤 롤러", "탠덤롤러", "진동롤러", "타이어 롤러", "양족식 롤러"] + }, "결과": "Q", "변수": [ {"열쇠": "다짐기계", "기호": "S", "아래": "다짐기계", "위": "", "이름": "다짐기계", "단위": "", "설명": "다짐기계", "출처": "건설품셈 공통 8-2-9 1", "연결": {"갈래": "선택", "목록": ["머캐덤롤러", "탠덤롤러", "타이어롤러", "불도저", "자주식, 양족식 롤러", "진동롤러(자주식)"], "값": "타이어롤러"}}, @@ -1098,39 +1021,6 @@ "끝전": "비목버림" } }, - { - "꼴": "수식문서", - "판": 1, - "키": "GC001159", - "이름": "롤러 작업량당 기계경비 — 건설 공통 8-2-9", - "결과단위": "원/㎥", - "출처": "건설품셈 공통 8-2-9 · 건설품셈 공통 8-1-4", - "변수": [ - {"열쇠": "다짐기계", "기호": "S", "아래": "다짐기계", "위": "", "이름": "다짐기계", "단위": "", "설명": "다짐기계", "출처": "건설품셈 공통 8-2-9 1", "연결": {"갈래": "선택", "목록": ["머캐덤롤러", "탠덤롤러", "타이어롤러", "불도저", "자주식, 양족식 롤러", "진동롤러(자주식)"], "값": "타이어롤러"}}, - {"열쇠": "규격", "기호": "S", "아래": "규격", "위": "", "이름": "규격", "단위": "", "설명": "다짐기계 규격(ton)", "출처": "건설품셈 공통 8-2-9 1", "연결": {"갈래": "선택", "목록": ["6∼8", "8∼10", "10∼12", "12∼15", "5∼8", "10∼14", "8∼15", "15∼25", "12", "19", "2.5", "4.4", "6.0", "10.0"], "값": "8∼15"}}, - {"열쇠": "다짐층", "기호": "S", "아래": "다짐층", "위": "", "이름": "다짐층", "단위": "", "설명": "표준다짐속도 칸", "출처": "건설품셈 공통 8-2-9 1", "연결": {"갈래": "선택", "목록": ["노체, 축제, 노상", "보조기층, 기층", "표층"], "값": "노체, 축제, 노상"}}, - {"열쇠": "다짐횟수", "기호": "N", "아래": "", "위": "", "이름": "다짐횟수", "단위": "회", "설명": "소요다짐횟수(N)", "출처": "건설품셈 공통 8-2-9 2", "연결": {"갈래": "입력", "값": 4}}, - {"열쇠": "E공종", "기호": "E", "아래": "공종", "위": "", "이름": "E공종", "단위": "", "설명": "작업효율 표의 공종", "출처": "건설품셈 공통 8-2-9 3", "연결": {"갈래": "선택", "목록": ["표층", "기층, 보조기층", "노체, 축제, 노상"], "값": "노체, 축제, 노상"}}, - {"열쇠": "E기계", "기호": "E", "아래": "기계", "위": "", "이름": "E기계", "단위": "", "설명": "작업효율 표의 다짐기계", "출처": "건설품셈 공통 8-2-9 3", "연결": {"갈래": "선택", "목록": ["머캐덤롤러", "타이어롤러", "탠덤롤러", "진동롤러", "불도저", "양족식롤러(자주식)"], "값": "불도저"}}, - {"열쇠": "현장조건", "기호": "S", "아래": "현장조건", "위": "", "이름": "현장조건", "단위": "", "설명": "작업 조건", "출처": "건설품셈 공통 8-2-9 3", "연결": {"갈래": "선택", "목록": ["양호", "보통", "불량"], "값": "보통"}}, - {"열쇠": "E입력", "기호": "E", "아래": "입력", "위": "", "이름": "E입력", "단위": "", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-9", "연결": {"갈래": "입력", "값": 0, "범위": [0, 1]}}, - {"열쇠": "두께", "기호": "D", "아래": "", "위": "", "이름": "두께", "단위": "m", "설명": "펴는 흙의 두께(D · 다져진 상태)", "출처": "건설품셈 공통 8-2-9 2 주②", "연결": {"갈래": "입력", "값": 0.3}}, - {"열쇠": "f", "기호": "f", "아래": "", "위": "", "이름": "체적환산계수", "단위": "", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4", "연결": {"갈래": "입력", "값": 1}}, - {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "설명": "롤러 규격", "연결": {"갈래": "선택", "목록": ["1106-0010", "1106-0012", "1206-0008", "1305-0007", "1306-0025", "1306-0100", "1306-0120", "1406-0008", "1406-0015", "1506-0032"], "값": "1106-0010"}}, - {"열쇠": "지역", "기호": "S", "아래": "지역", "위": "", "이름": "지역", "단위": "", "출처": "건설품셈 공통 8-1-7 5", "연결": {"갈래": "선택", "목록": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], "값": "전국평균"}}, - {"열쇠": "작업량", "기호": "Q", "아래": "", "위": "", "이름": "시간당 다짐토량", "단위": "㎥/hr", "연결": {"갈래": "단가산출", "키": "GC001157", "입력": {"다짐기계": "S_다짐기계", "규격": "S_규격", "다짐층": "S_다짐층", "다짐횟수": "N", "E공종": "E_공종", "E기계": "E_기계", "현장조건": "S_현장조건", "E입력": "E_입력", "두께": "D", "f": "f"}}}, - {"열쇠": "P_기계시간당", "기호": "P", "아래": "기계시간당", "위": "", "이름": "기계 시간당 기계경비(손료 보정 없는 기종)", "단위": "원/시간", "연결": {"갈래": "단가산출", "키": "GC000268", "입력": {"기계": "S_기계", "지역": "S_지역"}}} - ], - "식": [], - "금액": [ - {"이름": "롤러", "단위": "시간", "비목": "묶음", "수량": "1 ÷ Q", "단가": "P_기계시간당", "출처": "건설품셈 공통 8-1-4"} - ], - "끝수": { - "줄": {"방법": "버림", "자리": 1}, - "비목": {"방법": "버림", "자리": 0}, - "끝전": "비목버림" - } - }, { "꼴": "수식문서", "판": 1, @@ -1138,6 +1028,10 @@ "이름": "아스팔트 플랜트 시간당 생산능력 — 건설 공통 8-2-10", "결과단위": "ton/hr", "출처": "건설품셈 공통 8-2-10", + "부품": { + "갈래": "작업량 틀", + "기종": ["아스팔트 믹싱플랜트"] + }, "결과": "Q", "변수": [ {"열쇠": "플랜트규격", "기호": "S", "아래": "플랜트규격", "위": "", "이름": "플랜트규격", "단위": "", "설명": "플랜트 규격(ton)", "출처": "건설품셈 공통 8-2-10 1", "연결": {"갈래": "선택", "목록": [40, 60, 80, 100, 120], "값": 60}}, @@ -1162,6 +1056,10 @@ "이름": "스테이빌라이저(노상안정기) 시간당 작업량 — 건설 공통 8-2-11", "결과단위": "㎡/hr", "출처": "건설품셈 공통 8-2-11", + "부품": { + "갈래": "작업량 틀", + "기종": ["스테이빌라이저"] + }, "결과": "A", "변수": [ {"열쇠": "로터폭", "기호": "B", "아래": "로터", "위": "", "이름": "로터폭", "단위": "m", "설명": "Rotor 폭", "출처": "건설품셈 공통 8-2-11 1", "연결": {"갈래": "입력", "값": 2.4}}, @@ -1197,6 +1095,10 @@ "이름": "죠 크러셔 시간당 생산능력 — 건설 공통 8-2-12", "결과단위": "ton/hr", "출처": "건설품셈 공통 8-2-12", + "부품": { + "갈래": "작업량 틀", + "기종": ["죠 크러셔"] + }, "결과": "Q", "변수": [ {"열쇠": "규격", "기호": "S", "아래": "규격", "위": "", "이름": "규격", "단위": "", "설명": "죠 크러셔 규격", "출처": "건설품셈 공통 8-2-12 1 다", "연결": {"갈래": "선택", "목록": ["025040", "025060", "045091", "063101", "106121"], "값": "025060"}}, @@ -1223,6 +1125,10 @@ "이름": "롤 크러셔 시간당 생산능력 — 건설 공통 8-2-12", "결과단위": "ton/hr", "출처": "건설품셈 공통 8-2-12", + "부품": { + "갈래": "작업량 틀", + "기종": ["롤 크러셔"] + }, "결과": "Q", "변수": [ {"열쇠": "규격", "기호": "S", "아래": "규격", "위": "", "이름": "규격", "단위": "", "설명": "롤 크러셔 규격", "출처": "건설품셈 공통 8-2-12 1 라", "연결": {"갈래": "선택", "목록": ["139076", "101063", "104076", "076076", "076045", "076063", "060040", "040040"], "값": "076063"}}, @@ -1249,6 +1155,10 @@ "이름": "이동식 크러셔 시간당 생산능력 — 건설 공통 8-2-12", "결과단위": "ton/hr", "출처": "건설품셈 공통 8-2-12", + "부품": { + "갈래": "작업량 틀", + "기종": ["크러셔"] + }, "결과": "Q", "변수": [ {"열쇠": "규격", "기호": "S", "아래": "규격", "위": "", "이름": "규격", "단위": "", "설명": "이동식 크러셔 규격(ton)", "출처": "건설품셈 공통 8-2-12 2", "연결": {"갈래": "선택", "목록": [50, 100, 150, 200], "값": 100}}, @@ -1275,6 +1185,10 @@ "이름": "스크린 전체 통과량 — 건설 공통 8-2-12", "결과단위": "ton/hr", "출처": "건설품셈 공통 8-2-12", + "부품": { + "갈래": "작업량 틀", + "기종": ["스크린"] + }, "결과": "Q", "변수": [ {"열쇠": "체규격", "기호": "S", "아래": "체규격", "위": "", "이름": "체규격", "단위": "㎜", "설명": "체의 규격", "출처": "건설품셈 공통 8-2-12 1 마", "연결": {"갈래": "선택", "목록": [2.5, 5, 6, 10, 13, 16, 19, 22, 25, 30, 40, 45, 50, 65, 80, 90, 100], "값": 25}}, @@ -1303,31 +1217,6 @@ "끝전": "비목버림" } }, - { - "꼴": "수식문서", - "판": 1, - "키": "GC001166", - "이름": "대형브레이커 작업량당 기계경비 — 건설 공통 8-2-13", - "결과단위": "원/㎥", - "출처": "건설품셈 공통 8-2-13 2", - "변수": [ - {"열쇠": "작업능력", "기호": "q", "아래": "작업", "위": "", "이름": "작업능력", "단위": "㎥/hr", "설명": "대형브레이커 작업능력(Q · 표 범위 안 값)", "출처": "건설품셈 공통 8-2-13 2", "연결": {"갈래": "입력", "값": 3.3}}, - {"열쇠": "기계", "기호": "S", "아래": "기계", "위": "", "이름": "기계", "단위": "", "연결": {"갈래": "선택", "목록": ["0201-0012", "0201-0020", "0201-0040", "0201-0060", "0201-0070", "0201-0080", "0201-0100", "0201-0120", "0201-0200"], "값": "0201-0070"}}, - {"열쇠": "브레이커", "기호": "S", "아래": "브레이커", "위": "", "이름": "브레이커", "단위": "", "연결": {"갈래": "선택", "목록": ["0230-0002", "0230-0004", "0230-0006", "0230-0007", "0230-0008", "0230-0010"], "값": "0230-0007"}}, - {"열쇠": "지역", "기호": "S", "아래": "지역", "위": "", "이름": "지역", "단위": "", "출처": "건설품셈 공통 8-1-7 5", "연결": {"갈래": "선택", "목록": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], "값": "전국평균"}}, - {"열쇠": "보정작업", "기호": "S", "아래": "보정작업", "위": "", "이름": "보정작업", "단위": "", "출처": "건설품셈 공통 8-1-7 1", "연결": {"갈래": "선택", "목록": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "값": "해당 없음"}}, - {"열쇠": "P_굴착기무한궤", "기호": "P", "아래": "굴착기무한궤", "위": "", "이름": "굴착기(무한궤도)+대형브레이커 시간당 기계경비", "단위": "원/시간", "연결": {"갈래": "단가산출", "키": "GC000271", "입력": {"기계": "S_기계", "브레이커": "S_브레이커", "지역": "S_지역", "보정작업": "S_보정작업"}}} - ], - "식": [], - "금액": [ - {"이름": "굴착기+대형브레이커", "단위": "시간", "비목": "묶음", "수량": "1 ÷ q_작업", "단가": "P_굴착기무한궤", "출처": "건설품셈 공통 8-2-13 2"} - ], - "끝수": { - "줄": {"방법": "버림", "자리": 1}, - "비목": {"방법": "버림", "자리": 0}, - "끝전": "비목버림" - } - }, { "꼴": "수식문서", "판": 1, @@ -1335,6 +1224,10 @@ "이름": "압쇄기(콘크리트 소할용) 시간당 작업량 — 건설 공통 8-2-14", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-14", + "부품": { + "갈래": "작업량 틀", + "기종": ["압쇄기"] + }, "결과": "Q", "변수": [ {"열쇠": "E입력", "기호": "E", "아래": "입력", "위": "", "이름": "E입력", "단위": "", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 값", "출처": "건설품셈 공통 8-2-14", "연결": {"갈래": "입력", "값": 0, "범위": [0, 1]}}, @@ -1361,6 +1254,10 @@ "이름": "법면다짐기 시간당 작업량 — 건설 공통 8-2-15", "결과단위": "㎡/hr", "출처": "건설품셈 공통 8-2-15", + "부품": { + "갈래": "작업량 틀", + "기종": ["유압식 진동콤팩터"] + }, "결과": "Q", "변수": [ {"열쇠": "구분", "기호": "S", "아래": "구분", "위": "", "이름": "구분", "단위": "", "설명": "장비", "출처": "건설품셈 공통 8-2-15 2", "연결": {"갈래": "선택", "목록": ["유압식 진동콤팩터", "법면다짐판"], "값": "유압식 진동콤팩터"}}, @@ -1384,6 +1281,10 @@ "이름": "골재세척설비 시간당 작업량 — 건설 공통 8-2-16", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-16", + "부품": { + "갈래": "작업량 틀", + "기종": ["골재세척설비"] + }, "결과": "Q", "변수": [ {"열쇠": "E입력", "기호": "E", "아래": "입력", "위": "", "이름": "E입력", "단위": "", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 값", "출처": "건설품셈 공통 8-2-16", "연결": {"갈래": "입력", "값": 0, "범위": [0, 1]}}, @@ -1410,6 +1311,11 @@ "이름": "콘크리트 믹서 시간당 생산량 — 건설 공통 8-2-17", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-17", + "부품": { + "갈래": "작업량 틀", + "기종": ["콘크리트 믹서"], + "규격": "믹서용량" + }, "결과": "Q", "변수": [ {"열쇠": "믹서용량", "기호": "q", "아래": "", "위": "", "이름": "믹서용량", "단위": "㎥", "설명": "콘크리트 믹서용량(q)", "출처": "건설품셈 공통 8-2-17", "연결": {"갈래": "입력", "값": 0.5}}, @@ -1437,6 +1343,10 @@ "이름": "콘크리트 배치플랜트(강제 혼합식) 시간당 작업량 — 건설 공통 8-2-18", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-18", + "부품": { + "갈래": "작업량 틀", + "기종": ["콘크리트 배치플랜트"] + }, "결과": "Q", "변수": [ {"열쇠": "규격", "기호": "S", "아래": "규격", "위": "", "이름": "규격", "단위": "", "설명": "배치플랜트 규격", "출처": "건설품셈 공통 8-2-18 1", "연결": {"갈래": "선택", "목록": ["60㎥/h (96㎾)", "90㎥/h (144㎾)", "120㎥/h (160㎾)", "150㎥/h (177㎾))", "180㎥/h (213㎾))", "210㎥/h (233㎾))"], "값": "60㎥/h (96㎾)"}}, @@ -1472,6 +1382,11 @@ "이름": "콘크리트 믹서트럭 시간당 운반량 — 건설 공통 8-2-19", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-19", + "부품": { + "갈래": "작업량 틀", + "기종": ["콘크리트 믹서트럭"], + "규격": "적재용량" + }, "결과": "Q", "변수": [ {"열쇠": "적재용량", "기호": "W", "아래": "", "위": "", "이름": "적재용량", "단위": "㎥", "설명": "믹서트럭 적재용량(W)", "출처": "건설품셈 공통 8-2-19 1", "연결": {"갈래": "입력", "값": 6}}, @@ -1527,6 +1442,10 @@ "이름": "콘크리트 덤프트럭 시간당 운반량 — 건설 공통 8-2-19", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-19", + "부품": { + "갈래": "작업량 틀", + "기종": ["덤프트럭"] + }, "결과": "Q", "변수": [ {"열쇠": "규격", "기호": "S", "아래": "규격", "위": "", "이름": "규격", "단위": "", "설명": "덤프트럭 규격(톤)", "출처": "건설품셈 공통 8-2-19 2 가", "연결": {"갈래": "선택", "목록": [8, 10.5, 15], "값": 10.5}}, @@ -1574,6 +1493,10 @@ "이름": "기관차 시간당 작업량 — 건설 공통 8-2-20", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-20", + "부품": { + "갈래": "작업량 틀", + "기종": ["디젤 기관차"] + }, "결과": "Q", "변수": [ {"열쇠": "기관차", "기호": "S", "아래": "기관차", "위": "", "이름": "기관차", "단위": "", "설명": "기관차 규격", "출처": "건설품셈 공통 8-2-20", "연결": {"갈래": "선택", "목록": ["5t", "7t"], "값": "5t"}}, @@ -1616,6 +1539,10 @@ "이름": "경운기 시간당 작업량 — 건설 공통 8-2-21", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-21", + "부품": { + "갈래": "작업량 틀", + "기종": ["경운기"] + }, "결과": "Q", "변수": [ {"열쇠": "적재량", "기호": "q", "아래": "", "위": "", "이름": "적재량", "단위": "㎥", "설명": "흐트러진 상태의 1회 적재량(q)", "출처": "건설품셈 공통 8-2-21", "연결": {"갈래": "입력", "값": 0.5}}, @@ -1651,6 +1578,10 @@ "이름": "디젤 파일 해머 파일 1본당 시공시간 — 강관파일 — 건설 공통 8-2-22", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-22", + "부품": { + "갈래": "작업량 틀", + "기종": ["디젤 파일 해머"] + }, "결과": "Tc", "변수": [ {"열쇠": "토질", "기호": "S", "아래": "토질", "위": "", "이름": "토질", "단위": "", "설명": "토질계수(α) 표의 토질", "출처": "건설품셈 공통 8-2-22 1 가 (1)", "연결": {"갈래": "선택", "목록": ["점토・부식토", "실트・로움・모래", "자갈"], "값": "실트・로움・모래"}}, @@ -1712,6 +1643,10 @@ "이름": "디젤 파일 해머 파일 1본당 시공시간 — 콘크리트 파일(PC · RC) — 건설 공통 8-2-22", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-22", + "부품": { + "갈래": "작업량 틀", + "기종": ["디젤 파일 해머"] + }, "결과": "Tc", "변수": [ {"열쇠": "토질", "기호": "S", "아래": "토질", "위": "", "이름": "토질", "단위": "", "설명": "토질계수(α) 표의 토질", "출처": "건설품셈 공통 8-2-22 1 가 (1)", "연결": {"갈래": "선택", "목록": ["점토・부식토", "실트・로움・모래", "자갈"], "값": "실트・로움・모래"}}, @@ -1762,6 +1697,10 @@ "이름": "유압 파일 해머 파일 1본당 시공시간 — 강관파일 — 건설 공통 8-2-23", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-23", + "부품": { + "갈래": "작업량 틀", + "기종": ["유압 파일 해머"] + }, "결과": "Q", "변수": [ {"열쇠": "평균N", "기호": "X", "아래": "평균N", "위": "", "이름": "평균N", "단위": "", "설명": "타입층의 평균 N치", "출처": "건설품셈 공통 8-2-23 1 가 (1)", "연결": {"갈래": "입력", "값": 15}}, @@ -1795,6 +1734,10 @@ "이름": "유압 파일 해머 파일 1본당 시공시간 — 콘크리트 파일(PC · RC · PHC) — 건설 공통 8-2-23", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-23", + "부품": { + "갈래": "작업량 틀", + "기종": ["유압 파일 해머"] + }, "결과": "Q", "변수": [ {"열쇠": "평균N", "기호": "X", "아래": "평균N", "위": "", "이름": "평균N", "단위": "", "설명": "타입층의 평균 N치", "출처": "건설품셈 공통 8-2-23 1 가 (1)", "연결": {"갈래": "입력", "값": 25}}, @@ -1824,6 +1767,10 @@ "이름": "진동파일 해머 파일 1본당 시공시간 — H파일 — 건설 공통 8-2-24", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-24", + "부품": { + "갈래": "작업량 틀", + "기종": ["진동파일 해머"] + }, "결과": "Q", "변수": [ {"열쇠": "작업", "기호": "S", "아래": "작업", "위": "", "이름": "작업", "단위": "", "설명": "항타 · 항발", "출처": "건설품셈 공통 8-2-24 1", "연결": {"갈래": "선택", "목록": ["항타", "항발"], "값": "항타"}}, @@ -1876,6 +1823,10 @@ "이름": "진동파일 해머 파일 1본당 시공시간 — 강널말뚝 — 건설 공통 8-2-24", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-24", + "부품": { + "갈래": "작업량 틀", + "기종": ["진동파일 해머"] + }, "결과": "Q", "변수": [ {"열쇠": "종류", "기호": "S", "아래": "종류", "위": "", "이름": "종류", "단위": "", "설명": "강널말뚝 종류", "출처": "건설품셈 공통 8-2-24 2 나 (1)", "연결": {"갈래": "선택", "목록": ["II-Type (400×100×10.5)", "III-Type (400×150×13)", "IV-Type (400×170×15.5)"], "값": "III-Type (400×150×13)"}}, @@ -1915,6 +1866,10 @@ "이름": "진동파일해머(워터제트 병용 압입공) 파일 1본당 시공시간 — 건설 공통 8-2-25", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-25", + "부품": { + "갈래": "작업량 틀", + "기종": ["진동파일 해머", "워터젯트"] + }, "결과": "Q", "변수": [ {"열쇠": "근입길이", "기호": "L", "아래": "", "위": "", "이름": "근입길이", "단위": "m", "설명": "근입길이(L)", "출처": "건설품셈 공통 8-2-25 2 가", "연결": {"갈래": "입력", "값": 12}}, @@ -1955,6 +1910,10 @@ "이름": "유압식 압입 인발기 강널말뚝 1본당 시공시간 — 건설 공통 8-2-26", "결과단위": "분/본", "출처": "건설품셈 공통 8-2-26", + "부품": { + "갈래": "작업량 틀", + "기종": ["유압식 압입 인발기"] + }, "결과": "Q", "변수": [ {"열쇠": "작업", "기호": "S", "아래": "작업", "위": "", "이름": "작업", "단위": "", "설명": "압입 · 인발", "출처": "건설품셈 공통 8-2-26 2", "연결": {"갈래": "선택", "목록": ["압입", "인발"], "값": "압입"}}, @@ -1997,7 +1956,7 @@ "꼴": "수식문서", "판": 1, "키": "GC001184", - "이름": "수중펌프 설치 및 해체(1개소당) — 건설 공통 8-2-27", + "이름": "수중펌프 설치 및 해체", "결과단위": "원/개소", "출처": "건설품셈 공통 8-2-27 5", "변수": [ @@ -2024,6 +1983,10 @@ "이름": "터널전단면 굴착기(TBM) 1시간당 작업량 — 건설 공통 8-2-28", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-28", + "부품": { + "갈래": "작업량 틀", + "기종": ["터널전단면 굴착기"] + }, "결과": "Q", "변수": [ {"열쇠": "굴착직경", "기호": "D", "아래": "", "위": "", "이름": "굴착직경", "단위": "m", "설명": "굴착직경(D)", "출처": "건설품셈 공통 8-2-28 1", "연결": {"갈래": "입력", "값": 4.5}}, @@ -2061,6 +2024,10 @@ "이름": "펌프식 준설선 1시간당 준설능력 — 건설 공통 8-2-29", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-29", + "부품": { + "갈래": "작업량 틀", + "기종": ["펌프 준설선"] + }, "결과": "Q", "변수": [ {"열쇠": "토질", "기호": "S", "아래": "토질", "위": "", "이름": "토질", "단위": "", "설명": "토질 분류", "출처": "건설품셈 공통 8-2-29 2", "연결": {"갈래": "선택", "목록": ["점성토", "사질토"], "값": "사질토"}}, @@ -2101,6 +2068,10 @@ "이름": "그래브 준설선 1시간당 준설량 — 건설 공통 8-2-30", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-30", + "부품": { + "갈래": "작업량 틀", + "기종": ["그래브 준설선"] + }, "결과": "Q", "변수": [ {"열쇠": "버킷용량", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "㎥", "설명": "버킷용량(q)", "출처": "건설품셈 공통 8-2-30 3", "연결": {"갈래": "선택", "목록": [0.65, 1.0, 1.5, 3.0, 5.0, 6.0, 7.5, 12.5, 16.0, 25.0], "값": 3.0}}, @@ -2149,6 +2120,10 @@ "이름": "쇄암선(중추식) 시간당 작업능력 — 건설 공통 8-2-31", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-31", + "부품": { + "갈래": "작업량 틀", + "기종": [] + }, "결과": "Q", "변수": [ {"열쇠": "분류", "기호": "S", "아래": "분류", "위": "", "이름": "분류", "단위": "", "설명": "토질분류", "출처": "건설품셈 공통 8-2-31 1", "연결": {"갈래": "선택", "목록": ["자갈섞인 토사", "암반"], "값": "암반"}}, @@ -2179,6 +2154,10 @@ "이름": "이동식 임목파쇄기 시간당 파쇄능력 — 건설 공통 8-2-32", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-32", + "부품": { + "갈래": "작업량 틀", + "기종": ["이동식 임목파쇄기"] + }, "결과": "Q", "변수": [ {"열쇠": "규격", "기호": "S", "아래": "규격", "위": "", "이름": "규격", "단위": "", "설명": "임목파쇄기 규격", "출처": "건설품셈 공통 8-2-32 1 · 2", "연결": {"갈래": "선택", "목록": ["93.25㎾", "354.35㎾", "402.84㎾"], "값": "354.35㎾"}}, @@ -2208,6 +2187,10 @@ "이름": "하천골재채취선 시간당 준설량 — 건설 공통 8-2-33", "결과단위": "㎥/hr", "출처": "건설품셈 공통 8-2-33", + "부품": { + "갈래": "작업량 틀", + "기종": ["하천골재채취선"] + }, "결과": "Q", "변수": [ {"열쇠": "분류", "기호": "S", "아래": "분류", "위": "", "이름": "분류", "단위": "", "설명": "구분", "출처": "건설품셈 공통 8-2-33 2", "연결": {"갈래": "선택", "목록": ["모래질토사", "자갈섞인 모래질토사"], "값": "모래질토사"}}, diff --git a/resources/master_data/수식문서/수식_건설품셈_13장_플랜트설비공사.json b/resources/master_data/수식문서/수식_건설품셈_13장_플랜트설비공사.json index 99414a1f3..4867e2c34 100644 --- a/resources/master_data/수식문서/수식_건설품셈_13장_플랜트설비공사.json +++ b/resources/master_data/수식문서/수식_건설품셈_13장_플랜트설비공사.json @@ -6505,6 +6505,9 @@ "이름": "아세틸렌량의 환산(ℓ → ㎏)", "결과단위": "㎏", "출처": "건설품셈 기계설비 13-2-7", + "부품": { + "갈래": "계수식" + }, "결과": "Q", "변수": [ {"열쇠": "아세틸렌부피", "기호": "V", "아래": "아세틸렌", "위": "", "이름": "아세틸렌부피", "단위": "ℓ", "설명": "아세틸렌 부피", "출처": "건설품셈 기계설비 13-2-7", "연결": {"갈래": "입력", "값": 1000}}, diff --git a/resources/master_data/수식문서/수식_산림품셈_03장_작업장_관리.json b/resources/master_data/수식문서/수식_산림품셈_03장_작업장_관리.json index a8f8bf098..87f96079f 100644 --- a/resources/master_data/수식문서/수식_산림품셈_03장_작업장_관리.json +++ b/resources/master_data/수식문서/수식_산림품셈_03장_작업장_관리.json @@ -69,6 +69,11 @@ "이름": "임산물 운반로 신설 굴착기 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 3-4-2 1", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "q" + }, "결과": "Q", "변수": [ {"열쇠": "q", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "", "연결": {"갈래": "표", "표": "QF000028", "조건": {"구분": "'q(버킷용량)'"}, "칸": "값"}}, diff --git a/resources/master_data/수식문서/수식_산림품셈_05장_식재_및_녹화.json b/resources/master_data/수식문서/수식_산림품셈_05장_식재_및_녹화.json index d337de903..bed3bc127 100644 --- a/resources/master_data/수식문서/수식_산림품셈_05장_식재_및_녹화.json +++ b/resources/master_data/수식문서/수식_산림품셈_05장_식재_및_녹화.json @@ -1096,6 +1096,11 @@ "이름": "복사이식 굴착기 시간당 작업량(Q1)", "결과단위": "㎥/hr", "출처": "산림품셈 5-29 주④", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "q" + }, "결과": "Q", "변수": [ {"열쇠": "q", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "", "출처": "산림품셈 5-29 주③ 1.0㎥", "연결": {"갈래": "표", "표": "QF000146", "조건": {"구분": "'적용 굴착기(무한궤도형)'"}, "칸": "값"}}, diff --git a/resources/master_data/수식문서/수식_산림품셈_09장_토공.json b/resources/master_data/수식문서/수식_산림품셈_09장_토공.json index 7afc0da44..3341d3cb1 100644 --- a/resources/master_data/수식문서/수식_산림품셈_09장_토공.json +++ b/resources/master_data/수식문서/수식_산림품셈_09장_토공.json @@ -53,6 +53,11 @@ "이름": "토사깍기(기계 · 굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-3-2", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "q" + }, "결과": "Q", "변수": [ {"열쇠": "E입력", "기호": "E", "아래": "입력", "위": "", "이름": "E입력", "단위": "", "출처": "산림품셈 9-3-2", "연결": {"갈래": "입력", "값": 0.45, "범위": [0.45, 0.55]}}, @@ -143,6 +148,11 @@ "이름": "암절취 집토(굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-4-2", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "q" + }, "결과": "Q", "변수": [ {"열쇠": "q", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "", "연결": {"갈래": "표", "표": "CF000123", "조건": {"구분": "'무한궤도 굴착기'"}, "칸": "적용"}}, @@ -280,6 +290,11 @@ "이름": "발파암 집토(굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-5-3", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "q" + }, "결과": "Q", "변수": [ {"열쇠": "q", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "", "연결": {"갈래": "표", "표": "CF000124", "조건": {"구분": "'무한궤도 굴착기'"}, "칸": "적용"}}, @@ -355,6 +370,11 @@ "이름": "콘크리트 깨기 집토(굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-7-1 주⑥", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "q" + }, "결과": "Q", "변수": [ {"열쇠": "q", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "", "연결": {"갈래": "표", "표": "CF000125", "조건": {"구분": "'무한궤도 굴착기'"}, "칸": "적용"}}, @@ -675,6 +695,11 @@ "이름": "측구터파기 토사 굴착기 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-12-1", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "q" + }, "결과": "Q", "변수": [ {"열쇠": "q", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "", "연결": {"갈래": "표", "표": "CF000126", "조건": {"구분": "'굴착기 버킷'"}, "칸": "적용"}}, @@ -1546,6 +1571,11 @@ "이름": "되메우기 굴착기 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-14-1", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "q" + }, "결과": "Q", "변수": [ {"열쇠": "q", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "", "연결": {"갈래": "표", "표": "CF000129", "조건": {"구분": "'굴착기 버킷'"}, "칸": "적용"}}, @@ -1600,6 +1630,10 @@ "이름": "다짐(플레이트콤펙터) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-14-2", + "부품": { + "갈래": "작업량 틀", + "기종": ["플레이트 콤팩터"] + }, "결과": "Q", "변수": [ {"열쇠": "A", "기호": "A", "아래": "", "위": "", "이름": "A", "단위": "", "연결": {"갈래": "표", "표": "QF000289", "조건": {"기호": "'A'"}, "칸": "적용"}}, @@ -1649,6 +1683,11 @@ "이름": "표토제거 답(畓)구간(굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎡/hr", "출처": "산림품셈 9-15-1", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "q" + }, "결과": "Q", "변수": [ {"열쇠": "T", "기호": "T", "아래": "", "위": "", "이름": "표토두께", "단위": "m", "출처": "산림품셈 9-15-1 주②", "연결": {"갈래": "입력", "값": 1}}, @@ -1700,6 +1739,10 @@ "이름": "표토제거 답(畓)외구간(불도저 19ton) 시간당 작업량", "결과단위": "㎡/hr", "출처": "산림품셈 9-15-2", + "부품": { + "갈래": "작업량 틀", + "기종": ["불도저"] + }, "결과": "Q", "변수": [ {"열쇠": "T", "기호": "T", "아래": "", "위": "", "이름": "표토두께", "단위": "", "연결": {"갈래": "표", "표": "QF000291", "조건": {"구분": "'T(표토두께)'"}, "칸": "적용"}}, @@ -1755,6 +1798,10 @@ "이름": "노체포설 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-16-1 주②", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"] + }, "결과": "Q", "변수": [ {"열쇠": "q0", "기호": "q", "아래": "0", "위": "", "이름": "q0", "단위": "", "연결": {"갈래": "표", "표": "CF000098", "조건": {"구분": "'무한궤도 굴착기'"}, "칸": "적용"}}, @@ -1804,6 +1851,10 @@ "이름": "노체다짐 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-16-2 주②", + "부품": { + "갈래": "작업량 틀", + "기종": ["머캐덤 롤러", "탠덤롤러", "진동롤러", "타이어 롤러", "양족식 롤러"] + }, "결과": "Q", "변수": [ {"열쇠": "V", "기호": "V", "아래": "", "위": "", "이름": "다짐속도", "단위": "㎞/hr", "연결": {"갈래": "표", "표": "CF000099", "조건": {"구분": "'V(다짐속도,km/hr)'"}, "칸": "적용"}}, @@ -1874,6 +1925,10 @@ "이름": "비다짐(정지 · 불도저 19ton) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-17-2", + "부품": { + "갈래": "작업량 틀", + "기종": ["불도저"] + }, "결과": "Q", "변수": [ {"열쇠": "L", "기호": "L", "아래": "", "위": "", "이름": "L", "단위": "", "연결": {"갈래": "표", "표": "QF000292", "조건": {"구분": "'L'"}, "칸": "적용"}}, @@ -1928,6 +1983,11 @@ "이름": "층따기(굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-18", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "q" + }, "결과": "Q", "변수": [ {"열쇠": "q", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "", "연결": {"갈래": "표", "표": "CF000131", "조건": {"구분": "'무한궤도 굴착기'"}, "칸": "적용"}}, @@ -2189,6 +2249,11 @@ "이름": "섞기(굴착기 0.7㎥) 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 9-22", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "q" + }, "결과": "Q", "변수": [ {"열쇠": "q", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "", "연결": {"갈래": "표", "표": "CF000132", "조건": {"구분": "'무한궤도 굴착기'"}, "칸": "적용"}}, diff --git a/resources/master_data/수식문서/수식_산림품셈_10장_자재․장비_운반.json b/resources/master_data/수식문서/수식_산림품셈_10장_자재․장비_운반.json index 418def676..793a302ac 100644 --- a/resources/master_data/수식문서/수식_산림품셈_10장_자재․장비_운반.json +++ b/resources/master_data/수식문서/수식_산림품셈_10장_자재․장비_운반.json @@ -9,6 +9,10 @@ "이름": "골재운반 덤프트럭 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 10-3-1 주", + "부품": { + "갈래": "작업량 틀", + "기종": ["덤프트럭"] + }, "결과": "Q", "변수": [ {"열쇠": "qt", "기호": "qt", "아래": "", "위": "", "이름": "덤프트럭 1회 적재량", "단위": "㎥", "연결": {"갈래": "입력", "값": 0}}, @@ -469,6 +473,9 @@ "이름": "4륜구동 1톤 덤프트럭 시간당 기계경비", "결과단위": "원/시간", "출처": "산림품셈 10-9", + "부품": { + "갈래": "기계경비식" + }, "변수": [ {"열쇠": "지역", "기호": "S", "아래": "지역", "위": "", "이름": "지역", "단위": "", "출처": "건설품셈 공통 8-1-7 5", "연결": {"갈래": "선택", "목록": ["전국평균", "전국", "서울", "경기", "강원", "충북", "충남", "전북", "경북", "경남", "부산", "제주", "대구", "인천", "대전", "울산", "세종", "전남광주"], "값": "전국평균"}}, {"열쇠": "손료", "기호": "C", "아래": "손료", "위": "", "이름": "손료", "단위": "", "출처": "산림품셈 10-9 · 건설품셈 공통 8-1-5 12", "연결": {"갈래": "식"}}, @@ -593,6 +600,10 @@ "이름": "불도저 운반 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 10-11 주②", + "부품": { + "갈래": "작업량 틀", + "기종": ["불도저"] + }, "결과": "Q", "변수": [ {"열쇠": "재료", "기호": "S", "아래": "재료", "위": "", "이름": "재료", "단위": "", "연결": {"갈래": "선택", "목록": ["토사", "파쇄암", "발파암"], "값": "토사"}}, diff --git a/resources/master_data/수식문서/수식_산림품셈_11장_가설.json b/resources/master_data/수식문서/수식_산림품셈_11장_가설.json index 4c98cb0cc..ea80a99d2 100644 --- a/resources/master_data/수식문서/수식_산림품셈_11장_가설.json +++ b/resources/master_data/수식문서/수식_산림품셈_11장_가설.json @@ -91,6 +91,11 @@ "이름": "쇄석·혼합석 부설 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 11-4 주①", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "q" + }, "결과": "Q", "변수": [ {"열쇠": "q", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "", "연결": {"갈래": "표", "표": "QF000349", "조건": {"구분": "'q(버킷용량)'"}, "칸": "적용"}}, diff --git a/resources/master_data/수식문서/수식_산림품셈_13장_구조물.json b/resources/master_data/수식문서/수식_산림품셈_13장_구조물.json index 74a591052..666a68e5b 100644 --- a/resources/master_data/수식문서/수식_산림품셈_13장_구조물.json +++ b/resources/master_data/수식문서/수식_산림품셈_13장_구조물.json @@ -1082,6 +1082,11 @@ "이름": "토양개량제 부설 굴착기 시간당 작업량", "결과단위": "㎥/hr", "출처": "산림품셈 13-13-2", + "부품": { + "갈래": "작업량 틀", + "기종": ["굴착기"], + "규격": "q" + }, "결과": "Q", "변수": [ {"열쇠": "q", "기호": "q", "아래": "", "위": "", "이름": "버킷용량", "단위": "", "연결": {"갈래": "표", "표": "CF000158", "조건": {"구분": "'굴착기 버킷'"}, "칸": "적용"}}, diff --git a/resources/tester/fixtures/m01_791_1_logic_fingerprint.json b/resources/tester/fixtures/m01_791_1_logic_fingerprint.json index e0461b712..cb1ff516e 100644 --- a/resources/tester/fixtures/m01_791_1_logic_fingerprint.json +++ b/resources/tester/fixtures/m01_791_1_logic_fingerprint.json @@ -1140,28 +1140,22 @@ "GC001142": "a71c65aaf3eaa7fb", "GC001143": "67408ddb506d5fff", "GC001144": "7b207014a8648623", - "GC001145": "c84f872700bca009", "GC001146": "d0cb3999201a30ac", "GC001147": "a0b23be6a9736a77", - "GC001148": "9adaa6b9f1d8c1d0", "GC001149": "aeed5c7c9e52efef", "GC001150": "1375791d7dd5ce45", - "GC001151": "1890f61af6e6e49f", "GC001152": "6ae99c99ea7e4c9f", "GC001153": "813d46800b48b946", "GC001154": "cbbd35887f079546", "GC001155": "0b6c9c3dc014fc51", - "GC001156": "1e7e8101574b5f87", "GC001157": "19c727d732d3c6c2", "GC001158": "108ec420791670b2", - "GC001159": "f867477915fd53c9", "GC001160": "3ca4cdd646f5e7b1", "GC001161": "0cb1fa1eeda920fb", "GC001162": "c3d278e87f2fded4", "GC001163": "c1216e4fdd0db9e4", "GC001164": "ac5b787938ec3ca2", "GC001165": "798aee41ed132310", - "GC001166": "b6940f94ad685bae", "GC001167": "ab6999dcf7f7dfe6", "GC001168": "29e3a9b048eaf277", "GC001169": "6cda5f96e9b1895b", @@ -1520,5 +1514,5 @@ "GF000336": "a9b9e0bb0f7da1f0", "GX000004": "a3f4c454a5764d6e" }, - "마스터": "e65874951c3ab169" + "마스터": "e6010f1c04492168" } diff --git a/resources/tester/test_713_3_list.py b/resources/tester/test_713_3_list.py index e4cb339ba..9d005bbcc 100644 --- a/resources/tester/test_713_3_list.py +++ b/resources/tester/test_713_3_list.py @@ -11,22 +11,22 @@ COLS = {"묶음", "묶음수", "작업량", "부모", "부르는수", "불리는 def test_목록_줄_수_그대로_덧칸_다_있음() -> None: got = router.get_logics()["logics"] assert ( - len(got) == 1519 - ) # 묶음은 화면 접기만 — 목록 줄은 정본 로직 수 그대로(713-4 1,461 + 782 건설 기초 54 + 794-2b 잔토처리 1 + 794-2a2 셋) + len(got) == 1440 + ) # 묶음은 화면 접기만 — 정본 로직 1,513(713-4 1,461 + 782 건설 기초 54 + 794-2b 1 + 794-2a2 셋 − 813-2 지움 6) − 부품 73(813-2) assert all(COLS <= set(x) for x in got) def test_묶음_작업량_부르기() -> None: more = store_list.extras() - # 한 절에 로직 둘 넘음(조사 12-B ㉯ 323 → 713-4 합침 · 지움 뒤 307 → 782 건설 기초 335 → 794-2b 3-2-1 둘 337) - assert sum(1 for v in more.values() if v["묶음"]) == 337 + # 한 절에 로직 둘 넘음(조사 12-B ㉯ 323 → 713-4 합침 · 지움 뒤 307 → 782 건설 기초 335 → 794-2b 3-2-1 둘 337 → 813-2 작업량당 기계경비 6 지움 328) + assert sum(1 for v in more.values() if v["묶음"]) == 328 work = {k for k, v in more.items() if v["작업량"]} assert len(work) == 65 # 27 − 터파기 작업량 6(713-4 · 단가 로직 안에 품음) + 782 시공능력 44 assert more["GF000098"]["부모"] == ["GF000099"] # 측구터파기 작업량 → 단가 로직 밑 assert more["GC000268"]["불리는수"] >= 300 # 기계경비 로직 assert ( - sum(1 for v in more.values() if v["부르는수"]) == 513 - ) # 506 + 782 건설 기초 6 + 794-2a2 채집 GX 1 + sum(1 for v in more.values() if v["부르는수"]) == 507 + ) # 506 + 782 건설 기초 6 + 794-2a2 채집 GX 1 − 813-2 작업량당 기계경비 6 assert more["GC000294"]["관련"] == ["GC000292"] # 비고 「1-5-6(주③)」 # 인재경 줄 수 = 712-1 묶음 파생 · 못 가른 「하위」 = 복합 하위 로직 부르기 31(조사 12-B ③4) assert sum(v["인재경"]["하위"] for v in more.values()) == 31 diff --git a/resources/tester/test_782_3_capacity_82.py b/resources/tester/test_782_3_capacity_82.py index 6af92cb10..49f4f013d 100644 --- a/resources/tester/test_782_3_capacity_82.py +++ b/resources/tester/test_782_3_capacity_82.py @@ -189,18 +189,7 @@ def test_롤러_임목파쇄_브레이커(whole): assert mean(rows["구조물의 평균두께 30㎝ 미만"]["무근구조물"]) == D("4.6") assert mean(rows["구조물의 평균두께 30㎝ 이상"]["철근구조물"]) == D("2.05") assert mean(rows["구조물의 평균두께 30㎝ 미만"]["철근구조물"]) == D("2.45") - cost = mf.run( - whole, - "GC001166", - { - "작업능력": D("3.6"), - "기계": "0201-0070", - "브레이커": "0230-0007", - "지역": "전국평균", - "보정작업": "해당 없음", - }, - ) - assert cost["줄"][0]["수량"] == 1 / D("3.6") + # 대형브레이커 작업량당 기계경비(GC001166) = 813-2 지움 — 단가산출에 기계 하나 넣어 만듦 def test_기본식_원가로직(whole): @@ -210,10 +199,7 @@ def test_기본식_원가로직(whole): {"싸이클시간": 21, "시간단위": "초", "작업량": D("0.9"), "f": D("0.7"), "E": D("0.75")}, ) assert got["중간"]["n"] == D("171.43") and got["결과"] == D("81.001") - rows = cm.load([LOGIC])[LOGIC]["줄"] - cost = next(r for r in rows if r["키"] == "GC001148") - got = mf.run(whole, "GC001148", cm.시험입력(cost)) - assert got["줄"][0]["수량"] == 1 / D("81.000") + # 굴착기 작업량당 기계경비(GC001148) = 813-2 지움 — 기계 넣기 + 작업량 틀(test_813_2_parts) def test_아세틸렌(whole): @@ -228,7 +214,8 @@ def test_check_master(): new = [t["키"] for t in files[COEF]["표"] if "CC000349" <= t["키"] <= "CC000494"] assert len(new) == 146 logic = [r["키"] for r in files[LOGIC]["줄"] if r["키"] >= "GC001143"] - assert logic == [f"GC00{n}" for n in range(1143, 1191)] + gone = (1145, 1148, 1151, 1156, 1159, 1166) # 813-2 작업량당 기계경비 지움 + assert logic == [f"GC00{n}" for n in range(1143, 1191) if n not in gone] assert files[LOGIC13]["줄"][-1]["키"] == "GC001191" for name in (LOGIC, LOGIC13): for row in files[name]["줄"]: diff --git a/resources/tester/test_791_1_engine_semantics.py b/resources/tester/test_791_1_engine_semantics.py index 52ff16880..5fb632b80 100644 --- a/resources/tester/test_791_1_engine_semantics.py +++ b/resources/tester/test_791_1_engine_semantics.py @@ -71,7 +71,7 @@ def test_M01_로직_전부_전후_같음(): if saved["마스터"] != _master_hash(): pytest.skip("마스터 데이터 바뀜 — 지문 다시 뜸: python resources/tester/test_791_1_…py") now = fingerprints() - assert len(now) == len(saved["결과"]) >= 1515 + assert len(now) == len(saved["결과"]) >= 1513 # 813-2 작업량당 기계경비 6 지움 diff = sorted(k for k in now if now[k] != saved["결과"].get(k)) assert not diff, f"셈 결과 바뀐 로직 {len(diff)} 개: {diff[:10]}" diff --git a/resources/tester/test_796_1_formula_model.py b/resources/tester/test_796_1_formula_model.py index 7bd244406..2b68941da 100644 --- a/resources/tester/test_796_1_formula_model.py +++ b/resources/tester/test_796_1_formula_model.py @@ -1,6 +1,6 @@ """796-1 수식 모델 지킴 — 엔진 로직 ↔ 수식 나무 양방향 · 변수 표 · 추가 · 삭제 · 이름 전파 · 검사. -① 예시 셋(요구서_655 · `_분석_655-B` 2 장) — GC001148 굴착기(블록 GC001147 Q = 81 · GC000267) · +① 예시 셋(요구서_655 · `_분석_655-B` 2 장) — GF000089 토사깍기(블록 GF000088 Q = 39.293 · GC000267 · 813-2 GC001148 지움 뒤) · GC001140 지게(N · M · 42,917) · GC000211 거푸집(시공량 45 · 형틀목공 5/45 · 공구손료 1 %). ② 왕복 — M01 로직 식 전부: 엔진 식 → 나무 → 엔진 식 = 같은 식 나무 · 예시 셋 = 같은 금액. ③ 고침 — 식 고침 = 금액 바뀜 · 변수 더함 · 지움(쓰는 곳 막음) · 이름 · 기호 · 첨자 전파(식 그대로) · @@ -34,7 +34,7 @@ me = importlib.import_module("master_equation_edit") revise = importlib.import_module("M01_MasterData.M01_MasterData_Store_Revise") REAL = store.FOLDER -EXCAVATOR, AFRAME, FORM = "GC001148", "GC001140", "GC000211" +EXCAVATOR, AFRAME, FORM = "GF000089", "GC001140", "GC000211" GIVEN = {AFRAME: {"운반회수": 0}, FORM: {"유형": "보통", "높이감률": 0}, EXCAVATOR: {}} @@ -72,28 +72,28 @@ def edit(key: str, edits: list) -> tuple[dict, list[str]]: # ── ① 예시 셋 ───────────────────────────────────────────────────────── -def test_굴착기_블록_Q_81_노재경(): +def test_굴착기_블록_Q_노재경(): eq = export(EXCAVATOR) block = line(eq, "작업량")["이름식"] - assert block["꼴"] == "블록" and block["열쇠"] == "GC001147" and block["값"] == D("81.000") + assert block["꼴"] == "블록" and block["열쇠"] == "GF000088" and block["값"] == D("39.293") sub = block["나무"] q = line(sub, "결과", "결과") - assert q["결과"]["기호"] == "Q" and q["값"] == D("81.000") - frac = q["이름식"] - assert frac["꼴"] == "분수" and frac["아래"]["열쇠"] == "cm" + assert q["결과"]["기호"] == "Q" and q["값"] == D("39.293") + frac = q["이름식"]["인자"][0] # 반올림(분수, 3) + assert frac["꼴"] == "분수" and frac["아래"]["열쇠"] == "Cm" assert [v["기호"] for v in vars_in(frac["위"])] == ["q", "K", "f", "E"] nums = [x.get("글") for x in vars_in(q["값식"])] or [] shown = json.dumps(q["값식"], default=str, ensure_ascii=False) - assert all(f'"글": "{n}"' in shown for n in ("3,600", "1", "0.9", "0.7", "0.75", "21")) + assert all(f'"글": "{n}"' in shown for n in ("3,600", "0.7", "0.9", "0.77", "0.45", "20")) assert nums == [] # 값 꼴엔 변수 없음 - item = line(eq, "굴착기(무한궤도)", "호표") + item = line(eq, "굴착기(무한궤도) 0.7㎥", "호표") price = item["이름식"]["좌"] assert price["꼴"] == "블록" and price["열쇠"] == "GC000267" assert set(price["묶음"]) == {"노무비", "재료비", "경비", "계"} assert item["이름식"]["우"]["꼴"] == "분수" # 1 / 작업량 cut = mcut.engine(whole(), EXCAVATOR, raw(EXCAVATOR)) assert eq["합계"] == {k: cut[k] for k in mf.BUNDLE} - assert eq["합계"]["계"] == D("641.0") + assert eq["합계"]["계"] == D("2190.0") def test_지게_N_M_42917(): diff --git a/resources/tester/test_796_2c_m02_equation_full.py b/resources/tester/test_796_2c_m02_equation_full.py index 0375c2a8d..3ba10cffa 100644 --- a/resources/tester/test_796_2c_m02_equation_full.py +++ b/resources/tester/test_796_2c_m02_equation_full.py @@ -23,7 +23,12 @@ from resources.tester.test_795_1_sk_copy import _calc, _doc, _imported_row, _sav from resources.tester.test_m02_labor_ref import world # noqa: F401 — 같은 임시 층 SUMS = ("노무비", "재료비", "경비", "계") -BASIC = {"종류": "로직", "로직": "GC001148", "수량": 2, "입력값": {}} # 굴착기 시간당 641 +BASIC = { + "종류": "로직", + "로직": "GF000089", + "수량": 2, + "입력값": {}, +} # 토사깍기(기계) — 굴착기 0.7㎥ 시간당 × 1 / 작업량(813-2 GC001148 지움 뒤) MAN = {"종류": "인력", "요소": "LB000002", "이름": "sub2임시 인부", "단위": "인", "수량": 1} FORM = "GC000211" # 합판거푸집 — 형틀목공 · 보통인부 · 중간 시공량 MINE = {"층": "personal", "주인": "7/42"} @@ -91,13 +96,13 @@ def test_A_added_removed_covered_total_equals_sk(made): assert cover["계"] == D("137895") # 품 0.5 × 단가 275,790 # 뺌 — 지운 줄 = 묶음 아님(식 줄 표지로만 · 아래 `out["뺌"]`) assert "labor:LB000002#0" not in rows and "보통인부" not in rows - # 더함 — 기초(굴착기 641 × 2) = 묶음 · 인력 = 직접 묶음 속 더한 줄 · 기초는 수식 나무 + # 더함 — 기초(토사깍기 2,190 × 2) = 묶음 · 인력 = 직접 묶음 속 더한 줄 · 기초는 수식 나무 basic = rows["add:#0"] man = next(x for r in eq["소계"]["줄"] for x in r.get("낱줄", []) if x["상태"] == "더함") assert basic["상태"] == man["상태"] == "더함" and basic["갈래"] == "블록" assert [r["갈래"] for r in eq["소계"]["줄"]] == ["블록", "직접"] assert basic["계"] > 0 and man["계"] > 0 - assert basic["나무"]["열쇠"] == "GC001148" and basic["나무"]["줄"] + assert basic["나무"]["열쇠"] == "GF000089" and basic["나무"]["줄"] # 나무 합계 × 수량 = 행(같은 입력) assert abs(basic["나무"]["합계"]["계"] * 2 - basic["계"]) <= 2 # 고친 칸 표지 — 수식 탭 줄(식 덮개 · 품 · 뺌) diff --git a/resources/tester/test_796_2e_unlink_basis.py b/resources/tester/test_796_2e_unlink_basis.py index bb6ce708d..f5271c07e 100644 --- a/resources/tester/test_796_2e_unlink_basis.py +++ b/resources/tester/test_796_2e_unlink_basis.py @@ -22,7 +22,7 @@ from resources.tester.test_795_1_sk_copy import _calc, _changed, _doc, _fake, _l from resources.tester.test_m02_labor_ref import world # noqa: F401 — 같은 임시 층 FORM = "GC000211" # 합판거푸집 -BASIC = "GC001148" # 굴착기 시간당 — 호표 0 = 시간당 기계 × (1 / 작업량) +BASIC = "GF000089" # 토사깍기(기계) · 굴착기 시간당 — 호표 0 = 시간당 기계 × (1 / 작업량) ADD = {"종류": "로직", "로직": BASIC, "수량": 2, "입력값": {}, "이름": "sub3임시 굴착기"} ONLY = "LB000048" # 굴착기 기초에만 닿는 노임(거푸집엔 안 닿음) DOUBLE = [{"할일": "식", "자리": "호표:0", "식": "3 / 작업량", "까닭": "sub3임시 시험"}] @@ -60,7 +60,7 @@ def test_unlink_keeps_amount_and_freezes_rows(made): assert price == was and _sum(me, doc) == was cut = doc["더한줄"][0]["끊음"] keys = {r["키"] for r in cut["로직"]} - assert BASIC in keys and "GC000267" in keys and "GC001147" in keys # 하위 로직까지 + assert BASIC in keys and "GC000267" in keys and "GF000088" in keys # 하위 로직까지 assert not any(k[:2] in skc.RES for k in keys) # 단가는 SK 사본 한 곳 assert _live().logic(BASIC) == row_before # M01 안 바뀜 with store.at(me): diff --git a/resources/tester/test_799_1_subtotals.py b/resources/tester/test_799_1_subtotals.py index 620694717..c6ab1e17b 100644 --- a/resources/tester/test_799_1_subtotals.py +++ b/resources/tester/test_799_1_subtotals.py @@ -48,15 +48,15 @@ def _closes(eq: dict) -> None: def test_굴착기_블록_한_줄_끝수(): - eq = _export("GC001148") + eq = _export("GF000089") rows = eq["소계"]["줄"] - assert [r["갈래"] for r in rows] == ["블록"] and rows[0]["이름"] == "굴착기(무한궤도)" + assert [r["갈래"] for r in rows] == ["블록"] and rows[0]["이름"] == "굴착기(무한궤도) 0.7㎥" assert (rows[0]["노무비"], rows[0]["재료비"], rows[0]["경비"]) == ( - D("437.1"), - D("88.2"), - D("116.0"), + D("901.2"), + D("665.0"), + D("624.8"), ) - assert eq["합계"]["계"] == D("641.0") and eq["소계"]["끝수"]["계"] == D("-0.3") + assert eq["합계"]["계"] == D("2190.0") and eq["소계"]["끝수"]["계"] == D("-1.0") _closes(eq) diff --git a/resources/tester/test_800_1_var_symbols.py b/resources/tester/test_800_1_var_symbols.py index c193e53f9..04646b351 100644 --- a/resources/tester/test_800_1_var_symbols.py +++ b/resources/tester/test_800_1_var_symbols.py @@ -117,7 +117,7 @@ def _words(tree, out: list) -> None: _words(v, out) -SAMPLE = ("GC000211", "GC001148", "GC001147", "GC001140", "GC001144", "GC000087", "GC000303") +SAMPLE = ("GC000211", "GF000089", "GC001147", "GC001140", "GC001144", "GC000087", "GC000303") def test_수식_내보내기_표본_한글_기호_0(): diff --git a/resources/tester/test_800_2_equation_layout.py b/resources/tester/test_800_2_equation_layout.py index c96badf8d..d92b9bf4b 100644 --- a/resources/tester/test_800_2_equation_layout.py +++ b/resources/tester/test_800_2_equation_layout.py @@ -105,7 +105,7 @@ def test_candidates(): def test_groups_add_up_to_total(): """800-4 — 묶음(블록 · 자원 · 덧줄) 소계 합 + 끝수 = 합계(비목마다) · 한 묶음 소계 = 노 + 재 + 경.""" - for key in ("GC001148", "GC000211"): + for key in ("GF000089", "GC000211"): eqn = eq.read(key, {})["수식"] sub, total = eqn["소계"], eqn["합계"] for k in ("노무비", "재료비", "경비"): diff --git a/resources/tester/test_801_3_groups.py b/resources/tester/test_801_3_groups.py index 16ece1cee..c21bde280 100644 --- a/resources/tester/test_801_3_groups.py +++ b/resources/tester/test_801_3_groups.py @@ -69,10 +69,10 @@ def test_거푸집_한_묶음_굴착기_한_묶음(): eq = _export("GC000211") assert [r["갈래"] for r in eq["소계"]["줄"]] == ["직접"] assert eq["소계"]["줄"][0]["이름"] == "인력 · 재료" - eq = _export("GC001148") + eq = _export("GF000089") rows = eq["소계"]["줄"] - assert [(r["갈래"], r["이름"]) for r in rows] == [("블록", "굴착기(무한궤도)")] - assert eq["합계"]["계"] == D("641.0") and eq["소계"]["끝수"]["계"] == D("-0.3") + assert [(r["갈래"], r["이름"]) for r in rows] == [("블록", "굴착기(무한궤도) 0.7㎥")] + assert eq["합계"]["계"] == D("2190.0") and eq["소계"]["끝수"]["계"] == D("-1.0") def test_M01_전수_묶음_합_끝수_합계_안쪽_말_0(): diff --git a/resources/tester/test_802_2_convert.py b/resources/tester/test_802_2_convert.py index 3b999d9d7..e4dd16c26 100644 --- a/resources/tester/test_802_2_convert.py +++ b/resources/tester/test_802_2_convert.py @@ -38,7 +38,7 @@ def test_로직_전수_기본_옵션_같음(result): files, _ = m01.loaded() count = sum(len(d.get("줄") or []) for d in files.values() if d.get("그룹") == "로직") info = result["요약"] - assert info["로직"] == count >= 1519 + assert info["로직"] == count >= 1513 # 813-2 지움 6 assert info["기본 같음"] == count and info["기본 다름"] == 0 assert info["변환 알림"] == 0 @@ -82,7 +82,7 @@ def test_다름_목록_까닭(result): def test_저장_같은_것만_다시_셈(result): saved = ml.load_all() assert set(saved) == result["저장"] - assert "GC000100" in saved and len(saved) == result["요약"]["저장"] >= 1519 + assert "GC000100" in saved and len(saved) == result["요약"]["저장"] >= 1513 base = next(x for x in result["대조"] if x["로직"] == "GC000100" and not x["옵션"]) assert ( base["같음"] diff --git a/resources/tester/test_802_4a_m02_doc.py b/resources/tester/test_802_4a_m02_doc.py index 1c86c5261..db29f9e22 100644 --- a/resources/tester/test_802_4a_m02_doc.py +++ b/resources/tester/test_802_4a_m02_doc.py @@ -29,7 +29,7 @@ from resources.tester.test_795_2_sc_copy import _calc as _sc_calc from resources.tester.test_m02_labor_ref import world # noqa: F401 — 같은 임시 층 FORM = "GC000211" # 합판거푸집(옵션 많음) -BASIC = "GC001148" # 굴착기 시간당 +BASIC = "GF000089" # 토사깍기(기계) — 굴착기 시간당 × 1 / 작업량(813-2 GC001148 지움 뒤) ADD = {"종류": "로직", "로직": BASIC, "수량": 2, "입력값": {}, "이름": "sub2임시 굴착기"} diff --git a/resources/tester/test_802_4b2_m02_screen.py b/resources/tester/test_802_4b2_m02_screen.py index 32be01347..7de07eff0 100644 --- a/resources/tester/test_802_4b2_m02_screen.py +++ b/resources/tester/test_802_4b2_m02_screen.py @@ -33,7 +33,7 @@ from resources.tester.test_m02_structure import write_sample_table ROOT = Path(__file__).resolve().parents[2] HERE = os.path.dirname(os.path.abspath(__file__)) FORM = "GC000211" # 합판거푸집 — 폼타이 · 측압 · 규격 옵션 -BASIC = "GC001148" # 굴착기 시간당 +BASIC = "GF000089" # 토사깍기(기계) — 굴착기 시간당 × 1 / 작업량(813-2 GC001148 지움 뒤) ADD = {"종류": "로직", "로직": BASIC, "수량": 2, "입력값": {}, "이름": "sub3임시 굴착기"} @@ -208,7 +208,7 @@ def test_꺼진줄_계산변수_거침(): assert got["새"] == [2] -def test_꺼진줄_전수_1518(): +def test_꺼진줄_전수_1513(): docs = dc.folder() links = dc.ml.Links(dc.skc.whole_(), docs) keys, cases, rows = [], [], [] @@ -218,7 +218,7 @@ def test_꺼진줄_전수_1518(): cases.append({"문서": doc, "값": ans.get("값") or {}}) rows.append(ans.get("줄") or []) got = _off(cases) - assert len(keys) >= 1518 + assert len(keys) >= 1513 # 813-2 지움 6 new = sum(len(g["새"]) for g in got) assert all(set(g["옛"]) <= set(g["새"]) for g in got) and new > sum(len(g["옛"]) for g in got) for key, g, r in zip(keys, got, rows): diff --git a/resources/tester/test_804_2_line_stack.py b/resources/tester/test_804_2_line_stack.py index 2ba1c41b6..405006245 100644 --- a/resources/tester/test_804_2_line_stack.py +++ b/resources/tester/test_804_2_line_stack.py @@ -69,9 +69,9 @@ def _num(v): return None if v is None else float(v) -def test_왕복_전수_1518(world): +def test_왕복_전수_1513(world): docs = world["docs"] - assert len(docs) >= 1518 + assert len(docs) >= 1513 # 813-2 지움 6 got = _ts("왕복", [{"문서": d} for d in docs.values()]) bad = {f: [k for k, g in zip(docs, got) if not g[f]] for f in ("같음", "금액", "기호", "차림")} assert bad == {"같음": [], "금액": [], "기호": [], "차림": []} diff --git a/resources/tester/test_804_7_line_stack_fix.py b/resources/tester/test_804_7_line_stack_fix.py index f43e0e478..787a92f8e 100644 --- a/resources/tester/test_804_7_line_stack_fix.py +++ b/resources/tester/test_804_7_line_stack_fix.py @@ -154,7 +154,7 @@ def test_머리_단추_다섯_저장_한_번() -> None: def test_요소키_기호_이름_0_전수() -> None: docs = doc_screen.docs() - assert len(docs) >= 1518 + assert len(docs) >= 1513 # 813-2 지움 6 bad = [ (k, v.get("기호"), v.get("아래")) for k, d in docs.items() diff --git a/resources/tester/test_812_3_native_layout.py b/resources/tester/test_812_3_native_layout.py index 41868858c..b27cea1e3 100644 --- a/resources/tester/test_812_3_native_layout.py +++ b/resources/tester/test_812_3_native_layout.py @@ -215,7 +215,7 @@ def test_sweep_money_same_and_ts_round_trip() -> None: # ── (c) M01 ────────────────────────────────────────────────────────────── def test_m01_docs_layout_unchanged() -> None: docs = dc.folder() - assert len(docs) >= 1518 + assert len(docs) >= 1513 # 813-2 지움 6 cases = [{"키": k, "문서": d, "파이썬": _items(d)} for k, d in docs.items()] got = _ts(cases) bad = {f: [g["키"] for g in got if not g[f]] for f in ("같음", "거울")} diff --git a/resources/tester/test_813_2_parts.py b/resources/tester/test_813_2_parts.py new file mode 100644 index 000000000..9bc8d93c1 --- /dev/null +++ b/resources/tester/test_813_2_parts.py @@ -0,0 +1,111 @@ +"""813-2 지킴 — 보조 문서 부품 표지 · 작업량당 기계경비 6 지움 · 목록에서 뺌 · 기계 → 부품. + +① 표지 = 보조 문서 83 − 지움 6 − 단가산출로 남김 4 = 73(기계경비식 9 · 작업량 틀 60 · 계수식 4) · 옛 로직 줄 = 수식 문서 +② 지움 6 = 수식 문서 · 옛 로직 · 키대장 「키」 에 없음 · 키대장 「폐기」 에 있음 · 부르는 곳 0 · 이름 꼬리 4 = 원문 제목 +③ 목록(M01 `/logics` · M02 `/logic-lib/logics`)에서 뺌 · 키로 열기 · 부르기는 그대로(끊긴 단가산출 연결 0) +④ 기계 → 부품 — 굴착기 = 기계경비식 GC000267(기계 9) + 작업량 틀 · 0.7㎥ 원문번호 → 틀 문서(규격 열쇠) +⑤ 변환기(옛 로직 → 수식 문서)가 표지 칸을 옮김 +금액 전후 = `test_791_1_engine_semantics.py` 지문(남은 1,513 같음) · `test_802_2_convert.py` 변환 대조. +""" + +from __future__ import annotations + +import importlib +import json +from collections import Counter + +from M01_MasterData import M01_MasterData_Doc as doc_store +from M01_MasterData import M01_MasterData_Parts as parts +from M01_MasterData import M01_MasterData_Router as m01_router +from M01_MasterData import M01_MasterData_Store as store +from M02_MasterTemplete import M02_Logic_Lib_Read as lib_read +from M02_MasterTemplete import M02_MasterTemplete_Router_Combos as combos + +cv = importlib.import_module("master_doc_convert") + +GONE = ["GC001145", "GC001148", "GC001151", "GC001156", "GC001159", "GC001166"] +NAMES = { + "GC001140": "지게운반", + "GC001141": "인력운반(기계설비)", + "GC001142": "벽돌운반", + "GC001184": "수중펌프 설치 및 해체", +} + + +def _rows() -> dict[str, dict]: + files = store.loaded()[0] + return { + str(r["키"]): r + for d in files.values() + if d.get("그룹") == "로직" + for r in d.get("줄") or [] + } + + +def test_표지_73_갈래별_수_로직_문서_같음(): + tags = parts.parts() + assert Counter(t["갈래"] for t in tags.values()) == { + "기계경비식": 9, + "작업량 틀": 60, + "계수식": 4, + } + rows = _rows() + assert all(rows[k].get("부품") == t for k, t in tags.items()) + assert {k for k, r in rows.items() if r.get("부품")} == set(tags) + tpl = {k: t for k, t in tags.items() if t["갈래"] == "작업량 틀"} + assert all(isinstance(t["기종"], list) for t in tpl.values()) + assert tpl["GF000088"] == {"갈래": "작업량 틀", "기종": ["굴착기"], "규격": "q"} + + +def test_지움_6_이름_4(): + docs = doc_store.docs() + rows = _rows() + led = json.loads((store.FOLDER / "_키대장.json").read_text(encoding="utf-8")) + for k in GONE: + assert k not in docs and k not in rows and k not in led["키"] and k in led["폐기"] + assert len(docs) == len(rows) == 1513 + for k, name in NAMES.items(): + assert docs[k]["이름"] == rows[k]["이름"] == name and "부품" not in docs[k] + + +def test_목록에서_뺌_키로_열림_부르기_그대로(): + tags = parts.parts() + m01 = {x["키"] for x in m01_router.get_logics()["logics"]} + m02 = {x["키"] for x in combos.get_logics()["logics"]} + assert not (m01 | m02) & set(tags) and len(m01) == len(m02) == 1513 - 73 + for k in ("GC000267", "GF000088", "GC001191"): + assert doc_store.read(k)["문서"]["부품"] == tags[k] + assert m01_router.get_logic(k)["logic"]["키"] == k + docs = doc_store.docs() + links = [ + str((v.get("연결") or {}).get("키")) + for d in docs.values() + for v in d.get("변수") or [] + if (v.get("연결") or {}).get("갈래") == "단가산출" + and "{" not in str((v.get("연결") or {}).get("키")) + ] + assert links and all(k in docs for k in links) # 끊긴 부름 0 · 지운 6 부르는 곳 0 + assert sum(1 for k in links if tags.get(k, {}).get("갈래") == "기계경비식") >= 600 + + +def test_기계_부품(): + got = m01_router.get_parts("기계", "굴착기") + rule = {x["키"]: x["기계수"] for x in got["기계경비식"]} + assert rule["GC000267"] == 9 + tpl = {x["키"] for x in got["작업량 틀"]} + assert {"GC001147", "GF000088"} <= tpl and len(tpl) == 15 + coef = m01_router.get_parts("계수식")["계수식"] + assert {x["키"] for x in coef} == {"GC001143", "GC001191", "GC001192", "GC001193"} + one = lib_read.get_machine_parts("0201-0070") + assert one["기계"] == {"이름": "굴착기(무한궤도)", "규격": "0.7㎥", "상세구분": "굴착기"} + by = {t["키"]: t for t in one["틀"]} + assert by["GC001147"]["규격"] == "버킷용량" and by["GF000088"]["문서"]["결과"] == "Q" + + +def test_변환기가_표지를_옮김(): + whole = store.loaded()[1] + rows = _rows() + doc, _ = cv.convert(whole, rows["GF000088"]) + assert doc["부품"] == rows["GF000088"]["부품"] + assert list(doc).index("부품") == list(doc).index("출처") + 1 + assert "부품" not in cv.convert(whole, rows["GF000089"])[0] From 0b91e3780613aa82758dccb5a60202585dc50f7d Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 9 Nov 2026 20:50:00 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat(813-2):=20M01=20=E3=80=8C=EA=B8=B0?= =?UTF-8?q?=EA=B3=84=E3=80=8D=20=C2=B7=20=E3=80=8C=EA=B3=84=EC=88=98?= =?UTF-8?q?=E3=80=8D=20=EC=95=84=EB=9E=98=20=EB=B6=80=ED=92=88=20=EB=AC=B8?= =?UTF-8?q?=EC=84=9C=20=C2=B7=20=EC=A4=84=20=EC=8C=93=EA=B8=B0=20[+]=20?= =?UTF-8?q?=EB=A9=94=EB=89=B4=20=E3=80=8C=EC=8B=9D=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - M01 기계 › 상세구분(기종) = 「시간당 기계경비 계산식」(그 기종 기계가 쓰는 방식 · 기계 수) · 「작업량 공식 틀」 · 계수 = 「계수식」 넷 - 이름 누름 = 줄 쌓기 읽기 창(고침 없음) · [단가산출 기초에서 열기] = 지금 수식 탭에서 고침(목록 밖 부품 키도 키로 읽어 엶) - 줄 쌓기 [+] 메뉴 「식 — 공식 틀」 → 「식」 - 할 일 4 ② 공식 묶음 [찾아 넣기] 걷기 · ③ 기계 넣기 + 작업량 틀 = 요구 739 · 740 로 뺌(지금 동작 그대로) Co-Authored-By: Claude Opus 5.5 --- A00_Common/line_stack_text.ts | 2 +- M01_MasterData/M01_MasterData_UI_LogicLab.ts | 8 +- M01_MasterData/M01_MasterData_UI_Page.ts | 4 + M01_MasterData/M01_MasterData_UI_Parts.ts | 105 +++++++++++++++++++ M01_MasterData/M01_MasterData_UI_Style.css | 18 ++++ 5 files changed, 135 insertions(+), 2 deletions(-) create mode 100644 M01_MasterData/M01_MasterData_UI_Parts.ts diff --git a/A00_Common/line_stack_text.ts b/A00_Common/line_stack_text.ts index ff8df78b7..7d712d363 100644 --- a/A00_Common/line_stack_text.ts +++ b/A00_Common/line_stack_text.ts @@ -14,7 +14,7 @@ const TEXT = { Add_Item: ["+ 그룹", "+ Group"], Add_Line: ["줄 더함", "Add line"], Add_율: ["율 — 그룹 소계의 %", "Rate — % of subtotal"], - Add_식: ["식 — 공식 틀", "Formula"], + Add_식: ["식", "Formula"], Del_Item: ["그룹 지움", "Delete group"], Del: ["지움", "Delete"], Item: ["그룹", "Group"], diff --git a/M01_MasterData/M01_MasterData_UI_LogicLab.ts b/M01_MasterData/M01_MasterData_UI_LogicLab.ts index 319f5f606..7f1f1d0d8 100644 --- a/M01_MasterData/M01_MasterData_UI_LogicLab.ts +++ b/M01_MasterData/M01_MasterData_UI_LogicLab.ts @@ -571,7 +571,13 @@ export async function mountM01LogicLab( showLoadingOverlay(); const openKeyOn = async (key: string): Promise => { if (!(await leave())) return; - const found = allLogics.find((x) => x.키 === key); + // 목록에 없는 부품 문서(813-2) = 키로 읽어 엶 + const found = + allLogics.find((x) => x.키 === key) ?? + (await fetchLogic(key).then( + (o) => o.logic as unknown as { 구분: string; 키: string }, + () => null, + )); if (found) await open(logicId(found.구분, found.키), found.구분, found.키); else showToast(tx("Load_Failed"), "error"); }; diff --git a/M01_MasterData/M01_MasterData_UI_Page.ts b/M01_MasterData/M01_MasterData_UI_Page.ts index 1e093674f..decbba1ce 100644 --- a/M01_MasterData/M01_MasterData_UI_Page.ts +++ b/M01_MasterData/M01_MasterData_UI_Page.ts @@ -48,6 +48,7 @@ import { } from "./M01_MasterData_UI_Side"; import { loadTable } from "./M01_MasterData_UI_Logic_Note"; import { tl } from "./M01_MasterData_UI_LogicLab_Text"; +import { renderParts } from "./M01_MasterData_UI_Parts"; import { renderTables } from "./M01_MasterData_UI_Tables"; import type { LogicHandle } from "./M01_MasterData_UI_LogicLab"; import "./M01_MasterData_UI_Style.css"; @@ -84,6 +85,7 @@ function buildPage(): HTMLElement { attrs: { hidden: "" }, }); const body = el("div", { className: "m01-master__body" }); + const partsHost = el("div"); // 기계 · 계수 표 아래 부품 문서(813-2) // 제목 줄 · 찾기 줄 = 「단가산출 로직」 화면과 같은 공용 조각 const headBar = buildHeadBar({ title, status: [summary], buttons: [drop, save] }); const head = el("div", { @@ -99,6 +101,7 @@ function buildPage(): HTMLElement { notice, el("p", { className: "m01-master__hint", text: L("M01_WideHint") }), body, + partsHost, ], }); @@ -173,6 +176,7 @@ function buildPage(): HTMLElement { : pick.group === "요율" ? renderRateRows(body, pick, query) : renderRows(body, pick, query); + renderParts(partsHost, pick, (key) => openLogicTab(key)); showNotice(isStale(pick.file.file, pick.file.version) ? [L("M01_FileStale")] : []); }; diff --git a/M01_MasterData/M01_MasterData_UI_Parts.ts b/M01_MasterData/M01_MasterData_UI_Parts.ts new file mode 100644 index 000000000..e6b864cc3 --- /dev/null +++ b/M01_MasterData/M01_MasterData_UI_Parts.ts @@ -0,0 +1,105 @@ +/* ============================================================================= + * M01_MasterData_UI_Parts.ts + * M01 「기계」 · 「계수」 표 아래 부품 문서(PLAN 813-2 · 요구 722-3 · 724~732) — 단가산출 기초 목록에서 뺀 보조 문서 자리 + * 기계 · 상세구분(기종) 고름 = 「시간당 기계경비 계산식」(그 기종 기계가 쓰는 방식 · 기계 수) · 「작업량 공식 틀」(그 기종 틀) + * 계수 = 「계수식」(기계 무관 · 돈 아닌 식 넷) + * 이름 누름 = 줄 쌓기 읽기 창(`createStackScreen` · 고침 없음) · [단가산출 기초에서 열기] = 지금 수식 탭 그대로 고침 + * 서버 = `GET /api/m01/parts?group&detail`(`M01_MasterData_Parts.of_kind`) + * ========================================================================== */ + +import { API_BASE_URL } from "@config/config_frontend"; +import { createButton } from "@ui/ui_template_button"; +import { el } from "@ui/ui_template_elements"; +import { openModal } from "@ui/ui_template_modal"; +import { currentLanguageIndex } from "@ui/ui_template_locale"; +import { createText } from "@ui/ui_template_text"; +import { createStackScreen } from "../A00_Common/line_stack_screen"; +import type { Pick } from "./M01_MasterData_UI_Side"; + +interface Part { + 키: string; + 이름: string; + 결과단위: string; + 기계수?: number; +} +type Parts = Partial>; + +const T = { + 기계경비식: ["시간당 기계경비 계산식", "Hourly machine cost formula"], + "작업량 틀": ["작업량 공식 틀", "Output formula templates"], + 계수식: ["계수식", "Coefficient formulas"], + Open: ["단가산출 기초에서 열기", "Open in unit price basis"], + Machines: ["기계", "machines"], + None: ["없음", "None"], + Close: ["닫기", "Close"], +} as const; +const tx = (k: keyof typeof T): string => T[k][currentLanguageIndex === 1 ? 1 : 0]; +const KINDS = ["기계경비식", "작업량 틀", "계수식"] as const; + +/** 표 아래 부품 칸 — 기계(상세구분 있음) · 계수만 · 그 밖 = 비움 */ +export function renderParts(host: HTMLElement, pick: Pick, openLogic: (key: string) => void): void { + host.replaceChildren(); + const group = pick.group === "계수" ? "계수식" : pick.group === "기계" ? "기계" : ""; + if (!group || (group === "기계" && !pick.detail)) return; + let stack: ReturnType | null = null; + /** 줄 쌓기 읽기 창 — 고침 없음 · [단가산출 기초에서 열기] = 수식 탭에서 고침 */ + const show = (p: Part): void => { + stack ??= createStackScreen({ base: "/m01/logic/doc", admin: false, cache: "m01_parts_view" }); + const view = stack; + openModal({ + title: `${p.키} · ${p.이름}`, + closeLabel: tx("Close"), + width: "1100px", + wide: true, + mount: (body, close, actions) => { + actions.append( + createButton({ + label: tx("Open"), + variant: "ghost", + size: 28, + onClick: () => { + close(); + openLogic(p.키); + }, + }), + ); + body.append(view.root); + view.draw(p.키, true); + }, + }); + }; + const q = new URLSearchParams({ group, detail: pick.detail ?? "" }); + const mine = (host.dataset.partsAsk = q.toString()); // 늦게 온 옛 답은 버림 + void fetch(`${API_BASE_URL}/m01/parts?${q}`, { credentials: "include" }) + .then((r): Promise | Parts => (r.ok ? (r.json() as Promise) : {})) + .catch((): Parts => ({})) + .then((got) => { + if (host.dataset.partsAsk !== mine) return; + const blocks = KINDS.filter((k) => k in got).map((k) => { + const list = got[k] ?? []; + const items = list.map((p) => { + const b = createButton({ + label: `${p.이름}${p.기계수 ? ` · ${tx("Machines")} ${p.기계수}` : ""}`, + variant: "ghost", + tone: "link", + size: 28, + onClick: () => show(p), + }); + b.dataset.part = p.키; + return b; + }); + return el("section", { + className: "m01-parts__block", + attrs: { "data-parts": k }, + children: [ + el("h3", { className: "m01-parts__title", text: tx(k) }), + items.length + ? el("div", { className: "m01-parts__list", children: items }) + : createText(tx("None")), + ], + }); + }); + if (blocks.length) + host.replaceChildren(el("div", { className: "m01-parts", children: blocks })); + }); +} diff --git a/M01_MasterData/M01_MasterData_UI_Style.css b/M01_MasterData/M01_MasterData_UI_Style.css index 277e16c7f..71f77c7ae 100644 --- a/M01_MasterData/M01_MasterData_UI_Style.css +++ b/M01_MasterData/M01_MasterData_UI_Style.css @@ -170,3 +170,21 @@ table.m01-master__grid { gap: var(--spacing-8); padding: var(--spacing-4) var(--spacing-8); } + +/* 부품 문서(813-2) — 기계 · 계수 표 아래 */ +.m01-parts { + display: flex; + flex-direction: column; + gap: var(--spacing-12); + margin-top: var(--spacing-16); +} +.m01-parts__title { + margin: 0 0 var(--spacing-4); + font-size: var(--text-body); + color: var(--color-text); +} +.m01-parts__list { + display: flex; + flex-wrap: wrap; + gap: var(--spacing-4); +}