- NumberInput 공용 컴포넌트: blur 시 콤마+소수점 자릿수 강제,
focus 시 raw 숫자로 전환되어 자유 편집, 잘못된 입력은 이전 값 유지.
- 다이얼로그 수량/단가 input → NumberInput 으로 교체.
- 백엔드 정규화 — M-BOM/detail/proposal-targets:
qty=FLOOR()::INTEGER, unit_price/partner_price/total_price=NUMERIC(18,2)
(운영 sales_request_part 는 정수 String 이지만 M-BOM production_qty
NUMERIC(15,4) 가 흘러들어와 '4.0000' 노출되던 문제 차단).
- ProposalCreateDialog fmt: Math.floor 후 ko-KR toLocaleString.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>