Uat_Study
parent
37863af14b
commit
8ab0241225
|
@ -101,6 +101,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
|
|
||||||
public Guid VisitTaskId { get; set; }
|
public Guid VisitTaskId { get; set; }
|
||||||
|
|
||||||
|
public Guid BaseLineTaskId { get; set; }
|
||||||
|
|
||||||
public Guid CriterionId { get; set; }
|
public Guid CriterionId { get; set; }
|
||||||
|
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
|
@ -109,6 +111,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
|
|
||||||
public Guid SubjectVisitId { get; set; }
|
public Guid SubjectVisitId { get; set; }
|
||||||
|
|
||||||
|
public Arm ArmEnum { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否修改其他任务
|
/// 是否修改其他任务
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -299,6 +299,12 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var visitTask = await _visitTaskRepository.Where(x => x.Id == visitTaskId).FirstNotNullAsync();
|
var visitTask = await _visitTaskRepository.Where(x => x.Id == visitTaskId).FirstNotNullAsync();
|
||||||
var subjectVisit = await _subjectVisitRepository.Where(x => x.Id == (visitTask.SourceSubjectVisitId ?? default(Guid))).FirstOrDefaultAsync();
|
var subjectVisit = await _subjectVisitRepository.Where(x => x.Id == (visitTask.SourceSubjectVisitId ?? default(Guid))).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
var baseLineVisitId = await _subjectVisitRepository.Where(x => x.SubjectId == visitTask.SubjectId && x.IsBaseLine).Select(x => x.Id).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var baseLinetaskId = await _visitTaskRepository.Where(x => x.SourceSubjectVisitId == baseLineVisitId && x.TaskState == TaskState.Effect && x.ArmEnum == visitTask.ArmEnum).Select(x => x.Id).FirstOrDefaultAsync();
|
||||||
var criterionId = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == visitTask.TrialId && x.IsConfirm).Select(x => x.Id).FirstOrDefaultAsync();
|
var criterionId = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == visitTask.TrialId && x.IsConfirm).Select(x => x.Id).FirstOrDefaultAsync();
|
||||||
List<QuestionInfo> questionInfos = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == criterionId).Select(x => new QuestionInfo()
|
List<QuestionInfo> questionInfos = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == criterionId).Select(x => new QuestionInfo()
|
||||||
{
|
{
|
||||||
|
@ -348,6 +354,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
TrialId = visitTask.TrialId,
|
TrialId = visitTask.TrialId,
|
||||||
IsBaseLine = subjectVisit!.IsBaseLine,
|
IsBaseLine = subjectVisit!.IsBaseLine,
|
||||||
DoctorUserId = visitTask.DoctorUserId,
|
DoctorUserId = visitTask.DoctorUserId,
|
||||||
|
BaseLineTaskId= baseLinetaskId,
|
||||||
|
ArmEnum=visitTask.ArmEnum,
|
||||||
};
|
};
|
||||||
|
|
||||||
return readingData;
|
return readingData;
|
||||||
|
@ -702,7 +710,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var visitTaskList = await GetVisitTaskAnswerList(inDto.calculateDto);
|
var visitTaskList = await GetVisitTaskAnswerList(inDto.calculateDto);
|
||||||
var lowSod = visitTaskList.Select(x => x.SOD).OrderBy(x => x).FirstOrDefault();
|
var lowSod = visitTaskList.Select(x => x.SOD).OrderBy(x => x).FirstOrDefault();
|
||||||
foreach (var item in visitTaskList)
|
foreach (var item in visitTaskList.Where(x=>x.VisitTaskId!=inDto.calculateDto.BaseLineTaskId))
|
||||||
{
|
{
|
||||||
await _readingTaskQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == item.VisitTaskId && x.ReadingQuestionTrialId == inDto.QuestionId, x => new ReadingTaskQuestionAnswer()
|
await _readingTaskQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == item.VisitTaskId && x.ReadingQuestionTrialId == inDto.QuestionId, x => new ReadingTaskQuestionAnswer()
|
||||||
{
|
{
|
||||||
|
@ -725,7 +733,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var visitTaskList = await GetVisitTaskAnswerList(inDto.calculateDto);
|
var visitTaskList = await GetVisitTaskAnswerList(inDto.calculateDto);
|
||||||
var lowSod = visitTaskList.Select(x => x.SOD).OrderBy(x => x).FirstOrDefault();
|
var lowSod = visitTaskList.Select(x => x.SOD).OrderBy(x => x).FirstOrDefault();
|
||||||
foreach (var item in visitTaskList)
|
foreach (var item in visitTaskList.Where(x => x.VisitTaskId != inDto.calculateDto.BaseLineTaskId))
|
||||||
{
|
{
|
||||||
decimal percent = 0;
|
decimal percent = 0;
|
||||||
if (lowSod == 0)
|
if (lowSod == 0)
|
||||||
|
@ -760,6 +768,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
x.TaskState == TaskState.Effect && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.DoctorUserId == inDto.calculateDto.DoctorUserId).Select(x => x.Id).ToListAsync();
|
x.TaskState == TaskState.Effect && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.DoctorUserId == inDto.calculateDto.DoctorUserId).Select(x => x.Id).ToListAsync();
|
||||||
|
|
||||||
var answer = (await GetLowVisit(inDto.calculateDto)).ToString();
|
var answer = (await GetLowVisit(inDto.calculateDto)).ToString();
|
||||||
|
visitTaskIds = visitTaskIds.Where(x => x != inDto.calculateDto.BaseLineTaskId).ToList();
|
||||||
await this.ChangeAllVisitTaskAnswer(visitTaskIds, inDto.QuestionId, answer);
|
await this.ChangeAllVisitTaskAnswer(visitTaskIds, inDto.QuestionId, answer);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -823,7 +832,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
if (visitTaskAnswerList == null)
|
if (visitTaskAnswerList == null)
|
||||||
{
|
{
|
||||||
visitTaskAnswerList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTask.ReadingCategory == ReadingCategory.Visit
|
visitTaskAnswerList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTask.ReadingCategory == ReadingCategory.Visit
|
||||||
&& x.SubjectId == inDto.SubjectId && x.VisitTask.ReadingTaskState == ReadingTaskState.HaveSigned && x.VisitTask.TaskState == TaskState.Effect && x.ReadingQuestionTrial.QuestionType == QuestionType.SOD)
|
&& x.SubjectId == inDto.SubjectId && x.VisitTask.ReadingTaskState == ReadingTaskState.HaveSigned &&x.VisitTask.ArmEnum==inDto.ArmEnum&& x.VisitTask.TaskState == TaskState.Effect && x.ReadingQuestionTrial.QuestionType == QuestionType.SOD)
|
||||||
.Select(x => new VisitTaskAnswerInfo
|
.Select(x => new VisitTaskAnswerInfo
|
||||||
{
|
{
|
||||||
VisitTaskId = x.VisitTaskId,
|
VisitTaskId = x.VisitTaskId,
|
||||||
|
|
Loading…
Reference in New Issue