From 1e12c140c041c0cb52306a0db9ff0ba18354d0d8 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 03 四月 2025 18:01:52 +0800
Subject: [PATCH] 优化WMS前端首页,货位查询column数据库关键字处理
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Base/StockViewService.cs | 82 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 81 insertions(+), 1 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Base/StockViewService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Base/StockViewService.cs"
index dc8ce5c..b13506a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Base/StockViewService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Base/StockViewService.cs"
@@ -1,4 +1,5 @@
锘�
+using MailKit.Search;
using Microsoft.AspNetCore.Http;
using SqlSugar;
using System;
@@ -9,6 +10,7 @@
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Common;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
@@ -16,6 +18,7 @@
using WIDESEA_Core.Helper;
using WIDESEA_Core.Utilities;
using WIDESEA_DTO.Stock;
+using WIDESEA_IBasicRepository;
using WIDESEA_IStockRepository;
using WIDESEA_IStockService;
using WIDESEA_Model.Models;
@@ -25,12 +28,14 @@
public partial class StockViewService : IStockViewService
{
private readonly IUnitOfWorkManage _unitOfWorkManage;
+ private readonly IStockRepository _stockRepository;
private readonly SqlSugarClient _dbBase;
- public StockViewService(IUnitOfWorkManage unitOfWorkManage)
+ public StockViewService(IUnitOfWorkManage unitOfWorkManage, IStockRepository stockRepository)
{
_unitOfWorkManage = unitOfWorkManage;
_dbBase = unitOfWorkManage.GetDbClient();
+ _stockRepository = stockRepository;
}
public virtual PageGridData<StockViewDTO> GetPageData(PageDataOptions options)
@@ -163,6 +168,81 @@
}
+ public virtual WebResponseContent GetLocationStockView(int Layer)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ List<LocationStockView> locationStockViews = new List<LocationStockView>();
+ ISugarQueryable<Dt_LocationInfo> sugarQueryable = _dbBase.Queryable<Dt_LocationInfo>();
+ List<Dt_LocationInfo> dt_LocationInfos = sugarQueryable.ToList();
+
+ ISugarQueryable<Dt_StockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_StockInfo>().Where(x => dt_LocationInfos.Select(x => x.LocationCode).ToList().Contains(x.LocationCode)).Includes(x => x.Details);
+ List<Dt_StockInfo> StockInfos = sugarQueryable1.OrderBy(x => x.InDate).ToList();
+ foreach (var dt_LocationInfo in dt_LocationInfos)
+ {
+ LocationStockView locationStockView = new LocationStockView()
+ {
+ AreaId = dt_LocationInfo.AreaId,
+ Column = dt_LocationInfo.Column,
+ Depth = dt_LocationInfo.Depth,
+ EnalbeStatus = dt_LocationInfo.EnableStatus,
+ Layer = dt_LocationInfo.Layer,
+ LocationCode = dt_LocationInfo.LocationCode,
+ LocationName = dt_LocationInfo.LocationName,
+ LocationStatus = dt_LocationInfo.LocationStatus,
+ LocationType = dt_LocationInfo.LocationType,
+ RoadwayNo = dt_LocationInfo.RoadwayNo,
+ Row = dt_LocationInfo.Row
+ };
+ List<Dt_StockInfo> dt_StockInfos = StockInfos.Where(x => x.LocationCode == dt_LocationInfo.LocationCode).ToList();
+ if (dt_StockInfos.Count > 0 && dt_StockInfos != null)
+ {
+ locationStockView.BatchNo = dt_StockInfos.First().Details.First().BatchNo;
+ locationStockView.InDate = dt_StockInfos.First().InDate;
+ locationStockView.MaterielCode = dt_StockInfos.First().Details.First().MaterielCode;
+ locationStockView.MaterielName = dt_StockInfos.First().Details.First().MaterielName;
+ locationStockView.OrderNo = dt_StockInfos.First().Details.First().OrderNo;
+ locationStockView.PalletCode = string.Join(",", dt_StockInfos.Select(x => x.PalletCode).ToList());
+ locationStockView.Quantity = dt_StockInfos.Count;
+ }
+ locationStockViews.Add(locationStockView);
+ }
+ if (locationStockViews.Count > 0)
+ {
+ #region MyRegion
+ List<LocationLayer> layers = new List<LocationLayer>();
+ foreach (var layer in locationStockViews.GroupBy(x => x.Layer))
+ {
+ var rows = new List<LocationRow>();
+ var data_rows = layer.GroupBy(t => t.Row);
+ foreach (var data_row in data_rows)
+ {
+ rows.Add(new LocationRow()
+ {
+ index = data_row.Key,
+ cols = data_row.OrderBy(x => x.Column).ToList()
+ });
+ }
+ //rows=rows.OrderBy(x=>x.index).ToList();
+ layers.Add(new LocationLayer()
+ {
+ index = layer.Key,
+ rows = rows
+ });
+ }
+ #endregion
+ layers = layers.OrderBy(x => x.index).ToList();
+ content.OK(data: layers);
+ }
+ }
+ catch (Exception ex)
+ {
+ content.Error(ex.Message);
+ }
+ return content;
+ }
+
public virtual object GetDetailPage(PageDataOptions pageData)
{
Type t = typeof(StockViewDTO);
--
Gitblit v1.9.3