修改统计
							parent
							
								
									b4ade5e956
								
							
						
					
					
						commit
						9d96789302
					
				| 
						 | 
				
			
			@ -2517,6 +2517,13 @@
 | 
			
		|||
            <param name="inDto"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.GetTrialClinicalOtherQuestionList(IRaCIS.Core.Application.Service.Reading.Dto.GetTrialGroupDto)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            获取项目标准其他问题
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="inDto"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.GetSystemClinicalQuestionList(IRaCIS.Core.Application.Service.Reading.Dto.SystemClinicalQuestionQuery)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            获取系统临床问题
 | 
			
		||||
| 
						 | 
				
			
			@ -2545,6 +2552,13 @@
 | 
			
		|||
            <param name="inDto"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.GetSystemClinicalOtherQuestionList(IRaCIS.Core.Application.Service.Reading.Dto.GetSystemGroupDto)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            获取系统其他问题
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="inDto"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.GetSystemClinicalTableQuestionList(IRaCIS.Core.Application.Service.Reading.Dto.SystemClinicalTableQuestionQuery)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            获取系统表格问题
 | 
			
		||||
| 
						 | 
				
			
			@ -2587,6 +2601,18 @@
 | 
			
		|||
            <param name="id"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.SynchronizationQuestion(System.Collections.Generic.List{IRaCIS.Core.Application.Service.Reading.Dto.SynchronizationQuestionDto})">
 | 
			
		||||
            <summary>
 | 
			
		||||
            同步系统问题
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="inDto"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetAddOrEdit.IsApply">
 | 
			
		||||
            <summary>
 | 
			
		||||
            是否应用
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetAddOrEdit.ClinicalDataSetName">
 | 
			
		||||
            <summary>
 | 
			
		||||
            名称
 | 
			
		||||
| 
						 | 
				
			
			@ -2637,6 +2663,11 @@
 | 
			
		|||
            文件路径
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetAddOrEdit.IsApply">
 | 
			
		||||
            <summary>
 | 
			
		||||
            是否应用
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetAddOrEdit.ClinicalDataSetEnum">
 | 
			
		||||
            <summary>
 | 
			
		||||
            枚举
 | 
			
		||||
| 
						 | 
				
			
			@ -2817,7 +2848,7 @@
 | 
			
		|||
            问题英文名称
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.ClinicalQuestionTypeEnum">
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.ClinicalQuestionType">
 | 
			
		||||
            <summary>
 | 
			
		||||
            临床问题类型(分组,单选。)
 | 
			
		||||
            </summary>
 | 
			
		||||
| 
						 | 
				
			
			@ -2877,6 +2908,21 @@
 | 
			
		|||
            显示类型
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.IsCheckDate">
 | 
			
		||||
            <summary>
 | 
			
		||||
            是否是检查日期
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.DigitPlaces">
 | 
			
		||||
            <summary>
 | 
			
		||||
            小数点位数
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionBase.Unit">
 | 
			
		||||
            <summary>
 | 
			
		||||
            单位
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="T:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionQueryBase">
 | 
			
		||||
            <summary>
 | 
			
		||||
            查询临床数据基类
 | 
			
		||||
| 
						 | 
				
			
			@ -2947,7 +2993,7 @@
 | 
			
		|||
            问题英文名称
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalTableQuestionBase.ClinicalTableQuestionTypeEnum">
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalTableQuestionBase.ClinicalTableQuestionType">
 | 
			
		||||
            <summary>
 | 
			
		||||
            临床问题类型(分组,单选。)
 | 
			
		||||
            </summary>
 | 
			
		||||
| 
						 | 
				
			
			@ -3002,6 +3048,16 @@
 | 
			
		|||
            外层问题Id
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalTableQuestionBase.DigitPlaces">
 | 
			
		||||
            <summary>
 | 
			
		||||
            小数点位数
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalTableQuestionBase.Unit">
 | 
			
		||||
            <summary>
 | 
			
		||||
            单位
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="T:IRaCIS.Core.Application.Service.Reading.Dto.TrialClinicalTableQuestionDto">
 | 
			
		||||
            <summary>
 | 
			
		||||
            项目临床数据问题
 | 
			
		||||
