feat: V/R 유지보수 시스템 전환 및 대시보드 테이블 형태 완성
Some checks failed
Flutter Test & Quality Check / Test on macos-latest (push) Has been cancelled
Flutter Test & Quality Check / Test on ubuntu-latest (push) Has been cancelled
Flutter Test & Quality Check / Build APK (push) Has been cancelled

- V/R 시스템 완전 전환: WARRANTY/CONTRACT/INSPECTION → V(방문)/R(원격)
- 유지보수 대시보드 카드 → StandardDataTable 테이블 형태 전환
- "조회중..." 문제 해결: 백엔드 직접 필드 사용 (equipment_model, company_name)
- MaintenanceDto 신규 필드 추가: company_id, company_name, equipment_serial, equipment_model
- preloadEquipmentData 비활성화로 불필요한 equipment-history API 호출 제거
- CO-STAR 프레임워크 적용 및 CLAUDE.md v3.0 업데이트
- Flutter Analyze ERROR: 0 유지, 100% shadcn_ui 컴플라이언스

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
JiWoong Sul
2025-09-05 14:33:20 +09:00
parent 2c20999025
commit 519e1883a3
46 changed files with 7804 additions and 1034 deletions

View File

@@ -154,37 +154,33 @@ class MaintenanceUseCase {
final maintenances = allDataResponse.items;
int activeCount = maintenances.where((m) => m.isActive).length;
int warrantyCount = maintenances.where((m) => m.maintenanceType == MaintenanceType.warranty).length;
int contractCount = maintenances.where((m) => m.maintenanceType == MaintenanceType.contract).length;
int inspectionCount = maintenances.where((m) => m.maintenanceType == MaintenanceType.inspection).length;
int visitCount = maintenances.where((m) => m.maintenanceType == MaintenanceType.visit).length;
int remoteCount = maintenances.where((m) => m.maintenanceType == MaintenanceType.remote).length;
int expiredCount = maintenances.where((m) => m.isExpired).length;
return MaintenanceStatistics(
totalCount: totalCount,
activeCount: activeCount,
warrantyCount: warrantyCount,
contractCount: contractCount,
inspectionCount: inspectionCount,
visitCount: visitCount,
remoteCount: remoteCount,
expiredCount: expiredCount,
);
}
}
/// 유지보수 통계 모델
/// 유지보수 통계 모델 (V/R 시스템)
class MaintenanceStatistics {
final int totalCount;
final int activeCount;
final int warrantyCount; // 무상 보증
final int contractCount; // 유상 계약
final int inspectionCount; // 점검
final int visitCount; // 방문 유지보수
final int remoteCount; // 원격 유지보수
final int expiredCount; // 만료된 것
MaintenanceStatistics({
required this.totalCount,
required this.activeCount,
required this.warrantyCount,
required this.contractCount,
required this.inspectionCount,
required this.visitCount,
required this.remoteCount,
required this.expiredCount,
});
}