From c6e8b600398de38b6684f5fa1eaaaade8562859b Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期六, 20 九月 2025 15:16:56 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhiHuiQiCe/LongDeLiLiKu
---
项目代码/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