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,7 +113,9 @@ namespace IRaCIS.Core.Application.ViewModel
public bool IsGetBeRead { get; set; } = false;
public string SubjectCode { get; set; } = String.Empty;
public bool IsGetNextMedicalReviewTask { get; set; } = false;
public string SubjectCode { get; set; } = String.Empty;
public string TrialSiteCode { get; set; } = String.Empty;
public string TaskName { get; set; } = String.Empty;

View File

@ -152,6 +152,7 @@ namespace IRaCIS.Core.Application.Service
Id=inDto.MedicalReviewId,
SubjectId= medicalReview.VisitTask.SubjectId,
TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId,
IsGetNextMedicalReviewTask = true,
PageIndex=1,
PageSize=1,
})).Data;
@ -168,7 +169,8 @@ namespace IRaCIS.Core.Application.Service
IsGetBeRead = true,
Id = inDto.MedicalReviewId,
TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId,
PageIndex = 1,
IsGetNextMedicalReviewTask = true,
PageIndex = 1,
PageSize = 1,
})).Data;
@ -196,7 +198,15 @@ namespace IRaCIS.Core.Application.Service
{
var taskMedicalReviewQueryable = _taskMedicalReviewRepository.Where(t => t.VisitTask.TrialId == inQuery.TrialId && t.MedicalManagerUserId == _userInfo.Id&&t.VisitTask.TrialReadingCriterionId==inQuery.TrialReadingCriterionId)
.WhereIf(inQuery.SubjectId != null, t => t.VisitTask.SubjectId == inQuery.SubjectId)
.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.SiteId != null, t => t.VisitTask.Subject.SiteId == inQuery.SiteId)
.WhereIf(!string.IsNullOrEmpty(inQuery.SubjectCode), t => t.VisitTask.Subject.Code.Contains(inQuery.SubjectCode))
.WhereIf(inQuery.Id != null, t => t.Id != inQuery.Id)
@ -210,9 +220,11 @@ namespace IRaCIS.Core.Application.Service
.WhereIf(inQuery.IsInvalid != null, t => t.IsInvalid == inQuery.IsInvalid)
.WhereIf(inQuery.IsGetBeRead,x=>!x.IsInvalid&&x.AuditState!= MedicalReviewAuditState.HaveSigned)
.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);
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
{

View File

@ -795,7 +795,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}).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
)
.Select(x => x.RowId).Distinct().ToListAsync();
@ -1213,7 +1214,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
break;
case SplitOrMergeType.MergeMain:
case SplitOrMergeType.MergeMained:
x.SplitOrMergeType = SplitOrMergeType.MergeMain;
x.SplitOrMergeType = SplitOrMergeType.MergeMained;
break;
default:
x.SplitOrMergeType = null;

View File

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