fix:try catch增加

master
sunhonglei 5 months ago
parent e8290e9358
commit 03eb2c56e1
  1. 32
      ViewModel/Configuration/LevelConfigVM.cs
  2. 498
      ViewModel/Grading/GradingResultVM.cs

@ -14,6 +14,9 @@ using MessageBox = SparkClient.Views.Dialog.MessageBox;
namespace SparkClient.ViewModel.Configuration;
/// <summary>
/// 定级配置VM
/// </summary>
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;
/// <summary>
/// 规则下拉列表
/// </summary>
public DataTable Institutes { get { return _institutes; } set { _institutes = value; OnPropertyChanged("Institutes"); } }
private DataTable _shapes;
/// <summary>
/// 形状下拉列表
/// </summary>
public DataTable Shapes { get { return _shapes; } set { _shapes = value; OnPropertyChanged("Shapes"); } }
private string _instituteId;
/// <summary>
/// 规则id
/// </summary>
public string InstituteId { get { return _instituteId; } set { _instituteId = value; OnPropertyChanged("InstituteId"); } }
private string _shapeId;
/// <summary>
/// 形状id
/// </summary>
public string ShapeId { get { return _shapeId; } set { _shapeId = value; OnPropertyChanged("ShapeId"); } }
private DataTable _standardList;
/// <summary>
/// 定级配置数据
/// </summary>
public DataTable StandardList { get { return _standardList; } set { _standardList = value; OnPropertyChanged("StandardList"); } }
DataGrid dataGrid;
private bool _institutesEnabled = true;
/// <summary>
/// 规则下拉列表可用性
/// </summary>
public bool InstitutesEnabled { get { return _institutesEnabled; } set { _institutesEnabled = value; OnPropertyChanged("InstitutesEnabled"); } }
private bool _shapesEnabled = true;
/// <summary>
/// 形状下拉列表可用性
/// </summary>
public bool ShapesEnabled { get { return _shapesEnabled; } set { _shapesEnabled = value; OnPropertyChanged("ShapesEnabled"); } }
private bool _isUpdateButtonEnabled;
/// <summary>
/// 保存按钮可用性
/// </summary>
public bool IsUpdateButtonEnabled { get { return _isUpdateButtonEnabled; } set { _isUpdateButtonEnabled = value; OnPropertyChanged("IsUpdateButtonEnabled"); } }
/// <summary>
/// 导入文件数据
/// </summary>
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
{

@ -111,18 +111,42 @@ public class GradingResultVM : BaseViewModel
/// </summary>
public DataTable GradeList { get { return _gradeList; } set { _gradeList = value; OnPropertyChanged(nameof(GradeList)); } }
/// <summary>
///
/// 保存和导出的按钮可用
/// </summary>
public bool IsEnabled { get{ return _isEnabled; } set { _isEnabled = value; OnPropertyChanged(nameof(IsEnabled)); } }
/// <summary>
/// 格式为小数点后一位
/// </summary>
private readonly static string digitsFormat = "f1";
/// <summary>
/// 切工总等级(辅助计算用)
/// </summary>
private int totalCutGrade = 0;
/// <summary>
/// 对称行总等级(辅助计算用)
/// </summary>
private decimal totalSymGrade = 0;
/// <summary>
/// 计算数据
/// </summary>
private AlgorithmResultEntity algorithmResult;
/// <summary>
/// 用户名
/// </summary>
private string username = "";
/// <summary>
/// 机器号
/// </summary>
private string machine = "";
/// <summary>
/// 形状id
/// </summary>
private string shapeId = string.Empty;
/// <summary>
/// 规则id
/// </summary>
private string ruleId = string.Empty;
/// <summary>
/// 构造
@ -130,30 +154,38 @@ public class GradingResultVM : BaseViewModel
/// <param name="result">检测结果</param>
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<DataInfo>();
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<DataInfo>();
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<CalGradeInfo> 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<CalGradeInfo> 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)
{
this.DiamondCode = inputStr;
}
else
if (string.IsNullOrEmpty(DiamondCode))
{
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;
}
/// <summary>
/// txt文件导出
/// </summary>
/// <param name="filePath"></param>
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);
}
}
/// <summary>
/// excel文件导出
/// </summary>
/// <param name="filePath"></param>
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);
}
}

Loading…
Cancel
Save