diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
index fb7e9edad..b8fcd4d37 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
@@ -2586,34 +2586,34 @@ namespace IRaCIS.Application.Services
else
{
#region 两小时
- //var cacheDate = DateTime.Parse(value.ToString());
- //int timespanMin = (DateTime.Now - cacheDate).Minutes;
- //if (timespanMin > 120 && timespanMin < 130)
- //{
- // throw new BusinessValidationFailedException(_localizer["ReadingImage_NeedRest", 2, 20]);
- //}
- //else if (timespanMin > 130)
- //{
- // cacheDate = cacheDate.AddMinutes((Math.Floor((double)(timespanMin / 130))) * 130);
- // _provider.Set(cacheKey, cacheDate.ToString(), TimeSpan.FromHours(5));
- // // _cache.Set(cacheKey, cacheDate.ToString(), TimeSpan.FromHours(5));
+ var cacheDate = DateTime.Parse(value.ToString());
+ int timespanMin = (DateTime.Now - cacheDate).Minutes;
+ if (timespanMin > 120 && timespanMin < 130)
+ {
+ throw new BusinessValidationFailedException(_localizer["ReadingImage_NeedRest", 2, 10]);
+ }
+ else if (timespanMin > 130)
+ {
+ cacheDate = cacheDate.AddMinutes((Math.Floor((double)(timespanMin / 130))) * 130);
+ _provider.Set(cacheKey, cacheDate.ToString(), TimeSpan.FromHours(5));
+ // _cache.Set(cacheKey, cacheDate.ToString(), TimeSpan.FromHours(5));
- //}
+ }
#endregion
#region 测试用的5分钟
- var cacheDate = DateTime.Parse(value.ToString());
- int timespanMin = (DateTime.Now - cacheDate).Minutes;
- if (timespanMin >= 1 && timespanMin <= 100)
- {
- throw new BusinessValidationFailedException("您已连续阅片2个小时,请休息20分钟后,再继续阅片。");
- }
- else if (timespanMin > 10)
- {
- cacheDate = cacheDate.AddMinutes((Math.Floor((double)(timespanMin / 10))) * 10);
- _provider.Set(cacheKey, cacheDate.ToString(), TimeSpan.FromHours(5));
+ //var cacheDate = DateTime.Parse(value.ToString());
+ //int timespanMin = (DateTime.Now - cacheDate).Minutes;
+ //if (timespanMin >= 5 && timespanMin <= 10)
+ //{
+ // throw new BusinessValidationFailedException("您已连续阅片2个小时,请休息20分钟后,再继续阅片。");
+ //}
+ //else if (timespanMin > 10)
+ //{
+ // cacheDate = cacheDate.AddMinutes((Math.Floor((double)(timespanMin / 10))) * 10);
+ // _provider.Set(cacheKey, cacheDate.ToString(), TimeSpan.FromHours(5));
- }
+ //}
#endregion
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index 30f6a7723..a4e177246 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -12,6 +12,7 @@ using IRaCIS.Core.Infrastructure;
using MassTransit;
using System.Reflection.Metadata.Ecma335;
using System.Linq;
+using NPOI.SS.Formula.Functions;
namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
@@ -1769,36 +1770,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
}
-
-
- #region 最低
- var visitTaskIds = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
- x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
- x.IsAnalysisCreate == taskinfo.IsAnalysisCreate &&
- x.DoctorUserId == taskinfo.DoctorUserId &&
- x.IsSelfAnalysis == taskinfo.IsSelfAnalysis &&
- x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum
- && x.VisitTaskNum < taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect
- ).OrderByDescending(x => x.VisitTaskNum).Select(x => x.Id).ToListAsync();
-
- var questionId = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == taskinfo.TrialReadingCriterionId && x.QuestionType == QuestionType.SpleenLength).Select(x => x.Id).FirstNotNullAsync();
- var answerList = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)
- && x.ReadingQuestionTrialId == questionId )
- .Select(x => new
- {
- x.Answer,
- x.VisitTaskId,
- }).ToListAsync();
-
- var lowSpleenLength = answerList.Select(x => new
- {
- Answer = x.Answer.IsNullOrEmptyReturn0(),
- x.VisitTaskId
- }).OrderBy(x => x.Answer).Select(x=>x.Answer).FirstOrDefault();
- #endregion
- var result = SpleenAssessment.Stabilization;
+ var lowSpleenLength = await this.GetLowSpleenLength(taskinfo);
+
+
+ var result = SpleenAssessment.Stabilization;
var presentSpd = spleenLength;
@@ -1857,15 +1834,97 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
return result.GetEnumInt();
}
#endregion
+
+ ///
+ /// 获取最低垂直径
+ ///
+ ///
+ private async Task GetLowSpleenLength(VisitTask taskinfo)
+ {
+ var visitTaskIds = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
+ x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
+ x.IsAnalysisCreate == taskinfo.IsAnalysisCreate &&
+ x.DoctorUserId == taskinfo.DoctorUserId &&
+ x.IsSelfAnalysis == taskinfo.IsSelfAnalysis &&
+ x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum
+ && x.VisitTaskNum < taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect
+ ).OrderByDescending(x => x.VisitTaskNum).Select(x => x.Id).ToListAsync();
- #region 获取脾脏评估
+ var questionId = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == taskinfo.TrialReadingCriterionId && x.QuestionType == QuestionType.SpleenLength).Select(x => x.Id).FirstNotNullAsync();
+ var answerList = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)
+ && x.ReadingQuestionTrialId == questionId)
+ .Select(x => new
+ {
+ x.Answer,
+ x.VisitTaskId,
+ }).ToListAsync();
+
+ var lowSpleenLength = answerList.Select(x => new
+ {
+ Answer = x.Answer.IsNullOrEmptyReturn0(),
+ x.VisitTaskId
+ }).OrderBy(x => x.Answer).Select(x => x.Answer).FirstOrDefault();
+
+ return lowSpleenLength;
+ }
///
- /// 获取脾脏评估
+ /// 获取脾脏验证
///
- ///
+ ///
+ ///
///
- public async Task GetSplenicEvaluation(ReadingCalculateDto inDto)
+ [HttpPost]
+ public async Task