添加动态配置 与 SLS改造机型判断位置

This commit is contained in:
XingCheng3
2026-05-31 16:13:13 +08:00
parent 92c8f2d68d
commit d1403d22b8
6 changed files with 73 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
using DataLinkMesWork;
using DataLinkMesWork;
using MesDataFunction;
using MesServerWork;
using MesWork.PLC;
@@ -138,7 +138,7 @@ namespace MisDataSaveDate
var dt_Device = MisDataFunDll.MisDataFun.dt_Device();
var dt_TagTypeDataType = MisDataFunDll.MisDataFun.dt_TagTypeDataType();
Get_SpecialOpList();
ReloadSpecialConfig();
var sql =
$" SELECT [工位号],[工位名称],[PLC],[PLC代码],[MesDll]" +
@@ -221,6 +221,13 @@ namespace MisDataSaveDate
}
// 重新加载特殊工位及硬编码规则配置缓存
static public void ReloadSpecialConfig()
{
Get_SpecialOpList();
Get_SpecialOpRuleConfig();
}
// 获取特殊工位列表
static public void Get_SpecialOpList()
{
@@ -238,6 +245,35 @@ namespace MisDataSaveDate
PP.SpecialOpList = specialOpList;
}
// 获取特殊工位规则配置缓存结构type -> opName -> ruleKey -> ruleValue
static public void Get_SpecialOpRuleConfig()
{
string procedureName = "MES_特殊工位规则配置表_查询";
SqlParameter[] thisParms = new SqlParameter[0];
DataAccess.ExecuteStoredProcedure(procedureName, ref thisParms, out DataTable dt);
var ruleConfig = new Dictionary<string, Dictionary<string, Dictionary<string, string>>>();
foreach (DataRow row in dt.Rows)
{
string type = row["type"].ToString();
string opName = row["opName"].ToString();
string ruleKey = row["ruleKey"].ToString();
string ruleValue = row["ruleValue"].ToString();
if (!ruleConfig.ContainsKey(type))
{
ruleConfig[type] = new Dictionary<string, Dictionary<string, string>>();
}
if (!ruleConfig[type].ContainsKey(opName))
{
ruleConfig[type][opName] = new Dictionary<string, string>();
}
ruleConfig[type][opName][ruleKey] = ruleValue;
}
PP.SpecialOpRuleConfig = ruleConfig;
}
public void SaveData_Load(object sender, EventArgs e)
{
@@ -1074,7 +1110,8 @@ namespace MisDataSaveDate
private void button19_Click_1(object sender, EventArgs e)
{
Get_SpecialOpList();
ReloadSpecialConfig();
MessageBox.Show("特殊工位和规则配置已重新加载!");
}
private void button21_Click(object sender, EventArgs e)