From bae8ca4c9c3fb74f1d0d20b970e919f7c9e514f7 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 5 Nov 2026 16:30:48 +0900 Subject: [PATCH] =?UTF-8?q?knowledge(=EC=9A=94=EA=B5=AC):=20=EB=B6=84?= =?UTF-8?q?=EC=84=9D=20650-H2=20=E2=80=94=20=EC=9A=B0=EB=A6=AC=20=EB=8B=A8?= =?UTF-8?q?=EA=B0=80=EC=82=B0=EC=B6=9C=20=EC=97=91=EC=85=80=EC=B2=98?= =?UTF-8?q?=EB=9F=BC=20=ED=8E=B8=EC=A7=91=20=EA=B0=80=EB=8A=A5=EC=84=B1=20?= =?UTF-8?q?=C2=B7=20=EB=8B=A4=EC=9D=B4=EC=96=B4=EA=B7=B8=EB=9E=A8=20?= =?UTF-8?q?=EC=A7=84=EB=8B=A8=20=C2=B7=20=EA=B2=AC=EB=B3=B8=20=EC=85=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- .../요구_1104/_분석_650-H2_우리편집_견본.md | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 docs/raw/요구_1104/_분석_650-H2_우리편집_견본.md diff --git a/docs/raw/요구_1104/_분석_650-H2_우리편집_견본.md b/docs/raw/요구_1104/_분석_650-H2_우리편집_견본.md new file mode 100644 index 000000000..1d5fc069e --- /dev/null +++ b/docs/raw/요구_1104/_분석_650-H2_우리편집_견본.md @@ -0,0 +1,88 @@ +# 분석 650-H2 — 우리 단가산출 「엑셀처럼」 편집 가능성 · 다이어그램 진단 · 견본 셋 (PLAN 789-2 · 요구 650 · 651 · 읽기만) + +표기 — 〔확인〕 = 파일 · 줄 · 실행 · 〔추정〕 = 판단. 견본 · 시험 스크립트 = `tmp/brain_650/H2/`(mock.json · run_items.py · run_sub.py · lookups.py · whatif.py · make_mock.py · run_out.json · whatif_out.json). + +## 0. 요약 + +1. 엑셀처럼 편집 = 됨 — 엑셀 격자를 들이지 않고 지금 구조(M01 줄 + 사용자 덮개)는 두고 화면을 「줄 식 시트」로 바꿈. +2. 지금 M02 단가산출 상세에서 고칠 수 있는 것 = 옵션 · 줄 품 · 단가 · 율 % · 줄 빼기 · 되살림 · 자원 · 기초 · 율 줄 더하기 · 재료 고름 · 단위 환산 — 모두 숫자만(`M02_Sangeun_Doc.py:27` · `:156`) 〔확인〕. +3. 품 덮개를 넣으면 식이 숫자로 굳어 옵션을 바꿔도 안 따라감(`:420`) · 율 자리가 표 찾기인 줄은 율 덮개가 표 연결을 끊음 〔확인〕. +4. 못 하는 것 = 식 고침 · 식 속 상수(120 · 17) · 표값(M01 「직접 넣을 때」 칸만) · 변수 줄 · 글 줄 · 줄 순서 · 줄 묶음 복사 · 브라우저 즉시 셈(고칠 때마다 서버 셈 왕복) 〔확인〕. +5. 다이어그램(흐름도)을 못 쓰는 까닭 — 상자와 선만 보이고 숫자는 상자 속 · 상자 하나씩만 보임 · 값 하나 고치는 데 4 걸음 이상 · A1 식이라 실무 산근 꼴과 다름 · 저장된 흐름 로직 0 줄 · 10-05 뒤 손질 없음 · 비슷한 흐름 그림 시도(09-20)도 10 시간 만에 걷힘 〔확인 · 추정〕 → 화면은 버리고 바닥(표 찾기 · 단가 읽기 · 끝수 기본값)만 남김. +6. 시트 화면 씨앗 = `calc_sheet.ts` + `ui_template_calc_row`(「이름 | 식 | 값」 줄 · 옵션 칸 고침 이미 됨) 〔확인〕 · 엑셀 엔진 둘(`A00_Common/spreadsheet` · `ui_template/sheet`)은 eval 없이 브라우저 · 서버 같은 코드지만 식 말이 우리 엔진(찾기 · 만약)과 달라 셈 바닥 후보로만. +7. 견본 셋(우리 엔진으로 실제 셈) — 합판거푸집 51,419 원/㎡ · 인력운반(지게) 94,227(= 북부청 엑셀) · 굴착기 641 원/㎥ · 「고치면 얼마」 실측(아래 4 장). +8. 제약 — 꽉 찬 파일 일곱(새 기능은 새 파일) · 즉시 셈 TS 짝은 엔진 Decimal 28 자리를 흉내 내야 함(`버림(1/3*3, 1)` 엔진 0.9 · 분수식 TS 1.0 실측) · 사용자 식 보안 = 파서는 eval 없어 안전하나 식 길이 · 괄호 깊이 상한 없음(깊은 괄호면 서버 500) → 상한 필요. +9. 지난 시도 교훈 — 식 글자 칸 · 만든 사람 말(중간 값 · 덧줄 · 끝수)이 실패 원인 → 시트는 값 옆에 식 · 식은 읽기 쉬운 이름 꼴 · 엔진 날식(찾기 · 만약 · 로직)은 숨김 〔추정〕. +10. 권하는 차례 = ① 시트 화면 → ② 숫자만으로 넓힘(표값 · 상수 · 글 줄) → ③ P2 식 칸 → ④ 필요하면 즉시 셈 · 엑셀 격자 통째로 넣기 = 비추천. + +## 1. 지금 편집 + +M02 단가산출(SK) 상세 — `M02_MasterTemplete_Sangeun_Detail.ts`(569 줄): + +| 고칠 수 있는 것 | 어디 | 저장 꼴 | 비고 | +| --- | --- | --- | --- | +| 이름 · 단위 | `:250-261` | 문서 칸 | | +| 단위 환산 | `:265-277` · `Sangeun_Unit.ts` | 환산 칸 | | +| 옵션 값 | `onInput` `:480-490` · `calc_sheet.ts:162-180` | 입력값(열린입력은 시험 값만) | 바꿀 때마다 서버 셈 | +| 줄 품 · 단가(줄 모달) | `hoEdit` `:422-476` → `Cover_Model.ts:347-368` | 덮개(품 · 배율 · 노 · 재 · 경) | 숫자만 | +| 율 % | `Cover_Model.ts:269-301` | 덮개 → 「X * 율 / 100」 갈아 끼움(`Doc.py:404-433`) | 꼴 다르면 거절 | +| 줄 빼기 · 되살림 | `:434-443` · `Cover_Model.ts:371-387` | 뺀줄 | | +| 별도계상 · 재료 고름 | `:459-468` · `:412-418` | | | +| [항목 추가] | `:109-123` · `Sangeun_Pick.ts` | 더한줄(수량 숫자) | | +| [율 줄 추가] | `:126-136` · `Sangeun_Rate.ts` | 더한줄 비율 줄 | 밑 = 묶음 · 비목 · 앞 줄 | + +- 셈 = 고칠 때마다 서버 한 번(`Sangeun_Cover.ts:27-38`) · 늦게 보낸 요청 답만 씀 · 되돌리기 = 품 [되돌림] 하나 〔확인〕. +- 일위대가(SC) — 줄 더하기 · 삭제 · ▲▼ · 끌어 옮기기 · [옵션] · 수량 수기 · 면적 칸 잇기 · 엑셀 붙여넣기 → 고정 줄 · 화면 즉시 셈 = TS 짝(`Labor_Calc.ts`) + 거울 시험 둘 〔확인〕. +- M01 — 관리자 전용 · 정본은 비고만 고침 · 자체 로직(GX) 편집기(`M01_MasterData_UI_Logic_Edit.ts:117`) 식 = 날 입력칸 · 순서 바꾸기 없음 · 별칭 ↔ 엔진 식 번역기 `master_copy.py` · 검사(`master_formula_check.py:138-227`)는 불러올 때 · 저장 때만 · 로직 1,515 · 중간 3,316 · 호표 5,267 · 덧줄 645 · GX 0 · 흐름 0 〔확인〕. + +## 2. 있는 자산 + +| 자산 | 판정 | +| --- | --- | +| `A00_Common/spreadsheet`(86 파일) — 엑셀 복제 · 안전 파서 · 서버 Node 다시 셈 | 셈 바닥 후보 · A1 주소 · 식 말 다름 · 화면 무거움 | +| `ui_template/sheet` — 이름 변수 `[$이름]` · 브라우저와 Node 한 벌 | 가장 가까운 꼴 · 줄 더하기 · 지우기 없음 · M01 코드 끌어 씀 | +| `calc_sheet` + `calc_row` | 시트 화면 씨앗(부품 상자 · 옵션 칸 고침 됨) | +| `master_text` · `master_copy` | 식 칸 보기 글 · 별칭 ↔ 엔진 식 번역 | +| 흐름도 DataFlow | 화면 버림 · 표 찾기 · 단가 · 끝수 바닥만 | + +## 3. 규칙 제약 + +- 부품 상자 — GX 편집기 날 칸은 못 가져옴 · `A00_Common/spreadsheet` 는 `ui_template` 밖. +- 700 줄 꽉 참 — `master_formula.py` 690 · `LogicLab_Ho.ts` 684 · `M02_Labor_Doc.py` 687 · `M01_MasterData_Store.py` 695 · `Cover_Model.ts` 661 · `Sangeun_Calc.py` 604 · `Sangeun_Detail.ts` 569. +- 계산 자리 — SK 셈 = 이미 「서버 단독」 · 즉시 셈은 TS 짝 + Decimal 흉내 + 거울 시험. +- 숫자만 원칙 — 식 고침은 원칙을 바꿈(요구 650 으로 사용자 확정) · 표값 · 상수 · 글 줄은 원칙 안. +- 보안 — 손 파서 · 로직 부르기 깊이 20(`master_formula.py:482`) · 식 길이 · 괄호 깊이 상한 없음. +- 규정 — 고칠 때마다 까닭 칸 · 원래 값 보존(예정가격작성기준 제2조 ②). + +## 4. 견본 셋 (`mock.json` · 우리 엔진 실제 셈) + +| 견본 | 줄 펼침 | 기본 값 | 고치면(실측) | +| --- | --- | --- | --- | +| 합판거푸집 GC000211(21 줄 + 입력 9) | 표값 시공량 45 · 형틀목공 5 · 보통인부 2(QC000431) · 합판율 0.327 · 형틀목공 275,790 × 0.11111 = 30,643.3 · 보통인부 7,647.4 · 합판 11,354 × 1.03 × 0.327 = 3,824.1 · 각재 7,660.1 · 공구손료 × 1 % = 382.9 · 소모자재 11 % = 1,263.2 · 노 38,290 · 재 12,747 · 경 382 | 51,419 원/㎡ | 사용횟수 6 → 3회 55,474 · 공구손료 1 → 2 % 51,802 · 지붕 감률 상수 17 → 20 61,088 · 인력 줄 더해도 공구손료 밑에 안 듦(밑 = 줄 이름 고정 → 「노무비 소계 × 1 %」는 P1 필요) | +| 인력운반(지게) GC001140 | 무게 575 · 운반량 25 · 환산계수 8 · 환산거리 48 · 작업시간 450 · 적재적하 2 · 왕복속도 2,000 · 일운반회수 42 · 보통인부 172,068 × 575/25/42 = 94,227.7 | 94,227(= 북부청 엑셀) | 운반회수 42 → 0 42,917 · 상수 120 → 100 38,696 · 「할증율 20」 변수 줄 더함 51,501 | +| 굴착기 | Q = 3600 × 1 × 0.9 × 0.7 × 0.75 / 21 = 81 · 시간당 51,958(경유 5,908.4 · 조종원 35,412.1 · 잡재료 1,240.7 · 손료 9,397) × 1/81 = 641.3 | 641 원/㎥ | E 0.7 → 686 · 기계 바꾸면 745 | + +고치면 구조 — 옵션 → M01 연결 유지 · 표값 · 상수 덮개 → 그 줄만 표 연결 끊김 표시 · M01 바뀌면 짝잃음 알림 · 식 덮개(P2) → 원래 식 보존 · 짝 확인 · 변수 줄 · 글 줄 → 바탕 위에 얹음 · 가져온 식 SK → M01 연결 끊김. + +## 5. 기능별 가능성 (S = 며칠 · M = 1~2 주 · L = 3 주+ · 〔추정〕) + +| 기능 | 먼저 필요 | 크기 | +| --- | --- | --- | +| 옵션 값 | — | S(지금도 됨) | +| 표값 바꾸기 | — | S~M | +| 식 속 상수 바꾸기 | — | M | +| 글 줄 | — | S | +| 시트 화면 | — | M | +| 식 고침 | P2 식 칸 | M+M(위험 큼) | +| 변수 줄 | P2 | M | +| 품을 식으로 | P2 | S | +| 줄 묶음 복사 | P2 | M | +| 「소계 × 율」 율 줄 | P1 엔진 셈 의미 | — | +| 브라우저 즉시 셈 | — | 서버 셈 유지 S · TS 짝 L | +| 순서 바꾸기 | — | 셈 순서까지 M · 화면 순서만 S | +| 되돌리기(Ctrl+Z) | — | M | +| 엑셀 격자 통째로 | — | 비추천 | + +새 파일 후보 — `M02_Sangeun_Const.py`(상수 덮개) · `M02_Sangeun_Formula.py`(식 칸) · `M02_MasterTemplete_Sangeun_Sheet*.ts`(시트 화면) · `logic/M02_Sangeun_Eval.ts`(즉시 셈 짝 · 고를 때만). + +근거 — 위 줄 번호 · `tmp/brain_650/H2/*.py` · 지난 시도 장부 `docs/raw/M01_쉬운단가/쉬운단가_검토_D_지난시도.md:12-50`.