From 6654c7a847347732a58c9625a60667fd828b7db6 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <1247017146@qq.com>
Date: 星期三, 02 四月 2025 09:53:03 +0800
Subject: [PATCH] 代码更新

---
 CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs |  111 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 56 insertions(+), 55 deletions(-)

diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
index bf61d3b..c442888 100644
--- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
+++ b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
@@ -19,6 +19,7 @@
 
 #endregion << 鐗� 鏈� 娉� 閲� >>
 
+using Autofac.Core;
 using AutoMapper;
 using HslCommunication;
 using Microsoft.CodeAnalysis;
@@ -40,11 +41,13 @@
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DeviceBase;
 using WIDESEAWCS_QuartzJob.DTO;
 using WIDESEAWCS_QuartzJob.Repository;
 using WIDESEAWCS_QuartzJob.Service;
 using WIDESEAWCS_SignalR;
 using WIDESEAWCS_Tasks.ConveyorLineJob;
+using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database;
 using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
 using Platform = WIDESEAWCS_Model.Models.Platform;
 
@@ -118,7 +121,6 @@
                     foreach (string childDeviceCode in childDeviceCodes)
                     {
                         ConveyorLineTaskCommand_After command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand_After>(childDeviceCode);
-
                         if (command == null) continue;
                         if (command.ConveyorLineBarcode.Trim().Contains("\0")) command.ConveyorLineBarcode = "";
 
@@ -132,7 +134,7 @@
                             }
                         }
 
-                        if (childDeviceCode == "1670"||childDeviceCode=="1666"||childDeviceCode=="1548"||childDeviceCode=="1448")
+                        if (childDeviceCode == "3464" || childDeviceCode == "3460" || childDeviceCode == "3456" )
                         {
                             Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
                             if (platform != null)
@@ -298,10 +300,10 @@
 
                 //ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
                 _taskService.UpdateTaskStatusToNext(task);
-                if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray)
-                {
-                    _taskService.UpdateTaskStatusToNext(task);
-                }
+                //if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray)
+                //{
+                //    _taskService.UpdateTaskStatusToNext(task);
+                //}
             }
         }
 
@@ -371,59 +373,57 @@
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
         public void ConveyorLineOutFinish(CommonConveyorLine_GW conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
         {
-            var task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode);
-            if (task != null)
+            try
             {
-                WebResponseContent content = new WebResponseContent();
-                ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(task);
-                taskCommand.InteractiveSignal = command.InteractiveSignal;
-                Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
-                if (task.PalletCode != command.ConveyorLineBarcode)
+                var task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode);
+                if (task != null)
                 {
-                    //var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
-                    //taskCommand.ConveyorLineTargetAddress = (short)NGAddress;
-                    taskCommand.ConveyorLineTargetAddress = Convert.ToInt16(stationManager.stationNGChildCode);
-                }
-                else
-                {
-                    //Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
-                    taskCommand.ConveyorLineTargetAddress = Convert.ToInt16(stationManager.stationLocation);
-                }
-
-                if (stationManager.stationPLC == "1018" && stationManager.stationArea == "Cache")  //鏇存柊鍦ㄩ�旀暟鎹�
-                {
-                    dt_needBarcode needBarcode = _needBarcodeRepository.QueryFirst(x => x.productLine == stationManager.productLine && x.toArea == stationManager.stationChildCode);
-
-                    if (needBarcode != null)
+                    WebResponseContent content = new WebResponseContent();
+                    ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(task);
+                    taskCommand.InteractiveSignal = command.InteractiveSignal;
+                    Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
+                    if (task.PalletCode != command.ConveyorLineBarcode)
                     {
-                        needBarcode.inLineNum--;
-                        _needBarcodeRepository.UpdateData(needBarcode);
+                        //var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
+                        //taskCommand.ConveyorLineTargetAddress = (short)NGAddress;
+                        taskCommand.ConveyorLineTargetAddress = Convert.ToInt16(stationManager.stationNGChildCode);
                     }
+                    else
+                    {
+                        //Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
+                        taskCommand.ConveyorLineTargetAddress = Convert.ToInt16(stationManager.stationLocation);
+                    }
+
+                    if (stationManager.stationPLC == "1007" && stationManager.stationArea == "Cache")  //鏇存柊鍦ㄩ�旀暟鎹�
+                    {
+                        dt_needBarcode needBarcode = _needBarcodeRepository.QueryFirst(x => x.productLine == stationManager.productLine && x.toArea == stationManager.stationChildCode);
+
+                        if (needBarcode != null)
+                        {
+                            if (needBarcode.inLineNum == 0 || needBarcode.inLineNum > 0)
+                            {
+                                needBarcode.inLineNum = 0;
+                            }
+                            else
+                            {
+                                needBarcode.inLineNum--;
+                            }
+                            _needBarcodeRepository.UpdateData(needBarcode);
+                        }
+                    }
+                    conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTaskNum, taskCommand.ConveyorLineTaskNum, childDeviceCode);
+                    conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, taskCommand.ConveyorLineTargetAddress, childDeviceCode);
+                    conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineBarcode, taskCommand.ConveyorLineBarcode, childDeviceCode);
+                    //conveyorLine.SetValue(ConveyorLineDBName_After.InteractiveSignal, taskCommand.InteractiveSignal, childDeviceCode);
+                    conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, 1, childDeviceCode);
+
+                    content = _taskService.UpdateTaskStatusToNext(task);
                 }
