|
|
@ -439,7 +439,7 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe |
|
|
|
var record = records.result.DT_TableDataT1.FirstOrDefault(); |
|
|
|
var record = records.result.DT_TableDataT1.FirstOrDefault(); |
|
|
|
|
|
|
|
|
|
|
|
var dt = Db.GetDate(); |
|
|
|
var dt = Db.GetDate(); |
|
|
|
if (!(record.BeginTime.Value <= dt.Date && record.EndTime.Value >= dt.Date)) |
|
|
|
if (!(record.BeginTime.Value.Date <= dt.Date && record.EndTime.Value.Date >= dt.Date)) |
|
|
|
return ServiceResult<QueryExam>.OprateFailed("考试已结束!"); |
|
|
|
return ServiceResult<QueryExam>.OprateFailed("考试已结束!"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -593,12 +593,11 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe |
|
|
|
extend.Id = record.Id; |
|
|
|
extend.Id = record.Id; |
|
|
|
extend.CourseName = record.CourseName; |
|
|
|
extend.CourseName = record.CourseName; |
|
|
|
extend.CanRetake = true; |
|
|
|
extend.CanRetake = true; |
|
|
|
|
|
|
|
extend.ScoreOut = false; |
|
|
|
|
|
|
|
|
|
|
|
if ((record.RetakeTimes ?? 0) >= (exampaper.RetakeTimes ?? 0)) |
|
|
|
if ((record.RetakeTimes ?? 0) >= (exampaper.RetakeTimes ?? 0)) |
|
|
|
extend.CanRetake = false; |
|
|
|
extend.CanRetake = false; |
|
|
|
|
|
|
|
|
|
|
|
if (extend.ExamStatus == Consts.DIC_EXAM_RECORD_STATUS.EXAM_END) |
|
|
|
|
|
|
|
extend.ScoreOut = false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//TimeSpan timeDifference = record.EndTime.Value - DateTime.Now; |
|
|
|
//TimeSpan timeDifference = record.EndTime.Value - DateTime.Now; |
|
|
|
//extend.RemainingSecond = Convert.ToInt32(timeDifference.TotalSeconds); |
|
|
|
//extend.RemainingSecond = Convert.ToInt32(timeDifference.TotalSeconds); |
|
|
@ -622,6 +621,15 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe |
|
|
|
extend.UsageTime = $"{timeDifference.Minutes}分{timeDifference.Seconds}秒"; |
|
|
|
extend.UsageTime = $"{timeDifference.Minutes}分{timeDifference.Seconds}秒"; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (record.IsView == true) |
|
|
|
|
|
|
|
extend.CanRetake = false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (exampaper.ScoreMethod == DIC_EXAM_PAPER_SCORE_METHOD.MANUAL && record.ScoreStatus == Consts.DIC_EXAM_RECORD_SCORE_STATUS.NO_SCORE) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
extend.ScoreOut = true; |
|
|
|
|
|
|
|
extend.ScoreOutTime = "等待人工阅卷"; |
|
|
|
|
|
|
|
extend.IsAllowView = false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return ServiceResult<QueryExam>.OprateSuccess("查询成功!", extend); |
|
|
|
return ServiceResult<QueryExam>.OprateSuccess("查询成功!", extend); |
|
|
|
} |
|
|
|
} |
|
|
@ -818,20 +826,22 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe |
|
|
|
record.Status = Consts.DIC_EXAM_RECORD_STATUS.EXAM_END; |
|
|
|
record.Status = Consts.DIC_EXAM_RECORD_STATUS.EXAM_END; |
|
|
|
record.ActualEndTime = DateTime.Now; |
|
|
|
record.ActualEndTime = DateTime.Now; |
|
|
|
|
|
|
|
|
|
|
|
#region 打分 |
|
|
|
#region 打分-系统评分 |
|
|
|
if (record.ScoreStatus == Consts.DIC_EXAM_RECORD_SCORE_STATUS.NO_SCORE && exampaper.ScoreMethod == DIC_EXAM_PAPER_SCORE_METHOD.SYSTEM) |
|
|
|
if (record.ScoreStatus == Consts.DIC_EXAM_RECORD_SCORE_STATUS.NO_SCORE && exampaper.ScoreMethod == DIC_EXAM_PAPER_SCORE_METHOD.SYSTEM) |
|
|
|
{ |
|
|
|
{ |
|
|
|
await ExamHelper.SystemMarkAsync(Db, record, recordDetails, recordDetailAnswers); |
|
|
|
await ExamHelper.SystemMarkAsync(Db, record, recordDetails, recordDetailAnswers); |
|
|
|
record.ScoreStatus = Consts.DIC_EXAM_RECORD_SCORE_STATUS.HAS_SCORE; |
|
|
|
record.ScoreStatus = Consts.DIC_EXAM_RECORD_SCORE_STATUS.HAS_SCORE; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_context.Ghre_ExamRecordDetail.UpdateRange(recordDetails); |
|
|
|
|
|
|
|
_context.Ghre_ExamRecordAnswer.UpdateRange(recordDetailAnswers); |
|
|
|
|
|
|
|
await _context.SaveChangesAsync(); |
|
|
|
} |
|
|
|
} |
|
|
|
_context.Ghre_ExamRecordDetail.UpdateRange(recordDetails); |
|
|
|
|
|
|
|
_context.Ghre_ExamRecordAnswer.UpdateRange(recordDetailAnswers); |
|
|
|
|
|
|
|
await _context.SaveChangesAsync(); |
|
|
|
|
|
|
|
#endregion |
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
|
|
await Update(record, new List<string> { "Status", "Score", "ActualEndTime", "ScoreStatus" }, null, $"Id='{record.Id}'"); |
|
|
|
await Update(record, new List<string> { "Status", "Score", "ActualEndTime", "ScoreStatus" }, null, $"Id='{record.Id}'"); |
|
|
|
|
|
|
|
|
|
|
|
await Task.Factory.StartNew(async () => await DealPass(Db, studyRecordId)); |
|
|
|
if (exampaper.ScoreMethod == DIC_EXAM_PAPER_SCORE_METHOD.SYSTEM) |
|
|
|
|
|
|
|
await Task.Factory.StartNew(async () => await DealPass(Db, studyRecordId)); |
|
|
|
|
|
|
|
|
|
|
|
return ServiceResult.OprateSuccess("提交成功!"); |
|
|
|
return ServiceResult.OprateSuccess("提交成功!"); |
|
|
|
} |
|
|
|
} |
|
|
@ -876,4 +886,22 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe |
|
|
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public async Task<ServiceResult> ViewExamPaperCallBackAsync(long examRecordId) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
var entity = await base.QuerySingle(examRecordId); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (entity is null) |
|
|
|
|
|
|
|
return ServiceResult.OprateFailed("无效的考试ID!"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
entity.IsView = true; |
|
|
|
|
|
|
|
entity.ViewTime = DateTime.Now; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await Update(entity, new List<string>() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
"IsView","ViewTime" |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ServiceResult.OprateSuccess("成功!"); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |