From 67348f250a1b7970059698002949a5e0a5f3c52f Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期四, 14 八月 2025 08:51:04 +0800 Subject: [PATCH] 上传最新代码 --- 项目代码/WMS/WMSServices/WIDESEA_StockService/StockViewService.cs | 329 ------------------------------------------------------ 1 files changed, 0 insertions(+), 329 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/StockViewService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/StockViewService.cs" index 58a7512..193f9c3 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/StockViewService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/StockViewService.cs" @@ -41,334 +41,5 @@ _unitOfWorkManage = unitOfWorkManage; _dbBase = unitOfWorkManage.GetDbClient(); } - - public virtual PageGridData<StockViewDTO> GetPageData(PageDataOptions options) - { - 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, - WarehouseId = b.WarehouseId, - 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, - }); - - var pklist = sugarQueryable1.Where(b => b.LocationCode == "骞冲簱浣�").Select(b => new StockViewDTO - { - LocationCode = b.LocationCode, - Column = 0, - WarehouseId = b.WarehouseId, - CreateDate = b.CreateDate, - Creater = b.Creater, - Depth = 0, - EnalbeStatus = EnableStatusEnum.Normal.ObjToInt(), - Layer = 0, - LocationName = "骞冲簱浣�", - LocationStatus = LocationStatusEnum.InStock.ObjToInt(), - LocationType = LocationTypeEnum.Undefined.ObjToInt(), - Modifier = b.Modifier, - ModifyDate = b.ModifyDate, - PalletCode = b.PalletCode, - StockRemark = b.Remark, - RoadwayNo = "骞冲簱", - Row = 0, - StockId = b.Id, - StockStatus = b.StockStatus, - Details = b.Details, - }); - - int totalCount = 0; - int pktotalCount = 0; - - stockViewDTOs = list.ToPageList(options.Page, options.Rows, ref totalCount); - stockViewDTOs.AddRange(pklist.ToPageList(options.Page, options.Rows, ref pktotalCount)); - - stockViewDTOs.ForEach(x => - { - x.MaterielCode = string.Join(",", x.Details.Select(x => x.MaterielCode).Distinct()); - x.BatchNo = string.Join(",", x.Details.Select(x => x.BatchNo).Distinct()); - x.MaterielSpec = x.Details.FirstOrDefault()?.MaterielSpec ?? ""; - x.MaterielName = x.Details.FirstOrDefault()?.MaterielName ?? ""; - } - ); - return new PageGridData<StockViewDTO>(totalCount + pktotalCount, stockViewDTOs); - } - catch (Exception ex) - { - - } - return new PageGridData<StockViewDTO>(); - } - - public virtual object GetDetailPage(PageDataOptions pageData) - { - Type t = typeof(StockViewDTO); - - 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); - 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<Dt_StockInfoDetail> list = _dbBase.Queryable<Dt_StockInfoDetail>().Where(navigate.GetName(), "=", pageData.Value).ToPageList(pageData.Page, pageData.Rows, ref totalCount); - decimal sum = 0; - list.ForEach(x => - { - sum += Convert.ToDecimal(x.StockQuantity); - }); - PageGridData<Dt_StockInfoDetail> pageGridData = new PageGridData<Dt_StockInfoDetail>() - { - Total = totalCount, - Rows = list, - Summary = new - { - StockQuantity = Math.Round(sum, 3), - } - }; - return pageGridData; - } - } - return new PageGridData<object>(total: 0, null); - } - public virtual WebResponseContent Export(PageDataOptions options) - { - WebResponseContent content = new WebResponseContent(); - try - { - Type t = typeof(StockViewDTO); - - string savePath = AppDomain.CurrentDomain.BaseDirectory + $"ExcelExport"; - IExporter exporter = new ExcelExporter(); - options.Page = 1; - options.Rows = 30; - options.Order = "desc"; - options.Sort = "stockId"; - 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, - WarehouseId = b.WarehouseId, - 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, - }); - - var pklist = sugarQueryable1.Where(b => b.LocationCode == "骞冲簱浣�").Select(b => new StockViewDTO - { - LocationCode = b.LocationCode, - Column = 0, - WarehouseId = b.WarehouseId, - CreateDate = b.CreateDate, - Creater = b.Creater, - Depth = 0, - EnalbeStatus = EnableStatusEnum.Normal.ObjToInt(), - Layer = 0, - LocationName = "骞冲簱浣�", - LocationStatus = LocationStatusEnum.InStock.ObjToInt(), - LocationType = LocationTypeEnum.Undefined.ObjToInt(), - Modifier = b.Modifier, - ModifyDate = b.ModifyDate, - PalletCode = b.PalletCode, - StockRemark = b.Remark, - RoadwayNo = "骞冲簱", - Row = 0, - StockId = b.Id, - StockStatus = b.StockStatus, - Details = b.Details, - }); - stockViewDTOs = list.ToList(); - stockViewDTOs.AddRange(pklist.ToList()); - stockViewDTOs.ForEach(x => - { - x.MaterielCode = (string.Join(",", x.Details.Select(x => x.MaterielCode).Distinct())) ?? "绌虹"; - x.BatchNo = (string.Join(",", x.Details.Select(x => x.BatchNo).Distinct())) ?? "鏃�"; - x.StockCounts = Math.Round(x.Details.Sum(x => x.StockQuantity),3).ToString() + x.Details.FirstOrDefault()?.Unit; - x.MaterielSpec= x.Details.FirstOrDefault()?.MaterielSpec ?? ""; - x.MaterielName= x.Details.FirstOrDefault()?.MaterielName ?? ""; - } - ); - - byte[] data = exporter.ExportAsByteArray(stockViewDTOs).Result; - - string fileName = "搴撳瓨瑙嗗浘.xlsx"; - - FileHelper.WriteFile(savePath, fileName, data); - - content = WebResponseContent.Instance.OK(data: savePath + "\\" + fileName); - } - catch (Exception ex) - { - content = WebResponseContent.Instance.Error(ex.Message); - } - return content; - } - private string GetDataRole(Type type) - { - try - { - UserRole? userRole = PermissionDataHostService.UserRoles.FirstOrDefault(x => x.UserId == App.User.UserId); - if (userRole == null) - throw new Exception($"鏃犳潈闄�"); - - if (type.IsAssignableFrom(typeof(BaseWarehouseEntity)) || type.GetProperty(nameof(BaseWarehouseEntity.WarehouseId)) != null) - { - if (userRole.WarehouseIds.Count > 0) - { - return $"{nameof(BaseWarehouseEntity.WarehouseId)} in ({userRole.WarehouseIds.Serialize().Replace("[", "").Replace("]", "")})"; - } - - else - return $"1 != 1"; - } - else - { - return "1 = 1"; - } - - //UserRole? userRole = PermissionDataHostService.UserRoles.FirstOrDefault(x => x.UserId == App.User.UserId); - //if (userRole == null) - // throw new Exception($"鏃犳潈闄�"); - - //if (userRole.AuthorityScope == (int)AuthorityScopeEnum.CurrentRole) - //{ - // List<int> userId = PermissionDataHostService.UserRoles.Where(x => x.RoleId == userRole.RoleId).Select(x => x.UserId).ToList(); - // return $"creater in ({userId.Serialize()})"; - //} - //else if (userRole.AuthorityScope == (int)AuthorityScopeEnum.OnlySelf) - //{ - // return $"creater = '{userRole.UserName}'"; - //} - //else if (userRole.AuthorityScope == (int)AuthorityScopeEnum.None) - //{ - // return $"1 != 1"; - //} - //return ""; - } - catch (Exception ex) - { - throw new Exception($"鏃犳潈闄愶紝{ex.Message}"); - } - } } } -- Gitblit v1.9.3