public static Dictionary <string, charDataList> InitChartData(List <string> paramList) { Dictionary <string, charDataList> charItemList = new Dictionary <string, charDataList>(); for (int i = 0; i < 24; i++) { var XLable = i.ToString(); charItemList[XLable] = new charDataList(XLable); Dictionary <string, charDataItemList> charDataItem = new Dictionary <string, charDataItemList>(); foreach (string param in paramList) { charDataItem[param] = new charDataItemList() { Values = 0, series = SeriesDict[param] }; } charItemList[XLable].ItemList = charDataItem; } return(charItemList); }
/// <summary> /// 店铺成长图标 /// </summary> /// <param name="accid"></param> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <param name="dataType"></param> /// <returns></returns> public static chartDataModel GetGrouwthList(int accid, string[] dataType, DateTime?start, DateTime?end) { DateTime startTime = DateTime.Now.Date; DateTime endTime = DateTime.Now.Date; Dictionary <string, string> columnList = new Dictionary <string, string>(); columnList.Add("loginNum", "登录"); columnList.Add("userNum", "会员数"); columnList.Add("saleNum", "销售数"); columnList.Add("saleMoney", "销售金额"); columnList.Add("smsNum", "短信数"); columnList.Add("goodsNum", "商品数"); columnList.Add("orderMoney", "订单金额"); columnList.Add("acc_Rep", "在线时长"); columnList.Add("moodNum", "心情"); chartDataModel chartModel = new chartDataModel(); chartModel.captionTitle = "店铺成长"; chartModel.DataList = new Dictionary <string, charDataList>(); string columnName = "dayDate,regTime"; foreach (string dataItemType in dataType) { columnName += "," + dataItemType; } List <DapperWhere> sqlWhere = new List <DapperWhere>(); sqlWhere.Add(new DapperWhere("accountid", accid)); if (start != null) { sqlWhere.Add(new DapperWhere("startTime", start, " dayDate>=@startTime ")); startTime = Convert.ToDateTime(start); } else { startTime = new DateTime(1999, 1, 1); } if (end != null) { endTime = Convert.ToDateTime(end); sqlWhere.Add(new DapperWhere("endTime", end, " dayDate <=@endTime ")); } List <dynamic> dataList = Base.SysRpt_ShopDayInfoBaseBLL.GetList <dynamic>(0, columnName, sqlWhere, " dayDate asc"); Dictionary <string, charDataList> charItemList = new Dictionary <string, charDataList>(); if (dataList != null && dataList.Count > 0) { DateTime regTime = DateTime.Now; foreach (dynamic itemDataList in dataList) { regTime = Convert.ToDateTime(itemDataList.regTime); var XLable = Convert.ToDateTime(itemDataList.dayDate).ToString("yy-MM-dd"); charItemList[XLable] = new charDataList(XLable); Dictionary <string, charDataItemList> charDataItem = new Dictionary <string, charDataItemList>(); #region 系列增值 if (dataType.Contains("loginNum")) { charDataItem[columnList["loginNum"]] = new charDataItemList() { Values = itemDataList.loginNum, series = columnList["loginNum"] }; } if (dataType.Contains("userNum")) { charDataItem[columnList["userNum"]] = new charDataItemList() { Values = itemDataList.userNum, series = columnList["userNum"] }; } if (dataType.Contains("saleNum")) { charDataItem[columnList["saleNum"]] = new charDataItemList() { Values = itemDataList.saleNum, series = columnList["saleNum"] }; } if (dataType.Contains("saleMoney")) { charDataItem[columnList["saleMoney"]] = new charDataItemList() { Values = itemDataList.saleMoney, series = columnList["saleMoney"] }; } if (dataType.Contains("smsNum")) { charDataItem[columnList["smsNum"]] = new charDataItemList() { Values = itemDataList.smsNum, series = columnList["smsNum"] }; } if (dataType.Contains("goodsNum")) { charDataItem[columnList["goodsNum"]] = new charDataItemList() { Values = itemDataList.goodsNum, series = columnList["goodsNum"] }; } if (dataType.Contains("orderMoney")) { charDataItem[columnList["orderMoney"]] = new charDataItemList() { Values = itemDataList.orderMoney, series = columnList["orderMoney"] }; } if (dataType.Contains("acc_Rep")) { charDataItem[columnList["acc_Rep"]] = new charDataItemList() { Values = itemDataList.acc_Rep, series = columnList["acc_Rep"] }; } if (dataType.Contains("moodNum")) { charDataItem[columnList["moodNum"]] = new charDataItemList() { Values = itemDataList.moodNum, series = columnList["moodNum"] }; } #endregion charItemList[XLable].ItemList = charDataItem; } //chartModel.DataList = charItemList; startTime = startTime > regTime ? startTime : regTime; } while (startTime <= endTime) { var XLable = startTime.ToString("yy-MM-dd"); if (charItemList.ContainsKey(XLable)) { chartModel.DataList[XLable] = charItemList[XLable]; } else { chartModel.DataList[XLable] = new charDataList(XLable); #region 系列增值 foreach (string itemType in dataType) { chartModel.DataList[XLable].ItemList[columnList[itemType]] = new charDataItemList() { Values = 0, series = columnList[itemType] }; } #endregion } chartModel.DataList[XLable].weekend = (int)startTime.DayOfWeek; startTime = startTime.AddDays(1); } return(chartModel); }
/// <summary> /// 得到 单个店铺的销售信息 /// </summary> /// <param name="accid"></param> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <param name="dataType"></param> /// <returns></returns> public static Model.chartDataModel GetSaleChartData(int accid, DateTime startTime, DateTime endTime, int dataType) { List <dynamic> list = new List <dynamic>(); List <DapperWhere> sqlWhere = new List <DapperWhere>(); sqlWhere.Add(new DapperWhere("statTime", startTime, "dayDate>=@statTime")); sqlWhere.Add(new DapperWhere("endTime", endTime, "dayDate<=@endTime")); sqlWhere.Add(new DapperWhere("accountid", accid)); string columnName = "id,dayDate,saleNum,memSaleNum,retailSaleNum"; list = BLL.Base.SysRpt_ShopDayInfoBaseBLL.GetList <dynamic>(0, columnName, sqlWhere, "dayDate desc"); chartDataModel chartModel = new chartDataModel(); chartModel.captionTitle = "每日销售统计"; DateTime forDateTime = startTime; //得到所有X轴 while (forDateTime <= endTime) { if (forDateTime < DateTime.Now.Date) { #region 得到所有X轴 charDataList charItemList = new charDataList(); charItemList.XLable = forDateTime.ToString("MM-dd"); charItemList.weekend = (int)forDateTime.DayOfWeek; if (dataType == 1 || dataType == 4)//总销售 { charItemList.ItemList["总销售"] = new charDataItemList(0) { series = "总销售" }; } if (dataType == 2 || dataType == 4)//会员 { charItemList.ItemList["会员销售"] = new charDataItemList(0) { series = "会员销售" }; } if (dataType == 3 || dataType == 4)//零售 { charItemList.ItemList["零售销售"] = new charDataItemList(0) { series = "零售销售" }; } chartModel.DataList[charItemList.XLable] = charItemList; #endregion } forDateTime = forDateTime.AddDays(1); } foreach (dynamic item in list) { #region 给X轴增值 charDataList charItemList = new charDataList(); var XLable = Convert.ToDateTime(item.dayDate).ToString("MM-dd"); if (dataType == 1 || dataType == 4)//总销售 { chartModel.DataList[XLable].ItemList["总销售"].Values = item.saleNum; } if (dataType == 2 || dataType == 4)//会员 { chartModel.DataList[XLable].ItemList["会员销售"].Values = item.memSaleNum; } if (dataType == 3 || dataType == 4)//零售 { chartModel.DataList[XLable].ItemList["零售销售"].Values = item.retailSaleNum; } #endregion } return(chartModel); }