- CEO 대시보드: 섹션별 API 연동 강화 (매출/매입/생산 실데이터 표시) - DashboardSettingsDialog 드래그 정렬 및 설정 UX 개선 - dashboard transformers 모듈 분리 (파일 분할) - DocumentTable/DocumentWrapper 공통 문서 컴포넌트 추출 - LineItemsTable organisms 컴포넌트 추가 - PurchaseOrderDocument/InspectionRequestDocument 문서 컴포넌트 리팩토링 - PermissionContext → permissionStore(Zustand) 전환 - useUIStore, stores/utils/userStorage 추가 - favoritesStore/useTableColumnStore 사용자별 저장 지원 - DepositDetail/WithdrawalDetail 삭제 (통합) - PurchaseDetail/SalesDetail 간소화 - amount.ts/formatters.ts 유틸 확장 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
34 lines
866 B
TypeScript
34 lines
866 B
TypeScript
/**
|
|
* 품목 테이블 금액 계산 유틸리티
|
|
*/
|
|
|
|
const DEFAULT_TAX_RATE = 0.1;
|
|
|
|
/**
|
|
* 공급가액 계산
|
|
*/
|
|
export function calcSupplyAmount(quantity: number, unitPrice: number): number {
|
|
return quantity * unitPrice;
|
|
}
|
|
|
|
/**
|
|
* 부가세 계산 (공급가액의 10%, 소수점 내림)
|
|
*/
|
|
export function calcVat(supplyAmount: number, taxRate: number = DEFAULT_TAX_RATE): number {
|
|
return Math.floor(supplyAmount * taxRate);
|
|
}
|
|
|
|
/**
|
|
* 수량 또는 단가 변경 시 공급가액 + 부가세 자동 재계산
|
|
* @returns { supplyAmount, vat } 계산된 값
|
|
*/
|
|
export function recalculate(
|
|
quantity: number,
|
|
unitPrice: number,
|
|
taxRate: number = DEFAULT_TAX_RATE,
|
|
): { supplyAmount: number; vat: number } {
|
|
const supplyAmount = calcSupplyAmount(quantity, unitPrice);
|
|
const vat = calcVat(supplyAmount, taxRate);
|
|
return { supplyAmount, vat };
|
|
}
|