feat: V/R 유지보수 시스템 전환 및 대시보드 테이블 형태 완성
- 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:
@@ -62,6 +62,11 @@ import 'data/repositories/maintenance_repository.dart';
|
||||
import 'data/repositories/maintenance_repository_impl.dart';
|
||||
import 'domain/usecases/maintenance_usecase.dart';
|
||||
import 'screens/maintenance/controllers/maintenance_controller.dart';
|
||||
// Maintenance Stats (새로운 대시보드 기능)
|
||||
import 'data/repositories/maintenance_stats_repository.dart';
|
||||
import 'data/repositories/maintenance_stats_repository_impl.dart';
|
||||
import 'domain/usecases/get_maintenance_stats_usecase.dart';
|
||||
import 'screens/maintenance/controllers/maintenance_dashboard_controller.dart';
|
||||
import 'data/repositories/zipcode_repository.dart';
|
||||
import 'domain/usecases/zipcode_usecase.dart';
|
||||
import 'screens/zipcode/controllers/zipcode_controller.dart';
|
||||
@@ -69,6 +74,8 @@ import 'data/repositories/rent_repository_impl.dart';
|
||||
import 'domain/repositories/rent_repository.dart';
|
||||
import 'domain/usecases/rent_usecase.dart';
|
||||
import 'screens/rent/controllers/rent_controller.dart';
|
||||
import 'services/inventory_history_service.dart';
|
||||
import 'screens/inventory/controllers/inventory_history_controller.dart';
|
||||
|
||||
// Use Cases - Auth
|
||||
import 'domain/usecases/auth/login_usecase.dart';
|
||||
@@ -230,6 +237,12 @@ Future<void> init() async {
|
||||
remoteDataSource: sl<MaintenanceRemoteDataSource>(),
|
||||
),
|
||||
);
|
||||
// Maintenance Stats Repository (대시보드 통계용)
|
||||
sl.registerLazySingleton<MaintenanceStatsRepository>(
|
||||
() => MaintenanceStatsRepositoryImpl(
|
||||
remoteDataSource: sl<MaintenanceRemoteDataSource>(),
|
||||
),
|
||||
);
|
||||
sl.registerLazySingleton<ZipcodeRepository>(
|
||||
() => ZipcodeRepositoryImpl(sl<ApiClient>()),
|
||||
);
|
||||
@@ -307,6 +320,11 @@ Future<void> init() async {
|
||||
() => MaintenanceUseCase(repository: sl<MaintenanceRepository>()),
|
||||
);
|
||||
|
||||
// Use Cases - Maintenance Stats (대시보드용)
|
||||
sl.registerLazySingleton<GetMaintenanceStatsUseCase>(
|
||||
() => GetMaintenanceStatsUseCase(repository: sl<MaintenanceStatsRepository>()),
|
||||
);
|
||||
|
||||
// Use Cases - Zipcode
|
||||
sl.registerLazySingleton<ZipcodeUseCase>(
|
||||
() => ZipcodeUseCaseImpl(sl<ZipcodeRepository>()),
|
||||
@@ -341,7 +359,12 @@ Future<void> init() async {
|
||||
sl<VendorUseCase>(),
|
||||
));
|
||||
sl.registerFactory(() => EquipmentHistoryController(useCase: sl<EquipmentHistoryUseCase>()));
|
||||
sl.registerFactory(() => MaintenanceController(maintenanceUseCase: sl<MaintenanceUseCase>()));
|
||||
sl.registerFactory(() => MaintenanceController(
|
||||
maintenanceUseCase: sl<MaintenanceUseCase>(),
|
||||
equipmentHistoryRepository: sl<EquipmentHistoryRepository>(),
|
||||
));
|
||||
// Maintenance Dashboard Controller (대시보드용)
|
||||
sl.registerFactory(() => MaintenanceDashboardController(getMaintenanceStatsUseCase: sl<GetMaintenanceStatsUseCase>()));
|
||||
sl.registerFactory(() => ZipcodeController(sl<ZipcodeUseCase>()));
|
||||
sl.registerFactory(() => RentController(sl<RentUseCase>()));
|
||||
sl.registerFactory(() => AdministratorController(sl<AdministratorUseCase>()));
|
||||
@@ -388,4 +411,17 @@ Future<void> init() async {
|
||||
sl.registerLazySingleton<WarehouseService>(
|
||||
() => WarehouseService(),
|
||||
);
|
||||
|
||||
// 재고 이력 관리 서비스 (새로 추가)
|
||||
sl.registerLazySingleton<InventoryHistoryService>(
|
||||
() => InventoryHistoryService(
|
||||
historyRepository: sl<EquipmentHistoryRepository>(),
|
||||
equipmentDetailUseCase: sl<GetEquipmentDetailUseCase>(),
|
||||
),
|
||||
);
|
||||
|
||||
// 재고 이력 컨트롤러 (새로 추가)
|
||||
sl.registerFactory(() => InventoryHistoryController(
|
||||
service: sl<InventoryHistoryService>(),
|
||||
));
|
||||
}
|
||||
Reference in New Issue
Block a user