master
xiaochanghai 11 months ago
parent 8604591078
commit f13f3f636f
  1. 17
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  2. 88
      Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs
  3. 2
      Tiobon.Core.Services/Ghre/Ghre_StudyRuleServices.cs
  4. 27
      Tiobon.Core/Tiobon.Core.Model.xml

@ -12592,19 +12592,24 @@
全局常量 全局常量
</summary> </summary>
</member> </member>
<member name="F:Tiobon.Core.Model.Consts.DIC_EXAM_STATUS_DRAFT"> <member name="T:Tiobon.Core.Model.Consts.DicExamStatus">
<summary> <summary>
考试管理-状态-草稿箱 考试管理-状态
</summary> </summary>
</member> </member>
<member name="F:Tiobon.Core.Model.Consts.DIC_EXAM_STATUS_RELEASED"> <member name="F:Tiobon.Core.Model.Consts.DicExamStatus.DRAFT">
<summary> <summary>
考试管理-状态-已发布 草稿箱
</summary> </summary>
</member> </member>
<member name="F:Tiobon.Core.Model.Consts.DIC_EXAM_STATUS_DISABLED"> <member name="F:Tiobon.Core.Model.Consts.DicExamStatus.RELEASED">
<summary> <summary>
考试管理-状态-已归档 已发布
</summary>
</member>
<member name="F:Tiobon.Core.Model.Consts.DicExamStatus.DISABLED">
<summary>
已归档
</summary> </summary>
</member> </member>
<member name="F:Tiobon.Core.Model.Consts.DIC_EXAM_DATE_TYPE_EXAM_DATE"> <member name="F:Tiobon.Core.Model.Consts.DIC_EXAM_DATE_TYPE_EXAM_DATE">

@ -13,6 +13,7 @@ using Tiobon.Core.Common.Helper;
using AgileObjects.AgileMapper.Extensions; using AgileObjects.AgileMapper.Extensions;
using SqlSugar; using SqlSugar;
using Tiobon.Core.DataAccess; using Tiobon.Core.DataAccess;
using System.Data;
namespace Tiobon.Core.Services; namespace Tiobon.Core.Services;
@ -380,42 +381,44 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
{ {
var studyRecord = await Db.Queryable<Ghre_StudyRecord>().FirstAsync(x => x.Id == id); var studyRecord = await Db.Queryable<Ghre_StudyRecord>().FirstAsync(x => x.Id == id);
string sql = @$"SELECT A.StaffId, //string sql = @$"SELECT A.StaffId,
A.Source, // A.Source,
A.ExamId, // A.ExamId,
B.Id, // B.Id,
B.LinkType, // B.LinkType,
B.CourseId, // B.CourseId,
B.CourseSceneId, // B.CourseSceneId,
B.ExamPaperId, // B.ExamPaperId,
B.CoverUrl, // B.CoverUrl,
B.ExamNo, // B.ExamNo,
B.ExamName, // B.ExamName,
B.DateType, // B.DateType,
B.BeginTime, // B.BeginTime,
B.EndTime, // B.EndTime,
B.AfterHowLong, // B.AfterHowLong,
B.ExamMode, // B.ExamMode,
B.ExamPlace, // B.ExamPlace,
B.IsLinkOpenClass, // B.IsLinkOpenClass,
B.OpenClassId, // B.OpenClassId,
B.Status // B.Status
FROM Ghre_ExamStaff A // FROM Ghre_ExamStaff A
JOIN Ghre_Exam B // JOIN Ghre_Exam B
ON A.ExamId = B.Id // ON A.ExamId = B.Id
AND B.Status = 'Released' // AND B.Status = 'Released'
AND A.IsEnable = B.IsEnable // AND A.IsEnable = B.IsEnable
AND B.CourseId = '{studyRecord.CourseId}' // AND B.CourseId = '{studyRecord.CourseId}'
WHERE A.IsEnable = 1 // WHERE A.IsEnable = 1
AND ( B.DateType = 'AfterHowLong' // AND ( B.DateType = 'AfterHowLong'
OR ( B.DateType = 'ExamDate' // OR ( B.DateType = 'ExamDate'
AND B.BeginTime >= GETDATE () // AND B.BeginTime >= GETDATE ()
AND B.EndTime <= GETDATE ())) // AND B.EndTime <= GETDATE ()))
AND A.StaffId = {studyRecord.StaffId}"; // AND A.StaffId = {studyRecord.StaffId}";
var exam = await Db.Ado.SqlQuerySingleAsync<Ghre_Exam>(sql); var exam = await Db.Queryable<Ghre_Exam>()
.Where(x => x.Id == studyRecord.ExamId)
.FirstAsync(x => x.Status == Consts.DicExamStatus.RELEASED);
if (exam is null) if (exam is null)
return ServiceResult<QueryExam>.OprateFailed("该门课程勿需考试!"); return ServiceResult<QueryExam>.OprateFailed("该门课程需考试!");
var insrt = new InsertGhre_ExamRecordInput() var insrt = new InsertGhre_ExamRecordInput()
{ {
@ -427,7 +430,9 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
ExamDate = DateTime.Now.Date, ExamDate = DateTime.Now.Date,
RetakeTimes = 0, RetakeTimes = 0,
Status = "Wait", Status = "Wait",
ScoreStatus = "NoScore" ScoreStatus = "NoScore",
BeginTime = exam.BeginTime,
EndTime = exam.EndTime
}; };
examRecordId = await base.Add(insrt); examRecordId = await base.Add(insrt);
} }
@ -560,13 +565,16 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
if (extend.ExamStatus == "ExamEnd") if (extend.ExamStatus == "ExamEnd")
extend.ScoreOut = false; 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);
if (extend.RemainingSecond < 0) extend.RemainingSecond = 0; //if (extend.RemainingSecond < 0) extend.RemainingSecond = 0;
extend.RemainingSecond = 3600;
if (exampaper.AnswerTime != null)
extend.RemainingSecond = exampaper.AnswerTime.Value * 60;
if (record.ActualEndTime != null) if (record.ActualEndTime != null)
{ {
timeDifference = record.ActualEndTime.Value - record.ActualBeginTime.Value; TimeSpan timeDifference = record.ActualEndTime.Value - record.ActualBeginTime.Value;
extend.UsageTime = $"{timeDifference.Minutes}分{timeDifference.Seconds}秒"; extend.UsageTime = $"{timeDifference.Minutes}分{timeDifference.Seconds}秒";
} }

