1 year ago
parent 128328fc69
commit d84c6017da

@ -1313,6 +1313,46 @@
</Grid>
</Grid>
</TabItem>
<TabItem Header="库位状态" Background="#213269"
Style="{StaticResource DefaultItem}" Foreground="White"
FontSize="25" Width="160" Height="80" VerticalAlignment="Top" HorizontalAlignment="Center">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="10 0 0 0">
<ComboBox x:Name="WareHouseId">
<ComboBoxItem Content="二楼仓库" Tag="2" IsSelected="True"/>
<ComboBoxItem Content="三楼仓库" Tag="3"/>
<ComboBoxItem Content="五楼仓库" Tag="5"/>
</ComboBox>
<Button Content="刷新" Foreground="White" Height="50" Margin="5" FontSize="25" Width="132" Click="Refulsh_Click">
<Button.Template >
<ControlTemplate TargetType="{x:Type Button}" >
<Border BorderBrush="{TemplateBinding Control.BorderBrush}" BorderThickness="1" CornerRadius="4,4,4,4">
<Border.Background>#346DFF</Border.Background>
<ContentPresenter Content="{TemplateBinding ContentControl.Content}" HorizontalAlignment="Center" VerticalAlignment="Center" ></ContentPresenter>
</Border>
</ControlTemplate>
</Button.Template>
</Button>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="900 0 0 0">
<Rectangle Width="50" Height="50" Fill="#75F76D" />
<TextBlock Text=" 有库存" FontSize="30"/>
</StackPanel>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="30 0 0 0">
<Rectangle Width="50" Height="50" Fill="#4789AE" />
<TextBlock Text=" 空库位" FontSize="30"/>
</StackPanel>
</StackPanel>
<Grid Grid.Row="1" x:Name="LocaltionGrid">
</Grid>
</Grid>
</TabItem>
<!--<TabItem Header="指令管理" Foreground="White" FontSize="25" Width="160" Height="100" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="5" >
<StackPanel
x:Name="UpperStart"

@ -33,6 +33,7 @@ using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Media3D;
using System.Windows.Threading;
using Z.EntityFramework.Plus;
@ -112,8 +113,8 @@ namespace Khd.Core.Wpf.Form
// public static int WeekNo = CommonHelper.WeekOfYear(DateTime.Now, new System.Globalization.CultureInfo("zh-CN"));
public FormBoardT(IHost host)
{
InitializeComponent();
this._host = host;
InitializeComponent();
InventoryMaterialWindow.RefreshInventoryListEvent += GetInvertoryData;
}
/// <summary>
@ -125,6 +126,7 @@ namespace Khd.Core.Wpf.Form
{
CheckVersion();
InitializeData(1);
Refulsh_Click(null,null);
foreach (var item in this.TabControl.Items)
{
if (item is TabItem tabItem)
@ -5003,6 +5005,97 @@ namespace Khd.Core.Wpf.Form
MessageBox.Show($"取消预调度失败!");
}
}
private void Refulsh_Click(object sender, RoutedEventArgs e)
{
try
{
var wareHouse = WareHouseId.SelectionBoxItem.ToString();
var warehouseId = new List<long>();
if (wareHouse == "二楼仓库")
{
warehouseId.Add(231);
}
else if (wareHouse == "三楼仓库")
{
warehouseId.Add(311);
}
else if (wareHouse == "五楼仓库")
{
warehouseId.Add(511);
warehouseId.Add(521);
warehouseId.Add(531);
}
var scope = _host.Services.CreateScope();
var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
var wmsBaseLocations = dbContext.WmsBaseLocation.Where(t => warehouseId.Contains(t.warehouseId)).ToList();
loadLocations(wmsBaseLocations);
}
catch
{
}
}
private void loadLocations(List<WmsBaseLocation> wmsBaseLocations)
{
Dispatcher.Invoke(() =>
{
this.LocaltionGrid.Children.Clear();
this.LocaltionGrid.RowDefinitions.Clear();
this.LocaltionGrid.ColumnDefinitions.Clear();
List<long> list = wmsBaseLocations.Select(t => t.warehouseId).Distinct().ToList();
for (var i = 0; i < list.Count; i++)
{
this.LocaltionGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1.0, GridUnitType.Star) });
var grid = new Grid();
List<WmsBaseLocation> locations = wmsBaseLocations.Where(t => t.warehouseId == list[i]).ToList();
var row = locations.Max(t => t.locRow);
var column = locations.Max(t => t.locColumn);
for (var j = 0; j < row; j++)
{
grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1.0, GridUnitType.Star) });
}
for (var j = 0; j < column; j++)
{
grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1.0, GridUnitType.Star) });
}
foreach (var location in locations)
{
var button = new Button()
{
Name = $"Location{location.locationCode}",
Content = location.locationCode,
Width = 50,
Height = 50,
Margin = new Thickness(5, 5, 5, 5),
Tag=location.locationId,
Background = string.IsNullOrEmpty(location.containerCode) ? new SolidColorBrush((Color)ColorConverter.ConvertFromString("#4789AE")) : new SolidColorBrush((Color)ColorConverter.ConvertFromString("#75F76D"))
};
button.Click += OnLocationButton_Click;
Grid.SetColumn(button, location.locColumn.Value - 1);
Grid.SetRow(button, -(location.locRow.Value - row.Value));
grid.Children.Add(button);
}
Grid.SetRow(grid, i);
this.LocaltionGrid.Children.Add(grid);
}
});
}
private void OnLocationButton_Click(object sender, RoutedEventArgs e)
{
if (sender is Button button)
{
if (button.Tag is long locationId)
{
StockWindow stockWindow = new StockWindow(_host,locationId);
stockWindow.ShowDialog();
}
}
}
}
}

