master
xiaochanghai 10 months ago
parent 633f0efedb
commit a693c64298
  1. 9
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  2. 2
      Tiobon.Core.Model/Base/Ghre/Ghre_Course.Dto.Base.cs
  3. 2
      Tiobon.Core.Model/Models/Ghre/Ghre_Course.cs
  4. 3
      Tiobon.Core.Model/ViewModels/Extend/DefaultGhre_ExamPaperInput.cs
  5. 6
      Tiobon.Core.Model/ViewModels/Extend/Ghre_ExamRecordExtend.cs
  6. 10
      Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs
  7. 34
      Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs
  8. 9
      Tiobon.Core/Tiobon.Core.Model.xml

@ -1700,7 +1700,7 @@
收费方式,天数、时间、项目
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseBase.IsOPen">
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseBase.IsOpen">
<summary>
是否公开课
</summary>
@ -7926,7 +7926,7 @@
收费方式,天数、时间、项目
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_Course.IsOPen">
<member name="P:Tiobon.Core.Model.Models.Ghre_Course.IsOpen">
<summary>
是否公开课
</summary>
@ -15035,6 +15035,11 @@
是否允许查看试卷
</summary>
</member>
<member name="P:Tiobon.Core.Model.QueryExam.IsMissExam">
<summary>
是否缺考
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.StaffId">
<summary>
员工ID

@ -116,7 +116,7 @@ namespace Tiobon.Core.Model.Models
/// <summary>
/// 是否公开课
/// </summary>
public bool? IsOPen { get; set; }
public string IsOpen { get; set; }
/// <summary>
/// 培训有效期(月)

@ -118,7 +118,7 @@ namespace Tiobon.Core.Model.Models
/// <summary>
/// 是否公开课
/// </summary>
public virtual bool? IsOPen { get; set; }
public virtual string IsOpen { get; set; }
/// <summary>
/// 培训有效期(月)

@ -92,6 +92,9 @@ public class DefaultGhre_ExamPaperPreview
public decimal? RealScore { get; set; }
public string value { get; set; }
public List<string> value1 { get; set; } = new List<string> { };
public long? ExamRecordDetailId { get; set; }
}
public class InsertExamPaperConfigInput
{

@ -100,6 +100,12 @@ public class QueryExam : DefaultGhre_ExamPaperPageData
/// 是否允许查看试卷
/// </summary>
public bool? IsAllowView { get; set; } = true;
/// <summary>
/// 是否缺考
/// </summary>
public bool? IsMissExam { get; set; } = false;
}
public class CommentData

@ -171,7 +171,7 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
{
x.ChargeMethodLabel = await GetParaLabel("CourseChargeMethod", x.ChargeMethod);
x.InOrOutLabel = await GetParaLabel("CourseInOrOut", x.InOrOut);
x.IsOPenLabel = x.IsOPen == true ? "是" : "否";
x.IsOPenLabel = x.IsOpen == "1" ? "是" : "否";
var courseClass = classs.Where(a => 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<Ghre_Course, Ghre_CourseDto, Ins
result.result.DT_TableDataT1[0].CourseNo = null;
result.result.DT_TableDataT1[0].CourseName = null;
}
result.result.DT_TableDataT1[0].IsOPenLabel = result.result.DT_TableDataT1[0].IsOPen?.ToString();
result.result.DT_TableDataT1[0].IsOPenLabel = result.result.DT_TableDataT1[0].IsOpen == "1" ? "是" : "否";
return result;
}
@ -408,7 +408,7 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
entity.Status = Consts.DIC_COURSE_STATUS.DRAFT;
entity.DefaultCoverImageName = entity.DefaultCoverImageName ?? "defaultCourseCover1";
entity.UseDefaultCoverImage = entity.UseDefaultCoverImage ?? true;
entity.IsOPen = entity.IsOPenLabel;
entity.IsOpen = entity.IsOPenLabel == true ? "1" : "0";
if (entity.InOrOut == "In")
{
@ -461,7 +461,7 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
}
}
editModel.IsOPen = editModel.IsOPenLabel;
editModel.IsOpen = editModel.IsOPenLabel == true ? "1" : "0";
var result = await base.Update(Id, editModel);
return result;
@ -681,7 +681,7 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
AND C.StaffId = '{staffId}'
AND C.CourseBeginTime <= '{dt}'
AND C.CourseEndTime >= '{dt}'
WHERE A.IsOPen = 'true'
WHERE A.IsOpen = 1
AND A.IsEnable = 1
AND A.Status = '{DIC_COURSE_STATUS.RELEASED}'";

