- 보고서: 원본 STMATE 엑셀과 셀 대조(목록표·자재단가대비·중기·일위대가·산근 목록·설계내역서·원가계산서) · 조달청 XML 공식 XSD 검증 · PM_Prt 화면 - 제잡비: 원본 계산 순서 4형식(T/S/TA/SA) · 실무 7건 저장 결과키 전수 1원 · 요율표 조회 · 선택지 계산 · 제잡비·제비율 화면 - 식언어·수량: 함수·조건식·금액변수·문법 검사·수량변수·QCODE · 산근·구성·중기공식 편집 화면 · 순환 알림 - 화면: 원본 메뉴 체계·단축키 · 설계내역서 편집(행 넣기·지우기·이동·레벨·보관함) · 초기값 · 단가목록표 - 저장: 초기값(Start8x.Ini) 바뀐 키 저장 · 노임 환산 직종 = 초기값 CONLD · 산근·구성 결과에 적용단가 칸 채우지 않음(원본 0) - DBF 글 칸 앞 빈칸 보존 · 시험 도우미 표준입력 utf8(한글 조각 깨짐 원인) - 실무 5건 재계산 후 저장 = 바뀐 칸 0 · 시험 332건 통과 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
31 lines
1.5 KiB
JavaScript
31 lines
1.5 KiB
JavaScript
// STMATE 재현 앱 보고서 묶음 — stdin = { load: /api/load 결과, stage, mode(pps = 조달청 XML) } · 연쇄 재계산(계산완료) 뒤 시트 모형
|
|
globalThis.window = globalThis;
|
|
globalThis.document = globalThis.document || { readyState: "complete" }; // 노드 — 화면 전용 분기 막음
|
|
require("../../tools/stmate-test/calc.js");
|
|
require("../../tools/stmate-test/smt_eval.js");
|
|
require("../../tools/stmate-test/smt_engine.js");
|
|
require("../../tools/stmate-test/view_prj_boq.js");
|
|
require("../../tools/stmate-test/report_core.js");
|
|
require("../../tools/stmate-test/report_unit.js");
|
|
require("../../tools/stmate-test/report_boq.js");
|
|
const Book = require("../../tools/stmate-test/report_book.js");
|
|
const Pps = require("../../tools/stmate-test/report_pps.js");
|
|
let buf = "";
|
|
process.stdin.setEncoding("utf8");
|
|
process.stdin.on("data", (d) => (buf += d));
|
|
process.stdin.on("end", () => {
|
|
const { load, stage, mode } = JSON.parse(buf);
|
|
const ctx = { dbfData: load, state: load.sim_state, uiState: {} };
|
|
window.STMATE_ENGINE.cascadeRecalculateAll(ctx);
|
|
const computed = window.STMATE_CALC.calculateAll(ctx.state);
|
|
if (mode === "pps") {
|
|
const xml = Pps.buildPpsXml(load, ctx.state, computed, stage || 1, { today: "2026-01-01" });
|
|
process.stdout.write(JSON.stringify({ xml }));
|
|
return;
|
|
}
|
|
const book = Book.buildBook(load, ctx.state, computed, stage || 1);
|
|
const out = {};
|
|
for (const s of book.sheets) out[s.id || s.name] = { name: s.name, rows: s.rows };
|
|
process.stdout.write(JSON.stringify(out));
|
|
});
|