예제 #1
0
        /// <summary>
        /// 添加新班组信息
        /// 创建:李东峰 日期:2014-03-12
        /// </summary>
        /// <param name="rName">班组名称</param>
        /// <returns>返回是否添加成功</returns>
        public bool AddClass(string _ClassName)
        {
            errMsg = "";
            bool      _flag = false;
            string    sql1  = "select * from T_SYS_CLASSINFO where T_CLASSID='" + ClassId + "'";
            DataTable dt    = null;

            dt = dl.RunDataTable(sql1, out errMsg);
            if (dt == null || dt.Rows.Count == 0)
            {
                string sql2 = "insert into T_SYS_CLASSINFO (T_CLASSID,T_CLASSNAME) values ('" + ClassId + "','" + _ClassName + "')";
                dl.RunNonQuery(sql2, out errMsg);
                if (errMsg == "")
                {
                    _flag = true;
                }
                else
                {
                    _flag = false;
                }
            }
            else
            {
                _flag = false;
            }
            return(_flag);
        }
예제 #2
0
        //根据产业获得总电量和负荷(机组累加)
        private double GetDlFh(string cye, string cName, string time)
        {
            string searchTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:00");

            string[] zfh = new string[] { "HDXN:00CC0001" };
            if (time != "")
            {
                searchTime = time;
            }

            sql = "SELECT DISTINCT " + cName + " FROM ADMINISTRATOR.T_INFO_UNIT where data_type in (" + cye + ")";
            DataTable dt = dl.RunDataTable(sql, out errMsg);

            string[] tags = new string[dt.Rows.Count];
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                tags[i] = dt.Rows[i][0].ToString();
            }

            double[] tagValues = null;
            if (cye == "'总负荷'")
            {
                tagValues = pbll.GetPointVal(zfh, searchTime);
            }
            else
            {
                tagValues = GetPointVal(tags, searchTime);
            }

            if (tagValues.Length < 1)
            {
                return(0);
            }
            return(Math.Round(tagValues.Where(a => a > 0).Sum(), 2));
        }
예제 #3
0
        private double GetFDFHValueByTime(string area, string periodName, string time)
        {
            string sql = "select DISTINCT PERIOD_TAG from ADMINISTRATOR.T_INFO_UNIT where data_type='风电'";

            if (!string.IsNullOrEmpty(area))
            {
                sql += " AND T_AREA='" + area + "'";
            }
            if (!string.IsNullOrEmpty(periodName))
            {
                sql += "  AND PERIOD_NAME='" + periodName + "'";
            }
            DataTable dtN = dl.RunDataTable(sql, out errMsg);

            string[] tags       = new string[dtN.Rows.Count];
            double[] tagsValues = new double[dtN.Rows.Count];
            for (int s = 0; s < dtN.Rows.Count; s++)
            {
                tags[s] = dtN.Rows[s][0].ToString();
            }
            //tagsValues = pbll.GetPointVal(tags, time);
            tagsValues = pbsll.GetSelectValue(tags);

            double ss = 0;

            if (tagsValues.Length > 0)
            {
                ss = Math.Round(tagsValues.Sum(), 2);
            }

            return(ss);
        }
예제 #4
0
        public string GetDataWZ()
        {
            DBLink dl     = new DBLink();
            string errMsg = "";
            string sql    = "select * from t_info_graphic where t_graphicid ='2'";
            //           string sql ="select g.t_controlid,g.t_tag from t_info_histvalue h "+
            // "inner join t_info_graphic g on h.t_tag =g.t_tag "+
            //"and  g.t_graphicid ='1' group by  g.t_controlid,g.t_tag";


            DataTable dtt = new DataTable();//select * from t_info_graphic where t_graphicid ='1' order by t_controlid asc
            DataTable dt  = dl.RunDataTable(sql, out errMsg);
            string    str = "";

            for (int i = 0; i < dt.Rows.Count; i++)
            {//select * from (select * from t_info_histvalue where T_TAG='GHPV_1_000WG001' order by t_time desc) where ROWNUM =1 order by ROWNUM asc
                string   sql_value = "select * from (select * from t_info_histvalue where T_TAG='" + dt.Rows[i]["t_tag"].ToString() + "' order by t_time desc) where ROWNUM =1 order by ROWNUM asc";
                DateTime dt1       = DateTime.Now;
                dtt = dl.RunDataTable(sql_value, out errMsg);
                DateTime dt2 = DateTime.Now;
                double   num = (dt2 - dt1).TotalSeconds;
                if ((dtt.Rows.Count > 0) && (dtt.Rows[0]["D_VALUE"].ToString() != ""))
                {
                    str += dt.Rows[i]["t_controlid"].ToString() + "," + Convert.ToDouble(dtt.Rows[0]["D_VALUE"].ToString()).ToString("f2") + ";";
                }
                else
                {
                    str += dt.Rows[i]["t_controlid"].ToString() + ",0;";
                }
            }

            return(str);
        }
예제 #5
0
        /// <summary>
        /// 添加新班次信息
        /// 创建:李东峰 日期:2014-03-13
        /// </summary>
        /// <param name="_shiftName">班次名称</param>
        /// <param name="_startTime">班次名称</param>
        /// <param name="_endTime">班次名称</param>
        /// <returns>返回是否添加成功</returns>
        public bool AddShift(string _shiftName, string _startTime, string _endTime)
        {
            errMsg = "";
            bool      _flag = false;
            string    sql1  = "select * from T_SYS_SHIFTINFO where T_SHIFTID='" + ShfitId + "'";
            DataTable dt    = null;

            dt = dl.RunDataTable(sql1, out errMsg);
            if (dt == null || dt.Rows.Count == 0)
            {
                string sql2 = "insert into T_SYS_SHIFTINFO (T_SHIFTID,T_SHIFTNAME,D_STRATTIME,D_ENDTIME) values ('" + ShfitId + "','" + _shiftName + "','2014-01-01 " + _startTime + "','2014-01-01 " + _endTime + "')";
                dl.RunNonQuery(sql2, out errMsg);
                if (errMsg == "")
                {
                    _flag = true;
                }
                else
                {
                    _flag = false;
                }
            }
            else
            {
                _flag = false;
            }
            return(_flag);
        }
예제 #6
0
        /// <summary>
        /// 获取填报数据信息
        /// </summary>
        /// <param name="treeId">菜单树ID</param>
        /// <param name="orgId">组织机构ID</param>
        /// // <param name="formID">表单ID</param>
        /// <returns></returns>
        public DataTable GetCreateInfo(string treeId, string orgId, string formID, string type)
        {
            sql = "select f.t_formname,f.t_Table,f.T_TIMEFIELD,f.t_orgfield,f.t_timetype,f.i_formtype,fa.t_paraid,fa.t_paradesc,fa.t_Parafield,fa.t_Paratype,fa.t_Formula,fa.t_Formulapara,fa.i_flag,fa.i_Order,fa.i_level,fa.I_INPUTTYPE,fa.T_JUDGESHARE,fa.T_TYPE from T_INFO_FORM f inner join T_INFO_FORMPARA fa on f.t_Formid = fa.t_Formid  and f.T_ORGID=fa.T_ORGID and f.T_TREEID=fa.T_TREEID where fa.t_orgid='" + orgId + "' and fa.t_Treeid='" + treeId + "' and f.T_FORMID='" + formID + "' and fa.I_INPUTTYPE in(" + type + ") order by fa.I_ORDER asc";

            dt = db.RunDataTable(sql, out errMsg);
            return(dt);
        }
예제 #7
0
        /// <summary>
        /// 获取机组信息
        /// </summary>
        /// <param name="periodId"></param>
        /// <returns></returns>
        public DataTable GetUnit(string periodId)
        {
            //sql = "select T_UNITID,T_UNITDESC,T_MACHINEID,I_FLAG from Administrator.T_BASE_UNIT where T_PERIODID='" + periodId + "'";
            sql = "select u.T_UNITID,u.T_UNITDESC,u.T_MACHINEID,u.I_FLAG,p.T_POWERTAG,p.T_WINDTAG,p.T_WUGONGGLV,p.T_ZHUANZHISUDU,p.T_STATE    from Administrator.T_BASE_UNIT u left join ADMINISTRATOR.T_BASE_POINTS p on u.T_UNITID=p.T_UNITID and u.T_PERIODID=p.T_PERIODID where u.T_PERIODID='" + periodId + "'";

            dt = db.RunDataTable(sql, out errMsg);

            return(dt);
        }
예제 #8
0
 /// <summary>
 /// 获取机组指定时间内电量集合
 /// </summary>
 /// <param name="st">开始时间</param>
 /// <param name="et">结束时间</param>
 /// <param name="unti">机组</param>
 /// <returns></returns>
 public DataTable GetDL(string st, string et, string units)
 {
     sql = @"select sum(t.D_VALUE) as result ,t.T_UNITDESC 
             from (
                 select s.D_VALUE,s.T_UNITID,s.T_TIME,u.T_UNITDESC,u.T_PERIODID from Administrator.T_INFO_STATISCS s 
                 inner join Administrator.T_BASE_UNIT u on s.T_UNITID=u.T_UNITID  
                 where s.T_UNITID in (" + units + ") and s.T_Time >'" + st + "' and s.T_Time<'" + et + "' and s.T_TJID='DL' and u.T_PERIODID='SDFDC-QB') as t group by t.T_UNITDESC";
     return(dl.RunDataTable(sql, out errMsg));
 }
예제 #9
0
 /// <summary>
 /// 获取机组对应测点
 /// </summary>
 /// <param name="unit">机组编号</param>
 /// <returns></returns>
 public DataTable GetPointsByUnit(string unit)
 {
     sql  = "select T_POWERTAG,T_WINDTAG,T_ELECTRICTAG,T_STOPTIMETAG,T_FAULTTYPE,T_EXPLAINTYPE,T_CALCTIMETYPE,T_WUGONGGLV,T_GONGLVYINSHU,T_GONGLVYINSHUSHEDINGZHI,";
     sql += "T_ZHUANZHISUDU,T_MUXIANPINLV,T_FADIANJISUDUCPU,T_FADIANJISUDUPLC,T_TATONGPIANZHUANJIAODU,T_JICANGWEIZHI,T_CILUNXIANGZHOUCHENGWENDU,T_CHILUNXIANGWENDU,";
     sql += "T_JICANGWENDU,T_LIUYAYUYA,T_YEYAYUYA,T_JICANGZHUANDONG,T_10FENGXIANGCHAZHI,T_1MIAOFENGXIAGNCHAZHI,T_ZHUANJUSHIJIZHI,T_ZHUANJUSHEDINGZHI,T_HUANJINGWENDU,";
     sql += "T_WEIZHOUZHOUCHENGWENDU,T_FADIANJI1DIANWENDU,T_FADIANJI2DIANWENDU,T_FADIANJILENGQUEKONGQIWENDU,T_ZHOUCHENGAWENDU,T_ZHOUCHENGBWENDU";
     sql += " from Administrator.T_BASE_POINTS where T_UNITID='" + unit + "'";
     dt   = dl.RunDataTable(sql, out errMsg);
     return(dt);
 }
예제 #10
0
파일: FaultDAL.cs 프로젝트: honj51/sac-fxny
        /// <summary>
        /// 根据风场期数获取机组ID和描述
        /// </summary>
        /// <param name="perid"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        public DataTable GetUnitInfoByPID(string perid, out string errMsg)
        {
            errMsg = "";

            DataTable dt = null;

            sql = " select u.T_PERIODID,u.T_UNITID,u.T_UNITDESC,u.T_MACHINEID,p.T_FAULTTYPE from Administrator.T_BASE_POINTS as p inner join Administrator.T_BASE_UNIT as u on ";

            sql += "u.T_UNITID = p.T_UNITID where u.T_PERIODID='" + perid + "'";

            dt = dl.RunDataTable(sql, out errMsg);
            return(dt);
        }
예제 #11
0
        public string GetData(string id)
        {
            BLL.BLLDefault bll_df = new BLL.BLLDefault();
            DBLink         dl     = new DBLink();
            string         errMsg = "";
            string         sql    = "select * from t_info_graphic where t_graphicid ='" + id + "'";


            DataTable dtt = new DataTable();//select * from t_info_graphic where t_graphicid ='1' order by t_controlid asc
            DataTable dt  = dl.RunDataTable(sql, out errMsg);
            string    str = "";

            for (int i = 0; i < dt.Rows.Count; i++)
            {//select * from (select * from t_info_histvalue where T_TAG='GHPV_1_000WG001' order by t_time desc) where ROWNUM =1 order by ROWNUM asc
             // string sql_value = "select * from (select * from t_info_histvalue where T_TAG='" + dt.Rows[i]["t_tag"].ToString() + "' order by t_time desc) where ROWNUM =1 order by ROWNUM asc";

                dtt = bll_df.GetDT(dt.Rows[i]["t_tag"].ToString(), DateTime.Now);
                if ((dtt.Rows.Count > 0) && (dtt.Rows[0]["D_VALUE"].ToString() != ""))
                {
                    str += dt.Rows[i]["t_controlid"].ToString() + "," + Convert.ToDouble(dtt.Rows[0]["D_VALUE"].ToString()).ToString("f2") + ";";
                }
                else
                {
                    str += dt.Rows[i]["t_controlid"].ToString() + ",0;";
                }
            }

            return(str);
        }
예제 #12
0
        private DataTable Get_COMID()
        {
            DataTable dt  = null;
            string    sql = "select T_COMID from t_base_plant group by T_COMID";

            dt = dl.RunDataTable(sql, out errMsg);
            return(dt);
        }
예제 #13
0
파일: WppDAL.cs 프로젝트: honj51/sac-fxny
        /// <summary>
        /// 获取机组信息
        /// </summary>
        /// <param name="periodId"></param>
        /// <returns></returns>
        public DataTable GetUnit(string periodId)
        {
            sql = "select T_UNITID,T_UNITDESC,T_MACHINEID from Administrator.T_BASE_UNIT where T_PERIODID='" + periodId + "'";

            dt = db.RunDataTable(sql, out errMsg);

            return(dt);
        }
예제 #14
0
        /// <summary>
        /// 初始化分页数据
        /// </summary>
        /// <param name="table">数据表</param>
        /// <param name="startIndex">开始索引</param>
        /// <param name="endIndex">结束索引</param>
        /// <returns></returns>
        public DataTable GetReportTable(string table, int startIndex, int endIndex)
        {
            string    errMsg = "";
            DataTable dt     = null;

            sql = "select * from (select a.*,rownumber() over() as rowid from (select * from Administrator." + table + ") a) tmp where tmp.rowid >=" + startIndex + " and tmp.rowid <= " + endIndex;
            dt  = dl.RunDataTable(sql, out errMsg);
            sql = "";
            return(dt);
        }
예제 #15
0
        public string GetFHByTimeGF(string pName)
        {
            DBLink dl = new DBLink();
            string fh = "[";

            string dtZr = DateTime.Now.ToString("yyyy-MM-dd 0:00:00").ToString();
            string dtJr = DateTime.Now.ToString();


            string sql = "select max(D_VALUE),to_char(T_time,'HH24') s2 from t_info_histvalue where " +
                         "T_TAG=(select t_base_points_org.T_POWERTAG from t_base_points_org where " +
                         " t_base_points_org.t_orgid='" + pName + "' )  and " +
                         "T_TIME between to_date('" + dtZr + "','yyyy-MM-dd HH24:MI:SS') and " +
                         "to_date('" + dtJr + "','yyyy-MM-dd HH24:MI:SS') group by to_char(T_time,'HH24') order by s2 asc";

            string    errMsg = "";
            DataTable dt     = dl.RunDataTable(sql, out errMsg);

            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (i == 0)
                    {
                        for (int j = 0; j < Convert.ToDouble(dt.Rows[i][1].ToString()); j++)
                        {
                            fh += "null,";
                        }
                        fh += Convert.ToDouble(dt.Rows[i][0].ToString()).ToString("f2") + ",";
                    }
                    else
                    {
                        for (int j = 0; j < (Convert.ToDouble(dt.Rows[i][1].ToString()) - Convert.ToDouble(dt.Rows[i - 1][1].ToString())) - 1; j++)
                        {
                            fh += "null,";
                        }
                        fh += Convert.ToDouble(dt.Rows[i][0].ToString()).ToString("f2") + ",";
                    }
                    if (i == dt.Rows.Count - 1)
                    {
                        for (int j = 0; j < (24 - Convert.ToDouble(dt.Rows[i][1].ToString())) - 1; j++)
                        {
                            fh += "null,";
                        }
                    }
                }
            }
            fh = fh.TrimEnd(',') + "]";

            return("{\"fh\":" + fh + "}");
        }
예제 #16
0
        /// <summary>
        /// 获取机组负荷、主汽流量、主汽压力、主汽温度、再热温度、真空、锅炉效率、热耗、煤耗的最新值
        /// </summary>
        /// <param name="unitId">机组编号</param>
        /// <returns></returns>
        public double[] GetVal(string unitId)
        {
            sql = "select T_POWERTAG,T_FLOWTAG,T_PRESSURETAG,T_TEMPERATURETAG,T_REHEATTEMPERATURETAG,T_VACUUM,T_EFFICIENCY,T_HEATCONSUMPTION,T_COALCONSUMPTION from T_BASE_POINT_UNIT where T_UNITID='" + unitId + "'";
            DataTable dt = db.RunDataTable(sql, out errMsg);

            string[] _str = new string[9];
            double[] _val = new double[9];
            for (int i = 0; i < 9; i++)
            {
                _str[i] = dt.Rows[0][i].ToString();
            }
            _val = GetPointVal(_str);
            return(_val);
        }
예제 #17
0
        //************//

        /// <summary>
        /// 判断报表模板名称是否存在
        /// </summary>
        /// <param name="treeID"></param>
        /// <param name="repName"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        public int GetCountByTreeID(string treeID, string repName, out string errMsg)
        {
            errMsg = "";
            int       count = 0;
            DataTable dr    = null;

            string sql = "select * from T_INFO_SISREPORT where Treeid='" + treeID + "' and reportname='" + repName + "'";

            dr = dl.RunDataTable(sql, out errMsg);
            //if (dbTypeValue == "SQL")
            //    dr = DBsql.RunDataTable(sql, out errMsg);
            //else if (dbTypeValue == "DB2")
            //    dr = DBdb2.RunDataTable(sql, out errMsg);
            //else if (dbTypeValue == "Oracle")
            //    dr = SAC.OracleHelper.OracleHelper.GetDataTable(sql);

            if (dr.Rows.Count > 0)
            {
                count = dr.Rows.Count;
            }

            return(count);
        }
예제 #18
0
파일: Member.cs 프로젝트: eseawind/sac-mxny
        /// <summary>
        /// 返回所有人员信息
        /// 创建:李东峰 日期:2014-03-11
        /// </summary>
        /// <returns>返回查询结果集</returns>
        public DataTable GetAllMembers()
        {
            DataTable _dt = null;
            string    sql = "select T_USERID,T_USERNAME from T_SYS_MEMBERINFO order by ID_KEY asc";

            try
            {
                _dt = dl.RunDataTable(sql, out errMsg);
            }
            catch (Exception ex)
            {
            }

            return(_dt);
        }
예제 #19
0
        /// <summary>
        /// 获取全厂机组负荷曲线
        /// </summary>
        /// <param name="st">开始时间</param>
        /// <param name="et">结束时间</param>
        /// <param name="count">测点值个数</param>
        /// <returns></returns>
        public IList <Hashtable> GetUnitLine(DateTime st, DateTime et, int count)
        {
            IList <Hashtable> listdata = new List <Hashtable>();

            sql = "SELECT T_UNITID,T_POWERTAG FROM T_BASE_POINT_UNIT;";
            dt  = db.RunDataTable(sql, out errMsg);

            if (dt != null && dt.Rows.Count > 0)
            {
                Hashtable ht = new Hashtable();
                ArrayList ld = new ArrayList();
                ArrayList lt = new ArrayList();

                double drv = 0;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    ht = new Hashtable();
                    lt = new ArrayList();
                    ht.Add("name", dt.Rows[i][0]);
                    ht.Add("yAxis", i);
                    DateTime _sTime = new DateTime(1970, 1, 1);
                    DateTime dtt    = st;
                    dll.OpenPi();
                    while (dtt < et)
                    {
                        ld = new ArrayList();
                        dll.GetHisValue(dt.Rows[i][1].ToString(), dtt.ToString("yyyy-MM-dd HH:mm:ss"), ref drv);
                        if (drv > 0)
                        {
                            drv = GetDouble(drv, 3);
                        }
                        string   timeStamp = DateTimeToUTC(dtt).ToString();
                        DateTime dtStart   = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
                        long     lTime     = long.Parse(timeStamp + "0000000");
                        TimeSpan toNow     = new TimeSpan(lTime);
                        DateTime dtResult  = dtStart.Add(toNow);
                        ld.Add(Convert.ToInt64((dtResult - _sTime).TotalMilliseconds.ToString()));
                        ld.Add(drv);
                        lt.Add(ld);
                        dtt = dtt.AddSeconds(count);
                    }
                    ht.Add("data", lt);
                    listdata.Add(ht);
                }
            }
            return(listdata);
        }
예제 #20
0
        public ArrayList GetPOINTS_UNIT(string id)
        {
            ArrayList ld  = new ArrayList();
            string    sql = "select * from t_base_unit where T_PATITIONID ='" + id + "' and t_unittype ='NBQ'";
            DataTable dt  = dl.RunDataTable(sql, out errMsg);

            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    ld.Add(dt.Rows[i]["T_UNITID"].ToString());
                }
            }
            return(ld);
        }
