瀏覽代碼

fix:涂布入库

xu.lu 3 年之前
父節點
當前提交
4fac971693
共有 1 個文件被更改,包括 37 次插入7 次删除
  1. 37 7
      Projects/永冠OPP/WCS.Service/Works/Station/涂布入库.cs

+ 37 - 7
Projects/永冠OPP/WCS.Service/Works/Station/涂布入库.cs

@@ -70,8 +70,12 @@ namespace WCS.Service.Works.Station
                             agvtask.Status = AGVTaskStatus.执行;
                             agvtask.UpdateTime = DateTime.Now;
                         }
+                        //agv到达指定位置给确认后分配站台
                         else if (agvtask.Status == AGVTaskStatus.执行 && agvtask.AGVStatus== AGVTaskStatus.确认 && string.IsNullOrEmpty(agvtask.Station))
                         {
+                            //判断提升机是否被禁用
+                            obj.BcrStationIsForbid();
+
                             if (obj.Items.Any(v => !v.Data3.Status.HasFlag(StationStatus.自动)))
                             {
                                 InfoLog.INFO_INFO($"{station}手动状态");
@@ -135,14 +139,36 @@ namespace WCS.Service.Works.Station
                                     InfoLog.INFO_WarnDb("上一个允许放货的AGV任务未完成", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常);
                                     continue;
                                 }
-                                
-                                var judge = Device.Find("1435").Device<IStation521>();
-                                if (judge.Data.Status.HasFlag(IstationStatus.光电状态)&& obj.Entity.CODE=="G1394")
+                                //判断1435扫码位置条件
+                                var judge = Device.Find("1435").Device<IStation520,IStation521,IStation523>();
+                                if (obj.Entity.CODE == "G1394")
                                 {
-                                    InfoLog.INFO_WarnDb("前方有光电,不可放货", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常);
-                                    continue;
-                                }
+                                    if (judge.Data3.Status.HasFlag(StationStatus.自动))
+                                    {
+                                        InfoLog.INFO_INFO("不在自动状态1435");
+                                        continue;
+                                    }
+
+                                    if (judge.Data3.Status.HasFlag(StationStatus.运行状态位))
+                                    {
+                                        InfoLog.INFO_INFO("设备运行中1435");
+                                        continue;
+                                    }
 
+                                    //判断是否有货
+                                    if (judge.Data2.Status.HasFlag(IstationStatus.光电状态))
+                                    {
+                                        InfoLog.INFO_WarnDb("前方有光电,不可放货", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常);
+                                        continue;
+                                    }               
+
+                                    if (judge.Data2.Tasknum > 0)
+                                    {
+                                        InfoLog.INFO_WarnDb("已 有WCS任务号", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常);
+                                        continue;
+                                    }
+                                }
+                                                                
                                 agvtask.Status = agvtask.AGVStatus;
                                 agvtask.UpdateTime = DateTime.Now;
                                 db.Default.SaveChanges();
@@ -220,7 +246,11 @@ namespace WCS.Service.Works.Station
                 //设备组无论单卷还是双卷都必须满足的条件
                 if (obj.Items.Any(v => v.Data.VoucherNo != v.Data2.VoucherNo)) throw new WarnException($"等待任务执行--凭证号不一致");
                 if (obj.Items.Any(v => v.Data3.Status.HasFlag(StationStatus.运行状态位))) throw new WarnException($"设备运行中");
-                //if (obj.Items.Any(v => !v.Data3.Status.HasFlag(StationStatus.低位))) throw new DoException("不在低位");
+
+                if (obj.Entity.CODE == "G1386")
+                {
+                    if (obj.Items.Any(v => !v.Data3.Status.HasFlag(StationStatus.低位))) throw new DoException("不在低位");
+                }                
 
                 //成功创建的任务
                 var finishTaskList = new List<FinishTaskList<int>>();