| 
						 | 
				
			
			@ -3057,6 +3113,21 @@
 | 
			
		|||
            获取系统临床数据
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.SynchronizationQuestionDto.SystemClinicalId">
 | 
			
		||||
            <summary>
 | 
			
		||||
            系统临床数据Id
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.SynchronizationQuestionDto.TrialClinicalId">
 | 
			
		||||
            <summary>
 | 
			
		||||
            项目临床数据Id
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.QuestionDic.TrialClinicalId">
 | 
			
		||||
            <summary>
 | 
			
		||||
            项目临床数据Id
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleDto.TrialSiteCode">
 | 
			
		||||
            <summary>
 | 
			
		||||
            项目中心Code
 | 
			
		||||
| 
						 | 
				
			
			@ -8684,6 +8755,11 @@
 | 
			
		|||
            ISubjectCriteriaEvaluationService
 | 
			
		||||
            </summary>	
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="T:IRaCIS.Core.Application.Interfaces.IClinicalQuestionService">
 | 
			
		||||
            <summary>
 | 
			
		||||
            IClinicalQuestionService
 | 
			
		||||
            </summary>	
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="T:IRaCIS.Core.Application.Interfaces.IOrganInfoService">
 | 
			
		||||
            <summary>
 | 
			
		||||
            IOrganInfoService
 | 
			
		||||
| 
						 | 
				
			
			@ -10314,9 +10390,18 @@
 | 
			
		|||
            <param name="_trialRepository"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetReviewerSelectToBeDoneList(IRaCIS.Core.Application.Contracts.ReviewerSelectToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Enroll},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
 | 
			
		||||
        <member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetPM_ReviewerSelectToBeDoneList(IRaCIS.Core.Application.Contracts.ReviewerSelectToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Enroll},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
 | 
			
		||||
             <summary>
 | 
			
		||||
            阅片人筛选 
 | 
			
		||||
            PM  阅片人筛选 
 | 
			
		||||
             </summary>
 | 
			
		||||
             <param name="inQuery"></param>
 | 
			
		||||
             <param name="_enrollRepository"></param>
 | 
			
		||||
             <param name="_trialRepository"></param>
 | 
			
		||||
             <returns></returns>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              vvv
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetSPM_ReviewerSelectToBeDoneList(IRaCIS.Core.Application.Contracts.ReviewerSelectToBeDoneQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Enroll},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
 | 
			
		||||
             <summary>
 | 
			
		||||
            SPM  阅片人筛选 
 | 
			
		||||
             </summary>
 | 
			
		||||
             <param name="inQuery"></param>
 | 
			
		||||
             <param name="_enrollRepository"></param>
 | 
			
		||||
| 
						 | 
				
			
			@ -10411,8 +10496,18 @@
 | 
			
		|||
            MIM医学反馈 
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="inQuery"></param>
 | 
			
		||||
            <param name="_taskMedicalReviewRepository"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Core.Application.PersonalWorkstation.GetMedicalCommentsFirstToBeDone(IRaCIS.Core.Application.Contracts.MedicalCommentsFirstToBeDoneQuery,IRaCIS.Core.Application.Interfaces.ITaskMedicalReviewService)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            获取某项目 某标准 第一条未读的医学审核
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="inQuery"></param>
 | 
			
		||||
            <param name="_taskMedicalReviewService"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
            <exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Core.Application.TrialConfigService.TrialReadingInfoSignVerify(IRaCIS.Core.Application.Contracts.TrialReadingInfoSignInDto)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            阅片信息签名验证接口
 | 
			
		||||
