chore(plan): 10-9 둘째 요구 — 조사 H(B09 호표 네 탭) · 분석_정함 155 갈래 뒤집기
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LLCk2y5xE8YGVgjbTntWsY
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
| 152 | B06 도수로 절토 · 도수로 고름 · 노면공 강조 · 연동 흙막이 높이 | F1 · F2 · F3 · F5 | sub7 |
|
||||
| 153 | B07 횡단 배치 칸 · IP 글 색 · CAD 휠 줌 | G1 · G2 · G6 | sub6 |
|
||||
| 154 | B08 미연결 구조물 줄 · 바로 연결 | G3 | sub8 |
|
||||
| 155 | B09 표 글자 · 일위대가표 꼴 · 호표 네 탭 | G4 · G5 · H1~H4 | 데스크탑 보조(+ 조사 H 뒤 나눔) |
|
||||
| 155 | B09 표 글자 · 일위대가표 꼴 · 호표 네 탭 갈래 뒤집기 · 산근 텍스트 수식 · 149 의 B09 쪽 | G4 · G5 · H1~H4 · A5 · D1(B09) | 데스크탑 보조 |
|
||||
|
||||
모델 = 모두 Opus 5.5 high.
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
- 152 — 도수로 띠 = 절토 · 수평 조각까지(B06 · 3D) · 3° 규칙은 배관 · 흙막이만(박스 · 세월교 본체 끝은 안 넓힘) · 도수로 띠 고름 · 강조 = 118-1 관 고름 꼴(좌측 상자 연결) · 노면공 고름 = 범위 카드 빨간 테두리 대신 카드 안 포장층 강조 · 범위 카드 눌러 노면공 열리는 길 끊음(B06) · 연동 흙막이 = 본 흙막이 높이 물려받음 · 연동 풀면 좌측 「이 측점 높이」 ±0.1 줄로 따로 · `UI_Page_Structures_Panel.ts`(699줄) 떼기 먼저.
|
||||
- 153 — 배치 칸 = 「횡단도」 묶음 맨 아래 · 공용 입력칸 · 작은 단추 [이 장] [모든 장] · IP 글 색 = 출력에서 실제 색부터 잼(코드는 IP 기호와 같은 파랑) — 다르게 나오면 IP 기호 색에 맞춤 · 이미 같으면 노선 중심선 색 · CAD 휠 = 늘 줌(커서 중심 · 트랙패드 두 손가락 이동 없어짐) · CAD 빌드.
|
||||
- 154 — 조합 없는 시설도 집계표 줄(값 빈칸 · 「미연결」) · 줄 누름 → 공용 고르기 모달 → 바로 저장(새 서버 길 · 그 칸만) · B05/B06 에 저장 안 한 조작이 있으면 막고 먼저 저장 알림 · 저장 뒤 B08 다시 셈.
|
||||
- 155 — 공용 표 기본 글자 12 → 14px · 열 폭 같은 비율(B05 노선 추천 표도 같이 커짐) · 일위대가표 = 제목 볼드 → 하위 줄 들여쓰기 + 「ㄴ」(공용 표 줄 꼴 곁값) · 호표 네 탭 = 조사 H 뒤.
|
||||
- 155 — 공용 표 기본 글자 12 → 14px · 열 폭 같은 비율(B05 노선 추천 표도 같이 커짐) · 일위대가표 = 제목 볼드 → 하위 줄 들여쓰기 + 「ㄴ」(공용 표 줄 꼴 곁값 · 2단) · **호표 갈래 = 145 정함을 뒤집음**(사용자 뜻 · M02 구분 짝 · 엑셀 대가 꼴과 같음): 일위대가목록 = 구조물 조합 이름 + 사전조합 + 일위대가화 줄 · 단가산출 줄은 일위대가 항목이 아니라 산근 · 일위대가표 = 그 항목들 하위 줄 · 금액(품셈 블록 기계 줄 빈칸 고침) · 비고 「산근 n호표」 · 산근목록 = 단가산출 줄 + 사전조합 안 줄 + 일위대가화 줄 하위 로직(엑셀 꼴 · 자재 · 노무 줄은 안 넣음) · 산근 = 엑셀 꼴 한 칸 텍스트 수식(값이 든 식 + 중간값 「Q = 식 = 값」 · B09 단가로 서버가 지음 · 엔진 `master_text` 낮은 부품 재사용) · 숨은 흠 셋 같이(산근 수량 배로 두 번 나눔 · 기계 변수 줄 빈칸 · 경유 자재 키 불일치) · 산근은 서버 단독(로직 기준 단가 = 서버 · 자재 단가 고침은 [저장] 뒤 반영) · 149 의 B09 쪽(「일위대가화」 글 · % 덧줄 `_extras`)도 여기서(sub3 도우미 받아 씀) · 엑셀 검산 시험 그대로 통과 · 사본 견본 시험 여덟 · 화면 글 시험 하나는 새 갈래로 고침.
|
||||
|
||||
## ⬜ 사용자 (PLAN 146 에 줄)
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
| `M02_MasterTemplete_Labor_LogicMats.ts` | sub5 만(148-1 · 148-4) |
|
||||
| `M02_MasterTemplete_Labor_Rows.ts`(631줄) | sub5(148-4 칸 셋 — 칸 부품은 새 파일) · sub3(149-4 `subRows` 표기) |
|
||||
| `M02_Labor_Doc.py` | sub5(148 `clean`) · sub3(149-4 `run_line`) |
|
||||
| `B09_Estimation_Sangeun.py` · `_UI_Tabs_Sangeun.ts` | sub3(149-3 글 · 149-4 `_extras`) · 155(조사 H 뒤 정함) |
|
||||
| `B09_Estimation/*`(Labor_Source · Sangeun · Calc_Labor 짝 · UI_Tabs_*) | 데스크탑 보조 만(155 · 149 의 B09 쪽 포함) — sub3 은 B09 안 고침 · % 도우미 이름만 알림 |
|
||||
| `B06_Section_UI_Cross_Design_Pick.ts` | sub1 만(151) — sub2 는 내보낸 함수만 씀 |
|
||||
| `B06_Section_UI_Cross_View.ts`(675줄) | sub7(152-3 배선) · sub1(151-3 패널 붙임 한 줄) |
|
||||
| `B06_Section_UI_Section_View.ts` | sub2(150-1 열 기본 한 줄) · sub7(152-4 포장층 강조) |
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
# 조사 H — B09 호표 넷(일위대가목록 · 일위대가표 · 산근목록 · 산근) 원천 다시 짜기 (10-9 둘째 · 읽기 전용 조사 에이전트)
|
||||
|
||||
파일 = `B09_Estimation/` 아래 · 머리 `B09_Estimation_` 생략 · 기준 = 랩탑 메인 HEAD 09b3b50ef · 원문 = `사용자요구_1009_2_추가.md` · 엑셀 = `resources/knowledge/original/실무문서/2024년 간선임도(기번3-울진.대흥)(공통)/1. 설계원본/01 내역자료/2024년 간선임도사업(기번3).xlsx`(openpyxl 읽기 전용 · 셀 = `탭!셀`) · 실측 = `storage/1/3/2a505e36-…`(연결된 사본 6 · 읽기 스크립트만 · 쓰기 없음) · 「추정」 = 코드 · 자료로 확인 못 한 판단 · 지난 기록 = 145-1 · 145-2(`docs/raw/plans/2026-10-09_plan_134-145_*.md:119-130`) · `요구_1009/분석_정함.md` 144 · 145 · `조사_F_원가산출엑셀.md` 6절 · 부록 A4 · A5.
|
||||
|
||||
## 0. 한 줄 결론
|
||||
- 145 정함(「산근 = 단가승격 줄 · 대가 품셈 = 승격 아닌 줄」)이 사용자 뜻과 거꾸로 — 사용자 = 「일위대가화 줄 = 대가 호표 · 단가산출 줄 = 산근」(M02 구분 이름과 같은 짝 · 엑셀 대가17 꼴과 같음) → 원천 갈래 두 곳(`Labor_Source.line_of` · `Sangeun.rows_of`) 뒤집음 + 뒤집으면 번지는 숨은 흠 셋(산근 줄 ÷ 배 · 기계 변수 줄 빈칸 · MO 자재 키) 함께 고침 · 산근 글(H4) = 엔진 글 부품(`master_text`) 재사용 + B09 굳힌 단가로 새로 지음.
|
||||
|
||||
## H1. 일위대가목록표 = 구조물 조합 이름 + 일위대가화 항목
|
||||
- 현재: 목록 = 대가 블록 한 줄씩(`UI_Tabs_Labor.ts:35-55` ← `Calc_Labor.py:163-177` ← `Labor_Source.daega_inputs` :312-331) · 블록 꼴 셋 — 조합(연결된 사본 하나 · 이름 = manifest 원본 이름 = 경로 이은 글 :266 · 규격 = 같은 경로 › :267) · 사전조합(SC 참조 = 겹 대가 :199-230) · 품셈(**승격 아닌** 로직 줄마다 :187-197 → `poomsem` :87-116) · 승격 줄 · 옛 SP 참조 = 산근 줄(:174-186) · 차례 = 조합 → 사전조합 → 품셈(:329).
|
||||
- 실측(2a505e36): 대가 20 = 조합 4 · 사전조합 1 · 품셈 15(메쌓기 · 큰돌 채집 · 터파기 · 되메우기 · 교목식재 …) · 산근 1(옛 SP 「돌쌓기 메쌓기(인력)」) · 조합 4 · 사전조합 1 합계 모두 빈칸 · 사본 11개 어디에도 `승격: true` 없음(134-1 뒤 새로 받은 사본 없음).
|
||||
- 엑셀: 일위대가목록표 A 호표 · B 명칭 · C 규격 · D 단위 · E 합계 · F 노무비 · G 재료비 · H 경비 · I 비고(J 숨은 메타 `COD|B01180`) · 34줄(조합 21 · 품셈 13) · 값 = 블록 합계 줄 그대로(E20 `=일위대가표!F142` · F20 `=일위대가표!H142`) · 예 A20 「제 17호표」 B20 「돌기슭막이(찰쌓기,기초무,구입)」 C20 「H=1.5 L3=45cm」 D20 m · E20 124,594(F~H 96,868 · 11,309 · 16,417).
|
||||
- 어긋남: ① 단가산출 줄이 「품셈」 대가로 목록에 올라옴(사용자 = 산근 · 목록 밖) ② 일위대가화 줄이 산근으로 감(사용자 = 목록 항목) ③ 조합 이름 = 사용자 뜻과 같음 · 규격 칸이 같은 경로를 되풀이(엑셀 = 규격 따로 · 작음).
|
||||
- 고칠 자리: `Labor_Source.py:157-197` `line_of` 갈래 뒤집음 — `승격 true` → `poomsem` 블록(`kind: daega`) · 승격 아닌 로직 줄 → `kind: sangeun`(키 = `sangeun_ref` 그대로) · 옛 SP 참조(:174-179) → SP 첫 줄로 `poomsem`(옛 단가승격 = 일위대가화) · 사전조합 = 지금 그대로(⬜1) · 머리글 :1-14 · 일위대가화 블록 이름 = 줄 별칭 › 알약 이름 › 로직 이름(같은 호표에 여럿이면 처음 것 · 추정) · 블록 `kind` 글 「품셈」 그대로(엑셀 꼴) · 차례 = 조합 → 사전조합 → 일위대가화.
|
||||
- 함께 고칠 흠(뒤집으면 모든 단가산출 줄로 번짐):
|
||||
- (a) 산근 줄 수량 = `수량 ÷ 배`(:163 · :178 · :186)인데 산근 단가는 이미 1 단위(`Sangeun.py:258` ÷ 배) → 배 ≠ 1 로직(원/100개 · 원/10㎡)에서 금액이 1/배 — 산근 줄 = 수량 그대로 · 대가 줄만 ÷ 배(지금은 승격 줄 · 옛 SP 에만 숨은 흠 · 145-2 한 바퀴 시험은 배 1 로직이라 못 잡음).
|
||||
- (b) `poomsem` 기계 줄 판정 = 따옴표 원문번호 글 맞춤(`MACHINE` :42 · :143-154) → `로직(GC000270, 기계=기계…)` · `기계=굴착기`(중간 이름) 줄 = 빈칸 → 실측 품셈 블록 빈칸의 뿌리 → `Sangeun._logic_line` 규칙(입력 「기계」 · EQ 잡기 `_captured` :155-174)으로 · 기계 아닌 하위 로직 줄(:145-152 빈칸 · ponytail) → `sangeun` 줄(하위 로직 + 인자 값 키 · :309-310 꼴).
|
||||
- 재사용: `Sangeun.sangeun_key` · `_env` · `_captured` · `_logic_line` 판정(한 함수로 떼어 둘이 씀 · 추정) · `Builder.put` 같은 꼴 하나(:80-84) 그대로.
|
||||
- 시험: `test_145_2_b09_labor_calc.py` 견본 사본 셋 고침(:269-299 꼴 「품셈 ×4」 · 승격 줄 = sangeun 단정 / :302-318 조합 줄 = 대가 블록 단정 / :368-414 승격 줄 = 산근 단정 — 석공 25.6 값은 그대로) · 새 = 일위대가화 = 대가 블록 · 단가산출 = 산근 줄 · 배 100 로직 산근 줄 수량 = 손 수량 · 기계 변수 줄 = machine.
|
||||
- 위험: 대가 번호 바뀜(품셈 15 빠짐 → 내역 비고 「대가 n」 · 줄 키 `st:…#대가n` 바뀜 — 사용자 값은 자재 · 요율 칸뿐이라 안 끊김 `Store.py:77-101`) · 145 정함 뒤집음(새 계획서에 한 줄).
|
||||
- 크기: 중간.
|
||||
- ⬜ 물음 1: 사전조합(SC) 줄 — ① 대가 호표(겹 · 지금 그대로 · M02 구분 「일위조합」 · 엑셀 대가21 콘크리트비빔 꼴) ② 산근 — 추천 ①.
|
||||
|
||||
## H2. 일위대가표 = 목록 항목의 하위 세부 + 금액
|
||||
- 현재: `UI_Tabs_Labor.ts:57-126` 블록마다 머리(제 n 호표 · 이름) · 품셈 인용 · 줄(명칭 · 규격 · 수량 · 단위 · 합계/노무/재료/경비 단가 · 금액) · 합계 — 값 = `Calc_Labor`(파이썬 · TS 짝 · 거울) · 비고 = `ref_no || why`(:90) · `ref_no` = 대가 줄만 「대가n」(`Calc_Labor.py:159-161` · `.ts:148-149`) · 산근 · 노무 · 자재 · 중기 줄 비고 빈칸.
|
||||
- 엑셀: 일위대가표 A 명칭 · B 규격 · C 수량 · D 단위 · E/F 합계 · G/H 노무 · I/J 재료 · K/L 경비(단가 · 금액) · M 비고.
|
||||
- 대가17(132~142줄) = 파쇄암 별도계상 「별산자재 25」 · 찰쌓기(켜쌓기) 1.57 「대가 6호표」 · 고임돌채집 0.24 「산근 10호표」 · 뒷채움 0.56 「산근 6호표」 · 막자갈채집 0.56 「산근 7호표」 · P.V.C PIPE 0.65 「자재 9」 · 콘크리트비빔 채움재 0.31 「산근 30호표」 · 모르터바르기 0.014 「대가 1호표」 · 합계.
|
||||
- 대가6 찰쌓기(42~48) = 「건설표준품셈 7-1-2(찰쌓기)」 인용 · 석공 0.072 「노무 3」 · 보통인부 0.036 「노무 6」 · 굴삭기+부착용 집게(0.6m3) 0.27 「중기 20」 · 대가21(166~175) = 시멘트 · 모래 · 자갈 별도계상 · 콘크리트공 · 보통인부 · 콘크리트믹서사용 「산근 4호표」.
|
||||
- 식 예: G136 `=단가산출근거목록표!F13` · H136 `=IF(C136=0,0,ROUNDDOWN(G136*C136,1))` · H142 `=ROUNDDOWN(SUMIF(P134:P141,O142,H134:H141),0)`.
|
||||
- 어긋남: 꼴 · 칸은 맞음 · 내용만 H1 따라 바뀜(조합 줄 = 일위대가화 → 대가 n · 단가산출 → 산근 n · 자재) · 금액 빈칸 = 품셈 블록 빈 줄 탓(실측 조합 4 모두 빈칸 → 산근 풀이로 돌리면 13 중 12 값 · 남은 1 = H4 MO 키 흠 · 조합 합계도 그 흠만 빼면 값 · 추정) · 비고 「산근 n」 · 「노무 n」 없음.
|
||||
- 고칠 자리: `Calc_Labor.py:159-161` · `.ts:148-149` 짝 — 산근 줄에도 `ref_no`(「산근n」 = 받은 산근 목록 줄 `no` · `Sangeun.py:353`) · `UI_Tabs_Labor.ts:90` 비고 · 산근 줄 누름 = 풀이 탭 `sg`(:32 지금 `sg_list` · 추정 권장) · 안내 글 :52 · :123.
|
||||
- 재사용: 공용 표 그대로 · 노무 · 자재 · 중기 비고 번호 = 바탕 목록 `no`(`Calc_Base.py:109 · 299`).
|
||||
- 시험: 거울 `test_145_2` :188-194(ref_no 두 짝 같이) · 엑셀 대가 검산 :107-134(대가1 109,259 · 2 16,001 · 9 52,943 · 14 101,522) = 합성 블록이라 그대로.
|
||||
- 위험: 같은 파일 = 조사 G5(제목 볼드 · 「ㄴ」 나무 · 공용 표 `rowClass`) → 한 창 · H 먼저.
|
||||
- 크기: 작음.
|
||||
|
||||
## H3. 단가산출근거목록표 = 일위대가표 세부 항목 나열
|
||||
- 현재: `UI_Tabs_Sangeun.ts:33-57`(호표 · 명칭 · 규격(입력값) · 단위 · 합계 · 노무 · 재료 · 경비 · 「쓰는 구조물 n」) ← `Sangeun.collect` :341-366 ← `rows_of` :84-120 = **승격 줄**(:99) + 옛 SP 참조(:107-116)만 · 하위 산근(돈 로직 부르기 :307-314) 포함 · 같은 로직 + 같은 입력값(+ 켜쌓기율 · 고름) = 하나(:60-69) · 번호 = 사본 차례 첫 등장.
|
||||
- 엑셀: 단가산출근거목록표 칸 = 일위대가목록표와 같음 · 46줄 = 대가가 쓰는 14 + 내역이 바로 쓰는 33(토공 · 운반 — 조합 밖 · 145 = 빈칸 「연결 없음」) · 산근 → 산근 있음(산근30 → 산근4) · 값 = 산근 총계(E9 `=단가산출근거!C354`) · 예 A9 「제 6호표」 B9 뒷채움 C9 「150m/m 내외」 D9 m3 · E9 8,328(6,878 · 538 · 912).
|
||||
- 어긋남: 원천이 거꾸로(승격 줄 → 단가산출 줄) · 사전조합 안 로직 줄 · 일위대가화 줄의 하위 로직 빠짐.
|
||||
- 고칠 자리: `Sangeun.py:84-120` `rows_of` — 원천 = 조합 사본의 승격 아닌 로직 줄(:99 조건 뒤집음) + 사전조합 `참조사본` 안 로직 줄(입력값 = 그 문서 값 · 옛 SP 길 :107-116 꼴 재사용) + 일위대가화 줄의 기계 아닌 하위 로직(`Solver` 에 「하위만 등록」 갈래 · `_logic_line` :307-310 재사용 · 일위대가화 줄 자체는 산근 아님) · 옛 SP = 산근 아님 · 키 = `Labor_Source` 산근 줄 키와 같은 `sangeun_key` · 머리글 :1-21 · `EMPTY` :50 · 안내 `UI_Tabs_Sangeun.ts:52-54`(「단가승격」 글 = 조사 A5 겹침) · 번호 = 일위대가표 첫 등장 차례(추정 권장).
|
||||
- 재사용: `Solver` · `collect` · `price_of` 그대로 · 대가 쪽 이음 = 키(`Router.py:66-68` 그대로).
|
||||
- 시험: `test_145_1_b09_sangeun.py` 다섯 고침(:55 승격 줄만 · :77 중기 · :107 같은 로직 · :129 「승격 없는 사본 = 빈 표」 · :145 단가 없음 — 승격 ↔ 단가산출 뒤집음) · 새 = 사전조합 안 줄 = 산근 · 일위대가화 하위 로직 = 산근 · 일위대가화 줄 자체 = 산근 아님.
|
||||
- 위험: 산근 = 서버 단독(145-1) → 단가산출 줄이 모두 산근이 되면 조작 중 즉시 다시 셈 몫 줄어듦(자재 적용 단가 고침 → 조합 · 내역 금액은 [저장] 뒤 · 지금 산근 탭 안내 「[저장] 뒤 반영」이 일위대가표 · 내역까지 넓어짐) · 산근 수 늘어남(실측 1 → 13).
|
||||
- 크기: 작음(H1 과 한 묶음).
|
||||
- ⬜ 물음 2: 목록 범위 — ① 단가산출 줄(일위대가화 아닌 로직 줄) + 하위 산근만(엑셀 꼴 · 노무 · 자재 · 중기 줄은 각 목록표) ② 일위대가표 세부 줄 전부(자재 · 노무 · 중기 줄도) — 추천 ①.
|
||||
|
||||
## H4. 단가산출근거 = 항목마다 계산을 푼 텍스트 수식
|
||||
- 현재: `UI_Tabs_Sangeun.ts:66-141` = 표 꼴(공종 · 산출내역 · 규격/까닭 · 수량 · 단위 · 단가 · 합계 · 노무 · 재료 · 경비 — 중기 = 노 · 재 · 경 세 줄 :88) · 식 글 없음 · 서버 `Sangeun.Solver` 줄 = 수 · 키만(`_line` :253-289 · `_logic_line` :291-314 · `_extras` :316-337) · 입력 · 중간(Q) 값은 셈에만(`_env` :139-152 · Q ROUND 2).
|
||||
- 엑셀(단가산출근거 A 공종(출처 표) · B 산출내역(글) · C 합계 · D 노무 · E 재료 · F 경비 · 숨은 Z~AQ 연두 입력):
|
||||
- 6호표 뒷채움(285~354): B286 「뒷채움 150m/m 내외 / m3」 · B289 「 건설표준품셈 3-4-2 기초다짐 및 뒷채움 적용 」 · A299 「노무 6」 B299 「 보통인부: 0.018 * 165,545 = 2,979.8」 · A308 「중기 2L」 B308 「 노무비: 55,700 * 0.07 = 3,899.0」 · B310 「 재료비: 7,695 * 0.07 = 538.6」 · B302 · B315 「소계」 · B318 「계」 · A354 「총 계」 C354 8,328.
|
||||
- 7호표 막자갈채집(355~424): B372 「 q (버킷용량) = 0.7 , f (체적환산계수) = 1/1.125 = 0.89」 · B380 「 Q (시간당작업량) = 3600*q*K*f*E/Cm = 21.59 m3/hr 」 · A382 「중기 6L」 B382 「 노 무 비 : 55,700 / Q * 2 = 5,159.7」 · B412 「Q1 (시간당작업량) = 60 * q1 * f * E / Cm = 17.18 m3/hr 」.
|
||||
- 29호표 유로폼: B1938 「 패널(유로폼) : 31,500 * 0.89 / 10 = 2,803.5」 · B1942 「 부자재(웨지핀, 플랫타이, 강관파이프, 훅) : 2,866.5 * 24 % = 687.9」 / 30호표: A1997 「산근 4호표」 B1997 「 콘크리트믹서사용 : 7,528 * 1 = 7,528.0」.
|
||||
- 식 글 예: B380 `=" Q (시간당작업량) = "&Z380&"*q*K*f*E/Cm = "&AL380&" m3/hr "` · B299 `=" 보통인부: "&Z299&" * "&TEXT(I299,…)&" = "&TEXT(C299,"#,##0.0")` · D299 `=IF(H299=0,0,ROUNDDOWN(J299*H299,1))` · D354 `=ROUNDDOWN(SUMIF(N287:N318,M354,D287:D318),0)` — 글 = 값 칸을 이어 붙인 것 · 셈은 옆 칸.
|
||||
- 엔진이 글을 낼 수 있나 = 있음:
|
||||
- `resources/master_data/scripts/master_text.py`(「사람이 읽는 식 줄」 :1-15) · `lines()`(:493-613) = 줄마다 `글`(값 꼴 「단가 * 수량식 = 금액」 · 표 찾기 · 중간 이름은 수로) · `이름글`(이름 꼴 「석공노임 * 메쌓기인력.석공 * (1 + 증가율 %) = 석공비」) · 비목 묶음 소계 · 끝수 한 마디 · 낮은 부품 `render`(:65 값 꼴 · 「/ 100」 → %) · `named` · `_names`(:86 · :483) · `fmt` · `fmt_money` · `fmt_price`(:36-62).
|
||||
- 길 = `POST …/text`(`M01_MasterData/M01_MasterData_Router.py:240-247` → `M01_MasterData_Store.text` :573-584) · 화면 = M01 로직 실험실 「텍스트 수식」(`M01_MasterData_UI_LogicLab_Formula.ts` · 이름 꼴 · 값 꼴 두 칸 짝) · M02 DataFlow 「식 보기」(`M02_MasterTemplete/DataFlow/M02_DF_FormulaView.ts` · 흐름 로직용 · 마스터 흐름 로직 0개라 무관) · M02 일위대가 입력 모달 = 입력값만(`M02_MasterTemplete_Labor_Input.ts:1-5`) · B09 = 없음.
|
||||
- 로직 정의 글: `로직_*.json` 1,469줄 = 입력(이름 · 설명 387/3,502 · 단위 · 고르기 · 출처) · 중간(이름 · 식 3,166 · 출처 1,269 · 설명 없음) · 호표(종류 · 요소 · 이름 · 단위 · 수량 식 · 비목) · 덧줄(식) · 결과단위 · 출처 — 식은 다 글로 남음.
|
||||
- `lines()` 를 그대로 못 쓰는 까닭: 단가 = 엔진(M01 · 사본) 값이 글에 박힘(B09 = 굳힌 단가) · 중간 줄 없음(「1 / Q」 → 「1 / 4.6」 으로 녹음) · 끝수 = 원 정수 표시(엑셀 = 줄 ROUNDDOWN 1) · ÷ 배 · 켜쌓기율 꼬리 없음.
|
||||
- 시안(실측 사본 GF000218 규격 150 · B09 단가 · 읽기 스크립트): 「보통인부 : 172,068 * 0.022 = 3,785.4」 · 「굴착기(무한궤도) 0.2㎥ 노무비 : 59,020 * 0.087 = 5,134.7」 · 총계 18,064 / GF000213 중간 「비율 = 큰돌채집주속계산용수_규격.적용 % * 1 = 0.75」 · 줄 「2.6 * 0.75」 — 글 속 수 = 지금 산근 줄 값과 같음.
|
||||
- 고칠 자리:
|
||||
- 서버 `Sangeun.py` — 블록 `head` 글(「이름 / 단위」 · 출처 · 입력 「이름 : 값 단위」 · 중간 「이름 = 이름식 = 값」) + 줄 `text`(`_line` · `_logic_line` 「이름 : B09 단가 * 수량식(값 꼴)[ / 배][ * 율 %] = 금액」 · 중기 = 노 · 재 · 경 셋 · 하위 산근 = 「산근 n 단가 * 수량」 · `_extras` = 식 값 꼴(B09 비목 합) = 금액) · 비목 묶음 소계(엑셀 단원 꼴) · 계 · 총계 — 서버 단독 그대로(화면은 받은 그대로 `UI_Shell.ts:110`).
|
||||
- 화면 `UI_Tabs_Sangeun.ts:66-141` `buildSg` — 열 = 공종(「노무 n」 · 「중기 n」 · 「자재 n」 · 「산근 n호표」) · 산출내역(글 · 넓은 칸) · 합계 · 노무비 · 재료비 · 경비(엑셀 A~F) · 줄 = 머리 → 입력 · 중간 → 줄 → 소계 → 계 → 총계.
|
||||
- 함께 고칠 흠: 산근 자재 키 = 자리표시 글 그대로(`_line` :278-280 · 「MO:경유:전국평균」) → 대비표 키(MO000002)와 안 맞아 빈칸(실측 「MG 굴착기 작업」 1곳) → `whole.get(글)` 의 「키」로.
|
||||
- 재사용: `m01.mtx`(`M01_MasterData_Store.py:26` 이 이미 적재 · `render` · `_names` · `fmt*` · `mc.aliases` · `mc.names`) · `Sangeun._env`(중간 값 · Q ROUND 2) · 공용 표.
|
||||
- 시험: 새(장 번호 꼴) = 글 끝 수 = 금액 칸 수 · Q 로직 중간 줄 · 배 100 로직 꼬리 「/ 100」 · 덧줄 「%」 · MO 키 자재 줄 값 · 엑셀 6호표 꼴 대조(순수 셈 · `test_145_1:93-104` 곁) · 화면 문자열 시험 `test_145_1:172-179` 고침.
|
||||
- 위험: 공용 표 칸 = 한 줄 · `nowrap` · 말줄임(`ui_template/ui_template_data_table.css:53-54` · 줄 높이 고정 창) → 긴 식 잘림 → 칸 넓게(~520px · 추정) · 이름 꼴 별칭이 길고 낯섦(「기초다짐및뒷채움기계_보통인부.수량」) → 중간 줄만 이름 꼴 · 호표 줄은 값 꼴 · 중간 설명(「시간당작업량」) 원천 없음.
|
||||
- 크기: 중간~큼.
|
||||
- ⬜ 물음 3: 글 꼴 — ① 엑셀 꼴 한 칸(호표 줄 = 값 꼴 · 중간 = 「Q = 이름식 = 값」 · 입력 = 「이름 : 값」) ② M01 「텍스트 수식」 두 칸(이름 꼴 · 값 꼴 짝) — 추천 ①.
|
||||
|
||||
## H5. 사슬 영향 — 네 탭 원천을 바꾸면
|
||||
|
||||
| 자리 | 바뀜 | 시험 |
|
||||
|---|---|---|
|
||||
| 일위대가목록 · 일위대가표 | 품셈(단가산출 줄) 빠짐 · 일위대가화 들어옴 · 대가 번호 바뀜 · 조합 줄 = 대가 n · 산근 n · 자재 | 145-2 견본 셋 고침 · 엑셀 대가 검산 · 거울 = 합성 블록이라 그대로 |
|
||||
| 산근목록 · 산근 | 원천 뒤집음 · 개수 늘어남 · 글 생김 | 145-1 다섯 + 화면 문자열 하나 고침 · 6호표 8,328 셈 그대로 |
|
||||
| 설계내역서 | 구조물 줄 단가 = 조합 블록 합계(`daega_owners` 이음 · `Calc_Bill.py:110-131` 그대로) · 값만 바뀜(지금 빈칸 → 값) · 비고 · 줄 키 「#대가n」 번호 | 145-3 합성 → 그대로 |
|
||||
| 총괄 · 원가계산서 | 내역 비목 합 따라 값만 | 145-4 엑셀 비목 합 입력 → 총공사비 1,201,879,000 그대로 |
|
||||
| 집계표 넷 | `hopyo_lines`(`Summary.py:158-160`) = 산근 + 대가 블록 키 합침 → 전개 길만 조합 → 산근 → 자원 · 합 같은 꼴(추정) | 145-5 합성 → 그대로 · 145-2 한 바퀴 석공 25.6 = 같은 값(꼴 단정만 고침) |
|
||||
| 화면 짝 셈 | 산근 = 서버 단독 · 대가 = 짝 → 조작 중 즉시 몫 줄어듦(H3 위험) | - |
|
||||
| B08 · M02 | 안 바뀜(M02 = 화면 글 「일위대가화」 조사 A5 · 저장 키 `승격` 그대로) | - |
|
||||
|
||||
- 엑셀 검산 시험(1,201,879,000 · 대가 넷 · 6호표 8,328 · 집계표 · 내역 G9 등) = 모두 합성 입력이라 안 깨짐 · 깨지는 것 = 사본 견본 시험 8(145-1 다섯 · 145-2 셋) + 화면 문자열 하나.
|
||||
|
||||
## 고칠 파일 목록
|
||||
|
||||
| 파일 | 요구 | 줄 수(지금 → 예상) | 700 |
|
||||
|---|---|---|---|
|
||||
| `Labor_Source.py` | H1 · H2 | 331 → ~330(글 맞춤 판정 지우고 Sangeun 판정 씀) | 안전 |
|
||||
| `Sangeun.py` | H1 · H3 · H4 | 377 → ~480(글 짓기를 떼면 새 파일 하나) | 안전 |
|
||||
| `Calc_Labor.py` · `Calc_Labor.ts`(짝) | H2 | 198 · 185 → +2 씩 | 안전 |
|
||||
| `UI_Tabs_Labor.ts` | H2(+ G5 겹침) | 126 → ~130 | 안전 |
|
||||
| `UI_Tabs_Sangeun.ts` | H3 · H4 | 141 → ~150 | 안전 |
|
||||
| `resources/tester/test_145_1_b09_sangeun.py` · `test_145_2_b09_labor_calc.py` + 새 시험 | H1~H4 | 179 · 414 | 안전 |
|
||||
|
||||
- 안 고침: `Router.py`(차례 바탕 → 산근 → 대가 → 내역 → 총괄 그대로) · `Summary.py` · `Calc_Bill.*` · `Bill_Items.py` · `Linked.py` · `UI_Shell.ts` · M02 · `resources/master_data`(엔진 글 부품은 읽어 씀).
|
||||
- 겹침: 조사 A5(「단가승격」 글 — `UI_Tabs_Sangeun.ts:53` · `Sangeun.py:50`) · 조사 G5(`UI_Tabs_Labor.ts` · 공용 표 `rowClass`) → B09 한 창 · H 먼저.
|
||||
Reference in New Issue
Block a user