From 6513c35280f2283ff53b36bdc0c9d83aba475f8d Mon Sep 17 00:00:00 2001 From: Zhang-Hong-Lin <a3219986988@163.com> Date: 星期五, 07 三月 2025 19:54:24 +0800 Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhuZhouYouRuiKe/YangJiPingKu --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs | 83 ++++++++++++++++++++++++++++++++++------- 1 files changed, 69 insertions(+), 14 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs" index 43608d4..a1027df 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs" @@ -37,7 +37,7 @@ private readonly ITaskService _taskService; private readonly Idt_ErrormsginfoService _ErrormsginfoService; WebSocketServer _webSocketServer; - public OHTJob(ITaskService taskService, WebSocketServer webSocketServer,Idt_ErrormsginfoService errormsginfoService) + public OHTJob(ITaskService taskService, WebSocketServer webSocketServer, Idt_ErrormsginfoService errormsginfoService) { _taskService = taskService;//娉ㄥ叆 _webSocketServer = webSocketServer; @@ -45,7 +45,6 @@ } public Task Execute(IJobExecutionContext context) { - bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value); if (flag && value != null) { @@ -55,10 +54,10 @@ var ZXJdevice = Storage.Devices.Find(v => v.DeviceName == "闃虫瀬鏁村舰鏈�"); //瑙勬暣鏈篜LC瀵硅薄 var GZJevice = Storage.Devices.Find(v => v.DeviceName == "闃虫瀬瑙勬暣鏈�"); - if (!device.Communicator.IsConnected || !ZXJdevice.Communicator.IsConnected || !GZJevice.Communicator.IsConnected) - { - return Task.CompletedTask; - } + //if (!device.Communicator.IsConnected || !ZXJdevice.Communicator.IsConnected || !GZJevice.Communicator.IsConnected) + //{ + // return Task.CompletedTask; + //} try { #region 澶╄溅瀹屾垚浠诲姟閫昏緫 @@ -72,11 +71,13 @@ { throw new Exception(string.Format("澶╄溅鍙栬揣瀹屾垚浠诲姟鏈煡璇㈠埌浠诲姟鍙穥0}", oHTReadData.R_TaskNumber)); } + //鍏ュ簱 if (nawtask.TaskType == (int)TaskInboundTypeEnum.Inbound) { - //濡傛灉浠诲姟鐨勭姸鎬佹槸澶╄溅鍏ュ簱鍙栬揣鎵ц涓� + //濡傛灉浠诲姟鐨勭姸鎬佹槸鍚︽槸澶╄溅鍏ュ簱鍙栬揣鎵ц涓� if (nawtask.TaskState == (int)TaskInStatusEnum.Line_InGrabExecuting) { + //淇敼鐘舵�� WebResponseContent result = _taskService.UpdateTaskStatusToLine_Ingrab(nawtask); if (result.Status) { @@ -84,16 +85,28 @@ } } } + //鍑哄簱 else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.Outbound) { - //濡傛灉浠诲姟鐘舵�佹槸澶╄溅鍑哄簱鍙栬揣鎵ц涓� + //濡傛灉浠诲姟鐘舵�佹槸鍚︽槸澶╄溅鍑哄簱鍙栬揣鎵ц涓� if (nawtask.TaskState == (int)TaskOutStatusEnum.Line_OutGrabExecuting) { + //淇敼鐘舵�� WebResponseContent result = _taskService.UpdateTaskStatusToLine_Outgrab(nawtask); if (result.Status) { device.SetValue(DeviceDBName.W_ConfirmSignal, 3); } + } + } + //鐩存帴鍑哄簱 + else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.OutInventory) + { + //淇敼鐘舵�� + WebResponseContent result = _taskService.UpdateTaskStatusToLine_Outgrab(nawtask); + if (result.Status) + { + device.SetValue(DeviceDBName.W_ConfirmSignal, 3); } } return Task.CompletedTask; @@ -108,10 +121,20 @@ } return Task.CompletedTask; } + else if (oHTReadData.R_RunState == (int)RunStateEnum.MoveCompleted && oHTReadData.R_TaskState == (int)TaskStateEnum.TaskComplete) + { + //澶╄溅绉诲姩瀹屾垚 + WebResponseContent result = _taskService.StackCraneTaskCompleted(oHTReadData.R_TaskNumber, oHTReadData.weight); + if (result.Status) + { + device.SetValue(DeviceDBName.W_ConfirmSignal, 3); + } + return Task.CompletedTask; + } #endregion #region 澶╄溅鍙戦�佷换鍔¢�昏緫 - if (oHTReadData.R_RunMode == (int)RunModeEnum.Automatic && oHTReadData.R_AlarmCode == (int)AlarmCodeEnum.Normal) + if (oHTReadData.R_RunMode == (int)RunModeEnum.Automatic) { if (oHTReadData.R_RunState == (int)RunStateEnum.Standby) { @@ -121,6 +144,8 @@ OHTTaskCommand? oHTTaskCommand = ConvertToOHTTaskCommand(task); if (oHTTaskCommand != null) { + //缁欏ぉ杞︿笅鍙戜换鍔′箣鍓嶅皢姝ゅ�煎啓0 + device.SetValue(DeviceDBName.W_ConfirmSignal, 0); //todo锛氬啓鍏ヤ换鍔″懡浠� device.SetValue(DeviceDBName.W_Task_Type, oHTTaskCommand.W_Task_Type); device.SetValue(DeviceDBName.W_Pick_Line, oHTTaskCommand.W_Pick_Line); @@ -150,7 +175,7 @@ } catch (Exception ex) { - _ErrormsginfoService.UpdateErrorMsg(ex.Message,1); + _ErrormsginfoService.UpdateErrorMsg(ex.Message, 1); } } return Task.CompletedTask; @@ -167,7 +192,7 @@ { OHTTaskCommand oHtTaskCommand = new OHTTaskCommand(); - if (task.TaskState==(int)TaskInStatusEnum.InNew || task.TaskState == (int)TaskOutStatusEnum.OutNew) + if (task.TaskState == (int)TaskInStatusEnum.InNew || task.TaskState == (int)TaskOutStatusEnum.OutNew) { oHtTaskCommand.W_Task_Type = 2; string[] SourceCodes = task.SourceAddress.Split("-"); @@ -176,7 +201,7 @@ oHtTaskCommand.W_Pick_Line = Convert.ToInt16(SourceCodes[0]); oHtTaskCommand.W_Pick_Column = Convert.ToInt16(SourceCodes[1]); oHtTaskCommand.W_Put_Line = 0; - oHtTaskCommand.W_Put_Column = 0; + oHtTaskCommand.W_Put_Column = 0; } else { @@ -184,7 +209,7 @@ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"浠诲姟婧愬湴鍧�閰嶇疆閿欒锛�"); return null; } - oHtTaskCommand.W_CheckValue = task.TaskType + Convert.ToInt16(SourceCodes[0]) + Convert.ToInt16(SourceCodes[1]); + oHtTaskCommand.W_CheckValue = 2 + Convert.ToInt16(SourceCodes[0]) + Convert.ToInt16(SourceCodes[1]); } else if (task.TaskState == (int)TaskInStatusEnum.Line_Ingrab || task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting) { @@ -203,7 +228,26 @@ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"浠诲姟婧愬湴鍧�閰嶇疆閿欒锛�"); return null; } - oHtTaskCommand.W_CheckValue = task.TaskType + Convert.ToInt16(SourceCodes[0]) + Convert.ToInt16(SourceCodes[1]); + oHtTaskCommand.W_CheckValue = 3 + Convert.ToInt16(SourceCodes[0]) + Convert.ToInt16(SourceCodes[1]); + } + else if(task.TaskState == (int)TaskMoveStatusEnum.OutNewMove ) + { + oHtTaskCommand.W_Task_Type = 4; + string[] SourceCodes = task.TargetAddress.Split("-"); + if (SourceCodes.Length == 3) + { + oHtTaskCommand.W_Pick_Line = 0; + oHtTaskCommand.W_Pick_Column = 0; + oHtTaskCommand.W_Put_Line = Convert.ToInt16(SourceCodes[0]); + oHtTaskCommand.W_Put_Column = Convert.ToInt16(SourceCodes[1]); + } + else + { + //鏁版嵁閰嶇疆閿欒 + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"浠诲姟婧愬湴鍧�閰嶇疆閿欒锛�"); + return null; + } + oHtTaskCommand.W_CheckValue = 4 + Convert.ToInt16(SourceCodes[0]) + Convert.ToInt16(SourceCodes[1]); } if (task.WMSId==1) @@ -249,6 +293,17 @@ InorOut = "In"; } } + else + { + if (workType.Equals("In")) + { + InorOut = "Out"; + } + else + { + InorOut = "In"; + } + } return task; } } -- Gitblit v1.9.3