240 lines
6.0 KiB
C#
240 lines
6.0 KiB
C#
using System;
|
||
using System.Threading;
|
||
using Newtonsoft.Json;
|
||
|
||
namespace HxBusiness
|
||
{
|
||
// Token: 0x02000005 RID: 5
|
||
public class BusinessManage
|
||
{
|
||
// Token: 0x17000001 RID: 1
|
||
// (get) Token: 0x0600000F RID: 15 RVA: 0x000028B4 File Offset: 0x00000AB4
|
||
private ConnectedManager webClient
|
||
{
|
||
get
|
||
{
|
||
bool flag = this._webClient != null;
|
||
ConnectedManager webClient;
|
||
if (flag)
|
||
{
|
||
webClient = this._webClient;
|
||
}
|
||
else
|
||
{
|
||
this._webClient = new ConnectedManager();
|
||
webClient = this._webClient;
|
||
}
|
||
return webClient;
|
||
}
|
||
}
|
||
|
||
// Token: 0x17000002 RID: 2
|
||
// (get) Token: 0x06000010 RID: 16 RVA: 0x000028F0 File Offset: 0x00000AF0
|
||
// (set) Token: 0x06000011 RID: 17 RVA: 0x0000294E File Offset: 0x00000B4E
|
||
public ApiModel apiModel
|
||
{
|
||
get
|
||
{
|
||
bool flag = this._apiModel != null;
|
||
ApiModel apiModel;
|
||
if (flag)
|
||
{
|
||
apiModel = this._apiModel;
|
||
}
|
||
else
|
||
{
|
||
this._apiModel = new ApiModel
|
||
{
|
||
requestUrl = "http://192.168.128.1:8080",
|
||
leaveUrl = "http://192.168.128.1:8080",
|
||
sendUrl = "http://192.168.128.1:8080"
|
||
};
|
||
apiModel = this._apiModel;
|
||
}
|
||
return apiModel;
|
||
}
|
||
set
|
||
{
|
||
this._apiModel = value;
|
||
}
|
||
}
|
||
|
||
// Token: 0x06000012 RID: 18 RVA: 0x00002958 File Offset: 0x00000B58
|
||
public BusinessManage()
|
||
{
|
||
try
|
||
{
|
||
string value = new ConfigBiz().ReadDb<ApiModel>();
|
||
bool flag = string.IsNullOrEmpty(value);
|
||
if (flag)
|
||
{
|
||
throw new Exception("请配置url");
|
||
}
|
||
this.apiModel = JsonConvert.DeserializeObject<ApiModel>(value);
|
||
WriteTxt.SaveLog1("启动api!", "插件日志", "插件日志");
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WriteTxt.SaveLog1("初始化失败!" + ex.ToString(), "异常日志", "插件日志");
|
||
}
|
||
}
|
||
|
||
// Token: 0x06000013 RID: 19 RVA: 0x000029E8 File Offset: 0x00000BE8
|
||
public void Request(string agvid, string rfid, AgvState state)
|
||
{
|
||
bool flag = state == null || !state.agvid.ToString().Equals(agvid);
|
||
if (!flag)
|
||
{
|
||
bool flag2 = state.state == E_State.开始;
|
||
if (flag2)
|
||
{
|
||
int requestCount = 0;
|
||
bool result = false;
|
||
ThreadPool.QueueUserWorkItem(delegate(object o)
|
||
{
|
||
while (!result)
|
||
{
|
||
int requestCount;
|
||
bool flag3 = requestCount % 2 == 0;
|
||
if (flag3)
|
||
{
|
||
result = this.RequestLeaved(agvid, rfid);
|
||
requestCount = requestCount;
|
||
requestCount++;
|
||
}
|
||
Thread.Sleep(1000);
|
||
}
|
||
});
|
||
}
|
||
}
|
||
}
|
||
|
||
// Token: 0x06000014 RID: 20 RVA: 0x00002A7C File Offset: 0x00000C7C
|
||
public bool RequestLeaved(string agvid, string rfid)
|
||
{
|
||
bool result;
|
||
try
|
||
{
|
||
bool flag = this.apiModel == null;
|
||
if (flag)
|
||
{
|
||
WriteTxt.SaveLog1("路口请求时配置为空!", "异常日志", "插件日志");
|
||
result = false;
|
||
}
|
||
else
|
||
{
|
||
bool flag2 = string.IsNullOrEmpty(agvid) || string.IsNullOrEmpty(rfid);
|
||
if (flag2)
|
||
{
|
||
WriteTxt.SaveLog1("路口请求时请求参数为空!", "异常日志", "插件日志");
|
||
result = false;
|
||
}
|
||
else
|
||
{
|
||
RequestModel value = new RequestModel
|
||
{
|
||
equipmentCode = agvid,
|
||
requestCode = "AGV" + agvid + "-" + rfid,
|
||
arriveTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
||
taskPriority = 100,
|
||
taskDeadLine = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
||
allowedQueueUp = false,
|
||
interchangePointCode = rfid
|
||
};
|
||
string text = JsonConvert.SerializeObject(value);
|
||
string text2 = this.webClient.PostForUrl(this.apiModel.requestUrl, text);
|
||
WriteTxt.SaveLog1(string.Format("路口请求url:{0},请求数据:{1},获取回复:{2}!", this.apiModel.requestUrl, text, text2), "插件日志", "插件日志");
|
||
ResponseModel responseModel = JsonConvert.DeserializeObject<ResponseModel>(text2);
|
||
bool flag3 = responseModel.code == 0;
|
||
if (flag3)
|
||
{
|
||
result = true;
|
||
}
|
||
else
|
||
{
|
||
result = false;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WriteTxt.SaveLog1("路口请求离开异常!" + ex.ToString(), "异常日志", "插件日志");
|
||
result = false;
|
||
}
|
||
return result;
|
||
}
|
||
|
||
// Token: 0x06000015 RID: 21 RVA: 0x00002C10 File Offset: 0x00000E10
|
||
public bool ByLeaved(string agvid, string rfid, string Cross_Location_Go)
|
||
{
|
||
bool result;
|
||
try
|
||
{
|
||
bool flag = this.apiModel == null;
|
||
if (flag)
|
||
{
|
||
WriteTxt.SaveLog1("离开时请求时配置为空!", "异常日志", "插件日志");
|
||
result = false;
|
||
}
|
||
else
|
||
{
|
||
bool flag2 = string.IsNullOrEmpty(agvid);
|
||
if (flag2)
|
||
{
|
||
WriteTxt.SaveLog1("离开时请求时请求参数为空!", "异常日志", "插件日志");
|
||
result = false;
|
||
}
|
||
else
|
||
{
|
||
RequestLeavedModel value = new RequestLeavedModel
|
||
{
|
||
adapterCode = "HUAXIAO",
|
||
equipmentCode = agvid,
|
||
requestCode = "AGV" + agvid + "-" + Cross_Location_Go,
|
||
leaveTime = DateTime.Now.ToString("yyyyMMddHHmmssfff")
|
||
};
|
||
string text = JsonConvert.SerializeObject(value);
|
||
string text2 = this.webClient.PostForUrl(this.apiModel.leaveUrl, text);
|
||
WriteTxt.SaveLog1(string.Format("离开请求url:{0},请求数据:{1},获取回复:{2}!", this.apiModel.requestUrl, text, text2), "插件日志", "插件日志");
|
||
ResponseModel responseModel = JsonConvert.DeserializeObject<ResponseModel>(text2);
|
||
bool flag3 = responseModel.code == 0;
|
||
if (flag3)
|
||
{
|
||
result = true;
|
||
}
|
||
else
|
||
{
|
||
result = false;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
WriteTxt.SaveLog1("离开时请求离开异常!" + ex.ToString(), "异常日志", "插件日志");
|
||
result = false;
|
||
}
|
||
return result;
|
||
}
|
||
|
||
// Token: 0x06000016 RID: 22 RVA: 0x00002D70 File Offset: 0x00000F70
|
||
public bool GetStart()
|
||
{
|
||
return true;
|
||
}
|
||
|
||
// Token: 0x06000017 RID: 23 RVA: 0x00002D84 File Offset: 0x00000F84
|
||
public bool GetStop()
|
||
{
|
||
return true;
|
||
}
|
||
|
||
// Token: 0x04000006 RID: 6
|
||
private ConnectedManager _webClient;
|
||
|
||
// Token: 0x04000007 RID: 7
|
||
private ApiModel _apiModel;
|
||
}
|
||
}
|