change - 泡后库入库逻辑

foamRearStore
wenjy 1 year ago
parent 8679b2f818
commit 7be28d901c

Binary file not shown.

@ -79,6 +79,7 @@ namespace Aucma.Scada.Business
{
_spaceInfoService = registerServices.GetService<IBaseSpaceInfoService>();
_taskInfoService = registerServices.GetService<IRealTaskInfoService>();
taskHandle.InStoreFinsihEvent += FoamTaskFeedback;
grabImage.RefreshMaterialCodeStrEvent += InStore;
grabImage.RefreshLogMessageEvent += PrintLogInfoMessage;
StartPassDown();
@ -86,25 +87,24 @@ namespace Aucma.Scada.Business
private void HandleTimer()
{
InStore("X-001", "SC232");
InStore("SC232");
}
/// <summary>
/// 入库
/// </summary>
/// <param name="storeCode"></param>
/// <param name="materialType"></param>
private void InStore(string storeCode, string materialCode)
private void InStore(string materialCode)
{
try
{
PrintLogInfoMessage($"扫码成功,物料码:{materialCode}");
string materialType = SubStringMaterialCode(materialCode);
var spaceInfo = _spaceInfoService.InStoreGetSpaceInfoByMaterialType(storeCode, materialType);
var spaceInfo = _spaceInfoService.InStoreGetSpaceInfoByMaterialType(appConfig.foamStoreCode, materialType);
if (spaceInfo != null)
{
PrintLogInfoMessage($"匹配货道:{spaceInfo.spaceName}");
RefreshScanMateriaCodeEvent?.Invoke(materialCode, materialType, spaceInfo.spaceName, storeCode); //刷新界面扫码信息
RefreshScanMateriaCodeEvent?.Invoke(materialCode, materialType, spaceInfo.spaceName, appConfig.foamStoreCode); //刷新界面扫码信息
CreateInStoreTask(spaceInfo, materialCode); //创建入库任务
}
else
@ -151,9 +151,8 @@ namespace Aucma.Scada.Business
#region 轮询获取入库任务下发至PLC等待PLC执行反馈完成后再次下发
private SemaphoreSlim shellSemaphore = new SemaphoreSlim(0);
private SemaphoreSlim semaphore = new SemaphoreSlim(0);
private SemaphoreSlim linerSemaphore = new SemaphoreSlim(0);
private void StartPassDown()
{
@ -166,20 +165,11 @@ namespace Aucma.Scada.Business
Thread.Sleep(1000);
}
});
Task.Run(() =>
{
while (true)
{
PassDownLinerTask();
Thread.Sleep(1000);
}
});
}
/// <summary>
/// 依次获取箱壳任务队列进行下发
/// 依次获取泡后任务队列进行下发
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
@ -188,17 +178,17 @@ namespace Aucma.Scada.Business
RealTaskInfo taskInfo = GetAwaitSendTask(appConfig.shellStoreCode);
if (taskInfo != null)
{
PrintLogInfoMessage($"下发箱壳入库任务:{taskInfo.taskCode};仓库{taskInfo.storeCode};货道:{taskInfo.spaceCode}");
PrintLogInfoMessage($"下发泡后入库任务:{taskInfo.taskCode};仓库{taskInfo.storeCode};货道:{taskInfo.spaceCode}");
//taskHandle.SendShellTask_InStore(taskInfo);
if (taskHandle.SendShellTask_InStore(taskInfo))
{
PrintLogInfoMessage($"箱壳入库任务:{taskInfo.taskCode}下发成功等待PLC执行反馈");
PrintLogInfoMessage($"泡后入库任务:{taskInfo.taskCode}下发成功等待PLC执行反馈");
taskInfo.taskStatus = 2;
_taskInfoService.UpdateTaskInfo(taskInfo);
//if (shellSemaphore.Wait(TimeSpan.FromSeconds(20)))
//if (semaphore.Wait(TimeSpan.FromSeconds(20)))
//{
// // 收到反馈
// PrintLogInfoMessage("收到反馈,继续执行");
@ -208,69 +198,25 @@ namespace Aucma.Scada.Business
// PrintLogInfoMessage("超时未反馈");
//}
shellSemaphore.Wait(); //一直堵塞直到信号量释放
semaphore.Wait(); //一直堵塞直到信号量释放
PrintLogInfoMessage($"箱壳入库任务:{taskInfo.taskCode};执行完成");
PrintLogInfoMessage($"泡后入库任务:{taskInfo.taskCode};执行完成");
}
else
{
PrintLogInfoMessage($"箱壳入库任务:{taskInfo.taskCode}下发失败请排除PLC连接");
PrintLogInfoMessage($"泡后入库任务:{taskInfo.taskCode}下发失败请排除PLC连接");
}
}
else
{
PrintLogInfoMessage("未获取到需要下发的箱壳入库任务");
PrintLogInfoMessage("未获取到需要下发的泡后入库任务");
Thread.Sleep(5000);
}
}
/// <summary>
/// 依次获取内胆任务队列进行下发
/// </summary>
private void PassDownLinerTask()
{
RealTaskInfo taskInfo = GetAwaitSendTask(appConfig.linerStoreCode);
if (taskInfo != null)
{
PrintLogInfoMessage($"下发内胆入库任务:{taskInfo.taskCode};仓库{taskInfo.storeCode};货道:{taskInfo.spaceCode}");
if (taskHandle.SendShellTask_InStore(taskInfo))
{
PrintLogInfoMessage($"内胆入库任务:{taskInfo.taskCode}下发成功等待PLC执行反馈");
taskInfo.taskStatus = 2;
_taskInfoService.UpdateTaskInfo(taskInfo);
//if (shellSemaphore.Wait(TimeSpan.FromSeconds(20)))
//{
// // 收到反馈
// PrintLogInfoMessage("收到反馈,继续执行");
//}
//else
//{
// PrintLogInfoMessage("超时未反馈");
//}
linerSemaphore.Wait(); //一直堵塞直到信号量释放
PrintLogInfoMessage($"内胆入库任务:{taskInfo.taskCode};执行完成");
}
else
{
PrintLogInfoMessage($"内胆入库任务:{taskInfo.taskCode}下发失败请排除PLC连接");
}
}
else
{
PrintLogInfoMessage("未获取到需要下发的内胆入库任务");
Thread.Sleep(5000);
}
}
/// <summary>
/// 获取待执行的入库任务
/// </summary>
@ -300,29 +246,20 @@ namespace Aucma.Scada.Business
}
/// <summary>
/// 箱壳执行反馈
/// 泡后执行反馈
/// </summary>
private void ShellTaskFeedback()
private void FoamTaskFeedback(string taskCode)
{
Thread.Sleep(4000);
PrintLogInfoMessage("箱壳执行完成,自动释放信号量");
shellSemaphore.Release();
}
/// <summary>
/// 内胆执行反馈
/// </summary>
private void LinerTaskFeedback()
{
Thread.Sleep(8000);
PrintLogInfoMessage("泡后执行完成,自动释放信号量");
PrintLogInfoMessage("内胆执行完成,自动释放信号量");
semaphore.Release();
linerSemaphore.Release();
InStoreFinish(taskCode);
}
#endregion
/// <summary>
@ -331,11 +268,11 @@ namespace Aucma.Scada.Business
/// <param name="storeCode"></param>
/// <param name="spaceCode"></param>
/// <param name="materialType"></param>
private void InStoreFinish(string taskCode, string storeCode)
private void InStoreFinish(string taskCode)
{
try
{
var taskInfo = _taskInfoService.GetTaskInfoByTaskCode(taskCode, storeCode);
var taskInfo = _taskInfoService.GetTaskInfoByTaskCode(taskCode, appConfig.foamStoreCode);
if (taskInfo != null)
{
var spaceInfo = _spaceInfoService.GetSpaceInfoBySpaceCode(taskInfo.storeCode, taskInfo.spaceCode);
@ -348,7 +285,7 @@ namespace Aucma.Scada.Business
}
//清除任务信息
_taskInfoService.DeleteTaskInfo(taskCode, storeCode);
_taskInfoService.DeleteTaskInfo(taskCode, appConfig.foamStoreCode);
}
}

