diff --git a/B09_Estimation/B09_Estimation_BillOfQuantities.py b/B09_Estimation/B09_Estimation_BillOfQuantities.py index 5a4c0df4..82725380 100644 --- a/B09_Estimation/B09_Estimation_BillOfQuantities.py +++ b/B09_Estimation/B09_Estimation_BillOfQuantities.py @@ -383,10 +383,16 @@ def _leaf_row( if price_code not in unit_prices.book.titles: # 한 층 아래에 일위대가가 있으면 **후보로 보여준다** — 임의로 고르지 않는다 # (CLAUDE.md 3장 「미결 항목 임의 확정 금지」, B08 `mapping_pending_user` 와 같은 태도). + # 한 층 아래 공종 + **규격 갈래**(`#무근구조물`) 둘 다 후보로 본다. children = sorted( code for code in unit_prices.book.titles - if code.startswith(f"{price_code}-") and code.count("-") == price_code.count("-") + 1 + if ( + code.startswith(f"{price_code}-") + and code.count("-") == price_code.count("-") + 1 + and "#" not in code + ) + or code.startswith(f"{price_code}#") ) if children: names = ", ".join(f"{c[2:]} {unit_prices.book.title(c).name}" for c in children) diff --git a/B09_Estimation/B09_Estimation_ResourceAxis_Transposed.py b/B09_Estimation/B09_Estimation_ResourceAxis_Transposed.py index 5fbccb26..d19e8956 100644 --- a/B09_Estimation/B09_Estimation_ResourceAxis_Transposed.py +++ b/B09_Estimation/B09_Estimation_ResourceAxis_Transposed.py @@ -38,6 +38,64 @@ def _normalize_label(text: str) -> str: return "".join(str(text).split()) +#: 「계」 열 — **가공 + 조립을 이미 더한 값**이다. 같이 읽으면 두 번 센다(㉤ 열 방향). +_SUM_GROUP_LABELS = ("계", "합계", "소계", "총계") + + +def _sum_group_positions(headers: list, resource_count: int) -> set: + """「계」 묶음이 차지하는 열 번호. 2단 머리에서 묶음 하나가 여러 열을 먹는다. + + 첫 줄이 `구조별 | 가공 | 조립 | 계` 이고 둘째 줄이 `철근공 | 보통인부` × 3 벌이면 + 묶음 하나가 **2열씩** 차지한다. 「계」 묶음의 열은 통째로 뺀다. + """ + groups = [str(h).strip() for h in headers[1:]] + if not groups or resource_count % len(groups) != 0: + return set() + per_group = resource_count // len(groups) + blocked = set() + for index, group in enumerate(groups): + if "".join(group.split()) in _SUM_GROUP_LABELS: + start = index * per_group + blocked.update(range(start, start + per_group)) + return blocked + + +def second_row_columns(table: dict, catalog: ResourceCatalog): + """**첫 자료 행이 진짜 열 머리**인 2단 표를 읽는다. + + `condition_note` 가 공정(「가공·조립·계」)뿐이고 자원 이름이 그 아래 줄에 오는 표다 + (철근 현장가공 및 조립 12-3). 자원을 못 찾으면 빈 목록을 돌려준다. + """ + rows = table.get("raw_row") or [] + if not rows: + return [], 0 + header_row = [str(c).strip() for c in rows[0]] + found = [] + for position, cell in enumerate(header_row): + if not cell: + continue + name, spec = split_name_and_spec(cell) + 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)) + if len(found) < 2: + return [], 0 + + # ⚠ 「계」 묶음은 뺀다 — 가공 + 조립을 이미 더한 값이라 같이 읽으면 두 번 센다. + blocked = _sum_group_positions(table.get("condition_note") or [], len(found)) + # ⚠ 머리 줄에는 **갈래 칸이 없다** — 자료 행은 첫 칸이 갈래 이름이라 한 칸 밀려 있다. + # 이 보정을 빼면 갈래 이름 칸을 자원 값으로 읽는다. + kept = [ + (position + 1, entry) + for order, (position, entry) in enumerate(found) + if order not in blocked + ] + return kept, 1 + + def transposed_columns(table: dict[str, Any], catalog: ResourceCatalog) -> list[tuple[int, Any]]: """열 머리에서 자원을 찾는다. `[(열 번호, 카탈로그 줄)]`. @@ -71,6 +129,10 @@ def match_transposed_table( 「철근구조물」은 품이 달라 **한 일위대가로 뭉치면 안 된다**. """ columns = transposed_columns(table, catalog) + skip_rows = 0 + if not columns: + # 자원 이름이 **둘째 줄**에 오는 2단 표일 수 있다. + columns, skip_rows = second_row_columns(table, catalog) if not columns: return False @@ -78,8 +140,11 @@ def match_transposed_table( # (「거리 | 보통인부 | 거리 | 보통인부」) 오른쪽 판의 **거리값이 인원으로** 읽힌다 # — 2026-09-08 실측: 소운반이 「보통인부 60인」이 되어 단가가 1,553만원으로 섰다. # 판 경계를 짐작해 읽지 않는다. + # ⚠ 2단 표에서는 **같은 직종이 공정마다 되풀이되는 것이 정상**이다 + # (철근 12-3: 가공 철근공 + 조립 철근공 = 합쳐야 맞는 값). 되풀이 금지는 + # **1단 표에만** 건다 — 거기서만 「두 판이 좌우로 붙은 표」를 뜻한다. codes = [entry.code for _, entry in columns] - if len(codes) != len(set(codes)): + if skip_rows == 0 and len(codes) != len(set(codes)): result.unmatched.append( UnmatchedRow( work_item_code=node.get("work_item_code", ""), @@ -94,7 +159,7 @@ def match_transposed_table( # 떨어져 나가면 「상」이 두 번 나오고, 그대로 두면 서로 다른 등급의 품이 **합산**된다 # (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] + labels = [str(row[0]).strip() for row in (table.get("raw_row") or [])[skip_rows:] if row] repeated = {label for label in labels if label and labels.count(label) > 1} work_item_code = node.get("work_item_code", "") @@ -103,6 +168,8 @@ def match_transposed_table( matched_any = False for index, row in enumerate(table.get("raw_row", [])): + if index < skip_rows: + continue # 그 줄은 자료가 아니라 **열 머리**다 cells = [str(c) for c in row] if not cells: continue 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 bdf32dd5..b48feb7b 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 @@ -7,6 +7,216 @@ "work_item_axis_owner": "B08" }, "rows": [ + { + "amount": "0.14", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "16~20cm", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.28", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 1, + "resource_code": "1037", + "resource_kind": "labor", + "resource_name": "벌목부", + "resource_spec": "", + "variant": "16~20cm", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.28", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "16~20cm", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.18", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 2, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "22~30cm", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.36", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 2, + "resource_code": "1037", + "resource_kind": "labor", + "resource_name": "벌목부", + "resource_spec": "", + "variant": "22~30cm", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.36", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "22~30cm", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.27", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 3, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "32~40cm", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.53", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 3, + "resource_code": "1037", + "resource_kind": "labor", + "resource_name": "벌목부", + "resource_spec": "", + "variant": "32~40cm", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.53", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "32~40cm", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.35", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 4, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "42~50cm", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.70", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 4, + "resource_code": "1037", + "resource_kind": "labor", + "resource_name": "벌목부", + "resource_spec": "", + "variant": "42~50cm", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.70", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 4, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "42~50cm", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.38", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 5, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "52cm이상", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.75", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 5, + "resource_code": "1037", + "resource_kind": "labor", + "resource_name": "벌목부", + "resource_spec": "", + "variant": "52cm이상", + "work_item_code": "FP-04-03" + }, + { + "amount": "0.75", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0088", + "raw_row_index": 5, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "52cm이상", + "work_item_code": "FP-04-03" + }, { "amount": "0.42", "amount_unit": "", @@ -49,6 +259,734 @@ "variant": "", "work_item_code": "FP-05-01-01" }, + { + "amount": "0.072", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "1.0 이하", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.012", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "1.0 이하", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.084", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 2, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "1.1∼1.5", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.024", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "1.1∼1.5", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.096", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 3, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "1.6∼2.0", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.024", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "1.6∼2.0", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.120", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 4, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "2.1∼2.5", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.036", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 4, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "2.1∼2.5", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.132", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 5, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "2.6∼3.0", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.036", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 5, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "2.6∼3.0", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.156", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 6, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "3.1∼3.5", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.036", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 6, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "3.1∼3.5", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.180", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 7, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "3.6∼4.0", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.048", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 7, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "3.6∼4.0", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.204", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 8, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "4.1∼4.5", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.048", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 8, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "4.1∼4.5", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.228", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 9, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "4.6∼5.0", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.060", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0093", + "raw_row_index": 9, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "4.6∼5.0", + "work_item_code": "FP-05-01-02" + }, + { + "amount": "0.096", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "4이하", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.024", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "4이하", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.120", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 2, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "5(4이하)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.036", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "5(4이하)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.204", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 3, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "6 ∼ 7(5 ∼ 6)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.048", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "6 ∼ 7(5 ∼ 6)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.324", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 4, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "8 ∼ 9(7 ∼ 8)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.084", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 4, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "8 ∼ 9(7 ∼ 8)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.180", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 5, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "10 ∼ 11(9)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.072", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 5, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "10 ∼ 11(9)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.312", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 6, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "12 ∼ 14(10 ∼ 12)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.096", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 6, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "12 ∼ 14(10 ∼ 12)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.480", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 7, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "15 ∼ 17(13 ∼ 14)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.120", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 7, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "15 ∼ 17(13 ∼ 14)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.612", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 8, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "18 ∼ 19(15 ∼ 16)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.132", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 8, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "18 ∼ 19(15 ∼ 16)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.804", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 9, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "20 ∼ 24(17 ∼ 20)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.156", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 9, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "20 ∼ 24(17 ∼ 20)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "1.080", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 10, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "25 ∼ 29(21 ∼ 24)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.192", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 10, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "25 ∼ 29(21 ∼ 24)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "1.344", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 11, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "30 ∼ 34(25 ∼ 28)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.228", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 11, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "30 ∼ 34(25 ∼ 28)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "1.620", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 12, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "35 ∼ 39(29 ∼ 32)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.264", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 12, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "35 ∼ 39(29 ∼ 32)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "1.884", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 13, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "40 ∼ 44(33 ∼ 37)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.300", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 13, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "40 ∼ 44(33 ∼ 37)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "2.160", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 14, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "45 ∼ 49(38 ∼ 41)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.336", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 14, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "45 ∼ 49(38 ∼ 41)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "2.424", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 15, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "50 ∼ 54(42 ∼ 45)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.372", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 15, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "50 ∼ 54(42 ∼ 45)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "2.700", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 16, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "55 ∼ 59(46 ∼ 49)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.408", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 16, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "55 ∼ 59(46 ∼ 49)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "2.856", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 17, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "60(50)", + "work_item_code": "FP-05-01-03" + }, + { + "amount": "0.432", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0094", + "raw_row_index": 17, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "60(50)", + "work_item_code": "FP-05-01-03" + }, { "amount": "3.0", "amount_unit": "", @@ -77,6 +1015,622 @@ "variant": "평떼", "work_item_code": "FP-05-01-04" }, + { + "amount": "0.03", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "3", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.01", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "3", + "work_item_code": "FP-05-02" + }, + { + "amount": "36", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "3", + "work_item_code": "FP-05-02" + }, + { + "amount": "1.86", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "3", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.06", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 2, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "5", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.01", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "5", + "work_item_code": "FP-05-02" + }, + { + "amount": "42", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 2, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "5", + "work_item_code": "FP-05-02" + }, + { + "amount": "2.04", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "5", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.11", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 3, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "7", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.01", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "7", + "work_item_code": "FP-05-02" + }, + { + "amount": "48", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 3, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "7", + "work_item_code": "FP-05-02" + }, + { + "amount": "2.32", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "7", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.17", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 4, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "9", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.02", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 4, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "9", + "work_item_code": "FP-05-02" + }, + { + "amount": "54", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 4, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "9", + "work_item_code": "FP-05-02" + }, + { + "amount": "2.79", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 4, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "9", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.23", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 5, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "11", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.03", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 5, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "11", + "work_item_code": "FP-05-02" + }, + { + "amount": "60", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 5, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "11", + "work_item_code": "FP-05-02" + }, + { + "amount": "3.07", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 5, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "11", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.30", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 6, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "13", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.03", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 6, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "13", + "work_item_code": "FP-05-02" + }, + { + "amount": "66", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 6, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "13", + "work_item_code": "FP-05-02" + }, + { + "amount": "4.18", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 6, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "13", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.37", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 7, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "15", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.05", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 7, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "15", + "work_item_code": "FP-05-02" + }, + { + "amount": "72", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 7, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "15", + "work_item_code": "FP-05-02" + }, + { + "amount": "4.65", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 7, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "15", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.56", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 8, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "18", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.06", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 8, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "18", + "work_item_code": "FP-05-02" + }, + { + "amount": "78", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 8, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "18", + "work_item_code": "FP-05-02" + }, + { + "amount": "5.21", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 8, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "18", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.65", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 9, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "21", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.08", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 9, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "21", + "work_item_code": "FP-05-02" + }, + { + "amount": "84", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 9, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "21", + "work_item_code": "FP-05-02" + }, + { + "amount": "6.51", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 9, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "21", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.74", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 10, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "24", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.09", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 10, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "24", + "work_item_code": "FP-05-02" + }, + { + "amount": "90", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 10, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "24", + "work_item_code": "FP-05-02" + }, + { + "amount": "7.06", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 10, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "24", + "work_item_code": "FP-05-02" + }, + { + "amount": "1.58", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 11, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "30", + "work_item_code": "FP-05-02" + }, + { + "amount": "0.19", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 11, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "30", + "work_item_code": "FP-05-02" + }, + { + "amount": "100", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 11, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "30", + "work_item_code": "FP-05-02" + }, + { + "amount": "7.90", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0098", + "raw_row_index": 11, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "30", + "work_item_code": "FP-05-02" + }, { "amount": "0.19", "amount_unit": "", @@ -133,6 +1687,426 @@ "variant": "", "work_item_code": "FP-05-03-03" }, + { + "amount": "0.10", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "4(5)이하", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.06", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "4(5)이하", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.17", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 2, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "5(6)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.08", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "5(6)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.26", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 3, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "6 ∼ 7(7 ∼ 8)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.13", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "6 ∼ 7(7 ∼ 8)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.19", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 4, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "8 ∼ 9(9 ∼ 11)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.11", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 4, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "8 ∼ 9(9 ∼ 11)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.24", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 5, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "10 ∼ 11(12 ∼ 13)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.13", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 5, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "10 ∼ 11(12 ∼ 13)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.31", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 6, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "12 ∼ 14(14 ∼ 17)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.15", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 6, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "12 ∼ 14(14 ∼ 17)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.39", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 7, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "15 ∼ 17(18 ∼ 20)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.17", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 7, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "15 ∼ 17(18 ∼ 20)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.47", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 8, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "18 ∼ 19(21 ∼ 23)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.20", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 8, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "18 ∼ 19(21 ∼ 23)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.56", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 9, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "20 ∼ 24(24 ∼ 29)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.22", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 9, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "20 ∼ 24(24 ∼ 29)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.69", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 10, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "25 ∼ 29(30 ∼ 35)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.26", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 10, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "25 ∼ 29(30 ∼ 35)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.83", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 11, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "30 ∼ 34(36 ∼ 41)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.30", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 11, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "30 ∼ 34(36 ∼ 41)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.97", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 12, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "35 ∼ 39(42 ∼ 47)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.35", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 12, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "35 ∼ 39(42 ∼ 47)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "1.11", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 13, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "40 ∼ 44(48 ∼ 53)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.38", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 13, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "40 ∼ 44(48 ∼ 53)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "1.24", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 14, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "45 ∼ 49(54 ∼ 59)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.43", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 14, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "45 ∼ 49(54 ∼ 59)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "1.33", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 15, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "50(60)", + "work_item_code": "FP-05-03-05" + }, + { + "amount": "0.45", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0106", + "raw_row_index": 15, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "50(60)", + "work_item_code": "FP-05-03-05" + }, { "amount": "0.47", "amount_unit": "", @@ -623,6 +2597,174 @@ "variant": "", "work_item_code": "FP-06-07-02" }, + { + "amount": "0.2352", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0228", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "무인헬기 (ha당)", + "work_item_code": "FP-08-06-02" + }, + { + "amount": "0.1193", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0228", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "무인헬기 (ha당)", + "work_item_code": "FP-08-06-02" + }, + { + "amount": "0.0067", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0228", + "raw_row_index": 3, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "취수 및 약제조제", + "work_item_code": "FP-08-06-02" + }, + { + "amount": "0.0067", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0228", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "취수 및 약제조제", + "work_item_code": "FP-08-06-02" + }, + { + "amount": "0.1126", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0228", + "raw_row_index": 5, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "주유 및 약제충전 기체정비", + "work_item_code": "FP-08-06-02" + }, + { + "amount": "0.1126", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0228", + "raw_row_index": 5, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "주유 및 약제충전 기체정비", + "work_item_code": "FP-08-06-02" + }, + { + "amount": "0.3148", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0229", + "raw_row_index": 1, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "멀티콥터 (ha당)", + "work_item_code": "FP-08-06-02" + }, + { + "amount": "0.2099", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0229", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "멀티콥터 (ha당)", + "work_item_code": "FP-08-06-02" + }, + { + "amount": "0.0067", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0229", + "raw_row_index": 3, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "취수 및 약제조제", + "work_item_code": "FP-08-06-02" + }, + { + "amount": "0.0067", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0229", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "취수 및 약제조제", + "work_item_code": "FP-08-06-02" + }, + { + "amount": "0.2032", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0229", + "raw_row_index": 5, + "resource_code": "1003", + "resource_kind": "labor", + "resource_name": "특별인부", + "resource_spec": "", + "variant": "기체 및 약제충전 기체정비", + "work_item_code": "FP-08-06-02" + }, + { + "amount": "0.2032", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0229", + "raw_row_index": 5, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "기체 및 약제충전 기체정비", + "work_item_code": "FP-08-06-02" + }, { "amount": "0.75", "amount_unit": "", @@ -1701,6 +3843,314 @@ "variant": "소형구조물", "work_item_code": "FP-12-01-03" }, + { + "amount": "0.9", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0361", + "raw_row_index": 1, + "resource_code": "1013", + "resource_kind": "labor", + "resource_name": "콘크리트공", + "resource_spec": "", + "variant": "1:2:4", + "work_item_code": "FP-12-02" + }, + { + "amount": "1.0", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0361", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "1:2:4", + "work_item_code": "FP-12-02" + }, + { + "amount": "0.9", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0361", + "raw_row_index": 2, + "resource_code": "1013", + "resource_kind": "labor", + "resource_name": "콘크리트공", + "resource_spec": "", + "variant": "1:3:6", + "work_item_code": "FP-12-02" + }, + { + "amount": "0.9", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0361", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "1:3:6", + "work_item_code": "FP-12-02" + }, + { + "amount": "0.9", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0361", + "raw_row_index": 3, + "resource_code": "1013", + "resource_kind": "labor", + "resource_name": "콘크리트공", + "resource_spec": "", + "variant": "1:4:8", + "work_item_code": "FP-12-02" + }, + { + "amount": "0.7", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0361", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "1:4:8", + "work_item_code": "FP-12-02" + }, + { + "amount": "1.07", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 1, + "resource_code": "1008", + "resource_kind": "labor", + "resource_name": "철근공", + "resource_spec": "", + "variant": "간 단", + "work_item_code": "FP-12-03" + }, + { + "amount": "0.35", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "간 단", + "work_item_code": "FP-12-03" + }, + { + "amount": "1.69", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 1, + "resource_code": "1008", + "resource_kind": "labor", + "resource_name": "철근공", + "resource_spec": "", + "variant": "간 단", + "work_item_code": "FP-12-03" + }, + { + "amount": "0.69", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "간 단", + "work_item_code": "FP-12-03" + }, + { + "amount": "1.24", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 2, + "resource_code": "1008", + "resource_kind": "labor", + "resource_name": "철근공", + "resource_spec": "", + "variant": "보 통", + "work_item_code": "FP-12-03" + }, + { + "amount": "0.45", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "보 통", + "work_item_code": "FP-12-03" + }, + { + "amount": "1.84", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 2, + "resource_code": "1008", + "resource_kind": "labor", + "resource_name": "철근공", + "resource_spec": "", + "variant": "보 통", + "work_item_code": "FP-12-03" + }, + { + "amount": "0.75", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 2, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "보 통", + "work_item_code": "FP-12-03" + }, + { + "amount": "1.51", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 3, + "resource_code": "1008", + "resource_kind": "labor", + "resource_name": "철근공", + "resource_spec": "", + "variant": "복 잡", + "work_item_code": "FP-12-03" + }, + { + "amount": "0.50", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "복 잡", + "work_item_code": "FP-12-03" + }, + { + "amount": "1.92", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 3, + "resource_code": "1008", + "resource_kind": "labor", + "resource_name": "철근공", + "resource_spec": "", + "variant": "복 잡", + "work_item_code": "FP-12-03" + }, + { + "amount": "0.80", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 3, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "복 잡", + "work_item_code": "FP-12-03" + }, + { + "amount": "1.69", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 4, + "resource_code": "1008", + "resource_kind": "labor", + "resource_name": "철근공", + "resource_spec": "", + "variant": "매우복잡", + "work_item_code": "FP-12-03" + }, + { + "amount": "0.60", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 4, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "매우복잡", + "work_item_code": "FP-12-03" + }, + { + "amount": "2.14", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 4, + "resource_code": "1008", + "resource_kind": "labor", + "resource_name": "철근공", + "resource_spec": "", + "variant": "매우복잡", + "work_item_code": "FP-12-03" + }, + { + "amount": "0.86", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0335", + "raw_row_index": 4, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "매우복잡", + "work_item_code": "FP-12-03" + }, { "amount": "0.22", "amount_unit": "", @@ -2792,12 +5242,12 @@ "sha256": "593653135d5a2871180e7a3921f9238629b275438ef47230412aa21e9bdd80c0" }, "stats": { - "rows": 198, + "rows": 373, "skipped_forms": { "coefficient": 19, "reference": 98, "undetermined": 76 }, - "unmatched": 307 + "unmatched": 324 } } \ 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 0a0c37a9..da7f6280 100644 --- a/resources/data_cost_resource_axis/unmatched_2026-01-01.json +++ b/resources/data_cost_resource_axis/unmatched_2026-01-01.json @@ -680,6 +680,60 @@ "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "work_item_code": "FP-07-13" }, + { + "cell": "600개 이하", + "pum_table_id": "F0201", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-08-01-01" + }, + { + "cell": "1,300개 이하", + "pum_table_id": "F0201", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-08-01-01" + }, + { + "cell": "2,000개 이하", + "pum_table_id": "F0201", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-08-01-01" + }, + { + "cell": "2,700개 이하", + "pum_table_id": "F0201", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-08-01-01" + }, + { + "cell": "3,400개 이하", + "pum_table_id": "F0201", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-08-01-01" + }, + { + "cell": "4,100개 이하", + "pum_table_id": "F0201", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-08-01-01" + }, + { + "cell": "300개 이하", + "pum_table_id": "F0202", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-08-01-02" + }, + { + "cell": "900개 이하", + "pum_table_id": "F0202", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-08-01-02" + }, + { + "cell": "1,500개 이하", + "pum_table_id": "F0202", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-08-01-02" + }, { "cell": "경비(기계경비)", "pum_table_id": "F0454", @@ -716,6 +770,78 @@ "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": "소형헬기 (160ha당)", "pum_table_id": "F0225", @@ -794,77 +920,41 @@ "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": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", "work_item_code": "FP-08-06-02" }, { "cell": "이착륙장 정리(1개소/4ha)", "pum_table_id": "F0229", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "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": "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": "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": "F0229", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-02" + "cell": "물주입, 살포", + "pum_table_id": "F0230", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-08-06-03" }, { "cell": "차량살포 (동력분무기)", @@ -902,6 +992,42 @@ "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "work_item_code": "FP-08-09" }, + { + "cell": "1㎥", + "pum_table_id": "F0236", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-08-10" + }, + { + "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": "2㎥", + "pum_table_id": "F0236", + "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-08-10" + }, + { + "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": "벌목조재", "pum_table_id": "F0236", @@ -1358,30 +1484,6 @@ "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "work_item_code": "FP-10-10-02" }, - { - "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",