This commit is contained in:
jl
2024-12-25 10:15:41 +08:00
parent 43d0c7e249
commit 78b193a52a
7 changed files with 98 additions and 57 deletions

View File

@ -22,9 +22,9 @@ namespace Epost.DPS.Controllers
InboundOrdersBLL inboundBLL = new InboundOrdersBLL();
string agvCallbackUrl = ConfigurationManager.AppSettings["agvCallbackUrl"];
string agvexTaskUrl = ConfigurationManager.AppSettings["agvexTaskUrl"];
HttpHelper http = new HttpHelper();
AgvHelper agv = new AgvHelper();
AgvLogInfoBLL logbll = new AgvLogInfoBLL();
[Route("agvCallback")]
[HttpPost]
public AgvResultModel agvCallback([FromBody] agvCallbackModel data)
@ -47,47 +47,13 @@ namespace Epost.DPS.Controllers
{
state = "4";
//更新任务已完成
DataTable dt = inboundBLL.GetInOrderList(" and agvid ='" + data.taskCode + "'");
if (dt != null && dt.Rows.Count > 0)
{
wmsCallbackModel backModel = new wmsCallbackModel();
List<callbackHeader> list = new List<callbackHeader>();
callbackHeader headModel = new callbackHeader();
headModel.warehouseId = dt.Rows[0]["warehouseId"].ToString();
headModel.groupTaskId = dt.Rows[0]["groupTaskId"].ToString();
headModel.wmsDocNo = dt.Rows[0]["wmsDocNo"].ToString();
headModel.currentPositionCode = data.currentPositionCode;
headModel.robotCode = data.robotCode;
headModel.taskCode = data.taskCode;
headModel.method = data.method;
headModel.reqCode = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
headModel.reqTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
callback back = new callback();
list.Add(headModel);
back.header = list;
backModel.data = back;
string reqstr = JsonHelper.SerializeObject(backModel);
LogHelper.WriteLogInfo("WCS->WMS任务执行通知请求" + reqstr + "===" + agvCallbackUrl);
string resultStr = http.HttpPost_Old(agvCallbackUrl, reqstr);
LogHelper.WriteLogInfo("WCS->WMS任务执行通知返回" + resultStr);
logBLL.InsertLog("WCS->WMS任务执行通知", "agvCallback", agvCallbackUrl, reqstr, resultStr, 0, "", DateTime.Now);
//if (!string.IsNullOrEmpty(resultStr))
//{
// RetMesModel resModel = JsonHelper.DeserializeObject<RetMesModel>(resultStr);
// if (resModel.Response.returnnode.returnCode == "0000")
// {
// LogHelper.WriteLogInfo("WCS->WMS任务执行通知成功");
// }
// else {
// LogHelper.WriteLogInfo("WCS->WMS任务执行通知失败");
// }
//}
}
wms_callback(data);
}
else if (data.method == "cancel")
{
state = "88";
wms_callback(data);
}
else { }
@ -109,6 +75,35 @@ namespace Epost.DPS.Controllers
return retModel;
}
public void wms_callback(agvCallbackModel data)
{
DataTable dt = inboundBLL.GetInOrderList(" and agvid ='" + data.taskCode + "'");
if (dt != null && dt.Rows.Count > 0)
{
wmsCallbackModel backModel = new wmsCallbackModel();
List<callbackHeader> list = new List<callbackHeader>();
callbackHeader headModel = new callbackHeader();
headModel.warehouseId = dt.Rows[0]["warehouseId"].ToString();
headModel.groupTaskId = dt.Rows[0]["groupTaskId"].ToString();
headModel.wmsDocNo = dt.Rows[0]["wmsDocNo"].ToString();
headModel.currentPositionCode = data.currentPositionCode;
headModel.robotCode = data.robotCode;
headModel.taskCode = data.taskCode;
headModel.method = data.method;
headModel.reqCode = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
headModel.reqTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
callback back = new callback();
list.Add(headModel);
back.header = list;
backModel.data = back;
string reqstr = JsonHelper.SerializeObject(backModel);
LogHelper.WriteLogInfo("WCS->WMS任务执行通知请求" + reqstr + "===" + agvCallbackUrl);
string resultStr = http.HttpPost_Old(agvCallbackUrl, reqstr);
LogHelper.WriteLogInfo("WCS->WMS任务执行通知返回" + resultStr);
logBLL.InsertLog("WCS->WMS任务执行通知", "agvCallback", agvCallbackUrl, reqstr, resultStr, 0, "", DateTime.Now);
}
}
[Route("warnCallback")]
[HttpPost]
public AgvResultModel warnCallback([FromBody]warnCallbackReq data)
@ -127,7 +122,8 @@ namespace Epost.DPS.Controllers
List<agvexTaskList> taskList = new List<agvexTaskList>();
agvexTaskHeader agvexHeader = new agvexTaskHeader();
List<agvexTaskHeader> headerlist = new List<agvexTaskHeader>();
List<warnCallbackData> datalist = data.data;
List<warnCallbackData> datalist = data.data;
string reqcode = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
if (datalist.Any())
{
foreach (warnCallbackData item in datalist)
@ -138,16 +134,17 @@ namespace Epost.DPS.Controllers
agvextmodel.beginDate = item.beginDate;
agvextmodel.warnContent = item.warnContent;
taskList.Add(agvextmodel);
logbll.insertAgvLogInfo(reqcode, item.beginDate, item.robotCode, item.beginDate, item.warnContent, item.taskCode);
}
}
agvexHeader.list = taskList;
agvexHeader.clientCode = data.clientCode;
agvexHeader.reqCode = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
agvexHeader.reqCode = reqcode;
agvexHeader.reqTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
headerlist.Add(agvexHeader);
taskdata.header = headerlist;
backModel.data = taskdata;
string reqstr = JsonHelper.SerializeObject(backModel);
LogHelper.WriteLogInfo("WCS->WMS告警通知请求" + reqstr + "===" + agvexTaskUrl);
string resultStr = http.HttpPost_Old(agvexTaskUrl, reqstr);