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
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; }
|
|
}
|
|
}
|
|
}
|