@ -219,7 +219,8 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
QuestionId = x.QuestionId.Value,
ExamPaperId = x.ExamPaperId,
Score = x.Score,
RealScore = details.Where(m => 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<Ghre_ExamRecord, Ghre_ExamRe
x.detail = detail;
var recordDetail = details.FirstOrDefault(m => 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<Ghre_ExamRecord, Ghre_ExamRe
extend.questionList.ForEach(x =>
{
var recordDetail = details.FirstOrDefault(m => m.ExamPaperQuestionId == x.Id);
//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<Ghre_ExamPaper>().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<Ghre_ExamRecord, Ghre_ExamRe
.Where(x => 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<QueryExam>.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<QueryExam>.OprateFailed("该考试已归档,暂不可考试 !");
var dt = Db.GetDate();
@ -462,7 +471,7 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
if (!record.BeginTime.IsNull())
record.EndTime = record.BeginTime.Value.AddDays(exam.AfterHowLong ?? 7);
}
if (!(record.BeginTime.Value.Date <= dt.Date && record.EndTime.Value.Date >= 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<QueryExam>.OprateFailed("考试已结束!");
var details = await Db.Queryable<Ghre_ExamRecordDetail>().Where(x => x.ExamRecordId == record.Id).ToListAsync();
@ -494,7 +503,7 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
extend.styleInfo.paperStyle = exampaper.Style;
extend.styleInfo.coverBackGround = exampaper.CoverBackGround;
if (exampaper.SetMethod == DIC_EXAM_PAPER_SET_METHOD.RANDOM && record.Status != DIC_EXAM_RECORD_STATUS.EXAM_END)
if (exampaper.SetMethod == DIC_EXAM_PAPER_SET_METHOD.RANDOM && record.Status != DIC_EXAM_RECORD_STATUS.EXAM_END && record.Status != DIC_EXAM_RECORD_STATUS.SYSTEM_END)
{
await Db.Deleteable<Ghre_ExamPaperQuestion>().Where(x => x.ExamPaperId == examRecordId).ExecuteCommandAsync();
var configs = await Db.Queryable<Ghre_ExamPaperConfig>().OrderBy(x => x.TaxisNo).Where(x => x.ExamPaperId == exampaper.Id).ToListAsync();
@ -540,7 +549,8 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
QuestionId = x.QuestionId.Value,
ExamPaperId = x.ExamPaperId,
Score = x.Score,
RealScore = details.Where(m => 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<Ghre_ExamRecord, Ghre_ExamRe
x.detail = detail;
var recordDetail = details.FirstOrDefault(m => 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<Ghre_ExamRecord, Ghre_ExamRe
extend.IsAllowView = false;
}
if (record.Status == DIC_EXAM_RECORD_STATUS.SYSTEM_END)
{
extend.IsAllowView = false;
extend.IsMissExam = true;
}
return ServiceResult<QueryExam>.OprateSuccess("查询成功!", extend);
}

@ -1700,7 +1700,7 @@
收费方式,天数、时间、项目
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseBase.IsOPen">
<member name="P:Tiobon.Core.Model.Models.Ghre_CourseBase.IsOpen">
<summary>
是否公开课
</summary>
@ -7926,7 +7926,7 @@
收费方式,天数、时间、项目
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_Course.IsOPen">
<member name="P:Tiobon.Core.Model.Models.Ghre_Course.IsOpen">
<summary>
是否公开课
</summary>
@ -15035,6 +15035,11 @@
是否允许查看试卷
</summary>
</member>
<member name="P:Tiobon.Core.Model.QueryExam.IsMissExam">
<summary>
是否缺考
</summary>
</member>
<member name="P:Tiobon.Core.Model.Ghre_StudyRecordESS.StaffId">
<summary>
员工ID

Loading…
Cancel
Save