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/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs | 284 ++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 214 insertions(+), 70 deletions(-) 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> -- Gitblit v1.9.3