培养方案:专业/年级版本、课程模块、学分校验、复制版本、发布锁定、旧版本归档。
教学任务:学期开课、授课教师、唯一主讲、合班、容量与周次校验、发布及结课。 SQLite 开发库已自动升级,无需删除原数据库。 新增对应 MySQL EF Core 迁移。 Vue 已编译进 wwwroot,仍可只运行 ASP.NET Core 单服务。 桌面端及 390px 窄屏页面验证通过,无前端控制台错误。
This commit is contained in:
@@ -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
|
||||
}
|
||||
@@ -28,6 +28,7 @@ public sealed class AdministrativeClass : CatalogEntity
|
||||
public Major? Major { get; set; }
|
||||
public int Grade { get; set; }
|
||||
public string? CounselorName { get; set; }
|
||||
public ICollection<Student> Students { get; set; } = [];
|
||||
}
|
||||
|
||||
public sealed class Building : CatalogEntity
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
using Jiaowu.Api.Domain.Common;
|
||||
|
||||
namespace Jiaowu.Api.Domain.Academic;
|
||||
|
||||
public sealed class TeachingTask : EntityBase
|
||||
{
|
||||
public required string TaskNumber { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public Guid AcademicTermId { get; set; }
|
||||
public AcademicTerm? AcademicTerm { get; set; }
|
||||
public Guid CourseId { get; set; }
|
||||
public Course? Course { get; set; }
|
||||
public int Capacity { get; set; }
|
||||
public int StartWeek { get; set; } = 1;
|
||||
public int EndWeek { get; set; } = 16;
|
||||
public int WeeklyHours { get; set; } = 2;
|
||||
public TeachingTaskStatus Status { get; set; } = TeachingTaskStatus.Draft;
|
||||
public string? Notes { get; set; }
|
||||
public DateTime? PublishedAt { get; set; }
|
||||
public ICollection<TeachingTaskTeacher> Teachers { get; set; } = [];
|
||||
public ICollection<TeachingTaskClass> Classes { get; set; } = [];
|
||||
}
|
||||
|
||||
public sealed class TeachingTaskTeacher
|
||||
{
|
||||
public Guid TeachingTaskId { get; set; }
|
||||
public TeachingTask? TeachingTask { get; set; }
|
||||
public Guid TeacherId { get; set; }
|
||||
public Teacher? Teacher { get; set; }
|
||||
public bool IsPrimary { get; set; }
|
||||
}
|
||||
|
||||
public sealed class TeachingTaskClass
|
||||
{
|
||||
public Guid TeachingTaskId { get; set; }
|
||||
public TeachingTask? TeachingTask { get; set; }
|
||||
public Guid AdministrativeClassId { get; set; }
|
||||
public AdministrativeClass? AdministrativeClass { get; set; }
|
||||
}
|
||||
|
||||
public enum TeachingTaskStatus
|
||||
{
|
||||
Draft = 1,
|
||||
Published = 2,
|
||||
Closed = 3
|
||||
}
|
||||
Reference in New Issue
Block a user