From 857ee24035ec5304eba84c1b567fe425a6dde4ec Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sun, 15 Nov 2026 10:25:44 +0900 Subject: [PATCH] =?UTF-8?q?chore(ledger):=20=EC=9A=94=EA=B5=AC=20846=20~?= =?UTF-8?q?=20851=20=EC=A1=B0=EC=82=AC=20=E2=80=94=20=EA=B8=B0=EA=B3=84?= =?UTF-8?q?=EB=A5=BC=20=EB=8B=A8=EA=B0=80=EC=82=B0=EC=B6=9C=20=EC=88=98?= =?UTF-8?q?=EC=8B=9D=20=EA=BC=B4=EB=A1=9C=20=C2=B7=20=EC=A1=B0=EC=A2=85?= =?UTF-8?q?=EC=9B=90=20=EC=9D=B8=EB=A0=A5=20=C2=B7=20=EC=9E=A1=ED=92=88=20?= =?UTF-8?q?=EC=9E=AC=EB=A3=8C=20=C2=B7=20=EC=98=B5=EC=85=98=20=EB=B3=80?= =?UTF-8?q?=EC=88=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- .../요구_1104/_조사_846_기계를_단가산출로.md | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 docs/raw/요구_1104/_조사_846_기계를_단가산출로.md diff --git a/docs/raw/요구_1104/_조사_846_기계를_단가산출로.md b/docs/raw/요구_1104/_조사_846_기계를_단가산출로.md new file mode 100644 index 000000000..80c98c76b --- /dev/null +++ b/docs/raw/요구_1104/_조사_846_기계를_단가산출로.md @@ -0,0 +1,159 @@ +# 조사 846 — 기계를 단가산출 「수식」 보기 꼴로 (읽기 전용 · 코드 읽기 + 자료 계수 · 화면 조작 안 함) + +표기 — 「수식 보기」 = 단가산출 상세의 줄 쌓기 화면(`Sangeun_Tabs.ts:56-90` · 왼쪽 `line_stack_edit.ts` · 오른쪽 `line_stack_out.ts`) · 「GC」 = 기계경비식 부품(수식 문서) · 「사본 줄」 = SK 안 `수식.단가` 의 EQ 줄. + +## 요약 (열한 줄 · 9~11 = 요구 850 · 849 · 851 덧붙임) +1. 기계 시간당 경비는 이미 수식 문서임 — GC000267 등 18 장(건설 16 + 산림 2)이 손료 · 주연료 · 잡품 · 전력 · 조종원을 변수 · 식 · 금액 줄로 갖고 있음(`resources/master_data/수식문서/수식_건설품셈_08장_건설기계.json`). +2. 기계 한 대의 값(가격 · 계수 · 연료 · 직종 …)은 식 안 변수가 아니라 기계 표 줄을 읽는 「요소 이음」 `EQ:{S_기계}` 칸(가격 · 상각비계수 …)임 — 「식 한 장 + 기계 표 값 한 줄」 구조. +3. GC 를 수식 보기로 열면 왼쪽에 옵션 가로(기계 · 지역 · 보정작업) + 값 칸 15 개 공식 묶음 + 금액 줄 4 개 · 오른쪽에 계산 과정 전부가 풀림(스크립트로 실제 차림 확인함 · 화면 조작은 안 함). +4. 그러나 단가산출 안 기계 줄은 왼쪽에 이름 단추 · 수량 · 단위 · 비목만 있고 하위 값 칸이 없음 — 오른쪽 근거에만 읽기 전용 펼침(`line_stack_out.ts:131-159`) · 값은 기계 창(모달)에서만 보고 고침. +5. 손료계수 세 방식 — 바로 넣기 · 시간당 직접 = 지금 식으로 이미 됨 · 품셈 방식(비율 다섯 → 계수 넷) = `반올림` 함수로 식 줄 표현 가능(600 대 중 598 대 원문 계수와 같음 · 2 대는 원문 표 값이 1 작음). +6. 부른 식 안을 부른 쪽 수식 보기에서 고치는 길은 없음 — 서버 `끊음`(굳힌 부름 문서 고침)은 있으나 화면에 만드는 단추가 없고(`line_stack_screen.ts:117,394,444` 에서 받아 돌려주기만) · 한 식 키를 쓰는 모든 기계 줄이 한 문서를 같이 읽는 꼴이라 기계별 값 고침에 안 맞음. +7. 값 고침의 저장 자리는 지금 「내 기계」(개인 층만) — 품셈 기계를 고치면 내 기계 초안 → [저장] 때 파일(요구 811 · 827-1). 사본 줄을 직접 고치는 API 는 없음. +8. 기계 655 대 = 식 10 개가 611 대를 맡고 44 대는 식 목록 밖(임업 36 · 포장 4 · TBM 4) — 「기계마다 한 장」 이 되면 655 장(식 꼴은 10 가지 그대로 반복). +9. (요구 850) 주연료 = 재료 DB(MT)가 아니라 유가 표(MO · 경유 310 대 · 휘발유 19 · 중유 1)에 이어짐 · 잡품 = 「재료비 × 잡재료율 %」 비율 줄 하나뿐이고 소모품 재료(MT)를 붙이는 칸은 식 · 기계 표 · 양식 어디에도 없음 — 「선택이 안 보이는 것」 이 아니라 구조에 없음(MT 붙은 기계 0 대 · 비율만 330 대 · 잡품 없음 325 대 · 예외 GF000337 체인톱 한 식만 재료 DB 검색 줄 2 개). +10. (요구 849) 조종원 = 기계 표 값 칸 `조종원`(인/일) × 시간환산(÷8) × 직종 노임 — 0 인 354 · 1 인 282 · 2 인 18 · 7 인 1 · 직종 칸 빈 42 대. 식 안 「조종원」 금액 줄은 이미 인력 줄 꼴이라 단가산출 꼴에서 인력 줄 추가 · 삭제로 바꿀 길은 있음(걸리는 것 9 장). +11. (요구 851) 옵션(선택 · 입력 + 범위) · 변수(숫자 · 식 · 요소 · 표)가 수식 보기에 다 있어 기계 값을 옵션 · 변수로 두는 그림은 가능 — 단 「기계 표 값을 기본값으로 따라오다가 입력하면 덮는」 규칙은 계산기에 없음(입력은 부른 값 › 문서 값뿐 `common_util_formula_doc_calc.ts:285-317`). + +## 1. 견본 — 굴착기(무한궤도) 1.0㎥ (EQ000022 · 원문번호 0201-0100 · 식 GC000267) + +식 고름(`M02_Machine_Hourly.py:82 pick`) = 목록에 든 식 가운데 기종 수가 가장 적은 것 → GC000267(9 대 목록). 입력 = 기계 0201-0100 · 지역 전국평균 · 보정작업 해당 없음. 단가 값 = 단가산출 사본(`storage/1/3/templates/sangeun/SK-000003.json` 사본 · 2026-08-14 유가 · 건설노임 1048) · 셈은 식대로 손셈(엔진 실행 아님). + +| 줄 | 기호 | 연결 · 식 | 값 | 어디서 옴 | +|---|---|---|---|---| +| 옵션 | S_기계 | 선택(목록 9) | 0201-0100 | 부른 쪽 `입력.기계` | +| 가격 | P_기계 | 요소 `EQ:{S_기계}` 칸 가격 | 142,069 천원 | 기계 표(`기계/EQ000022.json` `값.가격`) | +| 상각 · 정비 · 관리 계수 | k_기계상각비 · 정비비 · 관리비 | 요소 같은 칸 | 900 · 700 · 485 (10^-7/시간) | 기계 표 | +| 가산 | r_가산 | 식 `만약(보정작업=='해당 없음', 0, 표 CC000034)` | 0 % | 식 + 계수표 | +| 손료 | C_손료 | 식 `버림(P_기계×1000×((k상각+k정비)×(1+r_가산÷100)+k관리)÷10^7, 0)` | 29,621 | 식 | +| 주연료 수량 | P_기계주연료 | 요소 칸 주연료 | 19.5 ℓ/hr | 기계 표 | +| 연료 종류 → 단가 | S_연료 → P_자동차용경유 | 요소 칸 주연료종류 → `MO:{연료}:{지역}` | 경유 → 1,846.39 원/ℓ | 기계 표 → 유가 줄 | +| 금액 1 주연료 | 재료비 | 수량 × 단가 | 19.5 × 1,846.39 = 36,004.6 | 줄 끝수 0.1 버림 | +| 직종 → 노임 | S_직종 → w_기계운전사 | 요소 칸 조종원직종 → `LB:{직종}` | 1048 → 283,297 원/일 | 기계 표 → 노임 줄 | +| 금액 2 조종원 | 노무비 | `Q_기계조종원 × Q_시간환산` × 노임 | 1 × (1÷8) × 283,297 = 35,412.1 | 기계 표 + 계수표 CC000336 | +| 금액 3 잡재료비 | 재료비 | `재료비 × r_기계잡재료 ÷ 100` | 36,004.6 × 22 % = 7,921.0 | 기계 표 칸 잡재료율 | +| 금액 4 기계손료 | 경비 | C_손료 | 29,621 | 식 | +| 합 | 노 · 재 · 경 · 계 | 비목 합 원 미만 버림 | 35,412 · 43,925 · 29,621 · 108,958 | 끝수(`수식문서` 끝수 칸) | + +- 한 대 값 15 칸(가격 · 내용시간 · 연간표준가동시간 · 비율 셋 · 계수 넷 · 주연료 · 종류 · 잡재료율 · 조종원 · 직종) 중 식이 읽는 것은 가격 · 계수 셋 · 주연료 · 종류 · 잡재료율 · 조종원 · 직종 아홉 칸 — 내용시간 · 연간표준가동시간 · 비율 셋 · 손료계수는 식이 안 읽음(계수 셋의 근거로만 기계 표에 있음). +- 전력 칸이 있는 기계는 GC001196 · 1197 · 1200 · 1201(전력 계약종별 입력 + `전력량요금` 요소) — 같은 꼴에 줄 하나가 더 붙음. +- 면적 · 시간 단위 — 기계 시간당 경비 = 「원/시간」 단가산출 · 작업량(㎡/h · ㎥/h)은 별도 문서 8-2 장 작업량 식(GC001143 ~ 1190)이고 단가산출 기계 줄 수량(`1 ÷ Q`)이 그 값을 받음 · 기계 표에 면적 단위 칸은 없음. + +## 2. 되는 것 / 지금은 안 되는 것 / 걸리는 것 + +| 구분 | 내용 | 근거 | +|---|---|---| +| 되는 것 | GC 를 수식 보기로 열면 값 칸 · 금액 줄 · 근거 풀이가 전부 나옴(기계 표 읽은 값은 값 칸 + 「요소」 꼬리표 · 값 칸에 수를 치면 그 기호가 숫자 고정값으로 굳음 요구 664) | `common_util_line_stack.ts:108-125,163` · `line_stack_rows.ts:3,296` · M01 읽기 창 `M01_MasterData_UI_Parts.ts:1-8` | +| 되는 것 | 오른쪽 근거에서 기계 줄을 펼치면 손료 · 연료 · 조종원 · 잡품 계산식이 읽기 전용으로 풀림(깊이 3) | `line_stack_out.ts:131-159` | +| 되는 것 | 손료계수 「바로」 · 「시간당 직접」 = 식 있음(GC001198 · GC001196 · 1199) · 「품셈」 = `반올림` · `버림` 함수로 식 줄 표현 가능(계수 = 반올림(비율÷내용시간×10^7) · 관리 = 반올림(연간관리비율×(1.1N+0.9)÷(2N)÷연간표준가동시간×10^7)) | `common_util_formula_doc_calc.ts:85-87` · `master_machine_coef.py:36-79` | +| 되는 것 | 문서 조각을 줄 쌓기에 복사해 펼치는 길 있음(옵션은 고른 값으로 굳음 · 기호 겹침은 아래첨자) — 기계 식(GC)도 이 길로 SK 안에 복사 가능 | `common_util_line_stack_copy.ts:77-135` · `M02_Doc_Take.py:1-20` | +| 지금은 안 되는 것 | 기계 줄 왼쪽에 하위 값 칸 보이기 — 왼쪽 줄은 이름 단추 · 수량 · 단위 · 비목뿐 · 접기는 항목(머리 띠) 단위뿐 | `line_stack_edit.ts:146-289,429-450` | +| 지금은 안 되는 것 | 사본 줄 값 직접 고침 — 서버가 화면 사본을 버리고 저장본 사본을 씀(`settle`) · 수식 길 몸 칸에 사본 값 없음 | `M02_Sangeun_Copy.py:278` · `M02_Doc_Sk_Path.py:114-135` | +| 지금은 안 되는 것 | 부른 식 안 줄 고침 — `끊음` 서버 길만 있고 화면 단추 없음 · 옛 「상세」 보기의 [연결 끊기]는 로직 사본 길(`수식고침`) | `line_stack_screen.ts:117,394` · `M02_Sangeun_Block.py:1-12` | +| 지금은 안 되는 것 | 면적 단위 칸 · 일 단위 손료(임업 36 대 중 「1일 1대당」 26 · 「4시간 가동」 3)의 시간당 식 — 일 단위는 시간당 식 없음 · 까닭 글만 | `M02_Machine_Hourly.py:115-118,129-139` | +| 걸리는 것 | 값 칸에 수를 쳐 굳히면 그 기호는 기계 표 연결이 끊김 → [단가 갱신]이 따라오지 않음 · 「새 값」 배지 판정은 사본 줄 지문 비교(`_fp`)라 연결 끊긴 값과 상관없음 | `line_stack_rows.ts:3` · `M02_Sangeun_Copy.py:54,195,315` | +| 걸리는 것 | 한 SK 안 같은 식 키(GC)를 쓰는 기계 줄 전부가 부름 문서 한 벌을 같이 읽음(`부름` 닫힌 묶음 · 키당 문서 하나) → 식을 고치면 그 키 쓰는 줄 모두 바뀜 · 기계별 값은 식이 아니라 기계 표 줄에 있어야 맞음 | `M02_Doc_Copy.py:135-139` · `M02_Doc_Sk_Path.py:124-134` | +| 걸리는 것 | 기계 판정(`kindOf`) = 「단가 연결 하나 · 입력에 기계」인 줄만 기계 줄(이름 단추 · 기계 창 · 가져온 기계 판정 배지) — 문서를 펼쳐 복사하면 기계 줄이 인력 · 재료 · 율 줄로 흩어져 기계 창 · 판정 · 판 비교가 사라짐 | `common_util_line_stack.ts:127-149` | +| 걸리는 것 | 같은 계산이 세 벌 — GC 수식 문서(정본 서버) · `master_machine_coef.py` ↔ `common_util_machine_coef.ts`(기계 양식 미리보기 짝 · 거울 시험) · 내 기계 셈 꼴 `engine` — 끝수 허용값이 짝은 `1e-6` · 문서 계산기 `1e-7` 로 다름(경계값 차이 여부는 확인 안 함) | `master_machine_coef.py:30` · `common_util_formula_doc_calc.ts:33` | +| 걸리는 것 | 기계 양식 부품 `createMachineForm`(520 줄)은 처음 값으로 한 번 그림 · 값 갈아끼우는 함수 없음 · 읽기 전용 모드는 있으나 기계 창 오른쪽만 씀 | `ui_template_machine_form.ts:51-83,136` | +| 되는 것 (850) | 수식 보기로 열면 주연료 줄은 「재료」 · 조종원 줄은 「인력」 줄(이름 단추 · 수량 칸)로 드러남 — `Node` 로 GC000267 차림 확인(주연료 kind=재료 · 조종원 kind=인력) | `common_util_line_stack.ts:127-149` | +| 지금은 안 되는 것 (850) | 잡품 줄에 재료 고르기 — 잡재료비 줄은 「율」 종류(재료비 × 잡재료율 ÷ 100)라 이름 칸 + 식 글 칸뿐 · 기계 표에 소모품 재료 칸 없음 · 양식 잡품 칸 = 숫자 % 하나 | `line_stack_edit.ts:231-238` · `ui_template_machine_form.ts:114,456` · `수식문서/수식_건설품셈_08장_건설기계.json` GC000267 `금액` | +| 되는 것 (850) | 소모품 재료를 문서에 넣는 길 — 문서 줄 [+ 줄] 재료(재료 DB 찾기)로 재료 줄 추가 가능(수량 식은 사람이 적음) · 서버 식 선례 = GF000337 체인오일 · 체인톱 손료 재료 줄(검색어 연결) | `line_stack_edit.ts:320-344`(addLine) · `로직_산림품셈_02장_소요재료_및_기계손료.json` GF000337 | +| 되는 것 (849) | 조종원 인력 줄 추가 · 삭제 — 줄 [+ 줄] 인력 · X 지움(되돌리기 알림) · 사람 수 = 그 줄 수량 칸 | `line_stack_edit.ts:320-358,375-393` | +| 걸리는 것 (849) | 지금 사람 수 · 직종은 기계 표 칸(`조종원` · `조종원직종`)이고 식 고름(`logic_key`)이 조종원 유무로 식을 가름 — 칸이 없어지면 식 꼴이 줄고 `_operated` · `why`(직종 없음 판정) · 양식 조종원 칸 · 불러오기 자동 생성 구성(`조종원` 인 · 직종 글)이 닿을 자리를 잃음 | `M02_MyMachine.py:190-217` · `M02_Machine_Hourly.py:60-66,129-139` · `M02_San_MyMachine.py:1-25` | +| 되는 것 (851) | 옵션 칸 두 종류 있음 — 「선택」(목록 · 목록이 기계 원문번호면 이름 글) · 「입력」(값 · 단위 · 범위 `[최소, 최대]` · 범위 밖 = 멈춤 표지) — 가격 · 계수 · ℓ/hr · % 칸은 입력, 연료 종류 · 직종 · 손료 방식은 선택으로 둘 수 있음 | `formula_doc_options.ts:36-92` · `common_util_formula_doc_calc.ts:285-317` | +| 걸리는 것 (851) | 옵션 값은 부른 값 › 문서 값 — 「기계 표 값이 기본 · 입력하면 덮음」 규칙 없음 → 기계 값을 입력 옵션으로 두면 문서 값(기계를 박은 때의 값)이 기본이 되어 기계 표 · [단가 갱신]을 안 따라옴 · 따라오게 하려면 요소 변수와 입력 변수를 식(`만약`)으로 이중으로 두거나 계산기 규칙 추가(파이썬 · TS 짝 + 거울 시험) | `common_util_formula_doc_calc.ts:285-317` · `master_doc_calc.py` | +| 걸리는 것 (851) | 옵션 가로는 열쇠 하나당 칸 하나가 한 줄로 늘어남 — 기계 값 9 ~ 15 칸이면 가로가 길어짐(줄바꿈 모양은 화면 확인 안 함) · 부른 문서 옵션은 부른 줄의 `입력` 식으로 줄마다 넘김(`subInputs`) — 같은 SK 안 기계 줄마다 값을 달리 넘기는 길은 구조상 있고 지금 화면은 기계 · 지역 · 보정작업만 넘김 | `formula_doc_options.ts:36-92` · `common_util_line_stack.ts:450-462` · `common_util_line_stack_pick.ts` `repick` | +| 되는 것 (851) | 손료 방식 세 갈래를 선택 한 칸 + `만약` 식으로 가름 · 안 탄 갈래 기호는 왼쪽에서 숨김(「만약 안 탄 갈래」) — 선택한 방식의 칸만 보이는 꼴 가능 | `line_stack_edit.ts:419`(`reach`) · `line_stack_rows.ts:7` | + +## 3. 지금 구조 사실 (알아낼 것 3 · 4 · 5 대응) + +- 연결 꼴 — SK 문서 변수 `{갈래: 단가산출, 키: GC000268, 입력: {기계: '0211-0060', 지역: '전국평균'}}`(견본 SK-000003 `P_굴착기`) · 기계 줄 = 금액 줄 하나(`비목: 묶음` · 수량 `Q`) — 노 · 재 · 경 세 비목은 부름 결과 묶음에서 나뉨. +- 사본 줄 — SK `수식.단가` 에 EQ 줄이 기계 표 줄 통째(`값` 15 칸 · `단위` · `출처`)로 박힘 + LB(노임) · MO(유가) 줄 · 같은 EQ 키는 SK 안 하나(견본 SK-000003 = EQ 1 · LB 3 · MO 1). +- 값 고치는 현재 길(`line_stack_machine.ts:1-11,395-483`) — 기계 창 오른쪽 양식(읽기) → 개인 층 · 쓰기 권한이면 [고쳐 쓰기] → [확인] 서버 검사(쓰기 없음) → 문서 칸 `내기계초안`(캐시) → SK [저장] 때 서버가 내 기계 파일(`내기계/EQP….json`)로 만들거나 고침(`M02_MyMachine_Draft.py:1-12,154`) → 사본 줄이 새 값(`renew :118`). 같은 내 기계를 쓰는 다른 SK 는 「새 값」 배지 → [단가 갱신] 때 반영(`M02_MyMachine.py` `쓰는곳` · 창 안 「쓰는 곳 n」 경고 `:422-431`). +- 회사 · 마스터 층 SK · 저장 전 SK · M01 기초에서는 [고쳐 쓰기] 없음(까닭 글만 `ctx.why`) — 내 기계는 개인 층만(`M02_MyMachine.py:328-337`). +- 기계 줄 여러 개(같은 기계 노 · 재 · 경 낱줄 · 작업마다 항목 · 조합 기계) — 한 번 보일 자리 정함 없음: 줄마다 이름 단추이고 같은 기계 모음 부품 없음(조사 810-3 갈래 A · B · C · D · G 에서 기계 화면 줄 3,118 · 667 · 1,006 이 줄마다 그려짐). 사본 줄 · 내 기계는 SK 안 한 벌이라 값은 한 곳. +- M01 기계 상세 페이지(`M01_MasterData_UI_MachineDetail.ts` 330 줄) — 기계 양식 + 「쓰는 계산식」(서버 식 고름 · 읽기) + 쓰는 곳 · 이 보기는 수식 보기와 무관하게 지금 그대로 동작 · GC 문서 자체는 M01 「기계」 아래 부품 칸 → 읽기 창(`M01_MasterData_UI_Parts.ts`). +- 불러오기 기계 자동 생성(`M02_San_MyMachine.py`) — 경쟁사 구성 → 내 기계 줄(바로 · 직접)을 만들어 이음 — 값을 담을 내 기계 저장소가 있어야 동작(펼침 값 칸만으로는 못 대신함). + +## 4. 기계 655 대 × 식 (실측 — 자료 계수) + +| 식 | 일반 기계 맡은 수(식 고름 규칙 적용) | 꼴 | +|---|---|---| +| GC000267 | 9 | 굴착기(무한궤도) · 보정작업 · 연료 · 조종원 | +| GC000268 | 99 | 연료 + 조종원 · 보정 없음 | +| GC000269 | 129 | 같음 + 8-1-7 보정 | +| GC000272 | 50 | 조종원 없음 | +| GC000273 | 256 | 손료만 | +| GC000275 | 39 | 조종원 직종 입력 | +| GC000276 | 19 | 연료 없음 | +| GC001196 · 1197 · 1198 | 7 · 2 · 1 | 전력 · 전력+조종원 · 손료계수 한 칸 | +| 목록 밖 | 44 | 임업 36 · 포장 4 · TBM 4 (체인톱 GF000337 · 4륜 1톤 덤프 GF000145 는 그 기계만의 식 `_own`) | + +- 목록은 겹침(GC000274 · 270 · 271 포함 18 장 식의 `기계` 목록 합 923 칸 → 서로 다른 기계 611) · 식 고름은 `pick` 한 곳이 규칙으로 정함 — 기계 줄에 식 키가 저장된 칸은 없음(내 기계는 채운 칸으로 `logic_key :190`). +- 「기계마다 단가산출 한 장」 = 655 장(식 꼴 10 가지 + 목록 밖 44 의 개별) · 「식 10 장 + 값 줄 655」 가 지금 그대로임. 값 한 줄 모양은 네 꼴(손료만 288 · 손료+연료+조종원 278 · 손료+연료 51 · 손료+조종원 19 … `기계/EQ*.json` 계수) · 품셈 비율 다섯 칸 다 있음 600 대 · 계수 셋 있음 600 대. + +## 5. 방향 장부 S → U 에서 접은 까닭 (원문 요지) · 지금과 대조 + +- S1(요구 790) = 「품셈 밖 기계 = M02 개인 층 `기계 시간당 경비` 단가산출 한 장 · 쓰는 단가산출은 그 장 참조」 · S3 = 층마다 요소 표를 새로 두는 것은 비권장(키 둘 · 찾는 차례 · 갱신 책임 · 동봉 · 삭제 깨짐). +- U(요구 795) = 「S1 고침 — 내 기계 = 단가산출 한 장 참조가 아니라 개인 층의 기계 줄(M01 기계 줄과 같은 꼴 · 개인 키) → 단가산출 만들 때 사본에 복사 · 앞서 든 위험(프로젝트 동봉 · 삭제 깨짐 · 여러 곳 같이 바뀜)은 사본 방식이라 없어짐」. +- 대조 — 접은 까닭은 「다른 문서를 참조」 하는 방식에 걸린 것임. 지금 안(이번 물음)은 ㉠ 참조가 아니라 표시 · 입력 방식이고 사본 줄 · 내 기계 저장소를 그대로 쓰면 그 까닭은 걸리지 않음 · ㉡ 기계마다 수식 문서 한 장을 따로 두고 SK 가 참조하면 동봉 · 삭제 · 같이 바뀜이 그대로 걸림(사본 복사 펼침이면 안 걸리나 원본과 끊김). +- 상태 차이 — 그때(790 · 795)는 기계 창 · 양식 · 내 기계 저장소가 없었고 지금은 827-1 로 기계 창(찾기 + 양식 + 고쳐 쓰기)이 있음(`line_stack_machine.ts`). 「M02 가 비어 있음」 은 코드에서 확인 안 함 — 저장 자료 SK 4 건은 `storage/1/3` 에 있음. + +## 6. 갈래 후보 사실 비교 + +| 항목 | ㉠ 식은 그대로 · 기계 줄을 펼쳐 값 칸 보임 | ㉡ 기계마다 수식 문서 한 장(복사 펼침 또는 참조) | ㉢ 지금 양식 유지 + 근거만 펼침 | +|---|---|---|---| +| 왼쪽 | 기계 줄 아래 접는 구역에 값 칸(가격 · 계수 · 연료 · 잡품 · 조종원) — 새 부품 · 칸은 양식 부품 재사용 | 복사 펼침 = 값 칸 15 + 금액 줄 4 가 SK 줄로 늘어남(기존 부품만) | 지금 그대로(이름 단추 + 모달) | +| 오른쪽 | 지금 펼침 그대로 | 지금 줄 풀이 그대로(복사된 줄) | 이미 있음 | +| 값 저장 | 내 기계 초안(기존 길) → 개인 층만 · 사본 줄 직접 고침은 새 서버 길 필요 | SK 문서 안 숫자 고정(요구 664) — 기계 표와 끊김 | 내 기계 초안(기존 길) | +| 모달 | 찾기만 남길 수 있음(양식 오른쪽 · [고쳐 쓰기] 필요 없어짐) | 찾기만 남음 · 이름 단추 의미 바뀜 | 그대로 | +| [단가 갱신] · 새 값 | 사본 줄 그대로 → 변화 없음(펼침 값 = 사본 줄) | 굳힌 값은 안 따라옴 · 요소로 남긴 값은 따라옴 | 그대로 | +| 기계 판정 · 가져온 기계 배지 | 그대로 | 복사 펼침이면 사라짐 | 그대로 | +| 바뀌는 파일 범위 | `A00_Common/line_stack_edit.ts` · 새 파일(펼침 구역 · 700 줄 한도 때문에 분리) · `ui_template/ui_template_machine_form.ts`(값 갈아끼우기 · 부분 칸 꼴) · `line_stack_machine.ts`(모달 축소) · `common_util_line_stack_draft.ts` · 서버는 읽기(`copy_row`)만 쓰면 변화 적음 | `common_util_line_stack_copy.ts` · `M02_Doc_Take.py` · 기계 판정 `common_util_line_stack.ts` · 불러오기 `M02_Doc_Import*.py` · 시험 다수 | 변화 없음(오른쪽 근거 · 기계 창 정리뿐) | +| 걸림 | 값 칸 입력 = 내 기계 초안 흐름과 같은 검사 · 개인 층 밖 SK(회사 · 마스터)는 보기만 | 기계 한 줄 = 변수 15 + 금액 4 + 번지 → 줄 수 · 기호 이름 폭증 · 수량 흐름(묶음 비목) 변경 | 이번 물음 목적(왼쪽에 보임)을 못 채움 | + +## 7. 요구 850 · 849 · 851 — 실측 · 구조 사실 + +주연료 · 잡품(850) +- 주연료 줄 = 요소 `MO:{연료}:{지역}`(GC) — MO = 유가 표(키대장 다음 번호 MO 74 · 오피넷 유가) · 재료 DB(MT)가 아님(MT 휘발유 · 경유 · 선박용경유 · 중유 · 등유 5 줄은 「유가 테이블로 감」 으로 폐기 `_키대장.json` 폐기 칸) · 수량 = 기계 표 `주연료`(ℓ/hr) · 연료 종류 = 기계 표 글(경유 310 · 휘발유 19 · 중유 1 · 없음 325). +- 잡품 = 금액 줄 「잡재료비」 `재료비 × EQ:{기계}.잡재료율 ÷ 100`(GC · GF000145 동일) — 재료비 = 그 앞 줄 누계(주연료 + 전력) · 양식 칸 「잡품 % (주연료의)」 · 기계 표 단위 「주연료의 %」 · 재료를 고르는 요소 이음 · 칸 없음 → 「화면에 안 보임」 이 아니라 구조에 없음. +- 분포(기계 655 대 · 값 칸 이름 전수 대조) — 소모품 재료 칸 있는 기계 0 대 · 잡재료율 > 0 = 330 대 · 0 · 빈칸 = 325 대 · 값 칸 이름에 소모품 · 재료 칸 없음(있는 칸 = 가격 · 계수 · 주연료 · 주연료종류 · 잡재료율 · 조종원 · 조종원직종 · 전력 10 · 선원류 · 주연료2 2 대 …). 재료 DB 검색 줄이 붙은 식 = GF000337 체인톱(EQ000620) 한 식뿐: 체인오일(구분 기계 · 설비 · 상세 기계류 · 검색어 작동유) · 체인톱 손료(검색어 동력체인톱) + 잡품 = 휘발유 줄 × 계수표 QF000001 잡품 %. +- 단가산출 꼴 — 주연료 · 조종원 줄은 왼쪽에서 재료 · 인력 줄(이름 단추 · 찾기 창)로 보이나 잡품은 「율」 줄(식 글 칸)이라 재료 고르기가 없음 · 소모품 재료를 고르게 하려면 문서에 재료 줄이 따로 있어야 함(체인톱 식 선례 · 줄 추가 길 있음) · 줄이 있어도 기계 표에는 그 재료 값이 없어 줄 · 수량은 문서 몫. + +조종원(849) +- 식 = 금액 줄 「조종원」(인력) 수량 `EQ:{기계}.조종원 × Q_시간환산`(시간환산 = 계수표 CC000336 분자 ÷ 분모 · 하루 8 시간) × 단가 `LB:{직종}`(직종 = 기계 표 `조종원직종` 글 · GC000275 만 직종을 입력 선택 1048 · 1049 · 1050 로 받음). +- 사람 수 = 기계 표 값 칸 `조종원`(인/일) — 식 변수가 아님. 분포 = 없음 · 0 354 대 · 1 인 282 · 2 인 18 · 7 인 1(조종원 > 0 = 301 대 · 직종 있음 259 · 직종 빈 42). 1 인 고정 기계 = 282 대(모두 값 칸 1). +- 선원류 칸(선원 63 · 준설선기관사 29 · 준설선선장 23 · 고급선원 16 대)은 기계 표에 값이 있으나 시간당 식 어디에서도 안 읽음(「건설기계」 장 로직에서 0 곳) — 인력 줄로 바꾸면 담을 자리가 생김(사실만 · 노임 직종 대응은 미확인). +- 인력 줄로 대체 시 걸리는 것 — 위 표 「걸리는 것 (849)」 외에: 조종원 유무로 식을 가르는 규칙(`pick` 의 `_operated` · `logic_key`)과 식 꼴 수(조종원 있음 · 없음으로 갈린 식 쌍 GC000268 ↔ 272 · 1196 ↔ 1197 · 1200 ↔ 1201)가 달라짐 · 줄을 빼면 조종원 값이 0 이 되므로 「기계 표 조종원 칸」 과 「문서의 인력 줄」 중 한 곳이 정본이어야 함 · 직종 없음 42 대 · 직종 입력 식(GC000275) 39 대는 인력 줄 노임 고르기로 흡수 가능. + +옵션 · 변수(851) — 「기계 한 대 = 단가산출 한 장 · 변수 = 기계 값」 그림 + +``` +한 장(기계 한 대, 예 EQ000022 굴착기 1.0㎥) + 옵션 ─ 선택 : 지역 · 보정작업 · 손료 방식(바로 / 품셈 / 직접) · 연료 종류 · (직종) + 입력 : 가격 · 내용시간 · 연간표준가동시간 · 비율 셋 · 손료계수 · 주연료 ℓ/hr · 잡품 % · 조종원 인 · 전력 + 변수 ─ 식 : 계수 셋(반올림) · 손료(버림) · 가산비율 · 시간환산 + 요소 : 유가 MO · 노임 LB · 전력요금 · 계수표(표) + 금액 ─ 기계손료(경비) 주연료(재료 · 요소 MO) [소모품(재료 · 요구 850)] 조종원(인력 · 요구 849) 잡품(율) +``` + +- 옵션 · 변수 종류는 전부 지금 수식 보기에 있음(선택 · 입력 · 숫자 · 식 · 요소 · 표 · 단가산출 `formula_doc_options.ts:36-92` · `common_util_formula_doc.ts:73-96`) — 새 종류 필요 없음. +- 지금 GC 와 다른 점 — GC 는 값 아홉 칸을 「기계」 선택 하나로 기계 표에서 읽음(요소) · 그림대로면 값 칸이 옵션 · 입력이 되어 기계 표 → 문서로 값이 옮겨 박힘(기계 한 대 = 문서 한 장 = 655 장 · 또는 식 10 장 + 부른 줄 `입력` 으로 값 실어 보냄). +- 손료 방식 세 갈래 — 선택 한 칸(`바로 · 품셈 · 직접`) + `만약`으로 식 가름 · 선택하지 않은 갈래 칸은 왼쪽에서 숨김(`reach`) · 품셈 방식은 비율 다섯 입력 칸이 보이고 계수는 식이 셈 · 바로는 손료계수 한 칸 · 직접은 노 · 재 · 경 세 칸(지금 GC001199 는 풀이 없는 값 3 줄이라 근거 풀이가 안 됨). +- 값 범위 경고 — 입력 칸 `범위` 로 양식 부품의 범위 경고(가격 · % 등)를 대신할 수 있음 · 양식 부품이 하는 「같은 이름 알림 · 고른 칸 노랑 · 비슷한 기계에서 시작」 은 옵션 칸에 없음. +- 요소 따라오기 문제는 위 표 「걸리는 것 (851)」 — 입력 옵션에는 「기계 표 값 기본」 이 없어 따라오기 · [단가 갱신] 구조와 부딪힘 → 계산기 규칙 추가(짝 파일 둘) 또는 이중 변수 필요. + +갈래 비교에 반영(사실) + +| 항목 | ㉠ 펼쳐 값 칸 | ㉡ 기계마다 문서 한 장(옵션 · 변수 그림) | ㉢ 양식 유지 | +|---|---|---|---| +| 850 소모품 재료 | 값 칸 보기만으론 재료 줄 안 생김 · 잡품 율 줄 그대로 | 문서에 재료 줄 추가해 고르기 가능(수량 문서 몫) | 구조에 없음 | +| 849 조종원 인력 | 값 칸에 인원 · 직종 그대로 | 인력 줄 추가 · 삭제로 가능(기계 표 칸 · 식 가름 정리 필요) | 칸 그대로 | +| 851 옵션 · 변수 | 기계 표 값을 읽는 요소 그대로 | 입력 · 선택 옵션이 값을 가짐(기계 표 따라오기 규칙 없음) | 해당 없음 | +| 바뀌는 범위 추가 | `line_stack_edit.ts` 새 구역 | 기계 문서 생성 길 · GC 변수 재편(수식문서 JSON 10 식) · `master_doc_calc.py` ↔ `common_util_formula_doc_calc.ts`(규칙 추가 시) · `M02_MyMachine.py logic_key` · `M02_Machine_Hourly.py` · 기계 표 칸 정리 시 `M01_MasterData_Machine.py` · `M01_MasterData_UI_MachineDetail.ts` · `M02_San_MyMachine.py` | 없음 | + +## 8. 못 확인한 것 +- 화면 조작(ORCA) 안 함 — 왼쪽 값 칸 모양은 `stackOf`(Node 로 GC000267 차림을 돌려 확인)와 코드 읽기까지. +- 단가 값(유가 · 노임)은 SK-000003 사본 값 · 손셈 — 엔진 실행값은 아님. +- 끝수 `1e-6` 대 `1e-7` 차이가 기계 600 대 중 값을 바꾸는지는 안 돌려 봄.