Merge branch 'Test_IRC_Net8' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-08-14 14:43:51 +08:00
commit 8ba22a343a
2 changed files with 25 additions and 8 deletions

View File

@ -1425,9 +1425,12 @@ namespace IRaCIS.Core.Application.Service
&& t.ClinicalUploadType == ClinicalUploadType.PDF);
var taskState = exsitPDF ? TaskState.NotEffect : TaskState.Effect;
var firsttask = generateTaskCommand.GenerataConsistentTaskList[0];
var clinicalDataList = _readingClinicalDataRepository.Where(t => t.SubjectId == subjectId
&& t.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == firsttask.TrialReadingCriterionId)
&& t.ClinicalDataTrialSet.ClinicalUploadType == ClinicalUploadType.PDF).Include(t => t.ReadingClinicalDataPDFList).Include(t => t.ClinicalDataTrialSet).ToList();
var clinicalDataList = _readingClinicalDataRepository.Where(t => t.SubjectId == subjectId && t.ClinicalDataTrialSet.ClinicalUploadType == ClinicalUploadType.PDF).Include(t => t.ReadingClinicalDataPDFList).Include(t => t.ClinicalDataTrialSet).ToList();
foreach (var clinicalData in clinicalDataList)
{
var consistnentClinicalData = _mapper.Map<ReadingConsistentClinicalData>(clinicalData);

View File

@ -729,11 +729,14 @@ namespace IRaCIS.Application.Services
public async Task<(List<GetReadingClinicalDataListOutDto>, object)> GetReadingOrTaskClinicalDataList(GetReadingOrTaskClinicalDataListInDto inDto)
{
var readingNameOrTaskBlindName = string.Empty;
var subjectCode = string.Empty;
if (inDto.ReadingId == null)
{
var visitTask = await _visitTaskRepository.FirstOrDefaultAsync(x => x.Id == inDto.VisitTaskId);
readingNameOrTaskBlindName = visitTask.TaskBlindName;
var visitTask = await _visitTaskRepository.AsQueryable().Include(x=>x.Subject)
.FirstOrDefaultAsync(x => x.Id == inDto.VisitTaskId);
subjectCode=visitTask.BlindSubjectCode.IsNullOrEmpty() ? visitTask.Subject.Code : visitTask.BlindSubjectCode;
readingNameOrTaskBlindName = visitTask.TaskBlindName;
}
inDto.SelectIsSign = false;
var result = await GetClinicalDataList(inDto);
@ -776,7 +779,7 @@ namespace IRaCIS.Application.Services
return (result, new
{
SubjectCode = await _subjectRepository.Where(x => x.Id == inDto.SubjectId).Select(x => x.Code).FirstOrDefaultAsync(),
SubjectCode = subjectCode,
ReadingNameOrTaskBlindName = readingNameOrTaskBlindName,
});
}
@ -1266,13 +1269,24 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task<IResponseOutput> SetTaskValid(SetTaskValidInDto inDto)
{
var visittask = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
var visittask = await _visitTaskRepository.AsQueryable().Include(x=>x.TrialReadingCriterion).Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
var readingId = visittask.SouceReadModuleId==null? visittask.SourceSubjectVisitId: visittask.SouceReadModuleId;
if (await _readingConsistentClinicalDataRepository.AnyAsync(x => x.ReadingId == readingId && x.IsSign == false))
if (await _readingConsistentClinicalDataRepository.AnyAsync(x => x.ReadingId == readingId
&& x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t => t.TrialReadingCriterionId == visittask.TrialReadingCriterionId) && x.IsSign == false))
{
return ResponseOutput.NotOk(_localizer["ReadingClinicalData_HaveUnsignedClinicalData"]);
}
if(visittask.TrialReadingCriterion.IsReadingTaskViewInOrder== ReadingOrder.InOrder)
{
if(await _visitTaskRepository.Where(x=>x.SubjectId== visittask.SubjectId&&x.VisitTaskNum< visittask.VisitTaskNum&&x.IsAnalysisCreate==visittask.IsAnalysisCreate
&&x.IsSelfAnalysis==visittask.IsSelfAnalysis&&x.ArmEnum==visittask.ArmEnum&&x.TaskState==TaskState.NotEffect).AnyAsync()
)
{
return ResponseOutput.NotOk(_localizer["ReadingClinicalData_NeedSetBeforeTaskEffect"]);
}
}
await _visitTaskRepository.UpdatePartialFromQueryAsync(x => x.Id == inDto.VisitTaskId, x => new VisitTask()
{