diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index d746a8065..ca21f055c 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -1551,6 +1551,11 @@
阅片计算Dto
+
+
+ TrialReadingCriterionId
+
+
是否修改其他任务
@@ -8144,35 +8149,16 @@
阅片问题.标准
-
+
- 获取疗效对照
+ 获取标准字典
+
-
+
- 获取疗效对照
-
-
-
-
-
- 新增修改疗效对照
-
-
-
-
-
-
- 删除疗效对照
-
-
-
-
-
-
- 复制一个系统标准到另一系统标准
+ 设置标准字典
@@ -8183,104 +8169,6 @@
-
-
- 获取系统的表格问题
-
-
-
-
-
-
- 获取项目的表格问题
-
-
-
-
-
-
- 新增修改系统表格问题
-
-
-
-
-
-
- 新增修改想想项目表格问题
-
-
-
-
-
-
- 删除项目表格问题
-
-
-
-
-
-
- 删除系统表格问题
-
-
-
-
-
-
- 获取项目表格其他问题
-
-
-
-
-
-
- 获取系统表格其他问题
-
-
-
-
-
-
- 设置项目裁判信息
-
-
-
-
-
-
- 验证是否要同步标准
-
-
-
-
-
-
- 同步标准到项目新(2022-08-10)
-
-
-
-
-
-
- 获取项目裁判信息
-
-
-
-
-
-
- 新增修改项目标准分页
-
-
-
-
-
-
- 删除标准分页
-
-
-
-
获取系统问题标准
@@ -8293,27 +8181,6 @@
-
-
- 设置系统问题标准是否完成配置
-
-
-
-
-
-
- 更改项目标准(老)
-
-
-
-
-
-
- 更改项目标准(新)
-
-
-
-
新增修改系统问题标准
@@ -8328,59 +8195,20 @@
-
+
- 新增修改系统问题
-
-
-
-
-
-
- 获取系统问题
-
-
-
-
-
- 获取系统标准的其他问题
+ 设置系统问题标准是否完成配置
-
+
- 删除系统问题
+ 获取项目裁判信息
-
+
-
-
- 添加系统数据到项目里面
-
-
-
-
-
- 设置父子关系
-
- 项目标准ID
- 项目Id
- 系统问题
- 需要添加list
-
-
-
- 递归处理父子关系
-
-
-
-
-
-
-
-
新增修改项目问题标准(项目)
@@ -8408,6 +8236,75 @@
+
+
+ 设置项目裁判信息
+
+
+
+
+
+
+ 获取系统问题分组
+
+
+
+
+
+
+ 获取系统问题
+
+
+
+
+
+ 获取系统标准的其他问题
+
+
+
+
+
+
+ 新增修改系统问题
+
+
+
+
+
+
+ 删除系统问题
+
+
+
+
+
+
+ 获取系统的表格问题
+
+
+
+
+
+
+ 获取系统表格其他问题
+
+
+
+
+
+
+ 新增修改系统表格问题
+
+
+
+
+
+
+ 删除系统表格问题
+
+
+
+
新增修改项目问题(项目)
@@ -8442,13 +8339,135 @@
-
+
- 获取系统问题分组
+ 获取项目的表格问题
+
+
+ 获取项目表格其他问题
+
+
+
+
+
+
+ 新增修改想想项目表格问题
+
+
+
+
+
+
+ 删除项目表格问题
+
+
+
+
+
+
+ 新增修改项目标准分页
+
+
+
+
+
+
+ 删除标准分页
+
+
+
+
+
+
+ 获取疗效对照
+
+
+
+
+
+ 获取疗效对照
+
+
+
+
+
+ 新增修改疗效对照
+
+
+
+
+
+
+ 删除疗效对照
+
+
+
+
+
+
+ 复制一个系统标准到另一系统标准
+
+
+
+
+
+
+ 同步标准到项目新(2022-08-10)
+
+
+
+
+
+
+ 更改项目标准(老)
+
+
+
+
+
+
+ 更改项目标准(新)
+
+
+
+
+
+
+ 验证是否要同步标准
+
+
+
+
+
+
+ 添加系统数据到项目里面
+
+
+
+
+
+ 设置父子关系
+
+ 项目标准ID
+ 项目Id
+ 系统问题
+ 需要添加list
+
+
+
+ 递归处理父子关系
+
+
+
+
+
+
+
+
Dashboard统计、全局工作量统计、入组两个维度统计(按照项目、按照人)
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
index 2ce58b99c..79039f051 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
@@ -90,7 +90,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public List DictionaryIds { get; set; }
- public bool IsSystemCriterion { get; set; } = true;
}
public class GetAssessTypeInDto
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs
index 82b58b276..f20528fcf 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs
@@ -117,7 +117,7 @@ namespace IRaCIS.Application.Services
{
CriterionId = inDto.CriterionId,
DictionaryId = x,
- IsSystemCriterion = inDto.IsSystemCriterion,
+ IsSystemCriterion = true,
ParentCode = inDto.ParentCode
}));
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
index 8945eb58a..7d5bc7a00 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
@@ -397,6 +397,9 @@ namespace IRaCIS.Core.Application.Contracts
public bool? IsArbitrationReading { get; set; }
+ public List GlobalAssessTypeIds { get; set; }
+
+
/////
///// 阅片模式
/////
@@ -721,6 +724,8 @@ namespace IRaCIS.Core.Application.Contracts
public bool IsSign { get; set; }
+ public List GlobalAssessTypeIds { get; set; }
+
///
/// 评估结果
///
@@ -759,6 +764,9 @@ namespace IRaCIS.Core.Application.Contracts
{
public Guid TrialReadingCriterionId { get; set; }
+
+ public List GlobalAssessTypeIds { get; set; }
+
///
/// 表单类型
///
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
index c5cb766c0..97a4f9206 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
@@ -28,6 +28,7 @@ namespace IRaCIS.Core.Application
private readonly IEasyCachingProvider _provider;
private readonly IOrganInfoService _iOrganInfoService;
private readonly IRepository _taskAllocationRuleRepository;
+ private readonly IRepository _readingCriterionDictionaryRepository;
private readonly IReadingQuestionService iReadingQuestionService;
public TrialConfigService(IRepository trialRepository,
@@ -37,6 +38,7 @@ namespace IRaCIS.Core.Application
IRepository clinicalDataTrialSetRepository,
IRepository readingCriterionPageRepository,
IRepository taskAllocationRuleRepository,
+ IRepository readingCriterionDictionaryRepository,
IReadingQuestionService iReadingQuestionService,
IEasyCachingProvider provider,
IOrganInfoService iOrganInfoService
@@ -44,6 +46,7 @@ namespace IRaCIS.Core.Application
{
_trialRepository = trialRepository;
_taskAllocationRuleRepository = taskAllocationRuleRepository;
+ this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
this.iReadingQuestionService = iReadingQuestionService;
this._trialQCQuestionRepository = trialQCQuestionRepository;
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
@@ -134,6 +137,9 @@ namespace IRaCIS.Core.Application
public async Task GetCriterionReadingInfo(GetTrialReadingInfoInDto inDto)
{
GetTrialReadingInfoOutDto trialInfo= await _readingQuestionCriterionTrialRepository.Where(x=>x.Id==inDto.TrialReadingCriterionId).ProjectTo(_mapper.ConfigurationProvider).FirstNotNullAsync();
+
+ trialInfo.GlobalAssessTypeIds = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == "GlobalAssessType").Select(x => x.DictionaryId).ToListAsync();
+
return trialInfo;
}
@@ -152,6 +158,7 @@ namespace IRaCIS.Core.Application
return new GetOncologySetOutDto
{
+
EvaluationReason = trialCriterion.EvaluationReason.IsNullOrEmpty()? ReadingCommon.EvaluationReason : trialCriterion.EvaluationReason,
EvaluationResult= trialCriterion.EvaluationResult,
IsShowDetail=trialCriterion.IsShowDetail,
@@ -300,10 +307,20 @@ namespace IRaCIS.Core.Application
{
FormType = inDto.FormType,
DigitPlaces = inDto.DigitPlaces,
-
-
});
+
+ await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == "GlobalAssessType");
+
+ await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessTypeIds.Select(x => new ReadingCriterionDictionary
+ {
+ CriterionId = inDto.TrialReadingCriterionId,
+ DictionaryId = x,
+ IsSystemCriterion = false,
+ ParentCode = "GlobalAssessType"
+ }));
+
+
var result = await _trialRepository.SaveChangesAsync();