@ -25,7 +25,7 @@ namespace Khd.Core.Wpf.WindowPage
public partial class StockWindow : Window
{
private IHost host = null;
public StockWindow(IHost _host,long locationId)
public StockWindow(IHost _host, long locationId)
{
host = _host;
InitializeComponent();
@ -42,34 +42,67 @@ namespace Khd.Core.Wpf.WindowPage
positionLayerTxt.Text = location.layerNum.ToString();
locationTxt.Text = location.locationCode;
palletTxt.Text = location.containerCode;
var stockList = await dbContext.WmsRawStock.Where(x => x.palletInfoCode == location.containerCode).ToListAsync();
if(stockList != null && stockList.Count > 0)
if (location.warehouseId == 512 || location.warehouseId == 311 || location.warehouseId == 511)
{
// 获取所有库存物料 ID
var materialIds = stockList.Select(stock => stock.materialId).Distinct().ToList();
var materialInfos = await dbContext.MesBaseMaterialInfo
.Where(material => materialIds.Contains(material.MaterialId))
.ToListAsync();
// 将库存物料信息和物料详细信息合并
var stockDetails = from stock in stockList
from material in materialInfos
where stock.materialId == material.MaterialId
select new
{
materialCode = material.MaterialCode,
materialName = material.MaterialName,
materialSpec = material.MaterialSpec,
totalAmount = stock.totalAmount,
frozenAmount = stock.frozenAmount
};
StockDataGrid.ItemsSource = stockDetails;
var stockList = await dbContext.WmsRawStock.Where(x => x.palletInfoCode == location.containerCode).ToListAsync();
if (stockList != null && stockList.Count > 0)
{
// 获取所有库存物料 ID
var materialIds = stockList.Select(stock => stock.materialId).Distinct().ToList();
var materialInfos = await dbContext.MesBaseMaterialInfo
.Where(material => materialIds.Contains(material.MaterialId))
.ToListAsync();
// 将库存物料信息和物料详细信息合并
var stockDetails = from stock in stockList
from material in materialInfos
where stock.materialId == material.MaterialId
select new
{
materialCode = material.MaterialCode,
materialName = material.MaterialName,
materialSpec = material.MaterialSpec,
totalAmount = stock.totalAmount,
frozenAmount = stock.frozenAmount
};
StockDataGrid.ItemsSource = stockDetails;
}
}
else
{
var stockList = await dbContext.WmsProductStock.Where(x => x.palletInfoCode == location.containerCode && x.palletInfoCode != null).ToListAsync();
if (stockList != null && stockList.Count > 0)
{
// 获取所有库存物料 ID
var materialIds = stockList.Select(stock => stock.productId).Distinct().ToList();
var materialInfos = await dbContext.MesBaseMaterialInfo
.Where(material => materialIds.Contains(material.MaterialId))
.ToListAsync();
// 将库存物料信息和物料详细信息合并
var stockDetails = from stock in stockList
from material in materialInfos
where stock.productId == material.MaterialId
select new
{
materialCode = material.MaterialCode,
materialName = material.MaterialName,
materialSpec = material.MaterialSpec,
totalAmount = stock.totalAmount,
frozenAmount = stock.frozenAmount
};
StockDataGrid.ItemsSource = stockDetails;
}
}
}
}
}

Loading…
Cancel
Save