@ -39,23 +39,18 @@ namespace Aucma.Scada.Business
private Dictionary<string, IPlc> _plcDictionary = new Dictionary<string, IPlc>();
/// <summary>
/// 箱壳任务编号,PLC反馈后进行赋值
/// 泡后任务编号,PLC反馈后进行赋值
/// </summary>
private string shellTaskCode = string.Empty;
private string foamTaskCode = string.Empty;
/// <summary>
/// 内胆任务编号,PLC反馈后进行赋值
/// </summary>
private string linerTaskCode = string.Empty;
#endregion
#region 委托事件
/// <summary>
/// 入库完成
/// </summary>
/// <param name="storeCode"></param>
/// <param name="taskCode"></param>
public delegate void InStoreFinsih(string storeCode, string taskCode);
public delegate void InStoreFinsih( string taskCode);
public event InStoreFinsih InStoreFinsihEvent;
#endregion
@ -64,7 +59,7 @@ namespace Aucma.Scada.Business
_plcDictionary = _pool.GetAll();
}
#region 箱壳入库任务下发处理
#region 泡后入库任务下发处理
public bool SendShellTask_InStore(RealTaskInfo taskInfo)
{
bool result = false;
@ -100,21 +95,21 @@ namespace Aucma.Scada.Business
}
catch (Exception ex)
{
logHelper.Error("箱壳入库任务下发异常", ex);
logHelper.Error("泡后入库任务下发异常", ex);
}
return result;
}
/// <summary>
/// 读取箱壳入库应答
/// 读取泡后入库应答
/// </summary>
private void ReadShellAnswer_InStore(string taskCode)
{
lock (string.Empty)
{
bool isFlag = true;
IPlc _plc = _plcDictionary[appConfig.shellStoreCode];
IPlc _plc = _plcDictionary[appConfig.foamStoreCode];
try
{
Task.Run(() =>
@ -144,32 +139,32 @@ namespace Aucma.Scada.Business
}
else
{
logHelper.Info($"仓库{appConfig.shellStoreCode}PLC未连接");
logHelper.Info($"仓库{appConfig.foamStoreCode}PLC未连接");
}
}
else
{
logHelper.Info($"PLC信息为空通过{appConfig.shellStoreCode}未获取到该仓库对应的PLC信息");
logHelper.Info($"PLC信息为空通过{appConfig.foamStoreCode}未获取到该仓库对应的PLC信息");
}
});
}
catch (Exception ex)
{
logHelper.Error("读取箱壳入库应答字异常", ex);
logHelper.Error("读取泡后入库应答字异常", ex);
}
}
}
/// <summary>
/// 读取箱壳入库完成
/// 读取泡后入库完成
/// </summary>
private void ReadShellFinish_InStore(string taskCode)
{
lock (string.Empty)
{
bool isFlag = true;
IPlc _plc = _plcDictionary[appConfig.shellStoreCode];
shellTaskCode = taskCode;
IPlc _plc = _plcDictionary[appConfig.foamStoreCode];
foamTaskCode = taskCode;
try
{
Task.Run(() =>
@ -187,7 +182,7 @@ namespace Aucma.Scada.Business
//string taskCode = _plc.readStringByAddress(plcConfig.out_shell_task, 10);
InStoreFinsihEvent?.Invoke(appConfig.shellStoreCode, taskCode);
InStoreFinsihEvent?.Invoke(taskCode);
isFlag = false;
}
@ -197,172 +192,18 @@ namespace Aucma.Scada.Business
}
else
{
logHelper.Info($"仓库{appConfig.shellStoreCode}PLC未连接");
}
}
else
{
logHelper.Info($"PLC信息为空通过{appConfig.shellStoreCode}未获取到该仓库对应的PLC信息");
}
});
}
catch (Exception ex)
{
logHelper.Error("读取箱壳入库完成异常", ex);
}
}
}
#endregion
#region 内胆入库任务处理
/// <summary>
/// 内胆入库任务下发
/// </summary>
/// <param name="taskInfo"></param>
public bool SendLinerTask_InStore(RealTaskInfo taskInfo)
{
bool result = false;
try
{
IPlc _plc = _plcDictionary[taskInfo.storeCode];
if (_plc != null)
{
if (_plc.IsConnected)
{
//写入货道号
_plc.writeStringByAddress(plcConfig.in_liner_spaceCode, taskInfo.spaceCode);
//写入应答字
_plc.writeInt32ByAddress(plcConfig.in_liner_answer, 1);
//写入任务号
_plc.writeStringByAddress(plcConfig.in_liner_task, taskInfo.taskCode);
//写入完成后读取应答字进行复位
ReadLinerAnswer_InStore(taskInfo.taskCode);
result = true;
}
else
{
logHelper.Info($"仓库{taskInfo.storeCode}PLC未连接");
}
}
else
{
logHelper.Info($"PLC信息为空通过{taskInfo.storeCode}未获取到该仓库对应的PLC信息");
}
}
catch (Exception ex)
{
logHelper.Error("内胆入库任务下发异常", ex);
}
return result;
}
/// <summary>
/// 读取内胆入库应答
/// </summary>
private void ReadLinerAnswer_InStore(string taskCode)
{
lock (string.Empty)
{
bool isFlag = true;
IPlc _plc = _plcDictionary[appConfig.shellStoreCode];
linerTaskCode = taskCode;
try
{
Task.Run(() =>
{
if (_plc != null)
{
if (_plc.IsConnected)
{
do
{
//读取PLC应答字为2时上位机清空写入的入库内容
if (_plc.readInt32ByAddress(plcConfig.in_liner_answer) == 2)
{
//写入货道号
_plc.writeStringByAddress(plcConfig.in_liner_spaceCode, string.Empty);
//写入应答字
_plc.writeInt32ByAddress(plcConfig.in_liner_answer, 0);
//写入任务号
_plc.writeStringByAddress(plcConfig.in_liner_task, string.Empty);
isFlag = false;
Thread.Sleep(5000);
ReadLinerFinish_InStore(taskCode);
}
} while (isFlag);
}
else
{
logHelper.Info($"仓库{appConfig.linerStoreCode}PLC未连接");
}
}
else
{
logHelper.Info($"PLC信息为空通过{appConfig.linerStoreCode}未获取到该仓库对应的PLC信息");
}
});
}
catch (Exception ex)
{
logHelper.Error("读取内胆入库应答字异常", ex);
}
}
}
/// <summary>
/// 读取内胆入库完成
/// </summary>
private void ReadLinerFinish_InStore(string taskCode)
{
lock (string.Empty)
{
try
{
Task.Run(() =>
{
bool isFlag = true;
IPlc _plc = _plcDictionary[appConfig.linerStoreCode];
if (_plc != null)
{
if (_plc.IsConnected)
{
do
{
//读取PLC入库任务完成
if (_plc.readInt32ByAddress(plcConfig.in_liner_finish) == 1)
{
_plc.writeInt32ByAddress(plcConfig.in_liner_finish, 0);
//string taskCode = _plc.readStringByAddress(plcConfig.in_liner_task, 10);
InStoreFinsihEvent?.Invoke(appConfig.linerStoreCode, taskCode);
isFlag = false;
Thread.Sleep(5000);
}
} while (isFlag);
}
else
{
logHelper.Info($"仓库{appConfig.linerStoreCode}PLC未连接");
logHelper.Info($"仓库{appConfig.foamStoreCode}PLC未连接");
}
}
else
{
logHelper.Info($"PLC信息为空通过{appConfig.linerStoreCode}未获取到该仓库对应的PLC信息");
logHelper.Info($"PLC信息为空通过{appConfig.foamStoreCode}未获取到该仓库对应的PLC信息");
}
});
}
catch (Exception ex)
{
logHelper.Error("读取内胆入库完成异常", ex);
logHelper.Error("读取泡后入库完成异常", ex);
}
}
}

