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