diff --git a/ViewModel/Grading/GradingResultVM.cs b/ViewModel/Grading/GradingResultVM.cs index de3b0bf..2857c57 100644 --- a/ViewModel/Grading/GradingResultVM.cs +++ b/ViewModel/Grading/GradingResultVM.cs @@ -61,7 +61,7 @@ public class GradingResultVM : BaseViewModel private readonly static string digitsFormat = "f1"; private int totalCutGrade = 0; - private int totalSymGrade = 0; + private decimal totalSymGrade = 0; private AlgorithmResultEntity algorithmResult; private string username = "Lavanda"; private string machine = "71953"; @@ -75,13 +75,13 @@ public class GradingResultVM : BaseViewModel { SaveAsCommand = new RelayCommand(SaveAs); SaveFileCommand = new RelayCommand(SaveFile); + if (result != null) { algorithmResult = result as AlgorithmResultEntity?? new AlgorithmResultEntity(); InitView(algorithmResult); machine = "71953"; } - InitCombobox(); DS = "NA"; AutoSave(); } @@ -91,6 +91,9 @@ public class GradingResultVM : BaseViewModel { // DS下拉列表初始化 InitDSlist(); + + string sql = $"SELECT GRADE_NAME AS NAME, GRADE_EN_S_NAME AS EN_NAME, GRADE_EN_NAME AS EN_ALL_NAME, GRADE_ORDER FROM GRADE WHERE SHAPE_ID = '{shapeId}' AND RULE_ID = '{ruleId}'; "; + GradeList = DataBaseHelper.ExecuteQuery(sql); } private void InitViewportData(AlgorithmResultEntity result) { @@ -146,6 +149,7 @@ public class GradingResultVM : BaseViewModel ruleId = getRuleId(); Standard = result.Standard; shapeId = result.Shape; + InitCombobox(); Shape = GetName(result.Shape); CrownType = result.CrownType; PavType = result.PavType; @@ -164,6 +168,7 @@ public class GradingResultVM : BaseViewModel DataInfo? dataInfo = methodInfo.Invoke(this, parameters) as DataInfo; if (dataInfo != null) { + dataInfo.GradeList = GradeList; DtResults.Add(dataInfo); } } @@ -205,7 +210,6 @@ public class GradingResultVM : BaseViewModel #region 定级计算 private List GetCalGradeInfos(string item) { - // TODO DB要改 string sql = $"Select GRADE_ORDER as gradeOrder,STANDARD_MIN Min, STANDARD_MAX Max,IS_MAX_EXIST as isMaxExist,IS_MIN_EXIST as isMinExist from STANDARD where TEST_ITEM_ID = '{item}' AND SHAPE_ID = UPPER('{shapeId}') AND RULE_ID = '{ruleId}' "; List calGrades = DataBaseHelper.ExecuteQuery(sql); return calGrades; @@ -740,7 +744,7 @@ public class GradingResultVM : BaseViewModel stream.WriteLine($"TOTAL DEPTH={info.TOTAL_DEPTH * 100}"); stream.WriteLine($"CULET={info.CULET*100}"); stream.WriteLine($"MACHINE={machine}"); - stream.WriteLine($"CUTGRADE={GetGradeEnName(totalCutGrade)}"); + stream.WriteLine($"CUTGRADE={GetGradeEnName(totalCutGrade.ToString())}"); stream.WriteLine($"LW RATIO={info.LW_RATIO}"); stream.WriteLine($"DS={DS}"); stream.WriteLine($"COC={info.COC * 100}"); @@ -799,10 +803,9 @@ public class GradingResultVM : BaseViewModel dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_P(info.TOTAL_DEPTH)}%"); dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_A(info.CROWN_ANGLE)}°"); dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_A(info.PAV_ANGLE)}°"); - // TODO 底尖直径 - dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_A(info.CULET)}(mm)"); + dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_A(info.CULET_SIZE)}(mm)"); dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_P(info.GIRDLE)}%"); - // TODO 腰部厚度英文 + // 腰部厚度英文 dataRow.CreateCell(col++).SetCellValue($"{calGirdleName(info)}"); dataRow.CreateCell(col++).SetCellValue($""); string sysmlevel = ""; @@ -973,39 +976,49 @@ public class GradingResultVM : BaseViewModel { return Name.getNameById(id); } - private string GetGradeName(int order) - { - // TODO DB没关联 - Dictionary dictionary = new(); - dictionary.Add(0, ""); - dictionary.Add(1,"极好"); - dictionary.Add(2, "很好"); - dictionary.Add(3, "好"); - dictionary.Add(4, "一般"); - dictionary.Add(5, "差"); - return dictionary[order]; - } - private int GetGradeOrder(string Grade) - { - // TODO DB没关联 - Dictionary dictionary = new(); - dictionary.Add("极好", 1); - dictionary.Add("很好", 2); - dictionary.Add("好", 3); - dictionary.Add("一般", 4); - dictionary.Add("差", 5); - return dictionary[Grade]; - } - private string GetGradeEnName(int order) - { - // TODO DB没关联 - Dictionary dictionary = new(); - dictionary.Add(1, "EXCELLENT-Ideal"); - dictionary.Add(2, "EXCELLENT"); - dictionary.Add(3, "VERY GOOD"); - dictionary.Add(4, "GOOD"); - dictionary.Add(5, "FAIR-POOR"); - return dictionary[order]; + private string GetGradeName(decimal order) + { + + string name = GradeList.AsEnumerable().Where(x => order.ToString().Equals(x["GRADE_ORDER"].ToString())) + .Select(x=>x[MultilingualHelper.getString("NameType")].ToString()).FirstOrDefault(""); + // DB没关联 + // Dictionary dictionary = new(); + // dictionary.Add(0, ""); + // dictionary.Add(1,"极好"); + // dictionary.Add(2, "很好"); + // dictionary.Add(3, "好"); + // dictionary.Add(4, "一般"); + // dictionary.Add(5, "差"); + // return dictionary[order]; + return name; + } + private string GetGradeOrder(string Grade) + { + string order = GradeList.AsEnumerable().Where(x => Grade.Equals(x[MultilingualHelper.getString("NameType")].ToString())) + .Select(x=>x["GRADE_ORDER"].ToString()).FirstOrDefault(""); + // DB没关联 + // Dictionary dictionary = new(); + // dictionary.Add("极好", 1); + // dictionary.Add("很好", 2); + // dictionary.Add("好", 3); + // dictionary.Add("一般", 4); + // dictionary.Add("差", 5); + // return dictionary[Grade]; + return order; + } + private string GetGradeEnName(string order) + { + string name = GradeList.AsEnumerable().Where(x => order.Equals(x["GRADE_ORDER"].ToString())) + .Select(x=>x["EN_ALL_NAME"].ToString()).FirstOrDefault(""); + // DB没关联 + // Dictionary dictionary = new(); + // dictionary.Add(1, "EXCELLENT-Ideal"); + // dictionary.Add(2, "EXCELLENT"); + // dictionary.Add(3, "VERY GOOD"); + // dictionary.Add(4, "GOOD"); + // dictionary.Add(5, "FAIR-POOR"); + // return dictionary[order]; + return name; } #endregion @@ -1015,11 +1028,11 @@ public class GradingResultVM : BaseViewModel /// public void ChangeSym(object norm) { - int? order = this.DtResults.Select(x => x.SymLevel).Max(); + decimal? order = this.DtResults.Select(x => x.SymLevel).Max(); if (order.HasValue) { totalSymGrade = order.Value; - SymLevelTotal = GetGradeName((int)order.Value); + SymLevelTotal = GetGradeName((decimal)order.Value); } else { @@ -1340,9 +1353,9 @@ public class DataInfo public string? Min { get; set; } public string? Max { get; set; } public string? CutLevel { get; set; } - private int? _symLevel; + private Int64? _symLevel; //public int? SymLevel { get; set; } - public int? SymLevel + public Int64? SymLevel { get { return _symLevel; } set @@ -1359,19 +1372,12 @@ public class DataInfo public DataTable GradeList { get { - // TODO DB没关联 - if (this._gradeList == null) { - _gradeList = new DataTable(); - _gradeList.Columns.Add("Key"); - _gradeList.Columns.Add("Value"); - _gradeList.Rows.Add("极好", 1); - _gradeList.Rows.Add("很好", 2); - _gradeList.Rows.Add("好", 3); - _gradeList.Rows.Add("一般", 4); - _gradeList.Rows.Add("差", 5); - } return _gradeList; } + set + { + _gradeList = value; + } } public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName) diff --git a/Views/Grading/GradingResult.xaml b/Views/Grading/GradingResult.xaml index d7b23d2..ea8eb72 100644 --- a/Views/Grading/GradingResult.xaml +++ b/Views/Grading/GradingResult.xaml @@ -676,8 +676,8 @@