From b31d961a3f0bcd2e555ea12b76c30c453826deba Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期一, 28 七月 2025 09:42:58 +0800 Subject: [PATCH] 代码提交 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs | 94 ++++++++++++++++++++++++++++++++++------------ 1 files changed, 69 insertions(+), 25 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs" index 227a2e1..478a196 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs" @@ -1,6 +1,7 @@ 锘縰sing HslCommunication; using Mapster; using Newtonsoft.Json; +using SqlSugar; using System.Text.RegularExpressions; using System.Threading.Tasks; using WIDESEAWCS_Common; @@ -11,6 +12,7 @@ using WIDESEAWCS_Model.BasicInfo; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob; +using WIDESEAWCS_QuartzJob.Models; using WIDESEAWCS_Tasks.ConveyorLineJob; namespace WIDESEAWCS_Tasks @@ -26,28 +28,20 @@ case 1: await RequestTask(conveyorLine, command, childDeviceCode, stationManager); break; - + case 9: + RequestWMSTask(conveyorLine, stationManager); + break; case 2: case 3: - RequestInOrOutbound(command, conveyorLine, stationManager, task); + RequestNextAddress(command, conveyorLine, stationManager, task); break; - default: - break; - } - } - - public void HandleFinishTaskAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, Dt_Task task=null) - { - var stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == childDeviceCode && x.stationPLC == conveyorLine.DeviceCode); - - switch (stationManager.stationType) - { case 4: case 5: - ConveyorLineInOrOutFinish(conveyorLine, command, stationManager, task); - break; - case 7: - ConveyorLineOutFinish(conveyorLine, command, stationManager, task); + task = _taskService.QueryConveyorLineFinishTask(stationManager.stationChildCode, command.TaskNum); + if (task != null) + { + _taskService.UpdateTaskStatusToNext(task); + } break; default: break; @@ -56,31 +50,49 @@ private async Task RequestTask(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, Dt_StationManager stationManager) { - var hasTask = await _taskRepository.QueryFirstAsync(x => x.SourceAddress == childDeviceCode); + var hasTask = await _taskRepository.QueryFirstAsync(x => x.SourceAddress == childDeviceCode && x.TaskState < (int)TaskInStatusEnum.RGV_InExecutingFinish && x.TaskState >= (int)TaskInStatusEnum.InNew); if (hasTask != null) { var log = $"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵hasTask.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵hasTask.PalletCode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎瀛樺湪浠诲姟"; ConsoleHelper.WriteWarningLine(log); - await _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); + await _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); WriteInfo(conveyorLine.DeviceName, log); return; } var RGVName = string.Empty; if (stationManager.stationFloor == "1F") { - var RGVOne = _taskRepository.QueryData(x => x.RGVName == "RGV01").ToList(); - var RGVTwo = _taskRepository.QueryData(x => x.RGVName == "RGV02").ToList(); - if (RGVOne.Count > RGVTwo.Count) + var deviceCode = _deviceInfoRepository.Db.Queryable<Dt_DeviceInfo>().Where(x => x.DeviceStatus == "1" && x.DeviceRemark == "1F").Where(x => x.DeviceCode.Contains("RGV")).ToList().Select(x => x.DeviceCode).ToList(); + if (deviceCode != null && deviceCode.Count() > 0) { - RGVName = "RGV01"; + if (deviceCode.Contains("RGV01") && deviceCode.Contains("RGV02")) + { + var RGVOne = _taskRepository.QueryData(x => x.RGVName == "RGV01").ToList(); + var RGVTwo = _taskRepository.QueryData(x => x.RGVName == "RGV02").ToList(); + if (RGVOne.Count > RGVTwo.Count) + { + RGVName = "RGV01"; + } + else + { + RGVName = "RGV02"; + } + } + else + { + RGVName = deviceCode[0]; + } } else { - RGVName = "RGV02"; + RGVName = "RGV01"; } } - + else + { + RGVName = "RGV03"; + } Dt_Task task = new Dt_Task() { TaskNum = _taskRepository.GetTaskNo().Result, @@ -95,5 +107,37 @@ }; _taskRepository.AddData(task); } + private void RequestWMSTask(CommonConveyorLine conveyorLine, Dt_StationManager stationManager) + { + var Barcode = conveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.ConveyorLineBarcode, stationManager.stationNextChildCode); + + if (Barcode == "") + { + conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal,Convert.ToSByte(3), stationManager.stationChildCode); + } + var task = _taskRepository.QueryFirst(x => x.PalletCode == Barcode); + if (task != null) + { + + } + else + { + //var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); + //var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue; + //var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTask)?.ConfigValue; + //var keys = new Dictionary<string, object>() + //{ + // {"TPbarcode", Barcode}, + // {"WhCode", "1001"}, + // {"BeginPoint", stationManager.stationChildCode} + //}; + //if (wmsBase == null || requestTask == null) + //{ + // throw new InvalidOperationException("WMS IP 鏈厤缃�"); + //} + //var wmsIpAddress = wmsBase + requestTask; + //var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, keys.ToString()).Result; + } + } } } -- Gitblit v1.9.3