change-添加空板入库处理按钮,优化界面

collectionStore
liuwf 6 months ago
parent 1a6cc4f4dd
commit a8323def75

@ -148,11 +148,20 @@ namespace Aucma.Scada.Business
bool result = false;
try
{
// var shellBomInfo = _bomInfoService.GetChildenBomInfoByMaterialCode(planInfo.materialCode, materialType);
var shellBomInfo = _bomInfoService.GetBomInfoByMaterialCode(planInfo.materialCode);
if (shellBomInfo != null)
BaseBomInfo baseBomInfo = null;
if (appConfig.shellStoreCode == storeCode)
{
materialType = shellBomInfo.materialCode;
baseBomInfo = _bomInfoService.GetBomInfoByMaterialCode(planInfo.materialCode);
}
else
{
baseBomInfo = _bomInfoService.GetChildenBomInfoByMaterialCode(planInfo.materialCode, materialType);
}
if (baseBomInfo != null)
{
materialType = baseBomInfo.materialCode;
List<BaseSpaceDetail> spaceDetails = _spaceDetailService.GetSpaceDetailsByMaterialType(storeCode, materialType);

@ -149,7 +149,7 @@ namespace Aucma.Scada.Business
/// </summary>
/// <param name="storeCode"></param>
/// <param name="materialType"></param>
private void InStore(string materialCode, string scannerIp)
public void InStore(string materialCode, string scannerIp)
{
try
{

@ -117,6 +117,9 @@
<Compile Include="LogInfoControl.xaml.cs">
<DependentUpon>LogInfoControl.xaml</DependentUpon>
</Compile>
<Compile Include="Page\InStoreInfo\NullMaterialWindow.xaml.cs">
<DependentUpon>NullMaterialWindow.xaml</DependentUpon>
</Compile>
<Compile Include="Page\InventoryInfo\InventoryInfoControl.xaml.cs">
<DependentUpon>InventoryInfoControl.xaml</DependentUpon>
</Compile>
@ -199,6 +202,10 @@
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Page Include="Page\InStoreInfo\NullMaterialWindow.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Page\InventoryInfo\InventoryInfoControl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>

@ -235,6 +235,9 @@
<Button Content="查询" Command="{Binding QueryCommand}" Style="{StaticResource BUTTON_AGREE}" Background="#007DFA" BorderBrush="#007DFA" Foreground="White" Margin="20,0,0,0" Height="36" Width="80" FontSize="20"/>
<Button Content="重置" Command="{Binding ResetCommand}" Style="{StaticResource BUTTON_AGREE}" Background="#007DFA" BorderBrush="#007DFA" Foreground="White" Margin="20,0,0,0" Height="36" Width="80" FontSize="20" />
<Button Content="空板入库" Command="{Binding ResetCommand}" Style="{StaticResource BUTTON_AGREE}" Background="#FF9900" BorderBrush="#FF9900" Foreground="White" Height="36" Width="150" FontSize="20" Margin="20 0 0 0" Click="Button_Click" />
</StackPanel>
</Border>
<DataGrid Grid.Row="1" Name="DG" ItemsSource="{Binding InstoreTask}" Background="Transparent"

@ -15,5 +15,11 @@ namespace Aucma.Scada.UI.Page.InStoreInfo
InStoreInfoViewModel inStoreInfoViewModel = new InStoreInfoViewModel();
this.DataContext = inStoreInfoViewModel;
}
private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
{
NullMaterialWindow window = new NullMaterialWindow();
window.ShowDialog();
}
}
}

@ -0,0 +1,98 @@
<Window x:Class="Aucma.Scada.UI.Page.InStoreInfo.NullMaterialWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Aucma.Scada.UI.Page.InStoreInfo"
mc:Ignorable="d" Background="#1152AC" FontFamily="Microsoft YaHei" WindowStartupLocation="CenterScreen"
Title="箱壳空板入库处理" Height="450" Width="800" Name="window" ResizeMode="NoResize" >
<Window.Resources>
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="FontSize" Value="20"/>
</Style>
<Style TargetType="DataGrid">
<!--网格线颜色-->
<Setter Property="CanUserResizeColumns" Value="false"/>
<Setter Property="Background" Value="#1152AC" />
<Setter Property="BorderBrush" Value="#4285DE" />
<Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#4285DE"/>
</Setter.Value>
</Setter>
<Setter Property="VerticalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#1152AC"/>
</Setter.Value>
</Setter>
</Style>
<!--列头标题栏样式-->
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#4285DE" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<!--单元格样式-->
<Style TargetType="DataGridCell">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="BorderBrush" Value="#4285DE" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}" >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#4285DE"/>
<!--<Setter Property="Foreground" Value="#dddddd"/>-->
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Border Margin="5" Background="#1152AC" CornerRadius="10">
<Border.Effect>
<DropShadowEffect Color="Gray" ShadowDepth="0" BlurRadius="5" Opacity="0.3" Direction="0"></DropShadowEffect>
</Border.Effect>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="4*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="CadetBlue" BorderThickness="0">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="20,0,0,0">
<TextBlock Text="空板数量" VerticalAlignment="Center" Foreground="#FFFFFF" FontSize="25" />
<TextBox x:Name="NullAmount" Style="{StaticResource TextBoxStyle}" Width="110" Height="50" Margin="10 0 0 0" Foreground="#FFFFFF" VerticalAlignment="Center" FontSize="25" />
<Button Content="开始" Command="{Binding QueryCommand}" Style="{StaticResource BUTTON_AGREE}" Background="#007DFA" BorderBrush="#007DFA" Foreground="White" Margin="20,0,0,0" Height="50" FontSize="25" Width="130" Click="Button_Click" />
<Button Content="停止" Command="{Binding ResetCommand}" Style="{StaticResource BUTTON_AGREE}" Background="#007DFA" BorderBrush="#007DFA" Foreground="White" Margin="70,0,0,0" Height="50" FontSize="25" Width="130" Click="Button_Click_1" />
</StackPanel>
</Border>
<!--计划列表-->
<Grid Grid.Row="2" Background="Transparent" Margin="1,1,5,5" VerticalAlignment="Center" HorizontalAlignment="Right">
<Button Content="创建任务" Style="{StaticResource BUTTON_AGREE}" Background="Green" Foreground="white" Margin="-149,0,192,0" Height="40" BorderBrush="#FF9900" FontSize="18" Click="Button_Click_3" />
<Button Content="关 闭" Style="{StaticResource BUTTON_AGREE}" Background="#FF9900" Foreground="white" Margin="60,0,10,0" Height="40" BorderBrush="#FF9900" FontSize="18" Width="80" Click="Button_Click_2" />
</Grid>
</Grid>
</Border>
</Window>

