feat - 添加生成标签,清除记录,前后端打通,前端界面微调

read_card
SoulStar 6 days ago
parent 6eef9f7760
commit 3a37b46a1d

@ -11,11 +11,6 @@ namespace SlnMesnac.Repository
///</summary> ///</summary>
public partial class real_readdata public partial class real_readdata
{ {
public real_readdata()
{
}
/// <summary> /// <summary>
/// Desc: /// Desc:
/// Default: /// Default:

@ -1,4 +1,4 @@
<UserControl x:Class="SlnMesnac.WPF.Page.IndexPage.HistorySearch" <Window x:Class="SlnMesnac.WPF.Page.IndexPage.HistorySearch"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
@ -7,8 +7,8 @@
xmlns:local="clr-namespace:SlnMesnac.WPF.Page.IndexPage" xmlns:local="clr-namespace:SlnMesnac.WPF.Page.IndexPage"
xmlns:cvt2="clr-namespace:SlnMesnac.WPF.Converter.Generate" xmlns:cvt2="clr-namespace:SlnMesnac.WPF.Converter.Generate"
mc:Ignorable="d" mc:Ignorable="d"
d:DesignHeight="900" d:DesignWidth="1620" Background="Transparent"> d:DesignHeight="900" d:DesignWidth="1620" Title="历史记录">
<UserControl.Resources> <Window.Resources>
<!--<converters:IsCheckedConverter x:Key="IsCheckedConverter"/>--> <!--<converters:IsCheckedConverter x:Key="IsCheckedConverter"/>-->
<!-- 定义样式 --> <!-- 定义样式 -->
<Style x:Key="CustomDatePicker" TargetType="DatePicker"> <Style x:Key="CustomDatePicker" TargetType="DatePicker">
@ -97,7 +97,7 @@
</Style.Triggers> </Style.Triggers>
</Style> </Style>
</UserControl.Resources> </Window.Resources>
<Border Grid.Row="1" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="2" CornerRadius="5" Background="Transparent" Margin="5"> <Border Grid.Row="1" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="2" CornerRadius="5" Background="Transparent" Margin="5">
@ -232,4 +232,4 @@
</Border> </Border>
</UserControl> </Window>

@ -22,7 +22,7 @@ namespace SlnMesnac.WPF.Page.IndexPage
/// ChangeType.xaml 的交互逻辑 /// ChangeType.xaml 的交互逻辑
/// </summary> /// </summary>
[RegisterAsSingletonAttribute] [RegisterAsSingletonAttribute]
public partial class HistorySearch : UserControl public partial class HistorySearch : Window
{ {
HistorySearchViewModel HistorySearchView; HistorySearchViewModel HistorySearchView;
public HistorySearch() public HistorySearch()

@ -209,13 +209,13 @@ Content="查询" Width="200" Visibility="Hidden" FontSize="20" Command="{Binding
<TextBox IsReadOnly="False" IsEnabled="True" Text="{Binding WriteCount,Mode=TwoWay}" Width="100" Height="30" FontSize="15" Foreground="Black" Margin="0,0,0,0" /> <TextBox IsReadOnly="False" IsEnabled="True" Text="{Binding WriteCount,Mode=TwoWay}" Width="100" Height="30" FontSize="15" Foreground="Black" Margin="0,0,0,0" />
<Button Content="生成编码" Width="100" Height="30" FontSize="15" Command="{Binding GenerateCodeCommand}" Background="#009999" Style="{StaticResource BUTTON_AGREE}" Margin="10,0,0,0"/> <Button Content="生成编码" Width="100" Height="30" FontSize="15" Command="{Binding GenerateCodeCommand}" Background="#009999" Style="{StaticResource BUTTON_AGREE}" Margin="10,0,0,0"/>
<Button Content="清除数据" Width="100" Height="30" FontSize="15" Command="{Binding ListClearCommand}" Background="#009999" Style="{StaticResource BUTTON_AGREE}" Margin="10,0,0,0"/> <Button Content="清除数据" Width="100" Height="30" FontSize="15" Command="{Binding ListClearCommand}" Background="#009999" Style="{StaticResource BUTTON_AGREE}" Margin="10,0,0,0"/>
<Button Content="清除数据" Width="100" Height="30" FontSize="15" Command="{Binding AutoWriteCommand}" Background="#009999" Style="{StaticResource BUTTON_AGREE}" Margin="10,0,0,0"/> <Button Content="自动写入" Width="100" Height="30" FontSize="15" Command="{Binding AutoWriteCommand}" Background="#009999" Style="{StaticResource BUTTON_AGREE}" Margin="10,0,0,0"/>
</WrapPanel> </WrapPanel>
</Grid> </Grid>
<!-- 数据表格绑定ViewModel中的历史记录 --> <!-- 数据表格绑定ViewModel中的历史记录 -->
<Grid Grid.Row="1"> <Grid Grid.Row="1">
<ScrollViewer VerticalScrollBarVisibility="Auto" Padding="0"> <ScrollViewer VerticalScrollBarVisibility="Auto" Padding="0">
<DataGrid x:Name="PrePareWriteDataGrid" Grid.Row="0" ItemsSource="{Binding PrepareedWriteList}" Background="#00000000" <DataGrid x:Name="PrePareWriteDataGrid" Grid.Row="0" ItemsSource="{Binding PreparedWriteList}" Background="#00000000"
ColumnHeaderHeight="35" Height="{Binding Path=ActualHeight, ElementName=ScanPanel}" ColumnHeaderHeight="35" Height="{Binding Path=ActualHeight, ElementName=ScanPanel}"
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0" FontSize="15" RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0" FontSize="15"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Auto" GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Auto"
@ -228,13 +228,13 @@ Content="查询" Width="200" Visibility="Hidden" FontSize="20" Command="{Binding
</Style> </Style>
</DataGrid.ColumnHeaderStyle> </DataGrid.ColumnHeaderStyle>
<DataGrid.Columns> <DataGrid.Columns>
<DataGridTextColumn Binding="{Binding LineNumber}" Header="编号" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" /> <DataGridTextColumn Binding="{Binding serialno}" Header="编号" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />
<DataGridTextColumn Binding="{Binding RFIDCode}" Header="RFID编码" Width="6*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" /> <DataGridTextColumn Binding="{Binding rfidascii}" Header="RFID编码" Width="6*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />
<DataGridTextColumn Binding="{Binding IsWrite}" Header="状态" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" /> <DataGridTextColumn Binding="{Binding writestatus}" Header="状态" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />
<DataGridTemplateColumn Header="操作" Width="2*"> <DataGridTemplateColumn Header="操作" Width="2*">
<DataGridTemplateColumn.CellTemplate> <DataGridTemplateColumn.CellTemplate>
<DataTemplate> <DataTemplate>
<Button Content="写入" Height="40" Width="100" Command="{Binding DataContext.WriteCommand, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" <Button Content="写入" Height="40" Width="100" Command="{Binding DataContext.RFIDWriteCommand, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"
CommandParameter="{Binding}"/> CommandParameter="{Binding}"/>
</DataTemplate> </DataTemplate>
</DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn.CellTemplate>

@ -1,287 +0,0 @@
using Autofac.Core;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Models;
using Nancy;
using Nancy.Json;
using Serilog;
using SlnMesnac.Common;
using SlnMesnac.Config;
using SlnMesnac.Model.domain;
using SlnMesnac.Repository;
using SlnMesnac.Repository.service;
using SlnMesnac.Rfid;
using SlnMesnac.Serilog;
using SlnMesnac.TouchSocket;
using SlnMesnac.WPF.Attribute;
using SlnMesnac.WPF.Model;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
using System.Windows.Controls;
using System.Windows.Forms;
using TouchSocket.Sockets;
namespace SlnMesnac.WPF.ViewModel.IndexPage
{
[RegisterAsSingletonAttribute]
public partial class ChangeTypeViewModel : ObservableObject
{
private AppConfig appConfig;
private ISqlSugarClient? sqlSugarClient;
string lineno = string.Empty;
private readonly SerilogHelper _logger;
public List<RfidAbsractFactory> rfidList;
public ObservableCollection<string> Items { get; set; }
public ChangeTypeViewModel()
{
_logger = App.ServiceProvider.GetService<SerilogHelper>();
appConfig = App.ServiceProvider.GetService<AppConfig>();
BeginDate = DateTime.Now.Date; // 当天的 0:00:00
UpdateCommand = new RelayCommand<object>(t => Update(t));
StopReadingCommand = new RelayCommand<object>(t => StopRead(t));
GetOrderInfoCommand = new RelayCommand<object>(t=> RefreshData(t));
sqlSugarClient = App.ServiceProvider.GetService<ISqlSugarClient>();
rfidList = App.ServiceProvider.GetRequiredService<List<RfidAbsractFactory>>();
Items = new ObservableCollection<string>();
foreach (var rfid in rfidList)
{
Items.Add(rfid.FilterData);
}
}
private string _QueryIsCheck = "";
public string QueryIsCheck
{
get { return _QueryIsCheck; }
set
{
_QueryIsCheck = value;
if (_QueryIsCheck != value)
{
SetProperty(ref _QueryIsCheck, value);
}
}
}
public RelayCommand<object> GetOrderInfoCommand { get; set; }
public RelayCommand<object> StopReadingCommand { get; set; }
private void Update(object parameter)
{
if (parameter == null)
{
return;
}
// 假设你的行模型叫 DictModel
var model = parameter as MesOrderInfo;
var label = model.OrderNo;
var ProductCode = model.ProductCode;
var ProductName = model.ProductName;
var ProductType = model.ProductType;
var PlanQty = model.PlanQty;
var NextProductNo = model.NextProductNo;
List<DeviceInfoConfig> DeviceInfos = appConfig.deviceInfoConfig.Where(x => x.Collectid == appConfig.StationCode && x.Name == QueryIsCheck.ToString().Trim() && x.Deleteflag == 0).ToList();
string mesOrderNo = MesOrderNo;
string rfidCount = RfidCount;
Real_DataInfo real_Data = new Real_DataInfo()
{
OrderNo = model.OrderNo,
Deviceid = DeviceInfos[0].Deviceid,
LineName = QueryIsCheck.ToString().Trim(),
LineNo = DeviceInfos[0].Addr,
ProductType = model.ProductType,
RfidCount = model.PlanQty.ToString(),
NextProductNo = model.NextProductNo.ToString("D3")
};
WeakReferenceMessenger.Default.Send(real_Data);
MessageBox.Show("MES订单切换成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
Log.Information($"{mesOrderNo}MES订单切换成功{JsonSerializer.Serialize(real_Data)}");
MainWindowViewModel.ReturnHomeAction?.Invoke();
}
/// <summary>
/// 停止读取RFID数据
/// </summary>
/// <param name="parameter"></param>
/// <returns></returns>
[RelayCommand]
private async Task StopRead(object parameter)
{
//获取设备编号
if (string.IsNullOrEmpty(QueryIsCheck.ToString().Trim()))
{
MessageBox.Show("请选择产线!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
List<DeviceInfoConfig> DeviceInfos = appConfig.deviceInfoConfig.Where(x => x.Collectid == appConfig.StationCode && x.Name == QueryIsCheck.ToString().Trim() && x.Deleteflag == 0).ToList();
var res = rfidList.FirstOrDefault(x => x.deviceid == DeviceInfos[0].Deviceid).Set_StopIdentify().GetAwaiter().GetResult();
if (res)
{
MessageBox.Show("停止盘点成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("停止盘点失败!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
/// <summary>
/// 从MES获取订单信息
/// </summary>
/// <param name="parameter"></param>
/// <returns></returns>
[RelayCommand]
private async Task RefreshData(object parameter)
{
//获取设备编号
if (string.IsNullOrEmpty(QueryIsCheck.ToString().Trim()))
{
MessageBox.Show("请选择产线!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else
{
List<DeviceInfoConfig> DeviceInfos = appConfig.deviceInfoConfig.Where(x => x.Collectid == appConfig.StationCode && x.Name == QueryIsCheck.ToString().Trim() && x.Deleteflag == 0).ToList();
lineno = DeviceInfos[0].Addr;
}
Console.WriteLine("调用MES获取订单接口");
//调用MES接口获取生产订单信息
//MessageBox.Show("MES订单获取成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
List<MesOrderInfo> mesOrderInfos = new List<MesOrderInfo>();
string response = "{\"code\":200,\"msg\":\"success\",\"data\":[{\"OrderNo\":\"SS075\",\"ProductCode\":\"4030502500100006\",\"ProductType\":\"钢丝带-ST-井下阻燃钢丝带\",\"ProductName\":\"输送带-井下阻燃钢丝带-ST\",\"ProductSpec\":\"1400mmST/S2500*18+8MT/MTD7.2P15N89\",\"PlanQty\":130.00,\"NextProductNo\":1}]}\r\n";
Console.WriteLine("接收MES接口返回:"+ response);
// 反序列化
try
{
var responsejson = JsonSerializer.Deserialize<MesApiResponse<MesOrderInfo>>(response, new JsonSerializerOptions { PropertyNameCaseInsensitive = true });
if (responsejson?.Data != null)
{
if (responsejson.Code != 200)
{
MessageBox.Show("MES订单获取失败!" + responsejson.Code + responsejson.Msg, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
Log.Information($"MES订单获取失败{JsonSerializer.Serialize(responsejson)}");
return;
}
//Console.WriteLine("序列化:" + responsejson.Code);
if (response != null)
{
ChangeTypePanel.Clear();
foreach (var item in responsejson.Data)
{
ChangeTypePanel.Add(item);
}
}
}
}
catch (Exception ex)
{
Log.Information($"JSON解析失败: {ex.Message}");
Log.Information($"原始内容: {response}");
MessageBox.Show("MES订单获取失败");
}
}
private DateTime _BeginDate;
public DateTime BeginDate
{
get { return _BeginDate; }
set
{
if (_BeginDate != value)
{
_BeginDate = value;
if (_BeginDate != value)
{
SetProperty(ref _BeginDate, value);
}
}
}
}
private string _MesOrderNo = "";
public string MesOrderNo
{
get { return _MesOrderNo; }
set
{
if (_MesOrderNo != value)
{
SetProperty(ref _MesOrderNo, value);
}
}
}
private string _RfidCount = "";
public string RfidCount
{
get { return _RfidCount; }
set
{
if (_RfidCount != value)
{
SetProperty(ref _RfidCount, value);
}
}
}
/// <summary>
///
/// </summary>
public RelayCommand<object> UpdateCommand { get; set; }
public RelayCommand<object> UpdateCommand1 { get; set; }
private string _ProductType;
public string ProductType
{
get => _ProductType;
set
{
if (_ProductType != value)
{
SetProperty(ref _ProductType, value);
}
}
}
private string _KTProductType;
public string KTProductType
{
get => _KTProductType;
set
{
if (_KTProductType != value)
{
SetProperty(ref _KTProductType, value);
}
}
}
private ObservableCollection<MesOrderInfo> _ChangeTypePanel = new ObservableCollection<MesOrderInfo>();
public ObservableCollection<MesOrderInfo> ChangeTypePanel
{
get => _ChangeTypePanel;
set => SetProperty(ref _ChangeTypePanel, value);
}
}
}

@ -1,6 +1,7 @@
using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging; using CommunityToolkit.Mvvm.Messaging;
using GalaSoft.MvvmLight; using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Serilog; using Serilog;
using SlnMesnac.Common; using SlnMesnac.Common;
@ -15,6 +16,7 @@ using SlnMesnac.Rfid.Enum;
using SlnMesnac.Serilog; using SlnMesnac.Serilog;
using SlnMesnac.WPF.Attribute; using SlnMesnac.WPF.Attribute;
using SlnMesnac.WPF.Model; using SlnMesnac.WPF.Model;
using SlnMesnac.WPF.Page.IndexPage;
using SqlSugar; using SqlSugar;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -36,7 +38,7 @@ using Task = System.Threading.Tasks.Task;
namespace SlnMesnac.WPF.ViewModel.IndexPage namespace SlnMesnac.WPF.ViewModel.IndexPage
{ {
[RegisterAsSingletonAttribute] [RegisterAsSingletonAttribute]
public class ProductionLineViewModel : ViewModelBase public class ProductionLineViewModel : ObservableObject
{ {
private static StringChange _StringChange; private static StringChange _StringChange;
private String SerialNo = ""; private String SerialNo = "";
@ -49,36 +51,51 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
#region 关联属性 #region 关联属性
/// <summary>
/// 历史遗留的达芬
/// </summary>
private ObservableCollection<Real_DataInfo> _Deviceinfo = new ObservableCollection<Real_DataInfo>(); private ObservableCollection<Real_DataInfo> _Deviceinfo = new ObservableCollection<Real_DataInfo>();
public ObservableCollection<Real_DataInfo> Deviceinfo public ObservableCollection<Real_DataInfo> Deviceinfo
{ {
get { return _Deviceinfo; } get { return _Deviceinfo; }
set set
{ {
_Deviceinfo = value; if (_Deviceinfo != value)
RaisePropertyChanged(() => Deviceinfo); {
SetProperty(ref _Deviceinfo, value);
}
} }
} }
/// <summary>
/// 准备写入的列表
/// </summary>
private ObservableCollection<real_readdata> _preparedWriteList = new ObservableCollection<real_readdata>(); private ObservableCollection<real_readdata> _preparedWriteList = new ObservableCollection<real_readdata>();
public ObservableCollection<real_readdata> PreparedWriteList public ObservableCollection<real_readdata> PreparedWriteList
{ {
get { return _preparedWriteList; } get { return _preparedWriteList; }
set set
{ {
_preparedWriteList = value; if (_preparedWriteList != value)
RaisePropertyChanged(() => PreparedWriteList); {
SetProperty(ref _preparedWriteList, value);
}
} }
} }
/// <summary>
/// 写入记录
/// </summary>
private ObservableCollection<real_readdata> _tempRecordList = new ObservableCollection<real_readdata>(); private ObservableCollection<real_readdata> _tempRecordList = new ObservableCollection<real_readdata>();
public ObservableCollection<real_readdata> TempRecordList public ObservableCollection<real_readdata> TempRecordList
{ {
get { return _tempRecordList; } get { return _tempRecordList; }
set set
{ {
_tempRecordList = value; if (_tempRecordList != value)
RaisePropertyChanged(() => TempRecordList); {
SetProperty(ref _tempRecordList, value);
}
} }
} }
@ -93,8 +110,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
{ {
if (_currentDateTime != value) if (_currentDateTime != value)
{ {
_currentDateTime = value; SetProperty(ref _currentDateTime, value);
RaisePropertyChanged(() => CurrentDateTime);
} }
} }
} }
@ -110,8 +126,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
{ {
if (_lastWriteState != value) if (_lastWriteState != value)
{ {
_lastWriteState = value; SetProperty(ref _lastWriteState, value);
RaisePropertyChanged(() => LastWriteState);
} }
} }
} }
@ -127,8 +142,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
{ {
if (_rfidConnectState != value) if (_rfidConnectState != value)
{ {
_rfidConnectState = value; SetProperty(ref _rfidConnectState, value);
RaisePropertyChanged(() => RFIDConnectState);
} }
} }
} }
@ -144,8 +158,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
{ {
if (_orderNo != value) if (_orderNo != value)
{ {
_orderNo = value; SetProperty(ref _orderNo, value);
RaisePropertyChanged(() => OrderNo);
} }
} }
} }
@ -161,8 +174,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
{ {
if (_lineNo != value) if (_lineNo != value)
{ {
_lineNo = value; SetProperty(ref _lineNo, value);
RaisePropertyChanged(() => LineNo);
} }
} }
} }
@ -178,8 +190,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
{ {
if (_bindNo != value) if (_bindNo != value)
{ {
_bindNo = value; SetProperty(ref _bindNo, value);
RaisePropertyChanged(() => BindNo);
} }
} }
} }
@ -195,8 +206,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
{ {
if (_writeCount != value) if (_writeCount != value)
{ {
_writeCount = value; SetProperty(ref _writeCount, value);
RaisePropertyChanged(() => WriteCount);
} }
} }
} }
@ -258,9 +268,10 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
return; return;
} }
for(int i = 1; i <= count; i++) for(int i = 1; i <= count; i++)
{ {
string writeString = OrderNo + LineNo + DateTime.Now.ToString("yy") + BindNo + i.ToString("D2");
PreparedWriteList.Add(new real_readdata() PreparedWriteList.Add(new real_readdata()
{ {
objid = Guid.NewGuid().ToString(), objid = Guid.NewGuid().ToString(),
@ -268,7 +279,8 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
lineno = LineNo, lineno = LineNo,
bindno = BindNo, bindno = BindNo,
serialno = i.ToString("D2"), serialno = i.ToString("D2"),
rfidascii = writeString,
writestatus = "等待"
}); });
} }
} }
@ -279,7 +291,10 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
/// <param name="obj"></param> /// <param name="obj"></param>
private void ListClear(object obj) private void ListClear(object obj)
{ {
if(MessageBox.Show("确认", "确定要清除已生成的数据吗?(该操作不可还原)", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
PreparedWriteList.Clear();
}
} }
/// <summary> /// <summary>
@ -288,7 +303,10 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
/// <param name="obj"></param> /// <param name="obj"></param>
private void HistoryClear(object obj) private void HistoryClear(object obj)
{ {
if (MessageBox.Show("确认", "确定要清除本次写入的数据吗?(可在查看历史中查询以往写入的标签)", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
TempRecordList.Clear();
}
} }
/// <summary> /// <summary>
@ -297,7 +315,8 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
/// <param name="obj"></param> /// <param name="obj"></param>
private void HistoryPage(object obj) private void HistoryPage(object obj)
{ {
HistorySearch window = new HistorySearch();
window.Show();
} }
/// <summary> /// <summary>
@ -310,12 +329,22 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
} }
/// <summary> /// <summary>
/// 动写入 /// 动写入
/// </summary> /// </summary>
/// <param name="obj"></param> /// <param name="obj"></param>
private void RFIDWrite(object obj) private void RFIDWrite(object obj)
{ {
real_readdata? data;
if (obj is real_readdata)
{
data = obj as real_readdata;
}
else
{
return;
}
//rfidList.FirstOrDefault(x => x.deviceid == iCombineId)
} }
/// <summary> /// <summary>
@ -334,7 +363,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
return; return;
} }
//读到停止连续盘点 //读到停止连续盘点
//bool stopflag = await rfidList.FirstOrDefault(x => x.deviceid == iCombineId).Set_StopIdentify(); bool stopflag = await rfidList.FirstOrDefault(x => x.deviceid == iCombineId).Set_StopIdentify();
//查询数据库是否已存在记录 //查询数据库是否已存在记录
bool iflag = false; bool iflag = false;
string epcascii = Encoding.ASCII.GetString(tagInfos[0].EPC); string epcascii = Encoding.ASCII.GetString(tagInfos[0].EPC);
@ -433,17 +462,17 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
App.Current.Dispatcher.Invoke(() => App.Current.Dispatcher.Invoke(() =>
{ {
RFIDHistoryRecords.Insert(0, new RFIDRecord //RFIDHistoryRecords.Insert(0, new RFIDRecord
{ //{
OrderNumber = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).OrderNo, // OrderNumber = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).OrderNo,
LineNumber = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).LineNo, // LineNumber = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).LineNo,
ProductType = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).ProductType, // ProductType = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).ProductType,
OriginalEPC = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).RfidEPC, // OriginalEPC = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).RfidEPC,
RFIDCode = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).RfidASCII, // RFIDCode = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).RfidASCII,
ReadTime = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).ReadTime, // ReadTime = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).ReadTime,
WriteTime = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).ReadTime, // WriteTime = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).ReadTime,
WriteStatus = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).WriteStatus // 模拟1条失败数据 // WriteStatus = Deviceinfo.FirstOrDefault(x => x.Deviceid == iCombineId).WriteStatus // 模拟1条失败数据
}); //});
//RFIDHistoryRecords.OrderByDescending(x => x.ReadTime).ToList(); //RFIDHistoryRecords.OrderByDescending(x => x.ReadTime).ToList();
}); });
} }
@ -520,6 +549,10 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
await Reconnect(device); await Reconnect(device);
RFIDConnectState = "已连接"; RFIDConnectState = "已连接";
} }
else
{
RFIDConnectState = "已连接";
}
} }
else else
{ {

Loading…
Cancel
Save