diff --git a/Aucma.Core.ProductOffLine/Business/offLineBusiness.cs b/Aucma.Core.ProductOffLine/Business/offLineBusiness.cs
index cdf11b74..9d3f9f6c 100644
--- a/Aucma.Core.ProductOffLine/Business/offLineBusiness.cs
+++ b/Aucma.Core.ProductOffLine/Business/offLineBusiness.cs
@@ -24,7 +24,7 @@ using System.Threading.Tasks;
namespace Aucma.Core.ProductOffLine.Business
{
///
- /// 入库业务逻辑
+ /// 成品下线业务逻辑
///
public class OffLineBusiness
{
@@ -93,35 +93,13 @@ namespace Aucma.Core.ProductOffLine.Business
public async void test()
{
- string tt = "Y@1104@16160030000000910780@000010034895@@ @000000@000000009000000807@BCD-160C,家电下乡@@BCD-160C@皓月白-家电下乡@161601300@160@1-00版@家电下乡产品@默认@2010-09-01";
- string[] FArrayList = tt.Split('@');
- if (FArrayList[0].ToUpper() == "Y") //查询数据成功
+ // string tt = "Y@1104@16160030000000910780@000010034895@@ @000000@000000009000004899@BCD-160C,家电下乡@@BCD-160C@皓月白-家电下乡@161601300@160@1-00版@家电下乡产品@默认@2010-09-01";
+ Task.Run(() =>
{
- #region 实体赋值
- TempOffLineInfo1.ProductFactoryCode = FArrayList[1];
- TempOffLineInfo1.ProductSNCode = FArrayList[2];
- TempOffLineInfo1.ProductOrderNo = DBToString(FArrayList[3]);
- TempOffLineInfo1.ProductSaleNo = DBToString(FArrayList[4]);
- TempOffLineInfo1.ProductSaleLineNo = DBToString(FArrayList[5]);
- TempOffLineInfo1.ProductCheckInfo = DBToString(FArrayList[6]); //验证组合
- TempOffLineInfo1.ProductCode = DBToString(FArrayList[7]);
- TempOffLineInfo1.ProductName = DBToString(FArrayList[8]); //产品描述
- TempOffLineInfo1.ProductType = FArrayList[9];
- TempOffLineInfo1.ProductModel = FArrayList[10]; //产品型号
- TempOffLineInfo1.ProductRemark = DBToString(FArrayList[11]);
- TempOffLineInfo1.ProductBarNo = FArrayList[12];
- TempOffLineInfo1.ProductMasterModel = FArrayList[13]; //产品主型号
- TempOffLineInfo1.ProductVersion = FArrayList[14];
- TempOffLineInfo1.ProductUseInfo = FArrayList[15];//产品用途
- TempOffLineInfo1.ProductCirculate = FArrayList[16];//流通特性
- TempOffLineInfo1.ProductCreateDate = FArrayList[17];
- #endregion
- TempOffLineInfo1.ProductScanTime = System.DateTime.Now;
- TempOffLineInfo1.number1 = "111";
- // OffLineInfo info11 = MapperTwo(TempOffLineInfo);
- // int a = await _offLineInfoServices.AddAsync(info11);
- // Console.WriteLine(a);
- }
+ Thread.Sleep(5000);
+ MaterialBarScanEvent("32160030000000910780", "192.168.1.19");
+ // MaterialBarScanEvent("33160030000000910780", "192.168.1.20");
+ });
}
///
/// 处理条码
@@ -130,30 +108,50 @@ namespace Aucma.Core.ProductOffLine.Business
/// 扫码器方向
public async void MaterialBarScanEvent(string code,string scannerIp)//接收条码数据
{
- int ScannerNo = scannerIp== Appsettings.app("Middleware", "Scanner1", "Ip") ? 1:2 ; // 确定是哪个扫码器
-
- bool BackResult = false;
- if (ScannerNo==1)
+ Task.Run(async () =>
{
- //1.扫描的SN条码去条码系统校验
- BackResult = await HandleMaterialBarCode(code.Trim(), TempOffLineInfo1); //扫码器1
- // 2.更新mes数据库
- await updateMesData(TempOffLineInfo1);
- }
- else
- {
- BackResult = await HandleMaterialBarCode(code.Trim(), TempOffLineInfo2); //扫码器2
- // 2.更新mes数据库
- await updateMesData(TempOffLineInfo1);
- }
- if (BackResult == true)
- {
- log.Info(String.Format("订单号{0} 订单数量{1}", TempOffLineInfo1.ProductOrderNo, TempOffLineInfo1.OrderQty));
- // 先查询分垛方向A或者B
- string direction = getDirectioneEvent?.Invoke(TempOffLineInfo1.ProductCode);
- DownLoadPassFlag(ScannerNo,direction); //下发plc放行信号,分垛AB库
- }
- }
+ int ScannerNo = scannerIp == Appsettings.app("Middleware", "Scanner1", "Ip") ? 1 : 2; // 确定是哪个扫码器
+ string materialType = "";
+ bool BackResult = false;
+ if (ScannerNo == 1)
+ {
+ //1.扫描的SN条码去条码系统校验
+ BackResult = await HandleMaterialBarCode(code.Trim(), TempOffLineInfo1); //扫码器1
+ materialType = TempOffLineInfo1.ProductCode;
+ if (!BackResult)
+ {
+ return;
+ }
+ // 2.更新mes数据库
+ BackResult = await updateMesData(TempOffLineInfo1);
+ log.Info(String.Format("订单号{0} 订单数量{1}", TempOffLineInfo1.ProductOrderNo, TempOffLineInfo1.OrderQty));
+ }
+ else
+ {
+ BackResult = await HandleMaterialBarCode(code.Trim(), TempOffLineInfo2); //扫码器2
+ materialType = TempOffLineInfo2.ProductCode;
+ if (!BackResult)
+ {
+ return;
+ }
+ // 2.更新mes数据库
+ BackResult = await updateMesData(TempOffLineInfo2);
+ log.Info(String.Format("订单号{0} 订单数量{1}", TempOffLineInfo2.ProductOrderNo, TempOffLineInfo2.OrderQty));
+ }
+ if (BackResult == true)
+ {
+ // 先查询分垛方向A或者B
+ string direction = getDirectioneEvent?.Invoke(materialType);
+ bool plcResult = DownLoadPassFlag(ScannerNo, direction); //下发plc放行信号,分垛AB库
+ if (plcResult == false)
+ {
+ sendPlcError();
+ }
+ log.Info("plc放行反馈成功");
+ }
+ });
+
+ }
///
/// 条码验证成功后,更新mes数据库 成品下线表,订单表等等
@@ -164,7 +162,6 @@ namespace Aucma.Core.ProductOffLine.Business
{
try
{
- // TempOffLineInfo.ProductRefreshFlag = true;
OffLineInfo info11 = MapperTwo(TempOffLineInfo);
// 添加成品下线表
await _offLineInfoServices.AddAsync(info11);
@@ -172,8 +169,8 @@ namespace Aucma.Core.ProductOffLine.Business
////6.更新mes 数据库完成数量和时间(BASE_ORDERINFO,PRODUCT_PLANINFO) 注意:查询的字段可能需要修改,确保数据一致
////6.1截取订单号去查询更新BASE_ORDERINFO,全放到service处理
- //string orderCode = "11215484";
- //List orders = await _baseOrderInfoServices.QueryAsync(x => x.OrderCode == orderCode);
+
+ List orders = await _baseOrderInfoServices.QueryAsync(x => x.OrderCode == TempOffLineInfo.ProductOrderNo);
//BaseOrderInfo order = orders.FirstOrDefault();
//if (order.CompleteAmount == 0)
//{
@@ -217,37 +214,37 @@ namespace Aucma.Core.ProductOffLine.Business
///
///
public async Task HandleMaterialBarCode(string BarCode,TempInfo TempOffLineInfo)
- {
+ {
try
{
- TempOffLineInfo.ProductSNCode = BarCode.Trim(); //SN码
- TempOffLineInfo.ProductScanTime = System.DateTime.Now;
-
- TempOffLineInfo.ProductOrderNo = "";
+ Thread.Sleep(10000);
+ TempOffLineInfo.ProductSNCode = BarCode.Trim(); //产品SN条码*1
+ TempOffLineInfo.ProductScanTime = System.DateTime.Now; // 扫码时间*2
+ TempOffLineInfo.ProductOrderNo = "";
log.Info("条码验证开始:" + BarCode);
//1.查询条码系统
- string result = await _productOffLineServices.QueryChecked(BarCode);
- // string result = "Y@1104@16160030000000910780@000010034895@@ @000000@000000009000000807@BCD-160C,家电下乡@@BCD-160C@皓月白-家电下乡@161601300@160@1-00版@家电下乡产品@默认@2010-09-01";
+ // string result = await _productOffLineServices.QueryChecked(BarCode);
+ string result = "Y@1104@16160030000000910780@000010034895@@ @000000@000000009000004899@BCD-160C,家电下乡@@BCD-160C@test皓月白-家电下乡@161601300@160@1-00版@家电下乡产品@默认@2010-09-01";
- //查询到的数据分割处理,结果中用"@"号分隔,刷新页面显示
- string[] FArrayList = result.Split('@');
+ //查询到的数据分割处理,结果中用"@"号分隔,刷新页面显示
+ string[] FArrayList = result.Split('@');
if (FArrayList[0].ToUpper() == "Y") //查询数据成功
{
-
log.Info(BarCode + "成功返回验证信息:" + result);
+
#region 实体赋值
- TempOffLineInfo.MsgInfo = "获取信息成功" + BarCode + " 返回值:" + FArrayList[0].ToUpper();
+ TempOffLineInfo.MsgInfo = "获取信息成功" + BarCode + " 返回值:" + FArrayList[0].ToUpper(); // 提示信息*7
TempOffLineInfo.ProductFactoryCode = FArrayList[1];
TempOffLineInfo.ProductSNCode = FArrayList[2];
- TempOffLineInfo.ProductOrderNo = DBToString(FArrayList[3]).Replace("0000", "");
+ TempOffLineInfo.ProductOrderNo = DBToString(FArrayList[3]).Replace("0000", ""); // 订单编号*4
TempOffLineInfo.ProductSaleNo = DBToString(FArrayList[4]);
TempOffLineInfo.ProductSaleLineNo = DBToString(FArrayList[5]);
TempOffLineInfo.ProductCheckInfo = DBToString(FArrayList[6]); //验证组合
TempOffLineInfo.ProductCode = DBToString(FArrayList[7]).Replace("00000000", "");
TempOffLineInfo.ProductName = DBToString(FArrayList[8]); //产品描述
TempOffLineInfo.ProductType = FArrayList[9];
- TempOffLineInfo.ProductModel = FArrayList[10]; //产品型号
+ TempOffLineInfo.ProductModel = FArrayList[10]; //产品型号*3
TempOffLineInfo.ProductRemark = DBToString(FArrayList[11]);
TempOffLineInfo.ProductBarNo = FArrayList[12];
TempOffLineInfo.ProductMasterModel = FArrayList[13]; //产品主型号
@@ -256,7 +253,8 @@ namespace Aucma.Core.ProductOffLine.Business
TempOffLineInfo.ProductCirculate = FArrayList[16];//流通特性
TempOffLineInfo.ProductCreateDate = FArrayList[17];
#endregion
-
+ //界面刷新
+ TempOffLineInfo.ProductRefreshFlag = true;
// 多码系统校验,是否需要待定,现场看情况
// bool flag = TestBarCode(TempOffLineInfo);
// if (!flag)
@@ -268,8 +266,8 @@ namespace Aucma.Core.ProductOffLine.Business
else
{
log.Info(BarCode + "失败返回验证信息:" + FArrayList[1]);
+
#region 实体赋值
- // TempOffLineInfo.ProductDataFlag = true;
TempOffLineInfo.MsgAlarmFlag = true;
TempOffLineInfo.MsgInfo = "获取信息失败. " + BarCode + " 返回值:" + FArrayList[0].ToString();
TempOffLineInfo.ProductOrderNo = "";
@@ -293,6 +291,8 @@ namespace Aucma.Core.ProductOffLine.Business
TempOffLineInfo.sim = "";
TempOffLineInfo.number1 = "";
#endregion
+ //界面刷新
+ TempOffLineInfo.ProductRefreshFlag = true;
return false;
}
// mes查询订单数据, 异常处理:后期可能根据SN码查箱体码,查订单号并检查更新订单数据
@@ -300,18 +300,21 @@ namespace Aucma.Core.ProductOffLine.Business
//2.上传条码系统
if (!string.IsNullOrEmpty(TempOffLineInfo.ProductOrderNo))
{
- string strSave = await _productOffLineServices.SaveBarcodeInfo(BarCode.Trim(), "ILS_SORT", TempOffLineInfo.ProductOrderNo, 1);
- if (!string.IsNullOrEmpty(strSave))
+ // string strSave = await _productOffLineServices.SaveBarcodeInfo(BarCode.Trim(), "ILS_SORT", TempOffLineInfo.ProductOrderNo, 1);
+ string strSave = "Y";
+ if (!string.IsNullOrEmpty(strSave))
{
if (strSave == "Y")
{
log.Info(BarCode + "上传条码成功:" + strSave);
- TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + ",上传条码成功" + strSave;
- if (order != null)
+ TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + ",上传条码成功";
+ //界面刷新
+ TempOffLineInfo.ProductRefreshFlag = true;
+ if (order != null)
{
- TempOffLineInfo.OrderQty = order.OrderAmount;
- TempOffLineInfo.ActQty = order.CompleteAmount;
+ TempOffLineInfo.OrderQty = order.OrderAmount; // 订单数量*5
+ TempOffLineInfo.ActQty = order.CompleteAmount; // 订单已上传*6
}
return true;
}
@@ -319,40 +322,53 @@ namespace Aucma.Core.ProductOffLine.Business
{
log.Info(BarCode + "上传条码失败:" + strSave);
TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + ",上传条码失败" + strSave;
- if (strSave.Contains("条码重复"))
- {
+ //界面刷新
+ TempOffLineInfo.ProductRefreshFlag = true;
+ if (strSave.Contains("条码重复"))
+ {
// 查询本地数据库是否有数据
OffLineInfo offLineInfo = await _offLineInfoServices.FirstAsync(x => x.ProductSNCode == BarCode);
if (offLineInfo != null)
{
- log.Info(BarCode + "条码重复,本地已存在");
- TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + ",上传条码失败" + strSave + "上传日期:" + DBToString(offLineInfo.ProductScanTime);
+ log.Info(BarCode + "条码重复,本地已存在,放行");
+ TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + "条码重复,本地已存在,放行";
+ //界面刷新
+ TempOffLineInfo.ProductRefreshFlag = true;
+ return true;
// chkout:条码重复是否允许放行
- if (TempOffLineInfo.ChkOut == true)
- {
- return true;
- }
+ //if (TempOffLineInfo.ChkOut == true)
+ //{
+ // return true;
+ //}
}
else
{
- log.Info(BarCode + "条码重复,本地不存在,已上传中");
-
- OffLineInfo info11 = MapperTwo(TempOffLineInfo);
- await _offLineInfoServices.AddAsync(info11);
- }
+ log.Info(BarCode + "条码重复,本地不存在,已插入,放行");
+ OffLineInfo info11 = MapperTwo(TempOffLineInfo);
+ await _offLineInfoServices.AddAsync(info11);
+ return true;
+ }
}
- return false;
+ TempOffLineInfo.MsgAlarmFlag = false;
+ return false;
}
}
else
{
- return false;
+ TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + ",条码系统保存接口异常";
+ TempOffLineInfo.MsgAlarmFlag = true;
+ //界面刷新
+ TempOffLineInfo.ProductRefreshFlag = true;
+ return false;
}
}
else
{
TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + ",生产单号异常";
+ TempOffLineInfo.MsgAlarmFlag = true;
+ //界面刷新
+ TempOffLineInfo.ProductRefreshFlag = true;
return false;
}
}
@@ -360,14 +376,11 @@ namespace Aucma.Core.ProductOffLine.Business
{
TempOffLineInfo.MsgInfo = "获取产品条码异常:" + ex.Message;
TempOffLineInfo.MsgAlarmFlag = true;
-
+ //界面刷新
+ TempOffLineInfo.ProductRefreshFlag = true;
log.Info(BarCode + "条码验证异常:" + ex.Message.ToString());
return false;
}
- finally
- {
- TempOffLineInfo.ProductRefreshFlag = true;
- }
}
#region plc交互
@@ -402,7 +415,7 @@ namespace Aucma.Core.ProductOffLine.Business
// 往plc写入放行信号
obj.plc.WriteInt32("D202", 1);
}
- DateTime targetTime = DateTime.Now.AddSeconds(8);
+ DateTime targetTime = DateTime.Now.AddSeconds(60);
// 等待plc反馈信号
while (true)
{
diff --git a/Aucma.Core.ProductOffLine/Models/TempInfo.cs b/Aucma.Core.ProductOffLine/Models/TempInfo.cs
index 5f5a9e54..abba589f 100644
--- a/Aucma.Core.ProductOffLine/Models/TempInfo.cs
+++ b/Aucma.Core.ProductOffLine/Models/TempInfo.cs
@@ -95,14 +95,7 @@ namespace Aucma.Core.ProductOffLine.Models
/// 刷新标志,定时器检测true刷新
///
public bool ProductRefreshFlag { get; set; }
- ///
- /// 朗读标志,1放行扫码成功,2保存条码失败,3条码验证失败
- ///
- public int ReadFlag { get; set; }
- ///
- /// 刷新页面信息标志
- ///
- public bool ProductDataFlag { get; set; }
+
///
/// 界面提示信息
///
@@ -119,11 +112,14 @@ namespace Aucma.Core.ProductOffLine.Models
/// 已生产数量
///
public int ActQty { get; set; }
+
+ #region 多码验证属性
public string oneCode { get; set; }
public string serialNumber { get; set; }
public string rfid { get; set; }
public string sim { get; set; }
public string number1 { get; set; }
+ #endregion
///
/// 扫码重复是否允许放行,界面加选择栏
///
diff --git a/Aucma.Core.ProductOffLine/ViewModels/IndexPageViewModel.cs b/Aucma.Core.ProductOffLine/ViewModels/IndexPageViewModel.cs
index 9db35db2..97e710a8 100644
--- a/Aucma.Core.ProductOffLine/ViewModels/IndexPageViewModel.cs
+++ b/Aucma.Core.ProductOffLine/ViewModels/IndexPageViewModel.cs
@@ -34,6 +34,7 @@ using NPOI.HSSF.Record;
using System.Windows;
using System.Collections.ObjectModel;
using Aucma.Core.ProductOffLine.Models;
+using System.Globalization;
/*
@@ -49,59 +50,125 @@ namespace Aucma.Core.ProductOffLine.ViewModels
// 成品下线操作mes数据
private readonly IOffLineInfoServices? _offLineInfoServices = App.ServiceProvider.GetService();
+ System.Timers.Timer timer = new System.Timers.Timer(1000 * 1);//界面刷新定时器
+
private OffLineBusiness offLineBusiness = OffLineBusiness.Instance;
int a = 0;
public IndexPageViewModel()
{
offLineBusiness.test();
- _offLineInfoServices = App.ServiceProvider.GetService();
- // test33();
-
+ _offLineInfoServices = App.ServiceProvider.GetService();
InitEveryDayMethod();
+ // 刷新界面信息
+ RefreshPageListen();
+
}
-
-
+
+ #region 参数定义
+
#region 扫描信息
- #region 物料条码
- private string _stationName;
- public string StationName
+ #region 产品条码
+ private string _productSNCode;
+ public string ProductSNCode
+ {
+ get { return _productSNCode; }
+ set
+ {
+ _productSNCode = value;
+ OnPropertyChanged(nameof(ProductSNCode));
+ }
+ }
+ #endregion
+
+ #region 扫描时间
+ private string _productScanTime;
+ public string ProductScanTime
{
- get { return _stationName; }
+ get { return _productScanTime; }
set
{
- _stationName = value;
- SetProperty(ref _stationName, value);
+ _productScanTime = value;
+ OnPropertyChanged(nameof(ProductScanTime));
}
}
#endregion
- #region 物料名称
- private string _materialName;
- public string MaterialName
+ #region 产品型号
+ private string _productModel;
+ public string ProductModel
+ {
+ get { return _productModel; }
+ set
+ {
+ _productModel = value;
+ OnPropertyChanged(nameof(ProductModel));
+ }
+ }
+ #endregion
+
+ #region 订单编号
+ private string _productOrderNo;
+ public string ProductOrderNo
+ {
+ get { return _productOrderNo; }
+ set
+ {
+ _productOrderNo = value;
+ OnPropertyChanged(nameof(ProductOrderNo));
+ }
+ }
+ #endregion
+ #region 订单数量
+ private string _orderQty;
+ public string OrderQty
+ {
+ get { return _orderQty; }
+ set
+ {
+ _orderQty = value;
+ OnPropertyChanged(nameof(OrderQty));
+ }
+ }
+ #endregion
+ #region 订单已上传
+ private string _actQty;
+ public string ActQty
{
- get { return _materialName; }
+ get { return _actQty; }
set
{
- _materialName = value;
- SetProperty(ref _materialName, value);
+ _actQty = value;
+ OnPropertyChanged(nameof(ActQty));
}
}
#endregion
- #region 订单信息
- private string _orderNo;
- public string OrderNo
+ #region 界面提示信息
+ private string _msgInfo;
+ public string MsgInfo
+ {
+ get { return _msgInfo; }
+ set
+ {
+ _msgInfo = value;
+ OnPropertyChanged(nameof(MsgInfo));
+ }
+ }
+ private Brush _msgColor;
+ public Brush MsgColor
{
- get { return _orderNo; }
+ get { return _msgColor; }
set
{
- _orderNo = value;
- SetProperty(ref _orderNo, value);
+ _msgColor = value;
+ OnPropertyChanged(nameof(MsgColor));
}
}
+
#endregion
+
#region 开始时间
private string _beginTime;
public string BeginTime
@@ -110,48 +177,141 @@ namespace Aucma.Core.ProductOffLine.ViewModels
set
{
_beginTime = value;
- SetProperty(ref _beginTime, value);
+ OnPropertyChanged(nameof(BeginTime));
}
}
#endregion
#endregion
- private void LoadProduct()
+ #region 日产量柱状图
+
+ ///
+ /// 日产量柱状图
+ ///
+ private SeriesCollection achievement = new SeriesCollection();
+
+ public SeriesCollection Achievement
{
- ChartValues achievement = new ChartValues();
-
- App.Current.Dispatcher.BeginInvoke((Action)(() =>
+ get { return achievement; }
+ set { achievement = value; }
+ }
+
+ #endregion
+
+ #region 型号统计柱状图
+ ///
+ /// 型号统计柱状图
+ ///
+ private SeriesCollection modelStatistics = new SeriesCollection();
+
+ public SeriesCollection ModelStatistics
+ {
+ get { return modelStatistics; }
+ set { modelStatistics = value; }
+ }
+ #endregion
+
+ #region 日产量柱状图X轴日期
+ ///
+ /// 日产量柱状图X轴日期
+ ///
+ private List productionHourList;
+
+ public List ProductionHourList
+ {
+ get { return productionHourList; }
+ set { productionHourList = value; }
+ }
+ #endregion
+
+ #region 型号统计柱状图X轴日期
+ ///
+ /// 型号统计柱状图X轴日期
+ ///
+ private List materialNameList;
+
+ public List MaterialNameList
+ {
+ get { return materialNameList; }
+ set { materialNameList = value; }
+ }
+ #endregion
+
+ #region 初始化datagrid
+ private ObservableCollection listItems = new ObservableCollection() { };
+ public ObservableCollection ListItems
+ {
+ get { return listItems; }
+ set
{
- Achievement.Clear();
- for (int i = 0; i < 5; i++)
- {
- ProductionHourList.Add(i.ToString());
- achievement.Add(1 + i * 10);
- }
+ listItems = value;
+ OnPropertyChanged();//属性通知
+ }
+ }
+ #endregion
+ #endregion
- var column = new ColumnSeries();
- column.DataLabels = true;
- column.Title = "泡后库";
- column.Values = achievement;
- Achievement.Add(column);
- ModelStatistics.Add(column);
- }));
+ #region 界面刷新定时器
+ public void RefreshPageListen()
+ {
+ timer.Elapsed += new System.Timers.ElapsedEventHandler(RefreshPage);
+ timer.AutoReset = true;
+ timer.Enabled = true;
+ timer.Start();
+ }
+ ///
+ /// 定时检测两个扫码实体是否需要刷新
+ ///
+ ///
+ ///
+ public void RefreshPage(object source, System.Timers.ElapsedEventArgs e)
+ {
+ if (OffLineBusiness.TempOffLineInfo1.ProductRefreshFlag == true)
+ {
+ ModelToPage(OffLineBusiness.TempOffLineInfo1);
+ OffLineBusiness.TempOffLineInfo1.ProductRefreshFlag = false;
+ }
+ else if(OffLineBusiness.TempOffLineInfo2.ProductRefreshFlag == true)
+ {
+ ModelToPage(OffLineBusiness.TempOffLineInfo2);
+ OffLineBusiness.TempOffLineInfo2.ProductRefreshFlag = false;
+ }
}
+ public void ModelToPage(TempInfo tempInfo)
+ {
+ App.Current.Dispatcher.Invoke(() =>
+ {
+ ProductSNCode = tempInfo.ProductSNCode;
+ ProductScanTime = tempInfo.ProductScanTime.ToString();
+ ProductModel = tempInfo.ProductModel;
+ ProductOrderNo = tempInfo.ProductOrderNo;
+ OrderQty = tempInfo.OrderQty.ToString();
+ ActQty = tempInfo.ActQty.ToString();
+ MsgInfo = tempInfo.MsgInfo;
+ if (tempInfo.MsgAlarmFlag==null || tempInfo.MsgAlarmFlag==false)
+ {
+ MsgColor = Brushes.White;
+ }
+ else
+ {
+ MsgColor = Brushes.Red;
+ }
+ tempInfo.MsgAlarmFlag = false;
+ });
+ }
+ #endregion
private void InitEveryDayMethod()
{
LoadData();
- StationName = "成品下线扫描";
- MaterialName = "SC-AUCMA-农夫山泉,SC 门体";
- OrderNo = "8512365486";
BeginTime = DateTime.Now.ToString("yyyy-mm-dd HH:mm:ss");
ChartValues achievement = new ChartValues();
Random random = new Random();
for (int i = 0; i < 5; i++)
{
- achievement.Add(random.Next(60, 100));
+ achievement.Add(random.Next(60, 100));
}
var column = new ColumnSeries();
@@ -191,11 +351,11 @@ namespace Aucma.Core.ProductOffLine.ViewModels
column2.Foreground = Brushes.White;
Achievement.Add(column2);
// 加载datagrid
-
+
}
public async void LoadData()
{
- List list = await _offLineInfoServices.QueryAsync(x=>x.ProductScanTime >= System.DateTime.Now.AddDays(-1), "PRODUCT_SCANTIME desc");
+ List list = await _offLineInfoServices.QueryAsync(x => x.ProductScanTime >= System.DateTime.Now.AddDays(-1), "PRODUCT_SCANTIME desc");
if (list != null)
{
foreach (OffLineInfo record in list)
@@ -209,76 +369,7 @@ namespace Aucma.Core.ProductOffLine.ViewModels
}
}
- #region 初始化datagrid
- private ObservableCollection listItems = new ObservableCollection() { };
- public ObservableCollection ListItems
- {
- get { return listItems; }
- set
- {
- listItems = value;
- OnPropertyChanged();//属性通知
- }
- }
- #endregion
-
-
- #region 日产量柱状图
-
- ///
- /// 日产量柱状图
- ///
- private SeriesCollection achievement = new SeriesCollection();
- public SeriesCollection Achievement
- {
- get { return achievement; }
- set { achievement = value; }
- }
-
- #endregion
-
- #region 型号统计柱状图
- ///
- /// 型号统计柱状图
- ///
- private SeriesCollection modelStatistics = new SeriesCollection();
-
- public SeriesCollection ModelStatistics
- {
- get { return modelStatistics; }
- set { modelStatistics = value; }
- }
- #endregion
-
- #region 日产量柱状图X轴日期
- ///
- /// 日产量柱状图X轴日期
- ///
- private List productionHourList;
-
- public List ProductionHourList
- {
- get { return productionHourList; }
- set { productionHourList = value; }
- }
- #endregion
-
- #region 型号统计柱状图X轴日期
- ///
- /// 型号统计柱状图X轴日期
- ///
- private List materialNameList;
-
- public List MaterialNameList
- {
- get { return materialNameList; }
- set { materialNameList = value; }
- }
- #endregion
-
-
-
}
-}
+}
\ No newline at end of file
diff --git a/Aucma.Core.ProductOffLine/Views/IndexPageView.xaml b/Aucma.Core.ProductOffLine/Views/IndexPageView.xaml
index 82bf56f1..728d20b4 100644
--- a/Aucma.Core.ProductOffLine/Views/IndexPageView.xaml
+++ b/Aucma.Core.ProductOffLine/Views/IndexPageView.xaml
@@ -163,48 +163,50 @@
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+