Administrator 2 years ago
parent
commit
27fef34840

+ 22 - 1
Projects/永冠/WCS.Service/Works/Stations/车间出入口.cs

@@ -179,6 +179,27 @@ namespace WCS.Service.Works.Stations
         protected override void Do(Device<IStation521, IStation520> dev)
         {
             if (!SystemConfigHelpers.GetDeviceConfig(dev.Entity.CODE)) throw new Exception($"已禁止[{dev.Entity.CODE}]入库,请联系机修确认");
+
+            if (dev.Entity.CODE == "2012")
+            {
+                if (dev.Data.HEIGHT == 4 || dev.Data.HEIGHT == 8)
+                {
+                    DB.Do(db =>
+                    {
+                        var task = db.Default.Set<WCS_TASK>().Find(dev.Data.TASKNUM);
+                        if (task == null)
+                        {
+                            throw new Exception("未查询到入库任务");
+                        }
+                        else if(task.STATUS < TaskStatus.已完成)
+                        {
+                            task.STATUS = WCS.Entity.TaskStatus.已取消;
+                            task.UPDATETIME = DateTime.Now;
+                            db.Default.SaveChanges();
+                        }                        
+                    });
+                }
+            }
             if (Ltc.Do(dev, v => v.Data2.CONFIRM == true)) throw new Exception($"设备[{dev.Entity.CODE}]确认信号未清除,请检查PLC中上一个任务是否完成状态异常");
             if (Ltc.Do(dev, v => !v.Data.REQUEST)) return;
 
@@ -258,7 +279,7 @@ namespace WCS.Service.Works.Stations
                         end = 2086;
                     else if (dev.Entity.CODE == "2003")
                         end = 2308;
-                    else
+                    else if(dev.Entity.CODE == "2010")
                         end = short.Parse(task.ADDRFROM);
                     task.STATUS = WCS.Entity.TaskStatus.已取消;
                     task.UPDATETIME = DateTime.Now;

+ 7 - 7
WCS.Core/LogicHandler.cs

@@ -58,13 +58,13 @@ namespace WCS.Core
         }
         public static void StartAll()
         {
-            //foreach (var h in Handlers)
-            //{
-            //    h.Start();
-            //}
-            //var th = new Thread(new ThreadStart(Loop));
-            //th.IsBackground = true;
-            //th.Start();
+            foreach (var h in Handlers)
+            {
+                h.Start();
+            }
+            var th = new Thread(new ThreadStart(Loop));
+            th.IsBackground = true;
+            th.Start();
         }
 
         static DateTime last = DateTime.Now;