@@ -8,7 +8,7 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.ApolloClient" Version="1.0.12" /> | <PackageReference Include="BPA.ApolloClient" Version="1.0.12" /> | ||||
<PackageReference Include="BPA.Helper" Version="1.0.54" /> | |||||
<PackageReference Include="BPA.Communication" Version="1.0.116" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.86" /> | <PackageReference Include="BPA.Message" Version="1.0.86" /> | ||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> | <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> | ||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> | <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> | ||||
@@ -17,10 +17,8 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\BPASmartClient.Device\BPASmartClient.Device.csproj" /> | <ProjectReference Include="..\BPASmartClient.Device\BPASmartClient.Device.csproj" /> | ||||
<ProjectReference Include="..\BPASmartClient.Helper\BPASmartClient.Helper.csproj" /> | |||||
<ProjectReference Include="..\BPASmartClient.Http\BPASmartClient.Http.csproj" /> | <ProjectReference Include="..\BPASmartClient.Http\BPASmartClient.Http.csproj" /> | ||||
<ProjectReference Include="..\BPASmartClient.Model\BPASmartClient.Model.csproj" /> | <ProjectReference Include="..\BPASmartClient.Model\BPASmartClient.Model.csproj" /> | ||||
<ProjectReference Include="..\BPASmartClient.MQTT\BPASmartClient.MQTT.csproj" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
</Project> | </Project> |
@@ -7,8 +7,8 @@ using System.Configuration; | |||||
using System.IO; | using System.IO; | ||||
using Microsoft.Extensions.Configuration; | using Microsoft.Extensions.Configuration; | ||||
using System.Threading; | using System.Threading; | ||||
using BPASmartClient.Helper; | |||||
using BPASmartClient.Message; | |||||
using BPA.Helper; | |||||
using BPA.ApolloClient; | using BPA.ApolloClient; | ||||
using BPA.ApolloClient.Options; | using BPA.ApolloClient.Options; | ||||
using Com.Ctrip.Framework.Apollo; | using Com.Ctrip.Framework.Apollo; | ||||
@@ -1,5 +1,5 @@ | |||||
using BPA.Message; | using BPA.Message; | ||||
using BPASmartClient.MQTT; | |||||
using BPA.Communication; | |||||
using Newtonsoft.Json; | using Newtonsoft.Json; | ||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -9,7 +9,7 @@ using System.Threading.Tasks; | |||||
namespace BPASmartClient.Business | namespace BPASmartClient.Business | ||||
{ | { | ||||
public class LocalMqtt | |||||
public class LocalMqtt | |||||
{ | { | ||||
private volatile static LocalMqtt _Instance; | private volatile static LocalMqtt _Instance; | ||||
public static LocalMqtt GetInstance => _Instance ?? (_Instance = new LocalMqtt()); | public static LocalMqtt GetInstance => _Instance ?? (_Instance = new LocalMqtt()); | ||||
@@ -20,7 +20,7 @@ namespace BPASmartClient.Business | |||||
/// </summary> | /// </summary> | ||||
SendScreenDataModel MqttPushs = new SendScreenDataModel(); | SendScreenDataModel MqttPushs = new SendScreenDataModel(); | ||||
MQTTProxy mQTTProxy = new MQTTProxy(); | |||||
MqttHelper mQTTProxy = new MqttHelper(); | |||||
ScreenDeviceType LocDeviceType; | ScreenDeviceType LocDeviceType; | ||||
@@ -35,23 +35,30 @@ namespace BPASmartClient.Business | |||||
LocDeviceType = DeviceType; | LocDeviceType = DeviceType; | ||||
mQTTProxy.Connected = new Action(() => | mQTTProxy.Connected = new Action(() => | ||||
{ | { | ||||
mQTTProxy.Subscrib(ScreenTOPIC.GetInstance.GetTopic(DeviceType)) ; | |||||
mQTTProxy.Subscrib(ScreenTOPIC.GetInstance.GetTopic(DeviceType)); | |||||
}); | }); | ||||
MQTT_IP = System.Configuration.ConfigurationManager.AppSettings["MQTT_DevieScreem_IP"].ToString(); | MQTT_IP = System.Configuration.ConfigurationManager.AppSettings["MQTT_DevieScreem_IP"].ToString(); | ||||
MQTT_PORT = System.Configuration.ConfigurationManager.AppSettings["MQTT_DevieScreem_Port"].ToString(); | MQTT_PORT = System.Configuration.ConfigurationManager.AppSettings["MQTT_DevieScreem_Port"].ToString(); | ||||
MQTT_USERNAME = System.Configuration.ConfigurationManager.AppSettings["MQTT_DevieScreem_User"].ToString(); | MQTT_USERNAME = System.Configuration.ConfigurationManager.AppSettings["MQTT_DevieScreem_User"].ToString(); | ||||
MQTT_PASSWORD = System.Configuration.ConfigurationManager.AppSettings["MQTT_DevieScreem_Password"].ToString(); | MQTT_PASSWORD = System.Configuration.ConfigurationManager.AppSettings["MQTT_DevieScreem_Password"].ToString(); | ||||
mQTTProxy.Connect(MQTT_USERNAME, MQTT_PASSWORD, MQTT_IP, int.Parse(MQTT_PORT), $"{DeviceType}_设备监听数据{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");//"10.2.1.254""admin", "public" | |||||
mQTTProxy.Connect(new BPA.Communication.Base.ConfigurationOptions() | |||||
{ | |||||
UserName = MQTT_USERNAME, | |||||
Password = MQTT_PASSWORD, | |||||
IpAddress = MQTT_IP, | |||||
Port = int.Parse(MQTT_PORT), | |||||
ClientId = $"{DeviceType}_设备监听数据{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}" | |||||
}); | |||||
} | } | ||||
public void Start() | public void Start() | ||||
{ | { | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// MQTT消息推送 | /// MQTT消息推送 | ||||
@@ -1,5 +1,4 @@ | |||||
using BPASmartClient.Message; | |||||
using HBLConsole.Communication; | |||||
| |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -1,7 +1,6 @@ | |||||
using BPA.ApolloClient; | using BPA.ApolloClient; | ||||
using BPA.Message; | |||||
using BPASmartClient.Helper; | |||||
using BPASmartClient.Message; | |||||
using BPA.Helper; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using Microsoft.Extensions.Configuration; | using Microsoft.Extensions.Configuration; | ||||
using Newtonsoft.Json; | using Newtonsoft.Json; | ||||
@@ -45,7 +44,7 @@ namespace BPASmartClient.Business | |||||
public void Initialize() | public void Initialize() | ||||
{ | { | ||||
var text = TextHelper.GetInstance.ReadTextInfo("StartShop", "DeviceConfig"); | var text = TextHelper.GetInstance.ReadTextInfo("StartShop", "DeviceConfig"); | ||||
string path = $"{LocaPath.GetInstance().GetDeviceConfigPath}{text}.json"; | |||||
string path = $"{LocaPath.GetDeviceConfigPath}{text}.json"; | |||||
if (File.Exists(path)) | if (File.Exists(path)) | ||||
{ | { | ||||
string JsonString = File.ReadAllText(path); | string JsonString = File.ReadAllText(path); | ||||
@@ -1,9 +1,8 @@ | |||||
using BPA.Message; | using BPA.Message; | ||||
using BPASmartClient.Device; | using BPASmartClient.Device; | ||||
using BPASmartClient.EventBus; | |||||
using BPASmartClient.Helper; | |||||
using BPASmartClient.Http; | |||||
using BPASmartClient.Message; | |||||
using BPA.Helper; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using BPASmartClient.Model.小炒机; | using BPASmartClient.Model.小炒机; | ||||
using BPASmartClient.Model.调酒机; | using BPASmartClient.Model.调酒机; | ||||
@@ -52,7 +51,7 @@ namespace BPASmartClient.Business | |||||
{ | { | ||||
var result = Plugin.GetInstance().GetPlugin<ConfigMgr>()?.deviceConfigModelJsons; | var result = Plugin.GetInstance().GetPlugin<ConfigMgr>()?.deviceConfigModelJsons; | ||||
//var text = TextHelper.GetInstance.ReadTextInfo("StartShop", "DeviceConfig"); | //var text = TextHelper.GetInstance.ReadTextInfo("StartShop", "DeviceConfig"); | ||||
//string path = $"{LocaPath.GetInstance().GetDeviceConfigPath}{text}.json"; | |||||
//string path = $"{LocaPath.GetDeviceConfigPath}{text}.json"; | |||||
//if (File.Exists(path)) | //if (File.Exists(path)) | ||||
//{ | //{ | ||||
//string JsonString = File.ReadAllText(path); | //string JsonString = File.ReadAllText(path); | ||||
@@ -105,7 +104,7 @@ namespace BPASmartClient.Business | |||||
var jsondata = new { clientId, PushType }; | var jsondata = new { clientId, PushType }; | ||||
string header = $"[/stock/GetItemInfo]_[{DateTime.Now.Ticks}]".AESEncrypt(); | string header = $"[/stock/GetItemInfo]_[{DateTime.Now.Ticks}]".AESEncrypt(); | ||||
string url = $"{InternetInfo.StockServer}GetItemInfo"; | string url = $"{InternetInfo.StockServer}GetItemInfo"; | ||||
result = APIHelper.GetInstance.HttpRequest(url, header, jsondata, RequestType.POST); | |||||
result = APIHelper.GetInstance.HttpRequest(url, jsondata, header, RequestType.POST); | |||||
if (PushType == 1) | if (PushType == 1) | ||||
{ | { | ||||
@@ -1,8 +1,7 @@ | |||||
using BPA.Message; | using BPA.Message; | ||||
using BPASmartClient.Helper; | |||||
using BPASmartClient.Message; | |||||
using BPASmartClient.MQTT; | |||||
using HBLConsole.Communication; | |||||
using BPA.Helper; | |||||
using BPA.Communication; | |||||
using Microsoft.Extensions.Configuration; | using Microsoft.Extensions.Configuration; | ||||
using System; | using System; | ||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
@@ -29,7 +28,8 @@ namespace BPASmartClient.Business | |||||
//消息缓存 | //消息缓存 | ||||
private ConcurrentQueue<string> msg = new ConcurrentQueue<string>(); | private ConcurrentQueue<string> msg = new ConcurrentQueue<string>(); | ||||
//MQTT 代理 | //MQTT 代理 | ||||
private MQTTProxy mqttProxy = new MQTTProxy(); | |||||
private MqttHelper mqttProxy = new MqttHelper(); | |||||
//消息处理者 | //消息处理者 | ||||
private List<RecivedHandle> messageRecives = new List<RecivedHandle>(); | private List<RecivedHandle> messageRecives = new List<RecivedHandle>(); | ||||
@@ -43,30 +43,35 @@ namespace BPASmartClient.Business | |||||
running = true; | running = true; | ||||
//主题初始化 | //主题初始化 | ||||
TopicDefine.GetInstance().Initialize(Plugin.GetInstance().GetPlugin<DeviceMgr>().GetDevices()); | TopicDefine.GetInstance().Initialize(Plugin.GetInstance().GetPlugin<DeviceMgr>().GetDevices()); | ||||
//MQTT 连接成功 | |||||
mqttProxy.Connected = new Action(() => | |||||
{ | |||||
mqttProxy.Subscrib(TopicDefine.GetInstance().SubscribTopics.ToArray()); | |||||
}); | |||||
//MQTT 连接成功 | |||||
mqttProxy.LostConnect = new Action(() => | |||||
mqttProxy.Connected = () => | |||||
{ | { | ||||
mqttProxy.Subscrib(TopicDefine.GetInstance().SubscribTopics.ToArray()); | mqttProxy.Subscrib(TopicDefine.GetInstance().SubscribTopics.ToArray()); | ||||
}); | |||||
}; | |||||
//MQTT 数据接收 | //MQTT 数据接收 | ||||
mqttProxy.MessageRecive = new Action<string>((message) => | |||||
{ | |||||
msg.Enqueue(message); | |||||
}); | |||||
mqttProxy.MessageRecive = s => { msg.Enqueue(s); }; | |||||
var MqttServerConfig = Plugin.GetInstance().GetPlugin<ConfigMgr>().MQTT_Config; | var MqttServerConfig = Plugin.GetInstance().GetPlugin<ConfigMgr>().MQTT_Config; | ||||
var MqttServerAccount = Plugin.GetInstance().GetPlugin<ConfigMgr>().Mqtt_Account; | var MqttServerAccount = Plugin.GetInstance().GetPlugin<ConfigMgr>().Mqtt_Account; | ||||
var deviceConfig = Plugin.GetInstance().GetPlugin<ConfigMgr>().deviceConfigModelJsons; | var deviceConfig = Plugin.GetInstance().GetPlugin<ConfigMgr>().deviceConfigModelJsons; | ||||
string deviceId = deviceConfig[0].deviceModels[0].DeviceId; | |||||
string deviceId = ""; | |||||
if (deviceConfig.Count > 0 && deviceConfig[0].deviceModels.Count > 0) | |||||
{ | |||||
deviceId = deviceConfig[0].deviceModels[0].DeviceId; | |||||
} | |||||
clientId = Plugin.GetInstance().GetPlugin<ConfigMgr>().ClientId; | clientId = Plugin.GetInstance().GetPlugin<ConfigMgr>().ClientId; | ||||
//MQTT 初始化 | //MQTT 初始化 | ||||
mqttProxy.Connect(MqttServerAccount.UserName, MqttServerAccount.Password, MqttServerConfig.Host, MqttServerConfig.Port, "ClientId:" + clientId + "DeviceId:" + deviceId + Guid.NewGuid().ToString()); | |||||
mqttProxy.Connect(new BPA.Communication.Base.ConfigurationOptions() | |||||
{ | |||||
UserName = MqttServerAccount.UserName, | |||||
Password = MqttServerAccount.Password, | |||||
IpAddress = MqttServerConfig.Host, | |||||
Port = MqttServerConfig.Port, | |||||
ClientId = $"ClientId-[{clientId}]-DeviceId-[{deviceId}]-{Guid.NewGuid()}" | |||||
}); | |||||
ThreadManage.GetInstance().Start(() => | |||||
TaskManage.GetInstance.Start(() => | |||||
{ | { | ||||
while (running) | while (running) | ||||
{ | { | ||||
@@ -88,7 +93,7 @@ namespace BPASmartClient.Business | |||||
} | } | ||||
Thread.Sleep(50); | Thread.Sleep(50); | ||||
} | } | ||||
}, "MQTT 消息处理", true); | |||||
}, "MQTT 消息处理", isRestart: true); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -115,7 +120,7 @@ namespace BPASmartClient.Business | |||||
public void Dispose() | public void Dispose() | ||||
{ | { | ||||
running = false; | running = false; | ||||
mqttProxy.CloseConnect(); | |||||
mqttProxy.Dispose(); | |||||
messageRecives.Clear(); | messageRecives.Clear(); | ||||
} | } | ||||
@@ -3,10 +3,10 @@ using BPA.Message; | |||||
using BPA.Message.Enum; | using BPA.Message.Enum; | ||||
using BPA.Models; | using BPA.Models; | ||||
using BPASmartClient.Device; | using BPASmartClient.Device; | ||||
using BPASmartClient.EventBus; | |||||
using BPASmartClient.Helper; | |||||
using BPASmartClient.Http; | |||||
using BPASmartClient.Message; | |||||
using BPA.Helper; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using BPASmartClient.Model.小炒机; | using BPASmartClient.Model.小炒机; | ||||
using BPASmartClient.Model.调酒机; | using BPASmartClient.Model.调酒机; | ||||
@@ -18,7 +18,7 @@ using System.Collections.ObjectModel; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using static BPASmartClient.EventBus.EventBus; | |||||
using static BPA.Helper.EventBus; | |||||
namespace BPASmartClient.Business | namespace BPASmartClient.Business | ||||
{ | { | ||||
@@ -44,7 +44,7 @@ namespace BPASmartClient.Business | |||||
deviceMgr = Plugin.GetInstance().GetPlugin<DeviceMgr>(); | deviceMgr = Plugin.GetInstance().GetPlugin<DeviceMgr>(); | ||||
if (InternetInfo.IsEnableTest) | if (InternetInfo.IsEnableTest) | ||||
{ | { | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
while (morkOrderPushes.Count > 0) | while (morkOrderPushes.Count > 0) | ||||
{ | { | ||||
@@ -136,12 +136,12 @@ namespace BPASmartClient.Business | |||||
} | } | ||||
}); | }); | ||||
EventBus.EventBus.GetInstance().Subscribe<OrderStatusChangedEvent>(0, OrderStatusChangedHandle); | |||||
EventBus.GetInstance().Subscribe<OrderStatusChangedEvent>(0, OrderStatusChangedHandle); | |||||
} | } | ||||
private void StartTargetDeviceOrderJob(int deviceId) | private void StartTargetDeviceOrderJob(int deviceId) | ||||
{ | { | ||||
ThreadManage.GetInstance().Start(() => | |||||
TaskManage.GetInstance.Start(() => | |||||
{ | { | ||||
var device = deviceMgr.GetDevices().FirstOrDefault(p => p.DeviceId == deviceId); | var device = deviceMgr.GetDevices().FirstOrDefault(p => p.DeviceId == deviceId); | ||||
while (running) | while (running) | ||||
@@ -164,7 +164,7 @@ namespace BPASmartClient.Business | |||||
} | } | ||||
Thread.Sleep(50); | Thread.Sleep(50); | ||||
} | } | ||||
}, $"MQTT 订单接收处理-设备[{deviceId}]", true); | |||||
}, $"MQTT 订单接收处理-设备[{deviceId}]", isRestart: true); | |||||
} | } | ||||
public void OrderStatusChangedHandle(IEvent @event, EventCallBackHandle callBack) | public void OrderStatusChangedHandle(IEvent @event, EventCallBackHandle callBack) | ||||
@@ -186,7 +186,7 @@ namespace BPASmartClient.Business | |||||
{ | { | ||||
string header = $"[{InternetInfo.OrderServer}/order/robotstatuschange]_[{DateTime.Now.Ticks}]".AESEncrypt(); | string header = $"[{InternetInfo.OrderServer}/order/robotstatuschange]_[{DateTime.Now.Ticks}]".AESEncrypt(); | ||||
string url = $"{InternetInfo.OrderServer}order/robotstatuschange"; | string url = $"{InternetInfo.OrderServer}order/robotstatuschange"; | ||||
result = APIHelper.GetInstance.HttpRequest(url, header, orderStatusChange, RequestType.POST); | |||||
result = APIHelper.GetInstance.HttpRequest(url, orderStatusChange, header, RequestType.POST); | |||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
{ | { | ||||
@@ -1,4 +1,4 @@ | |||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -1,5 +1,5 @@ | |||||
using BPA.Message; | using BPA.Message; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -33,7 +33,7 @@ namespace BPASmartClient.Business | |||||
public void Start() | public void Start() | ||||
{ | { | ||||
running = true; | running = true; | ||||
ThreadManage.GetInstance().Start(() => | |||||
TaskManage.GetInstance.Start(() => | |||||
{ | { | ||||
while (running) | while (running) | ||||
{ | { | ||||
@@ -44,11 +44,11 @@ namespace BPASmartClient.Business | |||||
} | } | ||||
Thread.Sleep(50); | Thread.Sleep(50); | ||||
} | } | ||||
}, "设备状态收集", true); | |||||
}, "设备状态收集", isRestart: true); | |||||
deviceStatus.BatchingInfo = new List<BPA.Models.BatchingInfo>(); | deviceStatus.BatchingInfo = new List<BPA.Models.BatchingInfo>(); | ||||
ThreadManage.GetInstance().Start(() => | |||||
TaskManage.GetInstance.Start(() => | |||||
{ | { | ||||
while (running) | while (running) | ||||
{ | { | ||||
@@ -59,13 +59,13 @@ namespace BPASmartClient.Business | |||||
deviceStatus.Healthy = device.IsHealth ? BPA.Message.Enum.DeviceHealthy.Health : BPA.Message.Enum.DeviceHealthy.UnHealth; | deviceStatus.Healthy = device.IsHealth ? BPA.Message.Enum.DeviceHealthy.Health : BPA.Message.Enum.DeviceHealthy.UnHealth; | ||||
deviceStatus.DeviceType = device.DeviceType; | deviceStatus.DeviceType = device.DeviceType; | ||||
deviceStatus.BatchingInfo = device.BatchingInfos; | |||||
deviceStatus.BatchingInfo = device.BatchingInfos; | |||||
var msg = BPAPackage.Make(deviceStatus, device.DeviceId, device.DeviceType); | var msg = BPAPackage.Make(deviceStatus, device.DeviceId, device.DeviceType); | ||||
mqttMgr.Publish(TopicDefine.GetInstance().PushHeartbeatTopics[device.DeviceType], msg.Serialize()); | mqttMgr.Publish(TopicDefine.GetInstance().PushHeartbeatTopics[device.DeviceType], msg.Serialize()); | ||||
} | } | ||||
Thread.Sleep(1000); | Thread.Sleep(1000); | ||||
} | } | ||||
}, "设备心跳上报", true); | |||||
}, "设备心跳上报", isRestart: true); | |||||
} | } | ||||
public void Dispose() | public void Dispose() | ||||
@@ -1,7 +1,7 @@ | |||||
using BPA.Message; | using BPA.Message; | ||||
using BPA.Message.Enum; | using BPA.Message.Enum; | ||||
using BPASmartClient.Device; | using BPASmartClient.Device; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -9,9 +9,13 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<Compile Remove="Fonts\Debug\**" /> | <Compile Remove="Fonts\Debug\**" /> | ||||
<Compile Remove="Resources\**" /> | |||||
<EmbeddedResource Remove="Fonts\Debug\**" /> | <EmbeddedResource Remove="Fonts\Debug\**" /> | ||||
<EmbeddedResource Remove="Resources\**" /> | |||||
<None Remove="Fonts\Debug\**" /> | <None Remove="Fonts\Debug\**" /> | ||||
<None Remove="Resources\**" /> | |||||
<Page Remove="Fonts\Debug\**" /> | <Page Remove="Fonts\Debug\**" /> | ||||
<Page Remove="Resources\**" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -459,14 +463,12 @@ | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.Helper" Version="1.0.62" /> | |||||
<PackageReference Include="BPA.Helper" Version="1.0.77" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.86" /> | <PackageReference Include="BPA.Message" Version="1.0.86" /> | ||||
<PackageReference Include="MahApps.Metro.IconPacks.FontAwesome" Version="4.11.0" /> | <PackageReference Include="MahApps.Metro.IconPacks.FontAwesome" Version="4.11.0" /> | ||||
<PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\BPASmartClient.Helper\BPASmartClient.Helper.csproj" /> | |||||
<ProjectReference Include="..\BPASmartClient.Model\BPASmartClient.Model.csproj" /> | <ProjectReference Include="..\BPASmartClient.Model\BPASmartClient.Model.csproj" /> | ||||
<ProjectReference Include="..\BPASmartClient.Nfc\BPASmartClient.Nfc.csproj" /> | <ProjectReference Include="..\BPASmartClient.Nfc\BPASmartClient.Nfc.csproj" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -638,8 +640,4 @@ | |||||
</EmbeddedResource> | </EmbeddedResource> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | |||||
<Folder Include="Resources\" /> | |||||
</ItemGroup> | |||||
</Project> | </Project> |
@@ -1,5 +1,5 @@ | |||||
using BPASmartClient.CustomResource.Pages.ViewModel; | using BPASmartClient.CustomResource.Pages.ViewModel; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using System; | using System; | ||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
@@ -31,8 +31,8 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
private AlarmHelper() { } | private AlarmHelper() { } | ||||
public static ObservableCollection<Alarm> Alarms { get; set; } = new ObservableCollection<Alarm>(); | |||||
public static List<Alarm> HistoryAlarms { get; set; } = new List<Alarm>(); | |||||
public static ObservableCollection<BPASmartClient.Model.Alarm> Alarms { get; set; } = new ObservableCollection<BPASmartClient.Model.Alarm>(); | |||||
public static List<BPASmartClient.Model.Alarm> HistoryAlarms { get; set; } = new List<BPASmartClient.Model.Alarm>(); | |||||
static ConcurrentDictionary<string, bool> flagbit = new ConcurrentDictionary<string, bool>(); | static ConcurrentDictionary<string, bool> flagbit = new ConcurrentDictionary<string, bool>(); | ||||
static ConcurrentDictionary<string, Delay> delays = new ConcurrentDictionary<string, Delay>(); | static ConcurrentDictionary<string, Delay> delays = new ConcurrentDictionary<string, Delay>(); | ||||
public static Action<string> AddAction { get; set; } | public static Action<string> AddAction { get; set; } | ||||
@@ -44,7 +44,7 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
public static void Init() | public static void Init() | ||||
{ | { | ||||
AlarmViewModel.AlarmInfos = Alarms; | AlarmViewModel.AlarmInfos = Alarms; | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
if (_Instance != null) | if (_Instance != null) | ||||
{ | { | ||||
@@ -97,7 +97,7 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
/// <param name="AlarmInfo">报警信息</param> | /// <param name="AlarmInfo">报警信息</param> | ||||
private static void AddAlarm(object value, string AlarmInfo, AlarmLevel alarmLevel) | private static void AddAlarm(object value, string AlarmInfo, AlarmLevel alarmLevel) | ||||
{ | { | ||||
Alarm tempAlarm = new Alarm() | |||||
BPASmartClient.Model.Alarm tempAlarm = new BPASmartClient.Model.Alarm() | |||||
{ | { | ||||
NumId = Alarms.Count + 1, | NumId = Alarms.Count + 1, | ||||
Date = DateTime.Now.ToString("yyyy/MM/dd"), | Date = DateTime.Now.ToString("yyyy/MM/dd"), | ||||
@@ -106,9 +106,16 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
Value = value.ToString(), | Value = value.ToString(), | ||||
Time = DateTime.Now.ToString("HH:mm:ss"), | Time = DateTime.Now.ToString("HH:mm:ss"), | ||||
}; | }; | ||||
try | |||||
{ | |||||
var res = Sqlite<BPASmartClient.Model.Alarm>.GetInstance.Base.Add(tempAlarm); | |||||
Sqlite<BPASmartClient.Model.Alarm>.GetInstance.Save(); | |||||
} | |||||
catch (Exception) | |||||
{ | |||||
} | |||||
var res = Sqlite<Alarm>.GetInstance.Base.Add(tempAlarm); | |||||
Sqlite<Alarm>.GetInstance.Save(); | |||||
if (Alarms.FirstOrDefault(p => p.Info == AlarmInfo) == null) | if (Alarms.FirstOrDefault(p => p.Info == AlarmInfo) == null) | ||||
{ | { | ||||
@@ -145,134 +152,4 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
} | } | ||||
//public class AlarmHelper<AlarmT> where AlarmT : class, new() | |||||
//{ | |||||
// //private volatile static ConcurrentDictionary<string, AlarmT> _Instance; | |||||
// //public static AlarmT GetInstance(string name) | |||||
// //{ | |||||
// // if (_Instance == null) _Instance = new ConcurrentDictionary<string, AlarmT>(); | |||||
// // if (!_Instance.ContainsKey(name)) _Instance.TryAdd(name, new AlarmT()); | |||||
// // return _Instance[name]; | |||||
// //} | |||||
// //private AlarmHelper() { } | |||||
// public static ObservableCollection<Alarm> Alarms { get; set; } = new ObservableCollection<Alarm>(); | |||||
// public static List<Alarm> HistoryAlarms { get; set; } = new List<Alarm>(); | |||||
// static ConcurrentDictionary<string, bool> flagbit = new ConcurrentDictionary<string, bool>(); | |||||
// static ConcurrentDictionary<string, Delay> delays = new ConcurrentDictionary<string, Delay>(); | |||||
// public static Action<string> AddAction { get; set; } | |||||
// public static Action<string> RemoveAction { get; set; } | |||||
// public static Action ChangeAction { get; set; } | |||||
// public static AlarmT Alarm { get; set; } = new AlarmT(); | |||||
// public static void Init() | |||||
// { | |||||
// AlarmViewModel.AlarmInfos = Alarms; | |||||
// ThreadManage.GetInstance().StartLong(new Action(() => | |||||
// { | |||||
// foreach (var item in Alarm.GetType().GetProperties()) | |||||
// { | |||||
// if (item.CustomAttributes.Count() > 0) | |||||
// { | |||||
// var AlarmModel = item.GetCustomAttribute<AlarmAttribute>(); | |||||
// if (AlarmModel != null) | |||||
// { | |||||
// bool value = Convert.ToBoolean(Alarm.GetType().GetProperty(item.Name)?.GetValue(Alarm)); | |||||
// EdgeAlarm(value, AlarmModel.AlarmInfo, 1, AlarmModel.AlarmLevel, AlarmModel.AlarmType); | |||||
// } | |||||
// } | |||||
// } | |||||
// Thread.Sleep(100); | |||||
// }), $"{typeof(AlarmT).Name},报警通用模块监听"); | |||||
// } | |||||
// //public static void AnalogAlarm(dynamic Trigger, string info, dynamic HH = null, dynamic H = 0, dynamic L = 0, dynamic LL = 0) | |||||
// //{ | |||||
// //} | |||||
// /// <summary> | |||||
// /// 沿报警检测 | |||||
// /// </summary> | |||||
// /// <param name="Trigger">触发变量</param> | |||||
// /// <param name="text">报警信息</param> | |||||
// /// <param name="edgeType">触发类型,上升沿 或 下降沿</param> | |||||
// private static void EdgeAlarm(bool Trigger, string text, int delay = 2, AlarmLevel alarmLevel = AlarmLevel.一般报警, AlarmTriggerType edgeType = AlarmTriggerType.Rising) | |||||
// { | |||||
// if (!flagbit.ContainsKey(text)) flagbit.TryAdd(text, false); | |||||
// if (!delays.ContainsKey(text)) delays.TryAdd(text, Delay.GetInstance(text)); | |||||
// if (edgeType == AlarmTriggerType.Rising ? delays[text].Start(Trigger, delay) : delays[text].Start(!Trigger, delay)) | |||||
// { | |||||
// if (edgeType == AlarmTriggerType.Rising ? !flagbit[text] : flagbit[text]) | |||||
// { | |||||
// AddAlarm(Trigger, text, alarmLevel); | |||||
// flagbit[text] = edgeType == AlarmTriggerType.Rising ? true : false; | |||||
// } | |||||
// } | |||||
// else RemoveAlarm(text); | |||||
// if (edgeType == AlarmTriggerType.Rising ? flagbit[text] : !flagbit[text]) flagbit[text] = Trigger; | |||||
// } | |||||
// /// <summary> | |||||
// /// 添加报警信息 | |||||
// /// </summary> | |||||
// /// <param name="AlarmInfo">报警信息</param> | |||||
// private static void AddAlarm(object value, string AlarmInfo, AlarmLevel alarmLevel) | |||||
// { | |||||
// Alarm tempAlarm = new Alarm() | |||||
// { | |||||
// NumId = Alarms.Count + 1, | |||||
// Date = DateTime.Now.ToString("yyyy/MM/dd"), | |||||
// Grade = alarmLevel.ToString(), | |||||
// Info = AlarmInfo, | |||||
// Value = value.ToString(), | |||||
// Time = DateTime.Now.ToString("HH:mm:ss"), | |||||
// }; | |||||
// var res = Sqlite<Alarm>.GetInstance.Base.Add(tempAlarm); | |||||
// Sqlite<Alarm>.GetInstance.Save(); | |||||
// if (Alarms.FirstOrDefault(p => p.Info == AlarmInfo) == null) | |||||
// { | |||||
// Application.Current.Dispatcher.Invoke(new Action(() => | |||||
// { | |||||
// Alarms.Insert(0, tempAlarm); | |||||
// for (int i = 0; i < Alarms.Count; i++) { Alarms.ElementAt(i).NumId = i + 1; } | |||||
// })); | |||||
// AddAction?.Invoke(AlarmInfo);//添加报警通知 | |||||
// ChangeAction?.Invoke();//更改报警通知 | |||||
// } | |||||
// } | |||||
// /// <summary> | |||||
// /// 移除报警信息 | |||||
// /// </summary> | |||||
// /// <param name="AlarmInfo">报警信息</param> | |||||
// private static void RemoveAlarm(string AlarmInfo) | |||||
// { | |||||
// var result = Alarms.FirstOrDefault(p => p.Info == AlarmInfo); | |||||
// if (result != null) | |||||
// { | |||||
// Application.Current.Dispatcher.Invoke(new Action(() => | |||||
// { | |||||
// Alarms.Remove(result); | |||||
// for (int i = 0; i < Alarms.Count; i++) { Alarms.ElementAt(i).NumId = i + 1; } | |||||
// })); | |||||
// if (RemoveAction != null) RemoveAction(AlarmInfo); | |||||
// if (ChangeAction != null) ChangeAction(); | |||||
// } | |||||
// } | |||||
//} | |||||
} | } |
@@ -1,5 +1,5 @@ | |||||
using BPASmartClient.CustomResource.Pages.ViewModel; | using BPASmartClient.CustomResource.Pages.ViewModel; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using System; | using System; | ||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
@@ -28,8 +28,8 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
private AlarmTest() { } | private AlarmTest() { } | ||||
public static ObservableCollection<Alarm> Alarms { get; set; } = new ObservableCollection<Alarm>(); | |||||
public static List<Alarm> HistoryAlarms { get; set; } = new List<Alarm>(); | |||||
public static ObservableCollection<BPASmartClient.Model.Alarm> Alarms { get; set; } = new(); | |||||
public static List<BPASmartClient.Model.Alarm> HistoryAlarms { get; set; } = new(); | |||||
static ConcurrentDictionary<string, bool> flagbit = new ConcurrentDictionary<string, bool>(); | static ConcurrentDictionary<string, bool> flagbit = new ConcurrentDictionary<string, bool>(); | ||||
static ConcurrentDictionary<string, Delay> delays = new ConcurrentDictionary<string, Delay>(); | static ConcurrentDictionary<string, Delay> delays = new ConcurrentDictionary<string, Delay>(); | ||||
public static Action<string> AddAction { get; set; } | public static Action<string> AddAction { get; set; } | ||||
@@ -41,7 +41,7 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
public static void Init() | public static void Init() | ||||
{ | { | ||||
AlarmViewModel.AlarmInfos = Alarms; | AlarmViewModel.AlarmInfos = Alarms; | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
if (_Instance != null) | if (_Instance != null) | ||||
{ | { | ||||
@@ -94,7 +94,7 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
/// <param name="AlarmInfo">报警信息</param> | /// <param name="AlarmInfo">报警信息</param> | ||||
private static void AddAlarm(object value, string AlarmInfo, AlarmLevel alarmLevel) | private static void AddAlarm(object value, string AlarmInfo, AlarmLevel alarmLevel) | ||||
{ | { | ||||
Alarm tempAlarm = new Alarm() | |||||
BPASmartClient.Model.Alarm tempAlarm = new BPASmartClient.Model.Alarm() | |||||
{ | { | ||||
NumId = Alarms.Count + 1, | NumId = Alarms.Count + 1, | ||||
Date = DateTime.Now.ToString("yyyy/MM/dd"), | Date = DateTime.Now.ToString("yyyy/MM/dd"), | ||||
@@ -104,8 +104,8 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
Time = DateTime.Now.ToString("HH:mm:ss"), | Time = DateTime.Now.ToString("HH:mm:ss"), | ||||
}; | }; | ||||
var res = Sqlite<Alarm>.GetInstance.Base.Add(tempAlarm); | |||||
Sqlite<Alarm>.GetInstance.Save(); | |||||
var res = Sqlite<BPASmartClient.Model.Alarm>.GetInstance.Base.Add(tempAlarm); | |||||
Sqlite<BPASmartClient.Model.Alarm>.GetInstance.Save(); | |||||
if (Alarms.FirstOrDefault(p => p.Info == AlarmInfo) == null) | if (Alarms.FirstOrDefault(p => p.Info == AlarmInfo) == null) | ||||
{ | { | ||||
@@ -4,7 +4,7 @@ using System.Linq; | |||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using BPASmartClient.CustomResource.Pages.Enums; | using BPASmartClient.CustomResource.Pages.Enums; | ||||
using System.Windows; | using System.Windows; | ||||
@@ -13,7 +13,7 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
/// <summary> | /// <summary> | ||||
/// 在启动界面之前设置菜单项 | /// 在启动界面之前设置菜单项 | ||||
/// </summary> | /// </summary> | ||||
public class MenuManage : ObservableObject | |||||
public class MenuManage : NotifyBase | |||||
{ | { | ||||
private volatile static MenuManage _Instance; | private volatile static MenuManage _Instance; | ||||
public static MenuManage GetInstance => _Instance ?? (_Instance = new MenuManage()); | public static MenuManage GetInstance => _Instance ?? (_Instance = new MenuManage()); | ||||
@@ -22,7 +22,7 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
public ObservableCollection<MenuModel> menuModels { get; set; } = new ObservableCollection<MenuModel>(); | public ObservableCollection<MenuModel> menuModels { get; set; } = new ObservableCollection<MenuModel>(); | ||||
} | } | ||||
public class MenuModel : ObservableObject | |||||
public class MenuModel : NotifyBase | |||||
{ | { | ||||
private Permission[] pers | private Permission[] pers | ||||
@@ -84,7 +84,7 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
} | } | ||||
public class SubMenumodel : ObservableObject | |||||
public class SubMenumodel : NotifyBase | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 子菜单名称 | /// 子菜单名称 | ||||
@@ -1,4 +1,4 @@ | |||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -35,16 +35,24 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
public ObservableCollection<UserLog> userLogs { get; set; } = new(); | public ObservableCollection<UserLog> userLogs { get; set; } = new(); | ||||
public ObservableCollection<Alarm> alarmLogs { get; set; } = new(); | |||||
public ObservableCollection<BPASmartClient.Model.Alarm> alarmLogs { get; set; } = new(); | |||||
public ObservableCollection<RecipeCompleteLog> recipeLogs { get; set; } = new(); | public ObservableCollection<RecipeCompleteLog> recipeLogs { get; set; } = new(); | ||||
public void LogSave() | public void LogSave() | ||||
{ | { | ||||
Sqlite<UserLog>.GetInstance.Save(); | |||||
Sqlite<RunLog>.GetInstance.Save(); | |||||
Sqlite<Alarm>.GetInstance.Save(); | |||||
Sqlite<RecipeCompleteLog>.GetInstance.Save(); | |||||
try | |||||
{ | |||||
Sqlite<UserLog>.GetInstance.Save(); | |||||
Sqlite<RunLog>.GetInstance.Save(); | |||||
Sqlite<BPASmartClient.Model.Alarm>.GetInstance.Save(); | |||||
Sqlite<RecipeCompleteLog>.GetInstance.Save(); | |||||
} | |||||
catch (Exception) | |||||
{ | |||||
// throw; | |||||
} | |||||
} | } | ||||
public void ShowRecipeLog(string info) | public void ShowRecipeLog(string info) | ||||
@@ -122,7 +130,7 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
lock (alarmlock) | lock (alarmlock) | ||||
{ | { | ||||
AlarmID++; | AlarmID++; | ||||
Alarm alarmLog = new Alarm() | |||||
BPASmartClient.Model.Alarm alarmLog = new BPASmartClient.Model.Alarm() | |||||
{ | { | ||||
NumId = AlarmID, | NumId = AlarmID, | ||||
Date = DateTime.Now.ToString("yyyy-MM-dd"), | Date = DateTime.Now.ToString("yyyy-MM-dd"), | ||||
@@ -131,7 +139,7 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
Value = AlarmNumber, | Value = AlarmNumber, | ||||
Grade = (level) + "" | Grade = (level) + "" | ||||
}; | }; | ||||
Sqlite<Alarm>.GetInstance.Base.Add(alarmLog); | |||||
Sqlite<BPASmartClient.Model.Alarm>.GetInstance.Base.Add(alarmLog); | |||||
Application.Current.Dispatcher.Invoke(new Action(() => { alarmLogs.Insert(0, alarmLog); })); | Application.Current.Dispatcher.Invoke(new Action(() => { alarmLogs.Insert(0, alarmLog); })); | ||||
AlarmLog?.Invoke(info); | AlarmLog?.Invoke(info); | ||||
} | } | ||||
@@ -1,4 +1,5 @@ | |||||
using BPASmartClient.CustomResource.Pages.ViewModel; | |||||
using BPA.Helper; | |||||
using BPASmartClient.CustomResource.Pages.ViewModel; | |||||
using BPASmartClient.Nfc; | using BPASmartClient.Nfc; | ||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -28,10 +29,10 @@ namespace BPASmartClient.CustomResource.Pages.Model | |||||
if (NFCHelper.GetInstance.GetReadResult?.CardNum.Length > 0) | if (NFCHelper.GetInstance.GetReadResult?.CardNum.Length > 0) | ||||
{ | { | ||||
string id = NFCHelper.GetInstance.GetReadResult?.CardNum; | string id = NFCHelper.GetInstance.GetReadResult?.CardNum; | ||||
var res = Global.userManager.userInfos.FirstOrDefault(p => p.CardId == id) ; | |||||
var res = Global.userManager.userInfos.FirstOrDefault(p => p.CardId == id); | |||||
if (res != null) | if (res != null) | ||||
{ | { | ||||
BPASmartClient.Message.MessageLog.GetInstance.ShowDebugLog("NFC卡登录"); | |||||
MessageLog.GetInstance.Show("NFC卡登录"); | |||||
LoginViewModel.NfcLogin(id); | LoginViewModel.NfcLogin(id); | ||||
} | } | ||||
} | } | ||||
@@ -1,4 +1,4 @@ | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -9,7 +9,7 @@ using System.Threading.Tasks; | |||||
namespace BPASmartClient.CustomResource.Pages.Model | namespace BPASmartClient.CustomResource.Pages.Model | ||||
{ | { | ||||
public class PlcVariableInfoManage:ObservableObject | |||||
public class PlcVariableInfoManage:NotifyBase | |||||
{ | { | ||||
public ConcurrentDictionary<string, ObservableCollection<PlcVariableInfoModel>> VariablesInfo { get; set; } = new ConcurrentDictionary<string, ObservableCollection<PlcVariableInfoModel>>(); | public ConcurrentDictionary<string, ObservableCollection<PlcVariableInfoModel>> VariablesInfo { get; set; } = new ConcurrentDictionary<string, ObservableCollection<PlcVariableInfoModel>>(); | ||||
} | } | ||||
@@ -1,5 +1,5 @@ | |||||
| | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -8,7 +8,7 @@ using System.Threading.Tasks; | |||||
namespace BPASmartClient.CustomResource.Pages.Model | namespace BPASmartClient.CustomResource.Pages.Model | ||||
{ | { | ||||
public class PlcVariableInfoModel : ObservableObject | |||||
public class PlcVariableInfoModel : NotifyBase | |||||
{ | { | ||||
//public int Id { get { return _id; } set { _id = value;OnPropertyChanged(); } } | //public int Id { get { return _id; } set { _id = value;OnPropertyChanged(); } } | ||||
//private int _id; | //private int _id; | ||||
@@ -6,7 +6,7 @@ using System.Threading.Tasks; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.Windows; | using System.Windows; | ||||
using System.IO; | using System.IO; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.CustomResource.Pages.Model | namespace BPASmartClient.CustomResource.Pages.Model | ||||
{ | { | ||||
@@ -1,4 +1,4 @@ | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.ComponentModel.DataAnnotations; | using System.ComponentModel.DataAnnotations; | ||||
@@ -8,7 +8,7 @@ using System.Threading.Tasks; | |||||
namespace BPASmartClient.CustomResource.Pages.Model | namespace BPASmartClient.CustomResource.Pages.Model | ||||
{ | { | ||||
public class RecipeCompleteLog : ObservableObject | |||||
public class RecipeCompleteLog : NotifyBase | |||||
{ | { | ||||
[Key] | [Key] | ||||
public int Id { get; set; } | public int Id { get; set; } | ||||
@@ -4,12 +4,12 @@ using System.Linq; | |||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using System.ComponentModel; | using System.ComponentModel; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.CustomResource.Pages.Model | namespace BPASmartClient.CustomResource.Pages.Model | ||||
{ | { | ||||
[Serializable] | [Serializable] | ||||
public class ReportBase : ObservableObject | |||||
public class ReportBase : NotifyBase | |||||
{ | { | ||||
} | } | ||||
} | } |
@@ -4,7 +4,7 @@ using System.Linq; | |||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.CustomResource.Pages.Model | namespace BPASmartClient.CustomResource.Pages.Model | ||||
@@ -4,7 +4,7 @@ using System.ComponentModel; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.CustomResource.Pages.Model | namespace BPASmartClient.CustomResource.Pages.Model | ||||
{ | { | ||||
@@ -4,11 +4,11 @@ using System.ComponentModel.DataAnnotations; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.CustomResource.Pages.Model | namespace BPASmartClient.CustomResource.Pages.Model | ||||
{ | { | ||||
public class RunLog : ObservableObject | |||||
public class RunLog : NotifyBase | |||||
{ | { | ||||
[Key] | [Key] | ||||
public int Id { get; set; } | public int Id { get; set; } | ||||
@@ -1,6 +1,6 @@ | |||||
using BPASmartClient.CustomResource.Pages.Enums; | using BPASmartClient.CustomResource.Pages.Enums; | ||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -9,7 +9,7 @@ using System.Threading.Tasks; | |||||
namespace BPASmartClient.CustomResource.Pages.Model | namespace BPASmartClient.CustomResource.Pages.Model | ||||
{ | { | ||||
public class UserInfo : ObservableObject | |||||
public class UserInfo : NotifyBase | |||||
{ | { | ||||
public String LastLogInTime { get; set; } = "无"; | public String LastLogInTime { get; set; } = "无"; | ||||
@@ -4,11 +4,11 @@ using System.ComponentModel.DataAnnotations; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.CustomResource.Pages.Model | namespace BPASmartClient.CustomResource.Pages.Model | ||||
{ | { | ||||
public class UserLog : ObservableObject | |||||
public class UserLog : NotifyBase | |||||
{ | { | ||||
[Key] | [Key] | ||||
public int Id { get; set; } | public int Id { get; set; } | ||||
@@ -1,4 +1,4 @@ | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -7,7 +7,7 @@ using System.Threading.Tasks; | |||||
namespace BPASmartClient.CustomResource.Pages.Model | namespace BPASmartClient.CustomResource.Pages.Model | ||||
{ | { | ||||
public class UserTreeViewModel: ObservableObject | |||||
public class UserTreeViewModel: NotifyBase | |||||
{ | { | ||||
public string Name { get; set; } | public string Name { get; set; } | ||||
@@ -1,4 +1,5 @@ | |||||
using BPASmartClient.Message; | |||||
| |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -19,7 +20,7 @@ namespace BPASmartClient.CustomResource | |||||
static VoiceAPI() | static VoiceAPI() | ||||
{ | { | ||||
BPA.Helper.ThreadManage.GetInstance().StartLong(new Action(() => | |||||
BPA.Helper.TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
while (msg.Count > 0) | while (msg.Count > 0) | ||||
{ | { | ||||
@@ -1,4 +1,4 @@ | |||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -1,5 +1,5 @@ | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Diagnostics; | using System.Diagnostics; | ||||
@@ -1,5 +1,5 @@ | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -1,4 +1,4 @@ | |||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -1,5 +1,5 @@ | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -1,4 +1,4 @@ | |||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -1,7 +1,5 @@ | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.Helper; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -10,7 +8,7 @@ using System.Threading.Tasks; | |||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class AddNewUserViewModel:ObservableObject | |||||
public class AddNewUserViewModel : NotifyBase | |||||
{ | { | ||||
public string ErrorInfo { get { return _mErrorInfo; } set { _mErrorInfo = value; OnPropertyChanged(); } } | public string ErrorInfo { get { return _mErrorInfo; } set { _mErrorInfo = value; OnPropertyChanged(); } } | ||||
private string _mErrorInfo; | private string _mErrorInfo; | ||||
@@ -26,9 +24,9 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
public string NewPassword2 { get { return _mNewPassword2; } set { _mNewPassword2 = value; OnPropertyChanged(); } } | public string NewPassword2 { get { return _mNewPassword2; } set { _mNewPassword2 = value; OnPropertyChanged(); } } | ||||
private string _mNewPassword2; | private string _mNewPassword2; | ||||
public RelayCommand ExitCommand { get; set; } | |||||
public BPARelayCommand ExitCommand { get; set; } | |||||
public RelayCommand ConfirmCommand { get; set; } | |||||
public BPARelayCommand ConfirmCommand { get; set; } | |||||
private void Confirm() | private void Confirm() | ||||
{ | { | ||||
@@ -36,9 +34,9 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
if (NewPassword1 == null) { ErrorInfo = "请输入密码"; return; } | if (NewPassword1 == null) { ErrorInfo = "请输入密码"; return; } | ||||
if (NewPassword2 != NewPassword1) { ErrorInfo = "两次密码不一致"; return; } | if (NewPassword2 != NewPassword1) { ErrorInfo = "两次密码不一致"; return; } | ||||
var res = Global.userManager.userInfos.FirstOrDefault(p => p.UserName == UserName); | var res = Global.userManager.userInfos.FirstOrDefault(p => p.UserName == UserName); | ||||
if (res != null) { ErrorInfo = "用户名已存在";return; } | |||||
if (res != null) { ErrorInfo = "用户名已存在"; return; } | |||||
Global.userManager.userInfos.Add(new UserInfo | Global.userManager.userInfos.Add(new UserInfo | ||||
{ | |||||
{ | |||||
UserName = UserName, | UserName = UserName, | ||||
Password = NewPassword1, | Password = NewPassword1, | ||||
userTreeViewModels = new List<UserTreeViewModel>() | userTreeViewModels = new List<UserTreeViewModel>() | ||||
@@ -49,12 +47,12 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
public AddNewUserViewModel() | public AddNewUserViewModel() | ||||
{ | { | ||||
ConfirmCommand = new RelayCommand(Confirm); | |||||
ConfirmCommand = new BPARelayCommand(Confirm); | |||||
ExitCommand = new RelayCommand(() => | |||||
ExitCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("AddNewUserViewCancel"); | ActionManage.GetInstance.Send("AddNewUserViewCancel"); | ||||
}); | }); | ||||
} | } | ||||
} | } | ||||
@@ -3,12 +3,11 @@ using System.Collections.Generic; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.Windows; | using System.Windows; | ||||
using BPASmartClient.Helper; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using Google.Protobuf.WellKnownTypes; | using Google.Protobuf.WellKnownTypes; | ||||
@@ -16,11 +15,11 @@ using System.Threading; | |||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class AlarmViewModel : ObservableObject | |||||
public class AlarmViewModel : NotifyBase | |||||
{ | { | ||||
public AlarmViewModel() | public AlarmViewModel() | ||||
{ | { | ||||
ControlCommand = new RelayCommand(() => | |||||
ControlCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
if (ControlButText == "报警复位") | if (ControlButText == "报警复位") | ||||
{ | { | ||||
@@ -42,7 +41,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
}); | }); | ||||
SwitchCommand = new RelayCommand(() => | |||||
SwitchCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
if (ButContent == "历史报警") | if (ButContent == "历史报警") | ||||
{ | { | ||||
@@ -72,7 +71,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
private void GetHistoryAlarm() | private void GetHistoryAlarm() | ||||
{ | { | ||||
var data = Sqlite<Alarm>.GetInstance.GetData(); | |||||
var data = Sqlite<BPASmartClient.Model.Alarm>.GetInstance.GetData(); | |||||
if (data != null) | if (data != null) | ||||
{ | { | ||||
HistoryAlarm.Clear(); | HistoryAlarm.Clear(); | ||||
@@ -87,9 +86,9 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
} | } | ||||
} | } | ||||
public RelayCommand SwitchCommand { get; set; } | |||||
public BPARelayCommand SwitchCommand { get; set; } | |||||
public RelayCommand ControlCommand { get; set; } | |||||
public BPARelayCommand ControlCommand { get; set; } | |||||
public Visibility CurrentDataVis { get { return _mCurrentDataVis; } set { _mCurrentDataVis = value; OnPropertyChanged(); } } | public Visibility CurrentDataVis { get { return _mCurrentDataVis; } set { _mCurrentDataVis = value; OnPropertyChanged(); } } | ||||
@@ -132,8 +131,8 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
private DateTime _mEndDateTime = DateTime.Now; | private DateTime _mEndDateTime = DateTime.Now; | ||||
public static ObservableCollection<Alarm> AlarmInfos { get; set; } | |||||
public ObservableCollection<Alarm> HistoryAlarm { get; set; } = new ObservableCollection<Alarm>(); | |||||
public static ObservableCollection<BPASmartClient.Model.Alarm> AlarmInfos { get; set; } | |||||
public ObservableCollection<BPASmartClient.Model.Alarm> HistoryAlarm { get; set; } = new(); | |||||
} | } | ||||
} | } |
@@ -5,14 +5,14 @@ using System.Linq; | |||||
using System.Runtime.CompilerServices; | using System.Runtime.CompilerServices; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using BPA.Helper; | using BPA.Helper; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.Windows.Media; | using System.Windows.Media; | ||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class DebugLogViewModel : ObservableObject | |||||
public class DebugLogViewModel : NotifyBase | |||||
{ | { | ||||
public DebugLogViewModel() | public DebugLogViewModel() | ||||
{ | { | ||||
@@ -38,7 +38,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
} | } | ||||
public class MessageModel : ObservableObject | |||||
public class MessageModel : NotifyBase | |||||
{ | { | ||||
public string LogInfo { get { return _mLogInfo; } set { _mLogInfo = value; OnPropertyChanged(); } } | public string LogInfo { get { return _mLogInfo; } set { _mLogInfo = value; OnPropertyChanged(); } } | ||||
private string _mLogInfo; | private string _mLogInfo; | ||||
@@ -5,21 +5,21 @@ using System.Text; | |||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using System.Windows; | using System.Windows; | ||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.Helper; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class LoginViewModel : ObservableObject | |||||
public class LoginViewModel : NotifyBase | |||||
{ | { | ||||
public LoginViewModel() | public LoginViewModel() | ||||
{ | { | ||||
Config.GetInstance.Init(); | Config.GetInstance.Init(); | ||||
ActionManage.GetInstance.Register(new Action(() => { Login(); }), "EnterLogin", true); | ActionManage.GetInstance.Register(new Action(() => { Login(); }), "EnterLogin", true); | ||||
LoginCommand = new RelayCommand(() => { Login(); }); | |||||
LoginCommand = new BPARelayCommand(() => { Login(); }); | |||||
ExitCommand = new RelayCommand(() => | |||||
ExitCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("ExitAction"); | ActionManage.GetInstance.Send("ExitAction"); | ||||
}); | }); | ||||
@@ -188,9 +188,9 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
} | } | ||||
} | } | ||||
public RelayCommand LoginCommand { get; set; } | |||||
public BPARelayCommand LoginCommand { get; set; } | |||||
public RelayCommand ExitCommand { get; set; } | |||||
public BPARelayCommand ExitCommand { get; set; } | |||||
@@ -9,44 +9,27 @@ using System.Threading.Tasks; | |||||
using System.Windows; | using System.Windows; | ||||
using System.Windows.Media; | using System.Windows.Media; | ||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class MainViewModel : ObservableObject | |||||
public class MainViewModel : NotifyBase | |||||
{ | { | ||||
public MainViewModel() | public MainViewModel() | ||||
{ | { | ||||
NavChangedCommand = new RelayCommand<object>(DoNavChanged); | |||||
BPASmartClient.Message. MessageLog.GetInstance.InfoNotify = new Action<string>((o) => | |||||
{ | |||||
Application.Current?.Dispatcher?.Invoke(() => | |||||
{ | |||||
//ff20aefe | |||||
var temp = new MessageModel() | |||||
{ | |||||
LogInfo = o, | |||||
Forground = new SolidColorBrush(Color.FromArgb(255, 32, 174, 254)) | |||||
}; | |||||
if (DebugLogViewModel.MessageModels.Count > 0) | |||||
DebugLogViewModel.MessageModels.Insert(0, temp); | |||||
else | |||||
DebugLogViewModel.MessageModels.Add(temp); | |||||
}); | |||||
}); | |||||
BPASmartClient.Message.MessageLog.GetInstance.ExInfoNotify = new Action<string>((o) => | |||||
NavChangedCommand = new BPARelayCommand<object>(DoNavChanged); | |||||
MessageLog.GetInstance.InfoNotify = new Action<string>((o) => | |||||
{ | { | ||||
Application.Current?.Dispatcher?.Invoke(() => | Application.Current?.Dispatcher?.Invoke(() => | ||||
{ | { | ||||
//FFF53F62 | |||||
//ff20aefe | |||||
var temp = new MessageModel() | var temp = new MessageModel() | ||||
{ | { | ||||
LogInfo = o, | LogInfo = o, | ||||
Forground = new SolidColorBrush(Color.FromArgb(255, 245, 63, 98)) | |||||
Forground = new SolidColorBrush(Color.FromArgb(255, 32, 174, 254)) | |||||
}; | }; | ||||
if (DebugLogViewModel.MessageModels.Count > 0) | if (DebugLogViewModel.MessageModels.Count > 0) | ||||
DebugLogViewModel.MessageModels.Insert(0, temp); | DebugLogViewModel.MessageModels.Insert(0, temp); | ||||
@@ -55,15 +38,15 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
}); | }); | ||||
}); | }); | ||||
BPA.Helper.MessageLog.GetInstance.NotifyShow = new Action<string>((o) => | |||||
MessageLog.GetInstance.ExInfoNotify = new Action<string>((o) => | |||||
{ | { | ||||
Application.Current?.Dispatcher?.Invoke(() => | Application.Current?.Dispatcher?.Invoke(() => | ||||
{ | { | ||||
//ff20aefe | |||||
//FFF53F62 | |||||
var temp = new MessageModel() | var temp = new MessageModel() | ||||
{ | { | ||||
LogInfo = o, | LogInfo = o, | ||||
Forground = new SolidColorBrush(Color.FromArgb(255, 32, 174, 254)) | |||||
Forground = new SolidColorBrush(Color.FromArgb(255, 245, 63, 98)) | |||||
}; | }; | ||||
if (DebugLogViewModel.MessageModels.Count > 0) | if (DebugLogViewModel.MessageModels.Count > 0) | ||||
DebugLogViewModel.MessageModels.Insert(0, temp); | DebugLogViewModel.MessageModels.Insert(0, temp); | ||||
@@ -71,6 +54,31 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
DebugLogViewModel.MessageModels.Add(temp); | DebugLogViewModel.MessageModels.Add(temp); | ||||
}); | }); | ||||
}); | }); | ||||
BPA.Helper.MessageLog.GetInstance.NotifyShow = new Action<string>((o) => | |||||
{ | |||||
try | |||||
{ | |||||
Application.Current?.Dispatcher?.Invoke(() => | |||||
{ | |||||
//ff20aefe | |||||
var temp = new MessageModel() | |||||
{ | |||||
LogInfo = o, | |||||
Forground = new SolidColorBrush(Color.FromArgb(255, 32, 174, 254)) | |||||
}; | |||||
if (DebugLogViewModel.MessageModels.Count > 0) | |||||
DebugLogViewModel.MessageModels.Insert(0, temp); | |||||
else | |||||
DebugLogViewModel.MessageModels.Add(temp); | |||||
}); | |||||
} | |||||
catch (Exception) | |||||
{ | |||||
//throw; | |||||
} | |||||
}); | |||||
BPA.Helper.MessageLog.GetInstance.NotifyShowEx = new Action<string>((o) => | BPA.Helper.MessageLog.GetInstance.NotifyShowEx = new Action<string>((o) => | ||||
{ | { | ||||
Application.Current?.Dispatcher?.Invoke(() => | Application.Current?.Dispatcher?.Invoke(() => | ||||
@@ -98,9 +106,9 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
ActionManage.GetInstance.Register(new Action<object>((c) => | ActionManage.GetInstance.Register(new Action<object>((c) => | ||||
{ | { | ||||
if(c!=null) | |||||
IsAlarm = Convert.ToBoolean(c); | |||||
}),"HeartBeatCheck"); | |||||
if (c != null) | |||||
IsAlarm = Convert.ToBoolean(c); | |||||
}), "HeartBeatCheck"); | |||||
} | } | ||||
private void PermissionChange() | private void PermissionChange() | ||||
@@ -160,20 +168,20 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
OnPropertyChanged(); | OnPropertyChanged(); | ||||
} | } | ||||
} | } | ||||
private bool _isAlarm=true; | |||||
private bool _isAlarm = true; | |||||
/// <summary> | /// <summary> | ||||
/// 心跳检测报警 | /// 心跳检测报警 | ||||
/// </summary> | /// </summary> | ||||
public bool IsAlarm | public bool IsAlarm | ||||
{ | { | ||||
get { return _isAlarm; } | get { return _isAlarm; } | ||||
set { _isAlarm = value;OnPropertyChanged(); } | |||||
set { _isAlarm = value; OnPropertyChanged(); } | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 开机自启 | /// 开机自启 | ||||
/// </summary> | /// </summary> | ||||
public bool AutoStart { get { return SystemHelper.GetInstance.IsAutoStart(); } set { SystemHelper.GetInstance.AutoStart(value); OnPropertyChanged(); } } | public bool AutoStart { get { return SystemHelper.GetInstance.IsAutoStart(); } set { SystemHelper.GetInstance.AutoStart(value); OnPropertyChanged(); } } | ||||
public RelayCommand<object> NavChangedCommand { get; set; } | |||||
public BPARelayCommand<object> NavChangedCommand { get; set; } | |||||
public FrameworkElement MainContent { get { return _mMainContent; } set { _mMainContent = value; OnPropertyChanged(); } } | public FrameworkElement MainContent { get { return _mMainContent; } set { _mMainContent = value; OnPropertyChanged(); } } | ||||
private FrameworkElement _mMainContent; | private FrameworkElement _mMainContent; | ||||
@@ -3,18 +3,18 @@ using System.Collections.Generic; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using BPASmartClient.CustomResource.Pages.Enums; | using BPASmartClient.CustomResource.Pages.Enums; | ||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.Nfc; | using BPASmartClient.Nfc; | ||||
using System.Threading; | using System.Threading; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class NfcSetViewModel : ObservableObject | |||||
public class NfcSetViewModel : NotifyBase | |||||
{ | { | ||||
public NfcSetViewModel() | public NfcSetViewModel() | ||||
{ | { | ||||
@@ -25,7 +25,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
if (item != "管理员") permissions.Add(new PermissionSelect() { PermissionName = item }); | if (item != "管理员") permissions.Add(new PermissionSelect() { PermissionName = item }); | ||||
}); | }); | ||||
UserAddCommand = new RelayCommand(() => | |||||
UserAddCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
if (permissions?.FirstOrDefault(p => p.PermissionSelected == true) == null) | if (permissions?.FirstOrDefault(p => p.PermissionSelected == true) == null) | ||||
{ | { | ||||
@@ -85,7 +85,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
} | } | ||||
}); | }); | ||||
UserCancelCommand = new RelayCommand(() => | |||||
UserCancelCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
if (CardNum != null && CardNum != string.Empty) | if (CardNum != null && CardNum != string.Empty) | ||||
{ | { | ||||
@@ -151,17 +151,17 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
public string CheckPassword { get { return _checkPassword; } set { _checkPassword = value; OnPropertyChanged(); } } | public string CheckPassword { get { return _checkPassword; } set { _checkPassword = value; OnPropertyChanged(); } } | ||||
private string _checkPassword = "888888"; | private string _checkPassword = "888888"; | ||||
public RelayCommand SavePermission { get; set; } | |||||
public BPARelayCommand SavePermission { get; set; } | |||||
public RelayCommand DeletePermission { get; set; } | |||||
public BPARelayCommand DeletePermission { get; set; } | |||||
public RelayCommand UserAddCommand { get; set; } | |||||
public BPARelayCommand UserAddCommand { get; set; } | |||||
public RelayCommand UserCancelCommand { get; set; } | |||||
public BPARelayCommand UserCancelCommand { get; set; } | |||||
} | } | ||||
public class PermissionSelect : ObservableObject | |||||
public class PermissionSelect : NotifyBase | |||||
{ | { | ||||
public string PermissionName { get { return _mPermissionName; } set { _mPermissionName = value; OnPropertyChanged(); } } | public string PermissionName { get { return _mPermissionName; } set { _mPermissionName = value; OnPropertyChanged(); } } | ||||
@@ -4,14 +4,14 @@ using System.Linq; | |||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.Helper; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class PasswordChangeViewModel : ObservableObject | |||||
public class PasswordChangeViewModel : NotifyBase | |||||
{ | { | ||||
private void CheckPassword(UserInfo userInfo) | private void CheckPassword(UserInfo userInfo) | ||||
{ | { | ||||
@@ -40,7 +40,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
public PasswordChangeViewModel( ) | public PasswordChangeViewModel( ) | ||||
{ | { | ||||
LoginCommand = new RelayCommand(() => | |||||
LoginCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
if (Global.changeUserInfo == null) CheckPassword(Global.userInfo); | if (Global.changeUserInfo == null) CheckPassword(Global.userInfo); | ||||
else { CheckPassword(Global.changeUserInfo); } | else { CheckPassword(Global.changeUserInfo); } | ||||
@@ -48,16 +48,16 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
}); | }); | ||||
ExitCommand = new RelayCommand(() => | |||||
ExitCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("PasswordChangeViewCancel"); | ActionManage.GetInstance.Send("PasswordChangeViewCancel"); | ||||
Global.changeUserInfo = null; | Global.changeUserInfo = null; | ||||
}); | }); | ||||
} | } | ||||
public RelayCommand LoginCommand { get; set; } | |||||
public BPARelayCommand LoginCommand { get; set; } | |||||
public RelayCommand ExitCommand { get; set; } | |||||
public BPARelayCommand ExitCommand { get; set; } | |||||
@@ -1,4 +1,4 @@ | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -7,7 +7,7 @@ using System.Threading.Tasks; | |||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class PermissionConfigurationViewModel:ObservableObject | |||||
public class PermissionConfigurationViewModel:NotifyBase | |||||
{ | { | ||||
} | } | ||||
@@ -3,11 +3,11 @@ using System.Collections.Generic; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class ProductionDataViewModel : ObservableObject | |||||
public class ProductionDataViewModel : NotifyBase | |||||
{ | { | ||||
public ProductionDataViewModel() | public ProductionDataViewModel() | ||||
{ | { | ||||
@@ -3,21 +3,21 @@ using System.Collections.Generic; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using System.Windows; | using System.Windows; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class RecipeCompleteViewModel : ObservableObject | |||||
public class RecipeCompleteViewModel : NotifyBase | |||||
{ | { | ||||
public RecipeCompleteViewModel() | public RecipeCompleteViewModel() | ||||
{ | { | ||||
Sqlite<RecipeCompleteLog>.GetInstance.Save(); | Sqlite<RecipeCompleteLog>.GetInstance.Save(); | ||||
SwitchCommand = new RelayCommand(() => | |||||
SwitchCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
if (ButContent == "历史日志") | if (ButContent == "历史日志") | ||||
{ | { | ||||
@@ -41,7 +41,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
}); | }); | ||||
ControlCommand = new RelayCommand(() => | |||||
ControlCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
if (ControlButText == "报警复位") return; | if (ControlButText == "报警复位") return; | ||||
@@ -79,9 +79,9 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
} | } | ||||
} | } | ||||
public RelayCommand SwitchCommand { get; set; } | |||||
public BPARelayCommand SwitchCommand { get; set; } | |||||
public RelayCommand ControlCommand { get; set; } | |||||
public BPARelayCommand ControlCommand { get; set; } | |||||
public Visibility CurrentDataVis { get { return _mCurrentDataVis; } set { _mCurrentDataVis = value; OnPropertyChanged(); } } | public Visibility CurrentDataVis { get { return _mCurrentDataVis; } set { _mCurrentDataVis = value; OnPropertyChanged(); } } | ||||
private Visibility _mCurrentDataVis = Visibility.Visible; | private Visibility _mCurrentDataVis = Visibility.Visible; | ||||
@@ -3,10 +3,10 @@ using System.Collections.Generic; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using System.Diagnostics; | using System.Diagnostics; | ||||
using System.IO; | using System.IO; | ||||
@@ -17,7 +17,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
ReportHelper reportHelper = new ReportHelper(); | ReportHelper reportHelper = new ReportHelper(); | ||||
public ReportViewModel() | public ReportViewModel() | ||||
{ | { | ||||
AddCommand = new RelayCommand(() => | |||||
AddCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
for (int i = 0; i < 30; i++) | for (int i = 0; i < 30; i++) | ||||
{ | { | ||||
@@ -34,12 +34,12 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
//ReportData = reportHelper.Reports; | //ReportData = reportHelper.Reports; | ||||
}); | }); | ||||
SaveCommand = new RelayCommand(() => | |||||
SaveCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
reportHelper.Save($"aa.pry"); | reportHelper.Save($"aa.pry"); | ||||
}); | }); | ||||
ReadCommand = new RelayCommand(() => | |||||
ReadCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ReportData.Clear(); | ReportData.Clear(); | ||||
var res = reportHelper.GetData($"{AppDomain.CurrentDomain.BaseDirectory}AccessFile\\ProductionData\\aa.pry"); | var res = reportHelper.GetData($"{AppDomain.CurrentDomain.BaseDirectory}AccessFile\\ProductionData\\aa.pry"); | ||||
@@ -56,8 +56,8 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
public ObservableCollection<ReportBase> ReportData { get; set; } = new ObservableCollection<ReportBase>(); | public ObservableCollection<ReportBase> ReportData { get; set; } = new ObservableCollection<ReportBase>(); | ||||
public RelayCommand AddCommand { get; set; } | |||||
public RelayCommand SaveCommand { get; set; } | |||||
public RelayCommand ReadCommand { get; set; } | |||||
public BPARelayCommand AddCommand { get; set; } | |||||
public BPARelayCommand SaveCommand { get; set; } | |||||
public BPARelayCommand ReadCommand { get; set; } | |||||
} | } | ||||
} | } |
@@ -3,22 +3,22 @@ using System.Collections.Generic; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using System.Windows; | using System.Windows; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System.Diagnostics; | using System.Diagnostics; | ||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class RunLogViewModel : ObservableObject | |||||
public class RunLogViewModel : NotifyBase | |||||
{ | { | ||||
public RunLogViewModel() | public RunLogViewModel() | ||||
{ | { | ||||
Sqlite<RunLog>.GetInstance.Save(); | Sqlite<RunLog>.GetInstance.Save(); | ||||
SwitchCommand = new RelayCommand(() => | |||||
SwitchCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
if (ButContent == "历史日志") | if (ButContent == "历史日志") | ||||
{ | { | ||||
@@ -42,7 +42,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
}); | }); | ||||
ControlCommand = new RelayCommand(() => | |||||
ControlCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
if (ControlButText == "报警复位") return; | if (ControlButText == "报警复位") return; | ||||
@@ -88,9 +88,9 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
} | } | ||||
} | } | ||||
public RelayCommand SwitchCommand { get; set; } | |||||
public BPARelayCommand SwitchCommand { get; set; } | |||||
public RelayCommand ControlCommand { get; set; } | |||||
public BPARelayCommand ControlCommand { get; set; } | |||||
public Visibility CurrentDataVis { get { return _mCurrentDataVis; } set { _mCurrentDataVis = value; OnPropertyChanged(); } } | public Visibility CurrentDataVis { get { return _mCurrentDataVis; } set { _mCurrentDataVis = value; OnPropertyChanged(); } } | ||||
private Visibility _mCurrentDataVis = Visibility.Visible; | private Visibility _mCurrentDataVis = Visibility.Visible; | ||||
@@ -1,9 +1,9 @@ | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.CustomResource.Pages.View; | using BPASmartClient.CustomResource.Pages.View; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
@@ -14,7 +14,7 @@ using System.Windows; | |||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class UserConfigViewModel:ObservableObject | |||||
public class UserConfigViewModel:NotifyBase | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 页面列表集合 | /// 页面列表集合 | ||||
@@ -63,27 +63,27 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
public Visibility VisibilityDevice { get { return _visibilityDevice; } set { _visibilityDevice = value; OnPropertyChanged(); } } | public Visibility VisibilityDevice { get { return _visibilityDevice; } set { _visibilityDevice = value; OnPropertyChanged(); } } | ||||
private Visibility _visibilityDevice = Visibility.Collapsed; | private Visibility _visibilityDevice = Visibility.Collapsed; | ||||
public RelayCommand<object> AddUserPageCommand { get; set; } | |||||
public BPARelayCommand<object> AddUserPageCommand { get; set; } | |||||
public RelayCommand<object> DeleteUserPageCommand { get; set; } | |||||
public BPARelayCommand<object> DeleteUserPageCommand { get; set; } | |||||
public RelayCommand<object> DeleteAllCommand { get; set; } | |||||
public BPARelayCommand<object> DeleteAllCommand { get; set; } | |||||
public RelayCommand<object> AddAllCommand { get; set; } | |||||
public BPARelayCommand<object> AddAllCommand { get; set; } | |||||
public RelayCommand<object> ChangeMaterailPageCommand { get; set; } | |||||
public BPARelayCommand<object> ChangeMaterailPageCommand { get; set; } | |||||
public RelayCommand SaveCommand { get; set; } | |||||
public BPARelayCommand SaveCommand { get; set; } | |||||
public RelayCommand CancelCommand { get; set; } | |||||
public BPARelayCommand CancelCommand { get; set; } | |||||
public RelayCommand<object> AddLoaclMaterialCommand { get; set; } | |||||
public BPARelayCommand<object> AddLoaclMaterialCommand { get; set; } | |||||
public RelayCommand<object> DeleteLoaclMaterialCommand { get; set; } | |||||
public BPARelayCommand<object> DeleteLoaclMaterialCommand { get; set; } | |||||
public RelayCommand<object> AddDeviceMaterialCommand { get; set; } | |||||
public BPARelayCommand<object> AddDeviceMaterialCommand { get; set; } | |||||
public RelayCommand<object> DeleteDeviceMaterialCommand { get; set; } | |||||
public BPARelayCommand<object> DeleteDeviceMaterialCommand { get; set; } | |||||
private void AddUserPage(object o) | private void AddUserPage(object o) | ||||
@@ -228,19 +228,19 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
public UserConfigViewModel() | public UserConfigViewModel() | ||||
{ | { | ||||
AddUserPageCommand = new RelayCommand<object>(AddUserPage); | |||||
AddUserPageCommand = new BPARelayCommand<object>(AddUserPage); | |||||
DeleteUserPageCommand = new RelayCommand<object>(DeleteUserPage); | |||||
DeleteUserPageCommand = new BPARelayCommand<object>(DeleteUserPage); | |||||
DeleteAllCommand = new RelayCommand<object>(DeleteAll); | |||||
DeleteAllCommand = new BPARelayCommand<object>(DeleteAll); | |||||
AddAllCommand = new RelayCommand<object>(AddAll); | |||||
AddAllCommand = new BPARelayCommand<object>(AddAll); | |||||
ChangeMaterailPageCommand = new RelayCommand<object>(ChangeMaterailPage); | |||||
ChangeMaterailPageCommand = new BPARelayCommand<object>(ChangeMaterailPage); | |||||
SaveCommand = new RelayCommand(() => | |||||
SaveCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
var res = Global.userManager.userInfos.FirstOrDefault(p => p.UserName == Global.changeUserInfo.UserName && p.Password == Global.changeUserInfo.Password); | var res = Global.userManager.userInfos.FirstOrDefault(p => p.UserName == Global.changeUserInfo.UserName && p.Password == Global.changeUserInfo.Password); | ||||
if(res != null) | if(res != null) | ||||
@@ -257,19 +257,19 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
ActionManage.GetInstance.Send("UserConfigViewConfirm"); | ActionManage.GetInstance.Send("UserConfigViewConfirm"); | ||||
}); | }); | ||||
CancelCommand = new RelayCommand(() => | |||||
CancelCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
Global.changeUserInfo = null; | Global.changeUserInfo = null; | ||||
ActionManage.GetInstance.Send("UserConfigViewCancel"); | ActionManage.GetInstance.Send("UserConfigViewCancel"); | ||||
}); | }); | ||||
AddLoaclMaterialCommand = new RelayCommand<object>(AddLoaclMaterial); | |||||
AddLoaclMaterialCommand = new BPARelayCommand<object>(AddLoaclMaterial); | |||||
DeleteLoaclMaterialCommand = new RelayCommand<object>(DeleteLoaclMaterial); | |||||
DeleteLoaclMaterialCommand = new BPARelayCommand<object>(DeleteLoaclMaterial); | |||||
AddDeviceMaterialCommand = new RelayCommand<object>(AddDeviceMaterial); | |||||
AddDeviceMaterialCommand = new BPARelayCommand<object>(AddDeviceMaterial); | |||||
DeleteDeviceMaterialCommand = new RelayCommand<object>(DeleteDeviceMaterial); | |||||
DeleteDeviceMaterialCommand = new BPARelayCommand<object>(DeleteDeviceMaterial); | |||||
foreach (var item in MenuManage.GetInstance.menuModels) | foreach (var item in MenuManage.GetInstance.menuModels) | ||||
@@ -3,22 +3,22 @@ using System.Collections.Generic; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using System.Windows; | using System.Windows; | ||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class UserLogViewModel : ObservableObject | |||||
public class UserLogViewModel : NotifyBase | |||||
{ | { | ||||
public UserLogViewModel() | public UserLogViewModel() | ||||
{ | { | ||||
Sqlite<UserLog>.GetInstance.Save(); | Sqlite<UserLog>.GetInstance.Save(); | ||||
UserLogs = MessageNotify.GetInstance.userLogs; | UserLogs = MessageNotify.GetInstance.userLogs; | ||||
SwitchCommand = new RelayCommand(() => | |||||
SwitchCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
if (ButContent == "历史日志") | if (ButContent == "历史日志") | ||||
{ | { | ||||
@@ -42,7 +42,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
}); | }); | ||||
ControlCommand = new RelayCommand(() => | |||||
ControlCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
if (ControlButText == "报警复位") return; | if (ControlButText == "报警复位") return; | ||||
if (ControlButText == "开始查询") | if (ControlButText == "开始查询") | ||||
@@ -81,9 +81,9 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
} | } | ||||
} | } | ||||
public RelayCommand SwitchCommand { get; set; } | |||||
public BPARelayCommand SwitchCommand { get; set; } | |||||
public RelayCommand ControlCommand { get; set; } | |||||
public BPARelayCommand ControlCommand { get; set; } | |||||
public Visibility CurrentDataVis { get { return _mCurrentDataVis; } set { _mCurrentDataVis = value; OnPropertyChanged(); } } | public Visibility CurrentDataVis { get { return _mCurrentDataVis; } set { _mCurrentDataVis = value; OnPropertyChanged(); } } | ||||
private Visibility _mCurrentDataVis = Visibility.Visible; | private Visibility _mCurrentDataVis = Visibility.Visible; | ||||
@@ -1,8 +1,8 @@ | |||||
using BPA.Message; | using BPA.Message; | ||||
using BPASmartClient.CustomResource.Pages.Enums; | using BPASmartClient.CustomResource.Pages.Enums; | ||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using Newtonsoft.Json; | using Newtonsoft.Json; | ||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -15,7 +15,7 @@ using System.Windows; | |||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
internal class UserManageViewModel:ObservableObject | |||||
internal class UserManageViewModel:NotifyBase | |||||
{ | { | ||||
//private static UserManageViewModel _instance; | //private static UserManageViewModel _instance; | ||||
//public static UserManageViewModel GetInstance => _instance ??= new UserManageViewModel(); | //public static UserManageViewModel GetInstance => _instance ??= new UserManageViewModel(); | ||||
@@ -23,19 +23,19 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
//public List<Permission> Authorities { get; set; } = new List<Permission>() { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 }; | //public List<Permission> Authorities { get; set; } = new List<Permission>() { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 }; | ||||
public List<string> Authorities { get; set; } = new List<string>(); | public List<string> Authorities { get; set; } = new List<string>(); | ||||
public RelayCommand<string> SaveCommand { get; set; } | |||||
public RelayCommand<string> DeleteCommand { get; set; } | |||||
public BPARelayCommand<string> SaveCommand { get; set; } | |||||
public BPARelayCommand<string> DeleteCommand { get; set; } | |||||
public RelayCommand AddUserInfoCommand { get; set; } | |||||
public BPARelayCommand AddUserInfoCommand { get; set; } | |||||
public RelayCommand SaveDataCommand { get; set; } | |||||
public BPARelayCommand SaveDataCommand { get; set; } | |||||
public UserManageViewModel() | public UserManageViewModel() | ||||
{ | { | ||||
var userManager = JsonConvert.DeserializeObject<UserManager>(File.ReadAllText("up.hbl").AESDecrypt()); | var userManager = JsonConvert.DeserializeObject<UserManager>(File.ReadAllText("up.hbl").AESDecrypt()); | ||||
usersInfo = userManager.userInfos; | usersInfo = userManager.userInfos; | ||||
AddAuthorities(); | AddAuthorities(); | ||||
SaveCommand = new RelayCommand<string>((str) => | |||||
SaveCommand = new BPARelayCommand<string>((str) => | |||||
{ | { | ||||
if (str != string.Empty && str != null) | if (str != string.Empty && str != null) | ||||
{ | { | ||||
@@ -62,7 +62,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
MessageBox.Show("保存失败,用户名为空或输入后未回车确认", "提示", MessageBoxButton.OK, MessageBoxImage.Warning); | MessageBox.Show("保存失败,用户名为空或输入后未回车确认", "提示", MessageBoxButton.OK, MessageBoxImage.Warning); | ||||
} | } | ||||
}); | }); | ||||
DeleteCommand = new RelayCommand<string>((str) => | |||||
DeleteCommand = new BPARelayCommand<string>((str) => | |||||
{ | { | ||||
if (str != string.Empty && str != null) | if (str != string.Empty && str != null) | ||||
{ | { | ||||
@@ -89,13 +89,13 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
}); | }); | ||||
AddUserInfoCommand = new RelayCommand( ()=> | |||||
AddUserInfoCommand = new BPARelayCommand( ()=> | |||||
{ | { | ||||
usersInfo.Add(new UserInfo() { Id=IdProcess()}); | usersInfo.Add(new UserInfo() { Id=IdProcess()}); | ||||
}); | }); | ||||
SaveDataCommand = new RelayCommand(() => | |||||
SaveDataCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
Global.userManager.userInfos = usersInfo; | Global.userManager.userInfos = usersInfo; | ||||
File.WriteAllText("up.hbl", JsonConvert.SerializeObject(Global.userManager).AESEncrypt()); | File.WriteAllText("up.hbl", JsonConvert.SerializeObject(Global.userManager).AESEncrypt()); | ||||
@@ -1,6 +1,6 @@ | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.CustomResource.Pages.View; | using BPASmartClient.CustomResource.Pages.View; | ||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
@@ -15,20 +15,20 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
/// <summary> | /// <summary> | ||||
/// datagrid绑定 | /// datagrid绑定 | ||||
/// </summary> | /// </summary> | ||||
public ObservableCollection<UserInfo> userManager { get; set; } = Global.userManager.userInfos; | |||||
public ObservableCollection<UserInfo> userManager { get; set; } = Global.userManager.userInfos; | |||||
public RelayCommand<object> ChangePasswardCommand { get; set; } | |||||
public RelayCommand AddNewUserCommand { get; set; } | |||||
public BPARelayCommand<object> ChangePasswardCommand { get; set; } | |||||
public RelayCommand<object> DeleteUserCommand { get; set; } | |||||
public BPARelayCommand AddNewUserCommand { get; set; } | |||||
public RelayCommand<object> EditUserConfigCommand { get; set; } | |||||
public BPARelayCommand<object> DeleteUserCommand { get; set; } | |||||
public BPARelayCommand<object> EditUserConfigCommand { get; set; } | |||||
private void ChangePassward(object o) | private void ChangePassward(object o) | ||||
{ | { | ||||
if (o != null && o is UserInfo infos) | |||||
if (o != null && o is UserInfo infos) | |||||
{ | { | ||||
Global.changeUserInfo = infos; | Global.changeUserInfo = infos; | ||||
PasswordChangeView passwordChangeView = new PasswordChangeView(); | PasswordChangeView passwordChangeView = new PasswordChangeView(); | ||||
@@ -55,22 +55,22 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
UserConfigView userConfigView = new UserConfigView(); | UserConfigView userConfigView = new UserConfigView(); | ||||
userConfigView.ShowDialog(); | userConfigView.ShowDialog(); | ||||
} | } | ||||
} | } | ||||
public UserManagerViewModel() | public UserManagerViewModel() | ||||
{ | { | ||||
ChangePasswardCommand = new RelayCommand<object>(ChangePassward); | |||||
ChangePasswardCommand = new BPARelayCommand<object>(ChangePassward); | |||||
AddNewUserCommand = new RelayCommand(() => | |||||
AddNewUserCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
AddNewUser addNewUser = new AddNewUser(); | AddNewUser addNewUser = new AddNewUser(); | ||||
addNewUser.ShowDialog(); | addNewUser.ShowDialog(); | ||||
}); | }); | ||||
DeleteUserCommand = new RelayCommand<object>(DeleteUser); | |||||
DeleteUserCommand = new BPARelayCommand<object>(DeleteUser); | |||||
EditUserConfigCommand = new RelayCommand<object>(EditUserConfig); | |||||
EditUserConfigCommand = new BPARelayCommand<object>(EditUserConfig); | |||||
} | } | ||||
} | } | ||||
@@ -1,9 +1,9 @@ | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.CustomResource.UserControls; | using BPASmartClient.CustomResource.UserControls; | ||||
using BPASmartClient.CustomResource.UserControls.MessageShow; | using BPASmartClient.CustomResource.UserControls.MessageShow; | ||||
using BPASmartClient.Helper; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
@@ -14,7 +14,7 @@ using System.Windows; | |||||
namespace BPASmartClient.CustomResource.Pages.ViewModel | namespace BPASmartClient.CustomResource.Pages.ViewModel | ||||
{ | { | ||||
public class VariableViewModel : ObservableObject | |||||
public class VariableViewModel : NotifyBase | |||||
{ | { | ||||
public ObservableCollection<PlcVariableInfoModel> Variables { get; set; } = new ObservableCollection<PlcVariableInfoModel>(); | public ObservableCollection<PlcVariableInfoModel> Variables { get; set; } = new ObservableCollection<PlcVariableInfoModel>(); | ||||
@@ -25,7 +25,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
public ObservableCollection<PlcVariableInfoModel> FryFiveVariables { get; set; } = new ObservableCollection<PlcVariableInfoModel>(); | public ObservableCollection<PlcVariableInfoModel> FryFiveVariables { get; set; } = new ObservableCollection<PlcVariableInfoModel>(); | ||||
public List<string> DeviceName { get; set; } = new List<string> { "滚筒输送线", "炒锅1", "炒锅2", "炒锅3", "炒锅4", "炒锅5" }; | public List<string> DeviceName { get; set; } = new List<string> { "滚筒输送线", "炒锅1", "炒锅2", "炒锅3", "炒锅4", "炒锅5" }; | ||||
public RelayCommand SaveDataCommand { get; set; } | |||||
public BPARelayCommand SaveDataCommand { get; set; } | |||||
public VariableViewModel() | public VariableViewModel() | ||||
{ | { | ||||
@@ -48,7 +48,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
} | } | ||||
SaveDataCommand = new RelayCommand(() => | |||||
SaveDataCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
Json<PlcVariableInfoManage>.Data.VariablesInfo["滚筒输送线"] = Variables; | Json<PlcVariableInfoManage>.Data.VariablesInfo["滚筒输送线"] = Variables; | ||||
Json<PlcVariableInfoManage>.Data.VariablesInfo["炒锅1"] = FryOneVariables; | Json<PlcVariableInfoManage>.Data.VariablesInfo["炒锅1"] = FryOneVariables; | ||||
@@ -1,7 +1,6 @@ | |||||
using BPASmartClient.DRCoffee; | using BPASmartClient.DRCoffee; | ||||
using BPASmartClient.EventBus; | |||||
using BPASmartClient.Helper; | |||||
using BPASmartClient.Message; | |||||
using BPA.Helper; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using BPASmartClient.Model.咖啡机.Enum; | using BPASmartClient.Model.咖啡机.Enum; | ||||
using BPASmartClient.Peripheral; | using BPASmartClient.Peripheral; | ||||
@@ -9,7 +8,7 @@ using BPASmartClient.SerialPort; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Threading; | using System.Threading; | ||||
using static BPASmartClient.EventBus.EventBus; | |||||
using static BPA.Helper.EventBus; | |||||
namespace BPASmartClient.DRCoffee | namespace BPASmartClient.DRCoffee | ||||
{ | { | ||||
@@ -88,7 +87,7 @@ namespace BPASmartClient.DRCoffee | |||||
/// </summary> | /// </summary> | ||||
private void MainLoop() | private void MainLoop() | ||||
{ | { | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
if (!free) | if (!free) | ||||
{ | { | ||||
@@ -97,7 +96,7 @@ namespace BPASmartClient.DRCoffee | |||||
Thread.Sleep(200); | Thread.Sleep(200); | ||||
}), "咖啡机询问线程"); | }), "咖啡机询问线程"); | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
List<byte> temp = new List<byte>(); | List<byte> temp = new List<byte>(); | ||||
//一系列解包 | //一系列解包 | ||||
@@ -147,7 +146,7 @@ namespace BPASmartClient.DRCoffee | |||||
if (((DrCoffeeStatus)status["CoffeeStatus"]) == DrCoffeeStatus.Running && package.Status != DrCoffeeStatus.Running) | if (((DrCoffeeStatus)status["CoffeeStatus"]) == DrCoffeeStatus.Running && package.Status != DrCoffeeStatus.Running) | ||||
{ | { | ||||
status["CoffeeStatus"] = package.Status; | status["CoffeeStatus"] = package.Status; | ||||
EventBus.EventBus.GetInstance().Publish(new DRCoffee_CoffeEndCookEvent() { DeviceId = DeviceId }); | |||||
EventBus.GetInstance().Publish(new DRCoffee_CoffeEndCookEvent() { DeviceId = DeviceId }); | |||||
} | } | ||||
else status["CoffeeStatus"] = package.Status; | else status["CoffeeStatus"] = package.Status; | ||||
status["CoffeeAppStatus"] = package.ApplicationStatus; | status["CoffeeAppStatus"] = package.ApplicationStatus; | ||||
@@ -180,27 +179,27 @@ namespace BPASmartClient.DRCoffee | |||||
commProxy.SetDataStorage(dataStorage); | commProxy.SetDataStorage(dataStorage); | ||||
//咖博士咖啡机制作 | //咖博士咖啡机制作 | ||||
EventBus.EventBus.GetInstance().Subscribe<DRCoffee_MakeCoffeeEvent>(DeviceId, delegate (IEvent @event, EventCallBackHandle callBack) | |||||
{ | |||||
try | |||||
{ | |||||
free = true; | |||||
Thread.Sleep(200); | |||||
drinksOrder.CommCmd = DrCoffeeCommCmd.饮品制作指令; | |||||
drinksOrder.DrinksCode = ((DRCoffee_MakeCoffeeEvent)@event).DrinkCode; | |||||
commProxy.SendData(DrCoffee.Packe(drinksOrder)); | |||||
Thread.Sleep(200); | |||||
free = false; | |||||
MessageLog.GetInstance.Show($"咖啡机: 制作咖啡指令"); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
MessageLog.GetInstance.ShowEx($"BPASmartClient.DRCoffee 中引发错误,CoffeeMachine 类,描述:[{ex.Message}]"); | |||||
} | |||||
}); | |||||
EventBus.GetInstance().Subscribe<DRCoffee_MakeCoffeeEvent>(DeviceId, delegate (IEvent @event, EventCallBackHandle callBack) | |||||
{ | |||||
try | |||||
{ | |||||
free = true; | |||||
Thread.Sleep(200); | |||||
drinksOrder.CommCmd = DrCoffeeCommCmd.饮品制作指令; | |||||
drinksOrder.DrinksCode = ((DRCoffee_MakeCoffeeEvent)@event).DrinkCode; | |||||
commProxy.SendData(DrCoffee.Packe(drinksOrder)); | |||||
Thread.Sleep(200); | |||||
free = false; | |||||
MessageLog.GetInstance.Show($"咖啡机: 制作咖啡指令"); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
MessageLog.GetInstance.ShowEx($"BPASmartClient.DRCoffee 中引发错误,CoffeeMachine 类,描述:[{ex.Message}]"); | |||||
} | |||||
}); | |||||
//咖博士咖啡机取消制作咖啡 | //咖博士咖啡机取消制作咖啡 | ||||
EventBus.EventBus.GetInstance().Subscribe<DRCoffee_CancelMakeCoffeeEvent>(DeviceId, delegate (IEvent @event, EventCallBackHandle callBack) | |||||
EventBus.GetInstance().Subscribe<DRCoffee_CancelMakeCoffeeEvent>(DeviceId, delegate (IEvent @event, EventCallBackHandle callBack) | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
@@ -220,23 +219,23 @@ namespace BPASmartClient.DRCoffee | |||||
}); | }); | ||||
//咖博士咖啡机模式设置 | //咖博士咖啡机模式设置 | ||||
EventBus.EventBus.GetInstance().Subscribe<DRCoffee_CoffeeCommCmdEvent>(DeviceId, delegate (IEvent @event, EventCallBackHandle callBack) | |||||
{ | |||||
try | |||||
{ | |||||
free = true; | |||||
Thread.Sleep(200); | |||||
drinksOrder.CommCmd = ((DRCoffee_CoffeeCommCmdEvent)@event).CommCmd; | |||||
commProxy.SendData(DrCoffee.Packe(drinksOrder)); | |||||
Thread.Sleep(200); | |||||
free = false; | |||||
MessageLog.GetInstance.Show($"咖啡机: 咖啡模式设置指令"); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
MessageLog.GetInstance.ShowEx($"BPASmartClient.DRCoffee 中引发错误,CoffeeMachine 类,描述:[{ex.Message}]"); | |||||
} | |||||
}); | |||||
EventBus.GetInstance().Subscribe<DRCoffee_CoffeeCommCmdEvent>(DeviceId, delegate (IEvent @event, EventCallBackHandle callBack) | |||||
{ | |||||
try | |||||
{ | |||||
free = true; | |||||
Thread.Sleep(200); | |||||
drinksOrder.CommCmd = ((DRCoffee_CoffeeCommCmdEvent)@event).CommCmd; | |||||
commProxy.SendData(DrCoffee.Packe(drinksOrder)); | |||||
Thread.Sleep(200); | |||||
free = false; | |||||
MessageLog.GetInstance.Show($"咖啡机: 咖啡模式设置指令"); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
MessageLog.GetInstance.ShowEx($"BPASmartClient.DRCoffee 中引发错误,CoffeeMachine 类,描述:[{ex.Message}]"); | |||||
} | |||||
}); | |||||
InitStatus(); | InitStatus(); | ||||
//测试 | //测试 | ||||
Start(); | Start(); | ||||
@@ -1,5 +1,6 @@ | |||||
| | ||||
using BPASmartClient.EventBus; | |||||
using BPA.Helper; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using BPASmartClient.Model.咖啡机.Enum; | using BPASmartClient.Model.咖啡机.Enum; | ||||
using BPASmartClient.SerialPort; | using BPASmartClient.SerialPort; | ||||
@@ -9,10 +10,10 @@ using System.Linq; | |||||
using System.Text; | using System.Text; | ||||
using System.Threading; | using System.Threading; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using static BPASmartClient.EventBus.EventBus; | |||||
using static BPA.Helper.EventBus; | |||||
namespace BPASmartClient.DRCoffee | |||||
{ | |||||
namespace BPASmartClient.DRCoffee | |||||
{ | |||||
/// <summary> | /// <summary> | ||||
/// 指令封装 | /// 指令封装 | ||||
/// </summary> | /// </summary> | ||||
@@ -35,9 +36,9 @@ namespace BPASmartClient.DRCoffee | |||||
cmdAsk = DrCoffee.Packe(package); | cmdAsk = DrCoffee.Packe(package); | ||||
drinksOrder.CommCmd = DrCoffeeCommCmd.饮品制作指令; | drinksOrder.CommCmd = DrCoffeeCommCmd.饮品制作指令; | ||||
EventBus.EventBus.GetInstance().Subscribe<DRCoffee_MakeCoffeeEvent>(0,MakeCoffeeEventHandle); | |||||
EventBus.EventBus.GetInstance().Subscribe<DRCoffee_CancelMakeCoffeeEvent>(0, CancelMakeCoffeeEventHandle); | |||||
EventBus.EventBus.GetInstance().Subscribe<DRCoffee_CoffeeCommCmdEvent>(0, CoffeeCommCmdEventHandle); | |||||
EventBus.GetInstance().Subscribe<DRCoffee_MakeCoffeeEvent>(0, MakeCoffeeEventHandle); | |||||
EventBus.GetInstance().Subscribe<DRCoffee_CancelMakeCoffeeEvent>(0, CancelMakeCoffeeEventHandle); | |||||
EventBus.GetInstance().Subscribe<DRCoffee_CoffeeCommCmdEvent>(0, CoffeeCommCmdEventHandle); | |||||
} | } | ||||
@@ -1,6 +1,6 @@ | |||||
using BPASmartClient.DRCoffee; | using BPASmartClient.DRCoffee; | ||||
using BPASmartClient.EventBus; | |||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -1,5 +1,4 @@ | |||||
using BPASmartClient.Helper; | |||||
using BPASmartClient.Message; | |||||
using BPA.Helper; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using System; | using System; | ||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
@@ -12,8 +11,8 @@ namespace BPASmartClient.Device | |||||
{ | { | ||||
public class AlarmHelper | public class AlarmHelper | ||||
{ | { | ||||
public List<Alarm> Alarms { get; set; } = new List<Alarm>(); | |||||
public List<Alarm> HistoryAlarms { get; set; } = new List<Alarm>(); | |||||
public List<BPASmartClient.Model.Alarm> Alarms { get; set; } = new(); | |||||
public List<BPASmartClient.Model.Alarm> HistoryAlarms { get; set; } = new(); | |||||
ConcurrentDictionary<string, bool> flagbit = new ConcurrentDictionary<string, bool>(); | ConcurrentDictionary<string, bool> flagbit = new ConcurrentDictionary<string, bool>(); | ||||
ConcurrentDictionary<string, Delay> delays = new ConcurrentDictionary<string, Delay>(); | ConcurrentDictionary<string, Delay> delays = new ConcurrentDictionary<string, Delay>(); | ||||
public Action<string> AddAction { get; set; } | public Action<string> AddAction { get; set; } | ||||
@@ -55,7 +54,7 @@ namespace BPASmartClient.Device | |||||
/// <param name="AlarmInfo">报警信息</param> | /// <param name="AlarmInfo">报警信息</param> | ||||
private void AddAlarm(object value, string AlarmInfo, AlarmLevel alarmLevel) | private void AddAlarm(object value, string AlarmInfo, AlarmLevel alarmLevel) | ||||
{ | { | ||||
Alarm tempAlarm = new Alarm() | |||||
BPASmartClient.Model.Alarm tempAlarm = new BPASmartClient.Model.Alarm() | |||||
{ | { | ||||
NumId = Alarms.Count + 1, | NumId = Alarms.Count + 1, | ||||
Date = DateTime.Now.ToString("yyyy/MM/dd"), | Date = DateTime.Now.ToString("yyyy/MM/dd"), | ||||
@@ -65,8 +64,8 @@ namespace BPASmartClient.Device | |||||
Time = DateTime.Now.ToString("HH:mm:ss"), | Time = DateTime.Now.ToString("HH:mm:ss"), | ||||
}; | }; | ||||
var res = Sqlite<Alarm>.GetInstance.Base.Add(tempAlarm); | |||||
Sqlite<Alarm>.GetInstance.Save(); | |||||
var res = Sqlite<BPASmartClient.Model.Alarm>.GetInstance.Base.Add(tempAlarm); | |||||
Sqlite<BPASmartClient.Model.Alarm>.GetInstance.Save(); | |||||
if (Alarms.FirstOrDefault(p => p.Info == AlarmInfo) == null) | if (Alarms.FirstOrDefault(p => p.Info == AlarmInfo) == null) | ||||
{ | { | ||||
@@ -12,7 +12,6 @@ | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\BPASmartClient.Helper\BPASmartClient.Helper.csproj" /> | |||||
<ProjectReference Include="..\BPASmartClient.Model\BPASmartClient.Model.csproj" /> | <ProjectReference Include="..\BPASmartClient.Model\BPASmartClient.Model.csproj" /> | ||||
<ProjectReference Include="..\BPASmartClient.Peripheral\BPASmartClient.Peripheral.csproj" /> | <ProjectReference Include="..\BPASmartClient.Peripheral\BPASmartClient.Peripheral.csproj" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -1,7 +1,5 @@ | |||||
using BPA.Message; | using BPA.Message; | ||||
using BPA.Message.Enum; | using BPA.Message.Enum; | ||||
using BPASmartClient.Helper; | |||||
using BPASmartClient.Message; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using BPASmartClient.Peripheral; | using BPASmartClient.Peripheral; | ||||
using System; | using System; | ||||
@@ -14,8 +12,8 @@ using System.Threading; | |||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using BPASmartClient.Model.单片机; | using BPASmartClient.Model.单片机; | ||||
using BPASmartClient.EventBus; | |||||
using BPA.Models; | using BPA.Models; | ||||
using BPA.Helper; | |||||
namespace BPASmartClient.Device | namespace BPASmartClient.Device | ||||
{ | { | ||||
@@ -118,7 +116,7 @@ namespace BPASmartClient.Device | |||||
public Action<int, object> AddErrorAction { get; set; } | public Action<int, object> AddErrorAction { get; set; } | ||||
public Action<int, object> DeleteErrorAction { get; set; } | public Action<int, object> DeleteErrorAction { get; set; } | ||||
public List<Alarm> alarms { get; set; } = new List<Alarm>(); | |||||
public List<BPASmartClient.Model.Alarm> alarms { get; set; } = new List<BPASmartClient.Model.Alarm>(); | |||||
public IAlarm InterfaceAlarm { get; set; } | public IAlarm InterfaceAlarm { get; set; } | ||||
public AlarmHelper alarmHelper { get; set; } = new AlarmHelper(); | public AlarmHelper alarmHelper { get; set; } = new AlarmHelper(); | ||||
public IStatus InterfaceStatus { get; set; } | public IStatus InterfaceStatus { get; set; } | ||||
@@ -164,7 +162,7 @@ namespace BPASmartClient.Device | |||||
/// <param name="info"></param> | /// <param name="info"></param> | ||||
public void DeviceProcessLogShow(string info) | public void DeviceProcessLogShow(string info) | ||||
{ | { | ||||
Log.Insert(0, new { Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Type = "流程", Text = info }); | |||||
Log.Insert(0, new { Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), Type = "流程", Text = info }); | |||||
MessageLog.GetInstance.DeviceProcessLogShow(DeviceId.ToString(), info); | MessageLog.GetInstance.DeviceProcessLogShow(DeviceId.ToString(), info); | ||||
if (Log.Count > 100) { Log.RemoveAt(Log.Count - 1); } | if (Log.Count > 100) { Log.RemoveAt(Log.Count - 1); } | ||||
} | } | ||||
@@ -186,7 +184,7 @@ namespace BPASmartClient.Device | |||||
public virtual void StartMain() | public virtual void StartMain() | ||||
{ | { | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
int i = 0; | int i = 0; | ||||
foreach (var peripheral in peripherals) | foreach (var peripheral in peripherals) | ||||
@@ -316,7 +314,7 @@ namespace BPASmartClient.Device | |||||
DeleteErrorAction?.Invoke(DeviceId, res); | DeleteErrorAction?.Invoke(DeviceId, res); | ||||
} | } | ||||
}); | }); | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
AlarmMonitoring(); | AlarmMonitoring(); | ||||
Thread.Sleep(500); | Thread.Sleep(500); | ||||
@@ -352,15 +350,15 @@ namespace BPASmartClient.Device | |||||
private void InitResetTask() | private void InitResetTask() | ||||
{ | { | ||||
#region 复位程序 | #region 复位程序 | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
if (RTrig.GetInstance($"ResetProgram:{DeviceId}").Start(Initing)) | if (RTrig.GetInstance($"ResetProgram:{DeviceId}").Start(Initing)) | ||||
{ | { | ||||
ThreadManage.GetInstance().StopTask($"MainTask:{DeviceId}", new Action(() => | |||||
TaskManage.GetInstance.StopTask($"MainTask:{DeviceId}", new Action(() => | |||||
{ | { | ||||
ThreadManage.GetInstance().StopTask($"ReadData:{DeviceId}", new Action(() => | |||||
TaskManage.GetInstance.StopTask($"ReadData:{DeviceId}", new Action(() => | |||||
{ | { | ||||
ThreadManage.GetInstance().StopTask($"GvlStatusMonitor:{DeviceId}", new Action(() => | |||||
TaskManage.GetInstance.StopTask($"GvlStatusMonitor:{DeviceId}", new Action(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("ClearOrders"); | ActionManage.GetInstance.Send("ClearOrders"); | ||||
ResetProgram(); | ResetProgram(); | ||||
@@ -378,7 +376,7 @@ namespace BPASmartClient.Device | |||||
private void InitTask() | private void InitTask() | ||||
{ | { | ||||
#region 数据读取 | #region 数据读取 | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
ReadData(); | ReadData(); | ||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
@@ -386,7 +384,7 @@ namespace BPASmartClient.Device | |||||
#endregion | #endregion | ||||
#region 任务流程 | #region 任务流程 | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
MainTask(); | MainTask(); | ||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
@@ -394,7 +392,7 @@ namespace BPASmartClient.Device | |||||
#endregion | #endregion | ||||
#region 设备状态监控 | #region 设备状态监控 | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
UpdateValue(InterfaceStatus); | UpdateValue(InterfaceStatus); | ||||
Thread.Sleep(1000); | Thread.Sleep(1000); | ||||
@@ -67,7 +67,7 @@ namespace BPASmartClient.Device | |||||
/// <summary> | /// <summary> | ||||
/// 设备报警信息集合 | /// 设备报警信息集合 | ||||
/// </summary> | /// </summary> | ||||
List<Alarm> alarms { get; set; } | |||||
List<BPASmartClient.Model.Alarm> alarms { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 接口报警对象 | /// 接口报警对象 | ||||
@@ -3,11 +3,11 @@ using System.Collections.Generic; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.Device | namespace BPASmartClient.Device | ||||
{ | { | ||||
public class VariableMonitor : ObservableObject | |||||
public class VariableMonitor : NotifyBase | |||||
{ | { | ||||
public int Id { get { return _mId; } set { _mId = value; OnPropertyChanged(); } } | public int Id { get { return _mId; } set { _mId = value; OnPropertyChanged(); } } | ||||
private int _mId; | private int _mId; | ||||
@@ -28,7 +28,12 @@ namespace BPASmartClient.Device | |||||
if (address.Length > 0) | if (address.Length > 0) | ||||
{ | { | ||||
address = address.Trim(); | address = address.Trim(); | ||||
if (address.ToUpper().Contains("M") && address.Length >= 4) | |||||
if (address.ToUpper().Contains("GM") && address.Length >= 3) | |||||
{ | |||||
var res = address.Remove(0, 2); | |||||
if (res != null && res.Length > 0) return (int.Parse(res) + 4096).ToString(); | |||||
} | |||||
else if (address.ToUpper().Contains("M") && address.Length >= 4) | |||||
{ | { | ||||
var res = address.Substring(1).Split('.'); | var res = address.Substring(1).Split('.'); | ||||
if (res != null && res.Length == 2) | if (res != null && res.Length == 2) | ||||
@@ -42,6 +47,19 @@ namespace BPASmartClient.Device | |||||
} | } | ||||
} | } | ||||
} | } | ||||
else if (address.ToUpper().Contains("GI") && address.Length >= 3) | |||||
{ | |||||
var res = address.Remove(0, 2); | |||||
if (res != null && res.Length > 0) return res; | |||||
} | |||||
else if (address.ToUpper().Contains("LB") && address.Length >= 3) | |||||
{ | |||||
var res = address.Substring(2); | |||||
if (res != null && res.Length > 0) | |||||
{ | |||||
if (int.TryParse(res, out int firstAddress)) return firstAddress.ToString(); | |||||
} | |||||
} | |||||
else if ((address.ToUpper().Contains("VW") || address.ToUpper().Contains("VD")) && address.Length >= 3) | else if ((address.ToUpper().Contains("VW") || address.ToUpper().Contains("VD")) && address.Length >= 3) | ||||
{ | { | ||||
var res = address.Substring(2); | var res = address.Substring(2); | ||||
@@ -50,8 +68,44 @@ namespace BPASmartClient.Device | |||||
return ((tempAddress / 2) + 100).ToString(); | return ((tempAddress / 2) + 100).ToString(); | ||||
} | } | ||||
} | } | ||||
else if (address.ToUpper().Contains("LW") && address.Length >= 3) | |||||
{ | |||||
var res = address.Substring(2); | |||||
if (res != null && int.TryParse(res, out int LwAddress)) | |||||
{ | |||||
return LwAddress.ToString(); | |||||
} | |||||
} | |||||
} | } | ||||
return ""; | return ""; | ||||
//if (address == null) return ""; | |||||
//if (address.Length > 0) | |||||
//{ | |||||
// address = address.Trim(); | |||||
// if (address.ToUpper().Contains("M") && address.Length >= 4) | |||||
// { | |||||
// var res = address.Substring(1).Split('.'); | |||||
// if (res != null && res.Length == 2) | |||||
// { | |||||
// if (int.TryParse(res[0], out int firstAddress) && int.TryParse(res[1], out int ExitAddress)) | |||||
// { | |||||
// if (ExitAddress >= 0 && ExitAddress <= 7) | |||||
// { | |||||
// return ((firstAddress * 8) + 320 + ExitAddress).ToString(); | |||||
// } | |||||
// } | |||||
// } | |||||
// } | |||||
// else if ((address.ToUpper().Contains("VW") || address.ToUpper().Contains("VD")) && address.Length >= 3) | |||||
// { | |||||
// var res = address.Substring(2); | |||||
// if (res != null && int.TryParse(res, out int tempAddress)) | |||||
// { | |||||
// return ((tempAddress / 2) + 100).ToString(); | |||||
// } | |||||
// } | |||||
//} | |||||
//return ""; | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -35,10 +35,10 @@ namespace BPASmartClient.DosingSystemSingle | |||||
Environment.Exit(0); | Environment.Exit(0); | ||||
} | } | ||||
base.OnStartup(e); | base.OnStartup(e); | ||||
BPASmartClient.Helper.SystemHelper.GetInstance.CreateDesktopShortcut(); | |||||
SystemHelper.GetInstance.CreateDesktopShortcut(); | |||||
MenuInit(); | MenuInit(); | ||||
DataInit(); | DataInit(); | ||||
ThreadManage.GetInstance().Start(new Action(() => | |||||
TaskManage.GetInstance.Start(new Action(() => | |||||
{ | { | ||||
DeviceInquire.GetInstance.Init();//配料机设备上线监听,设备列表初始化 | DeviceInquire.GetInstance.Init();//配料机设备上线监听,设备列表初始化 | ||||
}), "设备初始化"); | }), "设备初始化"); | ||||
@@ -62,7 +62,7 @@ namespace BPASmartClient.DosingSystemSingle | |||||
Json<LocaPar>.Save(); | Json<LocaPar>.Save(); | ||||
Json<DevicePar>.Save(); | Json<DevicePar>.Save(); | ||||
BPASmartClient.CustomResource.Pages.Model.MessageNotify.GetInstance.LogSave(); | BPASmartClient.CustomResource.Pages.Model.MessageNotify.GetInstance.LogSave(); | ||||
ThreadManage.GetInstance().Dispose(); | |||||
TaskManage.GetInstance.Dispose(); | |||||
} | } | ||||
private void MenuInit() | private void MenuInit() | ||||
@@ -16,7 +16,7 @@ | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.Helper" Version="1.0.54" /> | |||||
<PackageReference Include="BPA.Helper" Version="1.0.73" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.86" /> | <PackageReference Include="BPA.Message" Version="1.0.86" /> | ||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> | <PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -32,7 +32,7 @@ namespace BPASmartClient.DosingSystemSingle | |||||
public ObservableCollection<Devices> devices { get; set; } = new ObservableCollection<Devices>(); | public ObservableCollection<Devices> devices { get; set; } = new ObservableCollection<Devices>(); | ||||
private void DeviceDataInit() | private void DeviceDataInit() | ||||
{ | { | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
for (int i = 0; i < DeviceLists.Count; i++) | for (int i = 0; i < DeviceLists.Count; i++) | ||||
{ | { | ||||
@@ -117,7 +117,7 @@ namespace BPASmartClient.DosingSystemSingle | |||||
IpAddressLines(); | IpAddressLines(); | ||||
//SiemensDevice.GetInstance.Connect(Json<DevicePar>.Data.BaseParModel.DeviceAddress); | //SiemensDevice.GetInstance.Connect(Json<DevicePar>.Data.BaseParModel.DeviceAddress); | ||||
DeviceDataInit(); | DeviceDataInit(); | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
if (IPQueues.Count >= IPLists.Count) | if (IPQueues.Count >= IPLists.Count) | ||||
//IpAddressLines(); | //IpAddressLines(); | ||||
@@ -303,7 +303,7 @@ namespace BPASmartClient.DosingSystemSingle | |||||
AlarmHelper<AlarmInfo>.Init(); | AlarmHelper<AlarmInfo>.Init(); | ||||
if (modbusTcp.Connected) | if (modbusTcp.Connected) | ||||
{ | { | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
this.DeviceName = modbusTcp.GetString(DeviceAddress.DeviceName, 20)?.Trim()?.Replace(" ", ""); | this.DeviceName = modbusTcp.GetString(DeviceAddress.DeviceName, 20)?.Trim()?.Replace(" ", ""); | ||||
deviceStatus.RunStatus = (ushort)this.modbusTcp.ReadShort(DeviceAddress.RunStatus); //获取设备运行状态 | deviceStatus.RunStatus = (ushort)this.modbusTcp.ReadShort(DeviceAddress.RunStatus); //获取设备运行状态 | ||||
@@ -341,7 +341,7 @@ namespace BPASmartClient.DosingSystemSingle | |||||
public void Dispose() | public void Dispose() | ||||
{ | { | ||||
ThreadManage.GetInstance().StopTask($"{DeviceName} 开始监听"); | |||||
TaskManage.GetInstance.StopTask($"{DeviceName} 开始监听"); | |||||
} | } | ||||
public void Start(float Value) | public void Start(float Value) | ||||
@@ -35,14 +35,14 @@ namespace BPASmartClient.DosingSystemSingle | |||||
} | } | ||||
IsConnect = MySiemens.IsConnected; | IsConnect = MySiemens.IsConnected; | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
if (IsConnect) MySiemens.Write("DB4.DBX0.0", tempValue);//设备心跳 | if (IsConnect) MySiemens.Write("DB4.DBX0.0", tempValue);//设备心跳 | ||||
tempValue = !tempValue; | tempValue = !tempValue; | ||||
Thread.Sleep(100); | Thread.Sleep(100); | ||||
}), "设备心跳", true); | }), "设备心跳", true); | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
if (IsConnect) | if (IsConnect) | ||||
{ | { | ||||
@@ -24,7 +24,7 @@ namespace BPASmartClient.DosingSystemSingle.View | |||||
public HardwareStatusView() | public HardwareStatusView() | ||||
{ | { | ||||
InitializeComponent(); | InitializeComponent(); | ||||
this.Unloaded += (o, e) => { ThreadManage.GetInstance().StopTask("输送带料仓状态监控"); }; | |||||
this.Unloaded += (o, e) => { TaskManage.GetInstance.StopTask("输送带料仓状态监控"); }; | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -24,7 +24,7 @@ namespace BPASmartClient.DosingSystemSingle.View | |||||
public ManualControlView() | public ManualControlView() | ||||
{ | { | ||||
InitializeComponent(); | InitializeComponent(); | ||||
this.Unloaded += (o, e) => { ThreadManage.GetInstance().StopTask("手动气缸状态监控"); }; | |||||
this.Unloaded += (o, e) => { TaskManage.GetInstance.StopTask("手动气缸状态监控"); }; | |||||
this.SizeChanged += ManualControlView_SizeChanged; | this.SizeChanged += ManualControlView_SizeChanged; | ||||
this.cy.Height = this.list1.ActualHeight + 40; | this.cy.Height = this.list1.ActualHeight + 40; | ||||
this.zd.Height = this.list2.ActualHeight + 40; | this.zd.Height = this.list2.ActualHeight + 40; | ||||
@@ -1,4 +1,4 @@ | |||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -35,7 +35,7 @@ namespace BPASmartClient.DosingSystemSingle.ViewModel | |||||
// } | // } | ||||
// } | // } | ||||
//}); | //}); | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
for (int i = 0; i < Json<DevicePar>.Data.OutletInfoModels.Count; i++) | for (int i = 0; i < Json<DevicePar>.Data.OutletInfoModels.Count; i++) | ||||
{ | { | ||||
@@ -113,7 +113,7 @@ namespace BPASmartClient.DosingSystemSingle.ViewModel | |||||
ModelSwitchText = res ? "自动" : "手动";*/ | ModelSwitchText = res ? "自动" : "手动";*/ | ||||
}); | }); | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
for (int i = 0; i < cylinderModels.Count; i++) | for (int i = 0; i < cylinderModels.Count; i++) | ||||
{ | { | ||||
@@ -97,7 +97,7 @@ namespace BPASmartClient.DosingSystemSingle.ViewModel | |||||
/// </summary> | /// </summary> | ||||
private void RecipeRun() | private void RecipeRun() | ||||
{ | { | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
if (RecipeNames.Count > 0) | if (RecipeNames.Count > 0) | ||||
{ | { | ||||
@@ -200,7 +200,7 @@ namespace BPASmartClient.DosingSystemSingle.ViewModel | |||||
/// </summary> | /// </summary> | ||||
private void RecipeStatusInquire() | private void RecipeStatusInquire() | ||||
{ | { | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
for (int i = 0; i < Recipes.Count; i++) | for (int i = 0; i < Recipes.Count; i++) | ||||
{ | { | ||||
@@ -6,8 +6,4 @@ | |||||
<Nullable>enable</Nullable> | <Nullable>enable</Nullable> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | |||||
<ProjectReference Include="..\BPASmartClient.Helper\BPASmartClient.Helper.csproj" /> | |||||
</ItemGroup> | |||||
</Project> | </Project> |
@@ -2,7 +2,7 @@ | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.CustomResource.Pages.View; | using BPASmartClient.CustomResource.Pages.View; | ||||
using BPASmartClient.FoodStationTest.Model; | using BPASmartClient.FoodStationTest.Model; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.Threading; | using System.Threading; | ||||
@@ -28,7 +28,7 @@ namespace BPASmartClient.FoodStationTest | |||||
App.Current.Shutdown(); | App.Current.Shutdown(); | ||||
Environment.Exit(0); | Environment.Exit(0); | ||||
} | } | ||||
BPASmartClient.Helper.SystemHelper.GetInstance.CreateDesktopShortcut(); | |||||
SystemHelper.GetInstance.CreateDesktopShortcut(); | |||||
base.OnStartup(e); | base.OnStartup(e); | ||||
MenuInit(); | MenuInit(); | ||||
@@ -66,7 +66,7 @@ namespace BPASmartClient.FoodStationTest | |||||
Json<LocalRecipeDataColl>.Save(); | Json<LocalRecipeDataColl>.Save(); | ||||
Json<RemoteRecipeDataColl>.Save(); | Json<RemoteRecipeDataColl>.Save(); | ||||
MessageNotify.GetInstance.LogSave(); | MessageNotify.GetInstance.LogSave(); | ||||
ThreadManage.GetInstance().Dispose(); | |||||
TaskManage.GetInstance.Dispose(); | |||||
} | } | ||||
private void MenuInit() | private void MenuInit() | ||||
@@ -16,7 +16,7 @@ | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.Communication" Version="1.0.105" /> | |||||
<PackageReference Include="BPA.Communication" Version="1.0.116" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -1,8 +1,8 @@ | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.FoodStationTest.Model.Bom | namespace BPASmartClient.FoodStationTest.Model.Bom | ||||
{ | { | ||||
public class BomMaterial : ObservableObject | |||||
public class BomMaterial : NotifyBase | |||||
{ | { | ||||
public int Count { get { return _count; } set { _count = value; OnPropertyChanged(); } } | public int Count { get { return _count; } set { _count = value; OnPropertyChanged(); } } | ||||
public int _count { get; set; } | public int _count { get; set; } | ||||
@@ -1,11 +1,11 @@ | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.FoodStationTest.Model.GVL | namespace BPASmartClient.FoodStationTest.Model.GVL | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// PLC变量信息 | /// PLC变量信息 | ||||
/// </summary> | /// </summary> | ||||
public class PlcInfos : ObservableObject | |||||
public class PlcInfos : NotifyBase | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 变量序号 | /// 变量序号 | ||||
@@ -1,5 +1,5 @@ | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.Threading; | using System.Threading; | ||||
@@ -13,7 +13,7 @@ namespace BPASmartClient.FoodStationTest.Model.HK_PLC | |||||
public PlcReadAddressDB45 DeviceStatus = new PlcReadAddressDB45(); | public PlcReadAddressDB45 DeviceStatus = new PlcReadAddressDB45(); | ||||
public void Init() | public void Init() | ||||
{ | { | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
if (IsConnected) | if (IsConnected) | ||||
{ | { | ||||
@@ -1,11 +1,11 @@ | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.FoodStationTest.Model.Par | namespace BPASmartClient.FoodStationTest.Model.Par | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 连接参数设置。 | /// 连接参数设置。 | ||||
/// </summary> | /// </summary> | ||||
public class ConnectParMode : ObservableObject | |||||
public class ConnectParMode : NotifyBase | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 海科PLC是否连接 | /// 海科PLC是否连接 | ||||
@@ -3,7 +3,7 @@ using BPASmartClient.CustomResource.Pages.Model; | |||||
using BPASmartClient.FoodStationTest.Model.GVL; | using BPASmartClient.FoodStationTest.Model.GVL; | ||||
using BPASmartClient.FoodStationTest.Model.HK_PLC; | using BPASmartClient.FoodStationTest.Model.HK_PLC; | ||||
using BPASmartClient.FoodStationTest.Model.RawMaterial; | using BPASmartClient.FoodStationTest.Model.RawMaterial; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -68,7 +68,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
RegisterInit(); | RegisterInit(); | ||||
DeviceConnect(); | DeviceConnect(); | ||||
//Json<RemoteRecipeDataColl>.Data.Recipes = TestData.GetInstance.Recipes;//添加测试数据 | //Json<RemoteRecipeDataColl>.Data.Recipes = TestData.GetInstance.Recipes;//添加测试数据 | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
GVL_SmallStation.GetInstance.DisEnableStockAlarm = Json<DevicePar>.Data.deviceConnectPar.ShieldStockbinAlarm; | GVL_SmallStation.GetInstance.DisEnableStockAlarm = Json<DevicePar>.Data.deviceConnectPar.ShieldStockbinAlarm; | ||||
if (HKDevice.IsConnected) | if (HKDevice.IsConnected) | ||||
@@ -91,7 +91,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
} | } | ||||
Thread.Sleep(200); | Thread.Sleep(200); | ||||
}), "海科plc通信心跳", true); | }), "海科plc通信心跳", true); | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
if (GVL_SmallStation.GetInstance.Order_Cancel) | if (GVL_SmallStation.GetInstance.Order_Cancel) | ||||
{ | { | ||||
@@ -104,13 +104,13 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
} | } | ||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
}), "小料站流程控制", true); | }), "小料站流程控制", true); | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
RealTimeData(); | RealTimeData(); | ||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
}), "西门子PLC和小料站PLC的实时数据交互流程", true); | }), "西门子PLC和小料站PLC的实时数据交互流程", true); | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
HKPlcRead(); | HKPlcRead(); | ||||
GetStatus(); | GetStatus(); | ||||
@@ -586,7 +586,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
indexArr = Array.FindIndex(GVL_SmallStation.GetInstance.plcReadDataDB3.Recipe5BarrelPosReserve.ToArray(), p => p == i); | indexArr = Array.FindIndex(GVL_SmallStation.GetInstance.plcReadDataDB3.Recipe5BarrelPosReserve.ToArray(), p => p == i); | ||||
break; | break; | ||||
} | } | ||||
if (indexArr >= 0 && GVL_SmallStation.GetInstance.StockBinDosingIssue[recipeNum].Get16bitValue((byte)i) == false) | |||||
if (indexArr >= 0 && GVL_SmallStation.GetInstance.StockBinDosingIssue[recipeNum].GetBitValue((byte)i) == false) | |||||
{ | { | ||||
//查找每个料仓对应的重量。 | //查找每个料仓对应的重量。 | ||||
int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == i); | int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == i); | ||||
@@ -626,7 +626,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
{ | { | ||||
//MessageNotify.GetInstance.ShowRunLog($"错误,有允许配料信号,但没有相应的位置 和桶号"); | //MessageNotify.GetInstance.ShowRunLog($"错误,有允许配料信号,但没有相应的位置 和桶号"); | ||||
} | } | ||||
if ((DeviceInquire.GetInstance.GetDevice(i).deviceStatus.RunStatus == 3) && indexArr >= 0 && GVL_SmallStation.GetInstance.RecipeStockBinDosing[recipeNum].Get16bitValue((byte)i)) | |||||
if ((DeviceInquire.GetInstance.GetDevice(i).deviceStatus.RunStatus == 3) && indexArr >= 0 && GVL_SmallStation.GetInstance.RecipeStockBinDosing[recipeNum].GetBitValue((byte)i)) | |||||
{ | { | ||||
//配料完成处理。 | //配料完成处理。 | ||||
int res = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == i); | int res = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == i); | ||||
@@ -684,7 +684,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
{ | { | ||||
for (int i = 1; i < 17; i++) | for (int i = 1; i < 17; i++) | ||||
{ | { | ||||
if (GVL_SmallStation.GetInstance.RecipeStockBinDosing[recipeNum].Get16bitValue((byte)i)) | |||||
if (GVL_SmallStation.GetInstance.RecipeStockBinDosing[recipeNum].GetBitValue((byte)i)) | |||||
{ | { | ||||
MessageNotify.GetInstance.ShowRunLog($"料仓配料完成,但存在料仓未配料:{i}号仓"); | MessageNotify.GetInstance.ShowRunLog($"料仓配料完成,但存在料仓未配料:{i}号仓"); | ||||
} | } | ||||
@@ -1176,7 +1176,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
MessageNotify.GetInstance.ShowRunLog("海科plc初始化完成"); | MessageNotify.GetInstance.ShowRunLog("海科plc初始化完成"); | ||||
} | } | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
@@ -1,11 +1,11 @@ | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.FoodStationTest.Model | namespace BPASmartClient.FoodStationTest.Model | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 味魔方当前状态。 | /// 味魔方当前状态。 | ||||
/// </summary> | /// </summary> | ||||
public class DeviceCurrentStatus : ObservableObject | |||||
public class DeviceCurrentStatus : NotifyBase | |||||
{ | { | ||||
public double Weight { get { return _mWeight; } set { _mWeight = value; OnPropertyChanged(); } } | public double Weight { get { return _mWeight; } set { _mWeight = value; OnPropertyChanged(); } } | ||||
@@ -1,7 +1,7 @@ | |||||
using BPA.Communication; | using BPA.Communication; | ||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.FoodStationTest.ViewModel; | using BPASmartClient.FoodStationTest.ViewModel; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using System; | using System; | ||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
@@ -33,7 +33,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
public ObservableCollection<Devices> devices { get; set; } = new ObservableCollection<Devices>(); | public ObservableCollection<Devices> devices { get; set; } = new ObservableCollection<Devices>(); | ||||
private void DeviceDataInit() | private void DeviceDataInit() | ||||
{ | { | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
for (int i = 0; i < DeviceLists.Count; i++) | for (int i = 0; i < DeviceLists.Count; i++) | ||||
{ | { | ||||
@@ -57,7 +57,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
{ | { | ||||
devices.ElementAt(deviceIndex).DeviceName = DeviceLists.ElementAt(i).Value.DeviceName; | devices.ElementAt(deviceIndex).DeviceName = DeviceLists.ElementAt(i).Value.DeviceName; | ||||
} | } | ||||
if (!ThreadManage.GetInstance().IsContainsKey($"{deviceName} 开始监听")) | |||||
if (!TaskManage.GetInstance.IsContainsKey($"{deviceName} 开始监听")) | |||||
{ | { | ||||
DeviceLists[DeviceLists.ElementAt(i).Key].Init(deviceName); | DeviceLists[DeviceLists.ElementAt(i).Key].Init(deviceName); | ||||
} | } | ||||
@@ -111,7 +111,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
//TestData(); | //TestData(); | ||||
IpAddressLines(); | IpAddressLines(); | ||||
DeviceDataInit(); | DeviceDataInit(); | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
if (IPQueues.Count >= IPLists.Count) | if (IPQueues.Count >= IPLists.Count) | ||||
IpAddressLines(); | IpAddressLines(); | ||||
@@ -185,7 +185,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
DeviceStatus DS = new DeviceStatus(); | DeviceStatus DS = new DeviceStatus(); | ||||
DS.modbusTcp.IsReconnect = false; | DS.modbusTcp.IsReconnect = false; | ||||
DS.modbusTcp.ConnectOk = new Action(() => | |||||
DS.modbusTcp.Connected = new Action(() => | |||||
{ | { | ||||
string DeviceName = DS.modbusTcp.Read<string>(DeviceAddress.DeviceName, 20).Content.Trim()?.Replace(" ", "");//读取设备名称 | string DeviceName = DS.modbusTcp.Read<string>(DeviceAddress.DeviceName, 20).Content.Trim()?.Replace(" ", "");//读取设备名称 | ||||
if (DeviceName.Length > 0) | if (DeviceName.Length > 0) | ||||
@@ -318,7 +318,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
/// <summary> | /// <summary> | ||||
/// ModbusTcp的地址。 | /// ModbusTcp的地址。 | ||||
/// </summary> | /// </summary> | ||||
public string IpAddress=> modbusTcp.GetConfigPar().IpAddress; | |||||
public string IpAddress => modbusTcp.GetConfigPar().IpAddress; | |||||
/// <summary> | /// <summary> | ||||
/// 设备状态 | /// 设备状态 | ||||
/// </summary> | /// </summary> | ||||
@@ -338,7 +338,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
//AlarmHelper<AlarmInfo>.Init(); | //AlarmHelper<AlarmInfo>.Init(); | ||||
if (modbusTcp.IsConnected()) | if (modbusTcp.IsConnected()) | ||||
{ | { | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
if (modbusTcp.IsConnected()) | if (modbusTcp.IsConnected()) | ||||
{ | { | ||||
@@ -347,12 +347,12 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
deviceStatus.NowWeightFeedback = this.modbusTcp.Read<float>(DeviceAddress.CutWeightFeedback).Content;//获取下料重量 | deviceStatus.NowWeightFeedback = this.modbusTcp.Read<float>(DeviceAddress.CutWeightFeedback).Content;//获取下料重量 | ||||
deviceStatus.DeviceNum = (ushort)this.modbusTcp.Read<ushort>(DeviceAddress.DeviceNum).Content;//获取设备编号 | deviceStatus.DeviceNum = (ushort)this.modbusTcp.Read<ushort>(DeviceAddress.DeviceNum).Content;//获取设备编号 | ||||
deviceStatus.DeviceAlarmCode = (ushort)this.modbusTcp.Read<ushort>(DeviceAddress.DeviceAlarmCode).Content;//获取设备故障编码 | deviceStatus.DeviceAlarmCode = (ushort)this.modbusTcp.Read<ushort>(DeviceAddress.DeviceAlarmCode).Content;//获取设备故障编码 | ||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).EStop1 = deviceStatus.DeviceAlarmCode.Get16bitValue(1); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).Servo = deviceStatus.DeviceAlarmCode.Get16bitValue(2); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).Inverter = deviceStatus.DeviceAlarmCode.Get16bitValue(3); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).EStop2 = deviceStatus.DeviceAlarmCode.Get16bitValue(7); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).SiloUpperLimit = deviceStatus.DeviceAlarmCode.Get16bitValue(8); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).SiloLowerLimit = deviceStatus.DeviceAlarmCode.Get16bitValue(9); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).EStop1 = deviceStatus.DeviceAlarmCode.GetBitValue(1); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).Servo = deviceStatus.DeviceAlarmCode.GetBitValue(2); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).Inverter = deviceStatus.DeviceAlarmCode.GetBitValue(3); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).EStop2 = deviceStatus.DeviceAlarmCode.GetBitValue(7); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).SiloUpperLimit = deviceStatus.DeviceAlarmCode.GetBitValue(8); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).SiloLowerLimit = deviceStatus.DeviceAlarmCode.GetBitValue(9); | |||||
//允许配料即产线气缸抬起,发送给味魔方 | //允许配料即产线气缸抬起,发送给味魔方 | ||||
if (deviceStatus.DeviceNum >= 1 && deviceStatus.DeviceNum <= 15) | if (deviceStatus.DeviceNum >= 1 && deviceStatus.DeviceNum <= 15) | ||||
{ | { | ||||
@@ -402,7 +402,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
public void Dispose() | public void Dispose() | ||||
{ | { | ||||
ThreadManage.GetInstance().StopTask($"{DeviceName} 开始监听"); | |||||
TaskManage.GetInstance.StopTask($"{DeviceName} 开始监听"); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -1,12 +1,12 @@ | |||||
using BPASmartClient.FoodStationTest.Model.Bom; | using BPASmartClient.FoodStationTest.Model.Bom; | ||||
using BPASmartClient.FoodStationTest.Model.Par; | using BPASmartClient.FoodStationTest.Model.Par; | ||||
using BPASmartClient.FoodStationTest.Model.RawMaterial; | using BPASmartClient.FoodStationTest.Model.RawMaterial; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
namespace BPASmartClient.FoodStationTest.Model | namespace BPASmartClient.FoodStationTest.Model | ||||
{ | { | ||||
public class DevicePar : ObservableObject | |||||
public class DevicePar : NotifyBase | |||||
{ | { | ||||
public ObservableCollection<DeviceParMode> deviceParModels { get; set; } = new ObservableCollection<DeviceParMode>(); | public ObservableCollection<DeviceParMode> deviceParModels { get; set; } = new ObservableCollection<DeviceParMode>(); | ||||
public ConnectParMode deviceConnectPar { get { return _mdeviceConnectPar; } set { _mdeviceConnectPar = value; OnPropertyChanged(); } } | public ConnectParMode deviceConnectPar { get { return _mdeviceConnectPar; } set { _mdeviceConnectPar = value; OnPropertyChanged(); } } | ||||
@@ -1,8 +1,8 @@ | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.FoodStationTest.Model | namespace BPASmartClient.FoodStationTest.Model | ||||
{ | { | ||||
public class DeviceParMode : ObservableObject | |||||
public class DeviceParMode : NotifyBase | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,8 +1,8 @@ | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.FoodStationTest.Model.RawMaterial | namespace BPASmartClient.FoodStationTest.Model.RawMaterial | ||||
{ | { | ||||
public class RawMaterialColl : ObservableObject | |||||
public class RawMaterialColl : NotifyBase | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 原料设备IP | /// 原料设备IP | ||||
@@ -1,8 +1,8 @@ | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.FoodStationTest.Model.RawMaterial | namespace BPASmartClient.FoodStationTest.Model.RawMaterial | ||||
{ | { | ||||
public class RawMaterialStockBin : ObservableObject | |||||
public class RawMaterialStockBin : NotifyBase | |||||
{ | { | ||||
public short RawMaterialCount { get { return _mRawMaterialCount; } set { _mRawMaterialCount = value; OnPropertyChanged(); } } | public short RawMaterialCount { get { return _mRawMaterialCount; } set { _mRawMaterialCount = value; OnPropertyChanged(); } } | ||||
@@ -1,5 +1,5 @@ | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.Threading; | using System.Threading; | ||||
@@ -8,7 +8,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
/// <summary> | /// <summary> | ||||
/// 配方模块 | /// 配方模块 | ||||
/// </summary> | /// </summary> | ||||
public class RecipeModel : ObservableObject | |||||
public class RecipeModel : NotifyBase | |||||
{ | { | ||||
[Newtonsoft.Json.JsonIgnore] | [Newtonsoft.Json.JsonIgnore] | ||||
public bool IsEnable { get { return _mIsEnable; } set { _mIsEnable = value; OnPropertyChanged(); } } | public bool IsEnable { get { return _mIsEnable; } set { _mIsEnable = value; OnPropertyChanged(); } } | ||||
@@ -1,4 +1,4 @@ | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
namespace BPASmartClient.FoodStationTest.Model | namespace BPASmartClient.FoodStationTest.Model | ||||
@@ -7,7 +7,7 @@ namespace BPASmartClient.FoodStationTest.Model | |||||
/// <summary> | /// <summary> | ||||
/// 远程配方数据。 | /// 远程配方数据。 | ||||
/// </summary> | /// </summary> | ||||
public class RemoteRecipeData : ObservableObject | |||||
public class RemoteRecipeData : NotifyBase | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 配方名称 | /// 配方名称 | ||||
@@ -1,8 +1,8 @@ | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.FoodStationTest.Model | namespace BPASmartClient.FoodStationTest.Model | ||||
{ | { | ||||
public class RemoteRecipeRawMaterial : ObservableObject | |||||
public class RemoteRecipeRawMaterial : NotifyBase | |||||
{ | { | ||||
public int DeviceIp { get { return _mIp; } set { _mIp = value; } } | public int DeviceIp { get { return _mIp; } set { _mIp = value; } } | ||||
private int _mIp; | private int _mIp; | ||||
@@ -1,4 +1,4 @@ | |||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Windows; | using System.Windows; | ||||
using System.Windows.Input; | using System.Windows.Input; | ||||
@@ -1,4 +1,4 @@ | |||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Windows; | using System.Windows; | ||||
using System.Windows.Input; | using System.Windows.Input; | ||||
@@ -1,4 +1,4 @@ | |||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Windows; | using System.Windows; | ||||
using System.Windows.Input; | using System.Windows.Input; | ||||
@@ -1,4 +1,4 @@ | |||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Windows; | using System.Windows; | ||||
using System.Windows.Input; | using System.Windows.Input; | ||||
@@ -1,4 +1,4 @@ | |||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Windows; | using System.Windows; | ||||
using System.Windows.Input; | using System.Windows.Input; | ||||
@@ -3,27 +3,27 @@ using BPASmartClient.CustomResource.UserControls; | |||||
using BPASmartClient.CustomResource.UserControls.MessageShow; | using BPASmartClient.CustomResource.UserControls.MessageShow; | ||||
using BPASmartClient.FoodStationTest.Model; | using BPASmartClient.FoodStationTest.Model; | ||||
using BPASmartClient.FoodStationTest.Model.Bom; | using BPASmartClient.FoodStationTest.Model.Bom; | ||||
using BPASmartClient.Helper; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using BPA.Helper; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.Linq; | using System.Linq; | ||||
namespace BPASmartClient.FoodStationTest.ViewModel | namespace BPASmartClient.FoodStationTest.ViewModel | ||||
{ | { | ||||
public class BomOfMaterialViewModel : ObservableObject | |||||
public class BomOfMaterialViewModel : NotifyBase | |||||
{ | { | ||||
public BomOfMaterialViewModel() | public BomOfMaterialViewModel() | ||||
{ | { | ||||
RawMaterialInfo = Json<DevicePar>.Data.BomMaterial; | RawMaterialInfo = Json<DevicePar>.Data.BomMaterial; | ||||
AddMaterial = new RelayCommand(() => | |||||
AddMaterial = new BPARelayCommand(() => | |||||
{ | { | ||||
RawMaterialInfo.Add(new BomMaterial() | RawMaterialInfo.Add(new BomMaterial() | ||||
{ | { | ||||
Count = Json<DevicePar>.Data.BomMaterial.Count + 1, | Count = Json<DevicePar>.Data.BomMaterial.Count + 1, | ||||
}); | }); | ||||
}); | }); | ||||
SaveMaterials = new RelayCommand(() => | |||||
SaveMaterials = new BPARelayCommand(() => | |||||
{ | { | ||||
if (MessageNotify.GetInstance.ShowDialog("请确认是否保存!") == true) | if (MessageNotify.GetInstance.ShowDialog("请确认是否保存!") == true) | ||||
{ | { | ||||
@@ -32,7 +32,7 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "成功", $"原料与料仓对应关系保存成功"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "成功", $"原料与料仓对应关系保存成功"); | ||||
} | } | ||||
}); | }); | ||||
GetBomMaterialData = new RelayCommand(() => | |||||
GetBomMaterialData = new BPARelayCommand(() => | |||||
{ | { | ||||
Json<DevicePar>.Data.BomMaterial.Clear(); | Json<DevicePar>.Data.BomMaterial.Clear(); | ||||
ProcessControl.GetInstance.RawMaterialNameWithCode();//原料的名称和编码对应 :西门子mes定义的物料编码 | ProcessControl.GetInstance.RawMaterialNameWithCode();//原料的名称和编码对应 :西门子mes定义的物料编码 | ||||
@@ -42,7 +42,7 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
} | } | ||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "成功", $"读取程序的Bom清单"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "成功", $"读取程序的Bom清单"); | ||||
}); | }); | ||||
DeleteAllMaterial = new RelayCommand(() => | |||||
DeleteAllMaterial = new BPARelayCommand(() => | |||||
{ | { | ||||
if (MessageNotify.GetInstance.ShowDialog("请确认是否删除所有原料数据!") == true) | if (MessageNotify.GetInstance.ShowDialog("请确认是否删除所有原料数据!") == true) | ||||
{ | { | ||||
@@ -50,7 +50,7 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
MessageNotify.GetInstance.ShowUserLog($"西门子物料清单删除完成"); | MessageNotify.GetInstance.ShowUserLog($"西门子物料清单删除完成"); | ||||
} | } | ||||
}); | }); | ||||
RemoveCommand = new RelayCommand<int>((Count) => | |||||
RemoveCommand = new BPARelayCommand<int>((Count) => | |||||
{ | { | ||||
if (Count is int cnt) | if (Count is int cnt) | ||||
{ | { | ||||
@@ -67,11 +67,11 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
}); | }); | ||||
} | } | ||||
public ObservableCollection<BomMaterial> RawMaterialInfo { get; set; } = new ObservableCollection<BomMaterial>(); | public ObservableCollection<BomMaterial> RawMaterialInfo { get; set; } = new ObservableCollection<BomMaterial>(); | ||||
public RelayCommand AddMaterial { get; set; } | |||||
public RelayCommand SaveMaterials { get; set; } | |||||
public RelayCommand<int> RemoveCommand { get; set; } | |||||
public RelayCommand GetBomMaterialData { get; set; } | |||||
public RelayCommand DeleteAllMaterial { get; set; } | |||||
public BPARelayCommand AddMaterial { get; set; } | |||||
public BPARelayCommand SaveMaterials { get; set; } | |||||
public BPARelayCommand<int> RemoveCommand { get; set; } | |||||
public BPARelayCommand GetBomMaterialData { get; set; } | |||||
public BPARelayCommand DeleteAllMaterial { get; set; } | |||||
} | } | ||||
} | } |
@@ -1,14 +1,14 @@ | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.FoodStationTest.Model; | using BPASmartClient.FoodStationTest.Model; | ||||
using BPASmartClient.Helper; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Linq; | using System.Linq; | ||||
namespace BPASmartClient.FoodStationTest.ViewModel | namespace BPASmartClient.FoodStationTest.ViewModel | ||||
{ | { | ||||
public class ChangeDeviceNameViewModel : ObservableObject | |||||
public class ChangeDeviceNameViewModel : NotifyBase | |||||
{ | { | ||||
public ChangeDeviceNameViewModel() | public ChangeDeviceNameViewModel() | ||||
{ | { | ||||
@@ -18,8 +18,8 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
IpAddress = str; | IpAddress = str; | ||||
}), "ChangeDeviceNameViewOpen"); | }), "ChangeDeviceNameViewOpen"); | ||||
CancleCommand = new RelayCommand(() => { ActionManage.GetInstance.Send("ChangeDeviceNameViewClose"); }); | |||||
ConfirmCommand = new RelayCommand(() => | |||||
CancleCommand = new BPARelayCommand(() => { ActionManage.GetInstance.Send("ChangeDeviceNameViewClose"); }); | |||||
ConfirmCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
if (string.IsNullOrEmpty(DeviceName)) | if (string.IsNullOrEmpty(DeviceName)) | ||||
{ | { | ||||
@@ -56,9 +56,9 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
private static string IpAddress = string.Empty; | private static string IpAddress = string.Empty; | ||||
public RelayCommand ConfirmCommand { get; set; } | |||||
public BPARelayCommand ConfirmCommand { get; set; } | |||||
public RelayCommand CancleCommand { get; set; } | |||||
public BPARelayCommand CancleCommand { get; set; } | |||||
public string ErrorInfo { get { return _mErrorInfo; } set { _mErrorInfo = value; OnPropertyChanged(); } } | public string ErrorInfo { get { return _mErrorInfo; } set { _mErrorInfo = value; OnPropertyChanged(); } } | ||||
@@ -1,17 +1,17 @@ | |||||
using BPASmartClient.FoodStationTest.Model; | using BPASmartClient.FoodStationTest.Model; | ||||
using BPASmartClient.FoodStationTest.View; | using BPASmartClient.FoodStationTest.View; | ||||
using BPASmartClient.Helper; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using BPA.Helper; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
namespace BPASmartClient.FoodStationTest.ViewModel | namespace BPASmartClient.FoodStationTest.ViewModel | ||||
{ | { | ||||
public class DeviceListViewModel : ObservableObject | |||||
public class DeviceListViewModel : NotifyBase | |||||
{ | { | ||||
public DeviceListViewModel() | public DeviceListViewModel() | ||||
{ | { | ||||
ChangeNameCommand = new RelayCommand<object>((o) => | |||||
ChangeNameCommand = new BPARelayCommand<object>((o) => | |||||
{ | { | ||||
if (o != null && o is string str) | if (o != null && o is string str) | ||||
{ | { | ||||
@@ -21,7 +21,7 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
} | } | ||||
}); | }); | ||||
Open = new RelayCommand<object>((o) => | |||||
Open = new BPARelayCommand<object>((o) => | |||||
{ | { | ||||
if (o != null && o is string str) | if (o != null && o is string str) | ||||
{ | { | ||||
@@ -29,7 +29,7 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
} | } | ||||
}); | }); | ||||
Close = new RelayCommand<object>((o) => | |||||
Close = new BPARelayCommand<object>((o) => | |||||
{ | { | ||||
if (o != null && o is string str) | if (o != null && o is string str) | ||||
{ | { | ||||
@@ -45,15 +45,15 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
devices = new ObservableCollection<Devices>(devices.OrderBy(item => item.Serial));*/ | devices = new ObservableCollection<Devices>(devices.OrderBy(item => item.Serial));*/ | ||||
} | } | ||||
public RelayCommand<object> ChangeNameCommand { get; set; } | |||||
public RelayCommand<object> Open { get; set; } | |||||
public RelayCommand<object> Close { get; set; } | |||||
public BPARelayCommand<object> ChangeNameCommand { get; set; } | |||||
public BPARelayCommand<object> Open { get; set; } | |||||
public BPARelayCommand<object> Close { get; set; } | |||||
//public static ObservableCollection<Devices> devices { get; set; } = new ObservableCollection<Devices>(); | //public static ObservableCollection<Devices> devices { get; set; } = new ObservableCollection<Devices>(); | ||||
public ObservableCollection<Devices> devices { get; set; } | public ObservableCollection<Devices> devices { get; set; } | ||||
} | } | ||||
public class Devices : ObservableObject | |||||
public class Devices : NotifyBase | |||||
{ | { | ||||
public int Serial { get { return _mSerial; } set { _mSerial = value; OnPropertyChanged(); } } | public int Serial { get { return _mSerial; } set { _mSerial = value; OnPropertyChanged(); } } | ||||
private int _mSerial; | private int _mSerial; | ||||
@@ -1,20 +1,20 @@ | |||||
using BPASmartClient.CustomResource.UserControls; | using BPASmartClient.CustomResource.UserControls; | ||||
using BPASmartClient.CustomResource.UserControls.MessageShow; | using BPASmartClient.CustomResource.UserControls.MessageShow; | ||||
using BPASmartClient.FoodStationTest.Model; | using BPASmartClient.FoodStationTest.Model; | ||||
using BPASmartClient.Helper; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using BPA.Helper; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.Linq; | using System.Linq; | ||||
namespace BPASmartClient.FoodStationTest.ViewModel | namespace BPASmartClient.FoodStationTest.ViewModel | ||||
{ | { | ||||
public class DeviceMaterialParViewModel : ObservableObject | |||||
public class DeviceMaterialParViewModel : NotifyBase | |||||
{ | { | ||||
public DeviceMaterialParViewModel() | public DeviceMaterialParViewModel() | ||||
{ | { | ||||
deviceParModels = Json<DevicePar>.Data.deviceParModels; | deviceParModels = Json<DevicePar>.Data.deviceParModels; | ||||
RemoveCommand = new RelayCommand<object>((o) => | |||||
RemoveCommand = new BPARelayCommand<object>((o) => | |||||
{ | { | ||||
var res = deviceParModels.FirstOrDefault(p => p.MaterialName == o?.ToString()); | var res = deviceParModels.FirstOrDefault(p => p.MaterialName == o?.ToString()); | ||||
if (res != null) | if (res != null) | ||||
@@ -22,8 +22,8 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"{o.ToString()}:原料删除成功!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"{o.ToString()}:原料删除成功!"); | ||||
}); | }); | ||||
AddCommand = new RelayCommand(() => { deviceParModels.Add(new DeviceParMode()); }); | |||||
SaveCommand = new RelayCommand(() => | |||||
AddCommand = new BPARelayCommand(() => { deviceParModels.Add(new DeviceParMode()); }); | |||||
SaveCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
if (deviceParModels == null || deviceParModels.Count <= 0) | if (deviceParModels == null || deviceParModels.Count <= 0) | ||||
{ | { | ||||
@@ -56,10 +56,10 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
public ObservableCollection<DeviceParMode> deviceParModels { get; set; } | public ObservableCollection<DeviceParMode> deviceParModels { get; set; } | ||||
public RelayCommand<object> RemoveCommand { get; set; } | |||||
public BPARelayCommand<object> RemoveCommand { get; set; } | |||||
public RelayCommand AddCommand { get; set; } | |||||
public RelayCommand SaveCommand { get; set; } | |||||
public BPARelayCommand AddCommand { get; set; } | |||||
public BPARelayCommand SaveCommand { get; set; } | |||||
} | } | ||||
} | } |
@@ -1,10 +1,10 @@ | |||||
using BPASmartClient.FoodStationTest.Model; | using BPASmartClient.FoodStationTest.Model; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using BPA.Helper; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
namespace BPASmartClient.FoodStationTest.ViewModel | namespace BPASmartClient.FoodStationTest.ViewModel | ||||
{ | { | ||||
public class HardwareStatusViewModel : ObservableObject | |||||
public class HardwareStatusViewModel : NotifyBase | |||||
{ | { | ||||
public HardwareStatusViewModel() | public HardwareStatusViewModel() | ||||
{ | { | ||||
@@ -1,17 +1,17 @@ | |||||
using BPASmartClient.FoodStationTest.Model; | using BPASmartClient.FoodStationTest.Model; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.Linq; | using System.Linq; | ||||
namespace BPASmartClient.FoodStationTest.ViewModel | namespace BPASmartClient.FoodStationTest.ViewModel | ||||
{ | { | ||||
public class ManualCommViewModel : ObservableObject | |||||
public class ManualCommViewModel : NotifyBase | |||||
{ | { | ||||
public ManualCommViewModel() | public ManualCommViewModel() | ||||
{ | { | ||||
PlcDataColl.Add(new VarMonitor() { SerialNum = PlcDataColl.Count, Address = "", }); | PlcDataColl.Add(new VarMonitor() { SerialNum = PlcDataColl.Count, Address = "", }); | ||||
SetParCommand = new RelayCommand<object>((o) => | |||||
SetParCommand = new BPARelayCommand<object>((o) => | |||||
{ | { | ||||
if (o != null && o is string address) | if (o != null && o is string address) | ||||
{ | { | ||||
@@ -21,9 +21,9 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
} | } | ||||
public static ObservableCollection<VarMonitor> PlcDataColl { get; set; } = new ObservableCollection<VarMonitor>(); | public static ObservableCollection<VarMonitor> PlcDataColl { get; set; } = new ObservableCollection<VarMonitor>(); | ||||
public RelayCommand<object> SetParCommand { get; set; } | |||||
public BPARelayCommand<object> SetParCommand { get; set; } | |||||
public RelayCommand Connect { get; set; } | |||||
public BPARelayCommand Connect { get; set; } | |||||
} | } | ||||
} | } |
@@ -1,9 +1,9 @@ | |||||
using BPASmartClient.CustomResource.UserControls; | using BPASmartClient.CustomResource.UserControls; | ||||
using BPASmartClient.CustomResource.UserControls.MessageShow; | using BPASmartClient.CustomResource.UserControls.MessageShow; | ||||
using BPASmartClient.FoodStationTest.Model; | using BPASmartClient.FoodStationTest.Model; | ||||
using BPASmartClient.Helper; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
using BPA.Helper; | |||||
using BPA.Helper; | |||||
using System; | using System; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.ComponentModel; | using System.ComponentModel; | ||||
@@ -13,11 +13,11 @@ using System.Threading; | |||||
namespace BPASmartClient.FoodStationTest.ViewModel | namespace BPASmartClient.FoodStationTest.ViewModel | ||||
{ | { | ||||
public class ManualControlViewModel : ObservableObject | |||||
public class ManualControlViewModel : NotifyBase | |||||
{ | { | ||||
public ManualControlViewModel() | public ManualControlViewModel() | ||||
{ | { | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | |||||
TaskManage.GetInstance.StartLong(new Action(() => | |||||
{ | { | ||||
PlcSystemMode = GVL_SmallStation.GetInstance.PlcSystemMode; | PlcSystemMode = GVL_SmallStation.GetInstance.PlcSystemMode; | ||||
//SystemMode = GVL_SmallStation.GetInstance.PlcSystemMode ? "手动" : "自动"; | //SystemMode = GVL_SmallStation.GetInstance.PlcSystemMode ? "手动" : "自动"; | ||||
@@ -216,80 +216,80 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
}); | }); | ||||
} | } | ||||
} | } | ||||
Open = new RelayCommand<object>((o) => | |||||
Open = new BPARelayCommand<object>((o) => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("ManualOpen", o); | ActionManage.GetInstance.Send("ManualOpen", o); | ||||
}); | }); | ||||
Close = new RelayCommand<object>((o) => | |||||
Close = new BPARelayCommand<object>((o) => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("ManualClose", o); | ActionManage.GetInstance.Send("ManualClose", o); | ||||
}); | }); | ||||
StartAxisLoadCommand = new RelayCommand(() => | |||||
StartAxisLoadCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("StartAxisLoadCommand"); | ActionManage.GetInstance.Send("StartAxisLoadCommand"); | ||||
}); | }); | ||||
StopAxisLoadCommand = new RelayCommand(() => | |||||
StopAxisLoadCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("StopAxisLoadCommand"); | ActionManage.GetInstance.Send("StopAxisLoadCommand"); | ||||
}); | }); | ||||
StartAxisMidCommand = new RelayCommand(() => | |||||
StartAxisMidCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("StartAxisMidCommand"); | ActionManage.GetInstance.Send("StartAxisMidCommand"); | ||||
}); | }); | ||||
StopAxisMidCommand = new RelayCommand(() => | |||||
StopAxisMidCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("StopAxisMidCommand"); | ActionManage.GetInstance.Send("StopAxisMidCommand"); | ||||
}); | }); | ||||
StartAxisUnLoadCommand = new RelayCommand(() => | |||||
StartAxisUnLoadCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("StartAxisUnLoadCommand"); | ActionManage.GetInstance.Send("StartAxisUnLoadCommand"); | ||||
}); | }); | ||||
StopAxisUnLoadCommand = new RelayCommand(() => | |||||
StopAxisUnLoadCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("StopAxisUnLoadCommand"); | ActionManage.GetInstance.Send("StopAxisUnLoadCommand"); | ||||
}); | }); | ||||
StartAxis1Command = new RelayCommand(() => | |||||
StartAxis1Command = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("StartAxis1Command"); | ActionManage.GetInstance.Send("StartAxis1Command"); | ||||
}); | }); | ||||
StopAxis1Command = new RelayCommand(() => | |||||
StopAxis1Command = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("StopAxis1Command"); | ActionManage.GetInstance.Send("StopAxis1Command"); | ||||
}); | }); | ||||
StartAxis2Command = new RelayCommand(() => | |||||
StartAxis2Command = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("StartAxis2Command"); | ActionManage.GetInstance.Send("StartAxis2Command"); | ||||
}); | }); | ||||
StopAxis2Command = new RelayCommand(() => | |||||
StopAxis2Command = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("StopAxis2Command"); | ActionManage.GetInstance.Send("StopAxis2Command"); | ||||
}); | }); | ||||
SystemStartCommand = new RelayCommand(() => | |||||
SystemStartCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("SystemStart"); | ActionManage.GetInstance.Send("SystemStart"); | ||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"系统启动!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"系统启动!"); | ||||
}); | }); | ||||
SystemStopCommand = new RelayCommand(() => | |||||
SystemStopCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("SystemStop"); | ActionManage.GetInstance.Send("SystemStop"); | ||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"系统停止!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"系统停止!"); | ||||
}); | }); | ||||
SystemPauseCommand = new RelayCommand(() => | |||||
SystemPauseCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("SystemPause"); | ActionManage.GetInstance.Send("SystemPause"); | ||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"系统暂停!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"系统暂停!"); | ||||
}); | }); | ||||
SystemResetCommand = new RelayCommand(() => | |||||
SystemResetCommand = new BPARelayCommand(() => | |||||
{ | { | ||||
ActionManage.GetInstance.Send("SystemReset"); | ActionManage.GetInstance.Send("SystemReset"); | ||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"系统暂停后复位!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"系统暂停后复位!"); | ||||
}); | }); | ||||
DebugMode = new RelayCommand(() => | |||||
DebugMode = new BPARelayCommand(() => | |||||
{ | { | ||||
// ActionManage.GetInstance.Send("SystemDebugMode"); | // ActionManage.GetInstance.Send("SystemDebugMode"); | ||||
}); | }); | ||||
AutoMode = new RelayCommand(() => | |||||
AutoMode = new BPARelayCommand(() => | |||||
{ | { | ||||
// ActionManage.GetInstance.Send("SystemAutoMode"); | // ActionManage.GetInstance.Send("SystemAutoMode"); | ||||
}); | }); | ||||
@@ -320,30 +320,30 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
{ | { | ||||
StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(PropName)); | StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(PropName)); | ||||
} | } | ||||
public RelayCommand<object> Open { get; set; } | |||||
public BPARelayCommand<object> Open { get; set; } | |||||
public RelayCommand<object> Close { get; set; } | |||||
public BPARelayCommand<object> Close { get; set; } | |||||
//五个电机手动控制 | //五个电机手动控制 | ||||
public RelayCommand StartAxisLoadCommand { get; set; } | |||||
public RelayCommand StopAxisLoadCommand { get; set; } | |||||
public RelayCommand StartAxisMidCommand { get; set; } | |||||
public RelayCommand StopAxisMidCommand { get; set; } | |||||
public RelayCommand StartAxisUnLoadCommand { get; set; } | |||||
public RelayCommand StopAxisUnLoadCommand { get; set; } | |||||
public RelayCommand StartAxis1Command { get; set; } | |||||
public RelayCommand StopAxis1Command { get; set; } | |||||
public RelayCommand StartAxis2Command { get; set; } | |||||
public RelayCommand StopAxis2Command { get; set; } | |||||
public BPARelayCommand StartAxisLoadCommand { get; set; } | |||||
public BPARelayCommand StopAxisLoadCommand { get; set; } | |||||
public BPARelayCommand StartAxisMidCommand { get; set; } | |||||
public BPARelayCommand StopAxisMidCommand { get; set; } | |||||
public BPARelayCommand StartAxisUnLoadCommand { get; set; } | |||||
public BPARelayCommand StopAxisUnLoadCommand { get; set; } | |||||
public BPARelayCommand StartAxis1Command { get; set; } | |||||
public BPARelayCommand StopAxis1Command { get; set; } | |||||
public BPARelayCommand StartAxis2Command { get; set; } | |||||
public BPARelayCommand StopAxis2Command { get; set; } | |||||
public RelayCommand SystemStartCommand { get; set; } | |||||
public RelayCommand SystemStopCommand { get; set; } | |||||
public RelayCommand SystemPauseCommand { get; set; } | |||||
public BPARelayCommand SystemStartCommand { get; set; } | |||||
public BPARelayCommand SystemStopCommand { get; set; } | |||||
public BPARelayCommand SystemPauseCommand { get; set; } | |||||
public RelayCommand SystemResetCommand { get; set; } | |||||
public BPARelayCommand SystemResetCommand { get; set; } | |||||
public RelayCommand AutoMode { get; set; } | |||||
public RelayCommand DebugMode { get; set; } | |||||
public BPARelayCommand AutoMode { get; set; } | |||||
public BPARelayCommand DebugMode { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 系统模式改变 | /// 系统模式改变 | ||||
@@ -409,7 +409,7 @@ namespace BPASmartClient.FoodStationTest.ViewModel | |||||
public class CylinderModel : ObservableObject | |||||
public class CylinderModel : NotifyBase | |||||
{ | { | ||||
public bool LeftTog { get { return _mLeftTog; } set { _mLeftTog = value; OnPropertyChanged(); } } | public bool LeftTog { get { return _mLeftTog; } set { _mLeftTog = value; OnPropertyChanged(); } } | ||||
private bool _mLeftTog; | private bool _mLeftTog; | ||||