using HH.WCS.HangYang.util;
|
using Newtonsoft.Json;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using static HH.WCS.HangYang.dispatch.HanAo;
|
|
namespace HH.WCS.HangYang.LISTA.dispatch
|
{
|
public class HangAoHelper
|
{
|
private static readonly HttpHelper apiHelper = new HttpHelper();
|
private static readonly string baseUrl = Settings.HASeverUrl;
|
|
/// <summary>
|
/// 杭奥任务创建
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public static bool CreateOrder(TaskInfoModel model)
|
{
|
var msg = "";
|
var result = true;
|
var request = JsonConvert.SerializeObject(model);
|
var response = apiHelper.Post(baseUrl + "/sendTask", request);
|
msg = $"[CreateOrder] request={request} response={response}";
|
Console.WriteLine(msg);
|
if (response != "")
|
{
|
try
|
{
|
var dataResult = JsonConvert.DeserializeObject<HAResult>(response);
|
if (dataResult.code == "0")
|
{
|
result = true;
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.WriteLine(ex.Message);
|
}
|
}
|
else
|
{
|
msg = "[hanao-CreateOrder]创建订单失败";
|
Console.WriteLine(msg);
|
}
|
|
LogHelper.Info(msg, "杭奥");
|
return result;
|
}
|
|
/// <summary>
|
/// 杭奥任务取消
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public static bool CancelOrder(CancelModel model)
|
{
|
bool result = false;
|
string msg = "";
|
var request = JsonConvert.SerializeObject(model);
|
var response = apiHelper.Post(baseUrl + "/cancelTask", request);
|
msg = $"[CancelOrder] request={request};response={response}";
|
Console.WriteLine(msg);
|
if (response != "")
|
{
|
var dataResult = JsonConvert.DeserializeObject<HAResult>(response);
|
if (dataResult.code == "0")
|
{
|
result = true;
|
}
|
}
|
else
|
{
|
msg = "[hanao-CancelOrder]取消订单失败";
|
Console.WriteLine(msg);
|
}
|
LogHelper.Info(msg, "杭奥");
|
return result;
|
}
|
|
/// <summary>
|
/// 杭奥设备状态查询
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public static bool GetDeviceState(CancelModel model)
|
{
|
bool result = false;
|
string msg = "";
|
var request = JsonConvert.SerializeObject(model);
|
var response = apiHelper.Post(baseUrl + "/getDeviceStatus", request);
|
msg = $"[GetDeviceState] request={request};response={response}";
|
Console.WriteLine(msg);
|
if (response != "")
|
{
|
var dataResult = JsonConvert.DeserializeObject<HAResult>(response);
|
if (dataResult.code == "0")
|
{
|
result = true;
|
}
|
}
|
else
|
{
|
msg = "[GetDeviceState]获取设备状态失败";
|
Console.WriteLine(msg);
|
}
|
LogHelper.Info(msg, "杭奥");
|
return result;
|
}
|
|
/// <summary>
|
/// 创建任务参数
|
/// </summary>
|
public class TaskInfoModel
|
{
|
/// <summary>
|
/// 任务号
|
/// </summary>
|
public string taskNo { get; set; }
|
/// <summary>
|
/// 任务组
|
/// </summary>
|
public string groupNo { get; set; }
|
/// <summary>
|
/// 优先级
|
/// </summary>
|
public string priority { get; set; }
|
/// <summary>
|
/// 任务类型
|
/// </summary>
|
public string taskType { get; set; }
|
/// <summary>
|
/// 起点
|
/// </summary>
|
public string from { get; set; }
|
/// <summary>
|
/// 终点
|
/// </summary>
|
public string to { get; set; }
|
/// <summary>
|
/// 巷道号
|
/// </summary>
|
public string roadWay { get; set; }
|
/// <summary>
|
/// 容器号
|
/// </summary>
|
public string cntrNo { get; set; }
|
/// <summary>
|
/// 容器类型
|
/// </summary>
|
public string cntrType { get; set; }
|
/// <summary>
|
/// 扩展信息,根据项目自定义
|
/// </summary>
|
public string extData { get; set; }
|
|
}
|
|
/// <summary>
|
/// 取消任务参数
|
/// </summary>
|
public class CancelModel
|
{
|
/// <summary>
|
/// 任务号
|
/// </summary>
|
public string taskNo { get; set; }
|
}
|
|
/// <summary>
|
/// 获取设备状态参数
|
/// </summary>
|
public class DeviceInfoModel
|
{
|
/// <summary>
|
/// 设备号
|
/// </summary>
|
public string[] deviceNo { get; set; }
|
}
|
|
/// <summary>
|
/// 返回结果
|
/// </summary>
|
public class HAResult
|
{
|
/// <summary>
|
/// 结果值
|
/// </summary>
|
public string code { get; set; }
|
/// <summary>
|
/// 异常描述
|
/// </summary>
|
public string msg { get; set; }
|
/// <summary>
|
/// 获取设备状态使用
|
/// </summary>
|
public List<DataModel> data { get; set; }
|
}
|
|
/// <summary>
|
/// 返回结果data
|
/// </summary>
|
public class DataModel
|
{
|
public string deviceNo { get; set; }
|
public string workStatus { get; set; }
|
public string photoStatus { get; set; }
|
public string manualStatus { get; set; }
|
}
|
|
}
|
}
|