feat(B08): B09 인계 두 벌 + 품셈 딱지형 표 판정 보완
일감 9. 수량 결과(작업 공종 축)와 자재 총괄(자재 축)을 각각 낸다. - 자재 줄에는 공종코드를 붙이지 않음. 붙이면 자재가 내역 줄로 오해되어 이중계상이 됨. `verify_no_code_on_materials()` 로 코드에 못 박음. - `in_bill` 을 실어 무대·합계 줄을 가름. 수량은 그대로 넘김 — 무대+도자+덤프 = 총 운반토량 검산에 쓰이는 값이라 빼면 검산이 죽음. - `ground_class_set` 동봉. 「연암」이 몇 갈래 중 하나인지 알아야 예산내역서가 섬. - 매핑표는 데이터 파일(`resources/data_work_item_mapping/`). 못 이은 줄은 빈 코드로 두지 않고 `unmatched_work_items` 로 냄. 품셈 형태 판정 교차 확인 — 「첫 칸이 갈래 딱지이고 이름이 둘째 칸」인 표에서 직종을 첫 세 행에서만 찾아 12장 구조물 표 8건이 미판정으로 빠져 있었음. 딱지를 알아보는 규칙을 맨 마지막에 두어 앞 판정을 흔들지 않고 해소 (미판정 85 → 77, 생산량형 16건 불변). 비율 지시를 먼저 보면 강관동바리 같은 소요량표가 참조로 넘어가므로 소요량을 먼저 보게 순서를 잡음. 검증 — 인계 22건 + 품셈 5건 통과, 전체 500 passed. 실서버 `GET /quantity/handoff` 200 (내역 10줄·제외 1·자재 4, 갈래세트 5). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"dataset_id": "data_work_item_master_manifest",
|
||||
"generated_at": "2026-09-07T19:59:00+09:00",
|
||||
"generated_at": "2026-09-08T00:00:17+09:00",
|
||||
"built_by": "B08_Quantity/B08_Quantity_Build_WorkItemMaster.py",
|
||||
"source": {
|
||||
"dataset_id": "pum_forest",
|
||||
@@ -12,13 +12,13 @@
|
||||
"files": [
|
||||
{
|
||||
"file": "work_item_master_2026-01-01.json",
|
||||
"sha256": "ab6afec24867df51374122efb3fc10416a48b611c2b488c9e3aaa48c2035bedc",
|
||||
"size_bytes": 725962
|
||||
"sha256": "593653135d5a2871180e7a3921f9238629b275438ef47230412aa21e9bdd80c0",
|
||||
"size_bytes": 725931
|
||||
},
|
||||
{
|
||||
"file": "form_undetermined_2026-01-01.json",
|
||||
"sha256": "e43b39bfb844f1d280fb43066ebcf09f9c129eabcbfb2190d249084994d06942",
|
||||
"size_bytes": 40578
|
||||
"sha256": "7334dab9385bc1615a9cdb557ba814482e9a63d83b9e1232946918bfd8b5577f",
|
||||
"size_bytes": 37139
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1625,204 +1625,6 @@
|
||||
],
|
||||
"reason": "헤더·첫 행에 단위·밑수·직종 표지 없음"
|
||||
},
|
||||
{
|
||||
"pum_table_id": "F0367",
|
||||
"section": "12-20. 강관동바리",
|
||||
"headers": [
|
||||
"구 분",
|
||||
"단위",
|
||||
"적 용",
|
||||
"비 고"
|
||||
],
|
||||
"first_rows": [
|
||||
[
|
||||
"자재",
|
||||
"강관 동바리",
|
||||
"내관(48.6mm×2.4mm)",
|
||||
"본",
|
||||
"0.38",
|
||||
""
|
||||
],
|
||||
[
|
||||
"외관(60.6mm×2.3mm)",
|
||||
"본",
|
||||
"0.38",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
]
|
||||
],
|
||||
"reason": "헤더·첫 행에 단위·밑수·직종 표지 없음"
|
||||
},
|
||||
{
|
||||
"pum_table_id": "F0369",
|
||||
"section": "12-22. P.V.C 파이프 설치(50mm)",
|
||||
"headers": [
|
||||
"구 분",
|
||||
"적 용",
|
||||
"비 고"
|
||||
],
|
||||
"first_rows": [
|
||||
[
|
||||
"재료비",
|
||||
"",
|
||||
""
|
||||
],
|
||||
[
|
||||
"설치비",
|
||||
"재료비의 5%",
|
||||
""
|
||||
]
|
||||
],
|
||||
"reason": "헤더·첫 행에 단위·밑수·직종 표지 없음"
|
||||
},
|
||||
{
|
||||
"pum_table_id": "F0375",
|
||||
"section": "12-27-1. 지수판 설치",
|
||||
"headers": [
|
||||
"구 분",
|
||||
"단위",
|
||||
"적 용",
|
||||
"비 고"
|
||||
],
|
||||
"first_rows": [
|
||||
[
|
||||
"자재",
|
||||
"PVC 지수판(200×5)",
|
||||
"m",
|
||||
"1.04",
|
||||
"4% 할증"
|
||||
],
|
||||
[
|
||||
"용접봉",
|
||||
"kg",
|
||||
"0.042",
|
||||
"",
|
||||
""
|
||||
]
|
||||
],
|
||||
"reason": "헤더·첫 행에 단위·밑수·직종 표지 없음"
|
||||
},
|
||||
{
|
||||
"pum_table_id": "F0377",
|
||||
"section": "12-27-3. 실런트(20×25mm)",
|
||||
"headers": [
|
||||
"구 분",
|
||||
"단위",
|
||||
"적 용",
|
||||
"비 고"
|
||||
],
|
||||
"first_rows": [
|
||||
[
|
||||
"자재",
|
||||
"실런트",
|
||||
"㎥",
|
||||
"0.70",
|
||||
"0.02×0.025×1400kg/㎥"
|
||||
],
|
||||
[
|
||||
"인력(설치비)",
|
||||
"방수공",
|
||||
"인",
|
||||
"0.04",
|
||||
""
|
||||
]
|
||||
],
|
||||
"reason": "헤더·첫 행에 단위·밑수·직종 표지 없음"
|
||||
},
|
||||
{
|
||||
"pum_table_id": "F0378",
|
||||
"section": "12-28. 신구 BOX접합",
|
||||
"headers": [
|
||||
"구 분",
|
||||
"단위",
|
||||
"적 용",
|
||||
"비 고"
|
||||
],
|
||||
"first_rows": [
|
||||
[
|
||||
"자재",
|
||||
"에폭시 접착제",
|
||||
"kg",
|
||||
"1.20",
|
||||
""
|
||||
],
|
||||
[
|
||||
"시너",
|
||||
"ℓ",
|
||||
"0.21",
|
||||
"",
|
||||
""
|
||||
]
|
||||
],
|
||||
"reason": "헤더·첫 행에 단위·밑수·직종 표지 없음"
|
||||
},
|
||||
{
|
||||
"pum_table_id": "F0382",
|
||||
"section": "12-31. 물끊기 홈(NOTCH) 설치",
|
||||
"headers": [
|
||||
"구 분",
|
||||
"적 용",
|
||||
"비 고"
|
||||
],
|
||||
"first_rows": [
|
||||
[
|
||||
"재료비",
|
||||
"",
|
||||
""
|
||||
],
|
||||
[
|
||||
"설치비",
|
||||
"주재료비의 5%",
|
||||
""
|
||||
]
|
||||
],
|
||||
"reason": "헤더·첫 행에 단위·밑수·직종 표지 없음"
|
||||
},
|
||||
{
|
||||
"pum_table_id": "F0383",
|
||||
"section": "12-32. 전선관 설치(P.V.C ø54m/m)",
|
||||
"headers": [
|
||||
"구 분",
|
||||
"적 용",
|
||||
"비 고"
|
||||
],
|
||||
"first_rows": [
|
||||
[
|
||||
"재료비",
|
||||
"P.V.C ∅54m/m",
|
||||
""
|
||||
],
|
||||
[
|
||||
"설치비",
|
||||
"주재료비의 10%",
|
||||
""
|
||||
]
|
||||
],
|
||||
"reason": "헤더·첫 행에 단위·밑수·직종 표지 없음"
|
||||
},
|
||||
{
|
||||
"pum_table_id": "F0386",
|
||||
"section": "12-34-2. 합판거푸집(3회 0~7m)",
|
||||
"headers": [
|
||||
"구 분",
|
||||
"적 용",
|
||||
"비 고"
|
||||
],
|
||||
"first_rows": [
|
||||
[
|
||||
"재료비",
|
||||
"1회 기준 46.1%",
|
||||
""
|
||||
],
|
||||
[
|
||||
"노무비",
|
||||
"1회 기준 47.1%",
|
||||
""
|
||||
]
|
||||
],
|
||||
"reason": "헤더·첫 행에 단위·밑수·직종 표지 없음"
|
||||
},
|
||||
{
|
||||
"pum_table_id": "F0388",
|
||||
"section": "12-34-4. 채움재(T=20m/m)",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"schema_version": "1.0",
|
||||
"dataset_id": "work_item_master_forest",
|
||||
"effective_date": "2026-01-01",
|
||||
"generated_at": "2026-09-07T19:59:00+09:00",
|
||||
"generated_at": "2026-09-08T00:00:17+09:00",
|
||||
"dataset_version": {
|
||||
"dataset_id": "pum_forest",
|
||||
"effective_date": "2026-01-01",
|
||||
@@ -20,7 +20,7 @@
|
||||
"tables_total": 475,
|
||||
"tables_attached": 456,
|
||||
"tables_orphan": 19,
|
||||
"form_undetermined": 85
|
||||
"form_undetermined": 77
|
||||
},
|
||||
"orphan_tables": [
|
||||
{
|
||||
@@ -33363,8 +33363,8 @@
|
||||
"pum_table_id": "F0367",
|
||||
"section": "12-20. 강관동바리",
|
||||
"source_line": 6630,
|
||||
"pum_form": "undetermined",
|
||||
"form_basis": "헤더·첫 행에 단위·밑수·직종 표지 없음",
|
||||
"pum_form": "requirement",
|
||||
"form_basis": "분류 딱지 ['인력', '자재']",
|
||||
"basis_quantity": null,
|
||||
"basis_unit": null,
|
||||
"variant_key": [
|
||||
@@ -33490,8 +33490,8 @@
|
||||
"pum_table_id": "F0369",
|
||||
"section": "12-22. P.V.C 파이프 설치(50mm)",
|
||||
"source_line": 6654,
|
||||
"pum_form": "undetermined",
|
||||
"form_basis": "헤더·첫 행에 단위·밑수·직종 표지 없음",
|
||||
"pum_form": "reference",
|
||||
"form_basis": "분류 딱지 표의 '재료비의' — 값이 아니라 비율 지시",
|
||||
"basis_quantity": null,
|
||||
"basis_unit": null,
|
||||
"variant_key": [
|
||||
@@ -34030,8 +34030,8 @@
|
||||
"pum_table_id": "F0377",
|
||||
"section": "12-27-3. 실런트(20×25mm)",
|
||||
"source_line": 6758,
|
||||
"pum_form": "undetermined",
|
||||
"form_basis": "헤더·첫 행에 단위·밑수·직종 표지 없음",
|
||||
"pum_form": "requirement",
|
||||
"form_basis": "분류 딱지 ['자재']",
|
||||
"basis_quantity": null,
|
||||
"basis_unit": null,
|
||||
"variant_key": [
|
||||
@@ -34075,8 +34075,8 @@
|
||||
"pum_table_id": "F0378",
|
||||
"section": "12-28. 신구 BOX접합",
|
||||
"source_line": 6767,
|
||||
"pum_form": "undetermined",
|
||||
"form_basis": "헤더·첫 행에 단위·밑수·직종 표지 없음",
|
||||
"pum_form": "requirement",
|
||||
"form_basis": "분류 딱지 ['인력', '자재']",
|
||||
"basis_quantity": null,
|
||||
"basis_unit": null,
|
||||
"variant_key": [
|
||||
@@ -34357,8 +34357,8 @@
|
||||
"pum_table_id": "F0382",
|
||||
"section": "12-31. 물끊기 홈(NOTCH) 설치",
|
||||
"source_line": 6814,
|
||||
"pum_form": "undetermined",
|
||||
"form_basis": "헤더·첫 행에 단위·밑수·직종 표지 없음",
|
||||
"pum_form": "reference",
|
||||
"form_basis": "분류 딱지 표의 '재료비의' — 값이 아니라 비율 지시",
|
||||
"basis_quantity": null,
|
||||
"basis_unit": null,
|
||||
"variant_key": [
|
||||
@@ -34397,8 +34397,8 @@
|
||||
"pum_table_id": "F0383",
|
||||
"section": "12-32. 전선관 설치(P.V.C ø54m/m)",
|
||||
"source_line": 6823,
|
||||
"pum_form": "undetermined",
|
||||
"form_basis": "헤더·첫 행에 단위·밑수·직종 표지 없음",
|
||||
"pum_form": "reference",
|
||||
"form_basis": "분류 딱지 표의 '재료비의' — 값이 아니라 비율 지시",
|
||||
"basis_quantity": null,
|
||||
"basis_unit": null,
|
||||
"variant_key": [
|
||||
@@ -34560,8 +34560,8 @@
|
||||
"pum_table_id": "F0386",
|
||||
"section": "12-34-2. 합판거푸집(3회 0~7m)",
|
||||
"source_line": 6855,
|
||||
"pum_form": "undetermined",
|
||||
"form_basis": "헤더·첫 행에 단위·밑수·직종 표지 없음",
|
||||
"pum_form": "reference",
|
||||
"form_basis": "분류 딱지 표의 '회기준' — 값이 아니라 비율 지시",
|
||||
"basis_quantity": null,
|
||||
"basis_unit": null,
|
||||
"variant_key": [
|
||||
|
||||
Reference in New Issue
Block a user