From bec4a1b386c740ce4fc53a52b8ec8846ffb5f2bd Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期日, 17 八月 2025 15:53:25 +0800
Subject: [PATCH] 代码优化

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs |   91 ++++++++++++++++++++++++++++++---------------
 1 files changed, 61 insertions(+), 30 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 67756a3..772c2af 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"
@@ -5,10 +5,12 @@
 using System.Text;
 using System.Text.RegularExpressions;
 using System.Threading.Tasks;
+using WIDESEA_Common.Log;
 using WIDESEAWCS_Common;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_DTO.StackerHandTask;
 using WIDESEAWCS_DTO.TaskInfo;
 using WIDESEAWCS_Model.BasicInfo;
 using WIDESEAWCS_Model.Models;
@@ -54,41 +56,66 @@
 
         private async Task RequestTask(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, Dt_StationManager stationManager)
         {
-            var hasTask = await _taskRepository.QueryFirstAsync(x => x.SourceAddress == childDeviceCode && x.TaskState < (int)TaskInStatusEnum.RGV_InExecutingFinish && x.TaskState >= (int)TaskInStatusEnum.InNew);
-            if (hasTask != null)
+            try
             {
-                var log = $"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵hasTask.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵hasTask.PalletCode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎瀛樺湪浠诲姟";
+                var hasTask = await _taskRepository.QueryFirstAsync(x => x.SourceAddress == childDeviceCode && x.TaskState < (int)TaskInStatusEnum.RGV_InExecutingFinish && x.TaskState >= (int)TaskInStatusEnum.InNew);
+                if (hasTask != null)
+                {
+                    var log = $"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵hasTask.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵hasTask.PalletCode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎瀛樺湪浠诲姟";
+                    ConsoleHelper.WriteWarningLine(log);
+
+                    await _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" });
+                    WriteInfo(conveyorLine.DeviceName, log);
+                    return;
+                }
+                var RGVName = string.Empty;
+                if (stationManager.stationFloor == "1F")
+                {
+                    RGVName = stationManager.RGVName;
+                }
+                else
+                {
+                    RGVName = "RGV03";
+                }
+                int targetStation = 0;
+                if (childDeviceCode == "1004" || childDeviceCode == "1039" || childDeviceCode == "1040" || childDeviceCode == "1013" || childDeviceCode == "1014")
+                {
+                    targetStation = 14;
+                }
+                else if (childDeviceCode == "1015" || childDeviceCode == "1016" || childDeviceCode == "1027" || childDeviceCode == "1028" || childDeviceCode == "1029" || childDeviceCode == "1030")
+                {
+                    targetStation = 1;
+                }
+                else
+                {
+                    targetStation = 0;
+                }
+                Dt_Task task = new Dt_Task()
+                {
+                    TaskNum = _taskRepository.GetTaskNo().Result,
+                    TaskType = (int)TaskInboundTypeEnum.Inbound,
+                    TaskState = (int)TaskInStatusEnum.InNew,
+                    SourceAddress = childDeviceCode,
+                    Dispatchertime = DateTime.Now,
+                    Grade = 1,
+                    Creater = "System",
+                    Floor = stationManager.stationFloor,
+                    RGVName = RGVName,
+                    SourceStation = stationManager.remark,
+                    TargetStation = targetStation,
+                };
+
+                _taskRepository.AddData(task);
+            }
+            catch (Exception ex)
+            {
+                var log = $"銆恵conveyorLine._deviceName}銆戣緭閫佺嚎銆恵childDeviceCode}銆戙�恵ex.Message}銆�";
                 ConsoleHelper.WriteWarningLine(log);
 
                 await _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" });
                 WriteInfo(conveyorLine.DeviceName, log);
-                return;
             }
-            var RGVName = string.Empty;
-            if (stationManager.stationFloor == "1F")
-            {
-                RGVName = stationManager.RGVName;
-            }
-            else
-            {
-                RGVName = "RGV03";
-            }
-            Dt_Task task = new Dt_Task()
-            {
-                TaskNum = _taskRepository.GetTaskNo().Result,
-                TaskType = (int)TaskInboundTypeEnum.Inbound,
-                TaskState = (int)TaskInStatusEnum.InNew,
-                SourceAddress = childDeviceCode,
-                Dispatchertime = DateTime.Now,
-                Grade = 1,
-                Creater = "System",
-                Floor = stationManager.stationFloor,
-                RGVName = RGVName,
-                SourceStation = stationManager.remark,
-                TargetStation = 0,
-            };
-
-            _taskRepository.AddData(task);
+            
         }
         private void RequestWMSTask(CommonConveyorLine conveyorLine,  Dt_StationManager stationManager)
         {
@@ -145,6 +172,7 @@
                     }
                     var wmsIpAddress = wmsBase + requestTask;
                     var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+                    WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
                 }
             }
             else
@@ -153,6 +181,7 @@
                 var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 10);
 
                 string Barcode = Encoding.UTF8.GetString(x);
+
                 if (Barcode == null || Barcode == "" || Barcode.Trim().Contains("\0"))
                 {
                     conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode);
@@ -160,7 +189,8 @@
                 var task = _taskRepository.QueryFirst(x => x.PalletCode == Barcode);
                 if (task != null)
                 {
-
+                    var log = $"銆恵conveyorLine._deviceName}銆戠珯鍙般�恵stationManager.stationChildCode}銆戣姹傚彇璐с�佸凡瀛樺湪浠诲姟浠诲姟鍙穥task.TaskNum}";
+                    LogAndWarn(conveyorLine.DeviceName, log);
                 }
                 else
                 {
@@ -180,6 +210,7 @@
                     }
                     var wmsIpAddress = wmsBase + requestTask;
                     var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+                    WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
                 }
             } 
         }

--
Gitblit v1.9.3