From 0939aa5f3cc12a8856456a51cf2b661b6cd780c7 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期四, 31 七月 2025 17:25:49 +0800 Subject: [PATCH] 1 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs | 139 +++++++++++++++++++++++++++++----------------- 1 files changed, 88 insertions(+), 51 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 478a196..11a1b0c 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" @@ -2,6 +2,7 @@ using Mapster; using Newtonsoft.Json; using SqlSugar; +using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using WIDESEAWCS_Common; @@ -12,8 +13,11 @@ using WIDESEAWCS_Model.BasicInfo; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob; +using WIDESEAWCS_QuartzJob.DeviceBase; +using WIDESEAWCS_QuartzJob.DTO; using WIDESEAWCS_QuartzJob.Models; using WIDESEAWCS_Tasks.ConveyorLineJob; +using WIDESEAWCS_Tasks.StackerCraneJob; namespace WIDESEAWCS_Tasks { @@ -63,31 +67,7 @@ var RGVName = string.Empty; if (stationManager.stationFloor == "1F") { - 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) - { - 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 = "RGV01"; - } + RGVName = stationManager.RGVName; } else { @@ -100,44 +80,101 @@ TaskState = (int)TaskInStatusEnum.InNew, SourceAddress = childDeviceCode, Dispatchertime = DateTime.Now, - Grade = 1, // 璁剧疆榛樿浼樺厛绾т负1 + Grade = 1, Creater = "System", Floor = stationManager.stationFloor, - RGVName = stationManager.RGVName != null ? stationManager.RGVName : RGVName, + RGVName = RGVName, + SourceStation = stationManager.remark, + TargetStation = 0, }; + _taskRepository.AddData(task); } private void RequestWMSTask(CommonConveyorLine conveyorLine, Dt_StationManager stationManager) { - var Barcode = conveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.ConveyorLineBarcode, stationManager.stationNextChildCode); - - if (Barcode == "") + if (stationManager.stationChildCode == "3002") { - conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal,Convert.ToSByte(3), stationManager.stationChildCode); - } - var task = _taskRepository.QueryFirst(x => x.PalletCode == Barcode); - if (task != null) - { + DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault(); + var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress,10); + string Barcode = Encoding.UTF8.GetString(x); + + if (Barcode == null) + { + conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode); + } + var task = _taskRepository.QueryFirst(x => x.PalletCode == Barcode && x.TaskState == (int)TaskInStatusEnum.HoistNew); + + if (task != null) + { + ConveyorLineTaskCommandWrite taskCommand = new ConveyorLineTaskCommandWrite() + { + TaskNum = Convert.ToInt16(task.TaskNum), + TargetAddress = Convert.ToInt16(task.NextAddress), + WriteInteractiveSignal = task.TaskType == (int)TaskOutboundTypeEnum.Outbound ? (byte)Convert.ToSByte(2) : (byte)Convert.ToSByte(1) + }; + var result = SendCommand(taskCommand, conveyorLine, stationManager.stationChildCode); + if (result) + { + task.TaskState = (int)TaskInStatusEnum.HoistInExecuting; + _taskRepository.UpdateData(task); + } + } + 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; + + WMSTaskDTO taskDTO = new WMSTaskDTO() + { + 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, taskDTO.ToJsonString()).Result; + } } 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; - } + DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationNextChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault(); + var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 10); + + string Barcode = Encoding.UTF8.GetString(x); + 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; + + WMSTaskDTO taskDTO = new WMSTaskDTO() + { + 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, taskDTO.ToJsonString()).Result; + } + } } } } -- Gitblit v1.9.3