ESS开班关联学习

master
xiaochanghai 4 months ago
parent f3cb3f52a5
commit 6ab03f98fb
  1. 4201
      Model/Tiobon.Web.pdm
  2. 145
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  3. 42
      Tiobon.Core.Model/Base/Ghre/Ghre_StudyRecord.Dto.Base.cs
  4. 41
      Tiobon.Core.Model/Models/Ghre/Ghre_StudyRecord.cs
  5. 65
      Tiobon.Core.Services/Ghre/Ghre_StudyRecordServices.cs
  6. 145
      Tiobon.Core/Tiobon.Core.Model.xml

File diff suppressed because it is too large Load Diff

@ -6620,11 +6620,6 @@
员工ID 员工ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.ExamId">
<summary>
考试ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.CourseSnapId"> <member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.CourseSnapId">
<summary> <summary>
课程快照ID 课程快照ID
@ -6675,16 +6670,6 @@
学习进度 学习进度
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StudyDuration">
<summary>
学习时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StandardDuration">
<summary>
课程标准时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.CourseType"> <member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.CourseType">
<summary> <summary>
课程类型 课程类型
@ -6775,11 +6760,31 @@
预留字段12 预留字段12
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.ExamId">
<summary>
考试ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StudyDuration">
<summary>
学习时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StandardDuration">
<summary>
课程标准时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StaffTrainingId"> <member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StaffTrainingId">
<summary> <summary>
员工培训ID 员工培训ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.OpenClassId">
<summary>
开班ID
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_StudyRecordDetailBase"> <member name="T:Tiobon.Core.Model.Models.Ghre_StudyRecordDetailBase">
<summary> <summary>
培训记录明细 (Dto.Base) 培训记录明细 (Dto.Base)
@ -21586,11 +21591,6 @@
员工ID 员工ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.ExamId">
<summary>
考试ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.CourseSnapId"> <member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.CourseSnapId">
<summary> <summary>
课程快照ID 课程快照ID
@ -21641,16 +21641,6 @@
学习进度 学习进度
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StudyDuration">
<summary>
学习时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StandardDuration">
<summary>
课程标准时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.CourseType"> <member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.CourseType">
<summary> <summary>
课程类型 课程类型
@ -21741,11 +21731,31 @@
预留字段12 预留字段12
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.ExamId">
<summary>
考试ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StudyDuration">
<summary>
学习时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StandardDuration">
<summary>
课程标准时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StaffTrainingId"> <member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StaffTrainingId">
<summary> <summary>
员工培训ID 员工培训ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.OpenClassId">
<summary>
开班ID
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_StudyRecordDetail"> <member name="T:Tiobon.Core.Model.Models.Ghre_StudyRecordDetail">
<summary> <summary>
培训记录明细 (Model) 培训记录明细 (Model)
@ -33707,5 +33717,80 @@
课程ID 课程ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.OpenClassStatus">
<summary>
开班状态
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ExamBeginDate">
<summary>
考试开始时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.RegisterStartTime">
<summary>
报名开始时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.RegisterEndTime">
<summary>
报名结束时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ExamEndDate">
<summary>
考试结束时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ShowStudyBtn">
<summary>
是否显示学习按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.DisableStudyBtn">
<summary>
是否禁用学习按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ShowExamBtn">
<summary>
是否显示考试按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.DisableExamBtn">
<summary>
是否禁用考试按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ShowFeedbackBtn">
<summary>
是否显示反馈按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.DisableFeedbackBtn">
<summary>
是否禁用反馈按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ShowRegisterBtn">
<summary>
是否显示报名按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.DisableRegisterBtn">
<summary>
是否禁用报名按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.StudyProgress">
<summary>
学习进度
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ExamDateType">
<summary>
考试时间类型
</summary>
</member>
</members> </members>
</doc> </doc>