@ -34,7 +34,7 @@ namespace Aucma.Scada.HikRobot
#endregion
#region 委托事件
public delegate void RefreshMaterialCodeStr(string storeCode,string materialCodeStr);
public delegate void RefreshMaterialCodeStr(string materialCodeStr);
public event RefreshMaterialCodeStr RefreshMaterialCodeStrEvent;
/// <summary>
@ -88,13 +88,9 @@ namespace Aucma.Scada.HikRobot
MvCodeReader.MV_CODEREADER_GIGE_DEVICE_INFO stGigEDeviceInfo = (MvCodeReader.MV_CODEREADER_GIGE_DEVICE_INFO)MvCodeReader.ByteToStruct(stDevInfo.SpecialInfo.stGigEInfo, typeof(MvCodeReader.MV_CODEREADER_GIGE_DEVICE_INFO));
string ip = ((stGigEDeviceInfo.nCurrentIp & 0xff000000) >> 24) + "." + ((stGigEDeviceInfo.nCurrentIp & 0x00ff0000) >> 16) + "." + ((stGigEDeviceInfo.nCurrentIp & 0x0000ff00) >> 8) + "." + (stGigEDeviceInfo.nCurrentIp & 0x000000ff);
RefreshLogMessageEvent?.Invoke($"打印扫码设备信息,下标:{i}IP{ip}");
if (ip == appConfig.shellHikRobotIp)
if (ip == appConfig.foamHikRobotIp)
{
Grab(i, stDevList, stDevInfo, device, appConfig.shellStoreCode);
continue;
}else if(ip == appConfig.linerHikRobotIp)
{
Grab(i, stDevList, stDevInfo, device, appConfig.linerStoreCode);
Grab(i, stDevList, stDevInfo, device);
continue;
}
}
@ -105,13 +101,12 @@ namespace Aucma.Scada.HikRobot
}
private void Grab(int index,MvCodeReader.MV_CODEREADER_DEVICE_INFO_LIST stDevList, MvCodeReader.MV_CODEREADER_DEVICE_INFO stDevInfo,MvCodeReader device,string storeCode)
private void Grab(int index,MvCodeReader.MV_CODEREADER_DEVICE_INFO_LIST stDevList, MvCodeReader.MV_CODEREADER_DEVICE_INFO stDevInfo,MvCodeReader device)
{
try
{
Task.Run(() =>
{
string str = storeCode == appConfig.shellStoreCode ? "箱壳" : "内胆";
int nRet = MvCodeReader.MV_CODEREADER_OK;
do
{
@ -126,7 +121,7 @@ namespace Aucma.Scada.HikRobot
}
else
{
RefreshLogMessageEvent?.Invoke($"{str}扫码器创建成功");
RefreshLogMessageEvent?.Invoke("泡后库扫码器创建成功");
}
// 打开设备
@ -139,7 +134,7 @@ namespace Aucma.Scada.HikRobot
else
{
mvCodeReaders.Add(device);
RefreshLogMessageEvent?.Invoke($"{str}扫码器打开成功");
RefreshLogMessageEvent?.Invoke("泡后库扫码器打开成功");
}
// 设置触发模式为off
@ -150,7 +145,7 @@ namespace Aucma.Scada.HikRobot
}
else
{
RefreshLogMessageEvent?.Invoke($"{str}扫码器设置触发模式为off");
RefreshLogMessageEvent?.Invoke("泡后库扫码器设置触发模式为off");
}
// 开启抓图
@ -162,7 +157,7 @@ namespace Aucma.Scada.HikRobot
}
else
{
RefreshLogMessageEvent?.Invoke($"{str}扫码器开启抓图");
RefreshLogMessageEvent?.Invoke("泡后库扫码器开启抓图");
}
int nCount = 0;
@ -204,7 +199,7 @@ namespace Aucma.Scada.HikRobot
{
if(strCode != lastStr)
{
RefreshMaterialCodeStrEvent?.Invoke(storeCode, strCode);
RefreshMaterialCodeStrEvent?.Invoke(strCode);
}
lastStr = strCode;
}

@ -5,7 +5,7 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{43123E0B-B3B0-4FB4-A508-007D644B3E7C}</ProjectGuid>
<OutputType>Exe</OutputType>
<OutputType>WinExe</OutputType>
<RootNamespace>Aucma.Scada.UI</RootNamespace>
<AssemblyName>Aucma.Scada.UI</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
@ -111,6 +111,9 @@
<Compile Include="LogInfoControl.xaml.cs">
<DependentUpon>LogInfoControl.xaml</DependentUpon>
</Compile>
<Compile Include="Page\InventoryInfo\BomFoamRearInventory.xaml.cs">
<DependentUpon>BomFoamRearInventory.xaml</DependentUpon>
</Compile>
<Compile Include="Page\InventoryInfo\InventoryInfoControl.xaml.cs">
<DependentUpon>InventoryInfoControl.xaml</DependentUpon>
</Compile>
@ -138,6 +141,7 @@
<Compile Include="viewModel\AssemblyPlan\AssemblyPlanViewModel.cs" />
<Compile Include="viewModel\AssemblyPlan\PlanInfoEditViewModel.cs" />
<Compile Include="viewModel\InStoreInfo\InStoreInfoViewModel.cs" />
<Compile Include="viewModel\InventoryInfo\BoxFoamRearInventoryViewModel.cs" />
<Compile Include="viewModel\InventoryInfo\InventoryInfoViewModel.cs" />
<Compile Include="viewModel\InventoryInfo\LinerInventoryViewModel.cs" />
<Compile Include="viewModel\InventoryInfo\SpaceDetailViewModel.cs" />
@ -175,6 +179,10 @@
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Page Include="Page\InventoryInfo\BomFoamRearInventory.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Page\InventoryInfo\InventoryInfoControl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>

@ -79,7 +79,7 @@
<Button Content="任务列表" x:Name="taskInfo" Command="{Binding ControlOnClickCommand}" CommandParameter="{Binding Name,ElementName=taskInfo}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#009999" BorderBrush="#FF36B5C1" Margin="0,0,10,0"/>
<Button Content="实时库存" x:Name="inventoryInfo" Command="{Binding ControlOnClickCommand}" CommandParameter="{Binding Name,ElementName=inventoryInfo}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#009999" BorderBrush="#FF36B5C1" Margin="0,0,10,0"/>
<Button Content="组装计划" x:Name="assemblyPlan" Command="{Binding ControlOnClickCommand}" CommandParameter="{Binding Name,ElementName=assemblyPlan}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#009999" BorderBrush="#FF36B5C1" Margin="0,0,10,0"/>
<Button Content="日 志" x:Name="logInfo" Command="{Binding ControlOnClickCommand}" CommandParameter="{Binding Name,ElementName=logInfo}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#009999" BorderBrush="#FF36B5C1" Margin="0,0,10,0"/>
<!--<Button Content="日 志" x:Name="logInfo" Command="{Binding ControlOnClickCommand}" CommandParameter="{Binding Name,ElementName=logInfo}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#009999" BorderBrush="#FF36B5C1" Margin="0,0,10,0"/>-->
<!--<Button Content="记 录" x:Name="record" Command="{Binding ControlOnClickCommand}" CommandParameter="{Binding Name,ElementName=record}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#009999" BorderBrush="#FF36B5C1" Margin="0,0,10,0"/>-->
<Button Content="键 盘" Command="{Binding OpenSystemKeyboardCommand}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#009999" BorderBrush="#FF36B5C1" Margin="0,0,10,0"/>
<Button Content="最小化" x:Name="Minimized" Command="{Binding FormControlCommand}" CommandParameter="{Binding Name,ElementName=Minimized}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#FF9900" BorderBrush="#FF9900" Margin="0,0,10,0"/>

@ -37,65 +37,32 @@
<Border Grid.Row="1" BorderBrush="Green" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Grid.Row="1" BorderBrush="Red" BorderThickness="0" CornerRadius="5" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="4*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="箱壳物料条码:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding ShellMaterialCode}" Foreground="Gray" Width="200" IsReadOnly="True"/>
</StackPanel>
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="箱壳物料名称:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding ShellMaterialName}" Foreground="Gray" Width="200" IsReadOnly="True"/>
<StackPanel Grid.Row="1" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="物料条码:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding MaterialCode}" Foreground="Gray" Width="200" Height="40" IsReadOnly="True"/>
<TextBox FontSize="15" Text="{Binding ScanTime}" Foreground="Gray" Width="200" Height="40" IsReadOnly="True" Margin="20,0,0,0"/>
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="箱壳入库货道:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding ShellSpaceName}" Foreground="Gray" Width="200" IsReadOnly="True"/>
</StackPanel>
</Grid>
</Border>
<Border Grid.Row="2" BorderBrush="Red" BorderThickness="0" CornerRadius="5" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="内胆物料条码:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding LinerMaterialCode}" Foreground="Gray" Width="200" IsReadOnly="True"/>
<StackPanel Grid.Row="2" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="物料名称:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding MaterialName}" Foreground="Gray" Width="420" Height="40" IsReadOnly="True"/>
</StackPanel>
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="内胆物料名称" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding LinerMaterialName}" Foreground="Gray" Width="200" IsReadOnly="True"/>
<StackPanel Grid.Row="3" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="入库货道:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding SpaceName}" Foreground="Gray" Width="420" Height="40" IsReadOnly="True"/>
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="内胆入库货道" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding LinerSpaceName}" Foreground="Gray" Width="200" IsReadOnly="True"/>
<StackPanel Grid.Row="4" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="提示信息:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding PromptInfo}" Foreground="Gray" Width="420" Height="100" IsReadOnly="True"/>
</StackPanel>
</Grid>
</Border>
</Grid>
</Border>

@ -0,0 +1,158 @@
<UserControl x:Class="Aucma.Scada.UI.Page.InventoryInfo.BomFoamRearInventory"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Aucma.Scada.UI.Page.InventoryInfo"
xmlns:local1="clr-namespace:Aucma.Scada.UI.Converter.LinerInventory"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Control.Resources>
<local1:StatusLabelConverter x:Key="StatusLabelConverter" />
</Control.Resources>
<Grid Margin="5,5">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="12*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Text="泡后库实时库存" FontSize="20" FontWeight="Bold" Foreground="#0288d1"/>
</StackPanel>
<ItemsControl Grid.Row="1" ItemsSource="{Binding Shapes}" VerticalAlignment="Center" HorizontalAlignment="Center" >
<ItemsControl.ItemsPanel>
<!--布局-->
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal"></WrapPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<!--控件模板-->
<ItemsControl.ItemTemplate>
<DataTemplate>
<Control x:Name="ctrl" Width="450" Height="200" ></Control>
<DataTemplate.Triggers>
<!--根据不同类型选择不同模板-->
<DataTrigger Binding="{Binding spaceType}" Value="1">
<!--矩形-->
<Setter Property="Template" TargetName="ctrl">
<Setter.Value>
<ControlTemplate >
<Border Margin="5,5" Background="#0288d1" BorderBrush="White" BorderThickness="2" >
<Grid Margin="3,3">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Grid.Row="0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" BorderBrush="White" BorderThickness="1">
<TextBlock Text="{Binding spaceCode}" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="1" BorderBrush="White" BorderThickness="1">
<TextBlock Text="在库" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="2" BorderBrush="White" BorderThickness="1">
<TextBlock Text="{Binding spaceStock}" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="3" BorderBrush="White" BorderThickness="1">
<TextBlock Text="在途" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="4" BorderBrush="White" BorderThickness="1">
<TextBlock Text="{Binding onRouteAmount}" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="5" BorderBrush="White" BorderThickness="1">
<TextBlock Text="合计" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="6" BorderBrush="White" BorderThickness="1">
<TextBlock Text="{Binding totalAmount}" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
</Grid>
</Border>
<Border Grid.Row="1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="6*"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" BorderBrush="White" BorderThickness="1">
<TextBlock Text="型号" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="1" BorderBrush="White" BorderThickness="1">
<TextBlock Text="{Binding materialType}" FontSize="16" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
</Grid>
</Border>
<Border Grid.Row="2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" BorderBrush="White" BorderThickness="1" >
<TextBlock Text="状态" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="1" BorderBrush="White" BorderThickness="1">
<Button Command="{Binding DataContext.UpdateInStoreFlagCommand, RelativeSource={RelativeSource AncestorType=ItemsControl}}" CommandParameter="{Binding spaceCode}" Style="{StaticResource BUTTON_AGREE}" BorderBrush="Transparent" BorderThickness="0" Background="Transparent">
<TextBlock Text="入库" Foreground="{Binding inStoreFlag,Converter={StaticResource StatusLabelConverter}}" FontSize="18" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Button>
</Border>
<Border Grid.Column="2" BorderBrush="White" BorderThickness="1">
<Button Command="{Binding DataContext.UpdateOutStoreFlagCommand, RelativeSource={RelativeSource AncestorType=ItemsControl}}" CommandParameter="{Binding spaceCode}" Style="{StaticResource BUTTON_AGREE}" BorderBrush="Transparent" BorderThickness="0" Background="Transparent">
<TextBlock Text="出库" Foreground="{Binding outStoreFlag,Converter={StaticResource StatusLabelConverter}}" FontSize="18" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Button>
</Border>
<Border Grid.Column="3" BorderBrush="White" BorderThickness="1">
<Button Command="{Binding DataContext.UpdateUnusualFlagCommand, RelativeSource={RelativeSource AncestorType=ItemsControl}}" CommandParameter="{Binding spaceCode}" Style="{StaticResource BUTTON_AGREE}" BorderBrush="Transparent" BorderThickness="0" Background="Transparent">
<TextBlock Text="异常" Foreground="{Binding unusualFlag,Converter={StaticResource StatusLabelConverter}}" FontSize="18" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Button>
</Border>
<Border Grid.Column="4" BorderBrush="White" BorderThickness="1">
<Button Command="{Binding DataContext.UpdateSpaceStatusCommand, RelativeSource={RelativeSource AncestorType=ItemsControl}}" CommandParameter="{Binding spaceCode}" Style="{StaticResource BUTTON_AGREE}" BorderBrush="Transparent" BorderThickness="0" Background="Transparent">
<TextBlock Text="禁用" Foreground="{Binding spaceStatus,Converter={StaticResource StatusLabelConverter}}" FontSize="18" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Button>
</Border>
<Border Grid.Column="5" BorderBrush="White" BorderThickness="1">
<Button Command="{Binding DataContext.SpaceDetailCommand, RelativeSource={RelativeSource AncestorType=ItemsControl}}" CommandParameter="{Binding spaceCode}" Style="{StaticResource BUTTON_AGREE}" BorderBrush="Transparent" BorderThickness="0" Background="Transparent">
<TextBlock Text="明细" FontSize="18" Foreground="Green" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Button>
</Border>
<Border Grid.Column="6" BorderBrush="White" BorderThickness="1">
<Button Command="{Binding DataContext.UpdateCommand, RelativeSource={RelativeSource AncestorType=ItemsControl}}" CommandParameter="{Binding spaceCode}" Style="{StaticResource BUTTON_AGREE}" BorderBrush="Transparent" BorderThickness="0" Background="Transparent">
<TextBlock Text="出一个" Foreground="Green" FontSize="17" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Button>
</Border>
</Grid>
</Border>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</UserControl>

@ -0,0 +1,33 @@
using Aucma.Scada.UI.viewModel;
using Aucma.Scada.UI.viewModel.InventoryInfo;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
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.Navigation;
using System.Windows.Shapes;
namespace Aucma.Scada.UI.Page.InventoryInfo
{
/// <summary>
/// BomFoamRearInventory.xaml 的交互逻辑
/// </summary>
public partial class BomFoamRearInventory : UserControl
{
public BomFoamRearInventory()
{
InitializeComponent();
BoxFoamRearInventoryViewModel boxFoamRearInventoryViewModel = new BoxFoamRearInventoryViewModel();
this.DataContext = boxFoamRearInventoryViewModel;
}
}
}

@ -14,6 +14,7 @@
<StackPanel Grid.Row="0" Orientation="Horizontal" VerticalAlignment="Center" Margin="20,0,0,0">
<Button Content="箱壳库" x:Name="shellInventory" Command="{Binding InventoryOnClickCommand}" CommandParameter="{Binding Name,ElementName=shellInventory}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#009999" BorderBrush="#FF36B5C1" Margin="10,0,10,0"/>
<Button Content="内胆库" x:Name="linerInventory" Command="{Binding InventoryOnClickCommand}" CommandParameter="{Binding Name,ElementName=linerInventory}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#009999" BorderBrush="#FF36B5C1" Margin="0,0,10,0"/>
<Button Content="泡后库" x:Name="boxFoamRearInventory" Command="{Binding InventoryOnClickCommand}" CommandParameter="{Binding Name,ElementName=boxFoamRearInventory}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#009999" BorderBrush="#FF36B5C1" Margin="0,0,10,0"/>
</StackPanel>
<Border Grid.Row="1" BorderBrush="CadetBlue" BorderThickness="1" CornerRadius="5" Background="Transparent" Margin="2,2">

