|
|
@ -24,6 +24,8 @@ using SlnMesnac.RfidUpload.UI.TempData;
|
|
|
|
using slnmesnac.rfidupload.Repository;
|
|
|
|
using slnmesnac.rfidupload.Repository;
|
|
|
|
using TouchSocket.Core;
|
|
|
|
using TouchSocket.Core;
|
|
|
|
using System.Windows.Interop;
|
|
|
|
using System.Windows.Interop;
|
|
|
|
|
|
|
|
using static Dm.net.buffer.ByteArrayBuffer;
|
|
|
|
|
|
|
|
using System.IO;
|
|
|
|
|
|
|
|
|
|
|
|
namespace SlnMesnac.RfidUpload.UI.viewModel
|
|
|
|
namespace SlnMesnac.RfidUpload.UI.viewModel
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -49,85 +51,7 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
|
|
|
|
private Institution Institution;
|
|
|
|
private Institution Institution;
|
|
|
|
#region 参数定义
|
|
|
|
#region 参数定义
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// 串口
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
//private ObservableCollection<string> _serialPortItems = new ObservableCollection<string>();
|
|
|
|
|
|
|
|
//public ObservableCollection<string> SerialPortItems
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// get { return _serialPortItems; }
|
|
|
|
|
|
|
|
// set { _serialPortItems = value; RaisePropertyChanged(() => SerialPortItems); }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
//private string _selectedSerialPortItems = string.Empty;
|
|
|
|
|
|
|
|
//public string SelectedSerialPortItems
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// get { return _selectedSerialPortItems; }
|
|
|
|
|
|
|
|
// set { _selectedSerialPortItems = value; RaisePropertyChanged(() => SelectedSerialPortItems); }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
|
|
|
|
///// 波特率
|
|
|
|
|
|
|
|
///// </summary>
|
|
|
|
|
|
|
|
//private ObservableCollection<int> _baudRateItems = new ObservableCollection<int>() { 9600, 115200 };
|
|
|
|
|
|
|
|
//public ObservableCollection<int> BaudRateItems
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// get { return _baudRateItems; }
|
|
|
|
|
|
|
|
// set { _baudRateItems = value; RaisePropertyChanged(() => BaudRateItems); }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
//private int _selectedBaudRateItems = 115200;
|
|
|
|
|
|
|
|
//public int SelectedBaudRateItems
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// get { return _selectedBaudRateItems; }
|
|
|
|
|
|
|
|
// set { _selectedBaudRateItems = value; RaisePropertyChanged(() => SelectedBaudRateItems); }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
|
|
|
|
///// 数据位
|
|
|
|
|
|
|
|
///// </summary>
|
|
|
|
|
|
|
|
//private ObservableCollection<int> _dataBitsItems = new ObservableCollection<int>() { 2, 4, 6, 8 };
|
|
|
|
|
|
|
|
//public ObservableCollection<int> DataBitsItems
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// get { return _dataBitsItems; }
|
|
|
|
|
|
|
|
// set { _dataBitsItems = value; RaisePropertyChanged(() => DataBitsItems); }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
//private int _selectedDataBitsItems = 8;
|
|
|
|
|
|
|
|
//public int SelectedDataBitsItems
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// get { return _selectedDataBitsItems; }
|
|
|
|
|
|
|
|
// set { _selectedDataBitsItems = value; RaisePropertyChanged(() => SelectedDataBitsItems); }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
|
|
|
|
/////停止位
|
|
|
|
|
|
|
|
///// </summary>
|
|
|
|
|
|
|
|
//private ObservableCollection<int> _stopBitsItems = new ObservableCollection<int>() { 0, 1, 2, 3, 4 };
|
|
|
|
|
|
|
|
//public ObservableCollection<int> StopBitsItems
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// get { return _stopBitsItems; }
|
|
|
|
|
|
|
|
// set { _stopBitsItems = value; RaisePropertyChanged(() => StopBitsItems); }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
//private int _selectedStopBitsItems = 1;
|
|
|
|
|
|
|
|
//public int SelectedStopBitsItems
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// get { return _selectedStopBitsItems; }
|
|
|
|
|
|
|
|
// set { _selectedStopBitsItems = value; RaisePropertyChanged(() => SelectedStopBitsItems); }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
|
|
|
|
/////校验位
|
|
|
|
|
|
|
|
///// </summary>
|
|
|
|
|
|
|
|
//private ObservableCollection<string> _parityItems = new ObservableCollection<string>() { "None", "Odd", "Even", "Mark", "Space" };
|
|
|
|
|
|
|
|
//public ObservableCollection<string> ParityItems
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// get { return _parityItems; }
|
|
|
|
|
|
|
|
// set { _parityItems = value; RaisePropertyChanged(() => ParityItems); }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
//private string _selectedParityItems = "None";
|
|
|
|
|
|
|
|
//public string SelectedParityItems
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// get { return _selectedParityItems; }
|
|
|
|
|
|
|
|
// set { _selectedParityItems = value; RaisePropertyChanged(() => SelectedParityItems); }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// <summary>
|
|
|
|
/// 标签数量
|
|
|
|
/// 标签数量
|
|
|
@ -288,8 +212,8 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
|
|
|
|
FinishCommand = new RelayCommand(Finish);
|
|
|
|
FinishCommand = new RelayCommand(Finish);
|
|
|
|
ReUploadRecordCommand = new RelayCommand(ReUploadRecord);
|
|
|
|
ReUploadRecordCommand = new RelayCommand(ReUploadRecord);
|
|
|
|
this.Init();
|
|
|
|
this.Init();
|
|
|
|
|
|
|
|
|
|
|
|
test();
|
|
|
|
// test();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void ReUploadRecord()
|
|
|
|
private void ReUploadRecord()
|
|
|
@ -313,15 +237,59 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// 清除日志文件
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
private void DeleteLogsLogic()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
try
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
//获取当前程序运行目录下的logs文件夹
|
|
|
|
|
|
|
|
string logPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Log");
|
|
|
|
|
|
|
|
string[] strings = Directory.GetDirectories(logPath);
|
|
|
|
|
|
|
|
foreach (string s in strings)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
string dirName = Path.GetFileName(s);
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(dirName))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (DateTime.TryParse(dirName, out DateTime dt))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (dt < DateTime.Now.AddDays(-10))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Directory.Delete(s, true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
catch
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void Init()
|
|
|
|
private void Init()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DeleteLogsLogic();
|
|
|
|
|
|
|
|
GetRfidList();
|
|
|
|
|
|
|
|
|
|
|
|
TouchSocketService service = new TouchSocketService();
|
|
|
|
TouchSocketService service = new TouchSocketService();
|
|
|
|
service.AddTouchSocketAsync(appConfig.RFIDAddress);
|
|
|
|
service.AddTouchSocketAsync(appConfig.RFIDAddress);
|
|
|
|
WorkModelParam = Convert.ToInt32(appConfig.workModel);
|
|
|
|
WorkModelParam = Convert.ToInt32(appConfig.workModel);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Task.Run(() =>
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Thread.Sleep(1000 * 10);
|
|
|
|
|
|
|
|
throw new Exception("test");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -557,20 +525,7 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// 清空标签信息列表
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
private void EmptyFiles()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
No = 0;
|
|
|
|
|
|
|
|
labelItems.Clear();
|
|
|
|
|
|
|
|
LabelCountParam = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MainPageTipMessage = "";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
private void SystemSet()
|
|
|
|
private void SystemSet()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
@ -617,6 +572,54 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// 清空标签信息列表
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
private void EmptyFiles()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
No = 0;
|
|
|
|
|
|
|
|
labelItems.Clear();
|
|
|
|
|
|
|
|
LabelCountParam = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MainPageTipMessage = "";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sqliteHelper.DeleteRFIDList();
|
|
|
|
|
|
|
|
GetRfidList();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// 从数据库加载到界面
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
private void GetRfidList()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
No = 0;
|
|
|
|
|
|
|
|
labelItems.Clear();
|
|
|
|
|
|
|
|
LabelCountParam = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<RfidInfo> rfidInfos = sqliteHelper.GetRFIDList();
|
|
|
|
|
|
|
|
if(rfidInfos != null&& rfidInfos.Count > 0)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
foreach (var item in rfidInfos)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
App.Current.Dispatcher.BeginInvoke((Action)(() =>
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
int no = labelItems.Count;
|
|
|
|
|
|
|
|
DataGridEnt dataGridEnt = new DataGridEnt();
|
|
|
|
|
|
|
|
dataGridEnt.no = ++no;
|
|
|
|
|
|
|
|
dataGridEnt.dbdh = _transferOrderInfo.dbdh;
|
|
|
|
|
|
|
|
dataGridEnt.result = item.Result;
|
|
|
|
|
|
|
|
dataGridEnt.recordtime = DateTime.Now;
|
|
|
|
|
|
|
|
labelItems.Add(dataGridEnt);
|
|
|
|
|
|
|
|
LabelInfoDataGrid = labelItems;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LabelCountParam += 1;
|
|
|
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// <summary>
|
|
|
@ -625,6 +628,11 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
|
|
|
|
/// <param name="labelInfos"></param>
|
|
|
|
/// <param name="labelInfos"></param>
|
|
|
|
private void RefreshLabelInfoDataGrid(string code)
|
|
|
|
private void RefreshLabelInfoDataGrid(string code)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
RfidInfo rfidInfo = new RfidInfo();
|
|
|
|
|
|
|
|
rfidInfo.Dbdh = _transferOrderInfo.dbdh;
|
|
|
|
|
|
|
|
rfidInfo.Result = code;
|
|
|
|
|
|
|
|
rfidInfo.RecordTime = DateTime.Now.ToString();
|
|
|
|
|
|
|
|
sqliteHelper.InsertRFID(rfidInfo);
|
|
|
|
|
|
|
|
|
|
|
|
bool IsHas = labelItems.Any(x => x.result == code);
|
|
|
|
bool IsHas = labelItems.Any(x => x.result == code);
|
|
|
|
if (IsHas)
|
|
|
|
if (IsHas)
|
|
|
|