From b6837f097e9cdb2645368aed4ddb03f580c331e4 Mon Sep 17 00:00:00 2001
From: z8018 <1282578289@qq.com>
Date: 星期一, 05 五月 2025 17:29:07 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineOutJob.cs |   72 ++++++++++++++++++++++++++++++------
 1 files changed, 60 insertions(+), 12 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineOutJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineOutJob.cs"
index 974e079..2200f2e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineOutJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineOutJob.cs"
@@ -104,25 +104,20 @@
                             if (!string.IsNullOrEmpty(barcode))
                             {
                                 OrderInfo orderInfo = _orderDetailsService.GetOrderInfoByBarcode(barcode);
-                                if (orderInfo.Width > AppSettings.Get("MaxWidth").ObjToInt() && orderInfo.Width < AppSettings.Get("MinWidth").ObjToInt())
-                                {
-                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(orderInfo.Length));
-                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(orderInfo.Width));
-                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(orderInfo.Thickness));
-                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, dischargeStation);
-                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTaskNum, 999);
-                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationResponse, true);
-                                }
-                                else
+
+                                _orderDetailsService.ToMes(barcode, 3);
+
+                                if (orderInfo.Width >= AppSettings.Get("MinWidth").ObjToInt() && orderInfo.Width <= AppSettings.Get("MaxWidth").ObjToInt() && orderInfo.Length >= AppSettings.Get("MinLength").ObjToInt() && orderInfo.Length <= AppSettings.Get("MaxLength").ObjToInt() || orderInfo.Length >= AppSettings.Get("MinWidth").ObjToInt() && orderInfo.Length <= AppSettings.Get("MaxWidth").ObjToInt() && orderInfo.Width >= AppSettings.Get("MinLength").ObjToInt() && orderInfo.Width <= AppSettings.Get("MaxLength").ObjToInt())
                                 {
                                     Dt_Task task = _taskRepository.QueryFirst(x => x.PalletCode == barcode);
                                     if (task == null)
                                     {
                                         try
                                         {
-                                            task = _taskService.GenerateTask(orderInfo);
-                                            if (task != null)
+                                            var (taskFlag, gTask, message) = _taskService.GenerateTask(orderInfo);
+                                            if (taskFlag && gTask != null)
                                             {
+                                                task = gTask;
                                                 if (!string.IsNullOrEmpty(task.ItemInfo))
                                                 {
                                                     string[] itemInfos = task.ItemInfo.Split("*");
@@ -137,6 +132,33 @@
                                                 otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(task.TargetAddress));
                                                 otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTaskNum, task.TaskNum);
                                                 otherDevice.SetValue(ConveyorLineStationDBName.WCSStationResponse, true);
+                                            }
+                                            else
+                                            {
+                                                //if (message.Contains("10001"))
+                                                //{
+                                                //    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(orderInfo.Length));
+                                                //    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(orderInfo.Width));
+                                                //    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(orderInfo.Thickness));
+                                                //    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, dischargeStation);
+                                                //    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTaskNum, 999);
+                                                //    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationResponse, true);
+                                                //}
+                                                //else if (message.Contains("10002"))
+                                                //{
+                                                //    WriteError($"{otherDevice.DeviceCode}-{otherDevice.DeviceName}", message);
+                                                //}
+                                                //else
+                                                {
+                                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(orderInfo.Length));
+                                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(orderInfo.Width));
+                                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(orderInfo.Thickness));
+                                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, dischargeStation);
+                                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTaskNum, 998);
+                                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationResponse, true);
+
+                                                    WriteError(nameof(CommonConveyorLineOutJob), message);
+                                                }
                                             }
                                         }
                                         catch (Exception ex)
@@ -167,6 +189,32 @@
                                             }
                                         }
                                     }
+                                    else
+                                    {
+                                        if (!string.IsNullOrEmpty(task.ItemInfo))
+                                        {
+                                            string[] itemInfos = task.ItemInfo.Split("*");
+                                            if (itemInfos.Length == 3)
+                                            {
+                                                otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(itemInfos[0]));
+                                                otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(itemInfos[1]));
+                                                otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(itemInfos[2]));
+                                            }
+                                        }
+
+                                        otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(task.TargetAddress));
+                                        otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTaskNum, task.TaskNum);
+                                        otherDevice.SetValue(ConveyorLineStationDBName.WCSStationResponse, true);
+                                    }
+                                }
+                                else
+                                {
+                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(orderInfo.Length));
+                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(orderInfo.Width));
+                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(orderInfo.Thickness));
+                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, dischargeStation);
+                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTaskNum, 999);
+                                    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationResponse, true);
                                 }
                             }
                             else

--
Gitblit v1.9.3