@ -0,0 +1,217 @@
using Aucma.Scada.Business;
using HighWayIot.Config;
using HighWayIot.Log4net;
using HighWayIot.Plc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace Aucma.Scada.UI.Page.InStoreInfo
{
/// <summary>
/// NullMaterial.xaml 的交互逻辑
/// </summary>
public partial class NullMaterialWindow : Window
{
private Dictionary<string, IPlc> _plcDictionary = new Dictionary<string, IPlc>();
private AppConfig appConfig = AppConfig.Instance;
private PlcConfig plcConfig = PlcConfig.Instance;
private LogHelper logHelper = LogHelper.Instance;
private PlcPool _pool = PlcPool.Instance;
private InStoreBusiness inStoreBusiness = InStoreBusiness.Instance;
private Timer _timer;
/// <summary>
/// 箱壳空板入库处理
/// </summary>
/// <param name="materialCodeStr"></param>
/// <param name="ip"></param>
public delegate void RefreshMaterialCodeStr(string materialCodeStr, string ip);
public static event RefreshMaterialCodeStr RefreshMaterialCodeStrEvent;
public NullMaterialWindow()
{
InitializeComponent();
_plcDictionary = _pool.GetAll();
// 初始化定时器
_timer = new Timer(1000); // 1000 毫秒 = 1 秒
_timer.Elapsed += TimerElapsed; // 绑定定时器事件
}
private void TimerElapsed(object sender, ElapsedEventArgs e)
{
int nullAmount = ReadNullAmount();
App.Current.Dispatcher.BeginInvoke((Action)(() =>
{
NullAmount.Text = nullAmount.ToString();
}));
}
/// <summary>
/// 读取plc空板数量
/// </summary>
/// <param name="taskInfo"></param>
/// <returns></returns>
public int ReadNullAmount()
{
int result = 0;
try
{
IPlc _plc = _plcDictionary[appConfig.shellStoreCode];
if (_plc != null)
{
result = _plc.readInt32ByAddress(plcConfig.null_shell_amount);
return result;
}
}
catch (Exception ex)
{
logHelper.Error("打开放空板按钮:" + ex.Message.ToString());
}
return result;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
_timer.Start(); // 启动定时器
if (OpenNullKey())
{
MessageBox.Show("成功打开");
}
else
{
MessageBox.Show("打开空板开关失败!");
}
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
_timer.Stop();
if (OpenNullKey())
{
MessageBox.Show("成功关闭");
}
else
{
MessageBox.Show("关闭空板开关失败!");
}
}
/// <summary>
/// 打开放空板按钮
/// </summary>
/// <param name="taskInfo"></param>
/// <returns></returns>
public bool OpenNullKey()
{
bool result = false;
try
{
IPlc _plc = _plcDictionary[appConfig.shellStoreCode];
if (_plc != null)
{
result = _plc.writeBoolByAddress(plcConfig.null_shell_open, true);
}
}
catch (Exception ex)
{
logHelper.Error("打开放空板按钮:" + ex.Message.ToString());
}
return result;
}
/// <summary>
/// 关闭放空板按钮
/// </summary>
/// <param name="taskInfo"></param>
/// <returns></returns>
public bool CloseNullKey()
{
bool result = false;
try
{
IPlc _plc = _plcDictionary[appConfig.shellStoreCode];
if (_plc != null)
{
result = _plc.writeBoolByAddress(plcConfig.null_shell_open, false);
}
}
catch (Exception ex)
{
logHelper.Error("关闭放空板按钮:" + ex.Message.ToString());
}
return result;
}
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
// 在窗口关闭时停止定时器
_timer.Stop();
_timer.Dispose();
}
private void Button_Click_2(object sender, RoutedEventArgs e)
{
window.Close();
}
private void Button_Click_3(object sender, RoutedEventArgs e)
{
int amount ;
try
{
amount = int.Parse(NullAmount.Text);
}catch (Exception ex)
{
amount=0;
}
if (amount <= 0)
{
MessageBox.Show("数量要大于0");
NullAmount.Text = "";
return;
}
MessageBoxResult result = MessageBox.Show("确认创建"+ amount+"个空板入库任务吗,请仔细核对空板数量", "确认", MessageBoxButton.YesNo, MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
{
// 创建空板入库任务
for(int i = 0; i < amount; i++)
{
inStoreBusiness.InStore("1111111111111111111111", appConfig.shellHikRobotIp);
}
}
}
}
}

