代码修改

Uat_Study
he 2023-03-16 15:11:20 +08:00
parent ae546cd016
commit 3439a6b691
4 changed files with 64 additions and 1 deletions

View File

@ -293,6 +293,26 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid RowId { get; set; }
}
public class AdditionalQuestionAnswer
{
public Guid QuestionId { get; set; }
public string Answer { get; set; }
}
public class SubmitTaskAdditionalQuestionInDto
{
public Guid VisitTaskId { get; set; }
public List<AdditionalQuestionAnswer> AnswerList { get; set; } = new List<AdditionalQuestionAnswer>();
}
public class GetTaskAdditionalQuestionInDto
{
public Guid TrialReadingCriterionId { get; set; }
public Guid VisitTaskId { get; set; }
}
public class ChangeCalculationAnswerInDto
{
public Guid VisitTaskId { get; set; }

View File

@ -1365,6 +1365,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
}
public class GetCalculateTableQuestionsInDto
{
[NotDefault]

View File

@ -90,6 +90,9 @@ namespace IRaCIS.Application.Services
//}
/// <summary>
/// 获取自定义表格问题预览
/// </summary>
@ -979,7 +982,7 @@ namespace IRaCIS.Application.Services
needAddDatas.Add(question);
};
await _readingQuestionTrialRepository.BatchDeleteNoTrackingAsync(x => x.ReadingQuestionCriterionTrialId == trialCriterion.Id);
await _readingQuestionTrialRepository.BatchDeleteNoTrackingAsync(x => x.ReadingQuestionCriterionTrialId == trialCriterion.Id&&!x.IsAdditional);
await _readingQuestionTrialRepository.AddRangeAsync(needAddDatas);
var systemCriterion = await _readingQuestionCriterionSystemRepository.Where(x => x.Id == trialCriterion.ReadingQuestionCriterionSystemId).FirstNotNullAsync();
await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(x => x.Id == trialCriterion.Id, x => new ReadingQuestionCriterionTrial()

View File

@ -127,6 +127,45 @@ namespace IRaCIS.Application.Services
this._trialEmailNoticeConfigService = trialEmailNoticeConfigService;
}
/// <summary>
/// 获取任务附加问题
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<List<TrialReadQuestion>> GettTaskAdditionalQuestion(GetTaskAdditionalQuestionInDto inDto)
{
var result= await _readingQuestionTrialRepository.Where(x => x.IsAdditional && x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).IgnoreQueryFilters().ProjectTo<TrialReadQuestion>(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync();
return result;
}
/// <summary>
/// 提交附加问题
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<bool> SubmitTaskAdditionalQuestion(SubmitTaskAdditionalQuestionInDto inDto)
{
var taskInfo = await _visitTaskRepository.Where(x => inDto.VisitTaskId == x.Id).FirstNotNullAsync();
var questionids = inDto.AnswerList.Select(x => x.QuestionId).ToList();
await _readingTaskQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.VisitTaskId == inDto.VisitTaskId && questionids.Contains(x.ReadingQuestionTrialId));
await _readingTaskQuestionAnswerRepository.AddRangeAsync(inDto.AnswerList.Select(x => new ReadingTaskQuestionAnswer()
{
VisitTaskId = inDto.VisitTaskId,
ReadingQuestionCriterionTrialId = taskInfo.TrialReadingCriterionId,
Answer = x.Answer,
ReadingQuestionTrialId = x.QuestionId,
TrialId = taskInfo.TrialId,
SubjectId = taskInfo.SubjectId
}).ToList());
return await _readingTaskQuestionAnswerRepository.SaveChangesAsync();
}
/// <summary>
/// 维护任务关系
/// </summary>