From 4e777e05dbe7b0d44ca6d5d6dee690f1e3a1b524 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Tue, 18 Jul 2023 16:35:31 +0800
Subject: [PATCH] S-80
---
IRaCIS.Core.Application/IRaCIS.Core.Application.xml | 10 ++++++++++
.../Reading/ClinicalData/ClinicalAnswerService.cs | 7 ++++++-
.../TrialSiteUser/DTO/PersonalWorkstationViewModel.cs | 4 ++++
.../Service/TrialSiteUser/PersonalWorkstation.cs | 6 ++++--
4 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 68e3841c2..5f2106e63 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -2791,6 +2791,16 @@
模块名称
+
+
+ 临床数据是否完整
+
+
+
+
+ 临床数据是否盲化
+
+
受试者Id
diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs
index b5531c3ad..9588f5ace 100644
--- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs
@@ -515,6 +515,11 @@ namespace IRaCIS.Core.Application.Service
[HttpPost]
public async Task> 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("当前数据并非最后一条确认信息,无法取消!");
}
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs
index 2bdfd6ff9..f8d22c930 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs
@@ -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; }
}
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs
index 9e8e8eded..2af9ed5ad 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs
@@ -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);