WcsWebApiClient.cs
5.29 KB
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
using Newtonsoft.Json;
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
namespace HH_WCS_Standard
{
public static class WcsWebApiClient
{
private static HttpClient client = new HttpClient();
private static ApiTokenResultModel ApiTokenResultModel = new ApiTokenResultModel();
private static BllResult FormPost(object obj, string requestUri)
{
try
{
string requrl = Properties.Resources.WmsApiClient + requestUri;
HttpContent content = GetTextContent(obj);
var ret = client.PostAsync(requrl, content).Result;
if (ret.IsSuccessStatusCode)
{
ret.EnsureSuccessStatusCode();
string temp = ret.Content.ReadAsStringAsync().Result;
LogExecute.logNet.WriteDebug($"请求WMS接口{requestUri}成功,返回值:{temp}");
var b = JsonConvert.DeserializeObject<ApiResultModel>(temp);
if (b.State)
{
return BllResult.Sucess(null, b.Msg);
}
else
{
return BllResult.Error(null, b.Msg);
}
}
else
{
return BllResult.Error(null, $"请求WMS失败,请检查网络连接,详情:{ret.StatusCode}");
}
}
catch (Exception ex)
{
return BllResult.Error(null, $"请求WMS失败,请检查网络连接或者重启本程序,详情:{ex.Message}");
}
}
private static BllResult<T> FormPost<T>(object obj, string requestUri)
{
try
{
string requrl = Properties.Resources.WmsApiClient + requestUri;
HttpContent content = GetTextContent(obj);
var ret = client.PostAsync(requrl, content).Result;
if (ret.IsSuccessStatusCode)
{
ret.EnsureSuccessStatusCode();
string temp = ret.Content.ReadAsStringAsync().Result;
LogExecute.logNet.WriteDebug($"请求WMS接口{requestUri}成功,返回值:{temp}");
var b = JsonConvert.DeserializeObject<ApiResultModel<T>>(temp);
if (b.State)
{
return BllResult<T>.Sucess(b.Data, b.Msg);
}
else
{
return BllResult<T>.Error(default(T), b.Msg);
}
}
else
{
return BllResult<T>.Error(default(T), "请求WMS失败,请检查网络连接");
}
}
catch (Exception ex)
{
return BllResult<T>.Error(default(T), "请求WMS失败,请检查网络连接或者重启本程序" + ex.Message);
}
}
private static HttpContent GetTextContent(Object obj)
{
string json = JsonConvert.SerializeObject(obj);
HttpContent content = new StringContent(json, Encoding.UTF8, "application/json");
return content;
}
/// <summary>
/// 完成任务接口
/// </summary>
/// <param name="reqTask"></param>
/// <returns></returns>
public static BllResult FinishTask(ReqTaskFinish reqTask)
{
return FormPost(reqTask, "/TaskFinish");
}
/// <summary>
/// 满入
/// </summary>
/// <param name="reqOverrideHandle"></param>
/// <returns></returns>
public static BllResult<ResOverrideHandle> OverrideHandle(ReqOverrideHandle reqOverrideHandle)
{
return FormPost<ResOverrideHandle>(reqOverrideHandle, "/ReenterHandle");
}
/// <summary>
/// 空出
/// </summary>
/// <param name="reqEmptyOut"></param>
/// <returns></returns>
public static BllResult EmptyOutHandle(ReqEmptyOut reqEmptyOut)
{
return FormPost(reqEmptyOut, "/EmptyOutHandle");
}
/// <summary>
/// 取货错
/// </summary>
/// <param name="reqTakeError"></param>
/// <returns></returns>
public static BllResult TakeErrHandle(ReqTakeError reqTakeError)
{
return FormPost(reqTakeError, "/pickupError");
}
/// <summary>
/// 仓位分配接口
/// </summary>
/// <param name="reqWareCellAllocation"></param>
/// <returns></returns>
public static BllResult<ResGetWarecellAllocation> GetWareCellHandle(ReqWarecellAllocation reqWareCellAllocation)
{
return FormPost<ResGetWarecellAllocation>(reqWareCellAllocation, "/WarecellAllocation");
}
/// <summary>
/// 到达操作口任务回传
/// </summary>
/// <param name="reqTaskStatusFeedBack"></param>
/// <returns></returns>
public static BllResult TaskStatusFeedBack(ReqTaskStatusFeedBack reqTaskStatusFeedBack)
{
return FormPost(reqTaskStatusFeedBack, "/arrive");
}
}
}