feat(798-1): M01 요율 조달청 제비율 내장 엑셀 — 빌더 · 읽기 전용 화면 · RT 줄 → 칸 이동

- build_제비율책.py: 조달청 xlsx → 내장 엑셀 책 JSON(병합 · 채움 · 글꼴 · 테두리 · 열 폭 · 행 높이 · 시트 둘 · 수식 결과) · --check(판 바뀜 · RT 칸 = 정본 값)
- 제비율엑셀/조달청_제비율_책.json · /api/m01/rate-sheet · 요율 화면 위 엑셀 + 아래 RT 표 · 확대 · 축소
- 정본 요율_조달청제비율.json · B09 요율 셈 그대로

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-07 12:20:32 +09:00
co-authored by Claude Sonnet 5.5
parent c48580d6c9
commit 29e60a3ad6
11 changed files with 659 additions and 1 deletions
+7
View File
@@ -17,6 +17,7 @@ from M01_MasterData import M01_MasterData_Sheet as line_sheet
from M01_MasterData import M01_MasterData_Store as store
from M01_MasterData import M01_MasterData_Store_Combo as combo_store
from M01_MasterData import M01_MasterData_Store_List as store_list
from M01_MasterData import M01_MasterData_RateSheet as rate_sheet
from M01_MasterData import M01_MasterData_Store_Make as make
from M01_MasterData import M01_MasterData_Store_Revise as revise
from M01_MasterData import M01_MasterData_Store_Sheet as sheet
@@ -134,6 +135,12 @@ def get_files(group: str) -> dict:
return {"files": [{**f, "판정규": mbs.edition(f["edition"])} for f in files]}
@router.get("/rate-sheet")
def get_rate_sheet() -> dict:
"""요율 화면 위쪽 내장 엑셀(조달청 제비율) — 읽기만(798-1)."""
return _call(rate_sheet.load)
@router.get("/subs")
def get_subs(file: str = "", group: str = "") -> dict:
return _call(store.subs, file, group)