Files
superport_v2/lib/features/approvals/domain/entities/approval_template.dart
JiWoong Sul c3010965ad 결재 템플릿 단계 적용 구현
- ApprovalTemplate 엔티티·DTO·원격 리포지토리 추가
- ApprovalController에 템플릿 로딩/적용 상태와 assignSteps 호출 연동
- ApprovalPage 단계 탭에 템플릿 선택 UI 및 적용 확인 다이얼로그 구현
- 템플릿 적용 단위 테스트와 IMPLEMENTATION_TASKS 현황 갱신
2025-09-25 00:21:12 +09:00

65 lines
1.3 KiB
Dart

/// 결재 템플릿 엔티티
///
/// - 반복되는 결재 단계를 사전에 정의해두고 요청 시 불러온다.
class ApprovalTemplate {
ApprovalTemplate({
required this.id,
required this.code,
required this.name,
this.description,
required this.isActive,
this.createdBy,
this.createdAt,
this.updatedAt,
this.steps = const [],
});
final int id;
final String code;
final String name;
final String? description;
final bool isActive;
final ApprovalTemplateAuthor? createdBy;
final DateTime? createdAt;
final DateTime? updatedAt;
final List<ApprovalTemplateStep> steps;
}
class ApprovalTemplateAuthor {
ApprovalTemplateAuthor({
required this.id,
required this.employeeNo,
required this.name,
});
final int id;
final String employeeNo;
final String name;
}
class ApprovalTemplateStep {
ApprovalTemplateStep({
this.id,
required this.stepOrder,
required this.approver,
this.note,
});
final int? id;
final int stepOrder;
final ApprovalTemplateApprover approver;
final String? note;
}
class ApprovalTemplateApprover {
ApprovalTemplateApprover({
required this.id,
required this.employeeNo,
required this.name,
});
final int id;
final String employeeNo;
final String name;
}