예제 #21
0
        private double GerUnitNum(string id)
        {
            double unit_num = 0;

            string sql_jtzb = "select count(*) from t_base_unit where t_patitionid in " +
                              "(select t_patitionid from t_base_partition where t_plantid " +
                              "in(select T_PLANTID from t_base_plant where " + id + "))  and t_unittype ='NBQ'";
            DataTable dt = dl.RunDataTable(sql_jtzb, out errMsg);

            if (dt.Rows[0][0].ToString().Trim() != "")
            {
                unit_num += Convert.ToDouble(dt.Rows[0][0].ToString());
            }
            return(unit_num);
        }
예제 #22
0
        /// <summary>
        /// 根据用户所属的角色ID和每页显示多少条数据返回用户信息
        /// 创建:李东峰 日期:2014-03-10
        /// </summary>
        /// <param name="_grpId">用户所属的角色ID</param>
        /// <param name="sCount">起始条数</param>
        /// <param name="eCount">结束条数</param>
        /// <returns>返回查询结果集</returns>
        public DataTable GetUserByRoleId(int sCount, int eCount)
        {
            int    t1       = eCount - sCount + 1;
            int    t2       = sCount - 1;
            string rlDBType = dl.init();
            string sqlSQL   = "select top " + t1 + " * from (select ID_KEY,T_USERID,T_USERNAME from(select T_SYS_MEMBERINFO.ID_KEY,T_SYS_MEMBERINFO.T_USERID,T_SYS_MEMBERINFO.T_USERNAME,T_SYS_MEMBERGRP.T_GRPID from T_SYS_MEMBERINFO left JOIN T_SYS_MEMBERGRP ON T_SYS_MEMBERGRP.T_USERID=T_SYS_MEMBERINFO.T_USERID)as a where a.T_GRPID='" + RoleId + "')as b where (b.ID_KEY not in ( select top " + t2 + " ID_KEY from(select T_SYS_MEMBERINFO.ID_KEY,T_SYS_MEMBERINFO.T_USERID,T_SYS_MEMBERINFO.T_USERNAME,T_SYS_MEMBERGRP.T_GRPID from T_SYS_MEMBERINFO left JOIN T_SYS_MEMBERGRP ON T_SYS_MEMBERGRP.T_USERID=T_SYS_MEMBERINFO.T_USERID)as a where a.T_GRPID='" + RoleId + "'))";
            string sqlDB2   = "select * from ( select a.ID_KEY,a.T_USERID,a.T_USERNAME,rownumber() over(order by ID_KEY asc ) as rowid from (select T_SYS_MEMBERINFO.ID_KEY,T_SYS_MEMBERINFO.T_USERID,T_SYS_MEMBERINFO.T_USERNAME,T_SYS_MEMBERGRP.T_GRPID from T_SYS_MEMBERINFO left JOIN T_SYS_MEMBERGRP ON T_SYS_MEMBERGRP.T_USERID=T_SYS_MEMBERINFO.T_USERID ORDER BY T_SYS_MEMBERINFO.ID_KEY)as a where a.T_GRPID='" + RoleId + "') as b where b.rowid between " + sCount + " and " + eCount + "";
            string sqlORC   = "select * from(select ID_KEY,T_USERID,T_USERNAME,ROWNUM rn from(select T_SYS_MEMBERINFO.ID_KEY,T_SYS_MEMBERINFO.T_USERID,T_SYS_MEMBERINFO.T_USERNAME,T_SYS_MEMBERGRP.T_GRPID from T_SYS_MEMBERINFO left JOIN T_SYS_MEMBERGRP ON T_SYS_MEMBERGRP.T_USERID=T_SYS_MEMBERINFO.T_USERID ORDER BY T_SYS_MEMBERINFO.ID_KEY) where T_GRPID='" + RoleId + "' and ROWNUM <= " + eCount + ")WHERE rn >= " + sCount + "";

            string    errMsg;
            DataTable _dt = null;

            if (rlDBType == "SQL")
            {
                try
                {
                    _dt = dl.RunDataTable(sqlSQL, out errMsg);
                }
                catch (Exception ex)
                {
                    LogHelper.WriteLog(LogHelper.EnLogType.Run, "发生时间:" + DateTime.Now.ToString("yyyy-MM-dd H:mm:ss") + "/n错误信息:" + ex.Message);
                }
            }
            else if (rlDBType == "DB2")
            {
                try
                {
                    _dt = dl.RunDataTable(sqlDB2, out errMsg);
                }
                catch (Exception ex)
                {
                    LogHelper.WriteLog(LogHelper.EnLogType.Run, "发生时间:" + DateTime.Now.ToString("yyyy-MM-dd H:mm:ss") + "/n错误信息:" + ex.Message);
                }
            }
            else if (rlDBType == "ORACLE")
            {
                try
                {
                    _dt = dl.RunDataTable(sqlORC, out errMsg);
                }
                catch (Exception ex)
                {
                    LogHelper.WriteLog(LogHelper.EnLogType.Run, "发生时间:" + DateTime.Now.ToString("yyyy-MM-dd H:mm:ss") + "/n错误信息:" + ex.Message);
                }
            }
            return(_dt);
        }
예제 #23
0
        /// <summary>
        /// 值报
        /// </summary>
        /// <param name="repName"></param>
        /// <param name="unit"></param>
        /// <returns></returns>
        public ArrayList GetChartData(string Trendid, string sdate, string edate)
        {
            double    drvA  = 0;
            int       ret   = 0;
            string    pName = null;
            ArrayList list  = new ArrayList();

            count = pm.GetCountByChart(Trendid);
            //countKey = pm.GetCountkey(repName, 1);

            DateTime dtNow = DateTime.Now;

            string[] de = null;          //describe 趋势参数描述
            string[] un = null;          //单位
            string[] dv = null;          //值
            string[] ma = new string[7]; //mark   xy轴刻度


            LogHelper.WriteLog(LogHelper.EnLogType.Run, DateTime.Now.ToString("yyyy-MM-dd H:mm:ss") + " 值报开始.......");

            LogHelper.WriteLog(LogHelper.EnLogType.Run, DateTime.Now.ToString("yyyy-MM-dd H:mm:ss") + " count Value=" + count);

            try
            {
                de = new string[count];
                un = new string[count];
                dv = new string[count];

                //判断是否多y轴,判断是否自动y轴刻度,如果是则取出y轴刻度
                sql = "select T_MULITYAXIS, T_YMAX, T_YMIN, T_YAUTO from administrator.T_INFO_CHART_USERTEMPLATE where T_CHARTID='" + Trendid + "'";

                DataTable dtInfo = null;

                //if (rlDBType == "SQL")
                //    dtInfo = DBsql.RunDataTable(sql, out errMsg);
                //else
                //    dtInfo = DBdb2.RunDataTable(sql, out errMsg);
                dtInfo = dl.RunDataTable(sql, out errMsg);

                if (dtInfo != null && dtInfo.Rows.Count > 0)
                {
                    ma[0] = dtInfo.Rows[0]["T_MULITYAXIS"].ToString();
                    ma[1] = dtInfo.Rows[0]["T_YAUTO"].ToString();
                    ma[2] = dtInfo.Rows[0]["T_YMAX"].ToString();
                    ma[3] = dtInfo.Rows[0]["T_YMIN"].ToString();
                }
                else
                {
                    LogHelper.WriteLog(LogHelper.EnLogType.Run, DateTime.Now.ToString("yyyy-MM-dd H:mm:ss") + " 读取[xy轴刻度]信息失败......");
                }
                //ID_KEY, CHARTID, PARAID, PARADESC, PARATYPE, SQL, REALTIME, PERIOD, SHIFT, YMAX, YMIN, YAUTO, UNIT
                sql = "select count(*) from administrator.T_INFO_CHART_CHARTPARA where T_CHARTID = '" + Trendid + "' ";

                DataTable dtLevBZ = null;
                int       a       = 0;
                //if (rlDBType == "SQL")
                //{
                //    dtLevBZ = DBsql.RunDataTable(sql, out errMsg);
                //}
                //else
                //{
                //    dtLevBZ = DBdb2.RunDataTable(sql, out errMsg);
                //}
                dtLevBZ = dl.RunDataTable(sql, out errMsg);

                if (dtLevBZ != null && Convert.ToInt32(dtLevBZ.Rows[0][0].ToString()) > 0)
                {
                    #region SQL

                    sql = "select * from administrator.T_INFO_CHART_CHARTPARA where T_CHARTID = '" + Trendid + "' and T_PARATYPE='SQL' ";

                    DataTable dtSQL = null;
                    DataSet   dssql = null;
                    //if (rlDBType == "SQL")
                    //{
                    //    dtSQL = DBsql.RunDataTable(sql, out errMsg);
                    //}
                    //else
                    //{
                    //    dtSQL = DBdb2.RunDataTable(sql, out errMsg);
                    //}
                    dtSQL = dl.RunDataTable(sql, out errMsg);
                    if (dtSQL != null && dtSQL.Rows.Count > 0)
                    {
                        for (int i = 0; i < dtSQL.Rows.Count; i++)
                        {
                            de[a]  = dtSQL.Rows[i]["T_PARADESC"].ToString();
                            un[a]  = dtSQL.Rows[i]["T_UNIT"].ToString();
                            ma[4] += dtSQL.Rows[i]["T_YAUTO"].ToString() + ",";
                            ma[5] += dtSQL.Rows[i]["T_YMAX"].ToString() + ",";
                            ma[6] += dtSQL.Rows[i]["T_YMIN"].ToString() + ",";
                            sql    = dtSQL.Rows[i]["T_SQL"].ToString();

                            if (sql.Contains("&bt&") && sql.Contains("&et&"))
                            {
                                sql = sql.Replace("&bt&", DateTime.Parse(sdate).AddSeconds(Convert.ToDouble(dtSQL.Rows[i]["T_SHIFT"].ToString())).ToString());
                                sql = sql.Replace("&et&", DateTime.Parse(edate).AddSeconds(Convert.ToDouble(dtSQL.Rows[i]["T_SHIFT"].ToString())).ToString());
                            }

                            //if (rlDBType == "SQL")
                            //{
                            //    dssql = DBsql.RunDataSet(sql, out errMsg);
                            //}
                            //else
                            //{
                            //    dssql = DBdb2.RunDataSet(sql, out errMsg);
                            //}
                            dssql = dl.RunDataSet(sql, out errMsg);
                            for (int j = 0; j < dssql.Tables[0].Rows.Count; j++)
                            {
                                dv[a] += dssql.Tables[0].Rows[j][0].ToString() + "+" + dssql.Tables[0].Rows[j][1].ToString();
                                if (j != dssql.Tables[0].Rows.Count - 1)
                                {
                                    dv[a] += ",";
                                }
                                else
                                {
                                    dv[a] += ";";
                                }
                            }
                            a++;
                        }
                    }
                    #endregion

                    #region 实时数据库
                    sql = "select * from administrator.T_INFO_CHART_CHARTPARA where T_CHARTID = '" + Trendid + "' and T_PARATYPE='RT' ";

                    DataTable dtAvg = null;
                    DateTime  dtsql = DateTime.Now;
                    //if (rlDBType == "SQL")
                    //{
                    //    dtAvg = DBsql.RunDataTable(sql, out errMsg);
                    //}
                    //else
                    //{
                    //    dtAvg = DBdb2.RunDataTable(sql, out errMsg);
                    //}
                    dtAvg = dl.RunDataTable(sql, out errMsg);
                    if (dtAvg != null && dtAvg.Rows.Count > 0)
                    {
                        for (int i = 0; i < dtAvg.Rows.Count; i++)
                        {
                            de[a] = dtAvg.Rows[i]["T_PARADESC"].ToString();
                            un[a] = dtAvg.Rows[i]["T_UNIT"].ToString();
                            pName = dtAvg.Rows[i]["T_REALTIME"].ToString();

                            DateTime date = DateTime.Parse(sdate);
                            while (date < DateTime.Parse(edate))
                            {
                                if (rtDBType == "EDNA")
                                {
                                    //ek.GetHisValueByTime(pName, sdate, ref ret, ref drvA);
                                }
                                else
                                {
                                    // pk.GetHisValue(pName, sdate, ref drvA);
                                }
                                dv[a] += sdate + "+" + drvA.ToString() + ",";

                                date = date.AddSeconds(Convert.ToDouble(dtAvg.Rows[i]["T_SHIFT"].ToString()));
                            }

                            a++;
                        }
                    }
                    #endregion
                }
            }
            catch (Exception ce)
            {
                LogHelper.WriteLog(LogHelper.EnLogType.Run, DateTime.Now.ToString("yyyy-MM-dd H:mm:ss") + " 程序异常: " + ce.Message);
            }

            list.Add(de);
            list.Add(un);
            list.Add(dv);
            list.Add(ma);

            return(list);
        }
예제 #24
0
        //获取所有总装机量
        public double GetCapacity(DateTime d_time)
        {
            double capacity = 0;

            DataTable dt  = null;
            string    sql = "select * from t_base_plant order by ID_KEY asc";

            dt = dl.RunDataTable(sql, out errMsg);

            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataTable DTT = null;


                    string sql1 = "select 容量 from(select row_number() over(order by T_time desc) seq,t.* from  t_info_rl t where T_ORGID='" + dt.Rows[i]["T_PLANTID"].ToString() + "' and T_time <= to_date('" + d_time + "','yyyy-MM-dd HH24:MI:SS')  ) where seq=1  order by T_TIME desc";
                    DTT = dl.RunDataTable(sql1, out errMsg);
                    if (DTT.Rows.Count > 0)
                    {
                        capacity += Convert.ToDouble(DTT.Rows[0][0].ToString());
                    }
                }
            }
            return(Math.Round(capacity, 2));
        }
예제 #25
0
 /// <summary>
 /// 获取测点
 /// </summary>
 /// <returns></returns>
 public DataTable GetAllPoints()
 {
     sql = "select *From T_BASE_POINT_UNIT";
     dt  = dl.RunDataTable(sql, out errMsg);
     return(dt);
 }
예제 #26
0
        /// <summary>
        /// 初始化机组信息
        /// </summary>
        private void LoadData()
        {
            StringBuilder htmlTable = new StringBuilder();

            htmlTable.Append("<table cellSpacing='0' cellPadding='0' width ='1100px' border='1'>");
            string strTitle = "<tr style='background-color: #CFE6FC; line-height:35px'><td style='width:100px;'>区域</td><td style='width:100px;'>电站</td><td  style='width:120px'>出力(万kw)</td><td  style='width:100px'>机型</td><td style='width:920px' colspan='" + colrow + "'>机组</td></tr>";

            htmlTable.Append(strTitle);
            string str  = "";
            string str2 = "";
            string str3 = "";
            string str4 = "";

            //sql = "select DISTINCT PERIOD_NAME,PERIOD_TAG,T_ORDER,T_AREA from (select * from ADMINISTRATOR.T_INFO_UNIT  " + dataType + ")  order by T_AREA,T_ORDER";
            //DataTable dtNames = dl.RunDataTable(sql, out errMsg);

            string    sqlArea = "select DISTINCT T_AREA from (select T_AREA from ADMINISTRATOR.T_INFO_UNIT   " + dataType + ")  order by T_AREA ";
            DataTable dtArea  = dl.RunDataTable(sqlArea, out errMsg);

            for (int a = 0; a < dtArea.Rows.Count; a++)
            {
                string    areaSql  = "select DISTINCT PERIOD_NAME,PERIOD_TAG,T_ORDER,T_AREA from (select * from ADMINISTRATOR.T_INFO_UNIT " + dataType + " and T_AREA='" + dtArea.Rows[a][0].ToString() + "')";
                DataTable dtAreas  = dl.RunDataTable(areaSql, out errMsg);
                double    areaRows = 0;
                //具体区域列合并多少行 根据机组数量除以机组的列数
                //for (int j = 0; j < dtAreas.Rows.Count; j++)
                //{
                sql = "select DISTINCT PERIOD_NAME,PERIOD_TAG,T_ORDER,T_AREA,UNIT_FACTORY from (select * from ADMINISTRATOR.T_INFO_UNIT  " + dataType + " and T_AREA='" + dtArea.Rows[a][0].ToString() + "')  order by T_AREA,T_ORDER";
                DataTable dtNamesa = dl.RunDataTable(sql, out errMsg);
                for (int jj = 0; jj < dtNamesa.Rows.Count; jj++)
                {
                    sql = "select DISTINCT UNIT_FACTORY from (select * from ADMINISTRATOR.T_INFO_UNIT " + dataType + " and T_AREA='" + dtArea.Rows[a][0].ToString() + "' and PERIOD_NAME='" + dtNamesa.Rows[jj][0].ToString() + "') ";

                    DataTable dtUnits = dl.RunDataTable(sql, out errMsg);

                    for (int b = 0; b < dtUnits.Rows.Count; b++)
                    {
                        if (dtUnits.Rows[b]["UNIT_FACTORY"] != DBNull.Value)
                        {
                            sql = "select * from ADMINISTRATOR.T_INFO_UNIT " + dataType + " and T_AREA='" + dtArea.Rows[a][0].ToString() + "'  and PERIOD_NAME='" + dtNamesa.Rows[jj][0].ToString() + "' and UNIT_FACTORY='" + dtUnits.Rows[b]["UNIT_FACTORY"].ToString() + "' order by INT(UNIT_ID)";
                        }
                        else
                        {
                            sql = "select * from ADMINISTRATOR.T_INFO_UNIT " + dataType + " and T_AREA='" + dtArea.Rows[a][0].ToString() + "' and PERIOD_NAME='" + dtNamesa.Rows[jj][0].ToString() + "' and UNIT_FACTORY IS NULL ";//order by INT(UNIT_ID)";
                        }
                        DataTable dtType = new DataTable();
                        dtType = dl.RunDataTable(sql, out errMsg);

                        areaRows += (Math.Ceiling((double)dtType.Rows.Count / double.Parse(colrow.ToString()))) * 2;
                    }
                }
                //}
                //风电的区域,场站 可以跳转
                if (cyTye == "fd")
                {
                    str += "<tr><td style='text-align:left' rowspan=\"" + areaRows + "\"><a type='2' href='#' onclick='next(this)'>" + dtArea.Rows[a]["T_AREA"].ToString() + "</a></td>";
                }
                else
                {
                    str += "<tr><td style='text-align:left' rowspan=\"" + areaRows + "\">" + dtArea.Rows[a]["T_AREA"].ToString() + "</td>";
                }

                sql = "select DISTINCT PERIOD_NAME,PERIOD_TAG,T_ORDER,T_AREA,UNIT_FACTORY from (select * from ADMINISTRATOR.T_INFO_UNIT  " + dataType + " and T_AREA='" + dtArea.Rows[a][0].ToString() + "')  order by T_AREA,T_ORDER";
                DataTable dtNames = dl.RunDataTable(sql, out errMsg);
                for (int jj = 0; jj < dtNames.Rows.Count; jj++)
                {
                    //sql = "select * from ADMINISTRATOR.T_INFO_UNIT " + dataType + " and T_AREA='" + dtArea.Rows[a][0].ToString() + "' and PERIOD_NAME='" + dtNames.Rows[j][0].ToString() + "' order by INT(UNIT_ID)";
                    sql = "select DISTINCT UNIT_FACTORY from (select * from ADMINISTRATOR.T_INFO_UNIT " + dataType + " and T_AREA='" + dtArea.Rows[a][0].ToString() + "' and PERIOD_NAME='" + dtNamesa.Rows[jj][0].ToString() + "') ";

                    DataTable dtUnitss = dl.RunDataTable(sql, out errMsg);
                    double    rowspans = 0;
                    for (int d = 0; d < dtUnitss.Rows.Count; d++)
                    {
                        if (dtUnitss.Rows[d]["UNIT_FACTORY"] != DBNull.Value)
                        {
                            sql = "select * from ADMINISTRATOR.T_INFO_UNIT " + dataType + " and T_AREA='" + dtArea.Rows[a][0].ToString() + "' and PERIOD_NAME='" + dtNames.Rows[jj][0].ToString() + "' and UNIT_FACTORY='" + dtUnitss.Rows[d]["UNIT_FACTORY"].ToString() + "' order by INT(UNIT_ID)";
                        }
                        else
                        {
                            sql = "select * from ADMINISTRATOR.T_INFO_UNIT " + dataType + " and T_AREA='" + dtArea.Rows[a][0].ToString() + "' and PERIOD_NAME='" + dtNames.Rows[jj][0].ToString() + "' and UNIT_FACTORY IS NULL ";// order by INT(UNIT_ID)";
                        }
                        DataTable dtType = dl.RunDataTable(sql, out errMsg);

                        rowspans += (Math.Ceiling((double)dtType.Rows.Count / double.Parse(colrow.ToString()))) * 2;
                    }
                    //double rowspan = Math.Ceiling((double)dtUnits.Rows.Count / double.Parse(colrow.ToString()));

                    //出力合并行
                    if (cyTye == "fd")
                    {
                        str += "<td style='text-align:left' rowspan=\"" + rowspans + "\"><a type='3' area='" + dtNames.Rows[jj]["T_AREA"].ToString() + "' href='#' onclick='next(this)'>" + dtNames.Rows[jj][0].ToString() + "</a></td><td  style='text-align:right' rowspan=\"" + rowspans + "\">" + Math.Round(PointValuesPerion.ContainsKey(dtNames.Rows[jj][0].ToString())?PointValuesPerion[dtNames.Rows[jj][0].ToString()]:0, 3) + "</td>";
                    }
                    else
                    {
                        str += "<td style='text-align:left' rowspan=\"" + rowspans + "\">" + dtNames.Rows[jj][0].ToString() + "</td><td  style='text-align:right' rowspan=\"" + rowspans + "\">" + Math.Round(PointValuesPerion.ContainsKey(dtNames.Rows[jj][0].ToString())?PointValuesPerion[dtNames.Rows[jj][0].ToString()]:0, 3) + "</td>";
                    }



                    for (int p = 0; p < dtUnitss.Rows.Count; p++)
                    {
                        double rowspan = 0;
                        string sql2    = string.Empty;
                        if (dtUnitss.Rows[p]["UNIT_FACTORY"] != DBNull.Value)
                        {
                            sql  = "select distinct  ID_KEY ,UNIT_FACTORY,PERIOD_NAME,UNIT_GL_TAG,UNIT_ID,T_WINDTAG from (select U.I_FLAG, T.*,P.T_WINDTAG from ADMINISTRATOR.T_INFO_UNIT AS T  LEFT JOIN  ADMINISTRATOR.T_BASE_POINTS AS P  ON T.UNIT_GL_TAG=P.T_POWERTAG  LEFT JOIN ADMINISTRATOR.T_BASE_UNIT AS U ON P.T_UNITID=U.T_UNITID" + dataType + " and T.T_AREA='" + dtArea.Rows[a][0].ToString() + "' and T.PERIOD_NAME='" + dtNames.Rows[jj][0].ToString() + "' and T.UNIT_FACTORY='" + dtUnitss.Rows[p]["UNIT_FACTORY"].ToString() + "' order by INT(T.UNIT_ID))";
                            sql2 = "select distinct  ID_KEY ,I_FLAG,UNIT_FACTORY,PERIOD_NAME,UNIT_GL_TAG,UNIT_ID from (select U.I_FLAG, T.* from ADMINISTRATOR.T_INFO_UNIT AS T  LEFT JOIN  ADMINISTRATOR.T_BASE_POINTS AS P  ON T.UNIT_GL_TAG=P.T_POWERTAG  LEFT JOIN ADMINISTRATOR.T_BASE_UNIT AS U ON P.T_UNITID=U.T_UNITID" + dataType + " and T.T_AREA='" + dtArea.Rows[a][0].ToString() + "' and T.PERIOD_NAME='" + dtNames.Rows[jj][0].ToString() + "' and T.UNIT_FACTORY='" + dtUnitss.Rows[p]["UNIT_FACTORY"].ToString() + "' order by INT(T.UNIT_ID))";
                        }
                        else
                        {
                            sql  = "select distinct  ID_KEY,UNIT_FACTORY,PERIOD_NAME,UNIT_GL_TAG,UNIT_ID,T_WINDTAG from ( select U.I_FLAG, T.*,P.T_WINDTAG  from ADMINISTRATOR.T_INFO_UNIT AS T  LEFT JOIN  ADMINISTRATOR.T_BASE_POINTS AS P  ON T.UNIT_GL_TAG=P.T_POWERTAG  LEFT JOIN ADMINISTRATOR.T_BASE_UNIT AS U ON P.T_UNITID=U.T_UNITID" + dataType + " and T.T_AREA='" + dtArea.Rows[a][0].ToString() + "' and T.PERIOD_NAME='" + dtNames.Rows[jj][0].ToString() + "' and T.UNIT_FACTORY IS NULL order by INT(T.UNIT_ID))";
                            sql2 = "select distinct  ID_KEY ,I_FLAG,UNIT_FACTORY,PERIOD_NAME,UNIT_GL_TAG,UNIT_ID from ( select U.I_FLAG, T.*  from ADMINISTRATOR.T_INFO_UNIT AS T  LEFT JOIN  ADMINISTRATOR.T_BASE_POINTS AS P  ON T.UNIT_GL_TAG=P.T_POWERTAG  LEFT JOIN ADMINISTRATOR.T_BASE_UNIT AS U ON P.T_UNITID=U.T_UNITID" + dataType + " and T.T_AREA='" + dtArea.Rows[a][0].ToString() + "' and T.PERIOD_NAME='" + dtNames.Rows[jj][0].ToString() + "' and T.UNIT_FACTORY IS NULL order by INT(T.UNIT_ID))";
                        }
                        DataTable dtType = dl.RunDataTable(sql, out errMsg);
                        //带I_FLAG
                        DataTable dtType2 = dl.RunDataTable(sql2, out errMsg);
                        DataRow[] DDDD    = dtType2.Select("I_FLAG=1");
                        //保存标杆风机的ID_KEY
                        List <string> id = new List <string>();
                        foreach (DataRow drr in DDDD)
                        {
                            id.Add(drr["ID_KEY"].ToString());
                        }

                        rowspan = Math.Ceiling(((double)dtType.Rows.Count) / double.Parse(colrow.ToString()));
                        str    += "<td style='text-align:left' rowspan=\"" + rowspan * 2 + "\">" + dtUnitss.Rows[p]["UNIT_FACTORY"] + "</td>";
                        int rows = Int32.Parse((rowspan * double.Parse(colrow.ToString())).ToString());
                        for (int k = 1; k <= rows; k++)
                        {
                            if (k > dtType.Rows.Count)
                            {
                                if (k % double.Parse(colrow.ToString()) == 0 && k != 0)
                                {
                                    str  += "<td  style='width:41px'>&nbsp;</td></tr>";
                                    str2 += "<td>&nbsp;</td></tr>";
                                    htmlTable.Append(str);
                                    htmlTable.Append(str2);
                                    str  = "<tr>";
                                    str2 = "<tr>";
                                }
                                else
                                {
                                    str  += "<td>&nbsp;</td>";
                                    str2 += "<td>&nbsp;</td>";
                                }
                            }
                            else
                            {
                                if (k % double.Parse(colrow.ToString()) == 0 && k != 0)
                                {
                                    if (dtType.Rows[k - 1]["PERIOD_NAME"].ToString() == "南宁华南城" || dtType.Rows[k - 1]["PERIOD_NAME"].ToString() == "天津北辰" || dtType.Rows[k - 1]["PERIOD_NAME"].ToString() == "九江")
                                    {
                                        str  += "<td  style='width:41px'>&nbsp;</td></tr>";
                                        str2 += "<td>&nbsp;</td></tr>";
                                        htmlTable.Append(str);
                                        htmlTable.Append(str2);
                                        str  = "<tr>";
                                        str2 = "<tr>";
                                    }
                                    else
                                    {
                                        //风电
                                        if (cyTye == "fd")
                                        {
                                            //风速
                                            double value = PointValues.ContainsKey(dtType.Rows[k - 1]["T_WINDTAG"].ToString())?PointValues[dtType.Rows[k - 1]["T_WINDTAG"].ToString()]:0;
                                            //是否是标杆风机
                                            if (id.Contains(dtType.Rows[k - 1]["ID_KEY"].ToString()))
                                            {
                                                if (value <= 3)
                                                {
                                                    str += "<td  style='width:41px;color:Red;background-color: #B3D6FD;'  title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString())?PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()]:0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;color:Red;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a> </td></tr>";
                                                }
                                                else if (value >= 3 && value <= 12)
                                                {
                                                    str += "<td  style='width:41px;color:Red;background-color: #ACE066;'  title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString())?PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()]:0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;color:Red;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td></tr>";
                                                }
                                                else if (value > 12 && value <= 25)
                                                {
                                                    str += "<td  style='width:41px;color:Red;background-color: #64C45C;'   title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString())?PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()]:0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;color:Red;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td></tr>";
                                                }
                                                else if (value > 25)
                                                {
                                                    str += "<td  style='width:41px;color:Red;background-color: #9C7DC1;'  title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()) ? PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()] : 0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;color:Red;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td></tr>";
                                                }
                                                //str += "<td  style='width:41px;color:Red;'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</td></tr>";
                                            }
                                            else
                                            {
                                                if (value <= 3)
                                                {
                                                    str += "<td  style='width:41px; background-color: #B3D6FD;'  title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString())?PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()]:0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td></tr>";
                                                }
                                                else if (value >= 3 && value <= 12)
                                                {
                                                    str += "<td  style='width:41px; background-color: #ACE066;'  title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString())?PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()]:0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td></tr>";
                                                }
                                                else if (value > 12 && value <= 25)
                                                {
                                                    str += "<td  style='width:41px; background-color: #64C45C;'  title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString())?PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()]:0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td></tr>";
                                                }
                                                else if (value > 25)
                                                {
                                                    str += "<td  style='width:41px; background-color: #9C7DC1;'  title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()) ? PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()] : 0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td></tr>";
                                                }
                                                //str += "<td  style='width:41px;'>#" + dtType.Rows[k - 1]["UNIT_ID"].ToString() + "</td></tr>";
                                            }
                                        }
                                        else
                                        {
                                            str += "<td  style='width:41px; ' >#" + dtType.Rows[k - 1]["UNIT_ID"] + "</td></tr>";
                                        }
                                        if (PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()))
                                        {
                                            if (PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()] < 0)
                                            {
                                                str2 += "<td style='background-color: yellow;text-align:right'>" + PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()] + "</td></tr>";
                                            }
                                            else
                                            {
                                                str2 += "<td >" + Math.Round(PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()], 3) + "</td></tr>";
                                            }
                                        }
                                        else
                                        {
                                            str2 += "<td >0</td></tr>";
                                        }
                                        htmlTable.Append(str);
                                        htmlTable.Append(str2);
                                        str  = "<tr>";
                                        str2 = "<tr>";
                                    }
                                }
                                else
                                {
                                    if (dtType.Rows[k - 1]["PERIOD_NAME"].ToString() == "南宁华南城" || dtType.Rows[k - 1]["PERIOD_NAME"].ToString() == "天津北辰" || dtType.Rows[k - 1]["PERIOD_NAME"].ToString() == "九江")
                                    {
                                        str  += "<td  style='width:41px'>&nbsp;</td>";
                                        str2 += "<td>&nbsp;</td>";
                                    }
                                    else
                                    {
                                        //风电
                                        if (cyTye == "fd")
                                        {
                                            //风速
                                            double value = PointValues.ContainsKey(dtType.Rows[k - 1]["T_WINDTAG"].ToString())?PointValues[dtType.Rows[k - 1]["T_WINDTAG"].ToString()]:0;

                                            if (id.Contains(dtType.Rows[k - 1]["ID_KEY"].ToString()))
                                            {
                                                if (value <= 3)
                                                {
                                                    str += "<td  style='width:41px;color:Red;background-color: #B3D6FD;' title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString())?PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()]:0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;color:Red;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td>";
                                                }
                                                else if (value >= 3 && value <= 12)
                                                {
                                                    str += "<td  style='width:41px;color:Red;background-color: #ACE066;' title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString())?PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()]:0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;color:Red;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td>";
                                                }
                                                else if (value > 12 && value <= 25)
                                                {
                                                    str += "<td  style='width:41px;color:Red;background-color: #64C45C;' title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString())?PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()]:0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;color:Red;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td>";
                                                }
                                                else if (value > 25)
                                                {
                                                    str += "<td  style='width:41px;color:Red;background-color: #9C7DC1;' title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()) ? PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()] : 0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;color:Red;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td>";
                                                }
                                                //str += "<td  style='width:41px;color:Red;'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</td>";
                                            }
                                            else
                                            {
                                                if (value <= 3)
                                                {
                                                    str += "<td  style='width:41px; background-color: #B3D6FD;'  title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString())?PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()]:0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td>";
                                                }
                                                else if (value >= 3 && value <= 12)
                                                {
                                                    str += "<td  style='width:41px; background-color: #ACE066;'  title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString())?PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()]:0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td>";
                                                }
                                                else if (value > 12 && value <= 25)
                                                {
                                                    str += "<td  style='width:41px; background-color: #64C45C;'  title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString())?PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()]:0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td>";
                                                }
                                                else if (value > 25)
                                                {
                                                    str += "<td  style='width:41px; background-color: #9C7DC1;'  title='风速:" + value + ";负荷:" + Math.Round(PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()) ? PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()] : 0, 3) + "'><a type='4' idkey='" + dtType.Rows[k - 1]["ID_KEY"].ToString() + "' href='#' style='text-decoration:none;' onclick='tc(this)'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</a></td>";
                                                }
                                                //str += "<td  style='width:41px;'>#" + dtType.Rows[k - 1]["UNIT_ID"] + "</td>";
                                            }
                                        }
                                        else
                                        {
                                            str += "<td  style='width:41px;' > #" + dtType.Rows[k - 1]["UNIT_ID"] + "</td>";
                                        }
                                        if (PointValues.ContainsKey(dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()))
                                        {
                                            if (PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()] < 0)
                                            {
                                                str2 += "<td style='background-color: yellow;text-align:right'>" + PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()] + "</td>";
                                            }
                                            else
                                            {
                                                str2 += "<td >" + Math.Round(PointValues[dtType.Rows[k - 1]["UNIT_GL_TAG"].ToString()], 3) + "</td>";
                                            }
                                        }
                                        else
                                        {
                                            str2 += "<td >0</td>";
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            htmlTable.Append("</table>");

            object _obj = new
            {
                data = htmlTable.ToString()
            };
            string result = JsonConvert.SerializeObject(_obj);

            Response.Write(result);
            Response.End();
        }
