|
|
|
@ -84,12 +84,15 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 扫码信息刷新
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="materialCode"></param>
|
|
|
|
|
/// <param name="materialName"></param>
|
|
|
|
|
/// <param name="spaceName"></param>
|
|
|
|
|
/// <param name="materialType"></param>
|
|
|
|
|
public delegate void RefreshScanMateriaCode(string materialCode, string materialName, string spaceName, string materialType);
|
|
|
|
|
public event RefreshScanMateriaCode RefreshScanMateriaCodeEvent;
|
|
|
|
|
public delegate void RefreshScanMateriaCode(TempInfo tempInfo);
|
|
|
|
|
public static event RefreshScanMateriaCode? RefreshScanMateriaCodeEvent;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 图表刷新
|
|
|
|
|
/// </summary>
|
|
|
|
|
public delegate void RefreshCharts();
|
|
|
|
|
public static event RefreshCharts? RefreshChartsEvent;
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取入库方向
|
|
|
|
|
/// </summary>
|
|
|
|
@ -101,7 +104,7 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
public OffLineBusiness()
|
|
|
|
|
{
|
|
|
|
|
MvCodeHelper.RefreshMaterialCodeStrEvent += MaterialBarScan;
|
|
|
|
|
// test();
|
|
|
|
|
// test();
|
|
|
|
|
}
|
|
|
|
|
#region 变量定义
|
|
|
|
|
/// <summary>
|
|
|
|
@ -115,23 +118,29 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
{
|
|
|
|
|
// private static readonly log4net.ILog log = LogManager.GetLogger(typeof(OffLineBusiness));
|
|
|
|
|
// string result = _productOffLineServices.QueryChecked("1520870000099E2V0004");
|
|
|
|
|
string result = _productOffLineServices.QueryChecked("1530080CD0098E1V1714");
|
|
|
|
|
Console.WriteLine(result);
|
|
|
|
|
string strSave = _productOffLineServices.SaveBarcodeInfo("1520870000099E2V0004", "ILS_SORT", result.Replace("0000",""), 1);
|
|
|
|
|
// LogHelper.Info("成品码:1520870000099E2V0004"+strSave);
|
|
|
|
|
// string result = _productOffLineServices.QueryChecked("1530080CD0098E1V1714");
|
|
|
|
|
// Console.WriteLine(result);
|
|
|
|
|
// string strSave = _productOffLineServices.SaveBarcodeInfo("1520870000099E2V0004", "ILS_SORT", result.Replace("0000",""), 1);
|
|
|
|
|
// LogHelper.Info("成品码:1520870000099E2V0004"+strSave);
|
|
|
|
|
// string tt = "Y@1104@16160030000000910780@000010034895@@ @000000@000000009000004899@BCD-160C,家电下乡@@BCD-160C@皓月白-家电下乡@161601300@160@1-00版@家电下乡产品@默认@2010-09-01";
|
|
|
|
|
//Task.Run(() =>
|
|
|
|
|
//{
|
|
|
|
|
// //while (true)
|
|
|
|
|
// //{
|
|
|
|
|
// Thread.Sleep(5000);
|
|
|
|
|
// Random random = new Random();
|
|
|
|
|
// MaterialBarScan("32160030000000912" + random.Next(100, 999), "192.168.1.20");
|
|
|
|
|
// // }
|
|
|
|
|
|
|
|
|
|
// // Thread.Sleep(1000);
|
|
|
|
|
// // MaterialBarScanEvent("33160030000000910780", "192.168.1.20");
|
|
|
|
|
//});
|
|
|
|
|
Task.Run(() =>
|
|
|
|
|
{
|
|
|
|
|
//while (true)
|
|
|
|
|
//{
|
|
|
|
|
Thread.Sleep(5000);
|
|
|
|
|
Random random = new Random();
|
|
|
|
|
MaterialBarScan("32160030000000912" + random.Next(100, 999), "10.10.92.141");
|
|
|
|
|
Thread.Sleep(3000);
|
|
|
|
|
Random random1 = new Random();
|
|
|
|
|
MaterialBarScan("99160030000000912" + random1.Next(100, 999), "10.10.92.141");
|
|
|
|
|
Thread.Sleep(3000);
|
|
|
|
|
Random random2 = new Random();
|
|
|
|
|
MaterialBarScan("44160030000000912" + random2.Next(100, 999), "10.10.92.141");
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// Thread.Sleep(1000);
|
|
|
|
|
// MaterialBarScanEvent("33160030000000910780", "192.168.1.20");
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void MaterialBarScan(string code, string scannerIp)
|
|
|
|
@ -163,31 +172,50 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
materialType = TempOffLineInfo1.ProductCode;
|
|
|
|
|
if (!BackResult)
|
|
|
|
|
{
|
|
|
|
|
log.Info("条码:" + TempOffLineInfo1.ProductSNCode + "对接条码系统处理失败,禁止放行,流程结束");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
TempOffLineInfo1.ProductRefreshFlag = true;
|
|
|
|
|
// TempOffLineInfo1.ProductRefreshFlag = true;
|
|
|
|
|
// 2.更新mes数据库
|
|
|
|
|
BackResult = updateMesData(TempOffLineInfo1);
|
|
|
|
|
BackResult = true; // 测试
|
|
|
|
|
// 3.plc放行
|
|
|
|
|
if (BackResult)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
bool plcResult = SendAndWaitSignal(ScannerNo, materialType);
|
|
|
|
|
if (plcResult)
|
|
|
|
|
{
|
|
|
|
|
// TempOffLineInfo1.MsgInfo = TempOffLineInfo1.MsgInfo + "plc放行成功";
|
|
|
|
|
//if (plcResult)
|
|
|
|
|
//{
|
|
|
|
|
// // TempOffLineInfo1.MsgInfo = TempOffLineInfo1.MsgInfo + "plc放行成功";
|
|
|
|
|
|
|
|
|
|
//界面刷新
|
|
|
|
|
// TempOffLineInfo1.ProductRefreshFlag = true;
|
|
|
|
|
// //界面刷新
|
|
|
|
|
// // TempOffLineInfo1.ProductRefreshFlag = true;
|
|
|
|
|
//}
|
|
|
|
|
//else
|
|
|
|
|
//{
|
|
|
|
|
// TempOffLineInfo1.MsgInfo = TempOffLineInfo1.MsgInfo + "plc放行异常";
|
|
|
|
|
// TempOffLineInfo1.MsgAlarmFlag = true;
|
|
|
|
|
// //界面刷新
|
|
|
|
|
// TempOffLineInfo1.ProductRefreshFlag = true;
|
|
|
|
|
//}
|
|
|
|
|
log.Info(String.Format("订单号{0} 订单数量{1}", TempOffLineInfo1.ProductOrderNo, TempOffLineInfo1.OrderQty));
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
//刷新统计图表
|
|
|
|
|
RefreshChartsEvent?.Invoke();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
catch(Exception ex)
|
|
|
|
|
{
|
|
|
|
|
TempOffLineInfo1.MsgInfo = TempOffLineInfo1.MsgInfo + "plc放行异常";
|
|
|
|
|
TempOffLineInfo1.MsgAlarmFlag = true;
|
|
|
|
|
//界面刷新
|
|
|
|
|
TempOffLineInfo1.ProductRefreshFlag = true;
|
|
|
|
|
log.Error("刷新统计图表出错:"+ex.Message.ToString());
|
|
|
|
|
}
|
|
|
|
|
log.Info(String.Format("订单号{0} 订单数量{1}", TempOffLineInfo1.ProductOrderNo, TempOffLineInfo1.OrderQty));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
log.Info("条码:" + TempOffLineInfo1.ProductSNCode + "更新Mes数据库失败");
|
|
|
|
|
TempOffLineInfo1.MsgInfo = TempOffLineInfo1.MsgInfo + "更新Mes数据库失败";
|
|
|
|
|
TempOffLineInfo1.MsgAlarmFlag = true;
|
|
|
|
|
//界面刷新
|
|
|
|
|
RefreshScanMateriaCodeEvent(TempOffLineInfo1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -198,15 +226,18 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
materialType = TempOffLineInfo2.ProductCode;
|
|
|
|
|
if (!BackResult)
|
|
|
|
|
{
|
|
|
|
|
log.Info("条码:" + TempOffLineInfo1.ProductSNCode + "对接条码系统处理失败,禁止放行,流程结束");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
TempOffLineInfo2.ProductRefreshFlag = true;
|
|
|
|
|
// TempOffLineInfo2.ProductRefreshFlag = true;
|
|
|
|
|
// 2.更新mes数据库
|
|
|
|
|
BackResult = updateMesData(TempOffLineInfo2);
|
|
|
|
|
BackResult = true;
|
|
|
|
|
// 3.plc放行
|
|
|
|
|
if (BackResult)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool plcResult = SendAndWaitSignal(ScannerNo, materialType);
|
|
|
|
|
//if (plcResult)
|
|
|
|
|
//{
|
|
|
|
@ -223,16 +254,33 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
// TempOffLineInfo2.ProductRefreshFlag = true;
|
|
|
|
|
//}
|
|
|
|
|
log.Info(String.Format("订单号{0} 订单数量{1}", TempOffLineInfo2.ProductOrderNo, TempOffLineInfo2.OrderQty));
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
//刷新统计图表
|
|
|
|
|
RefreshChartsEvent?.Invoke();
|
|
|
|
|
}catch(Exception ex)
|
|
|
|
|
{
|
|
|
|
|
log.Error("刷新页面异常"+ex.Message.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
log.Info("条码:" + TempOffLineInfo2.ProductSNCode + "更新Mes数据库失败");
|
|
|
|
|
TempOffLineInfo2.MsgInfo = TempOffLineInfo2.MsgInfo + "更新Mes数据库失败";
|
|
|
|
|
TempOffLineInfo2.MsgAlarmFlag = true;
|
|
|
|
|
//界面刷新
|
|
|
|
|
RefreshScanMateriaCodeEvent(TempOffLineInfo2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
log.Error(ex.Message.ToString());
|
|
|
|
|
log.Error("MaterialBarScanHandle异常:"+ex.Message.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 下发plc放行并等待反馈信号
|
|
|
|
@ -353,9 +401,10 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
TempOffLineInfo.MsgInfo += item.QualityDefectName;
|
|
|
|
|
}
|
|
|
|
|
TempOffLineInfo.MsgAlarmFlag = true;
|
|
|
|
|
//界面刷新
|
|
|
|
|
TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
return false;
|
|
|
|
|
//界面刷新
|
|
|
|
|
// TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent?.Invoke(TempOffLineInfo);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -405,19 +454,20 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
TempOffLineInfo.ProductUseInfo = FArrayList[15];//产品用途
|
|
|
|
|
TempOffLineInfo.ProductCirculate = FArrayList[16];//流通特性
|
|
|
|
|
TempOffLineInfo.ProductCreateDate = FArrayList[17];
|
|
|
|
|
#endregion
|
|
|
|
|
//界面刷新
|
|
|
|
|
TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
// 多码系统校验,暂不启用
|
|
|
|
|
#endregion
|
|
|
|
|
//界面刷新
|
|
|
|
|
// TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent?.Invoke(TempOffLineInfo);
|
|
|
|
|
// 多码系统校验,暂不启用
|
|
|
|
|
// bool flag = TestBarCode(TempOffLineInfo);
|
|
|
|
|
// if (!flag)
|
|
|
|
|
// {
|
|
|
|
|
// return false;
|
|
|
|
|
// }
|
|
|
|
|
log.Info(TempOffLineInfo.ProductSNCode + ", 多码验证通过!");
|
|
|
|
|
//2.上传条码系统
|
|
|
|
|
bool resultUp = uploadSnSysytem(TempOffLineInfo);
|
|
|
|
|
return resultUp;
|
|
|
|
|
log.Info(TempOffLineInfo.ProductSNCode + ", 多码验证通过!");
|
|
|
|
|
//2.上传条码系统
|
|
|
|
|
bool resultUp = uploadSnSysytem(TempOffLineInfo);
|
|
|
|
|
return resultUp;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -427,7 +477,7 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
|
|
|
|
|
#region 实体赋值
|
|
|
|
|
TempOffLineInfo.MsgAlarmFlag = true;
|
|
|
|
|
TempOffLineInfo.MsgInfo = "获取信息失败. " + BarCode + " 返回值:" + FArrayList[0].ToString();
|
|
|
|
|
TempOffLineInfo.MsgInfo = "条码系统获取信息失败. " + BarCode + " 返回值:" + FArrayList[0].ToString();
|
|
|
|
|
TempOffLineInfo.ProductOrderNo = "";
|
|
|
|
|
TempOffLineInfo.ProductSaleNo = "";
|
|
|
|
|
TempOffLineInfo.ProductSaleLineNo = "";
|
|
|
|
@ -448,9 +498,10 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
TempOffLineInfo.rfid = "";
|
|
|
|
|
TempOffLineInfo.sim = "";
|
|
|
|
|
TempOffLineInfo.number1 = "";
|
|
|
|
|
#endregion
|
|
|
|
|
//界面刷新
|
|
|
|
|
TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
#endregion
|
|
|
|
|
//界面刷新
|
|
|
|
|
// TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent?.Invoke(TempOffLineInfo);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -459,9 +510,10 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
{
|
|
|
|
|
TempOffLineInfo.MsgInfo = "获取产品条码异常:" + ex.Message;
|
|
|
|
|
TempOffLineInfo.MsgAlarmFlag = true;
|
|
|
|
|
//界面刷新
|
|
|
|
|
TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
log.Info(BarCode + "条码验证异常:" + ex.Message.ToString());
|
|
|
|
|
//界面刷新
|
|
|
|
|
// TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent?.Invoke(TempOffLineInfo);
|
|
|
|
|
log.Info(BarCode + "条码验证异常:" + ex.Message.ToString());
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -498,13 +550,14 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + ",MES查询订单数据异常";
|
|
|
|
|
TempOffLineInfo.MsgAlarmFlag = true;
|
|
|
|
|
//界面刷新
|
|
|
|
|
TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
// return false;
|
|
|
|
|
// TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent?.Invoke(TempOffLineInfo);
|
|
|
|
|
// return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//界面刷新
|
|
|
|
|
TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
|
|
|
|
|
// TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent?.Invoke(TempOffLineInfo);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
@ -522,7 +575,8 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
log.Info(TempOffLineInfo.ProductSNCode + "条码重复,本地已存在,放行");
|
|
|
|
|
TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + "条码重复,本地已存在,放行";
|
|
|
|
|
//界面刷新
|
|
|
|
|
TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
// TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent?.Invoke(TempOffLineInfo);
|
|
|
|
|
return true;
|
|
|
|
|
// chkout:条码重复是否允许放行
|
|
|
|
|
//if (TempOffLineInfo.ChkOut == true)
|
|
|
|
@ -532,15 +586,18 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
log.Info(TempOffLineInfo.ProductSNCode + "条码重复,本地不存在,已插入,放行");
|
|
|
|
|
log.Info(TempOffLineInfo.ProductSNCode + "条码重复,本地不存在,已插入,可以放行");
|
|
|
|
|
OffLineInfo info11 = MapperTwo(TempOffLineInfo);
|
|
|
|
|
// 产线
|
|
|
|
|
info11.ProductLineCode = "CX_02";
|
|
|
|
|
_offLineInfoServices.AddAsync(info11);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
TempOffLineInfo.MsgAlarmFlag = true;
|
|
|
|
|
//界面刷新
|
|
|
|
|
TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
// TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent?.Invoke(TempOffLineInfo);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -550,7 +607,8 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + ",条码系统保存接口异常";
|
|
|
|
|
TempOffLineInfo.MsgAlarmFlag = true;
|
|
|
|
|
//界面刷新
|
|
|
|
|
TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
// TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent?.Invoke(TempOffLineInfo);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -559,7 +617,8 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + ",生产单号异常";
|
|
|
|
|
TempOffLineInfo.MsgAlarmFlag = true;
|
|
|
|
|
//界面刷新
|
|
|
|
|
TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
// TempOffLineInfo.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent?.Invoke(TempOffLineInfo);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -588,8 +647,10 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
|
|
|
|
|
if(scannerNo == 1) // 扫码器1对应的货道地址,内侧
|
|
|
|
|
{
|
|
|
|
|
log.Info(TempOffLineInfo1.ProductSNCode + ":内侧下发plc放行信号,入库方向ZR1001,放行信号ZR1003分别写:"+ direction.ToString()+"/1" + ",等待反馈");
|
|
|
|
|
TempOffLineInfo1.MsgInfo = TempOffLineInfo1.MsgInfo + "下发放行,";
|
|
|
|
|
TempOffLineInfo1.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent(TempOffLineInfo1);
|
|
|
|
|
//TempOffLineInfo1.ProductRefreshFlag = true;
|
|
|
|
|
// 写入入库方向,两条道plc地址不同
|
|
|
|
|
obj.plc.WriteInt16("ZR1001", direction.ToString());
|
|
|
|
|
// 往plc写入放行信号
|
|
|
|
@ -597,8 +658,10 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
}
|
|
|
|
|
else // 外侧
|
|
|
|
|
{
|
|
|
|
|
log.Info(TempOffLineInfo2.ProductSNCode + ":外侧下发plc放行信号,入库方向ZR1000,放行信号ZR1002分别写:" + direction.ToString() + "/1" + ",等待反馈");
|
|
|
|
|
TempOffLineInfo2.MsgInfo = TempOffLineInfo2.MsgInfo + "下发放行,";
|
|
|
|
|
TempOffLineInfo2.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent(TempOffLineInfo2);
|
|
|
|
|
// TempOffLineInfo2.ProductRefreshFlag = true;
|
|
|
|
|
// 写入入库方向,两条道plc地址不同
|
|
|
|
|
obj.plc.WriteInt16("ZR1000", direction.ToString());
|
|
|
|
|
// 往plc写入放行信号
|
|
|
|
@ -606,7 +669,7 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
DateTime targetTime = DateTime.Now.AddSeconds(300);
|
|
|
|
|
DateTime targetTime = DateTime.Now.AddSeconds(18000); // 5h
|
|
|
|
|
// 等待plc反馈信号
|
|
|
|
|
while (true)
|
|
|
|
|
{
|
|
|
|
@ -622,8 +685,10 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
// 读取plc反馈信号
|
|
|
|
|
if (obj.plc.ReadInt32("ZR1003") == 2)
|
|
|
|
|
{
|
|
|
|
|
log.Info(TempOffLineInfo1.ProductSNCode + "内侧plc反馈信号ZR1003读2");
|
|
|
|
|
TempOffLineInfo1.MsgInfo = TempOffLineInfo1.MsgInfo + "放行成功";
|
|
|
|
|
TempOffLineInfo1.ProductRefreshFlag = true;
|
|
|
|
|
// TempOffLineInfo1.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent(TempOffLineInfo1);
|
|
|
|
|
Console.WriteLine("收到plc放行成功");
|
|
|
|
|
// 清空数据
|
|
|
|
|
// obj.plc.WriteInt32("ZR1001", 0);
|
|
|
|
@ -639,8 +704,10 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
// 读取plc反馈信号
|
|
|
|
|
if (obj.plc.ReadInt16("ZR1002") == 2)
|
|
|
|
|
{
|
|
|
|
|
log.Info(TempOffLineInfo2.ProductSNCode + "外侧plc反馈信号ZR1002读2");
|
|
|
|
|
TempOffLineInfo2.MsgInfo = TempOffLineInfo2.MsgInfo + "放行成功";
|
|
|
|
|
TempOffLineInfo2.ProductRefreshFlag = true;
|
|
|
|
|
// TempOffLineInfo2.ProductRefreshFlag = true;
|
|
|
|
|
RefreshScanMateriaCodeEvent(TempOffLineInfo2);
|
|
|
|
|
Console.WriteLine("收到plc放行成功");
|
|
|
|
|
// 清空数据
|
|
|
|
|
// obj.plc.WriteInt32("ZR1000", 0);
|
|
|
|
|