z8018
2025-05-20 745aa71a76544989535ff193f3ede69200bab2db
项目代码/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("*");
@@ -138,22 +133,6 @@
                                                otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTaskNum, task.TaskNum);
                                                otherDevice.SetValue(ConveyorLineStationDBName.WCSStationResponse, true);
                                            }
                                        }
                                        catch (Exception ex)
                                        {
                                            if (ex.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 (ex.Message.Contains("10002"))
                                            {
                                                WriteError($"{otherDevice.DeviceCode}-{otherDevice.DeviceName}", ex.Message, ex);
                                            }
                                            else
                                            {
                                                otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, Convert.ToInt32(orderInfo.Length));
@@ -163,10 +142,49 @@
                                                otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTaskNum, 998);
                                                otherDevice.SetValue(ConveyorLineStationDBName.WCSStationResponse, true);
                                                WriteError(nameof(CommonConveyorLineOutJob), ex.Message, ex);
                                                WriteError(nameof(CommonConveyorLineOutJob), message);
                                                WriteError("鏉垮瓙鎺掑嚭閿欒鍘熷洜璁板綍鏃ュ織", message);
                                            }
                                        }
                                        catch (Exception ex)
                                        {
                                            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);
                                            WriteError("鏀炬澘閫昏緫杩愮畻閿欒璁板綍鏃ュ織", ex.Message, ex);
                                        }
                                    }
                                    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
                                {
                                    //todo 瓒呭澶勭悊
                                    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
@@ -174,7 +192,6 @@
                                otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTarget, dischargeStation);
                                otherDevice.SetValue(ConveyorLineStationDBName.WCSStationTaskNum, 997);
                                otherDevice.SetValue(ConveyorLineStationDBName.WCSStationResponse, true);
                                //otherDevice.SetValue(ConveyorLineStationDBName.WCSStationNoBarcode, true);
                            }
                        }