using Admin.NET.Application;
|
using iWareCC.Common.Helper;
|
using iWareCC.StationService;
|
using iWareCommon.Common.Globle;
|
using iWareCommon.Utils;
|
using iWareModel;
|
using iWareSql.DataAccess;
|
using iWareSql.DBModel;
|
using iWareSql.WmsDBModel;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.ServiceModel.Configuration;
|
using System.Text;
|
using System.Threading;
|
using System.Threading.Tasks;
|
using WZ.Useful.Commons;
|
using XiGang.Core.Model;
|
|
namespace iWareCC.ThreadService
|
{
|
/// <summary>
|
/// 机器人缓存岛 模式切换 处理
|
/// </summary>
|
public static class DataProcess_RobotBuffer_ModeChange
|
{
|
public static async void Handler()
|
{
|
var alertMsg = "";
|
LogType logType = LogType.DataProcess_RobotBuffer_ModeChange;
|
while (true)
|
{
|
Thread.Sleep(2000);//休眠2秒,将休眠写到前面,是为了下面的continue方法执行后不显示错误信息的提示!!!【EditBy shaocx,2022-05-24】
|
SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ModeChange = string.Empty;
|
try
|
{
|
if (SystemValue.isAllowRuning_DataProcess_RobotBuffer_ModeChange && SystemValue.isStartedModel)
|
{
|
var rgvLocation = StationLocationEnum.BZ39.ToString();
|
if (FormCC.IsAllowRunOutMode)
|
{
|
using (WmsDBModel wmsDB = new WmsDBModel())
|
{
|
var rbRunMode = wmsDB.wms_rbline_runmode.FirstOrDefault();
|
if (rbRunMode.LineRunMode == (int)RbRunModeEnum.出库模式)
|
{
|
SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ModeChange = $"已经是出库模式了,此次循环结束";
|
continue;
|
}
|
rbRunMode.LineRunMode = (int)RbRunModeEnum.出库模式;
|
rbRunMode.LineRunModeName = RbRunModeEnum.出库模式.ToString();
|
rbRunMode.UpdateTime = DateTime.Now;
|
|
//推送给PLC切换模式
|
using (StationServiceClient client = new StationServiceClient())
|
{
|
var res = await client.ChangeModeAsync((int)EDevice.Station, (int)RbRunModeEnum.出库模式, rgvLocation);
|
if (!res.result)
|
{
|
SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ModeChange = $"{rgvLocation.ToString()}-推送给PLC切换模式 失败,ChangeModeAsync 返回:{res.resMsg}";
|
continue;
|
}
|
else
|
{
|
Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-推送给PLC切换模式 成功,ChangeModeAsync,参数: 站点{rgvLocation}");
|
}
|
}
|
|
|
wmsDB.SaveChanges();
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ModeChange += " 出现异常:" + ex.Message + SysGloble.SPLIT_STR;
|
Log4NetHelper.WriteErrorLog(logType, " 出现异常:" + ex.Message, ex);
|
}
|
}
|
}
|
|
}
|
}
|