修改统计列表

IRC_NewDev
hang 2024-03-01 12:17:37 +08:00
parent 26fe947991
commit b685b9fa13
1 changed files with 34 additions and 23 deletions

View File

@ -866,7 +866,7 @@ namespace IRaCIS.Core.Application
{ {
var newQuery = _trialReadingCriterionRepository.Where(t => t.IsConfirm == true && t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id)) var newQuery = _trialReadingCriterionRepository.Where(t => t.IsSigned && t.IsConfirm && t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
.Select(c => new IRImageReadingToBeDoneDto() .Select(c => new IRImageReadingToBeDoneDto()
{ {
TrialId = c.TrialId, TrialId = c.TrialId,
@ -978,7 +978,7 @@ namespace IRaCIS.Core.Application
var toBeDealedCount = _trialRepository var toBeDealedCount = _trialRepository
.Where(t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id)) .Where(t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id))
.SelectMany(t => t.VisitTaskList) .SelectMany(t => t.VisitTaskList)
.Where(t => t.DoctorUserId == _userInfo.Id && t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect) .Where(t => t.DoctorUserId == _userInfo.Id && t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect && t.TrialReadingCriterion.IsSigned == true && t.TrialReadingCriterion.IsConfirm == true)
// 前序 不存在 未一致性核查未通过的 // 前序 不存在 未一致性核查未通过的
.Where(t => !t.Subject.SubjectVisitList.Any(sv => sv.CheckState != CheckStateEnum.CVPassed && t.VisitTaskNum > sv.VisitNum)) .Where(t => !t.Subject.SubjectVisitList.Any(sv => sv.CheckState != CheckStateEnum.CVPassed && t.VisitTaskNum > sv.VisitNum))
//前序 不存在 未生成任务的访视 //前序 不存在 未生成任务的访视
@ -1005,7 +1005,7 @@ namespace IRaCIS.Core.Application
var query = _taskMedicalReviewRepository var query = _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 && t.VisitTask.TaskState == TaskState.Effect && t.IsInvalid == false && t.DoctorUserId == _userInfo.Id)
.GroupBy(t => new .GroupBy(t => new
{ {
t.TrialId, t.TrialId,
@ -1245,8 +1245,8 @@ namespace IRaCIS.Core.Application
IsHaveSysDocNeedNeedSign = needSignSysDocCont > 0, IsHaveSysDocNeedNeedSign = needSignSysDocCont > 0,
//TrialNeedSignList= trialNeedSignList, //TrialNeedSignList= trialNeedSignList,
SysWaitSignDocCount = isPM ? needSignSysDocCont : 0, SysWaitSignDocCount = needSignSysDocCont,
TrialWaitSignDocCount = isPM ? needSignTrialCount : 0, TrialWaitSignDocCount = needSignTrialCount ,
#region PM #region PM
@ -1368,26 +1368,37 @@ namespace IRaCIS.Core.Application
#region IR #region IR
IR_IamgeWaitReadingCount = isIR ? await _trialReadingCriterionRepository.Where(t => t.IsConfirm == true && t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id)) IR_IamgeWaitReadingCount = isIR ?
// await _trialRepository
//.Where(t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id))
//.Where(c=>c.VisitTaskList.Where(t => t.DoctorUserId == _userInfo.Id && t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect && t.TrialReadingCriterion.IsSigned && t.TrialReadingCriterion.IsConfirm )
// // 前序 不存在 未一致性核查未通过的
// .Where(t => !t.Subject.SubjectVisitList.Any(sv => sv.CheckState != CheckStateEnum.CVPassed && t.VisitTaskNum > sv.VisitNum))
// //前序 不存在 未生成任务的访视
// .Where(t => t.TrialReadingCriterion.IsAutoCreate == false ? !t.Subject.SubjectCriteriaEvaluationVisitFilterList.Where(d => d.TrialReadingCriterionId == t.TrialReadingCriterionId).Any(f => f.IsGeneratedTask == false && t.VisitTaskNum > f.SubjectVisit.VisitNum) : true)
// .Where(y => y.IsFrontTaskNeedSignButNotSign == false && (y.IsNeedClinicalDataSign == false || y.IsClinicalDataSign == true)).Count()>0).CountAsync() : 0,
await _trialReadingCriterionRepository.Where(t => t.IsSigned == true && t.IsConfirm == true && t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
.Where(c => c.VisitTaskList.Where(t => t.DoctorUserId == _userInfo.Id && t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect) .Where(c => c.VisitTaskList.Where(t => t.DoctorUserId == _userInfo.Id && t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect)
// 前序 不存在 未一致性核查未通过的 // 前序 不存在 未一致性核查未通过的
.Where(t => !t.Subject.SubjectVisitList.Any(sv => sv.CheckState != CheckStateEnum.CVPassed && t.VisitTaskNum > sv.VisitNum)) .Where(t => !t.Subject.SubjectVisitList.Any(sv => sv.CheckState != CheckStateEnum.CVPassed && t.VisitTaskNum > sv.VisitNum))
//前序 不存在 未生成任务的访视
//.WhereIf(g.Key.IsAutoCreate == false, t => !t.Subject.SubjectCriteriaEvaluationVisitFilterList.Where(d => d.TrialReadingCriterionId == t.TrialReadingCriterionId).Any(f => f.IsGeneratedTask == false && t.VisitTaskNum > f.SubjectVisit.VisitNum))
.Where(t => c.IsAutoCreate ? !t.Subject.SubjectCriteriaEvaluationVisitFilterList.Where(d => d.TrialReadingCriterionId == t.TrialReadingCriterionId).Any(f => f.IsGeneratedTask == false && t.VisitTaskNum > f.SubjectVisit.VisitNum) : true) .Where(t => c.IsAutoCreate ? !t.Subject.SubjectCriteriaEvaluationVisitFilterList.Where(d => d.TrialReadingCriterionId == t.TrialReadingCriterionId).Any(f => f.IsGeneratedTask == false && t.VisitTaskNum > f.SubjectVisit.VisitNum) : true)
.Where(y => y.IsFrontTaskNeedSignButNotSign == false && (y.IsNeedClinicalDataSign == false || y.IsClinicalDataSign == true)) .Where(y => y.IsFrontTaskNeedSignButNotSign == false && (y.IsNeedClinicalDataSign == false || y.IsClinicalDataSign == true)).Count()>0).CountAsync()
.Count() > 0).CountAsync() : 0,
: 0,
IR_MedicalReviewCount = isIR ? await _taskMedicalReviewRepository.Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id)) IR_MedicalReviewCount = isIR ? await _taskMedicalReviewRepository.Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
.Where(t => t.IsClosedDialog == false && t.VisitTask.TaskState == TaskState.Effect && t.IsInvalid == false && t.MedicalManagerUserId == _userInfo.Id) .Where(t => t.IsClosedDialog == false && t.VisitTask.TaskState == TaskState.Effect && t.IsInvalid == false && t.DoctorUserId == _userInfo.Id)
.GroupBy(t => t.TrialId) .GroupBy(t => new { t.TrialId, t.VisitTask.TrialReadingCriterionId} )
.Select(g => new .Where(g=>g.Where(u => u.LatestReplyUser.UserTypeEnum == UserTypeEnum.MIM && u.AuditState == MedicalReviewAuditState.Auditing).Count()>0).CountAsync() : 0,
{
TrialId = g.Key,
ToBeReplyedCount = g.Where(u => u.LatestReplyUser.UserTypeEnum == UserTypeEnum.MIM && u.AuditState == MedicalReviewAuditState.Auditing).Count(),
}).Where(t => t.ToBeReplyedCount > 0).CountAsync() : 0,
#endregion #endregion
@ -1503,7 +1514,7 @@ namespace IRaCIS.Core.Application
IR_UnReadCount= isIR ?t.VisitTaskList IR_UnReadCount= isIR ?t.VisitTaskList
.Where(c => c.DoctorUserId == _userInfo.Id && c.ReadingTaskState != ReadingTaskState.HaveSigned && c.TaskState == TaskState.Effect) .Where(c => c.DoctorUserId == _userInfo.Id && c.ReadingTaskState != ReadingTaskState.HaveSigned && c.TaskState == TaskState.Effect && c.TrialReadingCriterion.IsSigned)
// 前序 不存在 未一致性核查未通过的 // 前序 不存在 未一致性核查未通过的
.Where(t => !t.Subject.SubjectVisitList.Any(sv => sv.CheckState != CheckStateEnum.CVPassed && t.VisitTaskNum > sv.VisitNum)) .Where(t => !t.Subject.SubjectVisitList.Any(sv => sv.CheckState != CheckStateEnum.CVPassed && t.VisitTaskNum > sv.VisitNum))
//前序 不存在 未生成任务的访视 //前序 不存在 未生成任务的访视
@ -1637,7 +1648,7 @@ namespace IRaCIS.Core.Application
Medical_IR_ToBeDealedCount = Medical_IR_ToBeDealedCount =
(t.User.UserTypeEnum == UserTypeEnum.IndependentReviewer) ? (t.User.UserTypeEnum == UserTypeEnum.IndependentReviewer) ?
t.Trial.TaskMedicalReviewList t.Trial.TaskMedicalReviewList
.Where(c => c.IsClosedDialog == false && c.VisitTask.DoctorUserId == t.UserId) .Where(c => c.IsClosedDialog == false && c.VisitTask.DoctorUserId == t.UserId && c.IsInvalid == false)
.Where(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.MIM).Count() : 0, .Where(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.MIM).Count() : 0,
@ -1650,7 +1661,7 @@ namespace IRaCIS.Core.Application
Medical_MIM_ToBeReviewedCount = Medical_MIM_ToBeReviewedCount =
(t.User.UserTypeEnum == UserTypeEnum.MIM) ? (t.User.UserTypeEnum == UserTypeEnum.MIM) ?
t.Trial.TaskMedicalReviewList t.Trial.TaskMedicalReviewList
.Where(t => t.IsClosedDialog == false) .Where(t => t.IsClosedDialog == false && t.IsInvalid == false)
.Where(u => !u.IsInvalid && u.AuditState != MedicalReviewAuditState.HaveSigned).Count() : 0 .Where(u => !u.IsInvalid && u.AuditState != MedicalReviewAuditState.HaveSigned).Count() : 0
}); });