Merge remote-tracking branches 'origin/sub_laptop_1' and 'origin/sub_laptop_2' into sub_laptop_3

This commit is contained in:
2026-09-22 12:24:45 +09:00
7 changed files with 340 additions and 120 deletions
@@ -123,3 +123,12 @@
### 남은 수
- 108 → 112(일감 21의 접속티 4 추가) → 이번에 채운 것 0 → **112** = 소형고압블록 49 · 중온 아스콘 지역 없음 28 · KP 접합부속 17 · 접속티 4 · 그 밖 14. (충북 소형 회색 MT009987 1줄은 비고 없음 · 별도)
## 일감 34 — 다섯 칸 다 채울 필요 없음(사용자 확정) · 112줄을 ㉮·㉯ 로 가름
값 다섯 칸(물가자료·유통물가·물가정보·거래가격·관급)을 다 채울 필요 없다는 사용자 확정에 따라, 위 112줄을 「못 채움」 목록에서 빼고 둘로 가름 — 상세 표는 `_확정거리_관급.md` 일감34.
- **㉮ 조달청에 없음(정상) 83줄**: 소형고압블록 38 · 중온 아스콘 지역 묶음 28 · 아스콘 그 밖(서울인천경기·전주 값차) 6 · 생태·본우드·슈퍼셀·접속티 11. 비고를 「관급: 조달청에 없음 — …」으로 다듬음 — 더는 고칠 거리 아님.
- **㉯ 같은 물건이 분명히 있는데 못 이은 줄 29줄**: 소형고압블록 11(경기 3·전북 2·근사 6) · KP 접합부속 17 · 레미콘 1. 비고를 「관급: 확정 기다림 — …」으로 적음 — 위 표의 확정 거리 다섯 가지(소형고압블록 셋 · KP 하나 · 레미콘 하나)만 정하면 됨.
담당: `재료_자재품목.json` 비고 112줄(값은 안 고침).
@@ -1,6 +1,6 @@
# 관리자가 채울 재료 값 (읽기 전용 · 자동 생성)
일괄 시험 계산(`check_master 계산전부`)이 「값 없음 — 관리자가 채울 값」 으로 멈춘 자리 — 재료 45 종 · 로직 56 개.
일괄 시험 계산(`check_master 계산전부`)이 「값 없음 — 관리자가 채울 값」 으로 멈춘 자리 — 재료 39 종 · 로직 49 개.
값을 어디서 가져올지(자재품목 줄 잇기 · 시중물가)는 관리자 몫 — 여기서는 이름만 모음.
@@ -10,16 +10,13 @@
| MP000290 | Nozzle | 3 | GC000933 · GC000934 · GC000938 |
| MP000293 | 세유 | 3 | GC000939 · GC000986 · GC000993 |
| MP000048 | JOINT FILLER | 2 | GF000197 · GF000208 |
| MP000094 | 쉬즈관 | 2 | GC000230 · GC000237 |
| MP000216 | 철구(Shot ball) | 2 | GC000375 · GC000822 |
| MP000299 | 탄소봉 | 2 | GC000941 · GC000942 |
| MP000359 | 중유 | 2 | GC000943 · GC000948 |
| MP000023 | VR관(소켓식) | 1 | GF000173 |
| MP000052 | 스페이셔(몰탈 블록) | 1 | GF000200 |
| MP000055 | 스티로폴 | 1 | GF000202 |
| MP000060 | 콘크리트 표면 강화재(하드너) | 1 | GF000209 |
| MP000065 | 틈메우기돌 | 1 | GF000223 |
| MP000066 | 철망태(사각형 돌망태) | 1 | GF000235 |
| MP000070 | 깃발 | 1 | GF000081 |
| MP000076 | 피복제 | 1 | GC000145 |
| MP000082 | 에폭시 | 1 | GC000337 |
@@ -34,10 +31,8 @@
| MP000176 | 표준보강메시 | 1 | GC000628 |
| MP000177 | 고강도메시 | 1 | GC000629 |
| MP000201 | 실리콘 | 1 | GC000752 |
| MP000202 | IV전선 | 1 | GC000409 |
| MP000209 | 버너 | 1 | GC000360 |
| MP000211 | 테르밋용재 | 1 | GC000361 |
| MP000215 | 용접봉 | 1 | GC000374 |
| MP000218 | 철편(Grit) | 1 | GC000376 |
| MP000235 | 슈 | 1 | GC000433 |
| MP000239 | 베인 전용로드 | 1 | GC000435 |
@@ -49,7 +44,6 @@
| MP000310 | Tar Epoxy | 1 | GC000944 |
| MP000314 | drill | 1 | GC000947 |
| MP000319 | Tar Epoxy | 1 | GC000950 |
| MP000357 | 카트리지 | 1 | GC000646 |
| MP000363 | 아스팔트싱글 | 1 | GC000654 |
## 값 말고 다른 까닭으로 남은 멈춤 (손대지 않음)
@@ -66,3 +60,18 @@
- 자재품목에 후보는 있으나 규격·지역 선택이 관리자 몫이라 못 이은 것 3건 — MP000023 VR관(소켓식, 후보 있음·단위 본→m 환산 안 함) · MP000066 철망태(사각형 돌망태, 후보 있음·단위 조→㎥ 환산 안 함) · MP000215 용접봉(강교 제작용, 후보 12줄·규격 다수).
- 나머지 42건 — 자재품목 전체(30,592줄) · 재료_유가전력.json(오피넷 휘발유·경유·등유·한전 전력 56줄) 다시 훑어도 짝 없음 확인(바뀐 것 없음). 코크스·세유·중유·그리스·머신오일 계열은 해당 상세구분(잡재료/용접·가스 등) 통째로 훑어도 없음.
- 오피넷 홈페이지(중유·벙커C유) 검색 — 시세표가 동적 페이지라 검색 결과에 실제 값이 안 잡힘 · 값을 지어내지 않아 그대로 둠.
## 2026-09-22 로직이 실제로 부르는지 다시 잣대질(로직이 안 쓰는 6건 표에서 뺌)
`check_값없는줄.py` — 로직 1,354 줄을 다시 훑어 위 표 45종이 지금도 로직 호표에서 그 MP 키를 부르는지 확인. 6건은 더 안 불러 뺌.
| 키 | 이름 | 까닭 |
|---|---|---|
| MP000094 | 쉬즈관 | GC000230·GC000237 호표에서 재료 줄 자체가 빠짐 — 로직이 이제 재료를 안 씀 |
| MP000023 | VR관(소켓식) | GF000173 고무링이 재료 고르기 조건(관·이음관·PVC관)으로 바뀌어 이 MP 줄을 더 안 부름 |
| MP000066 | 철망태(사각형 돌망태) | GF000235 철망태·채움재가 고르기 조건(매트·토목섬유·돌망태·사방)으로 바뀜 |
| MP000202 | IV전선 | GC000409 IV전선이 고르기 조건(전기·통신·케이블·전선)으로 바뀜 |
| MP000215 | 용접봉 | GC000374 용접봉(강교 제작)이 고르기 조건(잡재료·용접·가스)으로 바뀜 |
| MP000357 | 카트리지 | GC000646 카트리지가 고르기 조건(볼트·앵커·철물·앵커, 대표 MT007751 — 그 줄은 값 있음)으로 바뀜 |
나머지 39종·로직 49개는 그대로 관리자 몫.
@@ -0,0 +1,53 @@
# 값 없는 줄 분석 — 다섯 칸이 모두 빈 줄 가운데 로직이 실제로 쓰는 것
읽기 전용 분석 · 값 새로 안 채움 · 뽑은 법 `scripts/check_값없는줄.py`(로직 1,354 줄을 훑어 실제 참조를 셈).
문제 삼는 자리 = **다섯 칸(물가자료·유통물가·물가정보·거래가격·관급)이 하나도 없는 줄** 뿐 — 다섯 칸 가운데 일부만 있으면 문제 아님.
## ① 재료_자재품목.json 다섯 칸 모두 빈 줄
MT 30,592 줄 가운데 **345 줄**이 다섯 칸 모두 없음.
## ② 그 가운데 로직이 실제로 가리키는 줄 — 진짜 구멍
호표 요소가 그 키를 바로 적거나 · 재료 고르기 조건(구분·상세구분·규격)의 후보로 걸리거나 · 대표 줄로 콕 집힌 것만 셈 — 345 줄 가운데 **31 줄**.
## ③ 관리 파일 두 개 다시 잣대질(같은 방법으로 재확인)
- `ref/_관리자값_미확보.md`(품셈재료 연결 안 된 45종) — 재검증 결과 **6종**이 이제 로직이 안 씀(고르기 조건으로 바뀌었거나 그 로직 자체가 재료 줄을 뺌) → 표에서 빼고 「로직이 안 씀」 절로 옮김. 남은 **39종·로직 49개**는 그대로 관리자 몫.
- `ref/_없는_재료.md`(자재품목에 짝 없는 품셈재료 111줄) — 재검증 결과 **111줄 모두 지금도 로직이 부름** → 뺄 줄 없음.
두 파일에 각각 「2026-09-22 로직이 실제로 부르는지 다시 잣대질」 절로 적어 둠.
## ④ 끝 수로 · 재료 이름 목록(20개까지)
- 다섯 칸 모두 빈 줄 — **345**
- 그 가운데 로직이 쓰는 줄(진짜 구멍) — **31**
- 이름 목록(20개, 나머지 11개는 스크립트 재실행으로 확인):
| 키 | 이름 | 구분·상세구분 |
|---|---|---|
| MT000009 | 치 즐(0.4㎥) | 기계·설비·기계류 |
| MT000011 | 치 즐(0.7㎥) | 기계·설비·기계류 |
| MT000519 | 시스템동바리(멍애제) | 거푸집·가설재·동바리·비계 |
| MT000521 | 수직재 | 거푸집·가설재·동바리·비계 |
| MT000522 | 수직재 | 거푸집·가설재·동바리·비계 |
| MT000523 | 수평재 | 거푸집·가설재·동바리·비계 |
| MT000524 | 수평재 | 거푸집·가설재·동바리·비계 |
| MT000527 | 안전발판 | 거푸집·가설재·동바리·비계 |
| MT000528 | 받침철물 | 볼트·앵커·철물·와이어로프·클램프 |
| MT000529 | 비계버팀대 | 거푸집·가설재·동바리·비계 |
| MT000531 | 수평재 | 거푸집·가설재·동바리·비계 |
| MT000533 | 안전발판 | 거푸집·가설재·동바리·비계 |
| MT003480 | 필러 | 시멘트·골재·모르타르 |
| MT003850 | 자연자갈, 대전, 도착도 | 시멘트·골재·골재 |
| MT003860 | 쇄석골재, 가평, 도착도 | 시멘트·골재·골재 |
| MT004059 | 혼합골재, 가평, 도착도 | 시멘트·골재·골재 |
| MT005950 | 원타임Ⅰ | 도료·방수·접착·접착·혼화 |
| MT007609 | 낙방사다리 | 거푸집·가설재·동바리·비계 |
| MT007751 | 카트리지 | 볼트·앵커·철물·앵커 |
| MT007754 | 기포제 | 도료·방수·접착·접착·혼화 |
거푸집·가설재(동바리·비계) 묶음이 절반 가까이 — 시스템동바리 계열 자재품목 줄에 값이 통째로 안 채워진 자리로 보임. 나머지는 토목자재 낱개.
값 확정은 관리자 몫 — 여기서는 찾아서 셈만 함.
@@ -128,3 +128,7 @@
- 자재품목에 후보는 있으나 규격·지역 선택이 관리자 몫이라 못 이은 것 5건 — MP000078 색소(후보 1줄 MT006740) · MP000082 에폭시(포켓식 후보 4줄) · MP000209 버너(후보 1줄 MT009352) · MP000214 퓨즈(후보 5줄) · MP000285 땜납(후보 2줄 MT001251·MT001252, 원문 규격 50:50과는 안 맞음).
- 나머지 106건 — 자재품목 전체(30,592줄) 다시 훑어도(이름 겹침만·규격 대조 포함) 짝 없음 확인 · `_검증_재료_공공출처.md` 의 2022 하반기 조달청 시설자재 대조(에폭시·보호막·실리콘·노즐·아스팔트싱글 이름 겹침)도 지금 자재품목에는 없음(그 옛 자료는 새 마스터에 아직 안 들어옴).
- 오피넷·한전 — 중유·코크스·세유·머신오일 계열은 재료_유가전력.json(오피넷 휘발유·경유·등유, 한전 전력 56줄) 어디에도 없음 · 오피넷 홈페이지 검색은 동적 페이지라 실제 값을 못 얻어 지어내지 않고 그대로 둠.
## 2026-09-22 로직이 실제로 부르는지 다시 잣대질
`check_값없는줄.py` — 로직 1,354 줄을 다시 훑어 위 표 111줄이 지금도 로직 호표에서 그 MP 키를 부르는지 확인. 111줄 모두 지금도 부름 — 뺄 줄 없음.
@@ -1,6 +1,31 @@
# 관급 값 채우기 — 사용자 확정 거리 모음 (2026-09-22)
관급 채우기 355 → 108 → (일감21 접속티 4 추가) → **남은 112줄**(`_검증_관급_가까운줄.md` 일감19~22 종합). 값은 이번에도 안 고침 — 갈래마다 「무엇을 정하면 몇 줄이 채워지나」 만 정리.
## 일감 34 — 108줄을 「못 채움」에서 빼고 ㉮·㉯ 로 다시 가름(사용자 확정 반영)
사용자 확정: 자재품목 값 다섯 칸(물가자료·유통물가·물가정보·거래가격·관급)을 다 채울 필요 없음 — 그 출처에 없는 품목은 빈 칸이 정상. 그래서 남은 112줄(108 + 일감21 접속티 4)을 둘로 가름:
- **㉮ 조달청에 없음(정상) — 83줄**: 같은 물건이 조달청에 아예 없거나 값이 뚜렷이 달라 다른 물건으로 봄. 비고를 「관급: 조달청에 없음 — …」으로 다듬고 더는 고칠 거리로 안 셈 — 아래 표의 확정 거리 목록에서 뺌.
- **㉯ 같은 물건이 분명히 있는데 못 이은 줄 — 29줄**: 값이 조달청 한 줄과 정확히 같거나(±0.1%) ±5% 안인데 사람 확정만 남음. 비고를 「관급: 확정 기다림 — …」으로 적음 — 아래 표가 그대로 이 29줄의 확정 거리.
| 갈래 | 줄 수 | ㉮/㉯ | 무엇을 정하면 이어지나 |
|---|---|---|---|
| 소형고압블록 — 경기 6cm 녹백청(청원 값과 정확히 같음) | 3 | ㉯ | 청원 11,110(경기 12개 시 한정)을 다산 「경기도」 전체에 쓸지 |
| 소형고압블록 — 전북 6·8cm 적색(나대영 U102·U104 값과 정확히 같음) | 2 | ㉯ | 나대영 U102·U104(색 표기 없음)를 적색으로 볼지 |
| 소형고압블록 — 대구경북·경기·대전충남·광주전남·충북 적색(나대영 값과 ±5% 안) | 6 | ㉯ | 지역가 대신 나대영 전지역가를 기준으로 쓸지 |
| KP 접합부속 D80~D1200 | 17 | ㉯ | 「KP 접합부속」이 압륜 한 벌인지 고무링 포함 세트인지(D900 이상은 확정해도 압륜 후보가 적어 다 안 채워질 수 있음) |
| 레미콘 부산 25-3-150 | 1 | ㉯ | 25-33-150(값 122,560 정확히 같음)의 오기로 볼지 |
| 소형고압블록 — 그 밖(지역·색 줄 자체 없음 · 값 다른 물건) | 38 | ㉮ | 결정 대상 아님 — 조달청에 그 지역·색 자체가 없음 |
| 중온 아스콘 지역 묶음(세종충남10·전주지역없음6·정읍6·남원6) | 28 | ㉮ | 결정 대상 아님 — 정읍·남원 12줄은 비고를 「그 지역에 그 등급(3등급) 중온 줄이 없음」으로 정정(값은 그대로 못 채움) |
| 아스콘 그 밖(서울인천경기 3 · 전주 값차 3) | 6 | ㉮ | 결정 대상 아님 — 소묶음이 여러 갈래거나 값이 5% 넘게 다름 |
| 생태블록 3 · 본우드 3 · 슈퍼셀 1 · 접속티 4 | 11 | ㉮ | 결정 대상 아님 — 품명·치수·등급이 다름(접속티 4는 일감21에서 이미 null 반영) |
합계 = ㉯ 11(소형고압블록) + 17(KP) + 1(레미콘) = **29** · ㉮ 38 + 28 + 6 + 11 = **83** · 29 + 83 = **112**.
담당 반영: `재료_자재품목.json` 비고 112줄 전부(값은 안 고침) · 위 표.
---
관급 채우기 355 → 108 → (일감21 접속티 4 추가) → **남은 112줄**(`_검증_관급_가까운줄.md` 일감19~22 종합) → (일감34) ㉮ 83 · ㉯ 29. 아래는 일감19~22 당시의 갈래별 상세 근거(값은 이번에도 안 고침).
| 갈래 | 남은 줄 | 결정하면 채워지는 줄(최대) |
|---|---|---|