| | |
| | | { |
| | | string isTrue = string.Empty; |
| | | |
| | | ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); |
| | | |
| | | ResultTrayCellsStatus result = GetResultTrayCellsStatus(command, stationManager); |
| | | |
| | | if (result.SerialNos.Count == 0) |
| | | { |
| | | var Traycontent = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode); |
| | | if (Traycontent.Status) |
| | | { |
| | | ConsoleHelper.WriteSuccessLine("请æ±åæµéç½®"); |
| | | ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); |
| | | } |
| | | } |
| | | |
| | | List<string> strings = stationManager.Roadway.Split(",").ToList(); |
| | | foreach (string item in strings) |
| | |
| | | } |
| | | } |
| | | } |
| | | public void ExecuteConveyorLineTask(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, int ProtocalDetailValue ,string childDeviceCode) |
| | | |
| | | //public void ExecuteConveyorLineTask(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, int ProtocalDetailValue ,string childDeviceCode) |
| | | //{ |
| | | // var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode); |
| | | // if (task != null) |
| | | // { |
| | | // var value = _sys_ConfigService.GetByConfigKey(CateGoryConst.CONFIG_SYS_InStation, SysConfigKeyConst.JZNGInBoundStation).ConfigValue; |
| | | // var valueList = value.Split(',').ToList(); |
| | | // if (valueList.Contains(task.SourceAddress)) |
| | | // { |
| | | // conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTargetAddress, "1000", childDeviceCode); |
| | | |
| | | // var log = $"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{task.TaskNum}ã,æçæ¡ç ï¼ã{task.PalletCode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº(å®ç),ä¸ä¸ç®æ å°åã{1000}ã"; |
| | | // ConsoleHelper.WriteWarningLine(log); |
| | | |
| | | // _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | // WriteInfo(conveyorLine.DeviceName, log); |
| | | |
| | | // ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | // } |
| | | // else if (task.TargetAddress == "1020-1") |
| | | // { |
| | | // var next = task.NextAddress; |
| | | // var taskCommand = MapTaskCommand(task, command); |
| | | // task.NextAddress = next; |
| | | |
| | | // var log = $"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº(å®ç),ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã"; |
| | | // ConsoleHelper.WriteWarningLine(log); |
| | | |
| | | // _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | // WriteInfo(conveyorLine.DeviceName, log); |
| | | |
| | | // conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | // ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | |
| | | // var taskHty = task.Adapt<Dt_Task_Hty>(); |
| | | // _task_HtyRepository.AddData(taskHty); |
| | | // _taskService.DeleteData(task); |
| | | // } |
| | | // else |
| | | // { |
| | | // var next = task.NextAddress; |
| | | // var taskCommand = MapTaskCommand(task, command); |
| | | // task.NextAddress = next; |
| | | |
| | | // var log = $"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº(å®ç),ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã"; |
| | | // ConsoleHelper.WriteWarningLine(log); |
| | | |
| | | // _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | // WriteInfo(conveyorLine.DeviceName, log); |
| | | |
| | | // conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | // ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | // _taskService.UpdateTaskStatusToNext(task); |
| | | // } |
| | | // } |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// æ§è¡è¾éçº¿ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="conveyorLine">è¾é线对象</param> |
| | | /// <param name="command">è¾é线任å¡å½ä»¤</param> |
| | | /// <param name="ProtocalDetailValue">åè®®æç»å¼</param> |
| | | /// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | public void ExecuteConveyorLineTask(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, int ProtocalDetailValue, string childDeviceCode) |
| | | { |
| | | // æ¥è¯¢ä»»å¡ä¿¡æ¯ |
| | | var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode); |
| | | if (task != null) |
| | | |
| | | if (task == null) return; |
| | | |
| | | // è·åé
ç½®å¼å¹¶è½¬æ¢ä¸ºå表 |
| | | var value = _sys_ConfigService.GetByConfigKey(CateGoryConst.CONFIG_SYS_InStation, SysConfigKeyConst.JZNGInBoundStation).ConfigValue; |
| | | var valueList = value.Split(',').ToList(); |
| | | |
| | | // æ¥å¿æ¨¡æ¿ |
| | | var logMessage = $"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{task.TaskNum}ã,æçæ¡ç ï¼ã{task.PalletCode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº(å®ç),ä¸ä¸ç®æ å°åã{{0}}ã"; |
| | | |
| | | // 夿任å¡çèµ·å§å°åæ¯å¦å¨é
ç½®åè¡¨ä¸ |
| | | if (valueList.Contains(task.SourceAddress)) |
| | | { |
| | | var value = _sys_ConfigService.GetByConfigKey(CateGoryConst.CONFIG_SYS_InStation, SysConfigKeyConst.JZNGInBoundStation).ConfigValue; |
| | | var valueList = value.Split(',').ToList(); |
| | | if (valueList.Contains(task.SourceAddress)) |
| | | // è®¾ç½®ç®æ å°å为 "1000" |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTargetAddress, "1000", childDeviceCode); |
| | | |
| | | // è®°å½æ¥å¿å¹¶åéå®æä¿¡å· |
| | | LogAndSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, logMessage, "1000"); |
| | | } |
| | | else if (task.Roadway.Contains("JZ")) |
| | | { |
| | | // æ¥è¯¢æ¯å¦åå¨éç½®åºåºä»»å¡ |
| | | var outJZTask = _taskRepository.QueryData(x => x.Roadway == task.Roadway && |
| | | (x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting || |
| | | x.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting || |
| | | x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)); |
| | | |
| | | if (outJZTask.IsNullOrEmpty()) |
| | | { |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTargetAddress, "1000", childDeviceCode); |
| | | |
| | | var log = $"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{task.TaskNum}ã,æçæ¡ç ï¼ã{task.PalletCode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº(å®çor空ç),ä¸ä¸ç®æ å°åã{1000}ã"; |
| | | ConsoleHelper.WriteWarningLine(log); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, log); |
| | | |
| | | ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | } |
| | | else if (task.TargetAddress == "1020-1") |
| | | { |
| | | var next = task.NextAddress; |
| | | // æ å°ä»»å¡å½ä»¤ |
| | | var taskCommand = MapTaskCommand(task, command); |
| | | task.NextAddress = next; |
| | | |
| | | var log = $"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº(å®ç),ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã"; |
| | | ConsoleHelper.WriteWarningLine(log); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, log); |
| | | |
| | | // åéä»»å¡å½ä»¤ |
| | | conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | |
| | | var taskHty = task.Adapt<Dt_Task_Hty>(); |
| | | _task_HtyRepository.AddData(taskHty); |
| | | _taskService.DeleteData(task); |
| | | // è®°å½æ¥å¿å¹¶åéå®æä¿¡å· |
| | | LogAndSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, logMessage, taskCommand.TargetAddress.ToString()); |
| | | |
| | | // æ´æ°ä»»å¡ç¶æ |
| | | _taskService.UpdateTaskStatusToNext(task); |
| | | } |
| | | else |
| | | { |
| | | var next = task.NextAddress; |
| | | var taskCommand = MapTaskCommand(task, command); |
| | | task.NextAddress = next; |
| | | |
| | | var log = $"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº(å®ç),ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã"; |
| | | ConsoleHelper.WriteWarningLine(log); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, log); |
| | | |
| | | conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | _taskService.UpdateTaskStatusToNext(task); |
| | | ConsoleHelper.WriteWarningLine("å·²åå¨éç½®åºåºä»»å¡,éç½®å
¥åºä»»å¡æ æ³ä¸åè³çº¿ä½"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | // æ å°ä»»å¡å½ä»¤ |
| | | var taskCommand = MapTaskCommand(task, command); |
| | | |
| | | // åéä»»å¡å½ä»¤ |
| | | conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | |
| | | // è®°å½æ¥å¿å¹¶åéå®æä¿¡å· |
| | | LogAndSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, logMessage, taskCommand.TargetAddress.ToString()); |
| | | |
| | | // æ´æ°ä»»å¡ç¶æ |
| | | _taskService.UpdateTaskStatusToNext(task); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è®°å½æ¥å¿å¹¶åéå®æä¿¡å· |
| | | /// </summary> |
| | | /// <param name="conveyorLine">è¾é线对象</param> |
| | | /// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | /// <param name="ProtocalDetailValue">åè®®æç»å¼</param> |
| | | /// <param name="logMessage">æ¥å¿æ¶æ¯æ¨¡æ¿</param> |
| | | /// <param name="targetAddress">ç®æ å°å</param> |
| | | private void LogAndSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, string logMessage, string targetAddress) |
| | | { |
| | | // æ ¼å¼åæ¥å¿æ¶æ¯ |
| | | var log = string.Format(logMessage, targetAddress); |
| | | // è¾åºè¦åæ¥å¿ |
| | | ConsoleHelper.WriteWarningLine(log); |
| | | // è®°å½æ¥å¿ |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, log); |
| | | // åéå®æä¿¡å· |
| | | ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | } |
| | | |
| | | } |
| | | } |