點擊對應的統計類型進行數據統計分析

之前有寫過點擊不同的統計類型重載layui表格,所以我這次要分享的內容是建立在上次的基礎上寫的,首先這裏也是要渲染出layui表格,然後寫上重載表格的方法,實現點擊對應的內容再重載表格,這些代碼之前有寫過,所以在這裏就不重複了?
這次要分享的代碼如下:
首先是在頁面上給單選框附上value值,因爲代碼都是一樣的,所以這裏只寫了兩個來示例

<div class="col-lg-5 col-md-5 ">
                                <div class="layui-form-item align-left">
                                    <div class="layui-input-block ml-0 ">
                                        <input type="radio" name="style" value="1">
                                        <img src="~/Content/img/112.JPG" />&nbsp;
                                        <b>按&nbsp;[品牌]&nbsp;統計 </b>
                                    </div>
                                </div>
                            </div>
                            <div class="col-lg-5 col-md-5 ">
                                <div class="layui-form-item align-left">
                                    <div class="layui-input-block ml-0 ">
                                        <input type="radio" name="style" value="2">
                                        <img src="~/Content/img/10000024.JPG" />&nbsp
                                        ;<b>按&nbsp;[供應商]&nbsp;統計 </b>
                                    </div>
                                </div>
                            </div>

下面是在控制器的代碼:

因爲這裏要根據不同的時間段統計出對應的數據,所以begindate在這裏是代表開始時間, enddate代表結束時間, Type代表統計類型,這些都是頁面上傳遞過來的值
   public ActionResult EnterSellSave(LayuiTablePage layuiTablePage, string begindate, string enddate, short Type)
        {
            List<JXCStatistics> StatisticsType = new List<JXCStatistics>();//實例化封裝好的實體類

          
//根據獲取的ID查詢出哪張表           
 if (Type == 1)
            {
                //品牌
                StatisticsType = (from tbBrand in MyModel.D_Brand
                                  select new JXCStatistics
                                  {
                                      ID = tbBrand.BrandID,
                                      Name = tbBrand.BrandName
                                  }).ToList();

            }
            else if (Type == 2)
            {
                //供應商
                StatisticsType = (from tbSupplier in MyModel.D_Supplier
                                  select new JXCStatistics
                                  {
                                      ID = tbSupplier.SupplierID,
                                      Name = tbSupplier.SupplierName
                                  }).ToList();
            }
            
           
           
            var Statistics = (from tbCommodity in MyModel.B_Commodity//商品表
                              join tbCommodityDetail in MyModel.B_CommodityDetail on tbCommodity.CommodityID equals tbCommodityDetail.CommodityID//商品明細表
                              join tbStockDetail in MyModel.B_StockDetail on tbCommodityDetail.CommodityDetailID equals tbStockDetail.CommodityDetailID//進貨明細表
                              join tbStock in MyModel.B_Stock on tbStockDetail.StockID equals tbStock.StockID//進貨表
                              join tbSellDetail in MyModel.B_SellDetail on tbCommodityDetail.CommodityDetailID equals tbSellDetail.CommodityDetailID//銷售明細表
                              join tbSell in MyModel.B_Sell on tbSellDetail.SellID equals tbSell.SellID//銷售表
                              join tbInventory in MyModel.D_Inventory on tbCommodityDetail.CommodityDetailID equals tbInventory.CommodityDetailID//庫存表
                              select new JXCStatistics
                              {
                                  BrandID = tbCommodity.BrandID,//品牌ID
                                  SupplierID = tbCommodity.SupplierID,//供應商ID                                
                                  CommodityTypeID = tbCommodity.CommodityTypeID,//商品類別ID
                                  ColorID = tbCommodityDetail.ColorID,//顏色ID
                                  SeasonID = tbCommodity.SeasonID,//季節ID                               
                                  SizeID = tbCommodityDetail.SizeID,//尺碼ID
                                  StockAmount = tbStockDetail.StockAmount,//進貨數量
                                  SellAmount = tbSellDetail.SellAmount,//銷售數量
                                  Amount = tbInventory.Amount,//庫存數量
                                  StockDate = tbStock.StockDate,//進貨日期
                                  SellDate = tbSell.SellDate,//銷售日期
                              }).ToList();
            if (!string.IsNullOrEmpty(begindate) && !string.IsNullOrEmpty(enddate))

            {

                DateTime begin = Convert.ToDateTime(begindate);//開始時間
                DateTime end = Convert.ToDateTime(enddate);//結束時間
                Statistics = Statistics.Where(m => m.StockDate >= Convert.ToDateTime(begindate) && m.StockDate <= Convert.ToDateTime(enddate)).ToList();//篩選進貨日期的數據
                Statistics = Statistics.Where(m => m.SellDate >= Convert.ToDateTime(begindate) && m.SellDate <= Convert.ToDateTime(enddate)).ToList();//篩選銷售日期的數據
            }
            #region 數據處理,循環統計
            int? ID = 0; //記錄單表數據的每條數據的唯一ID
            for (int i = 0; i < StatisticsType.Count(); i++)
            {
                StatisticsType[i].StockAmount = 0;//進貨數量
                StatisticsType[i].SellAmount = 0;//銷售數量
                StatisticsType[i].Amount = 0;//庫存數量
                for (int a = 0; a < Statistics.Count(); a++)
                {
                    if (Type == 1)
                    {
                        ID = Statistics[a].BrandID;//品牌ID
                    }
                    if (Type == 2)
                    {
                        ID = Statistics[a].SupplierID;//供應商ID
                    }
                    if (StatisticsType[i].ID == ID)
                    {
                        StatisticsType[i].sfstatistics = true;//是否統計                     
                        StatisticsType[i].begindate = begindate;//開始時間
                        StatisticsType[i].enddate = enddate;//結束時間
                        StatisticsType[i].Type = Type;//統計類型       
                        StatisticsType[i].StockAmount += Statistics[a].StockAmount;//進貨數量
                        StatisticsType[i].SellAmount += Statistics[a].SellAmount;//銷售數量
                        StatisticsType[i].Amount += Statistics[a].Amount;//庫存數量
                    }
                }
            }
            //過濾統計狀態爲false也就是沒有參與統計的數據的,沒有參與統計的數據是不需要的
            StatisticsType = StatisticsType.Where(m => m.sfstatistics != false).ToList();
            LayuiTableData<JXCStatistics> JXCDetaildata = new LayuiTableData<JXCStatistics>();
            JXCDetaildata.count = StatisticsType.Count();
            StatisticsType = StatisticsType
                .Skip(layuiTablePage.GetStartIndex())
                .Take(layuiTablePage.limit).ToList();
            JXCDetaildata.data = StatisticsType;
            #endregion
            return Json(JXCDetaildata, JsonRequestBehavior.AllowGet);
        }

這樣就可以實現點擊對應的統計類型進行數據統計分析啦
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章