diff --git a/ViewModel/Configuration/LevelConfigVM.cs b/ViewModel/Configuration/LevelConfigVM.cs
index 8de66e2..9a7c9c6 100644
--- a/ViewModel/Configuration/LevelConfigVM.cs
+++ b/ViewModel/Configuration/LevelConfigVM.cs
@@ -14,6 +14,9 @@ using MessageBox = SparkClient.Views.Dialog.MessageBox;
namespace SparkClient.ViewModel.Configuration;
+///
+/// 定级配置VM
+///
public class LevelConfigVM : BaseViewModel
{
private static readonly ILog Logger = LogManager.GetLogger(typeof(LevelConfigVM));
@@ -24,26 +27,52 @@ public class LevelConfigVM : BaseViewModel
public ICommand SaveLevelConfigCommand { get; }
private DataTable _institutes;
+ ///
+ /// 规则下拉列表
+ ///
public DataTable Institutes { get { return _institutes; } set { _institutes = value; OnPropertyChanged("Institutes"); } }
private DataTable _shapes;
+ ///
+ /// 形状下拉列表
+ ///
public DataTable Shapes { get { return _shapes; } set { _shapes = value; OnPropertyChanged("Shapes"); } }
private string _instituteId;
+ ///
+ /// 规则id
+ ///
public string InstituteId { get { return _instituteId; } set { _instituteId = value; OnPropertyChanged("InstituteId"); } }
private string _shapeId;
+ ///
+ /// 形状id
+ ///
public string ShapeId { get { return _shapeId; } set { _shapeId = value; OnPropertyChanged("ShapeId"); } }
private DataTable _standardList;
+ ///
+ /// 定级配置数据
+ ///
public DataTable StandardList { get { return _standardList; } set { _standardList = value; OnPropertyChanged("StandardList"); } }
DataGrid dataGrid;
private bool _institutesEnabled = true;
+ ///
+ /// 规则下拉列表可用性
+ ///
public bool InstitutesEnabled { get { return _institutesEnabled; } set { _institutesEnabled = value; OnPropertyChanged("InstitutesEnabled"); } }
private bool _shapesEnabled = true;
+ ///
+ /// 形状下拉列表可用性
+ ///
public bool ShapesEnabled { get { return _shapesEnabled; } set { _shapesEnabled = value; OnPropertyChanged("ShapesEnabled"); } }
private bool _isUpdateButtonEnabled;
+ ///
+ /// 保存按钮可用性
+ ///
public bool IsUpdateButtonEnabled { get { return _isUpdateButtonEnabled; } set { _isUpdateButtonEnabled = value; OnPropertyChanged("IsUpdateButtonEnabled"); } }
-
+ ///
+ /// 导入文件数据
+ ///
JsonEntity jsonEntity = new JsonEntity();
private string Save_successful_message = MultilingualHelper.getString("Save_successful_message");
@@ -510,6 +539,7 @@ public class LevelConfigVM : BaseViewModel
Growl.Info(Save_successful_message);
InstitutesEnabled = true;
ShapesEnabled = true;
+ IsUpdateButtonEnabled = false;
}
else
{
diff --git a/ViewModel/Grading/GradingResultVM.cs b/ViewModel/Grading/GradingResultVM.cs
index 66af112..73a4cad 100644
--- a/ViewModel/Grading/GradingResultVM.cs
+++ b/ViewModel/Grading/GradingResultVM.cs
@@ -111,18 +111,42 @@ public class GradingResultVM : BaseViewModel
///
public DataTable GradeList { get { return _gradeList; } set { _gradeList = value; OnPropertyChanged(nameof(GradeList)); } }
///
- /// 活性
+ /// 保存和导出的按钮可用性
///
public bool IsEnabled { get{ return _isEnabled; } set { _isEnabled = value; OnPropertyChanged(nameof(IsEnabled)); } }
+ ///
+ /// 格式为小数点后一位
+ ///
private readonly static string digitsFormat = "f1";
+ ///
+ /// 切工总等级(辅助计算用)
+ ///
private int totalCutGrade = 0;
+ ///
+ /// 对称行总等级(辅助计算用)
+ ///
private decimal totalSymGrade = 0;
+ ///
+ /// 计算数据
+ ///
private AlgorithmResultEntity algorithmResult;
+ ///
+ /// 用户名
+ ///
private string username = "";
+ ///
+ /// 机器号
+ ///
private string machine = "";
+ ///
+ /// 形状id
+ ///
private string shapeId = string.Empty;
+ ///
+ /// 规则id
+ ///
private string ruleId = string.Empty;
///
/// 构造
@@ -130,30 +154,38 @@ public class GradingResultVM : BaseViewModel
/// 检测结果
public GradingResultVM(object result)
{
- SaveAsCommand = new RelayCommand(SaveAs);
- SaveFileCommand = new RelayCommand(SaveFile);
-
- if (result != null)
+ try
{
- algorithmResult = result as AlgorithmResultEntity?? new AlgorithmResultEntity();
- InitView(algorithmResult);
- machine = algorithmResult.DeviceId;
- username = Settings.SelectValueById("PERMISSIONS");
- if (ruleId.StartsWith("IGI"))
+ SaveAsCommand = new RelayCommand(SaveAs);
+ SaveFileCommand = new RelayCommand(SaveFile);
+
+ if (result != null)
{
- IsEnabled = true;
+ algorithmResult = result as AlgorithmResultEntity?? new AlgorithmResultEntity();
+ InitView(algorithmResult);
+ machine = algorithmResult.DeviceId;
+ username = Settings.SelectValueById("PERMISSIONS");
+ if (ruleId.StartsWith("IGI"))
+ {
+ IsEnabled = true;
+ }
+ else
+ {
+ IsEnabled = false;
+ }
}
- else
+ DS = "NA";
+ if (IsEnabled)
{
- IsEnabled = false;
+ AutoSave();
}
+ SaveTestResult(SaveStatus.AutoSave);
}
- DS = "NA";
- if (IsEnabled)
+ catch (Exception ex)
{
- AutoSave();
+ new MessageBox().Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}");
+ Logger.Error($"全局异常捕获:{ex.Message}", ex);
}
- SaveTestResult(SaveStatus.AutoSave);
}
#region 画面初始化相关操作
@@ -213,37 +245,45 @@ public class GradingResultVM : BaseViewModel
private void InitView(AlgorithmResultEntity result)
{
- InitViewportData(result);
- totalCutGrade = 0;
- totalSymGrade = 0;
- ruleId = getRuleId();
- Standard = result.Standard;
- shapeId = result.Shape;
- InitCombobox();
- Shape = GetName(result.Shape);
- CrownType = result.CrownType;
- PavType = result.PavType;
- DiamondCode = result.DiamondCode;
- CalWight(result);
- DtResults = new List();
- var testItemList = GetTestItemList();
- Type type = this.GetType();
- foreach (var testItem in testItemList)
- {
- string methodName = "get" + testItem;
- MethodInfo? methodInfo = type.GetMethod(methodName, BindingFlags.Instance | BindingFlags.NonPublic);
- if (methodInfo != null)
+ try
+ {
+ InitViewportData(result);
+ totalCutGrade = 0;
+ totalSymGrade = 0;
+ ruleId = getRuleId();
+ Standard = result.Standard;
+ shapeId = result.Shape;
+ InitCombobox();
+ Shape = GetName(result.Shape);
+ CrownType = result.CrownType;
+ PavType = result.PavType;
+ DiamondCode = result.DiamondCode;
+ CalWight(result);
+ DtResults = new List();
+ var testItemList = GetTestItemList();
+ Type type = this.GetType();
+ foreach (var testItem in testItemList)
{
- object[] parameters = new object[] { result };
- DataInfo? dataInfo = methodInfo.Invoke(this, parameters) as DataInfo;
- if (dataInfo != null)
+ string methodName = "get" + testItem;
+ MethodInfo? methodInfo = type.GetMethod(methodName, BindingFlags.Instance | BindingFlags.NonPublic);
+ if (methodInfo != null)
{
- dataInfo.GradeList = GradeList;
- DtResults.Add(dataInfo);
+ object[] parameters = new object[] { result };
+ DataInfo? dataInfo = methodInfo.Invoke(this, parameters) as DataInfo;
+ if (dataInfo != null)
+ {
+ dataInfo.GradeList = GradeList;
+ DtResults.Add(dataInfo);
+ }
}
}
+ CutLevelTotal = GetGradeName(totalCutGrade);
+ }
+ catch (Exception ex)
+ {
+ new MessageBox().Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}");
+ Logger.Error($"全局异常捕获:{ex.Message}", ex);
}
- CutLevelTotal = GetGradeName(totalCutGrade);
}
private string getRuleId()
{
@@ -317,52 +357,60 @@ public class GradingResultVM : BaseViewModel
}
private int calGrade(string item ,double value)
{
- decimal cValue = Convert.ToDecimal(value);
- List calGrades = GetCalGradeInfos(item);
- if (calGrades == null || calGrades.Count == 0)
- {
- return 0;
- }
int order = 1;
- foreach (CalGradeInfo gradeInfo in calGrades)
+ try
{
- bool isThisGrade = true;
-
- if (gradeInfo.Max!= null) {
- if ( gradeInfo.isMaxExist == 1 && cValue.CompareTo(gradeInfo.Max)<=0)
- {
- }else if(gradeInfo.isMaxExist == 0 && cValue.CompareTo(gradeInfo.Max) < 0)
- {
- }
- else
- {
- isThisGrade = false;
- }
+ decimal cValue = Convert.ToDecimal(value);
+ List calGrades = GetCalGradeInfos(item);
+ if (calGrades == null || calGrades.Count == 0)
+ {
+ return 0;
}
- if (gradeInfo.Min != null)
+ foreach (CalGradeInfo gradeInfo in calGrades)
{
- if (gradeInfo.isMinExist == 1 && cValue.CompareTo(gradeInfo.Min) >= 0)
+ bool isThisGrade = true;
+
+ if (gradeInfo.Max!= null) {
+ if ( gradeInfo.isMaxExist == 1 && cValue.CompareTo(gradeInfo.Max)<=0)
+ {
+ }else if(gradeInfo.isMaxExist == 0 && cValue.CompareTo(gradeInfo.Max) < 0)
+ {
+ }
+ else
+ {
+ isThisGrade = false;
+ }
+ }
+ if (gradeInfo.Min != null)
{
+ if (gradeInfo.isMinExist == 1 && cValue.CompareTo(gradeInfo.Min) >= 0)
+ {
+ }
+ else if (gradeInfo.isMinExist == 0 && cValue.CompareTo(gradeInfo.Min) > 0)
+ {
+ }
+ else
+ {
+ isThisGrade = false;
+ }
}
- else if (gradeInfo.isMinExist == 0 && cValue.CompareTo(gradeInfo.Min) > 0)
+ if (isThisGrade)
{
+ order = gradeInfo.gradeOrder;
+ break;
}
else
{
- isThisGrade = false;
+ order = gradeInfo.gradeOrder;
}
}
- if (isThisGrade)
- {
- order = gradeInfo.gradeOrder;
- break;
- }
- else
- {
- order = gradeInfo.gradeOrder;
- }
+ totalCutGrade = Math.Max(order, totalCutGrade);
+ }
+ catch (Exception ex)
+ {
+ new MessageBox().Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}");
+ Logger.Error($"全局异常捕获:{ex.Message}", ex);
}
- totalCutGrade = Math.Max(order, totalCutGrade);
return order;
}
private string calGrade_TOTAL_DEPTH(double avg)
@@ -736,48 +784,56 @@ public class GradingResultVM : BaseViewModel
#region 文件导出相关
public void SaveAs(object param)
{
- if (string.IsNullOrEmpty(DiamondCode))
+ try
{
- MessageBox messageBox = new MessageBox();
- MessageBoxResult boxResult = messageBox.ShowInput(MultilingualHelper.getString("UpdateDiamondCode"), out string inputStr,
- MultilingualHelper.getString("ok"),
- MultilingualHelper.getString("Cancel")
- );
-
- if (boxResult == MessageBoxResult.OK && inputStr.Length > 0)
+ if (string.IsNullOrEmpty(DiamondCode))
{
- this.DiamondCode = inputStr;
- }
- else
- {
- return;
+ MessageBox messageBox = new MessageBox();
+ MessageBoxResult boxResult = messageBox.ShowInput(MultilingualHelper.getString("UpdateDiamondCode"), out string inputStr,
+ MultilingualHelper.getString("ok"),
+ MultilingualHelper.getString("Cancel")
+ );
+
+ if (boxResult == MessageBoxResult.OK && inputStr.Length > 0)
+ {
+ this.DiamondCode = inputStr;
+ }
+ else
+ {
+ return;
+ }
}
- }
- using (var folderBrowserDlg = new FolderBrowserDialog())
- {
- // 创建SaveFileDialog实例
- SaveFileDialog saveFileDialog = new()
+ using (var folderBrowserDlg = new FolderBrowserDialog())
{
- Filter = "所有文件 (*.*)|*.*", // 文件类型过滤器
- FileName = this.DiamondCode // 默认文件名
- };
+ // 创建SaveFileDialog实例
+ SaveFileDialog saveFileDialog = new()
+ {
+ Filter = "所有文件 (*.*)|*.*", // 文件类型过滤器
+ FileName = this.DiamondCode // 默认文件名
+ };
- // 显示对话框并检查结果
- bool? result = saveFileDialog.ShowDialog();
- if (result == true)
- {
- // 获取用户选择的文件路径
- string filePath = saveFileDialog.FileName;
- if (!saveFileDialog.CheckPathExists)
+ // 显示对话框并检查结果
+ bool? result = saveFileDialog.ShowDialog();
+ if (result == true)
{
- new MessageBox().Show(MultilingualHelper.getString("FilePathNotExists"));
- return;
+ // 获取用户选择的文件路径
+ string filePath = saveFileDialog.FileName;
+ if (!saveFileDialog.CheckPathExists)
+ {
+ new MessageBox().Show(MultilingualHelper.getString("FilePathNotExists"));
+ return;
+ }
+ //ExportFile(filePath);
+ TxtFile(filePath);
}
- //ExportFile(filePath);
- TxtFile(filePath);
}
+ SaveTestResult(SaveStatus.SaveAs);
+ }
+ catch (Exception ex)
+ {
+ new MessageBox().Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}");
+ Logger.Error($"全局异常捕获:{ex.Message}", ex);
}
- SaveTestResult(SaveStatus.SaveAs);
}
private async void ExportFile(string filePath)
{
@@ -866,116 +922,140 @@ public class GradingResultVM : BaseViewModel
}
return result;
}
+ ///
+ /// txt文件导出
+ ///
+ ///
private void TxtFile(string filePath)
{
- string fileName = filePath + ".txt";
- using (var file = File.Create(fileName))
+ try
{
- Measurements info = algorithmResult.measurements;
- StreamWriter stream = new StreamWriter(file);
- stream.WriteLine($"IGI REPORT NUMBER={DiamondCode}");
- stream.WriteLine($"SARIN WEIGHT={Wight}");
- stream.WriteLine($"M1={info.M1}");
- stream.WriteLine($"M2={info.M2}");
- stream.WriteLine($"M3={info.M3}");
- stream.WriteLine($"TABLE={info.TABLE*100}");
- stream.WriteLine($"TABLE MIN={info.TABLE_MIN * 100}");
- stream.WriteLine($"TABLE MAX={info.TABLE_MAX * 100}");
- stream.WriteLine($"CROWN HEIGHT={info.CROWN_HEIGHT * 100}");
- stream.WriteLine($"CROWN H MIN={info.CROWN_H_MIN * 100}");
- stream.WriteLine($"CROWN H MAX={info.CROWN_H_MAX * 100}");
- stream.WriteLine($"CROWN ANGLE={info.CROWN_ANGLE}");
- stream.WriteLine($"CROWN ANGLE MIN={info.CROWN_ANGLE_MIN}");
- stream.WriteLine($"CROWN ANGLE MAX={info.CROWN_ANGLE_MAX}");
- stream.WriteLine($"PAV DEPTH={info.PAV_DEPTH * 100}");
- stream.WriteLine($"PAV DEPTH MIN={info.PAV_DEPTH_MIN * 100}");
- stream.WriteLine($"PAV DEPTH MAX={info.PAV_DEPTH_MAX * 100}");
- stream.WriteLine($"PAV ANGLE={info.PAV_ANGLE}");
- stream.WriteLine($"PAV ANGLE MIN={info.PAV_ANGLE_MIN}");
- stream.WriteLine($"PAV ANGLE MAX={info.PAV_ANGLE_MAX}");
- stream.WriteLine($"GIRDLE={info.GIRDLE * 100}");
- stream.WriteLine($"GIRDLE MIN={info.GIRDLE_MIN * 100}");
- stream.WriteLine($"GIRDLE MAX={info.GIRDLE_MAX * 100}");
- stream.WriteLine($"TOTAL DEPTH={info.TOTAL_DEPTH * 100}");
- stream.WriteLine($"CULET={info.CULET*100}");
- stream.WriteLine($"MACHINE={machine}");
- stream.WriteLine($"CUTGRADE={GetGradeEnName(totalCutGrade.ToString())}");
- stream.WriteLine($"LW RATIO={info.LW_RATIO}");
- stream.WriteLine($"DS={DS}");
- stream.WriteLine($"COC={info.COC * 100}");
- stream.WriteLine($"USER={username}");
- string TABLE_GRADE = DtResults.Where(x => "TABLE".Equals(x.TestItemId)).Select(x=>x.CutLevel).First()??"";
- stream.WriteLine($"TABLE GRADE={GetGradeEnName(GetGradeOrder(TABLE_GRADE))}");
- string CROWN_H_GRADE = DtResults.Where(x => "CROWN_HEIGHT".Equals(x.TestItemId)).Select(x => x.CutLevel).First() ?? "";
- stream.WriteLine($"CROWN H GRADE={GetGradeEnName(GetGradeOrder(CROWN_H_GRADE))}");
- string CROWN_ANGLE_GRADE = DtResults.Where(x => "CROWN_ANGLE".Equals(x.TestItemId)).Select(x => x.CutLevel).First() ?? "";
- stream.WriteLine($"CROWN ANGLE GRADE={GetGradeEnName(GetGradeOrder(CROWN_ANGLE_GRADE))}");
- string PAV_DEPTH_GRADE = DtResults.Where(x => "PAV_DEPTH".Equals(x.TestItemId)).Select(x => x.CutLevel).First() ?? "";
- stream.WriteLine($"PAV DEPTH GRADE={GetGradeEnName(GetGradeOrder(PAV_DEPTH_GRADE))}");
- string PAV_ANGLE_GRADE = DtResults.Where(x => "PAV_ANGLE".Equals(x.TestItemId)).Select(x => x.CutLevel).First() ?? "";
- stream.WriteLine($"PAV ANGLE GRADE={GetGradeEnName(GetGradeOrder(PAV_ANGLE_GRADE))}");
- string TD_GRADE = DtResults.Where(x => "TOTAL_DEPTH".Equals(x.TestItemId)).Select(x => x.CutLevel).First() ?? "";
- stream.WriteLine($"TD GRADE={GetGradeEnName(GetGradeOrder(TD_GRADE))}");
- stream.WriteLine($"TA={info.TA}");
- stream.WriteLine($"LGF={info.LGF * 100}");
- stream.WriteLine($"STAR={info.STAR * 100}");
- stream.Close();
+ string fileName = filePath + ".txt";
+ using (var file = File.Create(fileName))
+ {
+ Measurements info = algorithmResult.measurements;
+ StreamWriter stream = new StreamWriter(file);
+ stream.WriteLine($"IGI REPORT NUMBER={DiamondCode}");
+ stream.WriteLine($"SARIN WEIGHT={Wight}");
+ stream.WriteLine($"M1={info.M1}");
+ stream.WriteLine($"M2={info.M2}");
+ stream.WriteLine($"M3={info.M3}");
+ stream.WriteLine($"TABLE={info.TABLE*100}");
+ stream.WriteLine($"TABLE MIN={info.TABLE_MIN * 100}");
+ stream.WriteLine($"TABLE MAX={info.TABLE_MAX * 100}");
+ stream.WriteLine($"CROWN HEIGHT={info.CROWN_HEIGHT * 100}");
+ stream.WriteLine($"CROWN H MIN={info.CROWN_H_MIN * 100}");
+ stream.WriteLine($"CROWN H MAX={info.CROWN_H_MAX * 100}");
+ stream.WriteLine($"CROWN ANGLE={info.CROWN_ANGLE}");
+ stream.WriteLine($"CROWN ANGLE MIN={info.CROWN_ANGLE_MIN}");
+ stream.WriteLine($"CROWN ANGLE MAX={info.CROWN_ANGLE_MAX}");
+ stream.WriteLine($"PAV DEPTH={info.PAV_DEPTH * 100}");
+ stream.WriteLine($"PAV DEPTH MIN={info.PAV_DEPTH_MIN * 100}");
+ stream.WriteLine($"PAV DEPTH MAX={info.PAV_DEPTH_MAX * 100}");
+ stream.WriteLine($"PAV ANGLE={info.PAV_ANGLE}");
+ stream.WriteLine($"PAV ANGLE MIN={info.PAV_ANGLE_MIN}");
+ stream.WriteLine($"PAV ANGLE MAX={info.PAV_ANGLE_MAX}");
+ stream.WriteLine($"GIRDLE={info.GIRDLE * 100}");
+ stream.WriteLine($"GIRDLE MIN={info.GIRDLE_MIN * 100}");
+ stream.WriteLine($"GIRDLE MAX={info.GIRDLE_MAX * 100}");
+ stream.WriteLine($"TOTAL DEPTH={info.TOTAL_DEPTH * 100}");
+ stream.WriteLine($"CULET={info.CULET*100}");
+ stream.WriteLine($"MACHINE={machine}");
+ stream.WriteLine($"CUTGRADE={GetGradeEnName(totalCutGrade.ToString())}");
+ stream.WriteLine($"LW RATIO={info.LW_RATIO}");
+ stream.WriteLine($"DS={DS}");
+ stream.WriteLine($"COC={info.COC * 100}");
+ stream.WriteLine($"USER={username}");
+ string TABLE_GRADE = DtResults.Where(x => "TABLE".Equals(x.TestItemId)).Select(x=>x.CutLevel).First()??"";
+ stream.WriteLine($"TABLE GRADE={GetGradeEnName(GetGradeOrder(TABLE_GRADE))}");
+ string CROWN_H_GRADE = DtResults.Where(x => "CROWN_HEIGHT".Equals(x.TestItemId)).Select(x => x.CutLevel).First() ?? "";
+ stream.WriteLine($"CROWN H GRADE={GetGradeEnName(GetGradeOrder(CROWN_H_GRADE))}");
+ string CROWN_ANGLE_GRADE = DtResults.Where(x => "CROWN_ANGLE".Equals(x.TestItemId)).Select(x => x.CutLevel).First() ?? "";
+ stream.WriteLine($"CROWN ANGLE GRADE={GetGradeEnName(GetGradeOrder(CROWN_ANGLE_GRADE))}");
+ string PAV_DEPTH_GRADE = DtResults.Where(x => "PAV_DEPTH".Equals(x.TestItemId)).Select(x => x.CutLevel).First() ?? "";
+ stream.WriteLine($"PAV DEPTH GRADE={GetGradeEnName(GetGradeOrder(PAV_DEPTH_GRADE))}");
+ string PAV_ANGLE_GRADE = DtResults.Where(x => "PAV_ANGLE".Equals(x.TestItemId)).Select(x => x.CutLevel).First() ?? "";
+ stream.WriteLine($"PAV ANGLE GRADE={GetGradeEnName(GetGradeOrder(PAV_ANGLE_GRADE))}");
+ string TD_GRADE = DtResults.Where(x => "TOTAL_DEPTH".Equals(x.TestItemId)).Select(x => x.CutLevel).First() ?? "";
+ stream.WriteLine($"TD GRADE={GetGradeEnName(GetGradeOrder(TD_GRADE))}");
+ stream.WriteLine($"TA={info.TA}");
+ stream.WriteLine($"LGF={info.LGF * 100}");
+ stream.WriteLine($"STAR={info.STAR * 100}");
+ stream.Close();
+ }
+ }
+ catch (Exception ex)
+ {
+ new MessageBox().Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}");
+ Logger.Error($"全局异常捕获:{ex.Message}", ex);
}
}
+ ///
+ /// excel文件导出
+ ///
+ ///
private void ExcelFile(string filePath)
{
- string fileName = filePath + ".xlsx";
- IWorkbook workbook = new XSSFWorkbook();
- ISheet sheet = workbook.CreateSheet("Sheet1");
+ try
+ {
+ string fileName = filePath + ".xlsx";
+ IWorkbook workbook = new XSSFWorkbook();
+ ISheet sheet = workbook.CreateSheet("Sheet1");
- int col = 0;
- int row = 0;
- var dataRow = sheet.CreateRow(row);
- dataRow.CreateCell(col++).SetCellValue("Measurement1");
- dataRow.CreateCell(col++).SetCellValue("Measurement2");
- dataRow.CreateCell(col++).SetCellValue("Measurement3");
- dataRow.CreateCell(col++).SetCellValue("Table");
- dataRow.CreateCell(col++).SetCellValue("Crown Height");
- dataRow.CreateCell(col++).SetCellValue("Pavilion Depth");
- dataRow.CreateCell(col++).SetCellValue("Total Depth");
- dataRow.CreateCell(col++).SetCellValue("Crown Angle");
- dataRow.CreateCell(col++).SetCellValue("Pavilion Angle");
- dataRow.CreateCell(col++).SetCellValue("Culet Size");
- dataRow.CreateCell(col++).SetCellValue("Girdle Percent");
- dataRow.CreateCell(col++).SetCellValue("Girdle Name");
- dataRow.CreateCell(col++).SetCellValue("POL or Pol/Sym");
- dataRow.CreateCell(col++).SetCellValue("SYM");
- dataRow.CreateCell(col++).SetCellValue("CUT-PROP");
- row++;
- col = 0;
- dataRow = sheet.CreateRow(row);
- Measurements info = algorithmResult.measurements;
- dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_A(info.M1)}(mm)");
- dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_A(info.M2)}(mm)");
- dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_A(info.M3)}(mm)");
- dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_P(info.TABLE)}%");
- dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_P(info.CROWN_HEIGHT)}%");
- dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_P(info.PAV_DEPTH)}%");
- 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)}°");
- dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_A(info.CULET_SIZE)}(mm)");
- dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_P(info.GIRDLE)}%");
- // 腰部厚度英文
- dataRow.CreateCell(col++).SetCellValue($"{calGirdleName(info)}");
- dataRow.CreateCell(col++).SetCellValue($"");
- string sysmlevel = "";
- if (!string.IsNullOrEmpty(SymLevelTotal))
- {
- sysmlevel = GetGradeEnName(GetGradeOrder(SymLevelTotal ?? ""));
- }
- dataRow.CreateCell(col++).SetCellValue($"{sysmlevel}");
- dataRow.CreateCell(col++).SetCellValue($"{GetGradeEnName(GetGradeOrder(CutLevelTotal))}");
+ int col = 0;
+ int row = 0;
+ var dataRow = sheet.CreateRow(row);
+ dataRow.CreateCell(col++).SetCellValue("Measurement1");
+ dataRow.CreateCell(col++).SetCellValue("Measurement2");
+ dataRow.CreateCell(col++).SetCellValue("Measurement3");
+ dataRow.CreateCell(col++).SetCellValue("Table");
+ dataRow.CreateCell(col++).SetCellValue("Crown Height");
+ dataRow.CreateCell(col++).SetCellValue("Pavilion Depth");
+ dataRow.CreateCell(col++).SetCellValue("Total Depth");
+ dataRow.CreateCell(col++).SetCellValue("Crown Angle");
+ dataRow.CreateCell(col++).SetCellValue("Pavilion Angle");
+ dataRow.CreateCell(col++).SetCellValue("Culet Size");
+ dataRow.CreateCell(col++).SetCellValue("Girdle Percent");
+ dataRow.CreateCell(col++).SetCellValue("Girdle Name");
+ dataRow.CreateCell(col++).SetCellValue("POL or Pol/Sym");
+ dataRow.CreateCell(col++).SetCellValue("SYM");
+ dataRow.CreateCell(col++).SetCellValue("CUT-PROP");
+ row++;
+ col = 0;
+ dataRow = sheet.CreateRow(row);
+ Measurements info = algorithmResult.measurements;
+ dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_A(info.M1)}(mm)");
+ dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_A(info.M2)}(mm)");
+ dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_A(info.M3)}(mm)");
+ dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_P(info.TABLE)}%");
+ dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_P(info.CROWN_HEIGHT)}%");
+ dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_P(info.PAV_DEPTH)}%");
+ 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)}°");
+ dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_A(info.CULET_SIZE)}(mm)");
+ dataRow.CreateCell(col++).SetCellValue($"{FormatDouble_P(info.GIRDLE)}%");
+ // 腰部厚度英文
+ dataRow.CreateCell(col++).SetCellValue($"{calGirdleName(info)}");
+ dataRow.CreateCell(col++).SetCellValue($"");
+ string sysmlevel = "";
+ if (!string.IsNullOrEmpty(SymLevelTotal))
+ {
+ sysmlevel = GetGradeEnName(GetGradeOrder(SymLevelTotal ?? ""));
+ }
+ dataRow.CreateCell(col++).SetCellValue($"{sysmlevel}");
+ dataRow.CreateCell(col++).SetCellValue($"{GetGradeEnName(GetGradeOrder(CutLevelTotal))}");
- // 保存Excel文件
- using (FileStream stream = new FileStream(fileName, FileMode.Create, FileAccess.Write))
+ // 保存Excel文件
+ using (FileStream stream = new FileStream(fileName, FileMode.Create, FileAccess.Write))
+ {
+ workbook.Write(stream);
+ }
+ }
+ catch (Exception ex)
{
- workbook.Write(stream);
+ new MessageBox().Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}");
+ Logger.Error($"全局异常捕获:{ex.Message}", ex);
}
}