feat(M01): 새로 만들기 모달에 새 길 잇기 — 절 목록으로 원문 절 고르기 · 절로 표 거르기 · 표 조건 값 목록 · 초안 시험 계산 · 자체 로직 저장(GX) · 본떠 만들기

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
This commit is contained in:
2026-09-21 09:43:19 +09:00
co-authored by Claude Sonnet 5
parent 63832239d4
commit beea3fac46
11 changed files with 383 additions and 202 deletions
+1 -1
View File
@@ -38,7 +38,7 @@
- `elements` = 요소 찾기 창 — 그룹 전체에서 `q` 찾기 · `ref` = 식에 넣는 키 · 표형 그룹은 `값칸` 이 옴.
- `materials` = 재료 고르기 단계 — 로직 재료 줄 `요소` 가 조건 `{구분, 상세구분, 규격}` 이면 이 API 로 후보(방식 A·B·C 가 부품 `M01_MasterData_UI_Test_Pick.ts` 하나를 같이 씀 · 구분 → 상세구분 → 후보 순으로 좁힘). `값` 이 비어 있어도 후보로 둠. 옛 재료 줄(품셈재료 키)은 품셈재료 이름(없으면 이름 첫 낱말)으로 `pick?kind=price` 후보. 후보 글 = 이름 규격 · 값 있는 열 전부(물가자료 · 유통물가 …). 멈춤 까닭 `입력 「X」 없음` · `맞는 줄 0개` 는 방식 A·B·C 가 쉬운 말로 바꿔 보임(`plainReason`) · 빈 수 칸은 「값을 넣어 주세요」 안내 글.
- 소요량·계수 표의 `용도`({공종, 대상, 로직키}) = 방식 B 원문 표 미리보기 머리에 안내 · 칸이 없으면 안 보임 · `/tables``usage``용도.대상` 거름(기계 `sub`·`detail` 은 인력과 같이 구분 → 상세구분).
- 「새로 만들기」 모달(`M01_MasterData_UI_Logic_Wizard*.ts`) — 읽기는 기존 길만 씀: 원문 절 = `/tables`(`group` 소요량·계수 · `q` 절 번호)를 책·원문번호로 거름 · 표 조건 값 목록 = `/table` 줄에서 화면이 뽑음 · 인력 = `/pick?kind=job` · 재료 = `/pick?kind=price` 로 찾아 구분·상세구분 조건 묶음으로 넣음 · 기계 = `/elements` · 다른 로직 = `/logics?q`. 시험 계산 = `/calc` `row`+`file`(키 "") · 저장 = `/save` `add` — 파일 이름에 「자체」 가 든 로직 파일이 있어야 저장 단추가 열림.
- 「새로 만들기」 모달(`M01_MasterData_UI_Logic_Wizard*.ts`) — 원문 절 = `/sections` · 그 절의 표 = `/tables?section=`(소요량·계수) · 표 조건 값 = `/table/options` · 인력 = `/pick?kind=job` · 재료 = `/pick?kind=price`(구분·상세구분 조건 묶음으로 넣음) · 기계 = `/elements` · 다른 로직 = `/logics?q`. 시험 계산 = `/calc` 키 "" + `row`(파일 안 보냄) · 저장 = `/logic/new`(소유 `현장` · 키 GX 는 서버) · 본떠 만들기 = `/logic/copy`. 끝수는 묶음 `{대상: 계, 자리: 0, 방법}` 으로 보냄.
- `section` = 절 번호 거름 — 그 절과 그 아래 절만(`13-4``13-4` · `13-4-1` 만 · `13-40` 은 안 걸림). 「만들기」가 절을 고르면 그 절의 표만 보임.
- `/sections` = 만들기 첫 걸음 — 원문 본문의 절 제목 줄에서 모음(`book` = 산림품셈 · 건설품셈 · `division` = 건설품셈 부문(공통 · 토목 · 건축 · 기계설비 · 유지관리) · `chapter` = 장 번호 두 자리 「13」 · `q` = 절 번호·제목 찾기). `chapter` = 「부문 NN장 장 제목」 · `chapterNo` = 「NN」 · `tables` · `logics` = 그 절(아래 절 포함)의 마스터 표·로직 수 — 0 이면 아직 안 올린 절.
- `/table/options` = 조건 값 고르기 — `고르기` 조건은 줄에 나온 값 차례대로(중복 없음) · `범위` 조건은 `[[아래, 위]…]` · `count` = 줄 수. 표 몸을 통째로 받지 않으려는 자리에만 씀(통째는 `/table`).