From 87cc1c0d71fe6c6000ac6523bbb367d5ac29b5d2 Mon Sep 17 00:00:00 2001
From: 肖洋 <cathay_xy@163.com>
Date: 星期六, 11 一月 2025 16:40:51 +0800
Subject: [PATCH] 更新设备通讯超时设置及优化代码结构

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs |   86 +++++++++++++++++++++++++++++++------------
 1 files changed, 62 insertions(+), 24 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..637b479 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
@@ -112,21 +112,21 @@
                         }
 
                         #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();
+                        //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 });
+                        //object obj = new
+                        //{
+                        //    station.stationChildCode,
+                        //    commandAfter = command,
+                        //};
+                        //_noticeService.StackerData(userIds?.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, data = obj });
 
                         #endregion 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
                     }
@@ -193,9 +193,9 @@
         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)
@@ -221,18 +221,56 @@
             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);
+                    }
+                }
+            }
         }
     }
 }

--
Gitblit v1.9.3