결재 템플릿 단계 적용 구현

- ApprovalTemplate 엔티티·DTO·원격 리포지토리 추가
- ApprovalController에 템플릿 로딩/적용 상태와 assignSteps 호출 연동
- ApprovalPage 단계 탭에 템플릿 선택 UI 및 적용 확인 다이얼로그 구현
- 템플릿 적용 단위 테스트와 IMPLEMENTATION_TASKS 현황 갱신
This commit is contained in:
JiWoong Sul
2025-09-25 00:21:12 +09:00
parent b6e50464d2
commit c3010965ad
63 changed files with 10179 additions and 1436 deletions

View File

@@ -9,6 +9,10 @@ import 'features/masters/customer/data/repositories/customer_repository_remote.d
import 'features/masters/customer/domain/repositories/customer_repository.dart';
import 'features/masters/group/data/repositories/group_repository_remote.dart';
import 'features/masters/group/domain/repositories/group_repository.dart';
import 'features/masters/menu/data/repositories/menu_repository_remote.dart';
import 'features/masters/menu/domain/repositories/menu_repository.dart';
import 'features/masters/group_permission/data/repositories/group_permission_repository_remote.dart';
import 'features/masters/group_permission/domain/repositories/group_permission_repository.dart';
import 'features/masters/product/data/repositories/product_repository_remote.dart';
import 'features/masters/product/domain/repositories/product_repository.dart';
import 'features/masters/user/data/repositories/user_repository_remote.dart';
@@ -19,6 +23,10 @@ import 'features/masters/warehouse/data/repositories/warehouse_repository_remote
import 'features/masters/warehouse/domain/repositories/warehouse_repository.dart';
import 'features/masters/uom/data/repositories/uom_repository_remote.dart';
import 'features/masters/uom/domain/repositories/uom_repository.dart';
import 'features/approvals/data/repositories/approval_repository_remote.dart';
import 'features/approvals/data/repositories/approval_template_repository_remote.dart';
import 'features/approvals/domain/repositories/approval_repository.dart';
import 'features/approvals/domain/repositories/approval_template_repository.dart';
/// 전역 DI 컨테이너
final GetIt sl = GetIt.instance;
@@ -77,4 +85,20 @@ Future<void> initInjection({
sl.registerLazySingleton<UserRepository>(
() => UserRepositoryRemote(apiClient: sl<ApiClient>()),
);
sl.registerLazySingleton<MenuRepository>(
() => MenuRepositoryRemote(apiClient: sl<ApiClient>()),
);
sl.registerLazySingleton<GroupPermissionRepository>(
() => GroupPermissionRepositoryRemote(apiClient: sl<ApiClient>()),
);
sl.registerLazySingleton<ApprovalRepository>(
() => ApprovalRepositoryRemote(apiClient: sl<ApiClient>()),
);
sl.registerLazySingleton<ApprovalTemplateRepository>(
() => ApprovalTemplateRepositoryRemote(apiClient: sl<ApiClient>()),
);
}