diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index c0c69c17f..d96f721d8 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -5619,6 +5619,13 @@
IR影像阅片
+
+
+ 获取全局阅片信息
+
+
+
+
获取下一个阅片任务
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
index 99f1b3dfe..4fcd3a90f 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
@@ -357,8 +357,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
var visitGroupQuery = _visitTaskRepository.Where(x => x.TrialId == trialId && x.DoctorUserId == _userInfo.Id)
- .Where(x => !x.Subject.IsDeleted).Where(x => x.Subject.SubjectDoctorList.Where(y => y.TrialId == iRUnReadSubjectQuery.TrialId && y.DoctorUserId == _userInfo.Id).Count() > 0)
-
+ .Where(x => !x.Subject.IsDeleted)
.Where(t => t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect)
.GroupBy(x => new { x.SubjectId, x.Subject.Code, x.BlindSubjectCode });
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/GetReadModuleDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/GetReadModuleDto.cs
index 07df70a4c..b320be376 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/GetReadModuleDto.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/GetReadModuleDto.cs
@@ -132,6 +132,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid SubjectId { get; set; }
+ public Guid TrialId { get; set; }
+
+
}
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
index ebc0f9abb..e87fc3a3c 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
@@ -9,6 +9,43 @@ using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Service.Reading.Dto
{
+ public class GetGlobalReadingInfoInDto
+ {
+ public Guid VisitTaskId { get; set; }
+ }
+
+ public class GetGlobalReadingInfoOutDto
+ {
+ public Guid VisitTaskId { get; set; }
+
+ public List TaskList { get; set; }
+ }
+
+ public class GlobalVisitInfo
+ {
+ public string VisitName { get; set; }
+
+ public Guid VisitId { get; set; }
+
+ public Guid VisitTaskId { get; set; }
+
+ public List BeforeQuestionList { get; set; }
+
+ public List AfterQuestionList { get; set; }
+ }
+
+
+ public class GlobalQuestionInfo
+ {
+ public Guid? QuestionId { get; set; }
+
+ public string QuestionName { get; set; }
+
+ public string Answer { get; set; }
+
+ public bool IsBeforeQuestion { get; set; }
+ }
+
public class GetReadingImgOutDto
{
public string Path { get; set; }
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs b/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs
index 5a8b8c4e9..47b72f26e 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs
@@ -231,6 +231,7 @@ namespace IRaCIS.Application.Services
var data = await GetReadModuleList(new GetReadModuleDto()
{
SubjectId = dto.SubjectId,
+ TrialId=dto.TrialId,
});
GetReadModuleSingleOutdto? readModule = data.Item1.CurrentPageData.FirstOrDefault().Data.Where(x => x.Id == dto.Id).Select(x => new GetReadModuleSingleOutdto()
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs
index bf7548adc..6c17d44b1 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs
@@ -75,10 +75,25 @@ namespace IRaCIS.Application.Services
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
}
+ ///
+ /// 获取全局阅片信息
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task GetGlobalReadingInfo(GetGlobalReadingInfoInDto inDto)
+ {
+ var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
+
+ //List < GlobalVisitInfo >
+
+ return new GetGlobalReadingInfoOutDto();
+ }
+
+
///
/// 获取下一个阅片任务
///
-
///
///
[HttpPost]
@@ -486,7 +501,7 @@ namespace IRaCIS.Application.Services
judgeInfo.VisitTaskInfoList.Add(
new JudgeReadingInfoDto()
{
- JudgeQuestionAnswerInfoList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == item.Id).Select(x => new JudgeQuestionAnswerInfo {
+ JudgeQuestionAnswerInfoList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == item.Id&&x.ReadingQuestionTrial.IsJudgeQuestion).Select(x => new JudgeQuestionAnswerInfo {
Answer = x.Answer,
QuestionName = x.ReadingQuestionTrial.QuestionName,
}).ToListAsync(),
@@ -659,6 +674,7 @@ namespace IRaCIS.Application.Services
{
// ****** 先生成阅片期 阅片期任务阅片完成之后生成肿瘤学的 如果没有阅片期 直接生成肿瘤学 *********////
#region 建立关系
+ // 访视阅完产生 全局
Dictionary typeChangeDic = new Dictionary();
typeChangeDic.Add(ModuleTypeEnum.InPlanSubjectVisit, ReadingCategory.Visit);
typeChangeDic.Add(ModuleTypeEnum.OutPlanSubjectVisit, ReadingCategory.Visit);
@@ -669,9 +685,7 @@ namespace IRaCIS.Application.Services
#endregion
var taskInfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).FirstNotNullAsync();
List needReadList = new List();
- if ((!await _visitTaskRepository.AnyAsync(x => x.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId&&x.SouceReadModuleId== taskInfo.SouceReadModuleId && x.ReadingTaskState != ReadingTaskState.HaveSigned))
- &&!taskInfo.IsAnalysisCreate
- )
+ if (!await _visitTaskRepository.Where(x => x.Id== visitTaskId).Select(x=>x.IsAnalysisCreate).FirstOrDefaultAsync())
{
// 任务类型
switch (taskInfo.ReadingCategory)
diff --git a/IRaCIS.Core.Domain/Allocation/VisitTask.cs b/IRaCIS.Core.Domain/Allocation/VisitTask.cs
index f64b57249..64e4ee219 100644
--- a/IRaCIS.Core.Domain/Allocation/VisitTask.cs
+++ b/IRaCIS.Core.Domain/Allocation/VisitTask.cs
@@ -25,6 +25,11 @@ namespace IRaCIS.Core.Domain.Models
//任务来源访视Id 方便回更访视读片状态
public Guid? SourceSubjectVisitId { get; set; }
public Guid? SouceReadModuleId { get; set; }
+
+
+ ///
+ /// 任务类型
+ ///
public ReadingCategory ReadingCategory { get; set; }