|
@@ -296,6 +296,18 @@ namespace Hotline.Application.Exam.Service.Trains
|
|
}
|
|
}
|
|
|
|
|
|
private SqlSugar.ISugarQueryable<SimpleQuestionDto> QueryQuestions(EntityQueryRequest entityQueryRequest)
|
|
private SqlSugar.ISugarQueryable<SimpleQuestionDto> QueryQuestions(EntityQueryRequest entityQueryRequest)
|
|
|
|
+ {
|
|
|
|
+ SqlSugar.ISugarQueryable<ExamTrainRecord, ExamTrainPlan, ExamTrainPlanTemplate, ExamTrainPractice> queryable = QuestionQueryable(entityQueryRequest);
|
|
|
|
+
|
|
|
|
+ var result = queryable.Select((r, p, tpt, tp) => new SimpleQuestionDto
|
|
|
|
+ {
|
|
|
|
+ Title = tp.Title,
|
|
|
|
+ Id = tp.Id
|
|
|
|
+ });
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private SqlSugar.ISugarQueryable<ExamTrainRecord, ExamTrainPlan, ExamTrainPlanTemplate, ExamTrainPractice> QuestionQueryable(EntityQueryRequest entityQueryRequest)
|
|
{
|
|
{
|
|
var trainPlanRepository = new ExamRepository<ExamTrainPlan>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
var trainPlanRepository = new ExamRepository<ExamTrainPlan>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
var trainPracticeRepository = new ExamRepository<ExamTrainPractice>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
var trainPracticeRepository = new ExamRepository<ExamTrainPractice>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
@@ -308,26 +320,21 @@ namespace Hotline.Application.Exam.Service.Trains
|
|
|
|
|
|
var queryable = trainRecordTable.InnerJoin(trainPlanTable, (r, p) => r.TrainPlanId == p.Id)
|
|
var queryable = trainRecordTable.InnerJoin(trainPlanTable, (r, p) => r.TrainPlanId == p.Id)
|
|
.InnerJoin(trainPlanTemplateTable, (r, p, tpt) => p.Id == tpt.TrainPlanId)
|
|
.InnerJoin(trainPlanTemplateTable, (r, p, tpt) => p.Id == tpt.TrainPlanId)
|
|
- .InnerJoin(trainPracticeTable, (r, p, tpt, tp) => tpt.Id == tp.TrainTemplateId)
|
|
|
|
- .Select((r, p, tpt, tp) => new SimpleQuestionDto
|
|
|
|
- {
|
|
|
|
- Title = tp.Title,
|
|
|
|
- Id = tp.Id
|
|
|
|
- });
|
|
|
|
|
|
+ .InnerJoin(trainPracticeTable, (r, p, tpt, tp) => tpt.TrainTemplateId == tp.TrainTemplateId);
|
|
return queryable;
|
|
return queryable;
|
|
}
|
|
}
|
|
|
|
|
|
private async Task<List<SimpleKnowladgeDto>> GetKnowladges(EntityQueryRequest entityQueryRequest)
|
|
private async Task<List<SimpleKnowladgeDto>> GetKnowladges(EntityQueryRequest entityQueryRequest)
|
|
{
|
|
{
|
|
- var questionTable = QueryQuestions(entityQueryRequest);
|
|
|
|
|
|
+ var questionTable = QuestionQueryable(entityQueryRequest);
|
|
var questionSourcewareRepository = new ExamRepository<ExamPracticeQuestionSourceware>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
var questionSourcewareRepository = new ExamRepository<ExamPracticeQuestionSourceware>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
var sourcewareRepository = new ExamRepository<KnowledgeBase.Knowledge>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
var sourcewareRepository = new ExamRepository<KnowledgeBase.Knowledge>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
var questionSourcewareTable = questionSourcewareRepository.Queryable();
|
|
var questionSourcewareTable = questionSourcewareRepository.Queryable();
|
|
var sourcewareTable = sourcewareRepository.Queryable();
|
|
var sourcewareTable = sourcewareRepository.Queryable();
|
|
|
|
|
|
- var queryable = questionTable.InnerJoin(questionSourcewareTable, (r, p) => r.Id == p.QuestionId)
|
|
|
|
- .InnerJoin(sourcewareTable, (r, p, sw) => p.SourcewareId == sw.Id)
|
|
|
|
- .Select((r, p, sw) => new SimpleKnowladgeDto
|
|
|
|
|
|
+ var queryable = questionTable.InnerJoin(questionSourcewareTable, (r, p, tpt, tp, ExamPracticeQuestionSourceware) => r.Id == ExamPracticeQuestionSourceware.QuestionId)
|
|
|
|
+ .InnerJoin(sourcewareTable, (r, p, tpt, tp, ExamPracticeQuestionSourceware,sw) => ExamPracticeQuestionSourceware.SourcewareId == sw.Id)
|
|
|
|
+ .Select((r, p, tpt, tp, ExamPracticeQuestionSourceware, sw) => new SimpleKnowladgeDto
|
|
{
|
|
{
|
|
Title = sw.Title,
|
|
Title = sw.Title,
|
|
Id = sw.Id
|
|
Id = sw.Id
|