You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

693 lines
32 KiB

using EncryptFileTool.Entity;
using HandyControl.Controls;
using log4net;
using Newtonsoft.Json;
using SparkClient.Model.Helper;
using SparkClient.ViewModel.Grading;
using System.Data;
using System.IO;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
using MessageBox = SparkClient.Views.Dialog.MessageBox;
namespace SparkClient.ViewModel.Configuration;
public class LevelConfigVM : BaseViewModel
{
private static readonly ILog Logger = LogManager.GetLogger(typeof(GradingResultVM));
public ICommand ChangeShapeModelCommand { get; }
public ICommand ChangeInstituteModelCommand { get; }
public ICommand LoadLevelConfigCommand { get; }
public ICommand DelLevelConfigCommand { get; }
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;
public string InstituteId { get { return _instituteId; } set { _instituteId = value; OnPropertyChanged("InstituteId"); } }
private string _shapeId;
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"); } }
JsonEntity jsonEntity = new JsonEntity();
private string Save_successful_message = MultilingualHelper.getString("Save_successful_message");
private string save_fail_message = MultilingualHelper.getString("save_fail_message");
private string no_data_message = MultilingualHelper.getString("no_data_message");
private string grade_config_left_top = MultilingualHelper.getString("grade_config_left_top");
private string GRADE_NAME = MultilingualHelper.getString("GRADE_NAME");
private string STANDARD_NAME = MultilingualHelper.getString("STANDARD_NAME");
public LevelConfigVM(DataGrid dataGrid)
{
if (dataGrid == null) return;
this.dataGrid = dataGrid;
ChangeShapeModelCommand = new RelayCommand(ChangeShapeModel);
ChangeInstituteModelCommand = new RelayCommand(ChangeInstituteModel);
LoadLevelConfigCommand = new RelayCommand(LoadLevelConfig);
DelLevelConfigCommand = new RelayCommand(DelLevelConfig);
SaveLevelConfigCommand = new RelayCommand(SaveLevelConfig);
InitLevelConfig(null);
InitData();
}
/// <summary>
/// 加载顶级配置的数据
/// </summary>
/// <param name="param"></param>
public void InitLevelConfig(object param)
{
Save_successful_message = MultilingualHelper.getString("Save_successful_message");
save_fail_message = MultilingualHelper.getString("save_fail_message");
no_data_message = MultilingualHelper.getString("no_data_message");
grade_config_left_top = MultilingualHelper.getString("grade_config_left_top");
GRADE_NAME = MultilingualHelper.getString("GRADE_NAME");
STANDARD_NAME = MultilingualHelper.getString("STANDARD_NAME");
}
private void InitData()
{
dataGrid.Columns.Clear();
string shapeSql = @"SELECT * FROM SHAPE WHERE PARENT_ID IS NULL OR TRIM(PARENT_ID) = '' ;";
Shapes = DataBaseHelper.ExecuteQuery(shapeSql);
if (Shapes != null)
{
ShapeId = Shapes.AsEnumerable().FirstOrDefault()["SHAPE_ID"].ToString();
}
}
private string setInstitutes(string id)
{
string insituteSql = $"SELECT RULE_ID,RULE_NAME,RULE_EN_NAME FROM RULE WHERE RULE_ID NOT LIKE '%_TA_%';";
Institutes = DataBaseHelper.ExecuteQuery(insituteSql);
return Institutes.AsEnumerable().FirstOrDefault()["RULE_ID"].ToString();
}
private void setDataGrid(string shapeId, string ruleId)
{
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);
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);
setStandardList(columnInfos, rowInfos);
}
private void setStandardList(DataTable gradeList, DataTable standardList)
{
try
{
Style cellStyle = new Style(typeof(TextBlock));
Setter setSellStyle = new Setter(TextBlock.HorizontalAlignmentProperty, HorizontalAlignment.Center);
cellStyle.Setters.Add(setSellStyle);
Setter setSellStyle1 = new Setter(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center);
cellStyle.Setters.Add(setSellStyle1);
dataGrid.Columns.Clear();
if (gradeList != null)
{
StandardList = new DataTable();
List<DataColumn> columns = new List<DataColumn>();
foreach (DataRow columnInfo in gradeList.Rows)
{
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() + "_" + 1));
//this.dataGrid.Columns.Add(new DataGridTextColumn() { Header = columnInfo[GRADE_NAME].ToString(), Binding = new Binding(columnInfo["GRADE_EN_NAME"].ToString()),ElementStyle = cellStyle });
this.dataGrid.Columns.Add(GetDataGridColumn(columnInfo[GRADE_NAME].ToString() ?? "", columnInfo["GRADE_EN_NAME"].ToString() ?? ""));
}
else
{
//this.dataGrid.Columns.Insert(0, new DataGridTextColumn() { Header = columnInfo[GRADE_NAME].ToString(), Binding = new Binding(columnInfo["GRADE_EN_NAME"].ToString() + "_MIN"), ElementStyle = cellStyle });
//this.dataGrid.Columns.Add(new DataGridTextColumn() { Header = columnInfo[GRADE_NAME].ToString(), Binding = new Binding(columnInfo["GRADE_EN_NAME"].ToString() + "_MAX"), ElementStyle = cellStyle });
this.dataGrid.Columns.Insert(0, GetDataGridColumn(columnInfo[GRADE_NAME].ToString() ?? "", (columnInfo["GRADE_EN_NAME"].ToString() ?? "") + "_MIN"));
this.dataGrid.Columns.Add(GetDataGridColumn(columnInfo[GRADE_NAME].ToString() ?? "", (columnInfo["GRADE_EN_NAME"].ToString() ?? "") + "_MAX"));
columns.Insert(0, new DataColumn(columnInfo["GRADE_EN_NAME"].ToString() + "_MIN"));
columns.Insert(0, new DataColumn(columnInfo["GRADE_EN_NAME"].ToString() + "_MIN" + "_" + 1));
columns.Add(new DataColumn(columnInfo["GRADE_EN_NAME"].ToString() + "_MAX"));
columns.Add(new DataColumn(columnInfo["GRADE_EN_NAME"].ToString() + "_MAX" + "_" + 1));
}
}
columns.Insert(0, new DataColumn("title"));
this.dataGrid.Columns.Insert(0, new DataGridTextColumn() { Header = grade_config_left_top, Binding = new Binding("title"), ElementStyle = cellStyle });
StandardList.Columns.AddRange(columns.ToArray());
// 以标准名分组表示每一行
if (standardList != null)
{
var standardRules = standardList.AsEnumerable().GroupBy(r => r["RULE_ID"].ToString());
foreach (var ruleStandardList in standardRules)
{
var standards = ruleStandardList.AsEnumerable().GroupBy(r => r[STANDARD_NAME].ToString());
foreach (var standard in standards)
{
List<string> rowInfo = new List<string>();
foreach (DataRow columnInfo in gradeList.Rows)
{
// 每一行单元格内数据
var row = standard.Where(s => s["GRADE_ORDER"].ToString() == columnInfo["GRADE_ORDER"].ToString()).FirstOrDefault();
string value = "";
if (row == null)
{
if ("1".Equals(columnInfo["GRADE_ORDER"].ToString()))
{
rowInfo.Add("-");
rowInfo.Add("");
}
else
{
rowInfo.Insert(0, "-");
rowInfo.Insert(0, "");
rowInfo.Add("-");
rowInfo.Add("");
}
continue;
}
if ("1".Equals(row["GRADE_ORDER"].ToString()))
{
string Min = row["STANDARD_MIN"].ToString();
string Max = row["STANDARD_MAX"].ToString();
if (!string.IsNullOrEmpty(Min) && !string.IsNullOrEmpty(Max))
{
value = getFix(row, "MIN_PREFIX") +
Min + row["UNIT"].ToString() + "-"
+ Max + row["UNIT"].ToString()
+ getFix(row, "MIN_SUFFIX")
;
}
else if (!string.IsNullOrEmpty(Min))
{
value = getFix(row, "MIN_PREFIX") +
Min + row["UNIT"].ToString()
+ getFix(row, "MIN_SUFFIX")
;
}
else if (!string.IsNullOrEmpty(Max))
{
value = getFix(row, "MIN_PREFIX") +
Max + 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() == "")
{
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
{
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 = "";
if (ruleId != null && !string.IsNullOrEmpty(ruleId))
{
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);
}
}
}
}
}
catch (Exception ex)
{
new MessageBox().Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}");
Logger.Error($"全局异常捕获:{ex.Message}", ex);
}
}
private DataGridColumn GetDataGridColumn(string Header,string Binding,int lineCount = 2)
{
//Style cellStyle = new Style(typeof(TextBlock));
//Setter setSellStyle = new Setter(TextBlock.HorizontalAlignmentProperty, HorizontalAlignment.Center);
//cellStyle.Setters.Add(setSellStyle);
//Setter setSellStyle1 = new Setter(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center);
//cellStyle.Setters.Add(setSellStyle1);
DataGridTemplateColumn column = new DataGridTemplateColumn() { Header = Header};
//column.CellTemplate
FrameworkElementFactory stackPanelFactory = new FrameworkElementFactory(typeof(StackPanel));
stackPanelFactory.SetValue(StackPanel.OrientationProperty, Orientation.Vertical);
stackPanelFactory.SetValue(StackPanel.VerticalAlignmentProperty, VerticalAlignment.Center);
for (int i = 0; i < lineCount; i++) {
FrameworkElementFactory TextBlockFactory = new FrameworkElementFactory(typeof(TextBlock));
if (i == 0) {
TextBlockFactory.SetBinding(TextBlock.TextProperty, new Binding(Binding));
//TextBlockFactory.SetValue(TextBlock.TextProperty, "123456");
}
else
{
TextBlockFactory.SetBinding(TextBlock.TextProperty, new Binding(Binding + "_" + i));
//TextBlockFactory.SetValue(TextBlock.TextProperty, "1");
TextBlockFactory.SetValue(TextBlock.VisibilityProperty, Visibility.Visible);
}
TextBlockFactory.SetValue(TextBlock.HorizontalAlignmentProperty, HorizontalAlignment.Center);
TextBlockFactory.SetValue(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center);
stackPanelFactory.AppendChild(TextBlockFactory);
}
var template = new DataTemplate(typeof(DataRow));
template.VisualTree = stackPanelFactory;
column.CellTemplate = template;
return column;
}
private string getFix(DataRow row,string fix){
string result = "";
result = row[fix].ToString().Replace("\\n","\r\n");
return result;
}
/// <summary>
/// 更新保存响应
/// </summary>
/// <param name="param"></param>
public void SaveLevelConfig(object param)
{
try {
string shapeId = jsonEntity.SHAPE_ID;
string ruleId = jsonEntity.RULE_ID;
if (jsonEntity != null)
{
// 按照形状名查询形状数据,判断是否有该数据
string shapeSql = $"SELECT * FROM SHAPE WHERE SHAPE_ID = '{shapeId}';";
DataTable shapes = DataBaseHelper.ExecuteQuery(shapeSql);
DataBaseHelper.BeginTransaction();
// 形状表判断是否有数据
if (shapes == null || shapes.Rows.Count == 0)
{
// 数据登录
string shapeInsertSql = $"INSERT INTO SHAPE (SHAPE_ID,SHAPE_NAME,SHAPE_EN_NAME,GUID)VALUES('{shapeId}','{jsonEntity.SHAPE_NAME}','{jsonEntity.SHAPE_EN_NAME}','{Guid.NewGuid().ToString()}');";
DataBaseHelper.ExecuteNonQuery(shapeInsertSql);
}
string ruleSql = $"SELECT * FROM RULE WHERE RULE_ID = '{ruleId}';";
DataTable rule = DataBaseHelper.ExecuteQuery(ruleSql);
if (rule == null || rule.Rows.Count == 0)
{
string ruleInsertSql = $"INSERT INTO RULE (RULE_ID,RULE_NAME,RULE_EN_NAME,GUID)VALUES('{ruleId}','{jsonEntity.RULE_NAME}','{jsonEntity.RULE_EN_NAME}','{Guid.NewGuid().ToString()}');";
DataBaseHelper.ExecuteNonQuery(ruleInsertSql);
}
// 定级数据登录
string gradeInsSql = "";
foreach (var gradeInfo in jsonEntity.gradeInfos)
{
if (gradeInsSql.Length == 0)
{
gradeInsSql += gradeInfo.getDeleteSql();
}
gradeInsSql += gradeInfo.getInsertSql();
}
int count = DataBaseHelper.ExecuteNonQuery(gradeInsSql);
if (count<0)
{
DataBaseHelper.rollback();
Growl.Error(save_fail_message);
}
// 标准数据登录
string gradeConfigSql = "";
int index = 0;
foreach (var gradeConfig in jsonEntity.GradeConfigs)
{
if (index == 0)
{
gradeConfigSql += gradeConfig.getDeleteSql();
}
gradeConfigSql += gradeConfig.getInsertSql();
index++;
}
index = 0;
foreach (var gradeConfigDetail in jsonEntity.GradeConfigDetails)
{
if (index == 0)
{
gradeConfigSql += gradeConfigDetail.getDeleteSql(shapeId,ruleId);
}
gradeConfigSql += gradeConfigDetail.getInsertSql();
index++;
}
index = 0;
foreach (var gradeConfigParameter in jsonEntity.GradeConfigParameters)
{
if (index == 0)
{
gradeConfigSql += gradeConfigParameter.getDeleteSql(shapeId, ruleId);
}
gradeConfigSql += gradeConfigParameter.getInsertSql();
index++;
}
count = DataBaseHelper.ExecuteNonQuery(gradeConfigSql);
if (count < 0)
{
DataBaseHelper.rollback();
Growl.Error(save_fail_message);
return;
}
DataBaseHelper.commit();
Growl.Info(Save_successful_message);
InstitutesEnabled = true;
ShapesEnabled = true;
}
else
{
Growl.ErrorGlobal(no_data_message);
}
}
catch (Exception ex) {
DataBaseHelper.rollback();
Logger.Error($"全局异常捕获:{ex.Message}", ex);
Growl.Error(save_fail_message);
}
}
/// <summary>
/// 删除配置响应
/// </summary>
/// <param name="param"></param>
public void DelLevelConfig(object param)
{
}
/// <summary>
/// 导入配置响应
/// </summary>
/// <param name="param"></param>
public void LoadLevelConfig(object param)
{
try
{
InstitutesEnabled = false;
ShapesEnabled = false;
Microsoft.Win32.OpenFileDialog openFileDialog = new Microsoft.Win32.OpenFileDialog();
openFileDialog.Filter = "Text files (*.enc)|*.enc|All files (*.*)|*.*";
jsonEntity = null;
if (openFileDialog.ShowDialog() == true)
{
string filename = openFileDialog.FileName;
string content = "";
if (File.Exists(filename))
{
content = AESHelper.DecryptFile(filename, "000000");
jsonEntity = JsonConvert.DeserializeObject<JsonEntity>(content);
}
}
else
{
InstitutesEnabled = true;
ShapesEnabled = true;
return;
}
if (jsonEntity != null)
{
// 形状列表重新生成
string shapeSql = $"SELECT * FROM SHAPE WHERE SHAPE_ID = '{jsonEntity.SHAPE_ID}';";
DataTable shapes = DataBaseHelper.ExecuteQuery(shapeSql);
if (shapes == null || shapes.Rows.Count == 0)
{
var row = Shapes.NewRow();
row["SHAPE_ID"] = jsonEntity.SHAPE_ID;
row["SHAPE_NAME"] = jsonEntity.SHAPE_NAME;
row["SHAPE_EN_NAME"] = jsonEntity.SHAPE_EN_NAME;
Shapes.Rows.Add(row);
ShapeId = jsonEntity.SHAPE_ID;
}
else
{
ShapeId = shapes.Rows[0]["SHAPE_ID"].ToString() ?? "";
}
// 机构列表重新生成
string instituteSql = $"SELECT * FROM RULE WHERE RULE_ID = '{jsonEntity.RULE_ID}';";
DataTable institute = DataBaseHelper.ExecuteQuery(instituteSql);
if (institute == null || institute.Rows.Count == 0)
{
var row = Institutes.NewRow();
row["RULE_ID"] = jsonEntity.RULE_ID;
row["RULE_NAME"] = jsonEntity.RULE_NAME;
row["RULE_EN_NAME"] = jsonEntity.RULE_EN_NAME;
Institutes.Rows.Add(row);
InstituteId = jsonEntity.RULE_ID;
}
else
{
InstituteId = institute.Rows[0]["RULE_ID"].ToString() ?? "";
}
// 表格内容重新生成
string gradeInfosJson = JsonConvert.SerializeObject(jsonEntity.gradeInfos);
DataTable gradeInfos = Common.JsonToDataTable(gradeInfosJson);
string standardInfosJson = JsonConvert.SerializeObject(jsonEntity.standardInfos);
DataTable standardInfos = Common.JsonToDataTable(standardInfosJson);
setStandardList(gradeInfos, standardInfos);
}
}
catch (Exception ex)
{
new MessageBox().Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}");
Logger.Error($"全局异常捕获:{ex.Message}", ex);
}
}
/// <summary>
/// 切换规则响应
/// </summary>
/// <param name="param"></param>
public void ChangeInstituteModel(object param)
{
if (InstituteId != null && InstituteId != string.Empty)
{
dataGrid.Columns.Clear();
setDataGrid(ShapeId, InstituteId);
}
}
/// <summary>
/// 切换形状响应
/// </summary>
/// <param name="param"></param>
public void ChangeShapeModel(object param)
{
if (ShapeId!= null && ShapeId != string.Empty) {
setInstitutes(ShapeId);
}
}
//class GradeInfo
//{
// public int GRADE_ID { get; set; }
// public string GRADE_NAME { get; set; }
// public string GRADE_EN_NAME { get; set; }
// public string GRADE_EN_S_NAME { get; set; }
// public int GRADE_ORDER { get; set; }
// public string getInsertSql(string shapeId,string instituteId)
// {
// string insertSql = "INSERT INTO GRADE(";
// insertSql = insertSql +
// "SHAPE_ID" +
// ",INSTITUTE_ID" +
// ",GRADE_ID" +
// ",GRADE_NAME" +
// ",GRADE_EN_NAME" +
// ",GRADE_EN_S_NAME" +
// ",GRADE_ORDER" +
// ",GUID";
// insertSql = insertSql + ")VALUES(";
// insertSql = insertSql +
// $"'{shapeId}'" +
// $",'{instituteId}'" +
// $",'{GRADE_ID}'" +
// $",'{GRADE_NAME}'" +
// $",'{GRADE_EN_NAME}'" +
// $",'{GRADE_EN_S_NAME}'" +
// $",'{GRADE_ORDER}'" +
// $",'{Guid.NewGuid().ToString()}'";
// insertSql = insertSql + ");";
// return insertSql;
// }
// public string getDeleteSql(string shapeId, string instituteId)
// {
// string deleteSql = $"DELETE FROM GRADE WHERE SHAPE_ID='{shapeId}' AND INSTITUTE_ID='{instituteId}';";
// return deleteSql;
// }
//}
//class StandardInfo
//{
// public int GRADE_ID { get; set; }
// public int STANDARD_ID { get; set; }
// public string STANDARD_NAME { get; set; }
// public string STANDARD_EN_NAME { get; set; }
// public decimal? STANDARD_MIN { get; set; }
// public decimal? STANDARD_MAX { get; set; }
// public string IS_MIN_EXIST { get; set; } = "0";
// public string IS_MAX_EXIST { get; set; } = "0";
// public string UNIT { get; set; }
// public string MIN_PREFIX { get; set; }
// public string MIN_SUFFIX { get; set; }
// public string MAX_PREFIX { get; set; }
// public string MAX_SUFFIX { get; set; }
// public string MIN_NULL_REPALCE { get; set; } = "←";
// public string MAX_NULL_REPALCE { get; set; } = "→";
// public int SORT { get; set; }
// public string getInsertSql(string shapeId, string instituteId)
// {
// string insertSql = "INSERT INTO STANDARD(";
// insertSql = insertSql +
// "STANDARD_ID " +
// ",SHAPE_ID " +
// ",GRADE_ID " +
// ",INSTITUTE_ID " +
// ",STANDARD_NAME " +
// ",STANDARD_EN_NAME " +
// ",STANDARD_MIN " +
// ",STANDARD_MAX " +
// ",IS_MIN_EXIST " +
// ",IS_MAX_EXIST " +
// ",SORT " +
// ",UNIT " +
// ",MAX_NULL_REPALCE " +
// ",MIN_PREFIX " +
// ",MIN_SUFFIX " +
// ",MAX_PREFIX " +
// ",MAX_SUFFIX " +
// ",MIN_NULL_REPALCE " +
// ",GUID " ;
// insertSql = insertSql + ")VALUES(";
// insertSql = insertSql +
// $"'{STANDARD_ID}'" +
// $",'{shapeId}'" +
// $",'{GRADE_ID}'" +
// $",'{instituteId}'" +
// $",'{STANDARD_NAME}'" +
// $",'{STANDARD_EN_NAME}'" +
// $",{(STANDARD_MIN != null ? STANDARD_MIN.ToString() : "null")}" +
// $",{(STANDARD_MAX != null ? STANDARD_MAX.ToString() : "null")}" +
// $",'{IS_MIN_EXIST}'" +
// $",'{IS_MAX_EXIST}'" +
// $",'{SORT}'" +
// $",'{UNIT}'" +
// $",'{MAX_NULL_REPALCE}'" +
// $",'{MIN_PREFIX}'" +
// $",'{MIN_SUFFIX}'" +
// $",'{MAX_PREFIX}'" +
// $",'{MAX_SUFFIX}'" +
// $",'{MIN_NULL_REPALCE}'" +
// $",'{Guid.NewGuid().ToString()}'";
// insertSql = insertSql + ");";
// return insertSql;
// }
// public string getDeleteSql(string shapeId, string instituteId)
// {
// string deleteSql = $"DELETE FROM STANDARD WHERE SHAPE_ID='{shapeId}' AND INSTITUTE_ID='{instituteId}';";
// return deleteSql;
// }
//}
}