From 153eefcc71aa9f5867aaa3f8aba39ce2094f9a70 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Fri, 30 Dec 2022 14:09:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Application/Resources/en-US.json | 8 +++-- IRaCIS.Core.Application/Resources/zh-CN.json | 6 ++-- .../DTO/TaskMedicalReviewViewModel.cs | 8 +++++ .../Allocation/TaskMedicalReviewService.cs | 35 ++++++++++++++++++- .../ReadingPeriod/ReadModuleService.cs | 1 + 5 files changed, 52 insertions(+), 6 deletions(-) diff --git a/IRaCIS.Core.Application/Resources/en-US.json b/IRaCIS.Core.Application/Resources/en-US.json index b47836909..b5b1b0a3c 100644 --- a/IRaCIS.Core.Application/Resources/en-US.json +++ b/IRaCIS.Core.Application/Resources/en-US.json @@ -210,7 +210,7 @@ "ReadingImage_ClinicalRead": "Clinical data not read!", "ReadingImage_IDMust": "When there is no task Id, the standard Id must be passed", "ReadingImage_TaskFinish": "The current subject has completed all the task of reading the film!", - "ReadingImage_NeedRest": "You have read the video continuously for {0} hours, please rest for {1} minutes before continuing to read the video.", + "ReadingImage_NeedRest": "You have read the video continuously for 2 hours. Please take a 20-minute rest before reading the video again.", //ReadingJudgeTaskService "ReadingJudge_SouceIdNull": "The SouceId of the current referee global task is null", //ReadingOncologyTaskService @@ -218,7 +218,7 @@ "ReadingOncology_Abnormal": "Abnormal, the referee result is null", //ReadingCalculate "ReadingCalculate_Abnormal": "The PCWG3 standard configuration is abnormal!", - "ReadingCalculate_Questionable": "The lesions have the following problems:", + "ReadingCalculate_questionable": "The lesions have the following problems:", "ReadingCalculate_NoMarker": "Lesion {0} no marker exists,", "ReadingCalculate_StatusIsEmpty": "Lesion {0} status is empty,", "ReadingCalculate_NoMarkerEmpty": "Lesion {0} is unmarked and the status is empty,", @@ -227,7 +227,9 @@ "MedicalReview_invalid": "The medical audit was invalid and the operation failed", "MedicalReview_SaveQuestion": "Please save the medical review question first", "MedicalReview_NeedSave": "Save the question and conclusion first", - "MedicalReview_NotClosed": "Dialogue not closed" + "MedicalReview_NotClosed": "Dialogue not closed", + "MedicalReview_Finish": "The current medical review has been completed" + diff --git a/IRaCIS.Core.Application/Resources/zh-CN.json b/IRaCIS.Core.Application/Resources/zh-CN.json index 0e1f9ad28..c9d5384d2 100644 --- a/IRaCIS.Core.Application/Resources/zh-CN.json +++ b/IRaCIS.Core.Application/Resources/zh-CN.json @@ -220,7 +220,7 @@ "ReadingOncology_Abnormal": "系统调用异常,裁判结果为null。", //ReadingCalculate "ReadingCalculate_Abnormal": "PCWG3标准配置错误,数据验证失败。", - "ReadingCalculate_Questionable": "病灶存在以下问题:", + "ReadingCalculate_questionable": "病灶存在以下问题:", "ReadingCalculate_NoMarker": "病灶{0}缺少标记", "ReadingCalculate_StatusIsEmpty": "病灶{0}状态为空", "ReadingCalculate_NoMarkerEmpty": "病灶{0}未做标记,且状态为空", @@ -229,7 +229,9 @@ "MedicalReview_invalid": "该医学审核任务已失效,操作失败。", "MedicalReview_SaveQuestion": "无法执行当前操作,请先保存医学审核问题。", "MedicalReview_NeedSave": "无法执行当前操作,请先保存医学审核问题和结论。", - "MedicalReview_NotClosed": "无法执行当前操作,当前医学质询对话未关闭。" + "MedicalReview_NotClosed": "无法执行当前操作,当前医学质询对话未关闭。", + "MedicalReview_Finish": "当前医学审核已做完。" + diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/TaskMedicalReviewViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/TaskMedicalReviewViewModel.cs index c6ad5cf5b..2134f260e 100644 --- a/IRaCIS.Core.Application/Service/Allocation/DTO/TaskMedicalReviewViewModel.cs +++ b/IRaCIS.Core.Application/Service/Allocation/DTO/TaskMedicalReviewViewModel.cs @@ -79,6 +79,11 @@ namespace IRaCIS.Core.Application.ViewModel public UserSimpleInfo DoctorUser { get; set; } } + public class GetNextMedicalReviewTaskInDto + { + [NotDefault] + public Guid MedicalReviewId { get; set; } + } ///TaskMedicalReviewQuery 列表查询参数模型 @@ -89,6 +94,9 @@ namespace IRaCIS.Core.Application.ViewModel public Guid? SubjectId { get; set; } + + public bool IsGetBeRead { get; set; } = false; + public string SubjectCode { get; set; } = String.Empty; public string TrialSiteCode { get; set; } = String.Empty; diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs index f631c3434..1841e4fa6 100644 --- a/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs @@ -125,6 +125,39 @@ namespace IRaCIS.Core.Application.Service } + /// + /// 获取下一个医学审核任务 + /// + /// + /// + /// + [HttpPost] + public async Task GetNextMedicalReviewTask(GetNextMedicalReviewTaskInDto inDto) + { + var medicalReview = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.MedicalReviewId).Include(x=>x.VisitTask).FirstNotNullAsync(); + + var data =await GetMIMMedicalReviewTaskList(new TaskMedicalReviewQuery() + { + + TrialId = medicalReview.TrialId, + IsGetBeRead = true, + TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId, + PageIndex=1, + PageSize=1, + }); + + + if (data.Item1.CurrentPageData.Count == 1) + { + return data.Item1.CurrentPageData[0]; + } + else + { + throw new BusinessValidationFailedException(_localizer["MedicalReview_Finish"]); + } + + + } @@ -145,7 +178,7 @@ namespace IRaCIS.Core.Application.Service .WhereIf(inQuery.DoctorUserId != null, t => t.VisitTask.DoctorUserId == inQuery.DoctorUserId) .WhereIf(inQuery.ReadingCategory != null, t => t.VisitTask.ReadingCategory == inQuery.ReadingCategory) .WhereIf(inQuery.ReadingTaskState != null, t => t.VisitTask.ReadingTaskState == inQuery.ReadingTaskState) - + .WhereIf(inQuery.IsGetBeRead,x=>x.IsInvalid&&x.AuditState!= MedicalReviewAuditState.HaveSigned) .WhereIf(inQuery.TrialReadingCriterionId != null, t => t.VisitTask.TrialReadingCriterionId == inQuery.TrialReadingCriterionId) .ProjectTo(_mapper.ConfigurationProvider); diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs index 7d2b4af1a..53856f5e2 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs @@ -65,6 +65,7 @@ namespace IRaCIS.Application.Services this._readModuleRepository = readModuleRepository; } + public async /// /// 获取读片模块 //加了标准参数