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:
@@ -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:
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user