Files
T-DAS/Common/AgvHelper.cs
2024-12-12 18:27:10 +08:00

149 lines
5.6 KiB
C#

using Epost.Model;
using NPOI.POIFS.Crypt.Dsig;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Epost.Common
{
public class AgvHelper
{
string agvSchedulingTaskUrl = ConfigurationManager.AppSettings["agvSchedulingTaskUrl"];
string bindCtnrAndBinUrl = ConfigurationManager.AppSettings["bindCtnrAndBinUrl"];
HttpHelper http = new HttpHelper();
#region
public AgvResultModel genAgvSchedulingTask(AgvSchedulingTaskModel model)
{
AgvResultModel resmodel = new AgvResultModel();
try
{
string postData = JsonHelper.SerializeObject(model);
LogHelper.WriteLogInfo("调用AGV生成任务单接口请求参数" + postData, LogHelper.Log_Type.INFO);
string res = http.HttpPost_Old(agvSchedulingTaskUrl, postData);
LogHelper.WriteLogInfo("调用AGV生成任务单接口返回" + res, LogHelper.Log_Type.INFO);
if (!string.IsNullOrEmpty(res))
{
resmodel = JsonHelper.DeserializeObject<AgvResultModel>(res);
if (resmodel.code == "0")
{
LogHelper.WriteLogInfo("调用AGV生成任务单接口返回成功", LogHelper.Log_Type.INFO);
}
else
{
LogHelper.WriteLogInfo("调用AGV生成任务单接口返回失败" + resmodel.message, LogHelper.Log_Type.ERROR);
}
}
else
{
LogHelper.WriteLogInfo("调用AGV生成任务单接口返回失败", LogHelper.Log_Type.ERROR);
}
string resinfo = JsonHelper.SerializeObject(resmodel);
return resmodel;
}
catch (Exception ex)
{
resmodel.code = "-1";
resmodel.message = ex.ToString();
LogHelper.WriteLogInfo("调用AGV生成任务单接口异常" + ex.ToString(), LogHelper.Log_Type.ERROR);
return resmodel;
}
}
#endregion
#region
public AgvResultModel cancelTask(cancelTaskModel model)
{
string url = string.Empty;
AgvResultModel resmodel = new AgvResultModel();
try
{
string postData = JsonHelper.SerializeObject(model);
LogHelper.WriteLogInfo("调用AGV取消任务接口请求参数" + postData, LogHelper.Log_Type.INFO);
string res = http.HttpPost_Old(url, postData);
LogHelper.WriteLogInfo("调用AGV取消任务接口返回" + res, LogHelper.Log_Type.INFO);
if (!string.IsNullOrEmpty(res))
{
resmodel = JsonHelper.DeserializeObject<AgvResultModel>(res);
if (resmodel.code == "0")
{
LogHelper.WriteLogInfo("调用AGV取消任务接口返回成功", LogHelper.Log_Type.INFO);
}
else
{
LogHelper.WriteLogInfo("调用AGV取消任务接口返回失败" + resmodel.message, LogHelper.Log_Type.ERROR);
}
}
else
{
LogHelper.WriteLogInfo("调用AGV取消任务接口返回失败", LogHelper.Log_Type.ERROR);
}
return resmodel;
}
catch (Exception ex)
{
resmodel.code = "-1";
resmodel.message = ex.ToString();
LogHelper.WriteLogInfo("调用AGV取消任务接口异常" + ex.ToString(), LogHelper.Log_Type.ERROR);
return resmodel;
}
}
#endregion
#region
public bindCtnrAndBinResponse bindCtnrAndBin(string agvloc, string type)
{
bindCtnrAndBinReq reqModel = new bindCtnrAndBinReq();
bindCtnrAndBinResponse resmodel = new bindCtnrAndBinResponse();
reqModel.reqCode = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
reqModel.ctnrTyp = "1";//agv提供
reqModel.indBind = "1";
reqModel.stgBinCode = agvloc;
reqModel.ctnrCode = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
string reqstr = JsonHelper.SerializeObject(reqModel);
LogHelper.WriteLogInfo("调用AGV绑定解绑接口请求参数" + reqstr, LogHelper.Log_Type.INFO);
string resultStr = http.HttpPost_Old(bindCtnrAndBinUrl, reqstr);
LogHelper.WriteLogInfo("调用AGV绑定解绑接口返回" + resultStr, LogHelper.Log_Type.INFO);
if (!string.IsNullOrEmpty(resultStr))
{
resmodel = JsonHelper.DeserializeObject<bindCtnrAndBinResponse>(resultStr);
if (resmodel.code == "0")
{
LogHelper.WriteLogInfo("调用AGV绑定解绑接口成功", LogHelper.Log_Type.INFO);
}
else
{
LogHelper.WriteLogInfo("调用AGV绑定解绑接口失败" + resmodel.data, LogHelper.Log_Type.ERROR);
}
}
else
{
LogHelper.WriteLogInfo("调用AGV绑定解绑接口返回失败", LogHelper.Log_Type.ERROR);
}
return resmodel;
}
#endregion
}
}