diff --git a/IRaCIS.Core.API/wwwroot/ReadReoprtTemplate/TumorEvaluation_IRECIST1.1_CN_V1.docx b/IRaCIS.Core.API/wwwroot/ReadReoprtTemplate/TumorEvaluation_IRECIST1.1_CN_V1.docx
index b42cbdbb8..f0e240a93 100644
Binary files a/IRaCIS.Core.API/wwwroot/ReadReoprtTemplate/TumorEvaluation_IRECIST1.1_CN_V1.docx and b/IRaCIS.Core.API/wwwroot/ReadReoprtTemplate/TumorEvaluation_IRECIST1.1_CN_V1.docx differ
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 14dda6423..e19efdf09 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -7357,6 +7357,11 @@
签名时间
+
+
+ 是否为转变任务
+
+
医生签名时间
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs
index 0a783ab17..3b4e2162d 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs
@@ -283,6 +283,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string OneDoctorSign { get; set; } = string.Empty;
+ public bool OneIsConvertedTask { get; set; } = false;
+
public string TwoVisitName { get; set; } = string.Empty;
public string TwoCheckDate { get; set; } = string.Empty;
@@ -339,6 +341,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string TwoDoctorSign { get; set; } = string.Empty;
+ public bool TwoIsConvertedTask { get; set; } = false;
+
public string ThreeVisitName { get; set; } = string.Empty;
public string ThreeCheckDate { get; set; } = string.Empty;
@@ -393,6 +397,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string ThreeDoctorSignTime { get; set; } = string.Empty;
public string ThreeDoctorSign { get; set; } = string.Empty;
+
+ public bool ThreeIsConvertedTask { get; set; } = false;
}
public class ExportVisitData
@@ -488,6 +494,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
public string SignTime { get; set; } = string.Empty;
+ ///
+ /// 是否为转变任务
+ ///
+ public bool IsConvertedTask { get; set; } = false;
+
///
/// 医生签名时间
///
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs
index 4a53cae18..7559633f2 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs
@@ -101,6 +101,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
.Include(x => x.SourceSubjectVisit).Include(x => x.SourceSubjectVisit.StudyList)
.Include(x => x.DoctorUser).ToListAsync();
+ var isConvertedTaskList= await _visitTaskRepository.Where(x => relatedTaskIds.Contains(x.Id)).Select(x => new { x.Id, x.IsConvertedTask }).ToListAsync();
+
string getHavePreviousNewLesions(Guid visitId)
@@ -134,8 +136,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
HaveNewLesion = _generalCalculateService.GetTaskanswer(answerList, dictionList, unitDictionary, x.Id, QuestionType.NewLesions),
// 是否有明确既往新病灶 // 结果为IPUD就是有 其他的是无
HavePreviousNewLesions = getHavePreviousNewLesions(x.Id),
-
- // 是否有明确既往新病灶
+ IsConvertedTask= isConvertedTaskList.Where(y=>y.Id==x.Id).Select(x=>x.IsConvertedTask).FirstOrDefault(),
+ // 是否有触发iRECIST后新病灶
HaveTriggeringIRECSITNewLesions = _generalCalculateService.GetTaskanswer(answerList, dictionList, unitDictionary, x.Id, QuestionType.IRECISTNewTargetLesion),
NewTargetResult = _generalCalculateService.GetTaskanswer(answerList, dictionList, unitDictionary, x.Id, QuestionType.NewTargetLesion),
@@ -232,6 +234,19 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var subjectName = subjectInfo.ShortName;
var subjectCode = string.Join(",", patientIdStrList); //患者编号;
+ foreach (var item in exportVisitDatas)
+ {
+ if (!item.IsConvertedTask)
+ {
+ item.HavePreviousNewLesions = "NA";
+ item.HaveTriggeringIRECSITNewLesions = "NA";
+ item.NewTargetResult = "NA";
+ item.NewNoTargetResult = "NA";
+ item.OtherPreviousNewLesionResult = "NA";
+ item.TriggeringIRECSITResult = "NA";
+ item.NewLesionEvaluationResult = "NA";
+ }
+ }
List resultdata = new List();
@@ -252,6 +267,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
"OtherPreviousNewLesionResult",
"TriggeringIRECSITResult",
"NewLesionEvaluationResult",
+ "IsConvertedTask",
};
var forCount = (int)Math.Ceiling((double)exportVisitDatas.Count() / 3);
@@ -518,6 +534,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
new ExportReportQuestion (){QuestionType=QuestionType.LowVisit},
};
+ var evaluationList= new List()
+ { new ExportReportQuestion (){QuestionType=QuestionType.TargetLesion},
+ new ExportReportQuestion (){ QuestionType=QuestionType.NoTargetLesion},
+ new ExportReportQuestion (){ QuestionType=QuestionType.NewLesions},
+ new ExportReportQuestion (){ QuestionType=QuestionType.ExistDisease},
+ new ExportReportQuestion (){ QuestionType=QuestionType.Tumor }
+ };
+
var isConvertedTask = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.IsConvertedTask).FirstOrDefaultAsync();
if (isConvertedTask)
@@ -529,6 +553,22 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
});
+ evaluationList = new List()
+ {
+ new ExportReportQuestion (){QuestionType=QuestionType.TargetLesion},
+ new ExportReportQuestion (){ QuestionType=QuestionType.NoTargetLesion},
+ new ExportReportQuestion (){ QuestionType=QuestionType.NewLesions},
+
+ new ExportReportQuestion (){ QuestionType=QuestionType.NewTargetLesion},
+ new ExportReportQuestion (){ QuestionType=QuestionType.NewNoTargetLesion},
+ new ExportReportQuestion (){ QuestionType=QuestionType.OtherNewTargetLesion},
+ new ExportReportQuestion (){ QuestionType=QuestionType.IRECISTNewTargetLesion},
+ new ExportReportQuestion (){ QuestionType=QuestionType.NewLesionEvaluation},
+
+ new ExportReportQuestion (){ QuestionType=QuestionType.ExistDisease},
+ new ExportReportQuestion (){ QuestionType=QuestionType.Tumor }
+ };
+
}
var assessmentResult = string.Empty;
@@ -585,13 +625,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{ "TNMValue",taskinfo.TNMValue}, // TNM分期
{ "Result",getQuestionAnswerList(resultList)}, // 评估结果
- { "Curative",getQuestionAnswerList(new List()
- { new ExportReportQuestion (){QuestionType=QuestionType.TargetLesion},
- new ExportReportQuestion (){ QuestionType=QuestionType.NoTargetLesion},
- new ExportReportQuestion (){ QuestionType=QuestionType.NewLesions},
- new ExportReportQuestion (){ QuestionType=QuestionType.ExistDisease},
- new ExportReportQuestion (){ QuestionType=QuestionType.Tumor},
- })}, // 疗效结果
+ { "Curative",getQuestionAnswerList(evaluationList)}, // 疗效结果
{ "ReportNo",await _generalCalculateService.GetReportExportNo(taskinfo) } ,
};
diff --git a/IRaCIS.Core.Domain/Allocation/VisitTask.cs b/IRaCIS.Core.Domain/Allocation/VisitTask.cs
index 3d19b26b4..0b1bf7a90 100644
--- a/IRaCIS.Core.Domain/Allocation/VisitTask.cs
+++ b/IRaCIS.Core.Domain/Allocation/VisitTask.cs
@@ -255,7 +255,7 @@ public class VisitTask : BaseFullAuditEntity
[Projectable]
[JsonIgnore]
public bool IsConvertedTask => BeforeConvertedTaskId != null || IsHistoryConvertedTask || Subject.SubjectVisitTaskList.Where(t => t.TrialReadingCriterionId == TrialReadingCriterionId
- && t.DoctorUserId == DoctorUserId && t.BeforeConvertedTaskId != null
+ && t.BeforeConvertedTaskId != null
&& t.TaskState == TaskState.Effect
&& t.VisitTaskNum < VisitTaskNum
&& t.IsSelfAnalysis == IsSelfAnalysis