From c2461f320a6b36390d8dd26d4ce11a62baa0e215 Mon Sep 17 00:00:00 2001 From: xxyy <cathay_xy@163.com> Date: 星期五, 28 二月 2025 10:42:35 +0800 Subject: [PATCH] 更新 .gitignore 和优化任务处理逻辑 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs | 112 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 72 insertions(+), 40 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs index 5a08e4b..2c38342 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs @@ -1,4 +1,5 @@ 锘�#region MyRegion + #region << 鐗� 鏈� 娉� 閲� >> /*---------------------------------------------------------------- @@ -20,37 +21,24 @@ using AutoMapper; using HslCommunication; -using Microsoft.AspNetCore.Server.HttpSys; using Newtonsoft.Json; using Quartz; -using SqlSugar; -using System.Diagnostics.CodeAnalysis; -using System.Net; using System.Reflection; -using System.Threading.Tasks; using WIDESEAWCS_BasicInfoRepository; using WIDESEAWCS_BasicInfoService; using WIDESEAWCS_Common; -using WIDESEAWCS_Common.TaskEnum; -using WIDESEAWCS_Core; -using WIDESEAWCS_Core.Caches; using WIDESEAWCS_Core.Helper; -using WIDESEAWCS_Core.HttpContextUser; using WIDESEAWCS_DTO.MOM; -using WIDESEAWCS_DTO.TaskInfo; using WIDESEAWCS_IProcessRepository; -using WIDESEAWCS_ISystemRepository; using WIDESEAWCS_ISystemServices; using WIDESEAWCS_ITaskInfoRepository; using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob; -using WIDESEAWCS_QuartzJob.DeviceBase; using WIDESEAWCS_QuartzJob.DTO; using WIDESEAWCS_QuartzJob.Service; using WIDESEAWCS_SignalR; using WIDESEAWCS_Tasks.ConveyorLineJob; -using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; using ICacheService = WIDESEAWCS_Core.Caches.ICacheService; namespace WIDESEAWCS_Tasks @@ -95,6 +83,7 @@ if (conveyorLine != null) { #region 绔欏彴鏂瑰紡 + List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode); foreach (var station in stationManagers) @@ -112,27 +101,30 @@ } #region 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇 - var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken"); - if (tokenInfos == null || !tokenInfos.Any()) - { - //throw new Exception(conveyorLine.DeviceName + "缂撳瓨涓湭鎵惧埌Token缂撳瓨"); - continue; - } - var userTokenIds = tokenInfos?.Select(x => x.Token_ID).ToList(); - var userIds = tokenInfos?.Select(x => x.UserId).ToList(); - object obj = new - { - station.stationChildCode, - commandAfter = command, - }; - _noticeService.StackerData(userIds?.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, data = obj }); + //var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken"); + //if (tokenInfos == null || !tokenInfos.Any()) + //{ + // //throw new Exception(conveyorLine.DeviceName + "缂撳瓨涓湭鎵惧埌Token缂撳瓨"); + // continue; + //} + //var userTokenIds = tokenInfos?.Select(x => x.Token_ID).ToList(); + //var userIds = tokenInfos?.Select(x => x.UserId).ToList(); + + //object obj = new + //{ + // station.stationChildCode, + // commandAfter = command, + //}; + //_noticeService.StackerData(userIds?.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, data = obj }); #endregion 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇 } - #endregion + + #endregion 绔欏彴鏂瑰紡 #region 璺敱鏂瑰紡 + //List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode); //foreach (string childDeviceCode in childDeviceCodes) //{ @@ -168,7 +160,8 @@ // } // } //} - #endregion + + #endregion 璺敱鏂瑰紡 } } catch (Exception ex) @@ -193,12 +186,12 @@ public void RequestOutbound(CommonConveyorLine_BZ conveyorLine, ConveyorLineTaskCommand_After command, Dt_StationManager station) { //鏌ヨ瀵瑰簲浜х嚎鐨勫湪閫旀暟鎹� - dt_needBarcode needBarcode = _needBarcodeRepository.QueryFirst(x => x.productLine == station.stationRemark); + dt_needBarcode needBarcode = _needBarcodeRepository.QueryFirst(x => x.productLine == station.productLine && x.toArea == station.stationChildCode); - //needBarcode.haveOutNum + needBarcode.inLineNum = _taskRepository.QueryData(x => x.TargetAddress == station.stationChildCode).Count(); //鑻ュ湪閫旀暟閲忓皬浜庣洰鏍囦綅缃殑缂撳瓨鏁伴噺 鍒欏鎵惧搴斿父娓╁簱瀛樹腑甯告俯3宸ュ簭鐨勫彲鍑哄簱鏁版嵁 骞跺缓绔嬪嚭搴撲换鍔� - if (needBarcode.inLineNum <= needBarcode.cacheNum) + if (needBarcode.inLineNum < needBarcode.cacheNum) { if (_taskService.RequestOutTaskToBZAsync(station).Result.Status) { @@ -221,19 +214,58 @@ dt_needBarcode needBarcode = _needBarcodeRepository.QueryFirst(x => x.toArea == station.stationChildCode); if (needBarcode == null) throw new Exception($"鏈厤缃浉鍏硔station.stationChildCode}鐨勪骇绾垮湪閫旀暟鎹�"); - if (task != null) + if (task != null) //濡備换鍔′笉涓虹┖ 鍒欎负閫佸寘瑁呮枡 鍐欏叆涓嬩竴鍦板潃 娓呴櫎瀵瑰簲浠诲姟 骞舵洿鏂板湪閫旀暟鎹� { conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, task.NextAddress, station.stationChildCode); _taskRepository.DeleteData(task); - } - else - { - conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, station.stationNGChildCode, station.stationChildCode); - } - needBarcode.inLineNum--; - _needBarcodeRepository.UpdateData(needBarcode); + if (--needBarcode.inLineNum <= 0) needBarcode.inLineNum = 0; + _needBarcodeRepository.UpdateData(needBarcode); + } + else //濡傛棤浠诲姟 鍒欏垽瀹氫负浠嶯G鍙d笂鏂� 璋冨彇MOM鎺ュ彛 鍒ゆ柇杩斿洖鍙傛暟 鏃犲紓甯稿垯閫佸叆鍖呰锛屾湁寮傚父鍒欓��鍥濶G鍙� + { + var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); + var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue; + var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue; + if (wmsBase == null || ipAddress == null) + { + throw new InvalidOperationException("MOM IP 鏈厤缃�"); + } + TrayCellsStatusDto trayCells = new TrayCellsStatusDto() + { + Software = "WMS", + TrayBarcode = command.ConveyorLineBarcode, + EquipmentCode = station.stationEquipMOM, + SessionId = Guid.NewGuid().ToString(), + EmployeeNo = "MITest", + //SceneType = "1", + RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ") + }; + + var MOMIpAddress = wmsBase + ipAddress; + + var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result; + ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result); + + if (!result1.Success) + { + conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, station.stationNGChildCode, station.stationChildCode); + } + else + { + //鍐欏叆瀵瑰簲浜х嚎鐨勭洰鏍囧湴鍧� + if (station.productLine == "ZJ-7") + { + conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, "", station.stationChildCode); + } + else + { + conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, "", station.stationChildCode); + } + } + } } } } + #endregion \ No newline at end of file -- Gitblit v1.9.3