@ -6,9 +6,9 @@
* *
* Ver * Ver
* *
*V0.01 2024/7/30 14:26:02 SimonHsiao *V0.01 2025/2/24 9:43:08 SimonHsiao
* *
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved. * Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
* *
*   *  
* SimonHsiao * SimonHsiao
@ -28,11 +28,6 @@ public class Ghre_StudyRecordBase
/// </summary> /// </summary>
public int? StaffId { get; set; } public int? StaffId { get; set; }
/// <summary>
/// 考试ID
/// </summary>
public long? ExamId { get; set; }
/// <summary> /// <summary>
/// 课程快照ID /// 课程快照ID
/// </summary> /// </summary>
@ -48,7 +43,6 @@ public class Ghre_StudyRecordBase
/// </summary> /// </summary>
public long? CourseSceneId { get; set; } public long? CourseSceneId { get; set; }
/// <summary> /// <summary>
/// 必选修规则ID /// 必选修规则ID
/// </summary> /// </summary>
@ -84,16 +78,6 @@ public class Ghre_StudyRecordBase
/// </summary> /// </summary>
public int? StudyProgress { get; set; } public int? StudyProgress { get; set; }
/// <summary>
/// 学习时长(分钟)
/// </summary>
public decimal? StudyDuration { get; set; }
/// <summary>
/// 课程标准时长(分钟)
/// </summary>
public decimal? StandardDuration { get; set; }
/// <summary> /// <summary>
/// 课程类型 /// 课程类型
/// </summary> /// </summary>
@ -199,8 +183,30 @@ public class Ghre_StudyRecordBase
/// </summary> /// </summary>
public int? ReverseI2 { get; set; } public int? ReverseI2 { get; set; }
/// <summary>
/// 考试ID
/// </summary>
public long? ExamId { get; set; }
/// <summary>
/// 学习时长(分钟)
/// </summary>
[Display(Name = "StudyDuration"), Description("学习时长(分钟)"), Column(TypeName = "decimal(20,2)")]
public decimal? StudyDuration { get; set; }
/// <summary>
/// 课程标准时长(分钟)
/// </summary>
[Display(Name = "StandardDuration"), Description("课程标准时长(分钟)"), Column(TypeName = "decimal(20,2)")]
public decimal? StandardDuration { get; set; }
/// <summary> /// <summary>
/// 员工培训ID /// 员工培训ID
/// </summary> /// </summary>
public int? StaffTrainingId { get; set; } public int? StaffTrainingId { get; set; }
/// <summary>
/// 开班ID
/// </summary>
public long? OpenClassId { get; set; }
} }

@ -6,9 +6,9 @@
* *
* Ver * Ver
* *
*V0.01 2024/7/30 14:26:02 SimonHsiao *V0.01 2025/2/24 9:43:08 SimonHsiao
* *
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved. * Copyright(c) 2025 Tiobon Corporation. All Rights Reserved.
* *
*   *  
* SimonHsiao * SimonHsiao
@ -29,11 +29,6 @@ public class Ghre_StudyRecord : BasePoco
/// </summary> /// </summary>
public int? StaffId { get; set; } public int? StaffId { get; set; }
/// <summary>
/// 考试ID
/// </summary>
public long? ExamId { get; set; }
/// <summary> /// <summary>
/// 课程快照ID /// 课程快照ID
/// </summary> /// </summary>
@ -84,16 +79,6 @@ public class Ghre_StudyRecord : BasePoco
/// </summary> /// </summary>
public int? StudyProgress { get; set; } public int? StudyProgress { get; set; }
/// <summary>
/// 学习时长(分钟)
/// </summary>
public decimal? StudyDuration { get; set; }
/// <summary>
/// 课程标准时长(分钟)
/// </summary>
public decimal? StandardDuration { get; set; }
/// <summary> /// <summary>
/// 课程类型 /// 课程类型
/// </summary> /// </summary>
@ -199,8 +184,30 @@ public class Ghre_StudyRecord : BasePoco
/// </summary> /// </summary>
public int? ReverseI2 { get; set; } public int? ReverseI2 { get; set; }
/// <summary>
/// 考试ID
/// </summary>
public long? ExamId { get; set; }
/// <summary>
/// 学习时长(分钟)
/// </summary>
[Display(Name = "StudyDuration"), Description("学习时长(分钟)"), Column(TypeName = "decimal(20,2)")]
public decimal? StudyDuration { get; set; }
/// <summary>
/// 课程标准时长(分钟)
/// </summary>
[Display(Name = "StandardDuration"), Description("课程标准时长(分钟)"), Column(TypeName = "decimal(20,2)")]
public decimal? StandardDuration { get; set; }
/// <summary> /// <summary>
/// 员工培训ID /// 员工培训ID
/// </summary> /// </summary>
public int? StaffTrainingId { get; set; } public int? StaffTrainingId { get; set; }
/// <summary>
/// 开班ID
/// </summary>
public long? OpenClassId { get; set; }
} }

