修改返回列表信息
This commit is contained in:
@@ -5,6 +5,7 @@ using IRaCIS.Core.Domain.Share;
|
||||
using IRaCIS.Core.Infrastructure.Extention;
|
||||
using MathNet.Numerics;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic.Core;
|
||||
|
||||
namespace IRaCIS.Core.Application
|
||||
@@ -634,7 +635,7 @@ namespace IRaCIS.Core.Application
|
||||
ExperimentName = t.ExperimentName,
|
||||
TrialCode = t.TrialCode,
|
||||
UrgentCount = t.SubjectVisitList.SelectMany(c => c.QCChallengeList)
|
||||
.Where(u => u.CreateUserId==_userInfo.Id && u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator && u.SubjectVisit.IsUrgent).Count(),
|
||||
.Where(u => u.CreateUserId == _userInfo.Id && u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator && u.SubjectVisit.IsUrgent).Count(),
|
||||
|
||||
ToBeDealedCount = t.SubjectVisitList.SelectMany(c => c.QCChallengeList)
|
||||
.Where(u => u.CreateUserId == _userInfo.Id && u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).Count(),
|
||||
@@ -841,7 +842,7 @@ namespace IRaCIS.Core.Application
|
||||
|
||||
var toBeDealedCount = _taskMedicalReviewRepository
|
||||
.Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
|
||||
.Where(t => t.IsClosedDialog == false && t.VisitTask.DoctorUserId==_userInfo.Id)
|
||||
.Where(t => t.IsClosedDialog == false && t.VisitTask.DoctorUserId == _userInfo.Id)
|
||||
.Where(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.MIM).Count();
|
||||
|
||||
return ResponseOutput.Ok(result, new { TotalToBeReUploadCount = toBeDealedCount });
|
||||
@@ -968,7 +969,7 @@ namespace IRaCIS.Core.Application
|
||||
#region 项目维度 统计每个人的待办
|
||||
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput<List<TrialUserToBeDoneDto>>> GetTrialUserToBeDoneList(TrialUserToBeDoneQuery inQuery,
|
||||
public async Task<IResponseOutput<Dictionary<UserTypeEnum, List<TrialUserToBeDoneDto>> >> GetTrialUserToBeDoneList(TrialUserToBeDoneQuery inQuery,
|
||||
[FromServices] IRepository<TrialUser> _trialUserRepository)
|
||||
{
|
||||
|
||||
@@ -1010,15 +1011,15 @@ namespace IRaCIS.Core.Application
|
||||
// CRC 质疑待回复 --区分人
|
||||
QC_CRC_ToBeDealedCount =
|
||||
(t.User.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator || t.User.UserTypeEnum == UserTypeEnum.CRA) ?
|
||||
t.Trial.SubjectVisitList.Where(c=>c.TrialSite.CRCUserList.Any(u=>u.UserId==t.UserId))
|
||||
.SelectMany(c => c.QCChallengeList).Where(u => u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IQC ).Count() : 0,
|
||||
t.Trial.SubjectVisitList.Where(c => c.TrialSite.CRCUserList.Any(u => u.UserId == t.UserId))
|
||||
.SelectMany(c => c.QCChallengeList).Where(u => u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IQC).Count() : 0,
|
||||
|
||||
|
||||
//IQC 质疑待处理 --区分人
|
||||
QC_IQC_ToBeDealedCount =
|
||||
(t.User.UserTypeEnum == UserTypeEnum.IQC) ?
|
||||
t.Trial.SubjectVisitList.SelectMany(c => c.QCChallengeList)
|
||||
.Where(u => u.CreateUserId==t.UserId && u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).Count() : 0,
|
||||
.Where(u => u.CreateUserId == t.UserId && u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).Count() : 0,
|
||||
|
||||
|
||||
|
||||
@@ -1029,10 +1030,10 @@ namespace IRaCIS.Core.Application
|
||||
|
||||
|
||||
|
||||
//PM 核查待处理
|
||||
//PM 核查待处理
|
||||
Check_PM_ToBeDealedCount =
|
||||
(t.User.UserTypeEnum == UserTypeEnum.APM || t.User.UserTypeEnum == UserTypeEnum.ProjectManager) ?
|
||||
t.Trial.SubjectVisitList .Where(u => u.CheckState == CheckStateEnum.ToCheck).Count() : 0,
|
||||
t.Trial.SubjectVisitList.Where(u => u.CheckState == CheckStateEnum.ToCheck).Count() : 0,
|
||||
|
||||
//PM 质疑待处理
|
||||
Check_PM_ToBeReplyedCount =
|
||||
@@ -1045,10 +1046,10 @@ namespace IRaCIS.Core.Application
|
||||
Check_CRC_ToBeDealedCount =
|
||||
(t.User.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator || t.User.UserTypeEnum == UserTypeEnum.CRA) ?
|
||||
t.Trial.SubjectVisitList.Where(c => c.TrialSite.CRCUserList.Any(u => u.UserId == t.UserId))
|
||||
.Where(u => u.CheckState == CheckStateEnum.CVIng && u.CheckChallengeState == CheckChanllengeTypeEnum.PMWaitCRCReply ).Count() : 0,
|
||||
.Where(u => u.CheckState == CheckStateEnum.CVIng && u.CheckChallengeState == CheckChanllengeTypeEnum.PMWaitCRCReply).Count() : 0,
|
||||
|
||||
|
||||
//IR 未读 --区分人
|
||||
//IR 未读 --区分人
|
||||
Reading_IR_UnReadCount =
|
||||
(t.User.UserTypeEnum == UserTypeEnum.IndependentReviewer) ?
|
||||
t.Trial.VisitTaskList
|
||||
@@ -1075,7 +1076,7 @@ namespace IRaCIS.Core.Application
|
||||
Medical_IR_ToBeDealedCount =
|
||||
(t.User.UserTypeEnum == UserTypeEnum.IndependentReviewer) ?
|
||||
t.Trial.TaskMedicalReviewList
|
||||
.Where(c => c.IsClosedDialog == false && c.VisitTask.DoctorUserId==t.UserId)
|
||||
.Where(c => c.IsClosedDialog == false && c.VisitTask.DoctorUserId == t.UserId)
|
||||
.Where(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.MIM).Count() : 0,
|
||||
|
||||
|
||||
@@ -1091,7 +1092,10 @@ namespace IRaCIS.Core.Application
|
||||
|
||||
var list = await query.ToListAsync();
|
||||
|
||||
return ResponseOutput.Ok(list);
|
||||
|
||||
var result= list.GroupBy(t => t.UserType).ToDictionary(g => g.Key, g => g.ToList());
|
||||
|
||||
return ResponseOutput.Ok(result);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user