using BrilliantSightClient.ViewModel.Grading; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Documents; using System.Windows.Shapes; using BrilliantSightClient.Model.GradeResult.Entity; namespace BrilliantSightClient.Model.Entity { /// /// 定级配置导入数据 /// public class JsonEntity { public string SHAPE_ID { get; set; } public string SHAPE_NAME { get; set; } public string SHAPE_EN_NAME { get; set; } public string RULE_ID { get; set; } public string RULE_NAME { get; set; } public string RULE_EN_NAME { get; set; } public List gradeInfos { get; set; } = new List(); public List standardInfos { get; set; } = new List(); public virtual IEnumerable GradeConfigs { get; set; } = new List(); public virtual IEnumerable GradeConfigDetails { get; set; } = new List(); public virtual IEnumerable GradeConfigParameters { get; set; } = new List(); // 辅助方法:生成插入 SQL 语句 internal static string GenerateInsertSql(string tableName, string[] columns, string[] values) { var columnList = string.Join(",", columns); var valueList = string.Join(",", values.Select(v => $"'{EscapeSql(v)}'")); return $"INSERT INTO {tableName}({columnList}) VALUES({valueList});"; } // 辅助方法:生成删除 SQL 语句 internal static string GenerateDeleteSql(string tableName, string condition) { return $"DELETE FROM {tableName} WHERE {condition};"; } // 辅助方法:转义 SQL 特殊字符 internal static string EscapeSql(string input) { return input?.Replace("'", "''") ?? null; } } public class GradeInfo { public string SHAPE_ID { get; set; } public string RULE_ID { get; set; } public string 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; } // 声明为 virtual 以便子类重写 public virtual string getInsertSql() { return JsonEntity.GenerateInsertSql("GRADE", new[] { "SHAPE_ID", "RULE_ID", "GRADE_ID", "GRADE_NAME", "GRADE_EN_NAME", "GRADE_EN_S_NAME", "GRADE_ORDER", "GUID" }, new[] { SHAPE_ID, RULE_ID, GRADE_ID, GRADE_NAME, GRADE_EN_NAME, GRADE_EN_S_NAME, GRADE_ORDER.ToString(), Guid.NewGuid().ToString() }); } // 声明为 virtual 以便子类重写 public virtual string getDeleteSql() { return JsonEntity.GenerateDeleteSql("GRADE", $"SHAPE_ID='{JsonEntity.EscapeSql(SHAPE_ID)}' AND RULE_ID='{JsonEntity.EscapeSql(RULE_ID)}'"); } } public class StandardInfo { public string RULE_ID { get; set; } = ""; public string GRADE_ID { get; set; } public string GRADE_ORDER { get { return GRADE_ID.Substring(GRADE_ID.Length - 1); } set { } } public string TEST_ITEM_ID { get; set; } public string STANDARD_ID { get; set; } public string STANDARD_NAME { get; set; } public string STANDARD_EN_NAME { get { return getStandEnName(); } set { } } public string STANDARD_MIN { get; set; } public string 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; } private string getStandEnName() { return Name.getNameById(TEST_ITEM_ID).Trim(); } } public class GradeConfigInfo { public string GRADE_CONFIG_ID { get; set; } public string SHAPE_ID { get; set; } public string RULE_ID { get; set; } public string TEST_ITEM_ID { get; set; } public int GRADE_CONFIG_ORDER { get; set; } // 声明为 virtual 以便子类重写 public virtual string getInsertSql() { return JsonEntity.GenerateInsertSql("GRADE_CONFIG", new[] { "GRADE_CONFIG_ID", "SHAPE_ID", "RULE_ID", "TEST_ITEM_ID", "GRADE_CONFIG_ORDER", "GUID" }, new[] { GRADE_CONFIG_ID, SHAPE_ID, RULE_ID, TEST_ITEM_ID, GRADE_CONFIG_ORDER.ToString(), Guid.NewGuid().ToString() }); } // 声明为 virtual 以便子类重写 public virtual string getDeleteSql() { return JsonEntity.GenerateDeleteSql("GRADE_CONFIG", $"SHAPE_ID='{JsonEntity.EscapeSql(SHAPE_ID)}' AND RULE_ID='{JsonEntity.EscapeSql(RULE_ID)}'"); } } public class GradeConfigDetail { public string GRADE_CONFIG_ID { get; set; } public int GRADE_CONFIG_DETAIL_ID { get; set; } public string GRADE_ID { get; set; } // 声明为 virtual 以便子类重写 public virtual string getInsertSql() { return JsonEntity.GenerateInsertSql("GRADE_CONFIG_DETAIL", new[] { "GRADE_CONFIG_ID", "GRADE_CONFIG_DETAIL_ID", "GRADE_ID", "GUID" }, new[] { GRADE_CONFIG_ID, GRADE_CONFIG_DETAIL_ID.ToString(), GRADE_ID, Guid.NewGuid().ToString() }); } // 声明为 virtual 以便子类重写 public virtual string getDeleteSql(string shapeId, string ruleId) { return JsonEntity.GenerateDeleteSql("GRADE_CONFIG_DETAIL", $"GRADE_CONFIG_ID LIKE '{JsonEntity.EscapeSql(shapeId + ruleId)}%'"); } } public class GradeConfigParameter { public string GRADE_CONFIG_ID { get; set; } public int GRADE_CONFIG_DETAIL_ID { get; set; } public string PARAMETER_KEY { get; set; } public string PARAMETER_VALUE { get; set; } public string PARAMETER_TYPE { get; set; } // 声明为 virtual 以便子类重写 public virtual string getInsertSql() { return JsonEntity.GenerateInsertSql("GRADE_CONFIG_DETAIL_PARAMETER", new[] { "GRADE_CONFIG_ID", "GRADE_CONFIG_DETAIL_ID", "PARAMETER_KEY", "PARAMETER_VALUE", "PARAMETER_TYPE", "GUID" }, new[] { GRADE_CONFIG_ID, GRADE_CONFIG_DETAIL_ID.ToString(), PARAMETER_KEY, PARAMETER_VALUE, PARAMETER_TYPE, Guid.NewGuid().ToString() }); } // 声明为 virtual 以便子类重写 public virtual string getDeleteSql(string shapeId, string ruleId) { return JsonEntity.GenerateDeleteSql("GRADE_CONFIG_DETAIL_PARAMETER", $"GRADE_CONFIG_ID LIKE '{JsonEntity.EscapeSql(shapeId + ruleId)}%'"); } } }