parent
10c6958ffc
commit
da3a586806
@ -0,0 +1,72 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class ApprovalContext {
|
||||
private List<ApprovalRecord> approvalHistory = new ArrayList<>();
|
||||
private ApprovalStatus currentStatus = ApprovalStatus.PENDING;
|
||||
private String rejectionReason;
|
||||
private ApprovalLevel currentRequiredLevel;
|
||||
|
||||
public void addApprovalRecord(Approver approver, boolean approved, String comment) {
|
||||
ApprovalRecord record = new ApprovalRecord(
|
||||
approver.getApproverName(),
|
||||
new Date(),
|
||||
approved,
|
||||
comment
|
||||
);
|
||||
approvalHistory.add(record);
|
||||
}
|
||||
|
||||
public List<ApprovalRecord> getApprovalHistory() {
|
||||
return new ArrayList<>(approvalHistory);
|
||||
}
|
||||
|
||||
public ApprovalStatus getCurrentStatus() {
|
||||
return currentStatus;
|
||||
}
|
||||
|
||||
public void setCurrentStatus(ApprovalStatus currentStatus) {
|
||||
this.currentStatus = currentStatus;
|
||||
}
|
||||
|
||||
public String getRejectionReason() {
|
||||
return rejectionReason;
|
||||
}
|
||||
|
||||
public void setRejectionReason(String rejectionReason) {
|
||||
this.rejectionReason = rejectionReason;
|
||||
}
|
||||
|
||||
public ApprovalLevel getCurrentRequiredLevel() {
|
||||
return currentRequiredLevel;
|
||||
}
|
||||
|
||||
public void setCurrentRequiredLevel(ApprovalLevel currentRequiredLevel) {
|
||||
this.currentRequiredLevel = currentRequiredLevel;
|
||||
}
|
||||
|
||||
public static class ApprovalRecord {
|
||||
private String approverName;
|
||||
private Date approvalTime;
|
||||
private boolean approved;
|
||||
private String comment;
|
||||
|
||||
public ApprovalRecord(String approverName, Date approvalTime, boolean approved, String comment) {
|
||||
this.approverName = approverName;
|
||||
this.approvalTime = approvalTime;
|
||||
this.approved = approved;
|
||||
this.comment = comment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ApprovalRecord{" +
|
||||
"approverName='" + approverName + '\'' +
|
||||
", time=" + approvalTime +
|
||||
", approved=" + approved +
|
||||
", comment='" + comment + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue