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; /// /// 定级配置VM /// public class LevelConfigVM : BaseViewModel { private static readonly ILog Logger = LogManager.GetLogger(typeof(LevelConfigVM)); 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; /// /// 规则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"); 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) { try { 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(); IsUpdateButtonEnabled = false; } catch (Exception ex) { new MessageBox().Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}"); Logger.Error($"全局异常捕获:{ex.Message}", ex); } } /// /// 加载顶级配置的数据 /// /// public void InitLevelConfig(object param) { try { 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"); } catch (Exception ex) { new MessageBox().Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}"); Logger.Error($"全局异常捕获:{ex.Message}", ex); } } /// /// 初始化数据(形状列表检索) /// 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中的数据 dataGrid.Columns.Clear(); if (gradeList != null) { StandardList = new DataTable(); List columns = new List(); // 循环等级列表,设定datagrid中的列 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) { // 以规则id分组(国标时会有多中规则id的情况) 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 rowInfo = new List(); 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); // 国标场合 按照规则id中涵盖信息不同 对测试项目有不同描述 string itemName = Name.getNameById("TABLE").Trim(); if (ruleId.StartsWith("GB")) { if ("49".Equals(ta)) { prefix = $"[{itemName}<" + ruleId.Substring(ruleId.Length - 2) + "] "; } else if ("71".Equals(ta)) { prefix = $"[{itemName}>" + ruleId.Substring(ruleId.Length - 2) + "] "; } else { prefix = $"[{itemName}=" + 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); } } /// /// 设置单元格内部元素(现在单元格内部元素为两个textblock) /// /// /// /// /// 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; } /// /// 更新保存响应 /// /// 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; IsUpdateButtonEnabled = false; } else { Growl.ErrorGlobal(no_data_message); } } catch (Exception ex) { DataBaseHelper.rollback(); Logger.Error($"全局异常捕获:{ex.Message}", ex); new MessageBox().Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}"); } } /// /// 删除配置响应 /// /// public void DelLevelConfig(object param) { } /// /// 导入配置响应 /// /// public void LoadLevelConfig(object param) { try { 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)) { try { content = AESHelper.DecryptFile(filename, "000000"); jsonEntity = JsonConvert.DeserializeObject(content); } catch (Exception ex) { new MessageBox().Show($"{MultilingualHelper.getString("LevelConfigFormatError")}"); Logger.Error($"全局异常捕获:{ex.Message}", ex); return; } } } else { InstitutesEnabled = true; ShapesEnabled = true; IsUpdateButtonEnabled = false; InitData(); ChangeShapeModel(""); 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); InstitutesEnabled = false; ShapesEnabled = false; IsUpdateButtonEnabled = true; } else { new MessageBox().Show($"{MultilingualHelper.getString("LevelConfigFormatError")}"); InstitutesEnabled = true; ShapesEnabled = true; IsUpdateButtonEnabled = false; return; } } catch (Exception ex) { new MessageBox().Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}"); Logger.Error($"全局异常捕获:{ex.Message}", ex); } } /// /// 切换规则响应 /// /// public void ChangeInstituteModel(object param) { if (InstituteId != null && InstituteId != string.Empty) { dataGrid.Columns.Clear(); setDataGrid(ShapeId, InstituteId); } } /// /// 切换形状响应 /// /// public void ChangeShapeModel(object param) { if (ShapeId!= null && ShapeId != string.Empty) { InstituteId = 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; // } //} }