| 
						 | 
				
			
			@ -11350,6 +11445,22 @@
 | 
			
		|||
            临床数据配置
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Application.Services.ClinicalDataSetService.ApplySystemClinical(IRaCIS.Core.Application.Service.Reading.Dto.ApplySystemClinicalInDto)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            应用系统临床数据
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="inDto"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
            <exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Application.Services.ClinicalDataSetService.ApplyTrialClinical(IRaCIS.Core.Application.Service.Reading.Dto.ApplyTrialClinicalInDto)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            应用项目临床数据
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="inDto"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
            <exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Application.Services.ClinicalDataSetService.AddOrUpdateClinicalDataSystemSet(IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetAddOrEdit)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            新增或者修改(系统)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@ namespace IRaCIS.Core.Application.Interfaces
 | 
			
		|||
 | 
			
		||||
        //Task<PageOutput<TaskMedicalReviewView>> GetTaskMedicalReviewList(TaskMedicalReviewQuery queryTaskMedicalReview);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        Task<TaskMedicalReviewView> GetNextMedicalReviewTask(GetNextMedicalReviewTaskInDto inDto);
 | 
			
		||||
        Task<IResponseOutput<PageOutput<TaskMedicalReviewView>>> GetMIMMedicalReviewTaskList(TaskMedicalReviewQuery inQuery);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -138,7 +138,7 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
        {
 | 
			
		||||
            var medicalReview = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.MedicalReviewId).Include(x=>x.VisitTask).FirstNotNullAsync();
 | 
			
		||||
 | 
			
		||||
            var subjectReview = await GetMIMMedicalReviewTaskList(new TaskMedicalReviewQuery()
 | 
			
		||||
            var subjectReview = (await GetMIMMedicalReviewTaskList(new TaskMedicalReviewQuery()
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                TrialId = medicalReview.TrialId,
 | 
			
		||||
| 
						 | 
				
			
			@ -148,14 +148,14 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId,
 | 
			
		||||
                PageIndex=1,
 | 
			
		||||
                PageSize=1,
 | 
			
		||||
            });
 | 
			
		||||
            })).Data;
 | 
			
		||||
 | 
			
		||||
            if (subjectReview.Item1.CurrentPageData.Count == 1)
 | 
			
		||||
            if (subjectReview.CurrentPageData.Count == 1)
 | 
			
		||||
            {
 | 
			
		||||
                return subjectReview.Item1.CurrentPageData[0];
 | 
			
		||||
                return subjectReview.CurrentPageData[0];
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            var data = await GetMIMMedicalReviewTaskList(new TaskMedicalReviewQuery()
 | 
			
		||||
            var data = (await GetMIMMedicalReviewTaskList(new TaskMedicalReviewQuery()
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                TrialId = medicalReview.TrialId,
 | 
			
		||||
| 
						 | 
				
			
			@ -164,11 +164,11 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId,
 | 
			
		||||
                PageIndex = 1,
 | 
			
		||||
                PageSize = 1,
 | 
			
		||||
            });
 | 
			
		||||
            })).Data;
 | 
			
		||||
 | 
			
		||||
            if (data.Item1.CurrentPageData.Count == 1)
 | 
			
		||||
            if (data.CurrentPageData.Count == 1)
 | 
			
		||||
            {
 | 
			
		||||
                return data.Item1.CurrentPageData[0];
 | 
			
		||||
                return data.CurrentPageData[0];
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			@ -186,7 +186,7 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
        /// <param name="inQuery"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost]
 | 
			
		||||
        public async Task<(PageOutput<TaskMedicalReviewView>, object)> GetMIMMedicalReviewTaskList(TaskMedicalReviewQuery inQuery)
 | 
			
		||||
        public async Task<IResponseOutput< PageOutput<TaskMedicalReviewView>>> GetMIMMedicalReviewTaskList(TaskMedicalReviewQuery inQuery)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            var taskMedicalReviewQueryable = _taskMedicalReviewRepository.Where(t => t.VisitTask.TrialId == inQuery.TrialId && t.MedicalManagerUserId == _userInfo.Id&&t.VisitTask.TrialReadingCriterionId==inQuery.TrialReadingCriterionId)
 | 
			
		||||
| 
						 | 
				
			
			@ -206,7 +206,7 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
 | 
			
		||||
            var pageList = await taskMedicalReviewQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TaskMedicalReviewView.Id) : inQuery.SortField, inQuery.Asc);
 | 
			
		||||
 | 
			
		||||
            return (pageList, new
 | 
			
		||||
            return  ResponseOutput.Ok(pageList, new
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                IsConfirmMedicineQuestion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inQuery.TrialReadingCriterionId).Select(x => x.IsConfirmMedicineQuestion).FirstOrDefaultAsync()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -170,6 +170,15 @@ namespace IRaCIS.Core.Application.Contracts
 | 
			
		|||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public class MedicalCommentsFirstToBeDoneQuery
 | 
			
		||||
    {
 | 
			
		||||
        [NotDefault]
 | 
			
		||||
        public Guid TrialId { get; set; }
 | 
			
		||||
 | 
			
		||||
        [NotDefault]
 | 
			
		||||
        public Guid TrialReadingCriterionId { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public class MedicalCommentsToBeDoneDto : TrialBaseInfoDto
 | 
			
		||||
    {
 | 
			
		||||
        public Guid TrialReadingCriterionId { get; set; }
 | 
			
		||||
| 
						 | 
				
			
			@ -177,6 +186,8 @@ namespace IRaCIS.Core.Application.Contracts
 | 
			
		|||
        public int? UrgentCount { get; set; }
 | 
			
		||||
 | 
			
		||||
        public int? ToBeReplyedCount { get; set; }
 | 
			
		||||
 | 
			
		||||
        public int? ToBeReviewedCount { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public class ImageCheckQuestionToBeDoneQuery : PageInput
 | 
			
		||||
| 
						 | 
				
			
			@ -337,6 +348,8 @@ namespace IRaCIS.Core.Application.Contracts
 | 
			
		|||
 | 
			
		||||
        public int? Medical_MIM_ToBeDealedCount { get; set; }
 | 
			
		||||
 | 
			
		||||
        public int? Medical_MIM_ToBeReviewedCount { get; set; }
 | 
			
		||||
 | 
			
		||||
        public int? Medical_IR_ToBeDealedCount { get; set; }
 | 
			
		||||
 | 
			
		||||
        public int UserTotalToBeDoneCount => new[]
 | 
			
		||||
| 
						 | 
				
			
			@ -356,7 +369,8 @@ namespace IRaCIS.Core.Application.Contracts
 | 
			
		|||
            Reading_SPM_ToBeApprovalCount ?? 0,
 | 
			
		||||
            Reading_PM_ToBeApprovalCount ?? 0,
 | 
			
		||||
            Medical_MIM_ToBeDealedCount ?? 0,
 | 
			
		||||
            Medical_IR_ToBeDealedCount ?? 0
 | 
			
		||||
            Medical_IR_ToBeDealedCount ?? 0,
 | 
			
		||||
            Medical_MIM_ToBeReviewedCount??0
 | 
			
		||||
        }.Sum();
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,10 @@
 | 
			
		|||
using IRaCIS.Application.Contracts;
 | 
			
		||||
using IRaCIS.Core.Application.Contracts;
 | 
			
		||||
using IRaCIS.Core.Application.Interfaces;
 | 
			
		||||
using IRaCIS.Core.Application.ViewModel;
 | 
			
		||||
using IRaCIS.Core.Domain.Models;
 | 
			
		||||
using IRaCIS.Core.Domain.Share;
 | 
			
		||||
using IRaCIS.Core.Infrastructure;
 | 
			
		||||
using IRaCIS.Core.Infrastructure.Extention;
 | 
			
		||||
using MathNet.Numerics;
 | 
			
		||||
using Microsoft.AspNetCore.Mvc;
 | 
			
		||||
| 
						 | 
				
			
			@ -255,6 +258,40 @@ namespace IRaCIS.Core.Application
 | 
			
		|||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        ///PM  阅片人筛选 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="inQuery"></param>
 | 
			
		||||
        /// <param name="_enrollRepository"></param>
 | 
			
		||||
        /// <param name="_trialRepository"></param>
 | 
			
		||||
        /// <returns></returns>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              vvv
 | 
			
		||||
        [HttpPost]
 | 
			
		||||
        public async Task<IResponseOutput<PageOutput<ReviewerSelectToBeDoneDto>>> GetPM_ReviewerSelectToBeDoneList(ReviewerSelectToBeDoneQuery inQuery
 | 
			
		||||
            , [FromServices] IRepository<Enroll> _enrollRepository,
 | 
			
		||||
             [FromServices] IRepository<Trial> _trialRepository)
 | 
			
		||||
        {
 | 
			
		||||
            var query = _trialRepository
 | 
			
		||||
                .Where(t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id))
 | 
			
		||||
                    .Select(t => new ReviewerSelectToBeDoneDto()
 | 
			
		||||
                    {
 | 
			
		||||
                        TrialId = t.Id,
 | 
			
		||||
                        ResearchProgramNo = t.ResearchProgramNo,
 | 
			
		||||
                        ExperimentName = t.ExperimentName,
 | 
			
		||||
                        TrialCode = t.TrialCode,
 | 
			
		||||
 | 
			
		||||
                        IsUrgent = t.IsUrgent || t.IsSubjectExpeditedView,
 | 
			
		||||
                        ToBeApprovalCount = t.EnrollList.Where(u => u.EnrollStatus == EnrollStatus.InviteIntoGroup).Count()
 | 
			
		||||
                    });
 | 
			
		||||
 | 
			
		||||
            var result = await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, inQuery.SortField, inQuery.Asc);
 | 
			
		||||
 | 
			
		||||
            var toBeApprovalCount = await _enrollRepository.Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
 | 
			
		||||
                .Where(u => u.EnrollStatus == EnrollStatus.HasCommittedToCRO).CountAsync();
 | 
			
		||||
 | 
			
		||||
            return ResponseOutput.Ok(result, new { ToBeApprovalCount = toBeApprovalCount }); ;
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -262,14 +299,14 @@ namespace IRaCIS.Core.Application
 | 
			
		|||
        #region SPM  CPM 待办
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 阅片人筛选 
 | 
			
		||||
        ///SPM  阅片人筛选 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="inQuery"></param>
 | 
			
		||||
        /// <param name="_enrollRepository"></param>
 | 
			
		||||
        /// <param name="_trialRepository"></param>
 | 
			
		||||
        /// <returns></returns>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              vvv
 | 
			
		||||
        [HttpPost]
 | 
			
		||||
        public async Task<IResponseOutput<PageOutput<ReviewerSelectToBeDoneDto>>> GetReviewerSelectToBeDoneList(ReviewerSelectToBeDoneQuery inQuery
 | 
			
		||||
        public async Task<IResponseOutput<PageOutput<ReviewerSelectToBeDoneDto>>> GetSPM_ReviewerSelectToBeDoneList(ReviewerSelectToBeDoneQuery inQuery
 | 
			
		||||
            , [FromServices] IRepository<Enroll> _enrollRepository,
 | 
			
		||||
             [FromServices] IRepository<Trial> _trialRepository)
 | 
			
		||||
        {
 | 
			
		||||
| 
						 | 
				
			
			@ -653,6 +690,10 @@ namespace IRaCIS.Core.Application
 | 
			
		|||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -845,7 +886,7 @@ namespace IRaCIS.Core.Application
 | 
			
		|||
                .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 });
 | 
			
		||||
            return ResponseOutput.Ok(result, new { TotalToBeReplyedCount = toBeDealedCount });
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -860,6 +901,7 @@ namespace IRaCIS.Core.Application
 | 
			
		|||
        /// MIM医学反馈 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="inQuery"></param>
 | 
			
		||||
        /// <param name="_taskMedicalReviewRepository"></param>
 | 
			
		||||
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost]
 | 
			
		||||
| 
						 | 
				
			
			@ -893,19 +935,63 @@ namespace IRaCIS.Core.Application
 | 
			
		|||
                    ToBeReplyedCount = g.Where(u =>
 | 
			
		||||
                     u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer).Count(),
 | 
			
		||||
 | 
			
		||||
                    ToBeReviewedCount=g.Where(u =>  !u.IsInvalid && u.AuditState != MedicalReviewAuditState.HaveSigned).Count()
 | 
			
		||||
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            var result = await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, inQuery.SortField, inQuery.Asc);
 | 
			
		||||
 | 
			
		||||
            var toBeDealedCount = _taskMedicalReviewRepository
 | 
			
		||||
            var toBeReplyedQuery = _taskMedicalReviewRepository
 | 
			
		||||
                  .Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
 | 
			
		||||
                  .Where(t => t.IsClosedDialog == false)
 | 
			
		||||
                  .Where(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer).Count();
 | 
			
		||||
                  .Where(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer);
 | 
			
		||||
 | 
			
		||||
            return ResponseOutput.Ok(result, new { TotalToBeReUploadCount = toBeDealedCount });
 | 
			
		||||
            var toBeReplyedCount = toBeReplyedQuery.Count();
 | 
			
		||||
 | 
			
		||||
            var tobeReviewedCount = _taskMedicalReviewRepository
 | 
			
		||||
                  .Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
 | 
			
		||||
                  .Where(t => t.IsClosedDialog == false)
 | 
			
		||||
                  .Where(u => !u.IsInvalid && u.AuditState != MedicalReviewAuditState.HaveSigned).Count();
 | 
			
		||||
 | 
			
		||||
            //var firstToBeDone = toBeDealedQuery.ProjectTo<TaskMedicalReviewView>(_mapper.ConfigurationProvider).FirstOrDefault();
 | 
			
		||||
 | 
			
		||||
            return ResponseOutput.Ok(result, new { TotalToBeReplyedCount = toBeReplyedCount, TotalTobeReviewedCount = tobeReviewedCount });
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 获取某项目 某标准 第一条未读的医学审核
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="inQuery"></param>
 | 
			
		||||
        /// <param name="_taskMedicalReviewService"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        /// <exception cref="BusinessValidationFailedException"></exception>
 | 
			
		||||
        public async Task<TaskMedicalReviewView> GetMedicalCommentsFirstToBeDone(MedicalCommentsFirstToBeDoneQuery inQuery,
 | 
			
		||||
            [FromServices] ITaskMedicalReviewService _taskMedicalReviewService)
 | 
			
		||||
        {
 | 
			
		||||
            var result = await _taskMedicalReviewService.GetMIMMedicalReviewTaskList(new TaskMedicalReviewQuery()
 | 
			
		||||
            {
 | 
			
		||||
                TrialId = inQuery.TrialId,
 | 
			
		||||
                IsGetBeRead = true,
 | 
			
		||||
                PageIndex = 1,
 | 
			
		||||
                PageSize = 1,
 | 
			
		||||
                TrialReadingCriterionId = inQuery.TrialReadingCriterionId
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            if (result.Data.CurrentPageData.Count == 1)
 | 
			
		||||
            {
 | 
			
		||||
                return result.Data.CurrentPageData[0];
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                throw new BusinessValidationFailedException(_localizer["MedicalReview_Finish"]);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1086,13 +1172,18 @@ namespace IRaCIS.Core.Application
 | 
			
		|||
                    .Where(t => t.IsClosedDialog == false)
 | 
			
		||||
                .Where(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer).Count() : 0,
 | 
			
		||||
 | 
			
		||||
                    Medical_MIM_ToBeReviewedCount=
 | 
			
		||||
                    (t.User.UserTypeEnum == UserTypeEnum.MIM) ?
 | 
			
		||||
                    t.Trial.TaskMedicalReviewList
 | 
			
		||||
                    .Where(t => t.IsClosedDialog == false)
 | 
			
		||||
                    .Where(u => !u.IsInvalid && u.AuditState != MedicalReviewAuditState.HaveSigned).Count():0
 | 
			
		||||
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            var list = await query.ToListAsync();
 | 
			
		||||
 | 
			
		||||
            var result = list.Where(t => t.UserTotalToBeDoneCount > 0).OrderBy(t=>t.UserType).ToList();
 | 
			
		||||
            var result = list.Where(t => t.UserTotalToBeDoneCount > 0).OrderBy(t => t.UserType).ToList();
 | 
			
		||||
 | 
			
		||||
            //var result=   list.GroupBy(t => t.UserType).ToDictionary(g => g.Key, g => g.ToList());
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue