Esempio n. 1
0
 public string IndexElectricityLineChart()
 {
     ResultView.ResultItemCode result
         = Framework.Common.BaseWcf.CreateChannel <ServiceInterface.IChart>("Chart").IndexAvgElectricityLineChart();
     return(JsonForHightCharts.ShowMoreColorLineChart("24小时实时监控", result.ObjectName.Select(p => (Convert.ToDateTime(p).ToString("HH").Trim())).ToArray(), result.Dept.ToArray(),
                                                      result.Enery));
 }
Esempio n. 2
0
        public ResultItemCode GetQueryLineChart(BasicQuery query)
        {
            #region 定义区

            var resultList = new ResultView.ResultItemCode
            {
                ObjectName = new List <string>(),
                Enery      = new Dictionary <string, List <decimal> >(),
                Dept       = new List <string>()
            };

            #endregion

            var dept = string.Empty;

            var itList = new BLL.Itemcode().GetItemcodeList(" and ItemCodeNumber='" + query.ItemCode + "'", " order by ItemcodeID");
            if (itList.Count > 0)
            {
                dept = itList[0].Unit;
            }

            dept = query.ItemCode == "00000" ? "T" : dept;
            if (query.ItemCode == "00000")
            {
                // resultList.Dept = new List<string>() { "T" };
                var itemList           = new BLL.Itemcode().GetItemcodeList(" and ParentID=0", " order by ItemcodeID");
                var eneryDataListTotal = new Dictionary <string, Dictionary <string, decimal> >();
                var maxcode            = "01000";
                var count = 0;
                foreach (var itemcode in itemList)
                {
                    var lineChart = GetSingleItemCodeByObject(query, itemcode.ItemCodeNumber);

                    if (count < lineChart.Count)
                    {
                        count   = lineChart.Count;
                        maxcode = itemcode.ItemCodeNumber;
                    }
                    eneryDataListTotal.Add(itemcode.ItemCodeNumber, lineChart);

                    //  resultList.Enery.Add(itemcode.ItemCodeName, lineChart.DatePickEnery);
                }

                // 重新赋值
                foreach (var itemcode in itemList)
                {
                    var itemcode1 = itemcode;
                    foreach (var max in eneryDataListTotal[maxcode].Where(max => !eneryDataListTotal[itemcode1.ItemCodeNumber].ContainsKey(max.Key)))
                    {
                        eneryDataListTotal[itemcode.ItemCodeNumber].Add(max.Key, 0);
                    }
                    var temp      = eneryDataListTotal[itemcode.ItemCodeNumber].OrderBy(p => Convert.ToDateTime(p.Key));
                    var tempOrder = temp.ToDictionary(keyValuePair => keyValuePair.Key, keyValuePair => keyValuePair.Value);
                    eneryDataListTotal[itemcode.ItemCodeNumber] = tempOrder;
                    resultList.Enery.Add(itemcode.ItemCodeName, eneryDataListTotal[itemcode.ItemCodeNumber].Values.ToList());
                }
                resultList.ObjectName = eneryDataListTotal[maxcode].Select(p => p.Key.ToString(CultureInfo.InvariantCulture)).ToList();
            }
            else
            {
                var item      = new BLL.Itemcode().GetItemcodeList(" and ItemCodeNumber='" + query.ItemCode + "'", " order by ItemcodeID")[0];
                var lineChart = GetSingleItemCodeByObject(query, query.ItemCode);
                // resultList.Dept = new List<string>() {item.Unit};
                if (lineChart != null)
                {
                    resultList.ObjectName = lineChart.Select(p => p.Key.ToString()).ToList();
                    resultList.Enery.Add(item.ItemCodeName, lineChart.Select(p => decimal.Parse(p.Value.ToString())).ToList());
                }
            }
            foreach (var baseLayerObject in resultList.ObjectName)
            {
                resultList.Dept.Add(dept);
            }
            return(resultList);
        }
Esempio n. 3
0
        public ResultItemCode GetPeriodsQueryLineChart(QueryContrastPeriods querOld, TimePeriod time)
        {
            #region 定义区
            QueryContrastPeriods query = new QueryContrastPeriods();
            query = querOld;
            var resultList = new ResultView.ResultItemCode
            {
                ObjectName = new List <string>(),
                Enery      = new Dictionary <string, List <decimal> >(),
                Dept       = new List <string>()
            };

            #endregion

            var dept = string.Empty;
            //var objectList =
            //    new BLL.BaseLayerObject().GetBaseLayerObjectList(
            //        string.Format(" and layerobjectid={0}", query.AreaId), " order by LayerObjectID");
            var itList = new BLL.Itemcode().GetItemcodeList(" and ItemCodeNumber='" + query.ItemCode + "'", " order by ItemcodeID");
            if (itList.Count > 0)
            {
                dept = itList[0].Unit;
            }

            dept = query.ItemCode == "00000" ? "T" : dept;
            if (query.ItemCode == "00000")
            {
                // resultList.Dept = new List<string>() { "T" };
                var itemList           = new BLL.Itemcode().GetItemcodeList(" and ParentID=0", " order by ItemcodeID");
                var eneryDataListTotal = new Dictionary <string, Dictionary <string, decimal> >();
                var maxcode            = "01000";
                var count = 0;
                foreach (var itemcode in itemList)
                {
                    if (querOld.QueryType == QueryOrderType.Default)
                    {
                        var lineChart = GetSingleItemCodeByObjectNew(query, itemcode.ItemCodeNumber, time, 1);

                        if (count < lineChart.Count)
                        {
                            count   = lineChart.Count;
                            maxcode = itemcode.ItemCodeNumber;
                        }
                        eneryDataListTotal.Add(itemcode.ItemCodeNumber, lineChart);
                    }
                    else if (querOld.QueryType == QueryOrderType.UnitArea)
                    {
                        var lineChart = this.GetAreaSingleItemCodeByObject(query, itemcode.ItemCodeNumber, time, 1);

                        if (count < lineChart.Count)
                        {
                            count   = lineChart.Count;
                            maxcode = itemcode.ItemCodeNumber;
                        }
                        eneryDataListTotal.Add(itemcode.ItemCodeNumber, lineChart);
                    }
                    else if (querOld.QueryType == QueryOrderType.UnitPerson)
                    {
                        var lineChart = GetPersonNumSingleItemCodeByObject(query, itemcode.ItemCodeNumber, time, 1);

                        if (count < lineChart.Count)
                        {
                            count   = lineChart.Count;
                            maxcode = itemcode.ItemCodeNumber;
                        }
                        eneryDataListTotal.Add(itemcode.ItemCodeNumber, lineChart);
                    }


                    //  resultList.Enery.Add(itemcode.ItemCodeName, lineChart.DatePickEnery);
                }

                // 重新赋值
                foreach (var itemcode in itemList)
                {
                    var itemcode1 = itemcode;
                    foreach (var max in eneryDataListTotal[maxcode].Where(max => !eneryDataListTotal[itemcode1.ItemCodeNumber].ContainsKey(max.Key)))
                    {
                        eneryDataListTotal[itemcode.ItemCodeNumber].Add(max.Key, 0);
                    }
                    var temp      = eneryDataListTotal[itemcode.ItemCodeNumber].OrderBy(p => Convert.ToDateTime(p.Key));
                    var tempOrder = temp.ToDictionary(keyValuePair => keyValuePair.Key, keyValuePair => keyValuePair.Value);
                    eneryDataListTotal[itemcode.ItemCodeNumber] = tempOrder;
                    resultList.Enery.Add(itemcode.ItemCodeName, eneryDataListTotal[itemcode.ItemCodeNumber].Values.ToList());
                }
                resultList.ObjectName = eneryDataListTotal[maxcode].Select(p => p.Key.ToString(CultureInfo.InvariantCulture)).ToList();
            }
            else
            {
                var item = new BLL.Itemcode().GetItemcodeList(" and ItemCodeNumber='" + query.ItemCode + "'", " order by ItemcodeID")[0];
                if (querOld.QueryType == QueryOrderType.Default)
                {
                    var lineChart = GetSingleItemCodeByObjectNew(query, query.ItemCode, time, 0);
                    // resultList.Dept = new List<string>() {item.Unit};
                    resultList.ObjectName = lineChart.Select(p => p.Key.ToString()).ToList();
                    resultList.Enery.Add(item.ItemCodeName, lineChart.Select(p => decimal.Parse(p.Value.ToString())).ToList());
                }
                else if (querOld.QueryType == QueryOrderType.UnitArea)
                {
                    var lineChart = GetAreaSingleItemCodeByObject(query, query.ItemCode, time, 0);
                    // resultList.Dept = new List<string>() {item.Unit};
                    resultList.ObjectName = lineChart.Select(p => p.Key.ToString()).ToList();
                    resultList.Enery.Add(item.ItemCodeName, lineChart.Select(p => decimal.Parse(p.Value.ToString())).ToList());
                }
                else if (querOld.QueryType == QueryOrderType.UnitPerson)
                {
                    var lineChart = GetPersonNumSingleItemCodeByObject(query, query.ItemCode, time, 0);
                    // resultList.Dept = new List<string>() {item.Unit};
                    resultList.ObjectName = lineChart.Select(p => p.Key.ToString()).ToList();
                    resultList.Enery.Add(item.ItemCodeName, lineChart.Select(p => decimal.Parse(p.Value.ToString())).ToList());
                }
            }
            foreach (var baseLayerObject in resultList.ObjectName)
            {
                resultList.Dept.Add(dept);
            }
            return(resultList);
        }
Esempio n. 4
0
        public ResultItemCode GetQueryLineChart(BasicQuery query)
        {
            #region 定义区

            var resultList = new ResultView.ResultItemCode
            {
                ObjectName = new List<string>(),
                Enery = new Dictionary<string, List<decimal>>(),
                Dept = new List<string>()
            };

            #endregion

            var dept = string.Empty;

            var itList = new BLL.Itemcode().GetItemcodeList(" and ItemCodeNumber='" + query.ItemCode + "'", " order by ItemcodeID");
            if (itList.Count > 0)
            {
                dept = itList[0].Unit;
            }

            dept = query.ItemCode == "00000" ? "T" : dept;
            if (query.ItemCode == "00000")
            {
                // resultList.Dept = new List<string>() { "T" };
                var itemList = new BLL.Itemcode().GetItemcodeList(" and ParentID=0", " order by ItemcodeID");
                var eneryDataListTotal = new Dictionary<string, Dictionary<string, decimal>>();
                var maxcode = "01000";
                var count = 0;
                foreach (var itemcode in itemList)
                {
                    var lineChart = GetSingleItemCodeByObject(query, itemcode.ItemCodeNumber);

                    if (count < lineChart.Count)
                    {
                        count = lineChart.Count;
                        maxcode = itemcode.ItemCodeNumber;
                    }
                    eneryDataListTotal.Add(itemcode.ItemCodeNumber, lineChart);

                    //  resultList.Enery.Add(itemcode.ItemCodeName, lineChart.DatePickEnery);
                }

                // 重新赋值
                foreach (var itemcode in itemList)
                {
                    var itemcode1 = itemcode;
                    foreach (var max in eneryDataListTotal[maxcode].Where(max => !eneryDataListTotal[itemcode1.ItemCodeNumber].ContainsKey(max.Key)))
                    {
                        eneryDataListTotal[itemcode.ItemCodeNumber].Add(max.Key, 0);
                    }
                    var temp = eneryDataListTotal[itemcode.ItemCodeNumber].OrderBy(p => Convert.ToDateTime(p.Key));
                    var tempOrder = temp.ToDictionary(keyValuePair => keyValuePair.Key, keyValuePair => keyValuePair.Value);
                    eneryDataListTotal[itemcode.ItemCodeNumber] = tempOrder;
                    resultList.Enery.Add(itemcode.ItemCodeName, eneryDataListTotal[itemcode.ItemCodeNumber].Values.ToList());
                }
                resultList.ObjectName = eneryDataListTotal[maxcode].Select(p => p.Key.ToString(CultureInfo.InvariantCulture)).ToList();
            }
            else
            {
                var item = new BLL.Itemcode().GetItemcodeList(" and ItemCodeNumber='" + query.ItemCode + "'", " order by ItemcodeID")[0];
                var lineChart = GetSingleItemCodeByObject(query, query.ItemCode);
                // resultList.Dept = new List<string>() {item.Unit};
                if (lineChart != null)
                {
                    resultList.ObjectName = lineChart.Select(p => p.Key.ToString()).ToList();
                    resultList.Enery.Add(item.ItemCodeName, lineChart.Select(p => decimal.Parse(p.Value.ToString())).ToList());
                }

            }
            foreach (var baseLayerObject in resultList.ObjectName)
            {
                resultList.Dept.Add(dept);
            }
            return resultList;
        }
Esempio n. 5
0
        public ResultItemCode GetPeriodsQueryLineChart(QueryContrastPeriods querOld, TimePeriod time)
        {
            #region 定义区
            QueryContrastPeriods query = new QueryContrastPeriods();
            query = querOld;
            var resultList = new ResultView.ResultItemCode
            {
                ObjectName = new List<string>(),
                Enery = new Dictionary<string, List<decimal>>(),
                Dept = new List<string>()
            };

            #endregion

            var dept = string.Empty;
            //var objectList =
            //    new BLL.BaseLayerObject().GetBaseLayerObjectList(
            //        string.Format(" and layerobjectid={0}", query.AreaId), " order by LayerObjectID");
            var itList = new BLL.Itemcode().GetItemcodeList(" and ItemCodeNumber='" + query.ItemCode + "'", " order by ItemcodeID");
            if (itList.Count > 0)
            {
                dept = itList[0].Unit;
            }

            dept = query.ItemCode == "00000" ? "T" : dept;
            if (query.ItemCode == "00000")
            {
                // resultList.Dept = new List<string>() { "T" };
                var itemList = new BLL.Itemcode().GetItemcodeList(" and ParentID=0", " order by ItemcodeID");
                var eneryDataListTotal = new Dictionary<string, Dictionary<string, decimal>>();
                var maxcode = "01000";
                var count = 0;
                foreach (var itemcode in itemList)
                {
                    if (querOld.QueryType == QueryOrderType.Default)
                    {
                        var lineChart = GetSingleItemCodeByObjectNew(query, itemcode.ItemCodeNumber, time, 1);

                        if (count < lineChart.Count)
                        {
                            count = lineChart.Count;
                            maxcode = itemcode.ItemCodeNumber;
                        }
                        eneryDataListTotal.Add(itemcode.ItemCodeNumber, lineChart);
                    }
                    else if (querOld.QueryType == QueryOrderType.UnitArea)
                    {
                        var lineChart = this.GetAreaSingleItemCodeByObject(query, itemcode.ItemCodeNumber, time, 1);

                        if (count < lineChart.Count)
                        {
                            count = lineChart.Count;
                            maxcode = itemcode.ItemCodeNumber;
                        }
                        eneryDataListTotal.Add(itemcode.ItemCodeNumber, lineChart);
                    }
                    else if (querOld.QueryType == QueryOrderType.UnitPerson)
                    {
                        var lineChart = GetPersonNumSingleItemCodeByObject(query, itemcode.ItemCodeNumber, time, 1);

                        if (count < lineChart.Count)
                        {
                            count = lineChart.Count;
                            maxcode = itemcode.ItemCodeNumber;
                        }
                        eneryDataListTotal.Add(itemcode.ItemCodeNumber, lineChart);
                    }

                    //  resultList.Enery.Add(itemcode.ItemCodeName, lineChart.DatePickEnery);
                }

                // 重新赋值
                foreach (var itemcode in itemList)
                {
                    var itemcode1 = itemcode;
                    foreach (var max in eneryDataListTotal[maxcode].Where(max => !eneryDataListTotal[itemcode1.ItemCodeNumber].ContainsKey(max.Key)))
                    {
                        eneryDataListTotal[itemcode.ItemCodeNumber].Add(max.Key, 0);
                    }
                    var temp = eneryDataListTotal[itemcode.ItemCodeNumber].OrderBy(p => Convert.ToDateTime(p.Key));
                    var tempOrder = temp.ToDictionary(keyValuePair => keyValuePair.Key, keyValuePair => keyValuePair.Value);
                    eneryDataListTotal[itemcode.ItemCodeNumber] = tempOrder;
                    resultList.Enery.Add(itemcode.ItemCodeName, eneryDataListTotal[itemcode.ItemCodeNumber].Values.ToList());
                }
                resultList.ObjectName = eneryDataListTotal[maxcode].Select(p => p.Key.ToString(CultureInfo.InvariantCulture)).ToList();
            }
            else
            {
                var item = new BLL.Itemcode().GetItemcodeList(" and ItemCodeNumber='" + query.ItemCode + "'", " order by ItemcodeID")[0];
                if (querOld.QueryType == QueryOrderType.Default)
                {
                    var lineChart = GetSingleItemCodeByObjectNew(query, query.ItemCode, time, 0);
                    // resultList.Dept = new List<string>() {item.Unit};
                    resultList.ObjectName = lineChart.Select(p => p.Key.ToString()).ToList();
                    resultList.Enery.Add(item.ItemCodeName, lineChart.Select(p => decimal.Parse(p.Value.ToString())).ToList());
                }
                else if (querOld.QueryType == QueryOrderType.UnitArea)
                {
                    var lineChart = GetAreaSingleItemCodeByObject(query, query.ItemCode, time, 0);
                    // resultList.Dept = new List<string>() {item.Unit};
                    resultList.ObjectName = lineChart.Select(p => p.Key.ToString()).ToList();
                    resultList.Enery.Add(item.ItemCodeName, lineChart.Select(p => decimal.Parse(p.Value.ToString())).ToList());
                }
                else if (querOld.QueryType == QueryOrderType.UnitPerson)
                {
                    var lineChart = GetPersonNumSingleItemCodeByObject(query, query.ItemCode, time, 0);
                    // resultList.Dept = new List<string>() {item.Unit};
                    resultList.ObjectName = lineChart.Select(p => p.Key.ToString()).ToList();
                    resultList.Enery.Add(item.ItemCodeName, lineChart.Select(p => decimal.Parse(p.Value.ToString())).ToList());
                }

            }
            foreach (var baseLayerObject in resultList.ObjectName)
            {
                resultList.Dept.Add(dept);
            }
            return resultList;
        }
Esempio n. 6
0
        public ResultItemCode GetTwoQueryLineChart(BasicQuery query, BasicQuery query2, int tabId)
        {
            #region 定义区

            var queryCode = query.ItemCode;
            var resultList = new ResultView.ResultItemCode
            {
                ObjectName = new List<string>(),
                Enery = new Dictionary<string, List<decimal>>(),
                Dept = new List<string>()
            };

            #endregion
            ResultItemCode result = GetQueryLineChart(query);
            ResultItemCode result2 = GetQueryLineChart(query2);

            resultList.Dept = result.Dept;
            foreach (var oname in result.ObjectName)
            {
                resultList.ObjectName.Add("");
            }
            // resultList.ObjectName = result.ObjectName;
            decimal[] Arr = new decimal[result.Enery[result.Enery.Keys.First<string>()].Count];
            decimal[] ArrNew = new decimal[result2.Enery[result2.Enery.Keys.First<string>()].Count];
            if (queryCode == "00000")
            {
                foreach (var re in result.Enery)
                {
                    for (int i = 0; i < re.Value.Count; i++)
                    {
                        Arr[i] += re.Value[i];
                    }
                }
                foreach (var re2 in result2.Enery)
                {
                    for (int i = 0; i < re2.Value.Count; i++)
                    {
                        ArrNew[i] += re2.Value[i];
                    }
                }
                if (tabId == 1)
                {
                    resultList.Enery.Add(query.StartTime.ToString("yyyy") + "总能耗", Arr.ToList());
                    resultList.Enery.Add(query2.StartTime.ToString("yyyy") + "总能耗", ArrNew.ToList());
                }
                else
                {
                    resultList.Enery.Add(query.StartTime.ToString("yyyy-MM") + "总能耗", Arr.ToList());
                    resultList.Enery.Add(query2.StartTime.ToString("yyyy-MM") + "总能耗", ArrNew.ToList());
                }

            }
            else
            {
                var itemcodeList = new NTS.WEB.BLL.Itemcode().GetItemcodeList("  and ItemCodeNumber='" + queryCode + "'", " order by itemcodeid")[0];

                foreach (var r1 in result.Enery)
                {
                    if (tabId == 1)
                    {
                        resultList.Enery.Add(query.StartTime.ToString("yyyy") + r1.Key, r1.Value);
                    }
                    else
                    {
                        resultList.Enery.Add(query.StartTime.ToString("yyyy-MM") + r1.Key, r1.Value);
                    }
                }
                foreach (var r2 in result2.Enery)
                {
                    if (tabId == 1)
                    {
                        resultList.Enery.Add(query2.StartTime.ToString("yyyy") + r2.Key, r2.Value);
                    }
                    else
                    {
                        resultList.Enery.Add(query2.StartTime.ToString("yyyy-MM") + r2.Key, r2.Value);
                    }
                }
            }

            return resultList;
        }