Files
Aislo/tools/stmate-test

STMATE 계산 및 제어 흐름 독립 테스트 웹앱 (tools/stmate-test)

개요

경쟁사 설계예산 프로그램 STMATE(경영정보(주))에 대한 REA 6.7.0 / Ghidra 12.1.4 정적 분석 및 지식DB(resources/knowledge/original/경쟁사 프로그램/STmate 분석/) 결과를 바탕으로, 주요 기능과 계산 사슬·제어 옵션을 브라우저에서 독립적으로 확인하고 조작할 수 있도록 만든 테스트 웹앱입니다.

  • 완전 분리 동작: Aislo 본체 서버·공용 MariaDB·로그인 세션과 무관하게 동작합니다.
  • PC 내 STMATE 원본 DBF · STC · JB_R 직접 읽기/쓰기 연동 (server.py):
    • 실행 명령: .\venv\Scripts\python.exe tools\stmate-test\server.py (포트 8095, http://127.0.0.1:8095)
    • PC의 C:\경영정보(주)\STmate 자료\설계자료\실습(맛보기) 원본 DBF 폴더, C:\경영정보(주)\System\ST_BSC\*.JB_R 제비율 기준 DB(2015~2026년 41종), 및 resources/knowledge/original/실무문서/*.STC 실무 프로젝트 DB를 직접 읽어 시뮬레이터에 동기화하고, 수정된 단가·수량·제비율 결과를 CP949 고정폭 바이너리 DBF(COSTN.DBF, BOQ11/12.DBF, PRJLST.DBF/.SMT) 및 .STC 패키지로 직접 기록합니다.
  • 상태 보관 및 입출력: 현재 브라우저 탭(sessionStorage)에 자동 보관되며, 상단 버튼으로 JSON 저장 · 파일 열기 · 예제 초기화도 함께 지원합니다.

주요 확인 및 제어 기능 (7개 탭)

  1. 00 원본 DBF · STC 연동 (server.py, db_bridge.js)

    • PC 내 STMATE 원본 DBF 폴더 및 .STC 패키지 선택·불러오기 (COSTN.DBF, BOQ11/12.DBF, PRJLST.DBF, PRJLST.SMT)
    • C:\경영정보(주)\System\ST_BSC\*.JB_R 제비율 기준 DBF(행20·45·46 좌표) 로드 및 원가계산 요율 즉시 적용
    • COSTN.DBF 단가 직접 편집 및 시뮬레이터 계산 결과의 원본 호환 DBF / .STC 파일 직접 쓰기(tools/stmate-test/work_dbf/)
  2. 01 기초자원 · 노임환산 (ST_Sys.CPM, COSTN.DBF)

    • 자재·노무·경비 기초자원의 5개 가격지 후보(AMT_11..51: 조달·물자·물정·거래·견적) 입력
    • 채택 방식 제어: 0이 아닌 후보 중 최저가 자동채택(min) 또는 특정 후보 슬롯 수동고정
    • 노임 시간당 환산식(RXNM_, 예: 1/8*16/12*25/20) 입력 및 좌→우 순차 평가(선계수 곱셈 오차 방지) 대조
    • 당초/변경 USD 환율(EXLNM1/2) 및 달러 단가 소수점 자리수(ECDNM) 설정
  3. 02 중기 · 단가산출(Q식) (ST_SanCal.CPM, COSTN.SMT)

    • 시간당 중기사용료(X 코드): 운전원 시간당 노임 연결, 연료·소모품(재료비), 손료·정비·관리비(경비) 성분별 절사 합산
    • 단가산출(D 코드): 품셈 인자(q, K, f, E, Cm) 및 작업량 식(Q = 3600*q*K*f*E/Cm 등) 평가 → Q 소수 2자리 확정 후 중기 성분을 나누어 소수 1자리 절사
  4. 03 일위대가 조립 (ST_EdiLWi.CPM)

    • 기초자원(M/L/S), 중기(X), 단가산출(D)을 조합하여 단위당 복합단가(TAMT = MAMT + LAMT + SAMT) 산출
    • 수량 할증률(X_HAL %) 및 나눗셈 수량 플래그(DEVD1: 1/QTY) 제어
    • 호표 성분 소계 원 단위 절사(ROUNDDOWN)와 집계표 사사오입(ROUND) 비교
  5. 04 내역서 · 차액보정 (ST_Func_C.CPM :: SUM_TOT / OPTIMIZ)

    • 일반 말단 공종 행과 제외금액 구역(C* 관급자재대 등 직접공사비 합산 제외) 구분 제어
    • 계산 모드 제어: 비목별 금액 우선(CHNNM=0, ROUNDDOWN(수량×단가)) vs 총액 우선(CHNNM=1, OPTIMIZ 차액보정)
    • 차액 보정 우선순위(OPTNM: SML 경비→재료→노무 등)에 따른 단수 차액 배분 시뮬레이션
  6. 05 제잡비 · 원가계산 (ST_KanJub.CPM :: Calc_Kanjub)

    • 원가계산 4형식 전환 제어: 일반형식(T) · 수공형식(S) · 실적일반(TA) · 실적수공(SA)
    • 형식별 밑수 자동 전환 확인 (예: 환경보전비·보증수수료 밑수가 일반형식은 재+직노+산출경비, 실적일반은 직접공사비)
    • 간접비 순차 절사 전달 (예: 건강보험료 절사 확정액 C_KUNBO → 노인장기요양보험료 밑수)
    • 산업안전보건관리비 관급자재 포함((직재+직노+관급원자재/1.1)×율 + 기초액) 및 1.2배 상한 비교 제어
    • 부가세 옵션(I_BUGA), 도급액 절사 단위(I_TOT_JEOL), 끝전조정(차액 → ROUND(차액/1.1) → 이윤 차감), 관급자재 천원 올림(ROUNDUP(-3)) 제어
  7. 06 변경설계 · REA 근거 (ST_KanJub.CPM, Main 0x55a640)

    • 당초 대비 변경수량 입력 및 간접비 항목별 변경 계산모드 제어:
      • recalculated (변경 직접비 기준 재계산)
      • carry_original (사후정산 항목 당초액 유지 — 건강·장기요양·연금 등)
      • proportional (방법 A: 당초액 비례 증감)
      • delta_rate (방법 B: 증감 직접비 × 요율)
    • K_ORD 등록·차수내리기 전이 규칙(K - (K>5 ? K-4 : 1)) 시뮬레이터 및 REA 정적분석 핵심 주소록 확인

주의사항

  • 예제에 포함된 기초단가와 요율은 기능 확인용 시험 데이터이며, 현행 법령·품셈의 확정 기준값이 아닙니다.
  • 라이선스 동글 없이 수행한 정적 역공학(REA) 결과 기반이므로, 원본 실행 파일의 모든 예외 분기와 수치 동등성을 보증하지 않습니다.