From 266e4bf654c55ce2f7e9271048e4625f1b8b49f6 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期一, 29 十二月 2025 14:36:08 +0800
Subject: [PATCH] Merge branch 'htq20251215' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu into htq20251215

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/BigGreenService/BigGreenService.cs |   47 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 43 insertions(+), 4 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 b32da1f..cc3a34a 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"
@@ -5,8 +5,10 @@
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Common.CommonEnum;
 using WIDESEA_Common.LocationEnum;
 using WIDESEA_Common.OrderEnum;
+using WIDESEA_Common.TaskEnum;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Model.Models;
@@ -20,9 +22,11 @@
         private readonly IRepository<Dt_LocationInfo> _locationInfoRepository;
         private readonly IRepository<Dt_OutboundOrderDetail> _outBoundOrderDetailRepository;
         private readonly IRepository<Dt_InboundOrderDetail> _inboundOrderDetailRepository;
+        private readonly IRepository<Dt_Task_Hty> _taskHtyRepository;
         private readonly IRepository<Dt_Task> _taskRepository;
+        private readonly IRepository<Dt_StockInfo> _stockInfoRepository;
 
-        public BigGreenService(IRepository<Dt_StockInfoDetail> stockInfoDetailRepository, IRepository<Dt_OutboundOrder> outBoundOrderRepository, IRepository<Dt_LocationInfo> locationInfoRepository,IRepository<Dt_OutboundOrderDetail> outBoundOrderDetailRepository, IRepository<Dt_InboundOrderDetail> inboundOrderDetailRepository,IRepository<Dt_Task> taskRepository)
+        public BigGreenService(IRepository<Dt_StockInfoDetail> stockInfoDetailRepository, IRepository<Dt_OutboundOrder> outBoundOrderRepository, IRepository<Dt_LocationInfo> locationInfoRepository,IRepository<Dt_OutboundOrderDetail> outBoundOrderDetailRepository, IRepository<Dt_InboundOrderDetail> inboundOrderDetailRepository,IRepository<Dt_Task> taskRepository,IRepository<Dt_Task_Hty> taskHtyRepository, IRepository<Dt_StockInfo> stockInfoRepository)
         {
             _stockInfoDetailRepository = stockInfoDetailRepository;
             _outBoundOrderRepository = outBoundOrderRepository;
@@ -30,6 +34,8 @@
             _outBoundOrderDetailRepository = outBoundOrderDetailRepository;
             _inboundOrderDetailRepository = inboundOrderDetailRepository;
             _taskRepository = taskRepository;
+            _taskHtyRepository = taskHtyRepository;
+            _stockInfoRepository = stockInfoRepository;
         }
         public WebResponseContent GetBigGreenData()
         {
@@ -46,12 +52,20 @@
 
             //璁$畻搴撲綅鍒╃敤鐜�
             var freeLocation =_locationInfoRepository.Db.Queryable<Dt_LocationInfo>().Where(x=>x.LocationStatus==(int)LocationStatusEnum.Free).Count();
-            var inStockLocation =_locationInfoRepository.Db.Queryable<Dt_LocationInfo>().Where(x => x.LocationStatus == (int)LocationStatusEnum.InStock).Count();
+            var inStockLocation =_locationInfoRepository.Db.Queryable<Dt_LocationInfo>().Where(x => x.LocationStatus == (int)LocationStatusEnum.InStock || x.LocationStatus == (int)LocationStatusEnum.Pallet).Count();
             int totalLocation = freeLocation + inStockLocation;
             decimal locationUtilizationRate = totalLocation == 0
                 ? 0
-                : Math.Round((decimal)inStockLocation / totalLocation, 4);
+                : 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 inStockPallet = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletType ==(int) PalletTypeEnum.None).Count();
+            //璁$畻绌虹鏁伴噺
+            var freeStockPallet = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletType == (int)PalletTypeEnum.Empty).Count();
             // 4. 鑾峰彇杩�7鏃ユ瘡鏃ュ嚭鍏ュ簱鏄庣粏锛堟牳蹇冧慨鏀癸細璋冪敤涓婇潰鐨勬柟娉曪級
             var dailyInOutBoundList = Get7DaysDailyInOutBound();
 
@@ -64,7 +78,11 @@
                 UnOutBoundOrderCount = unOutBound,
                 LocationUtilizationRate = locationUtilizationRate,
                 DailyInOutBoundList = dailyInOutBoundList,
-                TaskList = tasks
+                TaskList = tasks,
+                InboundCount = inboundCount,
+                OutboundCount = outboundCount,
+                InStockPallet = inStockPallet,
+                FreeStockPallet = freeStockPallet
             };
             return WebResponseContent.Instance.OK(data: bigGreenData);
         }
@@ -125,11 +143,21 @@
             return dailyInOutBoundList;
         }
 
+       
+
         /// <summary>
         /// 澶у睆/姹囨�绘暟鎹繑鍥濪TO锛堝ぇ缁挎暟鎹眹鎬伙級
         /// </summary>
         public class BigGreenDataDto
         {
+            /// <summary>
+            /// 鍏ュ簱瀹屾垚鏁伴噺
+            /// </summary>
+            public int InboundCount { get; set; }
+            /// <summary>
+            /// 鍑哄簱瀹屾垚鏁伴噺
+            /// </summary>
+            public int OutboundCount { get; set; }
             /// <summary>
             /// 鎬诲簱瀛樻暟閲�
             /// </summary>
@@ -166,9 +194,18 @@
             public decimal NetStock7Days { get; set; }
 
             /// <summary>
+            /// 杩�7鏃ュ噣鍏ュ簱閲忥紙鍏ュ簱-鍑哄簱锛�
+            /// </summary>
+            public decimal totalStockChangeRate { get; set; }
+
+            /// <summary>
             /// 浠诲姟鍒楄〃
             /// </summary>
             public List<Dt_Task> TaskList { get; set; } = new List<Dt_Task>();
+
+            public int InStockPallet { get; set; }
+
+            public int FreeStockPallet { get; set; }
         }
 
         /// <summary>
@@ -192,5 +229,7 @@
             public decimal DailyInboundQuantity { get; set; }
 
         }
+
+        
     }
 }

--
Gitblit v1.9.3