Uat_Study
he 2023-07-18 16:35:31 +08:00
parent 1f7fe0d854
commit 4e777e05db
4 changed files with 24 additions and 3 deletions

View File

@ -2791,6 +2791,16 @@
模块名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.CRCConfirmClinicalInDto.IsClinicalDataComplete">
<summary>
临床数据是否完整
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.CRCConfirmClinicalInDto.IsClinicalDataBlind">
<summary>
临床数据是否盲化
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.CRCClinicalForm.SubjectId">
<summary>
受试者Id

View File

@ -515,6 +515,11 @@ namespace IRaCIS.Core.Application.Service
[HttpPost]
public async Task<PageOutput<GetCRCConfirmListOutDto>> GetCRCConfirmList(GetCRCConfirmListInDto inDto)
{
if (inDto.ReadModuleId != null)
{
var readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadModuleId).FirstNotNullAsync();
inDto.TrialReadingCriterionId = readModule.TrialReadingCriterionId;
}
var query = _readModuleRepository.Where(x => x.TrialId == inDto.TrialId)
.WhereIf(inDto.ReadModuleId != null, x => x.Id == inDto.ReadModuleId)
.WhereIf(inDto.IsCRCConfirm != null, x => x.IsCRCConfirm == inDto.IsCRCConfirm)
@ -819,7 +824,7 @@ namespace IRaCIS.Core.Application.Service
var presentData = dataList.Where(x => x.ReadModuleId == inDto.ReadModuleId).First();
if (dataList.Any(x => x.IsPMConfirm && x.LatestScanDate > presentData.LatestScanDate && x.ReadingSetType == presentData.ReadingSetType))
if (dataList.Any(x => x.IsCRCConfirm && x.LatestScanDate > presentData.LatestScanDate && x.ReadingSetType == presentData.ReadingSetType))
{
throw new BusinessValidationFailedException("当前数据并非最后一条确认信息,无法取消!");
}

View File

@ -257,6 +257,10 @@ namespace IRaCIS.Core.Application.Contracts
public int? ToBeDealedCount { get; set; }
public int? ToAllCount { get; set; }
public int? ToBeVisitCount { get; set; }
public int? ReadModuleCount { get; set; }
}

View File

@ -441,8 +441,10 @@ namespace IRaCIS.Core.Application
TrialCode = t.TrialCode,
UrgentCount = t.SubjectVisitList.Where(u => u.IsBaseLine && u.SubmitState != SubmitStateEnum.Submitted && u.IsUrgent).Count(),
ToBeDealedCount = t.ReadingClinicalDataList.Where(x=>!x.IsSign&& x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC && x.ClinicalDataTrialSet.ClinicalDataLevel != ClinicalLevel.SubjectVisit).Count(),
ReadModuleCount=t.ReadModuleList.Where(x=>!x.IsPMConfirm).Count(),
}).Where(x=>x.ToBeDealedCount>0|| x.ReadModuleCount > 0);
ToBeVisitCount= t.ReadingClinicalDataList.Where(x => !x.IsSign && x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC && x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.SubjectVisit).Count(),
ToAllCount= t.ReadingClinicalDataList.Where(x => !x.IsSign && x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC ).Count(),
ReadModuleCount =t.ReadModuleList.Where(x=>!x.IsPMConfirm).Count(),
}).Where(x=>x.ToAllCount > 0);
var result = await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrEmpty(inQuery.SortField) ? nameof(ImageClinicalDataToBeDoneDto.TrialId) : inQuery.SortField, inQuery.Asc);