wangxinhui
2024-11-06 8f392cc88b0768b74efca3b68785cf5aa1c38e70
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
using Newtonsoft.Json.Linq;
using System;
using WIDESEA_Common.Tools;
using WIDESEA_Core.Utilities;
 
namespace WIDESEA_Services
{
    public class MESAPIInvoke
    {
        public static string upperMaterIPAddresss = ConfigUtil.GetConfiguration["upperMaterURL"];
        public static string lowerMaterIPAddresss = ConfigUtil.GetConfiguration["lowerMaterURL"];
        public static string BindMaterIPAddresss = ConfigUtil.GetConfiguration["BindMaterURL"];
        public static string StockChangeIPAddresss = ConfigUtil.GetConfiguration["StockChangeURL"];
        public static string AgvStatusIPAddresss = ConfigUtil.GetConfiguration["AgvStatusURL"];
 
        /// <summary>
        /// 设备请求上料
        /// </summary>
        /// <param name="Devid"></param>
        /// <param name="BatchNo"></param>
        /// <returns></returns>
        public static MESback EquipFeeding(string Devid, string BatchNo)
        {
            try
            {
                //WriteLog.GetLog("EquipFeeding").Write("EquipFeeding接口调用开始", "EquipFeeding");
                EquipONorUPrequest req = new EquipONorUPrequest();
                req.Devid = Devid;
                req.BatchNo = BatchNo;
                JArray ja = new JArray();
                ja.Add(WebApiHelper.GetJson(req));
                JObject jobj = WebApiHelper.SendInfoToWebAPI(upperMaterIPAddresss, "", "Post", ja);
                MESback reply = WebApiHelper.ParseFromJson<MESback>(jobj.ToString());
                //WriteLog.GetLog("EquipFeeding").Write("EquipFeeding接口调用结束", "EquipFeeding");
                return reply;
            }
            catch (Exception ex)
            {
                //WriteLog.GetLog("EquipFeeding").Write("EquipFeeding接口调用异常:" + ex.Message, "EquipFeeding");
                throw new Exception(ex.Message);
            }
        }
        /// <summary>
        /// 设备请求下料调用MES接口
        /// </summary>
        /// <param name="Devid"></param>
        /// <param name="BatchNo"></param>
        /// <returns></returns>
        public static MESback EquipUnloading(string Devid, string BatchNo)
        {
            try
            {
                //WriteLog.GetLog("EquipUnloading").Write("EquipUnloading接口调用开始", "EquipUnloading");
                EquipONorUPrequest req = new EquipONorUPrequest();
                req.Devid = Devid;
                req.BatchNo = BatchNo;
                JArray ja = new JArray();
                ja.Add(WebApiHelper.GetJson(req));
                JObject jobj = WebApiHelper.SendInfoToWebAPI(lowerMaterIPAddresss, "", "Post", ja);
                MESback reply = WebApiHelper.ParseFromJson<MESback>(jobj.ToString());
                //WriteLog.GetLog("EquipUnloading").Write("EquipUnloading接口调用结束", "EquipUnloading");
                return reply;
            }
            catch (Exception ex)
            {
                //WriteLog.GetLog("EquipUnloading").Write("EquipUnloading接口调用异常:" + ex.Message, "EquipUnloading");
                throw new Exception(ex.Message);
            }
        }
        /// <summary>
        /// 记录批号与缓存架绑定信息,物料绑定信息
        /// </summary>
        /// <param name="DevidGet"></param>
        /// <param name="DevidPut"></param>
        /// <param name="MaterialType"></param>
        /// <param name="BarCode"></param>
        /// <param name="MaterialStatus"></param>
        /// <returns></returns>
        public static MESback BindMaterialDevid(string DevidGet, string DevidPut, string MaterialType, string BarCode, string MaterialStatus)
        {
            try
            {
                //WriteLog.GetLog("BindMaterialDevid").Write("BindMaterialDevid接口调用开始", "BindMaterialDevid");
                BindMaterrequest req = new BindMaterrequest();
                req.DevidGet = DevidGet;
                req.DevidPut = DevidPut;
                req.MaterialType = MaterialType;
                req.BarCode = BarCode;
                req.MaterialStatus = MaterialStatus;
                JArray ja = new JArray();
                ja.Add(WebApiHelper.GetJson(req));
                JObject jobj = WebApiHelper.SendInfoToWebAPI(BindMaterIPAddresss, "", "Post", ja);
                MESback reply = WebApiHelper.ParseFromJson<MESback>(jobj.ToString());
                //WriteLog.GetLog("BindMaterialDevid").Write("BindMaterialDevid接口调用结束", "BindMaterialDevid");
                return reply;
            }
            catch (Exception ex)
            {
                //WriteLog.GetLog("BindMaterialDevid").Write("BindMaterialDevid接口调用异常:" + ex.Message, "BindMaterialDevid");
                throw new Exception(ex.Message);
            }
        }
        /// <summary>
        /// AGV库存异动登记
        /// </summary>
        /// <param name="CallSn"></param>
        /// <param name="DevidGet"></param>
        /// <param name="DevidPut"></param>
        /// <param name="MaterialType"></param>
        /// <param name="BarCode"></param>
        /// <param name="MaterialStatus"></param>
        /// <returns></returns>
        public static MESback AgvStockChange(string CallSn, string DevidGet, string DevidPut, string MaterialType, string BarCode, string MaterialStatus)
        {
            try
            {
                //WriteLog.GetLog("AgvStockChange").Write("AgvStockChange接口调用开始", "AgvStockChange");
                StockChangerequest req = new StockChangerequest();
                req.CallSn = CallSn;
                req.DevidGet = DevidGet;
                req.DevidPut = DevidPut;
                req.MaterialType = MaterialType;
                req.BarCode = BarCode;
                req.MaterialStatus = MaterialStatus;
                JArray ja = new JArray();
                ja.Add(WebApiHelper.GetJson(req));
                JObject jobj = WebApiHelper.SendInfoToWebAPI(StockChangeIPAddresss, "", "Post", ja);
                MESback reply = WebApiHelper.ParseFromJson<MESback>(jobj.ToString());
                //WriteLog.GetLog("AgvStockChange").Write("AgvStockChange接口调用结束", "AgvStockChange");
                return reply;
            }
            catch (Exception ex)
            {
                //WriteLog.GetLog("AgvStockChange").Write("AgvStockChange接口调用异常:" + ex.Message, "AgvStockChange");
                throw new Exception(ex.Message);
            }
        }
        /// <summary>
        /// 上传AGV运行状态,调用MES
        /// </summary>
        /// <param name="AgvCode"></param>
        /// <param name="RunningTime"></param>
        /// <param name="RealtimeSpeed"></param>
        /// <param name="HandState"></param>
        /// <param name="AbnormalState"></param>
        /// <returns></returns>
        public static MESback UploadAgvStatus(string AgvCode, string RunningTime, string RealtimeSpeed, string HandState, string AbnormalState)
        {
            try
            {
                //WriteLog.GetLog("UploadAgvStatus").Write("UploadAgvStatus接口调用开始", "UploadAgvStatus");
                AgvStatusrequest req = new AgvStatusrequest();
                req.AgvCode = AgvCode;
                req.RunningTime = RunningTime;
                req.RealtimeSpeed = RealtimeSpeed;
                req.HandState = HandState;
                req.AbnormalState = AbnormalState;
                JArray ja = new JArray();
                ja.Add(WebApiHelper.GetJson(req));
                JObject jobj = WebApiHelper.SendInfoToWebAPI(AgvStatusIPAddresss, "", "Post", ja);
                MESback reply = WebApiHelper.ParseFromJson<MESback>(jobj.ToString());
                //WriteLog.GetLog("UploadAgvStatus").Write("UploadAgvStatus接口调用结束", "UploadAgvStatus");
                return reply;
            }
            catch (Exception ex)
            {
                //WriteLog.GetLog("UploadAgvStatus").Write("UploadAgvStatus接口调用异常:" + ex.Message, "UploadAgvStatus");
                throw new Exception(ex.Message);
            }
        }
    }
}