123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- using Furion.DatabaseAccessor;
- using Microsoft.EntityFrameworkCore;
- using Microsoft.EntityFrameworkCore.Metadata.Builders;
- using System;
- using System.ComponentModel.DataAnnotations;
- using System.ComponentModel.DataAnnotations.Schema;
- namespace YBEE.EQM.Core;
- /// <summary>
- /// 监测缺测替补
- /// </summary>
- [Comment("监测缺测替补")]
- public class ExamAbsentReplace : DEntityBase, IEntityTypeBuilder<ExamAbsentReplace>
- {
- /// <summary>
- /// 监测计划ID
- /// </summary>
- [Comment("监测计划ID")]
- [Required]
- public int ExamPlanId { get; set; }
- /// <summary>
- /// 机构ID
- /// </summary>
- [Comment("机构ID")]
- [Required]
- public short SysOrgId { get; set; }
- /// <summary>
- /// 校区ID
- /// </summary>
- [Comment("校区ID")]
- public short? SysOrgBranchId { get; set; }
- /// <summary>
- /// 监测年级ID
- /// </summary>
- [Comment("监测年级ID")]
- [Required]
- public int ExamGradeId { get; set; }
- /// <summary>
- /// 年级ID
- /// </summary>
- [Comment("年级ID")]
- [Required]
- public short GradeId { get; set; }
- /// <summary>
- /// 班级ID
- /// </summary>
- [Comment("班级ID")]
- [Required]
- public long SchoolClassId { get; set; }
- /// <summary>
- /// 班号
- /// </summary>
- [Comment("班号")]
- [Required]
- public short ClassNumber { get; set; }
- /// <summary>
- /// 缺测学生姓名
- /// </summary>
- [Comment("缺测学生姓名")]
- [Required, StringLength(100)]
- public string AbsentName { get; set; }
- /// <summary>
- /// 缺测学生监测号
- /// </summary>
- [Comment("缺测学生监测号")]
- [Required, StringLength(20)]
- public string AbsentExamNumber { get; set; }
- /// <summary>
- /// 缺测科目
- /// [{"id": 1, "name": "语文", "shortName": "语"}]
- /// </summary>
- [Comment("缺测科目")]
- [Required, Column(TypeName = "json")]
- public string AbsentCourses { get; set; } = "[]";
- /// <summary>
- /// 缺测原因
- /// </summary>
- [Comment("缺测原因")]
- [Required, StringLength(200)]
- public string AbsentReason { get; set; }
- /// <summary>
- /// 是否有替补
- /// </summary>
- [Comment("是否有替补")]
- [Required]
- public bool IsReplaced { get; set; } = false;
- /// <summary>
- /// 替补学生姓名
- /// </summary>
- [Comment("替补学生姓名")]
- [StringLength(100)]
- public string ReplaceName { get; set; }
- /// <summary>
- /// 替补学生监测号
- /// </summary>
- [Comment("替补学生监测号")]
- [StringLength(20)]
- public string ReplaceExamNumber { get; set; }
- /// <summary>
- /// 家长姓名
- /// </summary>
- [StringLength(100)]
- public string PatriarchName { get; set; }
- /// <summary>
- /// 家长电话
- /// </summary>
- [StringLength(50)]
- public string PatriarchTel { get; set; }
- /// <summary>
- /// 备注
- /// </summary>
- [Comment("备注")]
- [StringLength(200)]
- public string Remark { get; set; }
- /// <summary>
- /// 状态
- /// </summary>
- [Comment("状态")]
- [Required, Column(TypeName = "smallint")]
- public AuditStatus Status { get; set; } = AuditStatus.AUDIT;
- /// <summary>
- /// 佐证材料
- /// </summary>
- [Comment("佐证材料")]
- [Column(TypeName = "json")]
- public string Attachments { get; set; } = "[]";
- /// <summary>
- /// 审核记录
- /// </summary>
- [Comment("审核记录")]
- [Required, Column(TypeName = "json")]
- public string Audits { get; set; } = "[]";
- /// <summary>
- /// 一对一引用(机构)
- /// </summary>
- public virtual SysOrg SysOrg { get; set; }
- /// <summary>
- /// 一对一引用(年级)
- /// </summary>
- public virtual Grade Grade { get; set; }
- /// <summary>
- /// 一对一引用(班级)
- /// </summary>
- public virtual SchoolClass SchoolClass { get; set; }
- /// <summary>
- /// 一对一引用(校区)
- /// </summary>
- public virtual SysOrg SysOrgBranch { get; set; }
- /// <summary>
- /// 一对一引用(监测年级)
- /// </summary>
- public virtual ExamGrade ExamGrade { get; set; }
- public void Configure(EntityTypeBuilder<ExamAbsentReplace> entityBuilder, DbContext dbContext, Type dbContextLocator)
- {
- entityBuilder.HasIndex(a => new { a.ExamPlanId, a.SysOrgId }).HasDatabaseName("idx_exam_absent_replace_exam_plan_id_sys_org_id");
- entityBuilder.HasIndex(a => new { a.ExamPlanId, a.SysOrgId, a.SchoolClassId }).HasDatabaseName("idx_exam_absent_replacet_exam_plan_id_soid_scid");
- }
- }
|