@ -238,7 +238,7 @@ public class Ghre_StudyRuleServices : BaseServices<Ghre_StudyRule, Ghre_StudyRul
var exam = await Db.Queryable<Ghre_Exam>() var exam = await Db.Queryable<Ghre_Exam>()
.WhereIF(rule.CourseId != null, x => x.CourseId == rule.CourseId) .WhereIF(rule.CourseId != null, x => x.CourseId == rule.CourseId)
.WhereIF(rule.CourseSceneId != null, x => x.CourseSceneId == rule.CourseSceneId) .WhereIF(rule.CourseSceneId != null, x => x.CourseSceneId == rule.CourseSceneId)
.FirstAsync(x => x.Status == Consts.DIC_EXAM_STATUS_RELEASED); .FirstAsync(x => x.Status == Consts.DicExamStatus.RELEASED);
for (int i = 0; i < staffs.Count; i++) for (int i = 0; i < staffs.Count; i++)
{ {

@ -3260,6 +3260,11 @@
员工ID 员工ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamStaffBase.StudyRuleId">
<summary>
员工ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamStaffBase.Source"> <member name="P:Tiobon.Core.Model.Models.Ghre_ExamStaffBase.Source">
<summary> <summary>
来源 来源
@ -9021,6 +9026,11 @@
员工ID 员工ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamStaff.StudyRuleId">
<summary>
员工ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamStaff.Source"> <member name="P:Tiobon.Core.Model.Models.Ghre_ExamStaff.Source">
<summary> <summary>
来源 来源
@ -12582,19 +12592,24 @@
全局常量 全局常量
</summary> </summary>
</member> </member>
<member name="F:Tiobon.Core.Model.Consts.DIC_EXAM_STATUS_DRAFT"> <member name="T:Tiobon.Core.Model.Consts.DicExamStatus">
<summary>
考试管理-状态
</summary>
</member>
<member name="F:Tiobon.Core.Model.Consts.DicExamStatus.DRAFT">
<summary> <summary>
考试管理-状态-草稿箱 草稿箱
</summary> </summary>
</member> </member>
<member name="F:Tiobon.Core.Model.Consts.DIC_EXAM_STATUS_RELEASED"> <member name="F:Tiobon.Core.Model.Consts.DicExamStatus.RELEASED">
<summary> <summary>
考试管理-状态-已发布 已发布
</summary> </summary>
</member> </member>
<member name="F:Tiobon.Core.Model.Consts.DIC_EXAM_STATUS_DISABLED"> <member name="F:Tiobon.Core.Model.Consts.DicExamStatus.DISABLED">
<summary> <summary>
考试管理-状态-已归档 已归档
</summary> </summary>
</member> </member>
<member name="F:Tiobon.Core.Model.Consts.DIC_EXAM_DATE_TYPE_EXAM_DATE"> <member name="F:Tiobon.Core.Model.Consts.DIC_EXAM_DATE_TYPE_EXAM_DATE">

Loading…
Cancel
Save