master
sunhonglei 5 months ago
parent b18833aca8
commit b0e860c2e2
  1. 2
      App.xaml.cs
  2. 4
      LoginWindow.xaml.cs
  3. 3
      Model/Entity/JsonEntity.cs
  4. 4
      SparkClient.csproj
  5. 14
      ViewModel/BaseWindow/BaseControlVM.cs
  6. 2
      ViewModel/Configuration/AlgorithmConfigVM.cs
  7. 2
      ViewModel/Configuration/CutConfigVM.cs
  8. 140
      ViewModel/Configuration/SettingsPages/ModelColorSetPageVM.cs
  9. 225
      ViewModel/Configuration/SettingsPages/SettingsVM.cs
  10. 8
      ViewModel/Grading/GradingResultVM.cs

@ -25,7 +25,7 @@ public partial class App : Application
//打开数据库连接
//读取数据库多语言配置
DataBaseHelper.CreateConnection();
string LanguageId = Settings.SelectValueByName("LanguageId");
string LanguageId = Settings.SelectValueById("LanguageId");
if (LanguageId.Length == 0)
{
LanguageId = "zh-cn";

@ -15,8 +15,8 @@ public partial class LoginWindow : Window
{
InitializeComponent();
WindowStartupLocation = WindowStartupLocation.CenterScreen;
AccountTextBox.Text = Settings.SelectValueByName("SAVE_ACCOUNT");
PasswordBox.Password = Settings.SelectValueByName("SAVE_PASSWORD");
AccountTextBox.Text = Settings.SelectValueById("SAVE_ACCOUNT");
PasswordBox.Password = Settings.SelectValueById("SAVE_PASSWORD");
checkCUDA();
// 检测MSVCRuntime是否安装
checkMSVCRuntime();

@ -10,6 +10,9 @@ using System.Windows.Shapes;
namespace EncryptFileTool.Entity
{
/// <summary>
/// 定级配置导入数据
/// </summary>
public class JsonEntity
{
public string SHAPE_ID { get; set; }

@ -52,9 +52,9 @@
<None Remove="Resource\Images\UIResource\round_P8-P8.png" />
<None Remove="Resource\Images\UIResource\round_select.png" />
<None Remove="Resource\Images\ze-add-o 1%403x.png" />
<Resource Include="ffmpeg.exe">
<Content Include="ffmpeg.exe">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Resource>
</Content>
<None Remove="Resource\Images\homebg.png" />
<Resource Include="Resource\Images\UIResource\Cushion.png" />
<Resource Include="Resource\Images\UIResource\Cushion_select.png" />

@ -64,11 +64,17 @@ public class BaseControlVM : BaseViewModel
{
if(Content is GradingResultVM)
{
MessageBox message = new MessageBox();
MessageBoxResult result = message.ShowAsk(MultilingualHelper.getString("DiamodResultCloseConfirm"));
if (MessageBoxResult.OK.Equals(result))
{
bool isSaved = (Content as GradingResultVM).isSaved;
if (isSaved) {
WindowManager.mainViewModel.Content = WindowManager.PreviousVM();
}
else {
MessageBox message = new MessageBox();
MessageBoxResult result = message.ShowAsk(MultilingualHelper.getString("DiamodResultCloseConfirm"));
if (MessageBoxResult.OK.Equals(result))
{
WindowManager.mainViewModel.Content = WindowManager.PreviousVM();
}
}
}
else

@ -122,7 +122,7 @@ public class AlgorithmConfigVM : BaseViewModel
}
}
private void IsEnabledByRole (){
string PERMISSIONS = Settings.SelectValueByName("PERMISSIONS");
string PERMISSIONS = Settings.SelectValueById("PERMISSIONS");
if ("admin".Equals(PERMISSIONS))
{
IsEnabled = true;

@ -147,7 +147,7 @@ public class CutConfigVM: BaseViewModel
}
private void IsEnabledByRole()
{
string PERMISSIONS = Settings.SelectValueByName("PERMISSIONS");
string PERMISSIONS = Settings.SelectValueById("PERMISSIONS");
if ("admin".Equals(PERMISSIONS))
{
IsEnabled = true;

@ -1,9 +1,14 @@
using log4net;
using SparkClient.Model.Helper;
using SparkClient.ViewModel.Grading;
namespace SparkClient.ViewModel.Configuration.SettingsPages;
/// <summary>
/// 系统配置中颜色配置页面VM
/// </summary>
public class ModelColorSetPageVM : BaseViewModel
{
private static readonly ILog Logger = LogManager.GetLogger(typeof(ModelColorSetPageVM));
private string _FACET_COLOR;
private string _BORDER_COLOR;
private string _SELECTED_FACET_COLOR;
@ -21,22 +26,73 @@ public class ModelColorSetPageVM : BaseViewModel
private string _PAVILION_MAIN_FACET_COLOR;
private string _LOWER_GIRDLE_FACET_COLOR;
private string _CULET_COLOR;
/// <summary>
/// 面部颜色
/// </summary>
public string FACET_COLOR { get { return _FACET_COLOR; } set { _FACET_COLOR = value; OnPropertyChanged(nameof(FACET_COLOR)); } }
/// <summary>
/// 边框颜色
/// </summary>
public string BORDER_COLOR { get { return _BORDER_COLOR; } set { _BORDER_COLOR = value; OnPropertyChanged(nameof(BORDER_COLOR)); } }
/// <summary>
/// 选中面颜色
/// </summary>
public string SELECTED_FACET_COLOR { get { return _SELECTED_FACET_COLOR; } set { _SELECTED_FACET_COLOR = value; OnPropertyChanged(nameof(SELECTED_FACET_COLOR)); } }
/// <summary>
/// 选中面边框颜色
/// </summary>
public string SELECTED_BORDER_COLOR { get { return _SELECTED_BORDER_COLOR; } set { _SELECTED_BORDER_COLOR = value; OnPropertyChanged(nameof(SELECTED_BORDER_COLOR)); } }
/// <summary>
/// 选中面同类面颜色
/// </summary>
public string SELECTED_TYPE_COLOR { get { return _SELECTED_TYPE_COLOR; } set { _SELECTED_TYPE_COLOR = value; OnPropertyChanged(nameof(SELECTED_TYPE_COLOR)); } }
/// <summary>
/// 选中面文字信息颜色
/// </summary>
public string SELECTED_FONT_COLOR { get { return _SELECTED_FONT_COLOR; } set { _SELECTED_FONT_COLOR = value; OnPropertyChanged(nameof(SELECTED_FONT_COLOR)); } }
/// <summary>
/// 标识线条颜色
/// </summary>
public string RULER_COLOR { get { return _RULER_COLOR; } set { _RULER_COLOR = value; OnPropertyChanged(nameof(RULER_COLOR)); } }
/// <summary>
/// 正方向标记颜色
/// </summary>
public string ARROW_COLOR { get { return _ARROW_COLOR; } set { _ARROW_COLOR = value; OnPropertyChanged(nameof(ARROW_COLOR)); } }
/// <summary>
/// 瑕疵面颜色
/// </summary>
public string BLEMISH_FACET_COLOR { get { return _BLEMISH_FACET_COLOR; } set { _BLEMISH_FACET_COLOR = value; OnPropertyChanged(nameof(BLEMISH_FACET_COLOR)); } }
/// <summary>
/// 台面颜色
/// </summary>
public string TABLE_FACET_COLOR { get { return _TABLE_FACET_COLOR; } set { _TABLE_FACET_COLOR = value; OnPropertyChanged(nameof(TABLE_FACET_COLOR)); } }
/// <summary>
/// 风筝面颜色
/// </summary>
public string UPPER_MAIN_FACET_COLOR { get { return _UPPER_MAIN_FACET_COLOR; } set { _UPPER_MAIN_FACET_COLOR = value; OnPropertyChanged(nameof(UPPER_MAIN_FACET_COLOR)); } }
/// <summary>
/// 星刻面颜色
/// </summary>
public string STAR_FACET_COLOR { get { return _STAR_FACET_COLOR; } set { _STAR_FACET_COLOR = value; OnPropertyChanged(nameof(STAR_FACET_COLOR)); } }
/// <summary>
/// 上腰面颜色
/// </summary>
public string UPPER_GIRDLE_FACET_COLOR { get { return _UPPER_GIRDLE_FACET_COLOR; } set { _UPPER_GIRDLE_FACET_COLOR = value; OnPropertyChanged(nameof(UPPER_GIRDLE_FACET_COLOR)); } }
/// <summary>
/// 腰面颜色
/// </summary>
public string GIRDLE_FACET_COLOR { get { return _GIRDLE_FACET_COLOR; } set { _GIRDLE_FACET_COLOR = value; OnPropertyChanged(nameof(GIRDLE_FACET_COLOR)); } }
/// <summary>
/// 亭部主刻面颜色
/// </summary>
public string PAVILION_MAIN_FACET_COLOR { get { return _PAVILION_MAIN_FACET_COLOR; } set { _PAVILION_MAIN_FACET_COLOR = value; OnPropertyChanged(nameof(PAVILION_MAIN_FACET_COLOR)); } }
/// <summary>
/// 下腰面颜色
/// </summary>
public string LOWER_GIRDLE_FACET_COLOR { get { return _LOWER_GIRDLE_FACET_COLOR; } set { _LOWER_GIRDLE_FACET_COLOR = value; OnPropertyChanged(nameof(LOWER_GIRDLE_FACET_COLOR)); } }
/// <summary>
/// 底面颜色
/// </summary>
public string CULET_COLOR { get { return _CULET_COLOR; } set { _CULET_COLOR = value; OnPropertyChanged(nameof(CULET_COLOR)); } }
private Dictionary<string, string> colors;
@ -44,44 +100,64 @@ public class ModelColorSetPageVM : BaseViewModel
{
InitSetting();
}
/// <summary>
/// 页面初始化参数赋值
/// </summary>
private void InitSetting()
{
colors = new Dictionary<string, string>();
colors.Add("FACET_COLOR", "面部颜色");
colors.Add("BORDER_COLOR", "边框颜色");
colors.Add("SELECTED_FACET_COLOR", "选中面颜色");
colors.Add("SELECTED_BORDER_COLOR", "选中面边框颜色");
colors.Add("SELECTED_TYPE_COLOR", "选中面同类面颜色");
colors.Add("SELECTED_FONT_COLOR", "选中面文字信息颜色");
colors.Add("RULER_COLOR", "标识线条颜色");
colors.Add("ARROW_COLOR", "正方向标记颜色");
colors.Add("BLEMISH_FACET_COLOR", "瑕疵面颜色");
colors.Add("TABLE_FACET_COLOR", "台面颜色");
colors.Add("UPPER_MAIN_FACET_COLOR", "风筝面颜色");
colors.Add("STAR_FACET_COLOR", "星刻面颜色");
colors.Add("UPPER_GIRDLE_FACET_COLOR", "上腰面颜色");
colors.Add("GIRDLE_FACET_COLOR", "腰面颜色");
colors.Add("PAVILION_MAIN_FACET_COLOR", "亭部主刻面颜色");
colors.Add("LOWER_GIRDLE_FACET_COLOR", "下腰面颜色");
colors.Add("CULET_COLOR", "底面颜色");
try
{
colors = new Dictionary<string, string>();
colors.Add("FACET_COLOR", "面部颜色");
colors.Add("BORDER_COLOR", "边框颜色");
colors.Add("SELECTED_FACET_COLOR", "选中面颜色");
colors.Add("SELECTED_BORDER_COLOR", "选中面边框颜色");
colors.Add("SELECTED_TYPE_COLOR", "选中面同类面颜色");
colors.Add("SELECTED_FONT_COLOR", "选中面文字信息颜色");
colors.Add("RULER_COLOR", "标识线条颜色");
colors.Add("ARROW_COLOR", "正方向标记颜色");
colors.Add("BLEMISH_FACET_COLOR", "瑕疵面颜色");
colors.Add("TABLE_FACET_COLOR", "台面颜色");
colors.Add("UPPER_MAIN_FACET_COLOR", "风筝面颜色");
colors.Add("STAR_FACET_COLOR", "星刻面颜色");
colors.Add("UPPER_GIRDLE_FACET_COLOR", "上腰面颜色");
colors.Add("GIRDLE_FACET_COLOR", "腰面颜色");
colors.Add("PAVILION_MAIN_FACET_COLOR", "亭部主刻面颜色");
colors.Add("LOWER_GIRDLE_FACET_COLOR", "下腰面颜色");
colors.Add("CULET_COLOR", "底面颜色");
foreach (var color in colors)
foreach (var color in colors)
{
setColor(color.Key);
}
}
catch (Exception ex)
{
setColor(color.Key);
Logger.Error($"全局异常捕获:{ex.Message}", ex);
}
}
/// <summary>
/// 颜色数据更新
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
public bool SaveUpdate(object param)
{
DataBaseHelper.BeginTransaction();
foreach(var color in colors)
try
{
DataBaseHelper.BeginTransaction();
foreach (var color in colors)
{
updateDataBase(color.Key);
}
DataBaseHelper.commit();
return true;
}
catch (Exception ex)
{
updateDataBase(color.Key);
Logger.Error($"全局异常捕获:{ex.Message}", ex);
return false;
}
DataBaseHelper.commit();
return true;
}
private void updateDataBase(string SETTING_ID)
{
@ -94,9 +170,13 @@ public class ModelColorSetPageVM : BaseViewModel
};
colorData.insert();
}
/// <summary>
/// 画面中颜色属性赋值
/// </summary>
/// <param name="SETTING_ID"></param>
private void setColor(string SETTING_ID)
{
var value = Settings.SelectValueByName(SETTING_ID);
var value = Settings.SelectValueById(SETTING_ID);
if (value == null || string.IsNullOrEmpty(value))
{
value = "#FF000000";

@ -1,4 +1,5 @@
using HandyControl.Controls;
using log4net;
using Newtonsoft.Json.Linq;
using SparkClient.Model.Entity.Base;
using SparkClient.Model.Helper;
@ -17,6 +18,7 @@ namespace SparkClient.ViewModel.Configuration.SettingsPages
{
public class SettingsVM : BaseViewModel
{
private static readonly ILog Logger = LogManager.GetLogger(typeof(ModelColorSetPageVM));
public ICommand SelectFileCommand { get; }
public string _languageId;
@ -47,119 +49,154 @@ namespace SparkClient.ViewModel.Configuration.SettingsPages
public DataTable Rules { get { return _rules; } set { _rules = value; OnPropertyChanged(nameof(Rules)); } }
public SettingsVM()
{
SelectFileCommand = new RelayCommand(SelectFile);
InitSetting();
try {
SelectFileCommand = new RelayCommand(SelectFile);
InitSetting();
}
catch (Exception ex)
{
Logger.Error($"全局异常捕获:{ex.Message}", ex);
}
}
private void InitSetting()
{
Languages = new DataTable();
Languages.Columns.Add("Key");
Languages.Columns.Add("Value");
Languages.Rows.Add("中文", "zh-cn");
Languages.Rows.Add("English", "en");
LanguageId = Settings.SelectValueByName("LanguageId");
if (LanguageId.Length == 0)
try
{
Languages = new DataTable();
Languages.Columns.Add("Key");
Languages.Columns.Add("Value");
Languages.Rows.Add("中文", "zh-cn");
Languages.Rows.Add("English", "en");
LanguageId = Settings.SelectValueById("LanguageId");
if (LanguageId.Length == 0)
{
LanguageId = "zh-cn";
}
bool.TryParse( Settings.SelectValueById("TxtFileChecked"), out bool TxtFileChecked);
this.TxtFileChecked = TxtFileChecked;
bool.TryParse(Settings.SelectValueById("StlFileChecked"), out bool StlFileChecked);
this.StlFileChecked = StlFileChecked;
bool.TryParse(Settings.SelectValueById("ExcelFileChecked"), out bool ExcelFileChecked);
this.ExcelFileChecked = ExcelFileChecked;
bool.TryParse(Settings.SelectValueById("DatFileChecked"), out bool DatFileChecked);
this.DatFileChecked = DatFileChecked;
FilePath = Settings.SelectValueById("FilePath");
RuleId = Settings.SelectValueById("RuleId");
selectRules();
}
catch (Exception ex)
{
LanguageId = "zh-cn";
Logger.Error($"全局异常捕获:{ex.Message}", ex);
}
bool.TryParse( Settings.SelectValueByName("TxtFileChecked"), out bool TxtFileChecked);
this.TxtFileChecked = TxtFileChecked;
bool.TryParse(Settings.SelectValueByName("StlFileChecked"), out bool StlFileChecked);
this.StlFileChecked = StlFileChecked;
bool.TryParse(Settings.SelectValueByName("ExcelFileChecked"), out bool ExcelFileChecked);
this.ExcelFileChecked = ExcelFileChecked;
bool.TryParse(Settings.SelectValueByName("DatFileChecked"), out bool DatFileChecked);
this.DatFileChecked = DatFileChecked;
FilePath = Settings.SelectValueByName("FilePath");
RuleId = Settings.SelectValueByName("RuleId");
selectRules();
}
private void selectRules()
{
Rules = new DataTable();
Rules.Columns.Add("Key");
Rules.Columns.Add("Value");
string sql = $"SELECT * FROM RULE WHERE RULE_ID NOT LIKE '%_TA_%';";
DataTable db = DataBaseHelper.ExecuteQuery(sql);
foreach (DataRow row in db.Rows)
try
{
Rules.Rows.Add(row[MultilingualHelper.getString("RULE_NAME")].ToString(), row["RULE_ID"].ToString());
Rules = new DataTable();
Rules.Columns.Add("Key");
Rules.Columns.Add("Value");
string sql = $"SELECT * FROM RULE WHERE RULE_ID NOT LIKE '%_TA_%';";
DataTable db = DataBaseHelper.ExecuteQuery(sql);
foreach (DataRow row in db.Rows)
{
Rules.Rows.Add(row[MultilingualHelper.getString("RULE_NAME")].ToString(), row["RULE_ID"].ToString());
}
}
catch (Exception ex)
{
Logger.Error($"全局异常捕获:{ex.Message}", ex);
}
//Rules.Rows.Add("IGI 2023", "IGI2023");
}
public bool SaveUpdate(object param)
{
if (!Directory.Exists(FilePath))
try
{
Growl.Error(MultilingualHelper.getString("SavePathIsnotExists"));
if (!Directory.Exists(FilePath))
{
Growl.Error(MultilingualHelper.getString("SavePathIsnotExists"));
return false;
}
MultilingualHelper.setLanguage(_languageId);
updateDataBase();
Growl.InfoGlobal(MultilingualHelper.getString("Save_successful_message"));
return true;
}
catch (Exception ex)
{
Logger.Error($"全局异常捕获:{ex.Message}", ex);
return false;
}
MultilingualHelper.setLanguage(_languageId);
updateDataBase();
Growl.InfoGlobal(MultilingualHelper.getString("Save_successful_message"));
return true;
}
private void updateDataBase()
{
// 语言设置登录
Settings LanguageData = new Settings()
{
Key = "LanguageId",
ItemName = "语言设置",
Value = LanguageId,
};
LanguageData.insert();
// 上传文件登录
Settings TxtFileCheckedData = new Settings()
try
{
Key = "TxtFileChecked",
ItemName = "上传文件 TXT文件",
Value = TxtFileChecked.ToString(),
};
TxtFileCheckedData.insert();
// 语言设置登录
Settings LanguageData = new Settings()
{
Key = "LanguageId",
ItemName = "语言设置",
Value = LanguageId,
};
LanguageData.insert();
// 上传文件登录
Settings TxtFileCheckedData = new Settings()
{
Key = "TxtFileChecked",
ItemName = "上传文件 TXT文件",
Value = TxtFileChecked.ToString(),
};
TxtFileCheckedData.insert();
Settings StlFileCheckedData = new Settings()
{
Key = "StlFileChecked",
ItemName = "上传文件 STL文件",
Value = StlFileChecked.ToString(),
};
StlFileCheckedData.insert();
Settings StlFileCheckedData = new Settings()
{
Key = "StlFileChecked",
ItemName = "上传文件 STL文件",
Value = StlFileChecked.ToString(),
};
StlFileCheckedData.insert();
Settings ExcelFileCheckedData = new Settings()
{
Key = "ExcelFileChecked",
ItemName = "上传文件 Excel文件",
Value = ExcelFileChecked.ToString(),
};
ExcelFileCheckedData.insert();
Settings ExcelFileCheckedData = new Settings()
{
Key = "ExcelFileChecked",
ItemName = "上传文件 Excel文件",
Value = ExcelFileChecked.ToString(),
};
ExcelFileCheckedData.insert();
Settings DatFileCheckedData = new Settings()
{
Key = "DatFileChecked",
ItemName = "上传文件 Dat文件",
Value = DatFileChecked.ToString(),
};
DatFileCheckedData.insert();
// 保存路径登录
Settings FilePathData = new Settings()
{
Key = "FilePath",
ItemName = "保存路径",
Value = FilePath,
};
FilePathData.insert();
// 定级标准登录
Settings RuleData = new Settings()
Settings DatFileCheckedData = new Settings()
{
Key = "DatFileChecked",
ItemName = "上传文件 Dat文件",
Value = DatFileChecked.ToString(),
};
DatFileCheckedData.insert();
// 保存路径登录
Settings FilePathData = new Settings()
{
Key = "FilePath",
ItemName = "保存路径",
Value = FilePath,
};
FilePathData.insert();
// 定级标准登录
Settings RuleData = new Settings()
{
Key = "RuleId",
ItemName = "定级标准",
Value = RuleId,
};
RuleData.insert();
}
catch (Exception ex)
{
Key = "RuleId",
ItemName = "定级标准",
Value = RuleId,
};
RuleData.insert();
Logger.Error($"全局异常捕获:{ex.Message}", ex);
}
}
public void SelectFile(object param)
{
@ -182,6 +219,9 @@ namespace SparkClient.ViewModel.Configuration.SettingsPages
}
}
}
/// <summary>
/// 设定表实体
/// </summary>
public class Settings
{
private static string TABLE_NAME = "SETTING";
@ -203,7 +243,10 @@ namespace SparkClient.ViewModel.Configuration.SettingsPages
/// </summary>
[DbField("SETTING_P")]
public required string Value { get; set; }
/// <summary>
/// 设定表DB登录
/// </summary>
/// <returns>更新数量</returns>
public int insert()
{
string sql = $"SELECT * FROM {TABLE_NAME} WHERE SETTING_ID = '{Key}';";
@ -219,8 +262,12 @@ namespace SparkClient.ViewModel.Configuration.SettingsPages
return DataBaseHelper.ExecuteNonQuery(insertSql);
}
}
public static string SelectValueByName(string Id)
/// <summary>
/// 设定表值检索
/// </summary>
/// <param name="Id"></param>
/// <returns>value</returns>
public static string SelectValueById(string Id)
{
string sql = $"SELECT * FROM {TABLE_NAME} WHERE SETTING_ID = '{Id}';";
DataTable db = DataBaseHelper.ExecuteQuery(sql);

@ -46,6 +46,7 @@ public class GradingResultVM : BaseViewModel
private string _ds;
private RowDetail _selRowDataDetail;
private bool _isEnabled;
public bool isSaved = false;
public ICommand SaveFileCommand { get; }
public ICommand SaveAsCommand { get; }
public List<DataInfo> DtResults { get { return _dtResults; } set { _dtResults = value; OnPropertyChanged(nameof(DtResults)); } }
@ -87,7 +88,7 @@ public class GradingResultVM : BaseViewModel
algorithmResult = result as AlgorithmResultEntity?? new AlgorithmResultEntity();
InitView(algorithmResult);
machine = algorithmResult.DeviceId;
username = Settings.SelectValueByName("PERMISSIONS");
username = Settings.SelectValueById("PERMISSIONS");
if (ruleId.StartsWith("IGI"))
{
IsEnabled = true;
@ -139,7 +140,7 @@ public class GradingResultVM : BaseViewModel
Type type = colorConfigEntity.GetType();
foreach (var property in colorProperty)
{
var value = Settings.SelectValueByName(property.Key);
var value = Settings.SelectValueById(property.Key);
PropertyInfo? p = type.GetProperty(property.Value);
if (p != null && !string.IsNullOrEmpty(value))
{
@ -196,7 +197,7 @@ public class GradingResultVM : BaseViewModel
}
private string getRuleId()
{
return Settings.SelectValueByName("RuleId");
return Settings.SelectValueById("RuleId");
}
#endregion
/// <summary>
@ -662,6 +663,7 @@ public class GradingResultVM : BaseViewModel
string fullPath = Path.Combine(getFilePath(), this.DiamondCode);
ExportFile(fullPath);
SaveTestResult(SaveStatus.Save);
isSaved = true;
}
private string getFilePath()
{

Loading…
Cancel
Save