/// <summary> /// 更新和记录 继电器 控制设备 运行或关闭 /// </summary> public void DeviceNewAndRecord(int iRoomIndex, EventType eventType, DeviceRunState onOrOff, DeviceRunModel handOrAuto, bool blRecord) { EventContent eventContent = EventContent.开启; if (onOrOff == DeviceRunState.运行) { eventContent = EventContent.开启; if (eventType == EventType.烘干) { lock (clsEnvirControl.listRoom) { clsEnvirControl.listRoom[iRoomIndex].roomHot.State = DeviceRunState.运行; } } else if (eventType == EventType.除湿) { lock (clsEnvirControl.listRoom) { clsEnvirControl.listRoom[iRoomIndex].roomDehumi.State = DeviceRunState.运行; } } else if (eventType == EventType.新风) { lock (clsEnvirControl.listRoom) { clsEnvirControl.listRoom[iRoomIndex].roomFan.State = DeviceRunState.运行; } } } else if (onOrOff == DeviceRunState.停止) { eventContent = EventContent.关闭; if (eventType == EventType.烘干) { lock (clsEnvirControl.listRoom) { clsEnvirControl.listRoom[iRoomIndex].roomHot.State = DeviceRunState.停止; } } else if (eventType == EventType.除湿) { lock (clsEnvirControl.listRoom) { clsEnvirControl.listRoom[iRoomIndex].roomDehumi.State = DeviceRunState.停止; } } else if (eventType == EventType.新风) { lock (clsEnvirControl.listRoom) { clsEnvirControl.listRoom[iRoomIndex].roomFan.State = DeviceRunState.停止; } } } if (handOrAuto == DeviceRunModel.手动) { if (eventType == EventType.烘干) { lock (clsEnvirControl.listRoom) { clsEnvirControl.listRoom[iRoomIndex].roomHot.HandOrAuto = DeviceRunModel.手动; clsEnvirControl.listRoom[iRoomIndex].roomHot.TimeHand = DateTime.Now; } } else if (eventType == EventType.除湿) { lock (clsEnvirControl.listRoom) { clsEnvirControl.listRoom[iRoomIndex].roomDehumi.HandOrAuto = DeviceRunModel.手动; clsEnvirControl.listRoom[iRoomIndex].roomDehumi.TimeHand = DateTime.Now; } } else if (eventType == EventType.新风) { lock (clsEnvirControl.listRoom) { clsEnvirControl.listRoom[iRoomIndex].roomFan.HandOrAuto = DeviceRunModel.手动; clsEnvirControl.listRoom[iRoomIndex].roomFan.TimeHand = DateTime.Now; } } } if (blRecord) { string strSql = "insert into tb_EnviriEvent (Type,Area,Reason,EventContent,Time)values " + "('" + eventType.ToString() + "','" + clsEnvirControl.listRoom[iRoomIndex].StrName + "','" + handOrAuto.ToString() + "'," + "'" + eventContent.ToString() + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "')"; datalogic.SqlComNonQuery(strSql); //if (NewEventShowEvent != null) //{ // string strPoint = strArea; // if (blMoreAir) // strPoint += btAddr.ToString(); // if (content == EventContent.设置温度) // { // NewEventShowEvent(new NewEventEventArgs(EventType.空调, strPoint, content.ToString() + btSetTemp.ToString(), "", "")); // } // else // { // NewEventShowEvent(new NewEventEventArgs(EventType.空调, strPoint, content.ToString(), "", "")); // } //} } }
///// <summary> ///// 新告警显示 事件 ///// </summary> //public event NewEventShowEventHandler NewAlarmShowEvent; #endregion /// <summary> /// 空调控制 及SQL 存储 /// </summary> public bool AirControl(AirFactoryType factory, byte btAddr, EventContent content, byte btSetTemp, string strArea, DeviceRunModel runMode, bool blMoreAir, IsWait isWait) { bool blRet = false; string strContent = content.ToString(); #region 大金 空调控制 if (factory == AirFactoryType.大金) { if (content == EventContent.开启 || content == EventContent.关闭) { if (content == EventContent.开启) { blRet = DjAirControl(btAddr, DjControlType.开关, (byte)DjOnOff.开启, isWait); } else if (content == EventContent.关闭) { blRet = DjAirControl(btAddr, DjControlType.开关, (byte)DjOnOff.关闭, isWait); } } else if (content == EventContent.设置制冷 || content == EventContent.设置制热 || content == EventContent.设置除湿) { if (content == EventContent.设置制冷) { blRet = DjAirControl(btAddr, DjControlType.模式, (byte)DjModel.制冷, isWait); } else if (content == EventContent.设置制热) { blRet = DjAirControl(btAddr, DjControlType.模式, (byte)DjModel.制热, isWait); } else if (content == EventContent.设置除湿) { } } else if (content == EventContent.设置温度) { blRet = DjAirControl(btAddr, DjControlType.温度, btSetTemp, isWait); strContent = content.ToString() + btSetTemp.ToString(); } } #endregion #region 其他 空调控制 else if (factory == AirFactoryType.其他) { if (content == EventContent.开启 || content == EventContent.关闭) { if (content == EventContent.开启) { blRet = OtherAirControl(btAddr, OtherAirControlType.开关, (byte)OtherAirOnOff.开启, isWait); } else if (content == EventContent.关闭) { blRet = OtherAirControl(btAddr, OtherAirControlType.开关, (byte)OtherAirOnOff.关闭, isWait); } } else if (content == EventContent.设置制冷 || content == EventContent.设置制热 || content == EventContent.设置除湿) { if (content == EventContent.设置制冷) { blRet = OtherAirControl(btAddr, OtherAirControlType.模式, (byte)OtherAirModelType.制冷, isWait); } else if (content == EventContent.设置制热) { blRet = OtherAirControl(btAddr, OtherAirControlType.模式, (byte)OtherAirModelType.制热, isWait); } else if (content == EventContent.设置除湿) { } } else if (content == EventContent.设置温度) { blRet = OtherAirControl(btAddr, OtherAirControlType.温度, btSetTemp, isWait); strContent = content.ToString() + btSetTemp.ToString(); } } #endregion if (blRet) { commonCls.NewEnvirEventRecord(EventType.空调, strArea, runMode, strContent); if (NewEventShowEvent != null) { string strPoint = strArea + " "; if (blMoreAir) { strPoint += btAddr.ToString(); strPoint += "#空调"; } if (content == EventContent.设置温度) { NewEventShowEvent(new NewEventEventArgs(EventType.空调, strPoint, content.ToString() + btSetTemp.ToString(), "", "", DateTime.Now)); } else { NewEventShowEvent(new NewEventEventArgs(EventType.空调, strPoint, content.ToString(), "", "", DateTime.Now)); } } } return(blRet); }