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)); }
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); }
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); }
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; }
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; }
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; }