diff --git a/resources/tester/fixtures/work_item_master_source_known.json b/resources/tester/fixtures/work_item_master_source_known.json index e98efc35..1bb23e08 100644 --- a/resources/tester/fixtures/work_item_master_source_known.json +++ b/resources/tester/fixtures/work_item_master_source_known.json @@ -325,6 +325,28 @@ ], "master_only": [] }, + "F0053": { + "section": "2-1-5", + "md_only": [ + "- ③ 잡품은 물, 혼합용기 등 소모품에 해당하며 주재료비에 대하여 금액 비율로 적용한다.", + "- ④ 농약의 종류나 용량이 변경된 경우, 위 기준을 응용하여 적용한다." + ], + "master_only": [] + }, + "F0064": { + "section": "2-2-1", + "md_only": [ + "- ③ 기계손료에는 감가상각비, 정비비 및 관리비가 포함된다." + ], + "master_only": [] + }, + "F0080": { + "section": "3-6", + "md_only": [ + "- ⑥ 할인․할증은 경사도(1-4-5)를 반영한다." + ], + "master_only": [] + }, "F0086": { "section": "4-2-1", "md_only": [ @@ -338,6 +360,14 @@ ], "master_only": [] }, + "F0088": { + "section": "4-3", + "md_only": [ + "- ⑤ 장비는 굴착기 우드그랩은 0.2㎥, 크레인은 5톤 트럭탑재형 크레인을 적용, 현장 여건에 따라 장비의 규격을 조정 가능하다.", + "- ⑥ 산림병해충, 소나무재선충병 발생지역 내 장비 없이 인력으로만 위험목을 제거할 경우에는 보통인부의 100%를 가산한다." + ], + "master_only": [] + }, "F0104": { "section": "5-3-4", "md_only": [], @@ -376,6 +406,42 @@ ], "master_only": [] }, + "F0164": { + "section": "6-6", + "md_only": [ + "- ③ 활엽수 수형교정을 하는 경우에는 본 품을 적용한다.", + "- ④ 할인․할증은 집단화정도(1-4-3), 경사도(1-4-5), 장애물의 정도(1-4-8)를 반영한다." + ], + "master_only": [] + }, + "F0173": { + "section": "7-2", + "md_only": [ + "- ③ 할인․할증은 경사도(1-4-5), 횡단운반거리(1-4-15)를 반영한다" + ], + "master_only": [] + }, + "F0176": { + "section": "7-4-2", + "md_only": [ + "- ④ 할인․할증은 경사도(1-4-5), 장애물의 정도(1-4-8)를 반영하되, 다만, 산림병해충방제 및 소나무재선충병방제에는 방제 대상목 평균경급(1-4-18)를 추가 반영한다." + ], + "master_only": [] + }, + "F0178": { + "section": "7-5-2", + "md_only": [ + "- ⑤ 할인․할증은 경사도(1-4-5), 집재방향(1-4-14)를 반영한다." + ], + "master_only": [] + }, + "F0181": { + "section": "7-7-2", + "md_only": [ + "- ⑦ 할인․할증은 경사도(1-4-5), 집재방향(1-4-14), 측방집재거리(1-4-15)를 반영한다." + ], + "master_only": [] + }, "F0189": { "section": "7-11", "md_only": [], @@ -386,6 +452,29 @@ "- ④ 할인․할증은 경사도(1-4-5), 주행 장애물 상태(1-4-13)를 반영한다." ] }, + "F0191": { + "section": "7-11", + "md_only": [ + "- ④ 토질, 하층식생, 돌, 도랑, 커브길, 구배 등으로 주행이 매우 힘들 경우 10%, 다소 힘들 경우 5%를 할증한다.", + "- ⑤ 잔존목 본 수가 100본 이상 130본 이하(잔존목간 거리 10~8.8m)인 경우 10%, 71본 이상 100본 미만(잔존목간 거리 12~10m)인 경우 5%를 할증한다." + ], + "master_only": [] + }, + "F0192": { + "section": "7-12", + "md_only": [ + "- ⑤ 품은 임업용 굴착기(우드그래플)를 기준으로 한다.", + "- ⑥ 생산재를 중량으로 매각하고 생산과 동시에 반출하는 경우는 집적작업을 생략할 수 있다." + ], + "master_only": [] + }, + "F0197": { + "section": "7-15-2", + "md_only": [ + "- ⑤ 할인․할증은 주행 장애물상태(1-4-13)를 반영한다." + ], + "master_only": [] + }, "F0247": { "section": "9-7-1", "md_only": [ diff --git a/resources/tester/test_work_item_master_source_match.py b/resources/tester/test_work_item_master_source_match.py index b8c521e0..1c59cd8f 100644 --- a/resources/tester/test_work_item_master_source_match.py +++ b/resources/tester/test_work_item_master_source_match.py @@ -148,11 +148,12 @@ def md_notes(lines: list[str], table: dict) -> list[str]: 이어지는 줄 = `- ②` 꼴 · `- -` 꼴 · `※`·`*`·`·` 로 시작하는 줄. 빈 줄은 건너뜀. 그 밖의 줄에서 끝. ⚠ `- 2. 소제목` 같은 본문 목록은 [주]가 아님. + ⚠ [주] 사이에 낀 `> 【산출 예시】` 덩어리는 건너뛰고 이어 봄 — 그 뒤에 `- ⑥ … 100% 가산` 이 옴(4-3). """ out: list[str] = [] for k in range(table["end"], len(lines)): s = lines[k].strip() - if not s: + if not s or (out and s.startswith(">")): continue if not out and s.startswith("[주"): out.append(s)