using Newtonsoft.Json;/********************************************************************************
|
|
** auth: DBS
|
|
** date: 2019/2/18 17:07:51
|
|
** desc: 尚未编写描述
|
|
** Ver.: V1.0.0
|
|
*********************************************************************************/
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Reflection;
|
using System.Text;
|
using System.Threading.Tasks;
|
using HH.WMS.DAL;
|
using HH.WMS.Entitys;
|
using HH.WMS.Entitys.Basic;
|
using Newtonsoft.Json;
|
using Newtonsoft.Json.Linq;
|
using HH.WMS.Entitys.Ams;
|
using HH.WMS.Common;
|
using HH.WMS.Entitys.External;
|
|
namespace HH.WMS.BLL.Interface
|
{
|
public class OtherSysApi : DapperBaseBLL
|
{
|
/// <summary>
|
/// 出库确认
|
/// </summary>
|
/// <param name="opNo">发货通知单号</param>
|
/// <returns></returns>
|
public OperateResult OutOrderConmit(string opType, string fromOpNo)
|
{
|
TN_WMS_REQ_LOGEntity req = new TN_WMS_REQ_LOGEntity()
|
{
|
CN_GUID = Guid.NewGuid().ToString(),
|
CN_S_INTERFACE = "OutOrderConmit",
|
CN_S_INTERFACE_NAME = "发货确认",
|
CN_T_CREATE = DateTime.Now
|
};
|
try
|
{
|
Log.Info("===>出库确认调用上游系统接口", opType + fromOpNo);
|
OperateResult result = new OperateResult();
|
//返回接口定义数据
|
TN_WM_INTERFACE_DEFEntity entity = CreateDAL<DapperDAL<TN_WM_INTERFACE_DEFEntity>>().GetSingleEntity(new { CN_S_INTF_CODE = "OutOrderConmit" });
|
if (entity == null)
|
{
|
Log.Info("===>出库确认调用上游系统接口", "未配置该接口定义");
|
return OperateResult.Error("未配置该接口定义");
|
}
|
else if (entity.CN_C_IS_ENABLE.Equals("N"))
|
{
|
return OperateResult.Succeed();
|
}
|
switch (entity.CN_S_PROTOCOL.Trim())
|
{
|
case "WebApi":
|
string requestContext = "opFromNo=" + fromOpNo + "&opType=" + opType;
|
req.CN_S_REQUEST = requestContext;
|
Log.Info("===>调用上游系统接口", requestContext);
|
string res = WebApiManager.HttpGet(entity.CN_S_URL, "", "opFromNo=" + fromOpNo + "&opType=" + opType);
|
Log.Info("===>调用上游系统接口", res);
|
req.CN_S_RESPONSE = res;
|
|
CreateDAL<DapperDAL<TN_WMS_REQ_LOGEntity>>().Add(req);
|
|
if (res == "")
|
return OperateResult.Error("接口访问失败!");
|
else
|
return OperateResult.Succeed();
|
break;
|
}
|
return result;
|
}
|
catch (Exception ex)
|
{
|
Log.Info("===>出库确认调用上游系统接口,程序异常:", ex.Message);
|
CreateDAL<DapperDAL<TN_WMS_REQ_LOGEntity>>().Add(req);
|
return OperateResult.Error(ex.Message);
|
}
|
}
|
|
/// <summary>
|
/// 下达任务给AMS
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public OperateResult SendAmsTask(TN_WM_TASKEntity model)
|
{
|
//返回接口定义数据
|
|
//if (GetStrategy(model.CN_S_STOCK_CODE, Constants.IsUseAms) == "Y")
|
//{
|
return SendAms(model);
|
// }
|
// return OperateResult.Succeed();
|
//return OperateResult.Succeed();
|
}
|
public OperateResult SendAmsCreateTask(TN_WM_TASKEntity model)
|
{
|
List<JObject> sendParams = new List<JObject>();
|
JObject sendParam = new JObject();
|
sendParam.Add("businessType", "转运");
|
sendParam.Add("whNoFrom", model.CN_S_STOCK_CODE);
|
sendParam.Add("whNoTo", model.CN_S_STOCK_CODE);
|
sendParam.Add("sysName", "WMS");
|
sendParam.Add("deviceName", "WMS");
|
sendParam.Add("taskNo", model.CN_S_TASK_NO);
|
sendParam.Add("locationFrom", model.CN_S_START_BIT);
|
sendParam.Add("locationTo", model.CN_S_END_BIT);
|
sendParam.Add("priority", model.CN_N_PRIORITY);
|
sendParam.Add("areaTo", JsonConvert.SerializeObject(model.END_AREAS));
|
sendParams.Add(sendParam);
|
string sendData = JsonConvert.SerializeObject(sendParams);
|
Log.Info("===>发送任务给AMS", sendData);
|
string postOmsData = JsonConvert.SerializeObject(sendParams);
|
string result = WebApiManager.HttpAms_Post("api/HHAms/AddTask", postOmsData);
|
Log.Info("===>AMS返回结果", result);
|
|
if (result == "")
|
return OperateResult.Error("请检查AMS访问地址!");
|
|
try
|
{
|
AmsResponse s = JsonConvert.DeserializeObject<AmsResponse>(result);
|
if (s.success)
|
{
|
return OperateResult.Succeed();
|
}
|
else
|
{
|
return OperateResult.Error(s.failList[0].errMsg);
|
}
|
}
|
catch (Exception ex)
|
{
|
Log.Info("===>AMS返回结果异常", ex.Message);
|
return OperateResult.Error("AMS返回结果异常");
|
}
|
}
|
private OperateResult SendAms(TN_WM_TASKEntity model)
|
{
|
List<JObject> sendParams = new List<JObject>();
|
JObject sendParam = new JObject();
|
sendParam.Add("businessType", "转运");
|
sendParam.Add("whNoFrom", "");
|
sendParam.Add("whNoTo", "");
|
sendParam.Add("sysName", "WMS");
|
sendParam.Add("deviceName", "WMS");
|
sendParam.Add("taskNo", model.CN_S_TASK_NO);
|
sendParam.Add("locationFrom", model.CN_S_START_BIT);
|
sendParam.Add("locationTo", model.CN_S_END_BIT);
|
sendParam.Add("priority", model.CN_N_PRIORITY);
|
sendParam.Add("areaTo", JsonConvert.SerializeObject(model.END_AREAS));
|
sendParams.Add(sendParam);
|
|
string sendData = JsonConvert.SerializeObject(sendParams);
|
Log.Info("===>发送任务给AMS", sendData);
|
string postOmsData = JsonConvert.SerializeObject(sendParams);
|
string result = WebApiManager.HttpAms_Post("api/HHAms/AddTask", postOmsData);
|
Log.Info("===>AMS返回结果", result);
|
|
TN_WMS_REQ_LOGEntity req = new TN_WMS_REQ_LOGEntity()
|
{
|
CN_GUID = System.Guid.NewGuid().ToString().ToUpper(),
|
CN_S_INTERFACE = "SendAmsTask",
|
CN_S_INTERFACE_NAME = "下达任务",
|
CN_S_REQUEST = postOmsData,
|
CN_S_RESPONSE = result,
|
CN_T_CREATE = DateTime.Now
|
};
|
OperateResult r = CreateDAL<DapperDAL<TN_WMS_REQ_LOGEntity>>().Add(req);
|
if (result == "")
|
return OperateResult.Error("请检查AMS访问地址!");
|
|
try
|
{
|
AmsResponse s = JsonConvert.DeserializeObject<AmsResponse>(result);
|
if (s.success)
|
{
|
return OperateResult.Succeed();
|
}
|
else
|
{
|
return OperateResult.Error(s.failList[0].errMsg);
|
}
|
}
|
catch (Exception ex)
|
{
|
Log.Info("===>AMS返回结果异常", ex.Message);
|
return OperateResult.Error("AMS返回结果异常");
|
}
|
}
|
public OperateResult SendAmsCreateTaskHK(TN_WM_TRANSPORT_TASKEntity model)
|
{
|
List<JObject> sendParams = new List<JObject>();
|
JObject sendParam = new JObject();
|
sendParam.Add("businessType", model.AMSTaskType);
|
sendParam.Add("whNoFrom", model.CN_S_STOCK_CODE);
|
sendParam.Add("whNoTo", model.CN_S_STOCK_CODE);
|
sendParam.Add("sysName", "WMS");
|
sendParam.Add("deviceName", "WMS");
|
sendParam.Add("taskNo", model.CN_S_TASK_NO);
|
sendParam.Add("locationFrom", model.CN_S_START_BIT);
|
sendParam.Add("locationTo", model.CN_S_END_BIT);
|
sendParam.Add("priority", model.CN_N_PRIORITY);
|
sendParam.Add("ext2", model.CN_S_REMARK);
|
sendParam.Add("areaTo", JsonConvert.SerializeObject(model.END_AREAS));
|
sendParams.Add(sendParam);
|
string sendData = JsonConvert.SerializeObject(sendParams);
|
Log.Info("===>发送任务给AMS", sendData);
|
string postOmsData = JsonConvert.SerializeObject(sendParams);
|
string result = WebApiManager.HttpAms_Post("api/HHAms/AddTask", postOmsData);
|
Log.Info("===>AMS返回结果", result);
|
|
if (result == "")
|
return OperateResult.Error("请检查AMS访问地址!");
|
|
try
|
{
|
AmsResponse s = JsonConvert.DeserializeObject<AmsResponse>(result);
|
if (s.success)
|
{
|
return OperateResult.Succeed();
|
}
|
else
|
{
|
return OperateResult.Error(s.failList[0].errMsg);
|
}
|
}
|
catch (Exception ex)
|
{
|
Log.Info("===>AMS返回结果异常", ex.Message);
|
return OperateResult.Error("AMS返回结果异常");
|
}
|
}
|
public OperateResult SendAmsCreateTask(TN_WM_TRANSPORT_TASKEntity model)
|
{
|
List<JObject> sendParams = new List<JObject>();
|
JObject sendParam = new JObject();
|
sendParam.Add("businessType", "转运");
|
sendParam.Add("whNoFrom", model.CN_S_STOCK_CODE);
|
sendParam.Add("whNoTo", model.CN_S_STOCK_CODE);
|
sendParam.Add("sysName", "WMS");
|
sendParam.Add("deviceName", "WMS");
|
sendParam.Add("taskNo", model.CN_S_TASK_NO);
|
sendParam.Add("locationFrom", model.CN_S_START_BIT);
|
sendParam.Add("locationTo", model.CN_S_END_BIT);
|
sendParam.Add("priority", model.CN_N_PRIORITY);
|
sendParam.Add("areaTo", JsonConvert.SerializeObject(model.END_AREAS));
|
sendParams.Add(sendParam);
|
string sendData = JsonConvert.SerializeObject(sendParams);
|
Log.Info("===>发送任务给AMS", sendData);
|
string postOmsData = JsonConvert.SerializeObject(sendParams);
|
string result = WebApiManager.HttpAms_Post("api/HHAms/AddTask", postOmsData);
|
Log.Info("===>AMS返回结果", result);
|
|
if (result == "")
|
return OperateResult.Error("请检查AMS访问地址!");
|
|
try
|
{
|
AmsResponse s = JsonConvert.DeserializeObject<AmsResponse>(result);
|
if (s.success)
|
{
|
return OperateResult.Succeed();
|
}
|
else
|
{
|
return OperateResult.Error(s.failList[0].errMsg);
|
}
|
}
|
catch (Exception ex)
|
{
|
Log.Info("===>AMS返回结果异常", ex.Message);
|
return OperateResult.Error("AMS返回结果异常");
|
}
|
}
|
public OperateResult SendAmsCreateTaskJX(TN_WM_TRANSPORT_TASKEntity model)
|
{
|
List<JObject> sendParams = new List<JObject>();
|
//List<string> lstTray = new List<string>();
|
//lstTray.Add(model.CN_S_CIR_OBJ_CODE);
|
JObject sendParam = new JObject();
|
sendParam.Add("businessType", "转运");
|
sendParam.Add("whNoFrom", "");
|
sendParam.Add("whNoTo", "");
|
sendParam.Add("sysName", "WMS");
|
sendParam.Add("deviceName", "WMS");
|
sendParam.Add("batchNo", model.CN_S_CIR_OBJ_CODE);
|
sendParam.Add("taskNo", model.CN_S_TASK_NO);
|
sendParam.Add("locationFrom", model.CN_S_START_BIT);
|
sendParam.Add("locationTo", model.CN_S_END_BIT);
|
sendParam.Add("priority", model.CN_N_PRIORITY);
|
sendParam.Add("ext1", model.CN_S_REMARK);
|
sendParam.Add("areaTo", JsonConvert.SerializeObject(model.END_AREAS));
|
sendParams.Add(sendParam);
|
string sendData = JsonConvert.SerializeObject(sendParams);
|
Log.Info("===>巨星 发送任务给AMS", sendData);
|
string postOmsData = JsonConvert.SerializeObject(sendParams);
|
string result = WebApiManager.HttpAms_Post("api/HHAms/AddTask", postOmsData);
|
Log.Info("===>AMS返回结果", result);
|
if (result == "")
|
return OperateResult.Error("请检查AMS访问地址!");
|
|
try
|
{
|
AmsResponse s = JsonConvert.DeserializeObject<AmsResponse>(result);
|
if (s.success)
|
{
|
return OperateResult.Succeed();
|
}
|
else
|
{
|
return OperateResult.Error(s.failList[0].errMsg);
|
}
|
}
|
catch (Exception ex)
|
{
|
Log.Info("===>AMS返回结果异常", ex.Message);
|
return OperateResult.Error("AMS返回结果异常");
|
}
|
}
|
|
public OperateResult SendAmsCreateTaskLJ(TN_WM_TRANSPORT_TASKEntity model)
|
{
|
List<JObject> sendParams = new List<JObject>();
|
JObject sendParam = new JObject();
|
sendParam.Add("businessType", "人工");
|
sendParam.Add("whNoFrom", model.CN_S_STOCK_CODE);
|
sendParam.Add("whNoTo", model.CN_S_STOCK_CODE);
|
sendParam.Add("sysName", "WMS");
|
sendParam.Add("deviceName", "WMS");
|
sendParam.Add("taskNo", model.CN_S_TASK_NO);
|
sendParam.Add("locationFrom", model.CN_S_START_BIT);
|
sendParam.Add("locationTo", model.CN_S_END_BIT);
|
sendParam.Add("priority", model.CN_N_PRIORITY);
|
sendParam.Add("areaTo", JsonConvert.SerializeObject(model.END_AREAS));
|
sendParam.Add("ext2", model.CN_S_REMARK);
|
sendParam.Add("ext3", model.CN_S_EXT3);
|
sendParams.Add(sendParam);
|
string sendData = JsonConvert.SerializeObject(sendParams);
|
Log.Info("===>发送任务给AMS-隆基", sendData);
|
string postOmsData = JsonConvert.SerializeObject(sendParams);
|
string result = WebApiManager.HttpAms_Post("api/HHAms/AddTask", postOmsData);
|
Log.Info("===>AMS返回结果", result);
|
|
if (result == "")
|
return OperateResult.Error("请检查AMS访问地址!");
|
|
try
|
{
|
AmsResponse s = JsonConvert.DeserializeObject<AmsResponse>(result);
|
if (s.success)
|
{
|
return OperateResult.Succeed();
|
}
|
else
|
{
|
return OperateResult.Error(s.failList[0].errMsg);
|
}
|
}
|
catch (Exception ex)
|
{
|
Log.Info("===>AMS返回结果异常", ex.Message);
|
return OperateResult.Error("AMS返回结果异常");
|
}
|
}
|
public OperateResult SendAmsCreateTaskLJ(TN_WM_TASKEntity model)
|
{
|
List<JObject> sendParams = new List<JObject>();
|
JObject sendParam = new JObject();
|
sendParam.Add("businessType", "人工");
|
sendParam.Add("whNoFrom", model.CN_S_STOCK_CODE);
|
sendParam.Add("whNoTo", model.CN_S_STOCK_CODE);
|
sendParam.Add("sysName", "WMS");
|
sendParam.Add("deviceName", "WMS");
|
sendParam.Add("taskNo", model.CN_S_TASK_NO);
|
sendParam.Add("locationFrom", model.CN_S_START_BIT);
|
sendParam.Add("locationTo", model.CN_S_END_BIT);
|
sendParam.Add("priority", model.CN_N_PRIORITY);
|
sendParam.Add("areaTo", JsonConvert.SerializeObject(model.END_AREAS));
|
sendParam.Add("ext2", model.mesInfo);
|
sendParam.Add("ext3", model.CN_S_EXT3);
|
sendParams.Add(sendParam);
|
string sendData = JsonConvert.SerializeObject(sendParams);
|
Log.Info("===>发送任务给AMS-隆基", sendData);
|
string postOmsData = JsonConvert.SerializeObject(sendParams);
|
string result = WebApiManager.HttpAms_Post("api/HHAms/AddTask", postOmsData);
|
Log.Info("===>AMS返回结果", result);
|
|
if (result == "")
|
return OperateResult.Error("请检查AMS访问地址!");
|
|
try
|
{
|
AmsResponse s = JsonConvert.DeserializeObject<AmsResponse>(result);
|
if (s.success)
|
{
|
return OperateResult.Succeed();
|
}
|
else
|
{
|
return OperateResult.Error(s.failList[0].errMsg);
|
}
|
}
|
catch (Exception ex)
|
{
|
Log.Info("===>AMS返回结果异常", ex.Message);
|
return OperateResult.Error("AMS返回结果异常");
|
}
|
}
|
|
public OperateResult SendAmsCreateTaskHK(TN_WM_TASKEntity model)
|
{
|
List<JObject> sendParams = new List<JObject>();
|
JObject sendParam = new JObject();
|
sendParam.Add("businessType", model.CN_S_TASK_TYPE);
|
sendParam.Add("whNoFrom", model.CN_S_STOCK_CODE);
|
sendParam.Add("whNoTo", model.CN_S_STOCK_CODE);
|
sendParam.Add("sysName", "WMS");
|
sendParam.Add("deviceName", "WMS");
|
sendParam.Add("taskNo", model.CN_S_TASK_NO);
|
sendParam.Add("locationFrom", model.CN_S_START_BIT);
|
sendParam.Add("locationTo", model.CN_S_END_BIT);
|
sendParam.Add("priority", model.CN_N_PRIORITY);
|
sendParam.Add("areaTo", JsonConvert.SerializeObject(model.END_AREAS));
|
sendParams.Add(sendParam);
|
string sendData = JsonConvert.SerializeObject(sendParams);
|
Log.DomainInfo("===>发送任务给AMS", sendData);
|
string postOmsData = JsonConvert.SerializeObject(sendParams);
|
string result = WebApiManager.HttpAms_Post("api/HHAms/AddTask", postOmsData);
|
Log.DomainInfo("===>AMS返回结果", result);
|
|
if (result == "")
|
return OperateResult.Error("请检查AMS访问地址!");
|
|
try
|
{
|
AmsResponse s = JsonConvert.DeserializeObject<AmsResponse>(result);
|
if (s.success)
|
{
|
return OperateResult.Succeed();
|
}
|
else
|
{
|
return OperateResult.Error(s.failList[0].errMsg);
|
}
|
}
|
catch (Exception ex)
|
{
|
Log.DomainInfo("===>AMS返回结果异常", ex.Message);
|
return OperateResult.Error("AMS返回结果异常");
|
}
|
}
|
}
|
}
|