学籍异动:休学、复学、退学申请及辅导员→学院→教务处分级审批。

毕业审核:批次计算、缺失课程检查、人工复核、结果发布。
学位授予:毕业资格与 GPA 计算、人工调整、发布授予结果。
毕业离校:离校事项配置、责任角色分工、逐项办理及批次关闭。
This commit is contained in:
2026-07-24 17:30:05 +08:00 Unverified
parent 7493ab4a60
commit b0eaa20da6
34 changed files with 11137 additions and 8 deletions
@@ -0,0 +1,17 @@
using Jiaowu.Api.Domain.Academic;
namespace Jiaowu.Api.Infrastructure.Graduation;
public static class DegreeAwardRules
{
public static DegreeAwardConclusion Evaluate(
bool graduationEligible,
StudentStatus studentStatus,
decimal averageGradePoint,
decimal minimumGradePoint) =>
graduationEligible &&
studentStatus == StudentStatus.Graduated &&
averageGradePoint >= minimumGradePoint
? DegreeAwardConclusion.Granted
: DegreeAwardConclusion.NotGranted;
}
@@ -0,0 +1,24 @@
using Jiaowu.Api.Domain.Academic;
namespace Jiaowu.Api.Infrastructure.Graduation;
public static class GraduationAuditRules
{
public static GraduationAuditConclusion Evaluate(
bool hasPublishedPlan,
StudentStatus studentStatus,
decimal requiredCredits,
decimal earnedCredits,
int requiredCourseCount,
int passedRequiredCourseCount,
int failedCourseCount)
{
if (!hasPublishedPlan || studentStatus != StudentStatus.Active)
return GraduationAuditConclusion.Ineligible;
if (earnedCredits < requiredCredits ||
passedRequiredCourseCount < requiredCourseCount ||
failedCourseCount > 0)
return GraduationAuditConclusion.Ineligible;
return GraduationAuditConclusion.Eligible;
}
}
@@ -0,0 +1,16 @@
using Jiaowu.Api.Domain.Academic;
namespace Jiaowu.Api.Infrastructure.Graduation;
public static class GraduationClearanceRules
{
public static bool CanClose(
IEnumerable<(bool IsRequired, GraduationClearanceRecordStatus Status)> records)
{
var snapshot = records.ToArray();
return snapshot.Length > 0 && snapshot
.Where(x => x.IsRequired)
.All(x => x.Status is GraduationClearanceRecordStatus.Completed or
GraduationClearanceRecordStatus.Waived);
}
}