考试记录 新增查看试卷标记位

master
xiaochanghai 11 months ago
parent 947c393983
commit a73decbcad
  1. 2250
      Model/Tiobon.Web.pdm
  2. 11
      Tiobon.Core.Api/Controllers/Ghre/Ghre_ExamRecordController.cs
  3. 25
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  4. 7
      Tiobon.Core.Api/Tiobon.Core.xml
  5. 2
      Tiobon.Core.IServices/Ghre/IGhre_ExamRecordServices.cs
  6. 10
      Tiobon.Core.Model/Base/Ghre/Ghre_ExamRecord.Dto.Base.cs
  7. 10
      Tiobon.Core.Model/Models/Ghre/Ghre_ExamRecord.cs
  8. 5
      Tiobon.Core.Model/ViewModels/Extend/Ghre_ExamRecordExtend.cs
  9. 44
      Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs
  10. 25
      Tiobon.Core/Tiobon.Core.Model.xml
  11. 7
      Tiobon.Core/Tiobon.Core.xml

File diff suppressed because it is too large Load Diff

@ -103,4 +103,15 @@ public class Ghre_ExamRecordController : BaseController<IGhre_ExamRecordServices
{ {
return await _service.AnswerExamAsync(answers, studyRecordId); return await _service.AnswerExamAsync(answers, studyRecordId);
} }
/// <summary>
/// 记录查看试卷
/// </summary>
/// <param name="examRecordId"></param>
/// <returns></returns>
[HttpPost("ViewExamPaperCallBack/{examRecordId}")]
public async Task<ServiceResult> ViewExamPaperCallBackAsync(long examRecordId)
{
return await _service.ViewExamPaperCallBackAsync(examRecordId);
}
} }

@ -2970,6 +2970,16 @@
来源 来源
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.IsView">
<summary>
是否查看试卷
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ViewTime">
<summary>
查看试卷时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.RemarkSz"> <member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.RemarkSz">
<summary> <summary>
备注 备注
@ -8756,6 +8766,16 @@
来源 来源
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.IsView">
<summary>
是否查看试卷
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ViewTime">
<summary>
查看试卷时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.RemarkSz"> <member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.RemarkSz">
<summary> <summary>
备注 备注
@ -14160,6 +14180,11 @@
出分时间 出分时间
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.QueryExam.IsAllowView">
<summary>
是否允许查看试卷
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.StaffId"> <member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.StaffId">
<summary> <summary>
员工ID 员工ID

@ -878,6 +878,13 @@
<param name="answers"></param> <param name="answers"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamRecordController.ViewExamPaperCallBackAsync(System.Int64)">
<summary>
记录查看试卷
</summary>
<param name="examRecordId"></param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamRecordDetailController"> <member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamRecordDetailController">
<summary> <summary>
Ghre_ExamRecordDetail(Controller) Ghre_ExamRecordDetail(Controller)

@ -25,5 +25,7 @@ namespace Tiobon.Core.IServices
Task<ServiceResult> RetakeExamAsync(long examRecordId); Task<ServiceResult> RetakeExamAsync(long examRecordId);
Task<ServiceResult> AnswerExamAsync(List<DefaultGhre_ExamPaperPreview> answers, long studyRecordId); Task<ServiceResult> AnswerExamAsync(List<DefaultGhre_ExamPaperPreview> answers, long studyRecordId);
Task<ServiceResult> ViewExamPaperCallBackAsync(long examRecordId);
} }
} }

@ -123,6 +123,16 @@ namespace Tiobon.Core.Model.Models
[Display(Name = "Source"), Description("来源"), MaxLength(32, ErrorMessage = "来源 不能超过 32 个字符")] [Display(Name = "Source"), Description("来源"), MaxLength(32, ErrorMessage = "来源 不能超过 32 个字符")]
public string Source { get; set; } public string Source { get; set; }
/// <summary>
/// 是否查看试卷
/// </summary>
public bool? IsView { get; set; }
/// <summary>
/// 查看试卷时间
/// </summary>
public DateTime? ViewTime { get; set; }
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>

@ -125,6 +125,16 @@ namespace Tiobon.Core.Model.Models
[Display(Name = "Source"), Description("来源"), MaxLength(32, ErrorMessage = "来源 不能超过 32 个字符")] [Display(Name = "Source"), Description("来源"), MaxLength(32, ErrorMessage = "来源 不能超过 32 个字符")]
public string Source { get; set; } public string Source { get; set; }
/// <summary>
/// 是否查看试卷
/// </summary>
public bool? IsView { get; set; }
/// <summary>
/// 查看试卷时间
/// </summary>
public DateTime? ViewTime { get; set; }
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>

@ -95,6 +95,11 @@ public class QueryExam : DefaultGhre_ExamPaperPageData
/// 出分时间 /// 出分时间
/// </summary> /// </summary>
public string ScoreOutTime { get; set; } public string ScoreOutTime { get; set; }
/// <summary>
/// 是否允许查看试卷
/// </summary>
public bool? IsAllowView { get; set; } = true;
} }
public class CommentData public class CommentData

@ -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("成功!");
}
} }

@ -2970,6 +2970,16 @@
来源 来源
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.IsView">
<summary>
是否查看试卷
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ViewTime">
<summary>
查看试卷时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.RemarkSz"> <member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.RemarkSz">
<summary> <summary>
备注 备注
@ -8756,6 +8766,16 @@
来源 来源
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.IsView">
<summary>
是否查看试卷
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ViewTime">
<summary>
查看试卷时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.RemarkSz"> <member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.RemarkSz">
<summary> <summary>
备注 备注
@ -14160,6 +14180,11 @@
出分时间 出分时间
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.QueryExam.IsAllowView">
<summary>
是否允许查看试卷
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.StaffId"> <member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.StaffId">
<summary> <summary>
员工ID 员工ID

@ -878,6 +878,13 @@
<param name="answers"></param> <param name="answers"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamRecordController.ViewExamPaperCallBackAsync(System.Int64)">
<summary>
记录查看试卷
</summary>
<param name="examRecordId"></param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamRecordDetailController"> <member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamRecordDetailController">
<summary> <summary>
Ghre_ExamRecordDetail(Controller) Ghre_ExamRecordDetail(Controller)

Loading…
Cancel
Save