/// <summary> /// 增加负载电源和输入开关,输出开关与负载关系 /// </summary> /// <param name="selectedIndex">类型0:负载电源与输入开关;1:输出开关与负载</param> /// <param name="powerId">供电柜</param> /// <param name="deviceId">负载电源或负载编号</param> /// <param name="modelDevRelationComms">和开关关系</param> public void AddRelation(int selectedIndex, string powerId, string deviceId, List <ModelDEVRelationComm> modelDevRelationComms) { try { Log.Info("BllDEV_POWER_SWITCH->AddRelation---START"); DalDEV_LOADPOW_TO_SWITCH dalDevLoadpowToSwitch = new DalDEV_LOADPOW_TO_SWITCH(); DalDEV_SWITCH_TO_LOAD dalDevSwitchToLoad = new DalDEV_SWITCH_TO_LOAD(); ConnectionOpen(); dal.SetDBAccess(GetDBAccess()); dalDevLoadpowToSwitch.SetDBAccess(GetDBAccess()); dalDevSwitchToLoad.SetDBAccess(GetDBAccess()); //开始事物 BeginTransaction(); //先删除数据 dal.DeleteRelation(selectedIndex, powerId, deviceId); switch (selectedIndex) { case 0: { //逐条添加数据 foreach (ModelDEVRelationComm model in modelDevRelationComms) { ModelDEV_LOADPOW_TO_SWITCH modelDevLoadpowToSwitch = new ModelDEV_LOADPOW_TO_SWITCH(); //供电柜编号 modelDevLoadpowToSwitch.F_POWER_ID = powerId; //开关序号 modelDevLoadpowToSwitch.F_POWER_SWITCH_ID = model.F_AFFILIATION_ID; //负载电源编号 modelDevLoadpowToSwitch.F_LOADPOWER_ID = model.F_MASTER_ID; //负载电源名称 modelDevLoadpowToSwitch.F_LOADPOWER_NAME = model.F_MASTER_NAME; //创建时间 modelDevLoadpowToSwitch.F_CREATE_TIME = model.F_CREATE_TIME; //操作员 modelDevLoadpowToSwitch.F_OPERATOR_ID = model.F_OPERATOR_ID; //操作时间 modelDevLoadpowToSwitch.F_OPERATIONTIME = model.F_CREATE_TIME; //是否删除 modelDevLoadpowToSwitch.F_DEL = 0; dalDevLoadpowToSwitch.Add(modelDevLoadpowToSwitch); } break; } case 1: { //逐条添加数据 foreach (ModelDEVRelationComm model in modelDevRelationComms) { ModelDEV_SWITCH_TO_LOAD modelDevSwitchToLoad = new ModelDEV_SWITCH_TO_LOAD(); //供电柜编号 modelDevSwitchToLoad.F_POWER_ID = powerId; //开关序号 modelDevSwitchToLoad.F_POWER_SWITCH_ID = model.F_AFFILIATION_ID; //负载编号 modelDevSwitchToLoad.F_LOAD_ID = model.F_MASTER_ID; //负载名称 modelDevSwitchToLoad.F_LOAD_NAME = model.F_MASTER_NAME; //创建时间 modelDevSwitchToLoad.F_CREATE_TIME = model.F_CREATE_TIME; //操作员 modelDevSwitchToLoad.F_OPERATOR_ID = model.F_OPERATOR_ID; //操作时间 modelDevSwitchToLoad.F_OPERATIONTIME = model.F_CREATE_TIME; //是否删除 modelDevSwitchToLoad.F_DEL = 0; dalDevSwitchToLoad.Add(modelDevSwitchToLoad); } break; } } CommitTns(); } catch (Exception ex) { Log.Error("BllDEV_POWER_SWITCH->AddRelation---FAILED", ex); throw ex; } finally { ConnectionClose(); Log.Info("BllDEV_POWER_SWITCH->AddRelation---finally"); } }
/// <summary> /// 判断供电柜开关是否和其他设备有关系 /// </summary> /// <param name="powerId"></param> /// <param name="switchId">供电柜开关编号</param> /// <returns></returns> public bool HasRelation(string powerId, string switchId) { try { Log.Info("BllDEV_POWER_SWITCH->HasRelation---START"); bool result = false; //声明一个变量 DataSet dstemp = new DataSet(); ConnectionOpen(); //供电柜输入输出关系 DalDEV_SWITCH_INOUT dalDevSwitchInout = new DalDEV_SWITCH_INOUT(); dalDevSwitchInout.SetDBAccess(GetDBAccess()); dstemp = dalDevSwitchInout.GetList("F_POWER_ID='" + powerId + "' AND (F_POWER_SWITCH_ID_IN='" + switchId + "' OR F_POWER_SWITCH_ID_OUT='" + switchId + "')"); if (dstemp != null && dstemp.Tables.Count > 0) { result |= dstemp.Tables[0].Rows.Count > 0; } //供电柜输入开关与负载电源柜关系 DalDEV_LOADPOW_TO_SWITCH dalDevLoadpowToSwitch = new DalDEV_LOADPOW_TO_SWITCH(); dalDevLoadpowToSwitch.SetDBAccess(GetDBAccess()); dstemp = dalDevLoadpowToSwitch.GetList("F_POWER_ID='" + powerId + "' AND F_POWER_SWITCH_ID='" + switchId + "'"); if (dstemp != null && dstemp.Tables.Count > 0) { result |= dstemp.Tables[0].Rows.Count > 0; } //供电柜输出开关与负载柜关系 DalDEV_SWITCH_TO_LOAD dalDevSwitchToLoad = new DalDEV_SWITCH_TO_LOAD(); dalDevSwitchToLoad.SetDBAccess(GetDBAccess()); dstemp = dalDevSwitchToLoad.GetList("F_POWER_ID='" + powerId + "' AND F_POWER_SWITCH_ID='" + switchId + "'"); if (dstemp != null && dstemp.Tables.Count > 0) { result |= dstemp.Tables[0].Rows.Count > 0; } return(result); } catch (Exception ex) { Log.Error("BllDEV_POWER_SWITCH->HasRelation---FAILED", ex); throw ex; } finally { ConnectionClose(); Log.Info("BllDEV_POWER_SWITCH->HasRelation---finally"); } }
/// <summary> /// 判断负载是否和其他设备有关系 /// </summary> /// <param name="loadId">负载id</param> /// <returns></returns> public bool HasRelation(string loadId) { try { Log.Info("BllDEV_LOAD_INFO->HasRelation---START"); bool result = false; //声明一个变量 DataSet dstemp = new DataSet(); ConnectionOpen(); //负载和供电柜输入开关关系 DalDEV_SWITCH_TO_LOAD dalloSwitchToLoad = new DalDEV_SWITCH_TO_LOAD(); dalloSwitchToLoad.SetDBAccess(GetDBAccess()); dstemp = dalloSwitchToLoad.GetList("F_LOAD_ID='" + loadId + "'"); if (dstemp != null && dstemp.Tables.Count > 0) { result |= dstemp.Tables[0].Rows.Count > 0; } //负载和下位机关系 DalDEV_LOAD_TO_SUB dalDevLoadToSub = new DalDEV_LOAD_TO_SUB(); dalDevLoadToSub.SetDBAccess(GetDBAccess()); dstemp = dalDevLoadToSub.GetList("F_LOAD_ID='" + loadId + "'"); if (dstemp != null && dstemp.Tables.Count > 0) { result |= dstemp.Tables[0].Rows.Count > 0; } //负载和线圈电源关系 DalDEV_COILPOWER_TO_LOAD dalDevCoilpowerToLoad = new DalDEV_COILPOWER_TO_LOAD(); dalDevCoilpowerToLoad.SetDBAccess(GetDBAccess()); dstemp = dalDevCoilpowerToLoad.GetList("F_LOAD_ID='" + loadId + "'"); if (dstemp != null && dstemp.Tables.Count > 0) { result |= dstemp.Tables[0].Rows.Count > 0; } return(result); } catch (Exception ex) { Log.Error("BllDEV_LOAD_INFO->HasRelation---FAILED", ex); throw ex; } finally { ConnectionClose(); Log.Info("BllDEV_LOAD_INFO->HasRelation---finally"); } }