From 71d80b9ed894f471e39d9fbd812809f652284c73 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期三, 07 一月 2026 13:53:20 +0800
Subject: [PATCH] 1
---
项目代码/WMS无仓储版/WIDESEA_WMSServer/BigGreenService/BigGreenService.cs | 63 ++++++++++++++++++++++++-------
1 files changed, 48 insertions(+), 15 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/BigGreenService/BigGreenService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/BigGreenService/BigGreenService.cs"
index cc3a34a..3ed522c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/BigGreenService/BigGreenService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/BigGreenService/BigGreenService.cs"
@@ -1,4 +1,5 @@
锘縰sing IBigBreenService;
+using Microsoft.IdentityModel.Tokens;
using SqlSugar;
using System;
using System.Collections.Generic;
@@ -11,6 +12,7 @@
using WIDESEA_Common.TaskEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
+using WIDESEA_Core.Helper;
using WIDESEA_Model.Models;
namespace BigGreenService
@@ -59,16 +61,18 @@
: 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();
@@ -82,7 +86,8 @@
InboundCount = inboundCount,
OutboundCount = outboundCount,
InStockPallet = inStockPallet,
- FreeStockPallet = freeStockPallet
+ FreeStockPallet = freeStockPallet,
+ CompleteTask = completeTask
};
return WebResponseContent.Instance.OK(data: bigGreenData);
}
@@ -107,14 +112,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 +128,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 +149,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>
/// 澶у睆/姹囨�绘暟鎹繑鍥濪TO锛堝ぇ缁挎暟鎹眹鎬伙級
@@ -196,7 +221,7 @@
/// <summary>
/// 杩�7鏃ュ噣鍏ュ簱閲忥紙鍏ュ簱-鍑哄簱锛�
/// </summary>
- public decimal totalStockChangeRate { get; set; }
+ public decimal TotalStockChangeRate { get; set; }
/// <summary>
/// 浠诲姟鍒楄〃
@@ -206,6 +231,8 @@
public int InStockPallet { get; set; }
public int FreeStockPallet { get; set; }
+
+ public List<SimpleStatisticsDTO> CompleteTask { get; set; }
}
/// <summary>
@@ -230,6 +257,12 @@
}
-
+ public class SimpleStatisticsDTO
+ {
+ public string TaskType { get; set; }
+ public int Count { get; set; }
+ }
+
+
}
}
--
Gitblit v1.9.3