diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs index 3953d640a..3d6424620 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs @@ -291,7 +291,7 @@ namespace IRaCIS.Core.Application.Contracts } - public class TrialUserToBeDoneQuery : PageInput + public class TrialUserToBeDoneQuery { [NotDefault] public Guid TrialId { get; set; } @@ -339,6 +339,26 @@ namespace IRaCIS.Core.Application.Contracts public int? Medical_IR_ToBeDealedCount { get; set; } + public int UserTotalToBeDoneCount => new[] + { + ReviewerSelect_SPM_ToBeApprovalCount ?? 0, + ReviewerSelect_PM_ToBeConfirmCount ?? 0, + ImageUpload_CRC_ToBeReUploadCount ?? 0, + ImageUpload_CRC_ToBeSubmitCount ?? 0, + QC_IQC_ToBeReviewedCount ?? 0, + QC_IQC_ToBeClaimedCount ?? 0, + QC_IQC_ToBeDealedCount ?? 0, + QC_CRC_ToBeDealedCount ?? 0, + Check_CRC_ToBeDealedCount ?? 0, + Check_PM_ToBeDealedCount ?? 0, + Check_PM_ToBeReplyedCount ?? 0, + Reading_IR_UnReadCount ?? 0, + Reading_SPM_ToBeApprovalCount ?? 0, + Reading_PM_ToBeApprovalCount ?? 0, + Medical_MIM_ToBeDealedCount ?? 0, + Medical_IR_ToBeDealedCount ?? 0 + }.Sum(); + } public class TrialBaseInfoDto diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs index 1e1882d63..d8f1febbb 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs @@ -969,7 +969,7 @@ namespace IRaCIS.Core.Application #region 项目维度 统计每个人的待办 [HttpPost] - public async Task> > GetTrialUserToBeDoneList(TrialUserToBeDoneQuery inQuery, + public async Task>> GetTrialUserToBeDoneList(TrialUserToBeDoneQuery inQuery, [FromServices] IRepository _trialUserRepository) { @@ -1092,10 +1092,11 @@ namespace IRaCIS.Core.Application var list = await query.ToListAsync(); + var result = list.Where(t => t.UserTotalToBeDoneCount > 0).ToList(); //var result= list.GroupBy(t => t.UserType).ToDictionary(g => g.Key, g => g.ToList()); - return ResponseOutput.Ok(list); + return ResponseOutput.Ok(result); }