123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- using Mapster;
- using Microsoft.AspNetCore.Mvc;
- using Newtonsoft.Json;
- using RestSharp;
- using WMS.BZModels;
- using WMS.BZModels.Dto.PT.PTQuestDB;
- using WMS.Info;
- namespace WMS.BZWeb.Areas.PTManager.Controllers
- {
- [Area("PTManager")]
- public class DeviceEffectivesController : MvcControllerBase
- {
- private readonly Dictionary<string, string> DeviceEffectiveUrls;
- private readonly IHttpClientFactory _httpClientFactory;
- private readonly string _WebUrl = "PTUrls";
- public DeviceEffectivesController(Dictionary<string, string> deviceEffectiveUrls, IHttpClientFactory httpClientFactory)
- {
- DeviceEffectiveUrls = deviceEffectiveUrls;
- _httpClientFactory = httpClientFactory;
- }
- #region 视图功能
- public IActionResult Index()
- {
- return View();
- }
- public async Task<IActionResult> IndexList()
- {
- DeviceEffectiveUrls.TryGetValue(_WebUrl, out var url);
- ViewBag.BeginTime = DateTime.Now.AddDays(-1).Date;
- ViewBag.EndTime = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + " 23:59:59";
- ViewBag.WebApiUrl = url;
- return View();
- }
- #endregion
- public async Task<ActionResult> GetSRMPageList(string pagination, string queryJson)
- {
- Pagination paginationobj = InitPagination(pagination);
- var query = new PTDevRunInfoQueryDto();
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<PTDevRunInfoQueryDto>(queryJson);
- }
- var dto = paginationobj.Adapt<DeviceEffectiveQueryDto>();
- dto.type = (int)DevType.SRM;
- dto.stateTime = query.BeginTime.GetValueOrDefault(DateTime.Now.AddDays(-1));
- dto.endTime = query.EndTime.GetValueOrDefault(DateTime.Now);
- var ret = await GetRestSharpDevRunInfoDataAsync(JsonConvert.SerializeObject(dto), "/api/Wcs/GetDevRunInfo");
- var lists = ret != null ? JsonConvert.DeserializeObject<PagedInfo<RunInfo>>(ret) : null;
- var jsonData = new
- {
- rows = lists != null && lists.Result.Any() ? lists.Result : new List<RunInfo>(),
- total = lists != null && lists.Result.Any() ? lists.TotalPage : 0,
- page = lists != null && lists.Result.Any() ? lists.PageIndex : 1,
- records = lists != null && lists.Result.Any() ? lists.TotalNum : 0
- };
- return Success(jsonData);
- }
- public async Task<ActionResult> GetRobotPageList(string pagination, string queryJson)
- {
- Pagination paginationobj = InitPagination(pagination);
- var query = new PTDevRunInfoQueryDto();
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<PTDevRunInfoQueryDto>(queryJson);
- }
- var dto = paginationobj.Adapt<DeviceEffectiveQueryDto>();
- dto.type = (int)DevType.Robot;
- dto.stateTime = query.BeginTime.GetValueOrDefault(DateTime.Now.AddDays(-1));
- dto.endTime = query.EndTime.GetValueOrDefault(DateTime.Now);
- //var ret = Task.Run(async () =>
- //{
- // return await GetRestSharpDevRunInfoDataAsync(JsonConvert.SerializeObject(dto), "/api/Wcs/GetDevRunInfo");
- //}).ConfigureAwait(false).GetAwaiter().GetResult();
- var ret = await GetRestSharpDevRunInfoDataAsync(JsonConvert.SerializeObject(dto), "/api/Wcs/GetDevRunInfo");
- var lists = ret != null ? JsonConvert.DeserializeObject<PagedInfo<RunInfo>>(ret) : null;
- var jsonData = new
- {
- rows = lists != null && lists.Result.Any() ? lists.Result : new List<RunInfo>(),
- total = lists != null && lists.Result.Any() ? lists.TotalPage : 0,
- page = lists != null && lists.Result.Any() ? lists.PageIndex : 1,
- records = lists != null && lists.Result.Any() ? lists.TotalNum : 0
- };
- return Success(jsonData);
- }
- public async Task<ActionResult> GetRgvPageList(string pagination, string queryJson)
- {
- Pagination paginationobj = InitPagination(pagination);
- var query = new PTDevRunInfoQueryDto();
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<PTDevRunInfoQueryDto>(queryJson);
- }
- var dto = paginationobj.Adapt<DeviceEffectiveQueryDto>();
- dto.type = (int)DevType.RGV;
- dto.stateTime = query.BeginTime.GetValueOrDefault(DateTime.Now.AddDays(-1));
- dto.endTime = query.EndTime.GetValueOrDefault(DateTime.Now);
- //var ret = Task.Run(async () =>
- //{
- // return await GetRestSharpDevRunInfoDataAsync(JsonConvert.SerializeObject(dto), "/api/Wcs/GetDevRunInfo");
- //}).ConfigureAwait(false).GetAwaiter().GetResult();
- var ret = await GetRestSharpDevRunInfoDataAsync(JsonConvert.SerializeObject(dto), "/api/Wcs/GetDevRunInfo");
- var lists = ret != null ? JsonConvert.DeserializeObject<PagedInfo<RunInfo>>(ret) : null;
- var jsonData = new
- {
- rows = lists != null && lists.Result.Any() ? lists.Result : new List<RunInfo>(),
- total = lists != null && lists.Result.Any() ? lists.TotalPage : 0,
- page = lists != null && lists.Result.Any() ? lists.PageIndex : 1,
- records = lists != null && lists.Result.Any() ? lists.TotalNum : 0
- };
- return Success(jsonData);
- }
- public async Task<ActionResult> GetHJPageList(string pagination, string queryJson)
- {
- Pagination paginationobj = InitPagination(pagination);
- var query = new PTDevRunInfoQueryDto();
- if (!string.IsNullOrEmpty(queryJson))
- {
- query = JsonConvert.DeserializeObject<PTDevRunInfoQueryDto>(queryJson);
- }
- var dto = paginationobj.Adapt<DeviceEffectiveQueryDto>();
- dto.type = (int)DevType.Truss;
- dto.stateTime = query.BeginTime.GetValueOrDefault(DateTime.Now.AddDays(-1));
- dto.endTime = query.EndTime.GetValueOrDefault(DateTime.Now);
- //var ret = Task.Run(async () =>
- //{
- // return await GetDevRunInfoDataAsync(JsonConvert.SerializeObject(dto), "/api/Wcs/GetDevRunInfo");
- //}).ConfigureAwait(false).GetAwaiter().GetResult();
- var ret = await GetRestSharpDevRunInfoDataAsync(JsonConvert.SerializeObject(dto), "/api/Wcs/GetDevRunInfo");
- var lists = ret != null ? JsonConvert.DeserializeObject<PagedInfo<RunInfo>>(ret) : null;
- var jsonData = new
- {
- rows = lists != null && lists.Result.Any() ? lists.Result : new List<RunInfo>(),
- total = lists != null && lists.Result.Any() ? lists.TotalPage : 0,
- page = lists != null && lists.Result.Any() ? lists.PageIndex : 1,
- records = lists != null && lists.Result.Any() ? lists.TotalNum : 0
- };
- return Success(jsonData);
- }
- public async Task<string> GetDevRunInfoDataAsync(string query, string uri)
- {
- DeviceEffectiveUrls.TryGetValue(_WebUrl, out var url);
- //string uri = url + "/api/Wcs/GetDevRunInfo";
- var httpClient = _httpClientFactory.CreateClient(_WebUrl);
- var request = new HttpRequestMessage(HttpMethod.Get, url + uri);
- var content = new StringContent(query, null, "application/json");
- request.Content = content;
- var response = await httpClient.SendAsync(request);
- response.EnsureSuccessStatusCode();
- var result = await response.Content.ReadAsStringAsync();
- return result;
- }
- public async Task<string> GetRestSharpDevRunInfoDataAsync(string query, string uri)
- {
- DeviceEffectiveUrls.TryGetValue(_WebUrl, out var url);
- var options = new RestClientOptions(url)
- {
- MaxTimeout = -1,
- };
- var client = new RestClient(options);
- var request = new RestRequest(uri, Method.Get);
- request.AddHeader("Content-Type", "application/json");
- var body = query;
- request.AddStringBody(body, DataFormat.Json);
- RestResponse response = await client.ExecuteAsync(request);
- return response.Content;
- }
- }
- }
|