From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点
---
HMI.ParameterManage/Model/SqlModel.cs | 121 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 121 insertions(+), 0 deletions(-)
diff --git a/HMI.ParameterManage/Model/SqlModel.cs b/HMI.ParameterManage/Model/SqlModel.cs
new file mode 100644
index 0000000..2718a9b
--- /dev/null
+++ b/HMI.ParameterManage/Model/SqlModel.cs
@@ -0,0 +1,121 @@
+锘縰sing HMI.Core.Entity;
+using HMI.Core.Util;
+using System.Collections.ObjectModel;
+using System.Data;
+using System.IO;
+
+namespace HMI.ParameterManage.Model
+{
+
+ public class SqlModel : NotifyBase
+ {
+ public SqlModel(string baseFolder)
+ {
+ string dbpath = Path.Combine(baseFolder, "ParameterManage.db");
+ if (!File.Exists(dbpath))
+ {
+ SqliteHelper.CreateDatabase(dbpath);
+ }
+ SqliteHelper = new SqliteHelper(dbpath);
+ SqliteHelper.ExecuteSql(@"CREATE TABLE IF NOT EXISTS product (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ name TEXT NOT NULL,
+ isMaster INTEGER,
+ parentId INTEGER,
+ UNIQUE(name)
+ );
+CREATE TABLE IF NOT EXISTS parameter (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ name TEXT NOT NULL,
+ value TEXT,
+ unit TEXT,
+ description TEXT,
+ pGroup TEXT,
+ productName TEXT,
+ UNIQUE(productName,name)
+ );");
+ }
+
+ public SqliteHelper SqliteHelper { get; private set; }
+
+ private ObservableCollection<ProductData> products;
+
+ public ObservableCollection<ProductData> Products
+ {
+ get { return products; }
+ set { Set(ref products, value); }
+ }
+
+ private ObservableCollection<ParameterData> parameters;
+
+ public ObservableCollection<ParameterData> Parameters
+ {
+ get { return parameters; }
+ set { Set(ref parameters, value); }
+ }
+
+ private ProductData selectedProduct;
+
+ public ProductData SelectedProduct
+ {
+ get { return selectedProduct; }
+ set
+ {
+ Set(ref selectedProduct, value);
+ LoadParameters();
+ }
+ }
+
+ public void LoadProducts()
+ {
+ DataTable dt = SqliteHelper.GetDataTable("SELECT * FROM product ORDER BY id;");
+ ObservableCollection<ProductData> products = new ObservableCollection<ProductData>();
+
+ if (dt != null)
+ {
+ foreach (DataRow dr in dt.Rows)
+ {
+ var p = new ProductData
+ {
+ Id = dr["id"].ToString(),
+ Name = dr["name"].ToString(),
+ IsMaster = dr["isMaster"].ToString() == "1",
+ ParentId = dr["parentId"].ToString(),
+ };
+ products.Add(p);
+ }
+ }
+ Products = products;
+ }
+
+ public void LoadParameters()
+ {
+
+ ObservableCollection<ParameterData> parameters = new ObservableCollection<ParameterData>();
+ if (SelectedProduct != null)
+ {
+
+ DataTable dt = SqliteHelper.GetDataTable($"SELECT * FROM parameter WHERE productName='{SelectedProduct.Name}' ORDER BY id;");
+ if (dt != null)
+ {
+ foreach (DataRow dr in dt.Rows)
+ {
+ var p = new ParameterData
+ {
+ Id = dr["id"].ToString(),
+ Name = dr["name"].ToString(),
+ Value = dr["value"].ToString(),
+ Unit = dr["unit"].ToString(),
+ Description = dr["description"].ToString(),
+ PGroup = dr["pGroup"].ToString(),
+ ProductName = dr["productName"].ToString(),
+ };
+ parameters.Add(p);
+ }
+ }
+
+ }
+ Parameters = parameters;
+ }
+ }
+}
--
Gitblit v1.9.1