using HH.WCS.Mobox3.SXJK.api;
|
using HH.WCS.Mobox3.SXJK.models;
|
using HH.WCS.Mobox3.SXJK.util;
|
using Newtonsoft.Json;
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using static HH.WCS.Mobox3.SXJK.api.WmsController;
|
using static HH.WCS.Mobox3.SXJK.api.WmsController.PutawayOrderIn;
|
using static HH.WCS.Mobox3.SXJK.dispatch.WMSDispatch.TrayRequestInStockData;
|
|
namespace HH.WCS.Mobox3.SXJK.dispatch
|
{
|
internal class WMSDispatch
|
{
|
private static readonly HttpHelper apiHelper = new HttpHelper();
|
private static readonly string baseUrl = Settings.WMSSeverUrl;
|
|
/// <summary>
|
/// 收货回传WMS接口
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
public static bool ReceiveGoodsFeedback(object obj)
|
{
|
ReceiveGoodsFeedbackData data = new ReceiveGoodsFeedbackData();
|
IS_BC_INFO iS_BC_INFO = new IS_BC_INFO()
|
{
|
CUSTOMERID = Settings.orgInfo.customerId,
|
IFID = "CF_AGV101",
|
IFNAME = "收货回传WMS接口",
|
UUID = WmsController.GenerateTaskNo(),
|
MSGID = "",
|
SEND_DT = DateTime.Now.ToString("yyyyMMddHHmmss"),
|
};
|
data.IS_BC_INFO = iS_BC_INFO;
|
data.IT_DATA = (List<ReceiveGoodsFeedbackData.FeedbackData>)obj;
|
|
var msg = "";
|
bool result = false;
|
var request = JsonConvert.SerializeObject(data);
|
var response = apiHelper.Post(baseUrl + "/JIP/WMS/WMS_JK_AGV_ASNSH", request);
|
msg = $"[WMS-ReceiveGoodsFeedback] request={request} response={response}";
|
LogHelper.Info(msg, "WMS");
|
if (response != "")
|
{
|
try
|
{
|
var dataResult = JsonConvert.DeserializeObject<WMSResponse>(response);
|
if (dataResult.ES_BC_INFO.TYPE == "S")
|
{
|
result = true ;
|
}
|
}
|
catch (Exception ex)
|
{
|
msg = "[WMS-ReceiveGoodsFeedback]收货回传WMS接口返回数据解析错误,错误原因:"+ex.Message;
|
LogHelper.Info(msg, "WMS");
|
}
|
}
|
else
|
{
|
msg = "[WMS-ReceiveGoodsFeedback]收货回传WMS接口失败";
|
LogHelper.Info(msg, "WMS");
|
}
|
return result;
|
}
|
|
/// <summary>
|
/// 托盘请求入库接口
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
public static WMSTrayRequestResponse TrayRequestInStock(object obj)
|
{
|
TrayRequestInStockData data = new TrayRequestInStockData();
|
IS_BC_INFO iS_BC_INFO = new IS_BC_INFO()
|
{
|
CUSTOMERID = Settings.orgInfo.customerId,
|
IFID = "CF_AGV102",
|
IFNAME = "托盘请求入库接口",
|
UUID = WmsController.GenerateTaskNo(),
|
MSGID = "",
|
SEND_DT = DateTime.Now.ToString("yyyyMMddHHmmss"),
|
};
|
data.IS_BC_INFO = iS_BC_INFO;
|
data.IT_DATA = (List<RequestData>)obj;
|
|
var msg = "";
|
WMSTrayRequestResponse requestResponse = null;
|
try
|
{
|
var request = JsonConvert.SerializeObject(data);
|
LogHelper.Info("托盘请求入库接口", "WMS");
|
var response = apiHelper.Post(baseUrl + "/JIP/WMS/WMS_JK_AGV_TRACEID_REQUEST", request);
|
msg = $"[WMS-TrayRequestInStock] request={request} response={response}";
|
LogHelper.Info(msg, "WMS");
|
if (response != "")
|
{
|
var dataResult = JsonConvert.DeserializeObject<WMSTrayRequestResponse>(response);
|
if (dataResult.ES_BC_INFO.TYPE == "S")
|
{
|
requestResponse = dataResult;
|
}
|
|
}
|
else
|
{
|
msg = "[WMS-TrayRequestInStock]托盘请求入库接口失败";
|
LogHelper.Info(msg, "WMS");
|
}
|
}
|
catch (Exception ex)
|
{
|
msg = "[WMS-TrayRequestInStock]托盘请求入库接口返回错误,错误原因:" + ex.Message;
|
LogHelper.Info(msg, "WMS");
|
}
|
return requestResponse;
|
}
|
|
/// <summary>
|
/// 发货托盘回传WMS系统接口
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
public static bool ShipmentsTrayFeedback(object obj)
|
{
|
ShipmentsTrayFeedbackData data = new ShipmentsTrayFeedbackData();
|
IS_BC_INFO iS_BC_INFO = new IS_BC_INFO()
|
{
|
CUSTOMERID = Settings.orgInfo.customerId,
|
IFID = "CF_AGV103",
|
IFNAME = "发货托盘回传WMS系统接口",
|
UUID = WmsController.GenerateTaskNo(),
|
MSGID = "",
|
SEND_DT = DateTime.Now.ToString("yyyyMMddHHmmss"),
|
};
|
data.IS_BC_INFO = iS_BC_INFO;
|
data.IT_DATA = (List<ShipmentsTrayFeedbackData.FeedbackData>)obj;
|
|
var msg = "";
|
bool result = false;
|
var request = JsonConvert.SerializeObject(data);
|
var response = apiHelper.Post(baseUrl + "/JIP/WMS/WMS_JK_AGV_TRACEID_SO", request);
|
msg = $"[WMS-ShipmentsTrayFeedback] request={request} response={response}";
|
LogHelper.Info(msg, "WMS");
|
if (response != "")
|
{
|
try
|
{
|
var dataResult = JsonConvert.DeserializeObject<WMSResponse>(response);
|
if (dataResult.ES_BC_INFO.TYPE == "S")
|
{
|
result = true;
|
}
|
}
|
catch (Exception ex)
|
{
|
msg = "[WMS-ShipmentsTrayFeedback]发货托盘回传WMS系统接口返回数据解析错误,错误原因:" + ex.Message;
|
LogHelper.Info(msg, "WMS");
|
}
|
}
|
else
|
{
|
msg = "[WMS-ShipmentsTrayFeedback]发货托盘回传WMS系统接口失败";
|
LogHelper.Info(msg, "WMS");
|
}
|
return result;
|
}
|
|
/// <summary>
|
/// 移库单移库反馈接口
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
public static bool ShiftingStockOrderFeedback(object obj)
|
{
|
ShiftingStockOrderFeedbackData data = new ShiftingStockOrderFeedbackData();
|
IS_BC_INFO iS_BC_INFO = new IS_BC_INFO()
|
{
|
CUSTOMERID = Settings.orgInfo.customerId,
|
IFID = "CF_AGV104",
|
IFNAME = "移库单移库反馈接口",
|
UUID = WmsController.GenerateTaskNo(),
|
MSGID = "",
|
SEND_DT = DateTime.Now.ToString("yyyyMMddHHmmss"),
|
};
|
data.IS_BC_INFO = iS_BC_INFO;
|
data.IT_DATA = (List<ShiftingStockOrderFeedbackData.FeedbackData>)obj;
|
|
var msg = "";
|
bool result = false;
|
var request = JsonConvert.SerializeObject(data);
|
var response = apiHelper.Post(baseUrl + "/JIP/WMS/WMS_JK_AGV_TRACEID_MD", request);
|
msg = $"[WMS-ShiftingStockOrderFeedback] request={request} response={response}";
|
LogHelper.Info(msg, "WMS");
|
if (response != "")
|
{
|
try
|
{
|
var dataResult = JsonConvert.DeserializeObject<WMSResponse>(response);
|
if (dataResult.ES_BC_INFO.TYPE == "S")
|
{
|
result = true;
|
}
|
}
|
catch (Exception ex)
|
{
|
msg = "[WMS-ShiftingStockOrderFeedback]移库单移库反馈接口返回数据解析错误,错误原因:" + ex.Message;
|
LogHelper.Info(msg, "WMS");
|
}
|
}
|
else
|
{
|
msg = "[WMS-ShiftingStockOrderFeedback]移库单移库反馈接口失败";
|
LogHelper.Info(msg, "WMS");
|
}
|
return result;
|
}
|
|
public class ShiftingStockOrderFeedbackData
|
{
|
public IS_BC_INFO IS_BC_INFO { get; set; }
|
public List<FeedbackData> IT_DATA { get; set; }
|
public class FeedbackData
|
{
|
public string organizationId { get; set; } // 组织编号
|
public string warehouseId { get; set; } // 仓库编号
|
public string customerId { get; set; } // 工厂ID
|
public string mdocNo { get; set; } // 发运订单
|
public string mdocType { get; set; } // 移库类型 AGV WMS
|
public string traceId { get; set; } // 托盘号
|
public string toLocation { get; set; } // 集货位
|
public string udf01 { get; set; }
|
public string udf02 { get; set; }
|
public string udf03 { get; set; }
|
public string udf04 { get; set; }
|
public string udf05 { get; set; }
|
}
|
}
|
|
public class ShipmentsTrayFeedbackData
|
{
|
public IS_BC_INFO IS_BC_INFO { get; set; }
|
public List<FeedbackData> IT_DATA { get; set; }
|
public class FeedbackData
|
{
|
public string organizationId { get; set; } // 组织编号
|
public string warehouseId { get; set; } // 仓库编号
|
public string customerId { get; set; } // 工厂ID
|
public string orderNo { get; set; } // 发运订单
|
public string sku { get; set; } // 物料号
|
public string qty { get; set; } // 数量
|
public string weighQty { get; set; } // 称重数量
|
public string traceId { get; set; } // 托盘号
|
public string serialNo { get; set; } // 箱号
|
public string toLocationId { get; set; } // 集货位
|
public string completedFlag { get; set; } // 订单收货完成标记 N未收货完成 Y已收货完成
|
public string udf01 { get; set; }
|
public string udf02 { get; set; }
|
public string udf03 { get; set; }
|
public string udf04 { get; set; }
|
public string udf05 { get; set; }
|
|
public FeedbackData ShallowCopy()
|
{
|
return (FeedbackData)this.MemberwiseClone();
|
}
|
}
|
}
|
|
public class WMSTrayRequestResponse
|
{
|
public ES_BC_INFO ES_BC_INFO;
|
public List<PutawayOrderDetail> IT_DATA;
|
}
|
|
public class TrayRequestInStockData {
|
public IS_BC_INFO IS_BC_INFO { get; set; }
|
public List<RequestData> IT_DATA { get; set; }
|
public class RequestData {
|
public string organizationId { get; set; } // 组织编号
|
public string warehouseId { get; set; } // 仓库编号
|
public string customerId { get; set; } // 工厂ID
|
public string traceId { get; set; } // 托盘号
|
public string udf01 { get; set; }
|
public string udf02 { get; set; }
|
public string udf03 { get; set; }
|
public string udf04 { get; set; }
|
public string udf05 { get; set; }
|
}
|
}
|
|
public class WMSResponse
|
{
|
public ES_BC_INFO ES_BC_INFO;
|
}
|
|
public class ReceiveGoodsFeedbackData
|
{
|
public IS_BC_INFO IS_BC_INFO { get; set; }
|
public List<FeedbackData> IT_DATA { get; set; }
|
public class FeedbackData
|
{
|
public string organizationId { get; set; } // 组织编号
|
public string warehouseId { get; set; } // 仓库编号
|
public string customerId { get; set; } // 工厂ID
|
public string ASNNo { get; set; } // 预期到货通知单
|
public string sku { get; set; } // 物料号
|
public string qty { get; set; } // 数量
|
public string weighQty { get; set; } // 称重数量
|
public string traceId { get; set; } // 托盘号
|
public string serialNo { get; set; } // 箱号
|
public string locationId { get; set; } // 收货库位
|
public string completedFlag { get; set; } // 订单收货完成标记 N未收货完成 Y已收货完成
|
public string udf01 { get; set; }
|
public string udf02 { get; set; }
|
public string udf03 { get; set; }
|
public string udf04 { get; set; }
|
public string udf05 { get; set; }
|
}
|
}
|
|
|
}
|
}
|