培养方案:专业/年级版本、课程模块、学分校验、复制版本、发布锁定、旧版本归档。

教学任务:学期开课、授课教师、唯一主讲、合班、容量与周次校验、发布及结课。
SQLite 开发库已自动升级,无需删除原数据库。
新增对应 MySQL EF Core 迁移。
Vue 已编译进 wwwroot,仍可只运行 ASP.NET Core 单服务。
桌面端及 390px 窄屏页面验证通过,无前端控制台错误。
This commit is contained in:
2026-07-24 14:10:43 +08:00 Unverified
parent 30d793773c
commit 628944f64d
23 changed files with 5430 additions and 47 deletions
@@ -0,0 +1,52 @@
using Jiaowu.Api.Domain.Common;
namespace Jiaowu.Api.Domain.Academic;
public sealed class CurriculumPlan : EntityBase
{
public Guid MajorId { get; set; }
public Major? Major { get; set; }
public required string Name { get; set; }
public required string Version { get; set; }
public int EffectiveGrade { get; set; }
public decimal TotalCredits { get; set; }
public CurriculumPlanStatus Status { get; set; } = CurriculumPlanStatus.Draft;
public string? Description { get; set; }
public DateTime? PublishedAt { get; set; }
public ICollection<CurriculumModule> Modules { get; set; } = [];
}
public sealed class CurriculumModule : EntityBase
{
public Guid CurriculumPlanId { get; set; }
public CurriculumPlan? CurriculumPlan { get; set; }
public required string Code { get; set; }
public required string Name { get; set; }
public decimal RequiredCredits { get; set; }
public int SortOrder { get; set; }
public ICollection<CurriculumCourse> Courses { get; set; } = [];
}
public sealed class CurriculumCourse : EntityBase
{
public Guid CurriculumModuleId { get; set; }
public CurriculumModule? CurriculumModule { get; set; }
public Guid CourseId { get; set; }
public Course? Course { get; set; }
public int RecommendedSemester { get; set; }
public CurriculumCourseType Type { get; set; }
public string? Notes { get; set; }
}
public enum CurriculumPlanStatus
{
Draft = 1,
Published = 2,
Archived = 3
}
public enum CurriculumCourseType
{
Required = 1,
Elective = 2
}