修改统计
parent
b4ade5e956
commit
9d96789302
|
@ -2517,6 +2517,13 @@
|
||||||
<param name="inDto"></param>
|
<param name="inDto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</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)">
|
<member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.GetSystemClinicalQuestionList(IRaCIS.Core.Application.Service.Reading.Dto.SystemClinicalQuestionQuery)">
|
||||||
<summary>
|
<summary>
|
||||||
获取系统临床问题
|
获取系统临床问题
|
||||||
|
@ -2545,6 +2552,13 @@
|
||||||
<param name="inDto"></param>
|
<param name="inDto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</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)">
|
<member name="M:IRaCIS.Core.Application.Service.ClinicalQuestionService.GetSystemClinicalTableQuestionList(IRaCIS.Core.Application.Service.Reading.Dto.SystemClinicalTableQuestionQuery)">
|
||||||
<summary>
|
<summary>
|
||||||
获取系统表格问题
|
获取系统表格问题
|
||||||
|
@ -2587,6 +2601,18 @@
|
||||||
<param name="id"></param>
|
<param name="id"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</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">
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataTrialSetAddOrEdit.ClinicalDataSetName">
|
||||||
<summary>
|
<summary>
|
||||||
名称
|
名称
|
||||||
|
@ -2637,6 +2663,11 @@
|
||||||
文件路径
|
文件路径
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</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">
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetAddOrEdit.ClinicalDataSetEnum">
|
||||||
<summary>
|
<summary>
|
||||||
枚举
|
枚举
|
||||||
|
@ -2817,7 +2848,7 @@
|
||||||
问题英文名称
|
问题英文名称
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</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>
|
||||||
临床问题类型(分组,单选。)
|
临床问题类型(分组,单选。)
|
||||||
</summary>
|
</summary>
|
||||||
|
@ -2877,6 +2908,21 @@
|
||||||
显示类型
|
显示类型
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</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">
|
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.ClinicalQuestionQueryBase">
|
||||||
<summary>
|
<summary>
|
||||||
查询临床数据基类
|
查询临床数据基类
|
||||||
|
@ -2947,7 +2993,7 @@
|
||||||
问题英文名称
|
问题英文名称
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</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>
|
||||||
临床问题类型(分组,单选。)
|
临床问题类型(分组,单选。)
|
||||||
</summary>
|
</summary>
|
||||||
|
@ -3002,6 +3048,16 @@
|
||||||
外层问题Id
|
外层问题Id
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</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">
|
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.TrialClinicalTableQuestionDto">
|
||||||
<summary>
|
<summary>
|
||||||
项目临床数据问题
|
项目临床数据问题
|
||||||
|
@ -3057,6 +3113,21 @@
|
||||||
获取系统临床数据
|
获取系统临床数据
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</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">
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadModuleDto.TrialSiteCode">
|
||||||
<summary>
|
<summary>
|
||||||
项目中心Code
|
项目中心Code
|
||||||
|
@ -8684,6 +8755,11 @@
|
||||||
ISubjectCriteriaEvaluationService
|
ISubjectCriteriaEvaluationService
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:IRaCIS.Core.Application.Interfaces.IClinicalQuestionService">
|
||||||
|
<summary>
|
||||||
|
IClinicalQuestionService
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="T:IRaCIS.Core.Application.Interfaces.IOrganInfoService">
|
<member name="T:IRaCIS.Core.Application.Interfaces.IOrganInfoService">
|
||||||
<summary>
|
<summary>
|
||||||
IOrganInfoService
|
IOrganInfoService
|
||||||
|
@ -10314,9 +10390,18 @@
|
||||||
<param name="_trialRepository"></param>
|
<param name="_trialRepository"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</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>
|
<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>
|
</summary>
|
||||||
<param name="inQuery"></param>
|
<param name="inQuery"></param>
|
||||||
<param name="_enrollRepository"></param>
|
<param name="_enrollRepository"></param>
|
||||||
|
@ -10411,8 +10496,18 @@
|
||||||
MIM医学反馈
|
MIM医学反馈
|
||||||
</summary>
|
</summary>
|
||||||
<param name="inQuery"></param>
|
<param name="inQuery"></param>
|
||||||
|
<param name="_taskMedicalReviewRepository"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</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)">
|
<member name="M:IRaCIS.Core.Application.TrialConfigService.TrialReadingInfoSignVerify(IRaCIS.Core.Application.Contracts.TrialReadingInfoSignInDto)">
|
||||||
<summary>
|
<summary>
|
||||||
阅片信息签名验证接口
|
阅片信息签名验证接口
|
||||||
|
@ -11350,6 +11445,22 @@
|
||||||
临床数据配置
|
临床数据配置
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</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)">
|
<member name="M:IRaCIS.Application.Services.ClinicalDataSetService.AddOrUpdateClinicalDataSystemSet(IRaCIS.Core.Application.Service.Reading.Dto.ClinicalDataSystemSetAddOrEdit)">
|
||||||
<summary>
|
<summary>
|
||||||
新增或者修改(系统)
|
新增或者修改(系统)
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace IRaCIS.Core.Application.Interfaces
|
||||||
|
|
||||||
//Task<PageOutput<TaskMedicalReviewView>> GetTaskMedicalReviewList(TaskMedicalReviewQuery queryTaskMedicalReview);
|
//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 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,
|
TrialId = medicalReview.TrialId,
|
||||||
|
@ -148,14 +148,14 @@ namespace IRaCIS.Core.Application.Service
|
||||||
TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId,
|
TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId,
|
||||||
PageIndex=1,
|
PageIndex=1,
|
||||||
PageSize=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,
|
TrialId = medicalReview.TrialId,
|
||||||
|
@ -164,11 +164,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId,
|
TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId,
|
||||||
PageIndex = 1,
|
PageIndex = 1,
|
||||||
PageSize = 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
|
else
|
||||||
{
|
{
|
||||||
|
@ -186,7 +186,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[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)
|
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);
|
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()
|
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 class MedicalCommentsToBeDoneDto : TrialBaseInfoDto
|
||||||
{
|
{
|
||||||
public Guid TrialReadingCriterionId { get; set; }
|
public Guid TrialReadingCriterionId { get; set; }
|
||||||
|
@ -177,6 +186,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public int? UrgentCount { get; set; }
|
public int? UrgentCount { get; set; }
|
||||||
|
|
||||||
public int? ToBeReplyedCount { get; set; }
|
public int? ToBeReplyedCount { get; set; }
|
||||||
|
|
||||||
|
public int? ToBeReviewedCount { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ImageCheckQuestionToBeDoneQuery : PageInput
|
public class ImageCheckQuestionToBeDoneQuery : PageInput
|
||||||
|
@ -337,6 +348,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
public int? Medical_MIM_ToBeDealedCount { get; set; }
|
public int? Medical_MIM_ToBeDealedCount { get; set; }
|
||||||
|
|
||||||
|
public int? Medical_MIM_ToBeReviewedCount { get; set; }
|
||||||
|
|
||||||
public int? Medical_IR_ToBeDealedCount { get; set; }
|
public int? Medical_IR_ToBeDealedCount { get; set; }
|
||||||
|
|
||||||
public int UserTotalToBeDoneCount => new[]
|
public int UserTotalToBeDoneCount => new[]
|
||||||
|
@ -356,7 +369,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
Reading_SPM_ToBeApprovalCount ?? 0,
|
Reading_SPM_ToBeApprovalCount ?? 0,
|
||||||
Reading_PM_ToBeApprovalCount ?? 0,
|
Reading_PM_ToBeApprovalCount ?? 0,
|
||||||
Medical_MIM_ToBeDealedCount ?? 0,
|
Medical_MIM_ToBeDealedCount ?? 0,
|
||||||
Medical_IR_ToBeDealedCount ?? 0
|
Medical_IR_ToBeDealedCount ?? 0,
|
||||||
|
Medical_MIM_ToBeReviewedCount??0
|
||||||
}.Sum();
|
}.Sum();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
using IRaCIS.Application.Contracts;
|
using IRaCIS.Application.Contracts;
|
||||||
using IRaCIS.Core.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.Models;
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
|
using IRaCIS.Core.Infrastructure;
|
||||||
using IRaCIS.Core.Infrastructure.Extention;
|
using IRaCIS.Core.Infrastructure.Extention;
|
||||||
using MathNet.Numerics;
|
using MathNet.Numerics;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
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
|
#endregion
|
||||||
|
|
||||||
|
@ -262,14 +299,14 @@ namespace IRaCIS.Core.Application
|
||||||
#region SPM CPM 待办
|
#region SPM CPM 待办
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 阅片人筛选
|
///SPM 阅片人筛选
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
/// <param name="_enrollRepository"></param>
|
/// <param name="_enrollRepository"></param>
|
||||||
/// <param name="_trialRepository"></param>
|
/// <param name="_trialRepository"></param>
|
||||||
/// <returns></returns> vvv
|
/// <returns></returns> vvv
|
||||||
[HttpPost]
|
[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<Enroll> _enrollRepository,
|
||||||
[FromServices] IRepository<Trial> _trialRepository)
|
[FromServices] IRepository<Trial> _trialRepository)
|
||||||
{
|
{
|
||||||
|
@ -653,6 +690,10 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
@ -845,7 +886,7 @@ namespace IRaCIS.Core.Application
|
||||||
.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();
|
.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医学反馈
|
/// MIM医学反馈
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
|
/// <param name="_taskMedicalReviewRepository"></param>
|
||||||
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
|
@ -893,19 +935,63 @@ namespace IRaCIS.Core.Application
|
||||||
ToBeReplyedCount = g.Where(u =>
|
ToBeReplyedCount = g.Where(u =>
|
||||||
u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer).Count(),
|
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 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.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
|
||||||
.Where(t => t.IsClosedDialog == false)
|
.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
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
@ -1086,13 +1172,18 @@ namespace IRaCIS.Core.Application
|
||||||
.Where(t => t.IsClosedDialog == false)
|
.Where(t => t.IsClosedDialog == false)
|
||||||
.Where(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer).Count() : 0,
|
.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 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());
|
//var result= list.GroupBy(t => t.UserType).ToDictionary(g => g.Key, g => g.ToList());
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue