Ejemplo n.º 1
0
        protected bool ImportFromExcelToDelete(DataSet ds)
        {
            try
            {
                System.Data.DataTable dt = ds.Tables[0];

                int nAll    = dt.Rows.Count;
                int nDelete = 0;
                int nEmpty  = 0;

                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    if (dr["SelectX"].ToString().ToLower() == "x")
                    {
                        string RealCode = dr["RealCode"].ToString().Trim();

                        //判断是否存在
                        if (!KPI_RealTagDal.CodeExist(RealCode, ""))
                        {
                            //MessageBox.popupClientMessage(this.Page, " 该机组的输出标签已存在!", "call();");
                            nEmpty += 1;
                            continue;
                        }
                        else
                        {
                            //main tag
                            //string RealID = KPI_RealTagDal.GetRealID(RealCode);

                            KPI_RealTagEntity mEntity = new KPI_RealTagEntity();
                            mEntity.RealID = KPI_RealTagDal.GetID(RealCode);

                            KPI_RealTagDal.Delete(mEntity);
                            nDelete += 1;
                        }
                    }
                }

                string strInfor = "标签点总数为:{0}个, 删除成功:{1}个,空标签点: {2}个。";
                strInfor = string.Format(strInfor, nAll, nDelete, nEmpty);

                MessageBox.popupClientMessage(this.Page, strInfor, "call();");

                return(true);
            }
            catch (Exception ee)
            {
                //
                MessageBox.popupClientMessage(this.Page, ee.Message, "call();");

                return(false);
            }
        }
Ejemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //btnApply.Attributes.Add("onclick", "setDivPos('Lay1');Lay1.style.visibility='';progress_update();");

                //数据信息
                DataTable dt = KPI_RealTagDal.GetRealXYZLists();
                ddl_ECXLineXRealTag.Items.Add(new ListItem("默认机组负荷", "NULLDATA"));
                ddl_ECXLineYRealTag.Items.Add(new ListItem("默认机组负荷", "NULLDATA"));

                foreach (DataRow dr in dt.Rows)
                {
                    ddl_ECXLineXRealTag.Items.Add(new ListItem(dr["Name"].ToString(), dr["ID"].ToString()));
                    ddl_ECXLineYRealTag.Items.Add(new ListItem(dr["Name"].ToString(), dr["ID"].ToString()));
                }

                //初始化列表
                dtCurve = CurveTagDal.GetCurvesByGroup();
                foreach (DataRow dr in dtCurve.Rows)
                {
                    rblCurveTags.Items.Add(new ListItem(dr["Name"].ToString(), dr["Group"].ToString()));
                }

                //初始化
                dtScore = ECTagDal.GetInitScore();

                //判断是否新建或编辑
                if (Request.QueryString["ecid"] != null)
                {
                    ViewState["ecid"] = Request.QueryString["ecid"].ToString();

                    btnAddScore.Enabled = true;

                    BindValues();
                }
                else
                {
                    //添加
                    ViewState["ecid"] = "";

                    btnAddScore.Enabled = false;
                }

                tbxXLineXYZ.Text = "0.00";

                gvXLine.ShowHeader = false;

                BindXLine(true);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        ///  //设备信息
        /// </summary>
        void BindReal()
        {
            string UnitID = ddlUnitID.SelectedValue.Trim();

            if (UnitID == "ALL")
            {
                UnitID = "";
            }

            //信息
            DataTable dtReal = KPI_RealTagDal.GetTagLists(UnitID);

            gvReal.DataSource = dtReal;
            gvReal.DataBind();
        }
Ejemplo n.º 4
0
        protected void btnApply_Click(object sender, EventArgs e)
        {
            if (gvTable.Rows.Count <= 0)
            {
                return;
            }

            for (int i = 0; i < gvTable.Rows.Count; i++)
            {
                KPI_RealTagEntity csE = new KPI_RealTagEntity();
                csE.RealID      = gvTable.Rows[i]["RealID"].ToString();
                csE.RealDisplay = (10 + i).ToString();

                KPI_RealTagDal.Update(csE);
            }

            MessageBox.popupClientMessage(this.Page, "排序成功!", "call();");
        }
Ejemplo n.º 5
0
        public override void DataBind()
        {
            TagRepeater.DataSource = KPI_RealTagDal.GetRealTags(UnitID);
            base.DataBind();
            Literal  lblRealID;
            CheckBox chkSelected;

            using (SATagMapDataAccess DataAccess = new SATagMapDataAccess()) {
                List <String>          TagIDList = DataAccess.GetSATagMaps(SAID).Select(p => p.RealID).ToList <String>();
                RepeaterItemCollection Items     = TagRepeater.Items;
                foreach (RepeaterItem Item in Items)
                {
                    lblRealID           = (Literal)Item.FindControl("lblRealID");
                    chkSelected         = (CheckBox)Item.FindControl("chkSelected");
                    chkSelected.Checked = TagIDList.Contains(lblRealID.Text);
                }
            }
        }
Ejemplo n.º 6
0
        protected void gvReal_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            string keyid = e.CommandArgument.ToString();

            if (e.CommandName == "dataDelete")
            {
                if (KPI_RealTagDal.DeleteTag(keyid))
                {
                    MessageBox.popupClientMessage(this.Page, "删除成功!", "call();");

                    BindReal();
                }
                else
                {
                    MessageBox.popupClientMessage(this.Page, "删除错误!", "call();");
                }
            }
        }
Ejemplo n.º 7
0
        //////////////////////////////////////////////////////////////////////////////
        #region Define Functions

        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public bool KPIInitialVar()
        {
            try {
                //是否取服务器时间
                bTimeMode = KPI_SystemDal.GetKPITimeMode() == 1 ? true : false;
                //偏置时间
                nOffset = KPI_SystemDal.GetKPIOffset();
                //初始所有List<>
                ltUnits = KPI_UnitDal.GetValidEntity();
                ltSeqs  = KPI_SeqDal.GetValidEntity();
                ltKpis  = KpiDal.GetValidEntity();

                //实时、手录、曲线指标
                ltReals  = KPI_RealTagDal.GetAllEntity();
                ltInputs = KPI_InputTagDal.GetAllEntity();
                ltCurves = CurveTagDal.GetAllEntity();
                //计算周期
                List <CycleEntity> ltCYs = CycleDal.GetAllEntity();
                dicCYs = new Dictionary <string, CycleEntity>();
                foreach (CycleEntity cye in ltCYs)
                {
                    dicCYs[cye.CycleID] = cye;
                }

                //经济指标
                ltECs    = ECTagDal.GetValidEntity();
                ltXLines = ECTagDal.GetAllXLineEntity();
                ltScores = ECTagDal.GetAllScoreEntity();
                /////////////////////////////////////////////////////////////////
                //安全指标
                dicUnitStatus = new Dictionary <string, bool>();
                dicUnitPEs    = new Dictionary <string, double>();
                dicTags       = new Dictionary <string, double>();
                dicRealTag    = new Dictionary <string, RealTag>();
            }
            catch (Exception ex) {
                LogUtil.LogMessage(ex.ToString());

                return(false);
            }

            return(true);
        }
Ejemplo n.º 8
0
        protected void btnAddReal_Click(object sender, EventArgs e)
        {
            if (ddlUnitID.SelectedValue == "ALL")
            {
                MessageBox.popupClientMessage(this.Page, "请选择具体机组!", "call();");
                return;
            }

            string UnitID = ddlUnitID.SelectedValue.Trim();

            int index = KPI_RealTagDal.IDCounts(UnitID);

            string sID = PageControl.GetGuid();

            KPI_RealTagEntity ote = new KPI_RealTagEntity();

            ote.RealID       = sID;
            ote.UnitID       = UnitID;
            ote.RealCode     = "InputCode";
            ote.RealDesc     = "Input DEsc";
            ote.RealEngunit  = "Input Engunit";
            ote.RealSnapshot = "0";
            ote.RealSort     = "1";
            ote.RealDisplay  = "0";
            ote.RealXYZ      = "0";
            ote.RealNote     = "";

            ote.RealCreateTime = DateTime.Now.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss");
            ote.RealModifyTime = ote.RealCreateTime;

            if (KPI_RealTagDal.Insert(ote))
            {
                //MessageBox.popupClientMessage(this.Page, "添加成功!", "call();");
            }
            else
            {
                MessageBox.popupClientMessage(this.Page, "添加错误!", "call();");
            }

            gvReal.EditIndex = index;

            BindReal();
        }
Ejemplo n.º 9
0
        //导出
        protected void btnExcelExport_Click(object sender, EventArgs e)
        {
            string strExcelFile = "KPI_RealTag";

            try
            {
                System.Data.DataTable dt = KPI_RealTagDal.GetRealTagListForExcel();

                if (dt == null)
                {
                    return;
                }

                ExportToSpreadsheet(dt, strExcelFile);
            }
            catch (Exception ee)
            {
                MessageBox.popupClientMessage(this.Page, "导出信息错误!" + ee.Message, "call();");

                return;
            }

            return;
        }
Ejemplo n.º 10
0
        protected bool ImportFromExcelToModify(DataSet ds)
        {
            try
            {
                System.Data.DataTable dt = ds.Tables[0];

                int nAll     = dt.Rows.Count;
                int nModify  = 0;
                int nNoExist = 0;

                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    if (dr["SelectX"].ToString().ToLower() == "x")
                    {
                        string RealCode = dr["RealCode"].ToString().Trim();

                        //判断是否存在
                        if (!KPI_RealTagDal.CodeExist(RealCode, ""))
                        {
                            //MessageBox.popupClientMessage(this.Page, " 该机组的输出标签已存在!", "call();");
                            nNoExist += 1;
                            continue;
                        }

                        //main tag
                        string            keyid   = KPI_RealTagDal.GetID(RealCode);
                        KPI_RealTagEntity mEntity = new KPI_RealTagEntity();
                        mEntity.RealID      = keyid;
                        mEntity.UnitID      = KPI_UnitDal.GetUnitID(dr["UnitName"].ToString().Trim());
                        mEntity.RealCode    = RealCode;
                        mEntity.RealDesc    = dr["RealDesc"].ToString().Trim();
                        mEntity.RealEngunit = dr["RealEngunit"].ToString().Trim();

                        string sv = dr["RealMaxValue"].ToString().Trim();
                        if (sv != "")
                        {
                            mEntity.RealMaxValue = decimal.Parse(sv);
                        }

                        sv = dr["RealMinValue"].ToString().Trim();
                        if (sv != "")
                        {
                            mEntity.RealMinValue = decimal.Parse(sv);
                        }

                        mEntity.RealSnapshot = dr["RealSnapshot"].ToString().Trim();
                        mEntity.RealSort     = dr["RealSort"].ToString().Trim();
                        mEntity.RealDisplay  = dr["RealDisplay"].ToString().Trim();
                        mEntity.RealXYZ      = dr["RealXYZ"].ToString().Trim();
                        mEntity.RealNote     = dr["RealNote"].ToString().Trim();

                        KPI_RealTagDal.Update(mEntity);

                        nModify += 1;
                    }
                }

                string strInfor = "标签点总数为:{0}个, 修改成功:{1}个,不存在标签点: {2}个。";
                strInfor = string.Format(strInfor, nAll, nModify, nNoExist);

                MessageBox.popupClientMessage(this.Page, strInfor, "call();");

                return(true);
            }
            catch (Exception ee)
            {
                //
                MessageBox.popupClientMessage(this.Page, ee.Message, "call();");

                return(false);
            }
        }
Ejemplo n.º 11
0
        protected void btnCheck_Click(object sender, EventArgs e)
        {
            lbxInfor.Items.Clear();

            lerror.Clear();

            //////////////////////////////////////////////////////////////////////////////
            //指标
            Dictionary <string, double> dicTags = new Dictionary <string, double>();

            //////////////////////////////////////////////////////////////////////////////
            //经济指标
            List <ECTagEntity> lts = ECTagDal.GetAllEntity();

            lbxInfor.Items.Add("查询所有的经济指标!");

            foreach (ECTagEntity ltone in lts)
            {
                //lbxInfor.Items.Add("开始校验:" + ltone.ECCode + "--" + ltone.ECName );

                //有就不变,没有就添加;
                string strTagCode = "'" + ltone.ECCode.ToUpper().Trim() + "'";
                dicTags[strTagCode] = 0.0;

                //校验计算公式
                if (cbxCheckForEcTag.Items[0].Selected && (ltone.ECCalcExp.Replace("'", "''").Length - ltone.ECCalcExp.Length) % 2 != 0)
                {
                    lbxInfor.Items.Add(ltone.ECCode + "--" + ltone.ECName + ": 计算公式解析失败! " + ltone.ECCalcExp);

                    lerror.Add(ltone.ECCalcExp);
                }

                /////////////////////////////////////////////////////////////////
                //校验Xline曲线
                if (cbxCheckForEcTag.Items[1].Selected && !ECTagDal.CheckEntityForXline(ltone))
                {
                    //相同X不能存在。

                    lbxInfor.Items.Add(ltone.ECCode + "--" + ltone.ECName + ": 曲线解析失败! " + ltone.ECXLineType.ToString() + "--" + ltone.ECXLineXYZ);

                    lerror.Add(ltone.ECXLineXYZ);
                }

                ////////////////////////////////////////////////////////////////
                //校验ScoreExp
                if (cbxCheckForEcTag.Items[2].Selected && !ECTagDal.CheckEntityForScore(ltone))
                {
                    lbxInfor.Items.Add(ltone.ECCode + "--" + ltone.ECName + ": 得分计算解析失败! " + ltone.ECScoreExp);

                    lerror.Add(ltone.ECScoreExp);
                }


                ////////////////////////////////////////////////////////////////
                //校验Optimal
                if (cbxCheckForEcTag.Items[2].Selected && !ECTagDal.CheckEntityForOptimal(ltone))
                {
                    lbxInfor.Items.Add(ltone.ECCode + "--" + ltone.ECName + ": 最优区间数量不等于1! " + ltone.ECScoreExp);

                    lerror.Add(ltone.ECScoreExp);
                }
            }

            //////////////////////////////////////////////////////////
            //实时指标
            List <KPI_RealTagEntity> rls = KPI_RealTagDal.GetAllEntity();

            lbxInfor.Items.Add("查询所有的实时指标!");

            foreach (KPI_RealTagEntity ltone in rls)
            {
                //有就不变,没有就添加;
                string strTagCode = "'" + ltone.RealCode.ToUpper().Trim() + "'";
                dicTags[strTagCode] = 0.0;

                if (cbxCheckForRealTag.Items[0].Selected)
                {
                    //lbxInfor.Items.Add("开始校验:" + ltone.RealCode + "--" + ltone.RealDesc);

                    string strtag = ltone.RealCode;
                    if (!DBAccess.GetRealTime().ExistPoint(strtag))
                    {
                        lbxInfor.Items.Add(ltone.RealCode + "--" + ltone.RealDesc + ": 不存在! ");

                        lerror.Add(ltone.RealCode);
                    }
                }
            }

            //////////////////////////////////////////////
            //所有指标
            lbxInfor.Items.Add("校验经济指标的标签引用!");

            foreach (ECTagEntity ltone in lts)
            {
                //lbxInfor.Items.Add("开始校验:" + ltone.ECCode + "--" + ltone.ECName );

                ////////////////////////////////////////////////////////////////
                //校验Calc Tag
                Dictionary <String, double> dic1 = new Dictionary <String, double>();
                string expression = ltone.ECCalcExp.Trim();
                if (expression == "")
                {
                    lbxInfor.Items.Add(ltone.ECCode + "--" + ltone.ECName + " 计算表达式为空!");

                    continue;
                }
                ExpDone parser = new ExpDone();
                if (parser.ExpEvaluate(expression, ref dic1) != 0)
                {
                    lbxInfor.Items.Add(ltone.ECCode + "--" + ltone.ECName + " 指标解析错误:" + ltone.ECCalcExp);

                    lerror.Add(ltone.ECCalcExp);

                    continue;
                }

                foreach (KeyValuePair <string, double> kvp in dic1)
                {
                    string tagcode = kvp.Key.ToUpper().Trim();
                    if (!dicTags.ContainsKey(tagcode))
                    {
                        lbxInfor.Items.Add(ltone.ECCode + "--" + ltone.ECName + ": 的标签点引用失败! " + kvp.Key);

                        lerror.Add(kvp.Key);
                    }
                }
            }
        }
Ejemplo n.º 12
0
        protected void gvReal_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            HtmlInputHidden key = (HtmlInputHidden)gvReal.Rows[e.RowIndex].Cells[0].FindControl("realid");

            string sID       = key.Value;
            string sCode     = ((TextBox)(gvReal.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();
            string sDesc     = ((TextBox)(gvReal.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();
            string sEngunit  = ((TextBox)(gvReal.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim();
            string sMax      = ((TextBox)(gvReal.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim();
            string sMin      = ((TextBox)(gvReal.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString().Trim();
            string sSnapshot = ((DropDownList)(gvReal.Rows[e.RowIndex].Cells[7].FindControl("ddlSnapshot"))).SelectedValue;
            string sSort     = ((DropDownList)(gvReal.Rows[e.RowIndex].Cells[8].FindControl("ddlSort"))).SelectedValue;
            string sDisplay  = ((DropDownList)(gvReal.Rows[e.RowIndex].Cells[9].FindControl("ddlDisplay"))).SelectedValue;
            string sXYZ      = ((DropDownList)(gvReal.Rows[e.RowIndex].Cells[10].FindControl("ddlXYZ"))).SelectedValue;
            string sNote     = ((TextBox)(gvReal.Rows[e.RowIndex].Cells[11].Controls[0])).Text.ToString().Trim();

            string msg = "";

            if (sCode == "")
            {
                msg += "名称不能为空!\r\n";
            }

            //判断double格式
            if (sMax != "" && !Regex.IsMatch(sMax, @"^\d*[.]?\d*$"))
            {
                msg += "最值只能为空或数字组成!\r\n";
            }

            //判断double格式
            if (sMin != "" && !Regex.IsMatch(sMin, @"^\d*[.]?\d*$"))
            {
                msg += "最值只能为空或数字组成!\r\n";
            }

            if (msg != "")
            {
                MessageBox.popupClientMessage(this.Page, msg);
                return;
            }

            //代码是否重复
            if (KPI_RealTagDal.CodeExist(sCode, sID) || ALLDal.CodeExist(sCode, sID))
            {
                MessageBox.popupClientMessage(this.Page, "已存在相同的标签!");
                return;
            }

            //更新
            KPI_RealTagEntity ote = new KPI_RealTagEntity();

            ote.RealID      = sID;
            ote.RealCode    = sCode;
            ote.RealDesc    = sDesc;
            ote.RealEngunit = sEngunit;
            if (sMax != "")
            {
                ote.RealMaxValue = decimal.Parse(sMax);
            }
            if (sMin != "")
            {
                ote.RealMinValue = decimal.Parse(sMin);
            }
            ote.RealSnapshot = sSnapshot;
            ote.RealSort     = sSort;
            //if (sDisplay == "0")
            ote.RealDisplay    = sDisplay;
            ote.RealXYZ        = sXYZ;
            ote.RealNote       = sNote;
            ote.RealModifyTime = DateTime.Now.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss");

            if (KPI_RealTagDal.Update(ote))
            {
                MessageBox.popupClientMessage(this.Page, "编辑成功!", "call();");
            }
            else
            {
                MessageBox.popupClientMessage(this.Page, "编辑错误!", "call();");
            }

            gvReal.EditIndex = -1;

            BindReal();
        }