修改一版
parent
b45c2d5c7f
commit
5655b3dbcd
|
@ -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)),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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; }
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue