林豪 左 3 anni fa
parent
commit
9b00576967
1 ha cambiato i file con 34 aggiunte e 36 eliminazioni
  1. 34 36
      Projects/永冠OPP/WCS.Service/Works/SRM/SRMWork.cs

+ 34 - 36
Projects/永冠OPP/WCS.Service/Works/SRM/SRMWork.cs

@@ -66,38 +66,38 @@ namespace WCS.Service.Works.SRM
                 if (srmDevice.Data2.SRMStatus != SCRunStatus.空闲) return;
 
                 ////检查标记好的出库任务,并将出库任务下达至堆垛机
-                //DB.Do(db =>
-                //{
-                //    //找到两个任务
-                //    var taksLsit = db.Default.Set<WCS_TASK>().Where(v =>
-                //        v.ID == srmDevice.Data.TaskID_1 ||
-                //        v.ID == srmDevice.Data.TaskID_2 && v.STATUS == TaskStatus.堆垛机执行).ToList();
-                //    var itemList = taksLsit.Select(v => v.Create<Task>()).OrderBy(v => v.Col).ToArray();
-
-                //    if (!taksLsit.Any()) return;
-                //    for (var i = 0; i < itemList.Length; i++)
-                //    {
-                //        var item = itemList[i];
-                //        item.SRMSTATION = taksLsit.FirstOrDefault(v => v.ID==item.ID)!.SRMSTATION;
-
-                //        var fork = srmDevice.GetFork(item, i);
-
-                //        switch (fork)
-                //        {
-                //            // 列数较小的放一工位
-                //            case SrmFork.货叉1:
-                //                obj.WriteTask1(item, (short)itemList.Length);
-                //                break;
-                //            //列数较大的放二工位
-                //            case SrmFork.货叉2:
-                //                obj.WriteTask2(item, (short)itemList.Length);
-                //                break;
-
-                //            default:
-                //                throw new ArgumentOutOfRangeException();
-                //        }
-                //    }
-                //});
+                DB.Do(db =>
+                {
+                    //找到两个任务
+                    var taksLsit = db.Default.Set<WCS_TASK>().Where(v =>
+                        v.ID == srmDevice.Data.TaskID_1 ||
+                        v.ID == srmDevice.Data.TaskID_2 && v.STATUS == TaskStatus.堆垛机执行).ToList();
+                    var itemList = taksLsit.Select(v => v.Create<Task>()).OrderBy(v => v.Col).ToArray();
+
+                    if (!taksLsit.Any()) return;
+                    for (var i = 0; i < itemList.Length; i++)
+                    {
+                        var item = itemList[i];
+                        item.SRMSTATION = taksLsit.FirstOrDefault(v => v.ID == item.ID)!.SRMSTATION;
+
+                        var fork = srmDevice.GetFork(item, i);
+
+                        switch (fork)
+                        {
+                            // 列数较小的放一工位
+                            case SrmFork.货叉1:
+                                obj.WriteTask1(item, (short)itemList.Length);
+                                break;
+                            //列数较大的放二工位
+                            case SrmFork.货叉2:
+                                obj.WriteTask2(item, (short)itemList.Length);
+                                break;
+
+                            default:
+                                throw new ArgumentOutOfRangeException();
+                        }
+                    }
+                });
 
                 var isTransfer = new List<WCS_TASK>(); //是否有移库任务
                 WCS_TASK enterPriority = new(), outPriority = new(); //出入库优先级任务
@@ -420,7 +420,6 @@ namespace WCS.Service.Works.SRM
                             var msg = "";
                             msg = fork == SrmFork.货叉1 ? $"状态由[{oldTaskSTATUS}]变更为[{task.STATUS}][{srmDevice.Data.SLine_1}-{srmDevice.Data.SCol_1}-{srmDevice.Data.SLayer_1}][{srmDevice.Data.ELine_1}][{srmDevice.Data.VoucherNo_1}]" : $"状态由[{oldTaskSTATUS}]变更为[{task.STATUS}][{srmDevice.Data.SLine_2}-{srmDevice.Data.SCol_2}-{srmDevice.Data.SLayer_2}][{srmDevice.Data.ELine_2}][{srmDevice.Data.VoucherNo_2}]";
                             task.CreateStatusLog(db, msg, this.GetType());
-                            item.SRMSTATION = task.SRMSTATION;
                             finishTaskList.Add(new FinishTaskList<SrmFork, Task>(fork, item));
                         }
 
@@ -433,17 +432,16 @@ namespace WCS.Service.Works.SRM
                             {
                                 // 列数较小的放一工位
                                 case SrmFork.货叉1:
-                                    obj.WriteTask1(finish.Station, (short)tasks.Length);
+                                    obj.Data.TaskID_1 = finish.Station.ID;
                                     break;
                                 //列数较大的放二工位
                                 case SrmFork.货叉2:
-                                    obj.WriteTask2(finish.Station, (short)tasks.Length);
+                                    obj.Data.TaskID_2 = finish.Station.ID;
                                     break;
 
                                 default:
                                     throw new ArgumentOutOfRangeException();
                             }
-
                         }
                     });