개발 slecs

거래명세서 총매출 이중 계상 버그 수정

목차

거래명세서 목록 총매출 파생 합산 제거

거래명세서 목록 총매출 파생 합산 제거 버그를 수정했음.

원인 분석

거래명세서 목록에서 파생 합산 필드를 집계에 포함하면 이중 계상이 발생했음.

재현 조건

총매출 합산이 실제 매출보다 크게 나왔음.

수정 내용

-- 수정 전: 파생 필드 포함 합산
SELECT SUM(sale_amount + derived_amount) as total FROM 내부테이블;

-- 수정 후: 원본 필드만 합산
SELECT SUM(sale_amount) as total FROM 내부테이블;
-- derived_amount는 표시용이므로 집계에서 제외

검증

총매출이 개별 항목 합산과 일치하는지 확인했음.

재발 방지

집계 쿼리 작성 시 파생/계산 필드는 집계에서 제외하는 원칙을 세웠음.

UI/UX 관점

화면 변경 시 몇 가지를 체크했음.

로딩 상태: 비동기 요청 중에는 로딩 인디케이터를 표시했음. 버튼을 비활성화해서 중복 클릭을 방지했음.

btn.disabled = true;
try {
    await fetch('/api/...');
    showSuccess();
} catch(e) {
    showError(e.message);
} finally {
    btn.disabled = false;
}

빈 상태 처리: 데이터가 없을 때 빈 화면 대신 "데이터가 없습니다" 메시지를 표시했음.

오류 메시지: 기술적인 에러 코드 대신 사용자가 이해할 수 있는 메시지를 표시했음.

다음

댓글 0

첫 댓글 달아줘.