From 5f888ec7769f3b6dc28723824f9293f447ffbdc7 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期四, 12 九月 2024 20:26:33 +0800
Subject: [PATCH] Update Send.cs
---
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 415 +++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 287 insertions(+), 128 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
index 2c645ad..ca2a17b 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -10,20 +10,20 @@
{
/// <summary>
/// 瀹氫箟涓�涓潤鎬佸璞�
- /// </summary>
- private static LogicMethod logicMethod = null;
+ /// </summary>
+ private static LogicMethod s_Current = null;
/// <summary>
/// 鑾峰彇闈欐�佸璞�
/// </summary>
- public static LogicMethod CurrLogicMethod
+ public static LogicMethod Current
{
get
{
- if (logicMethod == null)
+ if (s_Current == null)
{
return new LogicMethod();
}
- return logicMethod;
+ return s_Current;
}
}
@@ -131,7 +131,7 @@
/// <param name="dic">Dictionary绫�</param>
/// <param name="key">鍋�</param>
/// <param name="value">鍊�</param>
- public void dictionary(Dictionary<string, string> dic, string key, string value)
+ public void dictionary(Dictionary<string, string> dic, string key, string value)
{
if (dic.ContainsKey(key)) //鍒ゆ柇鏄惁瀛樺湪閿��
{
@@ -147,9 +147,9 @@
/// <returns></returns>
public List<HDL_ON.Entity.Room> GetGatewayRoomList()
{
- return HDL_ON.Entity.SpatialInfo.CurrentSpatial.RoomList;
+ return HDL_ON.Entity.SpatialInfo.CurrentSpatial.RoomList;
-
+
}
/// <summary>
/// 鑾峰彇缃戝叧鎴块棿鍒楄〃
@@ -182,9 +182,40 @@
/// <returns></returns>
public List<HDL_ON.Entity.Function> GetGatewayDeviceList()
{
- var list = Entity.FunctionList.List.GetDeviceFunctionList();
- //return GetTestDevice(list, true);
+ var list = new List<HDL_ON.Entity.Function>();
+ var list1 = Entity.FunctionList.List.GetDeviceFunctionList();
+ var list2 = this.GetVideoDeviceList();
+ list.AddRange(list1);
+ list.AddRange(list2);
+ list.AddRange(FunctionList.List.groupControls);
+#if DEBUG
+ //GetTestDevice(ref list, true);
+#endif
return list;
+ }
+ /// <summary>
+ /// 鑾峰彇鍙瀵硅璁惧鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public List<HDL_ON.Entity.Function> GetVideoDeviceList()
+ {
+ var functionList = new List<Function>();
+ foreach (var videoDevice in FunctionList.List.videoIntercom)
+ {
+ Function function = new Function();
+ function.spk = videoDevice.spk;
+ function.name = videoDevice.deviceName;
+ function.deviceId = videoDevice.deviceId;
+ function.setOnine( videoDevice.status == "online");
+ function.sid = videoDevice.sid;
+ var video = functionList.Find((o) => o.deviceId == function.deviceId);
+ if (video == null)
+ {
+ functionList.Add(function);
+ }
+
+ }
+ return functionList;
}
/// <summary>
/// 鑾峰彇鍦烘櫙鍒楄〃
@@ -315,102 +346,39 @@
return roomName.TrimEnd(',');
}
- #region 鍔ㄤ竴鏀瑰洓
+
/// <summary>
/// 鑾峰彇璁惧绫诲瀷鍥炬爣
/// </summary>
- /// <param name="functionType">璁惧绫诲瀷</param>
+ /// <param name="device">璁惧</param>
/// <returns></returns>
- public string GetIconPath(string functionType)
+ public string GetDeviceIconPath(Function device)
{
- string strPath = "";
- switch (functionType)
+ if (SPK.MusicStandard == device.spk
+ || SPK.AvMusic == device.spk)
{
-
- case SPK.AirSwitch:
- {
- strPath = "FunctionIcon/Icon/electricalbreaker.png";
- }
- break;
- case SPK.PanelSocket:
- case SPK.ElectricSocket:
- {
- strPath = "FunctionIcon/Icon/electricalsocket.png";
- }
- break;
- case SPK.LightSwitch:
- case SPK.LightRGB:
- case SPK.LightRGBW:
- case SPK.LightCCT:
- case SPK.LightDimming:
- {
- strPath = "LogicIcon/lightloguc.png";
- }
- break;
- case SPK.CurtainSwitch:
- case SPK.CurtainRoller:
- case SPK.CurtainTrietex:
- case SPK.CurtainDream:
- {
- strPath = "LogicIcon/curtainlogic.png";
- }
- break;
- case SPK.AcStandard:
- case SPK.HvacAC:
- {
- strPath = "LogicIcon/airconditionerlogic.png";
- }
- break;
- case SPK.HvacCac:
- strPath = "FunctionIcon/Icon/hvaccac.png";
- break;
- case SPK.FloorHeatStandard:
- case SPK.HvacFloorHeat:
- {
- strPath = "LogicIcon/heatlogic.png";
- }
- break;
- case SPK.AirFreshStandard:
- case SPK.HvacAirFresh:
- {
- strPath = "LogicIcon/heatlogic.png";
- }
- break;
- case SPK.SensorSmoke:
- case SPK.SensorWater:
- case SPK.SensorGas:
- case SPK.SensorDryContact:
- case SPK.SensorDryContact2:
- case SPK.SensorShanLan:
- case SPK.SensorDuiShe:
- case SPK.SensorPir:
- case SPK.SensorDoorWindow:
- case SPK.SensorUtrasonic:
- case SPK.SenesorMegahealth:
- case SPK.SenesorMegahealth2:
- case SPK.SensorEnvironment:
- case SPK.SensorEnvironment2:
- case SPK.SensorEnvironment3:
- case SPK.SensorTemperature:
- case SPK.SensorHumidity:
- case SPK.SensorCO2:
- case SPK.SensorPm25:
- case SPK.SensorTVOC:
- case SPK.SensorHcho:
- case SPK.SensorHelp:
- {
- strPath = "LogicIcon/sensor.png";
- }
- break;
- case SPK.DoorLock:
- {
- strPath = "FunctionIcon/DoorLock/DoorLock.png";
- }
- break;
-
+ return "MusicIcon/localMusic.png";
}
- return strPath;
+ else if (SPK.SensorPm10 == device.spk
+ || SPK.SensorPirHold == device.spk
+ )
+ {
+ return "LogicIcon/sensor.png";
+ }
+ else if (SPK.DoorLock == device.spk
+ || SPK.VideoDoorLock == device.spk)
+ {
+ return "FunctionIcon/DoorLock/DoorLock.png";
+ }
+ else if (SPK.ElectricalTvHisense == device.spk)
+ {
+ return "LogicIcon/electricaltvhisense.png";
+ }
+ return $"FunctionIcon/Icon/{device.IconName}.png";
+
}
+
+ #region 鍔ㄤ竴鏀逛笁
/// <summary>
/// 璁惧绫诲瀷鐨勫垪琛�(鐏厜绫伙紝绐楀笜绫汇�傘�傘��)
/// </summary>
@@ -420,6 +388,15 @@
{
List<string> deviceStrTypeList = new List<string>();
deviceStrTypeList.Clear();
+
+ //缇ゆ帶
+ var gp = deviceList.Find((device) =>
+ device.spk == SPK.GroupControl);
+ if (gp != null)
+ {
+ deviceStrTypeList.Add(Language.StringByID(StringId.GroupControl));
+ }
+
///鐏厜绫�
var lightjosn = deviceList.Find((device) =>
device.spk == SPK.LightSwitch
@@ -427,6 +404,7 @@
|| device.spk == SPK.LightCCT
|| device.spk == SPK.LightRGB
|| device.spk == SPK.LightRGBW
+ || device.spk == SPK.OtherCommon
);
if (lightjosn != null)
{
@@ -444,13 +422,13 @@
deviceStrTypeList.Add(Language.StringByID(StringId.Curtain));
}
///绌鸿皟绫�
- var ac = deviceList.Find((device) => device.spk == SPK.AcStandard || device.spk == SPK.HvacAC);
+ var ac = deviceList.Find((device) => device.spk == SPK.AcStandard || device.spk == SPK.HvacAC|| device.spk == SPK.AcIr);
if (ac != null)
{
deviceStrTypeList.Add(Language.StringByID(StringId.AC));
}
///鍦版殩绫�
- var floorHeating = deviceList.Find((device) => device.spk == SPK.FloorHeatStandard || device.spk == SPK.HvacFloorHeat);
+ var floorHeating = deviceList.Find((device) => device.spk == SPK.FloorHeatStandard || device.spk == SPK.HvacFloorHeat || device.spk == SPK.HvacFloorHeatPanel);
if (floorHeating != null)
{
deviceStrTypeList.Add(Language.StringByID(StringId.FloorHeating));
@@ -472,9 +450,10 @@
|| device.spk == SPK.SensorPir
|| device.spk == SPK.SensorDoorWindow
|| device.spk == SPK.SensorUtrasonic
+ || device.spk == SPK.SensorMmvPose
|| device.spk == SPK.SenesorMegahealth
|| device.spk == SPK.SenesorMegahealth2
- || device.spk == SPK.SensorEnvironment
+ || device.spk == SPK.SensorEnvironment || device.spk == SPK.SensorEnvironmentHailin
|| device.spk == SPK.SensorEnvironment2
|| device.spk == SPK.SensorEnvironment3
|| device.spk == SPK.SensorTemperature
@@ -484,6 +463,9 @@
|| device.spk == SPK.SensorTVOC
|| device.spk == SPK.SensorHcho
|| device.spk == SPK.SensorHelp
+ || device.spk == SPK.SensorPm10
+ || device.spk == SPK.SensorPirHold
+ || device.spk == SPK.SensorLight
);
if (sensor != null)
{
@@ -494,16 +476,44 @@
device.spk == SPK.AirSwitch
|| device.spk == SPK.PanelSocket
|| device.spk == SPK.ElectricSocket
+ || device.spk == SPK.ElectricalTvHisense
);
if (electric != null)
{
deviceStrTypeList.Add(Language.StringByID(StringId.Electric));
}
///闂ㄩ攣绫�
- var doorlock = deviceList.Find((device) => device.spk == SPK.DoorLock);
+ var doorlock = deviceList.Find((device) => device.spk == SPK.DoorLock
+ || device.spk == SPK.VideoDoorLock);
if (doorlock != null)
{
deviceStrTypeList.Add(Language.StringByID(StringId.DoorLock));
+ }
+ ///闊充箰绫�
+ var music = deviceList.Find((device) => device.spk == SPK.MusicStandard || device.spk == SPK.AvMusic);
+ if (music != null)
+ {
+ deviceStrTypeList.Add(Language.StringByID(StringId.Music));
+ }
+ ///鍙瀵硅
+ var doorgate = deviceList.Find((device) => device.spk == SPK.doorgate);
+ if (doorgate != null)
+ {
+ deviceStrTypeList.Add(Language.StringByID(StringId.VideoIntercom));
+ }
+ ///鏈烘鎵嬬被
+ var MechanicalArm = deviceList.Find((device) =>
+ device.spk == SPK.MechanicalArm);
+ if (MechanicalArm != null)
+ {
+ deviceStrTypeList.Add(Language.StringByID(StringId.jixieshou));
+ }
+ ///鎽勫儚澶寸被
+ var camera = deviceList.Find((device) =>
+ device.spk == SPK.IpCam_Imou || device.spk == SPK.Ev_Ipcam || device.spk == SPK.Peephole);
+ if (camera != null)
+ {
+ deviceStrTypeList.Add(Language.StringByID(StringId.shexiangtou));
}
return deviceStrTypeList;
@@ -516,6 +526,7 @@
public List<string> GetDeviceTypeFunctionList(string deviceType)
{
List<string> functionTypeList = new List<string>();
+
///鐏厜绫�
if (deviceType == Language.StringByID(StringId.Lights))
{
@@ -527,6 +538,12 @@
functionTypeList.Add(SPK.AirSwitch);
functionTypeList.Add(SPK.PanelSocket);
functionTypeList.Add(SPK.ElectricSocket);
+ functionTypeList.Add(SPK.OtherCommon);
+ }
+ //缇ゆ帶
+ else if (deviceType == Language.StringByID(StringId.GroupControl))
+ {
+ functionTypeList.Add(SPK.GroupControl);
}
///绐楀笜绫�
else if (deviceType == Language.StringByID(StringId.Curtain))
@@ -542,11 +559,12 @@
functionTypeList.Add(SPK.AcStandard);
functionTypeList.Add(SPK.HvacAC);
functionTypeList.Add(SPK.HvacCac);
+ functionTypeList.Add(SPK.AcIr);
}
///鍦版殩绫�
else if (deviceType == Language.StringByID(StringId.FloorHeating))
{
- functionTypeList.Add(SPK.FloorHeatStandard); functionTypeList.Add(SPK.HvacFloorHeat);
+ functionTypeList.Add(SPK.FloorHeatStandard); functionTypeList.Add(SPK.HvacFloorHeat); functionTypeList.Add(SPK.HvacFloorHeatPanel);
}
///鏂伴绫�
else if (deviceType == Language.StringByID(StringId.AirFresh))
@@ -565,9 +583,10 @@
functionTypeList.Add(SPK.SensorPir);
functionTypeList.Add(SPK.SensorDoorWindow);
functionTypeList.Add(SPK.SensorUtrasonic);
+ functionTypeList.Add(SPK.SensorMmvPose);
functionTypeList.Add(SPK.SenesorMegahealth);
functionTypeList.Add(SPK.SenesorMegahealth2);
- functionTypeList.Add(SPK.SensorEnvironment);
+ functionTypeList.Add(SPK.SensorEnvironment); functionTypeList.Add(SPK.SensorEnvironmentHailin);
functionTypeList.Add(SPK.SensorEnvironment2);
functionTypeList.Add(SPK.SensorEnvironment3);
functionTypeList.Add(SPK.SensorTemperature);
@@ -577,6 +596,9 @@
functionTypeList.Add(SPK.SensorTVOC);
functionTypeList.Add(SPK.SensorHcho);
functionTypeList.Add(SPK.SensorHelp);
+ functionTypeList.Add(SPK.SensorPm10);
+ functionTypeList.Add(SPK.SensorPirHold);
+ functionTypeList.Add(SPK.SensorLight);
}
@@ -586,15 +608,43 @@
functionTypeList.Add(SPK.AirSwitch);
functionTypeList.Add(SPK.PanelSocket);
functionTypeList.Add(SPK.ElectricSocket);
+ functionTypeList.Add(SPK.ElectricalTvHisense);
}
///闂ㄩ攣绫�
else if (deviceType == Language.StringByID(StringId.DoorLock))
{
functionTypeList.Add(SPK.DoorLock);
+ functionTypeList.Add(SPK.VideoDoorLock);
+ }
+ ///闊充箰绫�
+ else if (deviceType == Language.StringByID(StringId.Music))
+ {
+ functionTypeList.Add(SPK.MusicStandard);
+ functionTypeList.Add(SPK.AvMusic);
+ }
+ ///HDL鍙瀵硅
+ else if (deviceType == Language.StringByID(StringId.VideoIntercom))
+ {
+ functionTypeList.Add(SPK.doorgate);
+ }
+ ///鏈烘鎵嬬被
+ else if (deviceType == Language.StringByID(StringId.jixieshou))
+ {
+ functionTypeList.Add(SPK.MechanicalArm);
+ }
+ ///鎽勫儚澶寸被
+ else if (deviceType == Language.StringByID(StringId.shexiangtou))
+ {
+ functionTypeList.Add(SPK.IpCam_Imou);
+ functionTypeList.Add(SPK.Ev_Ipcam);
+ functionTypeList.Add(SPK.Peephole);
}
else
{
//鍏ㄩ儴鍖哄煙
+ functionTypeList.Add(SPK.GroupControl);
+ functionTypeList.Add(SPK.Peephole);
+ functionTypeList.Add(SPK.Ev_Ipcam);
functionTypeList.Add(SPK.LightSwitch);
functionTypeList.Add(SPK.LightDimming);
functionTypeList.Add(SPK.LightRGB);
@@ -608,8 +658,9 @@
functionTypeList.Add(SPK.CurtainTrietex);
functionTypeList.Add(SPK.AcStandard);
functionTypeList.Add(SPK.HvacAC);
+ functionTypeList.Add(SPK.AcIr);
functionTypeList.Add(SPK.FloorHeatStandard);
- functionTypeList.Add(SPK.HvacFloorHeat);
+ functionTypeList.Add(SPK.HvacFloorHeat); functionTypeList.Add(SPK.HvacFloorHeatPanel);
functionTypeList.Add(SPK.AirFreshStandard);
functionTypeList.Add(SPK.HvacAirFresh);
functionTypeList.Add(SPK.SensorSmoke);
@@ -622,9 +673,10 @@
functionTypeList.Add(SPK.SensorPir);
functionTypeList.Add(SPK.SensorDoorWindow);
functionTypeList.Add(SPK.SensorUtrasonic);
+ functionTypeList.Add(SPK.SensorMmvPose);
functionTypeList.Add(SPK.SenesorMegahealth);
functionTypeList.Add(SPK.SenesorMegahealth2);
- functionTypeList.Add(SPK.SensorEnvironment);
+ functionTypeList.Add(SPK.SensorEnvironment); functionTypeList.Add(SPK.SensorEnvironmentHailin);
functionTypeList.Add(SPK.SensorEnvironment2);
functionTypeList.Add(SPK.SensorEnvironment3);
functionTypeList.Add(SPK.SensorTemperature);
@@ -640,6 +692,19 @@
functionTypeList.Add(SPK.SensorHelp);
functionTypeList.Add(SPK.DoorLock);
functionTypeList.Add(SPK.CurtainDream);
+ functionTypeList.Add(SPK.MusicStandard);
+ functionTypeList.Add(SPK.AvMusic);
+ functionTypeList.Add(SPK.doorgate);
+ functionTypeList.Add(SPK.MechanicalArm);
+ functionTypeList.Add(SPK.IpCam_Imou);
+ functionTypeList.Add(SPK.SensorPm10);
+ functionTypeList.Add(SPK.VideoDoorLock);
+ functionTypeList.Add(SPK.AcIr);
+ functionTypeList.Add(SPK.SensorPirHold);
+ functionTypeList.Add(SPK.ElectricalTvHisense);
+ functionTypeList.Add(SPK.SensorLight);
+ functionTypeList.Add(SPK.OtherCommon);
+
}
@@ -657,6 +722,8 @@
{
case condition_if:
{
+ deviceTypeList.Add(SPK.Ev_Ipcam);
+ deviceTypeList.Add(SPK.Peephole);
deviceTypeList.Add(SPK.LightSwitch);
deviceTypeList.Add(SPK.LightRGB);
deviceTypeList.Add(SPK.LightRGBW);
@@ -665,9 +732,9 @@
deviceTypeList.Add(SPK.CurtainSwitch);
deviceTypeList.Add(SPK.CurtainRoller);
deviceTypeList.Add(SPK.CurtainTrietex);
- deviceTypeList.Add(SPK.AcStandard); deviceTypeList.Add(SPK.HvacAC);
+ deviceTypeList.Add(SPK.AcStandard); deviceTypeList.Add(SPK.HvacAC);deviceTypeList.Add(SPK.AcIr);
deviceTypeList.Add(SPK.AirFreshStandard); deviceTypeList.Add(SPK.HvacAirFresh);
- deviceTypeList.Add(SPK.FloorHeatStandard); deviceTypeList.Add(SPK.HvacFloorHeat);
+ deviceTypeList.Add(SPK.FloorHeatStandard); deviceTypeList.Add(SPK.HvacFloorHeat); deviceTypeList.Add(SPK.HvacFloorHeatPanel);
deviceTypeList.Add(SPK.SensorSmoke);
deviceTypeList.Add(SPK.SensorWater);
deviceTypeList.Add(SPK.SensorGas);
@@ -677,9 +744,10 @@
deviceTypeList.Add(SPK.SensorPir);
deviceTypeList.Add(SPK.SensorDoorWindow);
deviceTypeList.Add(SPK.SensorUtrasonic);
+ deviceTypeList.Add(SPK.SensorMmvPose);
deviceTypeList.Add(SPK.SenesorMegahealth);
deviceTypeList.Add(SPK.SenesorMegahealth2);
- deviceTypeList.Add(SPK.SensorEnvironment);
+ deviceTypeList.Add(SPK.SensorEnvironment); deviceTypeList.Add(SPK.SensorEnvironmentHailin);
deviceTypeList.Add(SPK.SensorEnvironment2);
deviceTypeList.Add(SPK.SensorEnvironment3);
deviceTypeList.Add(SPK.SensorTemperature);
@@ -694,11 +762,19 @@
deviceTypeList.Add(SPK.HvacCac);
deviceTypeList.Add(SPK.SensorHelp);
deviceTypeList.Add(SPK.DoorLock);
+ deviceTypeList.Add(SPK.doorgate);
+ deviceTypeList.Add(SPK.IpCam_Imou);
+ deviceTypeList.Add(SPK.SensorPm10);
+ deviceTypeList.Add(SPK.VideoDoorLock);
+ deviceTypeList.Add(SPK.AcIr);
+ deviceTypeList.Add(SPK.SensorPirHold);
+ deviceTypeList.Add(SPK.SensorLight);
}
break;
case target_if:
{
+ deviceTypeList.Add(SPK.GroupControl);
deviceTypeList.Add(SPK.LightSwitch);
deviceTypeList.Add(SPK.LightRGB);
deviceTypeList.Add(SPK.LightRGBW);
@@ -707,13 +783,19 @@
deviceTypeList.Add(SPK.CurtainSwitch);
deviceTypeList.Add(SPK.CurtainRoller);
deviceTypeList.Add(SPK.CurtainTrietex);
- deviceTypeList.Add(SPK.AcStandard); deviceTypeList.Add(SPK.HvacAC);
- deviceTypeList.Add(SPK.FloorHeatStandard); deviceTypeList.Add(SPK.HvacFloorHeat);
+ deviceTypeList.Add(SPK.AcStandard); deviceTypeList.Add(SPK.HvacAC); deviceTypeList.Add(SPK.AcIr);
+ deviceTypeList.Add(SPK.FloorHeatStandard); deviceTypeList.Add(SPK.HvacFloorHeat); deviceTypeList.Add(SPK.HvacFloorHeatPanel);
deviceTypeList.Add(SPK.AirFreshStandard); deviceTypeList.Add(SPK.HvacAirFresh);
deviceTypeList.Add(SPK.AirSwitch);
deviceTypeList.Add(SPK.PanelSocket);
deviceTypeList.Add(SPK.ElectricSocket);
deviceTypeList.Add(SPK.CurtainDream);
+ deviceTypeList.Add(SPK.MusicStandard);
+ deviceTypeList.Add(SPK.AvMusic);
+ deviceTypeList.Add(SPK.MechanicalArm);
+ deviceTypeList.Add(SPK.AcIr);
+ deviceTypeList.Add(SPK.ElectricalTvHisense);
+ deviceTypeList.Add(SPK.OtherCommon);
}
break;
}
@@ -750,15 +832,15 @@
/// <returns></returns>
public List<Entity.Function> GetFunctionDeviceList(Entity.Room room, string str)
{
- List<string> functionTypeList = GetSupportEquipment(str);
+ List<string> functionTypeList = this.GetSupportEquipment(str);
//杩斿洖鎴块棿璁惧鍒楄〃
- var roomDeviceList = GetRoomDevice(room);
+ var roomDeviceList = this.GetRoomDevice(room);
//杩斿洖鏈�缁堟敮鎸佹樉绀哄嚭鏉ョ殑璁惧鍒楄〃
- var list = GetShowDeviceList(functionTypeList, roomDeviceList);
+ var list =this.GetShowDeviceList(functionTypeList, roomDeviceList);
return list;
}
/// <summary>
- /// 缃戝叧ID(鑾峰彇鍢変箰缃戝叧ID)
+ /// 缃戝叧ID(鑾峰彇缃戝叧ID)
/// </summary>
public string GatewayId
{
@@ -789,6 +871,63 @@
get
{
return Entity.DB_ResidenceData.Instance.CurrentRegion.isOtherShare;
+ }
+ }
+ /// <summary>
+ /// 鎷兼帴鏃堕棿鏍煎紡//"{h}h{m}min{s}s";
+ /// </summary>
+ /// <param name="totalSeconds">绉�(娌℃湁榛樿浼犲叆0)</param>
+ /// <returns></returns>
+ public string getTimeStr(string totalSeconds)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(totalSeconds))
+ {
+ return "";
+ }
+ int time = int.Parse(totalSeconds);
+ int h = time / (60 * 60);
+ int m = time % (60 * 60) / 60;
+ int s = (time % (60 * 60) % 60);
+
+ if (h == 0 && m != 0 && s != 0)
+ {
+ return $"{m}min{s}s";
+ }
+ else if (h == 0 && m == 0 && s != 0)
+ {
+ return $"{s}s";
+ }
+ else if (h == 0 && m != 0 && s == 0)
+ {
+ return $"{m}min";
+ }
+ else if (h != 0 && m == 0 && s != 0)
+ {
+ return $"{h}h{s}s";
+ }
+ else if (h != 0 && m == 0 && s == 0)
+ {
+ return $"{h}h";
+ }
+ else if (h != 0 && m != 0 && s == 0)
+ {
+ return $"{h}h{m}min";
+ }
+ else if (h != 0 && m != 0 && s != 0)
+ {
+ return $"{h}h{m}min{s}s";
+ }
+ else if (h == 0 && m == 0 && s == 0)
+ {
+ return $"0s";
+ }
+ return "";
+ }
+ catch
+ {
+ return "";
}
}
@@ -941,18 +1080,17 @@
//涓嶆槸涓昏处鍙风洿鎺ヨ繑鍥�
return;
}
- List<LogicData> logicDataList = new List<LogicData>();
+ List<LogicIdData> logicDataList = new List<LogicIdData>();
logicDataList.Clear();
System.Threading.Tasks.Task.Run(() =>
{
try
{
//鑾峰彇閫昏緫ID鍒楄〃锛岀洰鍓嶉拡瀵规墍鏈�<澶囨敞:濡傛灉鍙拡瀵瑰綋鍓嶆墜鏈虹殑璇濓紝鍙互鐩存帴鎷跨紦瀛樻暟鎹嚜鍔ㄥ寲鍒楄〃閬嶅巻>
- var idStr = Send.GetLogicIdList();
- if (idStr.Code == "0" && idStr.Data != null && idStr.Data.ToString() != "")
+ var idStrList = Send.Current.GetLogicIdList();
+ if (idStrList != null)
{
- var date = Newtonsoft.Json.JsonConvert.SerializeObject(idStr.Data);
- logicDataList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<LogicData>>(date);
+ logicDataList.AddRange(idStrList);
}
///鏈夎嚜鍔ㄥ垪琛ㄦ墠澶勭悊
if (logicDataList.Count > 0)
@@ -978,7 +1116,7 @@
//瀹氫箟涓�涓眬閮ㄥ彉閲�
string direction = string.Empty;
//涓ょ偣璺濈灏忎簬閰嶇疆璺濈<鏃㈣嚜鍔ㄥ寲閰嶇疆杈撳叆鏉′欢鍦扮悊鍥存爮鍗婂緞>,璇存槑杩涘叆鍖哄煙
- if (r < radius)
+ if (r * 1000 < radius)
{
//鍒拌揪鏌愬湴
direction = "arrive";
@@ -993,7 +1131,7 @@
if (isPush == null)
{
//鎺ㄩ�佺粰浜戠鏄惁鎴愬姛
- bool push = Send.GeoFenceStateReport(logicDate.userLogicId, logicDate.sid, direction);
+ bool push = Send.Current.GetFenceStateReport(logicDate.userLogicId, logicDate.sid, direction);
if (push)
{
///娣诲姞鍒版帹閫佸垪琛�
@@ -1023,20 +1161,41 @@
/// </summary>
/// <param name="isBool">鏄惁寮�鍚�</param>
/// <returns></returns>
- private List<Entity.Function> GetTestDevice(List<HDL_ON.Entity.Function> list, bool isBool)
+ private List<Entity.Function> GetTestDevice(ref List<HDL_ON.Entity.Function> list, bool isBool)
{
if (isBool)
{
- Entity.Function function = new Entity.Function { sid = "0123456789", name = "瓒呭0娉紶鎰熷櫒", spk = Entity.SPK.SensorUtrasonic };
- var device = list.Find((o) => { return o.sid == function.sid; });
- if (device == null)
+ //妯℃嫙璁惧
+ var functions = new List<Function> {
+ new Entity.Function { sid = "1234567890", name = "鍏夌収浼犳劅鍣�", spk = Entity.SPK.SensorLight },
+ new Entity.Function { sid = "1234567891", name = "骞茶妭鐐�", spk = Entity.SPK.SensorDryContact },
+ new Entity.Function { sid = "1234567892", name = "绱ф�ユ眰鍔╀紶鎰熷櫒", spk = Entity.SPK.SensorHelp },
+ new Entity.Function { sid = "12345678921", name = "閫氱敤寮�鍏�", spk = Entity.SPK.OtherCommon },
+ //new Entity.Function { sid = "12345678933456", name = "闂ㄩ攣", spk = Entity.SPK.DoorLock },
+ // new Entity.Function { sid = "1234567895444", name = "瑙嗛闂ㄩ攣", spk = Entity.SPK.VideoDoorLock },
+ new Entity.Function { sid = "123456789688889", name = "浜轰綋瀛樺湪浼犳劅鍣�", spk = Entity.SPK.SensorPirHold },
+ new Entity.Function { sid = "12345678968888", name = "娴嬭瘯鐚溂", spk = Entity.SPK.Peephole },
+ new Entity.Function { sid = "12345678968889", name = "娴嬭瘯钀ょ煶鎽勫儚澶�", spk = Entity.SPK.Ev_Ipcam },
+ // new Entity.Function { sid = "1234567897", name = "姣背娉紶鎰熷櫒1", spk = Entity.SPK.SenesorMegahealth2 },
+ // new Entity.Function { sid = "1234567899", name = "闂ㄧ浼犳劅鍣�", spk = Entity.SPK.SensorDoorWindow },
+ // new Entity.Function { sid = "12345678991234", name = "HDL鏈烘鎵�", spk = Entity.SPK.MechanicalArm },
+ // new Entity.Function { sid = "123456789912345", name = "娴锋浖鏈烘鎵�", spk = Entity.SPK.MechanicalArm },
+ new Entity.Function { sid = "12345678991234566844", name = "澶у崕鎽勫儚澶�", spk = Entity.SPK.IpCam_Imou },
+ new Entity.Function { sid = "12345678991234567", name = "RGB", spk = Entity.SPK.LightRGB },
+ new Entity.Function { sid = "123456789912345678", name = "RGBW", spk = Entity.SPK.LightRGBW },
+ new Function { spk = SPK.ElectricalTvHisense, name = "娴蜂俊鐢佃1",sid="123456789"},
+ };
+ foreach (var function in functions)
{
- list.Add(function);
+ var device = list.Find((o) => { return o.sid == function.sid; });
+ if (device == null)
+ {
+ list.Add(function);
+ }
}
}
return list;
-
}
--
Gitblit v1.8.0