예제 #27
0
        /// <summary>
        /// 入炉煤低位热值
        /// </summary>
        /// <param name="repType"></param>
        /// <param name="qsrq"></param>
        /// <param name="jsrq"></param>
        /// <param name="unit"></param>
        /// <returns></returns>
        public string rlmdwfrl(string repType, string qsrq, string jsrq, int unit)
        {
            object objML1;
            object objML2;
            string val1 = "";
            string val2 = "";
            double res  = 0;
            string mon  = "";
            string re   = "";

            string dwfrl1 = "0";
            string dwfrl2 = "0";
            string dwfrl3 = "0";

            string mz1ml1 = "0";     //煤量1
            string mz1ml2 = "0";
            string mz1ml3 = "0";

            string mz2ml1 = "0";     //煤量2
            string mz2ml2 = "0";
            string mz2ml3 = "0";

            string val = "";

            if (repType == "值报")
            {
                string sql = "select * from 入炉煤质分析表 where 日期='" + qsrq + "'";

                DataTable dtmt = dl.RunDataTable(sql, out errMsg);

                if (dtmt.Rows.Count > 0)
                {
                    if (dtmt.Rows.Count == 1)
                    {
                        mz1ml1 = dtmt.Rows[0]["煤量1"].ToString();
                        mz2ml1 = dtmt.Rows[0]["煤量2"].ToString();

                        dwfrl1 = dtmt.Rows[0]["低位发热量"].ToString();
                    }
                    else if (dtmt.Rows.Count == 2)
                    {
                        mz1ml1 = dtmt.Rows[0]["煤量1"].ToString();
                        mz1ml2 = dtmt.Rows[1]["煤量1"].ToString();
                        mz2ml1 = dtmt.Rows[0]["煤量2"].ToString();
                        mz2ml2 = dtmt.Rows[1]["煤量2"].ToString();

                        dwfrl1 = dtmt.Rows[0]["低位发热量"].ToString();
                        dwfrl2 = dtmt.Rows[1]["低位发热量"].ToString();
                    }
                    else if (dtmt.Rows.Count == 3)
                    {
                        mz1ml1 = dtmt.Rows[0]["煤量1"].ToString();
                        mz1ml2 = dtmt.Rows[1]["煤量1"].ToString();
                        mz1ml3 = dtmt.Rows[2]["煤量1"].ToString();
                        mz2ml1 = dtmt.Rows[0]["煤量2"].ToString();
                        mz2ml2 = dtmt.Rows[1]["煤量2"].ToString();
                        mz2ml3 = dtmt.Rows[2]["煤量2"].ToString();

                        dwfrl1 = dtmt.Rows[0]["低位发热量"].ToString();
                        dwfrl2 = dtmt.Rows[1]["低位发热量"].ToString();
                        dwfrl3 = dtmt.Rows[2]["低位发热量"].ToString();
                    }
                }
            }
            else if (repType == "日报")
            {
                string sqlCmd = "SELECT 低位热值 FROM 入炉煤质日数据表 where 日期='" + Convert.ToDateTime(qsrq).ToShortDateString() + "'";

                object objrlm = DBsql.RunSingle(sqlCmd, out errMsg);

                if (objrlm == null)
                {
                    string sql = "select * from 入炉煤质分析表 where 日期='" + qsrq + "'";

                    DataTable dtmt = DBsql.RunDataTable(sql, out errMsg);

                    #region
                    if (dtmt.Rows.Count > 0)
                    {
                        if (dtmt.Rows.Count == 1)
                        {
                            mz1ml1 = dtmt.Rows[0]["煤量1"].ToString();
                            mz2ml1 = dtmt.Rows[0]["煤量2"].ToString();

                            dwfrl1 = dtmt.Rows[0]["低位发热量"].ToString();
                        }
                        else if (dtmt.Rows.Count == 2)
                        {
                            mz1ml1 = dtmt.Rows[0]["煤量1"].ToString();
                            mz1ml2 = dtmt.Rows[1]["煤量1"].ToString();
                            mz2ml1 = dtmt.Rows[0]["煤量2"].ToString();
                            mz2ml2 = dtmt.Rows[1]["煤量2"].ToString();

                            dwfrl1 = dtmt.Rows[0]["低位发热量"].ToString();
                            dwfrl2 = dtmt.Rows[1]["低位发热量"].ToString();
                        }
                        else if (dtmt.Rows.Count == 3)
                        {
                            mz1ml1 = dtmt.Rows[0]["煤量1"].ToString();
                            mz1ml2 = dtmt.Rows[1]["煤量1"].ToString();
                            mz1ml3 = dtmt.Rows[2]["煤量1"].ToString();
                            mz2ml1 = dtmt.Rows[0]["煤量2"].ToString();
                            mz2ml2 = dtmt.Rows[1]["煤量2"].ToString();
                            mz2ml3 = dtmt.Rows[2]["煤量2"].ToString();

                            dwfrl1 = dtmt.Rows[0]["低位发热量"].ToString();
                            dwfrl2 = dtmt.Rows[1]["低位发热量"].ToString();
                            dwfrl3 = dtmt.Rows[2]["低位发热量"].ToString();
                        }
                    }
                    #endregion

                    try
                    {
                        mon = "((" + dwfrl1 + "*((" + mz1ml1 + ")+(" + mz2ml1 + ")))+(" + dwfrl2 + "*((" + mz1ml2 + ")+(" + mz2ml2 + ")))+(" + dwfrl3 + "*((" + mz1ml3 + ")+(" + mz2ml3 + "))))/((" + mz1ml1 + ") + (" + mz1ml2 + ") + (" + mz1ml3 + ")+(" + mz2ml1 + ") + (" + mz2ml2 + ") + (" + mz2ml3 + "))";
                        re  = StrHelper.Cale(mon);
                        re  = StrHelper.checkCatch(re);
                        res = double.Parse(re.ToString());
                    }
                    catch
                    { res = 0; }
                }
                else
                {
                    res = double.Parse(objrlm.ToString());
                }
            }
            else if (repType == "月报" || repType == "年报")
            {
                string[] date = sh.DateDiff(DateTime.Parse(qsrq), DateTime.Parse(jsrq));

                for (int i = 0; i < date.Length - 1; i++)
                {
                    string sql = "SELECT SUM(低位热值) FROM 入炉煤质日数据表 where 日期>='" + DateTime.Parse(date[i]).ToString("yyyy-MM-dd 0:00:00") + "' and  日期<'" + DateTime.Parse(date[i]).ToString("yyyy-MM-dd 23:59:59") + "'";

                    object objrlm = dl.RunSingle(sql, out errMsg);

                    if (objrlm == null || objrlm.ToString() == "")
                    {
                        sql = "select * from 入炉煤质分析表 where 日期='" + DateTime.Parse(date[i]).ToString("yyyy-MM-dd 0:00:00") + "'";

                        DataTable dtmt = dl.RunDataTable(sql, out errMsg);

                        #region
                        if (dtmt.Rows.Count > 0)
                        {
                            if (dtmt.Rows.Count == 1)
                            {
                                mz1ml1 = dtmt.Rows[0]["煤量1"].ToString();
                                mz2ml1 = dtmt.Rows[0]["煤量2"].ToString();

                                dwfrl1 = dtmt.Rows[0]["低位发热量"].ToString();
                            }
                            else if (dtmt.Rows.Count == 2)
                            {
                                mz1ml1 = dtmt.Rows[0]["煤量1"].ToString();
                                mz1ml2 = dtmt.Rows[1]["煤量1"].ToString();
                                mz2ml1 = dtmt.Rows[0]["煤量2"].ToString();
                                mz2ml2 = dtmt.Rows[1]["煤量2"].ToString();

                                dwfrl1 = dtmt.Rows[0]["低位发热量"].ToString();
                                dwfrl2 = dtmt.Rows[1]["低位发热量"].ToString();
                            }
                            else if (dtmt.Rows.Count == 3)
                            {
                                mz1ml1 = dtmt.Rows[0]["煤量1"].ToString();
                                mz1ml2 = dtmt.Rows[1]["煤量1"].ToString();
                                mz1ml3 = dtmt.Rows[2]["煤量1"].ToString();
                                mz2ml1 = dtmt.Rows[0]["煤量2"].ToString();
                                mz2ml2 = dtmt.Rows[1]["煤量2"].ToString();
                                mz2ml3 = dtmt.Rows[2]["煤量2"].ToString();

                                dwfrl1 = dtmt.Rows[0]["低位发热量"].ToString();
                                dwfrl2 = dtmt.Rows[1]["低位发热量"].ToString();
                                dwfrl3 = dtmt.Rows[2]["低位发热量"].ToString();
                            }
                        }
                        #endregion

                        try
                        {
                            mon = "((" + dwfrl1 + "*((" + mz1ml1 + ")+(" + mz2ml1 + ")))+(" + dwfrl2 + "*((" + mz1ml2 + ")+(" + mz2ml2 + ")))+(" + dwfrl3 + "*((" + mz1ml3 + ")+(" + mz2ml3 + "))))/((" + mz1ml1 + ") + (" + mz1ml2 + ") + (" + mz1ml3 + ")+(" + mz2ml1 + ") + (" + mz2ml2 + ") + (" + mz2ml3 + "))";
                            re  = StrHelper.Cale(mon);
                            re  = StrHelper.checkCatch(re);
                        }
                        catch
                        { re = "0"; }

                        string re1 = "";
                        try
                        {
                            mon = "((" + mz1ml1 + ") + (" + mz1ml2 + ") + (" + mz1ml3 + ")+(" + mz2ml1 + ") + (" + mz2ml2 + ") + (" + mz2ml3 + "))";
                            re1 = StrHelper.Cale(mon);
                            re1 = StrHelper.checkCatch(re1);
                        }
                        catch
                        { re1 = "0"; }

                        val1 += "(" + re + "*" + re1 + ")+";
                        val2 += "(" + re1 + ")+";
                    }
                    else
                    {
                        sql = "select sum(煤量1)+sum(煤量2) from 入炉煤质分析表 where 日期='" + DateTime.Parse(date[i]).ToShortDateString() + "'";

                        objML1 = dl.RunSingle(sql, out errMsg);

                        val1 += "(" + objrlm.ToString() + "*" + objML1.ToString() + ")+";
                        val2 += "(" + objML1.ToString() + ")+";
                    }
                }


                val = "(" + val1.TrimEnd('+') + ")/(" + val2.TrimEnd('+') + ")";

                try
                {
                    re = StrHelper.Cale(val);
                    re = StrHelper.checkCatch(re);
                }
                catch { re = "0"; }
                res = double.Parse(re);
            }

            return(res.ToString());
        }
