Uat_Study
parent
e03ef0659b
commit
c684760d43
|
@ -105,6 +105,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
public class GetReadingReportEvaluationOutDto
|
||||
{
|
||||
public string TumorEvaluate { get; set; }
|
||||
|
||||
|
||||
public string IsExistDisease { get; set; }
|
||||
public ReadingTaskState ReadingTaskState { get; set; }
|
||||
|
||||
public List<VisitTaskInfo> VisitTaskList { get; set; }
|
||||
|
|
|
@ -247,6 +247,16 @@ namespace IRaCIS.Core.Application.Service
|
|||
return await GetTumor(await GetReadingCalculateDto(visitTaskId));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取报告是否存在疾病
|
||||
/// </summary>
|
||||
/// <param name="visitTaskId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<string> GetReportIsExistDisease(Guid visitTaskId)
|
||||
{
|
||||
return await GetIsExistDisease(await GetReadingCalculateDto(visitTaskId));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 验证访视提交
|
||||
/// </summary>
|
||||
|
@ -523,7 +533,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
{
|
||||
return null;
|
||||
}
|
||||
var decimalAnswerList = await GetVisitTaskAnswerList(inDto);
|
||||
var decimalAnswerList = await GetLowSODVisit(inDto);
|
||||
var minSOD = decimalAnswerList.OrderBy(x => x.SOD).Select(x => x.SOD).FirstOrDefault();
|
||||
return value.NullChange0() - minSOD;
|
||||
}
|
||||
|
@ -545,7 +555,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
{
|
||||
return null;
|
||||
}
|
||||
var decimalAnswerList = await GetVisitTaskAnswerList(inDto);
|
||||
var decimalAnswerList = await GetLowSODVisit(inDto);
|
||||
var minSOD = decimalAnswerList.OrderBy(x => x.SOD).Select(x => x.SOD).FirstOrDefault();
|
||||
|
||||
if (minSOD == 0)
|
||||
|
@ -577,7 +587,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
return nameof(YesOrNoOrNa.NA);
|
||||
}
|
||||
|
||||
var decimalAnswerList = await GetVisitTaskAnswerList(inDto);
|
||||
var decimalAnswerList = await GetLowSODVisit(inDto);
|
||||
return decimalAnswerList.OrderBy(x => x.SOD).Select(x => x.BlindName).FirstOrDefault() ?? string.Empty;
|
||||
}
|
||||
#endregion
|
||||
|
@ -724,7 +734,9 @@ namespace IRaCIS.Core.Application.Service
|
|||
public async Task ChangeAllLowestIncrease(ChangeAllTaskDto inDto)
|
||||
{
|
||||
var visitTaskList = await GetVisitTaskAnswerList(inDto.calculateDto);
|
||||
var lowSod = visitTaskList.Select(x => x.SOD).OrderBy(x => x).FirstOrDefault();
|
||||
|
||||
var lowSod = (await GetLowSODVisit(inDto.calculateDto)).Select(x => x.SOD).OrderBy(x => x).FirstOrDefault();
|
||||
|
||||
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()
|
||||
|
@ -747,7 +759,9 @@ namespace IRaCIS.Core.Application.Service
|
|||
public async Task ChangeAllLowPercent(ChangeAllTaskDto inDto)
|
||||
{
|
||||
var visitTaskList = await GetVisitTaskAnswerList(inDto.calculateDto);
|
||||
var lowSod = visitTaskList.Select(x => x.SOD).OrderBy(x => x).FirstOrDefault();
|
||||
|
||||
var lowSod = (await GetLowSODVisit(inDto.calculateDto)).Select(x => x.SOD).OrderBy(x => x).FirstOrDefault();
|
||||
|
||||
foreach (var item in visitTaskList.Where(x => x.VisitTaskId != inDto.calculateDto.BaseLineTaskId))
|
||||
{
|
||||
decimal percent = 0;
|
||||
|
@ -782,7 +796,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
var visitTaskIds = await _visitTaskRepository.Where(x => !x.IsAnalysisCreate && x.ReadingCategory == ReadingCategory.Visit &&
|
||||
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 GetLowSODVisit(inDto.calculateDto)).OrderBy(x=>x.SOD).Select(x=>x.BlindName).FirstOrDefault();
|
||||
visitTaskIds = visitTaskIds.Where(x => x != inDto.calculateDto.BaseLineTaskId).ToList();
|
||||
await this.ChangeAllVisitTaskAnswer(visitTaskIds, inDto.QuestionId, answer);
|
||||
|
||||
|
@ -836,6 +850,31 @@ namespace IRaCIS.Core.Application.Service
|
|||
}
|
||||
#endregion
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取最低方式
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<VisitTaskAnswerInfo>> GetLowSODVisit(ReadingCalculateDto inDto)
|
||||
{
|
||||
var taskAnswerList = await GetVisitTaskAnswerList(inDto);
|
||||
|
||||
taskAnswerList = taskAnswerList.Where(x => x.VisitTaskId != inDto.VisitTaskId).ToList();
|
||||
|
||||
var taskIds = taskAnswerList.Select(x => x.VisitTaskId).ToList();
|
||||
|
||||
var unableEvaluateTaskIds = await _readingTableQuestionAnswerRepository.Where(x => taskIds.Contains(x.VisitTaskId ) &&
|
||||
x.ReadingTableQuestionTrial.QuestionMark== QuestionMark.State
|
||||
&&x.ReadingQuestionTrial.LesionType== LesionType.TargetLesion
|
||||
&&x.Answer== TargetState.UnableEvaluate.GetEnumInt()
|
||||
)
|
||||
.Select(x =>x.VisitTaskId).Distinct().ToListAsync();
|
||||
|
||||
taskAnswerList = taskAnswerList.Where(x => !unableEvaluateTaskIds.Contains(x.VisitTaskId)).ToList();
|
||||
return taskAnswerList.OrderBy(x => x.SOD).ToList();
|
||||
}
|
||||
|
||||
#region 获取访视任务信息
|
||||
/// <summary>
|
||||
/// 获取访视任务信息
|
||||
|
|
|
@ -497,6 +497,7 @@ namespace IRaCIS.Application.Services
|
|||
GetReadingReportEvaluationOutDto result = new GetReadingReportEvaluationOutDto();
|
||||
|
||||
result.TumorEvaluate = await _readingCalculateService.GetReportTumor(indto.VisitTaskId);
|
||||
result.IsExistDisease= await _readingCalculateService.GetReportIsExistDisease(indto.VisitTaskId);
|
||||
var visitTaskInfo = await _visitTaskRepository.Where(x => x.Id == indto.VisitTaskId).FirstNotNullAsync();
|
||||
result.ReadingTaskState = visitTaskInfo.ReadingTaskState;
|
||||
var taskInfoList = await _visitTaskRepository.Where(x => (x.SubjectId == visitTaskInfo.SubjectId && x.TaskState == TaskState.Effect
|
||||
|
|
Loading…
Reference in New Issue