From 7f42a3ef9bc83bdc199317d12c1905d8696dac4f Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期三, 20 八月 2025 17:23:05 +0800 Subject: [PATCH] 代码提交 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 4 项目代码/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin | 0 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs | 38 +++++ 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs | 284 +++++++++++++++++++++++++++++++++++----------- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user | 2 项目代码/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin | 0 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskStatusEnum.cs | 2 7 files changed, 252 insertions(+), 78 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin" index 7c29816..702d515 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin" Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin" index 555e5d2..7dd2144 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin" Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskStatusEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskStatusEnum.cs" index 9c5febd..bc80573 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskStatusEnum.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskStatusEnum.cs" @@ -187,7 +187,7 @@ RGV_OutFinish = 140, /// <summary> - /// 鍏ュ簱涓浆 + /// 鍑哄簱涓浆 /// </summary> [Description("鍑哄簱涓浆")] RGV_TransFer = 145, diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs" index 7b047c0..fe706e0 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs" @@ -20,6 +20,7 @@ using Newtonsoft.Json; using SixLabors.ImageSharp.ColorSpaces; using System; +using System.Collections; using System.Collections.Generic; using System.Linq; using System.Security.Claims; @@ -231,7 +232,14 @@ { CommonStackerCrane commonStackerCrane = (CommonStackerCrane)device; - commonStackerCrane.SetValue(StackerCraneDBName.WorkType, Convert.ToSByte(2)); + //commonStackerCrane.SetValue(StackerCraneDBName.WorkType, Convert.ToSByte(2)); + DeviceProDTO? devicePro = commonStackerCrane.DeviceProDTOs.Where(x => x.DeviceChildCode == commonStackerCrane.DeviceCode && x.DeviceProParamName == "WorkType").FirstOrDefault(); + + byte valueToWrite = 2; + + byte[] buffer = new byte[] { valueToWrite }; + + commonStackerCrane.Communicator.Write(devicePro.DeviceProAddress, buffer); return content.OK(); } else @@ -257,7 +265,14 @@ { CommonStackerCrane commonStackerCrane = (CommonStackerCrane)device; - commonStackerCrane.SetValue(StackerCraneDBName.WorkType, Convert.ToSByte(4)); + //commonStackerCrane.SetValue(StackerCraneDBName.WorkType, Convert.ToSByte(4)); + DeviceProDTO? devicePro = commonStackerCrane.DeviceProDTOs.Where(x => x.DeviceChildCode == commonStackerCrane.DeviceCode && x.DeviceProParamName == "WorkType").FirstOrDefault(); + + byte valueToWrite = 4; + + byte[] buffer = new byte[] { valueToWrite }; + + commonStackerCrane.Communicator.Write(devicePro.DeviceProAddress, buffer); return content.OK(); } else @@ -563,7 +578,7 @@ { InStock = structs[2] == true ? "鏈夎揣" : "绌洪棽", TaskNum = ConveyorLineTaskNum.ToString(), - Alarm = AlarmInfo(ConveyorLineAlarm) + Alarm = GetAlarm(ConveyorLineAlarm) }; return content.OK(data:obj); } @@ -755,7 +770,22 @@ } } - string AlarmInfo(uint Alarm) => Alarm switch + public string GetAlarm(uint value) + { + byte[] bytes = BitConverter.GetBytes(value); + BitArray bits = new BitArray(bytes); + + for (int i = 0; i < bits.Length; i++) + { + if (bits[i]) + { + return AlarmInfo(i); + } + } + return ""; + } + + string AlarmInfo(int Alarm) => Alarm switch { 0 => "鎬ュ仠", 1 => "鍙橀鍣ㄦ姤璀�1", diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user" index 8983b31..938e93b 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user" @@ -3,7 +3,7 @@ <Project> <PropertyGroup> <_PublishTargetUrl>E:\GET\AoTanSiWCS\椤圭洰浠g爜\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\bin\Release\net6.0\publish\</_PublishTargetUrl> - <History>True|2025-08-18T05:08:36.7873753Z||;True|2025-08-18T11:46:56.4805705+08:00||;True|2025-08-18T11:22:02.9054606+08:00||;True|2025-08-18T11:07:33.4630780+08:00||;True|2025-08-18T10:50:48.4350473+08:00||;True|2025-08-16T16:33:07.2265013+08:00||;True|2025-08-16T16:08:02.5366587+08:00||;True|2025-08-16T16:04:57.6117051+08:00||;True|2025-08-16T15:48:46.1045456+08:00||;True|2025-08-16T15:30:17.3989863+08:00||;True|2025-08-16T14:46:36.5094682+08:00||;True|2025-08-16T14:14:17.0500765+08:00||;True|2025-08-16T13:31:48.8727652+08:00||;True|2025-08-16T13:24:29.8307713+08:00||;True|2025-08-16T13:16:29.9622111+08:00||;True|2025-08-16T11:23:35.5640992+08:00||;True|2025-08-16T11:02:59.2985083+08:00||;True|2025-08-16T10:27:02.8633285+08:00||;True|2025-08-16T10:10:08.1477861+08:00||;True|2025-08-15T16:44:40.1716233+08:00||;True|2025-08-15T16:37:15.4095592+08:00||;True|2025-08-15T16:10:23.4132871+08:00||;True|2025-08-15T15:39:23.4095856+08:00||;True|2025-08-15T15:28:40.1757665+08:00||;True|2025-08-15T15:17:03.4120137+08:00||;True|2025-08-14T14:56:07.9836766+08:00||;True|2025-08-14T13:46:14.8376860+08:00||;True|2025-08-14T13:40:06.1474672+08:00||;True|2025-08-14T13:35:01.0314827+08:00||;True|2025-08-14T13:30:22.4451955+08:00||;True|2025-08-14T13:01:53.0152050+08:00||;True|2025-08-14T09:25:26.2041015+08:00||;True|2025-08-14T08:52:03.5944496+08:00||;True|2025-08-13T16:03:14.7435997+08:00||;True|2025-08-13T15:45:41.5991008+08:00||;True|2025-08-13T15:16:36.2021682+08:00||;True|2025-08-13T09:09:27.8499524+08:00||;True|2025-08-13T09:06:29.1371955+08:00||;True|2025-08-12T16:20:01.1810979+08:00||;True|2025-08-12T15:15:58.7445192+08:00||;True|2025-08-12T14:56:43.1314180+08:00||;True|2025-08-07T16:09:37.4325511+08:00||;True|2025-08-07T15:03:02.4443822+08:00||;True|2025-08-07T14:51:02.2746340+08:00||;True|2025-08-07T14:50:52.4634781+08:00||;True|2025-08-07T14:44:25.7952161+08:00||;True|2025-08-06T16:05:13.6764446+08:00||;True|2025-08-06T15:48:26.9347397+08:00||;True|2025-08-06T15:24:30.4982821+08:00||;True|2025-08-06T15:23:27.4513567+08:00||;True|2025-08-06T14:57:04.0476264+08:00||;True|2025-08-06T14:43:06.1306795+08:00||;True|2025-08-06T14:30:32.8125962+08:00||;True|2025-08-06T14:22:42.8305756+08:00||;True|2025-08-06T14:08:24.3056726+08:00||;True|2025-08-06T12:49:07.0122619+08:00||;True|2025-08-06T09:53:47.1995016+08:00||;True|2025-08-06T09:23:43.4599118+08:00||;True|2025-08-06T09:17:41.5263742+08:00||;True|2025-08-01T13:15:58.0733845+08:00||;</History> + <History>True|2025-08-20T04:19:58.6819487Z||;True|2025-08-20T10:19:55.2486460+08:00||;True|2025-08-20T10:10:55.8587756+08:00||;True|2025-08-19T17:04:09.2993217+08:00||;True|2025-08-19T16:51:22.2908004+08:00||;True|2025-08-19T16:30:53.6567391+08:00||;True|2025-08-19T16:26:50.4254303+08:00||;True|2025-08-19T16:12:13.1559703+08:00||;True|2025-08-19T15:46:01.4343164+08:00||;True|2025-08-19T15:43:17.4326410+08:00||;True|2025-08-19T14:05:04.6649580+08:00||;True|2025-08-18T13:08:36.7873753+08:00||;True|2025-08-18T11:46:56.4805705+08:00||;True|2025-08-18T11:22:02.9054606+08:00||;True|2025-08-18T11:07:33.4630780+08:00||;True|2025-08-18T10:50:48.4350473+08:00||;True|2025-08-16T16:33:07.2265013+08:00||;True|2025-08-16T16:08:02.5366587+08:00||;True|2025-08-16T16:04:57.6117051+08:00||;True|2025-08-16T15:48:46.1045456+08:00||;True|2025-08-16T15:30:17.3989863+08:00||;True|2025-08-16T14:46:36.5094682+08:00||;True|2025-08-16T14:14:17.0500765+08:00||;True|2025-08-16T13:31:48.8727652+08:00||;True|2025-08-16T13:24:29.8307713+08:00||;True|2025-08-16T13:16:29.9622111+08:00||;True|2025-08-16T11:23:35.5640992+08:00||;True|2025-08-16T11:02:59.2985083+08:00||;True|2025-08-16T10:27:02.8633285+08:00||;True|2025-08-16T10:10:08.1477861+08:00||;True|2025-08-15T16:44:40.1716233+08:00||;True|2025-08-15T16:37:15.4095592+08:00||;True|2025-08-15T16:10:23.4132871+08:00||;True|2025-08-15T15:39:23.4095856+08:00||;True|2025-08-15T15:28:40.1757665+08:00||;True|2025-08-15T15:17:03.4120137+08:00||;True|2025-08-14T14:56:07.9836766+08:00||;True|2025-08-14T13:46:14.8376860+08:00||;True|2025-08-14T13:40:06.1474672+08:00||;True|2025-08-14T13:35:01.0314827+08:00||;True|2025-08-14T13:30:22.4451955+08:00||;True|2025-08-14T13:01:53.0152050+08:00||;True|2025-08-14T09:25:26.2041015+08:00||;True|2025-08-14T08:52:03.5944496+08:00||;True|2025-08-13T16:03:14.7435997+08:00||;True|2025-08-13T15:45:41.5991008+08:00||;True|2025-08-13T15:16:36.2021682+08:00||;True|2025-08-13T09:09:27.8499524+08:00||;True|2025-08-13T09:06:29.1371955+08:00||;True|2025-08-12T16:20:01.1810979+08:00||;True|2025-08-12T15:15:58.7445192+08:00||;True|2025-08-12T14:56:43.1314180+08:00||;True|2025-08-07T16:09:37.4325511+08:00||;True|2025-08-07T15:03:02.4443822+08:00||;True|2025-08-07T14:51:02.2746340+08:00||;True|2025-08-07T14:50:52.4634781+08:00||;True|2025-08-07T14:44:25.7952161+08:00||;True|2025-08-06T16:05:13.6764446+08:00||;True|2025-08-06T15:48:26.9347397+08:00||;True|2025-08-06T15:24:30.4982821+08:00||;True|2025-08-06T15:23:27.4513567+08:00||;True|2025-08-06T14:57:04.0476264+08:00||;True|2025-08-06T14:43:06.1306795+08:00||;True|2025-08-06T14:30:32.8125962+08:00||;True|2025-08-06T14:22:42.8305756+08:00||;True|2025-08-06T14:08:24.3056726+08:00||;True|2025-08-06T12:49:07.0122619+08:00||;True|2025-08-06T09:53:47.1995016+08:00||;True|2025-08-06T09:23:43.4599118+08:00||;True|2025-08-06T09:17:41.5263742+08:00||;True|2025-08-01T13:15:58.0733845+08:00||;</History> <LastFailureDetails /> </PropertyGroup> </Project> \ No newline at end of file diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs" index 2584b75..728235d 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs" @@ -129,12 +129,14 @@ if (IsExecutingTask.TaskType == (int)TaskInboundTypeEnum.Inbound) { IsExecutingTask.TargetStation = station.stationRemark; + IsExecutingTask.TaskState = (int)TaskInStatusEnum.RGV_TransFer; } else { IsExecutingTask.TargetStation = station.remark; + IsExecutingTask.TaskState = (int)TaskOutStatusEnum.RGV_TransFer; } - IsExecutingTask.TaskState = (int)TaskInStatusEnum.RGV_TransFer; + _taskRepository.UpdateData(IsExecutingTask); Thread.Sleep(1000); } @@ -288,15 +290,17 @@ IsExecutingTask.RGVName = "RGV01"; IsExecutingTask.CurrentAddress = IsExecutingTask.Remark; IsExecutingTask.Remark = ""; - IsExecutingTask.TaskState = (int)TaskInStatusEnum.RGV_TransFer; + Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == IsExecutingTask.NextAddress); IsExecutingTask.SourceStation = IsExecutingTask.CurrentAddress == "1025" ? 10 : 7; if (IsExecutingTask.TaskType == (int)TaskInboundTypeEnum.Inbound) { + IsExecutingTask.TaskState = (int)TaskInStatusEnum.RGV_TransFer; IsExecutingTask.TargetStation = station.stationRemark; } else { + IsExecutingTask.TaskState = (int)TaskOutStatusEnum.RGV_TransFer; IsExecutingTask.TargetStation = station.remark; } @@ -446,11 +450,12 @@ Thread.Sleep(1000); - if (task.Remark != null) + if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029")))) { + task.Remark = "1025"; + _taskRepository.UpdateData(task); return GetDispatchExecutingTask(task, taskSecond); } - return task; } } @@ -465,11 +470,12 @@ Thread.Sleep(1000); - if (task.Remark != null) + if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029")))) { + task.Remark = "1025"; + _taskRepository.UpdateData(task); return GetDispatchExecutingTask(task, taskSecond); } - return task; } } @@ -482,8 +488,10 @@ { LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVSecond.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVSecond.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task.TaskNum)}銆戙��"); Thread.Sleep(1000); - if (task.Remark != null) + if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029")))) { + task.Remark = "1025"; + _taskRepository.UpdateData(task); return GetDispatchExecutingTask(task, taskSecond); } return task; @@ -511,16 +519,28 @@ TaskType = (byte)Convert.ToSByte(1) }; SendCommand(commonRGVSecond, command); - Thread.Sleep(1000); + Thread.Sleep(3000); if (!commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)) { return null; } } Thread.Sleep(1000); + if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029")))) + { + task.Remark = "1025"; + _taskRepository.UpdateData(task); + return GetDispatchExecutingTask(task); + } return task; } } + } + if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029")))) + { + task.Remark = "1025"; + _taskRepository.UpdateData(task); + return GetDispatchExecutingTask(task); } return task; } @@ -543,8 +563,10 @@ LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVFirst.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVFirst.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task.TaskNum)}銆戙��"); Thread.Sleep(1000); - if (task.Remark != null) + if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029")))) { + task.Remark = "1026"; + _taskRepository.UpdateData(task); return GetDispatchExecutingTask(task, taskSecond); } return task; @@ -560,8 +582,10 @@ LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVFirst.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVFirst.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task.TaskNum)}銆戙��"); Thread.Sleep(1000); - if (task.Remark != null) + if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029")))) { + task.Remark = "1026"; + _taskRepository.UpdateData(task); return GetDispatchExecutingTask(task, taskSecond); } return task; @@ -577,8 +601,10 @@ LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVFirst.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVFirst.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task.TaskNum)}銆戙��"); Thread.Sleep(1000); - if (task.Remark != null) + if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029")))) { + task.Remark = "1026"; + _taskRepository.UpdateData(task); return GetDispatchExecutingTask(task, taskSecond); } return task; @@ -606,16 +632,28 @@ TaskType = (byte)Convert.ToSByte(1) }; SendCommand(commonRGVFirst, command); - Thread.Sleep(1000); + Thread.Sleep(3000); if (!commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)) { return null; } } Thread.Sleep(1000); + if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029")))) + { + task.Remark = "1026"; + _taskRepository.UpdateData(task); + return GetDispatchExecutingTask(task); + } return task; } } + } + if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029")))) + { + task.Remark = "1026"; + _taskRepository.UpdateData(task); + return GetDispatchExecutingTask(task); } return task; } @@ -645,13 +683,13 @@ if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)) { var taskSecond = _taskRepository.QueryFirst(x => x.RGVName == "RGV02" && x.TaskNum == commonRGVSecond.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum) && ((x.TaskType == (int)TaskInboundTypeEnum.Inbound && (x.TaskState < 230 || x.TaskState == (int)TaskInStatusEnum.RGV_TransFer || x.TaskState == (int)TaskInStatusEnum.RGV_TransFerFInish)) || (x.TaskType == (int)TaskOutboundTypeEnum.Outbound))); - if (taskSecond != null) + if (taskSecond != null) { task = GetDispatchTask(tasks, taskSecond); LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVSecond.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVSecond.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task.TaskNum)}銆戙��"); - Thread.Sleep(1000); + Thread.Sleep(1000); return task; } } @@ -677,40 +715,42 @@ TaskType = (byte)Convert.ToSByte(1) }; SendCommand(commonRGVSecond, command); - Thread.Sleep(1000); + Thread.Sleep(3000); if (!commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)) { return null; } } - - if (tasks.FirstOrDefault(x => x.RGVName == "RGV01") != null) + task = GetDispatchTask(taskNews, "RGV01"); + if (task == null) { - LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVSecond.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(taskNews.FirstOrDefault(x => x.RGVName == "RGV01").TaskNum)}銆戙��"); - Thread.Sleep(1000); - return taskNews.FirstOrDefault(x => x.RGVName == "RGV01"); + return tasks.FirstOrDefault(x => x.RGVName != "RGV02"); } - else - { - LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVSecond.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(taskNews.FirstOrDefault(x => x.RGVName != "RGV02").TaskNum)}銆戙��"); - Thread.Sleep(1000); - return taskNews.FirstOrDefault(x => x.RGVName != "RGV02"); - } + return task; + //if (taskNews.FirstOrDefault(x => x.RGVName == "RGV01") != null) + //{ + // return taskNews.FirstOrDefault(x => x.RGVName == "RGV01"); + //} + //else + //{ + // return taskNews.FirstOrDefault(x => x.RGVName != "RGV02"); + //} } else { - if (tasks.FirstOrDefault(x => x.RGVName == "RGV01") != null) - { - LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV02璁惧淇℃伅銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV01").TaskNum)}銆戙��"); - Thread.Sleep(1000); - return tasks.FirstOrDefault(x => x.RGVName == "RGV01"); - } - else - { - LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV02璁惧淇℃伅銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV02").TaskNum)}銆戙��"); - Thread.Sleep(1000); - return tasks.FirstOrDefault(x => x.RGVName != "RGV02"); - } + return GetDispatchTask(tasks, "RGV01"); + //if (tasks.FirstOrDefault(x => x.RGVName == "RGV01") != null) + //{ + // LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV02璁惧淇℃伅銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV01").TaskNum)}銆戙��"); + // Thread.Sleep(1000); + // return tasks.FirstOrDefault(x => x.RGVName == "RGV01"); + //} + //else + //{ + // LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV02璁惧淇℃伅銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV02").TaskNum)}銆戙��"); + // Thread.Sleep(1000); + // return tasks.FirstOrDefault(x => x.RGVName != "RGV02"); + //} } } else @@ -754,43 +794,44 @@ TaskType = (byte)Convert.ToSByte(1) }; SendCommand(commonRGVFirst, command); - Thread.Sleep(1000); + Thread.Sleep(3000); if (!commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)) { return null; } } - - if (tasks.FirstOrDefault(x => x.RGVName == "RGV02") != null) + task = GetDispatchTask(taskNews, "RGV02"); + if (task == null) { - LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVFirst.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(taskNews.FirstOrDefault(x => x.RGVName == "RGV02").TaskNum)}銆戙��"); - Thread.Sleep(1000); - return taskNews.FirstOrDefault(x => x.RGVName == "RGV02"); + return tasks.FirstOrDefault(x => x.RGVName != "RGV01"); } - else - { - LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVFirst.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(taskNews.FirstOrDefault(x => x.RGVName != "RGV01").TaskNum)}銆戙��"); - - Thread.Sleep(1000); - return taskNews.FirstOrDefault(x => x.RGVName != "RGV01"); - } + return task; + //if (taskNews.FirstOrDefault(x => x.RGVName == "RGV02") != null) + //{ + // return taskNews.FirstOrDefault(x => x.RGVName == "RGV02"); + //} + //else + //{ + // return taskNews.FirstOrDefault(x => x.RGVName != "RGV01"); + //} } else { - if (tasks.FirstOrDefault(x => x.RGVName == "RGV02") != null) - { - LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV01璁惧淇℃伅銆� 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV02").TaskNum)}銆戙��"); + return GetDispatchTask(tasks, "RGV02"); + //if (tasks.FirstOrDefault(x => x.RGVName == "RGV02") != null) + //{ + // LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV01璁惧淇℃伅銆� 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV02").TaskNum)}銆戙��"); - Thread.Sleep(1000); - return tasks.FirstOrDefault(x => x.RGVName == "RGV02"); - } - else - { - LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV01璁惧淇℃伅銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV01").TaskNum)}銆戙��"); + // Thread.Sleep(1000); + // return tasks.FirstOrDefault(x => x.RGVName == "RGV02"); + //} + //else + //{ + // LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV01璁惧淇℃伅銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV01").TaskNum)}銆戙��"); - Thread.Sleep(1000); - return tasks.FirstOrDefault(x => x.RGVName != "RGV01"); - } + // Thread.Sleep(1000); + // return tasks.FirstOrDefault(x => x.RGVName != "RGV01"); + //} } } } @@ -818,7 +859,6 @@ { if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)) { - var taskSecond = _taskRepository.QueryFirst(x => x.RGVName == "RGV02" && x.TaskNum == commonRGVSecond.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum) && ((x.TaskType == (int)TaskInboundTypeEnum.Inbound && (x.TaskState < 230 || x.TaskState == (int)TaskInStatusEnum.RGV_TransFer || x.TaskState == (int)TaskInStatusEnum.RGV_TransFerFInish)) || (x.TaskType == (int)TaskOutboundTypeEnum.Outbound))); if (taskSecond != null) { @@ -861,7 +901,7 @@ TaskType = (byte)Convert.ToSByte(1) }; SendCommand(commonRGVSecond, command); - Thread.Sleep(1000); + Thread.Sleep(3000); if (!commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)) { return null; @@ -948,7 +988,7 @@ TaskType = (byte)Convert.ToSByte(1) }; SendCommand(commonRGVFirst, command); - Thread.Sleep(1000); + Thread.Sleep(3000); if (!commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)) { return null; @@ -1088,7 +1128,7 @@ return null; } - public Dt_Task? GetDispatchTask(List<Dt_Task> tasks, Dt_Task oldtask) + public Dt_Task? GetDispatchTask(List<Dt_Task> tasks,Dt_Task oldtask) { Dt_Task y = tasks.Where(x => x.Remark != null&& ((x.SourceStation - oldtask.TargetStation > 1 && x.SourceStation - oldtask.SourceStation > 1 && x.TaskType == (int)TaskInboundTypeEnum.Inbound) || (x.SourceStation - oldtask.TargetStation > 1 && x.TargetStation - oldtask.SourceStation > 1 && x.SourceStation - oldtask.SourceStation > 1 && x.TargetStation - oldtask.TargetStation > 1 && x.TaskType == (int)TaskOutboundTypeEnum.Outbound))).FirstOrDefault(); if (y == null) @@ -1175,6 +1215,82 @@ } } + public Dt_Task? GetDispatchTask(List<Dt_Task> tasks,string RGVName) + { + Dt_Task y = tasks.Where(x => x.Remark != null).FirstOrDefault(); + if (y == null) + { + if (RGVName == "RGV01") + { + if (tasks.FirstOrDefault(x => x.RGVName == RGVName) != null) + { + return tasks.FirstOrDefault(x => x.RGVName == RGVName); + } + else + { + return tasks.FirstOrDefault(x => x.RGVName != "RGV02"); + } + } + else + { + if (tasks.FirstOrDefault(x => x.RGVName == RGVName) != null) + { + return tasks.FirstOrDefault(x => x.RGVName == RGVName); + } + else + { + return tasks.FirstOrDefault(x => x.RGVName != "RGV01"); + } + } + } + else + { + var stationManager = _stationManagerRepository.QueryData(x => x.stationType == 15); + if (stationManager.Count() > 0) + { + string next = null; + foreach (var item in stationManager) + { + var x = _taskRepository.QueryFirst(x => x.NextAddress == item.stationChildCode || x.CurrentAddress == item.stationChildCode); + if (x == null) + { + next = item.stationChildCode; + break; + } + } + if (next != null) + { + y.Remark = next; + _taskRepository.UpdateData(y); + LogAndWarn("涓浆浠诲姟", $" 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(y)}銆戙��"); + return y; + } + } + if (RGVName == "RGV01") + { + if (tasks.FirstOrDefault(x => x.RGVName == RGVName) != null) + { + return tasks.FirstOrDefault(x => x.RGVName == RGVName); + } + else + { + return tasks.FirstOrDefault(x => x.RGVName != "RGV02"); + } + } + else + { + if (tasks.FirstOrDefault(x => x.RGVName == RGVName) != null) + { + return tasks.FirstOrDefault(x => x.RGVName == RGVName); + } + else + { + return tasks.FirstOrDefault(x => x.RGVName != "RGV01"); + } + } + } + } + public Dt_Task? GetDispatchExecutingTask(Dt_Task oldtask,Dt_Task task) { var stationManagers = _stationManagerRepository.QueryData(x => x.stationType == 15); @@ -1187,6 +1303,7 @@ if (x == null) { next = item.stationChildCode; + LogAndWarn("涓浆鑾峰彇绔欏彴", $" 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(x)}銆戙�戙�恵next}銆�"); break; } } @@ -1194,12 +1311,13 @@ { var stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == next); oldtask.Remark = next; + //oldtask.CurrentAddress = next; + _taskRepository.UpdateData(oldtask); if (task.RGVName == "RGV01") { if (task.TargetStation - stationManager.stationRemark > 1 && task.SourceStation - stationManager.stationRemark > 1 && task.SourceStation - oldtask.SourceStation > 1 && task.TargetStation - oldtask.SourceStation > 1) { - _taskRepository.UpdateData(oldtask); - LogAndWarn("涓浆浠诲姟GetDispatchExecutingTask", $" 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(oldtask)}銆戙��"); + LogAndWarn("涓浆浠诲姟GetDispatchExecutingTask", $" 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(oldtask)}銆戙�戙�恵next}銆�"); return oldtask; } else @@ -1211,7 +1329,6 @@ { if (stationManager.stationRemark - task.TargetStation > 1 && stationManager.stationRemark - task.SourceStation > 1 && oldtask.SourceStation - task.SourceStation > 1 && oldtask.SourceStation - task.TargetStation > 1) { - _taskRepository.UpdateData(oldtask); LogAndWarn("涓浆浠诲姟GetDispatchExecutingTask", $" 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(oldtask)}銆戙��"); return oldtask; } @@ -1225,6 +1342,33 @@ return null; } + public Dt_Task? GetDispatchExecutingTask(Dt_Task oldtask) + { + var stationManagers = _stationManagerRepository.QueryData(x => x.stationType == 15); + if (stationManagers.Count() > 0) + { + string next = null; + foreach (var item in stationManagers) + { + var x = _taskRepository.QueryFirst(x => x.NextAddress == item.stationChildCode || x.CurrentAddress == item.stationChildCode); + if (x == null) + { + next = item.stationChildCode; + LogAndWarn("涓浆鑾峰彇绔欏彴", $" 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(x)}銆戙�戙�恵next}銆�"); + break; + } + } + if (next != null) + { + var stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == next); + oldtask.Remark = next; + _taskRepository.UpdateData(oldtask); + return oldtask; + } + } + return null; + } + /// <summary> /// 浠诲姟瀹炰綋杞崲鎴愬懡浠odel /// </summary> diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" index 55f5a0c..534cc62 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" @@ -195,8 +195,8 @@ 27 => "鏀捐揣鏃惰揣鏋舵湁璐�", 28 => "鏀捐揣鍚庤浇璐у彴鏈夎揣", 29 => "鏀炬繁璐ф椂娴呰揣浣嶆湁璐�", - 30 => "", - 31 => "", + 30 => "琛岃蛋浣嶇疆寮傚父", + 31 => "鎻愬崌浣嶇疆寮傚父", _ => $"鏈煡鎶ヨ({alarm})" }; -- Gitblit v1.9.3