| | |
| | | using IBigBreenService; |
| | | using Microsoft.IdentityModel.Tokens; |
| | | using SqlSugar; |
| | | using System; |
| | | using System.Collections.Generic; |
| | |
| | | using WIDESEA_Common.TaskEnum; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.BaseRepository; |
| | | using WIDESEA_Core.Helper; |
| | | using WIDESEA_Model.Models; |
| | | |
| | | namespace BigGreenService |
| | |
| | | : Math.Round((decimal)inStockLocation / totalLocation, 4)*100; |
| | | |
| | | //计ç®å
¥åºä»»å¡ååºåºä»»å¡å®ææ°é |
| | | var inboundCount =_taskHtyRepository.Db.Queryable<Dt_Task_Hty>().Where(x => x.TaskType >= 500 && x.TaskType < 900).Count(); |
| | | var outboundCount =_taskHtyRepository.Db.Queryable<Dt_Task_Hty>().Where(x => x.TaskType >= 100 && x.TaskType < 500).Count(); |
| | | var inboundCount =_taskHtyRepository.Db.Queryable<Dt_Task_Hty>().Where(x => x.TaskType >= 500 && x.TaskType < 900 && x.CreateDate.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd")).Count(); |
| | | var outboundCount =_taskHtyRepository.Db.Queryable<Dt_Task_Hty>().Where(x => x.TaskType >= 100 && x.TaskType < 500 && x.CreateDate.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd")).Count(); |
| | | |
| | | //è®¡ç®æè´§æç®±æ°é |
| | | var inStockPallet = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletType ==(int) PalletTypeEnum.None).Count(); |
| | | var inStockPallet = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletType ==(int) PalletTypeEnum.None && !string.IsNullOrEmpty(x.LocationCode)).Count(); |
| | | //计ç®ç©ºç®±æ°é |
| | | var freeStockPallet = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletType == (int)PalletTypeEnum.Empty).Count(); |
| | | var freeStockPallet = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletType == (int)PalletTypeEnum.Empty && !string.IsNullOrEmpty(x.LocationCode)).Count(); |
| | | // 4. è·åè¿7æ¥æ¯æ¥åºå
¥åºæç»ï¼æ ¸å¿ä¿®æ¹ï¼è°ç¨ä¸é¢çæ¹æ³ï¼ |
| | | var dailyInOutBoundList = Get7DaysDailyInOutBound(); |
| | | |
| | | //è·åä½ä¸ç»è®¡ |
| | | var completeTask = SimpleStatistics(); |
| | | //ä»»å¡ |
| | | List<Dt_Task> tasks = _taskRepository.QueryData(); |
| | | |
| | |
| | | InboundCount = inboundCount, |
| | | OutboundCount = outboundCount, |
| | | InStockPallet = inStockPallet, |
| | | FreeStockPallet = freeStockPallet |
| | | FreeStockPallet = freeStockPallet, |
| | | CompleteTask = completeTask |
| | | }; |
| | | return WebResponseContent.Instance.OK(data: bigGreenData); |
| | | } |
| | |
| | | .Queryable<Dt_OutboundOrderDetail>() |
| | | .Where(x => x.CreateDate >= startDate |
| | | && x.CreateDate < endDate.AddDays(1)) |
| | | .GroupBy(x => x.CreateDate) // ææ¥ææ ¼å¼ååç» |
| | | |
| | | .Select(x => new |
| | | { |
| | | Date = x.CreateDate.ToString( "MM-dd"), |
| | | DailyOutbound = SqlFunc.AggregateSum((decimal?)x.OverOutQuantity) ?? 0 |
| | | Date = x.CreateDate.ToString("MM-dd"), |
| | | x.OverOutQuantity |
| | | }) |
| | | .ToList() |
| | | .ToDictionary(k => k.Date, v => v.DailyOutbound); // 转为åå
¸æ¹ä¾¿å¹é
|
| | | .GroupBy(x => x.Date) |
| | | .ToDictionary(k => k.Key , g => g.Sum(x => (decimal?)x.OverOutQuantity) ?? 0); // 转为åå
¸æ¹ä¾¿å¹é
|
| | | |
| | | // 3. æ¥è¯¢æ¯æ¥å
¥åºæç»ï¼ææ¥æåç»ï¼ |
| | | var dailyInboundList = _inboundOrderDetailRepository.Db |
| | |
| | | .Where(x => x.CreateDate != null // è¿æ»¤ç©ºæ¥æ |
| | | && x.CreateDate >= startDate |
| | | && x.CreateDate < endDate.AddDays(1)) |
| | | .GroupBy(x => x.CreateDate).Distinct() // ææ¥ææ ¼å¼ååç» |
| | | .Select(x => new |
| | | { |
| | | Date = x.CreateDate.ToString("MM-dd"), |
| | | DailyInbound = SqlFunc.AggregateSum((decimal?)x.OverInQuantity) ?? 0 |
| | | x.OverInQuantity |
| | | }) |
| | | .ToList() |
| | | .ToDictionary(k => k.Date, v => v.DailyInbound); // 转为åå
¸æ¹ä¾¿å¹é
|
| | | .GroupBy(x=>x.Date) |
| | | .ToDictionary(k => k.Key, g => g.Sum(x => (decimal?)x.OverInQuantity) ?? 0); // 转为åå
¸æ¹ä¾¿å¹é
|
| | | |
| | | // 4. åå¹¶æ¯æ¥æ°æ®ï¼ç¡®ä¿7å¤©æ¥æå®æ´ï¼æ æ°æ®è¡¥0ï¼ |
| | | var dailyInOutBoundList = all7Days.Select(date => new DailyInOutBoundDto |
| | |
| | | return dailyInOutBoundList; |
| | | } |
| | | |
| | | |
| | | public List<SimpleStatisticsDTO> SimpleStatistics() |
| | | { |
| | | DateTime sevenDaysAgo = DateTime.Now.AddDays(-7); |
| | | |
| | | var stats = _taskHtyRepository |
| | | .QueryData(x => x.TaskStatus == (int)TaskStatusEnum.Finish && x.CreateDate >= sevenDaysAgo) |
| | | .GroupBy(t => |
| | | (int)t.TaskType >= 100 && (int)t.TaskType <= 299 ? "åºåº" : |
| | | (int)t.TaskType >= 500 && (int)t.TaskType <= 699 ? "å
¥åº" : "å
¶ä»" |
| | | ) |
| | | .Where(g => g.Key == "åºåº" || g.Key == "å
¥åº") |
| | | .Select(g => new SimpleStatisticsDTO |
| | | { |
| | | TaskType = g.Key, |
| | | Count = g.Count() |
| | | }) |
| | | .ToList(); |
| | | |
| | | return stats; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 大å±/æ±æ»æ°æ®è¿åDTOï¼å¤§ç»¿æ°æ®æ±æ»ï¼ |
| | |
| | | /// <summary> |
| | | /// è¿7æ¥åå
¥åºéï¼å
¥åº-åºåºï¼ |
| | | /// </summary> |
| | | public decimal totalStockChangeRate { get; set; } |
| | | public decimal TotalStockChangeRate { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡å表 |
| | |
| | | public int InStockPallet { get; set; } |
| | | |
| | | public int FreeStockPallet { get; set; } |
| | | |
| | | public List<SimpleStatisticsDTO> CompleteTask { get; set; } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | public class SimpleStatisticsDTO |
| | | { |
| | | public string TaskType { get; set; } |
| | | public int Count { get; set; } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |