|
|
|
|
@ -12,6 +12,7 @@ using SlnMesnac.Config;
|
|
|
|
|
using SlnMesnac.Model.domain;
|
|
|
|
|
using SlnMesnac.Repository;
|
|
|
|
|
using SlnMesnac.Repository.service;
|
|
|
|
|
using SlnMesnac.Repository.service.Impl;
|
|
|
|
|
using SlnMesnac.Rfid;
|
|
|
|
|
using SlnMesnac.Serilog;
|
|
|
|
|
using SlnMesnac.TouchSocket;
|
|
|
|
|
@ -41,6 +42,9 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
|
|
|
|
|
private readonly SerilogHelper _logger;
|
|
|
|
|
public List<RfidAbsractFactory> rfidList;
|
|
|
|
|
public ObservableCollection<string> Items { get; set; }
|
|
|
|
|
|
|
|
|
|
private MesOrderInfoImpl databaseService = MesOrderInfoImpl.Instance;
|
|
|
|
|
|
|
|
|
|
public ChangeTypeViewModel()
|
|
|
|
|
{
|
|
|
|
|
_logger = App.ServiceProvider.GetService<SerilogHelper>();
|
|
|
|
|
@ -49,7 +53,8 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
|
|
|
|
|
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));
|
|
|
|
|
GetOrderInfoCommand = new RelayCommand<object>(t => RefreshData(t));
|
|
|
|
|
ClearData = new RelayCommand<object>(t => ClearAllData());
|
|
|
|
|
//sqlSugarClient = App.ServiceProvider.GetService<ISqlSugarClient>();
|
|
|
|
|
rfidList = App.ServiceProvider.GetRequiredService<List<RfidAbsractFactory>>();
|
|
|
|
|
|
|
|
|
|
@ -58,7 +63,15 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
|
|
|
|
|
{
|
|
|
|
|
Items.Add(rfid.FilterData);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var items = databaseService._helper.QueryAll();
|
|
|
|
|
items.Reverse();
|
|
|
|
|
ChangeTypePanel.Clear();
|
|
|
|
|
foreach (var item in items)
|
|
|
|
|
{
|
|
|
|
|
ChangeTypePanel.Add(item);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private string _QueryIsCheck = "";
|
|
|
|
|
@ -80,10 +93,16 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
|
|
|
|
|
|
|
|
|
|
private void Update(object parameter)
|
|
|
|
|
{
|
|
|
|
|
if (parameter == null)
|
|
|
|
|
if (parameter == null)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
//获取设备编号
|
|
|
|
|
if (string.IsNullOrEmpty(QueryIsCheck.ToString().Trim()))
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show("请选择产线!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// 假设你的行模型叫 DictModel
|
|
|
|
|
var model = parameter as MesOrderInfo;
|
|
|
|
|
|
|
|
|
|
@ -107,7 +126,7 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
|
|
|
|
|
RfidCount = model.PlanQty.ToString(),
|
|
|
|
|
NextProductNo = model.NextProductNo.ToString("D3")
|
|
|
|
|
};
|
|
|
|
|
WeakReferenceMessenger.Default.Send(real_Data);
|
|
|
|
|
WeakReferenceMessenger.Default.Send(real_Data);
|
|
|
|
|
MessageBox.Show("MES订单切换成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
|
Log.Information($"{mesOrderNo}MES订单切换成功{JsonSerializer.Serialize(real_Data)}");
|
|
|
|
|
|
|
|
|
|
@ -168,10 +187,9 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
|
|
|
|
|
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\":\"SS042\",\"ProductCode\":\"4030502500100006\",\"ProductType\":\"钢丝带-ST-井下阻燃钢丝带\",\"ProductName\":\"输送带-井下阻燃钢丝带-ST\",\"ProductSpec\":\"1400mm;ST/S2500*1;8+8;MT/MT;D7.2;P15;N89\",\"PlanQty\":130.00,\"NextProductNo\":2}]}\r\n";
|
|
|
|
|
string response = await _httpclient.GetMesOrderInfo(lineno, BeginDate.ToString("yyyy-MM-dd"));
|
|
|
|
|
Console.WriteLine("接收MES接口返回:"+ response);
|
|
|
|
|
Console.WriteLine("接收MES接口返回:" + response);
|
|
|
|
|
// 反序列化
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
@ -186,15 +204,26 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
|
|
|
|
|
}
|
|
|
|
|
//Console.WriteLine("序列化:" + responsejson.Code);
|
|
|
|
|
|
|
|
|
|
if(responsejson.Data == null || responsejson.Data.Count == 0)
|
|
|
|
|
if (responsejson.Data == null || responsejson.Data.Count == 0)
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show("今天无订单", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (response != null)
|
|
|
|
|
{
|
|
|
|
|
ChangeTypePanel.Clear();
|
|
|
|
|
//ChangeTypePanel.Clear();
|
|
|
|
|
DateTime twoDaysAgo = DateTime.Now.AddDays(-2);
|
|
|
|
|
databaseService._helper.Delete(x => x.InsertDate < twoDaysAgo);
|
|
|
|
|
foreach (var item in responsejson.Data)
|
|
|
|
|
{
|
|
|
|
|
item.ID = Guid.NewGuid().ToString();
|
|
|
|
|
item.InsertDate = DateTime.Now;
|
|
|
|
|
databaseService._helper.Insert(item);
|
|
|
|
|
}
|
|
|
|
|
var items = databaseService._helper.QueryAll();
|
|
|
|
|
items.Reverse();
|
|
|
|
|
ChangeTypePanel.Clear();
|
|
|
|
|
foreach (var item in items)
|
|
|
|
|
{
|
|
|
|
|
ChangeTypePanel.Add(item);
|
|
|
|
|
}
|
|
|
|
|
@ -253,11 +282,22 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ClearAllData()
|
|
|
|
|
{
|
|
|
|
|
var result = MessageBox.Show("确定要清除所有订单记录吗?", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
|
|
|
|
if (result == DialogResult.Yes)
|
|
|
|
|
{
|
|
|
|
|
databaseService._helper.DeleteAll();
|
|
|
|
|
ChangeTypePanel.Clear();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
public RelayCommand<object> UpdateCommand { get; set; }
|
|
|
|
|
public RelayCommand<object> UpdateCommand1 { get; set; }
|
|
|
|
|
public RelayCommand<object> ClearData { get; set; }
|
|
|
|
|
private string _ProductType;
|
|
|
|
|
public string ProductType
|
|
|
|
|
{
|
|
|
|
|
@ -290,6 +330,6 @@ namespace SlnMesnac.WPF.ViewModel.IndexPage
|
|
|
|
|
set => SetProperty(ref _ChangeTypePanel, value);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|