This commit is contained in:
he
2023-05-10 13:45:11 +08:00
parent fbe94c0f57
commit fb3647fc99
4 changed files with 64 additions and 3 deletions
@@ -330,7 +330,28 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public List<AdditionalQuestionAnswer> AnswerList { get; set; } = new List<AdditionalQuestionAnswer>();
}
public class GetTaskAdditionalQuestionInDto
public class GetManualListInDto
{
public Guid TrialId { get; set; }
}
public class GetManualListOutDto
{
/// <summary>
/// Name
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// Path
/// </summary>
public string Path { get; set; } = string.Empty;
}
public class GetTaskAdditionalQuestionInDto
{
//public Guid TrialReadingCriterionId { get; set; }
public Guid VisitTaskId { get; set; }
@@ -1364,6 +1385,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string SubjectCode { get; set; }=String.Empty;
public bool ExistsManual { get; set; }
public ReadingCategory ReadingCategory { get; set; }
@@ -42,6 +42,7 @@ namespace IRaCIS.Application.Services
private readonly IRepository<ReadModule> _readModuleRepository;
private readonly IRepository<DicomInstance> _dicomInstanceRepository;
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<TrialDocument> _trialDocumentRepository;
private readonly IRepository<User> _userRepository;
private readonly IRepository<ReadingSystemCriterionDictionary> _readingCriterionDictionaryRepository;
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
@@ -80,6 +81,7 @@ namespace IRaCIS.Application.Services
IRepository<ReadModule> readModuleRepository,
IRepository<DicomInstance> dicomInstanceRepository,
IRepository<OrganInfo> organInfoRepository,
IRepository<TrialDocument> trialDocumentRepository,
IRepository<User> userRepository,
IMemoryCache cache,
IRepository<ReadingSystemCriterionDictionary> readingCriterionDictionaryRepository,
@@ -116,6 +118,7 @@ namespace IRaCIS.Application.Services
this._readModuleRepository = readModuleRepository;
this._dicomInstanceRepository = dicomInstanceRepository;
this._organInfoRepository = organInfoRepository;
this._trialDocumentRepository = trialDocumentRepository;
this._userRepository = userRepository;
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
this._tumorAssessmentRepository = tumorAssessmentRepository;
@@ -135,11 +138,30 @@ namespace IRaCIS.Application.Services
}
/// <summary>
/// 获取任务附加问题
/// 获取手册
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<List<GetManualListOutDto>> GetManualList(GetManualListInDto inDto)
{
UserTypeEnum userType = (UserTypeEnum)_userInfo.UserTypeEnumInt;
//_userInfo.UserTypeId
return await _trialDocumentRepository.Where(x => x.TrialId == inDto.TrialId && x.NeedConfirmedUserTypeList.Any(y => y.NeedConfirmUserTypeId == _userInfo.UserTypeId))
.Select(x => new GetManualListOutDto()
{
Name = x.Name,
Path = x.Path
}).ToListAsync();
}
/// <summary>
/// 获取任务附加问题
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<(List<TrialAdditionaQuestion>, bool)> GetTaskAdditionalQuestion(GetTaskAdditionalQuestionInDto inDto)
{
@@ -2338,6 +2360,7 @@ namespace IRaCIS.Application.Services
task.IsConvertedTask = visitTaskInfo.IsConvertedTask;
var blindSubjectCode = await _visitTaskRepository.Where(x => x.Id == task.VisitTaskId).Select(x => x.BlindSubjectCode).FirstNotNullAsync();
task.SubjectCode = blindSubjectCode.IsNullOrEmpty() ? task.SubjectCode : blindSubjectCode;
task.ExistsManual = (await GetManualList(new GetManualListInDto() { TrialId = visitTaskInfo.TrialId })).Count() > 0;
return task;
}