@ -1,4 +1,5 @@
using MongoDB.Driver.Linq; using MathNet.Numerics.Distributions;
using MongoDB.Driver.Linq;
using NPOI.HSSF.UserModel; using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel; using NPOI.SS.UserModel;
using NPOI.SS.Util; using NPOI.SS.Util;
@ -1301,9 +1302,10 @@ WHERE A.Status !='Temporary' AND EXISTS (
x.ShowRegisterBtn = false; x.ShowRegisterBtn = false;
if (dt >= x.RegisterStartTime && dt <= x.RegisterEndTime && x.OpenClassStatus == "Publish" && !openClassStaffs.Any(o => o.OpenClassId == x.Id)) if (dt >= x.RegisterStartTime && dt <= x.RegisterEndTime && x.OpenClassStatus == "Publish" && !openClassStaffs.Any(o => o.OpenClassId == x.Id))
x.ShowStudyBtn = true; x.ShowRegisterBtn = true;
if (dt >= x.CourseBeginDate && dt <= x.CourseEndDate && (x.OpenClassStatus == "Publish" || x.OpenClassStatus == "Opening") && openClassStaffs.Any(o => o.OpenClassId == x.Id))
x.ShowStudyBtn = true;
if (x.CourseBeginDate != null && x.CourseEndDate != null) if (x.CourseBeginDate != null && x.CourseEndDate != null)
x.CourseDateString = DateTimeHelper.ConvertToDayString(x.CourseBeginDate) + "~" + DateTimeHelper.ConvertToDayString(x.CourseEndDate); x.CourseDateString = DateTimeHelper.ConvertToDayString(x.CourseBeginDate) + "~" + DateTimeHelper.ConvertToDayString(x.CourseEndDate);
@ -1366,6 +1368,34 @@ WHERE A.Status !='Temporary' AND EXISTS (
{ {
var course = new Ghre_StudyRecordCourse(); var course = new Ghre_StudyRecordCourse();
#region 处理开班自动绑定学习记录
if (await Db.Queryable<Ghre_OpenClass>().Where(x => x.Id == id).AnyAsync() &&
await Db.Queryable<Ghre_OpenClassStaff>().Where(x => x.OpenClassId == id && x.StaffId == App.User.StaffId).AnyAsync() &&
!await Db.Queryable<Ghre_StudyRecord>().Where(x => x.OpenClassId == id).AnyAsync())
{
var openClass = await Db.Queryable<Ghre_OpenClass>().Where(x => x.Id == id).FirstAsync();
var snap = await Db.Queryable<Ghre_CourseSnap>().FirstAsync(x => x.CourseId == openClass.LinkId);
var studyRecord = new InsertGhre_StudyRecordInput()
{
StaffId = App.User.StaffId,
ExamId = openClass.ExamId,
CourseSnapId = snap?.Id,
CourseId = openClass.LinkType == "Course" ? openClass.LinkId : null,
CourseSceneId = openClass.LinkType == "CourseScene" ? openClass.LinkId : null,
JoinTime = DateTime.Now,
CourseBeginTime = openClass.StartTime,
CourseEndTime = openClass.EndTime,
//CourseType = rule.RuleType,
CourseStatus = DIC_STUDY_RECORD_COURSE_STATUS_IN,
StudyStatus = DIC_STUDY_RECORD_STUDY_STATUS.NO_JOIN,
OpenClassId = openClass.Id
};
id = await base.Add(studyRecord);
}
else
id = await Db.Queryable<Ghre_StudyRecord>().Where(x => x.OpenClassId == id || x.Id == id).Select(x => x.Id).FirstAsync();
#endregion
string sql = @$"SELECT A.Id, string sql = @$"SELECT A.Id,
A.CourseId, A.CourseId,
A.CourseSceneId, A.CourseSceneId,
@ -1469,7 +1499,7 @@ WHERE A.Id = '{id}'";
{ {
course.CourseWareList = new List<Ghre_StudyRecordCourseWare>(); course.CourseWareList = new List<Ghre_StudyRecordCourseWare>();
course.CourseTeacherList = new List<Ghre_StudyRecordCourseTeacher>(); course.CourseTeacherList = new List<Ghre_StudyRecordCourseTeacher>();
var courses = await Db.Queryable<Ghre_Course>().Where(x => x.CourseSceneId == course.CourseSceneId && x.Status == Consts.DIC_COURSE_STATUS.RELEASED).OrderBy(x => x.SortNo).ToListAsync(); var courses = await Db.Queryable<Ghre_Course>().Where(x => (x.CourseSceneId == course.CourseSceneId || x.CourseSceneIds.Contains(course.CourseSceneId.ToString())) && x.Status == Consts.DIC_COURSE_STATUS.RELEASED).OrderBy(x => x.SortNo).ToListAsync();
for (int i = 0; i < courses.Count; i++) for (int i = 0; i < courses.Count; i++)
{ {
@ -1524,7 +1554,7 @@ WHERE A.Id = '{id}'";
CourseName = x.CourseName, CourseName = x.CourseName,
Outline = x.Outline Outline = x.Outline
}).ToList(); }).ToList();
course.TeacherName = string.Join("、", course.CourseTeacherList.Select(x => x.TeacherName)); course.TeacherName = string.Join("、", course.CourseTeacherList.Where(x => x.TeacherName != null).Select(x => x.TeacherName));
} }
} }
@ -1557,8 +1587,7 @@ WHERE A.Id = '{id}'";
WHERE A.Id IN WHERE A.Id IN
(SELECT CourseWareId (SELECT CourseWareId
FROM Ghre_Course FROM Ghre_Course
WHERE Id = '{course.CourseId}' WHERE (Id = '{course.CourseId}' OR CourseSceneId = '{course.CourseSceneId}' OR CourseSceneIds like '%{course.CourseSceneId}%') AND IsEnable = 1)";
OR CourseSceneId = '{course.CourseSceneId}' AND IsEnable = 1)";
var mins = await Db.Ado.GetDecimalAsync(sql); var mins = await Db.Ado.GetDecimalAsync(sql);
course.CourseStandardDuration1 = mins; course.CourseStandardDuration1 = mins;
@ -1628,9 +1657,13 @@ WHERE A.Id = '{id}'";
#region 记录学习时长 #region 记录学习时长
public async Task<ServiceResult> RecordDuration(long studyRecordId, decimal? duration, long attachmentId) public async Task<ServiceResult> RecordDuration(long studyRecordId, decimal? duration, long attachmentId)
{ {
var staffId = GetStaffId(); //var sql = $"UPDATE Ghre_StudyRecord SET StudyDuration = ISNULL(StudyDuration, 0)+{duration} WHERE Id='{studyRecordId}' AND StaffId='{staffId}'";
var sql = $"UPDATE Ghre_StudyRecord SET StudyDuration = ISNULL(StudyDuration, 0)+{duration} WHERE Id='{studyRecordId}' AND StaffId='{staffId}'"; //await Db.Ado.ExecuteCommandAsync(sql);
await Db.Ado.ExecuteCommandAsync(sql);
await Db.Updateable<Ghre_StudyRecord>()
.SetColumns(it => new Ghre_StudyRecord() { StudyDuration = (it.StudyDuration ?? 0) + duration }, true)
.Where(it => it.Id == studyRecordId && it.StaffId == App.User.StaffId)
.ExecuteCommandAsync();
await Task.Factory.StartNew(async () => await GenerateStaffStudyRecord(Db, studyRecordId, duration.Value, attachmentId)); await Task.Factory.StartNew(async () => await GenerateStaffStudyRecord(Db, studyRecordId, duration.Value, attachmentId));
@ -1647,13 +1680,10 @@ WHERE A.Id = '{id}'";
var courseWareIds = new List<long?>(); var courseWareIds = new List<long?>();
if (record.CourseId.IsNullOrEmpty()) if (record.CourseId.IsNullOrEmpty())
courseWareIds = await Db.Queryable<Ghre_Course>().Where(x => x.CourseSceneId == record.CourseSceneId).Select(x => x.CourseWareId).ToListAsync(); courseWareIds = await Db.Queryable<Ghre_Course>().Where(x => x.CourseSceneId == record.CourseSceneId || x.CourseSceneIds.Contains(record.CourseSceneId.ObjToString())).Select(x => x.CourseWareId).ToListAsync();
else else
courseWareIds = await Db.Queryable<Ghre_Course>().Where(x => x.Id == record.CourseId).Select(x => x.CourseWareId).ToListAsync(); courseWareIds = await Db.Queryable<Ghre_Course>().Where(x => x.Id == record.CourseId).Select(x => x.CourseWareId).ToListAsync();
#region 记录学习明细 #region 记录学习明细
var detail = new Ghre_StudyRecordDetail() var detail = new Ghre_StudyRecordDetail()
{ {
@ -1667,13 +1697,14 @@ WHERE A.Id = '{id}'";
#endregion #endregion
decimal studyProgress = 0; decimal studyProgress = 0;
var sql = $@"SELECT ISNULL (A.Hours, 0) * 60 + A.Minutes Minutes var sql = $@"SELECT SUM(ISNULL (A.Hours, 0) * 60 + A.Minutes) Minutes
FROM Ghre_CourseWare A FROM Ghre_CourseWare A
WHERE A.Id IN WHERE A.Id IN
(SELECT CourseWareId (SELECT CourseWareId
FROM Ghre_Course FROM Ghre_Course
WHERE Id = '{record.CourseId}' WHERE (Id = '{record.CourseId}'
OR CourseSceneId = '{record.CourseSceneId}' AND IsEnable = 1)"; OR CourseSceneId = '{record.CourseSceneId}'
OR CourseSceneIds like '%{record.CourseSceneId}%') AND IsEnable = 1)";
var mins = await Db.Ado.GetDecimalAsync(sql); var mins = await Db.Ado.GetDecimalAsync(sql);
if (mins > 0) if (mins > 0)

@ -6620,11 +6620,6 @@
员工ID 员工ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.ExamId">
<summary>
考试ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.CourseSnapId"> <member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.CourseSnapId">
<summary> <summary>
课程快照ID 课程快照ID
@ -6675,16 +6670,6 @@
学习进度 学习进度
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StudyDuration">
<summary>
学习时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StandardDuration">
<summary>
课程标准时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.CourseType"> <member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.CourseType">
<summary> <summary>
课程类型 课程类型
@ -6775,11 +6760,31 @@
预留字段12 预留字段12
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.ExamId">
<summary>
考试ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StudyDuration">
<summary>
学习时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StandardDuration">
<summary>
课程标准时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StaffTrainingId"> <member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.StaffTrainingId">
<summary> <summary>
员工培训ID 员工培训ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecordBase.OpenClassId">
<summary>
开班ID
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_StudyRecordDetailBase"> <member name="T:Tiobon.Core.Model.Models.Ghre_StudyRecordDetailBase">
<summary> <summary>
培训记录明细 (Dto.Base) 培训记录明细 (Dto.Base)
@ -21586,11 +21591,6 @@
员工ID 员工ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.ExamId">
<summary>
考试ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.CourseSnapId"> <member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.CourseSnapId">
<summary> <summary>
课程快照ID 课程快照ID
@ -21641,16 +21641,6 @@
学习进度 学习进度
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StudyDuration">
<summary>
学习时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StandardDuration">
<summary>
课程标准时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.CourseType"> <member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.CourseType">
<summary> <summary>
课程类型 课程类型
@ -21741,11 +21731,31 @@
预留字段12 预留字段12
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.ExamId">
<summary>
考试ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StudyDuration">
<summary>
学习时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StandardDuration">
<summary>
课程标准时长(分钟)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StaffTrainingId"> <member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.StaffTrainingId">
<summary> <summary>
员工培训ID 员工培训ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_StudyRecord.OpenClassId">
<summary>
开班ID
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_StudyRecordDetail"> <member name="T:Tiobon.Core.Model.Models.Ghre_StudyRecordDetail">
<summary> <summary>
培训记录明细 (Model) 培训记录明细 (Model)
@ -33707,5 +33717,80 @@
课程ID 课程ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.OpenClassStatus">
<summary>
开班状态
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ExamBeginDate">
<summary>
考试开始时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.RegisterStartTime">
<summary>
报名开始时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.RegisterEndTime">
<summary>
报名结束时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ExamEndDate">
<summary>
考试结束时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ShowStudyBtn">
<summary>
是否显示学习按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.DisableStudyBtn">
<summary>
是否禁用学习按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ShowExamBtn">
<summary>
是否显示考试按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.DisableExamBtn">
<summary>
是否禁用考试按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ShowFeedbackBtn">
<summary>
是否显示反馈按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.DisableFeedbackBtn">
<summary>
是否禁用反馈按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ShowRegisterBtn">
<summary>
是否显示报名按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.DisableRegisterBtn">
<summary>
是否禁用报名按钮
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.StudyProgress">
<summary>
学习进度
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.ExamDateType">
<summary>
考试时间类型
</summary>
</member>
</members> </members>
</doc> </doc>

Loading…
Cancel
Save