fix(B09): 넓은 필터가 정상 자원 70건을 지우고 있었음 — 조회 우선으로 바꿈

메인의 `막자갈`→배합 `자갈` 오탐 사례를 전해 듣고 내 필터를 재 봤더니 **같은 병이 있었음.**

- **실측** — `is_non_resource_label()` 이 머리글 낱말을 **부분일치**로 보고 있어
  `건설기계운전사`·`일반기계운전사`·`작업반장`·`인력운반공`·`비계공`·`계장공` 등
  **정상 자원 70 / 745** 를 「자원 아님」으로 지우고 있었음(「계」·「작업」·「인력」에 걸림).
  그 탓에 **매칭 14건이 조용히 없어졌음**.
- **고침 둘**
  ① 머리글 판정을 **정확 일치 + 머리글 낱말 조합**(「단위작업별」·「위치및면적」)으로 좁힘.
  ② **카탈로그 조회를 필터보다 먼저** 함 — 카탈로그에 있는 이름은 **정의상 자원**이라,
     필터가 넓어져도 정상 자원이 안 사라지는 구조가 됨.
- **결과** — 매칭 91 → **106**(노무 100 · 기종 6). 산출 파일 다시 냄.

**오탐 짝 시험을 함께 넣음** (「걸려야 한다」 + **「걸리면 안 된다」**)
- 머리글 필터 — 정상 자원 8종은 안 먹고 머리글 7종은 잡는지.
- ㉡ 무대 — 이름에 「운반」이 든 `도자운반`·`덤프운반` 줄은 **안 걸리는지**
  (판정을 이름이 아니라 `equipment` 정확 일치로 하는 근거).
- ㉣ 효율 — 손료계수 0.0002085·조종원 0.125 처럼 **0~1 이지만 효율이 아닌 값**은
  안 걸리는지(효율 자리로 들어올 때만 막는 근거).

**덤으로 잡은 것** — 상세가 하나도 안 붙는 일위대가가 **제목만 서서** 「상세 줄이 없어
단가를 못 조립」하는 상태가 있었음. **붙을 상세를 먼저 모으고 없으면 제목도 안 세움**
(일위대가 67 · 건너뜀 1). 전수 시험(`모든 일위대가 총액 > 0`)이 이걸 잡았음.

PLAN 9-6 에 ㉤(열 방향 검사, 이중계상 규칙이 아니라 표 정합 검사)과 이번 필터 교훈 기록.

