@@ -17,6 +17,7 @@ | |||||
<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.Helper\BPASmartClient.Helper.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" /> | <ProjectReference Include="..\BPASmartClient.MQTT\BPASmartClient.MQTT.csproj" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -1,12 +0,0 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPASmartClient.Business | |||||
{ | |||||
public class DataStorage | |||||
{ | |||||
} | |||||
} |
@@ -31,61 +31,13 @@ namespace BPASmartClient.Business | |||||
NetworkConnectState = UniversalHelper.GetInstance().GetNetworkState(); | NetworkConnectState = UniversalHelper.GetInstance().GetNetworkState(); | ||||
Thread.Sleep(2000); | Thread.Sleep(2000); | ||||
} | } | ||||
ClientId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["ClientId"]); | |||||
} | } | ||||
/// <summary> | |||||
/// Consul 地址 | |||||
/// </summary> | |||||
public static string ConsulAddress { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 网络连接状态 | /// 网络连接状态 | ||||
/// </summary> | /// </summary> | ||||
public static bool NetworkConnectState { get; set; } | public static bool NetworkConnectState { get; set; } | ||||
/// <summary> | |||||
/// 广告地址 | |||||
/// </summary> | |||||
public static Uri SorbetesAddress { get; set; } | |||||
/// <summary> | |||||
/// 客户端ID | |||||
/// </summary> | |||||
public static int ClientId { get; set; } | |||||
/// <summary> | |||||
/// IOTAPI 地址 | |||||
/// </summary> | |||||
public static string IotApiAddress { get; set; } | |||||
#region MQTT连接信息 | |||||
/// <summary> | |||||
/// mqtt 服务地址 | |||||
/// </summary> | |||||
public static string MqttAddress { get; set; } | |||||
/// <summary> | |||||
/// mqtt 用户名 | |||||
/// </summary> | |||||
public static string MqttUserName { get; set; } | |||||
/// <summary> | |||||
/// mqtt 密码 | |||||
/// </summary> | |||||
public static string MqttPassword { get; set; } | |||||
/// <summary> | |||||
/// mqtt 端口号 | |||||
/// </summary> | |||||
public static int MqttPort { get; set; } | |||||
#endregion | |||||
#region API地址 | #region API地址 | ||||
/// <summary> | /// <summary> | ||||
@@ -23,14 +23,8 @@ namespace BPASmartClient.Business | |||||
Plugin.GetInstance().Init(); | Plugin.GetInstance().Init(); | ||||
//主题初始化 | //主题初始化 | ||||
TopicDefine.GetInstance().Initialize(Plugin.GetInstance().GetPlugin<DeviceMgr>().GetDevices()); | TopicDefine.GetInstance().Initialize(Plugin.GetInstance().GetPlugin<DeviceMgr>().GetDevices()); | ||||
//MQTT 重连成功 | |||||
MqttHelper.GetInstance().Reconnection = new Action(() => | |||||
{ | |||||
MqttHelper.GetInstance().MqttSubscriptionAsync(TopicDefine.GetInstance().SubscribTopics.ToArray()); | |||||
}); | |||||
//MQTT 连接 | |||||
MqttHelper.GetInstance().MqttInitAsync(InternetInfo.MqttUserName, InternetInfo.MqttPassword, | |||||
InternetInfo.MqttAddress, InternetInfo.MqttPort, DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss")); | |||||
//设备开启 | |||||
Plugin.GetInstance().GetPlugin<DeviceMgr>().StartService(); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -33,6 +33,8 @@ namespace BPASmartClient.Business | |||||
{ | { | ||||
ClientId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["ClientId"]); | ClientId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["ClientId"]); | ||||
apolloUri = System.Configuration.ConfigurationManager.AppSettings["ApolloUri"].ToString(); | apolloUri = System.Configuration.ConfigurationManager.AppSettings["ApolloUri"].ToString(); | ||||
InternetInfo.OrderServer= System.Configuration.ConfigurationManager.AppSettings["OrderServiceUri"].ToString(); | |||||
InternetInfo.StockServer= System.Configuration.ConfigurationManager.AppSettings["StockServiceUri"].ToString(); | |||||
InitDeviceModel(); | InitDeviceModel(); | ||||
InitMQTT(); | InitMQTT(); | ||||
@@ -33,12 +33,11 @@ namespace BPASmartClient.Business | |||||
private List<RecivedHandle> messageRecives = new List<RecivedHandle>(); | private List<RecivedHandle> messageRecives = new List<RecivedHandle>(); | ||||
public void Initialize() | public void Initialize() | ||||
{ | { | ||||
running = true; | |||||
//MQTT 连接成功 | //MQTT 连接成功 | ||||
mqttProxy.Connected = new Action(() => | mqttProxy.Connected = new Action(() => | ||||
{ | { | ||||
MqttHelper.GetInstance().MqttSubscriptionAsync(TopicDefine.GetInstance().SubscribTopics.ToArray()); | |||||
mqttProxy.Subscrib(TopicDefine.GetInstance().SubscribTopics.ToArray()); | |||||
}); | }); | ||||
//MQTT 连接成功 | //MQTT 连接成功 | ||||
mqttProxy.LostConnect = new Action(() => | mqttProxy.LostConnect = new Action(() => | ||||
@@ -75,7 +74,7 @@ namespace BPASmartClient.Business | |||||
} | } | ||||
Thread.Sleep(50); | Thread.Sleep(50); | ||||
} | } | ||||
}, "MQTT 消息处理"); | |||||
}, "MQTT 消息处理",true); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -1,13 +1,17 @@ | |||||
using BPA.Message; | using BPA.Message; | ||||
using BPASmartClient.EventBus; | using BPASmartClient.EventBus; | ||||
using BPASmartClient.Helper; | using BPASmartClient.Helper; | ||||
using BPASmartClient.Http; | |||||
using BPASmartClient.Message; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using Newtonsoft.Json; | |||||
using System; | using System; | ||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
using System.Collections.Generic; | 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 static BPASmartClient.EventBus.EventBus; | |||||
namespace BPASmartClient.Business | namespace BPASmartClient.Business | ||||
{ | { | ||||
@@ -27,6 +31,7 @@ namespace BPASmartClient.Business | |||||
/// </summary> | /// </summary> | ||||
public void Initialize() | public void Initialize() | ||||
{ | { | ||||
running = true; | |||||
deviceMgr = Plugin.GetInstance().GetPlugin<DeviceMgr>(); | deviceMgr = Plugin.GetInstance().GetPlugin<DeviceMgr>(); | ||||
Plugin.GetInstance().GetPlugin<MQTTMgr>().SetMessageReciveHandler(delegate (IMessage orderInfo) | Plugin.GetInstance().GetPlugin<MQTTMgr>().SetMessageReciveHandler(delegate (IMessage orderInfo) | ||||
@@ -38,6 +43,8 @@ namespace BPASmartClient.Business | |||||
} | } | ||||
}); | }); | ||||
EventBus.EventBus.GetInstance().Subscribe<OrderStatusChangedEvent>(0, OrderStatusChangedHandle); | |||||
ThreadManage.GetInstance().StartLong(() => | ThreadManage.GetInstance().StartLong(() => | ||||
{ | { | ||||
while (running) | while (running) | ||||
@@ -64,6 +71,25 @@ namespace BPASmartClient.Business | |||||
}, "MQTT 消息处理"); | }, "MQTT 消息处理"); | ||||
} | } | ||||
public void OrderStatusChangedHandle(IEvent @event, EventCallBackHandle callBack) | |||||
{ | |||||
OrderStatusChangedEvent orderStatusChangedEvent = @event as OrderStatusChangedEvent; | |||||
string result = string.Empty; | |||||
OrderStatusChange orderStatusChange = new OrderStatusChange() { CookingStatus = orderStatusChangedEvent.Status, SuborderId = orderStatusChangedEvent.SubOrderId }; | |||||
try | |||||
{ | |||||
string header = $"[{InternetInfo.OrderServer}/order/robotstatuschange]_[{DateTime.Now.Ticks}]".AESEncrypt(); | |||||
string url = $"{InternetInfo.OrderServer}/order/robotstatuschange"; | |||||
result = APIHelper.GetInstance.HttpRequest(url, header, orderStatusChange, RequestType.POST); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
MessageLog.GetInstance.ShowEx(ex.ToString()); | |||||
} | |||||
var res = JsonConvert.DeserializeObject<OrderStatusRsp>(result); | |||||
MessageLog.GetInstance.ShowEx(string.Format("订单状态改变,调用API执行结果{0}", res == null ? false : res.isSuccess)); | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 资源释放 | /// 资源释放 | ||||
/// </summary> | /// </summary> | ||||
@@ -0,0 +1,42 @@ | |||||
using BPASmartClient.Helper; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPASmartClient.Business | |||||
{ | |||||
/// <summary> | |||||
/// 状态管理器 | |||||
/// </summary> | |||||
public class StatusMgr : IPlugin | |||||
{ | |||||
//运行标识 | |||||
private bool running = false; | |||||
//设备管理 | |||||
private DeviceMgr deviceMgr; | |||||
private Dictionary<int, Dictionary<string, object>> deviceStatus = new Dictionary<int, Dictionary<string, object>>(); | |||||
public void Initialize() | |||||
{ | |||||
deviceMgr = Plugin.GetInstance().GetPlugin<DeviceMgr>(); | |||||
ThreadManage.GetInstance().StartLong(() => | |||||
{ | |||||
while (running) | |||||
{ | |||||
foreach (var device in deviceMgr.GetDevices()) | |||||
{ | |||||
deviceStatus[device.DeviceId] = device.Status.GetStatus(); | |||||
} | |||||
Thread.Sleep(50); | |||||
} | |||||
}, "MQTT 消息处理"); | |||||
} | |||||
public void Dispose() | |||||
{ | |||||
} | |||||
} | |||||
} |
@@ -29,8 +29,8 @@ namespace BPASmartClient.Business | |||||
PushHeartbeatTopics = new Dictionary<DeviceClientType, string>(); | PushHeartbeatTopics = new Dictionary<DeviceClientType, string>(); | ||||
foreach (var device in devices) | foreach (var device in devices) | ||||
{ | { | ||||
SubscribTopics.Add(TOPIC.GetInstance.GetOrderPushTopic(device.DeviceType, InternetInfo.ClientId)); | |||||
SubscribTopics.Add(TOPIC.GetInstance.GetBusinessTopic(device.DeviceType, InternetInfo.ClientId)); | |||||
SubscribTopics.Add(TOPIC.GetInstance.GetOrderPushTopic(device.DeviceType, Plugin.GetInstance().GetPlugin<ConfigMgr>().ClientId)); | |||||
SubscribTopics.Add(TOPIC.GetInstance.GetBusinessTopic(device.DeviceType, Plugin.GetInstance().GetPlugin<ConfigMgr>().ClientId)); | |||||
PushHeartbeatTopics.Add(device.DeviceType, TOPIC.GetInstance.GetHeatbeatTopic(device.DeviceType)); | PushHeartbeatTopics.Add(device.DeviceType, TOPIC.GetInstance.GetHeatbeatTopic(device.DeviceType)); | ||||
} | } | ||||
@@ -1,4 +1,5 @@ | |||||
using System; | using System; | ||||
using System.Collections.Concurrent; | |||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
@@ -8,10 +9,16 @@ namespace BPASmartClient.Device | |||||
{ | { | ||||
public class DeviceStatus | public class DeviceStatus | ||||
{ | { | ||||
public Dictionary<string,object> status=new Dictionary<string,object>(); | |||||
public ConcurrentDictionary<string, object> status = new ConcurrentDictionary<string, object>(); | |||||
public void Update(string key, object value) { | |||||
status[key] = value; | |||||
public void Update(string key, object value) | |||||
{ | |||||
status.AddOrUpdate(key, value, (key, value) => value); | |||||
} | |||||
public Dictionary<string, object> GetStatus() | |||||
{ | |||||
return status.ToDictionary(x => x.Key, x => x.Value); | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -5,7 +5,7 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.MQTTClient" Version="1.0.9" /> | |||||
<PackageReference Include="BPA.MQTTClient" Version="1.0.10" /> | |||||
<PackageReference Include="BPA.MQTTnet" Version="1.0.3" /> | <PackageReference Include="BPA.MQTTnet" Version="1.0.3" /> | ||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> | <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -1,4 +1,8 @@ | |||||
using Microsoft.Extensions.Configuration; | |||||
using BPA.MQTTClient; | |||||
using Microsoft.Extensions.Configuration; | |||||
using MQTTnet; | |||||
using MQTTnet.Client; | |||||
using MQTTnet.Client.Receiving; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.IO; | using System.IO; | ||||
@@ -16,34 +20,54 @@ namespace BPASmartClient.MQTT | |||||
public bool IsConnected { get; set; } | public bool IsConnected { get; set; } | ||||
public void Init() | |||||
{ | |||||
//IConfigurationBuilder configurationBuilder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()); | |||||
//IConfiguration config = configurationBuilder.Build(); | |||||
//configurationBuilder. | |||||
//var mqttBroker = config.GetSection("BrokerHostSettings"); | |||||
//MQTT_Config = mqttBroker.Value.FromJSON<MQTT_Entity>(); | |||||
} | |||||
private IMqttClient client; | |||||
public void Connect(string ip, int port, string clientId) | public void Connect(string ip, int port, string clientId) | ||||
{ | { | ||||
IConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); | |||||
configurationBuilder.AddMqttClientHostedService(p => | |||||
{ | |||||
p.Server = ip; | |||||
p.Port = port; | |||||
p.UserName = "rafiul"; | |||||
p.Password = "12345678"; | |||||
p.mqttClientConnectedHandlerDelegate = new MQTTnet.Client.Connecting.MqttClientConnectedHandlerDelegate(e => | |||||
{ | |||||
IsConnected = true; | |||||
Connected?.Invoke(); | |||||
}); | |||||
//p.mqttClientDisconnectedHandlerDelegate = new MQTTnet.Client.Disconnecting.MqttClientDisconnectedHandlerDelegate(e => | |||||
//{ | |||||
// IsConnected = false; | |||||
// LostConnect?.Invoke(); | |||||
//}); | |||||
p.ConnectedResult += (s, e) => | |||||
{ | |||||
client = e; | |||||
}; | |||||
p.MqttApplicationMessageReceivedHandler = new MqttApplicationMessageReceivedHandlerDelegate(e => | |||||
{ | |||||
MessageRecive?.Invoke(Encoding.Default.GetString(e.ApplicationMessage.Payload)); | |||||
}); | |||||
}); | |||||
} | } | ||||
public void CloseConnect() | public void CloseConnect() | ||||
{ | { | ||||
client.Dispose(); | |||||
} | } | ||||
public void Publish(string topic, string content) | |||||
public async void Publish(string topic, string content) | |||||
{ | { | ||||
await client.PublishAsync(topic, content); | |||||
} | } | ||||
public void Subscrib(params string[] topic) | |||||
public async void Subscrib(params string[] topics) | |||||
{ | { | ||||
foreach (var topic in topics) | |||||
{ | |||||
await client.SubscribeAsync(new MqttTopicFilter() { Topic = topic, QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce}); | |||||
} | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -0,0 +1,24 @@ | |||||
using BPA.Message.Enum; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPASmartClient.Model | |||||
{ | |||||
/// <summary> | |||||
/// 订单状态改变事件 | |||||
/// </summary> | |||||
public class OrderStatusChangedEvent:BaseEvent | |||||
{ | |||||
/// <summary> | |||||
/// 子订单ID | |||||
/// </summary> | |||||
public string SubOrderId { get; set; } | |||||
/// <summary> | |||||
/// 状态 | |||||
/// </summary> | |||||
public ORDER_STATUS Status { get; set; } | |||||
} | |||||
} |
@@ -0,0 +1,24 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPASmartClient.Model | |||||
{ | |||||
public class OrderStatusRsp | |||||
{ | |||||
/// <summary> | |||||
/// 子订单ID | |||||
/// </summary> | |||||
public string SuborderId { get; set; } | |||||
/// <summary> | |||||
/// 订单状态 | |||||
/// </summary> | |||||
public int Result { get; set; } = 0; | |||||
public bool isSuccess { get; set; } | |||||
public bool data { get; set; } | |||||
public string msg { get; set; } | |||||
} | |||||
} |
@@ -1,9 +0,0 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | |||||
<PropertyGroup> | |||||
<TargetFramework>net6.0</TargetFramework> | |||||
<ImplicitUsings>enable</ImplicitUsings> | |||||
<Nullable>enable</Nullable> | |||||
</PropertyGroup> | |||||
</Project> |
@@ -1,7 +0,0 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | |||||
<PropertyGroup> | |||||
<TargetFramework>net6.0</TargetFramework> | |||||
</PropertyGroup> | |||||
</Project> |
@@ -1,8 +0,0 @@ | |||||
using System; | |||||
namespace BPASmartClient.Status | |||||
{ | |||||
public class Class1 | |||||
{ | |||||
} | |||||
} |
@@ -1,26 +1,29 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | <?xml version="1.0" encoding="utf-8" ?> | ||||
<configuration> | <configuration> | ||||
<appSettings> | |||||
<!--通用配置--> | |||||
<appSettings> | |||||
<!--通用配置--> | |||||
<!--测试服务 Consul 地址--> | |||||
<add key="ConsulAddress" value="http://111.9.47.105:9011/" /> | |||||
<!--测试服务 Consul 地址--> | |||||
<add key="ConsulAddress" value="http://111.9.47.105:9011/" /> | |||||
<!--正式服务 Consul 地址--> | |||||
<!--<add key="ConsulAddress" value="http://162.14.105.138:9005" />--> | |||||
<!--正式服务 Consul 地址--> | |||||
<!--<add key="ConsulAddress" value="http://162.14.105.138:9005" />--> | |||||
<!--客户端ID--> | |||||
<!--1:且时且多冰淇淋咖啡机,2:且时且多煮面机,3:海科煮面机测试店铺--> | |||||
<add key="ClientId" value="12"/> | |||||
<add key="ApolloUri" value="http://10.2.1.21:28080"/> | |||||
<!--客户端ID--> | |||||
<!--1:且时且多冰淇淋咖啡机,2:且时且多煮面机,3:海科煮面机测试店铺--> | |||||
<add key="ClientId" value="12"/> | |||||
<add key="ApolloUri" value="http://10.2.1.21:28080"/> | |||||
<add key="OrderServiceUri" value="http://10.2.1.26:21527/order/"/> | |||||
<add key="StockServiceUri" value="http://10.2.1.26:21527/stock/"/> | |||||
<add key="COM_Coffee" value="COM3"/> | |||||
<add key="BAUD_Coffee" value="115200"/> | |||||
<add key="COM_IceCream" value="COM12"/> | |||||
<add key="BAUD_IceCream" value="9600"/> | |||||
<add key="IceCream_CXB_Threshold" value="90"/> | |||||
<add key="COM_ICChip" value="COM6"/> | |||||
<add key="BAUD_IChip" value="9600"/> | |||||
</appSettings> | |||||
<add key="COM_Coffee" value="COM3"/> | |||||
<add key="BAUD_Coffee" value="115200"/> | |||||
<add key="COM_IceCream" value="COM12"/> | |||||
<add key="BAUD_IceCream" value="9600"/> | |||||
<add key="IceCream_CXB_Threshold" value="90"/> | |||||
<add key="COM_ICChip" value="COM6"/> | |||||
<add key="BAUD_IChip" value="9600"/> | |||||
</appSettings> | |||||
</configuration> | </configuration> |
@@ -41,8 +41,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Helper", "BP | |||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Message", "BPASmartClient.Message\BPASmartClient.Message.csproj", "{C517D33F-8800-405E-9D59-E1F6CA201431}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Message", "BPASmartClient.Message\BPASmartClient.Message.csproj", "{C517D33F-8800-405E-9D59-E1F6CA201431}" | ||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Status", "BPASmartClient.Status\BPASmartClient.Status.csproj", "{2C8DAB92-D5EB-4462-87C1-0BED75B26C54}" | |||||
EndProject | |||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.IoT", "BPASmartClient.IoT\BPASmartClient.IoT.csproj", "{D3DBCC2D-086E-4E3A-B70A-22A79FB295CF}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.IoT", "BPASmartClient.IoT\BPASmartClient.IoT.csproj", "{D3DBCC2D-086E-4E3A-B70A-22A79FB295CF}" | ||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient", "BPASmartClient\BPASmartClient.csproj", "{2BA531E8-7F85-4EBF-AE97-811CD7C83EF2}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient", "BPASmartClient\BPASmartClient.csproj", "{2BA531E8-7F85-4EBF-AE97-811CD7C83EF2}" | ||||
@@ -57,8 +55,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Socket", "BP | |||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Peripheral", "BPASmartClient.Peripheral\BPASmartClient.Peripheral.csproj", "{9F5E2879-972A-45FB-913C-89E9F0CEB189}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Peripheral", "BPASmartClient.Peripheral\BPASmartClient.Peripheral.csproj", "{9F5E2879-972A-45FB-913C-89E9F0CEB189}" | ||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.OrderProxy", "BPASmartClient.OrderProxy\BPASmartClient.OrderProxy.csproj", "{EBDFF87C-0B98-4BB5-8760-D86964E38A88}" | |||||
EndProject | |||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MessageCommunication", "BPASmartClient.MessageCommunication\BPASmartClient.MessageCommunication.csproj", "{DCC07B39-E342-4841-B9E4-4D44DA2978FD}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MessageCommunication", "BPASmartClient.MessageCommunication\BPASmartClient.MessageCommunication.csproj", "{DCC07B39-E342-4841-B9E4-4D44DA2978FD}" | ||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.EventBus", "BPASmartClient.EventBus\BPASmartClient.EventBus.csproj", "{C7FC5FC8-4C72-4CD3-973E-327BDA880DF5}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.EventBus", "BPASmartClient.EventBus\BPASmartClient.EventBus.csproj", "{C7FC5FC8-4C72-4CD3-973E-327BDA880DF5}" | ||||
@@ -76,7 +72,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.CustomResour | |||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lebai.SDK", "Lebai.SDK\Lebai.SDK.csproj", "{3A55F68A-D526-4CFC-A5A6-B69FB76716C2}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lebai.SDK", "Lebai.SDK\Lebai.SDK.csproj", "{3A55F68A-D526-4CFC-A5A6-B69FB76716C2}" | ||||
EndProject | EndProject | ||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BPASmartClient.MORKSM.BK.PLC", "BPASmartClient.MORKSM.BK.PLC\BPASmartClient.MORKSM.BK.PLC.csproj", "{7F04A788-38B5-42CB-B601-70C657C953B8}" | |||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MORKSM.BK.PLC", "BPASmartClient.MORKSM.BK.PLC\BPASmartClient.MORKSM.BK.PLC.csproj", "{7F04A788-38B5-42CB-B601-70C657C953B8}" | |||||
EndProject | EndProject | ||||
Global | Global | ||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||
@@ -136,10 +132,6 @@ Global | |||||
{C517D33F-8800-405E-9D59-E1F6CA201431}.Debug|Any CPU.Build.0 = Debug|Any CPU | {C517D33F-8800-405E-9D59-E1F6CA201431}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{C517D33F-8800-405E-9D59-E1F6CA201431}.Release|Any CPU.ActiveCfg = Release|Any CPU | {C517D33F-8800-405E-9D59-E1F6CA201431}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
{C517D33F-8800-405E-9D59-E1F6CA201431}.Release|Any CPU.Build.0 = Release|Any CPU | {C517D33F-8800-405E-9D59-E1F6CA201431}.Release|Any CPU.Build.0 = Release|Any CPU | ||||
{2C8DAB92-D5EB-4462-87C1-0BED75B26C54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||||
{2C8DAB92-D5EB-4462-87C1-0BED75B26C54}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||||
{2C8DAB92-D5EB-4462-87C1-0BED75B26C54}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||||
{2C8DAB92-D5EB-4462-87C1-0BED75B26C54}.Release|Any CPU.Build.0 = Release|Any CPU | |||||
{D3DBCC2D-086E-4E3A-B70A-22A79FB295CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | {D3DBCC2D-086E-4E3A-B70A-22A79FB295CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||||
{D3DBCC2D-086E-4E3A-B70A-22A79FB295CF}.Debug|Any CPU.Build.0 = Debug|Any CPU | {D3DBCC2D-086E-4E3A-B70A-22A79FB295CF}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{D3DBCC2D-086E-4E3A-B70A-22A79FB295CF}.Release|Any CPU.ActiveCfg = Release|Any CPU | {D3DBCC2D-086E-4E3A-B70A-22A79FB295CF}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
@@ -168,10 +160,6 @@ Global | |||||
{9F5E2879-972A-45FB-913C-89E9F0CEB189}.Debug|Any CPU.Build.0 = Debug|Any CPU | {9F5E2879-972A-45FB-913C-89E9F0CEB189}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{9F5E2879-972A-45FB-913C-89E9F0CEB189}.Release|Any CPU.ActiveCfg = Release|Any CPU | {9F5E2879-972A-45FB-913C-89E9F0CEB189}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
{9F5E2879-972A-45FB-913C-89E9F0CEB189}.Release|Any CPU.Build.0 = Release|Any CPU | {9F5E2879-972A-45FB-913C-89E9F0CEB189}.Release|Any CPU.Build.0 = Release|Any CPU | ||||
{EBDFF87C-0B98-4BB5-8760-D86964E38A88}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||||
{EBDFF87C-0B98-4BB5-8760-D86964E38A88}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||||
{EBDFF87C-0B98-4BB5-8760-D86964E38A88}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||||
{EBDFF87C-0B98-4BB5-8760-D86964E38A88}.Release|Any CPU.Build.0 = Release|Any CPU | |||||
{DCC07B39-E342-4841-B9E4-4D44DA2978FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | {DCC07B39-E342-4841-B9E4-4D44DA2978FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||||
{DCC07B39-E342-4841-B9E4-4D44DA2978FD}.Debug|Any CPU.Build.0 = Debug|Any CPU | {DCC07B39-E342-4841-B9E4-4D44DA2978FD}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{DCC07B39-E342-4841-B9E4-4D44DA2978FD}.Release|Any CPU.ActiveCfg = Release|Any CPU | {DCC07B39-E342-4841-B9E4-4D44DA2978FD}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
@@ -218,7 +206,6 @@ Global | |||||
{B399BCFF-82E8-4940-9CE5-B7DCDDFDC696} = {9FB27073-61A0-4FE3-94DB-5FDDE062332F} | {B399BCFF-82E8-4940-9CE5-B7DCDDFDC696} = {9FB27073-61A0-4FE3-94DB-5FDDE062332F} | ||||
{A2A5CB83-11C7-4534-A65D-6F957B60EEFF} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | {A2A5CB83-11C7-4534-A65D-6F957B60EEFF} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | ||||
{C517D33F-8800-405E-9D59-E1F6CA201431} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | {C517D33F-8800-405E-9D59-E1F6CA201431} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | ||||
{2C8DAB92-D5EB-4462-87C1-0BED75B26C54} = {6CEA3385-6F62-452A-8275-033A6037235D} | |||||
{D3DBCC2D-086E-4E3A-B70A-22A79FB295CF} = {6CEA3385-6F62-452A-8275-033A6037235D} | {D3DBCC2D-086E-4E3A-B70A-22A79FB295CF} = {6CEA3385-6F62-452A-8275-033A6037235D} | ||||
{2BA531E8-7F85-4EBF-AE97-811CD7C83EF2} = {8712125E-14CD-4E1B-A1CE-4BDE03805942} | {2BA531E8-7F85-4EBF-AE97-811CD7C83EF2} = {8712125E-14CD-4E1B-A1CE-4BDE03805942} | ||||
{4E393E60-D39A-4118-8BD5-427DC72E9ACE} = {8712125E-14CD-4E1B-A1CE-4BDE03805942} | {4E393E60-D39A-4118-8BD5-427DC72E9ACE} = {8712125E-14CD-4E1B-A1CE-4BDE03805942} | ||||
@@ -226,7 +213,6 @@ Global | |||||
{7D290C8E-ACA7-4F03-91DF-D507FB3E2E87} = {3D1D0E04-03FD-480A-8CF8-6E01A2E28625} | {7D290C8E-ACA7-4F03-91DF-D507FB3E2E87} = {3D1D0E04-03FD-480A-8CF8-6E01A2E28625} | ||||
{F9AD1657-7FF9-470F-BE7F-2379ADAC0BB0} = {3D1D0E04-03FD-480A-8CF8-6E01A2E28625} | {F9AD1657-7FF9-470F-BE7F-2379ADAC0BB0} = {3D1D0E04-03FD-480A-8CF8-6E01A2E28625} | ||||
{9F5E2879-972A-45FB-913C-89E9F0CEB189} = {666CB1A9-562E-453A-A2C7-FD9D77CFDFDD} | {9F5E2879-972A-45FB-913C-89E9F0CEB189} = {666CB1A9-562E-453A-A2C7-FD9D77CFDFDD} | ||||
{EBDFF87C-0B98-4BB5-8760-D86964E38A88} = {6CEA3385-6F62-452A-8275-033A6037235D} | |||||
{DCC07B39-E342-4841-B9E4-4D44DA2978FD} = {3D1D0E04-03FD-480A-8CF8-6E01A2E28625} | {DCC07B39-E342-4841-B9E4-4D44DA2978FD} = {3D1D0E04-03FD-480A-8CF8-6E01A2E28625} | ||||
{C7FC5FC8-4C72-4CD3-973E-327BDA880DF5} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | {C7FC5FC8-4C72-4CD3-973E-327BDA880DF5} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | ||||
{268012B6-C4FC-4C40-802C-74D5FAD3CA45} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | {268012B6-C4FC-4C40-802C-74D5FAD3CA45} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | ||||