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();
}
}
}
}
}