@ -293,9 +293,9 @@
Foreground="#FFFFFF" >
<!--resourceStyle 399行修改选中字体颜色-->
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding spaceCode}" Header="货道编号" Width="1*" IsReadOnly="True" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding materialCode}" Header="物料编号" Width="*" IsReadOnly="True" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding materialName}" Header="物料名称" Width="*" IsReadOnly="True" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<!--<DataGridTextColumn Binding="{Binding spaceCode}" Header="货道编号" Width="1*" IsReadOnly="True" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>-->
<DataGridTextColumn Binding="{Binding materialCode}" Header="产品编码" Width="*" IsReadOnly="True" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding materialName}" Header="产品名称" Width="*" IsReadOnly="True" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<!--<DataGridTextColumn Binding="{Binding materialType}" Header="物料类型" Width="1*" IsReadOnly="True"/>-->
</DataGrid.Columns>
</DataGrid>

@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Aucma.Scada.UI.Page.InventoryInfo"
mc:Ignorable="d" Background="#1152AC" FontFamily="Microsoft YaHei" WindowStartupLocation="CenterScreen"
Title="物料库存统计" Height="650" Width="1000" Name="window"
Title="物料库存统计" Height="700" Width="1500" Name="window"
ResizeMode="NoResize" >
<Window.Resources>
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
@ -106,8 +106,9 @@
Foreground="#FFFFFF" >
<!--resourceStyle 399行修改选中字体颜色-->
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding materialType}" Header="物料型号" Width="1*" IsReadOnly="True"/>
<!--<DataGridTextColumn Binding="{Binding executePlanCode}" Header="物料编码" Width="1*" IsReadOnly="True"/>-->
<DataGridTextColumn Binding="{Binding materialType}" Header="产品编码" Width="3*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding typeNameA}" Header="产品名称" Width="5*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding spaceStock}" Header="在库数量" Width="1*" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
@ -136,8 +137,9 @@
Foreground="#FFFFFF" >
<!--resourceStyle 399行修改选中字体颜色-->
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding materialType}" Header="物料型号" Width="1*" IsReadOnly="True"/>
<!--<DataGridTextColumn Binding="{Binding executePlanCode}" Header="物料编码" Width="1*" IsReadOnly="True"/>-->
<DataGridTextColumn Binding="{Binding materialType}" Header="产品编码" Width="3*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding typeNameA}" Header="产品名称" Width="5*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding spaceStock}" Header="在库数量" Width="1*" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
@ -165,8 +167,9 @@
Foreground="#FFFFFF" >
<!--resourceStyle 399行修改选中字体颜色-->
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding materialType}" Header="物料型号" Width="1*" IsReadOnly="True"/>
<!--<DataGridTextColumn Binding="{Binding executePlanCode}" Header="物料编码" Width="1*" IsReadOnly="True"/>-->
<DataGridTextColumn Binding="{Binding materialType}" Header="产品编码" Width="3*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding typeNameA}" Header="产品名称" Width="5*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding spaceStock}" Header="在库数量" Width="1*" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>

