Files
Aislo/tools/stmate-test/README.md
T
eomsangdonandClaude Opus 5.5 a4c0bc14a6 refactor(stmate-test): 원본에 없는 기능 걷음 — 제비율표 JB 대조 보기 · 보고서 CSV · 계약 저장 공사 대조 · 옛 화면 9개(표준카탈로그·레시피·REA 아키텍처 창·가짜 JDL/XML)
- 원본 대조 = 설치본 실행파일 52개 화면 이름·버튼 글·한글 문자열
- 지움: conv_jb.py · excel_builder.py · view_dan_ilwi.js · view_kanjub_prt.js · /api/conv/jb-* · /api/report/csv · /api/stage/projects · /api/catalog · /api/export-xlsx
- 낡은 시험 삭제(지운 기능 전용): conv_change 제비율표 3 · stage_api 공사별 설정 2 · report_sheets CSV 2줄
- 장부 F4-15 · F1-33 · F6-24 설명 고침 · stmate 시험 786 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-14 18:24:22 +09:00

29 lines
3.1 KiB
Markdown

# STMATE w 8.0 Full Engine — 독립 테스트 웹앱 (`tools/stmate-test`)
아이슬로(Aislo) 메인 프로그램과 완전히 분리되어 동작하며, REA 정적분석(`Start8x.exe`, `ST_Sub1.dll`, `ST_Prt.CPM`, 77개 DFM 폼)과 `resources/knowledge/original/경쟁사 프로그램/STmate 분석/` 결과를 근거로 만드는 **STMATE w 8.0 (경영정보(주)) 재현 웹앱** — 진행률·남은 기능은 `PLAN.md` 장부.
---
## 1. 실행 방법
### (권장) 원본 DBF / SMT / STC / JB_R 직접 읽기·쓰기 서버 실행
```powershell
./venv/Scripts/python.exe tools/stmate-test/server.py
```
- 브라우저에서 **`http://127.0.0.1:8095`** 접속 (로그인 불필요)
- `C:\경영정보(주)` 설치본의 프로젝트 폴더·STC·`System\ST_BSC\*.JB_R`(41종) 및 `resources/knowledge/original/실무문서/*.STC`를 자동 탐색하여 전수 로드하고, 수정 결과를 `tools/stmate-test/work_dbf/<프로젝트명>/` 의 원본 호환 `COSTN.DBF`, `COSTN.SMT`, `BOQ11~14.DBF`, `PRJLST.DBF`, `PRJLST.SMT` 및 `.STC` 아카이브로 직접 저장합니다.
---
## 2. 구현된 STMATE w 8.0 전체 화면 및 엔진 구성
| 파일 | 줄 수 | 담당 기능 |
| :--- | ---: | :--- |
| [`index.html`](file:///D:/aislo-wt/안티그래비티/tools/stmate-test/index.html) | 179 | `TWM_STMATE_START_8X` 5대 상단 메뉴(`1. 프로젝트/초기값`, `2. 단가표/대가표`, `3. 내역서/인쇄`, `4. 도구`, `5. 기타`), 8대 메인 툴바, MDI 작업영역, 하단 실시간 집계 상태바(`St_Bar`) |
| [`style.css`](file:///D:/aislo-wt/안티그래비티/tools/stmate-test/style.css) | 596 | Delphi 7 + Raize Components(`TRzBitBtn`, `TRzPageControl`) + `TRDbGrid` 클래식 윈도우 데스크톱 UI |
| [`smt_parser.py`](file:///D:/aislo-wt/안티그래비티/tools/stmate-test/smt_parser.py) | 375 | dBASE III/IV(`DBF`) 파서·빌더, `COSTN.DBF` 10바이트 바이너리 `IFORM`(`<HII`: `tag=0x0008`, `byte_len`, `block_no * 64`) 기반 `COSTN.SMT` 산출근거 본문 추출·재기록기 |
| [`server.py`](file:///D:/aislo-wt/안티그래비티/tools/stmate-test/server.py) | 649 | FastAPI 서버 (`127.0.0.1:8095`) — `/api/sources`, `/api/load`(COSTN·COSTN.SMT·BOQ11~14·PRJLST·RATE_R/RA/M·SET_REP 전수), `/api/load-jbr`, `/api/save` |
| [`calc.js`](file:///D:/aislo-wt/안티그래비티/tools/stmate-test/calc.js) | 674 | 5단계 적산 파이프라인(`M/L/S → X 중기 → D 단가산출 → B 일위대가 → BOQ 내역서 → 원가계산서`) — 원가계산서는 실무 STC 4건 1원 대조 시험(`resources/tester/test_stmate_kanjub_stc.py`) |
| [`view_prj_boq.js`](file:///D:/aislo-wt/안티그래비티/tools/stmate-test/view_prj_boq.js) | 189 | 계층 내역 재집계(`evaluateFullBoqRows` — `T1~T6` 공종헤더·`E1~E6` 소계·`C*` 관급자재 제외구간) · 단가 반영(`syncCostnUnitPrice`) · 저장 요청 묶음(`buildSavePayload`) — 화면은 `scr_*.js` |
| [`app.js`](file:///D:/aislo-wt/안티그래비티/tools/stmate-test/app.js) | 688 | 상단 5대 메뉴·툴바·모달·9개 화면 라우팅 및 DBF/SMT/STC 양방향 저장 컨트롤러 |