using iWareCommon.Utils; using iWareModel.Entity.AGV; using iWareModel.EnumType.EDevice.AGV; using iWareSql.DBModel; using System; using System.Collections.Generic; using System.Linq; namespace iWareSql.DataAccess { public class AgvHandler { /// /// 保存AGV实时数据 /// /// public static void SaveAgvData(AGVRetModel vehicles) { if (vehicles != null) { using (DbModel edm = new DbModel()) { var db_vehicles = edm.Device_AgvRealTime.ToList(); foreach (var item in vehicles.report) { var v = db_vehicles.Find(x => x.AgvName == item.vehicle_id); if (v != null) { AGVState agvState = default(AGVState); if (item.is_error) { agvState = AGVState.报警; } else if (item.procBusiness) { agvState = AGVState.任务中; } else if (item.connection_status == 0) { agvState = AGVState.离线; } else { agvState = AGVState.空闲; } v.State = ((int)agvState).ToString(); v.StateName = agvState.ToString(); v.ModifyTime = DateTime.Now; } } edm.SaveChanges(); } } } } }