자체검증 — `pytest tmp/tests/ -q` **123 passed** · ruff 통과.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-07 23:33:42 +09:00
co-authored by Claude Opus 5
parent f2d12afef7
commit 3762a06b25
4 changed files with 674 additions and 15 deletions
+28 -4
View File
@@ -41,8 +41,12 @@ _CATALOG_SUBPATH = ("resources", "data_cost_input_value")
_RE_SPEC = re.compile(r"[(]([^)]+)[)]|(\d+(?:\.\d+)?\s*(?:톤|ton|㎥|m3|㎡|㎜|mm|HP|kW))") _RE_SPEC = re.compile(r"[(]([^)]+)[)]|(\d+(?:\.\d+)?\s*(?:톤|ton|㎥|m3|㎡|㎜|mm|HP|kW))")
_RE_NUMBER = re.compile(r"^-?\d+(?:,\d{3})*(?:\.\d+)?$") _RE_NUMBER = re.compile(r"^-?\d+(?:,\d{3})*(?:\.\d+)?$")
#: 표 머리글·소계 행의 첫 칸에 흔히 오는 말. 자원이 아니므로 `unmatched` 로도 안 올린다. #: 표 머리글·소계 행의 첫 칸에 오는 말. 자원이 아니므로 `unmatched` 로도 안 올린다.
#: 이것을 안 거르면 못 맞춘 목록이 머리글로 가득 차 **쓸 수 없는 목록**이 된다. #: 이것을 안 거르면 못 맞춘 목록이 머리글로 가득 차 **쓸 수 없는 목록**이 된다.
#: ⚠ **부분일치로 보면 안 된다.** 「계」를 부분일치로 잡으면 `건설기계운전사`·`비계공`·
#: `계장공` 이, 「작업」을 잡으면 `작업반장` 이, 「인력」을 잡으면 `인력운반공` 이
#: 통째로 사라진다(2026-09-07 실측 — 정상 자원 **70/745** 가 걸리고 있었음).
#: 그래서 **셀 전체가 그 말과 같을 때만** 머리글로 본다.
_NON_RESOURCE_WORDS = ( _NON_RESOURCE_WORDS = (
"구분", "구분",
"합계", "합계",
@@ -149,7 +153,24 @@ def is_non_resource_label(cell: str) -> bool:
# 자원 이름은 한글 두 자 이상이다. 기호(`f`·`E`)·숫자·단위만 있는 칸은 자원이 아니다. # 자원 이름은 한글 두 자 이상이다. 기호(`f`·`E`)·숫자·단위만 있는 칸은 자원이 아니다.
if len(_RE_HANGUL.findall(text)) < 2: if len(_RE_HANGUL.findall(text)) < 2:
return True return True
return any(word in text for word in _NON_RESOURCE_WORDS) # ⚠ **정확 일치만** — 부분일치는 정상 자원을 통째로 지운다(위 주석).
if text in _NON_RESOURCE_WORDS:
return True
# 머리글 조각이 이어 붙은 칸(「단위작업별」·「위치및면적」)도 머리글이다.
return _is_header_composite(text)
def _is_header_composite(text: str) -> bool:
"""머리글 낱말만으로 이루어진 칸인가 — 「단위작업별」·「위치및면적」 같은 것.
낱말을 차례로 벗겨 아무것도 안 남으면 머리글로 본다. 자원 이름은 낱말을 벗기면
반드시 무언가 남는다(`건설기계운전사` → `건설`·`운전사`).
"""
rest = text
for word in sorted(_NON_RESOURCE_WORDS, key=len, reverse=True):
rest = rest.replace(word, "")
rest = rest.replace("", "").replace("", "").strip()
return rest == ""
def _normalize(text: str) -> str: def _normalize(text: str) -> str:
@@ -400,8 +421,6 @@ def match_table(
if not cells: if not cells:
continue continue
name_cell = cells[0] name_cell = cells[0]
if is_non_resource_label(name_cell):
continue
# 숫자 셀이 없는 행은 자원 줄이 아니다(제목·설명 행) — 목록에 안 올린다. # 숫자 셀이 없는 행은 자원 줄이 아니다(제목·설명 행) — 목록에 안 올린다.
amount_cell = next( amount_cell = next(
@@ -410,8 +429,13 @@ def match_table(
if amount_cell is None: if amount_cell is None:
continue continue
# ⚠ **카탈로그 조회를 먼저 한다.** 이름 필터를 앞에 두면 필터가 넓을 때
# 정상 자원이 조용히 사라진다(2026-09-07 실측 — 부분일치 필터가 매칭 14건을
# 지우고 있었음). 카탈로그에 있는 이름은 **정의상 자원**이다.
entry = _resolve_cell(catalog, name_cell, cells) entry = _resolve_cell(catalog, name_cell, cells)
if entry is None: if entry is None:
if is_non_resource_label(name_cell):
continue # 머리글·소계 — 못 맞춘 목록에도 안 올린다
name, spec = split_name_and_spec(name_cell) name, spec = split_name_and_spec(name_cell)
found = catalog.by_name(name) found = catalog.by_name(name)
if len(found) > 1: if len(found) > 1:
+13 -8
View File
@@ -200,6 +200,18 @@ def build_unit_prices(axis: AxisResult | None = None) -> UnitPriceBuild:
title_code = f"B-{work_item_code}" title_code = f"B-{work_item_code}"
if title_code in build.book.titles: if title_code in build.book.titles:
continue continue
# ⚠ **붙을 상세를 먼저 모으고, 하나도 없으면 제목도 안 세운다.**
# 제목만 세워 두면 「상세 줄이 없어 단가를 못 조립」하는 빈 일위대가가 남는다
# (기계 층이 안 선 기종만 참조하는 공종에서 실제로 생겼음).
attachable = [
(row, row.resource_code if row.resource_kind == "labor" else f"X-{row.resource_code}")
for row in rows
]
attachable = [(row, ref) for row, ref in attachable if ref in build.book.titles]
if not attachable:
build.skipped.append(work_item_code)
continue
unit = next((r.amount_unit for r in rows if r.amount_unit), "") unit = next((r.amount_unit for r in rows if r.amount_unit), "")
build.book.add_title( build.book.add_title(
PriceTitle( PriceTitle(
@@ -210,15 +222,8 @@ def build_unit_prices(axis: AxisResult | None = None) -> UnitPriceBuild:
unit=unit, unit=unit,
) )
) )
added = 0 for row, ref in attachable:
for row in rows:
ref = row.resource_code if row.resource_kind == "labor" else f"X-{row.resource_code}"
if ref not in build.book.titles:
continue
build.book.add_detail(PriceDetail(title_code, ref, row.amount)) build.book.add_detail(PriceDetail(title_code, ref, row.amount))
added += 1
if added == 0:
build.skipped.append(work_item_code)
return build return build
@@ -307,6 +307,18 @@
"resource_spec": "", "resource_spec": "",
"work_item_code": "FP-06-05" "work_item_code": "FP-06-05"
}, },
{
"amount": "2.00",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0163",
"raw_row_index": 2,
"resource_code": "1002",
"resource_kind": "labor",
"resource_name": "보통인부",
"resource_spec": "",
"work_item_code": "FP-06-05"
},
{ {
"amount": "0.29", "amount": "0.29",
"amount_unit": "", "amount_unit": "",
@@ -355,6 +367,18 @@
"resource_spec": "", "resource_spec": "",
"work_item_code": "FP-06-07-02" "work_item_code": "FP-06-07-02"
}, },
{
"amount": "0.75",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0236",
"raw_row_index": 1,
"resource_code": "7930-0001",
"resource_kind": "machine",
"resource_name": "",
"resource_spec": "0.75",
"work_item_code": "FP-08-10"
},
{ {
"amount": "0.16", "amount": "0.16",
"amount_unit": "", "amount_unit": "",
@@ -595,6 +619,18 @@
"resource_spec": "", "resource_spec": "",
"work_item_code": "FP-10-06-02" "work_item_code": "FP-10-06-02"
}, },
{
"amount": "0.35",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0305",
"raw_row_index": 0,
"resource_code": "1001",
"resource_kind": "labor",
"resource_name": "작업반장",
"resource_spec": "",
"work_item_code": "FP-10-07-01"
},
{ {
"amount": "0.35", "amount": "0.35",
"amount_unit": "", "amount_unit": "",
@@ -607,6 +643,18 @@
"resource_spec": "", "resource_spec": "",
"work_item_code": "FP-10-07-01" "work_item_code": "FP-10-07-01"
}, },
{
"amount": "2.0",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0306",
"raw_row_index": 0,
"resource_code": "1001",
"resource_kind": "labor",
"resource_name": "작업반장",
"resource_spec": "",
"work_item_code": "FP-10-07-02"
},
{ {
"amount": "2.0", "amount": "2.0",
"amount_unit": "", "amount_unit": "",
@@ -631,6 +679,18 @@
"resource_spec": "", "resource_spec": "",
"work_item_code": "FP-10-07-02" "work_item_code": "FP-10-07-02"
}, },
{
"amount": "1.0",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0307",
"raw_row_index": 0,
"resource_code": "1001",
"resource_kind": "labor",
"resource_name": "작업반장",
"resource_spec": "",
"work_item_code": "FP-10-07-03"
},
{ {
"amount": "1.0", "amount": "1.0",
"amount_unit": "", "amount_unit": "",
@@ -667,6 +727,30 @@
"resource_spec": "", "resource_spec": "",
"work_item_code": "FP-10-07-04" "work_item_code": "FP-10-07-04"
}, },
{
"amount": "2.0",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0317",
"raw_row_index": 0,
"resource_code": "1001",
"resource_kind": "labor",
"resource_name": "작업반장",
"resource_spec": "",
"work_item_code": "FP-10-10-01"
},
{
"amount": "2.0",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0318",
"raw_row_index": 0,
"resource_code": "1001",
"resource_kind": "labor",
"resource_name": "작업반장",
"resource_spec": "",
"work_item_code": "FP-10-10-02"
},
{ {
"amount": "0.22", "amount": "0.22",
"amount_unit": "", "amount_unit": "",
@@ -799,6 +883,18 @@
"resource_spec": "", "resource_spec": "",
"work_item_code": "FP-12-10" "work_item_code": "FP-12-10"
}, },
{
"amount": "0.12",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0348",
"raw_row_index": 1,
"resource_code": "1050",
"resource_kind": "labor",
"resource_name": "일반기계운전사",
"resource_spec": "",
"work_item_code": "FP-12-11-02"
},
{ {
"amount": "1.23", "amount": "1.23",
"amount_unit": "", "amount_unit": "",
@@ -943,6 +1039,30 @@
"resource_spec": "", "resource_spec": "",
"work_item_code": "FP-13-02-02" "work_item_code": "FP-13-02-02"
}, },
{
"amount": "2.6",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0399",
"raw_row_index": 0,
"resource_code": "1001",
"resource_kind": "labor",
"resource_name": "작업반장",
"resource_spec": "",
"work_item_code": "FP-13-02-03"
},
{
"amount": "0.83",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0419",
"raw_row_index": 1,
"resource_code": "1001",
"resource_kind": "labor",
"resource_name": "작업반장",
"resource_spec": "",
"work_item_code": "FP-13-06-01"
},
{ {
"amount": "1.04", "amount": "1.04",
"amount_unit": "", "amount_unit": "",
@@ -955,6 +1075,18 @@
"resource_spec": "", "resource_spec": "",
"work_item_code": "FP-13-06-01" "work_item_code": "FP-13-06-01"
}, },
{
"amount": "0.83",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0420",
"raw_row_index": 1,
"resource_code": "1001",
"resource_kind": "labor",
"resource_name": "작업반장",
"resource_spec": "",
"work_item_code": "FP-13-06-02"
},
{ {
"amount": "1.30", "amount": "1.30",
"amount_unit": "", "amount_unit": "",
@@ -979,6 +1111,18 @@
"resource_spec": "0.8", "resource_spec": "0.8",
"work_item_code": "FP-13-06-02" "work_item_code": "FP-13-06-02"
}, },
{
"amount": "1.19",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0421",
"raw_row_index": 1,
"resource_code": "1001",
"resource_kind": "labor",
"resource_name": "작업반장",
"resource_spec": "",
"work_item_code": "FP-13-06-03"
},
{ {
"amount": "1.86", "amount": "1.86",
"amount_unit": "", "amount_unit": "",
@@ -1003,6 +1147,18 @@
"resource_spec": "0.8", "resource_spec": "0.8",
"work_item_code": "FP-13-06-03" "work_item_code": "FP-13-06-03"
}, },
{
"amount": "0.58",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0422",
"raw_row_index": 1,
"resource_code": "1001",
"resource_kind": "labor",
"resource_name": "작업반장",
"resource_spec": "",
"work_item_code": "FP-13-07-01"
},
{ {
"amount": "0.58", "amount": "0.58",
"amount_unit": "", "amount_unit": "",
@@ -1027,6 +1183,18 @@
"resource_spec": "0.8", "resource_spec": "0.8",
"work_item_code": "FP-13-07-01" "work_item_code": "FP-13-07-01"
}, },
{
"amount": "0.58",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0423",
"raw_row_index": 1,
"resource_code": "1001",
"resource_kind": "labor",
"resource_name": "작업반장",
"resource_spec": "",
"work_item_code": "FP-13-07-02"
},
{ {
"amount": "1.01", "amount": "1.01",
"amount_unit": "", "amount_unit": "",
@@ -1063,6 +1231,18 @@
"resource_spec": "", "resource_spec": "",
"work_item_code": "FP-13-11-02" "work_item_code": "FP-13-11-02"
}, },
{
"amount": "0.0141",
"amount_unit": "",
"pum_form": "requirement",
"pum_table_id": "F0438",
"raw_row_index": 0,
"resource_code": "1001",
"resource_kind": "labor",
"resource_name": "작업반장",
"resource_spec": "",
"work_item_code": "FP-13-12-02"
},
{ {
"amount": "0.0381", "amount": "0.0381",
"amount_unit": "", "amount_unit": "",
@@ -1108,12 +1288,12 @@
"sha256": "111208fd482dcfc3b8c8dd58004b153382fc46555d0d00985c19b45ebbc2e0dd" "sha256": "111208fd482dcfc3b8c8dd58004b153382fc46555d0d00985c19b45ebbc2e0dd"
}, },
"stats": { "stats": {
"rows": 91, "rows": 106,
"skipped_forms": { "skipped_forms": {
"coefficient": 19, "coefficient": 19,
"reference": 94, "reference": 94,
"undetermined": 83 "undetermined": 83
}, },
"unmatched": 269 "unmatched": 344
} }
} }
@@ -44,6 +44,12 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-02-01-05" "work_item_code": "FP-02-01-05"
}, },
{
"cell": "친환경 비닐랩",
"pum_table_id": "F0055",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-02-01-05"
},
{ {
"cell": "천공기날", "cell": "천공기날",
"pum_table_id": "F0056", "pum_table_id": "F0056",
@@ -68,6 +74,48 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-02-01-06" "work_item_code": "FP-02-01-06"
}, },
{
"cell": "경비(기계경비)",
"pum_table_id": "F0456",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-02-02"
},
{
"cell": "경비(기계경비)",
"pum_table_id": "F0472",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-03-01"
},
{
"cell": "작업로 예정선 선정 및 표식",
"pum_table_id": "F0076",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-03-02"
},
{
"cell": "경비(기계경비)",
"pum_table_id": "F0473",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-03-02"
},
{
"cell": "소작업로",
"pum_table_id": "F0077",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-03-03"
},
{
"cell": "대작업로",
"pum_table_id": "F0077",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-03-03"
},
{
"cell": "경비(기계경비)",
"pum_table_id": "F0474",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-03-03"
},
{ {
"cell": "모든 벌채산물 임내존치지역", "cell": "모든 벌채산물 임내존치지역",
"pum_table_id": "F0079", "pum_table_id": "F0079",
@@ -104,6 +152,12 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-03-05" "work_item_code": "FP-03-05"
}, },
{
"cell": "임업기계장비 이용 정리",
"pum_table_id": "F0079",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-03-05"
},
{ {
"cell": "벌채와 동시정리지역", "cell": "벌채와 동시정리지역",
"pum_table_id": "F0079", "pum_table_id": "F0079",
@@ -128,6 +182,18 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-04-01" "work_item_code": "FP-04-01"
}, },
{
"cell": "o 재료비",
"pum_table_id": "F0475",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-04-01"
},
{
"cell": "o 경비(기계경비)",
"pum_table_id": "F0475",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-04-01"
},
{ {
"cell": "단목", "cell": "단목",
"pum_table_id": "F0083", "pum_table_id": "F0083",
@@ -152,6 +218,24 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-04-02" "work_item_code": "FP-04-02"
}, },
{
"cell": "o 재료비",
"pum_table_id": "F0476",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-04-02"
},
{
"cell": "o 경비(기계경비)",
"pum_table_id": "F0476",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-04-02"
},
{
"cell": "작업보조",
"pum_table_id": "F0086",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-04-02-01"
},
{ {
"cell": "굴착기+부착용집게", "cell": "굴착기+부착용집게",
"pum_table_id": "F0087", "pum_table_id": "F0087",
@@ -230,6 +314,24 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-05-04" "work_item_code": "FP-05-04"
}, },
{
"cell": "지면긁기작업",
"pum_table_id": "F0110",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-05-05"
},
{
"cell": "폭 80cm × 열간거리 2m (전면적의 40%)",
"pum_table_id": "F0110",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-05-05"
},
{
"cell": "맹아근주 정리작업",
"pum_table_id": "F0111",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-05-06"
},
{ {
"cell": "움싹본수조절", "cell": "움싹본수조절",
"pum_table_id": "F0112", "pum_table_id": "F0112",
@@ -518,6 +620,12 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-06-04-02" "work_item_code": "FP-06-04-02"
}, },
{
"cell": "작업보조",
"pum_table_id": "F0159",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-06-04-02"
},
{ {
"cell": "소금 처리", "cell": "소금 처리",
"pum_table_id": "F0160", "pum_table_id": "F0160",
@@ -542,6 +650,12 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-06-04-04" "work_item_code": "FP-06-04-04"
}, },
{
"cell": "유령림 단계",
"pum_table_id": "F0163",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-06-05"
},
{ {
"cell": "병해충방제", "cell": "병해충방제",
"pum_table_id": "F0172", "pum_table_id": "F0172",
@@ -602,6 +716,12 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-07-08-02" "work_item_code": "FP-07-08-02"
}, },
{
"cell": "작업량",
"pum_table_id": "F0188",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-07-10"
},
{ {
"cell": "원목집재와 동시에 부산물 수집시", "cell": "원목집재와 동시에 부산물 수집시",
"pum_table_id": "F0191", "pum_table_id": "F0191",
@@ -614,6 +734,12 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-07-13" "work_item_code": "FP-07-13"
}, },
{
"cell": "경비(기계경비)",
"pum_table_id": "F0454",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-08-02-03"
},
{ {
"cell": "롤트랩 설치", "cell": "롤트랩 설치",
"pum_table_id": "F0223", "pum_table_id": "F0223",
@@ -836,12 +962,24 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-08-10" "work_item_code": "FP-08-10"
}, },
{
"cell": "피복작업",
"pum_table_id": "F0236",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-08-10"
},
{ {
"cell": "벌목조재", "cell": "벌목조재",
"pum_table_id": "F0236", "pum_table_id": "F0236",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-08-10" "work_item_code": "FP-08-10"
}, },
{
"cell": "피복작업",
"pum_table_id": "F0236",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-08-10"
},
{ {
"cell": "대형브레이커+ 유압식백호우 (무한궤도,0.7㎥)", "cell": "대형브레이커+ 유압식백호우 (무한궤도,0.7㎥)",
"pum_table_id": "F0241", "pum_table_id": "F0241",
@@ -944,6 +1082,30 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-10-02" "work_item_code": "FP-09-10-02"
}, },
{
"cell": "인력(10%)",
"pum_table_id": "F0258",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-12-01"
},
{
"cell": "장비(90%)",
"pum_table_id": "F0258",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-12-01"
},
{
"cell": "인력 (10%)",
"pum_table_id": "F0259",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-12-02"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0259",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-12-02"
},
{ {
"cell": "치즐소모(본/hr)", "cell": "치즐소모(본/hr)",
"pum_table_id": "F0259", "pum_table_id": "F0259",
@@ -956,6 +1118,18 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-12-02" "work_item_code": "FP-09-12-02"
}, },
{
"cell": "인력 (10%)",
"pum_table_id": "F0260",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-12-03"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0260",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-12-03"
},
{ {
"cell": "치즐소모량(본/hr)", "cell": "치즐소모량(본/hr)",
"pum_table_id": "F0260", "pum_table_id": "F0260",
@@ -968,6 +1142,66 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-12-03" "work_item_code": "FP-09-12-03"
}, },
{
"cell": "인력 (10%)",
"pum_table_id": "F0261",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-01"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0261",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-01"
},
{
"cell": "인력 (10%)",
"pum_table_id": "F0262",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-02"
},
{
"cell": "인력 (10%)",
"pum_table_id": "F0263",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-03"
},
{
"cell": "인력 (10%)",
"pum_table_id": "F0264",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-04"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0264",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-04"
},
{
"cell": "인력 (10%)",
"pum_table_id": "F0265",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-05"
},
{
"cell": "인력 (10%)",
"pum_table_id": "F0266",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-06"
},
{
"cell": "인력 (10%)",
"pum_table_id": "F0267",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-07"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0267",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-07"
},
{ {
"cell": "치즐소모량(본/hr)", "cell": "치즐소모량(본/hr)",
"pum_table_id": "F0267", "pum_table_id": "F0267",
@@ -980,18 +1214,54 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-07" "work_item_code": "FP-09-13-07"
}, },
{
"cell": "인력 (10%)",
"pum_table_id": "F0268",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-08"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0268",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-08"
},
{ {
"cell": "치즐소모량(본/hr)", "cell": "치즐소모량(본/hr)",
"pum_table_id": "F0268", "pum_table_id": "F0268",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-08" "work_item_code": "FP-09-13-08"
}, },
{
"cell": "인력 (10%)",
"pum_table_id": "F0269",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-09"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0269",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-09"
},
{ {
"cell": "치즐소모량(본/hr)", "cell": "치즐소모량(본/hr)",
"pum_table_id": "F0269", "pum_table_id": "F0269",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-09" "work_item_code": "FP-09-13-09"
}, },
{
"cell": "인력 (10%)",
"pum_table_id": "F0270",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-10"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0270",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-10"
},
{ {
"cell": "치즐소모량(본/hr)", "cell": "치즐소모량(본/hr)",
"pum_table_id": "F0270", "pum_table_id": "F0270",
@@ -1004,18 +1274,54 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-10" "work_item_code": "FP-09-13-10"
}, },
{
"cell": "인력 (10%)",
"pum_table_id": "F0271",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-11"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0271",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-11"
},
{ {
"cell": "치즐소모량(본/hr)", "cell": "치즐소모량(본/hr)",
"pum_table_id": "F0271", "pum_table_id": "F0271",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-11" "work_item_code": "FP-09-13-11"
}, },
{
"cell": "인력 (10%)",
"pum_table_id": "F0272",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-12"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0272",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-12"
},
{ {
"cell": "치즐소모량(본/hr)", "cell": "치즐소모량(본/hr)",
"pum_table_id": "F0272", "pum_table_id": "F0272",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-12" "work_item_code": "FP-09-13-12"
}, },
{
"cell": "인력 (10%)",
"pum_table_id": "F0273",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-13"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0273",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-13"
},
{ {
"cell": "치즐소모량(본/hr)", "cell": "치즐소모량(본/hr)",
"pum_table_id": "F0273", "pum_table_id": "F0273",
@@ -1028,18 +1334,54 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-13" "work_item_code": "FP-09-13-13"
}, },
{
"cell": "인력 (10%)",
"pum_table_id": "F0274",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-14"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0274",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-14"
},
{ {
"cell": "치즐소모량(본/hr)", "cell": "치즐소모량(본/hr)",
"pum_table_id": "F0274", "pum_table_id": "F0274",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-14" "work_item_code": "FP-09-13-14"
}, },
{
"cell": "인력 (10%)",
"pum_table_id": "F0275",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-15"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0275",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-15"
},
{ {
"cell": "치즐소모량(본/hr)", "cell": "치즐소모량(본/hr)",
"pum_table_id": "F0275", "pum_table_id": "F0275",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-15" "work_item_code": "FP-09-13-15"
}, },
{
"cell": "인력 (10%)",
"pum_table_id": "F0276",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-16"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0276",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-16"
},
{ {
"cell": "치즐소모량(본/hr)", "cell": "치즐소모량(본/hr)",
"pum_table_id": "F0276", "pum_table_id": "F0276",
@@ -1053,17 +1395,53 @@
"work_item_code": "FP-09-13-16" "work_item_code": "FP-09-13-16"
}, },
{ {
"cell": "치즐소모량(본/hr)", "cell": "인력 (10%)",
"pum_table_id": "F0277",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-17"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0277", "pum_table_id": "F0277",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-17" "work_item_code": "FP-09-13-17"
}, },
{ {
"cell": "치즐소모량(본/hr)", "cell": "치즐소모량(본/hr)",
"pum_table_id": "F0277",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-17"
},
{
"cell": "인력 (10%)",
"pum_table_id": "F0278", "pum_table_id": "F0278",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-18" "work_item_code": "FP-09-13-18"
}, },
{
"cell": "장비 (90%)",
"pum_table_id": "F0278",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-18"
},
{
"cell": "치즐소모량(본/hr)",
"pum_table_id": "F0278",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-13-18"
},
{
"cell": "인력 (10%)",
"pum_table_id": "F0279",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-14-01"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0279",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-09-14-01"
},
{ {
"cell": "모래ㆍ사질토ㆍ점토ㆍ점질토", "cell": "모래ㆍ사질토ㆍ점토ㆍ점질토",
"pum_table_id": "F0288", "pum_table_id": "F0288",
@@ -1238,6 +1616,12 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-12-04" "work_item_code": "FP-12-04"
}, },
{
"cell": "사용고재 평가기준",
"pum_table_id": "F0336",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-12-04"
},
{ {
"cell": "문양 스티로폴(자재비 포함)", "cell": "문양 스티로폴(자재비 포함)",
"pum_table_id": "F0337", "pum_table_id": "F0337",
@@ -1364,6 +1748,24 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-12-23" "work_item_code": "FP-12-23"
}, },
{
"cell": "잡재료비(재료비의)",
"pum_table_id": "F0370",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-12-23"
},
{
"cell": "인력 (10%)",
"pum_table_id": "F0372",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-12-24-02"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0372",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-12-24-02"
},
{ {
"cell": "적사", "cell": "적사",
"pum_table_id": "F0373", "pum_table_id": "F0373",
@@ -1382,6 +1784,18 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-12-26" "work_item_code": "FP-12-26"
}, },
{
"cell": "인력 (10%)",
"pum_table_id": "F0371",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-12-24-01"
},
{
"cell": "장비 (90%)",
"pum_table_id": "F0371",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-12-24-01"
},
{ {
"cell": "자재", "cell": "자재",
"pum_table_id": "F0376", "pum_table_id": "F0376",
@@ -1394,6 +1808,12 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-12-27-02" "work_item_code": "FP-12-27-02"
}, },
{
"cell": "인력(설치비)",
"pum_table_id": "F0376",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-12-27-02"
},
{ {
"cell": "재료", "cell": "재료",
"pum_table_id": "F0384", "pum_table_id": "F0384",
@@ -1430,6 +1850,12 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-13-02-03" "work_item_code": "FP-13-02-03"
}, },
{
"cell": "제 잡비 비율",
"pum_table_id": "F0399",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-13-02-03"
},
{ {
"cell": "인 부", "cell": "인 부",
"pum_table_id": "F0401", "pum_table_id": "F0401",
@@ -1490,6 +1916,12 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-13-11-01" "work_item_code": "FP-13-11-01"
}, },
{
"cell": "인력(인)",
"pum_table_id": "F0431",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-13-11-01"
},
{ {
"cell": "돌 채 움", "cell": "돌 채 움",
"pum_table_id": "F0431", "pum_table_id": "F0431",
@@ -1520,6 +1952,12 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-13-11-02" "work_item_code": "FP-13-11-02"
}, },
{
"cell": "인력(인)",
"pum_table_id": "F0433",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-13-11-02"
},
{ {
"cell": "돌 채 움", "cell": "돌 채 움",
"pum_table_id": "F0433", "pum_table_id": "F0433",
@@ -1574,6 +2012,18 @@
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)", "reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-13-13-01" "work_item_code": "FP-13-13-01"
}, },
{
"cell": "인력(10%)",
"pum_table_id": "F0441",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-13-13-02"
},
{
"cell": "장비(90%)",
"pum_table_id": "F0441",
"reason": "카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)",
"work_item_code": "FP-13-13-02"
},
{ {
"cell": "간 단 구 조", "cell": "간 단 구 조",
"pum_table_id": "F0443", "pum_table_id": "F0443",