fix:定级配置

master
sunhonglei 5 months ago
parent d2fef49b29
commit 8fe9cc19c6
  1. 2
      Model/Entity/JsonEntity.cs
  2. 221
      ViewModel/Configuration/LevelConfigVM.cs
  3. 2
      ViewModel/Configuration/SettingsPages/SettingsVM.cs
  4. 78
      ViewModel/Grading/GradingResultVM.cs

@ -71,7 +71,9 @@ namespace EncryptFileTool.Entity
} }
public class StandardInfo public class StandardInfo
{ {
public string RULE_ID { get; set; } = "";
public string GRADE_ID { get; set; } public string GRADE_ID { get; set; }
public string GRADE_ORDER { get { return GRADE_ID.Substring(GRADE_ID.Length - 1); } set { } }
public string TEST_ITEM_ID { get; set; } public string TEST_ITEM_ID { get; set; }
public string STANDARD_ID { get; set; } public string STANDARD_ID { get; set; }
public string STANDARD_NAME { get; set; } public string STANDARD_NAME { get; set; }

@ -2,6 +2,7 @@
using HandyControl.Controls; using HandyControl.Controls;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters; using Newtonsoft.Json.Converters;
using NPOI.SS.Formula.Functions;
using SharpDX; using SharpDX;
using SparkClient.Model.Helper; using SparkClient.Model.Helper;
using System; using System;
@ -90,17 +91,17 @@ public class LevelConfigVM : BaseViewModel
} }
private string setInstitutes(string id) private string setInstitutes(string id)
{ {
string insituteSql = $"SELECT * FROM RULE;"; string insituteSql = $"SELECT RULE_ID,RULE_NAME,RULE_EN_NAME FROM RULE WHERE RULE_ID NOT LIKE '%_TA_%';";
Institutes = DataBaseHelper.ExecuteQuery(insituteSql); Institutes = DataBaseHelper.ExecuteQuery(insituteSql);
return Institutes.AsEnumerable().FirstOrDefault()["RULE_ID"].ToString(); return Institutes.AsEnumerable().FirstOrDefault()["RULE_ID"].ToString();
} }
private void setDataGrid(string shapeId, string ruleId) private void setDataGrid(string shapeId, string ruleId)
{ {
string gradeSql = $"SELECT * FROM GRADE WHERE SHAPE_ID = '{shapeId}' AND RULE_ID = '{ruleId}' ORDER BY GRADE_ORDER;"; string gradeSql = $"SELECT GRADE_NAME,GRADE_EN_NAME,GRADE_ORDER FROM GRADE WHERE SHAPE_ID = '{shapeId}' AND RULE_ID LIKE '{ruleId}%' GROUP BY GRADE_NAME,GRADE_EN_NAME,GRADE_ORDER ORDER BY GRADE_ORDER;";
DataTable columnInfos = DataBaseHelper.ExecuteQuery(gradeSql); DataTable columnInfos = DataBaseHelper.ExecuteQuery(gradeSql);
string standardSql = $"SELECT * FROM STANDARD WHERE SHAPE_ID = '{shapeId}' AND RULE_ID = '{ruleId}' ORDER BY SUBSTR(0 || SORT, - 2), GRADE_ORDER;"; string standardSql = $"SELECT * FROM STANDARD WHERE SHAPE_ID = '{shapeId}' AND RULE_ID like '{ruleId}%' ORDER BY RULE_ID, SUBSTR(0 || SORT, - 2), GRADE_ORDER;";
DataTable rowInfos = DataBaseHelper.ExecuteQuery(standardSql); DataTable rowInfos = DataBaseHelper.ExecuteQuery(standardSql);
setStandardList(columnInfos, rowInfos); setStandardList(columnInfos, rowInfos);
} }
@ -119,7 +120,7 @@ public class LevelConfigVM : BaseViewModel
List<DataColumn> columns = new List<DataColumn>(); List<DataColumn> columns = new List<DataColumn>();
foreach (DataRow columnInfo in gradeList.Rows) foreach (DataRow columnInfo in gradeList.Rows)
{ {
if (columns.Count == 0) if ("1".Equals(columnInfo["GRADE_ORDER"].ToString()))
{ {
columns.Add(new DataColumn(columnInfo["GRADE_EN_NAME"].ToString())); columns.Add(new DataColumn(columnInfo["GRADE_EN_NAME"].ToString()));
columns.Add(new DataColumn(columnInfo["GRADE_EN_NAME"].ToString()+"_"+1)); columns.Add(new DataColumn(columnInfo["GRADE_EN_NAME"].ToString()+"_"+1));
@ -144,79 +145,63 @@ public class LevelConfigVM : BaseViewModel
// 以标准名分组表示每一行 // 以标准名分组表示每一行
if (standardList != null) if (standardList != null)
{ {
var standards = standardList.AsEnumerable().GroupBy(r => r[STANDARD_NAME].ToString()); var standardRules = standardList.AsEnumerable().GroupBy(r => r["RULE_ID"].ToString());
foreach (var standard in standards) foreach (var ruleStandardList in standardRules) {
{ var standards = ruleStandardList.AsEnumerable().GroupBy(r => r[STANDARD_NAME].ToString());
List<string> rowInfo = new List<string>(); foreach (var standard in standards)
foreach (DataRow columnInfo in gradeList.Rows)
{ {
// 每一行单元格内数据 List<string> rowInfo = new List<string>();
var row = standard.Where(s => s["GRADE_ID"].ToString() == columnInfo["GRADE_ID"].ToString()).FirstOrDefault(); foreach (DataRow columnInfo in gradeList.Rows)
string value = "";
if (rowInfo.Count == 0)
{
value =
getFix(row, "MIN_PREFIX") +
row["STANDARD_MIN"].ToString() + row["UNIT"].ToString() + "-"
+ row["STANDARD_MAX"].ToString() + row["UNIT"].ToString()
+ getFix(row, "MIN_SUFFIX")
;
var arr = value.Split("\r\n",2);
rowInfo.Add(arr[0]);
if (arr.Length > 1) {
rowInfo.Add(arr[1]);
}
else
{
rowInfo.Add("");
}
}
else
{ {
// 每一行单元格内数据 // 每一行单元格内数据
if (row["STANDARD_MIN"] == null || row["STANDARD_MIN"].ToString() == "") var row = standard.Where(s => s["GRADE_ORDER"].ToString() == columnInfo["GRADE_ORDER"].ToString()).FirstOrDefault();
string value = "";
if (row == null )
{ {
value = getFix(row, "MIN_PREFIX") if ("1".Equals(columnInfo["GRADE_ORDER"].ToString()))
+ row["MIN_NULL_REPALCE"].ToString()
+ getFix(row, "MIN_SUFFIX");
var arr = value.Split("\r\n", 2);
rowInfo.Insert(0, arr[0]);
if (arr.Length > 1)
{ {
rowInfo.Insert(0, arr[1]); rowInfo.Add("-");
rowInfo.Add("");
} }
else else
{ {
rowInfo.Insert(0, "-");
rowInfo.Insert(0, ""); rowInfo.Insert(0, "");
rowInfo.Add("-");
rowInfo.Add("");
} }
continue;
} }
else if ("1".Equals(row["GRADE_ORDER"].ToString()))
{ {
value = getFix(row, "MIN_PREFIX") string Min = row["STANDARD_MIN"].ToString();
+ row["STANDARD_MIN"].ToString() string Max = row["STANDARD_MAX"].ToString();
+ row["UNIT"].ToString() if (!string.IsNullOrEmpty(Min) && !string.IsNullOrEmpty(Max))
+ getFix(row, "MIN_SUFFIX");
var arr = value.Split("\r\n", 2);
rowInfo.Insert(0, arr[0]);
if (arr.Length > 1)
{ {
rowInfo.Insert(0, arr[1]); value = getFix(row, "MIN_PREFIX") +
Min + row["UNIT"].ToString() + "-"
+ Max + row["UNIT"].ToString()
+ getFix(row, "MIN_SUFFIX")
;
} }
else else if (!string.IsNullOrEmpty(Min))
{ {
rowInfo.Insert(0, ""); value = getFix(row, "MIN_PREFIX") +
Min + row["UNIT"].ToString()
+ getFix(row, "MIN_SUFFIX")
;
} }
} else if (!string.IsNullOrEmpty(Max))
if (row["STANDARD_MAX"] == null || row["STANDARD_MAX"].ToString() == "") {
{ value = getFix(row, "MIN_PREFIX") +
value = getFix(row, "MAX_PREFIX") + Max + row["UNIT"].ToString()
row["MAX_NULL_REPALCE"].ToString() + getFix(row, "MIN_SUFFIX")
+ getFix(row, "MAX_SUFFIX"); ;
}
var arr = value.Split("\r\n", 2); var arr = value.Split("\r\n", 2);
rowInfo.Add(arr[0]); rowInfo.Add(arr[0]);
if (arr.Length > 1) if (arr.Length > 1) {
{
rowInfo.Add(arr[1]); rowInfo.Add(arr[1]);
} }
else else
@ -226,27 +211,99 @@ public class LevelConfigVM : BaseViewModel
} }
else else
{ {
value = getFix(row, "MAX_PREFIX") + // 每一行单元格内数据
row["STANDARD_MAX"].ToString() + row["UNIT"].ToString() if (row["STANDARD_MIN"] == null || row["STANDARD_MIN"].ToString() == "")
+ getFix(row, "MAX_SUFFIX");
var arr = value.Split("\r\n", 2);
rowInfo.Add(arr[0]);
if (arr.Length > 1)
{ {
rowInfo.Add(arr[1]); value = getFix(row, "MIN_PREFIX")
+ row["MIN_NULL_REPALCE"].ToString()
+ getFix(row, "MIN_SUFFIX");
var arr = value.Split("\r\n", 2);
rowInfo.Insert(0, arr[0]);
if (arr.Length > 1)
{
rowInfo.Insert(0, arr[1]);
}
else
{
rowInfo.Insert(0, "");
}
} }
else else
{ {
rowInfo.Add(""); value = getFix(row, "MIN_PREFIX")
+ row["STANDARD_MIN"].ToString()
+ row["UNIT"].ToString()
+ getFix(row, "MIN_SUFFIX");
var arr = value.Split("\r\n", 2);
rowInfo.Insert(0, arr[0]);
if (arr.Length > 1)
{
rowInfo.Insert(0, arr[1]);
}
else
{
rowInfo.Insert(0, "");
}
}
if (row["STANDARD_MAX"] == null || row["STANDARD_MAX"].ToString() == "")
{
value = getFix(row, "MAX_PREFIX") +
row["MAX_NULL_REPALCE"].ToString()
+ getFix(row, "MAX_SUFFIX");
var arr = value.Split("\r\n", 2);
rowInfo.Add(arr[0]);
if (arr.Length > 1)
{
rowInfo.Add(arr[1]);
}
else
{
rowInfo.Add("");
}
}
else
{
value = getFix(row, "MAX_PREFIX") +
row["STANDARD_MAX"].ToString() + row["UNIT"].ToString()
+ getFix(row, "MAX_SUFFIX");
var arr = value.Split("\r\n", 2);
rowInfo.Add(arr[0]);
if (arr.Length > 1)
{
rowInfo.Add(arr[1]);
}
else
{
rowInfo.Add("");
}
} }
} }
}
}
string ruleId = ruleStandardList.Key;
string prefix = "";
string ta = ruleId.Substring(ruleId.Length - 2);
if (ruleId.StartsWith("GB"))
{
if ("49".Equals(ta))
{
prefix = "[台宽比<" + ruleId.Substring(ruleId.Length - 2) + "] ";
}
else if ("71".Equals(ta))
{
prefix = "[台宽比>" + ruleId.Substring(ruleId.Length - 2) + "] ";
}
else
{
prefix = "[台宽比=" + ruleId.Substring(ruleId.Length - 2) + "] ";
}
}
rowInfo.Insert(0, prefix + standard.Key);
var showRow = StandardList.NewRow();
showRow.ItemArray = rowInfo.ToArray();
StandardList.Rows.Add(showRow);
} }
rowInfo.Insert(0, standard.Key);
var showRow = StandardList.NewRow();
showRow.ItemArray = rowInfo.ToArray();
StandardList.Rows.Add(showRow);
} }
} }
} }
@ -343,35 +400,42 @@ public class LevelConfigVM : BaseViewModel
// 标准数据登录 // 标准数据登录
string gradeConfigSql = ""; string gradeConfigSql = "";
int index = 0;
foreach (var gradeConfig in jsonEntity.GradeConfigs) foreach (var gradeConfig in jsonEntity.GradeConfigs)
{ {
if (gradeConfigSql.Length == 0) if (index == 0)
{ {
gradeConfigSql += gradeConfig.getDeleteSql(); gradeConfigSql += gradeConfig.getDeleteSql();
} }
gradeConfigSql += gradeConfig.getInsertSql(); gradeConfigSql += gradeConfig.getInsertSql();
index++;
} }
index = 0;
foreach (var gradeConfigDetail in jsonEntity.GradeConfigDetails) foreach (var gradeConfigDetail in jsonEntity.GradeConfigDetails)
{ {
if (gradeConfigSql.Length == 0) if (index == 0)
{ {
gradeConfigSql += gradeConfigDetail.getDeleteSql(shapeId,ruleId); gradeConfigSql += gradeConfigDetail.getDeleteSql(shapeId,ruleId);
} }
gradeConfigSql += gradeConfigDetail.getInsertSql(); gradeConfigSql += gradeConfigDetail.getInsertSql();
index++;
} }
index = 0;
foreach (var gradeConfigParameter in jsonEntity.GradeConfigParameters) foreach (var gradeConfigParameter in jsonEntity.GradeConfigParameters)
{ {
if (gradeConfigSql.Length == 0) if (index == 0)
{ {
gradeConfigSql += gradeConfigParameter.getDeleteSql(shapeId, ruleId); gradeConfigSql += gradeConfigParameter.getDeleteSql(shapeId, ruleId);
} }
gradeConfigSql += gradeConfigParameter.getInsertSql(); gradeConfigSql += gradeConfigParameter.getInsertSql();
index++;
} }
count = DataBaseHelper.ExecuteNonQuery(gradeConfigSql); count = DataBaseHelper.ExecuteNonQuery(gradeConfigSql);
if (count < 0) if (count < 0)
{ {
DataBaseHelper.rollback(); DataBaseHelper.rollback();
Growl.Error(save_fail_message); Growl.Error(save_fail_message);
return;
} }
DataBaseHelper.commit(); DataBaseHelper.commit();
Growl.Info(Save_successful_message); Growl.Info(Save_successful_message);
@ -408,6 +472,7 @@ public class LevelConfigVM : BaseViewModel
ShapesEnabled = false; ShapesEnabled = false;
Microsoft.Win32.OpenFileDialog openFileDialog = new Microsoft.Win32.OpenFileDialog(); Microsoft.Win32.OpenFileDialog openFileDialog = new Microsoft.Win32.OpenFileDialog();
openFileDialog.Filter = "Text files (*.enc)|*.enc|All files (*.*)|*.*"; openFileDialog.Filter = "Text files (*.enc)|*.enc|All files (*.*)|*.*";
jsonEntity = null;
if (openFileDialog.ShowDialog() == true) if (openFileDialog.ShowDialog() == true)
{ {
string filename = openFileDialog.FileName; string filename = openFileDialog.FileName;
@ -418,6 +483,12 @@ public class LevelConfigVM : BaseViewModel
jsonEntity = JsonConvert.DeserializeObject<JsonEntity>(content); jsonEntity = JsonConvert.DeserializeObject<JsonEntity>(content);
} }
} }
else
{
InstitutesEnabled = true;
ShapesEnabled = true;
return;
}
if (jsonEntity != null) if (jsonEntity != null)
{ {
// 形状列表重新生成 // 形状列表重新生成

@ -81,7 +81,7 @@ namespace SparkClient.ViewModel.Configuration.SettingsPages
Rules = new DataTable(); Rules = new DataTable();
Rules.Columns.Add("Key"); Rules.Columns.Add("Key");
Rules.Columns.Add("Value"); Rules.Columns.Add("Value");
string sql = $"SELECT * FROM RULE;"; string sql = $"SELECT * FROM RULE NOT LIKE '%_TA_%';";
DataTable db = DataBaseHelper.ExecuteQuery(sql); DataTable db = DataBaseHelper.ExecuteQuery(sql);
foreach (DataRow row in db.Rows) foreach (DataRow row in db.Rows)
{ {

@ -64,8 +64,8 @@ public class GradingResultVM : BaseViewModel
private int totalCutGrade = 0; private int totalCutGrade = 0;
private decimal totalSymGrade = 0; private decimal totalSymGrade = 0;
private AlgorithmResultEntity algorithmResult; private AlgorithmResultEntity algorithmResult;
private string username = "Lavanda"; private string username = "";
private string machine = "71953"; private string machine = "";
private string shapeId = string.Empty; private string shapeId = string.Empty;
private string ruleId = string.Empty; private string ruleId = string.Empty;
/// <summary> /// <summary>
@ -82,6 +82,7 @@ public class GradingResultVM : BaseViewModel
algorithmResult = result as AlgorithmResultEntity?? new AlgorithmResultEntity(); algorithmResult = result as AlgorithmResultEntity?? new AlgorithmResultEntity();
InitView(algorithmResult); InitView(algorithmResult);
machine = algorithmResult.DeviceId; machine = algorithmResult.DeviceId;
username = Settings.SelectValueByName("PERMISSIONS");
} }
DS = "NA"; DS = "NA";
AutoSave(); AutoSave();
@ -93,7 +94,7 @@ public class GradingResultVM : BaseViewModel
// DS下拉列表初始化 // DS下拉列表初始化
InitDSlist(); 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}'; "; 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 LIKE '{ruleId}%' GROUP BY GRADE_NAME,GRADE_EN_NAME,GRADE_ORDER ORDER BY GRADE_ORDER; ";
GradeList = DataBaseHelper.ExecuteQuery(sql); GradeList = DataBaseHelper.ExecuteQuery(sql);
} }
private void InitViewportData(AlgorithmResultEntity result) private void InitViewportData(AlgorithmResultEntity result)
@ -137,7 +138,7 @@ public class GradingResultVM : BaseViewModel
DSList = new DataTable(); DSList = new DataTable();
DSList.Columns.Add("Key"); DSList.Columns.Add("Key");
DSList.Columns.Add("Value"); DSList.Columns.Add("Value");
DSList.Rows.Add("NA", "NA"); DSList.Rows.Add("N/A", "NA");
DSList.Rows.Add("pass", "pass"); DSList.Rows.Add("pass", "pass");
DSList.Rows.Add("refer", "refer"); DSList.Rows.Add("refer", "refer");
} }
@ -178,7 +179,7 @@ public class GradingResultVM : BaseViewModel
} }
private string getRuleId() private string getRuleId()
{ {
return "IGI2023"; return Settings.SelectValueByName("RuleId");
} }
#endregion #endregion
/// <summary> /// <summary>
@ -209,17 +210,52 @@ public class GradingResultVM : BaseViewModel
return list; return list;
} }
#region 定级计算 #region 定级计算
private string getActualRuleId()
{
string ruleIdForSelect = "";
if (ruleId.StartsWith("IGI"))
{
ruleIdForSelect = ruleId;
}
else if (ruleId.StartsWith("GB"))
{
double ta = algorithmResult.measurements.TABLE * 100;
ta = (RoundFiveDownSixUp(ta * 2) / 2);
if (ta < 49)
{
ruleIdForSelect = ruleId + "_TA_49";
}
else if (ta > 71)
{
ruleIdForSelect = ruleId + "_TA_71";
}
else
{
ruleIdForSelect = ruleId + "_TA_" + Math.Floor(ta);
}
}
else
{
ruleIdForSelect = ruleId;
}
return ruleIdForSelect;
}
private List<CalGradeInfo> GetCalGradeInfos(string item) private List<CalGradeInfo> GetCalGradeInfos(string item)
{ {
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}' "; string ruleIdForSelect = getActualRuleId();
string sql = $"Select GRADE_ORDER as gradeOrder,CAST(STANDARD_MIN AS NUMERIC) Min, CAST(STANDARD_MAX AS NUMERIC) 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 = '{ruleIdForSelect}' ";
List<CalGradeInfo> calGrades = DataBaseHelper.ExecuteQuery<CalGradeInfo>(sql); List<CalGradeInfo> calGrades = DataBaseHelper.ExecuteQuery<CalGradeInfo>(sql);
return calGrades; return calGrades;
} }
private int calGrade(string item ,double value) private int calGrade(string item ,double value)
{ {
int order = 1;
decimal cValue = Convert.ToDecimal(value); decimal cValue = Convert.ToDecimal(value);
List<CalGradeInfo> calGrades = GetCalGradeInfos(item); List<CalGradeInfo> calGrades = GetCalGradeInfos(item);
if (calGrades == null || calGrades.Count == 0)
{
return 0;
}
int order = 1;
foreach (CalGradeInfo gradeInfo in calGrades) foreach (CalGradeInfo gradeInfo in calGrades)
{ {
bool isThisGrade = true; bool isThisGrade = true;
@ -321,6 +357,31 @@ public class GradingResultVM : BaseViewModel
result = GetGradeName(order); result = GetGradeName(order);
return result; return result;
} }
private string calGrade_CULET(double avg)
{
string result = "";
int order = calGrade("CULET", avg * 100);
result = GetGradeName(order);
return result;
}
private string calGrade_STAR(double min, double max)
{
string result = "";
int order1 = calGrade("STAR", min * 100);
int order2 = calGrade("STAR", max * 100);
int order = Math.Max(order1, order2);
result = GetGradeName(order);
return result;
}
private string calGrade_LOWER_HALVES_RATIO(double min, double max)
{
string result = "";
int order1 = calGrade("LOWER_HALVES_RATIO", min * 100);
int order2 = calGrade("LOWER_HALVES_RATIO", max * 100);
int order = Math.Max(order1, order2);
result = GetGradeName(order);
return result;
}
#endregion #endregion
#region 参数列表行编辑 #region 参数列表行编辑
private DataInfo getDIAMETER(AlgorithmResultEntity result) private DataInfo getDIAMETER(AlgorithmResultEntity result)
@ -455,6 +516,7 @@ public class GradingResultVM : BaseViewModel
info.Avg = FormatDouble_Avg(result.measurements.STAR*100, Accuracy.Z5); info.Avg = FormatDouble_Avg(result.measurements.STAR*100, Accuracy.Z5);
info.Min = FormatDouble_P(result.measurements.STAR_MIN); info.Min = FormatDouble_P(result.measurements.STAR_MIN);
info.Max = FormatDouble_P(result.measurements.STAR_MAX); info.Max = FormatDouble_P(result.measurements.STAR_MAX);
info.CutLevel = calGrade_STAR(result.measurements.STAR_MIN, result.measurements.STAR_MAX);
info.isEnabled = false; info.isEnabled = false;
return info; return info;
} }
@ -467,6 +529,7 @@ public class GradingResultVM : BaseViewModel
info.Avg = FormatDouble_Avg(result.measurements.LOWER_HALVES_RATIO*100, Accuracy.Z5); info.Avg = FormatDouble_Avg(result.measurements.LOWER_HALVES_RATIO*100, Accuracy.Z5);
info.Min = FormatDouble_P(result.measurements.LOWER_HALVES_RATIO_MIN); info.Min = FormatDouble_P(result.measurements.LOWER_HALVES_RATIO_MIN);
info.Max = FormatDouble_P(result.measurements.LOWER_HALVES_RATIO_MAX); info.Max = FormatDouble_P(result.measurements.LOWER_HALVES_RATIO_MAX);
info.CutLevel = calGrade_LOWER_HALVES_RATIO(result.measurements.LOWER_HALVES_RATIO_MIN, result.measurements.LOWER_HALVES_RATIO_MAX);
info.isEnabled = false; info.isEnabled = false;
return info; return info;
} }
@ -477,6 +540,7 @@ public class GradingResultVM : BaseViewModel
info.TestItemId = "CULET"; info.TestItemId = "CULET";
info.TestItemName = GetName("CULET"); info.TestItemName = GetName("CULET");
info.Avg = FormatDouble_Avg(result.measurements.CULET * 100, Accuracy.ZD1); info.Avg = FormatDouble_Avg(result.measurements.CULET * 100, Accuracy.ZD1);
info.CutLevel = calGrade_CULET(result.measurements.CULET);
info.isEnabled = false; info.isEnabled = false;
return info; return info;
} }

Loading…
Cancel
Save