using iWareCommon.Common.Globle;
|
using iWareCommon.Utils;
|
using iWareModel;
|
using iWareSql;
|
using iWareSql.DataAccess;
|
using iWareSql.DBModel;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading;
|
using System.Threading.Tasks;
|
using XiGang.Core.Model;
|
|
namespace iWareCC
|
{
|
/// <summary>
|
/// 出库任务,失败的推送给MES
|
/// </summary>
|
public static class OutTaskRetryToMes
|
{
|
public static void Handler()
|
{
|
while (true)
|
{
|
try
|
{
|
var errMsg = "";
|
if (SystemValue.isAllowRuning_OutTaskRetryToMes && SystemValue.isStartedModel)
|
{
|
using (DbModel context = new DbModel())
|
{
|
var list = context.Task_Main.Where(x => (x.IsNeedOnLine != null && x.IsNeedOnLine == true)
|
&& (x.IsOnLine == null || x.IsOnLine == false)
|
//&& (x.OnLineToMesCount == null || x.OnLineToMesCount <= 3)
|
).ToList();
|
if (list != null && list.Count > 0)
|
{
|
SystemWarningMsg._lbl_Alert_OutTaskRetryToMes = "出库任务,发送给MES上线请求,目前有" + list.Count + "条";
|
foreach (var item in list)
|
{
|
if (item.OnLineToMesCount > 3)
|
{
|
continue;
|
}
|
MesRetModel<string> ret = SingleToMes(item);
|
if (ret.code != 200)
|
{
|
SystemWarningMsg._lbl_Alert_OutTaskRetryToMes = "出库任务,发送给MES上线请求失败:" + ret.msg + ",序列号:" + item.SerialNumber + ",订货号:" + item.OrderNo;
|
break;//跳出循环
|
}
|
}
|
}
|
else
|
{
|
SystemWarningMsg._lbl_Alert_OutTaskRetryToMes = "出库任务,发送给MES上线请求,目前有0条";
|
}
|
SystemWarningMsg._lbl_Alert_OutTaskRetryToMes = "出库任务,发送给MES上线请求 成功。。";
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
SystemWarningMsg._lbl_Alert_OutTaskRetryToMes = "出库任务,发送给MES上线请求 出现异常:" + ex.Message;
|
Log4NetHelper.WriteErrorLog(LogType.CCWCFService, "出库任务,发送给MES上线请求 出现异常:" + ex.Message, ex);
|
}
|
Thread.Sleep(5000);//休眠5秒
|
}
|
}
|
|
private static MesRetModel<string> SingleToMes(Task_Main mainTask)
|
{
|
return MesService.updateOnlineStatus(mainTask);
|
}
|
}
|
}
|