- ApiClient 인터페이스: representative → manager_name, contact_person 변경 - transformApiToFrontend: client.representative → client.manager_name 수정 - ApiOrderItem에 floor_code, symbol_code 필드 추가 (제품-부품 매핑) - ApiOrder에 options 타입 정의 추가 - ApiQuote에 calculation_inputs 타입 정의 추가 - 수주 상세 페이지 제품-부품 트리 구조 UI 개선
286 lines
9.3 KiB
Markdown
286 lines
9.3 KiB
Markdown
# Hotfix 단위테스트 분석 및 액션 플랜 (2026-01-19)
|
|
|
|
## 개요
|
|
|
|
**분석 대상 커밋**: `121b427c899cd37e273eaf08459dd5a3072da670`
|
|
**커밋 메시지**: 1/19 단위테스트
|
|
**분석 일시**: 2026-01-19
|
|
**작성자**: Claude Code
|
|
|
|
---
|
|
|
|
## 테스트 결과 요약
|
|
|
|
| 구분 | 건수 | 비율 |
|
|
|------|------|------|
|
|
| ✅ 통과 (PASS) | 37개 | 92.5% |
|
|
| ⚠️ 스킵 - 페이지 미구현 | 2개 | 5.0% |
|
|
| ⚠️ 스킵 - 데이터 없음 | 1개 | 2.5% |
|
|
| **총계** | **40개** | **100%** |
|
|
|
|
---
|
|
|
|
## 🔴 긴급 (P0) - 페이지 미구현
|
|
|
|
### 1. 근태 설정 페이지
|
|
|
|
| 항목 | 내용 |
|
|
|------|------|
|
|
| **URL** | `/ko/settings/attendance` |
|
|
| **현재 상태** | 404 Not Found |
|
|
| **우선순위** | P0 (긴급) |
|
|
| **담당** | React 프론트엔드 |
|
|
| **비고** | API 이미 존재 (WorkSettingController) |
|
|
|
|
#### 필요 작업
|
|
- [x] API 존재 확인 완료 (WorkSettingController)
|
|
- [ ] React 페이지 개발
|
|
- [ ] API 연동
|
|
|
|
#### 예상 기능
|
|
- 출퇴근 시간 설정
|
|
- 지각/조퇴 기준 설정
|
|
- 휴일 설정
|
|
- 근태 알림 설정
|
|
|
|
---
|
|
|
|
### 2. 미수금현황 페이지
|
|
|
|
| 항목 | 내용 |
|
|
|------|------|
|
|
| **URL** | `/ko/accounting/receivables` |
|
|
| **현재 상태** | 404 Not Found |
|
|
| **우선순위** | P0 (긴급) |
|
|
| **담당** | React 프론트엔드 |
|
|
| **비고** | API 이미 존재 (ReceivablesController) |
|
|
|
|
#### 필요 작업
|
|
- [x] API 존재 확인 완료 (ReceivablesController)
|
|
- `GET /api/v1/receivables` - 목록
|
|
- `GET /api/v1/receivables/summary` - 요약
|
|
- `PUT /api/v1/receivables/memos` - 메모 업데이트
|
|
- `PUT /api/v1/receivables/overdue-status` - 연체 상태
|
|
- [ ] React 페이지 개발 (프론트엔드)
|
|
- [ ] API 연동
|
|
|
|
#### 예상 기능
|
|
- 거래처별 미수금 현황
|
|
- 기간별 미수금 추이
|
|
- 연체 미수금 관리
|
|
- 미수금 알림 설정
|
|
|
|
---
|
|
|
|
## 🟡 중요 (P1) - 데이터 정합성 이슈
|
|
|
|
### 1. 입금관리 - 입금유형 미설정
|
|
|
|
| 항목 | 내용 |
|
|
|------|------|
|
|
| **페이지** | `/ko/accounting/deposits` |
|
|
| **문제** | 입금유형 미설정 59건 / 60건 (98.3%) |
|
|
| **영향** | 입금 분류 및 통계 정확도 저하 |
|
|
| **우선순위** | P1 |
|
|
|
|
#### 개선 방안
|
|
- [ ] 입금유형 일괄 설정 기능 추가
|
|
- [ ] 입금 등록 시 유형 필수 선택 옵션
|
|
- [ ] 미설정 데이터 경고 배너 추가
|
|
|
|
---
|
|
|
|
### 2. 출금관리 - 출금유형 미설정
|
|
|
|
| 항목 | 내용 |
|
|
|------|------|
|
|
| **페이지** | `/ko/accounting/withdrawals` |
|
|
| **문제** | 출금유형 미설정 58건 / 60건 (96.7%) |
|
|
| **영향** | 출금 분류 및 통계 정확도 저하 |
|
|
| **우선순위** | P1 |
|
|
|
|
#### 개선 방안
|
|
- [ ] 출금유형 일괄 설정 기능 추가
|
|
- [ ] 출금 등록 시 유형 필수 선택 옵션
|
|
- [ ] 미설정 데이터 경고 배너 추가
|
|
|
|
---
|
|
|
|
### 3. 매입관리 - 매입유형/세금계산서 미설정 ✅ 완료
|
|
|
|
| 항목 | 내용 |
|
|
|------|------|
|
|
| **페이지** | `/ko/accounting/purchase` |
|
|
| **문제** | 매입유형 미설정 69건, 세금계산서 수취 미확인 69건 / 70건 (98.6%) |
|
|
| **영향** | 매입 분류, 세무 처리 누락 가능성 |
|
|
| **우선순위** | P1 |
|
|
| **상태** | ✅ API 완료 (2026-01-19) |
|
|
|
|
#### 개선 방안
|
|
- [x] 매입유형/세금계산서 일괄 설정 기능 → API 완료
|
|
- `POST /api/v1/purchases/bulk-update-type` - 매입유형 일괄 변경
|
|
- `POST /api/v1/purchases/bulk-update-tax-received` - 세금계산서 수취 일괄 설정
|
|
- [ ] 매입 등록 시 필수 항목 검증 강화
|
|
- [ ] 세무 신고 전 미설정 데이터 체크 기능
|
|
|
|
---
|
|
|
|
### 4. 매출관리 - 세금계산서/거래명세서 미발행 ✅ API 완료
|
|
|
|
| 항목 | 내용 |
|
|
|------|------|
|
|
| **페이지** | `/ko/accounting/sales` |
|
|
| **문제** | 세금계산서 발행대기 81건, 거래명세서 발행대기 81건 (100%) |
|
|
| **영향** | 세금계산서/거래명세서 발행 누락 |
|
|
| **우선순위** | P1 |
|
|
| **상태** | ✅ API 완료 (2026-01-19) |
|
|
|
|
#### 기존 API (개별 발행)
|
|
- `POST /api/v1/tax-invoices/{id}/issue` - 세금계산서 개별 발행
|
|
- `POST /api/v1/sales/{id}/statement/issue` - 거래명세서 개별 발행
|
|
|
|
#### 일괄 발행 API (신규)
|
|
- [x] `POST /api/v1/tax-invoices/bulk-issue` - 세금계산서 일괄 발행
|
|
- [x] `POST /api/v1/sales/bulk-issue-statement` - 거래명세서 일괄 발행
|
|
|
|
#### 개선 방안
|
|
- [x] 세금계산서 일괄 발행 API 개발 → 완료
|
|
- [x] 거래명세서 일괄 발행 API 개발 → 완료
|
|
- [ ] 자동 발행 로직 검토 (매출 등록 시 자동 발행 옵션)
|
|
- [ ] 발행 대기 데이터 대시보드 알림
|
|
- [ ] React 프론트엔드 연동
|
|
|
|
---
|
|
|
|
## 🟢 개선 (P2) - 선택 사항
|
|
|
|
### 1. 관리자 대시보드 알림 강화
|
|
- [ ] 데이터 미설정 건수 위젯 추가
|
|
- [ ] 미발행 문서 건수 알림
|
|
- [ ] 페이지 미구현 상태 모니터링
|
|
|
|
### 2. 데이터 품질 관리
|
|
- [ ] 데이터 미설정 시 경고 아이콘 표시
|
|
- [ ] 일별/주별 데이터 품질 리포트
|
|
- [ ] 자동 데이터 정합성 체크 배치
|
|
|
|
---
|
|
|
|
## 정상 동작 기능 목록 (37개)
|
|
|
|
<details>
|
|
<summary>전체 목록 펼치기</summary>
|
|
|
|
### 결재 시스템 (3개)
|
|
| 기능 | 테스트 ID | URL |
|
|
|------|----------|-----|
|
|
| 결재함 | approval-box | /ko/approval/inbox |
|
|
| 기안함 | draft-box | /ko/approval/draft |
|
|
| 참조함 | reference-box | /ko/approval/reference |
|
|
|
|
### 인사관리 (12개)
|
|
| 기능 | 테스트 ID | URL |
|
|
|------|----------|-----|
|
|
| 근태현황 | attendance-checkin | /hr/attendance |
|
|
| 근태관리 | attendance-management | /hr/attendance-management |
|
|
| 근태 사유 | attendance-reason | /hr/attendance-management |
|
|
| 근태 등록 | attendance-register | /hr/attendance-management |
|
|
| 사원관리 | employee-register | /ko/hr/employee-management |
|
|
| 부서관리 | department-add | /ko/hr/department-management |
|
|
| 직급관리 | rank-management | /ko/settings/ranks |
|
|
| 휴가관리 | vacation-management | /ko/hr/vacation-management |
|
|
| 휴가정책 | leave-policy | /ko/settings/leave-policy |
|
|
| 급여관리 | salary-management | /ko/hr/salary-management |
|
|
| 카드관리 | card-add | /ko/hr/card-management |
|
|
| 근무일정 | work-schedule | /ko/settings/work-schedule |
|
|
|
|
### 회계관리 (10개)
|
|
| 기능 | 테스트 ID | URL |
|
|
|------|----------|-----|
|
|
| 입금관리 | deposit-management | /ko/accounting/deposits |
|
|
| 출금관리 | withdrawal-management | /ko/accounting/withdrawals |
|
|
| 매입관리 | purchase-management | /ko/accounting/purchase |
|
|
| 매출관리 | sales-management | /ko/accounting/sales |
|
|
| 거래처관리 | vendor-management | /ko/accounting/vendors |
|
|
| 거래처원장 | vendor-ledger | /ko/accounting/vendor-ledger |
|
|
| 카드거래 | card-transactions | /ko/accounting/card-transactions |
|
|
| 대손채권회수 | bad-debt-collection | /accounting/bad-debt-collection |
|
|
| 일일 일보 | daily-report | /ko/accounting/daily-report |
|
|
| 지출 예상 내역서 | expected-expenses | /ko/accounting/expected-expenses |
|
|
|
|
### 게시판 (4개)
|
|
| 기능 | 테스트 ID | URL |
|
|
|------|----------|-----|
|
|
| 게시판관리 | board-management | /ko/board/board-management |
|
|
| 게시판 | board-test | /ko/boards/board_mjsgri54_1fmg |
|
|
| 자유게시판 | free-board | /ko/boards/free |
|
|
| 1:1 문의 | customer-inquiry | /ko/customer-center/qna |
|
|
|
|
### 생산관리 (3개)
|
|
| 기능 | 테스트 ID | URL |
|
|
|------|----------|-----|
|
|
| 품목관리 | item-management | /ko/production/screen-production |
|
|
| 생산 현황판 | production-dashboard | /ko/production/dashboard |
|
|
| 작업지시 관리 | work-order-management | /ko/production/work-orders |
|
|
|
|
### 설정 (4개)
|
|
| 기능 | 테스트 ID | URL |
|
|
|------|----------|-----|
|
|
| 회사정보 | company-info | /ko/company-info |
|
|
| 권한관리 | permission-management | /ko/settings/permissions |
|
|
| 알림설정 | notification-settings | /ko/settings/notification-settings |
|
|
| 팝업관리 | popup-management | /ko/settings/popup-management |
|
|
|
|
### 기타 (2개)
|
|
| 기능 | 테스트 ID | URL |
|
|
|------|----------|-----|
|
|
| 로그인 | login | /login |
|
|
| 결제내역 | payment-history | /ko/payment-history |
|
|
|
|
</details>
|
|
|
|
---
|
|
|
|
## 작업 일정 (권장)
|
|
|
|
```mermaid
|
|
gantt
|
|
title Hotfix 작업 일정
|
|
dateFormat YYYY-MM-DD
|
|
section P0 긴급
|
|
근태 설정 페이지 개발 :2026-01-20, 3d
|
|
미수금현황 페이지 개발 :2026-01-20, 3d
|
|
section P1 중요
|
|
입금/출금 유형 일괄설정 :2026-01-23, 2d
|
|
매입/매출 데이터 정합성 :2026-01-25, 2d
|
|
section P2 개선
|
|
대시보드 알림 강화 :2026-01-27, 2d
|
|
```
|
|
|
|
---
|
|
|
|
## 담당자 배정 (제안)
|
|
|
|
| 우선순위 | 작업 | 담당 | 상태 |
|
|
|----------|------|------|------|
|
|
| P0 | 근태 설정 페이지 | React 프론트엔드 | ⬜ 대기 (API 존재) |
|
|
| P0 | 미수금현황 페이지 | React 프론트엔드 | ⬜ 대기 (API 존재) |
|
|
| P1 | 입금유형 일괄설정 | React 프론트엔드 | ✅ API 이미 존재 |
|
|
| P1 | 출금유형 일괄설정 | React 프론트엔드 | ✅ API 이미 존재 |
|
|
| P1 | 매입 데이터 정합성 | React 프론트엔드 | ✅ API 완료 (2026-01-19) |
|
|
| P1 | 매출 문서 발행 | api 백엔드 + React 프론트엔드 | ✅ API 완료 (2026-01-19) |
|
|
| P2 | 대시보드 알림 | React 프론트엔드 | ⬜ 대기 |
|
|
|
|
---
|
|
|
|
## 참고 자료
|
|
|
|
- 테스트 결과 파일: `hotfix/*_2026-01-19_test.md` (40개)
|
|
- Serena 메모리: `hotfix-test-analysis-20260119.md`
|
|
- 관련 커밋: `121b427c899cd37e273eaf08459dd5a3072da670`
|
|
|
|
---
|
|
|
|
**문서 버전**: 1.0
|
|
**최종 수정**: 2026-01-19
|
|
**다음 검토**: 작업 완료 후 |