Merge remote-tracking branches 'origin/sub_laptop_1' and 'origin/sub_laptop_4' into main_laptop_1

This commit is contained in:
2026-09-21 08:28:27 +09:00
@@ -80,3 +80,40 @@
- 설계 수량은 ㎥ · kg 호표(MP000003·005)는 콘크리트 ㎥당 무게라 결합비가 이미 kg. 자재품목 단가가 ㎥ 이고 호표가 kg 이면 kg ÷ 밀도(㎏/㎥) = ㎥. 밀도는 위 표가 범위값 — 하한·상한 중 어느 값(예: 건조 1,500·1,700)을 쓸지는 정하지 않음.
- 표에 값이 없는 것 — 규사 · 잡석 · 쇄석: 밀도 환산 못 함(`_단위_환산_원문.md` 「없음」).
## ⓒ 시설공통자재가 종합쇼핑몰에서 안 잡히는 까닭 (2026-09-21 확인)
읽기 전용 확인 — 마스터 불변. 집계는 `tmp/an9.py` · `tmp/an9b.py`(비보관).
### ① 30 품목 조회
- 대상 — 옛 스냅샷 6,999줄에서 분야별로 이름을 고르게 뽑은 30 품목(건축 9 · 기계설비 9 · 전기정보통신 8 · 토목 4).
- 방법 — `scripts/update_관급단가.py` 와 같은 종합쇼핑몰 API 3종(MAS `getMASCntrctPrdctInfoList` · 일반 `getUcntrctPrdctInfoList` · 3자 `getThptyUcntrctPrdctInfoList`)에 분류명(`prdctClsfcNoNm`)=품명 조회, 첫 100건 안에서 물품식별번호 · 규격 글자 일치 확인.
- 결과 — 식별번호 일치 0/30 · 규격 일치 0/30.
- 세 API 모두 0건: 22 품목(PVC바닥재 · 경량형강 · 낙하물방지망 · 비닐벽지 · 실링재 · 용접스터드 · 스텐밴드 · 밸브 · 케이블 · 복공판 등).
- 이름 글자만 걸림: 목재판재 38 · 컨테이너하우스 5,664(다른 상품) · 수도용폴리에틸렌이음관 110(분류 「폴리에틸렌제관이음」) · 전선관 2 · 접지장치 1 · 리놀륨 2 · 아스팔트 17,949(분류 「아스팔트콘크리트」 · 컷백 아스팔트 아님).
- 분류번호(`prdctClsfcNo`)·식별번호(`prdctIdntNo`) 조건 조회는 무효 — 모든 값에 총건수 2,247 이 같게 돌아와 조건이 무시됨. 이 조회 결과는 판정에 안 씀.
- 이미 받아 둔 종합쇼핑몰 원본(`원가계산/자재단가/관급/2026-09-20/` 45 파일 137,611줄)과 대조 — 옛 스냅샷 식별번호 6,999 중 겹침 0 · 분류번호(8자리) 230 종 중 9 종만 겹침(30101704 · 30111598 · 30111801 · 30121702 · 30131502 · 30161705 · 39131706 · 40142197 · 40142393). 받아 둔 원본은 관급 목록 45 분류만이라 쇼핑몰 전체가 아님.
### ② 두 자료의 성격
| 항목 | 시설공통자재 가격 | 종합쇼핑몰 |
|---|---|---|
| 정체 | 조달청 공사원가기준과가 조사해 공고하는 가격자료(설계 내역용) | 계약된 상품 목록(계약단가 · 납품요구용) |
| 원천 | 조달청 시설공사 자료실 게시글 첨부(xlsx) · 가격정보현황서비스 `ao/PriceInfoService` (`getPriceInfoListFcltyCmmnMtril*` 4종) | `at/ShoppingMallPrdctInfoService` |
| 줄의 뜻 | 품명 + 규격 + 단위 + 가격 · 옛 스냅샷 6,999줄 전부 가격종류 「기타가격」 · 사업구분 「시설공통자재(분야)」 · 공시번호 있음 | 계약업체 · 계약방식 · 계약기간 · 제조사 딸린 상품 |
| 주기 | 연 2회 + 수시 | 일별 |
- 근거 — 받은 원자료 머리글: 22하 xlsx 4분야 모두 열 `물품분류번호 · 물품식별번호 · 품명 · 규격 · 단위 · 가격 · 부가세여부 · 관할지역`(조달 계약 정보 열 없음) · 옛 스냅샷 `_meta.md`「가격정보현황서비스 API 전건 27,485행 · 철근·레미콘·아스콘 없음」 · 종합쇼핑몰은 같은 `_meta.md` 에 「종합쇼핑몰 계약단가 (철근·레미콘·아스콘 등 주요 관급)」로 따로 적힘.
- 결론 — 시설공통자재 = 조사가격 자료, 쇼핑몰 = 계약 상품. 조사 품목은 규격이 설계용 표준 서술(예: 「육각볼트, M6*20」)이라 쇼핑몰 상품명·규격과 그대로 안 맞음. 조회가 안 되는 것이 정상.
### ③ 따로 받는 공식 길 · 식별번호 체계
- 게시판 파일 — 조달청 누리집 시설공사 자료실(`pps.go.kr/kor/bbs/view.do?bbsSn=…&key=00038`) 반기 게시글 첨부(21하 zip · 22하 xlsx). 게시된 반기 자료는 2022 하반기가 마지막(2023 이후 반기글 없음).
- API — 가격정보현황서비스(`apis.data.go.kr/1230000/ao/PriceInfoService`) 분야별 4 오퍼레이션. 이미 수집기(`_pipeline/collect_cost_sources.py values`)로 받아 옛 스냅샷의 원천이 됨. 최신 고시는 이 API 쪽이 앞섬(고시일 2024-10~2026-04).
- 식별번호 — 두 쪽 모두 8자리 숫자 · 분류번호도 8자리(UNSPSC 계열)로 자릿수는 같음. 그러나 받아 둔 쇼핑몰 원본과 식별번호 겹침 0 · 시설공통자재 식별번호는 「공사용 표준 품목」에 붙는 번호라 쇼핑몰 상품 번호와 이어지지 않음. 이을 수 있는 열쇠는 분류번호(대분류 수준)뿐이고 품목 단위로는 안 이어짐.
### 임의 결정
- 「품명·규격 조회」를 쇼핑몰 API 의 분류명 조건 조회(수집기와 같은 방식)로 함 — 상품명 조건이 따로 없음.
- 30 품목은 분야 안 이름 정렬 후 등간격 추출.