@ -292,9 +292,9 @@
Foreground="#FFFFFF" >
<!--resourceStyle 399行修改选中字体颜色-->
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding spaceCode}" Header="货道编号" Width="1*" IsReadOnly="True" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding materialCode}" Header="物料编号" Width="*" IsReadOnly="True" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding materialName}" Header="物料名称" Width="*" IsReadOnly="True" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<!--<DataGridTextColumn Binding="{Binding spaceCode}" Header="货道编号" Width="1*" IsReadOnly="True" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>-->
<DataGridTextColumn Binding="{Binding materialCode}" Header="产品编码" Width="*" IsReadOnly="True" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding materialName}" Header="产品名称" Width="*" IsReadOnly="True" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<!--<DataGridTextColumn Binding="{Binding materialType}" Header="物料类型" Width="1*" IsReadOnly="True"/>-->
</DataGrid.Columns>
</DataGrid>

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -4,6 +4,11 @@
囀筐PLCIP=10.10.92.29
囀筐PLC傷諳=2015
#箱壳空板处理按钮
[shell_null_address]
空板开关=L90
空板数量=D7005
#眊褲⻌踱華硊
[shell_inStore_address]
⻌踱億耋瘍=D7000

@ -278,11 +278,28 @@ namespace Aucma.Scada.UI.viewModel.InventoryInfo
spaceDetails.ForEach(
arg =>
{
arg.materialName = GetStringAfterFirstComma(arg.materialName);
SpaceDetailDataGrid.Add(arg);
});
}
}
/// <summary>
/// 截取字符串第一个逗号之后的字符
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string GetStringAfterFirstComma(string input)
{
int commaIndex = input.IndexOf(',');
if (commaIndex == -1)
return "";
string result = input.Substring(commaIndex + 1);
return result;
}
/// <summary>
/// 手动出一个
/// </summary>

@ -80,12 +80,13 @@ namespace Aucma.Scada.UI.viewModel.InventoryInfo
select new BaseSpaceInfo()
{
materialType = g.Key,
typeNameA = g.First().typeNameA,
spaceStock = g.Sum(m => m.spaceStock)
};
foreach( var item in shellResult)
{
if (string.IsNullOrEmpty(item.materialType)) continue;
ShellMaterialStockDataGrid.Add(new BaseSpaceInfo() { materialType = item.materialType, spaceStock = item.spaceStock });
ShellMaterialStockDataGrid.Add(new BaseSpaceInfo() { materialType = item.materialType, typeNameA = item.typeNameA,spaceStock = item.spaceStock });
}
//内胆物料库存
@ -96,12 +97,13 @@ namespace Aucma.Scada.UI.viewModel.InventoryInfo
select new BaseSpaceInfo()
{
materialType = g.Key,
typeNameA = g.First().typeNameA,
spaceStock = g.Sum(m => m.spaceStock)
};
foreach (var item in linerResult)
{
if (string.IsNullOrEmpty(item.materialType)) continue;
LinerMaterialStockDataGrid.Add(new BaseSpaceInfo() { materialType = item.materialType, spaceStock = item.spaceStock });
LinerMaterialStockDataGrid.Add(new BaseSpaceInfo() { materialType = item.materialType, typeNameA = item.typeNameA, spaceStock = item.spaceStock });
}
//泡前库物料库存
@ -112,12 +114,13 @@ namespace Aucma.Scada.UI.viewModel.InventoryInfo
select new BaseSpaceInfo()
{
materialType = g.Key,
typeNameA = g.First().typeNameA,
spaceStock = g.Sum(m => m.spaceStock)
};
foreach (var item in foamBeforeResult)
{
if (string.IsNullOrEmpty(item.materialType)) continue;
FoamBeforeMaterialStockDataGrid.Add(new BaseSpaceInfo() { materialType = item.materialType, spaceStock = item.spaceStock });
FoamBeforeMaterialStockDataGrid.Add(new BaseSpaceInfo() { materialType = item.materialType, typeNameA = item.typeNameA, spaceStock = item.spaceStock });
}
}