@ -54,18 +54,18 @@
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="箱壳物料条码" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding ShellMaterialCode}" Foreground="Gray" Width="200" IsReadOnly="True"/>
<TextBlock Text="任务编号" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding TaskCode}" Foreground="Gray" Width="200" IsReadOnly="True"/>
</StackPanel>
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="箱壳物料名称" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding ShellMaterialName}" Foreground="Gray" Width="200" IsReadOnly="True"/>
<TextBlock Text="计划编号" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding PlanCode}" Foreground="Gray" Width="200" IsReadOnly="True"/>
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="箱壳入库货道" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding ShellSpaceName}" Foreground="Gray" Width="200" IsReadOnly="True"/>
<TextBlock Text="订单信息" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding OrderCode}" Foreground="Gray" Width="200" IsReadOnly="True"/>
</StackPanel>
</Grid>
</Border>
@ -81,25 +81,25 @@
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="内胆物料条码:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding LinerMaterialCode}" Foreground="Gray" Width="200" IsReadOnly="True"/>
<TextBlock Text="物料条码:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding MaterialCode}" Foreground="Gray" Width="200" IsReadOnly="True"/>
</StackPanel>
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="内胆物料名称:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding LinerMaterialName}" Foreground="Gray" Width="200" IsReadOnly="True"/>
<TextBlock Text="物料名称:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding MaterialName}" Foreground="Gray" Width="200" IsReadOnly="True"/>
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="内胆入库货道:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding LinerSpaceName}" Foreground="Gray" Width="200" IsReadOnly="True"/>
<TextBlock Text="库货道:" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding SpaceName}" Foreground="Gray" Width="200" IsReadOnly="True"/>
</StackPanel>
</Grid>
</Border>
<Border Grid.Row="3" BorderBrush="Red" BorderThickness="0" CornerRadius="5" VerticalAlignment="Center" HorizontalAlignment="Right" >
<!--<Border Grid.Row="3" BorderBrush="Red" BorderThickness="0" CornerRadius="5" VerticalAlignment="Center" HorizontalAlignment="Right" >
<Button Content="手工操作" Command="{Binding HandWorkCommand}" Style="{StaticResource BUTTON_AGREE}" Background="#007DFA" BorderBrush="#007DFA" Foreground="White" Margin="0,0,120,0" Height="30" Width="80" />
</Border>
</Border>-->
</Grid>

@ -15,6 +15,6 @@ linerMaterialType=4
instoreTaskType=1
outstoreTaskType=2
stationName=Ïä¿ÇÄÚµ¨×é×°
stationName=Åݺó¿â
shellHikRobotIp=169.254.100.169
linerHikRobotIp=127.0.0.1

@ -1 +1 @@
2e8a851416f7d004d43adb23b4205d7e250c8d8f
fc926eeaeea35c14edd45595745868a66135b141

@ -341,3 +341,5 @@ E:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\bin\Debug\M
E:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\bin\Debug\Aucma.Scada.HikRobot.dll
E:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\bin\Debug\MvCodeReaderSDK.Net.dll
E:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\bin\Debug\Aucma.Scada.HikRobot.pdb
E:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\obj\Debug\Page\InventoryInfo\BomFoamRearInventory.g.cs
E:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\obj\Debug\Page\InventoryInfo\BomFoamRearInventory.baml

@ -1,7 +1,7 @@
Aucma.Scada.UI
exe
winexe
C#
.cs
E:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\obj\Debug\
@ -10,11 +10,11 @@ none
false
DEBUG;TRACE
E:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\App.xaml
14-1433675110
151723297010
34-1467425882
36-1922910726
1361464425805
Page\AssemblyPlan\AssemblyPlanControl.xaml;Page\AssemblyPlan\PlanInfoEditWindow.xaml;Page\InStoreInfo\InStoreInfoControl.xaml;LogInfoControl.xaml;MainWindow.xaml;Page\InventoryInfo\InventoryInfoControl.xaml;Page\InventoryInfo\LinerInventory.xaml;Page\InventoryInfo\ShellInventory.xaml;Page\InventoryInfo\SpaceDetailWindow.xaml;Page\InventoryInfo\SpaceInfoControl.xaml;Page\OutStoreInfo\OutStoreInfoControl.xaml;Page\TaskInfo\TaskInfoControl.xaml;RecordControl.xaml;templates\style\resourceStyle.xaml;
Page\AssemblyPlan\AssemblyPlanControl.xaml;Page\AssemblyPlan\PlanInfoEditWindow.xaml;Page\InStoreInfo\InStoreInfoControl.xaml;LogInfoControl.xaml;MainWindow.xaml;Page\InventoryInfo\BomFoamRearInventory.xaml;Page\InventoryInfo\InventoryInfoControl.xaml;Page\InventoryInfo\LinerInventory.xaml;Page\InventoryInfo\ShellInventory.xaml;Page\InventoryInfo\SpaceDetailWindow.xaml;Page\InventoryInfo\SpaceInfoControl.xaml;Page\OutStoreInfo\OutStoreInfoControl.xaml;Page\TaskInfo\TaskInfoControl.xaml;RecordControl.xaml;templates\style\resourceStyle.xaml;
False

@ -1,7 +1,7 @@
Aucma.Scada.UI
exe
winexe
C#
.cs
E:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\obj\Debug\
@ -10,11 +10,11 @@ none
false
DEBUG;TRACE
E:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\App.xaml
14-1433675110
151723297010
35454352239
37-1132605
1361464425805
Page\AssemblyPlan\AssemblyPlanControl.xaml;Page\AssemblyPlan\PlanInfoEditWindow.xaml;Page\InStoreInfo\InStoreInfoControl.xaml;LogInfoControl.xaml;MainWindow.xaml;Page\InventoryInfo\InventoryInfoControl.xaml;Page\InventoryInfo\LinerInventory.xaml;Page\InventoryInfo\ShellInventory.xaml;Page\InventoryInfo\SpaceDetailWindow.xaml;Page\InventoryInfo\SpaceInfoControl.xaml;Page\OutStoreInfo\OutStoreInfoControl.xaml;Page\TaskInfo\TaskInfoControl.xaml;RecordControl.xaml;templates\style\resourceStyle.xaml;
Page\AssemblyPlan\AssemblyPlanControl.xaml;Page\AssemblyPlan\PlanInfoEditWindow.xaml;Page\InStoreInfo\InStoreInfoControl.xaml;LogInfoControl.xaml;MainWindow.xaml;Page\InventoryInfo\BomFoamRearInventory.xaml;Page\InventoryInfo\InventoryInfoControl.xaml;Page\InventoryInfo\LinerInventory.xaml;Page\InventoryInfo\ShellInventory.xaml;Page\InventoryInfo\SpaceDetailWindow.xaml;Page\InventoryInfo\SpaceInfoControl.xaml;Page\OutStoreInfo\OutStoreInfoControl.xaml;Page\TaskInfo\TaskInfoControl.xaml;RecordControl.xaml;templates\style\resourceStyle.xaml;
True

@ -1,17 +1,4 @@
E:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\obj\Debug\GeneratedInternalTypeHelper.g.i.cs
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\App.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\AssemblyPlan\AssemblyPlanControl.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\AssemblyPlan\PlanInfoEditWindow.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\InStoreInfo\InStoreInfoControl.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\LogInfoControl.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\MainWindow.xaml;;

FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\InventoryInfo\InventoryInfoControl.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\InventoryInfo\LinerInventory.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\InventoryInfo\ShellInventory.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\InventoryInfo\SpaceDetailWindow.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\InventoryInfo\SpaceInfoControl.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\OutStoreInfo\OutStoreInfoControl.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\TaskInfo\TaskInfoControl.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\RecordControl.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\templates\style\resourceStyle.xaml;;

