/// <summary> /// 修改设备控制数据 /// </summary> /// <param name="pc">查询函数</param> /// <param name="ap">修改字段函数</param> /// 说明:如果在修改时遇到错误,执行一次新增设备控制数据,再次进行修改操作 public static void UpdateDeviceControl(List <DeviceControl> dclist, Expression <Func <DeviceControl, bool> > pc, Action <DeviceControl> ap) { try { if (pc != null && ap != null) { DeviceControlDAL.UpdateDevice(pc, ap); } } catch { EMEWE.CarManagement.Commons.CommonClass.CommonalityEntity.WriteTextLog("记录设备控制表修改异常:"); try { AddDeviceControl(dclist); if (pc != null && ap != null) { DeviceControlDAL.UpdateDevice(pc, ap); } } catch { EMEWE.CarManagement.Commons.CommonClass.CommonalityEntity.WriteTextLog("记录设备控制表新增后再次修改异常:"); } } }
/// <summary> /// 新增设备控制数据 /// 说明:每次获取数据前先检查是否有新增的数据并进行新增 /// </summary> public static void AddDeviceControl(List <DeviceControl> dclist) { try { if (dclist.Count <= 0) { dclist = GetDeviceControl(); } string strSql = "select * from View_FVN_Driveway_Position where Position_Value='" + SystemClass.PosistionValue + "'"; List <View_FVN_Driveway_Position> vfdpList = View_FVN_Driveway_PositionDAL.GetSQLList(strSql); if (vfdpList.Count > dclist.Count) { bool isFind = false; foreach (View_FVN_Driveway_Position vfdp in vfdpList) { foreach (DeviceControl dc in dclist) { if (vfdp.FVN_Value.ToString() == dc.DeviceControl_FanValue && vfdp.Driveway_Value == dc.DeviceControl_DrivewayValue && vfdp.Driveway_ReadCardPort == dc.DeviceControl_ReadValue && vfdp.Position_Value == dc.DeviceControl_PositionValue) { isFind = true; break; } else { isFind = false; } } if (!isFind) { DeviceControl rentity = new DeviceControl(); //rentity.DeviceControl_CardNo = ""; rentity.DeviceControl_DrivewayAddress = vfdp.Driveway_Address; rentity.DeviceControl_DrivewayValue = vfdp.Driveway_Value; rentity.DeviceControl_FanValue = vfdp.FVN_Value.ToString(); rentity.DeviceControl_FanSate = "0"; //无地感 rentity.DeviceControl_ISCardRelease = false; //未刷卡放行 rentity.DeviceControl_OutSate = "无"; //输出无命令 rentity.DeviceControl_PositionValue = vfdp.Position_Value; rentity.DeviceControl_ReadValue = vfdp.Driveway_ReadCardPort; DeviceControlDAL.InsertOneDevice(rentity); } } } } catch { EMEWE.CarManagement.Commons.CommonClass.CommonalityEntity.WriteTextLog("记录设备控制表新增异常:"); } }
//List<DeviceControl> dclist = new List<DeviceControl>(); //bool ISBusyTimerDeviceControl = false; //private void timerDeviceControl_Tick(object sender, EventArgs e) //{ // if (!ISBusyTimerDeviceControl) // { // ISBusyTimerDeviceControl = true; // GetDeviceControl(); // ISBusyTimerDeviceControl = false; // } //} /// <summary> /// 根据当前门岗获取设备控制数据 /// </summary> public static List <DeviceControl> GetDeviceControl() { List <DeviceControl> listDC = new List <DeviceControl>(); try { string strSql = "select * from DeviceControl where DeviceControl_PositionValue='" + SystemClass.PosistionValue + "'"; listDC = DeviceControlDAL.GetDeviceControl(strSql); } catch { EMEWE.CarManagement.Commons.CommonClass.CommonalityEntity.WriteTextLog("记录设备控制表获取数据异常:"); } return(listDC); }