@@ -308,6 +308,43 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||
public string OverallEfficacy { get; set; }
|
||||
}
|
||||
|
||||
public class FrontGetSiteVisitForTumorEvaluationInDto
|
||||
{
|
||||
public Guid VisitTaskId { get; set; }
|
||||
public int NumberOfDaysBetween { get; set; }
|
||||
}
|
||||
|
||||
public class FrontGetSiteVisitForTumorEvaluationOutDto
|
||||
{
|
||||
public List<FrontGetSiteVisitForTumor> ResultList { get; set; }
|
||||
}
|
||||
|
||||
public class FrontGetSiteVisitForTumor
|
||||
{
|
||||
public Guid VisitTaskId { get; set; }
|
||||
|
||||
public string TumorEvaluationResult { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class PCWGSiteVisitForTumor
|
||||
{
|
||||
public bool IsPD { get; set; }
|
||||
|
||||
public string? LastTaskResult { get; set; }
|
||||
|
||||
public Guid? LastTaskId { get; set; }
|
||||
}
|
||||
|
||||
public class SiteVisitForTumorEvaluationByDayOutDto
|
||||
{
|
||||
public string Result { get; set; } = string.Empty;
|
||||
|
||||
public string? LastTaskResult { get; set; }
|
||||
|
||||
public Guid? LastTaskId { get; set; }
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 阅片计算Dto
|
||||
/// </summary>
|
||||
@@ -385,6 +422,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||
/// </summary>
|
||||
public string Answer { get; set; }
|
||||
|
||||
public string? PCWGInterimAnswer { get; set; }
|
||||
/// <summary>
|
||||
/// 问题名称
|
||||
/// </summary>
|
||||
|
||||
@@ -3888,6 +3888,24 @@ namespace IRaCIS.Core.Application.Service
|
||||
private async Task SubmitTaskChangeState(Guid visitTaskId)
|
||||
{
|
||||
await VerifyTaskIsSign(visitTaskId);
|
||||
|
||||
var taskInfo=await _visitTaskRepository.Where(x => x.Id == visitTaskId).Include(x=>x.TrialReadingCriterion).FirstNotNullAsync();
|
||||
// 如果是PCGW标准 则把中间答案赋值给正式答案
|
||||
if (taskInfo.TrialReadingCriterion.CriterionType == CriterionType.PCWG3)
|
||||
{
|
||||
var answerList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTask.TaskState==TaskState.Effect&& x.VisitTask.SubjectId == taskInfo.SubjectId && x.VisitTask.ArmEnum == taskInfo.ArmEnum && x.PCWGInterimAnswer != null).ToListAsync();
|
||||
|
||||
foreach (var item in answerList)
|
||||
{
|
||||
await _readingTaskQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x=>x.Id==item.Id, x => new ReadingTaskQuestionAnswer()
|
||||
{
|
||||
//这里已经筛选过 不为null了
|
||||
Answer = item.PCWGInterimAnswer,
|
||||
PCWGInterimAnswer = null,
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
await _visitTaskRepository.UpdatePartialFromQueryAsync(visitTaskId, x => new VisitTask()
|
||||
{
|
||||
ReadingTaskState = ReadingTaskState.HaveSigned,
|
||||
|
||||
Reference in New Issue
Block a user