diff --git a/IRaCIS.Core.Application/Resources/en-US.json b/IRaCIS.Core.Application/Resources/en-US.json
index 4cb655ec8..70d24362f 100644
--- a/IRaCIS.Core.Application/Resources/en-US.json
+++ b/IRaCIS.Core.Application/Resources/en-US.json
@@ -11,6 +11,7 @@
"ReadingImage_CantSplit": "The current read is a baseline read, and lesion split is not allowed.",
"ReadingImage_BeSigned": "The current read has already been signed off. Please do not submit it again.",
"ReadingImage_Beinvalid": "The current read has already been invalidated, and reading is not allowed anymore.",
+ "ReadingImage_PresenceReview": "The current subject has a review request that has not been processed and is not allowed to operate",
"ReadingImage_NotaTask": "The coalesced lesions are not from the same timepoint. ",
"ReadingImage_DeleteError": "Other lesions have split from or coalesced into the current lesion. Deletion failed.",
"ReadingImage_Idnotcorrespond": "Failed to add the lesion mark. The Instance ID and Series ID of the image do not match.",
@@ -52,8 +53,6 @@
"Repository_DeleteError": "Deleted data does not exist in the database.",
-
-
// ------------------------------------------------------------Allocation--------------------------------------------------------------------
//TaskAllocationRuleService
"TaskAllocation_DoctorIdNotFound": "Error, the doctor is account Id was not found in the enrollment table.",
diff --git a/IRaCIS.Core.Application/Resources/zh-CN.json b/IRaCIS.Core.Application/Resources/zh-CN.json
index c413f4073..c148776bb 100644
--- a/IRaCIS.Core.Application/Resources/zh-CN.json
+++ b/IRaCIS.Core.Application/Resources/zh-CN.json
@@ -10,6 +10,7 @@
"ReadingImage_CantSplit": "当前任务是基线任务,不能执行分裂病灶的操作。",
"ReadingImage_BeSigned": "当前任务已经签名,请勿重复提交。",
"ReadingImage_Beinvalid": "当前任务已失效,不能执行阅片。",
+ "ReadingImage_PresenceReview": "当前受试者存在重阅申请还未处理,不允许操作",
"ReadingImage_NotaTask": "合并的病灶并非同一个访视任务",
"ReadingImage_DeleteError": "当前病灶分裂出其他病灶或者其他病灶合并到了当前病灶,删除失败。",
"ReadingImage_Idnotcorrespond": "病灶标记添加失败,影像的Instance ID和Series ID不对应。",
@@ -51,7 +52,6 @@
"Repository_DeleteError": "删除的数据在数据库不存在。",
-
// ------------------------------------------------------------Allocation--------------------------------------------------------------------
//TaskAllocationRuleService
"TaskAllocation_DoctorIdNotFound": "错误,未在入组表中找到该医生的账号Id",
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
index 41896725d..0104ae196 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
@@ -569,6 +569,8 @@ namespace IRaCIS.Application.Services
///
private async Task VerifyTaskIsSign(Guid visitTaskid)
{
+ var taskInfo = await _visitTaskRepository.Where(x => x.Id == visitTaskid).FirstNotNullAsync();
+
if (await _visitTaskRepository.AnyAsync(x => x.Id == visitTaskid && x.ReadingTaskState == ReadingTaskState.HaveSigned))
{
throw new BusinessValidationFailedException(_localizer["ReadingImage_BeSigned"]);
@@ -579,6 +581,17 @@ namespace IRaCIS.Application.Services
{
throw new BusinessValidationFailedException(_localizer["ReadingImage_Beinvalid"]);
}
+
+ if (await _visitTaskRepository.AnyAsync(x => x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId
+ &&x.IsAnalysisCreate&&taskInfo.IsAnalysisCreate
+ &&x.SubjectId== taskInfo.SubjectId&&x.TaskState==TaskState.Effect&&
+ ((x.ReReadingApplyState==ReReadingApplyState.DocotorHaveApplyed && x.DoctorUserId == taskInfo.DoctorUserId)|| x.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed)
+
+ ))
+ {
+ throw new BusinessValidationFailedException(_localizer["ReadingImage_PresenceReview"]);
+ }
+
}
@@ -2063,7 +2076,7 @@ namespace IRaCIS.Application.Services
var isConvertedTask = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x=>x.IsConvertedTask).FirstNotNullAsync();
- if (await _readingTableAnswerRowInfoRepository.AnyAsync(x => x.ReadingQuestionTrial.LesionType == LesionType.NewLesions && x.VisitTaskId == inDto.VisitTaskId))
+ if (isConvertedTask&&(await _readingTableAnswerRowInfoRepository.AnyAsync(x => x.ReadingQuestionTrial.LesionType == LesionType.NewLesions && x.VisitTaskId == inDto.VisitTaskId)))
{
throw new BusinessValidationFailedException(_localizer["ReadingImage_NotNewFocus"]);
}
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs
index 7f3579e0d..0b6782622 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs
@@ -1574,7 +1574,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
#endregion
-
+ ///
+ /// 获取新靶病灶评估
+ ///
+ ///
+ ///
public async Task GetNewTargetLesionEvaluate(ReadingCalculateDto inDto)
{
var tableQuestion = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NewTargetLesion).SelectMany(x => x.TableRowInfoList).ToList();
diff --git a/后端提示语.xlsx b/后端提示语.xlsx
index ccb26eee1..12a5f5a5c 100644
Binary files a/后端提示语.xlsx and b/后端提示语.xlsx differ