WebApiService.cs
7.79 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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
using Hh.Mes.Pojo.System;
using HHECS.Application.Enums;
using HHECS.BLL.Services;
using HHECS.BllModel;
using HHECS.DAL;
using HHECS.Model.Entities;
using NPOI.HPSF;
using System;
using System.Threading.Tasks;
namespace HHECS.Application.Service
{
public class WebApiService : BaseService
{
/// <summary>
/// WebApi的接口前缀
/// </summary>
//public static string urlPrefix = string.Empty;
public static string urlPrefix = "http://10.5.200.15:107";
public static string urlPrefix1 = "http://10.92.3.110:9000";
/// <summary>
/// 发送Post请求的客户端处理类
/// </summary>
private static CommonService commonService = new CommonService();
/// <summary>
/// 按单管计算进度(主要包括 管线下料工序,热处理工序,单管预制释放工序等三个工序都是按单管来计算进度)
/// </summary>
/// <param name="workNo">工单号</param>
/// <param name="oprSequenceNo">工序编码</param>
/// <param name="spoolNo">单管号</param>
/// <param name="oprSequenceName">工序名称</param>
/// <returns></returns>
public static Task<BllResult<object>> GetWorkOrderProgressBySingleTube(string workNo, string spoolNo, string lineCode)
{
var url = urlPrefix + "CutWeld/GetWorkOrderProgressBySingleTube";
var sendData = new { workNo = workNo, spoolNo = spoolNo, lineCode = lineCode };
return commonService.PostJson<object>("GetWorkOrderProgressBySingleTube:按单管计算进度", url, sendData);
}
/// <summary>
/// 切割的开工、完工反馈
/// </summary>
/// <param name="taskNo"></param>
/// <returns></returns>
public static Task<BllResult<object>> SendIWPTechnologylineProcess(string WorkOrderNo, string SpoolNo, int processesState)
{
var url = urlPrefix + "/api/Upstream/Mes/V1/ProcedureEndBack";
var sendData = new { barCode = SpoolNo, EnumCutHeadState = processesState };
return commonService.PostJson<object>("SendIWPTechnologylineProcess:工序开工完工", url, sendData);
}
/// <summary>
/// 切割完工工序报工
/// </summary>
/// <param name="WorkOrderNo"></param>
/// <param name="SpoolNo"></param>
/// <param name="processesState"></param>
/// <returns></returns>
public static Task<BllResult<object>> SendCutProcess(string barcode, string enumCutHeadState)
{
var url = urlPrefix + "/api/Upstream/Mes/V1/ProcedureEndBack";
var sendData = new { barCode = barcode, EnumCutHeadState = enumCutHeadState };
return commonService.PostJson<object>("SendCut:工序开工完工", url, sendData);
}
/// <summary>
/// 管段的材料跟踪
/// </summary>
/// <param name="taskNo"></param>
/// <returns></returns>
public static Task<BllResult<object>> MaterialTrackingReturnDims()
{
var url = urlPrefix + "Quality/MaterialTrackingReturnDims";
return commonService.PostJson<object>("MaterialTrackingReturnDims:管段的材料跟踪报检", url, null);
}
/// <summary>
/// 余料反馈接口
/// </summary>
/// <param name="taskNo"></param>
/// <returns></returns>
public static Task<BllResult<object>> Layingoff(string barCode,string equipmentNo)
{
var url = urlPrefix + "/api/Upstream/Mes/V1/Layingoff";
var sendData = new { barCode = barCode ,equipmentNo = equipmentNo };
return commonService.PostJson<object>("SurpplusRecord:余料反馈数据给mes", url, sendData);
}
public static Response ChekEnd(string weldUrl = "http://10.92.3.110:9000")
{
var url = weldUrl + "/SmartCutAPI/CheckMachineCanReceiveJob";
var result = commonService.HttpMan2(url, null, "ChekEnd:检查地址请求", "get");
//var ss= commonService.GetJson<object>("ChekEnd:检查地址请求", url, null);
return result;
}
public static Response EquipmentStutas(string weldUrl = "http://10.92.3.110:9000")
{
var url = weldUrl + "/SmartCutAPI/MachineData";
var result = commonService.HttpMan2(url, null, "ChekEnd:检查地址请求", "get");
//var ss= commonService.GetJson<object>("ChekEnd:检查地址请求", url, null);
return result;
}
/// <summary>
/// 余料反馈接口
/// </summary>
/// <param name="taskNo"></param>
/// <returns></returns>
public static Task<BllResult<object>> SurpplusRecord(string headID)
{
var url = urlPrefix + $"/api/Upstream/Mes/V1/SurplusRecord?headId={headID}";
var sendData = new { headID = headID };
return commonService.PostJson<object>("SurpplusRecord:余料反馈数据给mes", url, sendData);
}
/// <summary>
/// 激光切割任务下发接口
/// </summary>
/// <param name="taskNo"></param>
/// <returns></returns>
public static Task<BllResult<object>> CutRecord(string grid,string taskNo,
string filePath,
string material,
decimal sheetLength,
decimal sheetWidth,
decimal thickness)
{
var url = urlPrefix1 + $"/SmartCutAPI/CabeierNCFileAPI";
var sendData = new { requestCode = grid, requestName = "ncDownLoad" , requestTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") ,
requestData = new NcDownloadRequestData
{
taskNo = taskNo,
filePath = filePath,
material = material,
sheetLength = sheetLength,
sheetWidth = sheetWidth,
thickness = thickness
}
};
return commonService.PostJsonToCut<object>("CutRecord:激光切割下发任务", url, sendData);
}
/// <summary>
/// 任务号设备完工报工
/// </summary>
/// <param name="taskNo"></param>
/// <returns></returns>
public static Task<BllResult<object>> SendEndTask(string taskCode, string equipmentCode)
{
var url = urlPrefix + "/api/CutWeld/Mes/V1/SendIWPTechnologylineProcess";
var sendData = new { taskCode = taskCode, equipmentCode = equipmentCode };
return commonService.PostJson<object>("SendEndTask:任务号完工", url, sendData);
}
/// <summary>
/// 测长设备接口完工
/// </summary>
/// <param name="taskNo"></param>
/// <returns></returns>
public static Task<BllResult<object>> SendMeasure(string taskCode, string taskLength,string taskOrder)
{
var url = urlPrefix + "/api/Upstream/Mes/V1/taskMeasuring";
var sendData = new { taskCode = taskCode, taskLength = taskLength, taskOrder = taskOrder };
return commonService.PostJson<object>("SendEndTask:测长任务号完工", url, sendData);
}
public class NcDownloadRequest
{
public string requestCode { get; set; }
public string requestName { get; set; }
public string requestTime { get; set; }
public NcDownloadRequestData requestData { get; set; }
}
public class NcDownloadRequestData
{
public string taskNo { get; set; }
public string filePath { get; set; }
public string material { get; set; }
public decimal sheetLength { get; set; }
public decimal sheetWidth { get; set; }
public decimal thickness { get; set; }
}
}
}