diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 21ba2f0ce..906800b7f 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -1312,6 +1312,13 @@
+
+
+ 获取阅片的计算数据
+
+
+
+
将上一次的访视病灶添加到这一次
@@ -1352,6 +1359,13 @@
+
+
+ 获取阅片的计算数据
+
+
+
+
获取Sod的值
@@ -1725,6 +1739,13 @@
+
+
+ 获取阅片的计算数据
+
+
+
+
获取Sod的值
@@ -2177,6 +2198,13 @@
+
+
+ 获取阅片的计算数据
+
+
+
+
删除病灶获取起始病灶序号
@@ -2276,6 +2304,13 @@
+
+
+ 获取阅片的计算数据
+
+
+
+
获取Sod的值
@@ -2520,6 +2555,13 @@
+
+
+ 获取阅片的计算数据
+
+
+
+
获取Sod的值
@@ -2824,6 +2866,13 @@
+
+
+ 获取阅片的计算数据
+
+
+
+
删除病灶获取起始病灶序号
@@ -2908,6 +2957,13 @@
+
+
+ 获取阅片的计算数据
+
+
+
+
获取ReadingCalculateDto
@@ -2980,6 +3036,13 @@
+
+
+ 获取阅片的计算数据
+
+
+
+
SubjectCriteriaEvaluationService
@@ -4979,6 +5042,11 @@
任务Id
+
+
+ 任务Id
+
+
任务Id
@@ -13368,6 +13436,13 @@
+
+
+ 获取阅片的计算数据
+
+
+
+
提交自定义标记
diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs
index b0de77951..6a7801e43 100644
--- a/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs
@@ -72,9 +72,10 @@ namespace IRaCIS.Core.Application.Service
.WhereIf(inQuery.DoctorUserIdeaEnum != null, t => t.DoctorUserIdeaEnum == inQuery.DoctorUserIdeaEnum)
.WhereIf(inQuery.TrialReadingCriterionId != null, t => t.VisitTask.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)
- .ProjectTo(_mapper.ConfigurationProvider);
+ .OrderBy(x => x.AuditState).ThenBy(x => x.VisitTask.SubjectId).ThenBy(x => x.VisitTask.ArmEnum).ThenBy(x => x.VisitTask.VisitTaskNum)
+ .ProjectTo(_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 pageList;
}
@@ -220,7 +221,7 @@ 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)
+ .OrderBy(x=>x.AuditState).ThenBy(x=>x.VisitTask.SubjectId).ThenBy(x=>x.VisitTask.ArmEnum).ThenBy(x=>x.VisitTask.VisitTaskNum)
.ProjectTo(_mapper.ConfigurationProvider);
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
index eea0729f1..a97afcfed 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
@@ -434,7 +434,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid VisitTaskId { get; set; }
}
- public class ReadingCustomTagDto
+ public class GetReadingCalculationDataInDto
+ {
+ ///
+ /// 任务Id
+ ///
+ public Guid VisitTaskId { get; set; }
+ }
+
+ public class ReadingCustomTagDto
{
public Guid? Id { get; set; }
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs
index 763e4b7f9..f6f47de0d 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs
@@ -89,7 +89,6 @@ namespace IRaCIS.Core.Application.ViewModel
public class TrialDataFromSystem : ReadingMedicineTrialQuestion
{
- public Guid SystemQuestionId { get; set; }
}
@@ -100,7 +99,7 @@ namespace IRaCIS.Core.Application.ViewModel
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
- public bool IsEnglish { get; set; }
+ public LanguageType LanguageType { get; set; }
}
public class AddTrialDataFromSystemInDto
diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs
index 4432c0499..f8ed6ee3a 100644
--- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs
@@ -180,9 +180,11 @@ namespace IRaCIS.Core.Application.Service
var questionList = await query.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, inDto.SortField, inDto.Asc);
return (questionList, new
{
+
IsConfirmMedicineQuestion = isConfirmMedicineQuestion,
- //QuestionCount = questionList.Count(),
- });
+ LanguageType=(await _readingMedicineTrialQuestionRepository.FirstOrDefaultAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId&& x.SystemQuestionId != null))?.LanguageType,
+ //QuestionCount = questionList.Count(),
+ });
}
@@ -501,9 +503,13 @@ namespace IRaCIS.Core.Application.Service
[HttpPost]
public async Task AddDefaultQuestions(AddDefaultQuestionsInDto inDto)
{
- if (await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId))
+ if (await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.LanguageType == inDto.LanguageType && x.SystemQuestionId != null))
{
- throw new BusinessValidationFailedException(_localizer["Medicine_ExistsMedicineQuestion"]);
+ await _readingMedicineTrialQuestionRepository.BatchDeleteNoTrackingAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.LanguageType == inDto.LanguageType && x.SystemQuestionId != null);
+ }
+ else
+ {
+ await _readingMedicineTrialQuestionRepository.BatchDeleteNoTrackingAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.LanguageType != inDto.LanguageType);
}
var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
List needAddCategory = new List() { ReadingCategory.Visit };
@@ -522,12 +528,11 @@ namespace IRaCIS.Core.Application.Service
var maxOrder = await _readingMedicineTrialQuestionRepository.Where(x => x.TrialId == inDto.TrialId && x.TrialReadingCriterionId == inDto.TrialReadingCriterionId).OrderByDescending(x => x.ShowOrder).Select(x => x.ShowOrder).FirstOrDefaultAsync();
List needList = await _readingMedicineSystemQuestionRepository
- .WhereIf(inDto.IsEnglish, x => x.LanguageType == LanguageType.English)
- .WhereIf(!inDto.IsEnglish, x => x.LanguageType == LanguageType.Chinese)
+ .Where(x=>x.LanguageType==inDto.LanguageType)
.Where(x => x.CriterionTypeEnum == criterionInfo.CriterionType && needAddCategory.Contains(x.ReadingCategory))
.Select(x => new TrialDataFromSystem()
{
- Id = NewId.NextGuid(),
+
ShowOrder = x.ShowOrder,
IsEnable = x.IsEnable,
LanguageType = x.LanguageType,
@@ -543,6 +548,7 @@ namespace IRaCIS.Core.Application.Service
}).ToListAsync();
needList.ForEach(x => {
+ x.Id = NewId.NextGuid();
maxOrder++;
x.ShowOrder = maxOrder;
});
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
index 4a3d9b81d..8ee67f3ea 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
@@ -150,12 +150,27 @@ namespace IRaCIS.Application.Services
this._trialEmailNoticeConfigService = trialEmailNoticeConfigService;
}
+ #region 计算
+
///
- /// 提交自定义标记
+ /// 获取阅片的计算数据
///
///
///
[HttpPost]
+ public async Task