Merge branch 'Test.IRC' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test.IRC
continuous-integration/drone/push Build is passing Details

IRC_NewDev
he 2023-12-08 11:22:14 +08:00
commit 995b612537
4 changed files with 13 additions and 17 deletions

View File

@ -115,7 +115,7 @@ namespace IRaCIS.Core.Application.ViewModel
public bool? IsUrgent { get; set; } public bool? IsUrgent { get; set; }
public Guid? DoctorUserId { get; set; } public Guid? DoctorUserId { get; set; }
public bool? IsInvalid { get; set; }
public TaskState? TaskState { get; set; } public TaskState? TaskState { get; set; }
public MedicalReviewAuditState? AuditState { get; set; } public MedicalReviewAuditState? AuditState { get; set; }

View File

@ -200,6 +200,7 @@ namespace IRaCIS.Core.Application.Service
.WhereIf(inQuery.DoctorUserId != null, t => t.VisitTask.DoctorUserId == inQuery.DoctorUserId) .WhereIf(inQuery.DoctorUserId != null, t => t.VisitTask.DoctorUserId == inQuery.DoctorUserId)
.WhereIf(inQuery.ReadingCategory != null, t => t.VisitTask.ReadingCategory == inQuery.ReadingCategory) .WhereIf(inQuery.ReadingCategory != null, t => t.VisitTask.ReadingCategory == inQuery.ReadingCategory)
.WhereIf(inQuery.ReadingTaskState != null, t => t.VisitTask.ReadingTaskState == inQuery.ReadingTaskState) .WhereIf(inQuery.ReadingTaskState != null, t => t.VisitTask.ReadingTaskState == inQuery.ReadingTaskState)
.WhereIf(inQuery.IsInvalid != null, t => t.IsInvalid == inQuery.IsInvalid)
.WhereIf(inQuery.IsGetBeRead,x=>!x.IsInvalid&&x.AuditState!= MedicalReviewAuditState.HaveSigned) .WhereIf(inQuery.IsGetBeRead,x=>!x.IsInvalid&&x.AuditState!= MedicalReviewAuditState.HaveSigned)
.WhereIf(inQuery.TrialReadingCriterionId != null, t => t.VisitTask.TrialReadingCriterionId == inQuery.TrialReadingCriterionId) .WhereIf(inQuery.TrialReadingCriterionId != null, t => t.VisitTask.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)
.ProjectTo<TaskMedicalReviewView>(_mapper.ConfigurationProvider); .ProjectTo<TaskMedicalReviewView>(_mapper.ConfigurationProvider);

View File

@ -316,7 +316,7 @@ namespace IRaCIS.Core.Application.Service
}; };
var (trialEmailConfig, sendEmailConfig) = await _emailSendService.BuildEmailConfig(taskInfo.TrialId, businessScenarioEnum, topicAndHtmlFunc, taskInfo.SiteId); var (trialEmailConfig, sendEmailConfig) = await _emailSendService.BuildEmailConfig(taskInfo.TrialId, businessScenarioEnum, topicAndHtmlFunc, taskInfo.SiteId,taskInfo.TrialReadingCriterionId);
#endregion #endregion

View File

@ -1061,7 +1061,7 @@ namespace IRaCIS.Core.Application
#region 废弃不能对包含聚合或子查询的表达式执行聚合函数 #region 废弃不能对包含聚合或子查询的表达式执行聚合函数
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.MedicalManagerUserId == _userInfo.Id)
.GroupBy(t => new .GroupBy(t => new
{ {
t.TrialId, t.TrialId,
@ -1078,18 +1078,15 @@ namespace IRaCIS.Core.Application
ExperimentName = g.Key.ExperimentName, ExperimentName = g.Key.ExperimentName,
TrialCode = g.Key.TrialCode, TrialCode = g.Key.TrialCode,
CriterionName = g.Key.CriterionName, CriterionName = g.Key.CriterionName,
TrialReadingCriterionId=g.Key.TrialReadingCriterionId,
UrgentCount = g.Where(u => u.VisitTask.IsUrgent).Select(u => u.VisitTask.IsUrgent && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IndependentReviewer).Count(), UrgentCount = g.Where(u => u.VisitTask.IsUrgent).Select(u => u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IndependentReviewer).Count(),
ToBeReplyedCount = g.Select(u => u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IndependentReviewer).Count(), ToBeReplyedCount = g.Where(u => u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IndependentReviewer && u.AuditState == MedicalReviewAuditState.Auditing ).Count(),
//UrgentCount = g.Where(u => u.VisitTask.IsUrgent).Select(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First()).Count(t => t.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer), ToBeReviewedCount = g.Where(u => u.AuditState != MedicalReviewAuditState.HaveSigned && u.LatestReplyUser.UserTypeEnum != UserTypeEnum.IndependentReviewer).Count()
//ToBeReplyedCount = g.Select(t => t.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First()).Count(t => t.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer), }).Where(t => t.ToBeReviewedCount > 0);
ToBeReviewedCount = g.Where(u => !u.IsInvalid && u.AuditState != MedicalReviewAuditState.HaveSigned).Count()
}).Where(t => t.ToBeReplyedCount > 0);
#endregion #endregion
@ -1102,19 +1099,17 @@ namespace IRaCIS.Core.Application
var toBeReplyedQuery = _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 && t.VisitTask.TaskState == TaskState.Effect && t.IsInvalid == false && t.MedicalManagerUserId == _userInfo.Id)
.Where(u => u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IndependentReviewer); .Where(u => u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IndependentReviewer && u.AuditState == MedicalReviewAuditState.Auditing);
//.Where(u => u.ReadingMedicalReviewDialogList.OrderByDescending(l => l.CreateTime).First().UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer);
var toBeReplyedCount = toBeReplyedQuery.Count(); var toBeReplyedCount = toBeReplyedQuery.Count();
var tobeReviewedCount = _taskMedicalReviewRepository var tobeReviewedCount = _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.MedicalManagerUserId == _userInfo.Id)
.Where(u => !u.IsInvalid && u.AuditState != MedicalReviewAuditState.HaveSigned).Count(); .Where(u => u.AuditState != MedicalReviewAuditState.HaveSigned && u.LatestReplyUser.UserTypeEnum != UserTypeEnum.IndependentReviewer).Count();
//var firstToBeDone = toBeDealedQuery.ProjectTo<TaskMedicalReviewView>(_mapper.ConfigurationProvider).FirstOrDefault();
return ResponseOutput.Ok(result, new { TotalToBeReplyedCount = toBeReplyedCount, TotalTobeReviewedCount = tobeReviewedCount }); return ResponseOutput.Ok(result, new { TotalToBeReplyedCount = toBeReplyedCount, TotalTobeReviewedCount = tobeReviewedCount });