From 6e7f192546903b04d2d37e852dd9b248e938c790 Mon Sep 17 00:00:00 2001
From: z8018 <1282578289@qq.com>
Date: 星期五, 01 八月 2025 09:23:17 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineOutJob.cs |   46 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 36 insertions(+), 10 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineOutJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineOutJob.cs"
index 97c3e6b..305853f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineOutJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineOutJob.cs"
@@ -144,9 +144,36 @@
                                 {
                                     task = gTask;
                                 }
+                                else if (message != null && message.Contains("10000"))
+                                {
+                                    int maxValue = Convert.ToInt32(Math.Max(orderInfo.Length, orderInfo.Width));
+                                    int minValue = Convert.ToInt32(Math.Min(orderInfo.Length, orderInfo.Width));
+
+                                    List<Dt_Container> containers = _containerRepository.Db.Queryable<Dt_Container>().Where(x => x.ContainerType == ContainerTypeEnum.PutContainer.ObjToInt() && x.ContainerEnable && x.ContainerMaxWidth >= minValue).Includes(x => x.Items).ToList();
+                                    List<Dt_ContainerItem> containerItems = containers.SelectMany(x => x.Items).ToList();
+                                    Dt_ContainerItem? containerItem = containerItems.OrderByDescending(x => x.ItemPositionZ).FirstOrDefault();
+                                    if (containerItem != null)
+                                    {
+                                        Dt_Container? container = containers.FirstOrDefault(x => x.Id == containerItem.ContainerId);
+                                        if (container != null)
+                                        {
+                                            if (LightStatusStorage.LightStatusDic.ContainsKey(container.ContainerCode))
+                                            {
+                                                LightStatusStorage.LightStatusDic[container.ContainerCode] = LightStatusEnum.LightError;
+                                            }
+                                        }
+                                    }
+                                }
                                 else
                                 {
-                                    WriteDebug($"鐮佸灈浠诲姟鐢熸垚", $"鐢熸垚浠诲姟澶辫触: 銆恵barcode}銆憑message}");
+
+                                    WriteDebug($"鐮佸灈浠诲姟鐢熸垚", $"銆恵barcode}銆戠敓鎴愪换鍔″け璐�: 銆恵message}銆�");
+
+                                    List<Dt_Container> containers = _containerRepository.Db.Queryable<Dt_Container>().Where(x => x.ContainerType == ContainerTypeEnum.PutContainer.ObjToInt() && x.ContainerEnable).Includes(x => x.Items).ToList();
+                                    List<Dt_OrderContainer> orderContainers = _taskRepository.Db.Queryable<Dt_OrderContainer>().ToList();
+                                    List<Dt_Task> tasks = _taskRepository.Db.Queryable<Dt_Task>().ToList();
+
+                                    WriteDebug($"寮傚父宸ヤ綅浠诲姟鐢熸垚", $"銆恵barcode}銆戠敓鎴愪换鍔″け璐�:{Environment.NewLine}{Environment.NewLine}{containers.Serialize()}{Environment.NewLine}{Environment.NewLine}{orderContainers.Serialize()}{Environment.NewLine}{Environment.NewLine}{tasks.Serialize()}");
 
                                     (taskFlag, gTask, message) = _taskService.GenerateExceptionTask(orderInfo);
                                     if (taskFlag && gTask != null)
@@ -178,14 +205,13 @@
                                 }
                             }
 
-
                             if (task.TargetAddress == dischargeStation.ToString())
                             {
                                 List<Dt_Container> containers = _containerRepository.Db.Queryable<Dt_Container>().Where(x => x.ContainerType == ContainerTypeEnum.PutContainer.ObjToInt() && x.ContainerEnable).Includes(x => x.Items).ToList();
                                 List<Dt_OrderContainer> orderContainers = _taskRepository.Db.Queryable<Dt_OrderContainer>().ToList();
                                 List<Dt_Task> tasks = _taskRepository.Db.Queryable<Dt_Task>().ToList();
 
-                                WriteDebug($"寮傚父宸ヤ綅浠诲姟鐢熸垚", $"銆恵barcode}銆戠敓鎴愪换鍔℃垚鍔�: 鍘诲悜銆恵task.TargetAddress}銆憑Environment.NewLine}{Environment.NewLine}{containers.Serialize()}{Environment.NewLine}{Environment.NewLine}{orderContainers.Serialize()}{Environment.NewLine}{Environment.NewLine}{tasks.Serialize()}");
+                                WriteDebug($"鎺掑嚭宸ヤ綅", $"銆恵barcode}銆憑Environment.NewLine}{Environment.NewLine}{containers.Serialize()}{Environment.NewLine}{Environment.NewLine}{orderContainers.Serialize()}{Environment.NewLine}{Environment.NewLine}{tasks.Serialize()}");
                             }
                             else
                             {
@@ -196,13 +222,13 @@
                             otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTaskNum, task.TaskNum);
                             otherDevice.SetValue(ConveyorLineStationDBName.WCSStationResponse, true);
                         }
-                        else
-                        {
-                            WriteDebug($"鐮佸灈浠诲姟鐢熸垚", $"銆恵barcode}銆戠敓鎴愪换鍔″け璐�: 鎺掑埌8鍙峰伐浣�");
-                            otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, dischargeStation);
-                            otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTaskNum, 998);
-                            otherDevice.SetValue(ConveyorLineStationDBName.WCSStationResponse, true);
-                        }
+                        //else
+                        //{
+                        //    WriteDebug($"鐮佸灈浠诲姟鐢熸垚", $"銆恵barcode}銆戠敓鎴愪换鍔″け璐�: 鎺掑埌8鍙峰伐浣�");
+                        //    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, dischargeStation);
+                        //    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTaskNum, 998);
+                        //    otherDevice.SetValue(ConveyorLineStationDBName.WCSStationResponse, true);
+                        //}
                     }
                 }
                 catch (Exception ex)

--
Gitblit v1.9.3