|
@@ -45,7 +45,8 @@ namespace MWS.Domain.Tasks.Weighing
|
|
|
private Device device;
|
|
|
private List<Zigbee> zigbees;
|
|
|
private IZigbee zigbeeManager;
|
|
|
-
|
|
|
+ private float oldWeight1 =0;
|
|
|
+ private float oldWeight2 = 0;
|
|
|
/// <summary>
|
|
|
/// 获取或设置当前的服务器连接是否成功,定时获取本属性可用于实时更新连接状态信息
|
|
|
/// </summary>
|
|
@@ -201,9 +202,10 @@ namespace MWS.Domain.Tasks.Weighing
|
|
|
try
|
|
|
{
|
|
|
int bytesRead = peerSock.EndReceive(ar);
|
|
|
- if (bytesRead >= 20)
|
|
|
+ if (bytesRead >= 20&&bytesRead<100)
|
|
|
{
|
|
|
int index = 0;
|
|
|
+ int count = 0;
|
|
|
while (index < bytesRead)
|
|
|
{
|
|
|
//00 01 02 24 31 26 20 20 31 39 36 32 20 20 20 20 20 30 0D 6C
|
|
@@ -241,9 +243,9 @@ namespace MWS.Domain.Tasks.Weighing
|
|
|
#region 发送实时数据
|
|
|
var mqttMessage = new MqttApplicationMessage
|
|
|
{
|
|
|
- Topic = "WeightRealTimeData"+id,
|
|
|
+ Topic = "WeightRealTimeData" + id,
|
|
|
Payload = Encoding.UTF8.GetBytes(new JObject(
|
|
|
-
|
|
|
+
|
|
|
new JProperty("DeviceId", id),
|
|
|
new JProperty("NetWeight", weightTemp),
|
|
|
new JProperty("OverLoad", overLoad),
|
|
@@ -253,9 +255,61 @@ namespace MWS.Domain.Tasks.Weighing
|
|
|
var publishResult = _mqttClient.PublishMessage(mqttMessage);
|
|
|
if (!publishResult.IsSuccess)
|
|
|
{
|
|
|
- LogHelper.WriteLog("发布主题“WeightRealTimeData”时失败!错误:" + publishResult.Message);
|
|
|
+ LogHelper.WriteLog("发布主题“WeightRealTimeData" + id + "”时失败!错误:" + publishResult.Message);
|
|
|
}
|
|
|
#endregion
|
|
|
+ //#region 数据无变化时不发推送
|
|
|
+ //if (id==zigbees[0].Code)
|
|
|
+ //{
|
|
|
+ // if (oldWeight1!=weightTemp)
|
|
|
+ // {
|
|
|
+ // oldWeight1 = weightTemp;
|
|
|
+ // #region 发送实时数据
|
|
|
+ // var mqttMessage = new MqttApplicationMessage
|
|
|
+ // {
|
|
|
+ // Topic = "WeightRealTimeData" + id,
|
|
|
+ // Payload = Encoding.UTF8.GetBytes(new JObject(
|
|
|
+
|
|
|
+ // new JProperty("DeviceId", id),
|
|
|
+ // new JProperty("NetWeight", weightTemp),
|
|
|
+ // new JProperty("OverLoad", overLoad),
|
|
|
+ // new JProperty("IsSteady", isSteady)
|
|
|
+ // ).ToString())
|
|
|
+ // };
|
|
|
+ // var publishResult = _mqttClient.PublishMessage(mqttMessage);
|
|
|
+ // if (!publishResult.IsSuccess)
|
|
|
+ // {
|
|
|
+ // LogHelper.WriteLog("发布主题“WeightRealTimeData" + id + "”时失败!错误:" + publishResult.Message);
|
|
|
+ // }
|
|
|
+ // #endregion
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //else
|
|
|
+ //{
|
|
|
+ // if (oldWeight2 != weightTemp)
|
|
|
+ // {
|
|
|
+ // oldWeight2 = weightTemp;
|
|
|
+ // #region 发送实时数据
|
|
|
+ // var mqttMessage = new MqttApplicationMessage
|
|
|
+ // {
|
|
|
+ // Topic = "WeightRealTimeData" + id,
|
|
|
+ // Payload = Encoding.UTF8.GetBytes(new JObject(
|
|
|
+
|
|
|
+ // new JProperty("DeviceId", id),
|
|
|
+ // new JProperty("NetWeight", weightTemp),
|
|
|
+ // new JProperty("OverLoad", overLoad),
|
|
|
+ // new JProperty("IsSteady", isSteady)
|
|
|
+ // ).ToString())
|
|
|
+ // };
|
|
|
+ // var publishResult = _mqttClient.PublishMessage(mqttMessage);
|
|
|
+ // if (!publishResult.IsSuccess)
|
|
|
+ // {
|
|
|
+ // LogHelper.WriteLog("发布主题“WeightRealTimeData" + id + "”时失败!错误:" + publishResult.Message);
|
|
|
+ // }
|
|
|
+ // #endregion
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //#endregion
|
|
|
|
|
|
if (id==zigbees[0].Code)
|
|
|
{
|
|
@@ -289,7 +343,7 @@ namespace MWS.Domain.Tasks.Weighing
|
|
|
if (weight > _systemConfig.WeightItem.Threshold)
|
|
|
{
|
|
|
var teamId = GetCurrentTeam();
|
|
|
- weightManager.Insert(new Record
|
|
|
+ var recordId= weightManager.Insert(new Record
|
|
|
{
|
|
|
|
|
|
Device = zigbees[0].Id,
|
|
@@ -300,11 +354,14 @@ namespace MWS.Domain.Tasks.Weighing
|
|
|
CreationTime = DateTime.Now,
|
|
|
Team = teamId
|
|
|
});
|
|
|
+ //获取最新id
|
|
|
+
|
|
|
#region 发送称重数据
|
|
|
mqttMessage = new MqttApplicationMessage
|
|
|
{
|
|
|
Topic = "WeighingData",
|
|
|
Payload = Encoding.UTF8.GetBytes(new JObject(
|
|
|
+ new JProperty("recordId", recordId),
|
|
|
new JProperty("DeviceId", zigbees[0].Id),
|
|
|
new JProperty("NetWeight", weight),
|
|
|
new JProperty("TeamId", teamId)
|
|
@@ -403,8 +460,13 @@ namespace MWS.Domain.Tasks.Weighing
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
|
|
|
+ count++;
|
|
|
+ //break;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (count>=2)
|
|
|
+ {
|
|
|
break;
|
|
|
}
|
|
|
}
|