예제 #28
0
        /// <summary>
        /// 获取电量 时实测点
        /// </summary>
        /// <param name="id"></param>
        /// <param name="typ">1:风场 2:工期</param>
        /// <param name="p">1:日 2:月 3:年</param>
        /// <returns></returns>
        private double GetDl(string id, string typ, int p, string time)
        {
            string where = "";

            if (typ == "1")
            {
                where = "tt.T_ORGID='" + id + "'";
            }
            else if (typ == "2")
            {
                where = "tt.T_PERIODID='" + id + "'";
            }
            else if (typ == "3")
            {
                where = "1=1";
            }

            sql = @"select t.T_WINDTAG,t.T_POWERTAG, t.T_ORGID,t.T_DAYDL, t.T_MONTHDL, t.T_YEARDL
            
                    from ADMINISTRATOR.T_BASE_POINTS_ORG t 
                    
                    where t.T_ORGID in (select T_PERIODID from ADMINISTRATOR.T_BASE_PERIOD tt where " + where + ")";


            DataTable SSDl       = dl.RunDataTable(sql, out errMsg);
            string    dlTyp      = "";
            string    searchTime = "";

            if (p == 1)
            {
                dlTyp      = "T_DAYDL";
                searchTime = DateTime.Now.ToString("yyyy-MM-dd 0:00:00");
            }
            if (p == 2)
            {
                dlTyp      = "T_MONTHDL";
                searchTime = DateTime.Now.ToString("yyyy-MM-1 0:00:00");
            }
            if (p == 3)
            {
                dlTyp      = "T_YEARDL";
                searchTime = DateTime.Now.ToString("yyyy-1-1 0:00:00");
            }
            if (p == 4)
            {
                dlTyp = "T_POWERTAG";
                if (time != "")
                {
                    searchTime = time;
                }
                else
                {
                    searchTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:00");
                }
            }
            if (p == 5)
            {
                dlTyp      = "T_WINDTAG";
                searchTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:00");
            }


            string[] tag = new string[SSDl.Rows.Count];
            for (int aa = 0; aa < SSDl.Rows.Count; aa++)
            {
                tag[aa] = SSDl.Rows[aa][dlTyp].ToString();
            }

            double[] tagValues = null;
            if (searchTime == "yyyy-MM-dd HH:mm:00")
            {
                tagValues = GetPointVal(tag, searchTime);
            }
            else
            {
                tagValues = pbll.GetPointVal(tag, searchTime);
            }

            double v = 0;

            for (int bb = 0; bb < tagValues.Length; bb++)
            {
                v = v + tagValues[bb];
            }

            if (tagValues.Length < 1)
            {
                return(0);
            }
            else
            {
                return(v);
            }
        }
