From 22b56940b07e54a7e0675e18a06ff382fac74002 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 5 Nov 2026 15:43:23 +0900 Subject: [PATCH] =?UTF-8?q?knowledge(=EC=9A=94=EA=B5=AC):=20=EB=B6=84?= =?UTF-8?q?=EC=84=9D=20649-G1=20=E2=80=94=20=EC=9A=B0=EB=A6=AC=20=EB=AA=A8?= =?UTF-8?q?=EB=8D=B8=20=E2=86=94=20=EA=B2=BD=EC=9F=81=EC=82=AC=20=EB=AA=A8?= =?UTF-8?q?=EB=8D=B8=20=EC=B0=A8=EC=9D=B4=20=C2=B7=20=EA=B2=BD=EC=9F=81?= =?UTF-8?q?=EC=82=AC=20=EB=B6=88=EB=9F=AC=EC=98=A4=EA=B8=B0=20=EC=84=A0?= =?UTF-8?q?=EB=A1=80=20=C2=B7=20=EA=B7=9C=EC=A0=95=20=EC=A0=9C=EC=95=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- .../요구_1104/_분석_649-G1_모델차이_선례.md | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 docs/raw/요구_1104/_분석_649-G1_모델차이_선례.md diff --git a/docs/raw/요구_1104/_분석_649-G1_모델차이_선례.md b/docs/raw/요구_1104/_분석_649-G1_모델차이_선례.md new file mode 100644 index 000000000..de394fb10 --- /dev/null +++ b/docs/raw/요구_1104/_분석_649-G1_모델차이_선례.md @@ -0,0 +1,77 @@ +# 분석 649-G1 — 우리 모델 ↔ 경쟁사 모델 차이 · 경쟁사 불러오기 선례 · 규정 (PLAN 788-1 · 요구 649 · 읽기만) + +표기 — 〔확인〕 = 파일 · 줄 · 실행으로 직접 봄 · 〔추정〕 = 근거에서 끌어낸 판단. 실험 = `tmp/brain_649/G1/try_free_row.py`(읽기만). + +## 0. 요약 + +1. 우리 SK · SC = 「M01 구조 로직 + 숫자 패치」 — SK 덮개 · 더한줄 수량은 숫자만 받고 식 안 받음(`M02_Sangeun_Doc.py:31` · `:156`) 〔확인〕. +2. 식은 M01 로직 줄에만 — 입력 · 중간 · 호표 · 덧줄 · 끝수 · 시스템 관리자만 고침 · 1,515 줄 중 중간 1,222 · 덧줄 562 · 끝수 묶음 33 〔확인〕. +3. M01 로직 줄 뼈대 = 경쟁사 산근과 같은 꼴 — 중간 = 매개값 줄 · 호표 = 자원 단가 × 수량식 · 덧줄 = 율 줄(비목 바꿈) · 로직 부르기 = 산근 안 산근 〔확인〕. +4. 경쟁사 글 그대로는 못 셈 — `172,068 × P` · `1㎡ × 575㎏/㎡` · `&L00084&` 모두 우리 파서가 거절 〔확인 · 실행〕. +5. 줄 꼴로 옮기면 지금 엔진이 그대로 셈 — 북부청 야면석 소운반 → 보통인부 94,227.7 = 엑셀 〔확인 · 실행〕. +6. M01 밖 로직 줄을 같은 엔진으로 세는 길 이미 있음 — SK 셈 `_Over`(`M02_Sangeun_Calc.py:46-56`) · 사본에 굳힌 SK 줄 `GX9#####`(`M02_Item_Sangeun.py:27`) · 빠진 것 = 사용자 층 식 저장 · 검사 · 글 → 줄 번역기. +7. 경쟁사에만 있는 것(우리 코드 0 건) — 소계 단계 · 금액번지 · 결과금액 조정 · 줄마다 끝수 · 계약단가 · 낙찰율 · 경비성단가 · 자유 글 줄 〔확인〕. +8. 업체 사이 공통 형식 = 조달청 공사원가호환규정 XML · JDL 하나 — 일위대가 상세 = 자원 코드 · 수량 · 단가 구조 줄 · 글 식 칸 = `중기단가산출식` 하나 · 산근 글 칸 없음 〔확인〕. +9. EST · STmate 는 서로 파일 못 읽음 · 엑셀 불러오기 = 내역 · 단가 숫자 위주 · EST 만 산근을 「산출근거 글 한 열 + 합계 · 노 · 재 · 경 금액」으로 받음(`TFRMEXCELTOEST.json`) · 글을 식으로 풀어 다시 센다는 근거 없음 · EST 「XML 역변환 후 단가비교」 화면 = 금액 어긋남 전제 〔확인 · 추정〕. +10. EST 독립 앱 = .estx 원본(제어 표지 · 줄 정보) 있을 때만 재현 증명(main.estx 115,145/115,145 · 글에 박힌 단가로 다시 센 자기 일관성 `SourceRefresh: false`) · 엑셀 글만으로 재현한 증거 없음 · STmate 앱 평가기 = 부분 구현. + +시장의 「호환」 〔추정〕 — 업체 사이 = 내역 · 일위대가 · 단가 숫자를 국가 표준 XML · JDL 로 주고받음(금액 차이는 비교 화면으로 사람이 확인) · 산근 글은 같은 프로그램 안에서만 통째 복사 · 남의 산근 글을 식으로 되살려 다시 세는 업체 없음 → 「경쟁사처럼 근본 변경」 해도 업체 사이 산근 호환은 생기지 않음. + +## 1. 우리 모델 · 엔진 + +- M01 로직 줄 — 꼴(`resources/master_data/_틀.md:192-205`) 중간 `[{이름, 식}]` · 호표 `[{종류 인력|재료|기계|로직, 요소, 수량(식), 비목, 이름, 단위}]` · 덧줄 `[{이름, 식, 비목}]` · 파서 `scripts/master_formula.py:82-249`(eval 없음 · Decimal · 사칙 · 비교 · 만약 · 올림 · 버림 · 반올림 · 최소 · 최대 · `찾기(표, 조건).칸` · `로직(키, 입력=…)` · 요소 키 `LB000002`) · 셈 `run`(`:564-644`) · 끝수 `master_cut.py:1-14`(줄 비목 0.1 원 버림 · 비목 합 1 원 버림) + 로직 `끝수` 묶음 · 흐름도 로직(`M02_DF_Compute.py`) 쓰는 줄 0 · 권한 = `/api/m01` 시스템 관리자 · TS 식 평가기 없음(「텍스트 수식」 = 서버가 지은 글 찍기). +- M02 SK(`M02_Sangeun_Doc.py`) — 바탕(로직 · 참조 SK · 없음) · 입력값 · 열린입력 · 고름 · 자재표시 · 덮개(숫자만 `:31` · 덧줄은 「X * 율 / 100」 율 숫자만 `:404-433`) · 더한줄(`:155-203` · 인력 · 재료 · 기계 `{요소, 수량, 비목, 단가?, 별도계상?}` · 로직 `{GC, 입력값, 수량, 덮개?, 뺀줄?}` · 참조 `{SK|SC}` · 고정 줄 · 율 줄) · 뺀줄 · 환산 · 셈 서버 단독(`M02_Sangeun_Calc.py` · `_Over` 로 M01 색인 위에 얹어 `labor.run_line`) · 보기 「글」 = 구조에서 지은 읽기 글. +- M02 SC(`M02_Labor_Doc.py`) — 담은로직(로직 · 참조 · 고정) + 자재 · 반영 = 기준 × 수량 ÷ 배 · 비목 0.1 원 버림 · `settle` 비목 1 원 버림 · TS 짝 `M02_MasterTemplete_Labor_Calc.ts` · 고정 줄(`M02_Labor_Fixed.py`) = 「상수 품 × 자원 단가 코드」 + 이음(LB · MT · EQ · MO) · 비율 줄 = 밑(비목 · 묶음 · 줄 목록) × 율 → 지정 비목. +- B09 — 사본 구조물마다 하나(`M02_Item_Snapshot.py`) · 원본 바뀌어도 그대로 · [재적용] · SK 굳힘 `GX9#####`(`M02_Item_Sangeun.py`) · 산근 열 때마다 프로젝트 단가 책으로 다시 풂(Q = ROUND 2 · 줄 ROUNDDOWN 1 · 총계 ROUNDDOWN 0) · [업데이트] = 단가 책 다시 굳힘 · 덮개 그대로 · 경쟁사 원본 읽기 `.estx` · `.STC` = 평문 표만(산근 글 안 읽음) · 내역 줄 = 고정 단가로 불러옴(`B09_Estimation_Bill_Import.py`). +- 지금 「자유 식」 성격 — M01 식(관리자만) · 흐름도(쓰는 줄 0) · SK 덮개 · 더한줄(숫자만) · SC 고정 줄(숫자 + 이음) · 「텍스트 수식」 보기(읽기 글) · 실무자료 블록 글 읽기(셈 없음) · 실무자료 → SK = 숫자 품 × 자원 참조 줄로 굳힘 · 우리 단가로 다시 셈 · 엑셀 금액 참고(`M02_Hopyo_SkUnit.py` · `Make.py`). +- 실험 〔확인 · 실행〕 — 날 글 셋 다 파서 거절 · 줄 꼴로 옮긴 글(중간 `n = 42` · `P = 1*575*1/25*1/n` → 호표 `LB000002 × P` → 덧줄 `노무비*3/100 → 경비`) → 94,227.714 → 끝수 94,227.7 = 엑셀 · 공구손료 2,826.8 · 막는 것 = ① SK 문서가 식 안 받음 ② 번역기 없음(`×` `÷` · 쉼표 · 단위 꼬리 · 세 줄 분수 · `= 값` 메아리 · 라벨 · 이름 → 키) ③ 경쟁사 전용 의미 없음. + +## 2. 차이 표 + +| 경쟁사 개념 | 꼴 | 우리 | 상태 | +| --- | --- | --- | --- | +| 줄 안 자원 단가 코드 참조 | \x03 + LinkIndex · `&L00084&` · `&X…L&` | M01 호표 `요소` × 수량식 · SK 더한줄 · SC 고정 줄 이음 | 있음(사용자 층은 수량 숫자) | +| 상수 · 변수 줄 | `q = 0.7` · `Q = 식 =` · `;;` | M01 입력 · 중간(관리자) · SK 입력값만 | 부분 | +| 산근 안 산근 | LinkIndex 104 · `&D…&` | `로직(GC)` · SK 참조 SK · SC | 있음 | +| 율 + 비목 바꿈 | 58 · `&PA02L:S& * n'%'` | 덧줄 식 · 고정 `비율 {기준, 비목}` | 있음(이름 붙은 번지 없음) | +| 소계 단계 · 금액번지 · 누계 · 제외판 | 61 · 62 · `(=)~(=====)` · `:=A01` · `(-=)` | 비목 합 + 계 한 층 · `줄.'이름'` | 없음 | +| 결과금액 조정 | `ADJ*` · EST 51/52 | — | 없음 | +| 줄 · 블록 끝수 | DigetIndex 0~6 × 셋 · `Q = 식 =` | 고정 규칙 + 로직 끝수 + 식 함수 + B09 Q ROUND 2 | 부분 | +| 별도계상 | 줄 표지 | 재료 표지 | 있음(재료만) | +| 계약단가 · 낙찰율 | EST O* · STmate 계약단가 | — | 없음 | +| 경비성단가 | EST Bigo | — | 없음(뜻 미확인) | +| 글 줄(근거 · ※ 조건 · 분수 그림) | 평문 · `'글'` · `//` | SK 에 없음 · 산출 글은 엔진이 지음 | 부분 | +| 단가 갱신 전파 | 자원 단가만 · 글 그대로 | M01 지금 값 · B09 [업데이트] + [재적용] · 품 식 살아 있음 | 있음(우리가 넓음) | +| 프로젝트 복사 | 글 통째 + 새 코드 · 원천 연결 없음 | 사본 + 굳힌 줄 · 원본 기록 · [재적용] | 있음(다름) | +| 사용자 자유 식 | 산근 글 전부 고침 | — | 없음 | +| 원본 글 보존 | 글 = 정본 | 실무자료 SK `본뜬` {파일 · 원본 · 근거} | 부분 | + +## 3. 경쟁사 불러오기 선례 + +- EST — 「EST → 엑셀」 · 「엑셀 → EST」(captions.json:14020-14034) · 탭 일곱(내역서 · 일위대가 · 단가산출 · 표준시장단가 · 견적단가 · 자재단가 · 노임단가) · 단가산출 탭 열 = 코드 · 산출근거 · 합계 · 노 · 재 · 경(+ 단산시트명 · 시작행 · 끝행) · 식 해석 · 재계산 설정 없음 · 조달청 XML 양방향 · 역변환 후 단가비교 · JDL 변환 · 「JDL 엑셀 단가 비교」(코드 · 합계 칸만 지정해 차액) · 다른 EST 파일 = 같은 명칭 복사 안 함 · Main Data 산근 삽입 = 글 통째 복사 + 새 번호 · 갱신 = 노임 · 기계 · 자재 · 유류 · 표준단가 · 환율만. +- STmate — 엑셀자료 불러오기 = 계약단가 숫자 적용(산근 무관) · 엑셀 기초단가 · 자재단가대비표 · 엑셀 내역서 등록 = STmate xlsx 숨은 INITIAL 시트 전제 〔추정〕 · 코드병합(선택 / +하위 / 모든코드 — 산근 글 그대로 + 하위 코드 따라옴 〔추정·강〕) · 자료파일 업데이트 1~5 차 기준(호환규정코드 / 시설코드 / 명·규·단 / 호환+명+규+단 / 명·단) · 조달청 변환(내보내기 · 「조달청제출용 일위대가 자동수정(손료부분, 산근제외)」). +- 업체 사이 — EST ↔ STmate 상대 파일 읽기 0 건 · 공통 = 조달청 공사원가호환규정 XSD(일위대가상세 = 자원구분 · 자원코드 · 수량 · 단가 · 글 식 칸 = `중기단가산출식` 하나 · 산근 요소 없음). + +## 4. 독립 재구현 앱이 증명한 것 + +- EST(`tools/est-test` · 산근 코드 약 1,450 줄 · 보완 10 여 회) — 매개값 · \x03 · \x0c · \x11 · 소계 61 · 율 58 · 구간 62 · 분수 · DigetIndex · 낙찰 51/52 · \x1a 다룸 · 저장값 재현 main 115,145/115,145 · 산불 세 파일 8,411/8,411 · 측량 80,659/80,682 · 가시설 13,978/13,979 · 조경 93,928/93,932 · 해양 133,635/133,710 · 단서 = 자기 일관성 대조(`SourceRefresh: false`) · 단가 바꾼 뒤 원본 대조 없음 · 엑셀 변환 미구현. +- STmate(`tools/stmate-test`) — 평가기 약 127 줄 · `:=A01` · 율 · 소계 안 셈 · 오류면 0 · 대량 재현 기록 없음 · G 열 식 안 씀. +- 우리에게 주는 것 — 경쟁사 산근 의미 = 닫힌 목록(점검표) · 원본 파일 + 표지 있으면 결정적 재현 · 엑셀 글만으로 식 복원은 증명 안 됨 · 비용 = 경쟁사 하나에 1,450 줄 · 보완 10 여 회. + +## 5. 규정 제약 + +| 규정 | 내용 | 모델 제약 | +| --- | --- | --- | +| 예정가격작성기준 제16조(`resources/knowledge/original/행정규칙/(계약예규) 예정가격작성기준/현행_20260825.md:149`) | 비목별 산출근거를 명시한 기초계산서 첨부 | 노 · 재 · 경 분리 + 근거 | +| 같은 기준 제2조 ②(`:17`) | 표준품셈 물량 감액 · 과잉 금지 · 조정사유 명시 | 덮개 · 수정에 까닭 칸 | +| 같은 기준 제6조 ②(`:51`) | 가장 최근 표준품셈 | 옛 판 복사 산근에 판 차이 표시 | +| 공사입찰유의서 제4조의3(`…/입찰유의서(계약예규)/현행_20251231.md:65-67`) | 세부 산출방법 적힌 단가산출서 입찰 7 일 전 공개 | 산출 글 = 공개 산출물 · 인쇄 꼴 중요 | +| 산림품셈 1-1-2(`…/산림_표준품셈/본문/제01장_적용기준/1-01_일반사항.md:30` · `:34`) | 현장 여건 따라 조정 · 없는 품은 타 부문 품셈 | 사용자 수정 · 자체 산근 허용 근거 | +| 산림품셈 1-2-2(`…/1-02_설계_및_수량.md:141-149`) | 0.1 원 · 1 원 · 1,000 원 미만 버림 | 고정 끝수 근거 · 줄마다 자유 끝수는 표준 밖 선택 | +| 산림품셈 1-6(`…/1-06_원가_작성기준.md`) | 비목 구성 · 율 밑 | 율 줄 밑 · 비목 지정 | + +⇒ 자유 식을 막는 규정 없음 · 비목별 · 근거 · 최신 판 · 조정사유가 요구되므로 「근거 꼬리표가 붙은 구조 줄 + 읽기 글」이 규정에 더 맞음 〔추정〕. + +## 6. G3 로 넘김 — M01 · M02 고칠 후보 〔추정〕 + +① 식 칸을 사용자 층(M02 SK)에 여는 길(`_Over` · 굳힌 GX 줄 선례) · ② 끝수를 줄 · 중간 단위로 · ③ 율 밑에 이름 붙은 번지(줄 묶음) · ④ 글 줄(근거 · 조건) 칸 · ⑤ 품셈 판 표지(판 차이 검출) · ⑥ 계약단가 · 낙찰율 · ⑦ 648-F H6 빈 기초 보강.