diff --git a/Tiobon.Core.Api/Tiobon.Core.Model.xml b/Tiobon.Core.Api/Tiobon.Core.Model.xml index d06e0326..c24f8344 100644 --- a/Tiobon.Core.Api/Tiobon.Core.Model.xml +++ b/Tiobon.Core.Api/Tiobon.Core.Model.xml @@ -1700,7 +1700,7 @@ 收费方式,天数、时间、项目 - + 是否公开课 @@ -7926,7 +7926,7 @@ 收费方式,天数、时间、项目 - + 是否公开课 @@ -15035,6 +15035,11 @@ 是否允许查看试卷 + + + 是否缺考 + + 员工ID diff --git a/Tiobon.Core.Model/Base/Ghre/Ghre_Course.Dto.Base.cs b/Tiobon.Core.Model/Base/Ghre/Ghre_Course.Dto.Base.cs index 185cdb1c..cb52e65a 100644 --- a/Tiobon.Core.Model/Base/Ghre/Ghre_Course.Dto.Base.cs +++ b/Tiobon.Core.Model/Base/Ghre/Ghre_Course.Dto.Base.cs @@ -116,7 +116,7 @@ namespace Tiobon.Core.Model.Models /// /// 是否公开课 /// - public bool? IsOPen { get; set; } + public string IsOpen { get; set; } /// /// 培训有效期(月) diff --git a/Tiobon.Core.Model/Models/Ghre/Ghre_Course.cs b/Tiobon.Core.Model/Models/Ghre/Ghre_Course.cs index 4eff95b5..3127e78a 100644 --- a/Tiobon.Core.Model/Models/Ghre/Ghre_Course.cs +++ b/Tiobon.Core.Model/Models/Ghre/Ghre_Course.cs @@ -118,7 +118,7 @@ namespace Tiobon.Core.Model.Models /// /// 是否公开课 /// - public virtual bool? IsOPen { get; set; } + public virtual string IsOpen { get; set; } /// /// 培训有效期(月) diff --git a/Tiobon.Core.Model/ViewModels/Extend/DefaultGhre_ExamPaperInput.cs b/Tiobon.Core.Model/ViewModels/Extend/DefaultGhre_ExamPaperInput.cs index aa9cf6b7..af28f094 100644 --- a/Tiobon.Core.Model/ViewModels/Extend/DefaultGhre_ExamPaperInput.cs +++ b/Tiobon.Core.Model/ViewModels/Extend/DefaultGhre_ExamPaperInput.cs @@ -92,6 +92,9 @@ public class DefaultGhre_ExamPaperPreview public decimal? RealScore { get; set; } public string value { get; set; } public List value1 { get; set; } = new List { }; + + public long? ExamRecordDetailId { get; set; } + } public class InsertExamPaperConfigInput { diff --git a/Tiobon.Core.Model/ViewModels/Extend/Ghre_ExamRecordExtend.cs b/Tiobon.Core.Model/ViewModels/Extend/Ghre_ExamRecordExtend.cs index 978eb3b6..3c2cb36a 100644 --- a/Tiobon.Core.Model/ViewModels/Extend/Ghre_ExamRecordExtend.cs +++ b/Tiobon.Core.Model/ViewModels/Extend/Ghre_ExamRecordExtend.cs @@ -100,6 +100,12 @@ public class QueryExam : DefaultGhre_ExamPaperPageData /// 是否允许查看试卷 /// public bool? IsAllowView { get; set; } = true; + + + /// + /// 是否缺考 + /// + public bool? IsMissExam { get; set; } = false; } public class CommentData diff --git a/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs b/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs index c0460b99..2ae5807c 100644 --- a/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs +++ b/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs @@ -171,7 +171,7 @@ public class Ghre_CourseServices : BaseServices x.CourseClassId.Contains(a.Id.ToString())).ToList(); x.CourseClassName = string.Join(",", courseClass.Select(a => a.ClassName + " (" + a.ClassNo + ")")); }); @@ -260,7 +260,7 @@ public class Ghre_CourseServices : BaseServices= '{dt}' - WHERE A.IsOPen = 'true' + WHERE A.IsOpen = 1 AND A.IsEnable = 1 AND A.Status = '{DIC_COURSE_STATUS.RELEASED}'"; diff --git a/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs b/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs index f1ebf063..84a2e104 100644 --- a/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs +++ b/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs @@ -219,7 +219,8 @@ public class Ghre_ExamRecordServices : BaseServices m.QuestionId == x.QuestionId).Sum(m => (m.Score ?? 0) + (m.AdjustScore ?? 0)) + RealScore = details.Where(m => m.QuestionId == x.QuestionId).Sum(m => (m.Score ?? 0) + (m.AdjustScore ?? 0)), + //ExamRecordDetailId = details.Where(m => m.QuestionId == x.QuestionId).First()?.Id }).ToList(); var questionIds = previews.Select(x => x.QuestionId).Distinct().ToList(); @@ -252,6 +253,9 @@ public class Ghre_ExamRecordServices : BaseServices m.ExamPaperQuestionId == x.Id); + + if (recordDetail != null) + x.ExamRecordDetailId = recordDetail.Id; switch (x.QuestionType) { case "Completion": @@ -344,16 +348,21 @@ public class Ghre_ExamRecordServices : BaseServices { - var recordDetail = details.FirstOrDefault(m => m.ExamPaperQuestionId == x.Id); - recordDetail.Score = x.RealScore; - recordDetail.IsCorrect = x.Score == x.RealScore ? true : false; + //var recordDetail = details.FirstOrDefault(m => m.ExamPaperQuestionId == x.Id); + var recordDetail = details.FirstOrDefault(m => m.Id == x.ExamRecordDetailId); + if (recordDetail != null) + { + recordDetail.Score = x.RealScore; + recordDetail.IsCorrect = x.Score == x.RealScore ? true : false; + } }); var paperId = record.ExamPaperId; var examPaper = await Db.Queryable().Where(x => x.Id == paperId).FirstAsync(); if (examPaper != null) record.IsPass = examPaper.PassScore > (record.Score + record.AdjustScore) ? false : true; - + record.Score = details.Sum(x => x.Score); + record.Score = extend.questionList.Sum(x => x.RealScore); await Db.Updateable(record).ExecuteCommandAsync(); await Db.Updateable(details).ExecuteCommandAsync(); @@ -448,11 +457,11 @@ public class Ghre_ExamRecordServices : BaseServices x.Id == studyRecord.ExamId) .FirstAsync(x => x.Status == Consts.DIC_EXAM_STATUS.RELEASED || x.Status == Consts.DIC_EXAM_STATUS.DISABLED); - if (exam.IsNull()) + if (exam.IsNull() && (record.Status == DIC_EXAM_RECORD_STATUS.WAIT || record.Status == DIC_EXAM_RECORD_STATUS.EXAMING)) return ServiceResult.OprateFailed("该门课程尚未开启考试,请联系HR !"); - if (exam.Status == Consts.DIC_EXAM_STATUS.DISABLED) + if (exam.Status == Consts.DIC_EXAM_STATUS.DISABLED && (record.Status == DIC_EXAM_RECORD_STATUS.WAIT || record.Status == DIC_EXAM_RECORD_STATUS.EXAMING)) return ServiceResult.OprateFailed("该考试已归档,暂不可考试 !"); var dt = Db.GetDate(); @@ -462,7 +471,7 @@ public class Ghre_ExamRecordServices : BaseServices= dt.Date)) + if (!(record.BeginTime.Value.Date <= dt.Date && record.EndTime.Value.Date >= dt.Date) && (record.Status == DIC_EXAM_RECORD_STATUS.WAIT || record.Status == DIC_EXAM_RECORD_STATUS.EXAMING)) return ServiceResult.OprateFailed("考试已结束!"); var details = await Db.Queryable().Where(x => x.ExamRecordId == record.Id).ToListAsync(); @@ -494,7 +503,7 @@ public class Ghre_ExamRecordServices : BaseServices().Where(x => x.ExamPaperId == examRecordId).ExecuteCommandAsync(); var configs = await Db.Queryable().OrderBy(x => x.TaxisNo).Where(x => x.ExamPaperId == exampaper.Id).ToListAsync(); @@ -540,7 +549,8 @@ public class Ghre_ExamRecordServices : BaseServices m.QuestionId == x.QuestionId).Sum(m => (m.Score ?? 0) + (m.AdjustScore ?? 0)) + RealScore = details.Where(m => m.QuestionId == x.QuestionId).Sum(m => (m.Score ?? 0) + (m.AdjustScore ?? 0)), + //ExamRecordDetailId = details.Where(m => m.QuestionId == x.QuestionId).First()?.Id }).ToList(); var questionIds = previews.Select(x => x.QuestionId).Distinct().ToList(); @@ -578,6 +588,8 @@ public class Ghre_ExamRecordServices : BaseServices m.ExamPaperQuestionId == x.Id); + if (recordDetail != null) + x.ExamRecordDetailId = recordDetail.Id; switch (x.QuestionType) { case "Completion": @@ -659,6 +671,12 @@ public class Ghre_ExamRecordServices : BaseServices.OprateSuccess("查询成功!", extend); } diff --git a/Tiobon.Core/Tiobon.Core.Model.xml b/Tiobon.Core/Tiobon.Core.Model.xml index d06e0326..c24f8344 100644 --- a/Tiobon.Core/Tiobon.Core.Model.xml +++ b/Tiobon.Core/Tiobon.Core.Model.xml @@ -1700,7 +1700,7 @@ 收费方式,天数、时间、项目 - + 是否公开课 @@ -7926,7 +7926,7 @@ 收费方式,天数、时间、项目 - + 是否公开课 @@ -15035,6 +15035,11 @@ 是否允许查看试卷 + + + 是否缺考 + + 员工ID