예제 #29
0
        public IList <Hashtable> GetChartData(string id, string rating_time)
        {
            string    errMsg = "";
            DataTable dt     = null;
            string    sql    = "";

            if (id == "1")
            {
                sql = "select t_base_points_org.t_orgid,t_base_points_org.T_POWERTAG,T_BASE_COMPANY.t_comname,T_BASE_COMPANY.t_comid " +
                      "from t_base_points_org  inner join T_BASE_COMPANY on t_base_points_org.t_orgid=T_BASE_COMPANY.t_comid";
            }
            else if (id == "2")
            {
                sql = "select t_base_points_org.t_orgid,t_base_points_org.T_POWERTAG,t_base_department.t_depname as t_comname  from t_base_points_org  inner join t_base_department on " +
                      "t_base_points_org.t_orgid=t_base_department.t_depid";
            }
            else if (id == "3")
            {
                sql = " select t_base_points_org.t_orgid,t_base_points_org.T_POWERTAG,t_base_plant.t_plantname as t_comname, " +
                      "t_base_plant.t_plantid as T_COMID from t_base_points_org  inner join t_base_plant on " +
                      "t_base_points_org.t_orgid=t_base_plant.t_plantid and t_base_plant.t_comid='C_DIMIAN' " +
                      "order by   t_base_plant.t_plantid asc";
            }
            else if (id == "4")
            {
                sql = " select t_base_points_org.t_orgid,t_base_points_org.T_POWERTAG,t_base_plant.t_plantname as t_comname, " +
                      "t_base_plant.t_plantid as T_COMID from t_base_points_org  inner join t_base_plant on " +
                      "t_base_points_org.t_orgid=t_base_plant.t_plantid and t_base_plant.t_comid='C_BAPV' " +
                      "order by   t_base_plant.t_plantid asc";
            }
            dt = dl.RunDataTable(sql, out errMsg);
            IList <Hashtable> listdata = new List <Hashtable>();
            Hashtable         ht       = new Hashtable();
            ArrayList         ld       = new ArrayList();
            ArrayList         lt       = new ArrayList();

            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataTable DTT = null;
                    ht = new Hashtable();
                    lt = new ArrayList();
                    DateTime _sTime = new DateTime(1970, 1, 1);
                    string   sql1   = "select  D_VALUE,T_TIME from T_INFO_STATISCS where  t_orgid=(select t_orgid from t_base_statiscspara t where t_sourcetag ='" + dt.Rows[i]["T_POWERTAG"].ToString() + "' )  and T_TIME between to_date('" + rating_time.Split(',')[0] + "','yyyy-MM-dd HH24:MI:SS') and  to_date('" + rating_time.Split(',')[1] + "','yyyy-MM-dd HH24:MI:SS')   order by T_TIME asc";
                    DateTime dt1    = DateTime.Now;
                    DTT = dl.RunDataTable(sql1, out errMsg);
                    DateTime dtt1 = DateTime.Now;
                    double   num  = (dtt1 - dt1).TotalSeconds;
                    if (DTT.Rows.Count > 400)
                    {
                        for (int j = 0; j < DTT.Rows.Count; j = j + (DTT.Rows.Count / 400))
                        {
                            ld = new ArrayList();
                            string   timeStamp = DateTimeToUTC(DateTime.Parse(DTT.Rows[j][1].ToString())).ToString();
                            DateTime dtStart   = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
                            long     lTime     = long.Parse(timeStamp + "0000000");
                            TimeSpan toNow     = new TimeSpan(lTime);
                            DateTime dtResult  = dtStart.Add(toNow);
                            ld.Add(Convert.ToInt64((dtResult - _sTime).TotalMilliseconds.ToString()));
                            ld.Add(Math.Round(Convert.ToDouble(DTT.Rows[j][0].ToString()), 2));
                            lt.Add(ld);
                        }
                    }
                    else
                    {
                        for (int j = 0; j < DTT.Rows.Count; j++)
                        {
                            ld = new ArrayList();
                            string   timeStamp = DateTimeToUTC(DateTime.Parse(DTT.Rows[j][1].ToString())).ToString();
                            DateTime dtStart   = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
                            long     lTime     = long.Parse(timeStamp + "0000000");
                            TimeSpan toNow     = new TimeSpan(lTime);
                            DateTime dtResult  = dtStart.Add(toNow);
                            ld.Add(Convert.ToInt64((dtResult - _sTime).TotalMilliseconds.ToString()));
                            ld.Add(Math.Round(Convert.ToDouble(DTT.Rows[j][0].ToString()), 2));
                            lt.Add(ld);
                        }
                    }


                    ht.Add("name", dt.Rows[i]["t_comname"].ToString());
                    ht.Add("data", lt);
                    listdata.Add(ht);
                }
            }
            return(listdata);
        }
