결재 템플릿 단계 적용 구현
- ApprovalTemplate 엔티티·DTO·원격 리포지토리 추가 - ApprovalController에 템플릿 로딩/적용 상태와 assignSteps 호출 연동 - ApprovalPage 단계 탭에 템플릿 선택 UI 및 적용 확인 다이얼로그 구현 - 템플릿 적용 단위 테스트와 IMPLEMENTATION_TASKS 현황 갱신
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
/// 결재 템플릿 엔티티
|
||||
///
|
||||
/// - 반복되는 결재 단계를 사전에 정의해두고 요청 시 불러온다.
|
||||
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;
|
||||
}
|
||||
Reference in New Issue
Block a user