From 37454e625df68d40897112b2e8c2e3cf4d7163e3 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期三, 25 三月 2026 11:43:10 +0800
Subject: [PATCH] 1

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoDetailService.cs |   89 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 80 insertions(+), 9 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/WIDESEA_StockService/StockInfoDetailService.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/WIDESEA_StockService/StockInfoDetailService.cs"
index 9f22137..2c85ebd 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/WIDESEA_StockService/StockInfoDetailService.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/WIDESEA_StockService/StockInfoDetailService.cs"
@@ -1,11 +1,13 @@
 锘縰sing SqlSugar;
 using WIDESEA_Common.StockEnum;
+using System.Collections.Generic;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
 using WIDESEA_Core.Enums;
 using WIDESEA_Core.Helper;
 using WIDESEA_Core.HttpContextUser;
+using WIDESEA_Core.Utilities;
 using WIDESEA_DTO.Stock;
 using WIDESEA_IStockService;
 using WIDESEA_Model.Models;
@@ -34,10 +36,9 @@
 
         public PageGridData<StockInfoDetailWithPalletDto> GetPageData2(PageDataOptions options)
         {
-            string wheres = ValidatePageOptions(options);
 
             var sugarQueryable = Db.Queryable<Dt_StockInfoDetail>().InnerJoin<Dt_StockInfo>((detail, item) => detail.StockId == item.Id)
-                .Where((detail, item) =>item.StockStatus==StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt());
+                .Where((detail, item) => item.StockStatus == StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt() || item.StockStatus == StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt());
 
             Dictionary<string, SqlSugar.OrderByType> orderbyDic = GetPageDataSort(options, TProperties);
             List<OrderByModel> orderByModels = new List<OrderByModel>();
@@ -47,7 +48,7 @@
                 {
                     OrderByModel orderByModel = new()
                     {
-                        FieldName = "detail."+item.Key,
+                        FieldName = "detail." + item.Key,
                         OrderByType = item.Value
                     };
                     orderByModels.Add(orderByModel);
@@ -61,7 +62,7 @@
                     };
                     orderByModels.Add(orderByModel);
                 }
-          
+
             }
             int totalCount = 0;
             List<SearchParameters> searchParametersList = new List<SearchParameters>();
@@ -76,11 +77,58 @@
                     {
                         foreach (var param in searchParametersList)
                         {
-                            // 鍖归厤鎵樼洏缂栧彿鏌ヨ鏉′欢锛堝皬鍐欏瓧娈靛悕锛�
                             if (param.Name.Equals(nameof(Dt_StockInfo.PalletCode).FirstLetterToLower(), StringComparison.OrdinalIgnoreCase)
                                 && !string.IsNullOrEmpty(param.Value?.ToString()))
                             {
                                 sugarQueryable = sugarQueryable.Where((detail, item) => item.PalletCode.Contains(param.Value));
+                            }
+                            if (param.Name.Equals(nameof(Dt_StockInfoDetail.MaterielCode).FirstLetterToLower(), StringComparison.OrdinalIgnoreCase)
+                                && !string.IsNullOrEmpty(param.Value?.ToString()))
+                            {
+                                string queryValue = param.Value.ToString().Trim();
+                                sugarQueryable = sugarQueryable.Where((detail, item) => detail.MaterielCode.Contains(queryValue));
+                            }
+                            if (param.Name.Equals(nameof(Dt_StockInfoDetail.MaterielName).FirstLetterToLower(), StringComparison.OrdinalIgnoreCase)
+                                && !string.IsNullOrEmpty(param.Value?.ToString()))
+                            {
+                                string queryValue = param.Value.ToString().Trim();
+                                sugarQueryable = sugarQueryable.Where((detail, item) => detail.MaterielName.Contains(queryValue));
+                            }
+                            if (param.Name.Equals(nameof(Dt_StockInfoDetail.OrderNo).FirstLetterToLower(), StringComparison.OrdinalIgnoreCase)
+                                && !string.IsNullOrEmpty(param.Value?.ToString()))
+                            {
+                                string queryValue = param.Value.ToString().Trim();
+                                sugarQueryable = sugarQueryable.Where((detail, item) => detail.OrderNo.Contains(queryValue));
+                            }
+                            if (param.Name.Equals(nameof(Dt_StockInfoDetail.BatchNo).FirstLetterToLower(), StringComparison.OrdinalIgnoreCase)
+                                && !string.IsNullOrEmpty(param.Value?.ToString()))
+                            {
+                                string queryValue = param.Value.ToString().Trim();
+                                sugarQueryable = sugarQueryable.Where((detail, item) => detail.BatchNo.Contains(queryValue));
+                            }
+                            if (param.Name.Equals(nameof(Dt_StockInfoDetail.Barcode).FirstLetterToLower(), StringComparison.OrdinalIgnoreCase)
+                                && !string.IsNullOrEmpty(param.Value?.ToString()))
+                            {
+                                string queryValue = param.Value.ToString().Trim();
+                                sugarQueryable = sugarQueryable.Where((detail, item) => detail.Barcode.Contains(queryValue));
+                            }
+                            if (param.Name.Equals(nameof(Dt_StockInfoDetail.MaterielCode).FirstLetterToLower(), StringComparison.OrdinalIgnoreCase)
+                                && !string.IsNullOrEmpty(param.Value?.ToString()))
+                            {
+                                string queryValue = param.Value.ToString().Trim();
+                                sugarQueryable = sugarQueryable.Where((detail, item) => detail.MaterielCode.Contains(queryValue));
+                            }
+                            if (param.Name.Equals(nameof(Dt_StockInfoDetail.Status).FirstLetterToLower(), StringComparison.OrdinalIgnoreCase)
+                                && !string.IsNullOrEmpty(param.Value?.ToString()))
+                            {
+                                string queryValue = param.Value.ToString().Trim();
+                                sugarQueryable = sugarQueryable.Where((detail, item) => detail.Status.Equals(queryValue));
+                            }
+                            if (param.Name.Equals(nameof(Dt_StockInfoDetail.WarehouseCode).FirstLetterToLower(), StringComparison.OrdinalIgnoreCase)
+                                && !string.IsNullOrEmpty(param.Value?.ToString()))
+                            {
+                                string queryValue = param.Value.ToString().Trim();
+                                sugarQueryable = sugarQueryable.Where((detail, item) => detail.WarehouseCode.Equals(queryValue));
                             }
                         }
                     }
@@ -88,10 +136,8 @@
                 catch (Exception ex)
                 {
                 }
-            }
-
+            }          
             var data = sugarQueryable
-             .WhereIF(!wheres.IsNullOrEmpty(), wheres)
              .OrderBy(orderByModels)
              .Select((detail, item) => new StockInfoDetailWithPalletDto
              {
@@ -118,7 +164,11 @@
                  CreateDate = detail.CreateDate,
                  Modifier = detail.Modifier,
                  ModifyDate = detail.ModifyDate,
-                 PalletCode = item.PalletCode
+                 PalletCode = item.PalletCode,
+                 LocationCode = item.LocationCode,
+                 ValidDate = detail.ValidDate,
+
+
              })
              .ToPageList(options.Page, options.Rows, ref totalCount);
 
@@ -127,6 +177,27 @@
 
         }
 
+
+        public async Task<WebResponseContent> LockOrUpLockStockDetail(SaveModel saveModel)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                var details = await BaseDal.QueryDataAsync(x => saveModel.DelKeys.Contains(x.Id));
+
+                bool flag = Convert.ToBoolean(saveModel.Extra);
+
+                details.ForEach(x => x.Status = flag ? StockStatusEmun.鎵嬪姩鍐荤粨.ObjToInt(): StockStatusEmun.鎵嬪姩瑙i攣.ObjToInt());
+
+                await BaseDal.UpdateDataAsync(details);
+
+                return content.OK(flag ? "鍐荤粨鎴愬姛!" : "瑙i攣鎴愬姛!");
+            }
+            catch (Exception ex)
+            {
+                return content.Error(ex.Message);
+            }
+        }
     }
 }
 

--
Gitblit v1.9.3