|
|
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
|
{
|
/// <summary>
|
/// 保存AGV实时数据
|
/// </summary>
|
/// <param name="vehicles"></param>
|
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();
|
}
|
}
|
}
|
|
|
}
|
}
|