修改一版
parent
df9d4fa7e5
commit
ec26ce377e
|
@ -16,6 +16,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
public string FileName { get; set; }
|
public string FileName { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class SubjectTask
|
||||||
|
{
|
||||||
|
public Guid SubjectId { get; set; }
|
||||||
|
|
||||||
|
public int UnReadTaskCount { get; set; }
|
||||||
|
|
||||||
|
public int Index { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
public class GetReadingTaskDto
|
public class GetReadingTaskDto
|
||||||
{
|
{
|
||||||
public Guid VisistTaskId { get; set; }
|
public Guid VisistTaskId { get; set; }
|
||||||
|
@ -23,6 +32,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
|
|
||||||
public Guid SubjectId { get; set; }
|
public Guid SubjectId { get; set; }
|
||||||
|
|
||||||
|
public string SubjectCode { get; set; }
|
||||||
|
|
||||||
public ReadingCategory ReadingCategory { get; set; }
|
public ReadingCategory ReadingCategory { get; set; }
|
||||||
|
|
||||||
public decimal VisitNum { get; set; }
|
public decimal VisitNum { get; set; }
|
||||||
|
|
|
@ -31,6 +31,7 @@ namespace IRaCIS.Application.Services
|
||||||
private readonly IRepository<VisitTask> _visitTaskRepository;
|
private readonly IRepository<VisitTask> _visitTaskRepository;
|
||||||
private readonly IVisitTaskHelpeService _visitTaskHelpeService;
|
private readonly IVisitTaskHelpeService _visitTaskHelpeService;
|
||||||
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
||||||
|
private readonly IRepository<Subject> _subjectRepository;
|
||||||
private readonly IRepository<ReadModule> _readModuleRepository;
|
private readonly IRepository<ReadModule> _readModuleRepository;
|
||||||
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
|
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
|
||||||
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository;
|
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository;
|
||||||
|
@ -43,6 +44,7 @@ namespace IRaCIS.Application.Services
|
||||||
IRepository<VisitTask> visitTaskRepository,
|
IRepository<VisitTask> visitTaskRepository,
|
||||||
IVisitTaskHelpeService visitTaskHelpeService,
|
IVisitTaskHelpeService visitTaskHelpeService,
|
||||||
IRepository<SubjectVisit> subjectVisitRepository,
|
IRepository<SubjectVisit> subjectVisitRepository,
|
||||||
|
IRepository<Subject> subjectRepository,
|
||||||
IRepository<ReadModule> readModuleRepository,
|
IRepository<ReadModule> readModuleRepository,
|
||||||
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository,
|
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository,
|
||||||
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
|
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
|
||||||
|
@ -54,6 +56,7 @@ namespace IRaCIS.Application.Services
|
||||||
this._visitTaskRepository = visitTaskRepository;
|
this._visitTaskRepository = visitTaskRepository;
|
||||||
this._visitTaskHelpeService = visitTaskHelpeService;
|
this._visitTaskHelpeService = visitTaskHelpeService;
|
||||||
this._subjectVisitRepository = subjectVisitRepository;
|
this._subjectVisitRepository = subjectVisitRepository;
|
||||||
|
this._subjectRepository = subjectRepository;
|
||||||
this._readModuleRepository = readModuleRepository;
|
this._readModuleRepository = readModuleRepository;
|
||||||
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
||||||
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
|
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
|
||||||
|
@ -85,7 +88,19 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
if (subjectId != null)
|
if (subjectId != null)
|
||||||
{
|
{
|
||||||
task = await _visitTaskRepository.Where(x => x.TrialId == trialId && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.SubjectId == subjectId.Value&&x.DoctorUserId == _userInfo.Id).Select(x => new GetReadingTaskDto()
|
|
||||||
|
var subjectList = await _subjectRepository.Where(t => t.TrialId == trialId)
|
||||||
|
.Where(t => t.SubjectDoctorList.Any(t => t.DoctorUserId == _userInfo.Id))
|
||||||
|
.Select((s,index) => new SubjectTask()
|
||||||
|
{
|
||||||
|
Index=index,
|
||||||
|
SubjectId = s.Id,
|
||||||
|
UnReadTaskCount = s.SubjectVisitTaskList.Count(t => t.ReadingTaskState != ReadingTaskState.HaveSigned && t.DoctorUserId == _userInfo.Id),
|
||||||
|
}).ToListAsync();
|
||||||
|
|
||||||
|
var subjectIndex = subjectList.Where(x => x.SubjectId == subjectId).Select(x=>x.Index).FirstOrDefault();
|
||||||
|
var newSubjectId = subjectList.Where(x => x.Index >= subjectIndex && x.UnReadTaskCount != 0).Select(x=>x.SubjectId).FirstOrDefault();
|
||||||
|
task = await _visitTaskRepository.Where(x => x.TrialId == trialId && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.SubjectId == newSubjectId && x.DoctorUserId == _userInfo.Id).Select(x => new GetReadingTaskDto()
|
||||||
{
|
{
|
||||||
VisistTaskId=x.Id,
|
VisistTaskId=x.Id,
|
||||||
ReadingCategory = x.ReadingCategory,
|
ReadingCategory = x.ReadingCategory,
|
||||||
|
@ -115,7 +130,7 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
task.SubjectId = await _subjectVisitRepository.Where(x => x.Id == task.VisistId).Select(x => x.SubjectId).FirstOrDefaultAsync();
|
task.SubjectId = await _subjectVisitRepository.Where(x => x.Id == task.VisistId).Select(x => x.SubjectId).FirstOrDefaultAsync();
|
||||||
}
|
}
|
||||||
|
task.SubjectCode= await _subjectRepository.Where(x => x.Id == task.SubjectId).Select(x => x.Code).FirstOrDefaultAsync();
|
||||||
return task;
|
return task;
|
||||||
|
|
||||||
|
|
||||||
|
@ -149,6 +164,7 @@ namespace IRaCIS.Application.Services
|
||||||
return (result, new {
|
return (result, new {
|
||||||
VisitTaskId= task.VisistTaskId,
|
VisitTaskId= task.VisistTaskId,
|
||||||
SubjectId=task.SubjectId,
|
SubjectId=task.SubjectId,
|
||||||
|
SubjectCode=task.SubjectCode,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue