From c1aabd3aaa92b072591fc368d81ab2cc37a0aa14 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期五, 27 三月 2026 17:33:25 +0800
Subject: [PATCH] 路由变更

---
 Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs |  108 ++++++++++++++++++++++-------------------------------
 1 files changed, 45 insertions(+), 63 deletions(-)

diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs b/Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs
index 7f7fcea..586a8a3 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs
@@ -1,13 +1,10 @@
 锘縰sing SqlSugar;
 using System.Dynamic;
 using System.Reflection;
-using WIDESEA_Common.LocationEnum;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.DB.Models;
 using WIDESEA_Core.Helper;
-//using WIDESEA_Core.HostedService;
-using WIDESEA_Core.Utilities;
 using WIDESEA_DTO.Stock;
 using WIDESEA_IStockService;
 using WIDESEA_Model.Models;
@@ -16,86 +13,71 @@
 {
     public partial class StockViewService : IStockViewService
     {
-        private readonly IUnitOfWorkManage _unitOfWorkManage;
         private readonly SqlSugarClient _dbBase;
 
         public StockViewService(IUnitOfWorkManage unitOfWorkManage)
         {
-            _unitOfWorkManage = unitOfWorkManage;
             _dbBase = unitOfWorkManage.GetDbClient();
         }
 
         public virtual PageGridData<StockViewDTO> GetPageData(PageDataOptions options)
         {
             string where = options.ValidatePageOptions(typeof(StockViewDTO).GetProperties());
-            //鑾峰彇鎺掑簭瀛楁
-            //Dictionary<string, OrderByType> orderbyDic = options.GetPageDataSort(typeof(StockViewDTO).GetProperties());
-            //List<OrderByModel> orderByModels = new List<OrderByModel>();
-            //foreach (var item in orderbyDic)
-            //{
-            //    OrderByModel orderByModel = new OrderByModel()
-            //    {
-            //        FieldName = item.Key,
-            //        OrderByType = item.Value
-            //    };
-            //    orderByModels.Add(orderByModel);
-            //}
             int totalCount = 0;
 
-            ISugarQueryable<Dt_StockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_StockInfo>();
-            ISugarQueryable<Dt_LocationInfo> sugarQueryable = _dbBase.Queryable<Dt_LocationInfo>();
-            ISugarQueryable<Dt_StockInfoDetail> sugarQueryable2 = _dbBase.Queryable<Dt_StockInfoDetail>();
-
-
-            List<StockViewDTO> list = sugarQueryable1.InnerJoin(sugarQueryable, (b, a) => a.LocationCode == b.LocationCode).WhereIF(!string.IsNullOrEmpty(where), where).Select((b, a) => new StockViewDTO
-            {
-                LocationCode = b.LocationCode,
-                Column = a.Column,
-                CreateDate = b.CreateDate,
-                Creater = b.Creater,
-                Depth = a.Depth,
-                EnalbeStatus = a.EnableStatus,
-                Layer = a.Layer,
-                LocationName = a.LocationName,
-                LocationStatus = a.LocationStatus,
-                LocationType = a.LocationType,
-                Modifier = b.Modifier,
-                ModifyDate = b.ModifyDate,
-                PalletCode = b.PalletCode,
-                StockRemark = b.Remark,
-                RoadwayNo = a.RoadwayNo,
-                Row = a.Row,
-                StockId = b.Id,
-                StockStatus = b.StockStatus,
-                Details = b.Details,
-            }).ToPageList(options.Page, options.Rows, ref totalCount);
-
+            var list = _dbBase.Queryable<Dt_StockInfo>()
+                .InnerJoin<Dt_LocationInfo>((b, a) => a.LocationCode == b.LocationCode)
+                .WhereIF(!string.IsNullOrEmpty(where), where)
+                .Select((b, a) => new StockViewDTO
+                {
+                    LocationCode = b.LocationCode,
+                    Column = a.Column,
+                    CreateDate = b.CreateDate,
+                    Creater = b.Creater,
+                    Depth = a.Depth,
+                    EnableStatus = a.EnableStatus,
+                    Layer = a.Layer,
+                    LocationName = a.LocationName,
+                    LocationStatus = a.LocationStatus,
+                    LocationType = a.LocationType,
+                    Modifier = b.Modifier,
+                    ModifyDate = b.ModifyDate,
+                    PalletCode = b.PalletCode,
+                    StockRemark = b.Remark,
+                    RoadwayNo = a.RoadwayNo,
+                    Row = a.Row,
+                    StockId = b.Id,
+                    StockStatus = b.StockStatus,
+                    Details = b.Details,
+                })
+                .ToPageList(options.Page, options.Rows, ref totalCount);
 
             return new PageGridData<StockViewDTO>(totalCount, list);
-
         }
 
         public virtual object GetDetailPage(PageDataOptions pageData)
         {
-            Type t = typeof(StockViewDTO);
+            if (pageData.Value == null)
+                return new PageGridData<object>(total: 0, null);
 
-            if (pageData.Value == null) return new PageGridData<object>(total: 0, null);
-            string keyName = t.GetKeyName();
-            ////鐢熸垚鏌ヨ鏉′欢
-            //Expression<Func<TEntity, bool>> whereExpression = keyName.CreateExpression<TEntity>(pageData.Value, LinqExpressionType.Equal);
+            var propertyInfo = typeof(StockViewDTO).GetProperties()
+                .FirstOrDefault(x => x.GetCustomAttribute<Navigate>() != null);
+
+            if (propertyInfo == null)
+                return new PageGridData<object>(total: 0, null);
+
+            var detailType = propertyInfo.PropertyType.GetGenericArguments()[0];
+            var navigate = propertyInfo.GetCustomAttribute<Navigate>();
+
+            if (navigate == null)
+                return new PageGridData<object>(total: 0, null);
+
             int totalCount = 0;
-            PropertyInfo? propertyInfo = t.GetProperties().FirstOrDefault(x => x.GetCustomAttribute<Navigate>() != null);
-            if (propertyInfo != null)
-            {
-                Type detailType = propertyInfo.PropertyType.GetGenericArguments()[0];
-                Navigate? navigate = propertyInfo.GetCustomAttribute<Navigate>();
-                if (navigate != null)
-                {
-                    List<ExpandoObject> list = _dbBase.Queryable(detailType.Name, "detail").Where(navigate.GetName(), "=", pageData.Value).ToPageList(pageData.Page, pageData.Rows, ref totalCount);
-                    return new PageGridData<ExpandoObject>(totalCount, list);
-                }
-            }
-            return new PageGridData<object>(total: 0, null);
+            var list = _dbBase.Queryable(detailType.Name, "detail")
+                .Where(navigate.GetName(), "=", pageData.Value)
+                .ToPageList(pageData.Page, pageData.Rows, ref totalCount);
+
+            return new PageGridData<ExpandoObject>(totalCount, list);
         }
     }
 }

--
Gitblit v1.9.3