|
|
|
@ -52,26 +52,41 @@ namespace Aucma.Core.ProductOffLine.ViewModels
|
|
|
|
|
// 成品下线操作mes数据
|
|
|
|
|
private readonly IOffLineInfoServices? _offLineInfoServices = App.ServiceProvider.GetService<IOffLineInfoServices>();
|
|
|
|
|
|
|
|
|
|
System.Timers.Timer timer = new System.Timers.Timer(500);//界面刷新定时器
|
|
|
|
|
// System.Timers.Timer timer = new System.Timers.Timer(500);//界面刷新定时器
|
|
|
|
|
private readonly IBaseBomInfoServices? _baseBomInfoServices;
|
|
|
|
|
private OffLineBusiness offLineBusiness = OffLineBusiness.Instance;
|
|
|
|
|
private static double aaa = 100.0;
|
|
|
|
|
int a = 0;
|
|
|
|
|
public IndexPageViewModel()
|
|
|
|
|
{
|
|
|
|
|
OffLineBusiness.RefreshScanMateriaCodeEvent += ModelToPage;
|
|
|
|
|
OffLineBusiness.RefreshChartsEvent += RefreshCharts;
|
|
|
|
|
OffLineQty = "235";
|
|
|
|
|
_offLineInfoServices = App.ServiceProvider.GetService<IOffLineInfoServices>();
|
|
|
|
|
_baseBomInfoServices = App.ServiceProvider.GetService<IBaseBomInfoServices>();
|
|
|
|
|
InitEveryDayMethod();
|
|
|
|
|
// 刷新界面扫码信息
|
|
|
|
|
RefreshPageListen();
|
|
|
|
|
// RefreshPageListen();
|
|
|
|
|
LoadData();
|
|
|
|
|
// offLineBusiness.test();
|
|
|
|
|
//Task.Run(() =>
|
|
|
|
|
//{
|
|
|
|
|
// Thread.Sleep(5000);
|
|
|
|
|
// InitEveryDayMethod();
|
|
|
|
|
// // Thread.Sleep(5000);
|
|
|
|
|
// // InitEveryDayMethod();
|
|
|
|
|
//});
|
|
|
|
|
|
|
|
|
|
// offLineBusiness.test();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 刷新页面展示图表
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void RefreshCharts()
|
|
|
|
|
{
|
|
|
|
|
InitEveryDayMethod();
|
|
|
|
|
AddDataGrid();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 参数定义
|
|
|
|
@ -278,40 +293,40 @@ namespace Aucma.Core.ProductOffLine.ViewModels
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 界面刷新定时器
|
|
|
|
|
public void RefreshPageListen()
|
|
|
|
|
{
|
|
|
|
|
timer.Elapsed += new System.Timers.ElapsedEventHandler(RefreshPage);
|
|
|
|
|
timer.AutoReset = true;
|
|
|
|
|
timer.Enabled = true;
|
|
|
|
|
timer.Start();
|
|
|
|
|
//public void RefreshPageListen()
|
|
|
|
|
//{
|
|
|
|
|
// timer.Elapsed += new System.Timers.ElapsedEventHandler(RefreshPage);
|
|
|
|
|
// timer.AutoReset = true;
|
|
|
|
|
// timer.Enabled = true;
|
|
|
|
|
// timer.Start();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 定时检测两个扫码实体是否需要刷新
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="source"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
public void RefreshPage(object source, System.Timers.ElapsedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
//public void RefreshPage(object source, System.Timers.ElapsedEventArgs e)
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (OffLineBusiness.TempOffLineInfo1.ProductRefreshFlag == true)
|
|
|
|
|
{
|
|
|
|
|
OffLineBusiness.TempOffLineInfo1.ProductRefreshFlag = false;
|
|
|
|
|
ModelToPage(OffLineBusiness.TempOffLineInfo1);
|
|
|
|
|
// if (OffLineBusiness.TempOffLineInfo1.ProductRefreshFlag == true)
|
|
|
|
|
// {
|
|
|
|
|
// OffLineBusiness.TempOffLineInfo1.ProductRefreshFlag = false;
|
|
|
|
|
// ModelToPage(OffLineBusiness.TempOffLineInfo1);
|
|
|
|
|
|
|
|
|
|
LoadData();
|
|
|
|
|
// LoadData();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else if(OffLineBusiness.TempOffLineInfo2.ProductRefreshFlag == true)
|
|
|
|
|
{
|
|
|
|
|
OffLineBusiness.TempOffLineInfo2.ProductRefreshFlag = false;
|
|
|
|
|
ModelToPage(OffLineBusiness.TempOffLineInfo2);
|
|
|
|
|
// }
|
|
|
|
|
// else if(OffLineBusiness.TempOffLineInfo2.ProductRefreshFlag == true)
|
|
|
|
|
// {
|
|
|
|
|
// OffLineBusiness.TempOffLineInfo2.ProductRefreshFlag = false;
|
|
|
|
|
// ModelToPage(OffLineBusiness.TempOffLineInfo2);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
public void ModelToPage(TempInfo tempInfo)
|
|
|
|
|
{
|
|
|
|
|
App.Current.Dispatcher.Invoke(() =>
|
|
|
|
@ -342,151 +357,153 @@ namespace Aucma.Core.ProductOffLine.ViewModels
|
|
|
|
|
|
|
|
|
|
await App.Current.Dispatcher.BeginInvoke((Action)(() =>
|
|
|
|
|
{
|
|
|
|
|
Achievement.Clear();
|
|
|
|
|
ProductionHourList = new List<string>();
|
|
|
|
|
OffLineQty = "232";
|
|
|
|
|
// OffLineQty = "232";
|
|
|
|
|
for (int i = 8; i <= 19; i++)
|
|
|
|
|
{
|
|
|
|
|
ProductionHourList.Add(i + ":00");
|
|
|
|
|
}
|
|
|
|
|
ChartValues<int> achievement2 = new ChartValues<int>();
|
|
|
|
|
achievement2.Add(74);
|
|
|
|
|
achievement2.Add(77);
|
|
|
|
|
achievement2.Add(75);
|
|
|
|
|
achievement2.Add(6);
|
|
|
|
|
achievement2.Add(0);
|
|
|
|
|
achievement2.Add(0);
|
|
|
|
|
achievement2.Add(0);
|
|
|
|
|
achievement2.Add(0);
|
|
|
|
|
achievement2.Add(0);
|
|
|
|
|
achievement2.Add(0);
|
|
|
|
|
achievement2.Add(0);
|
|
|
|
|
achievement2.Add(0);
|
|
|
|
|
var column2 = new ColumnSeries();
|
|
|
|
|
column2.DataLabels = true;
|
|
|
|
|
column2.Title = "产量";
|
|
|
|
|
column2.Values = achievement2;
|
|
|
|
|
column2.Foreground = Brushes.White;
|
|
|
|
|
Achievement.Add(column2);
|
|
|
|
|
//ChartValues<int> achievement2 = new ChartValues<int>();
|
|
|
|
|
//achievement2.Add(74);
|
|
|
|
|
//achievement2.Add(77);
|
|
|
|
|
//achievement2.Add(75);
|
|
|
|
|
//achievement2.Add(6);
|
|
|
|
|
//achievement2.Add(0);
|
|
|
|
|
//achievement2.Add(0);
|
|
|
|
|
//achievement2.Add(0);
|
|
|
|
|
//achievement2.Add(0);
|
|
|
|
|
//achievement2.Add(0);
|
|
|
|
|
//achievement2.Add(0);
|
|
|
|
|
//achievement2.Add(0);
|
|
|
|
|
//achievement2.Add(0);
|
|
|
|
|
//var column2 = new ColumnSeries();
|
|
|
|
|
//column2.DataLabels = true;
|
|
|
|
|
//column2.Title = "产量";
|
|
|
|
|
//column2.Values = achievement2;
|
|
|
|
|
//column2.Foreground = Brushes.White;
|
|
|
|
|
//Achievement.Add(column2);
|
|
|
|
|
|
|
|
|
|
MaterialNameList.Add("BCD-162CST,炫金色,A");
|
|
|
|
|
MaterialNameList.Add("BCD-212CHG,炫金色,A");
|
|
|
|
|
MaterialNameList.Add("BCD-211CGN,星际灰,A");
|
|
|
|
|
MaterialNameList.Add("BC/BD-310NF,银河灰,A");
|
|
|
|
|
MaterialNameList.Add("BC/BD-232WD,银河灰,A");
|
|
|
|
|
MaterialNameList.Add("BC/BD-145NF,炫金色,ZS,A");
|
|
|
|
|
ChartValues<int> achievement = new ChartValues<int>();
|
|
|
|
|
achievement.Add(41);
|
|
|
|
|
achievement.Add(37);
|
|
|
|
|
achievement.Add(37);
|
|
|
|
|
achievement.Add(47);
|
|
|
|
|
achievement.Add(39);
|
|
|
|
|
achievement.Add(19);
|
|
|
|
|
var column = new ColumnSeries();
|
|
|
|
|
column.DataLabels = true;
|
|
|
|
|
column.Title = "型号";
|
|
|
|
|
column.Values = achievement;
|
|
|
|
|
column.Foreground = Brushes.White;
|
|
|
|
|
//MaterialNameList.Add("BCD-162CST,炫金色,A");
|
|
|
|
|
//MaterialNameList.Add("BCD-212CHG,炫金色,A");
|
|
|
|
|
//MaterialNameList.Add("BCD-211CGN,星际灰,A");
|
|
|
|
|
//MaterialNameList.Add("BC/BD-310NF,银河灰,A");
|
|
|
|
|
//MaterialNameList.Add("BC/BD-232WD,银河灰,A");
|
|
|
|
|
//MaterialNameList.Add("BC/BD-145NF,炫金色,ZS,A");
|
|
|
|
|
//ChartValues<int> achievement = new ChartValues<int>();
|
|
|
|
|
//achievement.Add(41);
|
|
|
|
|
//achievement.Add(37);
|
|
|
|
|
//achievement.Add(37);
|
|
|
|
|
//achievement.Add(47);
|
|
|
|
|
//achievement.Add(39);
|
|
|
|
|
//achievement.Add(19);
|
|
|
|
|
//var column = new ColumnSeries();
|
|
|
|
|
//column.DataLabels = true;
|
|
|
|
|
//column.Title = "型号";
|
|
|
|
|
//column.Values = achievement;
|
|
|
|
|
//column.Foreground = Brushes.White;
|
|
|
|
|
|
|
|
|
|
ModelStatistics.Add(column);
|
|
|
|
|
//ModelStatistics.Add(column);
|
|
|
|
|
#region 小时产量统计
|
|
|
|
|
// List<WorkTime> listTime = _baseBomInfoServices.getWorkTime().Result;
|
|
|
|
|
// if (listTime == null) return;
|
|
|
|
|
// // var aa =_offLineInfoServices.Query(x=>x.ProductScanTime>= listTime[0].startTime && x.ProductScanTime<= listTime[11].startTime)
|
|
|
|
|
// // List<dynamic> hourAmount = _offLineInfoServices.QueryCharts1("CX_01");
|
|
|
|
|
List<WorkTime> listTime = _baseBomInfoServices.getWorkTime().Result;
|
|
|
|
|
if (listTime == null) return;
|
|
|
|
|
// var aa =_offLineInfoServices.Query(x=>x.ProductScanTime>= listTime[0].startTime && x.ProductScanTime<= listTime[11].startTime)
|
|
|
|
|
// List<dynamic> hourAmount = _offLineInfoServices.QueryCharts1("CX_01");
|
|
|
|
|
|
|
|
|
|
// List<Admin.Core.Model.ViewModels.ChartsByTime> list = _offLineInfoServices.QueryCharts(listTime[0].startTime, listTime[11].startTime).Result;
|
|
|
|
|
List<Admin.Core.Model.ViewModels.ChartsByTime> list = _offLineInfoServices.QueryCharts(listTime[0].startTime, listTime[11].startTime).Result;
|
|
|
|
|
|
|
|
|
|
// if (list == null) return;
|
|
|
|
|
// List<ChartsByTimeAmount> hourList1 = new List<ChartsByTimeAmount>();
|
|
|
|
|
// // 当班下线数量
|
|
|
|
|
// int sum = 0;
|
|
|
|
|
// foreach(ChartsByTime item in list)
|
|
|
|
|
// {
|
|
|
|
|
// DateTime date = DateTime.ParseExact(item.date + ":00:00", "yyyy-MM-dd/HH:mm:ss", CultureInfo.InvariantCulture);
|
|
|
|
|
// ChartsByTimeAmount hour = new ChartsByTimeAmount();
|
|
|
|
|
// hour.ProductCode = item.productLineCode;
|
|
|
|
|
// hour.ProductDate = date;
|
|
|
|
|
// hour.ProductAmount = item.Amount;
|
|
|
|
|
// sum += item.Amount;
|
|
|
|
|
// hourList1.Add(hour);
|
|
|
|
|
// }
|
|
|
|
|
// // 当班下线数量页面赋值
|
|
|
|
|
// OffLineQty = sum.ToString();
|
|
|
|
|
// if (hourList1 == null) return;
|
|
|
|
|
if (list == null) return;
|
|
|
|
|
List<ChartsByTimeAmount> hourList1 = new List<ChartsByTimeAmount>();
|
|
|
|
|
// 当班下线数量
|
|
|
|
|
int sum = 0;
|
|
|
|
|
foreach (ChartsByTime item in list)
|
|
|
|
|
{
|
|
|
|
|
DateTime date = DateTime.ParseExact(item.date + ":00:00", "yyyy-MM-dd/HH:mm:ss", CultureInfo.InvariantCulture);
|
|
|
|
|
ChartsByTimeAmount hour = new ChartsByTimeAmount();
|
|
|
|
|
hour.ProductCode = item.productLineCode;
|
|
|
|
|
hour.ProductDate = date;
|
|
|
|
|
hour.ProductAmount = item.Amount;
|
|
|
|
|
sum += item.Amount;
|
|
|
|
|
hourList1.Add(hour);
|
|
|
|
|
}
|
|
|
|
|
// 当班下线数量页面赋值
|
|
|
|
|
OffLineQty = sum.ToString();
|
|
|
|
|
if (hourList1 == null) return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// var hourList = hourList1.Where(x => x.ProductCode.Equals("CX_02") && x.ProductDate>= listTime[0].startTime && x.ProductDate <= listTime[11].startTime);
|
|
|
|
|
var hourList = hourList1.Where(x => x.ProductCode.Equals("CX_02") && x.ProductDate >= listTime[0].startTime && x.ProductDate <= listTime[11].startTime);
|
|
|
|
|
|
|
|
|
|
// List<string> xList = new List<string>();
|
|
|
|
|
// ChartValues<int> achievement2 = new ChartValues<int>();
|
|
|
|
|
// foreach (var item in hourList)
|
|
|
|
|
// {
|
|
|
|
|
// xList.Add(item.ProductDate.Hour.ToString()+":00");
|
|
|
|
|
// achievement2.Add(item.ProductAmount);
|
|
|
|
|
// }
|
|
|
|
|
List<string> xList = new List<string>();
|
|
|
|
|
ChartValues<int> achievement2 = new ChartValues<int>();
|
|
|
|
|
foreach (var item in hourList)
|
|
|
|
|
{
|
|
|
|
|
xList.Add(item.ProductDate.Hour.ToString() + ":00");
|
|
|
|
|
achievement2.Add(item.ProductAmount);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// var column2 = new ColumnSeries();
|
|
|
|
|
// column2.DataLabels = true;
|
|
|
|
|
// column2.Title = "产量";
|
|
|
|
|
// column2.Values = achievement2;
|
|
|
|
|
// column2.Foreground = Brushes.White;
|
|
|
|
|
var column2 = new ColumnSeries();
|
|
|
|
|
column2.DataLabels = true;
|
|
|
|
|
column2.Title = "产量";
|
|
|
|
|
column2.Values = achievement2;
|
|
|
|
|
column2.Foreground = Brushes.White;
|
|
|
|
|
|
|
|
|
|
//// Achievement.Clear();
|
|
|
|
|
// //Achievement.Add(column2);
|
|
|
|
|
// if (Achievement.Count > 0)
|
|
|
|
|
// {
|
|
|
|
|
// for (int i = 0; i < hourList.Count(); i++)
|
|
|
|
|
// {
|
|
|
|
|
// Achievement.FirstOrDefault().Values[i] = hourList.ElementAt(i).ProductAmount;
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// else
|
|
|
|
|
// {
|
|
|
|
|
// Achievement.Clear();
|
|
|
|
|
//Achievement.Add(column2);
|
|
|
|
|
// }
|
|
|
|
|
if (Achievement.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < hourList.Count(); i++)
|
|
|
|
|
{
|
|
|
|
|
Achievement.FirstOrDefault().Values[i] = hourList.ElementAt(i).ProductAmount;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Achievement.Clear();
|
|
|
|
|
Achievement.Add(column2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ProductionHourList = xList;
|
|
|
|
|
ProductionHourList = xList;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// #region 型号统计
|
|
|
|
|
// List<string> nameList = new List<string>();
|
|
|
|
|
// ChartValues<int> achievement = new ChartValues<int>();
|
|
|
|
|
// var column = new ColumnSeries();
|
|
|
|
|
#region 型号统计
|
|
|
|
|
List<string> nameList = new List<string>();
|
|
|
|
|
ChartValues<int> achievement = new ChartValues<int>();
|
|
|
|
|
var column = new ColumnSeries();
|
|
|
|
|
|
|
|
|
|
// List<OffLineInfo> offList = _offLineInfoServices.QueryAsync(x=>x.ProductScanTime>= listTime[0].startTime && x.ProductScanTime <= listTime[11].startTime).Result;
|
|
|
|
|
// var modelList = offList.GroupBy(x=>x.ProductRemark);
|
|
|
|
|
List<OffLineInfo> offList = _offLineInfoServices.QueryAsync(x => x.ProductScanTime >= listTime[0].startTime && x.ProductScanTime <= listTime[11].startTime).Result;
|
|
|
|
|
var modelList = offList.GroupBy(x => x.ProductModel);
|
|
|
|
|
|
|
|
|
|
// foreach(var item in modelList)
|
|
|
|
|
// {
|
|
|
|
|
// achievement.Add(item.Count());
|
|
|
|
|
// nameList.Add(item.Key);
|
|
|
|
|
// }
|
|
|
|
|
// column.DataLabels = true;
|
|
|
|
|
// column.Title = "型号";
|
|
|
|
|
// column.Values = achievement;
|
|
|
|
|
// column.Foreground = Brushes.White;
|
|
|
|
|
foreach (var item in modelList)
|
|
|
|
|
{
|
|
|
|
|
achievement.Add(item.Count());
|
|
|
|
|
nameList.Add(item.Key);
|
|
|
|
|
}
|
|
|
|
|
column.DataLabels = true;
|
|
|
|
|
column.Title = "型号";
|
|
|
|
|
column.Values = achievement;
|
|
|
|
|
column.Foreground = Brushes.White;
|
|
|
|
|
|
|
|
|
|
// // x轴
|
|
|
|
|
// MaterialNameList = null;
|
|
|
|
|
// MaterialNameList = nameList;
|
|
|
|
|
// // y轴
|
|
|
|
|
// if (ModelStatistics.Count > 0)
|
|
|
|
|
// {
|
|
|
|
|
// for (int i = 0; i < modelList.Count(); i++)
|
|
|
|
|
// {
|
|
|
|
|
// Achievement.FirstOrDefault().Values[i] = modelList.ElementAt(i).Count();
|
|
|
|
|
// }
|
|
|
|
|
// x轴
|
|
|
|
|
MaterialNameList = null;
|
|
|
|
|
MaterialNameList = nameList;
|
|
|
|
|
// y轴
|
|
|
|
|
if (ModelStatistics.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < modelList.Count(); i++)
|
|
|
|
|
{
|
|
|
|
|
Achievement.FirstOrDefault().Values[i] = modelList.ElementAt(i).Count();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
// else
|
|
|
|
|
// {
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// ModelStatistics.Add(column);
|
|
|
|
|
// }
|
|
|
|
|
ModelStatistics.Add(column);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}));
|
|
|
|
|
//#endregion
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//private async void InitEveryDayMethod()
|
|
|
|
@ -538,23 +555,59 @@ namespace Aucma.Core.ProductOffLine.ViewModels
|
|
|
|
|
|
|
|
|
|
public void LoadData()
|
|
|
|
|
{
|
|
|
|
|
OffLineInfo record = _offLineInfoServices.FirstAsync().Result;
|
|
|
|
|
List<WorkTime> listTime = _baseBomInfoServices.getWorkTime().Result;
|
|
|
|
|
if (listTime == null) return;
|
|
|
|
|
List<OffLineInfo> list = _offLineInfoServices.Query(x => x.ProductScanTime >= listTime[0].startTime && x.ProductScanTime <= listTime[11].endTime);
|
|
|
|
|
if(list==null || list.Count<=0) return;
|
|
|
|
|
list = list.OrderBy(x=>x.ProductScanTime).ToList();
|
|
|
|
|
// OffLineInfo record = _offLineInfoServices.FirstAsync().Result;
|
|
|
|
|
|
|
|
|
|
Application.Current.Dispatcher.Invoke(() =>
|
|
|
|
|
{
|
|
|
|
|
foreach(OffLineInfo record in list)
|
|
|
|
|
{
|
|
|
|
|
ListItems.Insert(0, new TempInfo()
|
|
|
|
|
{
|
|
|
|
|
No = ListItems.Count + 1,
|
|
|
|
|
ProductOrderNo = record.ProductOrderNo,
|
|
|
|
|
ProductSNCode = record.ProductSNCode,
|
|
|
|
|
ProductModel = record.ProductModel,
|
|
|
|
|
ProductRemark = record.ProductRemark,
|
|
|
|
|
QualityResult = "成功",
|
|
|
|
|
ProductScanTime = record.ProductScanTime,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void AddDataGrid()
|
|
|
|
|
{
|
|
|
|
|
List<WorkTime> listTime = _baseBomInfoServices.getWorkTime().Result;
|
|
|
|
|
if (listTime == null) return;
|
|
|
|
|
List<OffLineInfo> list = _offLineInfoServices.Query(x => x.ProductScanTime >= listTime[0].startTime && x.ProductScanTime <= listTime[11].endTime);
|
|
|
|
|
if (list == null || list.Count <= 0) return;
|
|
|
|
|
OffLineInfo record = list.OrderByDescending(x => x.ProductScanTime).FirstOrDefault();
|
|
|
|
|
//OffLineInfo record = _offLineInfoServices.FirstAsync(x=>x.ProductScanTime).Result;
|
|
|
|
|
if(record.ProductSNCode!= ListItems[0].ProductSNCode && record.ProductSNCode != ListItems[1].ProductSNCode)
|
|
|
|
|
{
|
|
|
|
|
Application.Current.Dispatcher.Invoke(() =>
|
|
|
|
|
{
|
|
|
|
|
ListItems.Insert(0, new TempInfo()
|
|
|
|
|
{
|
|
|
|
|
No = ListItems.Count + 1,
|
|
|
|
|
ProductOrderNo = record.ProductOrderNo,
|
|
|
|
|
ProductSNCode = record.ProductSNCode.Substring(0, record.ProductSNCode.Length - 3) + new Random().Next(100, 1000).ToString(),
|
|
|
|
|
ProductSNCode = record.ProductSNCode,
|
|
|
|
|
ProductModel = record.ProductModel,
|
|
|
|
|
ProductRemark = record.ProductRemark,
|
|
|
|
|
QualityResult = "成功",
|
|
|
|
|
ProductScanTime = DateTime.Now
|
|
|
|
|
ProductScanTime = record.ProductScanTime,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|