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