计算修改
							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