예제 #30
0
        private void GetPlant()
        {
            string str_sb = "";

            string str = "'JSQP_A2_001Q','JSQP_A3_001Q','JSQP_A4_001Q','JSQP_A2_001Q.F','JSQP_A3_001Q.F','JSQP_A4_001Q.F'," +
                         "'JSQP_A2_001Q.P','JSQP_A3_001Q.P','JSQP_A4_001Q.P','JSQP_A2_001Q.G','JSQP_A3_001Q.G','JSQP_A4_001Q.G','JSQP_A2_003NQ001.D','JSQP_A2_003NQ001.S', " +
                         "'JSQP_A2_004NQ001.D','JSQP_A2_004NQ001.S','JSQP_A2_NQ001.D','JSQP_A2_NQ001.S','JSQP_A3_005NQ001.D','JSQP_A3_005NQ001.S','JSQP_A3_006NQ001.D', " +
                         "'JSQP_A3_006NQ001.S','JSQP_A3_NQ001.D','JSQP_A3_NQ001.S','JSQP_A4_NQ001.D','JSQP_A4_NQ001.S','JSQP_A6_001Q','JSQP_A7_001Q','JSQP_A8_001Q'," +
                         "'JSQP_A6_001Q.F','JSQP_A7_001Q.F','JSQP_A8_001Q.F','JSQP_A6_001Q.P','JSQP_A7_001Q.P','JSQP_A8_001Q.P','JSQP_A6_001Q.G','JSQP_A7_001Q.G', " +
                         "'JSQP_A8_001Q.G','JSQP_A6_001NQ001.D','JSQP_A6_001NQ001.S','JSQP_A6_002NQ001.D','JSQP_A6_002NQ001.S','JSQP_A6_NQ001.D','JSQP_A6_NQ001.S', " +
                         "'JSQP_A7_NQ001.D','JSQP_A7_NQ001.S','JSQP_A8_NQ001.D','JSQP_A8_NQ001.S' ,'JSQP_C1_001Q','JSQP_C2_001Q','JSQP_C1_001Q.F','JSQP_C2_001Q.F'," +
                         "'JSQP_C1_001Q.P','JSQP_C2_001Q.P','JSQP_C1_001Q.G','JSQP_C2_001Q.G','JSQP_C1_NQ001.D','JSQP_C1_NQ001.S','JSQP_C2_NQ001.D','JSQP_C2_NQ001.S'," +
                         "'JSQP_C3_001Q','JSQP_C4_001Q','JSQP_C5_001Q','JSQP_C3_001Q.F','JSQP_C4_001Q.F','JSQP_C5_001Q.F','JSQP_C3_001Q.P','JSQP_C4_001Q.P'," +
                         "'JSQP_C5_001Q.P','JSQP_C3_001Q.G','JSQP_C4_001Q.G','JSQP_C5_001Q.G','JSQP_C3_007NQ001.D','JSQP_C3_007NQ001.S','JSQP_C3_008NQ001.D','JSQP_C3_008NQ001.S'," +
                         "'JSQP_C3_NQ001.D','JSQP_C3_NQ001.S','JSQP_C4_NQ001.D','JSQP_C4_NQ001.S','JSQP_C5_NQ001.D','JSQP_C5_NQ001.S'";

            string[] str_shuzu = new string[82] {
                "JSQP_A2_001Q", "JSQP_A3_001Q", "JSQP_A4_001Q", "JSQP_A2_001Q.F", "JSQP_A3_001Q.F", "JSQP_A4_001Q.F",
                "JSQP_A2_001Q.P", "JSQP_A3_001Q.P", "JSQP_A4_001Q.P", "JSQP_A2_001Q.G", "JSQP_A3_001Q.G", "JSQP_A4_001Q.G", "JSQP_A2_003NQ001.D", "JSQP_A2_003NQ001.S",
                "JSQP_A2_004NQ001.D", "JSQP_A2_004NQ001.S", "JSQP_A2_NQ001.D", "JSQP_A2_NQ001.S", "JSQP_A3_005NQ001.D", "JSQP_A3_005NQ001.S", "JSQP_A3_006NQ001.D",
                "JSQP_A3_006NQ001.S", "JSQP_A3_NQ001.D", "JSQP_A3_NQ001.S", "JSQP_A4_NQ001.D", "JSQP_A4_NQ001.S", "JSQP_A6_001Q", "JSQP_A7_001Q", "JSQP_A8_001Q",
                "JSQP_A6_001Q.F", "JSQP_A7_001Q.F", "JSQP_A8_001Q.F", "JSQP_A6_001Q.P", "JSQP_A7_001Q.P", "JSQP_A8_001Q.P", "JSQP_A6_001Q.G", "JSQP_A7_001Q.G",
                "JSQP_A8_001Q.G", "JSQP_A6_001NQ001.D", "JSQP_A6_001NQ001.S", "JSQP_A6_002NQ001.D", "JSQP_A6_002NQ001.S", "JSQP_A6_NQ001.D", "JSQP_A6_NQ001.S",
                "JSQP_A7_NQ001.D", "JSQP_A7_NQ001.S", "JSQP_A8_NQ001.D", "JSQP_A8_NQ001.S", "JSQP_C1_001Q", "JSQP_C2_001Q", "JSQP_C1_001Q.F", "JSQP_C2_001Q.F",
                "JSQP_C1_001Q.P", "JSQP_C2_001Q.P", "JSQP_C1_001Q.G", "JSQP_C2_001Q.G", "JSQP_C1_NQ001.D", "JSQP_C1_NQ001.S", "JSQP_C2_NQ001.D", "JSQP_C2_NQ001.S",
                "JSQP_C3_001Q", "JSQP_C4_001Q", "JSQP_C5_001Q", "JSQP_C3_001Q.F", "JSQP_C4_001Q.F", "JSQP_C5_001Q.F", "JSQP_C3_001Q.P", "JSQP_C4_001Q.P",
                "JSQP_C5_001Q.P", "JSQP_C3_001Q.G", "JSQP_C4_001Q.G", "JSQP_C5_001Q.G", "JSQP_C3_007NQ001.D", "JSQP_C3_007NQ001.S", "JSQP_C3_008NQ001.D", "JSQP_C3_008NQ001.S",
                "JSQP_C3_NQ001.D", "JSQP_C3_NQ001.S", "JSQP_C4_NQ001.D", "JSQP_C4_NQ001.S", "JSQP_C5_NQ001.D", "JSQP_C5_NQ001.S"
            };
            //T_INFO_REALTIMEVALUE原本是实时表
            //string sql = "select  D_VALUE,t_tag from T_INFO_HISTVALUE  where  T_TAG in(" + str + ")";
            //        string sql = "select  D_VALUE,t_tag from T_INFO_HISTVALUE where T_time between to_date('" + DateTime.Now.ToString("yyyy-MM-dd 00:00:00") + "','yyyy-MM-dd HH24:MI:SS') " +
            //"and  to_date('" + DateTime.Now + "','yyyy-MM-dd HH24:MI:SS')";

            //dt = dl.RunDataTable(sql, out errMsg);
            //DataView dtView = new DataView(dt);
            //DateTime dt1 = DateTime.Now;
            for (int i = 0; i < str_shuzu.Length; i++)
            {
                string sql = "select * from (select * from T_INFO_REALTIMEVALUE where T_TAG='" + str_shuzu[i] + "' and " +
                             "t_time>to_date('" + DateTime.Now.Date + "','yyyy-MM-dd HH24:MI:SS')  and  t_time<=to_date('" + DateTime.Now + "','yyyy-MM-dd HH24:MI:SS') order by t_time desc) where ROWNUM =1 order by ROWNUM asc";
                dt = dl.RunDataTable(sql, out errMsg);
                if ((dt.Rows.Count > 0) && (dt.Rows[0]["D_VALUE"].ToString().Trim() != ""))
                {
                    str_sb += Convert.ToDouble(dt.Rows[0]["D_VALUE"].ToString()).ToString("f2") + ",";
                }
                else
                {
                    str_sb += "0.0,";
                }
            }
            //DateTime dt2 = DateTime.Now;
            //double num = (dt2 - dt1).TotalSeconds;
            //if (dt.Rows.Count > 0)
            //{
            //    for (int i = 0; i < dt.Rows.Count; i++)
            //    {
            //        for (int j = 0; j < str_shuzu.Length; j++)
            //        {
            //            if (dt.Rows[i][1].ToString() == str_shuzu[j])
            //            {
            //                str_shuzu[j] = dt.Rows[i][0].ToString();
            //                break;
            //            }
            //        }
            //    }

            //for (int k = 0; k < str_shuzu.Length; k++)
            //{
            //    str_sb += Convert.ToDouble(str_shuzu[k]).ToString("f2") + ",";
            //}

            //}

            //string[] str = new string[82] { "JSQP_A2_001Q", "JSQP_A3_001Q", "JSQP_A4_001Q", "JSQP_A2_001Q.F", "JSQP_A3_001Q.F", "JSQP_A4_001Q.F",
            //    "JSQP_A2_001Q.P", "JSQP_A3_001Q.P", "JSQP_A4_001Q.P", "JSQP_A2_001Q.G", "JSQP_A3_001Q.G", "JSQP_A4_001Q.G", "JSQP_A2_003NQ001.D", "JSQP_A2_003NQ001.S",
            //    "JSQP_A2_004NQ001.D", "JSQP_A2_004NQ001.S", "JSQP_A2_NQ001.D", "JSQP_A2_NQ001.S", "JSQP_A3_005NQ001.D", "JSQP_A3_005NQ001.S", "JSQP_A3_006NQ001.D",
            //    "JSQP_A3_006NQ001.S", "JSQP_A3_NQ001.D", "JSQP_A3_NQ001.S", "JSQP_A4_NQ001.D", "JSQP_A4_NQ001.S","JSQP_A6_001Q", "JSQP_A7_001Q", "JSQP_A8_001Q",
            //    "JSQP_A6_001Q.F", "JSQP_A7_001Q.F", "JSQP_A8_001Q.F", "JSQP_A6_001Q.P", "JSQP_A7_001Q.P", "JSQP_A8_001Q.P", "JSQP_A6_001Q.G", "JSQP_A7_001Q.G",
            //    "JSQP_A8_001Q.G", "JSQP_A6_001NQ001.D", "JSQP_A6_001NQ001.S", "JSQP_A6_002NQ001.D", "JSQP_A6_002NQ001.S", "JSQP_A6_NQ001.D", "JSQP_A6_NQ001.S",
            //    "JSQP_A7_NQ001.D", "JSQP_A7_NQ001.S", "JSQP_A8_NQ001.D", "JSQP_A8_NQ001.S" ,"JSQP_C1_001Q", "JSQP_C2_001Q", "JSQP_C1_001Q.F", "JSQP_C2_001Q.F",
            //    "JSQP_C1_001Q.P","JSQP_C2_001Q.P", "JSQP_C1_001Q.G", "JSQP_C2_001Q.G", "JSQP_C1_NQ001.D", "JSQP_C1_NQ001.S", "JSQP_C2_NQ001.D", "JSQP_C2_NQ001.S",
            //    "JSQP_C3_001Q", "JSQP_C4_001Q", "JSQP_C5_001Q", "JSQP_C3_001Q.F", "JSQP_C4_001Q.F", "JSQP_C5_001Q.F", "JSQP_C3_001Q.P", "JSQP_C4_001Q.P",
            //    "JSQP_C5_001Q.P", "JSQP_C3_001Q.G", "JSQP_C4_001Q.G", "JSQP_C5_001Q.G", "JSQP_C3_007NQ001.D", "JSQP_C3_007NQ001.S", "JSQP_C3_008NQ001.D", "JSQP_C3_008NQ001.S",
            //    "JSQP_C3_NQ001.D", "JSQP_C3_NQ001.S", "JSQP_C4_NQ001.D", "JSQP_C4_NQ001.S", "JSQP_C5_NQ001.D", "JSQP_C5_NQ001.S"};

            //for (int i = 0; i < str.Length; i++)
            //{
            //    //str_sb += str[i]+",";
            //    string sql = "select  D_VALUE from T_INFO_REALTIMEVALUE  where  T_TAG='" + str[i] + "' order by T_TIME desc ";

            //    dt = dl.RunDataTable(sql, out errMsg);
            //    if (dt.Rows.Count > 0)
            //    {
            //        str_sb += Convert.ToDouble(dt.Rows[0][0].ToString()).ToString("f2") + ",";
            //    }
            //    else
            //    {
            //        str_sb += "1.0,";
            //    }
            //}
            Response.Write(str_sb.Trim(','));
            Response.End();
            Response.Clear();
        }