-
-                conveyorLine.SendCommand(taskCommand, childDeviceCode);
-                conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, 1, childDeviceCode);
-                //ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-                content = _taskService.UpdateTaskStatusToNext(task);
             }
-            //else
-            //{
-            //    Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode && x.stationArea == "Cache");
-            //    ////鏌ヨ瀵瑰簲浜х嚎鐨勫湪閫旀暟鎹�
-            //    //dt_needBarcode needBarcode = _needBarcodeRepository.QueryFirst(x => x.productLine == station.productLine);
-
-            //    //needBarcode.inLineNum = _taskRepository.QueryData(x => x.TargetAddress == station.stationChildCode).Count();
-
-            //    //鑻ュ湪閫旀暟閲忓皬浜庣洰鏍囦綅缃殑缂撳瓨鏁伴噺 鍒欏鎵惧搴斿父娓╁簱瀛樹腑甯告俯3宸ュ簭鐨勫彲鍑哄簱鏁版嵁 骞跺缓绔嬪嚭搴撲换鍔�
-            //    //if (needBarcode.inLineNum <= needBarcode.cacheNum)
-            //    //{
-            //    //}
-            //    //濡傛灉鍖呰缂撳瓨绔欏彴瀛樺湪 涓旀湁璇锋眰  鍒�
-            //    if (stationManager != null)
-            //    {
-            //        _taskService.RequestOutTaskToBZAsync(stationManager);
-            //    }
-            //}
+            catch (Exception ex)
+            {
+                WriteInfo($"{conveyorLine.DeviceName}杈撻�佺嚎鍑哄簱瀹屾垚", $"寮傚父淇℃伅銆恵JsonConvert.SerializeObject(ex.Message)}銆�,瀛愯妭鐐广�恵childDeviceCode}銆戞墭鐩樺彿锛氥�恵command.ConveyorLineBarcode}銆�");
+            }
         }
 
         /// <summary>
@@ -449,10 +449,11 @@
         /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
         /// <param name="index">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
-        public async void EmptyTrayReturn(CommonConveyorLine_GW conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode, int index, WIDESEAWCS_Model.Models.Platform platform)
+        public async void EmptyTrayReturn(CommonConveyorLine_GW conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode, int index, Platform platform)
         {
             try
             {
+                //WriteInfo("鍑哄簱", $"銆恵JsonConvert.SerializeObject(platform)}銆�");
                 TaskOutboundTypeEnum taskOutboundTypeEnum;
                 if (platform.PlatformType.Contains("OutTray"))
                     taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
@@ -501,7 +502,7 @@
                     return;
 
                 taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
-
+                //WriteInfo("鍑哄簱", $"銆恵JsonConvert.SerializeObject(taskDTO)}銆�");
                 #endregion 璋冪敤WMS鑾峰彇鍑哄簱浠诲姟
 
                 CreateAndSendTask(taskDTO);

--
Gitblit v1.9.3