Esempio n. 1
0
        /// <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");
            }
        }
Esempio n. 2
0
        /// <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");
            }
        }
Esempio n. 3
0
        /// <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");
            }
        }