From 6e7570eba64ce639374b64fe04f56b3ef70beb4e Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 7 Sep 2026 20:36:59 +0900 Subject: [PATCH] =?UTF-8?q?feat(B09):=20=EC=9E=90=EC=9B=90=20=EC=B6=95=20?= =?UTF-8?q?=EB=A7=A4=EC=B9=AD=20=E2=80=94=20=EA=B3=B5=EC=A2=85=20=EC=B6=95?= =?UTF-8?q?=EC=97=90=20=EC=9E=90=EC=9B=90=EC=9D=84=20=EB=B6=99=EC=97=AC=20?= =?UTF-8?q?=EB=B3=84=EB=8F=84=20=ED=8C=8C=EC=9D=BC=EB=A1=9C=20=EB=83=84=20?= =?UTF-8?q?(PLAN=208-6=C2=B79-3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 메인 창의 공종 축(`resources/data_work_item_master/`)은 **읽기만** 하고, 결과는 **내 소관 경로** `resources/data_cost_resource_axis/` 에 냄 — 메인이 품셈을 다시 돌리면 그 폴더가 덮이므로 안에 섞으면 사라짐. - ⚠ **`pum_form` 을 먼저 봄** — `productivity` = 1 ÷ 값 · `requirement` = 값 ÷ 기준수량. **뒤집으면 20배 틀림.** 형태를 모르는 표(`undetermined`)는 **값을 안 씀**, 한쪽으로 단정하지 않고 멈춤. 테스트가 뒤집힘을 자릿수로 잡음. - `coefficient`(19)·`reference`(94)는 공종이 아니므로 **일위대가 항목으로 안 세움**. - **규격이 없으면 매칭 성공으로 안 침** — 「굴착기」와 「굴착기 0.7㎥」는 단가가 다름. 이름이 여럿이면 규격 없이는 못 고르고 `unmatched` 로 감. - **못 맞춘 것은 빈칸이 아니라 목록** — 다만 표 머리글·소계·기호(`f`·`E`)·규격 구간 (`10∼12`·`50이상`)·절번호는 자원이 아니므로 먼저 걷어냄. 안 걸렀을 때 1,550건이던 목록이 **274건의 실제 공백**으로 줄어 쓸 수 있는 목록이 됨. 산출 — 매칭 **86행**(노무, 7직종: 보통인부 59·특별인부 19·조경공 4 등) · 못 맞춘 **274건**(상위: 치즐소모량·자재·굴착기(무한궤도) 등). ⚠ **노임 카탈로그만 있어 노무만 맞음** — 기계·자재 카탈로그가 아직 없어 그 계열은 전부 못 맞춘 목록으로 감. 사유 문구에 그 사실을 적어 「이름이 틀림」과 구분함. 자체검증 — 신규 12건 포함 `pytest tmp/tests/ -q` **97 passed** · ruff 통과 · 409줄. Co-Authored-By: Claude Opus 5 (1M context) --- B09_Estimation/B09_Estimation_ResourceAxis.py | 409 ++++ .../resource_axis_2026-01-01.json | 1059 +++++++++++ .../unmatched_2026-01-01.json | 1651 +++++++++++++++++ 3 files changed, 3119 insertions(+) create mode 100644 B09_Estimation/B09_Estimation_ResourceAxis.py create mode 100644 resources/data_cost_resource_axis/resource_axis_2026-01-01.json create mode 100644 resources/data_cost_resource_axis/unmatched_2026-01-01.json diff --git a/B09_Estimation/B09_Estimation_ResourceAxis.py b/B09_Estimation/B09_Estimation_ResourceAxis.py new file mode 100644 index 00000000..d121d20b --- /dev/null +++ b/B09_Estimation/B09_Estimation_ResourceAxis.py @@ -0,0 +1,409 @@ +"""B09 원가계산 — 자원 축 매칭 (PLAN 8-6 · 9-3). + +메인 창이 낸 **공종 축**(`resources/data_work_item_master/`)을 **읽기만** 하고, 그 위에 +**자원 축**(`resource_kind`·`resource_code`·`resource_spec`·`amount`·`amount_unit`)을 +붙여 **별도 파일**로 낸다. 원본은 고치지 않는다 — 메인이 품셈을 다시 돌리면 덮이므로 +그 안에 섞으면 사라진다. + +지켜야 할 것 + 1. **`pum_form` 을 먼저 본다.** `productivity`(생산량형) = **1 ÷ 값**, + `requirement`(소요량형) = **값 ÷ basis_quantity**. ⚠ **뒤집으면 20배 틀린다.** + 직종 이름부터 보면 「작업능력(㎥/hr)」 표의 비고란 「보통인부 1인/일」에 끌려 + 생산량형을 소요량형으로 읽는다(메인이 실제로 한 번 뒤집혔다가 잡은 자리). + 2. **`coefficient` · `reference` 는 공종이 아니다.** 일위대가 항목으로 세우지 않는다. + `undetermined` 는 **값을 쓰지 않는다.** + 3. **규격(`resource_spec`)이 없으면 매칭 성공으로 치지 않는다.** 「굴착기」와 + 「굴착기 0.7㎥」는 단가가 다르다 — 이름만 맞추면 조용히 틀린 단가가 붙는다. + 4. **못 맞춘 것은 빈칸이 아니라 `unmatched` 목록**으로 낸다. + 5. **자재는 할증 전 값**이다 (PLAN 8-7 ㉠). 할증은 자재총괄 한 곳뿐이다. +""" + +from __future__ import annotations + +import json +import os +import re +from dataclasses import dataclass, field +from decimal import Decimal, InvalidOperation +from typing import Any + +#: 자원 축을 붙일 수 있는 표 형태. 나머지는 값을 쓰지 않는다. +USABLE_FORMS = frozenset({"productivity", "requirement"}) +#: 공종이 아닌 표 — 일위대가 항목으로 세우지 않는다. +NON_WORK_ITEM_FORMS = frozenset({"coefficient", "reference"}) +#: 형태 판정이 안 된 표 — 값을 쓰지 않는다. +UNUSABLE_FORMS = frozenset({"undetermined"}) + +_MASTER_SUBPATH = ("resources", "data_work_item_master") +_CATALOG_SUBPATH = ("resources", "data_cost_input_value") + +#: 규격이 이름 안에 붙어 있는 흔한 모양 — 「굴착기(0.7㎥)」·「덤프트럭 15톤」. +_RE_SPEC = re.compile(r"[((]([^))]+)[))]|(\d+(?:\.\d+)?\s*(?:톤|ton|㎥|m3|㎡|㎜|mm|HP|kW))") +_RE_NUMBER = re.compile(r"^-?\d+(?:,\d{3})*(?:\.\d+)?$") + +#: 표 머리글·소계 행의 첫 칸에 흔히 오는 말. 자원이 아니므로 `unmatched` 로도 안 올린다. +#: 이것을 안 거르면 못 맞춘 목록이 머리글로 가득 차 **쓸 수 없는 목록**이 된다. +_NON_RESOURCE_WORDS = ( + "구분", + "합계", + "소계", + "계", + "단위", + "비고", + "규격", + "명칭", + "품명", + "종류", + "항목", + "적용", + "기준", + "산출", + "비율", + "할증", + "할인", + "직접노무비", + "재료비", + "경비", + "위치", + "면적", + "수량", + "공종", + "작업", + "내역", + "총계", + "인력", + "장비", + "기계", +) + + +class ResourceAxisError(ValueError): + """자원 축을 붙일 수 없는 경우. 조용히 넘기지 않는다.""" + + +def _project_root() -> str: + return os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +def _read_json(*parts: str) -> dict[str, Any]: + with open(os.path.join(_project_root(), *parts), encoding="utf-8") as handle: + return json.load(handle) + + +@dataclass(frozen=True) +class CatalogEntry: + """단가 카탈로그 한 줄 — 매칭 대상.""" + + code: str + name: str + kind: str + spec: str = "" + + +@dataclass +class ResourceCatalog: + """이름 → 코드. **같은 이름에 규격이 여럿이면 규격 없이는 못 고른다.**""" + + entries: list[CatalogEntry] = field(default_factory=list) + aliases: dict[str, str] = field(default_factory=dict) + + def by_name(self, name: str) -> list[CatalogEntry]: + cleaned = _normalize(name) + return [e for e in self.entries if _normalize(e.name) == cleaned] + + def resolve(self, name: str, spec: str) -> CatalogEntry | None: + """이름(+규격)으로 한 줄을 고른다. 못 고르면 None — 0 으로 안 때운다.""" + found = self.by_name(name) + if not found: + return None + if len(found) == 1: + return found[0] + # 이름이 여럿이면 규격이 있어야 고를 수 있다. + if not spec: + return None + narrowed = [e for e in found if _normalize(e.spec) == _normalize(spec)] + return narrowed[0] if len(narrowed) == 1 else None + + +#: 첫 칸이 자원 이름이 **아닌** 표가 많다 — 규격 구간표(「10∼12」), 기호표(「f」·「E」), +#: 치수표 등. 그런 셀을 못 맞춘 목록에 넣으면 목록이 못 쓰게 되므로 먼저 거른다. +_RE_RANGE_CELL = re.compile(r"^\d+(?:\.\d+)?\s*[∼~〜\-–]\s*\d+(?:\.\d+)?$") +_RE_HANGUL = re.compile(r"[가-힣]") + + +def is_non_resource_label(cell: str) -> bool: + """표 머리글·소계 행이거나, 애초에 자원 이름이 올 자리가 아닌 셀인가. + + 못 맞춘 목록에 이런 것이 섞이면 목록 자체가 못 쓰게 된다. 여기서 먼저 걷어낸다. + """ + text = _normalize(cell) + if not text: + return True + if text.startswith(("※", "<", "(", "-", "ㆍ", "·")): + return True + if _RE_RANGE_CELL.match(text): # 규격 구간표의 첫 칸 + return True + # 자원 이름은 숫자로 시작하지 않는다 — 「50이상」·「100m이하」·「2.집재」는 구간·절번호다. + if text[0].isdigit(): + return True + # 자원 이름은 한글 두 자 이상이다. 기호(`f`·`E`)·숫자·단위만 있는 칸은 자원이 아니다. + if len(_RE_HANGUL.findall(text)) < 2: + return True + return any(word in text for word in _NON_RESOURCE_WORDS) + + +def _normalize(text: str) -> str: + """표 셀의 공백·개행 흔들림을 지운다. 「경 암」·「연 암」 같은 것.""" + return re.sub(r"\s+", "", str(text or "")).strip() + + +def load_labor_catalog(file_name: str = "labor_const_2026-01-01.json") -> ResourceCatalog: + """노임 카탈로그 132직종 + `aliases`. 코드는 `occupation_code`.""" + payload = _read_json(*_CATALOG_SUBPATH, file_name) + variables = payload["variables"] + records = variables["labor_rate"]["records"] + entries = [ + CatalogEntry(code=str(r["occupation_code"]), name=r["occupation_name"], kind="labor") + for r in records + ] + return ResourceCatalog(entries=entries, aliases=dict(variables.get("aliases", {}))) + + +def load_work_item_master( + file_name: str = "work_item_master_2026-01-01.json", +) -> dict[str, Any]: + """메인 창 산출물 — **읽기 전용**.""" + return _read_json(*_MASTER_SUBPATH, file_name) + + +def split_name_and_spec(cell: str) -> tuple[str, str]: + """셀 문자열에서 이름과 규격을 가른다. + + 「유압식백호우 (무한궤도,0.7㎥)」 → (`유압식백호우`, `무한궤도,0.7㎥`) + 「덤프트럭 15톤」 → (`덤프트럭`, `15톤`) + """ + text = str(cell or "").strip() + match = _RE_SPEC.search(text) + if not match: + return text, "" + spec = (match.group(1) or match.group(2) or "").strip() + name = (text[: match.start()] + text[match.end() :]).strip(" ,()()") + return name, spec + + +def parse_amount(cell: str) -> Decimal | None: + """숫자 셀만 값으로 본다. 숫자가 아니면 None — 억지로 읽지 않는다.""" + text = _normalize(cell) + if not _RE_NUMBER.match(text): + return None + try: + return Decimal(text.replace(",", "")) + except InvalidOperation: # pragma: no cover - 정규식이 먼저 거른다 + return None + + +def convert_amount(raw: Decimal, *, pum_form: str, basis_quantity: Decimal | None) -> Decimal: + """표 형태에 맞춰 소요량으로 환산한다. + + ⚠ **여기가 20배 틀리는 자리다.** + - `productivity`(생산량형, 예 「㎥/1인/1일」) → **1 ÷ 값** + - `requirement`(소요량형, 예 「100㎥당 인부 x인」) → **값 ÷ basis_quantity** + """ + if pum_form == "productivity": + if raw == 0: + raise ResourceAxisError("생산량이 0 이라 소요량으로 뒤집을 수 없습니다") + return Decimal(1) / raw + if pum_form == "requirement": + divisor = basis_quantity if basis_quantity else Decimal(1) + if divisor == 0: + raise ResourceAxisError("기준 수량이 0 입니다") + return raw / divisor + raise ResourceAxisError(f"자원 축을 붙일 수 없는 표 형태입니다: {pum_form}") + + +@dataclass +class ResourceRow: + """자원 축 한 줄 — 공종(표) 하나에 붙는 자원 하나.""" + + work_item_code: str + pum_table_id: str + pum_form: str + resource_kind: str + resource_code: str + resource_name: str + resource_spec: str + amount: Decimal + amount_unit: str + raw_row_index: int + + def as_dict(self) -> dict[str, Any]: + return { + "work_item_code": self.work_item_code, + "pum_table_id": self.pum_table_id, + "pum_form": self.pum_form, + "resource_kind": self.resource_kind, + "resource_code": self.resource_code, + "resource_name": self.resource_name, + "resource_spec": self.resource_spec, + "amount": str(self.amount), + "amount_unit": self.amount_unit, + "raw_row_index": self.raw_row_index, + } + + +@dataclass +class UnmatchedRow: + """못 맞춘 것 — **빈칸으로 두지 않고 여기 모은다**.""" + + work_item_code: str + pum_table_id: str + cell: str + reason: str + + def as_dict(self) -> dict[str, Any]: + return { + "work_item_code": self.work_item_code, + "pum_table_id": self.pum_table_id, + "cell": self.cell, + "reason": self.reason, + } + + +@dataclass +class AxisResult: + rows: list[ResourceRow] = field(default_factory=list) + unmatched: list[UnmatchedRow] = field(default_factory=list) + skipped_forms: dict[str, int] = field(default_factory=dict) + + +def match_table( + node: dict[str, Any], + table: dict[str, Any], + catalog: ResourceCatalog, + result: AxisResult, +) -> None: + """표 하나에 자원 축을 붙인다. 값이 안 서면 `unmatched` 로 보낸다.""" + form = table.get("pum_form", "") + if form in NON_WORK_ITEM_FORMS or form in UNUSABLE_FORMS or form not in USABLE_FORMS: + result.skipped_forms[form] = result.skipped_forms.get(form, 0) + 1 + return + + basis = table.get("basis_quantity") + basis_quantity = None if basis is None else Decimal(str(basis)) + unit = table.get("basis_unit") or "" + + for index, row in enumerate(table.get("raw_row", [])): + cells = [str(c) for c in row] + if not cells: + continue + name_cell = cells[0] + if is_non_resource_label(name_cell): + continue + + # 숫자 셀이 없는 행은 자원 줄이 아니다(제목·설명 행) — 목록에 안 올린다. + amount_cell = next( + (parse_amount(c) for c in cells[1:] if parse_amount(c) is not None), None + ) + if amount_cell is None: + continue + + name, spec = split_name_and_spec(name_cell) + entry = catalog.resolve(name, spec) + if entry is None: + found = catalog.by_name(name) + if len(found) > 1: + reason = "규격이 없어 같은 이름 여럿 중 고를 수 없음" + else: + # 지금 가진 카탈로그는 노임뿐이다. 기계·자재는 카탈로그 자체가 없어 + # 못 맞추는 것이므로 사유를 갈라 적는다 — 「이름이 틀림」과 다르다. + reason = "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)" + result.unmatched.append( + UnmatchedRow(node["work_item_code"], table["pum_table_id"], name_cell, reason) + ) + continue + + try: + amount = convert_amount(amount_cell, pum_form=form, basis_quantity=basis_quantity) + except ResourceAxisError as error: + result.unmatched.append( + UnmatchedRow(node["work_item_code"], table["pum_table_id"], name_cell, str(error)) + ) + continue + + result.rows.append( + ResourceRow( + work_item_code=node["work_item_code"], + pum_table_id=table["pum_table_id"], + pum_form=form, + resource_kind=entry.kind, + resource_code=entry.code, + resource_name=entry.name, + resource_spec=entry.spec or spec, + amount=amount, + amount_unit=unit, + raw_row_index=index, + ) + ) + + +def build_resource_axis(master: dict[str, Any], catalog: ResourceCatalog) -> AxisResult: + """공종 축 전체를 훑어 자원 축을 만든다.""" + result = AxisResult() + for node in master.get("work_items", []): + for table in node.get("tables", []): + match_table(node, table, catalog, result) + return result + + +#: 자원 축 산출물이 나가는 자리 — **메인의 `data_work_item_master/` 안에 넣지 않는다.** +#: 메인이 품셈을 다시 돌리면 그 폴더가 덮이므로 섞으면 사라진다. +OUTPUT_SUBPATH = ("resources", "data_cost_resource_axis") + + +def write_resource_axis( + result: AxisResult, + master: dict[str, Any], + *, + output_dir: str | None = None, +) -> dict[str, str]: + """자원 축과 못 맞춘 목록을 파일로 낸다. 만든 파일 경로를 돌려준다.""" + directory = output_dir or os.path.join(_project_root(), *OUTPUT_SUBPATH) + os.makedirs(directory, exist_ok=True) + effective_date = master.get("effective_date", "") + + axis_path = os.path.join(directory, f"resource_axis_{effective_date}.json") + unmatched_path = os.path.join(directory, f"unmatched_{effective_date}.json") + + axis_payload = { + "schema_version": "1.0", + "dataset_id": "resource_axis_forest", + "effective_date": effective_date, + # 어느 공종 축 판에 붙인 것인지 — 세 쪽을 그대로 옮겨 적는다(PLAN 9-2). + "source_dataset_version": master.get("dataset_version", {}), + "policy": { + "axis": "resource_only", + "work_item_axis_owner": "B08", + "material_amounts_are_before_surcharge": True, + }, + "stats": { + "rows": len(result.rows), + "unmatched": len(result.unmatched), + "skipped_forms": result.skipped_forms, + }, + "rows": [r.as_dict() for r in result.rows], + } + unmatched_payload = { + "schema_version": "1.0", + "effective_date": effective_date, + "note": ( + "못 맞춘 자원 이름. 빈칸으로 두지 않고 여기 모은다. " + "기계·자재 카탈로그가 아직 없어 그 계열은 전부 여기로 온다." + ), + "rows": [u.as_dict() for u in result.unmatched], + } + + for path, payload in ((axis_path, axis_payload), (unmatched_path, unmatched_payload)): + with open(path, "w", encoding="utf-8", newline="\n") as handle: + json.dump(payload, handle, ensure_ascii=False, indent=2, sort_keys=True) + + return {"resource_axis": axis_path, "unmatched": unmatched_path} diff --git a/resources/data_cost_resource_axis/resource_axis_2026-01-01.json b/resources/data_cost_resource_axis/resource_axis_2026-01-01.json new file mode 100644 index 00000000..f6c2704f --- /dev/null +++ b/resources/data_cost_resource_axis/resource_axis_2026-01-01.json @@ -0,0 +1,1059 @@ +{ + "dataset_id": "resource_axis_forest", + "effective_date": "2026-01-01", + "policy": { + "axis": "resource_only", + "material_amounts_are_before_surcharge": true, + "work_item_axis_owner": "B08" + }, + "rows": [ + { + "amount": "0.42", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0089", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-04-04" + }, + { + "amount": "0.084", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0092", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-05-01-01" + }, + { + "amount": "0.012", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0092", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-01-01" + }, + { + "amount": "0.19", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0102", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-05-03-02" + }, + { + "amount": "0.06", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0102", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-03-02" + }, + { + "amount": "0.07", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0103", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-05-03-03" + }, + { + "amount": "0.02", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0103", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-03-03" + }, + { + "amount": "0.47", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0114", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-09" + }, + { + "amount": "0.43", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0116", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-05-11" + }, + { + "amount": "0.0099", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0130", + "raw_row_index": 0, + "resource_code": "1038", + "resource_kind": "labor", + "resource_name": "조경공", + "resource_spec": "", + "work_item_code": "FP-05-22-02" + }, + { + "amount": "0.0231", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0130", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-22-02" + }, + { + "amount": "0.011", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0131", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-22-03" + }, + { + "amount": "2", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0132", + "raw_row_index": 0, + "resource_code": "1038", + "resource_kind": "labor", + "resource_name": "조경공", + "resource_spec": "", + "work_item_code": "FP-05-22-04" + }, + { + "amount": "1", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0132", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-22-04" + }, + { + "amount": "0.0084", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0133", + "raw_row_index": 0, + "resource_code": "1038", + "resource_kind": "labor", + "resource_name": "조경공", + "resource_spec": "", + "work_item_code": "FP-05-23-02" + }, + { + "amount": "0.0196", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0133", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-23-02" + }, + { + "amount": "0.0033", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0134", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-23-03" + }, + { + "amount": "0.0004", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0135", + "raw_row_index": 9, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-24-01" + }, + { + "amount": "0.0004", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0136", + "raw_row_index": 9, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-24-02" + }, + { + "amount": "0.0007", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0139", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-25" + }, + { + "amount": "0.01", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0143", + "raw_row_index": 0, + "resource_code": "1038", + "resource_kind": "labor", + "resource_name": "조경공", + "resource_spec": "", + "work_item_code": "FP-05-27" + }, + { + "amount": "0.08", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0143", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-27" + }, + { + "amount": "0.19", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0144", + "raw_row_index": 0, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-05-28-01" + }, + { + "amount": "0.06", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0144", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-05-28-01" + }, + { + "amount": "3.00", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0163", + "raw_row_index": 0, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "체인톱 사용", + "work_item_code": "FP-06-05" + }, + { + "amount": "0.29", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0165", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-06-07-01" + }, + { + "amount": "0.09", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0165", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-06-07-01" + }, + { + "amount": "0.3", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0166", + "raw_row_index": 0, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-06-07-02" + }, + { + "amount": "0.8", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0166", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-06-07-02" + }, + { + "amount": "0.16", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0239", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-09-03-01" + }, + { + "amount": "0.041", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0243", + "raw_row_index": 4, + "resource_code": "1015", + "resource_kind": "labor", + "resource_name": "착암공", + "resource_spec": "", + "work_item_code": "FP-09-05-01" + }, + { + "amount": "0.103", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0243", + "raw_row_index": 5, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-09-05-01" + }, + { + "amount": "0.08", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0251", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-09-08-01" + }, + { + "amount": "0.8", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0259", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-09-12-02" + }, + { + "amount": "1.266", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0260", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-09-12-03" + }, + { + "amount": "0.8", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0267", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-09-13-07" + }, + { + "amount": "0.9", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0268", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-09-13-08" + }, + { + "amount": "1.0", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0269", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-09-13-09" + }, + { + "amount": "1.266", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0273", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-09-13-13" + }, + { + "amount": "1.566", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0274", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-09-13-14" + }, + { + "amount": "1.866", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0275", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-09-13-15" + }, + { + "amount": "1.899", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0276", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-09-13-16" + }, + { + "amount": "2.349", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0277", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-09-13-17" + }, + { + "amount": "2.799", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0278", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-09-13-18" + }, + { + "amount": "0.03", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0294", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-09-21" + }, + { + "amount": "0.03", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0294", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-09-21" + }, + { + "amount": "0.5", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0303", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-10-06-02" + }, + { + "amount": "0.35", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0305", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "인", + "work_item_code": "FP-10-07-01" + }, + { + "amount": "2.0", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0306", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "인", + "work_item_code": "FP-10-07-02" + }, + { + "amount": "6.0", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0306", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-10-07-02" + }, + { + "amount": "1.0", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0307", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "인", + "work_item_code": "FP-10-07-03" + }, + { + "amount": "3.0", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0307", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-10-07-03" + }, + { + "amount": "2.0", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0310", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-10-07-04" + }, + { + "amount": "0.22", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0336", + "raw_row_index": 6, + "resource_code": "1007", + "resource_kind": "labor", + "resource_name": "형틀목공", + "resource_spec": "", + "work_item_code": "FP-12-04" + }, + { + "amount": "0.12", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0336", + "raw_row_index": 7, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-12-04" + }, + { + "amount": "0.03", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0337", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-12-05" + }, + { + "amount": "1", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0339", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-12-07-01" + }, + { + "amount": "2", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0339", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-12-07-01" + }, + { + "amount": "2", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0340", + "raw_row_index": 0, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-12-07-02" + }, + { + "amount": "3", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0340", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-12-07-02" + }, + { + "amount": "0.0055", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0345", + "raw_row_index": 1, + "resource_code": "1039", + "resource_kind": "labor", + "resource_name": "배관공", + "resource_spec": "", + "work_item_code": "FP-12-10" + }, + { + "amount": "0.0055", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0345", + "raw_row_index": 2, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-12-10" + }, + { + "amount": "0.003", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0345", + "raw_row_index": 4, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-12-10" + }, + { + "amount": "0.13", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0345", + "raw_row_index": 7, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-12-10" + }, + { + "amount": "1.23", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0348", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-12-11-02" + }, + { + "amount": "0.05", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0363", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-12-17-02" + }, + { + "amount": "4.2", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0365", + "raw_row_index": 1, + "resource_code": "1008", + "resource_kind": "labor", + "resource_name": "철근공", + "resource_spec": "", + "work_item_code": "FP-12-18" + }, + { + "amount": "2.4", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0365", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-12-18" + }, + { + "amount": "0.04", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0368", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-12-21" + }, + { + "amount": "4.0", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0372", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-12-24-02" + }, + { + "amount": "1", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0374", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-12-26" + }, + { + "amount": "4.0", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0371", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-12-24-01" + }, + { + "amount": "2.2", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0387", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-12-34-03" + }, + { + "amount": "0.05", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0389", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-12-35" + }, + { + "amount": "0.5", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0397", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "인", + "work_item_code": "FP-13-02-01" + }, + { + "amount": "0.17", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0398", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-13-02-02" + }, + { + "amount": "1.04", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0419", + "raw_row_index": 2, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-13-06-01" + }, + { + "amount": "1.30", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0420", + "raw_row_index": 2, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-13-06-02" + }, + { + "amount": "1.86", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0421", + "raw_row_index": 2, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-13-06-03" + }, + { + "amount": "0.58", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0422", + "raw_row_index": 2, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-13-07-01" + }, + { + "amount": "1.01", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0423", + "raw_row_index": 2, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-13-07-02" + }, + { + "amount": "0.015", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0432", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-13-11-01" + }, + { + "amount": "0.005", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0434", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-13-11-02" + }, + { + "amount": "0.0381", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0438", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "work_item_code": "FP-13-12-02" + }, + { + "amount": "0.0099", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0438", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-13-12-02" + }, + { + "amount": "0.0027", + "amount_unit": "", + "pum_form": "requirement", + "pum_table_id": "F0445", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "work_item_code": "FP-13-15-01" + } + ], + "schema_version": "1.0", + "source_dataset_version": { + "dataset_id": "pum_forest", + "effective_date": "2026-01-01", + "file": "pum_forest_2026.json", + "sha256": "111208fd482dcfc3b8c8dd58004b153382fc46555d0d00985c19b45ebbc2e0dd" + }, + "stats": { + "rows": 86, + "skipped_forms": { + "coefficient": 19, + "reference": 94, + "undetermined": 83 + }, + "unmatched": 274 + } +} \ No newline at end of file diff --git a/resources/data_cost_resource_axis/unmatched_2026-01-01.json b/resources/data_cost_resource_axis/unmatched_2026-01-01.json new file mode 100644 index 00000000..06884b2a --- /dev/null +++ b/resources/data_cost_resource_axis/unmatched_2026-01-01.json @@ -0,0 +1,1651 @@ +{ + "effective_date": "2026-01-01", + "note": "못 맞춘 자원 이름. 빈칸으로 두지 않고 여기 모은다. 기계·자재 카탈로그가 아직 없어 그 계열은 전부 여기로 온다.", + "rows": [ + { + "cell": "보통휘발유 (주연료)", + "pum_table_id": "F0042", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-02-01-01" + }, + { + "cell": "체인오일 (일반오일)", + "pum_table_id": "F0042", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-02-01-01" + }, + { + "cell": "체인오일 (친환경오일)", + "pum_table_id": "F0042", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-02-01-01" + }, + { + "cell": "예취기(휘발유)", + "pum_table_id": "F0043", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-02-01-01" + }, + { + "cell": "천공기 (휘발유)", + "pum_table_id": "F0046", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-02-01-01" + }, + { + "cell": "농약 (Fluroxypyr -meptyl + Triclypyr-TEA 미탁제)", + "pum_table_id": "F0053", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-02-01-05" + }, + { + "cell": "농약 (글리포세이트)", + "pum_table_id": "F0055", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-02-01-05" + }, + { + "cell": "천공기날", + "pum_table_id": "F0056", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-02-01-06" + }, + { + "cell": "약재주입기", + "pum_table_id": "F0056", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-02-01-06" + }, + { + "cell": "방제복", + "pum_table_id": "F0056", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-02-01-06" + }, + { + "cell": "약제배낭", + "pum_table_id": "F0056", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-02-01-06" + }, + { + "cell": "모든 벌채산물 임내존치지역", + "pum_table_id": "F0079", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-03-05" + }, + { + "cell": "휴경지 등 정리", + "pum_table_id": "F0079", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-03-05" + }, + { + "cell": "관목지 등 정리", + "pum_table_id": "F0079", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-03-05" + }, + { + "cell": "산불 등 피해지 정리", + "pum_table_id": "F0079", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-03-05" + }, + { + "cell": "불량림 정리", + "pum_table_id": "F0079", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-03-05" + }, + { + "cell": "벌채부산물 임내존치지역", + "pum_table_id": "F0079", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-03-05" + }, + { + "cell": "벌채와 동시정리지역", + "pum_table_id": "F0079", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-03-05" + }, + { + "cell": "모든 벌채부산물 반출", + "pum_table_id": "F0079", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-03-05" + }, + { + "cell": "임내 정리", + "pum_table_id": "F0080", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-03-06" + }, + { + "cell": "o 노무비", + "pum_table_id": "F0475", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-04-01" + }, + { + "cell": "단목", + "pum_table_id": "F0083", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-04-01-01" + }, + { + "cell": "전간목", + "pum_table_id": "F0083", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-04-01-01" + }, + { + "cell": "전목", + "pum_table_id": "F0083", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-04-01-01" + }, + { + "cell": "o 노무비", + "pum_table_id": "F0476", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-04-02" + }, + { + "cell": "굴착기+부착용집게", + "pum_table_id": "F0087", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-04-02-02" + }, + { + "cell": "줄떼", + "pum_table_id": "F0096", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-01-04" + }, + { + "cell": "평떼", + "pum_table_id": "F0096", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-01-04" + }, + { + "cell": "지게", + "pum_table_id": "F0097", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-01-05" + }, + { + "cell": "리어카", + "pum_table_id": "F0097", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-01-05" + }, + { + "cell": "우마차", + "pum_table_id": "F0097", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-01-05" + }, + { + "cell": "소묘식재", + "pum_table_id": "F0099", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-03-01" + }, + { + "cell": "중묘식재", + "pum_table_id": "F0099", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-03-01" + }, + { + "cell": "대묘식재", + "pum_table_id": "F0099", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-03-01" + }, + { + "cell": "파종상 만들기", + "pum_table_id": "F0109", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-04" + }, + { + "cell": "파종상에 점파", + "pum_table_id": "F0109", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-04" + }, + { + "cell": "파종상 없이", + "pum_table_id": "F0109", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-04" + }, + { + "cell": "점 파", + "pum_table_id": "F0109", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-04" + }, + { + "cell": "움싹본수조절", + "pum_table_id": "F0112", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-07" + }, + { + "cell": "치수이식", + "pum_table_id": "F0112", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-07" + }, + { + "cell": "큰나무 식재", + "pum_table_id": "F0113", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-08" + }, + { + "cell": "줄떼심기", + "pum_table_id": "F0118", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-13" + }, + { + "cell": "띠떼심기", + "pum_table_id": "F0118", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-13" + }, + { + "cell": "절 취", + "pum_table_id": "F0121", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-16-01" + }, + { + "cell": "수평잡기 및 단정리", + "pum_table_id": "F0121", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-16-01" + }, + { + "cell": "잡석 및 뿌리 정리", + "pum_table_id": "F0121", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-16-01" + }, + { + "cell": "절·성토면 고르기", + "pum_table_id": "F0121", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-16-01" + }, + { + "cell": "표토절취", + "pum_table_id": "F0126", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-19-01" + }, + { + "cell": "채 취", + "pum_table_id": "F0129", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-21" + }, + { + "cell": "운 반", + "pum_table_id": "F0129", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-21" + }, + { + "cell": "붙이기", + "pum_table_id": "F0129", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-21" + }, + { + "cell": "트럭", + "pum_table_id": "F0132", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-22-04" + }, + { + "cell": "자재", + "pum_table_id": "F0135", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-01" + }, + { + "cell": "비 료", + "pum_table_id": "F0135", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-01" + }, + { + "cell": "피 복 제", + "pum_table_id": "F0135", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-01" + }, + { + "cell": "침식안정제", + "pum_table_id": "F0135", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-01" + }, + { + "cell": "색 소", + "pum_table_id": "F0135", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-01" + }, + { + "cell": "트 럭", + "pum_table_id": "F0135", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-01" + }, + { + "cell": "물 탱 크", + "pum_table_id": "F0135", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-01" + }, + { + "cell": "자재", + "pum_table_id": "F0136", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-02" + }, + { + "cell": "비 료", + "pum_table_id": "F0136", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-02" + }, + { + "cell": "피 복 제", + "pum_table_id": "F0136", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-02" + }, + { + "cell": "침식안정제", + "pum_table_id": "F0136", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-02" + }, + { + "cell": "색 소", + "pum_table_id": "F0136", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-02" + }, + { + "cell": "트 럭", + "pum_table_id": "F0136", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-02" + }, + { + "cell": "물 탱 크", + "pum_table_id": "F0136", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-24-02" + }, + { + "cell": "자재", + "pum_table_id": "F0139", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-25" + }, + { + "cell": "표시봉 설치", + "pum_table_id": "F0147", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-30" + }, + { + "cell": "지주목 설치", + "pum_table_id": "F0148", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-31" + }, + { + "cell": "대 절", + "pum_table_id": "F0149", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-32" + }, + { + "cell": "소묘, 중묘", + "pum_table_id": "F0150", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-33" + }, + { + "cell": "대 묘", + "pum_table_id": "F0150", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-33" + }, + { + "cell": "소 묘", + "pum_table_id": "F0151", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-34" + }, + { + "cell": "중 묘", + "pum_table_id": "F0151", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-34" + }, + { + "cell": "대 묘", + "pum_table_id": "F0151", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-34" + }, + { + "cell": "인공림(10년이하 조림지)", + "pum_table_id": "F0153", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-01" + }, + { + "cell": "인공림(10년초과 성림지)", + "pum_table_id": "F0153", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-01" + }, + { + "cell": "천연림", + "pum_table_id": "F0153", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-01" + }, + { + "cell": "묘목찾기", + "pum_table_id": "F0155", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-02-02" + }, + { + "cell": "줄 베 기", + "pum_table_id": "F0155", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-02-02" + }, + { + "cell": "묘목찾기", + "pum_table_id": "F0156", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-02-03" + }, + { + "cell": "모두베기", + "pum_table_id": "F0156", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-02-03" + }, + { + "cell": "조림 2년차", + "pum_table_id": "F0156", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-02-03" + }, + { + "cell": "조림 3년차 이상", + "pum_table_id": "F0156", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-02-03" + }, + { + "cell": "괭이, 도끼 등", + "pum_table_id": "F0157", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-03" + }, + { + "cell": "약제살포", + "pum_table_id": "F0159", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-04-02" + }, + { + "cell": "소금 처리", + "pum_table_id": "F0160", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-04-03" + }, + { + "cell": "덩굴 제거지점 표시", + "pum_table_id": "F0160", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-04-03" + }, + { + "cell": "뿌리 고살", + "pum_table_id": "F0161", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-04-04" + }, + { + "cell": "덩굴 제거지점 표시", + "pum_table_id": "F0161", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-06-04-04" + }, + { + "cell": "병해충방제", + "pum_table_id": "F0172", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-07-01-02" + }, + { + "cell": "병해충방제", + "pum_table_id": "F0172", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-07-01-02" + }, + { + "cell": "병해충방제", + "pum_table_id": "F0172", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-07-01-02" + }, + { + "cell": "병해충방제", + "pum_table_id": "F0172", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-07-01-02" + }, + { + "cell": "병해충방제", + "pum_table_id": "F0172", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-07-01-02" + }, + { + "cell": "집재량", + "pum_table_id": "F0176", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-07-04-02" + }, + { + "cell": "상향집재", + "pum_table_id": "F0182", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-07-08-01" + }, + { + "cell": "하향집재", + "pum_table_id": "F0182", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-07-08-01" + }, + { + "cell": "상향집재", + "pum_table_id": "F0183", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-07-08-02" + }, + { + "cell": "하향집재", + "pum_table_id": "F0183", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-07-08-02" + }, + { + "cell": "원목집재와 동시에 부산물 수집시", + "pum_table_id": "F0191", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-07-11" + }, + { + "cell": "생산목 검척", + "pum_table_id": "F0193", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-07-13" + }, + { + "cell": "롤트랩 설치", + "pum_table_id": "F0223", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-04" + }, + { + "cell": "롤트랩 제거", + "pum_table_id": "F0223", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-04" + }, + { + "cell": "트랩설치", + "pum_table_id": "F0224", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-05" + }, + { + "cell": "트랩통수거 및 교체", + "pum_table_id": "F0224", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-05" + }, + { + "cell": "트랩철거", + "pum_table_id": "F0224", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-05" + }, + { + "cell": "소형헬기 (160ha당)", + "pum_table_id": "F0225", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-01" + }, + { + "cell": "사전조사", + "pum_table_id": "F0225", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-01" + }, + { + "cell": "헬기장정리", + "pum_table_id": "F0225", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-01" + }, + { + "cell": "깃발설치", + "pum_table_id": "F0225", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-01" + }, + { + "cell": "양수기설치", + "pum_table_id": "F0225", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-01" + }, + { + "cell": "약제조제", + "pum_table_id": "F0225", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-01" + }, + { + "cell": "대형헬기 (400ha당)", + "pum_table_id": "F0225", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-01" + }, + { + "cell": "사전조사", + "pum_table_id": "F0225", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-01" + }, + { + "cell": "헬기장정리", + "pum_table_id": "F0225", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-01" + }, + { + "cell": "깃발설치", + "pum_table_id": "F0225", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-01" + }, + { + "cell": "양수기설치", + "pum_table_id": "F0225", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-01" + }, + { + "cell": "약제조제", + "pum_table_id": "F0225", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-01" + }, + { + "cell": "유인헬기", + "pum_table_id": "F0226", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-01" + }, + { + "cell": "무인헬기 (ha당)", + "pum_table_id": "F0228", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "이착륙장 정리(1개소/4ha)", + "pum_table_id": "F0228", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "취수 및 약제조제", + "pum_table_id": "F0228", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "약제살포", + "pum_table_id": "F0228", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "주유 및 약제충전 기체정비", + "pum_table_id": "F0228", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "비행준비", + "pum_table_id": "F0228", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "멀티콥터 (ha당)", + "pum_table_id": "F0229", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "이착륙장 정리(1개소/4ha)", + "pum_table_id": "F0229", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "취수 및 약제조제", + "pum_table_id": "F0229", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "약제살포", + "pum_table_id": "F0229", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "기체 및 약제충전 기체정비", + "pum_table_id": "F0229", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "비행준비", + "pum_table_id": "F0229", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "차량살포 (동력분무기)", + "pum_table_id": "F0230", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-03" + }, + { + "cell": "사전조사", + "pum_table_id": "F0230", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-03" + }, + { + "cell": "운전", + "pum_table_id": "F0230", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-03" + }, + { + "cell": "물주입, 살포", + "pum_table_id": "F0230", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-03" + }, + { + "cell": "방제실행 등록", + "pum_table_id": "F0232", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-07" + }, + { + "cell": "잔가지 줍기", + "pum_table_id": "F0235", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-09" + }, + { + "cell": "벌목조재", + "pum_table_id": "F0236", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-10" + }, + { + "cell": "벌목조재", + "pum_table_id": "F0236", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-10" + }, + { + "cell": "대형브레이커+ 유압식백호우 (무한궤도,0.7㎥)", + "pum_table_id": "F0241", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-04-01" + }, + { + "cell": "보통암", + "pum_table_id": "F0241", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-04-01" + }, + { + "cell": "경 암", + "pum_table_id": "F0241", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-04-01" + }, + { + "cell": "자재", + "pum_table_id": "F0243", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-05-01" + }, + { + "cell": "뇌 관", + "pum_table_id": "F0243", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-05-01" + }, + { + "cell": "비 트", + "pum_table_id": "F0243", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-05-01" + }, + { + "cell": "공기압축기", + "pum_table_id": "F0243", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-05-01" + }, + { + "cell": "연 암", + "pum_table_id": "F0244", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-05-02" + }, + { + "cell": "보통암", + "pum_table_id": "F0244", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-05-02" + }, + { + "cell": "경 암", + "pum_table_id": "F0244", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-05-02" + }, + { + "cell": "대형브레이커+유압식백호우 (무한궤도,0.7㎥)", + "pum_table_id": "F0246", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-06-01" + }, + { + "cell": "자재", + "pum_table_id": "F0251", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-08-01" + }, + { + "cell": "산소", + "pum_table_id": "F0251", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-08-01" + }, + { + "cell": "메쌓기", + "pum_table_id": "F0253", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-09" + }, + { + "cell": "뒷길이60㎝이상", + "pum_table_id": "F0253", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-09" + }, + { + "cell": "찰쌓기", + "pum_table_id": "F0253", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-09" + }, + { + "cell": "아스팔트", + "pum_table_id": "F0255", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-10-02" + }, + { + "cell": "치즐소모(본/hr)", + "pum_table_id": "F0259", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-12-02" + }, + { + "cell": "유압식백호우 (무한궤도,0.7㎥)", + "pum_table_id": "F0259", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-12-02" + }, + { + "cell": "치즐소모량(본/hr)", + "pum_table_id": "F0260", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-12-03" + }, + { + "cell": "유압식백호우 (무한궤도,0.7㎥)", + "pum_table_id": "F0260", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-12-03" + }, + { + "cell": "치즐소모량(본/hr)", + "pum_table_id": "F0267", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-07" + }, + { + "cell": "들어 내기", + "pum_table_id": "F0267", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-07" + }, + { + "cell": "치즐소모량(본/hr)", + "pum_table_id": "F0268", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-08" + }, + { + "cell": "치즐소모량(본/hr)", + "pum_table_id": "F0269", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-09" + }, + { + "cell": "치즐소모량(본/hr)", + "pum_table_id": "F0270", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-10" + }, + { + "cell": "들어 내기", + "pum_table_id": "F0270", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-10" + }, + { + "cell": "치즐소모량(본/hr)", + "pum_table_id": "F0271", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-11" + }, + { + "cell": "치즐소모량(본/hr)", + "pum_table_id": "F0272", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-12" + }, + { + "cell": "치즐소모량(본/hr)", + "pum_table_id": "F0273", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-13" + }, + { + "cell": "들어 내기", + "pum_table_id": "F0273", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-13" + }, + { + "cell": "치즐소모량(본/hr)", + "pum_table_id": "F0274", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-14" + }, + { + "cell": "치즐소모량(본/hr)", + "pum_table_id": "F0275", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-15" + }, + { + "cell": "치즐소모량(본/hr)", + "pum_table_id": "F0276", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-16" + }, + { + "cell": "들어 내기", + "pum_table_id": "F0276", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-16" + }, + { + "cell": "치즐소모량(본/hr)", + "pum_table_id": "F0277", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-17" + }, + { + "cell": "치즐소모량(본/hr)", + "pum_table_id": "F0278", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-13-18" + }, + { + "cell": "모래ㆍ사질토ㆍ점토ㆍ점질토", + "pum_table_id": "F0288", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-19-01" + }, + { + "cell": "연질토ㆍ불순자갈", + "pum_table_id": "F0288", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-19-01" + }, + { + "cell": "호박돌 섞인 고결토ㆍ경질토", + "pum_table_id": "F0288", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-19-01" + }, + { + "cell": "풍화암", + "pum_table_id": "F0288", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-19-01" + }, + { + "cell": "연암", + "pum_table_id": "F0288", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-19-01" + }, + { + "cell": "보통암ㆍ경암", + "pum_table_id": "F0288", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-19-01" + }, + { + "cell": "소형브레이커", + "pum_table_id": "F0291", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-19-03" + }, + { + "cell": "어어호스(3/4인치)", + "pum_table_id": "F0291", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-19-03" + }, + { + "cell": "굴착기 (무한궤도)", + "pum_table_id": "F0294", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-21" + }, + { + "cell": "굴착기(무한궤도,0.7㎥)", + "pum_table_id": "F0294", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-09-21" + }, + { + "cell": "콘크리트", + "pum_table_id": "F0313", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-10-08-01" + }, + { + "cell": "제 자재", + "pum_table_id": "F0313", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-10-08-01" + }, + { + "cell": "버켓 손료", + "pum_table_id": "F0317", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-10-10-01" + }, + { + "cell": "와이어 손료", + "pum_table_id": "F0318", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-10-10-02" + }, + { + "cell": "무근구조물", + "pum_table_id": "F0329", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-01-01" + }, + { + "cell": "철근구조물", + "pum_table_id": "F0329", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-01-01" + }, + { + "cell": "소형구조물", + "pum_table_id": "F0329", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-01-01" + }, + { + "cell": "무근구조물", + "pum_table_id": "F0330", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-01-02" + }, + { + "cell": "철근구조물", + "pum_table_id": "F0330", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-01-02" + }, + { + "cell": "소형구조물", + "pum_table_id": "F0330", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-01-02" + }, + { + "cell": "무근구조물", + "pum_table_id": "F0331", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-01-03" + }, + { + "cell": "철근구조물", + "pum_table_id": "F0331", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-01-03" + }, + { + "cell": "소형구조물", + "pum_table_id": "F0331", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-01-03" + }, + { + "cell": "간 단", + "pum_table_id": "F0335", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-03" + }, + { + "cell": "보 통", + "pum_table_id": "F0335", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-03" + }, + { + "cell": "복 잡", + "pum_table_id": "F0335", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-03" + }, + { + "cell": "매우복잡", + "pum_table_id": "F0335", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-03" + }, + { + "cell": "합 판", + "pum_table_id": "F0336", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-04" + }, + { + "cell": "각 재", + "pum_table_id": "F0336", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-04" + }, + { + "cell": "철 선", + "pum_table_id": "F0336", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-04" + }, + { + "cell": "박 리 제", + "pum_table_id": "F0336", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-04" + }, + { + "cell": "문양 스티로폴(자재비 포함)", + "pum_table_id": "F0337", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-05" + }, + { + "cell": "설치 및 해체", + "pum_table_id": "F0337", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-05" + }, + { + "cell": "형틀목공 보통인부", + "pum_table_id": "F0341", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-08" + }, + { + "cell": "유공관 설치", + "pum_table_id": "F0345", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-10" + }, + { + "cell": "소운반 인부", + "pum_table_id": "F0345", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-10" + }, + { + "cell": "흄 관", + "pum_table_id": "F0347", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-11-02" + }, + { + "cell": "절단기", + "pum_table_id": "F0348", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-11-02" + }, + { + "cell": "다짐:봉상후렉시블(45mm)", + "pum_table_id": "F0350", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-12" + }, + { + "cell": "다짐:봉상후렉시블(45mm)", + "pum_table_id": "F0351", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-13" + }, + { + "cell": "다짐:봉상후렉시블(45mm)", + "pum_table_id": "F0353", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-15" + }, + { + "cell": "설치비", + "pum_table_id": "F0353", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-15" + }, + { + "cell": "봉상후렉시블(45mm)", + "pum_table_id": "F0354", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-16" + }, + { + "cell": "설치비", + "pum_table_id": "F0354", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-16" + }, + { + "cell": "구체콘크리트 (철근)", + "pum_table_id": "F0363", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-17-02" + }, + { + "cell": "타설", + "pum_table_id": "F0363", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-17-02" + }, + { + "cell": "펌프카(80㎥/hr)", + "pum_table_id": "F0363", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-17-02" + }, + { + "cell": "콘크리트다짐", + "pum_table_id": "F0363", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-17-02" + }, + { + "cell": "결속선(R=0.9mm)", + "pum_table_id": "F0365", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-18" + }, + { + "cell": "기구손료(노무비의)", + "pum_table_id": "F0365", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-18" + }, + { + "cell": "자재", + "pum_table_id": "F0368", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-21" + }, + { + "cell": "자재", + "pum_table_id": "F0370", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-23" + }, + { + "cell": "적사", + "pum_table_id": "F0373", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-25" + }, + { + "cell": "부설 및 다짐", + "pum_table_id": "F0373", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-25" + }, + { + "cell": "운반 및 설치 (목도운반)", + "pum_table_id": "F0374", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-26" + }, + { + "cell": "자재", + "pum_table_id": "F0376", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-27-02" + }, + { + "cell": "접착제", + "pum_table_id": "F0376", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-27-02" + }, + { + "cell": "재료", + "pum_table_id": "F0384", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-33" + }, + { + "cell": "자재", + "pum_table_id": "F0387", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-34-03" + }, + { + "cell": "고철대(감)", + "pum_table_id": "F0387", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-34-03" + }, + { + "cell": "설치", + "pum_table_id": "F0389", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-12-35" + }, + { + "cell": "굴착기", + "pum_table_id": "F0399", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-02-03" + }, + { + "cell": "집게 장치", + "pum_table_id": "F0399", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-02-03" + }, + { + "cell": "인 부", + "pum_table_id": "F0401", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-02-04" + }, + { + "cell": "증가율(%)", + "pum_table_id": "F0405", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-03" + }, + { + "cell": "두 께 3㎝", + "pum_table_id": "F0402", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-03-01" + }, + { + "cell": "두 께 6㎝", + "pum_table_id": "F0402", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-03-01" + }, + { + "cell": "자갈 기초다짐 지름 1~3㎝", + "pum_table_id": "F0402", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-03-01" + }, + { + "cell": "기초다짐 뒷채움", + "pum_table_id": "F0403", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-03-02" + }, + { + "cell": "굴 삭 기 (무한궤도)", + "pum_table_id": "F0419", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-06-01" + }, + { + "cell": "굴착기 (무한궤도)", + "pum_table_id": "F0420", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-06-02" + }, + { + "cell": "굴착기 (무한궤도)", + "pum_table_id": "F0421", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-06-03" + }, + { + "cell": "굴착기 (무한궤도)", + "pum_table_id": "F0422", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-07-01" + }, + { + "cell": "굴 삭 기 (무한궤도)", + "pum_table_id": "F0423", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-07-02" + }, + { + "cell": "직경 15㎝ 길이 4m", + "pum_table_id": "F0426", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-10-01" + }, + { + "cell": "조약돌량(㎥)", + "pum_table_id": "F0431", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-11-01" + }, + { + "cell": "돌 채 움", + "pum_table_id": "F0431", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-11-01" + }, + { + "cell": "조립 설치", + "pum_table_id": "F0432", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-11-01" + }, + { + "cell": "돌채움", + "pum_table_id": "F0432", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-11-01" + }, + { + "cell": "굴착기(1.0㎥)", + "pum_table_id": "F0432", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-11-01" + }, + { + "cell": "조약돌량(㎥)", + "pum_table_id": "F0433", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-11-02" + }, + { + "cell": "돌 채 움", + "pum_table_id": "F0433", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-11-02" + }, + { + "cell": "조립 설치", + "pum_table_id": "F0434", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-11-02" + }, + { + "cell": "돌채움", + "pum_table_id": "F0434", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-11-02" + }, + { + "cell": "굴착기 (1.0㎥)", + "pum_table_id": "F0434", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-11-02" + }, + { + "cell": "절 취(㎥)", + "pum_table_id": "F0437", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-12-01" + }, + { + "cell": "투 입(㎥)", + "pum_table_id": "F0437", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-12-01" + }, + { + "cell": "보통구조", + "pum_table_id": "F0440", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-13-01" + }, + { + "cell": "중등구조", + "pum_table_id": "F0440", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-13-01" + }, + { + "cell": "상등구조", + "pum_table_id": "F0440", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-13-01" + }, + { + "cell": "간 단 구 조", + "pum_table_id": "F0443", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-13-02" + }, + { + "cell": "보 통 구 조", + "pum_table_id": "F0443", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-13-02" + }, + { + "cell": "단 끊 기", + "pum_table_id": "F0444", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-14" + }, + { + "cell": "흙채우기(마대채우기)", + "pum_table_id": "F0444", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-14" + }, + { + "cell": "마대쌓기", + "pum_table_id": "F0444", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-14" + }, + { + "cell": "어려운 조건", + "pum_table_id": "F0447", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-15-02" + }, + { + "cell": "쉬운 조건", + "pum_table_id": "F0447", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-15-02" + } + ], + "schema_version": "1.0" +} \ No newline at end of file