|
|
|
@ -1,4 +1,5 @@ |
|
|
|
|
using AgileObjects.AgileMapper.Extensions; |
|
|
|
|
using Microsoft.EntityFrameworkCore; |
|
|
|
|
using Microsoft.Extensions.Logging; |
|
|
|
|
using MongoDB.Driver.Linq; |
|
|
|
|
using System.Net; |
|
|
|
@ -226,11 +227,25 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe |
|
|
|
|
var record = await QuerySingle(x => x.Id == examRecordId || x.StudyRecordId == examRecordId); |
|
|
|
|
examRecordId = record.Id; |
|
|
|
|
|
|
|
|
|
var details = await Db.Queryable<Ghre_ExamRecordDetail>().Where(x => x.ExamRecordId == record.Id).ToListAsync(); |
|
|
|
|
var detailIds = details.Select(x => x.Id).ToList(); |
|
|
|
|
var recordAnswers = await Db.Queryable<Ghre_ExamRecordAnswer>() |
|
|
|
|
using var _context = ContextFactory.CreateContext(); |
|
|
|
|
|
|
|
|
|
var src = _context.Ghre_ExamRecordDetail.Where(x => x.ExamRecordId == record.Id); |
|
|
|
|
var src1 = _context.Ghre_ExamRecordAnswer |
|
|
|
|
.OrderBy(x => x.TaxisNo) |
|
|
|
|
.Where(x => x.ExamRecordDetailId != null && detailIds.Contains(x.ExamRecordDetailId.Value)) |
|
|
|
|
.Where(x => x.ExamRecordDetailId != null && x.ExamRecordId == record.Id); |
|
|
|
|
|
|
|
|
|
if (groupId != null) |
|
|
|
|
src = src.Where(x => x.GroupId == groupId); |
|
|
|
|
else |
|
|
|
|
src = src.Where(x => x.IsEnable == 1); |
|
|
|
|
|
|
|
|
|
var details = await src |
|
|
|
|
.ToListAsync(); |
|
|
|
|
var detailIds = details.Select(x => x.Id).ToList(); |
|
|
|
|
|
|
|
|
|
src1 = src1.Where(x => detailIds.Contains(x.ExamRecordDetailId.Value)); |
|
|
|
|
|
|
|
|
|
var recordAnswers = await src1 |
|
|
|
|
.ToListAsync(); |
|
|
|
|
if (record.ScoreStatus == Consts.DIC_EXAM_RECORD_SCORE_STATUS.NO_SCORE) |
|
|
|
|
await ExamHelper.SystemMarkAsync(Db, record, details, recordAnswers); |
|
|
|
@ -636,7 +651,7 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe |
|
|
|
|
if (!string.IsNullOrWhiteSpace(config.QuestionType)) |
|
|
|
|
sql += $" AND QuestionType='{config.QuestionType}'"; |
|
|
|
|
if (config.CourseId != null) |
|
|
|
|
sql += $" AND CourseId='{config.CourseId}'"; |
|
|
|
|
sql += $" AND (CourseId='{config.CourseId}' OR CourseIds like '%{config.CourseId}%')"; |
|
|
|
|
if (config.QuestionId != null) |
|
|
|
|
sql += $" AND Id='{config.QuestionId}'"; |
|
|
|
|
if (examPaperQuestionIds.Any()) |
|
|
|
|