| | |
| | | using Masuit.Tools; |
| | | using NewLife.Reflection; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; |
| | | using SqlSugar; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using System.Drawing.Printing; |
| | | using System.Linq.Expressions; |
| | | using System.Threading.Tasks; |
| | | using System.Xml.Linq; |
| | | using WIDESEA_Cache; |
| | | using WIDESEA_Common; |
| | | using WIDESEA_Core; |
| | |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region åºåæ°æ®å±ç¤º |
| | | |
| | | public async Task<WebResponseContent> GetStockData() |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | var stocks = await _stockInfoDetailRepository.QueryDataAsync(x => true); |
| | | var orderdetail = SqlSugarHelper.DbWMS.Queryable<Dt_OrderOutDetails_Hty>().Where(x => true).ToList(); |
| | | |
| | | // è·åUTCå½åæ¶é´ |
| | | DateTime utcNow = DateTime.UtcNow; |
| | | |
| | | // 计ç®å½ææ¶é´èå´ |
| | | DateTime firstDayOfMonth = new DateTime(utcNow.Year, utcNow.Month, 1); |
| | | DateTime lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddSeconds(-1); |
| | | |
| | | // 计ç®å½å¤©æ¶é´èå´ |
| | | DateTime todayStart = utcNow.Date; |
| | | DateTime todayEnd = todayStart.AddDays(1).AddTicks(-1); |
| | | |
| | | // æ¥è¯¢å½ææ°æ® |
| | | var currentMonthInStocks = stocks.Where(x => x.CreateDate >= firstDayOfMonth && x.CreateDate <= lastDayOfMonth).Sum(x => x.Quantity); |
| | | var currentMonthOutStocks = orderdetail.Where(x => x.CreateDate >= firstDayOfMonth && x.CreateDate <= lastDayOfMonth).Sum(x => x.OutboundQuantity); |
| | | |
| | | // æ¥è¯¢å½æ¥æ°æ® |
| | | var currentDayInStocks = stocks.Where(x => x.CreateDate >= todayStart && x.CreateDate <= todayEnd).Sum(x => x.Quantity); |
| | | var currentDayOutStocks = orderdetail.Where(x => x.CreateDate >= todayStart && x.CreateDate <= todayEnd).Sum(x => x.OutboundQuantity); |
| | | |
| | | // çææè¿7天çåºå
¥åºæ°æ® |
| | | var last7Days = Enumerable.Range(0, 7) |
| | | .Select(i => utcNow.Date.AddDays(-i)) |
| | | .OrderBy(x => x) |
| | | .ToList(); |
| | | |
| | | var monthDays = Enumerable.Range(1, DateTime.DaysInMonth(utcNow.Year, utcNow.Month)) |
| | | .Select(day => new DateTime(utcNow.Year, utcNow.Month, day)) |
| | | .Where(date => date <= utcNow.Date) // åªå
å«å°ä»å¤©ä¸ºæ¢çæ¥æ |
| | | .ToList(); |
| | | |
| | | var inboundData = last7Days.Select(date => new |
| | | { |
| | | Date = date.ToString("MM-dd"), |
| | | Value = stocks.Where(x => x.CreateDate.Date == date).Sum(x => x.Quantity) |
| | | }).ToList(); |
| | | |
| | | var outboundData = last7Days.Select(date => new |
| | | { |
| | | Date = date.ToString("MM-dd"), |
| | | Value = orderdetail.Where(x => x.CreateDate.Date == date).Sum(x => x.OutboundQuantity) |
| | | }).ToList(); |
| | | |
| | | var MonthSumData = monthDays.Select(date => new |
| | | { |
| | | Date = date.ToString("MM-dd"), |
| | | InValue = stocks.Where(x => x.CreateDate.Date == date).Sum(x => x.Quantity), |
| | | OutValue = orderdetail.Where(x => x.CreateDate.Date == date).Sum(x => x.OutboundQuantity) |
| | | }).ToList(); |
| | | |
| | | object obj = new |
| | | { |
| | | metrics = new List<object>{ |
| | | new { |
| | | name = "仿¥è¿åºé", |
| | | value = currentDayInStocks |
| | | }, |
| | | new { |
| | | name = "仿¥åºåºé", |
| | | value = currentDayOutStocks |
| | | }, |
| | | new { |
| | | name = "æ¬æè¿åºé", |
| | | value = currentMonthInStocks |
| | | }, |
| | | new { |
| | | name = "æ¬æåºåºé", |
| | | value = currentMonthOutStocks |
| | | }, |
| | | new { |
| | | name = "åºåæ»é", |
| | | value = stocks.Sum(x => x.Quantity) |
| | | } |
| | | }, |
| | | outbound = new |
| | | { |
| | | dates = outboundData.Select(x => x.Date).ToArray(), |
| | | values = outboundData.Select(x => x.Value).ToArray() |
| | | }, |
| | | inbound = new |
| | | { |
| | | dates = inboundData.Select(x => x.Date).ToArray(), |
| | | values = inboundData.Select(x => x.Value).ToArray() |
| | | }, |
| | | monthData = new |
| | | { |
| | | dates = MonthSumData.Select(x => x.Date).ToArray(), |
| | | inValue = MonthSumData.Select(x => x.InValue).ToArray(), |
| | | outValue = MonthSumData.Select(x => x.OutValue).ToArray(), |
| | | } |
| | | }; |
| | | |
| | | return content.OK(data: obj); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error("ç³»ç»é误ï¼è¯·è系管çå"); |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | } |