Merge branch 'Test_IRC_Net8' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test_IRC_Net8

IRC_NewDev
hang 2024-03-06 13:47:54 +08:00
commit 5bbf2d3c82
4 changed files with 27 additions and 8 deletions

View File

@ -113,6 +113,8 @@ namespace IRaCIS.Core.Application.ViewModel
public bool IsGetBeRead { get; set; } = false; public bool IsGetBeRead { get; set; } = false;
public bool IsGetNextMedicalReviewTask { get; set; } = false;
public string SubjectCode { get; set; } = String.Empty; public string SubjectCode { get; set; } = String.Empty;
public string TrialSiteCode { get; set; } = String.Empty; public string TrialSiteCode { get; set; } = String.Empty;

View File

@ -152,6 +152,7 @@ namespace IRaCIS.Core.Application.Service
Id=inDto.MedicalReviewId, Id=inDto.MedicalReviewId,
SubjectId= medicalReview.VisitTask.SubjectId, SubjectId= medicalReview.VisitTask.SubjectId,
TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId, TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId,
IsGetNextMedicalReviewTask = true,
PageIndex=1, PageIndex=1,
PageSize=1, PageSize=1,
})).Data; })).Data;
@ -168,6 +169,7 @@ namespace IRaCIS.Core.Application.Service
IsGetBeRead = true, IsGetBeRead = true,
Id = inDto.MedicalReviewId, Id = inDto.MedicalReviewId,
TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId, TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId,
IsGetNextMedicalReviewTask = true,
PageIndex = 1, PageIndex = 1,
PageSize = 1, PageSize = 1,
})).Data; })).Data;
@ -196,6 +198,14 @@ namespace IRaCIS.Core.Application.Service
{ {
var taskMedicalReviewQueryable = _taskMedicalReviewRepository.Where(t => t.VisitTask.TrialId == inQuery.TrialId && t.MedicalManagerUserId == _userInfo.Id&&t.VisitTask.TrialReadingCriterionId==inQuery.TrialReadingCriterionId) var taskMedicalReviewQueryable = _taskMedicalReviewRepository.Where(t => t.VisitTask.TrialId == inQuery.TrialId && t.MedicalManagerUserId == _userInfo.Id&&t.VisitTask.TrialReadingCriterionId==inQuery.TrialReadingCriterionId)
.WhereIf(inQuery.IsGetNextMedicalReviewTask,
x=>x.AuditState!= MedicalReviewAuditState.HaveSigned &
( x.ReadingMedicalReviewDialogList.Count()==0||
x.ReadingMedicalReviewDialogList.Count()>0&&
x.ReadingMedicalReviewDialogList.OrderByDescending(x=>x.CreateTime).FirstOrDefault().UserTypeEnumInt==(int)UserTypeEnum.IndependentReviewer))
.WhereIf(inQuery.SubjectId != null, t => t.VisitTask.SubjectId == inQuery.SubjectId) .WhereIf(inQuery.SubjectId != null, t => t.VisitTask.SubjectId == inQuery.SubjectId)
.WhereIf(inQuery.SiteId != null, t => t.VisitTask.Subject.SiteId == inQuery.SiteId) .WhereIf(inQuery.SiteId != null, t => t.VisitTask.Subject.SiteId == inQuery.SiteId)
.WhereIf(!string.IsNullOrEmpty(inQuery.SubjectCode), t => t.VisitTask.Subject.Code.Contains(inQuery.SubjectCode)) .WhereIf(!string.IsNullOrEmpty(inQuery.SubjectCode), t => t.VisitTask.Subject.Code.Contains(inQuery.SubjectCode))
@ -210,9 +220,11 @@ namespace IRaCIS.Core.Application.Service
.WhereIf(inQuery.IsInvalid != null, t => t.IsInvalid == inQuery.IsInvalid) .WhereIf(inQuery.IsInvalid != null, t => t.IsInvalid == inQuery.IsInvalid)
.WhereIf(inQuery.IsGetBeRead,x=>!x.IsInvalid&&x.AuditState!= MedicalReviewAuditState.HaveSigned) .WhereIf(inQuery.IsGetBeRead,x=>!x.IsInvalid&&x.AuditState!= MedicalReviewAuditState.HaveSigned)
.WhereIf(inQuery.TrialReadingCriterionId != null, t => t.VisitTask.TrialReadingCriterionId == inQuery.TrialReadingCriterionId) .WhereIf(inQuery.TrialReadingCriterionId != null, t => t.VisitTask.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)
.OrderBy(x=>x.VisitTask.SubjectId).ThenBy(x=>x.VisitTask.ArmEnum).ThenBy(x=>x.VisitTask.VisitTaskNum)
.ProjectTo<TaskMedicalReviewView>(_mapper.ConfigurationProvider); .ProjectTo<TaskMedicalReviewView>(_mapper.ConfigurationProvider);
var pageList = await taskMedicalReviewQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TaskMedicalReviewView.Id) : inQuery.SortField, inQuery.Asc);
var pageList = await taskMedicalReviewQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize,new string[] { } );
return ResponseOutput.Ok(pageList, new return ResponseOutput.Ok(pageList, new
{ {

View File

@ -795,7 +795,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}).ToListAsync(); }).ToListAsync();
var unableEvaluateRowIds = await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.Answer == TargetState.UnableEvaluate.GetEnumInt() var unableEvaluateRowIds = await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId &&
(x.Answer == TargetState.UnableEvaluate.GetEnumInt()|| x.Answer == TargetState.Loss.GetEnumInt())
&& x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State
) )
.Select(x => x.RowId).Distinct().ToListAsync(); .Select(x => x.RowId).Distinct().ToListAsync();
@ -1213,7 +1214,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
break; break;
case SplitOrMergeType.MergeMain: case SplitOrMergeType.MergeMain:
case SplitOrMergeType.MergeMained: case SplitOrMergeType.MergeMained:
x.SplitOrMergeType = SplitOrMergeType.MergeMain; x.SplitOrMergeType = SplitOrMergeType.MergeMained;
break; break;
default: default:
x.SplitOrMergeType = null; x.SplitOrMergeType = null;

View File

@ -201,9 +201,13 @@ namespace IRaCIS.Core.Infrastructure.Extention
return new PageOutput<T>() { CurrentPageData = new T[0] }; return new PageOutput<T>() { CurrentPageData = new T[0] };
} }
if(sortArray.Count()>0)
{
var sortString = string.Join(',', sortArray); var sortString = string.Join(',', sortArray);
source = source.OrderBy(sortString); source = source.OrderBy(sortString);
}
source = source.Skip((pageNumber - 1) * pageSize); source = source.Skip((pageNumber - 1) * pageSize);
var items = await source var items = await source