using Newtonsoft.Json;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using WIDESEA_Comm.LogInfo;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Core.FreeDB;
using WIDESEA_Core.Utilities;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Entity.ToAGV;
namespace WIDESEA_WCS
{
public partial class ToAGVServer
{
static AGVRespone respone = new AGVRespone();
static AGVRequestin requestin = new AGVRequestin();
///
/// AGV申请进入区域
///
///
///
///
public static AGVRespone AGVRequestin(string json)
{
return GetSetGantry(json, "AGVRequestin", "AGV申请进入区域");
}
///
/// AGV正在(进入/离开)
///
///
///
///
public static AGVRespone EnteriorLeav(string json)
{
return GetSetGantry(json, "EnteriorLeav", "AGV正在(进入/离开)");
}
///
/// AGV更新区域状态
///
///
///
///
public static AGVRespone AGVOutofArea(string json)
{
return GetSetGantry(json, "AGVOutofArea", "AGV更新区域状态");
}
///
/// AGV获取桁架区域状态
///
///
///
///
public static AGVRespone GantryOutofArea(string json)
{
return GetSetGantry(json, "GantryOutofArea", "AGV获取桁架区域状态");
}
public static AGVRespone GetSetGantry(string json, string MethodName, string remark)
{
try
{
if (string.IsNullOrEmpty(json) || json == "null")
throw new Exception("未获取到请求参数数据");
requestin = JsonConvert.DeserializeObject(json);
if (requestin.AreaNr < 1 || requestin.AreaNr > 4)
throw new Exception("未定义的区域号!");
if (MethodName == "EnteriorLeav")
remark = requestin.Type == 1 ? "AGV正在进入" : "AGV正在离开";
respone = AGVandGantry.GetSetGantry(requestin, MethodName);
}
catch (Exception ex)
{
respone.Message = ex.Message;
}
WritePCSLog.LogAdd(requestin.AreaNr.ToString(), respone.success == 1 ? "成功 " : "失败", "WMS", "AGV", json, JsonConvert.SerializeObject(respone), remark, MethodName, respone.Message);
return respone;
}
}
}