heshaofeng
2026-01-06 b13d3d2c634df625dcaa74371f1d36a8376851b4
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/BigGreenService/BigGreenService.cs
@@ -69,6 +69,8 @@
            // 4. èŽ·å–è¿‘7日每日出入库明细(核心修改:调用上面的方法)
            var dailyInOutBoundList = Get7DaysDailyInOutBound();
            //获取作业统计
            var completeTask = SimpleStatistics();
            //任务
            List<Dt_Task> tasks = _taskRepository.QueryData();
@@ -82,7 +84,8 @@
                InboundCount = inboundCount,
                OutboundCount = outboundCount,
                InStockPallet = inStockPallet,
                FreeStockPallet = freeStockPallet
                FreeStockPallet = freeStockPallet,
                CompleteTask = completeTask
            };
            return WebResponseContent.Instance.OK(data: bigGreenData);
        }
@@ -107,14 +110,15 @@
                .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
@@ -122,14 +126,14 @@
                .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
@@ -143,7 +147,26 @@
            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(大绿数据汇总)
@@ -196,7 +219,7 @@
            /// <summary>
            /// è¿‘7日净入库量(入库-出库)
            /// </summary>
            public decimal totalStockChangeRate { get; set; }
            public decimal TotalStockChangeRate { get; set; }
            /// <summary>
            /// ä»»åŠ¡åˆ—è¡¨
@@ -206,6 +229,8 @@
            public int InStockPallet { get; set; }
            public int FreeStockPallet { get; set; }
            public List<SimpleStatisticsDTO> CompleteTask { get; set; }
        }
        /// <summary>
@@ -230,6 +255,12 @@
        }
        public class SimpleStatisticsDTO
        {
            public string TaskType { get; set; }
            public int Count { get; set; }
        }
    }
}