Selaa lähdekoodia

出库任务不执行提示;库尾贴标条码区分

xu.lu 6 kuukautta sitten
vanhempi
commit
8ea40710d0

+ 1 - 1
成品库/WCS.WorkEngineering/Systems/堆垛机.cs

@@ -506,7 +506,7 @@ namespace WCS.WorkEngineering.Systems
                                task = db.Default.Queryable<WCS_TaskInfo>()
                                                 .Where(v => v.Type == TaskType.OutDepot && v.Status == TaskStatus.WaitingToExecute)
                                                 .Where(v => allOutCode.Contains(v.SrmStation) && v.AddrFrom == res.ResData.CellNo)
-                                                .First() ?? throw new KnownException($"一深位有出库任务,等待一深位任务执行完成", LogLevelEnum.Mid);
+                                                .First() ?? throw new KnownException($"任务{task.ID}一深位有出库任务,等待一深位任务执行完成", LogLevelEnum.Mid);
                                break;
                        };
                        if (res.ResData.ResType == WmsApiMoveTask.执行移库任务) return;

+ 11 - 11
成品库/WCS.WorkEngineering/Systems/库尾入库.cs

@@ -92,17 +92,17 @@ namespace WCS.WorkEngineering.Systems
                             .Select(v => "SRM" + v)
                             .ToList();
 
-                        if (task.Floor == 10 && tunnelNo.Contains("SRM5"))
-                        {
-                            // 优化:直接在查询中完成条件判断,避免实例化不必要的对象
-                            var srm5 = Device.All.FirstOrDefault(x => x.Code == "SRM5" && 
-                                                                      new Device<ISRM521>(x, World).Data.AutoStatus == SrmAutoStatus.Automatic);
-                            if (srm5 != null)
-                            {
-                                // 如果任务在10楼且SRM5处于自动模式,则只保留SRM5
-                                tunnelNo = new List<string> { "SRM5" };
-                            }
-                        }
+                        //if (taskInfo.Floor == 10 && tunnelNo.Contains("SRM5"))
+                        //{
+                        //    // 优化:直接在查询中完成条件判断,避免实例化不必要的对象
+                        //    var srm5 = Device.All.FirstOrDefault(x => x.Code == "SRM5" && 
+                        //                                              new Device<ISRM521>(x, World).Data.AutoStatus == SrmAutoStatus.Automatic);
+                        //    if (srm5 != null)
+                        //    {
+                        //        // 如果任务在10楼且SRM5处于自动模式,则只保留SRM5
+                        //        tunnelNo = new List<string> { "SRM5" };
+                        //    }
+                        //}
 
                         SRM srm = null;
                         List<Station> stations = new List<Station>();

+ 26 - 22
成品库/WCS.WorkEngineering/Systems/库尾贴标.cs

@@ -74,7 +74,7 @@ namespace WCS.WorkEngineering.Systems
                     throw new KnownException($"未找到对应WCS任务{obj.Data2.TaskNumber}", LogLevelEnum.High);
                 }               
                 //非正常箱、铁托不贴标不扫码
-                else if (!taskInfo.TaskGroupKey.StartsWith("181") || taskInfo.BarCode.Length > 9)
+                else if (!taskInfo.TaskGroupKey.StartsWith("181") || taskInfo.BarCode.Length == 13 || taskInfo.BusType == "空托盘出库")
                 {
                     obj.Data.TaskNumber = taskInfo.ID;
                     obj.Data.GoodsStart = obj.Entity.Code.ToShort();
@@ -95,30 +95,34 @@ namespace WCS.WorkEngineering.Systems
                     {
                         throw new KnownException($"未找到对应WCS任务{obj.Data2.TaskNumber}条码{bcr}", LogLevelEnum.High);
                     }
+
+                    obj.Data.TaskNumber = taskInfo.ID;
+                    obj.Data.GoodsStart = obj.Entity.Code.ToShort();
+                    obj.Data.VoucherNo++;
                     //跟贴标机交互
-                    {
-                        World.Log($"{obj.Entity.Code},贴标控埋点1,任务号:{taskInfo.ID}", LogLevelEnum.High);
+                    //{
+                    //    World.Log($"{obj.Entity.Code},贴标控埋点1,任务号:{taskInfo.ID}", LogLevelEnum.High);
 
-                        string cleardata = "~JA";// 清除打印
-                        Send(cleardata);
+                    //    string cleardata = "~JA";// 清除打印
+                    //    Send(cleardata);
 
-                        var labelResponse = WmsApi.GetLabelData(taskInfo.ID).JsonToString();
-                        var jsonObj = JObject.Parse(labelResponse);
-                        string data = $"^XA\r\n^CI28\r\n^CW1,E:SIMSUN.TTF\r\n^XFE:{jsonObj["LabelName"]}^FS\r\n";
-                        for (int i = 1; i < jsonObj.Count; i++)
-                        {
-                            data += $"^FN{i}^{jsonObj[$"FN{i}"]}^FS\r\n";
-                        }
-                        if (data.Contains("FDLA"))
-                        {
-                            data += "^PQ1,0,1,Y\r\n^XZ";
-                        }
-                        else
-                        {
-                            data += "^XZ";
-                        }
-                        Send(data);
-                    }
+                    //    var labelResponse = WmsApi.GetLabelData(taskInfo.ID).JsonToString();
+                    //    var jsonObj = JObject.Parse(labelResponse);
+                    //    string data = $"^XA\r\n^CI28\r\n^CW1,E:SIMSUN.TTF\r\n^XFE:{jsonObj["LabelName"]}^FS\r\n";
+                    //    for (int i = 1; i < jsonObj.Count; i++)
+                    //    {
+                    //        data += $"^FN{i}^{jsonObj[$"FN{i}"]}^FS\r\n";
+                    //    }
+                    //    if (data.Contains("FDLA"))
+                    //    {
+                    //        data += "^PQ1,0,1,Y\r\n^XZ";
+                    //    }
+                    //    else
+                    //    {
+                    //        data += "^XZ";
+                    //    }
+                    //    Send(data);
+                    //}
                 }
                 taskInfo.Status = Entity.TaskStatus.Finish;
                 taskInfo.EditTime = DateTime.Now;