master
xiaochanghai 11 months ago
parent 2a6b046fce
commit b0e429cb6b
  1. 26
      Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs

@ -579,14 +579,17 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
extend.DeptName = record.DepteName;
extend.StaffPhoto = record.StaffPhotoUrl;
extend.ExamName = record.ExamName + "(" + record.ExamNo + ")";
extend.ExamBeginDate = DateTimeHelper.ConvertToMiniuteString(record.BeginTime);
extend.ExamEndDate = DateTimeHelper.ConvertToMiniuteString(record.EndTime);
extend.ExamBeginDate = DateTimeHelper.ConvertToDayString(record.BeginTime);
extend.ExamEndDate = DateTimeHelper.ConvertToDayString(record.EndTime);
extend.ExamStatus = record.Status;
extend.TotalScore = record.TotalScore;
extend.Id = record.Id;
extend.CourseName = record.CourseName;
extend.CanRetake = true;
if ((record.RetakeTimes ?? 0) >= (exampaper.RetakeTimes ?? 0))
extend.CanRetake = false;
if (extend.ExamStatus == Consts.DIC_EXAM_RECORD_STATUS.EXAM_END)
extend.ScoreOut = false;
@ -613,6 +616,9 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
if (entity is null)
return ServiceResult.OprateFailed("无效的考试ID!");
var dt = Db.GetDate();
if (!(entity.BeginTime.Value <= dt.Date && entity.EndTime.Value >= dt.Date))
return ServiceResult.OprateFailed("考试已结束!");
#region 试卷 引用次数
if (entity.Status == Consts.DIC_EXAM_RECORD_STATUS.WAIT)
@ -646,6 +652,12 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
if (entity is null)
return ServiceResult.OprateFailed("无效的考试ID!");
var exampaper = await Db.Queryable<Ghre_ExamPaper>().FirstAsync(x => x.Id == entity.ExamPaperId);
if ((entity.RetakeTimes ?? 0) >= (exampaper.RetakeTimes ?? 0))
return ServiceResult.OprateFailed($"重考次数已达上限,已重考次数【{entity.RetakeTimes ?? 0}】,允许重考次数【{exampaper.RetakeTimes ?? 0}】!");
if (entity.Status == Consts.DIC_EXAM_RECORD_STATUS.EXAM_END)
entity.Status = Consts.DIC_EXAM_RECORD_STATUS.EXAMING;
@ -664,6 +676,11 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
if (record is null) return ServiceResult.OprateFailed("无效的考试ID");
using var _context = ContextFactory.CreateContext();
var dt = Db.GetDate();
var endTime = record.EndTime.Value.AddDays(1).AddSeconds(9);
if (!(record.BeginTime <= dt && record.EndTime >= dt))
return ServiceResult.OprateFailed("考试已结束!");
string sql = $@"UPDATE Ghre_ExamRecordDetail set IsEnable=0 where ExamRecordId='{record.Id}';
UPDATE Ghre_ExamRecordAnswer set IsEnable=0 where ExamRecordId='{record.Id}';";
await Db.Ado.ExecuteCommandAsync(sql);
@ -786,13 +803,16 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
#region 打分
if (record.ScoreStatus == Consts.DIC_EXAM_RECORD_SCORE_STATUS.NO_SCORE && record.Status == Consts.DIC_EXAM_RECORD_STATUS.EXAM_END)
{
await ExamHelper.SystemMarkAsync(Db, record, recordDetails, recordDetailAnswers);
record.ScoreStatus = Consts.DIC_EXAM_RECORD_SCORE_STATUS.HAS_SCORE;
}
_context.Ghre_ExamRecordDetail.UpdateRange(recordDetails);
_context.Ghre_ExamRecordAnswer.UpdateRange(recordDetailAnswers);
await _context.SaveChangesAsync();
#endregion
await Update(record, new List<string> { "Status", "Score", "ActualEndTime" }, null, $"Id='{record.Id}'");
await Update(record, new List<string> { "Status", "Score", "ActualEndTime", "ScoreStatus" }, null, $"Id='{record.Id}'");
return ServiceResult.OprateSuccess("提交成功!");
}
}
Loading…
Cancel
Save