济宁李尔接口
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.

163 lines
6.5 KiB

using DBModel;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Web.Script.Serialization;
using XS_DAL;
using XS_Model;
namespace XS_BLL
{
/// <summary>
/// WCS上报车辆状态
/// </summary>
public class WCS_STACK_STATUS_BLL
{
public static string Wcs_stack_status(string recieveJson)
{
try
{
JObject objMis = new JObject();
objMis.Add(new JProperty("method", "wcs_stack_status"));
objMis.Add(new JProperty("timestamp", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
JObject objDate = new JObject();
objDate.Add(new JProperty("code", "00"));
objDate.Add(new JProperty("msg", "WCS上报多穿状态"));
objDate.Add(new JProperty("taskId", "123461"));
objMis.Add(new JProperty("data", objDate));
string retjson = JsonConvert.DeserializeObject(objMis.ToString()).ToString();
LogHelper.LogOperation("wcs_request_in", recieveJson, retjson);
new DisplaySet().AddListBoxItem("", "");
new DisplaySet().AddListBoxItem("接收:", recieveJson);
new DisplaySet().AddListBoxItem("反馈:", retjson);
return retjson;
}
catch (Exception ex)
{
new DisplaySet().AddListBoxItem("wcs_stack_status", ex.Message);
LogHelper.LogOperation("wcs_stack_status", recieveJson, ex.Message);
T_RESULT rModdel = new T_RESULT();
rModdel.code = "01";
rModdel.msg = ex.Message;
rModdel.taskId = "";
return JsonConvert.SerializeObject(rModdel);
}
}
/// <summary>
/// WCS上报车辆状态
/// </summary>
public static void Wcs_stack_status()
{
string reqJson = string.Empty;
IO_INTERFACE IModel = new IO_INTERFACE();
SHUTTLE_POSITION spModel = new SHUTTLE_POSITION();
List<SHUTTLE_POSITION> spModelList = new List<SHUTTLE_POSITION>();
T_BASE_DEVICE deviceModel = new T_BASE_DEVICE();
List<T_BASE_DEVICE> deviceModelList = new List<T_BASE_DEVICE>();
try
{
List<wms_stack_status> ssList = new List<wms_stack_status>();
spModelList = spModel.GetModelList("");
deviceModelList = deviceModel.GetModelList(" F_DeviceIndex in (select F_RGVGateDeviceIndex from T_Base_RGV_Gate where F_Input = 1 and F_RGVGateDeviceIndex like '_9%')");
//穿梭版 F_HaveGoods = 1 and
foreach (var item in spModelList)
{
wms_stack_status md = new wms_stack_status();
md.stackindex = item.F_DeviceIndex.ToString();
md.positon = item.F_Postion.ToString();
md.battery = item.F_BatteryStatus.ToString() + "%";
md.laneout = item.F_LaneOut.ToString();
md.runstatus = item.F_RunStatus.ToString();
ssList.Add(md);
}
//放货站台
foreach (var item in deviceModelList)
{
wms_stack_status md = new wms_stack_status();
md.stackindex = item.F_DeviceIndex.ToString();
md.positon = "0";
md.battery = "";
md.laneout = "0";
//0 无货,1有货
md.runstatus = item.F_HaveGoods.ToString();
ssList.Add(md);
}
reqJson = JsonConvert.SerializeObject(
new
{
method = "wcs_stack_status",
timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
data = new { status = ssList }
});
string retJson = HttpHelper.PostJson(Global.upper_WMSURL, reqJson);
string code = UtilityBLL.GetReceiveValues(retJson, "data,code");
#region 接口日志记录
IModel = new IO_INTERFACE();
//IModel.INTERFACE_ID = "";
IModel.INTERFACE_NAME = "wcs_stack_status";
IModel.INTERFACE_FLOW = "WCS==>>WMS";
IModel.INTERFACE_REQUEST = reqJson;
IModel.INTERFACE_FEEDBACK = retJson;
IModel.INTERFACE_DATETIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
IModel.INTERFACE_MENO = "";
//IModel.Insert();
LogHelper.LogOperation("wcs_stack_status", reqJson, retJson);
#endregion 接口日志记录
//new DisplaySet().AddListBoxItem("", "");
//new DisplaySet().AddListBoxItem("请求:", reqJson);
//new DisplaySet().AddListBoxItem("反馈:", retJson);
}
catch (Exception ex)
{
new DisplaySet().ErrorAddListBoxItem("wcs_stack_status", ex.Message);
new DisplaySet().AddListBoxItem("wcs_stack_status", ex.Message);
#region 接口日志记录
//IModel.INTERFACE_ID = "";
IModel.INTERFACE_NAME = "wcs_stack_status";
IModel.INTERFACE_FLOW = "WCS==>>WMS";
IModel.INTERFACE_REQUEST = reqJson;
IModel.INTERFACE_FEEDBACK = ex.Message;
IModel.INTERFACE_DATETIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
IModel.INTERFACE_MENO = "";
IModel.Insert();
LogHelper.ErrorLog(ex);
#endregion 接口日志记录
}
}
public class wms_stack_status
{
/// <summary>
/// 设备编号
/// </summary>
public String stackindex { get; set; }
/// <summary>
/// 层值
/// </summary>
public String positon { get; set; }
/// <summary>
/// 电量 百分比
/// </summary>
public String battery { get; set; }
/// <summary>
/// 0巷道内 1移出巷道
/// </summary>
public String laneout { get; set; }
/// <summary>
/// 状态 0-空闲 1-运行 2-故障 3-离线 4-停用
/// </summary>
public String runstatus { get; set; }
}
}
}