@ -4,6 +4,7 @@ using Aucma.Scada.UI.Page.InventoryInfo;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using HighWayIot.Config;
using HighWayIot.Log4net;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
@ -29,6 +30,9 @@ namespace Aucma.Scada.UI.viewModel.InventoryInfo
private InStoreTaskHandle taskHandle = InStoreTaskHandle.Instance;
private LogHelper logHelper = LogHelper.Instance;
public ShellInventoryViewModel()
{
@ -127,26 +131,35 @@ namespace Aucma.Scada.UI.viewModel.InventoryInfo
private void Query()
{
App.Current.Dispatcher.Invoke((Action)(() =>
try
{
var info = inventoryInfoBusiness.GetSpaceInfos(appConfig.shellStoreCode);
if (info != null)
{
if (spaceItems.Count > 0)
App.Current.Dispatcher.Invoke((Action)(() =>
{
spaceItems.Clear();
}
foreach (var item in info)
{
// item.typeNameA = GetSubstringBetweenCommas(item.typeNameA);
spaceItems.Add(item);
}
Shapes = spaceItems;
if (spaceItems.Count > 0)
{
spaceItems.Clear();
}
foreach (var item in info)
{
// item.typeNameA = GetSubstringBetweenCommas(item.typeNameA);
spaceItems.Add(item);
}
Shapes = spaceItems;
}));
}
}));
}
catch (Exception ex)
{
logHelper.Info("查询货道信息异常:"+ex.Message.ToString());
}
}
/// <summary>
@ -289,10 +302,26 @@ namespace Aucma.Scada.UI.viewModel.InventoryInfo
spaceDetails.ForEach(
arg =>
{
arg.materialName = GetStringAfterFirstComma(arg.materialName);
SpaceDetailDataGrid.Add(arg);
});
}
}
/// <summary>
/// 截取字符串第一个逗号之后的字符
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string GetStringAfterFirstComma(string input)
{
int commaIndex = input.IndexOf(',');
if (commaIndex == -1)
return "";
string result = input.Substring(commaIndex + 1);
return result;
}
/// <summary>
/// 手动出一个

@ -63,6 +63,27 @@ namespace HighWayIot.Config
}
#endregion
#region 箱壳空板入库处理地址
/// <summary>
/// 箱壳——空板开关
/// </summary>
public string null_shell_open
{
get { return iniHelper.IniReadValue("shell_null_address", "空板开关"); }
set { iniHelper.IniWriteValue("shell_null_address", "空板开关", value); }
}
/// <summary>
/// 箱壳——放入的空板数量
/// </summary>
public string null_shell_amount
{
get { return iniHelper.IniReadValue("shell_null_address", "空板数量"); }
set { iniHelper.IniWriteValue("shell_null_address", "空板数量", value); }
}
#endregion
#region 箱壳入库地址
/// <summary>
/// 箱壳——入库货道号

@ -320,7 +320,7 @@ namespace HighWayIot.Repository.service.Impl
{
spaceInfos = GetEmptySpaceInfo(storeCode);
}
// 如果是空板,没有空板货道且所有货道都有货,分配空白货道不成功,那么入库存最多的货道
// 如果是空板,没有空板货道且所有货道都有货,分配空白货道不成功,那么找启用状态的货道信息
if (materialType == "1111111111" && spaceInfos.Count==0)
{
Expression<Func<BaseSpaceInfo, bool>> exp1 = s1 => true;

Loading…
Cancel
Save