Ejemplo n.º 1
0
        // 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);
        }