From 2ad66dce5d3a3c943467c1bb2b5c9040e90ee41f Mon Sep 17 00:00:00 2001 From: umsangdon Date: Tue, 8 Sep 2026 00:53:58 +0900 Subject: [PATCH] =?UTF-8?q?feat(B09):=20=EC=97=B4=EC=9D=B4=20=EC=9E=90?= =?UTF-8?q?=EC=9B=90=EC=9D=B8=20=ED=91=9C(=EC=A0=84=EC=B9=98=ED=98=95)=20?= =?UTF-8?q?=EC=9D=BD=EA=B8=B0=20+=20=EC=98=A4=EB=8F=85=203=EC=A2=85=20?= =?UTF-8?q?=EC=B0=A8=EB=8B=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 품셈에는 자원이 행이 아니라 **열 머리**에 오는 표가 39건 있음 (「구 분 | 콘크리트공(인) | 보통인부(인)」, 행은 무근·철근·소형구조물). 행-자원으로 읽어 콘크리트 타설(12-1)이 하나도 안 서고 있었음 - 갈래(variant)마다 따로 세움 — 품이 달라 뭉치면 어느 것도 안 맞음. 코드는 `B-FP-12-01-01#무근구조물`, 이름에 갈래를 적어 사람이 고를 수 있음 - 레디믹스트콘크리트 타설: 무근 58,635.0 / 철근 65,826.4 / 소형 117,270.0 원 읽다가 잡은 오독 3종 — 전부 **고쳐 읽지 않고 버림** (자리를 단정할 수 없음) - 병합 셀로 한 칸 밀린 행: 목재틀흙막이가 등급 글자를 건축목공 자리에 두어 단가 503만원으로 섰음 - 좌우 두 판이 붙은 표: 소운반에서 거리값 60 이 「보통인부 60인」으로 읽혀 1,553만원이 섰음. 열 머리가 되풀이되면 표째 버림 - 같은 갈래 이름 중복: 목재틀흙막이 「상」이 8.760 + 13.767 로 합산돼 667만원이 섰음. 그 줄들을 버림 - 갈래 이름에 자원용 머리글 필터를 쓰던 것도 고침 — 「중」·「상」 등급이 통째로 지워지고 있었음. 합계 줄만 걸러 냄 기준 단위 미상 드러내기 (막지 않음 — 막으면 125 중 122 가 멈춤) - `unknown_basis` 122건, 그중 100만원 넘는 10건을 목록으로 냄 (떼채취 평떼 1,032,408원 등 — 「100매당」류 묶음 기준 의심) - 내역서 줄 비고에도 「기준 단위가 표에 없습니다 — 수량 단위와 같다고 보고 곱했습니다」를 적음. 반영률 문구를 덮지 않고 이어 붙임 700줄 제한으로 전치형 처리를 `_Transposed.py` 로 분리 (647 + 138줄) 검증: pytest 163 통과(신규 5). 자원 축 198줄·갈래 54, 일위대가 85 → 125, 분포 최소 233.4 · 중앙 72,268.5 · 최대 5,030,954.6 Co-Authored-By: Claude Opus 5 (1M context) --- .../B09_Estimation_BillOfQuantities.py | 15 + B09_Estimation/B09_Estimation_ResourceAxis.py | 13 + .../B09_Estimation_ResourceAxis_Transposed.py | 180 +++ B09_Estimation/B09_Estimation_UnitPrice.py | 44 +- .../resource_axis_2026-01-01.json | 1048 ++++++++++++++++- .../unmatched_2026-01-01.json | 258 +--- 6 files changed, 1351 insertions(+), 207 deletions(-) create mode 100644 B09_Estimation/B09_Estimation_ResourceAxis_Transposed.py diff --git a/B09_Estimation/B09_Estimation_BillOfQuantities.py b/B09_Estimation/B09_Estimation_BillOfQuantities.py index b52bce61..5a4c0df4 100644 --- a/B09_Estimation/B09_Estimation_BillOfQuantities.py +++ b/B09_Estimation/B09_Estimation_BillOfQuantities.py @@ -423,6 +423,21 @@ def _leaf_row( ) return row + title = unit_prices.book.title(price_code) + if not title.unit: + # ⚠ 품셈 표가 기준 단위를 안 준 단가다 — 「10㎡당」 같은 묶음 기준일 수 있다. + # 값을 막지는 않되(막으면 대부분이 멈춘다) **모르는 채 곱했다는 사실을 적는다**. + # 비고를 **덮지 않고 잇는다** — 반영률 문구가 먼저 적혀 있을 수 있다. + row.note = " / ".join( + part + for part in ( + row.note, + f"단가의 기준 단위가 표에 없습니다 — B08 수량 단위({row.unit})와 같다고 " + "보고 곱했습니다. 확인 필요.", + ) + if part + ) + unit_money = unit_prices.book.resolve(price_code) line = unit_money.scaled(item.quantity) row.unit_price_krw = round_at(unit_money.total, OutputPlace.UNIT_PRICE_ROW) diff --git a/B09_Estimation/B09_Estimation_ResourceAxis.py b/B09_Estimation/B09_Estimation_ResourceAxis.py index f48679dd..7234e50d 100644 --- a/B09_Estimation/B09_Estimation_ResourceAxis.py +++ b/B09_Estimation/B09_Estimation_ResourceAxis.py @@ -366,6 +366,9 @@ class ResourceRow: amount: Decimal amount_unit: str raw_row_index: int + #: 규격 갈래 — 열이 자원인 표에서 행 이름(「무근구조물」). 없으면 빈 문자열. + #: **갈래마다 품이 다르므로 한 일위대가로 뭉치지 않는다.** + variant: str = "" #: 분류 딱지가 달고 온 배분율 — 「인력(10%)」이면 `10`. 없으면 `None`. #: ⚠ **이 값을 안 보면 단가가 조용히 틀린다** — 인력 몫 원단위를 전량에 곱하게 된다 #: (2026-09-08 실측: 측구터파기 39,575.6원/㎥ 이 인력 10 % 몫만이었다). @@ -383,6 +386,7 @@ class ResourceRow: "amount": str(self.amount), "amount_unit": self.amount_unit, "raw_row_index": self.raw_row_index, + "variant": self.variant, "group_ratio_pct": None if self.group_ratio_pct is None else str(self.group_ratio_pct), } @@ -456,6 +460,15 @@ def match_table( basis_quantity = None if basis is None else Decimal(str(basis)) unit = table.get("basis_unit") or "" + # ⚠ **자원이 열 머리에 오는 표가 따로 있다** (2026-09-08 발견, 39 표). + # 「구 분 | 콘크리트공(인) | 보통인부(인)」처럼 **열이 자원**이고 행은 규격 갈래 + # (무근·철근·소형구조물)다. 행을 자원으로 읽는 길로 보내면 통째로 못 맞춘다 — + # 콘크리트 타설(12-1)이 그래서 하나도 안 서고 있었다. + from B09_Estimation.B09_Estimation_ResourceAxis_Transposed import match_transposed_table + + if match_transposed_table(node, table, catalog, result, basis_quantity, unit): + return + for index, row in enumerate(table.get("raw_row", [])): cells = [str(c) for c in row] if not cells: diff --git a/B09_Estimation/B09_Estimation_ResourceAxis_Transposed.py b/B09_Estimation/B09_Estimation_ResourceAxis_Transposed.py new file mode 100644 index 00000000..5fbccb26 --- /dev/null +++ b/B09_Estimation/B09_Estimation_ResourceAxis_Transposed.py @@ -0,0 +1,180 @@ +"""B09 원가계산 — **열이 자원인 표** 읽기 (자원 축 보조, 2026-09-08). + +품셈 표에는 자원이 **행**이 아니라 **열 머리**에 오는 모양이 따로 있다 (39 표). + + 구 분 | 콘크리트공(인) | 보통인부(인) + 무근구조물 | 0.12 | 0.15 + 철근구조물 | 0.14 | 0.16 + +행은 **규격 갈래**(무근·철근·소형구조물)이고 갈래마다 품이 다르다. 이 모양을 행-자원 +표로 읽으면 통째로 안 맞는다 — 콘크리트 타설(12-1)이 그래서 하나도 안 서고 있었다. + +⚠ **자리 밀림을 고쳐 읽지 않는다.** 첫 칸이 병합된 표는 값이 한 칸씩 밀려 오는데 +(목재틀흙막이가 「건축목공 8.760」 자리에 등급 글자를 두어 단가가 503만원으로 섰다), +밀린 행은 **버리고 `unmatched` 에 남긴다.** 어느 칸이 어느 자원인지 단정할 수 없다. + +`B09_Estimation_ResourceAxis` 가 700줄 제한에 걸려 이 표 모양만 떼어 낸 파일이다. +""" + +from __future__ import annotations + +from decimal import Decimal +from typing import Any + +from B09_Estimation.B09_Estimation_ResourceAxis import ( + AxisResult, + ResourceCatalog, + ResourceRow, + UnmatchedRow, + parse_amount, + split_name_and_spec, +) + +#: 갈래 이름 자리에서 걸러 낼 말 — **합계 줄만**이다. 넓게 잡으면 등급이 지워진다. +_TOTAL_LABELS = ("계", "합계", "소계", "총계", "구분") + + +def _normalize_label(text: str) -> str: + return "".join(str(text).split()) + + +def transposed_columns(table: dict[str, Any], catalog: ResourceCatalog) -> list[tuple[int, Any]]: + """열 머리에서 자원을 찾는다. `[(열 번호, 카탈로그 줄)]`. + + 첫 칸은 갈래 이름(「구 분」)이라 **1번 열부터** 본다. 카탈로그에 있는 이름만 + 자원으로 본다 — 필터로 거르지 않는다(넓은 필터가 정상 자원을 지운 전례). + """ + headers = table.get("condition_note") or [] + found: list[tuple[int, Any]] = [] + for position, header in enumerate(headers[1:], start=1): + name, spec = split_name_and_spec(str(header)) + entry = catalog.resolve(name, spec) + if entry is None and not spec: + candidates = catalog.by_name(name) + entry = candidates[0] if len(candidates) == 1 else None + if entry is not None: + found.append((position, entry)) + return found + + +def match_transposed_table( + node: dict[str, Any], + table: dict[str, Any], + catalog: ResourceCatalog, + result: AxisResult, + basis_quantity: Decimal | None, + unit: str, +) -> bool: + """열이 자원인 표를 읽는다. 그런 표가 아니면 `False` 를 돌려 원래 길로 보낸다. + + 행마다 **규격 갈래 하나**가 되므로 `variant` 를 달아 둔다 — 「무근구조물」과 + 「철근구조물」은 품이 달라 **한 일위대가로 뭉치면 안 된다**. + """ + columns = transposed_columns(table, catalog) + if not columns: + return False + + # ⚠ **좌우로 두 판이 붙은 표는 통째로 버린다.** 열 머리가 되풀이되면 + # (「거리 | 보통인부 | 거리 | 보통인부」) 오른쪽 판의 **거리값이 인원으로** 읽힌다 + # — 2026-09-08 실측: 소운반이 「보통인부 60인」이 되어 단가가 1,553만원으로 섰다. + # 판 경계를 짐작해 읽지 않는다. + codes = [entry.code for _, entry in columns] + if len(codes) != len(set(codes)): + result.unmatched.append( + UnmatchedRow( + work_item_code=node.get("work_item_code", ""), + pum_table_id=str(table.get("pum_table_id", "")), + cell=" | ".join(str(c) for c in (table.get("condition_note") or [])), + reason="열 머리가 되풀이되는 두 판 짜리 표 — 자리를 단정할 수 없어 버렸습니다.", + ) + ) + return True + + # ⚠ **갈래 이름이 되풀이되면 그 줄들을 버린다.** 첫 칸이 병합된 표에서 상위 등급이 + # 떨어져 나가면 「상」이 두 번 나오고, 그대로 두면 서로 다른 등급의 품이 **합산**된다 + # (2026-09-08 실측: 목재틀흙막이 「상」이 8.760 + 13.767 = 22.5 인이 되어 단가가 + # 667만원으로 섰다). 어느 등급인지 단정할 수 없으므로 고쳐 읽지 않는다. + labels = [str(row[0]).strip() for row in (table.get("raw_row") or []) if row] + repeated = {label for label in labels if label and labels.count(label) > 1} + + work_item_code = node.get("work_item_code", "") + table_id = str(table.get("pum_table_id", "")) + form = str(table.get("pum_form", "")) + matched_any = False + + for index, row in enumerate(table.get("raw_row", [])): + cells = [str(c) for c in row] + if not cells: + continue + variant = cells[0].strip() + # ⚠ 첫 칸은 **갈래 이름**이지 자원 이름이 아니다 — 자원용 머리글 필터를 여기 쓰면 + # 「중」·「상」 같은 정상 등급이 통째로 지워진다(2026-09-08 실측: 목재틀흙막이의 + # 중·상 등급이 사라지고 상등구조만 남았다). 합계 줄만 걸러 낸다. + if not variant or _normalize_label(variant) in _TOTAL_LABELS: + continue + if variant in repeated: + result.unmatched.append( + UnmatchedRow( + work_item_code=work_item_code, + pum_table_id=table_id, + cell=variant, + reason="같은 갈래 이름이 두 번 나오는 표 — 등급을 단정할 수 없어 버렸습니다.", + ) + ) + continue + # ⚠ **자리 밀림 검사** — 자원 열 가운데 하나라도 수가 아니면 그 행은 밀린 것이다. + # 첫 칸이 병합된 표에서 값이 한 칸씩 밀려 들어온다(2026-09-08 실측: 목재틀흙막이가 + # 「건축목공 8.760」 자리에 등급 글자를 두어 단가가 503만원으로 섰다). + # **밀린 행은 고쳐 읽지 않고 버린다** — 어느 칸이 어느 자원인지 단정할 수 없다. + readable = [ + parse_amount(cells[position]) if position < len(cells) else None + for position, _ in columns + ] + if any(value is None for value in readable) and any( + value is not None for value in readable + ): + result.unmatched.append( + UnmatchedRow( + work_item_code=work_item_code, + pum_table_id=table_id, + cell=variant, + reason="자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + ) + ) + continue + + for position, entry in columns: + if position >= len(cells): + # 칸이 모자란 행 — **자리를 밀어 읽지 않는다**. 밀려 읽으면 다른 직종의 + # 품이 붙는다(기계경비 표에서 실제로 겪은 사고). + result.unmatched.append( + UnmatchedRow( + work_item_code=work_item_code, + pum_table_id=table_id, + cell=f"{variant} / {entry.name}", + reason="칸 수가 열 머리와 안 맞아 버렸습니다(자리 밀림 방지).", + ) + ) + continue + amount = parse_amount(cells[position]) + if amount is None: + continue + if basis_quantity not in (None, 0, Decimal(1)): + amount = amount / basis_quantity + result.rows.append( + ResourceRow( + work_item_code=work_item_code, + pum_table_id=table_id, + pum_form=form, + resource_kind=entry.kind, + resource_code=entry.code, + resource_name=entry.name, + resource_spec=entry.spec, + amount=amount, + amount_unit=unit, + raw_row_index=index, + variant=variant, + ) + ) + matched_any = True + return matched_any diff --git a/B09_Estimation/B09_Estimation_UnitPrice.py b/B09_Estimation/B09_Estimation_UnitPrice.py index 815a8f78..670b79e5 100644 --- a/B09_Estimation/B09_Estimation_UnitPrice.py +++ b/B09_Estimation/B09_Estimation_UnitPrice.py @@ -56,6 +56,11 @@ _ZERO = Decimal(0) FUEL_CODE_PREFIX = "M-FUEL-" #: 일위대가 총액이 이보다 작으면 **성분이 빠졌을 가능성**이 크다 — 값이 있어도 경고한다. SUSPICIOUSLY_LOW_KRW = Decimal(100) +#: 기준 단위를 모르는 채 이 금액을 넘으면 **사람이 한 번 봐야 한다**. +#: 품셈 표가 「10㎡당」처럼 묶음 기준일 수 있어 값 자체는 맞고 기준만 모르는 경우가 많다 +#: (2026-09-08: 목재틀흙막이 상등구조 = 건축목공 16.975인 → 503만원. 값은 품셈대로다). +#: **막지 않고 드러내기만 한다** — 막으면 120 중 117 이 멈춘다. +SUSPICIOUSLY_HIGH_KRW = Decimal(1_000_000) def _slots(value: Decimal) -> list[Decimal | None]: @@ -76,6 +81,8 @@ class UnitPriceBuild: partial_ratio: dict[str, Decimal] = field(default_factory=dict) #: 시공능력 공식으로 장비 몫을 세운 공종 — 산출근거를 화면에 그대로 보인다. cycle_factors: dict[str, CycleFactors] = field(default_factory=dict) + #: 공종 하나가 낳은 규격 갈래들 — 「무근구조물」·「철근구조물」·「소형구조물」. + variants: dict[str, list[str]] = field(default_factory=dict) #: 계수를 못 세운 표 — **무엇이 없는지**를 들고 있는다. factor_gaps: dict[str, FactorGap] = field(default_factory=dict) @@ -208,12 +215,14 @@ def build_unit_prices(axis: AxisResult | None = None) -> UnitPriceBuild: machine_codes = {r.resource_code for r in axis.rows if r.resource_kind == "machine"} build.incomplete_machines = _add_machine_layers(build.book, machine_codes) - by_item: dict[str, list] = {} + # 규격 갈래(`variant`)가 있으면 **갈래마다 따로 세운다** — 무근·철근·소형구조물은 + # 품이 달라 한 일위대가로 뭉치면 어느 것도 안 맞는다. + by_item: dict[tuple[str, str], list] = {} for row in axis.rows: - by_item.setdefault(row.work_item_code, []).append(row) + by_item.setdefault((row.work_item_code, getattr(row, "variant", "")), []).append(row) - for work_item_code, rows in sorted(by_item.items()): - title_code = f"B-{work_item_code}" + for (work_item_code, variant), rows in sorted(by_item.items()): + title_code = f"B-{work_item_code}" + (f"#{variant}" if variant else "") if title_code in build.book.titles: continue # ⚠ **붙을 상세를 먼저 모으고, 하나도 없으면 제목도 안 세운다.** @@ -229,22 +238,27 @@ def build_unit_prices(axis: AxisResult | None = None) -> UnitPriceBuild: continue unit = next((r.amount_unit for r in rows if r.amount_unit), "") + base_name = names.get(work_item_code) or work_item_code build.book.add_title( PriceTitle( code=title_code, kind=PriceKind.UNIT_PRICE, - name=names.get(work_item_code) or work_item_code, - spec=work_item_code, + name=f"{base_name} ({variant})" if variant else base_name, + spec=variant or work_item_code, unit=unit, ) ) + if variant: + build.variants.setdefault(work_item_code, []).append(variant) # 배분율 표는 각 몫을 **그 비율만큼만** 센다 — 인력 원단위를 전량에 곱하면 틀린다. for row, ref in attachable: share = _share_of(row) build.book.add_detail(PriceDetail(title_code, ref, row.amount * share)) # 장비 몫은 자원 수량이 아니라 **시공능력 공식**으로 온다 (품셈 8-1-4). - machine_share = _attach_machine_share(build, master, work_item_code, title_code) + machine_share = ( + _ZERO if variant else _attach_machine_share(build, master, work_item_code, title_code) + ) # ⚠ **배분율이 있는 표는 「몇 %가 실제로 붙었나」를 세어 둔다.** # 「인력(10%)·장비(90%)」 표에서 인력만 붙으면 단가가 10 % 몫만인데, 그 값이 @@ -453,11 +467,27 @@ def build_summary(build: UnitPriceBuild) -> dict: and (money := build.book.resolve(code).total) < SUSPICIOUSLY_LOW_KRW ] + # 기준 단위를 모르는 채 큰 값 — 「10㎡당」 같은 묶음 기준일 수 있다. + high = [ + {"code": code, "name": title.name, "total": _money_text(money)} + for code, title in build.book.titles.items() + if title.kind is PriceKind.UNIT_PRICE + and not title.unit + and (money := build.book.resolve(code).total) >= SUSPICIOUSLY_HIGH_KRW + ] + return { "titles": len(build.book.titles), "unit_price_totals": stats, # 값이 서기는 했는데 **크기가 이상한** 것 — 성분이 빠졌을 가능성이 크다. "suspiciously_low": low, + # 기준 단위가 없는 채로 큰 값 — 값이 틀린 게 아니라 **기준을 모르는 것**이다. + "unknown_basis_high": high, + "unknown_basis": sum( + 1 + for code, title in build.book.titles.items() + if title.kind is PriceKind.UNIT_PRICE and not title.unit + ), "unit_prices": kinds.get(PriceKind.UNIT_PRICE.value, 0), "machine_hourly": kinds.get(PriceKind.MACHINE_HOURLY.value, 0), "skipped_work_items": len(build.skipped), 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 index 6a986ebe..bdf32dd5 100644 --- a/resources/data_cost_resource_axis/resource_axis_2026-01-01.json +++ b/resources/data_cost_resource_axis/resource_axis_2026-01-01.json @@ -10,6 +10,7 @@ { "amount": "0.42", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0089", "raw_row_index": 0, @@ -17,11 +18,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-04-04" }, { "amount": "0.084", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0092", "raw_row_index": 1, @@ -29,11 +32,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-01-01" }, { "amount": "0.012", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0092", "raw_row_index": 2, @@ -41,11 +46,41 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-01-01" }, + { + "amount": "3.0", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0096", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "줄떼", + "work_item_code": "FP-05-01-04" + }, + { + "amount": "6.0", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0096", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "평떼", + "work_item_code": "FP-05-01-04" + }, { "amount": "0.19", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0102", "raw_row_index": 1, @@ -53,11 +88,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-03-02" }, { "amount": "0.06", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0102", "raw_row_index": 2, @@ -65,11 +102,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-03-02" }, { "amount": "0.07", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0103", "raw_row_index": 1, @@ -77,11 +116,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-03-03" }, { "amount": "0.02", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0103", "raw_row_index": 2, @@ -89,11 +130,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-03-03" }, { "amount": "0.47", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0114", "raw_row_index": 0, @@ -101,11 +144,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-09" }, { "amount": "0.43", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0116", "raw_row_index": 0, @@ -113,11 +158,139 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-11" }, + { + "amount": "4.5", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0118", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "줄떼심기", + "work_item_code": "FP-05-13" + }, + { + "amount": "6.0", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0118", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "띠떼심기", + "work_item_code": "FP-05-13" + }, + { + "amount": "2.4", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0121", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "절 취", + "work_item_code": "FP-05-16-01" + }, + { + "amount": "0.34", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0121", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "수평잡기 및 단정리", + "work_item_code": "FP-05-16-01" + }, + { + "amount": "0.36", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0121", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "잡석 및 뿌리 정리", + "work_item_code": "FP-05-16-01" + }, + { + "amount": "1.17", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0121", + "raw_row_index": 4, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "절·성토면 고르기", + "work_item_code": "FP-05-16-01" + }, + { + "amount": "0.34", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0129", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "채 취", + "work_item_code": "FP-05-21" + }, + { + "amount": "0.26", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0129", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "운 반", + "work_item_code": "FP-05-21" + }, + { + "amount": "0.47", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0129", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "붙이기", + "work_item_code": "FP-05-21" + }, { "amount": "0.0099", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0130", "raw_row_index": 0, @@ -125,11 +298,13 @@ "resource_kind": "labor", "resource_name": "조경공", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-22-02" }, { "amount": "0.0231", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0130", "raw_row_index": 1, @@ -137,11 +312,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-22-02" }, { "amount": "0.011", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0131", "raw_row_index": 0, @@ -149,11 +326,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-22-03" }, { "amount": "2", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0132", "raw_row_index": 0, @@ -161,11 +340,13 @@ "resource_kind": "labor", "resource_name": "조경공", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-22-04" }, { "amount": "1", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0132", "raw_row_index": 1, @@ -173,11 +354,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-22-04" }, { "amount": "0.0084", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0133", "raw_row_index": 0, @@ -185,11 +368,13 @@ "resource_kind": "labor", "resource_name": "조경공", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-23-02" }, { "amount": "0.0196", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0133", "raw_row_index": 1, @@ -197,11 +382,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-23-02" }, { "amount": "0.0033", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0134", "raw_row_index": 0, @@ -209,11 +396,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-23-03" }, { "amount": "0.0007", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0135", "raw_row_index": 8, @@ -221,11 +410,13 @@ "resource_kind": "labor", "resource_name": "조경공", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-24-01" }, { "amount": "0.0004", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0135", "raw_row_index": 9, @@ -233,11 +424,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-24-01" }, { "amount": "0.0007", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0136", "raw_row_index": 8, @@ -245,11 +438,13 @@ "resource_kind": "labor", "resource_name": "조경공", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-24-02" }, { "amount": "0.0004", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0136", "raw_row_index": 9, @@ -257,11 +452,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-24-02" }, { "amount": "0.002", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0139", "raw_row_index": 1, @@ -269,11 +466,13 @@ "resource_kind": "labor", "resource_name": "조경공", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-25" }, { "amount": "0.0007", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0139", "raw_row_index": 2, @@ -281,11 +480,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-25" }, { "amount": "0.01", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0143", "raw_row_index": 0, @@ -293,11 +494,13 @@ "resource_kind": "labor", "resource_name": "조경공", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-27" }, { "amount": "0.08", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0143", "raw_row_index": 1, @@ -305,11 +508,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-27" }, { "amount": "0.19", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0144", "raw_row_index": 0, @@ -317,11 +522,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-28-01" }, { "amount": "0.06", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0144", "raw_row_index": 1, @@ -329,11 +536,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-05-28-01" }, { "amount": "3.00", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0163", "raw_row_index": 0, @@ -341,11 +550,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-06-05" }, { "amount": "2.00", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0163", "raw_row_index": 2, @@ -353,11 +564,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-06-05" }, { "amount": "0.29", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0165", "raw_row_index": 1, @@ -365,11 +578,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-06-07-01" }, { "amount": "0.09", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0165", "raw_row_index": 2, @@ -377,11 +592,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-06-07-01" }, { "amount": "0.3", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0166", "raw_row_index": 0, @@ -389,11 +606,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-06-07-02" }, { "amount": "0.8", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0166", "raw_row_index": 1, @@ -401,11 +620,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-06-07-02" }, { "amount": "0.75", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0236", "raw_row_index": 1, @@ -413,11 +634,13 @@ "resource_kind": "machine", "resource_name": "", "resource_spec": "0.75", + "variant": "", "work_item_code": "FP-08-10" }, { "amount": "0.16", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0239", "raw_row_index": 0, @@ -425,11 +648,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-03-01" }, { "amount": "0.041", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0243", "raw_row_index": 4, @@ -437,11 +662,13 @@ "resource_kind": "labor", "resource_name": "착암공", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-05-01" }, { "amount": "0.103", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0243", "raw_row_index": 5, @@ -449,11 +676,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-05-01" }, { "amount": "0.02", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0251", "raw_row_index": 0, @@ -461,11 +690,13 @@ "resource_kind": "labor", "resource_name": "용접공", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-08-01" }, { "amount": "0.08", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0251", "raw_row_index": 1, @@ -473,11 +704,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-08-01" }, { "amount": "0.23", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0258", "raw_row_index": 0, @@ -485,11 +718,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-12-01" }, { "amount": "1.6", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0259", "raw_row_index": 0, @@ -497,11 +732,13 @@ "resource_kind": "labor", "resource_name": "할석공", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-12-02" }, { "amount": "0.8", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0259", "raw_row_index": 1, @@ -509,11 +746,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-12-02" }, { "amount": "2.8", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0260", "raw_row_index": 0, @@ -521,11 +760,13 @@ "resource_kind": "labor", "resource_name": "할석공", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-12-03" }, { "amount": "1.266", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0260", "raw_row_index": 1, @@ -533,11 +774,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-12-03" }, { "amount": "0.23", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0261", "raw_row_index": 0, @@ -545,11 +788,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-01" }, { "amount": "0.31", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0262", "raw_row_index": 0, @@ -557,11 +802,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-02" }, { "amount": "0.39", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0263", "raw_row_index": 0, @@ -569,11 +816,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-03" }, { "amount": "0.345", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0264", "raw_row_index": 0, @@ -581,11 +830,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-04" }, { "amount": "0.465", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0265", "raw_row_index": 0, @@ -593,11 +844,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-05" }, { "amount": "0.585", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0266", "raw_row_index": 0, @@ -605,11 +858,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-06" }, { "amount": "1.6", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0267", "raw_row_index": 0, @@ -617,11 +872,13 @@ "resource_kind": "labor", "resource_name": "할석공", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-07" }, { "amount": "0.8", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0267", "raw_row_index": 1, @@ -629,11 +886,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-07" }, { "amount": "1.8", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0268", "raw_row_index": 0, @@ -641,11 +900,13 @@ "resource_kind": "labor", "resource_name": "할석공", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-08" }, { "amount": "0.9", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0268", "raw_row_index": 1, @@ -653,11 +914,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-08" }, { "amount": "2.0", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0269", "raw_row_index": 0, @@ -665,11 +928,13 @@ "resource_kind": "labor", "resource_name": "할석공", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-09" }, { "amount": "1.0", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0269", "raw_row_index": 1, @@ -677,11 +942,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-09" }, { "amount": "1.2", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0270", "raw_row_index": 0, @@ -689,11 +956,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-10" }, { "amount": "1.35", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0271", "raw_row_index": 0, @@ -701,11 +970,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-11" }, { "amount": "1.5", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0272", "raw_row_index": 0, @@ -713,11 +984,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-12" }, { "amount": "2.8", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0273", "raw_row_index": 0, @@ -725,11 +998,13 @@ "resource_kind": "labor", "resource_name": "할석공", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-13" }, { "amount": "1.266", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0273", "raw_row_index": 1, @@ -737,11 +1012,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-13" }, { "amount": "3.5", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0274", "raw_row_index": 0, @@ -749,11 +1026,13 @@ "resource_kind": "labor", "resource_name": "할석공", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-14" }, { "amount": "1.566", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0274", "raw_row_index": 1, @@ -761,11 +1040,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-14" }, { "amount": "4.2", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0275", "raw_row_index": 0, @@ -773,11 +1054,13 @@ "resource_kind": "labor", "resource_name": "할석공", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-15" }, { "amount": "1.866", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0275", "raw_row_index": 1, @@ -785,11 +1068,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-15" }, { "amount": "4.20", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0276", "raw_row_index": 0, @@ -797,11 +1082,13 @@ "resource_kind": "labor", "resource_name": "할석공", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-16" }, { "amount": "1.899", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0276", "raw_row_index": 1, @@ -809,11 +1096,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-16" }, { "amount": "5.25", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0277", "raw_row_index": 0, @@ -821,11 +1110,13 @@ "resource_kind": "labor", "resource_name": "할석공", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-17" }, { "amount": "2.349", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0277", "raw_row_index": 1, @@ -833,11 +1124,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-17" }, { "amount": "6.3", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0278", "raw_row_index": 0, @@ -845,11 +1138,13 @@ "resource_kind": "labor", "resource_name": "할석공", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-18" }, { "amount": "2.799", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0278", "raw_row_index": 1, @@ -857,11 +1152,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-13-18" }, { "amount": "0.10", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0279", "raw_row_index": 0, @@ -869,11 +1166,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-14-01" }, { "amount": "0.019", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0290", "raw_row_index": 0, @@ -881,11 +1180,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-19-02" }, { "amount": "0.0328", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0291", "raw_row_index": 0, @@ -893,11 +1194,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-19-03" }, { "amount": "0.80", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0294", "raw_row_index": 0, @@ -905,11 +1208,13 @@ "resource_kind": "machine", "resource_name": "굴착기(무한궤도)", "resource_spec": "0.2", + "variant": "", "work_item_code": "FP-09-21" }, { "amount": "0.03", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0294", "raw_row_index": 1, @@ -917,11 +1222,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-21" }, { "amount": "0.46", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0294", "raw_row_index": 2, @@ -929,11 +1236,13 @@ "resource_kind": "machine", "resource_name": "굴착기(무한궤도)", "resource_spec": "0.7", + "variant": "", "work_item_code": "FP-09-21" }, { "amount": "0.03", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0294", "raw_row_index": 3, @@ -941,11 +1250,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-09-21" }, { "amount": "0.5", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0303", "raw_row_index": 0, @@ -953,11 +1264,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-10-06-02" }, { "amount": "0.35", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0305", "raw_row_index": 0, @@ -965,11 +1278,13 @@ "resource_kind": "labor", "resource_name": "작업반장", "resource_spec": "", + "variant": "", "work_item_code": "FP-10-07-01" }, { "amount": "0.35", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0305", "raw_row_index": 1, @@ -977,11 +1292,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-10-07-01" }, { "amount": "2.0", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0306", "raw_row_index": 0, @@ -989,11 +1306,13 @@ "resource_kind": "labor", "resource_name": "작업반장", "resource_spec": "", + "variant": "", "work_item_code": "FP-10-07-02" }, { "amount": "2.0", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0306", "raw_row_index": 1, @@ -1001,11 +1320,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-10-07-02" }, { "amount": "6.0", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0306", "raw_row_index": 2, @@ -1013,11 +1334,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-10-07-02" }, { "amount": "1.0", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0307", "raw_row_index": 0, @@ -1025,11 +1348,13 @@ "resource_kind": "labor", "resource_name": "작업반장", "resource_spec": "", + "variant": "", "work_item_code": "FP-10-07-03" }, { "amount": "1.0", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0307", "raw_row_index": 1, @@ -1037,11 +1362,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-10-07-03" }, { "amount": "3.0", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0307", "raw_row_index": 2, @@ -1049,11 +1376,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-10-07-03" }, { "amount": "2.0", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0310", "raw_row_index": 0, @@ -1061,11 +1390,41 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-10-07-04" }, + { + "amount": "1.0", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0313", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "콘크리트", + "work_item_code": "FP-10-08-01" + }, + { + "amount": "3.0", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0313", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "제 자재", + "work_item_code": "FP-10-08-01" + }, { "amount": "2.0", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0317", "raw_row_index": 0, @@ -1073,11 +1432,13 @@ "resource_kind": "labor", "resource_name": "작업반장", "resource_spec": "", + "variant": "", "work_item_code": "FP-10-10-01" }, { "amount": "2.0", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0318", "raw_row_index": 0, @@ -1085,11 +1446,265 @@ "resource_kind": "labor", "resource_name": "작업반장", "resource_spec": "", + "variant": "", "work_item_code": "FP-10-10-02" }, + { + "amount": "0.12", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0329", + "raw_row_index": 0, + "resource_code": "1013", + "resource_kind": "labor", + "resource_name": "콘크리트공", + "resource_spec": "", + "variant": "무근구조물", + "work_item_code": "FP-12-01-01" + }, + { + "amount": "0.15", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0329", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "무근구조물", + "work_item_code": "FP-12-01-01" + }, + { + "amount": "0.14", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0329", + "raw_row_index": 1, + "resource_code": "1013", + "resource_kind": "labor", + "resource_name": "콘크리트공", + "resource_spec": "", + "variant": "철근구조물", + "work_item_code": "FP-12-01-01" + }, + { + "amount": "0.16", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0329", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "철근구조물", + "work_item_code": "FP-12-01-01" + }, + { + "amount": "0.24", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0329", + "raw_row_index": 2, + "resource_code": "1013", + "resource_kind": "labor", + "resource_name": "콘크리트공", + "resource_spec": "", + "variant": "소형구조물", + "work_item_code": "FP-12-01-01" + }, + { + "amount": "0.30", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0329", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "소형구조물", + "work_item_code": "FP-12-01-01" + }, + { + "amount": "0.15", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0330", + "raw_row_index": 0, + "resource_code": "1013", + "resource_kind": "labor", + "resource_name": "콘크리트공", + "resource_spec": "", + "variant": "무근구조물", + "work_item_code": "FP-12-01-02" + }, + { + "amount": "0.46", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0330", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "무근구조물", + "work_item_code": "FP-12-01-02" + }, + { + "amount": "0.17", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0330", + "raw_row_index": 1, + "resource_code": "1013", + "resource_kind": "labor", + "resource_name": "콘크리트공", + "resource_spec": "", + "variant": "철근구조물", + "work_item_code": "FP-12-01-02" + }, + { + "amount": "0.68", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0330", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "철근구조물", + "work_item_code": "FP-12-01-02" + }, + { + "amount": "0.24", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0330", + "raw_row_index": 2, + "resource_code": "1013", + "resource_kind": "labor", + "resource_name": "콘크리트공", + "resource_spec": "", + "variant": "소형구조물", + "work_item_code": "FP-12-01-02" + }, + { + "amount": "0.94", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0330", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "소형구조물", + "work_item_code": "FP-12-01-02" + }, + { + "amount": "0.85", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0331", + "raw_row_index": 0, + "resource_code": "1013", + "resource_kind": "labor", + "resource_name": "콘크리트공", + "resource_spec": "", + "variant": "무근구조물", + "work_item_code": "FP-12-01-03" + }, + { + "amount": "0.82", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0331", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "무근구조물", + "work_item_code": "FP-12-01-03" + }, + { + "amount": "0.87", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0331", + "raw_row_index": 1, + "resource_code": "1013", + "resource_kind": "labor", + "resource_name": "콘크리트공", + "resource_spec": "", + "variant": "철근구조물", + "work_item_code": "FP-12-01-03" + }, + { + "amount": "0.99", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0331", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "철근구조물", + "work_item_code": "FP-12-01-03" + }, + { + "amount": "1.29", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0331", + "raw_row_index": 2, + "resource_code": "1013", + "resource_kind": "labor", + "resource_name": "콘크리트공", + "resource_spec": "", + "variant": "소형구조물", + "work_item_code": "FP-12-01-03" + }, + { + "amount": "1.36", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0331", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "소형구조물", + "work_item_code": "FP-12-01-03" + }, { "amount": "0.22", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0336", "raw_row_index": 6, @@ -1097,11 +1712,13 @@ "resource_kind": "labor", "resource_name": "형틀목공", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-04" }, { "amount": "0.12", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0336", "raw_row_index": 7, @@ -1109,11 +1726,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-04" }, { "amount": "0.03", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0337", "raw_row_index": 2, @@ -1121,11 +1740,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-05" }, { "amount": "1", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0339", "raw_row_index": 1, @@ -1133,11 +1754,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-07-01" }, { "amount": "2", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0339", "raw_row_index": 2, @@ -1145,11 +1768,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-07-01" }, { "amount": "2", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0340", "raw_row_index": 0, @@ -1157,11 +1782,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-07-02" }, { "amount": "3", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0340", "raw_row_index": 1, @@ -1169,11 +1796,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-07-02" }, { "amount": "0.0055", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0345", "raw_row_index": 1, @@ -1181,11 +1810,13 @@ "resource_kind": "labor", "resource_name": "배관공", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-10" }, { "amount": "0.0055", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0345", "raw_row_index": 2, @@ -1193,11 +1824,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-10" }, { "amount": "0.003", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0345", "raw_row_index": 4, @@ -1205,11 +1838,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-10" }, { "amount": "0.13", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0345", "raw_row_index": 7, @@ -1217,11 +1852,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-10" }, { "amount": "0.12", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0348", "raw_row_index": 1, @@ -1229,11 +1866,13 @@ "resource_kind": "labor", "resource_name": "일반기계운전사", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-11-02" }, { "amount": "1.23", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0348", "raw_row_index": 2, @@ -1241,11 +1880,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-11-02" }, { "amount": "0.05", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0363", "raw_row_index": 2, @@ -1253,11 +1894,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-17-02" }, { "amount": "4.2", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0365", "raw_row_index": 1, @@ -1265,11 +1908,13 @@ "resource_kind": "labor", "resource_name": "철근공", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-18" }, { "amount": "2.4", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0365", "raw_row_index": 2, @@ -1277,11 +1922,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-18" }, { "amount": "0.07", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0367", "raw_row_index": 3, @@ -1289,11 +1936,13 @@ "resource_kind": "labor", "resource_name": "형틀목공", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-20" }, { "amount": "0.05", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0367", "raw_row_index": 4, @@ -1301,11 +1950,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-20" }, { "amount": "0.034", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0368", "raw_row_index": 1, @@ -1313,11 +1964,13 @@ "resource_kind": "labor", "resource_name": "방수공", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-21" }, { "amount": "0.04", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0368", "raw_row_index": 2, @@ -1325,11 +1978,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-21" }, { "amount": "0.003", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0370", "raw_row_index": 2, @@ -1337,11 +1992,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-23" }, { "amount": "0.2", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0372", "raw_row_index": 1, @@ -1349,11 +2006,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-24-02" }, { "amount": "4.0", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0372", "raw_row_index": 2, @@ -1361,11 +2020,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-24-02" }, { "amount": "1", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0374", "raw_row_index": 3, @@ -1373,11 +2034,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-26" }, { "amount": "0.2", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0371", "raw_row_index": 1, @@ -1385,11 +2048,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-24-01" }, { "amount": "4.0", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0371", "raw_row_index": 2, @@ -1397,11 +2062,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-24-01" }, { "amount": "0.12", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0378", "raw_row_index": 2, @@ -1409,11 +2076,13 @@ "resource_kind": "labor", "resource_name": "미장공", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-28" }, { "amount": "0.004", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0384", "raw_row_index": 1, @@ -1421,11 +2090,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-33" }, { "amount": "3.8", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0387", "raw_row_index": 1, @@ -1433,11 +2104,13 @@ "resource_kind": "labor", "resource_name": "철근공", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-34-03" }, { "amount": "2.2", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0387", "raw_row_index": 2, @@ -1445,11 +2118,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-34-03" }, { "amount": "0.05", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0389", "raw_row_index": 2, @@ -1457,11 +2132,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-12-35" }, { "amount": "0.5", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0397", "raw_row_index": 1, @@ -1469,11 +2146,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-02-01" }, { "amount": "0.17", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0398", "raw_row_index": 0, @@ -1481,11 +2160,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-02-02" }, { "amount": "2.6", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0399", "raw_row_index": 0, @@ -1493,11 +2174,125 @@ "resource_kind": "labor", "resource_name": "작업반장", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-02-03" }, + { + "amount": "0.05", + "amount_unit": "㎡", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0402", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "두 께 3㎝", + "work_item_code": "FP-13-03-01" + }, + { + "amount": "0.04", + "amount_unit": "㎡", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0402", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "두 께 6㎝", + "work_item_code": "FP-13-03-01" + }, + { + "amount": "0.05", + "amount_unit": "㎡", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0402", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "자갈 기초다짐 지름 1~3㎝", + "work_item_code": "FP-13-03-01" + }, + { + "amount": "0.019", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0403", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "기초다짐 뒷채움", + "work_item_code": "FP-13-03-02" + }, + { + "amount": "0.087", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0403", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "75이상", + "work_item_code": "FP-13-03-02" + }, + { + "amount": "0.05", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0415", + "raw_row_index": 0, + "resource_code": "1033", + "resource_kind": "labor", + "resource_name": "석공", + "resource_spec": "", + "variant": "25㎝", + "work_item_code": "FP-13-04-06" + }, + { + "amount": "0.08", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0415", + "raw_row_index": 1, + "resource_code": "1033", + "resource_kind": "labor", + "resource_name": "석공", + "resource_spec": "", + "variant": "30㎝", + "work_item_code": "FP-13-04-06" + }, + { + "amount": "0.09", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0415", + "raw_row_index": 2, + "resource_code": "1033", + "resource_kind": "labor", + "resource_name": "석공", + "resource_spec": "", + "variant": "35㎝", + "work_item_code": "FP-13-04-06" + }, { "amount": "0.83", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0419", "raw_row_index": 1, @@ -1505,11 +2300,13 @@ "resource_kind": "labor", "resource_name": "작업반장", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-06-01" }, { "amount": "1.04", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0419", "raw_row_index": 2, @@ -1517,11 +2314,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-06-01" }, { "amount": "0.83", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0420", "raw_row_index": 1, @@ -1529,11 +2328,13 @@ "resource_kind": "labor", "resource_name": "작업반장", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-06-02" }, { "amount": "1.30", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0420", "raw_row_index": 2, @@ -1541,11 +2342,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-06-02" }, { "amount": "4.80", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0420", "raw_row_index": 4, @@ -1553,11 +2356,13 @@ "resource_kind": "machine", "resource_name": "굴착기(무한궤도)", "resource_spec": "0.8", + "variant": "", "work_item_code": "FP-13-06-02" }, { "amount": "1.19", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0421", "raw_row_index": 1, @@ -1565,11 +2370,13 @@ "resource_kind": "labor", "resource_name": "작업반장", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-06-03" }, { "amount": "1.86", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0421", "raw_row_index": 2, @@ -1577,11 +2384,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-06-03" }, { "amount": "6.86", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0421", "raw_row_index": 4, @@ -1589,11 +2398,13 @@ "resource_kind": "machine", "resource_name": "굴착기(무한궤도)", "resource_spec": "0.8", + "variant": "", "work_item_code": "FP-13-06-03" }, { "amount": "0.58", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0422", "raw_row_index": 1, @@ -1601,11 +2412,13 @@ "resource_kind": "labor", "resource_name": "작업반장", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-07-01" }, { "amount": "0.58", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0422", "raw_row_index": 2, @@ -1613,11 +2426,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-07-01" }, { "amount": "2.40", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0422", "raw_row_index": 4, @@ -1625,11 +2440,13 @@ "resource_kind": "machine", "resource_name": "굴착기(무한궤도)", "resource_spec": "0.8", + "variant": "", "work_item_code": "FP-13-07-01" }, { "amount": "0.58", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0423", "raw_row_index": 1, @@ -1637,11 +2454,13 @@ "resource_kind": "labor", "resource_name": "작업반장", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-07-02" }, { "amount": "1.01", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0423", "raw_row_index": 2, @@ -1649,11 +2468,41 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-07-02" }, + { + "amount": "0.09", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0426", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "직경 15㎝ 길이 4m", + "work_item_code": "FP-13-10-01" + }, + { + "amount": "0.22", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0426", + "raw_row_index": 0, + "resource_code": "1007", + "resource_kind": "labor", + "resource_name": "형틀목공", + "resource_spec": "", + "variant": "직경 15㎝ 길이 4m", + "work_item_code": "FP-13-10-01" + }, { "amount": "0.015", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0432", "raw_row_index": 1, @@ -1661,11 +2510,13 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-11-01" }, { "amount": "0.005", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0434", "raw_row_index": 1, @@ -1673,11 +2524,41 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-11-02" }, + { + "amount": "0.16", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0437", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "절 취(㎥)", + "work_item_code": "FP-13-12-01" + }, + { + "amount": "0.05", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0437", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "투 입(㎥)", + "work_item_code": "FP-13-12-01" + }, { "amount": "0.0141", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0438", "raw_row_index": 0, @@ -1685,11 +2566,13 @@ "resource_kind": "labor", "resource_name": "작업반장", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-12-02" }, { "amount": "0.0381", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0438", "raw_row_index": 1, @@ -1697,11 +2580,13 @@ "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-12-02" }, { "amount": "0.0099", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0438", "raw_row_index": 2, @@ -1709,11 +2594,69 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-12-02" }, + { + "amount": "7.274", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0440", + "raw_row_index": 1, + "resource_code": "1023", + "resource_kind": "labor", + "resource_name": "건축목공", + "resource_spec": "", + "variant": "중", + "work_item_code": "FP-13-13-01" + }, + { + "amount": "0.786", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0440", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "중", + "work_item_code": "FP-13-13-01" + }, + { + "amount": "16.975", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0440", + "raw_row_index": 5, + "resource_code": "1023", + "resource_kind": "labor", + "resource_name": "건축목공", + "resource_spec": "", + "variant": "상등구조", + "work_item_code": "FP-13-13-01" + }, + { + "amount": "1.848", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0440", + "raw_row_index": 5, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "상등구조", + "work_item_code": "FP-13-13-01" + }, { "amount": "0.20", "amount_unit": "", + "group_ratio_pct": "10", "pum_form": "requirement", "pum_table_id": "F0441", "raw_row_index": 0, @@ -1721,11 +2664,111 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-13-02" }, + { + "amount": "2.80", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0443", + "raw_row_index": 0, + "resource_code": "1023", + "resource_kind": "labor", + "resource_name": "건축목공", + "resource_spec": "", + "variant": "간 단 구 조", + "work_item_code": "FP-13-13-02" + }, + { + "amount": "0.80", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0443", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "간 단 구 조", + "work_item_code": "FP-13-13-02" + }, + { + "amount": "6.31", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0443", + "raw_row_index": 1, + "resource_code": "1023", + "resource_kind": "labor", + "resource_name": "건축목공", + "resource_spec": "", + "variant": "보 통 구 조", + "work_item_code": "FP-13-13-02" + }, + { + "amount": "1.31", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0443", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "보 통 구 조", + "work_item_code": "FP-13-13-02" + }, + { + "amount": "0.030", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0444", + "raw_row_index": 0, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "단 끊 기", + "work_item_code": "FP-13-14" + }, + { + "amount": "0.035", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0444", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "흙채우기(마대채우기)", + "work_item_code": "FP-13-14" + }, + { + "amount": "0.025", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0444", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "마대쌓기", + "work_item_code": "FP-13-14" + }, { "amount": "0.0027", "amount_unit": "", + "group_ratio_pct": null, "pum_form": "requirement", "pum_table_id": "F0445", "raw_row_index": 0, @@ -1733,6 +2776,7 @@ "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", + "variant": "", "work_item_code": "FP-13-15-01" } ], @@ -1748,12 +2792,12 @@ "sha256": "593653135d5a2871180e7a3921f9238629b275438ef47230412aa21e9bdd80c0" }, "stats": { - "rows": 144, + "rows": 198, "skipped_forms": { "coefficient": 19, "reference": 98, "undetermined": 76 }, - "unmatched": 330 + "unmatched": 307 } } \ 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 index 119aa796..0a0c37a9 100644 --- a/resources/data_cost_resource_axis/unmatched_2026-01-01.json +++ b/resources/data_cost_resource_axis/unmatched_2026-01-01.json @@ -242,18 +242,6 @@ "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", @@ -350,66 +338,12 @@ "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", @@ -1395,15 +1329,21 @@ "work_item_code": "FP-09-19-03" }, { - "cell": "콘크리트", + "cell": "거리 (m) | 보통인부(인) | 거리 (m) | 보통인부(인) | 비고", + "pum_table_id": "F0302", + "reason": "열 머리가 되풀이되는 두 판 짜리 표 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-10-06-01" + }, + { + "cell": "〃", "pum_table_id": "F0313", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "reason": "같은 갈래 이름이 두 번 나오는 표 — 등급을 단정할 수 없어 버렸습니다.", "work_item_code": "FP-10-08-01" }, { - "cell": "제 자재", + "cell": "〃", "pum_table_id": "F0313", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "reason": "같은 갈래 이름이 두 번 나오는 표 — 등급을 단정할 수 없어 버렸습니다.", "work_item_code": "FP-10-08-01" }, { @@ -1418,60 +1358,6 @@ "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", @@ -1790,30 +1676,6 @@ "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", @@ -1827,10 +1689,46 @@ "work_item_code": "FP-13-07-02" }, { - "cell": "직경 15㎝ 길이 4m", - "pum_table_id": "F0426", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-13-10-01" + "cell": "8 9", + "pum_table_id": "F0430", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-13-10-02" + }, + { + "cell": "12", + "pum_table_id": "F0430", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-13-10-02" + }, + { + "cell": "15", + "pum_table_id": "F0430", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-13-10-02" + }, + { + "cell": "18", + "pum_table_id": "F0430", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-13-10-02" + }, + { + "cell": "21", + "pum_table_id": "F0430", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-13-10-02" + }, + { + "cell": "24", + "pum_table_id": "F0430", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-13-10-02" + }, + { + "cell": "27", + "pum_table_id": "F0430", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-13-10-02" }, { "cell": "조약돌량(㎥)", @@ -1904,34 +1802,28 @@ "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": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "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": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", "work_item_code": "FP-13-13-01" }, { - "cell": "상등구조", + "cell": "상", "pum_table_id": "F0440", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "reason": "같은 갈래 이름이 두 번 나오는 표 — 등급을 단정할 수 없어 버렸습니다.", "work_item_code": "FP-13-13-01" }, { @@ -1940,36 +1832,6 @@ "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": "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",