예제 #1
0
        /// <summary>
        /// 运行历史报表
        /// </summary>
        /// <param name="StrcName">建筑名称</param>
        /// <param name="CoName">房间名称</param>
        /// <param name="DateType">报表类型</param>
        /// <param name="StartTime">日期开始</param>
        /// <param name="EndTime">结束开始</param>
        /// <param name="Co_id"></param>
        /// <returns></returns>
        public APIRst GetYdMontionOnList(string StrcName, string CoName, string DateType, DateTime StartTime, DateTime EndTime, int Co_id)
        {
            APIRst rst = new APIRst();

            try
            {
                string   time_str = CommFunc.ConvertDBNullToString(StartTime) + (DateType.Equals("month") ? "-01" : DateType.Equals("year") ? "-01-01" : "");
                DateTime start    = CommFunc.ConvertDBNullToDateTime(time_str);
                DateTime end      = start;
                string   msg      = "";
                if (DateType.Equals("hour"))
                {
                    start = new DateTime(start.Year, start.Month, start.Day, start.Hour, 0, 0);
                    end   = new DateTime(start.Year, start.Month, start.Day, 23, 0, 0);
                }
                if (DateType.Equals("day"))
                {
                    //start = new DateTime(start.Year, start.Month, start.Day);
                    start = new DateTime(start.Year, start.Month, 1);
                    end   = start.AddMonths(1).AddDays(-1);
                }
                if (DateType.Equals("month"))
                {
                    start = new DateTime(start.Year, 1, 1);
                    end   = start.AddYears(1).AddDays(-1);
                }
                if (DateType.Equals("year"))
                {
                    start = new DateTime(start.Year, 1, 1);
                    end   = start.AddYears(1).AddDays(-1);
                }
                if (DateType.Equals("other"))
                {
                    start = new DateTime(start.Year, start.Month, start.Day, start.Hour, 0, 0);
                    end   = new DateTime(EndTime.Year, EndTime.Month, EndTime.Day, 23, 59, 59);
                }
                int total = 0;

                //object rows = GetYdMontionOnList(StrcName, CoName, DateType, start, end, Co_id, out total);

                DataTable dtSource = bll.GetYdMonitorOnList(StrcName, CoName, DateType, start, end, Co_id);
                Decimal   kWh      = 0;
                foreach (DataRow row in dtSource.Rows)
                {
                    string h00 = row["h00"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h00"]).ToString();
                    string h01 = row["h01"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h01"]).ToString();
                    string h02 = row["h02"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h02"]).ToString();
                    string h03 = row["h03"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h03"]).ToString();
                    string h04 = row["h04"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h04"]).ToString();
                    string h05 = row["h05"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h05"]).ToString();
                    string h06 = row["h06"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h06"]).ToString();
                    string h07 = row["h07"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h07"]).ToString();
                    string h08 = row["h08"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h08"]).ToString();
                    string h09 = row["h09"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h09"]).ToString();
                    string h10 = row["h10"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h10"]).ToString();
                    string h11 = row["h11"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h11"]).ToString();
                    string h12 = row["h12"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h12"]).ToString();
                    string h13 = row["h13"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h13"]).ToString();
                    string h14 = row["h14"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h14"]).ToString();
                    string h15 = row["h15"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h15"]).ToString();
                    string h16 = row["h16"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h16"]).ToString();
                    string h17 = row["h17"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h17"]).ToString();
                    string h18 = row["h18"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h18"]).ToString();
                    string h19 = row["h19"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h19"]).ToString();
                    string h20 = row["h20"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h20"]).ToString();
                    string h21 = row["h21"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h21"]).ToString();
                    string h22 = row["h22"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h22"]).ToString();
                    string h23 = row["h23"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h23"]).ToString();
                    string h24 = row["h24"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h24"]).ToString();
                    string h25 = row["h25"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h25"]).ToString();
                    string h26 = row["h26"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h26"]).ToString();
                    string h27 = row["h27"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h27"]).ToString();
                    string h28 = row["h28"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h28"]).ToString();
                    string h29 = row["h29"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h29"]).ToString();
                    string h30 = row["h30"] == DBNull.Value ? "" : CommFunc.ConvertDBNullToDecimal(row["h30"]).ToString();
                    kWh += CommFunc.ConvertDBNullToDecimal(h00) + CommFunc.ConvertDBNullToDecimal(h01) + CommFunc.ConvertDBNullToDecimal(h02) + CommFunc.ConvertDBNullToDecimal(h03) + CommFunc.ConvertDBNullToDecimal(h04) + CommFunc.ConvertDBNullToDecimal(h05) + CommFunc.ConvertDBNullToDecimal(h06) + CommFunc.ConvertDBNullToDecimal(h07) + CommFunc.ConvertDBNullToDecimal(h08) + CommFunc.ConvertDBNullToDecimal(h09);
                    kWh += CommFunc.ConvertDBNullToDecimal(h10) + CommFunc.ConvertDBNullToDecimal(h11) + CommFunc.ConvertDBNullToDecimal(h12) + CommFunc.ConvertDBNullToDecimal(h13) + CommFunc.ConvertDBNullToDecimal(h14) + CommFunc.ConvertDBNullToDecimal(h15) + CommFunc.ConvertDBNullToDecimal(h16) + CommFunc.ConvertDBNullToDecimal(h17) + CommFunc.ConvertDBNullToDecimal(h18) + CommFunc.ConvertDBNullToDecimal(h19);
                    kWh += CommFunc.ConvertDBNullToDecimal(h20) + CommFunc.ConvertDBNullToDecimal(h21) + CommFunc.ConvertDBNullToDecimal(h22) + CommFunc.ConvertDBNullToDecimal(h23) + CommFunc.ConvertDBNullToDecimal(h24) + CommFunc.ConvertDBNullToDecimal(h25) + CommFunc.ConvertDBNullToDecimal(h26) + CommFunc.ConvertDBNullToDecimal(h27) + CommFunc.ConvertDBNullToDecimal(h28) + CommFunc.ConvertDBNullToDecimal(h29) + CommFunc.ConvertDBNullToDecimal(h30);
                    //int iii = CommFunc.ConvertDBNullToDateTime(row["TagTime"].ToString()).Month;
                }

                total = dtSource.Rows.Count;
                object obj = new { total = total, kWh = kWh };
                rst.data = obj;
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("运行历史报表(GetYdMontionOnList):" + ex.Message + ex.StackTrace);
            }
            return(rst);
        }