From 94ad631d316da04c46266ddb1fc6e63e6f8f2fae Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期二, 17 三月 2026 17:34:15 +0800
Subject: [PATCH] feat: 同步协议处理、前端交互与业务联调改动
---
Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Application/Protocol/Devices/WcsLineProtocolHandler.cs | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Application/Protocol/Devices/WcsLineProtocolHandler.cs b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Application/Protocol/Devices/WcsLineProtocolHandler.cs
index 1d4186b..3bf744f 100644
--- a/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Application/Protocol/Devices/WcsLineProtocolHandler.cs
+++ b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Application/Protocol/Devices/WcsLineProtocolHandler.cs
@@ -24,7 +24,7 @@
public bool Process(IMemoryStore memoryStore, ProtocolTemplate template, ProtocolRuntimeState runtimeState)
{
- var configRules = ResolveConfiguredRules();
+ var configRules = ResolveConfiguredRules(template);
var autoRules = ResolveAutoRulesFromTemplate(template, configRules.Select(x => x.RuleId));
bool changed = false;
@@ -37,12 +37,15 @@
return changed;
}
- private IReadOnlyList<MirrorAckRuleOptions> ResolveConfiguredRules()
+ private IReadOnlyList<MirrorAckRuleOptions> ResolveConfiguredRules(ProtocolTemplate template)
{
if (_options.WcsLineRuleIds.Count == 0)
{
return Array.Empty<MirrorAckRuleOptions>();
}
+
+ // 鎸夋ā鏉垮瓧娈佃繃婊よ鍒欙紝閬垮厤鎶� 11001 杩欑被瑙勫垯閿欒濂楀埌鍏朵粬绾夸綋妯℃澘涓娿��
+ var keySet = new HashSet<string>(template.Fields.Select(x => x.FieldKey), StringComparer.OrdinalIgnoreCase);
return _options.WcsLineRuleIds
.Where(x => !string.IsNullOrWhiteSpace(x))
@@ -51,6 +54,7 @@
string.Equals(x.RuleId, ruleId, StringComparison.OrdinalIgnoreCase)))
.Where(rule => rule != null)
.Select(rule => rule!)
+ .Where(rule => keySet.Contains(rule.WcsAckFieldKey) && keySet.Contains(rule.PlcStbFieldKey))
.ToArray();
}
--
Gitblit v1.9.3