knowledge(요구): 705-4 경쟁사 결과물 불러오기 범위 조사(sub7) 기록
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# 705-4 경쟁사 결과물 불러오기 범위 — 조사
|
||||
|
||||
sub7 · 읽기 전용 조사 · 2026-10-31
|
||||
경로 약어: `K/` = `resources/knowledge/original/` · `ST/` = `K/원가계산/STmate/` · `DS/` = `K/원가계산/다산소프트/` · `SA/` = `K/경쟁사 프로그램/STmate 분석/20_분석/` · `RE/` = `K/경쟁사 프로그램/EST Plus 2/REA 분석/` · `실/` = `K/실무문서/`
|
||||
실측 = 이번에 실무 파일을 직접 열어 본 값(스크립트 `tmp/705-4/*.py`, 읽기만).
|
||||
|
||||
## ① 결론 다섯 줄
|
||||
|
||||
1. 다섯 대상 모두 **암호 없이 읽히는 길이 하나 이상** 있음 — STmate 엑셀 · EST 엑셀 · .STC · .estx 넷 중 .STC 의 BDQTY(일위대가 구성 수량) 하나만 난독화.
|
||||
2. **내역서 줄(②)이 값어치 최대 · 만들기 쉬움** — 두 엑셀 꼴 모두 줄마다 호표 연결 표시가 있음(STmate = 숨은 코드 열 · EST = 비고 「단산N참조」). 지금 읽는 일위대가와 그대로 이어짐.
|
||||
3. 막힘은 파일 읽기가 아니라 **그릇** — B09 내역 줄에 단가 칸이 없음 · 노임 · 기계 단가 덮개 없음 · 실무자료 길은 고정 줄을 안 씀.
|
||||
4. 수량은 갈래를 둘로 — 「경쟁사 공사 그대로 넘겨받기」 = 불러온 수량이 이김(지금 수량 덮개 그대로) · 「우리 설계 + 경쟁사 단가」 = B08 수량이 이기고 불러온 수량은 비교 칸.
|
||||
5. 차례 = 엑셀 내역 줄 → 원가계산서 요율 → 단가표 → .estx 바로 읽기 → .STC 바로 읽기 → 공사 통째. 원본 파일 바로 읽기는 엑셀 길이 선 뒤 같은 그릇에 붙임.
|
||||
|
||||
## ② 대상 × 파일 꼴
|
||||
|
||||
표기: ○ 읽힘(실측 · 근거 있음) · △ 읽히나 해석 일부 미확정 · ✕ 못 읽음 · ? 조사 더 필요 · (데) = 데스크탑 REA 필요
|
||||
|
||||
| 대상 | STmate 엑셀 | EST 엑셀 | .STC (STmate 원본) | .estx (EST 원본) |
|
||||
|---|---|---|---|---|
|
||||
| ① 일위대가 · 단가산출 | ○ 지금 읽음 — 「일위대가표」+「단가산출근거」 (`M02_Hopyo_Stmate.py:46-47`) | ○ 지금 읽음 — 「일위대가」 (`M02_Hopyo_Excel.py:85,253-289`) | △ 호표 목록 · 단가 4성분 = COSTN 평문 (`SA/02_데이터셋과_파일형식.md:50`) · 단가산출 전개 글 = COSTN.SMT 평문 (`ST/SIxMemo_구조.md:24-41`) · 일위대가 구성 수량 = BDQTY **난독화** (`ST/STC_필드사전_보조.md:11-35` · `ST/STC_난독화_상태.md:50-61`) | ○ HeadTitle/HeadMain 평문 · 금액식 10,506 줄 일치 (`DS/ESTX_데이터관계.md:24-32` · `DS/ESTX_값사전_견적내역.md:353-363`) · 단가산출 CostMain 줄은 자체 마크업 글 △ · 구성 줄 → 호표 귀속 규칙 추정 (데) |
|
||||
| ② 설계내역서 줄 | ○ 「설계내역서」 공종 · 명칭 · 규격 · 수량 · 단위 · 단가 넷 · 금액 넷 · 비고 「대가 5호표」 · 숨은 열 P 코드 `B00194`/`D01341`/`M…` — 기번3 수량 줄 137 · 영월 112 모두 코드 있음(영월 조달수수료 4 = `PR`) (실측) | ○ 「내역서」 같은 열 + 비고 「단산46참조」 40 · 「일위8참조」 8 · 「관급」 8 · 없음 7 (거창 63 줄 · 실측) · 장수 · 진안 엑셀은 DRM 잠김 ✕ | ○ BOQ11 — ITNUM · NAME1 · SIZE1 · UNIT1 · QTY1 · 단가 · 금액 넷 · BDCODE1(T5~T2 제목 · B 호표 · E2 소계) (`ST/STC_필드사전_핵심.md:42-49,68-80`) · 다공구 = BOQ12 · 변경 = 접미 2~4 (`ST/STC_교차비교.md:15-32` · `ST/STC_필드사전_보조.md:71-78`) | ○ EstMainDat — Code · Name · Size · Unite · GN(수량) · 단가 · 금액 · Level(공종 깊이) · LinkIndex(103 호표 · 104 산근 · 5/6/105 자원) (`RE/ESTPlus2_REA_최종보고서_20261030.md:34,45,76`) · 실측: 거창 · 장수 · 진안 .estx 셋 다 보통 ZIP · 암호 플래그 0 · 내역 이름 평문(「토사절취 백호0.7㎥」) — 엑셀이 DRM 인 장수 · 진안도 .estx 는 읽힘 |
|
||||
| ③ 원가계산서 요율 · 비목 | ○ 「공사원가계산서」 비목 · 금액 · 산출근거 글(「직접노무비 x 14.5%」) — 율은 글에서 뽑음 (기번3 실측 10~24행) | ○ 「원가계산서」 요율 칸 따로(「16.5%」) + 산출근거 글 (거창 실측 9~29행) | △ PRJLST 재 · 노 · 경 · 총액 평문 (`ST/STC_필드사전_핵심.md:20-24`) · 공사별 적용 율 칸은 미확인 · RATE 표는 행 이름 없는 내장 기준표 (`ST/STC_필드사전_보조.md:37-48`) ? | △ WongaDat = zlib + 자체 직렬화 · 샘플 식 22/23 일치 · 행 경계 미확정 (`DS/ESTX_값사전_물량도면.md:178,190`) (데) |
|
||||
| ④ 노임 · 자재 · 기계 단가 | ○ 「노무비목록표」 · 「재료비목록표」 · 「중기사용료」 · 「자재단가대비표」 + 숨은 코드(`L00001` · 적용월 `2024.01`) (기번3 실측) · 목록표 5종 지금도 읽음 (`M02_Hopyo_Stmate.py:31,70-164`) | ○ 「노임단가」 · 「자재단가」(출처 6칸 + page) · 「기계경비」 (거창 실측) | ○ COSTN — 코드 M/L/S/E · 적용 단가 넷 · 출처 6칸 AMT_11~61 · 채택 PG_1 (`ST/STC_필드사전_핵심.md:82-114`) · 채택 규칙은 미확정 | ○ LaborcDat · StuffcDat(Cost1~6 + Page) · MachTitle/Main (`DS/ESTX_값사전_자재노무기계.md:14-31,347`) |
|
||||
| ⑤ 공사 통째 | ○ ①~④ 시트가 한 책에 있음 · 숨은 「INITIAL」 = 행 ↔ 코드 표 (`ST/XLSX_INITIAL_구조.md:10,30-34`) | ○ 한 책 50 시트(거창 실측) · 단 DRM 파일 ✕ | △ ①의 BDQTY 빈자리는 같은 공사 엑셀 「일위대가표」로 메움 | △ ③ WongaDat 만 미확정 → 같은 공사 엑셀 원가계산서로 메움 (데) |
|
||||
|
||||
- 국가 표준 길: 조달청 공사원가호환규정 XML(내역 → 공종 → 세부공종 · 일위대가 · 자재 · 노무 · 제경비) — 스키마 사본 있음, 실무 표본 XML 은 지식DB 에 없음 ? (`SA/30_조달청_호환규정_XSD.md:28-52`).
|
||||
|
||||
## ③ 아이슬로에 들어갈 자리
|
||||
|
||||
| 대상 | 들어갈 곳 | 지금 그릇 | 모자란 것 |
|
||||
|---|---|---|---|
|
||||
| ① 일위대가 · 단가산출 | M02 사전조합(지금) · 또는 그 공사 B09 서고 사본 | 사전조합 `precombo/SC-*.json` (`M02_Hopyo_Build.py:87-104,306-317`) · 서고 사본 `B09_Estimation/v1/library/` (`B09_Estimation_Bill_Library.py:3-12`) | 노임 줄 = 「그릇 없음」으로 빠짐 (`M02_Hopyo_Line.py:256`) · % 줄 · 안 맞춘 줄 빠짐 (`M02_Hopyo_Build.py:287-296`) · 실무자료 길은 고정 줄을 안 만듦 — 705-3 몫 |
|
||||
| ② 내역 줄 | B09 `user_values.json` 내역 덮개 v2 — 공종 = 묶음 줄(`kind: group`) · 항목 = 새 줄(`hand:*`) · 연결 = `ref` dg/sg + 서고 사본 | `Calc_Bill.py:19-41` · `B09_Estimation_Store.py:155-190` | **새 줄에 단가 칸 없음** — 단가는 연결로만 옴 · 연결 없으면 빈칸 「수기 줄 — 연결 없음」 (`Calc_Bill.py:151,173-184`) → 705-1 고정 줄 꼴(제 단가 + 이음)을 내역 줄에도 두는 칸 필요 · 공종 나무 고정(1 토공사 ~ 4 자재대 · `Calc_Bill.py:63-78`) — 경쟁사 공종 나무는 묶음 줄로 실음 |
|
||||
| ③ 요율 | 원가계산서 율 덮개 `user.estimate.rates{RT 코드: %}` · 손입력 칸(안전관리비 기초 · 이윤 보정 등) | `Calc_Total.py:15,28-40,162-172` · `Store.py:50-61,277-279` | 비목 짝 표(경쟁사 행 이름 → RT 코드 10개) · 식 꼴이 다른 비목(노인장기요양 = 건강보험료 × % · 산업안전보건관리비 A/B 식) = 율만 싣고 식 차이는 안내 |
|
||||
| ④ 기초 단가 | 공사 단가 책 `price_book.json` + 자재 덮개 | `B09_Estimation_Prices.py:51-104` · 자재 덮개 applied · supply · quote · pick (`Store.py:253-269`) | **노임 · 기계 단가 덮개 없음** (일위대가 줄 단위 `daega_cover` 뿐 · `Store.py:13-14,230-247`) · 노임 판 고르기 없음(지금 M01 판 따라감 · 추정) |
|
||||
| ⑤ 공사 통째 | 새 공사 + ①~④ · B08 수량 없는 상태 | 「지난 공사」 가져오기 = 같은 회사 공사 사본 · 덮개 복사 (`B09_Estimation_Past.py:1-11`) — 꼴이 가장 가까움 | 위 넷 모자람 전부 · 다공구(BOQ12) · 변경 차수(접미 2~4)는 우리 내역에 자리 없음 (추정) |
|
||||
|
||||
## ④ 수량 자동(설계)과 부딪히는 곳
|
||||
|
||||
- 지금 규칙: 자동 줄(`earth:` · `st:` · `haul:`)의 수량 = B08 · 덮개 `qty` 를 넣으면 덮개가 이김 · 자동 값은 `auto_qty` 로 남음 (`Calc_Bill.py:25-26,187-199`). 새 줄(`hand:*`) 수량 = 늘 손 값.
|
||||
- 부딪힘 1 — **같은 공종 두 번**: 불러온 「토사절취」 줄과 B08 자동 「절토(토사)」 줄이 둘 다 서면 금액이 두 번 셈. 불러온 줄을 자동 줄에 붙이거나(덮개) 자동 줄을 `gone` 으로 지워야 함.
|
||||
- 부딪힘 2 — **나누는 법이 다름**: EST 암 = 연암 90 % · 보통암 10 % 손 비율 (거창 「수량집계표」 5~6행 「토적표 암절취 90%」) · 우리 = 연암 · 경암(암발파) 갈래 (`B09_Estimation_Bill_Items.py:31-33`). 한 줄 ↔ 한 줄이 아님.
|
||||
- 부딪힘 3 — **구조물 단위**: 우리 구조물 줄 = 구조물 집계표 열(조합) 하나 = 수량 하나 (`Bill_Items.py:79-105`) · 경쟁사 내역 = 레미콘 · 거푸집 같은 낱 공종 줄 여럿 (추정 — 거창 「내역서총괄표」 4.3 콘크리트구조물 묶음). 1 : N.
|
||||
- 무엇이 이기나 — 후보 셋:
|
||||
- (가) 넘겨받기 갈래: 불러온 수량 = 덮개 → 이김 · B08 이 생기면 `auto_qty` 와 나란히 보임(지금 장치 그대로).
|
||||
- (나) 단가만 갈래: B08 이김 · 불러온 수량은 「경쟁사 수량」 비교 칸 · 차이 큰 줄만 붉게.
|
||||
- (다) 줄마다 고름: 둘을 나란히 보이고 줄마다 [이 값으로].
|
||||
- 제안 = (가)+(나) 두 갈래를 불러오기 창에서 한 번 고름 · (다)는 (가)의 `auto_qty` 비교로 이미 반쯤 됨.
|
||||
|
||||
## ⑤ 매칭 막힘과 쉬운 길
|
||||
|
||||
막힘 (근거):
|
||||
1. **이름이 다름** — EST 「토사절취 / 백호0.7㎥」 · 「암석절취 / 연암」 · 「측구터파기」 (거창 「내역서」 7~12행) ↔ 우리 「절토(토사)」 · 「절토(연암)」 · 「측구파기(토사)」 (`Bill_Items.py:31-38`). STmate 기번3 이름은 우리와 같음(우리 표의 본) → 회사 · 프로그램마다 이름표가 다름.
|
||||
2. **규격이 갈래를 가름** — STmate 자재 사전 명칭 1,761 종 : 코드 57,580 건 · 같은 이름이 규격으로 평균 33 갈래 (`SA/29_암호화자료의_뼈대.md:69,76`). 이름만으론 못 고름.
|
||||
3. **연결 표시가 꼴마다 다름** — STmate = 숨은 코드(정확) · EST 엑셀 = 비고 글 「단산N참조」(번호가 시트 안 차례 · 7 줄은 표시 없음 — 거창 실측) · .estx = Code + LinkIndex, 화면 「제N호표」 번호는 저장 칸 못 찾음 (데).
|
||||
4. **단가를 실을 그릇이 없음** — 맞추지 못한 줄은 지금 빠짐(노임 줄 · % 줄 · 안 고른 줄 `M02_Hopyo_Build.py:287-296` · `M02_Hopyo_Line.py:256`) · 내역 새 줄은 단가 칸 없음(`Calc_Bill.py:151`). 그래서 「맞춰야만 들어감」 → 매칭이 곧 관문.
|
||||
5. **1 : N 묶음** — 우리 구조물 = 조합 하나 · 경쟁사 = 낱 공종 여럿(③ 부딪힘 3).
|
||||
|
||||
고정 줄이 생긴 뒤에도 남는 맞춤 일:
|
||||
- 일위대가 안 줄 ↔ 노임 · 자재 · 기계 이름 잇기 → 705-1 · 705-3 이 「고정 + 이름으로 이음」으로 풂(못 이어도 빠지지 않음).
|
||||
- **내역 줄 ↔ 우리 공종 키(earth · st · haul)** — 남음. 이것이 되어야 B08 수량이 붙음.
|
||||
- **내역 줄 묶음 ↔ 우리 구조물 조합** — 남음. 1 : N.
|
||||
|
||||
쉬운 길 후보:
|
||||
- A. **먼저 싣고 나중에 잇기** — 불러온 줄을 맞춤 없이 전부 새 줄 + 고정 단가로 실어 경쟁사 금액을 그대로 재현(빠짐 0) · 그 뒤 줄마다 [우리 공종으로 잇기]. 매칭이 관문에서 「나중 일」로 바뀜.
|
||||
- B. **코드로 잇기** — STmate · .STC · .estx 는 내역 줄 → 호표 연결이 코드로 정확 → 호표 ↔ 내역 맞춤은 일 없음. EST 엑셀은 「단산N」 → 그 시트 N 번째 블록(지금 `M02_Hopyo_Excel.py:41,283` 이 같은 일을 함).
|
||||
- C. **맞춤 기억 재사용** — 지금 `실무자료/맞춤.json` 꼴 `{품명|규격|단위: 확정}` (`M02_Hopyo_Store.py:123-140`)을 내역 줄 ↔ 공종 키에도 씀. 한 공사 내역 수량 줄 63~137 개 · 공종 이름은 공사마다 거의 같음 → 두 번째 공사부터 대부분 저절로(추정).
|
||||
- D. **이름 짝 표 한 장** — EST · STmate · 우리 토공 이름 짝(토사절취 = 절토(토사) 등 16 줄 · `Bill_Items.py:27-45`)을 사람이 한 번 적음. 토공은 이것으로 끝.
|
||||
- E. **구조물은 묶음 통째 잇기** — 경쟁사 공종 묶음(예 「4.3 콘크리트구조물」) 하나 ↔ 우리 조합 하나만 고르고 안 줄은 묶음에 딸려 감.
|
||||
|
||||
## ⑥ 차례 제안
|
||||
|
||||
| 차례 | 할 일 | 사용자 값어치 | 만들기 | 파일 꼴 |
|
||||
|---|---|---|---|---|
|
||||
| 1 | **엑셀 내역 줄 불러오기**(②) — 쉬운 길 A · B · 내역 새 줄에 고정 단가 칸 · 공종 = 묶음 줄 · 연결 = 같은 책 일위대가(지금 읽는 길) | 큼 — 경쟁사 내역을 그대로 재현 · 금액 맞춤 확인 | 중 — 읽기는 쉬움(열 머리 찾기 재사용) · 그릇 칸 하나 새로 | STmate 엑셀 가능 · EST 엑셀 가능 · DRM 엑셀 불가 |
|
||||
| 2 | **원가계산서 요율**(③) → 율 덮개 | 중 — 총액이 경쟁사와 같아짐 | 쉬움 — 행 이름 → RT 코드 10 짝 · 덮개 이미 있음 | 두 엑셀 가능 · STmate 는 산출근거 글에서 율 뽑음 |
|
||||
| 3 | **기초 단가표**(④) → 단가 책 덮개 | 중 — 「이 공사 단가로 다시 잇기」(705-2)의 짝 | 중 — 자재 덮개 있음 · 노임 · 기계 덮개 새로 | 두 엑셀 가능 |
|
||||
| 4 | 내역 줄 ↔ 우리 공종 잇기(쉬운 길 C · D · E) + 수량 갈래 (가)/(나) | 큼 — 우리 설계 수량과 경쟁사 단가가 만남 | 중~큼 — 토공은 짝 표로 쉬움 · 구조물은 1 : N | 꼴 무관 |
|
||||
| 5 | **.estx 바로 읽기** — 내역 · 호표 목록 · 노임 · 자재 먼저(평문) | 큼 — DRM 엑셀(장수 · 진안)도 열림 · 원본이라 연결 정확 | 중 — DBISAM 고정 레코드 읽기 · 앞 1~4 그릇에 붓기만 | 내역 · 단가 가능 · 단가산출 글 · 원가계산서 조사 더 필요 (데) |
|
||||
| 6 | **.STC 바로 읽기** — BOQ11 · COSTN · COSTN.SMT | 중 — STmate 엑셀이 이미 같은 값 + 코드를 줌 | 중 — dBase/FoxPro DBF · 필드 이름으로 읽기 (`ST/STC_컨테이너_구조.md:49-61`) | 내역 · 단가 가능 · 일위대가 구성은 BDQTY 난독 → 엑셀 함께 |
|
||||
| 7 | **공사 통째**(⑤) — 1~6 을 한 번에 · 새 공사로 | 큼 | 1~6 뒤엔 잇기만 | 다공구 · 변경 차수 조사 더 필요 |
|
||||
|
||||
조사 더 필요 (데스크탑 REA 표시 = (데)):
|
||||
- (데) EST 엑셀 내보내기 열 배치 · 숨은 코드 열 유무 (`RE/ESTPlus2_REA_최종보고서_20261030.md:137`) — 거창 엑셀엔 숨은 코드 열 없음(실측 · 비고 글만).
|
||||
- (데) .estx 구성 줄 → 호표 귀속 규칙 · 「제N호표」 번호 자리 (`DS/ESTX_값사전_견적내역.md:14,362`).
|
||||
- (데) .estx WongaDat(원가계산서) 행 경계 · 레코드 넷의 뜻.
|
||||
- .estx 실제 공사 파일 셋 — 노트북에서 바로 시험 가능(이번 실측 = ZIP 열림 · 이름 평문까지만 · 레코드 해석은 아직).
|
||||
- .STC 내보내기 · 난독 BDQTY 는 불러오기에 필요 없음 — STmate 실기 환경은 기존 미결 19 (`K/../03_미결_및_확인사항.md:12`).
|
||||
- 조달청 호환규정 XML — 실무 표본 파일 확보 뒤 판단.
|
||||
Reference in New Issue
Block a user