diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 892a3ca17..18a546798 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -2965,6 +2965,16 @@
评估结果
+
+
+ 字典code
+
+
+
+
+ 问题类型
+
+
项目ID
@@ -3265,6 +3275,16 @@
整体疗效
+
+
+ IsBaseUse
+
+
+
+
+ IsBaseUse
+
+
表格问题类型
@@ -4521,6 +4541,20 @@
+
+
+ 修改是否是随访使用
+
+
+
+
+
+
+ 修改是否是基线使用
+
+
+
+
获取标准字典
@@ -7242,7 +7276,7 @@
-
+
获取所有下拉框 枚举 bool 数据
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
index 9de059254..3c82e7933 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
@@ -56,6 +56,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
public QuestionType? QuestionType { get; set; }
+ ///
+ /// 病灶类型
+ ///
+ public LesionType? LesionType { get; set; }
+
public string GroupName { get; set; }
public string QuestionName { get; set; }
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs
index d7f7958cf..6d921de4c 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs
@@ -582,6 +582,17 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string Answer { get; set; }
+
+ ///
+ /// 字典code
+ ///
+ public string DictionaryCode { get; set; } = string.Empty;
+
+ ///
+ /// 问题类型
+ ///
+ public TableQuestionType? QuestionGenre { get; set; }
+
}
}
diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs
index 20c1b1781..de5f38e23 100644
--- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs
@@ -115,12 +115,15 @@ namespace IRaCIS.Core.Application.Service
{
Answer=y.Answer,
QuestionName=y.ReadingQuestionTrial.QuestionName,
+ DictionaryCode=y.ReadingQuestionTrial.DictionaryCode,
+ QuestionGenre=y.ReadingQuestionTrial.QuestionGenre,
}).ToList() : x.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.IsJudgeQuestion).Select(y => new JudgeQuestionAnswerInfo()
{
Answer = y.Answer,
QuestionName = y.ReadingQuestionTrial.QuestionName,
-
+ DictionaryCode = y.ReadingQuestionTrial.DictionaryCode,
+ QuestionGenre = y.ReadingQuestionTrial.QuestionGenre,
}).ToList()
}).ToListAsync();
@@ -161,12 +164,14 @@ namespace IRaCIS.Core.Application.Service
{
Answer = y.Answer,
QuestionName = y.ReadingQuestionTrial.QuestionName,
-
+ DictionaryCode = y.ReadingQuestionTrial.DictionaryCode,
+ QuestionGenre = y.ReadingQuestionTrial.QuestionGenre,
}).ToList() : x.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.IsJudgeQuestion).Select(y => new JudgeQuestionAnswerInfo()
{
Answer = y.Answer,
QuestionName = y.ReadingQuestionTrial.QuestionName,
-
+ DictionaryCode = y.ReadingQuestionTrial.DictionaryCode,
+ QuestionGenre = y.ReadingQuestionTrial.QuestionGenre,
}).ToList()
}).ToListAsync();
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs
index 7f69ccdb0..7b38c2ed7 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs
@@ -92,7 +92,6 @@ namespace IRaCIS.Application.Services
{
GlobalTaskId = inDto.VisitTaskId,
ReadingTaskState = taskInfo.ReadingTaskState,
- GlobalUpdateType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == taskInfo.TrialReadingCriterionId).Select(x => x.GlobalUpdateType).FirstOrDefaultAsync(),
};
@@ -201,10 +200,13 @@ namespace IRaCIS.Application.Services
});
-
+ var subjectVisitId = await _readModuleRepository.Where(x => x.Id == taskInfo.SouceReadModuleId).Select(x => x.SubjectVisitId).FirstOrDefaultAsync();
+ var isBaseLine = await _subjectVisitRepository.Where(x => x.Id == subjectVisitId).Select(x => x.IsBaseLine).FirstOrDefaultAsync();
List assessTypeList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == taskInfo.TrialReadingCriterionId
&& x.ParentCode == ReadingCommon.GlobalAssess
)
+ .WhereIf(isBaseLine,x=>x.IsBaseLineUse)
+ .WhereIf(!isBaseLine,x=>x.IsFollowVisitUse)
.Select(x => new GetAssessTypeOutDto()
{
Id = x.Id,
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
index 709e69df3..80e44e032 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
@@ -387,7 +387,8 @@ namespace IRaCIS.Application.Services
IsShowInDicom = x.IsShowInDicom,
Type = x.Type,
QuestionType=x.QuestionType,
- QuestionGenre=x.QuestionGenre,
+ LesionType=x.LesionType,
+ QuestionGenre =x.QuestionGenre,
DictionaryCode =x.DictionaryCode,
TypeValue = x.TypeValue,
QuestionName = x.QuestionName,
@@ -406,7 +407,7 @@ namespace IRaCIS.Application.Services
QuestionId = x.Id,
IsShowInDicom = x.IsShowInDicom,
QuestionName = x.QuestionName,
-
+ LesionType = x.LesionType,
QuestionGenre = x.QuestionGenre,
DictionaryCode = x.DictionaryCode,
Type = x.Type,
@@ -445,7 +446,8 @@ namespace IRaCIS.Application.Services
QuestionName = question.OrderMark + x.RowIndex.GetLesionMark(),
SplitOrMergeLesionName = x.MergeName.IsNullOrEmpty() ? x.SplitName : x.MergeName,
SplitOrMergeType = x.SplitOrMergeType,
- IsCanEditPosition=x.IsCanEditPosition,
+ LesionType = question.LesionType,
+ IsCanEditPosition =x.IsCanEditPosition,
RowIndex =x.RowIndex,
}).ToList();
@@ -459,6 +461,7 @@ namespace IRaCIS.Application.Services
QuestionId = x.ReadingQuestionId,
TableQuestionId = x.Id,
Type = x.Type,
+ LesionType = x.ReadingQuestionTrial.LesionType,
TableQuestionType = x.TableQuestionType,
DictionaryCode = x.DictionaryCode,
QuestionMark = x.QuestionMark,
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
index 002a0b116..66618c3e4 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
@@ -187,18 +187,16 @@ namespace IRaCIS.Core.Application
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
- if ((!await _readingCriterionDictionaryRepository.AnyAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == ReadingCommon.GlobalAssess)) && trialCriterion.ReadingQuestionCriterionSystemId != null)
+ if (trialCriterion.ReadingQuestionCriterionSystemId != null)
{
- await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == ReadingCommon.GlobalAssess);
- var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value && x.ParentCode == ReadingCommon.GlobalAssess).
- Select(x => new ReadingCriterionDictionary()
- {
- CriterionId = trialCriterion.Id,
- DictionaryId = x.DictionaryId,
- IsSystemCriterion = false,
- ParentCode = x.ParentCode,
-
- }).ToListAsync();
+ await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id);
+ var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value)
+ .ToListAsync();
+ criterionDictionaryList.ForEach(x => {
+ x.Dictionary = null;
+ x.IsSystemCriterion = false;
+ x.CriterionId = inDto.TrialReadingCriterionId;
+ });
await _readingCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
await _readingCriterionDictionaryRepository.SaveChangesAsync();
@@ -224,18 +222,16 @@ namespace IRaCIS.Core.Application
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
- if ((!await _readingCriterionDictionaryRepository.AnyAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == ReadingCommon.OncologyAssess)) && trialCriterion.ReadingQuestionCriterionSystemId != null)
+ if (trialCriterion.ReadingQuestionCriterionSystemId != null)
{
- await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == ReadingCommon.OncologyAssess);
- var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value && x.ParentCode == ReadingCommon.OncologyAssess).
- Select(x => new ReadingCriterionDictionary()
- {
- CriterionId = trialCriterion.Id,
- DictionaryId = x.DictionaryId,
- IsSystemCriterion = false,
- ParentCode = x.ParentCode,
-
- }).ToListAsync();
+ await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id);
+ var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value)
+ .ToListAsync();
+ criterionDictionaryList.ForEach(x => {
+ x.Dictionary = null;
+ x.IsSystemCriterion = false;
+ x.CriterionId = inDto.TrialReadingCriterionId;
+ });
await _readingCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
await _readingCriterionDictionaryRepository.SaveChangesAsync();