11
pulg
2025-06-05 28bea7128b8c24a6a664e880f1425e1fa24b9b5f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
using HH.WCS.Hexafluo.process;
using HH.WCS.Hexafluo.util;
using HH.WCS.Hexafluo.wms;
using Newtonsoft.Json;
using System.Collections.Generic;
 
namespace HH.WCS.Hexafluo.dispatch
{
    /// <summary>
    /// 天目系统任务下达
    /// </summary>
    public class TmToAGV
    {
        private static readonly HttpHelper apiHelper = new HttpHelper();
        private static readonly string baseUrl = Settings.TmHelperList;
        public static TmResult GetIO(WMSTask mst, int start, int end)
        {
            if (string.IsNullOrEmpty(baseUrl))
            {
                LogHelper.Info("未获取到配置文件中天目系统端口地址");
            }
            string Start = start.ToString();
            int at = start.ToString().Length;
            if (start.ToString().Length < 4)
            {
                for (int i = 0; i < 4 - at; i++)
                {
                    Start = "0" + Start;
                }
            }
 
            string End = end.ToString();
            int ct = End.ToString().Length;
            if (End.ToString().Length < 4)
            {
                for (int i = 0; i < 4 - ct; i++)
                {
                    End = "0" + End;
                }
            }
            var interactInfo = new
            {
                //orderNo = mst.S_TASK_NO.Trim(),
                //priority = mst.N_PRIORITY,
                //orderType = 2,
                // circulation=1,
                orderSequence = new List<object>(){
                new{
                   // intendedVehicle="",
                    destinations=new List<object>()
                    {
                        new
                        {
                            locationName="Location-"+Start,
                            operation="Floor0_Take"
                        }
                    }
                },
                    new
                    {
                       // intendedVehicle="",
                        destinations = new List < object >() {
                            new
                            {
                                locationName ="Location-"+End,
                                operation= "Floor0_Place"
                            }
                        }
                    }
                }
            };
            LogHelper.Info(" 下达天目系统订单 地址为:" + baseUrl + "v1/orderByTS" + "   参数为:" + JsonConvert.SerializeObject(interactInfo));
            var result = apiHelper.Post(baseUrl + "v1/orderByTS", JsonConvert.SerializeObject(interactInfo));
            LogHelper.Info("系统返回:" + JsonConvert.SerializeObject(result));
            var data = JsonConvert.DeserializeObject<TmResult>(result);
            if (data == null)
            {
                TmResult tr = new TmResult();
                tr.success = false;
                tr.msg = "无法访问天目系统接口,获取的参数为空";
                LogHelper.Info("无法访问天目系统接口,获取的参数为空");
                return tr;
            }
            else
            {
                return data;
            }
 
        }
 
        public static TmreturnData SeleState(string TaskNo)
        {
            LogHelper.Info(" 查询天目系统订单 地址为:" + baseUrl + "v1/transportStructureOrder/" + TaskNo);
            var result = apiHelper.Get(baseUrl + "v1/transportStructureOrder/" + TaskNo);
            LogHelper.Info("查询系统返回:" + JsonConvert.SerializeObject(result));
            if (result == null)
            {
                TmreturnData da = new TmreturnData();
                da.success = false;
                da.msg = "无法访问天目系统接口,获取的参数为空";
                LogHelper.Info("无法访问天目系统接口,获取的参数为空");
                return da;
            }
            else
            {
                return JsonConvert.DeserializeObject<TmreturnData>(result);
            }
 
        }
 
        public static TmResult DeleAgv(string TaskNo)
        {
            LogHelper.Info("取消订单天目系统订单 地址为:" + baseUrl + "v1/orderByTS/withdrawalTSOrderByOrderNo/" + TaskNo + "/true");
            var result = apiHelper.Post(baseUrl + "v1/orderByTS/withdrawalTSOrderByOrderNo/" + TaskNo + "/true", "");
            LogHelper.Info("取消订单天目系统返回:" + JsonConvert.SerializeObject(result));
            var data = JsonConvert.DeserializeObject<TmResult>(result);
            return data;
        }
        public class TmResult
        {
            public bool success { get; set; }
 
            public string error_code { get; set; }
 
            public string msg { get; set; }
 
            public string data { get; set; }
        }
    }
}