项目问题导出配置

This commit is contained in:
he
2024-12-13 09:27:23 +08:00
parent 78bc09d71a
commit 23cb3e1278
2 changed files with 137 additions and 0 deletions
@@ -48,7 +48,89 @@ namespace IRaCIS.Core.Application.Service
// return (await _iReadingImageTaskService.GetReadingQuestion(inDto.TrialReadingCriterionId, null),true);
//}
/// <summary>
/// 设置项目问题导出
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<bool> SetTrialQuestionExportResult(SetTrialQuestionExportResultInDto inDto)
{
foreach (var item in inDto.QuestionList)
{
var ExportResultStr=JsonConvert.SerializeObject(item.ExportResult);
await _readingQuestionTrialRepository.UpdatePartialFromQueryAsync(x => x.Id == item.QuestionId, x => new ReadingQuestionTrial()
{
ExportResultStr = ExportResultStr
});
}
foreach (var item in inDto.TableQuestionList)
{
var ExportResultStr = JsonConvert.SerializeObject(item.ExportResult);
await _readingTableQuestionTrialRepository.UpdatePartialFromQueryAsync(x => x.Id == item.TableQuestionId, x => new ReadingTableQuestionTrial()
{
ExportResultStr = ExportResultStr
});
}
return await _readingTableQuestionTrialRepository.SaveChangesAsync();
}
/// <summary>
/// 获取项目的导出信息
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<GetTrialQuestionExportResultOutDto> GetTrialQuestionExportResult(GetTrialQuestionExportResultInDto inDto)
{
var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId)
.OrderBy(x => x.ShowOrder).Select(x => new TrialQuestionExport()
{
QuestionId = x.Id,
QuestionName = _userInfo.IsEn_Us ? x.QuestionEnName : x.QuestionName,
ExportResult = x.ExportResult,
ShowOrder=x.ShowOrder,
}).ToListAsync();
var questionid = questionList.Select(x => x.QuestionId).ToList();
var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => questionid.Contains(x.ReadingQuestionId))
.OrderBy(x => x.ShowOrder).Select(x => new TrialQuestionExport()
{
QuestionId = x.ReadingQuestionId,
TableQuestionId=x.Id,
QuestionName = _userInfo.IsEn_Us ? x.QuestionEnName : x.QuestionName,
ExportResult = x.ExportResult,
ShowOrder=x.ShowOrder,
}).ToListAsync();
questionList.ForEach(x =>
{
x.Children = tableQuestionList.Where(y => y.QuestionId == x.QuestionId).OrderBy(y => y.ShowOrder).ToList();
});
var dicList = await _dictionaryRepository.Where(x => x.Parent.Code == "ExportResult")
.OrderBy(x => x.ShowOrder)
.Select(x => new TrialQuestionExportDic()
{
Code = int.Parse(x.Code),
Value = x.Value,
ValueCN = x.ValueCN
}).ToListAsync();
return new GetTrialQuestionExportResultOutDto()
{
DicList = dicList,
QuestionList = questionList
};
}