@ -5,6 +5,7 @@ FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\Assem
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\InStoreInfo\InStoreInfoControl.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\LogInfoControl.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\MainWindow.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\InventoryInfo\BomFoamRearInventory.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\InventoryInfo\InventoryInfoControl.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\InventoryInfo\LinerInventory.xaml;;
FE:\桌面\澳柯玛MES项目\程序设计\Aucma.Scada\Aucma.Scada.UI\Page\InventoryInfo\ShellInventory.xaml;;

@ -1,4 +1,4 @@
#pragma checksum "..\..\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "761197E72019FA48DD888520668F10CC0A0310CFF8A6F9336B14C0A351ACC259"
#pragma checksum "..\..\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "638A8878353241AB42E35E5685925D9F0CFF05E8C4379C5912D6CA9388326C41"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
@ -81,14 +81,6 @@ namespace Aucma.Scada.UI {
#line hidden
#line 82 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button logInfo;
#line default
#line hidden
#line 85 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button Minimized;
@ -150,12 +142,9 @@ namespace Aucma.Scada.UI {
this.assemblyPlan = ((System.Windows.Controls.Button)(target));
return;
case 6:
this.logInfo = ((System.Windows.Controls.Button)(target));
return;
case 7:
this.Minimized = ((System.Windows.Controls.Button)(target));
return;
case 8:
case 7:
this.Exit = ((System.Windows.Controls.Button)(target));
return;
}

@ -1,4 +1,4 @@
#pragma checksum "..\..\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "761197E72019FA48DD888520668F10CC0A0310CFF8A6F9336B14C0A351ACC259"
#pragma checksum "..\..\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "638A8878353241AB42E35E5685925D9F0CFF05E8C4379C5912D6CA9388326C41"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
@ -81,14 +81,6 @@ namespace Aucma.Scada.UI {
#line hidden
#line 82 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button logInfo;
#line default
#line hidden
#line 85 "..\..\MainWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button Minimized;
@ -150,12 +142,9 @@ namespace Aucma.Scada.UI {
this.assemblyPlan = ((System.Windows.Controls.Button)(target));
return;
case 6:
this.logInfo = ((System.Windows.Controls.Button)(target));
return;
case 7:
this.Minimized = ((System.Windows.Controls.Button)(target));
return;
case 8:
case 7:
this.Exit = ((System.Windows.Controls.Button)(target));
return;
}

@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Page\InStoreInfo\InStoreInfoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "A05E59C5C19F8D68AD26227566090DA3164C037974EBC97A5B9A5093BEF8411F"
#pragma checksum "..\..\..\..\Page\InStoreInfo\InStoreInfoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "430915393B7A687977740039B60BB56C199BB3E802591274D005F1B9698F1B23"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
@ -43,7 +43,7 @@ namespace Aucma.Scada.UI.Page.InStoreInfo {
public partial class InStoreInfoControl : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
#line 157 "..\..\..\..\Page\InStoreInfo\InStoreInfoControl.xaml"
#line 124 "..\..\..\..\Page\InStoreInfo\InStoreInfoControl.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.DataGrid DG;
@ -51,7 +51,7 @@ namespace Aucma.Scada.UI.Page.InStoreInfo {
#line hidden
#line 191 "..\..\..\..\Page\InStoreInfo\InStoreInfoControl.xaml"
#line 158 "..\..\..\..\Page\InStoreInfo\InStoreInfoControl.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListBox listBox;

@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Page\InStoreInfo\InStoreInfoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "A05E59C5C19F8D68AD26227566090DA3164C037974EBC97A5B9A5093BEF8411F"
#pragma checksum "..\..\..\..\Page\InStoreInfo\InStoreInfoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "430915393B7A687977740039B60BB56C199BB3E802591274D005F1B9698F1B23"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
@ -43,7 +43,7 @@ namespace Aucma.Scada.UI.Page.InStoreInfo {
public partial class InStoreInfoControl : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
#line 157 "..\..\..\..\Page\InStoreInfo\InStoreInfoControl.xaml"
#line 124 "..\..\..\..\Page\InStoreInfo\InStoreInfoControl.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.DataGrid DG;
@ -51,7 +51,7 @@ namespace Aucma.Scada.UI.Page.InStoreInfo {
#line hidden
#line 191 "..\..\..\..\Page\InStoreInfo\InStoreInfoControl.xaml"
#line 158 "..\..\..\..\Page\InStoreInfo\InStoreInfoControl.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListBox listBox;

@ -0,0 +1,76 @@
#pragma checksum "..\..\..\..\Page\InventoryInfo\BomFoamRearInventory.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "5A0A7247B4571E3DD7415542333B852B36087FEC3BE794D74968C156CAEE5A44"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using Aucma.Scada.UI.Converter.LinerInventory;
using Aucma.Scada.UI.Page.InventoryInfo;
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace Aucma.Scada.UI.Page.InventoryInfo {
/// <summary>
/// BomFoamRearInventory
/// </summary>
public partial class BomFoamRearInventory : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/Aucma.Scada.UI;component/page/inventoryinfo/bomfoamrearinventory.xaml", System.UriKind.Relative);
#line 1 "..\..\..\..\Page\InventoryInfo\BomFoamRearInventory.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
this._contentLoaded = true;
}
}
}

@ -0,0 +1,76 @@
#pragma checksum "..\..\..\..\Page\InventoryInfo\BomFoamRearInventory.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "5A0A7247B4571E3DD7415542333B852B36087FEC3BE794D74968C156CAEE5A44"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using Aucma.Scada.UI.Converter.LinerInventory;
using Aucma.Scada.UI.Page.InventoryInfo;
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace Aucma.Scada.UI.Page.InventoryInfo {
/// <summary>
/// BomFoamRearInventory
/// </summary>
public partial class BomFoamRearInventory : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/Aucma.Scada.UI;component/page/inventoryinfo/bomfoamrearinventory.xaml", System.UriKind.Relative);
#line 1 "..\..\..\..\Page\InventoryInfo\BomFoamRearInventory.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
this._contentLoaded = true;
}
}
}

@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Page\InventoryInfo\InventoryInfoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "6A55CBF2628CDCC879F1C2CA6DC966FD22A94F6297C7C9E1BC0CC93B2D8F0316"
#pragma checksum "..\..\..\..\Page\InventoryInfo\InventoryInfoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "6A07B725F3EEFBCEA5B9596BE2B77F9059A2F7DD44CD789C7ED9CF566D5F4AEF"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
@ -56,6 +56,14 @@ namespace Aucma.Scada.UI.Page.InventoryInfo {
#line default
#line hidden
#line 17 "..\..\..\..\Page\InventoryInfo\InventoryInfoControl.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button boxFoamRearInventory;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
@ -92,6 +100,9 @@ namespace Aucma.Scada.UI.Page.InventoryInfo {
case 2:
this.linerInventory = ((System.Windows.Controls.Button)(target));
return;
case 3:
this.boxFoamRearInventory = ((System.Windows.Controls.Button)(target));
return;
}
this._contentLoaded = true;
}

@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Page\InventoryInfo\InventoryInfoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "6A55CBF2628CDCC879F1C2CA6DC966FD22A94F6297C7C9E1BC0CC93B2D8F0316"
#pragma checksum "..\..\..\..\Page\InventoryInfo\InventoryInfoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "6A07B725F3EEFBCEA5B9596BE2B77F9059A2F7DD44CD789C7ED9CF566D5F4AEF"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
@ -56,6 +56,14 @@ namespace Aucma.Scada.UI.Page.InventoryInfo {
#line default
#line hidden
#line 17 "..\..\..\..\Page\InventoryInfo\InventoryInfoControl.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.Button boxFoamRearInventory;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
@ -92,6 +100,9 @@ namespace Aucma.Scada.UI.Page.InventoryInfo {
case 2:
this.linerInventory = ((System.Windows.Controls.Button)(target));
return;
case 3:
this.boxFoamRearInventory = ((System.Windows.Controls.Button)(target));
return;
}
this._contentLoaded = true;
}

@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Page\OutStoreInfo\OutStoreInfoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "C5334908BC685EB41E80463B44FC34AA45EBA1BCDF54EBF6AEE317A996E0846C"
#pragma checksum "..\..\..\..\Page\OutStoreInfo\OutStoreInfoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "A11D46661093D23F5122F1DFB5391D463977D15F73CD586D4907C4F6C447E7B2"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。

@ -1,4 +1,4 @@
#pragma checksum "..\..\..\..\Page\OutStoreInfo\OutStoreInfoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "C5334908BC685EB41E80463B44FC34AA45EBA1BCDF54EBF6AEE317A996E0846C"
#pragma checksum "..\..\..\..\Page\OutStoreInfo\OutStoreInfoControl.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "A11D46661093D23F5122F1DFB5391D463977D15F73CD586D4907C4F6C447E7B2"
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。

@ -41,63 +41,53 @@ namespace Aucma.Scada.UI.viewModel.InStoreInfo
#region 参数定义
/// <summary>
/// 箱壳物料条码
/// 物料条码
/// </summary>
private string shellMaterialCode = string.Empty;
public string ShellMaterialCode
private string materialCode = string.Empty;
public string MaterialCode
{
get { return shellMaterialCode; }
set { shellMaterialCode = value; RaisePropertyChanged(nameof(ShellMaterialCode)); }
get { return materialCode; }
set { materialCode = value; RaisePropertyChanged(nameof(MaterialCode)); }
}
/// <summary>
/// 箱壳物料名称
/// 扫码时间
/// </summary>
private string shellMaterialName = string.Empty;
public string ShellMaterialName
private string scanTime = string.Empty;
public string ScanTime
{
get { return shellMaterialName; }
set { shellMaterialName = value; RaisePropertyChanged(nameof(ShellMaterialName)); }
get { return scanTime; }
set { scanTime = value; RaisePropertyChanged(nameof(ScanTime)); }
}
/// <summary>
/// 箱壳入库货道
/// 物料名称
/// </summary>
private string shellSpaceName = string.Empty;
public string ShellSpaceName
private string materialName = string.Empty;
public string MaterialName
{
get { return shellSpaceName; }
set { shellSpaceName = value; RaisePropertyChanged(nameof(ShellSpaceName)); }
get { return materialName; }
set { materialName = value; RaisePropertyChanged(nameof(MaterialName)); }
}
/// <summary>
/// 内胆物料条码
/// 入库货道
/// </summary>
private string linerMaterialCode = string.Empty;
public string LinerMaterialCode
private string spaceName = string.Empty;
public string SpaceName
{
get { return linerMaterialCode; }
set { linerMaterialCode = value; RaisePropertyChanged(nameof(LinerMaterialCode)); }
get { return spaceName; }
set { spaceName = value; RaisePropertyChanged(nameof(SpaceName)); }
}
/// <summary>
/// 内胆物料名称
/// 提示信息
/// </summary>
private string linerMaterialName = string.Empty;
public string LinerMaterialName
private string promptInfo = string.Empty;
public string PromptInfo
{
get { return linerMaterialName; }
set { linerMaterialName = value; RaisePropertyChanged(nameof(LinerMaterialName)); }
}
/// <summary>
/// 内胆入库货道
/// </summary>
private string linerSpaceName = string.Empty;
public string LinerSpaceName
{
get { return linerSpaceName; }
set { linerSpaceName = value; RaisePropertyChanged(nameof(LinerSpaceName)); }
get { return promptInfo; }
set { promptInfo = value; RaisePropertyChanged(nameof(PromptInfo)); }
}
@ -112,7 +102,7 @@ namespace Aucma.Scada.UI.viewModel.InStoreInfo
}
/// <summary>
/// 箱壳入库任务DataGrid
/// 入库任务DataGrid
/// </summary>
private IEnumerable instoreTask;
@ -123,18 +113,6 @@ namespace Aucma.Scada.UI.viewModel.InStoreInfo
}
/// <summary>
/// 内胆入库任务DataGrid
/// </summary>
private ObservableCollection<SysUserInfo> linerInstoreTask;
public ObservableCollection<SysUserInfo> LinerInstoreTask
{
get { return linerInstoreTask; }
set { linerInstoreTask = value; RaisePropertyChanged(() => LinerInstoreTask); }
}
/// <summary>
/// 任务列表搜索条件
/// </summary>
@ -317,18 +295,9 @@ namespace Aucma.Scada.UI.viewModel.InStoreInfo
/// <param name="materialType"></param>
private void RefreshScanInfo(string materialCode, string materialName, string spaceName, string materialType)
{
if (materialType == appConfig.shellStoreCode)
{
ShellMaterialCode = materialCode;
ShellMaterialName = materialName;
ShellSpaceName = spaceName;
}
else if (materialType == appConfig.linerStoreCode)
{
LinerMaterialCode = materialCode;
LinerMaterialName = materialName;
LinerSpaceName = spaceName;
}
MaterialCode = materialCode;
MaterialName = materialName;
SpaceName = spaceName;
}
}
}

@ -0,0 +1,221 @@
using Aucma.Scada.Business;
using Aucma.Scada.Model.domain;
using Aucma.Scada.UI.Page.InventoryInfo;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using HighWayIot.Config;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace Aucma.Scada.UI.viewModel.InventoryInfo
{
public class BoxFoamRearInventoryViewModel : ViewModelBase
{
[DllImport("user32.dll")]
public static extern int MessageBoxTimeoutA(IntPtr hWnd, string msg, string Caps, int type, int Id, int time);
private ObservableCollection<BaseSpaceInfo> spaceItems = new ObservableCollection<BaseSpaceInfo>();
private InventoryInfoBusiness inventoryInfoBusiness = InventoryInfoBusiness.Instance;
private OutStoreBusiness outStoreBusiness = OutStoreBusiness.Instance;
private AppConfig appConfig = AppConfig.Instance;
public BoxFoamRearInventoryViewModel()
{
#region 事件绑定
UpdateInStoreFlagCommand = new RelayCommand<object>(obj => UpdateInStoreFlag(obj));
UpdateOutStoreFlagCommand = new RelayCommand<object>(obj => UpdateOutStoreFlag(obj));
UpdateUnusualFlagCommand = new RelayCommand<object>(obj => UpdateUnusualFlag(obj));
UpdateSpaceStatusCommand = new RelayCommand<object>(obj => UpdateSpaceStatus(obj));
SpaceDetailCommand = new RelayCommand<object>(obj => SpaceDetail(obj));
OutOnlyOneCommand = new RelayCommand<object>(obj => OutOnlyOne(obj));
#endregion
Query();
}
#region 参数定义
public ObservableCollection<BaseSpaceInfo> _shapes;
public ObservableCollection<BaseSpaceInfo> Shapes
{
get { return _shapes; }
set { _shapes = value; RaisePropertyChanged(nameof(Shapes)); }
}
#endregion
#region 事件定义
/// <summary>
/// 修改入库状态标识
/// </summary>
public RelayCommand<object> UpdateInStoreFlagCommand { get; set; }
/// <summary>
/// 修改出库状态标识
/// </summary>
public RelayCommand<object> UpdateOutStoreFlagCommand { get; set; }
/// <summary>
/// 修改异常状态标识
/// </summary>
public RelayCommand<object> UpdateUnusualFlagCommand { get; set; }
/// <summary>
/// 修改货道状态
/// </summary>
public RelayCommand<object> UpdateSpaceStatusCommand { get; set; }
/// <summary>
/// 货道明细
/// </summary>
public RelayCommand<object> SpaceDetailCommand { get; set; }
/// <summary>
/// 出一个
/// </summary>
public RelayCommand<object> OutOnlyOneCommand { get; set; }
#endregion
private void Query()
{
var info = inventoryInfoBusiness.GetSpaceInfos(appConfig.linerStoreCode);
if (info != null)
{
if (spaceItems.Count > 0)
{
spaceItems.Clear();
}
foreach (var item in info)
{
spaceItems.Add(item);
}
Shapes = spaceItems;
}
}
/// <summary>
/// 货道入库标识设置
/// </summary>
/// <param name="obj"></param>
private void UpdateInStoreFlag(object obj)
{
string info = obj as string;
bool result = inventoryInfoBusiness.UpdateInStoreFlag(appConfig.linerStoreCode, info);
if (result)
{
Query();
MessageBoxTimeoutA((IntPtr)0, $"货道入库状态修改成功3秒后关闭提示", "提示", 0, 0, 3000);
}
else
{
MessageBox.Show("货道入库状态修改失败");
}
}
/// <summary>
/// 货道出库标识设置
/// </summary>
/// <param name="obj"></param>
private void UpdateOutStoreFlag(object obj)
{
string info = obj as string;
bool result = inventoryInfoBusiness.UpdateOutStoreFlag(appConfig.linerStoreCode, info);
if (result)
{
Query();
MessageBoxTimeoutA((IntPtr)0, $"货道出库状态修改成功3秒后关闭提示", "提示", 0, 0, 3000);
}
else
{
MessageBox.Show("货道出库状态修改失败");
}
}
/// <summary>
/// 货道异常标识设置
/// </summary>
/// <param name="obj"></param>
private void UpdateUnusualFlag(object obj)
{
string info = obj as string;
bool result = inventoryInfoBusiness.UpdateUnusualFlag(appConfig.linerStoreCode, info);
if (result)
{
Query();
MessageBoxTimeoutA((IntPtr)0, $"货道异常标识修改成功3秒后关闭提示", "提示", 0, 0, 3000);
}
else
{
MessageBox.Show("货道异常标识修改失败");
}
}
/// <summary>
/// 修改货道状态
/// </summary>
/// <param name="obj"></param>
private void UpdateSpaceStatus(object obj)
{
string info = obj as string;
bool result = inventoryInfoBusiness.UpdateSpaceStatus(appConfig.linerStoreCode, info);
if (result)
{
Query();
MessageBoxTimeoutA((IntPtr)0, $"货道状态修改成功3秒后关闭提示", "提示", 0, 0, 3000);
}
else
{
MessageBox.Show("货道状态修改失败");
}
}
/// <summary>
/// 货道明细
/// </summary>
/// <param name="obj"></param>
private void SpaceDetail(object obj)
{
string info = obj as string;
SpaceDetailWindow spaceDetailWindow = new SpaceDetailWindow(appConfig.linerStoreCode, info);
spaceDetailWindow.Show();
inventoryInfoBusiness.RefreshBaseSpaceDetails(appConfig.linerStoreCode, info);
}
/// <summary>
/// 手动出一个
/// </summary>
/// <param name="obj"></param>
private void OutOnlyOne(object obj)
{
string info = obj as string;
bool result = outStoreBusiness.OutOnlyOneBySpaceCode(appConfig.linerStoreCode, info);
if (result)
{
Query();
MessageBoxTimeoutA((IntPtr)0, $"出库任务创建成功3秒后关闭提示", "提示", 0, 0, 3000);
}
else
{
MessageBox.Show("出库任务创建失败");
}
}
}
}

