From b330b8ff1b5315684b25afb534f74044dea1654b Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期二, 28 十月 2025 15:56:30 +0800
Subject: [PATCH] 优化

---
 新建文件夹/WIDESEA_WMSServer/ClassLibrary2/InventoryInfoService.cs |   81 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 0 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/InventoryInfoService.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/InventoryInfoService.cs"
index 6e7f6a1..0859da2 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/InventoryInfoService.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/InventoryInfoService.cs"
@@ -24,6 +24,84 @@
         {
         }
         public IRepository<Dt_InventoryInfo> Repository => BaseDal;
+
+        public WebResponseContent GetExpiredAndlow()
+        {
+            try
+            {
+                // 鑾峰彇褰撳墠鏃堕棿锛堝彧鍙栨棩鏈熼儴鍒嗭紝蹇界暐鏃堕棿锛�
+                DateTime currentDate = DateTime.Today;
+                // 璁$畻30澶╁悗鐨勬棩鏈�
+                DateTime thresholdDate = currentDate.AddDays(30);
+
+                // 鏌ユ壘搴撳瓨涓墍鏈夊晢鍝�
+                var inventoryList = BaseDal.QueryData();
+                var expiredSoonList = new List<object>();
+
+                foreach (var item in inventoryList)
+                {
+                    // 妫�鏌alidityPeriod鏄惁涓虹┖
+                    if (string.IsNullOrEmpty(item.ValidityPeriod))
+                        continue;
+
+                    // 浣跨敤绮剧‘鏍煎紡瑙f瀽 "2037-10-02"
+                    if (DateTime.TryParseExact(item.ValidityPeriod.Trim(), "yyyy-MM-dd",
+                        System.Globalization.CultureInfo.InvariantCulture,
+                        System.Globalization.DateTimeStyles.None, out DateTime expiryDate))
+                    {
+                        // 璁$畻鍓╀綑澶╂暟锛堝彧姣旇緝鏃ユ湡閮ㄥ垎锛�
+                        double daysRemaining = (expiryDate - currentDate).TotalDays;
+
+                        // 妫�鏌ユ槸鍚﹀湪30澶╁唴锛堝寘鎷凡杩囨湡鐨勶級
+                        if (daysRemaining <= 30)
+                        {
+                            expiredSoonList.Add(new
+                            {
+                                MaterielCode = item.MaterielCode ?? "",
+                                BatchNo = item.BatchNo ?? "",
+                                ValidityPeriod = item.ValidityPeriod,
+                                ExpiryDate = expiryDate.ToString("yyyy-MM-dd"),
+                            });
+                        }
+                    }
+                    else
+                    {
+                        // 璁板綍瑙f瀽澶辫触鐨勮褰曪紙鐢ㄤ簬璋冭瘯锛�
+                        Console.WriteLine($"鏃犳硶瑙f瀽鏁堟湡: {item.ValidityPeriod}");
+                    }
+                }
+
+                // 鎸夊墿浣欏ぉ鏁板崌搴忔帓鍒楋紙鍗冲皢杩囨湡鐨勬帓鍓嶉潰锛�
+                var sortedList = expiredSoonList.OrderBy(x =>
+                {
+                    var days = (int)((dynamic)x).DaysRemaining;
+                    return days;
+                }).ToList();
+
+                return new WebResponseContent
+                {
+                    Status = true,
+                    Message = $"鍙戠幇 {sortedList.Count} 涓晢鍝佸皢鍦�30澶╁唴杩囨湡",
+                    Data = new
+                    {
+                        TotalCount = sortedList.Count,
+                        ExpiredCount = sortedList.Count(x => ((dynamic)x).DaysRemaining < 0),
+                        WarningCount = sortedList.Count(x => ((dynamic)x).DaysRemaining >= 0),
+                        CheckDate = currentDate.ToString("yyyy-MM-dd"),
+                        Items = sortedList
+                    }
+                };
+            }
+            catch (Exception ex)
+            {
+                return new WebResponseContent
+                {
+                    Status = false,
+                    Message = $"鑾峰彇鏁堟湡鏁版嵁澶辫触: {ex.Message}"
+                };
+            }
+        }
+
         /// <summary>
         /// 鑾峰彇搴撳瓨
         /// </summary>
@@ -72,5 +150,8 @@
             }
             return content;
         }
+
+
+        
     }
 }

--
Gitblit v1.9.3