using iWareCommon.Common.Globle;
using iWareCommon.Utils;
using iWareModel;
using iWareSql.DBModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareSql.DataAccess
{
///
/// 堆垛机实时状态信息更新
///
public class DeviceSrmRealTimeHandler
{
public static void Update(List realTimeList, LogType _LogType)
{
Task.Run(() =>
{
try
{
using (DbModel edm = new DbModel())
{
foreach (var updateData in realTimeList)
{
var data = edm.Device_SrmRealTime.Where(x => x.SrmCode == updateData.SrmCode).FirstOrDefault();
if (data != null)
{
data.Mode = updateData.Mode;
data.ModeName = updateData.ModeName;
data.State = updateData.State;
data.StateName = updateData.StateName;
data.TaskID = updateData.TaskID;
data.SrmSourcePlace = updateData.SrmSourcePlace;
data.SrmToPlace = updateData.SrmToPlace;
data.Roadway = updateData.Roadway;
data.WarningCode = updateData.WarningCode;
data.WarningContent = updateData.WarningContent;
data.CurrentPosition = updateData.CurrentPosition;
data.XCoordinate = updateData.XCoordinate;
data.YCoordinate = updateData.YCoordinate;
data.ZCoordinate = updateData.ZCoordinate;
data.TransportOrder = updateData.TransportOrder;
data.LiftFull = updateData.LiftFull;
data.PosX = updateData.PosX;
data.PosY = updateData.PosY;
data.PosZ = updateData.PosZ;
data.PosZName = updateData.PosZName;
var nowDate = DateTime.Now;
data.ModifyTime = nowDate;
data.ModifyBy = SysGloble.WCSSystem;
edm.SaveChanges();
}
}
}
}
catch (Exception ex)
{
Log4NetHelper.WriteErrorLog(_LogType, "更新设备状态出现异常:" + ex.Message, ex);
}
});
}
}
}