| | |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using RYB_PTL_API; |
| | | using System.Security.Policy; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using WIDESEAWCS_DTO; |
| | | using WIDESEAWCS_DTO.TaskInfo; |
| | | using WIDESEAWCS_IBasicInfoRepository; |
| | | using WIDESEAWCS_ITaskInfoRepository; |
| | | using WIDESEAWCS_ITaskInfoService; |
| | | using WIDESEAWCS_QuartzJob.Repository; |
| | | |
| | | namespace WIDESEAWCS_Server.Controllers |
| | | { |
| | |
| | | public class PTLAPIController : ControllerBase |
| | | { |
| | | private readonly ITaskService _taskService; |
| | | //private bool _eventSubscribed = false; |
| | | private bool _eventSubscribed = false; |
| | | |
| | | public PTLAPIController(ITaskService taskService) |
| | | { |
| | | _taskService = taskService; |
| | | //SubscribeEvent(); |
| | | SubscribeEvent(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 订é
PTLäºä»¶ |
| | | /// </summary> |
| | | //private void SubscribeEvent() |
| | | //{ |
| | | // if (!_eventSubscribed) |
| | | // { |
| | | // RYB_PTL.UserResultAvailable += RYB_PTL_UserResultAvailable; |
| | | // _eventSubscribed = true; |
| | | // } |
| | | //} |
| | | private void SubscribeEvent() |
| | | { |
| | | if (!_eventSubscribed) |
| | | { |
| | | RYB_PTL.UserResultAvailable += new RYB_PTL.UserResultAvailableEventHandler(RYB_PTL_UserResultAvailable); |
| | | _eventSubscribed = true; |
| | | } |
| | | } |
| | | |
| | | ///// <summary> |
| | | ///// åæ¶è®¢é
PTLäºä»¶ |
| | | ///// </summary> |
| | | //private void UnsubscribeEvent() |
| | | //{ |
| | | // if (_eventSubscribed) |
| | | // { |
| | | // RYB_PTL.UserResultAvailable -= RYB_PTL_UserResultAvailable; |
| | | // _eventSubscribed = false; |
| | | // } |
| | | //} |
| | | /// <summary> |
| | | /// åæ¶è®¢é
PTLäºä»¶ |
| | | /// </summary> |
| | | private void UnsubscribeEvent() |
| | | { |
| | | if (_eventSubscribed) |
| | | { |
| | | RYB_PTL.UserResultAvailable -= new RYB_PTL.UserResultAvailableEventHandler(RYB_PTL_UserResultAvailable); |
| | | _eventSubscribed = false; |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// PTLåè°äºä»¶å¤çï¼åªå¤çææäºä»¶ï¼ |
| | | /// </summary> |
| | | private void RYB_PTL_UserResultAvailable(RYB_PTL.RtnValueStruct rs) |
| | | { |
| | | try |
| | | { |
| | | if (rs.KeyCode == null) |
| | | { |
| | | return; |
| | | } |
| | | // æå»ºåè°æ°æ® |
| | | var pTLCallBackDTO = new PTLCallBackDTO |
| | | { |
| | | sIp = rs.Ip, |
| | | sTagID = rs.Tagid, |
| | | sValue = rs.Number, |
| | | sKeyCode = rs.KeyCode, |
| | | sLocator = rs.Locator |
| | | }; |
| | | |
| | | ///// <summary> |
| | | ///// PTLåè°äºä»¶å¤ç |
| | | ///// </summary> |
| | | //private void RYB_PTL_UserResultAvailable(RYB_PTL.RtnValueStruct rs) |
| | | //{ |
| | | // try |
| | | // { |
| | | // var content = new EPLightContent(); |
| | | // var pTLCallBackDTO = new PTLCallBackDTO |
| | | // { |
| | | // sIp = rs.Ip, |
| | | // sTagID = rs.Tagid, |
| | | // sValue = rs.Number, |
| | | // sKeyCode = rs.KeyCode, |
| | | // sLocator = rs.Locator |
| | | // }; |
| | | // æ ¹æ®ä¸å¡éè¦æå»ºä»»å¡ä¿¡æ¯ |
| | | var taskBackLight = new TaskBackLight() |
| | | { |
| | | TagNo = "B1", |
| | | TagCode = pTLCallBackDTO.sLocator, |
| | | }; |
| | | |
| | | // var taskBackLight = new TaskBackLight() |
| | | // { |
| | | // TagNo = "B1", |
| | | // TagCode = pTLCallBackDTO.sLocator, |
| | | // }; |
| | | // // è°ç¨æå¡å¤ç |
| | | // _taskService.WMSLightBack(new List<TaskBackLight> { taskBackLight }); |
| | | // } |
| | | // catch (Exception ex) |
| | | // { |
| | | // // è®°å½æ¥å¿æå¤çå¼å¸¸ |
| | | // Console.WriteLine($"å¤çPTLåè°æ¶åºé: {ex.Message}"); |
| | | // } |
| | | //} |
| | | |
| | | // è°ç¨æå¡å¤çææäºä»¶ |
| | | _taskService.WMSLightBack(new List<TaskBackLight> { taskBackLight }); |
| | | UnsubscribeEvent(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | // è®°å½æ¥å¿æå¤çå¼å¸¸ |
| | | Console.WriteLine($"å¤çPTLææåè°æ¶åºé: {ex.Message}"); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// æç§å¢ä¸å(䏿) |
| | | /// </summary> |
| | |
| | | request.iNum, |
| | | request.iMode, |
| | | request.iColorIndex); |
| | | |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// åè°ä¸ä¼ |
| | | /// </summary> |
| | |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æç§å¢åå§å(䏿) |
| | | /// </summary> |
| | |
| | | EPLightContent content = new EPLightContent(); |
| | | try |
| | | { |
| | | bool isConnected; |
| | | //RYB_PTL.UserResultAvailable += new RYB_PTL.UserResultAvailableEventHandler(RYB_PTL_UserResultAvailable); |
| | | |
| | | if (request.iTimeOut.HasValue) |
| | | { |
| | | isConnected = RYB_PTL.RYB_PTL_Connect(request.sIp, request.iPort, request.iTimeOut.Value); |
| | | } |
| | | else |
| | | { |
| | | isConnected = RYB_PTL.RYB_PTL_Connect(request.sIp, request.iPort); |
| | | } |
| | | |
| | | bool isCfg = RYB_PTL.RYB_PTL_InitialConfiguration(new string[,] { { "11.2.30.252", "0001-0016" },{ "11.2.30.252", "1-16" } }); |
| | | bool isConnected = RYB_PTL.RYB_PTL_Connect(request.sIp, request.iPort); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æç§å¢ç»æä½ä¸(䏿) |
| | | /// </summary> |
| | |
| | | } |
| | | return content; |
| | | } |
| | | ///// <summary> |
| | | ///// èµæºéæ¾ |
| | | ///// </summary> |
| | | //public void Dispose() |
| | | //{ |
| | | // UnsubscribeEvent(); |
| | | //} |
| | | } |
| | | |
| | | /// <summary> |
| | | /// èµæºéæ¾ï¼æ è®°ä¸ºä¸æ´é²ç»Swaggerï¼ |
| | | /// </summary> |
| | | [ApiExplorerSettings(IgnoreApi = true)] |
| | | public void Dispose() |
| | | { |
| | | UnsubscribeEvent(); |
| | | } |
| | | } |
| | | } |