kazelee
7 天以前 2ca90a404fa1ab94eb6374f50c6ddd47a2b7f0e6
dispatch/NDCApi.cs
@@ -1,28 +1,22 @@
using HH.WCS.Mobox3.DSZSH;
using HH.WCS.Mobox3.DSZSH.util;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
namespace HH.WCS.Mobox3.DSZSH.dispatch
{
namespace HH.WCS.Mobox3.DSZSH.dispatch {
    /// <summary>
    /// NDC的API接口,用于替代原NDC,NDCHelper和HostToAGV模块
    /// </summary>
    public class NDCApi
    {
    public class NDCApi {
        public static string NDCApiUrl { set; get; }
        static NDCApi()
        {
        static NDCApi() {
            NDCApiUrl = Settings.NdcApiUrl;
        }
        public static AgvApiResult AddOrderNew(int ts, int pri, string taskNo, List<param> param)
        {
        public static AgvApiResult AddOrderNew(int ts, int pri, string taskNo, List<param> param) {
            var httpH = new HttpHelper();
            var agvApiResult = new AgvApiResult();
            var model = new AddOrderNewModel();
@@ -30,8 +24,7 @@
            model.pri = pri;
            model.task_no = taskNo;
            model.param = param;
            try
            {
            try {
                string jsonInfo = JsonConvert.SerializeObject(model);
                LogHelper.Info($"NDC任务下发:{taskNo}\n\n{jsonInfo}\n", "NDC");
                var result = httpH.WebPost(NDCApiUrl + "Add", jsonInfo);
@@ -39,8 +32,7 @@
                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
                return agvApiResult;
            }
            catch (Exception e)
            {
            catch (Exception e) {
                LogHelper.Info($"任务下发失败:res='{e.Message}'", "NDC");
                agvApiResult.err_code = -1;
                agvApiResult.err_msg = e.Message;
@@ -48,13 +40,11 @@
            }
        }
        public static AgvApiResult AddOrderNew(AddOrderNewModel model)
        {
        public static AgvApiResult AddOrderNew(AddOrderNewModel model) {
            var httpH = new HttpHelper();
            var agvApiResult = new AgvApiResult();
            try
            {
            try {
                string jsonInfo = JsonConvert.SerializeObject(model);
                LogHelper.Info($"任务{model.task_no}下发,{jsonInfo}", "NDC");
@@ -64,8 +54,7 @@
                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
                return agvApiResult;
            }
            catch (Exception e)
            {
            catch (Exception e) {
                LogHelper.Info($"任务下发失败 res={e.Message}", "NDC");
                agvApiResult.err_code = -1;
                agvApiResult.err_msg = e.Message;
@@ -73,15 +62,13 @@
            }
        }
        public static AgvApiResult CancelOrder(string tsNo, bool is_force = true)
        {
        public static AgvApiResult CancelOrder(string tsNo, bool is_force = true) {
            var httpH = new HttpHelper();
            var agvApiResult = new AgvApiResult();
            var model = new CancelOrderModel();
            model.task_no = tsNo;
            model.is_force = is_force;
            try
            {
            try {
                string jsonInfo = JsonConvert.SerializeObject(model);
                LogHelper.Info($"任务{model.task_no}取消,{jsonInfo}", "NDC");
@@ -91,8 +78,7 @@
                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
                return agvApiResult;
            }
            catch (Exception e)
            {
            catch (Exception e) {
                LogHelper.Info($"CancelOrder  res={e.Message}", "NDC");
                agvApiResult.err_code = -1;
                agvApiResult.err_msg = e.Message;
@@ -100,12 +86,10 @@
            }
        }
        public static AgvApiResult CancelOrder(CancelOrderModel model)
        {
        public static AgvApiResult CancelOrder(CancelOrderModel model) {
            var httpH = new HttpHelper();
            var agvApiResult = new AgvApiResult();
            try
            {
            try {
                string jsonInfo = JsonConvert.SerializeObject(model);
                LogHelper.Info($"任务{model.task_no}取消,{jsonInfo}", "NDC");
@@ -115,8 +99,7 @@
                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
                return agvApiResult;
            }
            catch (Exception e)
            {
            catch (Exception e) {
                LogHelper.Info($"CancelOrder  res={e.Message}", "NDC");
                agvApiResult.err_code = -1;
                agvApiResult.err_msg = e.Message;
@@ -125,15 +108,13 @@
        }
        public static AgvApiResult ChangeOrderPri(string taskNo, int newPri)
        {
        public static AgvApiResult ChangeOrderPri(string taskNo, int newPri) {
            var httpH = new HttpHelper();
            var agvApiResult = new AgvApiResult();
            var model = new ChangePriModel();
            model.task_no = taskNo;
            model.pri = newPri;
            try
            {
            try {
                string jsonInfo = JsonConvert.SerializeObject(model);
                LogHelper.Info($"任务{model.task_no}优先级更改,{jsonInfo}", "NDC");
@@ -143,8 +124,7 @@
                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
                return agvApiResult;
            }
            catch (Exception e)
            {
            catch (Exception e) {
                LogHelper.Info($"ChangeOrderPri res={e.Message}", "NDC");
                agvApiResult.err_code = -1;
                agvApiResult.err_msg = e.Message;
@@ -152,12 +132,10 @@
            }
        }
        public static AgvApiResult ChangeOrderPri(ChangePriModel model)
        {
        public static AgvApiResult ChangeOrderPri(ChangePriModel model) {
            var httpH = new HttpHelper();
            var agvApiResult = new AgvApiResult();
            try
            {
            try {
                string jsonInfo = JsonConvert.SerializeObject(model);
                LogHelper.Info($"任务{model.task_no}优先级更改,{jsonInfo}", "NDC");
@@ -167,8 +145,7 @@
                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
                return agvApiResult;
            }
            catch (Exception e)
            {
            catch (Exception e) {
                LogHelper.Info($"ChangeOrderPri res={e.Message}", "NDC");
                agvApiResult.err_code = -1;
                agvApiResult.err_msg = e.Message;
@@ -176,16 +153,14 @@
            }
        }
        public static AgvApiResult ChangeOrderParam(string taskNo, int paramNo, string paramStr)
        {
        public static AgvApiResult ChangeOrderParam(string taskNo, int paramNo, string paramStr) {
            var httpH = new HttpHelper();
            var agvApiResult = new AgvApiResult();
            var model = new ChangeParamModel();
            model.task_no = taskNo;
            model.param_no = paramNo;
            model.param = paramStr;
            try
            {
            try {
                string jsonInfo = JsonConvert.SerializeObject(model);
                LogHelper.Info($"任务{model.task_no}参数更改,{jsonInfo}", "NDC");
@@ -195,8 +170,7 @@
                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
                return agvApiResult;
            }
            catch (Exception e)
            {
            catch (Exception e) {
                LogHelper.Info($"ChangeOrderParam res={e.Message}", "NDC");
                agvApiResult.err_code = -1;
                agvApiResult.err_msg = e.Message;
@@ -204,12 +178,10 @@
            }
        }
        public static AgvApiResult ChangeOrderParam(ChangeParamModel model)
        {
        public static AgvApiResult ChangeOrderParam(ChangeParamModel model) {
            var httpH = new HttpHelper();
            var agvApiResult = new AgvApiResult();
            try
            {
            try {
                string jsonInfo = JsonConvert.SerializeObject(model);
                LogHelper.Info($"任务{model.task_no}参数更改,{jsonInfo}", "NDC");
@@ -219,8 +191,7 @@
                agvApiResult = JsonConvert.DeserializeObject<AgvApiResult>(result);
                return agvApiResult;
            }
            catch (Exception e)
            {
            catch (Exception e) {
                LogHelper.Info($"ChangeOrderParam res={e.Message}", "NDC");
                agvApiResult.err_code = -1;
                agvApiResult.err_msg = e.Message;
@@ -232,15 +203,13 @@
    /// <summary>
    /// 返回信息Model
    /// </summary>
    public class AgvApiResult
    {
    public class AgvApiResult {
        public int err_code { set; get; }//异常码:0 - 正常,其它值为异常错误码
        public string err_msg { set; get; }//返回的错误描述,在 err_code <> 0 时返回
        public object result { set; get; }//正确返回的结果内容,在 err_code = 0 且有返回内容时
    }
    public class AddOrderNewModel
    {
    public class AddOrderNewModel {
        public int ts_no { set; get; }//TS 号,必须有值   
        public int pri { set; get; }//优先级
        public string task_no { set; get; }//上游任务编码,如果 no_feedback = 1 时,可以为空
@@ -248,27 +217,23 @@
    }
    public class param
    {
    public class param {
        public string name { set; get; }//参数名
        public string value { set; get; }//参数值
    }
    public class CancelOrderModel
    {
    public class CancelOrderModel {
        public string task_no { set; get; }//上游任务编码
        public bool is_force { set; get; } = true;//是否强制取消,1 – 强制
    }
    public class ChangeParamModel
    {
    public class ChangeParamModel {
        public string task_no { set; get; }//上游任务编码
        public int param_no { set; get; }//参数号
        public string param { set; get; }//参数内容,多个参数以英文分号(;)分隔
    }
    public class ChangePriModel
    {
    public class ChangePriModel {
        public string task_no { set; get; }//上游任务编码
        public int pri { set; get; }//新优先级
    }