From 06329e2101b4d3437465639b0149f4c7c4bea77c Mon Sep 17 00:00:00 2001 From: umsangdon Date: Tue, 8 Sep 2026 01:05:11 +0900 Subject: [PATCH] =?UTF-8?q?fix(B09):=20=ED=91=9C=20=EC=9E=90=EB=A6=AC=20?= =?UTF-8?q?=EB=A7=9E=EC=B6=A4=EC=9D=84=20=EA=B0=9C=EC=88=98=20=EB=8C=80?= =?UTF-8?q?=EC=A1=B0=EB=A1=9C=20=EB=B0=94=EA=BF=94=20=EC=A1=B0=EC=9A=A9?= =?UTF-8?q?=ED=95=9C=20=EC=98=A4=EB=8F=85=203=EC=A2=85=20=EC=B0=A8?= =?UTF-8?q?=EB=8B=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2단 표를 열자마자 과잉 매칭이 드러남 — 자원 축이 208 → 373 으로 뛰고 최대 단가가 2,436만원이 됨. 「한 칸 밀림」 가정이 표마다 안 맞았음 - **좌우 두 판 + 2단 머리** — 뿌리돌림 05-2 는 `근원직경 | 수량 | 근원직경 | 수량`이라 오른쪽 판의 **직경 100 이 「특별인부 100인」**으로 읽혔음. 첫 줄 머리가 되풀이되면 2단이라도 버림 - **라벨 칸 수가 표마다 다름** — 드론방제 08-6-2 는 라벨이 둘(`구 분 | 항 목`). 고정 보정 대신 **숫자 칸을 순서대로** 맞추고 개수가 다르면 그 행을 버림. 또 머리 줄 이름을 하나라도 못 풀면 표째 버림 — 넷 중 둘만 풀린 채 숫자 둘이 **엉뚱한 직종**에 붙고 있었음 - **차원이 하나 더 있는 표** — 뭉기기 13-12-1 은 행이 공정, 숫자 칸이 토질 3갈래인데 자원 열은 하나뿐이라 **첫 토질 값만 조용히** 서고 있었음. 숫자 칸이 자원 열보다 많으면 버림 결과: 자원 축 231줄(갈래 88) · 일위대가 133 · 최대 5,030,954.6 (품셈대로인 값). 철근 12-3 과 콘크리트 타설 12-1 3갈래는 그대로 섬 검증: pytest 167 통과(신규 2). 갈래 표 5건 손대조 — 전부 표와 일치 Co-Authored-By: Claude Opus 5 (1M context) --- .../B09_Estimation_ResourceAxis_Transposed.py | 120 +- .../resource_axis_2026-01-01.json | 2146 +---------------- .../unmatched_2026-01-01.json | 488 ++-- 3 files changed, 380 insertions(+), 2374 deletions(-) diff --git a/B09_Estimation/B09_Estimation_ResourceAxis_Transposed.py b/B09_Estimation/B09_Estimation_ResourceAxis_Transposed.py index d19e8956..6da1c57c 100644 --- a/B09_Estimation/B09_Estimation_ResourceAxis_Transposed.py +++ b/B09_Estimation/B09_Estimation_ResourceAxis_Transposed.py @@ -69,6 +69,16 @@ def second_row_columns(table: dict, catalog: ResourceCatalog): rows = table.get("raw_row") or [] if not rows: return [], 0 + + # ⚠ **첫 줄 머리가 되풀이되면 좌우 두 판짜리 표다** — 2단이라도 마찬가지다 + # (뿌리돌림 05-2: `근원직경(㎝) | 수 량 | 근원직경(㎝) | 수 량`). + # 이걸 안 가르면 오른쪽 판의 **직경 100 이 「특별인부 100인」**으로 읽혀 + # 단가가 2,436만원으로 선다(2026-09-08 실측). 공정 머리(가공·조립·계)는 + # 되풀이가 없으므로 이 검사에 안 걸린다. + groups = ["".join(str(h).split()) for h in (table.get("condition_note") or [])[1:]] + if len(groups) != len(set(groups)): + return [], 0 + header_row = [str(c).strip() for c in rows[0]] found = [] for position, cell in enumerate(header_row): @@ -84,16 +94,20 @@ def second_row_columns(table: dict, catalog: ResourceCatalog): if len(found) < 2: return [], 0 + # ⚠ **머리 줄의 이름을 하나라도 못 풀면 자리를 맞출 수 없다.** 드론방제 08-6-2 는 + # 「드론조종자·부조종자」가 카탈로그에 없어 넷 중 둘만 풀리는데, 그대로 두면 + # 숫자 두 개짜리 행이 **엉뚱한 직종 둘**에 붙는다. 통째로 버린다. + named = [cell for cell in header_row if cell] + if len(found) != len(named): + return [], 0 + # ⚠ 「계」 묶음은 뺀다 — 가공 + 조립을 이미 더한 값이라 같이 읽으면 두 번 센다. + # ⚠ **자리를 고정 보정으로 맞추지 않는다.** 라벨 칸이 하나인 표도 둘인 표도 있어 + # (드론방제 08-6-2 는 `구 분 | 항 목` 둘) 「한 칸 밀림」으로 단정하면 값이 어긋난다 + # — 실측에서 「특별인부 0.2352」 자리에 다른 직종 값이 붙었다. + # 대신 **자료 행의 숫자 칸을 순서대로** 맞추고, 개수가 다르면 그 행을 버린다. 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 + return [(order, entry, order in blocked) for order, (_, entry) in enumerate(found)], 1 def transposed_columns(table: dict[str, Any], catalog: ResourceCatalog) -> list[tuple[int, Any]]: @@ -115,6 +129,73 @@ def transposed_columns(table: dict[str, Any], catalog: ResourceCatalog) -> list[ return found +def _match_two_row_table( + node: dict, + table: dict, + catalog: ResourceCatalog, + result: AxisResult, + unit: str, + ordinal: list, + skip_rows: int, +) -> bool: + """2단 표 — **숫자 칸을 순서대로** 자원에 맞춘다. + + 개수가 다른 행은 **버린다.** 라벨 칸 수가 표마다 달라(하나 또는 둘) 자리를 + 단정할 수 없기 때문이다. 「계」 묶음에 든 자원은 맞춘 뒤 뺀다 — + 가공 + 조립을 이미 더한 값이라 같이 세면 두 번이다. + """ + work_item_code = node.get("work_item_code", "") + table_id = str(table.get("pum_table_id", "")) + form = str(table.get("pum_form", "")) + rows = (table.get("raw_row") or [])[skip_rows:] + labels = [str(row[0]).strip() for row in rows if row] + repeated = {label for label in labels if label and labels.count(label) > 1} + matched = False + + for index, row in enumerate(rows): + cells = [str(c).strip() for c in row] + if not cells: + continue + variant = cells[0] + if not variant or _normalize_label(variant) in _TOTAL_LABELS or variant in repeated: + continue + numbers = [parse_amount(c) for c in cells[1:]] + numbers = [value for value in numbers if value is not None] + if len(numbers) != len(ordinal): + result.unmatched.append( + UnmatchedRow( + work_item_code=work_item_code, + pum_table_id=table_id, + cell=variant, + reason=( + f"숫자 칸 {len(numbers)} 개가 자원 열 {len(ordinal)} 개와 안 맞아 " + "버렸습니다(자리 밀림 방지)." + ), + ) + ) + continue + for (order, entry, blocked), amount in zip(ordinal, numbers): + if blocked: + continue # 「계」 묶음 — 이미 더한 값이다 + 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 + skip_rows, + variant=variant, + ) + ) + matched = True + return matched + + def match_transposed_table( node: dict[str, Any], table: dict[str, Any], @@ -130,9 +211,12 @@ def match_transposed_table( """ columns = transposed_columns(table, catalog) skip_rows = 0 + ordinal: list = [] if not columns: # 자원 이름이 **둘째 줄**에 오는 2단 표일 수 있다. - columns, skip_rows = second_row_columns(table, catalog) + ordinal, skip_rows = second_row_columns(table, catalog) + if ordinal: + return _match_two_row_table(node, table, catalog, result, unit, ordinal, skip_rows) if not columns: return False @@ -193,6 +277,24 @@ def match_transposed_table( # 첫 칸이 병합된 표에서 값이 한 칸씩 밀려 들어온다(2026-09-08 실측: 목재틀흙막이가 # 「건축목공 8.760」 자리에 등급 글자를 두어 단가가 503만원으로 섰다). # **밀린 행은 고쳐 읽지 않고 버린다** — 어느 칸이 어느 자원인지 단정할 수 없다. + # ⚠ **숫자 칸이 자원 열보다 많으면 차원이 하나 더 있는 표다.** + # 뭉기기 13-12-1 은 행이 공정, 숫자 칸이 토질 3갈래인데 열 머리엔 자원이 하나뿐이라 + # 그대로 두면 **첫 토질 값만 조용히 취한다**(보통토사 0.16 만 서고 나머지가 사라짐). + numeric_count = sum(1 for cell in cells[1:] if parse_amount(cell) is not None) + if numeric_count > len(columns): + result.unmatched.append( + UnmatchedRow( + work_item_code=work_item_code, + pum_table_id=table_id, + cell=variant, + reason=( + f"숫자 칸 {numeric_count} 개가 자원 열 {len(columns)} 개보다 많습니다 — " + "갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다." + ), + ) + ) + continue + readable = [ parse_amount(cells[position]) if position < len(cells) else None for position, _ in columns 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 b48feb7b..58ad3db3 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,216 +7,6 @@ "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": "", @@ -511,482 +301,6 @@ "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": "", @@ -1015,622 +329,6 @@ "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": "", @@ -1687,426 +385,6 @@ "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": "", @@ -2163,62 +441,6 @@ "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": "", @@ -2598,172 +820,88 @@ "work_item_code": "FP-06-07-02" }, { - "amount": "0.2352", - "amount_unit": "", + "amount": "0.8", + "amount_unit": "ha", "group_ratio_pct": null, "pum_form": "requirement", - "pum_table_id": "F0228", + "pum_table_id": "F0225", "raw_row_index": 1, "resource_code": "1003", "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", - "variant": "무인헬기 (ha당)", - "work_item_code": "FP-08-06-02" + "variant": "소형헬기 (160ha당)", + "work_item_code": "FP-08-06-01" }, { - "amount": "0.1193", - "amount_unit": "", + "amount": "8.2", + "amount_unit": "ha", "group_ratio_pct": null, "pum_form": "requirement", - "pum_table_id": "F0228", + "pum_table_id": "F0225", "raw_row_index": 1, "resource_code": "1002", "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", - "variant": "무인헬기 (ha당)", - "work_item_code": "FP-08-06-02" + "variant": "소형헬기 (160ha당)", + "work_item_code": "FP-08-06-01" }, { - "amount": "0.0067", - "amount_unit": "", + "amount": "2.1", + "amount_unit": "ha", "group_ratio_pct": null, "pum_form": "requirement", - "pum_table_id": "F0228", - "raw_row_index": 3, + "pum_table_id": "F0225", + "raw_row_index": 7, "resource_code": "1003", "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", - "variant": "취수 및 약제조제", - "work_item_code": "FP-08-06-02" + "variant": "대형헬기 (400ha당)", + "work_item_code": "FP-08-06-01" }, { - "amount": "0.0067", - "amount_unit": "", + "amount": "13.4", + "amount_unit": "ha", "group_ratio_pct": null, "pum_form": "requirement", - "pum_table_id": "F0228", - "raw_row_index": 3, + "pum_table_id": "F0225", + "raw_row_index": 7, "resource_code": "1002", "resource_kind": "labor", "resource_name": "보통인부", "resource_spec": "", - "variant": "취수 및 약제조제", - "work_item_code": "FP-08-06-02" + "variant": "대형헬기 (400ha당)", + "work_item_code": "FP-08-06-01" }, { - "amount": "0.1126", + "amount": "1.05", "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", + "pum_table_id": "F0230", "raw_row_index": 1, "resource_code": "1003", "resource_kind": "labor", "resource_name": "특별인부", "resource_spec": "", - "variant": "멀티콥터 (ha당)", - "work_item_code": "FP-08-06-02" + "variant": "차량살포 (동력분무기)", + "work_item_code": "FP-08-06-03" }, { - "amount": "0.2099", + "amount": "2.00", "amount_unit": "", "group_ratio_pct": null, "pum_form": "requirement", - "pum_table_id": "F0229", + "pum_table_id": "F0230", "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" + "variant": "차량살포 (동력분무기)", + "work_item_code": "FP-08-06-03" }, { "amount": "0.75", @@ -2772,11 +910,53 @@ "pum_form": "requirement", "pum_table_id": "F0236", "raw_row_index": 1, - "resource_code": "7930-0001", - "resource_kind": "machine", - "resource_name": "", - "resource_spec": "0.75", - "variant": "", + "resource_code": "1037", + "resource_kind": "labor", + "resource_name": "벌목부", + "resource_spec": "", + "variant": "1㎥", + "work_item_code": "FP-08-10" + }, + { + "amount": "0.23", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0236", + "raw_row_index": 1, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "1㎥", + "work_item_code": "FP-08-10" + }, + { + "amount": "1.50", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0236", + "raw_row_index": 4, + "resource_code": "1037", + "resource_kind": "labor", + "resource_name": "벌목부", + "resource_spec": "", + "variant": "2㎥", + "work_item_code": "FP-08-10" + }, + { + "amount": "0.46", + "amount_unit": "", + "group_ratio_pct": null, + "pum_form": "requirement", + "pum_table_id": "F0236", + "raw_row_index": 4, + "resource_code": "1002", + "resource_kind": "labor", + "resource_name": "보통인부", + "resource_spec": "", + "variant": "2㎥", "work_item_code": "FP-08-10" }, { @@ -3535,34 +1715,6 @@ "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": "", @@ -3843,90 +1995,6 @@ "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": "", @@ -4669,34 +2737,6 @@ "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": "", @@ -4977,34 +3017,6 @@ "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": "", @@ -5242,12 +3254,12 @@ "sha256": "593653135d5a2871180e7a3921f9238629b275438ef47230412aa21e9bdd80c0" }, "stats": { - "rows": 373, + "rows": 231, "skipped_forms": { "coefficient": 19, "reference": 98, "undetermined": 76 }, - "unmatched": 324 + "unmatched": 306 } } \ 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 da7f6280..caf29413 100644 --- a/resources/data_cost_resource_axis/unmatched_2026-01-01.json +++ b/resources/data_cost_resource_axis/unmatched_2026-01-01.json @@ -242,6 +242,12 @@ "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "work_item_code": "FP-04-02-02" }, + { + "cell": "비 고", + "pum_table_id": "F0093", + "reason": "숫자 칸 0 개가 자원 열 2 개와 안 맞아 버렸습니다(자리 밀림 방지).", + "work_item_code": "FP-05-01-02" + }, { "cell": "지게", "pum_table_id": "F0097", @@ -338,6 +344,54 @@ "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "work_item_code": "FP-05-08" }, + { + "cell": "절 취", + "pum_table_id": "F0121", + "reason": "숫자 칸 3 개가 자원 열 1 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-05-16-01" + }, + { + "cell": "수평잡기 및 단정리", + "pum_table_id": "F0121", + "reason": "숫자 칸 3 개가 자원 열 1 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-05-16-01" + }, + { + "cell": "잡석 및 뿌리 정리", + "pum_table_id": "F0121", + "reason": "숫자 칸 3 개가 자원 열 1 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-05-16-01" + }, + { + "cell": "절·성토면 고르기", + "pum_table_id": "F0121", + "reason": "숫자 칸 3 개가 자원 열 1 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", + "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": "F0121", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-05-16-01" + }, { "cell": "표토절취", "pum_table_id": "F0126", @@ -680,60 +734,6 @@ "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", @@ -770,214 +770,100 @@ "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", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-01" - }, - { - "cell": "사전조사", - "pum_table_id": "F0225", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-01" - }, - { - "cell": "헬기장정리", - "pum_table_id": "F0225", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-01" - }, - { - "cell": "깃발설치", - "pum_table_id": "F0225", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-01" - }, - { - "cell": "양수기설치", - "pum_table_id": "F0225", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-01" - }, - { - "cell": "약제조제", - "pum_table_id": "F0225", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-01" - }, - { - "cell": "대형헬기 (400ha당)", - "pum_table_id": "F0225", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-01" - }, - { - "cell": "사전조사", - "pum_table_id": "F0225", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-01" - }, - { - "cell": "헬기장정리", - "pum_table_id": "F0225", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-01" - }, - { - "cell": "깃발설치", - "pum_table_id": "F0225", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-01" - }, - { - "cell": "양수기설치", - "pum_table_id": "F0225", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-01" - }, - { - "cell": "약제조제", - "pum_table_id": "F0225", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-01" - }, { "cell": "유인헬기", "pum_table_id": "F0226", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "work_item_code": "FP-08-06-01" }, + { + "cell": "무인헬기 (ha당)", + "pum_table_id": "F0228", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, { "cell": "이착륙장 정리(1개소/4ha)", "pum_table_id": "F0228", - "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "취수 및 약제조제", + "pum_table_id": "F0228", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "약제살포", + "pum_table_id": "F0228", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "주유 및 약제충전 기체정비", + "pum_table_id": "F0228", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "비행준비", + "pum_table_id": "F0228", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "멀티콥터 (ha당)", + "pum_table_id": "F0229", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "work_item_code": "FP-08-06-02" }, { "cell": "이착륙장 정리(1개소/4ha)", "pum_table_id": "F0229", - "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "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": "F0229", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "기체 및 약제충전 기체정비", + "pum_table_id": "F0229", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" + }, + { + "cell": "비행준비", + "pum_table_id": "F0229", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-08-06-02" }, { "cell": "사전조사", "pum_table_id": "F0230", - "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "reason": "숫자 칸 1 개가 자원 열 2 개와 안 맞아 버렸습니다(자리 밀림 방지).", "work_item_code": "FP-08-06-03" }, { "cell": "운전", "pum_table_id": "F0230", - "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "reason": "숫자 칸 1 개가 자원 열 2 개와 안 맞아 버렸습니다(자리 밀림 방지).", "work_item_code": "FP-08-06-03" }, { "cell": "물주입, 살포", "pum_table_id": "F0230", - "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", - "work_item_code": "FP-08-06-03" - }, - { - "cell": "차량살포 (동력분무기)", - "pum_table_id": "F0230", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-03" - }, - { - "cell": "사전조사", - "pum_table_id": "F0230", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-03" - }, - { - "cell": "운전", - "pum_table_id": "F0230", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-06-03" - }, - { - "cell": "물주입, 살포", - "pum_table_id": "F0230", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "reason": "숫자 칸 1 개가 자원 열 2 개와 안 맞아 버렸습니다(자리 밀림 방지).", "work_item_code": "FP-08-06-03" }, { @@ -992,66 +878,6 @@ "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", - "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", - "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", - "work_item_code": "FP-08-10" - }, { "cell": "대형브레이커+ 유압식백호우 (무한궤도,0.7㎥)", "pum_table_id": "F0241", @@ -1460,6 +1286,18 @@ "reason": "열 머리가 되풀이되는 두 판 짜리 표 — 자리를 단정할 수 없어 버렸습니다.", "work_item_code": "FP-10-06-01" }, + { + "cell": "콘크리트", + "pum_table_id": "F0313", + "reason": "숫자 칸 2 개가 자원 열 1 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-10-08-01" + }, + { + "cell": "제 자재", + "pum_table_id": "F0313", + "reason": "숫자 칸 2 개가 자원 열 1 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-10-08-01" + }, { "cell": "〃", "pum_table_id": "F0313", @@ -1472,6 +1310,18 @@ "reason": "같은 갈래 이름이 두 번 나오는 표 — 등급을 단정할 수 없어 버렸습니다.", "work_item_code": "FP-10-08-01" }, + { + "cell": "콘크리트", + "pum_table_id": "F0313", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-10-08-01" + }, + { + "cell": "제 자재", + "pum_table_id": "F0313", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-10-08-01" + }, { "cell": "버켓 손료", "pum_table_id": "F0317", @@ -1778,6 +1628,24 @@ "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "work_item_code": "FP-13-03" }, + { + "cell": "기초다짐 뒷채움", + "pum_table_id": "F0403", + "reason": "숫자 칸 4 개가 자원 열 1 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-13-03-02" + }, + { + "cell": "75이상", + "pum_table_id": "F0403", + "reason": "숫자 칸 4 개가 자원 열 1 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-13-03-02" + }, + { + "cell": "기초다짐 뒷채움", + "pum_table_id": "F0403", + "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", + "work_item_code": "FP-13-03-02" + }, { "cell": "굴 삭 기 (무한궤도)", "pum_table_id": "F0419", @@ -1793,43 +1661,43 @@ { "cell": "8 9", "pum_table_id": "F0430", - "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "reason": "숫자 칸 8 개가 자원 열 3 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", "work_item_code": "FP-13-10-02" }, { "cell": "12", "pum_table_id": "F0430", - "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "reason": "숫자 칸 8 개가 자원 열 3 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", "work_item_code": "FP-13-10-02" }, { "cell": "15", "pum_table_id": "F0430", - "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "reason": "숫자 칸 8 개가 자원 열 3 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", "work_item_code": "FP-13-10-02" }, { "cell": "18", "pum_table_id": "F0430", - "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "reason": "숫자 칸 8 개가 자원 열 3 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", "work_item_code": "FP-13-10-02" }, { "cell": "21", "pum_table_id": "F0430", - "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "reason": "숫자 칸 8 개가 자원 열 3 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", "work_item_code": "FP-13-10-02" }, { "cell": "24", "pum_table_id": "F0430", - "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "reason": "숫자 칸 8 개가 자원 열 3 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", "work_item_code": "FP-13-10-02" }, { "cell": "27", "pum_table_id": "F0430", - "reason": "자원 열의 값이 한 칸 밀린 행 — 자리를 단정할 수 없어 버렸습니다.", + "reason": "숫자 칸 8 개가 자원 열 3 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", "work_item_code": "FP-13-10-02" }, { @@ -1904,6 +1772,30 @@ "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "work_item_code": "FP-13-11-02" }, + { + "cell": "절 취(㎥)", + "pum_table_id": "F0437", + "reason": "숫자 칸 3 개가 자원 열 1 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-13-12-01" + }, + { + "cell": "투 입(㎥)", + "pum_table_id": "F0437", + "reason": "숫자 칸 3 개가 자원 열 1 개보다 많습니다 — 갈래가 하나 더 있는 표라 자리를 단정할 수 없어 버렸습니다.", + "work_item_code": "FP-13-12-01" + }, + { + "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",