You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
5.7 KiB
138 lines
5.7 KiB
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using XS_DAL;
|
|
using XS_Model;
|
|
|
|
namespace XS_BLL
|
|
{
|
|
/// <summary>
|
|
/// 任务释放
|
|
/// </summary>
|
|
public class WMS_AGV_RELEASE_BLL
|
|
{
|
|
#region 全局参数
|
|
/// <summary>
|
|
/// 接口名称,接口日志文件名
|
|
/// </summary>
|
|
public static string InterfaceName = "AGV_RELEASE";
|
|
/// <summary>
|
|
/// 接口描述
|
|
/// </summary>
|
|
public static string InterfaceNote = "任务释放";
|
|
/// <summary>
|
|
/// 接口流向
|
|
/// </summary>
|
|
public static string InterfaceFlow = "WCS==>>WMS";
|
|
/// <summary>
|
|
/// 请求JSON
|
|
/// </summary>
|
|
public static string reqJson = string.Empty;
|
|
/// <summary>
|
|
/// 反馈JSON
|
|
/// </summary>
|
|
public static string retJson = string.Empty;
|
|
|
|
#endregion
|
|
/// <summary>
|
|
/// 任务释放
|
|
/// </summary>
|
|
public static string AGV_RELEASE(string recieveBuffer)
|
|
{
|
|
IO_INTERFACE_LOG IModel = new IO_INTERFACE_LOG();
|
|
IO_CONTROL_APPLY caModel = new IO_CONTROL_APPLY();
|
|
try
|
|
{
|
|
if (!string.IsNullOrEmpty(recieveBuffer))
|
|
{
|
|
string retEx;
|
|
string msg = string.Empty;
|
|
|
|
IO_INTERFACE_TASK_LOG TASK_LOG = JsonConvert.DeserializeObject<IO_INTERFACE_TASK_LOG>(recieveBuffer);
|
|
TASK_LOG.f_startTime = DateTime.Now;
|
|
#region add 修改人:yy 修改时间:2024年3月3日 原因/内容:添加数据验证
|
|
string dataVerify = string.Empty;
|
|
if (string.IsNullOrEmpty(TASK_LOG.taskId.ToString()))
|
|
{
|
|
// dataVerify += "接口任务编码不能为空;";
|
|
}
|
|
if (string.IsNullOrEmpty(TASK_LOG.taskNo))
|
|
{
|
|
//dataVerify += "任务号不能为空;";
|
|
}
|
|
if (string.IsNullOrEmpty(TASK_LOG.subTaskNo))
|
|
{
|
|
//dataVerify += "子任务号不能为空;";
|
|
}
|
|
string toLocatorCode = TASK_LOG.toLocatorCode;// UtilityBLL.GetReceiveValues(retJson, "toLocatorCode");
|
|
if (string.IsNullOrEmpty(toLocatorCode.Trim()))
|
|
{
|
|
dataVerify += "资源点不能为空";
|
|
}
|
|
if (string.IsNullOrEmpty(TASK_LOG.containerCode))
|
|
{
|
|
dataVerify += "托盘条码不能为空";
|
|
}
|
|
#endregion
|
|
//数据验证是否存在异常
|
|
if (string.IsNullOrEmpty(dataVerify))
|
|
{
|
|
int caNum = caModel.GetModelList(" STOCK_BARCODE = '" + TASK_LOG.containerCode + "' and DEVICE_CODE = '" + toLocatorCode + "' ").Count;
|
|
|
|
//caNum IO_CONTROL_APPLY 是否相同托盘任务
|
|
if (caNum > 0)
|
|
{
|
|
bool bl = caModel.Update(out retEx, "APPLY_TASK_STATUS = 1", " STOCK_BARCODE = '" + TASK_LOG.containerCode + "' and DEVICE_CODE = '" + toLocatorCode + "' ");
|
|
if (bl)
|
|
{
|
|
msg = "数据接收成功。接口任务号:" + TASK_LOG.taskId + ",任务号:" + TASK_LOG.taskNo + ",托盘码:" + TASK_LOG.containerCode + ",资源点:" + toLocatorCode + "。";
|
|
//retJson = UtilityBLL.CreateJson(1, "0", true, msg);
|
|
retJson = UtilityBLL.CreateJson(2, 0, true, msg);
|
|
}
|
|
else
|
|
{
|
|
TASK_LOG.taskDescr = retEx;
|
|
retJson = UtilityBLL.CreateJson(2, 1, false, msg);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
msg += "不存在释放任务!接口任务号:" + TASK_LOG.taskId + ",任务号:" + TASK_LOG.taskNo + ",托盘码:" + TASK_LOG.containerCode + ",资源点:" + toLocatorCode + "。";
|
|
|
|
retJson = UtilityBLL.CreateJson(1, 1, false, msg);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
retJson = UtilityBLL.CreateJson(1, 1, false, dataVerify);
|
|
}
|
|
//添加任务记录
|
|
bool bl2 = TASK_LOG.Insert();
|
|
}
|
|
else
|
|
{
|
|
retJson = UtilityBLL.CreateJson(1, 1, false, "数据不能为空。。。");
|
|
}
|
|
|
|
UtilityBLL.CreateINTERFACE_LOG(InterfaceName, InterfaceFlow, recieveBuffer, retJson, InterfaceNote);
|
|
return retJson;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//retJson = UtilityBLL.CreateJson(1, "1", false, "异常信息:" + ex.Message);
|
|
retJson = UtilityBLL.CreateJson(1, 1, false, "异常信息:" + ex.Message);
|
|
new DisplaySet().ErrorAddListBoxItem("VISION_RELEASE", ex.Message);
|
|
//new DisplaySet().AddListBoxItem("VISION_RELEASE", ex.Message);
|
|
|
|
UtilityBLL.CreateINTERFACE_LOG(InterfaceName, InterfaceFlow, recieveBuffer, retJson + ex.Message, InterfaceNote);
|
|
LogHelper.ErrorLog(ex);
|
|
|
|
return retJson;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|