diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index e8303a6e1..412881ada 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -53,6 +53,11 @@
+
+
+ 医学审核生成规则
+
+
任务医学审核
@@ -65,6 +70,12 @@
+
+
+ 产生医学审核任务
+
+
+
MIM 医学审核
@@ -79,17 +90,12 @@
-
+
获取医学经理列表
-
-
- 医学审核生成规则
-
-
访视读片任务
diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/TaskMedicalReviewRuleViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/TaskMedicalReviewRuleViewModel.cs
index 9dbae91ad..ed3a95de7 100644
--- a/IRaCIS.Core.Application/Service/Allocation/DTO/TaskMedicalReviewRuleViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/DTO/TaskMedicalReviewRuleViewModel.cs
@@ -24,42 +24,49 @@ namespace IRaCIS.Core.Application.ViewModel
[JsonIgnore]
- public List ActualVisitTaskIdList { get; set; }
+ public List ActualVisitTaskList { get; set; }
[JsonIgnore]
- public List ActualJudgeTaskIdList { get; set; }
+ public List ActualJudgeTaskList { get; set; }
[JsonIgnore]
- public List ActualGlobalTaskIdList { get; set; }
+ public List ActualGlobalTaskList { get; set; }
[JsonIgnore]
- public List ActualTumorTaskIdList { get; set; }
+ public List ActualTumorTaskList { get; set; }
[JsonIgnore]
- public List GeneratedVisitTaskIdList { get; set; }
+ public List GeneratedVisitTaskList { get; set; }
[JsonIgnore]
- public List GeneratedJudgeTaskIdList { get; set; }
+ public List GeneratedJudgeTaskList { get; set; }
[JsonIgnore]
- public List GeneratedGlobalTaskIdList { get; set; }
+ public List GeneratedGlobalTaskList { get; set; }
[JsonIgnore]
- public List GeneratedTumorTaskIdList { get; set; }
+ public List GeneratedTumorTaskList { get; set; }
- public int GeneratedVisitCount => GeneratedVisitTaskIdList.Count;
- public int GeneratedJudgeCount => GeneratedJudgeTaskIdList.Count;
- public int GeneratedGlobalCount => GeneratedGlobalTaskIdList.Count;
- public int GeneratedTumorCount => GeneratedTumorTaskIdList.Count;
+ public int GeneratedVisitCount => GeneratedVisitTaskList.Count;
+ public int GeneratedJudgeCount => GeneratedJudgeTaskList.Count;
+ public int GeneratedGlobalCount => GeneratedGlobalTaskList.Count;
+ public int GeneratedTumorCount => GeneratedTumorTaskList.Count;
- public int ActualVisitCount => ActualVisitTaskIdList.Count;
- public int ActualJudgeCount => ActualJudgeTaskIdList.Count;
- public int ActualGlobalCount => ActualGlobalTaskIdList.Count;
- public int ActualTumorCount => ActualTumorTaskIdList.Count;
+ public int ActualVisitCount => ActualVisitTaskList.Count;
+ public int ActualJudgeCount => ActualJudgeTaskList.Count;
+ public int ActualGlobalCount => ActualGlobalTaskList.Count;
+ public int ActualTumorCount => ActualTumorTaskList.Count;
}
+
+ public class TaskBasicIdView
+ {
+ public Guid TaskId { get; set; }
+ public Guid TrialId { get; set; }
+ public Guid? DoctorUserId { get; set; }
+ }
///TaskTaskMedicalReviewRuleQuery 列表查询参数模型
public class TaskMedicalReviewRuleQuery
{
diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/TaskMedicalReviewViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/TaskMedicalReviewViewModel.cs
index 93705db0a..d99418bdb 100644
--- a/IRaCIS.Core.Application/Service/Allocation/DTO/TaskMedicalReviewViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/DTO/TaskMedicalReviewViewModel.cs
@@ -53,7 +53,15 @@ namespace IRaCIS.Core.Application.ViewModel
}
-
+ public class GenerateMedicalReviewTaskCommand
+ {
+ public Guid TrialId { get; set; }
+
+
+ }
+
+
+
public class AssignMedicalReviewTaskCommand
{
public Guid Id { get; set; }
diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs
index b5dd9b3a7..6304e014b 100644
--- a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs
@@ -67,6 +67,7 @@ namespace IRaCIS.Core.Application.ViewModel
public class UserSimpleInfo
{
+ public Guid UserId { get; set; }
public string UserCode { get; set; }
public string UserName { get; set; }
public string FullName { get; set; }
@@ -213,6 +214,8 @@ namespace IRaCIS.Core.Application.ViewModel
public DateTime? EndAllocateDate { get; set; }
public Guid? RootReReadingTaskId { get; set; }
+
+ public string TaskCode { get; set; }
}
diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskTaskMedicalReviewRuleService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewRuleService.cs
similarity index 96%
rename from IRaCIS.Core.Application/Service/Allocation/TaskTaskMedicalReviewRuleService.cs
rename to IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewRuleService.cs
index 3c013881a..1fbfd048b 100644
--- a/IRaCIS.Core.Application/Service/Allocation/TaskTaskMedicalReviewRuleService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewRuleService.cs
@@ -33,7 +33,7 @@ namespace IRaCIS.Core.Application.Service
var taskTaskMedicalReviewRuleQueryable = _taskMedicalReviewRuleRepository.Where(t => t.TrialId == inQuery.TrialId)
.ProjectTo(_mapper.ConfigurationProvider);
- var isHaveMIM = await _repository.AnyAsync(t => t.User.UserTypeEnum == Domain.Share.UserTypeEnum.MIM);
+ var isHaveMIM = await _repository.AnyAsync(t => t.User.UserTypeEnum == Domain.Share.UserTypeEnum.MIM && t.TrialId==inQuery.TrialId);
return (await taskTaskMedicalReviewRuleQueryable.ToListAsync(),new {IsHaveMIM=isHaveMIM});
}
diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs
index 11033cc75..1e194e994 100644
--- a/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs
@@ -24,7 +24,7 @@ namespace IRaCIS.Core.Application.Service
private readonly IRepository _taskMedicalReviewRuleRepository;
- public TaskMedicalReviewService(IRepository taskMedicalReviewRepository,IRepository trialUserRepository, IRepository taskMedicalReviewRuleRepository)
+ public TaskMedicalReviewService(IRepository taskMedicalReviewRepository, IRepository trialUserRepository, IRepository taskMedicalReviewRuleRepository)
{
_taskMedicalReviewRepository = taskMedicalReviewRepository;
@@ -60,6 +60,122 @@ namespace IRaCIS.Core.Application.Service
+ ///
+ /// 产生医学审核任务
+ ///
+ ///
+ public async Task GenerateMedicalReviewTask(GenerateMedicalReviewTaskCommand generateCommand)
+ {
+ var trialId = generateCommand.TrialId;
+
+ var mimUserList = await _trialUserRepository.Where(t => t.User.UserTypeEnum == Domain.Share.UserTypeEnum.MIM && t.TrialId == trialId).Select(t => t.User).ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
+
+ if (mimUserList.Count == 0)
+ {
+ return ResponseOutput.NotOk("没有MIM");
+ }
+
+ var defalutMIMUserId = mimUserList.FirstOrDefault().UserId;
+
+ //获取当前医生数据 已经生成的,和配置的数量
+ var taskTaskMedicalReviewRuleList = await _taskMedicalReviewRuleRepository.Where(t => t.TrialId == trialId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
+
+ foreach (var item in taskTaskMedicalReviewRuleList)
+ {
+
+ if (item.IsEnable)
+ {
+
+ if (item.PlanGlobalCount > item.GeneratedGlobalCount)
+ {
+ var needGenerateCount = item.PlanGlobalCount - item.GeneratedGlobalCount;
+
+ var canGenerateCount = item.ActualGlobalCount - item.GeneratedGlobalCount;
+
+ var toGenerateCount = canGenerateCount > needGenerateCount ? needGenerateCount : canGenerateCount;
+
+ //分配给MIM
+
+ if (toGenerateCount > 0)
+ {
+ var toGenerateTaskList = item.ActualGlobalTaskList.Except(item.GeneratedGlobalTaskList).Take(toGenerateCount).ToList();
+
+ foreach (var toGenerateTask in toGenerateTaskList)
+ {
+ await _taskMedicalReviewRepository.AddAsync(new TaskMedicalReview() { DoctorUserId = (Guid)toGenerateTask.DoctorUserId, TrialId = toGenerateTask.TrialId, VisitTaskId = toGenerateTask.TaskId ,MedicalManagerUserId= defalutMIMUserId });
+ }
+ }
+
+
+ }
+ if (item.PlanJudgeCount > item.GeneratedJudgeCount)
+ {
+ var needGenerateCount = item.PlanJudgeCount - item.GeneratedJudgeCount;
+
+ var canGenerateCount = item.ActualJudgeCount - item.GeneratedGlobalCount;
+
+ var toGenerateCount = canGenerateCount > needGenerateCount ? needGenerateCount : canGenerateCount;
+
+ if (toGenerateCount > 0)
+ {
+ var toGenerateTaskList = item.ActualJudgeTaskList.Except(item.GeneratedJudgeTaskList).Take(toGenerateCount).ToList();
+
+ foreach (var toGenerateTask in toGenerateTaskList)
+ {
+ await _taskMedicalReviewRepository.AddAsync(new TaskMedicalReview() { DoctorUserId = (Guid)toGenerateTask.DoctorUserId, TrialId = toGenerateTask.TrialId, VisitTaskId = toGenerateTask.TaskId, MedicalManagerUserId = defalutMIMUserId });
+ }
+ }
+
+ }
+ if (item.PlanTumorCount > item.GeneratedTumorCount)
+ {
+ var needGenerateCount = item.PlanTumorCount - item.GeneratedTumorCount;
+
+ var canGenerateCount = item.ActualTumorCount - item.GeneratedGlobalCount;
+
+ var toGenerateCount = canGenerateCount > needGenerateCount ? needGenerateCount : canGenerateCount;
+
+ if (toGenerateCount > 0)
+ {
+ var toGenerateTaskList = item.ActualTumorTaskList.Except(item.GeneratedTumorTaskList).Take(toGenerateCount).ToList();
+
+ foreach (var toGenerateTask in toGenerateTaskList)
+ {
+ await _taskMedicalReviewRepository.AddAsync(new TaskMedicalReview() { DoctorUserId = (Guid)toGenerateTask.DoctorUserId, TrialId = toGenerateTask.TrialId, VisitTaskId = toGenerateTask.TaskId, MedicalManagerUserId = defalutMIMUserId });
+ }
+ }
+
+ }
+ if (item.PlanVisitCount > item.GeneratedVisitCount)
+ {
+ var needGenerateCount = item.PlanVisitCount - item.GeneratedVisitCount;
+
+ var canGenerateCount = item.ActualVisitCount - item.GeneratedGlobalCount;
+
+ var toGenerateCount = canGenerateCount > needGenerateCount ? needGenerateCount : canGenerateCount;
+
+ if (toGenerateCount > 0)
+ {
+
+ var toGenerateTaskList = item.ActualVisitTaskList.Except(item.GeneratedVisitTaskList).Take(toGenerateCount).ToList();
+
+ foreach (var toGenerateTask in toGenerateTaskList)
+ {
+ await _taskMedicalReviewRepository.AddAsync(new TaskMedicalReview() { DoctorUserId = (Guid)toGenerateTask.DoctorUserId, TrialId = toGenerateTask.TrialId, VisitTaskId = toGenerateTask.TaskId, MedicalManagerUserId = defalutMIMUserId });
+ }
+ }
+
+ }
+
+ }
+
+ }
+
+
+
+ return ResponseOutput.Ok();
+
+ }
///
@@ -121,11 +237,11 @@ namespace IRaCIS.Core.Application.Service
///
///
[HttpDelete("{trialId:guid}")]
- public async Task> GetMIMUserList(Guid trialId)
+ public async Task> GetMIMUserList(Guid trialId)
{
- var query = _trialUserRepository.Where(t => t.User.UserTypeEnum == Domain.Share.UserTypeEnum.MIM && t.TrialId== trialId).Select(t => t.User).ProjectTo(_mapper.ConfigurationProvider);
+ var query = _trialUserRepository.Where(t => t.User.UserTypeEnum == Domain.Share.UserTypeEnum.MIM && t.TrialId == trialId).Select(t => t.User).ProjectTo(_mapper.ConfigurationProvider);
- return await query.ToListAsync();
+ return await query.ToListAsync();
}
}
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
index 0f8e9369d..dbb3ee1d8 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
@@ -283,6 +283,7 @@ namespace IRaCIS.Core.Application.Service
var visitTaskQueryable = _visitTaskReReadingRepository
.Where(t => t.NewReReadingTask.TrialId == queryVisitTask.TrialId)
.WhereIf(queryVisitTask.RootReReadingTaskId != null, t => t.RootReReadingTaskId == queryVisitTask.RootReReadingTaskId || t.OriginalReReadingTaskId == queryVisitTask.RootReReadingTaskId)
+ .WhereIf(!string.IsNullOrEmpty(queryVisitTask.TaskCode), t => t.OriginalReReadingTask.TaskCode.Contains(queryVisitTask.TaskCode) || t.RootReReadingTask.TaskCode.Contains(queryVisitTask.TaskCode))
.WhereIf(queryVisitTask.SiteId != null, t => t.NewReReadingTask.Subject.SiteId == queryVisitTask.SiteId)
.WhereIf(queryVisitTask.SubjectId != null, t => t.NewReReadingTask.SubjectId == queryVisitTask.SubjectId)
@@ -431,6 +432,7 @@ namespace IRaCIS.Core.Application.Service
.Where(t => t.OriginalReReadingTask.DoctorUserId == _userInfo.Id)
.Where(t => t.NewReReadingTask.TrialId == queryVisitTask.TrialId)
.WhereIf(queryVisitTask.RootReReadingTaskId != null, t => t.RootReReadingTaskId == queryVisitTask.RootReReadingTaskId || t.OriginalReReadingTaskId == queryVisitTask.RootReReadingTaskId)
+ .WhereIf(!string.IsNullOrEmpty(queryVisitTask.TaskCode), t => t.OriginalReReadingTask.TaskCode.Contains(queryVisitTask.TaskCode) || t.RootReReadingTask.TaskCode.Contains(queryVisitTask.TaskCode))
.WhereIf(queryVisitTask.SiteId != null, t => t.NewReReadingTask.Subject.SiteId == queryVisitTask.SiteId)
.WhereIf(queryVisitTask.SubjectId != null, t => t.NewReReadingTask.SubjectId == queryVisitTask.SubjectId)
.WhereIf(queryVisitTask.IsUrgent != null, t => t.NewReReadingTask.IsUrgent == queryVisitTask.IsUrgent)
diff --git a/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs b/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs
index 63dd4738b..27611a1d1 100644
--- a/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs
@@ -171,6 +171,8 @@ namespace IRaCIS.Core.Application.Service
CreateMap();
CreateMap()
+
+ .ForMember(o => o.UserId, t => t.MapFrom(u => u.Id))
.ForMember(o => o.UserCode, t => t.MapFrom(u => u.UserCode))
.ForMember(o => o.UserName, t => t.MapFrom(u => u.UserName))
.ForMember(o => o.FullName, t => t.MapFrom(u => u.FullName))
@@ -180,18 +182,18 @@ namespace IRaCIS.Core.Application.Service
CreateMap()
.ForMember(o => o.DoctorUser, t => t.MapFrom(u => u.DoctorUser))
- .ForMember(o => o.ActualVisitTaskIdList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(t => t.ReadingCategory == ReadingCategory.Visit && t.TaskState == TaskState.Effect && t.ReadingTaskState==ReadingTaskState.HaveSigned).OrderBy(t=>t.SignTime).Select(t=>t.Id)))
- .ForMember(o => o.ActualJudgeTaskIdList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(t => t.ReadingCategory == ReadingCategory.Judge && t.TaskState == TaskState.Effect &&
- t.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.SignTime).Select(t => t.Id)))
- .ForMember(o => o.ActualGlobalTaskIdList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(t => t.ReadingCategory == ReadingCategory.Global && t.TaskState == TaskState.Effect &&
- t.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.SignTime).Select(t => t.Id)))
- .ForMember(o => o.ActualTumorTaskIdList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(t => t.ReadingCategory == ReadingCategory.Oncology && t.TaskState == TaskState.Effect &&
- t.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.SignTime).Select(t => t.Id)))
+ .ForMember(o => o.ActualVisitTaskList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(t => t.ReadingCategory == ReadingCategory.Visit && t.TaskState == TaskState.Effect && t.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.SignTime).Select(t => new TaskBasicIdView() { TaskId = t.Id, TrialId = t.TrialId, DoctorUserId = t.DoctorUserId })))
+ .ForMember(o => o.ActualJudgeTaskList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(t => t.ReadingCategory == ReadingCategory.Judge && t.TaskState == TaskState.Effect &&
+ t.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.SignTime).Select(t => new TaskBasicIdView() { TaskId = t.Id, TrialId = t.TrialId, DoctorUserId = t.DoctorUserId })))
+ .ForMember(o => o.ActualGlobalTaskList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(t => t.ReadingCategory == ReadingCategory.Global && t.TaskState == TaskState.Effect &&
+ t.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.SignTime).Select(t => new TaskBasicIdView() { TaskId = t.Id, TrialId = t.TrialId, DoctorUserId = t.DoctorUserId })))
+ .ForMember(o => o.ActualTumorTaskList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(t => t.ReadingCategory == ReadingCategory.Oncology && t.TaskState == TaskState.Effect &&
+ t.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.SignTime).Select(t => new TaskBasicIdView() { TaskId = t.Id, TrialId = t.TrialId, DoctorUserId = t.DoctorUserId })))
- .ForMember(o => o.GeneratedGlobalTaskIdList, t => t.MapFrom(u => u.TaskMedicalReviewList.Where(t => t.VisitTask.ReadingCategory == ReadingCategory.Global && t.VisitTask.TaskState == TaskState.Effect && t.VisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.VisitTask.SignTime).Select(t=>t.VisitTaskId)))
- .ForMember(o => o.GeneratedJudgeTaskIdList, t => t.MapFrom(u => u.TaskMedicalReviewList.Where(t => t.VisitTask.ReadingCategory == ReadingCategory.Judge && t.VisitTask.TaskState == TaskState.Effect && t.VisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.VisitTask.SignTime).Select(t => t.VisitTaskId)))
- .ForMember(o => o.GeneratedTumorTaskIdList, t => t.MapFrom(u => u.TaskMedicalReviewList.Where(t => t.VisitTask.ReadingCategory == ReadingCategory.Oncology && t.VisitTask.TaskState == TaskState.Effect && t.VisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.VisitTask.SignTime).Select(t => t.VisitTaskId)))
- .ForMember(o => o.GeneratedVisitTaskIdList, t => t.MapFrom(u => u.TaskMedicalReviewList.Where(t => t.VisitTask.ReadingCategory == ReadingCategory.Visit && t.VisitTask.TaskState == TaskState.Effect && t.VisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.VisitTask.SignTime).Select(t => t.VisitTaskId)));
+ .ForMember(o => o.GeneratedGlobalTaskList, t => t.MapFrom(u => u.TaskMedicalReviewList.Where(t => t.VisitTask.ReadingCategory == ReadingCategory.Global && t.VisitTask.TaskState == TaskState.Effect && t.VisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.VisitTask.SignTime).Select(t => new TaskBasicIdView() { TaskId = t.VisitTaskId, TrialId = t.TrialId, DoctorUserId = t.DoctorUserId })))
+ .ForMember(o => o.GeneratedJudgeTaskList, t => t.MapFrom(u => u.TaskMedicalReviewList.Where(t => t.VisitTask.ReadingCategory == ReadingCategory.Judge && t.VisitTask.TaskState == TaskState.Effect && t.VisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.VisitTask.SignTime).Select(t => new TaskBasicIdView() { TaskId = t.VisitTaskId, TrialId = t.TrialId, DoctorUserId = t.DoctorUserId })))
+ .ForMember(o => o.GeneratedTumorTaskList, t => t.MapFrom(u => u.TaskMedicalReviewList.Where(t => t.VisitTask.ReadingCategory == ReadingCategory.Oncology && t.VisitTask.TaskState == TaskState.Effect && t.VisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.VisitTask.SignTime).Select(t => new TaskBasicIdView() {TaskId = t.VisitTaskId,TrialId=t.TrialId,DoctorUserId=t.DoctorUserId })))
+ .ForMember(o => o.GeneratedVisitTaskList, t => t.MapFrom(u => u.TaskMedicalReviewList.Where(t => t.VisitTask.ReadingCategory == ReadingCategory.Visit && t.VisitTask.TaskState == TaskState.Effect && t.VisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).OrderBy(t => t.VisitTask.SignTime).Select(t => new TaskBasicIdView() { TaskId = t.VisitTaskId, TrialId = t.TrialId, DoctorUserId = t.DoctorUserId })));
CreateMap();
diff --git a/IRaCIS.Core.Domain/Allocation/VisitTaskReReading.cs b/IRaCIS.Core.Domain/Allocation/VisitTaskReReading.cs
index e7ad11a13..a0318cdcf 100644
--- a/IRaCIS.Core.Domain/Allocation/VisitTaskReReading.cs
+++ b/IRaCIS.Core.Domain/Allocation/VisitTaskReReading.cs
@@ -37,6 +37,8 @@ namespace IRaCIS.Core.Domain.Models
public VisitTask NewReReadingTask { get; set; }
+ public VisitTask RootReReadingTask { get; set; }
+
public VisitTask OriginalReReadingTask { get; set; }
//申请回退类型