dengjunjie
2025-04-19 9e579eda4601ed7b492b9d19a24e8146f6ebdf8d
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Base/StockViewService.cs
@@ -42,113 +42,58 @@
        {
            #region MyRegion
            //try
            //{
            //    List<StockViewDTO> stockViewDTOs = new List<StockViewDTO>();
            //    string where = string.Empty;
            //    ISugarQueryable<Dt_StockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_StockInfo>().Includes(x => x.Details);
            //    if (!string.IsNullOrEmpty(options.Wheres))
            //    {
            //        try
            //        {
            //            List<SearchParameters> searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>();
            //            if (searchParametersList.Count > 0)
            //            {
            //                {
            //                    SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.MaterielCode).FirstLetterToLower());
            //                    if (searchParameters != null)
            //                    {
            //                        sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.MaterielCode.Contains(searchParameters.Value)));
            //                    }
            //                }
            //                {
            //                    SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.BatchNo).FirstLetterToLower());
            //                    if (searchParameters != null)
            //                    {
            //                        sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.BatchNo.Contains(searchParameters.Value)));
            //                    }
            //                }
            //            }
            //        }
            //        catch { }
            //    }
            //    //string whereSto = GetDataRole(typeof(Dt_StockInfo));
            //    //sugarQueryable1 = sugarQueryable1.Where(whereSto);
            //    EntityProperties.ValidatePageOptions(options, ref sugarQueryable1);
            //    //string whereLo = GetDataRole(typeof(Dt_LocationInfo));
            //    //ISugarQueryable<Dt_LocationInfo> sugarQueryable = _dbBase.Queryable<Dt_LocationInfo>().Where(whereLo);
            //    //EntityProperties.ValidatePageOptions(options, ref sugarQueryable);
            //    ISugarQueryable<StockViewDTO> list = sugarQueryable1.InnerJoin(sugarQueryable, (b, a) => a.LocationCode == b.LocationCode).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,
            //        });
            //    int totalCount = 0;
            //    stockViewDTOs = list.ToPageList(options.Page, options.Rows, ref totalCount);
            //    return new PageGridData<StockViewDTO>(totalCount, stockViewDTOs);
            //}
            //catch (Exception ex)
            //{
            //    return new PageGridData<StockViewDTO>();
            //}
            #endregion
            #region MyRegion
            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>();
            List<StockViewDTO> list = sugarQueryable1.InnerJoin(sugarQueryable, (b, a) => a.LocationCode == b.LocationCode).WhereIF(!string.IsNullOrEmpty(where), where).Select((b, a) => new StockViewDTO
            try
            {
                AreaId = a.AreaId,
                List<StockViewDTO> stockViewDTOs = new List<StockViewDTO>();
                string where = string.Empty;
                ISugarQueryable<Dt_StockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_StockInfo>().Includes(x => x.Details);
                if (!string.IsNullOrEmpty(options.Wheres))
                {
                    try
                    {
                        List<SearchParameters> searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>();
                        if (searchParametersList.Count > 0)
                        {
                            {
                                SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.MaterielCode).FirstLetterToLower());
                                if (searchParameters != null)
                                {
                                    sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.MaterielCode.Contains(searchParameters.Value)));
                                }
                            }
                            {
                                SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.BatchNo).FirstLetterToLower());
                                if (searchParameters != null)
                                {
                                    sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.BatchNo.Contains(searchParameters.Value)));
                                }
                            }
                        }
                    }
                    catch { }
                }
                //string whereSto = GetDataRole(typeof(Dt_StockInfo));
                sugarQueryable1 = sugarQueryable1.Where("1 = 1");
                EntityProperties.ValidatePageOptions(options, ref sugarQueryable1);
                //string whereLo = GetDataRole(typeof(Dt_LocationInfo));
                ISugarQueryable<Dt_LocationInfo> sugarQueryable = _dbBase.Queryable<Dt_LocationInfo>().Where("1 = 1");
                EntityProperties.ValidatePageOptions(options, ref sugarQueryable);
                ISugarQueryable<StockViewDTO> list = sugarQueryable1.InnerJoin(sugarQueryable, (b, a) => a.LocationCode == b.LocationCode).Select((b, a)
                    => new StockViewDTO
                    {
                LocationCode = b.LocationCode,
                Column = a.Column,
                CreateDate = b.CreateDate,
                Creater = b.Creater,
                Depth = a.Depth,
                EnalbeStatus = a.EnableStatus,
                IsFull = b.IsFull,
                Layer = a.Layer,
                LocationName = a.LocationName,
                LocationStatus = a.LocationStatus,
@@ -162,8 +107,63 @@
                StockId = b.Id,
                StockStatus = b.StockStatus,
                Details = b.Details,
            }).ToPageList(options.Page, options.Rows, ref totalCount);
            return new PageGridData<StockViewDTO>(totalCount, list);
                    });
                int totalCount = 0;
                stockViewDTOs = list.ToPageList(options.Page, options.Rows, ref totalCount);
                return new PageGridData<StockViewDTO>(totalCount, stockViewDTOs);
            }
            catch (Exception ex)
            {
                return new PageGridData<StockViewDTO>();
            }
            #endregion
            #region MyRegion
            //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>();
            //List<StockViewDTO> list = sugarQueryable1.InnerJoin(sugarQueryable, (b, a) => a.LocationCode == b.LocationCode).WhereIF(!string.IsNullOrEmpty(where), where).Select((b, a) => new StockViewDTO
            //{
            //    AreaId = a.AreaId,
            //    LocationCode = b.LocationCode,
            //    Column = a.Column,
            //    CreateDate = b.CreateDate,
            //    Creater = b.Creater,
            //    Depth = a.Depth,
            //    EnalbeStatus = a.EnableStatus,
            //    IsFull = b.IsFull,
            //    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);
            #endregion
        }