修改一版

Uat_Study
he 2022-06-23 16:39:03 +08:00
parent b45c2d5c7f
commit 5655b3dbcd
4 changed files with 29 additions and 12 deletions

View File

@ -324,6 +324,8 @@ namespace IRaCIS.Core.Application.Service
ReadingCategory = ReadingCategory.Judge, ReadingCategory = ReadingCategory.Judge,
TrialId = firstTask.TrialId, TrialId = firstTask.TrialId,
Code = currentMaxCodeInt + 1, Code = currentMaxCodeInt + 1,
SourceSubjectVisitId= firstTask.SourceSubjectVisitId,
SouceReadModuleId=firstTask.SouceReadModuleId,
TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt + 1, nameof(VisitTask)), TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt + 1, nameof(VisitTask)),
}; };

View File

@ -32,7 +32,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid SubjectId { get; set; } public Guid SubjectId { get; set; }
public string SubjectCode { get; set; } public string SubjectCode { get; set; }=String.Empty;
public ReadingCategory ReadingCategory { get; set; } public ReadingCategory ReadingCategory { get; set; }

View File

@ -79,15 +79,15 @@ namespace IRaCIS.Application.Services
{ {
VisistTaskId = x.Id, VisistTaskId = x.Id,
ReadingCategory = x.ReadingCategory, ReadingCategory = x.ReadingCategory,
VisistId = x.ReadingCategory == ReadingCategory.Visit ? x.SourceSubjectVisitId.Value : x.ReadModule.SubjectVisitId, VisistId = x.SourceSubjectVisitId != null ? x.SourceSubjectVisitId.Value : x.ReadModule.SubjectVisitId,
VisitNum = x.ReadingCategory == ReadingCategory.Visit ? x.SubjectVisit.VisitNum : x.ReadModule.VisitNum, VisitNum = x.SourceSubjectVisitId != null ? x.SubjectVisit.VisitNum : x.ReadModule.VisitNum,
}).FirstOrDefaultAsync(); }).FirstOrDefaultAsync();
task.SubjectId = await _subjectVisitRepository.Where(x => x.Id == task.VisistId).Select(x => x.SubjectId).FirstOrDefaultAsync(); task.SubjectId = await _subjectVisitRepository.Where(x => x.Id == task.VisistId).Select(x => x.SubjectId).FirstOrDefaultAsync();
return task;
} }
if (subjectId != null) else if (subjectId != null)
{ {
var subjectList =await _subjectRepository.Where(t => t.TrialId == trialId) var subjectList =await _subjectRepository.Where(t => t.TrialId == trialId)
@ -107,13 +107,16 @@ namespace IRaCIS.Application.Services
var subjectIndex = subjectList.Where(x => x.SubjectId == subjectId).Select(x=>x.Index).FirstOrDefault(); var subjectIndex = subjectList.Where(x => x.SubjectId == subjectId).Select(x=>x.Index).FirstOrDefault();
var newSubjectId = subjectList.Where(x => x.Index >= subjectIndex && x.UnReadTaskCount != 0).Select(x=>x.SubjectId).FirstOrDefault(); var newSubjectId = subjectList.Where(x => x.Index >= subjectIndex && x.UnReadTaskCount != 0).Select(x=>x.SubjectId).FirstOrDefault();
task = await _visitTaskRepository.Where(x => x.TrialId == trialId && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.SubjectId == newSubjectId && x.DoctorUserId == _userInfo.Id).Select(x => new GetReadingTaskDto()
var taskquery = _visitTaskRepository.Where(x => x.TrialId == trialId && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.SubjectId == newSubjectId && x.DoctorUserId == _userInfo.Id).Select(x => new GetReadingTaskDto()
{ {
VisistTaskId = x.Id, VisistTaskId = x.Id,
ReadingCategory = x.ReadingCategory, ReadingCategory = x.ReadingCategory,
VisistId = x.ReadingCategory == ReadingCategory.Visit ? x.SourceSubjectVisitId.Value : x.ReadModule.SubjectVisitId, VisistId = x.SourceSubjectVisitId != null ? x.SourceSubjectVisitId.Value : x.ReadModule.SubjectVisitId,
VisitNum = x.ReadingCategory == ReadingCategory.Visit ? x.SubjectVisit.VisitNum : x.ReadModule.VisitNum VisitNum = x.SourceSubjectVisitId != null ? x.SubjectVisit.VisitNum : x.ReadModule.VisitNum,
}).OrderBy(x => x.VisitNum).ThenBy(x => x.ReadingCategory).FirstOrDefaultAsync(); }).OrderBy(x => x.VisitNum).ThenBy(x => x.ReadingCategory);
task =await taskquery.FirstOrDefaultAsync();
if (task == null) if (task == null)
{ {
throw new BusinessValidationFailedException("任务都已经完成"); throw new BusinessValidationFailedException("任务都已经完成");
@ -128,8 +131,8 @@ namespace IRaCIS.Application.Services
{ {
VisistTaskId = x.Id, VisistTaskId = x.Id,
ReadingCategory = x.ReadingCategory, ReadingCategory = x.ReadingCategory,
VisistId = x.ReadingCategory == ReadingCategory.Visit ? x.SourceSubjectVisitId.Value : x.ReadModule.SubjectVisitId, VisistId = x.SourceSubjectVisitId != null ? x.SourceSubjectVisitId.Value : x.ReadModule.SubjectVisitId,
VisitNum = x.ReadingCategory == ReadingCategory.Visit ? x.SubjectVisit.VisitNum : x.ReadModule.VisitNum VisitNum = x.SourceSubjectVisitId != null ? x.SubjectVisit.VisitNum : x.ReadModule.VisitNum,
}).FirstOrDefaultAsync(); }).FirstOrDefaultAsync();
if (task == null) if (task == null)
{ {

View File

@ -30,6 +30,7 @@ namespace IRaCIS.Application.Services
private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository; private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository;
private readonly IRepository<ClinicalDataSystemSet> _clinicalDataSystemSetRepository; private readonly IRepository<ClinicalDataSystemSet> _clinicalDataSystemSetRepository;
private readonly IRepository<Dictionary> _dictionaryRepository; private readonly IRepository<Dictionary> _dictionaryRepository;
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswer;
private readonly IRepository<PreviousPDF> _previousPDFRepository; private readonly IRepository<PreviousPDF> _previousPDFRepository;
public ReadingQuestionService( public ReadingQuestionService(
@ -41,6 +42,7 @@ namespace IRaCIS.Application.Services
IRepository<ClinicalDataTrialSet> ClinicalDataTrialSetRepository, IRepository<ClinicalDataTrialSet> ClinicalDataTrialSetRepository,
IRepository<ClinicalDataSystemSet> ClinicalDataSystemSetRepository, IRepository<ClinicalDataSystemSet> ClinicalDataSystemSetRepository,
IRepository<Dictionary> dictionaryRepository, IRepository<Dictionary> dictionaryRepository,
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswer,
IRepository<PreviousPDF> previousPDFRepository IRepository<PreviousPDF> previousPDFRepository
) )
{ {
@ -52,6 +54,7 @@ namespace IRaCIS.Application.Services
this._clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository; this._clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository;
this._clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository; this._clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository;
this._dictionaryRepository = dictionaryRepository; this._dictionaryRepository = dictionaryRepository;
this._readingTaskQuestionAnswer = readingTaskQuestionAnswer;
this._previousPDFRepository = previousPDFRepository; this._previousPDFRepository = previousPDFRepository;
} }
@ -138,6 +141,15 @@ namespace IRaCIS.Application.Services
// ResponseOutput.NotOk("当前标准已经运用到项目,操作失败"); // ResponseOutput.NotOk("当前标准已经运用到项目,操作失败");
//} //}
if (!inDto.IsCompleteConfig)
{
var trialCriterionIds =await _readingQuestionCriterionTrialRepository.Where(x => x.ReadingQuestionCriterionSystemId == inDto.Id).Select(x => x.Id).ToListAsync();
if (await _readingTaskQuestionAnswer.AnyAsync(x => trialCriterionIds.Contains(x.ReadingQuestionCriterionTrialId)))
{
return ResponseOutput.NotOk("此标准在项目里面已被使用,操作失败");
}
}
await _readingQuestionCriterionSystemRepository.UpdatePartialFromQueryAsync(inDto.Id, x => new ReadingQuestionCriterionSystem() await _readingQuestionCriterionSystemRepository.UpdatePartialFromQueryAsync(inDto.Id, x => new ReadingQuestionCriterionSystem()
{ {
IsCompleteConfig = inDto.IsCompleteConfig IsCompleteConfig = inDto.IsCompleteConfig