diff --git a/IRaCIS.Core.API/Controllers/ExtraController.cs b/IRaCIS.Core.API/Controllers/ExtraController.cs index 08f00f072..2438d8199 100644 --- a/IRaCIS.Core.API/Controllers/ExtraController.cs +++ b/IRaCIS.Core.API/Controllers/ExtraController.cs @@ -205,6 +205,8 @@ namespace IRaCIS.Api.Controllers var token = decodeUrl.Substring(decodeUrl.IndexOf("access_token=") + "access_token=".Length); + var lang = decodeUrl.Substring(decodeUrl.IndexOf("lang=") + "lang=".Length, 2); + var domainStrList = decodeUrl.Split("/").ToList().Take(3).ToList(); var errorUrl = domainStrList[0]+"//"+ domainStrList[2]+ "/error"; @@ -212,7 +214,7 @@ namespace IRaCIS.Api.Controllers if (!await _userRepository.AnyAsync(t => t.Id == Guid.Parse(userId) && t.EmailToken == token && t.IsFirstAdd)) { - decodeUrl = errorUrl+ $"?ErrorMessage={System.Web.HttpUtility.UrlEncode("您的初始化链接已过期")} "; + decodeUrl = errorUrl+ $"?ErrorMessage={System.Web.HttpUtility.UrlEncode(lang=="zh"? "您的初始化链接已过期": "Error!The initialization link has expired. Return")} "; } return Redirect(decodeUrl); diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index ff4e9f236..7119001bb 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -383,35 +383,43 @@ namespace IRaCIS.Application.Services } - Expression> visitTaskLambda = x => x.TrialId == trialId && x.SubjectId == subjectId && x.TrialReadingCriterionId == trialReadingCritrialId; - - - - - //维护 IsFrontTaskNeedSignButNotSign 在添加任务哪里用触发器也维护了 - var visitTaskIdQueryable = _visitTaskRepository.Where(visitTaskLambda) //该Subject 该标准的任务 - //小于自己任务号的任务 存在需要签名 但是没签名 - .Where(t => t.Subject.SubjectVisitTaskList.AsQueryable().Where(visitTaskLambda).Any(c => c.IsNeedClinicalDataSign == true && c.IsClinicalDataSign == false && c.VisitTaskNum < t.VisitTaskNum) - && t.IsFrontTaskNeedSignButNotSign == false ) - .Select(t => t.Id); - - await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => visitTaskIdQueryable.Contains(t.Id), u => new VisitTask() + //有序阅片才维护 IsFrontTaskNeedSignButNotSign 这个状态 + if (_readingQuestionCriterionTrialRepository.Any(t=>t.Id==trialReadingCritrialId && t.IsReadingTaskViewInOrder == true)) { - IsFrontTaskNeedSignButNotSign = true - }); + + + Expression> visitTaskLambda = x => x.TrialId == trialId && x.SubjectId == subjectId && x.TrialReadingCriterionId == trialReadingCritrialId; + + + //维护 IsFrontTaskNeedSignButNotSign 在添加任务哪里用触发器也维护了 + var visitTaskIdQueryable = _visitTaskRepository.Where(visitTaskLambda) //该Subject 该标准的任务 + //小于自己任务号的任务 存在需要签名 但是没签名 + .Where(t => t.Subject.SubjectVisitTaskList.AsQueryable().Where(visitTaskLambda).Any(c => c.IsNeedClinicalDataSign == true && c.IsClinicalDataSign == false && c.VisitTaskNum < t.VisitTaskNum) + && t.IsFrontTaskNeedSignButNotSign == false) + .Select(t => t.Id); + + await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => visitTaskIdQueryable.Contains(t.Id), u => new VisitTask() + { + IsFrontTaskNeedSignButNotSign = true + }); - var visitTaskIdQueryable2 = _visitTaskRepository.Where(visitTaskLambda) //该Subject 该标准的任务 - //小于自己任务号的任务 存在需要签名 但是没签名 - .Where(t => !t.Subject.SubjectVisitTaskList.AsQueryable().Where(visitTaskLambda).Any(c => c.IsNeedClinicalDataSign == true && c.IsClinicalDataSign == false && c.VisitTaskNum < t.VisitTaskNum) - && t.IsFrontTaskNeedSignButNotSign == true ) - .Select(t => t.Id); + var visitTaskIdQueryable2 = _visitTaskRepository.Where(visitTaskLambda) //该Subject 该标准的任务 + //小于自己任务号的任务 存在需要签名 但是没签名 + .Where(t => !t.Subject.SubjectVisitTaskList.AsQueryable().Where(visitTaskLambda).Any(c => c.IsNeedClinicalDataSign == true && c.IsClinicalDataSign == false && c.VisitTaskNum < t.VisitTaskNum) + && t.IsFrontTaskNeedSignButNotSign == true) + .Select(t => t.Id); - await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => visitTaskIdQueryable2.Contains(t.Id), u => new VisitTask() - { - IsFrontTaskNeedSignButNotSign = false - }); + await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => visitTaskIdQueryable2.Contains(t.Id), u => new VisitTask() + { + IsFrontTaskNeedSignButNotSign = false + }); + + + } + + }