重新发布
parent
50ef2e83ce
commit
48ede05926
|
@ -149,6 +149,10 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
public class IRImageReadingToBeDoneDto : TrialBaseInfoDto
|
public class IRImageReadingToBeDoneDto : TrialBaseInfoDto
|
||||||
{
|
{
|
||||||
|
public Guid TrialReadingCriterionId { get; set; }
|
||||||
|
public string CriterionName { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public int? UrgentCount { get; set; }
|
public int? UrgentCount { get; set; }
|
||||||
|
|
||||||
public int? UnReadCount { get; set; }
|
public int? UnReadCount { get; set; }
|
||||||
|
@ -167,7 +171,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
public class MedicalCommentsToBeDoneDto : TrialBaseInfoDto
|
public class MedicalCommentsToBeDoneDto : TrialBaseInfoDto
|
||||||
{
|
{
|
||||||
|
public Guid TrialReadingCriterionId { get; set; }
|
||||||
public string CriterionName { get; set; }
|
public string CriterionName { get; set; }
|
||||||
public int? UrgentCount { get; set; }
|
public int? UrgentCount { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -555,46 +555,62 @@ namespace IRaCIS.Core.Application
|
||||||
[FromServices] IRepository<Trial> _trialRepository)
|
[FromServices] IRepository<Trial> _trialRepository)
|
||||||
{
|
{
|
||||||
|
|
||||||
var query = _trialRepository
|
//var query = _trialRepository
|
||||||
.Select(t => new IRImageReadingToBeDoneDto()
|
|
||||||
{
|
|
||||||
TrialId = t.Id,
|
|
||||||
ResearchProgramNo = t.ResearchProgramNo,
|
|
||||||
ExperimentName = t.ExperimentName,
|
|
||||||
TrialCode = t.TrialCode,
|
|
||||||
|
|
||||||
|
|
||||||
UrgentCount = t.SubjectVisitList.SelectMany(c => c.QCChallengeList)
|
|
||||||
.Where(u => u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator && u.SubjectVisit.IsUrgent).Count(),
|
|
||||||
|
|
||||||
UnReadCount=t.VisitTaskList.Where(t => t.DoctorUserId == _userInfo.Id && t.ReadingTaskState != ReadingTaskState.HaveSigned && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze))
|
|
||||||
.Where(y=>y.IsFrontTaskNeedSignButNotSign == false && (y.IsNeedClinicalDataSign == false || y.IsClinicalDataSign == true))
|
|
||||||
|
|
||||||
|
|
||||||
.Count(),
|
|
||||||
|
|
||||||
HaveSignedCount = t.VisitTaskList.Where(t => t.DoctorUserId == _userInfo.Id
|
|
||||||
&& (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze)
|
|
||||||
&& t.ReadingTaskState==ReadingTaskState.HaveSigned).Count()
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
//var query = _visitTaskRepository.Where(t=>t.DoctorUserId==_userInfo.Id && (t.TaskState == TaskState.Effect ||t.TaskState==TaskState.Freeze))
|
|
||||||
// .GroupBy(t=>new {t.SubjectId,t.TrialId,t.Subject.Code,t.Trial.ResearchProgramNo,t.Trial.ExperimentName, t.BlindSubjectCode})
|
|
||||||
// .Select(t => new IRImageReadingToBeDoneDto()
|
// .Select(t => new IRImageReadingToBeDoneDto()
|
||||||
// {
|
// {
|
||||||
// TrialId = t.Id,
|
// TrialId = t.Id,
|
||||||
// ResearchProgramNo = t.ResearchProgramNo,
|
// ResearchProgramNo = t.ResearchProgramNo,
|
||||||
// ExperimentName = t.ExperimentName,
|
// ExperimentName = t.ExperimentName,
|
||||||
// TrialCode = t.TrialCode,
|
// TrialCode = t.TrialCode,
|
||||||
|
|
||||||
|
|
||||||
// UrgentCount = t.SubjectVisitList.SelectMany(c => c.QCChallengeList)
|
// UrgentCount = t.SubjectVisitList.SelectMany(c => c.QCChallengeList)
|
||||||
// .Where(u => u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator && u.SubjectVisit.IsUrgent).Count(),
|
// .Where(u => u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator && u.SubjectVisit.IsUrgent).Count(),
|
||||||
// ToBeDealedCount = t.SubjectVisitList.SelectMany(c => c.QCChallengeList)
|
|
||||||
// .Where(u => u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).Count(),
|
// UnReadCount=t.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.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(),
|
||||||
|
|
||||||
|
// HaveSignedCount = t.VisitTaskList.Where(t => t.DoctorUserId == _userInfo.Id
|
||||||
|
// && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze)
|
||||||
|
// && t.ReadingTaskState==ReadingTaskState.HaveSigned).Count()
|
||||||
|
|
||||||
// });
|
// });
|
||||||
|
|
||||||
|
|
||||||
|
var query = _visitTaskRepository.Where(t => t.DoctorUserId == _userInfo.Id && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze))
|
||||||
|
.GroupBy(t => new { t.TrialId, t.Trial.ResearchProgramNo, t.Trial.TrialCode, t.Trial.ExperimentName,t.TrialReadingCriterionId,t.TrialReadingCriterion.CriterionName })
|
||||||
|
.Select(g => new IRImageReadingToBeDoneDto()
|
||||||
|
{
|
||||||
|
TrialId = g.Key.TrialId,
|
||||||
|
ResearchProgramNo = g.Key.ResearchProgramNo,
|
||||||
|
ExperimentName = g.Key.ExperimentName,
|
||||||
|
TrialCode = g.Key.TrialCode,
|
||||||
|
CriterionName = g.Key.CriterionName,
|
||||||
|
TrialReadingCriterionId = g.Key.TrialReadingCriterionId,
|
||||||
|
|
||||||
|
//UrgentCount = t.SubjectVisitList.SelectMany(c => c.QCChallengeList)
|
||||||
|
//.Where(u => u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator && u.SubjectVisit.IsUrgent).Count(),
|
||||||
|
|
||||||
|
UnReadCount = g.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.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(),
|
||||||
|
|
||||||
|
HaveSignedCount = g.Where(t => t.DoctorUserId == _userInfo.Id && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze)
|
||||||
|
&& t.ReadingTaskState==ReadingTaskState.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);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
@ -624,7 +640,7 @@ 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
|
UrgentCount = g.Where(u => u.VisitTask.IsUrgent
|
||||||
&& u.ReadingMedicalReviewDialogList.OrderByDescending(l=>l.CreateTime).First().UserTypeEnumInt==(int) UserTypeEnum.MIM).Count(),
|
&& u.ReadingMedicalReviewDialogList.OrderByDescending(l=>l.CreateTime).First().UserTypeEnumInt==(int) UserTypeEnum.MIM).Count(),
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue