Merge remote-tracking branch 'origin/main_desktop_1' into sub_desktop_1

This commit is contained in:
2026-09-08 01:49:44 +09:00
19 changed files with 1879 additions and 116 deletions
@@ -17,22 +17,45 @@
{
"reuse_count": 2,
"class": "복잡한 구조",
"examples": ["T형보", "난간", "복잡한 교각", "교대", "수문관 본체"]
"examples": [
"T형보",
"난간",
"복잡한 교각",
"교대",
"수문관 본체"
]
},
{
"reuse_count": 3,
"class": "약간 복잡한 구조",
"examples": ["슬래브", "교대", "교각", "옹벽", "파라펫트", "날개벽"]
"examples": [
"슬래브",
"교대",
"교각",
"옹벽",
"파라펫트",
"날개벽"
]
},
{
"reuse_count": 4,
"class": "비교적 간단한 구조",
"examples": ["측구", "수로", "확대기초", "우물통"]
"examples": [
"측구",
"수로",
"확대기초",
"우물통"
]
},
{
"reuse_count": 6,
"class": "극히 간단한 구조",
"examples": ["수문 기초", "관의 기초", "호안 기초", "보호공 기초"]
"examples": [
"수문 기초",
"관의 기초",
"호안 기초",
"보호공 기초"
]
}
],
"type_map": [
@@ -57,12 +80,87 @@
"reuse_ratio_pct": {
"note": "품셈 12-4 「사용횟수별 기준수량에 대한 비율(%)」. **B09 일위대가가 쓰는 값**이며 B08 은 참고로만 싣는다 — 여기서 곱하면 이중계상.",
"table_id": "F0336",
"plywood": { "1": 100.0, "2": 57.0, "3": 46.1, "4": 40.1, "5": 37.1, "6": 34.7 },
"timber": { "1": 100.0, "2": 60.0, "3": 47.1, "4": 40.0, "5": 34.2, "6": 32.0 }
"plywood": {
"1": 100.0,
"2": 57.0,
"3": 46.1,
"4": 40.1,
"5": 37.1,
"6": 34.7
},
"timber": {
"1": 100.0,
"2": 60.0,
"3": 47.1,
"4": 40.0,
"5": 34.2,
"6": 32.0
}
},
"shoring": {
"note": "강관동바리(품셈 12-20)는 **슬래브를 떠받칠 때** 필요하다. 지금 서는 구조물(옹벽·집수정)은 벽체 거푸집만이라 대상이 아니다.",
"targets_pending": ["box_culvert", "ford_bridge"],
"targets_pending": [
"box_culvert",
"ford_bridge"
],
"why": "그 둘은 원단위·치수가 미확보라 슬래브 면적 자체가 안 나온다 — 동바리도 함께 미확보"
},
"euroform_type": {
"note": "유로폼 설치·해체 유형(간단/보통/복잡) — **품셈 12-38-3 [주]④ 원문**이 시설 예시로 갈라 둔다. 거푸집 사용횟수(1-7-1)·철근 갈래(12-3 [주]①)와 같은 자리로, 사람이 고르는 값이 아니다.",
"source": {
"doc": "산림사업 표준품셈 12-38-3 설치 및 해체 [주]④",
"table_id": "F0396",
"quote": "복잡 — 토목: 교대, 날개벽 등 복잡하고 보강이 많은 구조 / 보통 — 측구, 수로, 옹벽, 일반적인 벽체, 박스 등 / 간단 — 수문 또는 관의 기초, 건축 매트기초 등 간단한 구조"
},
"classes": [
{
"key": "복잡",
"examples": [
"교대",
"날개벽"
],
"daily_area_m2": 25
},
{
"key": "보통",
"examples": [
"측구",
"수로",
"옹벽",
"일반적인 벽체",
"박스"
],
"daily_area_m2": 35
},
{
"key": "간단",
"examples": [
"수문 기초",
"관의 기초",
"매트기초"
],
"daily_area_m2": 40
}
],
"type_map": [
{
"type_id": "retaining_wall",
"class": "보통",
"matched": "옹벽"
},
{
"type_id": "box_culvert",
"class": "보통",
"matched": "박스"
},
{
"type_id": "pipe_inlet_basin",
"class": "간단",
"matched": "관의 기초",
"note": "⚠ 집수정 벽체까지 간단으로 볼지는 확인 필요 — 거푸집 사용횟수와 같은 물음"
}
],
"reuse_note": "⚠ 12-38-1 「사용횟수」는 **1-7-1 과 다른 자리다.** 1-7-1 은 합판거푸집처럼 **소모성 거푸집을 몇 번 쓰나**(옹벽 3회)이고, 12-38-1 은 유로폼(강재)의 **잔존율 기준**(12회 사용 잔존율 25 % · 25회 사용 잔존율 10 %)으로 **임대료·손료 산정용**이다. 하나로 잇지 않는다.",
"material_unit_note": "유로폼 자재는 12-38-2 가 **10㎡당 패널 0.89매**로 낸다. B08 은 **접촉 면적(㎡)** 으로 보내고 매수 환산은 그 표의 밑수(10㎡)를 아는 B09 가 한다 — B08 이 환산하면 밑수를 두 벌로 들게 된다."
}
}
@@ -0,0 +1,70 @@
{
"schema_version": "1.0",
"dataset_id": "rebar_complexity",
"effective_date": "2026-01-01",
"note": "철근 가공·조립 갈래(간단/보통/복잡/매우복잡) — **품셈 12-3 [주]① 원문**이 구조물을 예시로 갈라 둔다. 사람이 고르는 값이 아니라 법으로 정해지는 값이다(거푸집 사용횟수 1-7-1 과 같은 자리).",
"source": {
"doc": "산림사업 표준품셈 12-3 철근 현장가공 및 조립 [주] ①",
"table_id": "F0335",
"quote": "간단한 것이란 측구, 간단한 기초 및 중력식 옹벽 등을 말하며, 보통의 것이란 수문, 반중력식 옹벽 및 교대 등을 말하고, 복잡한 것이란 교량의 슬래브, 암거, 우물통 부벽식 옹벽 등을 말하며, 매우 복잡한 것이란 구주식(기둥형) 교대, 교각, 지하철, 터널"
},
"policy": {
"auto_decided": true,
"unlisted_is_flagged": true,
"note": "원문 예시에 걸리는 것만 정한다. 안 걸리면 「갈래 미확보」로 드러내고 임의로 고르지 않는다."
},
"classes": [
{ "key": "간단", "examples": ["측구", "간단한 기초", "중력식 옹벽"] },
{ "key": "보통", "examples": ["수문", "반중력식 옹벽", "교대"] },
{ "key": "복잡", "examples": ["교량 슬래브", "암거", "우물통", "부벽식 옹벽"] },
{ "key": "매우복잡", "examples": ["구주식(기둥형) 교대", "교각", "지하철", "터널"] }
],
"form_map": [
{
"type_id": "retaining_wall",
"form": "중력식",
"class": "간단",
"matched": "중력식 옹벽"
},
{
"type_id": "retaining_wall",
"form": "반중력식",
"class": "보통",
"matched": "반중력식 옹벽"
},
{
"type_id": "retaining_wall",
"form": "부벽식",
"class": "복잡",
"matched": "부벽식 옹벽"
},
{
"type_id": "retaining_wall",
"form": "캔틸레버식",
"class": null,
"why": "원문 [주]① 예시에 캔틸레버식 옹벽이 없음 — 임의로 고르지 않고 미확보로 드러냄"
},
{
"type_id": "box_culvert",
"class": "복잡",
"matched": "암거"
},
{
"type_id": "pipe_inlet_basin",
"class": "간단",
"matched": "간단한 기초",
"note": "관보호공 집수정 — 원문의 「간단한 기초」에 해당. ⚠ 벽체까지 간단으로 볼지는 확인 필요"
}
],
"price_hint_krw_per_ton": {
"note": "⚠ **표시 전용.** 갈래를 자동으로 정하더라도 화면에 갈래 이름과 차이를 보여야 사람이 검증할 수 있다. B08 의 어떤 계산에도 안 들어간다(금액은 B09 몫).",
"computed_by": "B09",
"computed_on": "2026-09-07",
"values": {
"간단": 919146.7,
"보통": 1032497.4,
"복잡": 1143569.7,
"매우복잡": 1278375.3
}
}
}
@@ -165,21 +165,64 @@
{
"type_id": "retaining_wall",
"parts": [
"FP-12-01-01#철근구조물",
"FP-12-04 합판거푸집",
"FP-12-03 철근 현장가공 및 조림",
"FP-12-25 기초잡석"
{
"code": "FP-12-01-01",
"name": "콘크리트 타설",
"unit": "㎥",
"from_components": [
"콘크리트",
"버림콘크리트"
],
"kind_suffix": "concrete_placing"
},
{
"code": "FP-12-04",
"name": "합판거푸집",
"unit": "㎡",
"from_components": [
"합판거푸집"
]
},
{
"code": "FP-12-38",
"name": "유로폼",
"unit": "㎡",
"from_components": [
"유로폼"
],
"kind_suffix": "euroform_type",
"incomplete_note": "⚠ 자재 몫이 빠져 있음 — 12-38-2 의 패널 0.89매/10㎡·부자재(주자재비의 24/52/79 %)·소모자재 5 % 는 **자재 단가가 서야** 붙는다. 지금 서는 것은 설치·해체 품뿐이다."
},
{
"code": "FP-12-03",
"name": "철근 현장가공 및 조립",
"unit": "ton",
"from_components": [
"이형철근 D13",
"이형철근 D16"
],
"unit_from": "kg",
"kind_suffix": "rebar_complexity"
},
{
"code": "FP-12-25",
"name": "기초잡석",
"unit": "㎥",
"from_components": [],
"not_ready": true,
"why": "관측 원단위에 기초잡석 물량이 없음 — 울진 라이브러리 반중력식 H=2.0 항목에 그 줄이 없다"
}
],
"why": "품셈 12장에 「옹벽」 공종이 없음. 실무 내역은 「반중력식옹벽 H=2.0」 한 줄이고 그 일위대가가 위 공종을 묶음.",
"needs": "일위대가 조립은 B09 몫 — B08 은 물량과 묶음만 넘김",
"placing_note": "타설 코드는 프로젝트 설정의 타설 방식으로 갈림(기본 레디믹스트). 철근구조물 판정은 원단위의 D13·D16 에서 자동으로 나옴.",
"not_ready": [
"FP-12-03",
"FP-12-25"
],
"not_ready_why": "B09 일위대가가 아직 안 섬 — 지금 세우면 절반짜리가 됨(2026-09-07 조율 창)"
"parts_note": "조각마다 **어느 성분에서 나오는지**(`from_components`)를 적는다. 이름을 바꾸면 물량이 조용히 0 이 되므로 원단위 성분 이름과 정확히 같아야 하고, 못 찾으면 드러낸다. `unit_from` 이 있으면 그 단위에서 목표 단위로 환산한다 — **철근은 ㎏ → ton (÷1000)**. ⚠ 단위를 안 맞추면 1000배 틀린다."
}
]
],
"unit_conversion": {
"note": "조각 단위 환산. 단가의 단위(원/ton)와 원단위의 단위(㎏)가 달라 반드시 맞춰야 한다.",
"kg_to_ton": 0.001
}
},
"concrete_placing": {
"note": "콘크리트 타설은 **타설 방식 × 구조물 종류**로 갈린다. 방식은 설계 판단이라 프로젝트 설정(`quantity.concrete_placing_method`)이 고르고, 종류는 **원단위에 철근이 있나 없나로 자동 판정**한다 — 사람이 고르는 값이 아니다(2026-09-07 3자 확정).",
@@ -195,6 +238,17 @@
"철근구조물",
"소형구조물"
],
"kind_rule": "원단위 성분에 철근(이형철근·원형철근)이 있으면 철근구조물, 없으면 무근구조물. 소형구조물 판정 기준은 미확보."
"kind_rule": "원단위 성분에 철근(이형철근·원형철근)이 있으면 철근구조물, 없으면 무근구조물. 소형구조물 판정 기준은 미확보.",
"price_hint_krw_per_m3": {
"note": "⚠ **표시 전용.** 사용자가 타설 방식을 고를 때 「정하면 얼마나 달라지는지」를 보이려고 둔 값이며 B08 의 어떤 계산에도 들어가지 않는다(금액은 B09 몫 — 8-2 경계). 값은 B09 가 2026-09-07 에 낸 철근구조물 기준 단가이고, 요율·노임이 바뀌면 어긋난다 — 화면이 「참고」임을 함께 적는다.",
"basis": "철근구조물 콘크리트 타설 (원/㎥)",
"computed_by": "B09",
"computed_on": "2026-09-07",
"values": {
"ready_mixed": 65826,
"machine_mixed": 163508,
"hand_mixed": 408327
}
}
}
}
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"dataset_id": "data_work_item_master_manifest",
"generated_at": "2026-09-08T01:00:54+09:00",
"generated_at": "2026-09-08T01:45:21+09:00",
"built_by": "B08_Quantity/B08_Quantity_Build_WorkItemMaster.py",
"source": {
"dataset_id": "pum_forest",
@@ -12,8 +12,8 @@
"files": [
{
"file": "work_item_master_2026-01-01.json",
"sha256": "fe454c56c9dc01ad7dae04a8f90d776d08c5ce33badeadb2606b35234bfce7eb",
"size_bytes": 785034
"sha256": "f80d3ad4bf3ee242d282d8d54d18305e1b89fbbb9fc414c31b95cecc8b84d47f",
"size_bytes": 813044
},
{
"file": "form_undetermined_2026-01-01.json",
@@ -22,8 +22,8 @@
},
{
"file": "basis_missing_2026-01-01.json",
"sha256": "27f8d80d10b791df8502e633c1d279ce2acce63f871eae6b0c4eb26ca8290e2e",
"size_bytes": 20674
"sha256": "b69091149adb942ce507d902b7e6ac400777674301b9200b1f1c60cfbd709839",
"size_bytes": 22832
}
]
}
@@ -34,12 +34,24 @@
"pum_form": "requirement",
"line": 1444
},
{
"pum_table_id": "F0057",
"section": "2-1-7. 소각, 매몰, 훈증, 박피",
"pum_form": "requirement",
"line": 1518
},
{
"pum_table_id": "F0061",
"section": "2-1-11. 지상 약제살포",
"pum_form": "requirement",
"line": 1570
},
{
"pum_table_id": "F0062",
"section": "2-1-12. 그물망 피복",
"pum_form": "requirement",
"line": 1579
},
{
"pum_table_id": "F0075",
"section": "3-1. 경계표시",
@@ -292,6 +304,12 @@
"pum_form": "requirement",
"line": 2919
},
{
"pum_table_id": "F0145",
"section": "5-28-2. 방초매트 및 야자섬유매트 포장",
"pum_form": "requirement",
"line": 2929
},
{
"pum_table_id": "F0153",
"section": "6-1. 비료주기",
@@ -322,6 +340,12 @@
"pum_form": "requirement",
"line": 3122
},
{
"pum_table_id": "F0158",
"section": "6-4-1. 덩굴걷기",
"pum_form": "requirement",
"line": 3143
},
{
"pum_table_id": "F0159",
"section": "6-4-2. 덩굴 약제 살포처리",
@@ -610,6 +634,12 @@
"pum_form": "requirement",
"line": 4860
},
{
"pum_table_id": "F0256",
"section": "9-11-1. 콘크리트(기계)",
"pum_form": "requirement",
"line": 4946
},
{
"pum_table_id": "F0294",
"section": "9-21. 제근",
@@ -622,6 +652,18 @@
"pum_form": "requirement",
"line": 5770
},
{
"pum_table_id": "F0311",
"section": "10-7-4. 모노레일 운반",
"pum_form": "requirement",
"line": 5779
},
{
"pum_table_id": "F0312",
"section": "10-7-4. 모노레일 운반",
"pum_form": "requirement",
"line": 5795
},
{
"pum_table_id": "F0313",
"section": "10-8-1. 짐내리기",
@@ -634,6 +676,12 @@
"pum_form": "requirement",
"line": 5829
},
{
"pum_table_id": "F0315",
"section": "10-8-3. 케이블 크레인 운전",
"pum_form": "requirement",
"line": 5840
},
{
"pum_table_id": "F0317",
"section": "10-10-1. 콘크리트 및 골재운반(지상)",
@@ -646,6 +694,18 @@
"pum_form": "requirement",
"line": 5894
},
{
"pum_table_id": "F0326",
"section": "11-2. 토공의 비탈 규준틀",
"pum_form": "requirement",
"line": 6043
},
{
"pum_table_id": "F0327",
"section": "11-3. 수평규준틀",
"pum_form": "requirement",
"line": 6056
},
{
"pum_table_id": "F0337",
"section": "12-5. 문양거푸집(0~7m)",
@@ -676,12 +736,36 @@
"pum_form": "requirement",
"line": 6421
},
{
"pum_table_id": "F0355",
"section": "12-17-1. 펌프카 타설",
"pum_form": "requirement",
"line": 6499
},
{
"pum_table_id": "F0362",
"section": "12-2 표면 마무리를 따른다.",
"pum_form": "requirement",
"line": 6569
},
{
"pum_table_id": "F0366",
"section": "12-19. 강관비계",
"pum_form": "requirement",
"line": 6614
},
{
"pum_table_id": "F0379",
"section": "12-29. 스페이셔 설치(몰탈 블록)",
"pum_form": "requirement",
"line": 6775
},
{
"pum_table_id": "F0395",
"section": "12-38-3. 설치 및 해체",
"pum_form": "requirement",
"line": 6943
},
{
"pum_table_id": "F0405",
"section": "13-3. 기초다짐 및 뒤채움’ 항을 적용한다.",
@@ -700,6 +784,12 @@
"pum_form": "requirement",
"line": 7185
},
{
"pum_table_id": "F0424",
"section": "13-8. 막돌쌓기",
"pum_form": "requirement",
"line": 7415
},
{
"pum_table_id": "F0430",
"section": "13-10-2. 나무 말뚝박기",
@@ -730,6 +820,12 @@
"pum_form": "requirement",
"line": 7745
},
{
"pum_table_id": "F0449",
"section": "13-16-2. 통기성매트",
"pum_form": "requirement",
"line": 7788
},
{
"pum_table_id": "F0454",
"section": "8-2-3 굴착기(2025)」를 참조하여 적용계수를 달리 적용하도록 한다.",
File diff suppressed because it is too large Load Diff