| | |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.DataProtection.KeyManagement; |
| | | using Microsoft.AspNetCore.Http; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; |
| | | using Quartz.Util; |
| | | using SqlSugar; |
| | | using System.ComponentModel; |
| | | using System.Reflection; |
| | | using WIDESEAWCS_Common; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseController; |
| | | using WIDESEAWCS_IBasicInfoService; |
| | | using WIDESEAWCS_Core.Enums; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_DTO.BasicInfo; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob.Models; |
| | | using WIDESEAWCS_QuartzJob.Repository; |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | |
| | | namespace WIDESEAWCS_Server.Controllers.BasicInfo |
| | | { |
| | | [Route("api/router")] |
| | | [Route("api/Router")] |
| | | [ApiController] |
| | | public class RouterController : ApiBaseController<IRouterService, Dt_Router> |
| | | { |
| | | public RouterController(IRouterService service) : base(service) |
| | | private readonly IDeviceInfoRepository _deviceInfoRepository; |
| | | private readonly IDeviceProtocolRepository _deviceProtocolRepository; |
| | | public RouterController(IRouterService service, IDeviceInfoRepository deviceInfoRepository, IDeviceProtocolRepository deviceProtocolRepository) : base(service) |
| | | { |
| | | _deviceInfoRepository = deviceInfoRepository; |
| | | _deviceProtocolRepository = deviceProtocolRepository; |
| | | } |
| | | |
| | | [HttpPost, Route("queryRoutes"), AllowAnonymous] |
| | | [HttpPost, Route("QueryRoutes"), AllowAnonymous] |
| | | public List<Dt_Router> QueryRoutes(string startPosi, string endPosi) |
| | | { |
| | | return Service.QueryNextRoutes(startPosi, endPosi); |
| | | } |
| | | |
| | | [HttpPost, Route("QueryAllPositions"), AllowAnonymous] |
| | | public List<string> QueryAllPositions(string deviceCode) |
| | | { |
| | | return Service.QueryAllPositions(deviceCode); |
| | | } |
| | | |
| | | [HttpPost, Route("GetAllWholeRouters"), AllowAnonymous] |
| | | public WebResponseContent GetAllWholeRouters() |
| | | { |
| | | WebResponseContent content = new(); |
| | | try |
| | | { |
| | | List<dynamic> dynamics = Service.GetAllWholeRouters(); |
| | | |
| | | content = WebResponseContent.Instance.OK(data: dynamics); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content = WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | return content; } |
| | | |
| | | [HttpPost, Route("GetBaseRouterInfo"), AllowAnonymous] |
| | | public WebResponseContent GetBaseRouterInfo() |
| | | { |
| | | try |
| | | { |
| | | #region 获取路由类型 |
| | | List<object> routerTypes = new List<object>(); |
| | | Type routerType = typeof(RouterInOutType); |
| | | List<int> routerIndexs = Enum.GetValues(typeof(RouterInOutType)).Cast<int>().ToList(); |
| | | int routerIndex = 0; |
| | | foreach (var item in routerIndexs) |
| | | { |
| | | FieldInfo? fieldInfo = routerType.GetField(((RouterInOutType)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); |
| | | if (description != null) |
| | | { |
| | | routerTypes.Add(new { key = item.ToString(), value = description.Description }); |
| | | } |
| | | else |
| | | { |
| | | routerTypes.Add(new { key = item.ToString(), value = item.ToString() }); |
| | | } |
| | | routerIndex++; |
| | | } |
| | | #endregion |
| | | |
| | | #region 获取设备编号 |
| | | object deviceCodes = _deviceProtocolRepository.QueryData(x => true).GroupBy(x => x.DeviceChildCode).Select(x => new { key = x.Key, value = x.Key }).ToList(); |
| | | |
| | | object areaInfos = Enum.GetNames(typeof(AreaInfo)).Select(x => new { key = x, value = x }).ToList(); |
| | | |
| | | |
| | | #endregion |
| | | |
| | | return WebResponseContent.Instance.OK(data: new { routerTypes, deviceCodes, areaInfos }); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | |
| | | } |
| | | |
| | | [HttpPost, Route("AddRouters"), AllowAnonymous] |
| | | public WebResponseContent AddRouters([FromBody] List<RoutersAddDTO> routersAddDTOs, int routerType) |
| | | { |
| | | return Service.AddRouters(routersAddDTOs, routerType); |
| | | } |
| | | } |
| | | } |