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;
///
/// 杭奥任务创建
///
///
///
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(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;
}
///
/// 杭奥任务取消
///
///
///
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(response);
if (dataResult.code == "0")
{
result = true;
}
}
else
{
msg = "[hanao-CancelOrder]取消订单失败";
Console.WriteLine(msg);
}
LogHelper.Info(msg, "杭奥");
return result;
}
///
/// 杭奥设备状态查询
///
///
///
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(response);
if (dataResult.code == "0")
{
result = true;
}
}
else
{
msg = "[GetDeviceState]获取设备状态失败";
Console.WriteLine(msg);
}
LogHelper.Info(msg, "杭奥");
return result;
}
///
/// 创建任务参数
///
public class TaskInfoModel
{
///
/// 任务号
///
public string taskNo { get; set; }
///
/// 任务组
///
public string groupNo { get; set; }
///
/// 优先级
///
public string priority { get; set; }
///
/// 任务类型
///
public string taskType { get; set; }
///
/// 起点
///
public string from { get; set; }
///
/// 终点
///
public string to { get; set; }
///
/// 巷道号
///
public string roadWay { get; set; }
///
/// 容器号
///
public string cntrNo { get; set; }
///
/// 容器类型
///
public string cntrType { get; set; }
///
/// 扩展信息,根据项目自定义
///
public string extData { get; set; }
}
///
/// 取消任务参数
///
public class CancelModel
{
///
/// 任务号
///
public string taskNo { get; set; }
}
///
/// 获取设备状态参数
///
public class DeviceInfoModel
{
///
/// 设备号
///
public string[] deviceNo { get; set; }
}
///
/// 返回结果
///
public class HAResult
{
///
/// 结果值
///
public string code { get; set; }
///
/// 异常描述
///
public string msg { get; set; }
///
/// 获取设备状态使用
///
public List data { get; set; }
}
///
/// 返回结果data
///
public class DataModel
{
public string deviceNo { get; set; }
public string workStatus { get; set; }
public string photoStatus { get; set; }
public string manualStatus { get; set; }
}
}
}