liulb@mesnac.com 1 year ago
parent 025cc5c4f2
commit 442f47db9f

@ -66,5 +66,21 @@ namespace Admin.Core.Common
Configuration.Bind(string.Join(":", sections), list);
return list;
}
/// <summary>
/// 封装要操作的字符
/// </summary>
/// <param name="sections">节点配置</param>
/// <returns></returns>
public static string WriteApp(string sections,string value)
{
try
{
Configuration[sections] = value;
}
catch (Exception) { }
return "";
}
}
}

@ -16,18 +16,9 @@ namespace Aucma.Core.PrintTo.Views
this.DataContext = new IndexPageViewModel();
}
/// <summary>
/// 点击按钮带出键盘
/// </summary>
/// <returns></returns>
private void ClickQuery()
{
CommHelper.OpenOsk();
}
private void queryParam_PreviewMouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
ClickQuery();
CommHelper.OpenOsk();
}
}
}

@ -33,7 +33,7 @@
<Page Update="Assets\Styles\DefaultStyles.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="Views\IndexPage.xaml">
<Page Update="Views\IndexPageView.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="Views\InventoryStatisticsPageView.xaml">

@ -30,5 +30,10 @@ namespace Aucma.Core.SheetMetal.Common
get { return iniHelper.IniReadValue("system", "searchItems"); }
set { iniHelper.IniWriteValue("system", "searchItems", value); }
}
public string queryExec
{
get { return iniHelper.IniReadValue("system", "ExecState"); }
set { iniHelper.IniWriteValue("system", "ExecState", value); }
}
}
}

@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Aucma.Core.SheetMetal.Common
{
public class CommHelper
{
#region 打开软盘
/// <summary>
/// 打开软盘
/// </summary>
public static void OpenOsk()
{
try
{
Process proc = new Process();
proc.StartInfo.FileName = @"C:\Windows\System32\osk.exe";
proc.StartInfo.UseShellExecute = true;
proc.StartInfo.Verb = "runas";
proc.Start();
}
catch
{
}
}
#endregion
}
}

@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Aucma.Core.SheetMetal.Models
{
public class SelectModel
{
public int ID { get; set; }
/// <summary>
/// 类型
/// </summary>
public string TypeName { get; set; }
}
}

@ -57,5 +57,9 @@ namespace Aucma.Core.SheetMetal.Models
/// 计划任务执行编号
/// </summary>
public string TaskCode { get; set; }
/// <summary>
/// 执行状态1-待执行2-执行中3-完成
/// </summary>
public int ExecuteStatus { get; set; }
}
}

@ -22,6 +22,7 @@ using log4net;
using Admin.Core.Common;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using System.Drawing.Drawing2D;
using System.ComponentModel;
/*
*
*
@ -31,9 +32,19 @@ namespace Aucma.Core.SheetMetal.ViewModels
public partial class IndexPageViewModel : ObservableObject
{
protected readonly IExecutePlanInfoServices? _taskExecutionPlanInfoServices;
private AppConfigHelper appConfig = new AppConfigHelper();
List<SelectModel> list = new List<SelectModel>() { new SelectModel()
{
ID=1,
TypeName="手动"
},
new SelectModel()
{
ID=2,
TypeName="自动"
}};
int k = 100;
#region 构造函数
public IndexPageViewModel()
{
_taskExecutionPlanInfoServices = App.ServiceProvider.GetService<IExecutePlanInfoServices>();
@ -47,9 +58,17 @@ namespace Aucma.Core.SheetMetal.ViewModels
{
await LoadData();
await InitExecMethod();
});
InitEveryDayMethod();
foreach (var item in list)
{
LocationSource.Add(item);
}
SelectLocation = ReadFile();
}
#endregion
#region 订单统计
@ -155,6 +174,7 @@ namespace Aucma.Core.SheetMetal.ViewModels
}
task.PlanType = planType;
task.TaskCode = item.TaskCode;
task.ExecuteStatus= item.ExecuteStatus;
PlanInfoDataGrid.Add(task);
i++;
@ -444,17 +464,77 @@ namespace Aucma.Core.SheetMetal.ViewModels
#endregion
#endregion
#region 下拉框 选择执行状态
/// <summary>
/// 下拉框 选择执行状态
/// </summary>
private string materialTypeCombox;
public string MaterialTypeCombox
{
get { return materialTypeCombox; }
set
{
materialTypeCombox = value;
SetProperty(ref materialTypeCombox, value);
}
}
/// <summary>
/// 当ComboBox选中项更改时发生
/// </summary>
private SelectModel _selectLocation;
public SelectModel SelectLocation
{
get
{
return this._selectLocation;
}
set
{
this._selectLocation = value;
//这里操作更改变化的值
//MessageBox.Show(_selectLocation.ID);
if (_selectLocation != null)
{
WriteFile(_selectLocation.ID);
}
SetProperty(ref _selectLocation, value);
}
}
private ObservableCollection<SelectModel> _locationRoad = new ObservableCollection<SelectModel>();
/// <summary>
/// 集合数据
/// </summary>
public ObservableCollection<SelectModel> LocationSource
{
get
{
return this._locationRoad;
}
set
{
SetProperty(ref _locationRoad, value);
}
}
#endregion
#region 刷新列表-其他界面刷新该方法
/// <summary>
/// 刷新列表
/// </summary>
/// <param name="recipient"></param>
/// <param name="message"></param>
private async void Recive(object recipient, object message)
private async void Recive(object recipient, string message)
{
if (message== "Refresh")
{
PlanInfoDataGrid.Clear();
await LoadData();
}
}
#endregion
#region 刷新界面显示数据
@ -474,10 +554,24 @@ namespace Aucma.Core.SheetMetal.ViewModels
MesMOrderCode = info.ProductPlanCode;
ProductModel = info.MaterialName;
BeginTime = info.BeginTime.ToString();
}));
return Task.CompletedTask;
}
#endregion
#region 读写文件
public void WriteFile(int obj)
{
//写入到配置文件中
appConfig.queryExec = obj.ToString();
}
public SelectModel ReadFile()
{
//读取入到配置文件中
var queryExec = appConfig.queryExec;
var model = list.FirstOrDefault(d => d.ID == int.Parse(queryExec));
return model;
}
#endregion
}
}

@ -8,13 +8,14 @@ using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Windows.Interop;
using System.Collections.ObjectModel;
using Admin.Core.Common;
namespace Aucma.Core.SheetMetal.ViewModels
{
public partial class MainWindowViewModel : ObservableObject
{
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(MainWindowViewModel));
private IndexPage firstPage = new IndexPage();//首页
private IndexPageView firstPage = new IndexPageView();//首页
private LogPageView logPage = new LogPageView();//日志
private StatisticsPageView statisticsPage = new StatisticsPageView();//统计

@ -1,6 +1,7 @@
using Aucma.Core.SheetMetal.Common;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
@ -16,7 +17,7 @@ namespace Aucma.Core.SheetMetal.ViewModels
private AppConfigHelper appConfig =new AppConfigHelper();
public SearchCriteriaViewModel()
{
Init();
}
#region 关闭当前页
@ -72,6 +73,7 @@ namespace Aucma.Core.SheetMetal.ViewModels
{
Configurations.Add(item);
}
WeakReferenceMessenger.Default.Send<string>("RefreshSearchItems");//刷新窗口
}
#endregion
}

@ -17,6 +17,7 @@ using CommunityToolkit.Mvvm.Messaging;
using Aucma.Core.SheetMetal.Views;
using Aucma.Core.SheetMetal.Common;
using System.Windows.Input;
using Admin.Core.Common;
namespace Aucma.Core.SheetMetal.ViewModels
{
@ -32,12 +33,10 @@ namespace Aucma.Core.SheetMetal.ViewModels
{
_productPlanInfoServices = App.ServiceProvider.GetService<IProductPlanInfoServices>();
_executePlanInfoServices = App.ServiceProvider.GetService<IExecutePlanInfoServices>();
Task.Run(async () =>{
await LoadData();
});
Task.WaitAll(LoadData());
//加载快捷方式
SaveSearchCriteria();
//WeakReferenceMessenger.Default.Register<string>;
WeakReferenceMessenger.Default.Register<string>(this, SaveSearchCriteria);
}
#region 加载DataGrid数据
@ -267,7 +266,9 @@ namespace Aucma.Core.SheetMetal.ViewModels
#region 查询快捷查询方式
private void SaveSearchCriteria()
private void SaveSearchCriteria(object recipient, string message)
{
if (message== "RefreshSearchItems")
{
Configurations = new ObservableCollection<string>();
var searchItems = appConfig.searchItems;
@ -282,6 +283,21 @@ namespace Aucma.Core.SheetMetal.ViewModels
}
}
}
private void SaveSearchCriteria()
{
Configurations = new ObservableCollection<string>();
var searchItems = appConfig.searchItems;
var split = searchItems.Split('%');
foreach (var item in split)
{
if (!string.IsNullOrEmpty(item))
{
Configurations.Add(item);
}
}
}
#endregion
#region 双击事件
@ -315,7 +331,8 @@ namespace Aucma.Core.SheetMetal.ViewModels
[RelayCommand]
public async Task RadioButton(string selectedOption)
{
List<ProductPlanInfo> planInfos = await _productPlanInfoServices.QueryAsync(d => d.ProductLineCode.Equals(_search));
string productLineCode = Appsettings.app("StoreInfo", "ProductLineCode");
List<ProductPlanInfo> planInfos = await _productPlanInfoServices.QueryAsync(d => d.ProductLineCode.Equals(productLineCode) && d.MaterialName.Contains(selectedOption));
if (planInfos != null)
{
if (planInfos.Count > 0)
@ -323,7 +340,7 @@ namespace Aucma.Core.SheetMetal.ViewModels
MaterialDataGrid.Clear();
int i = 1;
var execList = await _executePlanInfoServices.QueryAsync(d => d.ProductLineCode.Equals(_search));
var execList = await _executePlanInfoServices.QueryAsync(d => d.ProductLineCode.Equals(productLineCode));
foreach (var item in planInfos)
{
int residue = 0;

@ -1,4 +1,4 @@
<UserControl x:Class="Aucma.Core.SheetMetal.Views.IndexPage"
<UserControl x:Class="Aucma.Core.SheetMetal.Views.IndexPageView"
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"
@ -19,7 +19,6 @@
<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"/>
@ -65,9 +64,9 @@
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#4285DE"/>
<!--<Setter Property="Foreground" Value="#dddddd"/>-->
<Setter Property="Foreground" Value="White"/>
</Trigger>
<DataTrigger Binding="{Binding No}" Value="3">
<DataTrigger Binding="{Binding ExecuteStatus}" Value="2">
<Setter Property="Background" Value="#4285DE" />
</DataTrigger>
</Style.Triggers>
@ -293,24 +292,11 @@
<RowDefinition Height="6*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<DataGrid Grid.Row="0" ItemsSource="{Binding PlanInfoDataGrid}" Background="#00000000"
ColumnHeaderHeight="35"
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden" BorderThickness="0" CanUserAddRows="False"
SelectionMode="Single" IsReadOnly="True"
Foreground="White">
<!--根据设定值变色-->
<!--<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding No}" Value="3">
<Setter Property="Background" Value="#4285DE" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>-->
<DataGrid x:Name="dgvMH" ItemsSource="{Binding PlanInfoDataGrid}"
HorizontalAlignment="Center" VerticalAlignment="Top" AlternationCount="2" RowHeaderWidth="0"
ColumnWidth="*" AutoGenerateColumns="False" IsReadOnly="True"
CanUserAddRows="False" SelectionMode="Single" Foreground="White"
SelectedItem="{Binding SelectedCells, Mode=OneWayToSource}" FontSize="18">
<DataGrid.Columns >
<DataGridTextColumn Binding="{Binding ID}" Header="主键" Width="auto" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" Visibility="Hidden" />
<DataGridTextColumn Binding="{Binding No}" x:Name="No" Header="编号" Width="0.5*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />
@ -320,6 +306,7 @@
<DataGridTextColumn Binding="{Binding CompleteAmount}" Header="完成" Width="0.6*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding PlanType}" Header="计划类型" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding BeginTime ,StringFormat=\{0:MM-dd HH:mm\}}" Header="开始时间" Width="1.2*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding ExecuteStatus}" Header="执行状态" Visibility="Collapsed"/>
<DataGridTemplateColumn Header="操作" Width="3.5*" >
<DataGridTemplateColumn.CellTemplate>
@ -341,9 +328,15 @@
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,20,0">
<TextBlock Text="执行方式" VerticalAlignment="Center" Foreground="White" FontSize="18" Margin="20,0,0,0"/>
<ComboBox Text="{Binding MaterialTypeCombox}" Width="200" Height="30" Margin="10 0 0 0" Style="{x:Null}" Background="#1152AC" VerticalAlignment="Center" FontSize="18" BorderBrush="#1152AC">
<ComboBoxItem Content="手动" IsSelected="True"/>
<ComboBoxItem Content="自动" />
<ComboBox Width="200" Height="30" Margin="10 0 0 0"
ItemsSource="{Binding LocationSource,Mode=OneWay}"
Style="{x:Null}" Background="#1152AC" VerticalAlignment="Center" FontSize="15"
SelectedItem="{Binding SelectLocation,Mode=TwoWay}"
SelectedValuePath="SelectedModel"
DisplayMemberPath="TypeName"
SelectedValue="{Binding SelectLocation,Mode=TwoWay}">
<!--<ComboBoxItem Content="手动" IsSelected="True"/>
<ComboBoxItem Content="自动" />-->
</ComboBox>
<Button Content="计划维护" Command="{Binding SplitPlanCommand}" Margin="20,0,0,0" BorderThickness="1" />
<Button Content="物料库存" Command="{Binding InventoryStatisticsCommand}" Margin="20,0,0,0" BorderThickness="1" />

@ -18,11 +18,11 @@ using System.Windows.Shapes;
namespace Aucma.Core.SheetMetal.Views
{
/// <summary>
/// IndexPage.xaml 的交互逻辑
/// IndexPageView.xaml 的交互逻辑
/// </summary>
public partial class IndexPage : UserControl
public partial class IndexPageView : UserControl
{
public IndexPage()
public IndexPageView()
{
InitializeComponent();
this.DataContext = new IndexPageViewModel();

@ -62,7 +62,7 @@
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Text="下达数量" FontSize="18" Foreground="#FFFFFF" Margin="10,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBox x:Name="TransmitAmount" FontSize="18" Text="{Binding TransmitAmount}" Foreground="#FFFFFF" BorderBrush="White" Width="150" Height="40" IsReadOnly="True" Margin="5,0,10,0"/>
<TextBox x:Name="TransmitAmount" VerticalContentAlignment="Center" FontSize="18" Text="{Binding TransmitAmount}" Foreground="#FFFFFF" BorderBrush="White" Width="150" Height="40" IsReadOnly="True" Margin="5,0,10,0"/>
</StackPanel>
<Border Grid.Row="1" BorderBrush="Black" BorderThickness="0" Margin="10">

@ -167,7 +167,7 @@
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" Margin="5" VerticalAlignment="Center">
<Label Content="工单编号" VerticalAlignment="Center" Foreground="White" FontSize="18" />
<TextBox x:Name="queryParam" Text="{Binding Search,Mode=TwoWay}" Style="{x:Null}" Width="300" HorizontalAlignment="Left" VerticalContentAlignment="Center" Margin="10 0 5 0"/>
<TextBox x:Name="queryParam" PreviewMouseDoubleClick="queryParam_PreviewMouseDoubleClick" Text="{Binding Search,Mode=TwoWay}" Style="{x:Null}" Width="300" HorizontalAlignment="Left" VerticalContentAlignment="Center" Margin="10 0 5 0"/>
<Button Content="查 询" Command="{Binding QueryPlanCommand}" CommandParameter="{Binding Text, ElementName=queryParam}" Margin="5 0" />
<Button Content="重 置" Command="{Binding ResetCommand}" Margin="5 0" />
<Button Content="配 置" Command="{Binding SearchCriteriaSetCommand}" Margin="5 0" />

@ -1,4 +1,5 @@
using Aucma.Core.SheetMetal.ViewModels;
using Aucma.Core.SheetMetal.Common;
using Aucma.Core.SheetMetal.ViewModels;
using CommunityToolkit.Mvvm.Messaging;
using System.Windows;
using System.Windows.Input;
@ -28,5 +29,10 @@ namespace Aucma.Core.SheetMetal.Views
{
planInfoEditViewModel.MouseClick(sender);
}
private void queryParam_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
CommHelper.OpenOsk();
}
}
}

@ -73,7 +73,7 @@
"TriggerType": 1,
"IntervalSecond": 1,
"CycleRunTimes": 1,
"IsStart": true,
"IsStart": false,
"JobParams": null,
"DelFlag": false,
"CreateBy": "admin",
@ -115,9 +115,10 @@
},
"StoreInfo": {
"StationName": "箱壳前后板生产",
"shellStoreCode": "1001",
"linerStoreCode": "1001",
"foamBeforeStoreCode": "1001"
"ShellStoreCode": "1001",
"LinerStoreCode": "1001",
"FoamBeforeStoreCode": "1001",
"ProductLineCode": "1001"
},
"PLCServer": [
{

Loading…
Cancel
Save