@ -15,6 +15,8 @@ namespace Aucma.Scada.UI.viewModel.InventoryInfo
private LinerInventory linerInventory = new LinerInventory();
private BomFoamRearInventory boxFoamRearInventory = new BomFoamRearInventory();
public InventoryInfoViewModel()
{
InventoryOnClickCommand = new RelayCommand<object>(obj => InventoryOnClick(obj));
@ -62,6 +64,9 @@ namespace Aucma.Scada.UI.viewModel.InventoryInfo
case "linerInventory":
InventoryControl = linerInventory;
break;
case "boxFoamRearInventory":
InventoryControl = boxFoamRearInventory;
break;
default:
InventoryControl = shellInventory;
break;

@ -36,64 +36,65 @@ namespace Aucma.Scada.UI.viewModel.OutStoreInfo
#region 参数定义
/// <summary>
/// 箱壳物料条码
/// 任务编号
/// </summary>
private string shellMaterialCode = string.Empty;
public string ShellMaterialCode
private string taskCode = string.Empty;
public string TaskCode
{
get { return shellMaterialCode; }
set { shellMaterialCode = value; RaisePropertyChanged(nameof(ShellMaterialCode)); }
get { return taskCode; }
set { taskCode = value; RaisePropertyChanged(nameof(TaskCode)); }
}
/// <summary>
/// 箱壳物料名称
/// 计划编号
/// </summary>
private string shellMaterialName = string.Empty;
public string ShellMaterialName
private string planCode = string.Empty;
public string PlanCode
{
get { return shellMaterialName; }
set { shellMaterialName = value; RaisePropertyChanged(nameof(ShellMaterialName)); }
get { return planCode; }
set { planCode = value; RaisePropertyChanged(nameof(PlanCode)); }
}
/// <summary>
/// 箱壳入库货道
/// 订单编号
/// </summary>
private string shellSpaceName = string.Empty;
public string ShellSpaceName
private string orderCode = string.Empty;
public string OrderCode
{
get { return shellSpaceName; }
set { shellSpaceName = value; RaisePropertyChanged(nameof(ShellSpaceName)); }
get { return orderCode; }
set { orderCode = value; RaisePropertyChanged(nameof(OrderCode)); }
}
/// <summary>
/// 内胆物料条码
/// 物料条码
/// </summary>
private string linerMaterialCode = string.Empty;
public string LinerMaterialCode
private string materialCode = string.Empty;
public string MaterialCode
{
get { return linerMaterialCode; }
set { linerMaterialCode = value; RaisePropertyChanged(nameof(LinerMaterialCode)); }
get { return materialCode; }
set { materialCode = value; RaisePropertyChanged(nameof(MaterialCode)); }
}
/// <summary>
/// 内胆物料名称
/// 物料名称
/// </summary>
private string linerMaterialName = string.Empty;
public string LinerMaterialName
private string materialName = string.Empty;
public string MaterialName
{
get { return linerMaterialName; }
set { linerMaterialName = value; RaisePropertyChanged(nameof(LinerMaterialName)); }
get { return materialName; }
set { materialName = value; RaisePropertyChanged(nameof(MaterialName)); }
}
/// <summary>
/// 内胆入库货道
/// 库货道
/// </summary>
private string linerSpaceName = string.Empty;
public string LinerSpaceName
private string spaceName = string.Empty;
public string SpaceName
{
get { return linerSpaceName; }
set { linerSpaceName = value; RaisePropertyChanged(nameof(LinerSpaceName)); }
get { return spaceName; }
set { spaceName = value; RaisePropertyChanged(nameof(SpaceName)); }
}
@ -221,18 +222,10 @@ namespace Aucma.Scada.UI.viewModel.OutStoreInfo
/// <param name="storeCode"></param>
private void RefreshScanInfo(string materialCode, string materialName, string spaceName, string storeCode)
{
if (storeCode == appConfig.shellStoreCode)
{
ShellMaterialCode = materialCode;
ShellMaterialName = materialName;
ShellSpaceName = spaceName;
}
else if (storeCode == appConfig.linerStoreCode)
{
LinerMaterialCode = materialCode;
LinerMaterialName = materialName;
LinerSpaceName = spaceName;
}
MaterialCode = materialCode;
MaterialName = materialName;
SpaceName = spaceName;
Query();
}

@ -21,7 +21,7 @@ namespace HighWayIot.Config
private AppConfig()
{
stationName = "箱壳内胆组装";
stationName = "泡后库";
}
public string mesConnStr
@ -73,6 +73,12 @@ namespace HighWayIot.Config
set { iniHelper.IniWriteValue("system", "linerStoreCode", value); }
}
public string foamStoreCode
{
get { return iniHelper.IniReadValue("system", "foamStoreCode"); }
set { iniHelper.IniWriteValue("system", "foamStoreCode", value); }
}
/// <summary>
/// 箱壳物料类型编号
/// </summary>
@ -126,5 +132,14 @@ namespace HighWayIot.Config
get { return iniHelper.IniReadValue("system", "linerHikRobotIp"); }
set { iniHelper.IniWriteValue("system", "linerHikRobotIp", value); }
}
/// <summary>
/// 泡后库扫码器IP
/// </summary>
public string foamHikRobotIp
{
get { return iniHelper.IniReadValue("system", "foamHikRobotIp"); }
set { iniHelper.IniWriteValue("system", "foamHikRobotIp", value); }
}
}
}

Loading…
Cancel
Save