Exemple #1
0
        /// <summary>
        ///     根据巷道ID设置巷道使用的预警规则,并根据巷道的参数更新规则参数
        /// </summary>
        /// <param name="tunnelID"></param>
        public void SetTunnelSelectedRuleIdsAndUpdateParams(int tunnelID)
        {
            var all = PreWarningRulesBLL.GetTunnelBindingRuleIdsAndParams(tunnelID);

            if (all == null)
            {
                ClearSelectedRules();
                return;
            }
            var lstRules = all.ToList();

            //遍历Farpoint所有规则
            var rows = fpRules.Sheets[0].Rows.Count;

            for (var i = DATA_START_IDX; i < rows; i++)
            {
                var curRuleInFp = int.Parse(fpRules.Sheets[0].Cells[i, 11].Value.ToString());
                fpRules.Sheets[0].Cells[i, 0].Value = false;
                for (var j = 0; j < lstRules.Count; j++)
                {
                    if (lstRules[j].Id == curRuleInFp)
                    {
                        fpRules.Sheets[0].Cells[i, 0].Value = true;
                        var ruleEnt = GetEntityFromFarpointRow(i);
                        //使用该方法速度较快(不用读数据库),不能用:PreWarningRulesBLL.GetPreWarningRulesEntityByRuleCode(curRuleInFp),速度慢!
                        ruleEnt.UpdateRuleDescriptionByParams(lstRules[j].PreWarningParams);
                        SetFarpointRowValues(i, ruleEnt);
                        lstRules.Remove(lstRules[j]);
                        break;
                    }
                }
            }
        }
Exemple #2
0
        /// <summary>
        ///     更新巷道绑定的规则编码和参数信息
        /// </summary>
        /// <param name="tunnelID"></param>
        /// <returns></returns>
        public bool UpdateTunnelBindingRuleCodeAndParamsInfo(int tunnelID)
        {
            //遍历Farpoint中所有规则编码,获取选中规则编码及参数信息
            var lstParam = new List <RuleInfo>();
            var nRows    = fpRules.Sheets[0].Rows.Count;

            try
            {
                for (var i = DATA_START_IDX; i < nRows; i++)
                {
                    if (fpRules.Sheets[0].Cells[i, 0] == null)
                    {
                        break;
                    }
                    if (bool.Parse(fpRules.Sheets[0].Cells[i, 0].Value.ToString()))
                    {
                        var oneInfo = GetEntityFromFarpointRow(i).GetRuleCodeAndParamsInfo();
                        lstParam.Add(oneInfo);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            return(PreWarningRulesBLL.UpdateRuleIdsAndParams2TunnelTable(tunnelID, lstParam.ToArray()));
            //return false;
        }
Exemple #3
0
        /// <summary>
        ///     根据筛选条件显示预警规则
        /// </summary>
        /// <param name="filter">筛选条件</param>
        /// <returns>成功返回ture,否则false</returns>
        private bool FillFarpointCellsWithLocationFilter(RULE_TYPE_LOCATION_FILTER filter)
        {
            DataSet ds = null;

            switch (filter)
            {
            case RULE_TYPE_LOCATION_FILTER.JUE_JIN_RULES:     //掘进工作面预警规则
                ds = PreWarningRulesBLL.selectJueJinWarningRules();
                break;

            case RULE_TYPE_LOCATION_FILTER.HUI_CAI_RULES:     //回采工作面预警规则
                ds = PreWarningRulesBLL.selectHuiCaiWarningRules();
                break;

            case RULE_TYPE_LOCATION_FILTER.JUE_JIN_HUI_CAI_COMMON:     //掘进和回采通用规则
                ds = PreWarningRulesBLL.selectJueJinHuiCaiCommonRules();
                break;

            case RULE_TYPE_LOCATION_FILTER.OTHERS:     //其他地点
                ds = PreWarningRulesBLL.selectOthersRules();
                break;

            case RULE_TYPE_LOCATION_FILTER.WHOLE:     //整个矿井
                ds = PreWarningRulesBLL.selectAllWarningRules();
                break;

            default:
                break;
            }

            return(FillFarpointCellsWithDataset(ds));

            //return false;
        }
Exemple #4
0
        private bool FillFarpointCellsWithWarningTypeFilter(RULE_TYPE_WARNING_TYPE_FILTER warningType)
        {
            DataSet ds = null;

            ds = PreWarningRulesBLL.selectAllWarningRules();
            var filterStr = Const_WM.WARNING_TYPE_OUT_OF_LIMIT;

            //设置过滤条件
            switch (warningType)
            {
            case RULE_TYPE_WARNING_TYPE_FILTER.OUT_OF_LIMIT:     //超限
                filterStr = Const_WM.WARNING_TYPE_OUT_OF_LIMIT;
                break;

            case RULE_TYPE_WARNING_TYPE_FILTER.OUTBURST:     //突出
                filterStr = Const_WM.WARNING_TYPE_GAS_OUTBURST;
                break;

            case RULE_TYPE_WARNING_TYPE_FILTER.ALL:
            default:
                filterStr = Const.ALL_STRING;
                break;
            }

            var ret = FillFarpointCellsWithDataset(ds);

            //const int warningTypeFilterIdx = 3;
            //this.fpRules.ActiveSheet.AutoFilterColumn(warningTypeFilterIdx, filterStr, 0);
            return(ret);
        }
Exemple #5
0
        /// <summary>
        ///     更新规则参数至预警规则表
        /// </summary>
        private void UpdateRuleParams2RuleTable()
        {
            var newEnt = GetEntFromProperyGrid();

            newEnt.ModifyDate = DateTime.Now;
            SetFarpointRowValues(fpRules.Sheets[0].ActiveRow.Index, newEnt);
            //更新至预警规则数据库表
            if (!PreWarningRulesBLL.updateWarningRulesInfo(newEnt))
            {
                Alert.alert("更新预警规则至数据库失败!");
            }
        }