feat(B09): 기초자료 네 표 신설 — 노무비·재료비·경비 목록표 + 중기목록표
사용자 확정 12번 「내야 할 표 16개 전체」. 안 내던 일곱 중 넷을 냄. - 서식은 지어내지 않고 실무 내역서(영월 기번6·봉화 기번41) 같은 이름 시트를 그대로 옮김 — 코드번호·명칭·규격·단위·단가·비고. 중기목록표만 합계 + 3분할(노무·재료·경비). - ⚠ 경비목록표는 취득가(천원)이지 시간당 손료가 아님. 실무 실측 「S00104 불도저(무한궤도) 19톤 천원 184,499」와 자릿수를 맞춤 — 손료를 실으면 세 자리 어긋난 채 「경비」로 읽힘. - 자원 집계표(역집계)도 함께 냄. 일위대가 안쪽을 한 겹만 폄 — 기계 사용료를 다시 손료·연료로 쪼개면 중기 집계표와 이중계상이 됨. 비율 줄(제잡비)은 자원으로 안 셈. - 집계표는 반올림, 내역서 본체는 절사 — 어긋나는 것이 정상임을 문구로 함께 냄. - 새 계산 없음. PriceBook 자료를 접기만 함. 실무 대조(2024 대 2026 자료): 보통인부 165,545→172,068 · 불도저19 취득가 184,499→198,150 · 시간당 126,029→124,842. 연도 차이 범위 안. 라우터 조회 하나 추가(GET .../estimation/base-data). 시험 8건, 262건 통과. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -217,6 +217,25 @@ async def list_unit_price_titles(project_id: UUID) -> JSONResponse:
|
||||
)
|
||||
|
||||
|
||||
@router.get("/{project_id}/estimation/base-data")
|
||||
async def get_base_data_lists(project_id: UUID) -> JSONResponse:
|
||||
"""**기초자료 네 표** — 노무비·재료비·경비 목록표 + 중기목록표 (사용자 확정 12번).
|
||||
|
||||
별표2 설계서 구성에 드는 표들이라 **없으면 설계서가 성립하지 않는다.** 서식은
|
||||
실무 내역서(영월 기번6·봉화 기번41) 같은 이름 시트를 그대로 따랐다.
|
||||
"""
|
||||
from B09_Estimation.B09_Estimation_Lists import all_lists
|
||||
|
||||
try:
|
||||
return JSONResponse(content={"status": "success", **all_lists(cached_build())})
|
||||
except Exception:
|
||||
logger.exception("B09 기초자료 목록 실패: project_id=%s", project_id)
|
||||
return JSONResponse(
|
||||
status_code=500,
|
||||
content={"status": "error", "message": "기초자료 목록을 못 만들었습니다."},
|
||||
)
|
||||
|
||||
|
||||
@router.get("/{project_id}/estimation/unit-prices/{code}")
|
||||
async def get_unit_price_detail(project_id: UUID, code: str) -> JSONResponse:
|
||||
"""일위대가 **본표** — 「무엇으로 이루어졌나」. 줄마다 원천·파고들기 표시가 붙는다."""
|
||||
|
||||
Reference in New Issue
Block a user