计算修改
parent
1f45a3aa9f
commit
2cada0fcbe
|
@ -1734,7 +1734,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
// 脾脏评估
|
||||
var spleenEvaluation = string.Empty;
|
||||
var c = new List<TargetAssessment>() { TargetAssessment.CR };
|
||||
|
||||
List<CalculationDto> data = new List<CalculationDto>() {
|
||||
|
||||
//ND ND 否/疑似 正常 正常 ND
|
||||
|
@ -1815,69 +1815,114 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
NotEq=new List<int>(){ 2},
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.NE }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.PD }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected, }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected, NewLesionAssessment.NE}),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Increase }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Increase }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.NE }),
|
||||
},
|
||||
//ND NE 否/疑似/无法评估(不为是) 正常/稳定/无法评估/部分缓解(非显著增大) 正常/稳定/无法评估/部分缓解(非显著增大) NE
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.CR }),
|
||||
NotEq=new List<int>(){ 3,4,5},
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.ND }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.NE }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.Yes }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Increase }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Increase }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.NE }),
|
||||
},
|
||||
//ND ND 无法评估 正常/稳定/无法评估/部分缓解(非显著增大) 正常/稳定/无法评估/部分缓解(非显著增大) NE
|
||||
new CalculationDto(){
|
||||
NotEq=new List<int>(){ 4,5},
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.ND }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.NE }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Increase }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Increase }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.NE }),
|
||||
},
|
||||
//ND ND 否/疑似 无法评估 正常/稳定/无法评估/部分缓解(非显著增大) NE
|
||||
new CalculationDto(){
|
||||
NotEq=new List<int>(){ 4},
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.ND }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.NotEvaluable }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Increase }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.NE }),
|
||||
},
|
||||
// ND ND 否/疑似 正常/稳定 NE NE
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.CR }),
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.ND }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal,LiverAssessment.Stabilization }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.NotEvaluable }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.NE }),
|
||||
},
|
||||
//PR 非PD 否/疑似/无法评估(不为是) 正常/稳定 正常/部分缓解 PR
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.CR }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
NotEq=new List<int>(){ 2,3},
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.PR }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.PD }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.Yes }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal,LiverAssessment.Stabilization}),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal,SpleenAssessment.Remission }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.PR }),
|
||||
},
|
||||
new CalculationDto(){
|
||||
//CR (PR/SD)或者NE 否/疑似/无法评估(不为是) 正常/部分缓解 正常/部分缓解 PR
|
||||
new CalculationDto(){
|
||||
NotEq=new List<int>(){ 3},
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.CR }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
},
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.CR }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.PRSD,NoTargetAssessment.NE }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.Yes,NewLesionAssessment.Yes }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal,LiverAssessment.Stabilization}),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal,SpleenAssessment.Remission }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.PR }),
|
||||
},
|
||||
//CR CR/ND 疑似/无法评估 正常/稳定 正常/部分缓解 PR
|
||||
new CalculationDto(){
|
||||
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.CR }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.CR,NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.Suspected, NewLesionAssessment.NE }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal,LiverAssessment.Stabilization}),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal,SpleenAssessment.Remission }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.PR }),
|
||||
},
|
||||
// ND CR 疑似/无法评估 正常/稳定 正常/部分缓解 PR
|
||||
new CalculationDto(){
|
||||
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.ND }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.CR }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.Suspected, NewLesionAssessment.NE }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal,LiverAssessment.Stabilization}),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal,SpleenAssessment.Remission }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.PR }),
|
||||
},
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.SD }),
|
||||
},
|
||||
};
|
||||
|
||||
return string.Empty;
|
||||
var result = data.Where(x =>
|
||||
(x.NotEq.Contains(1) ? !x.Column1.Contains(targetEvaluation) : x.Column1.Contains(targetEvaluation) || x.Column1.Count() == 0) &&
|
||||
(x.NotEq.Contains(2) ? !x.Column2.Contains(noTargetEvaluation) : x.Column2.Contains(noTargetEvaluation) || x.Column2.Count() == 0) &&
|
||||
(x.NotEq.Contains(3) ? !x.Column3.Contains(existsNewTarget) : x.Column3.Contains(existsNewTarget) || x.Column3.Count() == 0) &&
|
||||
(x.NotEq.Contains(4) ? !x.Column4.Contains(liverEvaluation) : x.Column4.Contains(liverEvaluation) || x.Column4.Count() == 0) &&
|
||||
(x.NotEq.Contains(5) ? !x.Column5.Contains(spleenEvaluation) : x.Column5.Contains(spleenEvaluation) || x.Column5.Count() == 0))
|
||||
.Select(x => x.Column6.FirstOrDefault())
|
||||
.FirstOrDefault();
|
||||
return result??string.Empty;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 枚举数组转字符串数组 方法名简短
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="emus"></param>
|
||||
/// <returns></returns>
|
||||
private List<string> EnumToString<T>(List<T> emus) where T : Enum
|
||||
{
|
||||
return emus.Select(x => ((int)(object)x).ToString()).ToList();
|
||||
}
|
||||
|
||||
|
||||
#region 脾脏评估
|
||||
|
||||
|
|
|
@ -1018,7 +1018,7 @@ namespace IRaCIS.Core.Domain.Share
|
|||
Suspected = 1,
|
||||
|
||||
/// <summary>
|
||||
/// NE
|
||||
/// NE 无法评估
|
||||
/// </summary>
|
||||
NE = 2,
|
||||
|
||||
|
|
|
@ -58,6 +58,17 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 枚举数组转字符串数组 方法名简短
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="emus"></param>
|
||||
/// <returns></returns>
|
||||
public static List<string> EnumToString<T>(List<T> emus) where T : Enum
|
||||
{
|
||||
return emus.Select(x => ((int)(object)x).ToString()).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取语言名称
|
||||
/// </summary>
|
||||
|
|
Loading…
Reference in New Issue