刘磊
2025-08-15 baad30699918c536d0b96e36df70b8f352d520e4
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/Dt_PalletStockInfoService.cs
@@ -37,6 +37,10 @@
                locationInfos.Add(location);
            }
            var hty = BaseDal.Db.InsertNav(Dt_PalletStockInfos)
               .Include(x => x.StockInfoDetails)
               .ExecuteCommand();
            var locationd = SqlSugarHelper.DbWMS.Updateable(locationInfos).ExecuteCommandHasChange();
            return base.DeleteData(keys);
        }
@@ -45,4 +49,51 @@
            return WebResponseContent.Instance.Error(ex.Message);
        }
    }
    public override PageGridData<Dt_PalletStockInfo> GetPageData(PageDataOptions options)
    {
        string wheres = ValidatePageOptions(options);
        //鑾峰彇鎺掑簭瀛楁
        Dictionary<string, SqlSugar.OrderByType> orderbyDic = GetPageDataSort(options, TProperties);
        List<OrderByModel> orderByModels = new List<OrderByModel>();
        foreach (var item in orderbyDic)
        {
            OrderByModel orderByModel = new()
            {
                FieldName = item.Key,
                OrderByType = item.Value
            };
            orderByModels.Add(orderByModel);
        }
        int totalCount = 0;
        List<SearchParameters> searchParametersList = new List<SearchParameters>();
        if (!string.IsNullOrEmpty(options.Wheres))
        {
            try
            {
                searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>();
                options.Filter = searchParametersList;
            }
            catch { }
        }
        Expression<Func<Dt_PalletStockInfo, bool>> materielName = null;
        foreach (var item in searchParametersList)
        {
            if (item.Name.Contains("materielName"))
            {
                materielName = x => x.StockInfoDetails.Any(d => d.MaterielName.Contains(item.Value));
            }
        }
        //.IncludesAllFirstLayer()
        var data = BaseDal.Db.Queryable<Dt_PalletStockInfo>()
            .Includes(x => x.StockInfoDetails)
            .WhereIF(!wheres.IsNullOrEmpty(), wheres)
            .WhereIF(materielName != null, materielName)
            .OrderBy(orderByModels)
            .ToPageList(options.Page, options.Rows, ref totalCount);
        new PageGridData<Dt_PalletStockInfo>(totalCount, data);
        return new PageGridData<Dt_PalletStockInfo>(totalCount, data);
    }
}