diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index 8a8ddb6e9..00d6f04c5 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -246,16 +246,16 @@ namespace IRaCIS.Core.Application.Service TrialSiteCode = g.Key.TrialSiteCode, SiteId = g.Key.SiteId, - VisitTaskList = g.OrderBy(t=>t.SubjectVisit.VisitNum).Select(c=>new VisitTaskSimpleView() + VisitTaskList = g.OrderBy(t => t.SubjectVisit.VisitNum).Select(c => new VisitTaskSimpleView() { - Id=c.Id, - ReadingCategory=c.ReadingCategory, - TaskAllocationState=c.TaskAllocationState, - TaskBlindName=c.TaskBlindName, - TaskCode =c.TaskCode, - TaskName=c.TaskName, - TaskState=c.TaskState, - TrialId=c.TrialId + Id = c.Id, + ReadingCategory = c.ReadingCategory, + TaskAllocationState = c.TaskAllocationState, + TaskBlindName = c.TaskBlindName, + TaskCode = c.TaskCode, + TaskName = c.TaskName, + TaskState = c.TaskState, + TrialId = c.TrialId }).ToList(), VisitValidTaskCount = g.Count() @@ -279,7 +279,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(queryVisitTask.RootReReadingTaskId != null, t => t.RootReReadingTaskId == queryVisitTask.RootReReadingTaskId || t.OriginalReReadingTaskId == queryVisitTask.RootReReadingTaskId) .WhereIf(queryVisitTask.SiteId != null, t => t.NewReReadingTask.Subject.SiteId == queryVisitTask.SiteId) .WhereIf(queryVisitTask.SubjectId != null, t => t.NewReReadingTask.SubjectId == queryVisitTask.SubjectId) @@ -338,7 +338,8 @@ namespace IRaCIS.Core.Application.Service SubjectId = s.Id, SubjectCode = s.Code, UnReadTaskCount = s.SubjectVisitTaskList.Count(t => t.ReadingTaskState != ReadingTaskState.HaveSigned && t.DoctorUserId == _userInfo.Id), - UnReadTaskList = s.SubjectVisitTaskList.Where(t => t.ReadingTaskState != ReadingTaskState.HaveSigned && t.DoctorUserId == _userInfo.Id).Select(u => new IRUnreadTaskView() { Id = u.Id, IsUrgent = u.IsUrgent, SuggesteFinishedTime = u.SuggesteFinishedTime }).ToList(), + UnReadTaskList = s.SubjectVisitTaskList.Where(t => t.ReadingTaskState != ReadingTaskState.HaveSigned && t.DoctorUserId == _userInfo.Id) + .Select(u => new IRUnreadTaskView() { Id = u.Id, IsUrgent = u.IsUrgent, SuggesteFinishedTime = u.SuggesteFinishedTime }).ToList(), }) .Where(t => t.UnReadTaskCount > 0); @@ -439,7 +440,7 @@ namespace IRaCIS.Core.Application.Service .WhereIf(queryVisitTask.EndAllocateDate != null, t => t.NewReReadingTask.AllocateTime < queryVisitTask.EndAllocateDate.Value.AddDays(1)) .ProjectTo(_mapper.ConfigurationProvider); - + var defalutSortArray = new string[] { nameof(VisitTask.IsUrgent) + " desc", nameof(VisitTask.SubjectId) }; @@ -1037,12 +1038,12 @@ namespace IRaCIS.Core.Application.Service await _visitTaskReReadingRepository.UpdatePartialFromQueryAsync(t => t.Id == item.Id, u => new VisitTaskReReading() { - RequestReReadingConfirmUserId=_userInfo.Id, - RequestReReadingResultEnum= agreeReReadingCommand.RequestReReadingResultEnum, + RequestReReadingConfirmUserId = _userInfo.Id, + RequestReReadingResultEnum = agreeReReadingCommand.RequestReReadingResultEnum, RequestReReadingRejectReason = agreeReReadingCommand.RequestReReadingRejectReason }); - if(agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree) + if (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree) { if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer) { @@ -1054,20 +1055,22 @@ namespace IRaCIS.Core.Application.Service //立即分配 else if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager) { + var doctorUserId = await _visitTaskRepository.Where(t => t.Id == item.OriginalReReadingTaskId).Select(t => t.DoctorUserId).FirstOrDefaultAsync(); + await _visitTaskRepository.UpdatePartialFromQueryAsync(t => t.Id == item.NewReReadingTaskId, u => new VisitTask() { TaskState = TaskState.Effect, - DoctorUserId = _userInfo.Id, + DoctorUserId = doctorUserId, AllocateTime = DateTime.Now, }); } } - + } - + await _visitTaskRepository.SaveChangesAsync();