// GET: ChartBoard public async Task <ActionResult> Index() { //30天收益图 ViewBag.MonthLabels = JsonConvert.SerializeObject(BaseDataHelper.getLastMonthDate(DateTime.Now).Select(x => x.ToString("MM月dd日")).ToArray()); ViewBag.MonthData = JsonConvert.SerializeObject(await outRecordServer.searchLastMonthProfit()); //昨日收益饼图 ViewBag.YesterdayData = JsonConvert.SerializeObject(await outRecordServer.searchYesterdayNum()); //异常订单半年线图 ViewBag.HarfYearMonthLabel = JsonConvert.SerializeObject(BaseDataHelper.getSixMnthDate(DateTime.Now).Select(x => x.ToString("yyyy-MM")).ToArray()); var orderData = await orderInfoServer.getHalfYearOrderNum(); ViewBag.NormalOrderData = JsonConvert.SerializeObject(orderData.produceOrderNum); ViewBag.ExceptOrderData = JsonConvert.SerializeObject(orderData.exceptedOrderNum); ViewBag.CompletedOrderData = JsonConvert.SerializeObject(orderData.completedOrderNum); //库存不足柱状图 var inventoryData = await inventoryServer.searchTenInventoryCount(); ViewBag.InventoryLabels = JsonConvert.SerializeObject(inventoryData.materialName); ViewBag.InventoryAlarmCount = JsonConvert.SerializeObject(inventoryData.alarmCount); ViewBag.InventoryRealCount = JsonConvert.SerializeObject(inventoryData.inventoryCount); return(View()); }
public float[] searchLastMonthProfit() { DateTime startDate = DateTime.Now.AddDays(-30).Date; DateTime endDate = DateTime.Now.Date; List <DateTime> dateList = BaseDataHelper.getLastMonthDate(DateTime.Now); LayerDbContext context = new LayerDbContext(); var profitData = context.profitRecord.Where(x => x.createdDate >= startDate && x.createdDate < endDate).GroupBy(x => x.createdDate.Day).Select(x => new { createdDate = x.Max(item => item.createdDate), profit = x.Sum(item => item.profit) }).ToList(); List <LineDataTool> profitData1 = new List <LineDataTool>(); LineDataTool model = null; foreach (var item in profitData) { model = new LineDataTool(); model.date = item.createdDate.Date; model.floatData = item.profit; profitData1.Add(model); } var result = (from x in dateList.OrderBy(x => x) join y in profitData1 on x equals y.date into Temp from temp in Temp.DefaultIfEmpty() select(temp == null ? 0 : temp.floatData)).ToArray(); return(result); }