林豪 左 3 lat temu
rodzic
commit
66bd406171

+ 36 - 36
Projects/永冠OPP/WCS.Service/Extensions/DeviceExtension.cs

@@ -875,60 +875,60 @@ namespace WCS.Service.Extensions
             //检查同组堆垛机是否有正在执行出库任务的
             DB.Do(db =>
             {
+                var srm = Device.Find("SRM4").Create<SRMDevice>();
+                var task = db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM4" && v.TYPE == TaskType.出库);
                 switch (Entity.CODE)
                 {
                     case "SRM3":
-                        //var srm = Device.Find("SRM4").Create<SRMDevice>();
-                        //var task = db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM4" && v.TYPE == TaskType.出库);
-                        //if (srm.Data3.SCAlarm == 0 && srm.Data2.SRMMode == WCS.Entity.Protocol.SRM.SCMode.远程 && task)
-                        //    throw new DoException("SRM4正在执行出库任务");
-                        if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM4" && v.TYPE == TaskType.出库))
-                            throw new DoException("SRM3正在执行出库任务");
+                        if (srm.Data3.SCAlarm == 0 && srm.Data2.SRMMode == WCS.Entity.Protocol.SRM.SCMode.远程 && task)
+                            throw new DoException("SRM4正在执行出库任务");
+                        //if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM4" && v.TYPE == TaskType.出库))
+                        //    throw new DoException("SRM3正在执行出库任务");
                         break;
 
                     case "SRM4":
-                        //var srm = Device.Find("SRM3").Create<SRMDevice>();
-                        //var task = db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM3" && v.TYPE == TaskType.出库);
-                        //if (srm.Data3.SCAlarm == 0 && srm.Data2.SRMMode == WCS.Entity.Protocol.SRM.SCMode.远程 && task)
-                        //    throw new DoException("SRM4正在执行出库任务");
-                        if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM3" && v.TYPE == TaskType.出库))
-                            throw new DoException("SRM3正在执行出库任务");
+                        srm = Device.Find("SRM3").Create<SRMDevice>();
+                        task = db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM3" && v.TYPE == TaskType.出库);
+                        if (srm.Data3.SCAlarm == 0 && srm.Data2.SRMMode == WCS.Entity.Protocol.SRM.SCMode.远程 && task)
+                            throw new DoException("SRM4正在执行出库任务");
+                        //if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM3" && v.TYPE == TaskType.出库))
+                        //    throw new DoException("SRM3正在执行出库任务");
                         break;
 
                     case "SRM5":
-                        //var srm = Device.Find("SRM6").Create<SRMDevice>();
-                        //var task = db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM6" && v.TYPE == TaskType.出库);
-                        //if (srm.Data3.SCAlarm == 0 && srm.Data2.SRMMode == WCS.Entity.Protocol.SRM.SCMode.远程 && task)
-                        //    throw new DoException("SRM4正在执行出库任务");
-                        if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM6" && v.TYPE == TaskType.出库))
-                            throw new DoException("SRM6正在执行出库任务");
+                        srm = Device.Find("SRM6").Create<SRMDevice>();
+                        task = db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM6" && v.TYPE == TaskType.出库);
+                        if (srm.Data3.SCAlarm == 0 && srm.Data2.SRMMode == WCS.Entity.Protocol.SRM.SCMode.远程 && task)
+                            throw new DoException("SRM4正在执行出库任务");
+                        //if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM6" && v.TYPE == TaskType.出库))
+                        //    throw new DoException("SRM6正在执行出库任务");
                         break;
 
                     case "SRM6":
-                        //var srm = Device.Find("SRM5").Create<SRMDevice>();
-                        //var task = db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM5" && v.TYPE == TaskType.出库);
-                        //if (srm.Data3.SCAlarm == 0 && srm.Data2.SRMMode == WCS.Entity.Protocol.SRM.SCMode.远程 && task)
-                        //    throw new DoException("SRM4正在执行出库任务");
-                        if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM5" && v.TYPE == TaskType.出库))
-                            throw new DoException("SRM5正在执行出库任务");
+                        srm = Device.Find("SRM5").Create<SRMDevice>();
+                        task = db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM5" && v.TYPE == TaskType.出库);
+                        if (srm.Data3.SCAlarm == 0 && srm.Data2.SRMMode == WCS.Entity.Protocol.SRM.SCMode.远程 && task)
+                            throw new DoException("SRM4正在执行出库任务");
+                        //if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM5" && v.TYPE == TaskType.出库))
+                        //    throw new DoException("SRM5正在执行出库任务");
                         break;
 
                     case "SRM7":
-                        //var srm = Device.Find("SRM8").Create<SRMDevice>();
-                        //var task = db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM8" && v.TYPE == TaskType.出库);
-                        //if (srm.Data3.SCAlarm == 0 && srm.Data2.SRMMode == WCS.Entity.Protocol.SRM.SCMode.远程 && task)
-                        //    throw new DoException("SRM4正在执行出库任务");
-                        if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM8" && v.TYPE == TaskType.出库))
-                            throw new DoException("SRM7正在执行出库任务");
+                        srm = Device.Find("SRM8").Create<SRMDevice>();
+                        task = db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM8" && v.TYPE == TaskType.出库);
+                        if (srm.Data3.SCAlarm == 0 && srm.Data2.SRMMode == WCS.Entity.Protocol.SRM.SCMode.远程 && task)
+                            throw new DoException("SRM4正在执行出库任务");
+                        //if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM8" && v.TYPE == TaskType.出库))
+                        //    throw new DoException("SRM7正在执行出库任务");
                         break;
 
                     case "SRM8":
-                        //var srm = Device.Find("SRM7").Create<SRMDevice>();
-                        //var task = db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM7" && v.TYPE == TaskType.出库);
-                        //if (srm.Data3.SCAlarm == 0 && srm.Data2.SRMMode == WCS.Entity.Protocol.SRM.SCMode.远程 && task)
-                        //    throw new DoException("SRM4正在执行出库任务");
-                        if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM7" && v.TYPE == TaskType.出库))
-                            throw new DoException("SRM8正在执行出库任务");
+                        srm = Device.Find("SRM7").Create<SRMDevice>();
+                        task = db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM7" && v.TYPE == TaskType.出库);
+                        if (srm.Data3.SCAlarm == 0 && srm.Data2.SRMMode == WCS.Entity.Protocol.SRM.SCMode.远程 && task)
+                            throw new DoException("SRM4正在执行出库任务");
+                        //if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM7" && v.TYPE == TaskType.出库))
+                        //    throw new DoException("SRM8正在执行出库任务");
                         break;
                 }
             });