林豪 左 2 年之前
父節點
當前提交
eef2baef74

+ 8 - 2
WCS.Entity/WCS_AgvTaskInfo.cs

@@ -199,13 +199,19 @@ namespace WCS.Entity
         /// <summary>
         /// 背负式补空
         /// </summary>
-        [Description("叫料")]
+        [Description("背负式补空")]
         CallForMaterial = 2,
 
         /// <summary>
         ///  叉车机台补空任务
         /// </summary>
         [Description("叉车机台补空任务")]
-        ForkliftFilling = 3
+        ForkliftFilling = 3,
+
+        /// <summary>
+        /// 叫料
+        /// </summary>
+        [Description("叫料")]
+        CallMaterial = 2,
     }
 }

+ 52 - 7
WCS.WorkEngineering/Systems/NoInteractionSystems.cs

@@ -66,7 +66,7 @@ namespace WCS.WorkEngineering.Systems
                                     agvTask = new WCS_AgvTaskInfo()
                                     {
                                         ID = db.GetAGVTaskId(),
-                                        TaskType = AGVTaskType.EnterDepot,
+                                        TaskType = AGVTaskType.CallMaterial,
                                         Status = AGVTaskStatus.NewBuild,
                                         Station = task.WorkBench,
                                         AddWho = "WCS"
@@ -136,8 +136,7 @@ namespace WCS.WorkEngineering.Systems
                 {
                     foreach (var agv in agvTasks)
                     {
-                        ////开始处理
-                        //GenAgvSchedulingTaskResponse res = new GenAgvSchedulingTaskResponse();
+                        //开始处理
                         try
                         {
                             //获取对应wcs任务
@@ -152,8 +151,56 @@ namespace WCS.WorkEngineering.Systems
                                     db.Default.Updateable(agv).SplitTable().ExecuteCommand();
                                     break;
 
+                                case 2:
+
+                                    break;
+
+                                default:
+                                    break;
+                            }
+
+                            //更新WCS数据
+                            wcs.Status = Entity.TaskStatus.AGVExecution;
+                            db.Default.Updateable(wcs).ExecuteCommand();
+                            wcs.AddWCS_TASK_DTL(db, wcs.Device, $"任务下发至AGV");
+                        }
+                        catch (Exception ex)
+                        {
+                            World.Log(ex.Message, Worlds.Logs.LogLevelEnum.Mid);
+                            continue;
+                        }
+                    }
+                }
+            });
+
+            #endregion 下发入库AGV任务
+
+            Thread.Sleep(1000);
+
+            #region 下发出库AGV任务
+
+            SqlSugarHelper.Do(db =>
+            {
+                var agvTasks = db.Default.Queryable<WCS_AgvTaskInfo>().Where(t => t.Status == AGVTaskStatus.NewBuild && t.TaskType == AGVTaskType.CallMaterial).SplitTable(v => v.Take(2)).ToList();
+
+                if (agvTasks.Count > 0)
+                {
+                    foreach (var agv in agvTasks)
+                    {
+                        ////开始处理
+                        //GenAgvSchedulingTaskResponse res = new GenAgvSchedulingTaskResponse();
+                        try
+                        {
+                            //获取对应wcs任务
+                            var wcs = db.Default.Queryable<WCS_TaskInfo>().Where(t => t.AgvTaskID == agv.ID && t.Status == Entity.TaskStatus.WaitingToExecute).First();
+
+                            switch (wcs.Floor)
+                            {
+                                case 1:
+                                    break;
+
                                 case 2: //二楼下发AGV任务
-                                    var agvRes = IwmsApi.满轮出库(wcs.MatCode, wcs.WorkBench);
+                                    var agvRes = IwmsApi.满轮出库(wcs.MatCode, wcs.WorkBench, agv.ID.ToString());
                                     agv.Status = AGVTaskStatus.Confirm;
                                     agv.AgvID = agvRes.data;
                                     db.Default.Updateable(agv).SplitTable().ExecuteCommand();
@@ -177,9 +224,7 @@ namespace WCS.WorkEngineering.Systems
                 }
             });
 
-            #endregion 下发入库AGV任务
-
-            Thread.Sleep(1000);
+            #endregion 下发出库AGV任务
 
             #region 移动任务处理
 

+ 4 - 3
WCS.WorkEngineering/WebApi/Controllers/IwmsApi.cs

@@ -27,9 +27,9 @@ namespace WCS.WorkEngineering.WebApi.Controllers
             }
         }
 
-        public static zhongTianIntoStockResponse 满轮出库(string matCode, string wbCode)
+        public static zhongTianIntoStockResponse 满轮出库(string matCode, string wbCode, string taskNo)
         {
-            return zhongTianIntoStock(matCode, wbCode, "1");
+            return zhongTianIntoStock(matCode, wbCode, "1", $"RK{taskNo}");
         }
 
         //public static zhongTianIntoStockResponse 余料入库(string matCode, string wbCode)
@@ -37,13 +37,14 @@ namespace WCS.WorkEngineering.WebApi.Controllers
         //    //return zhongTianIntoStock(matCode, )
         //}
 
-        public static zhongTianIntoStockResponse zhongTianIntoStock(string matCode, string wbCode, string inSpoolFull)
+        public static zhongTianIntoStockResponse zhongTianIntoStock(string matCode, string wbCode, string inSpoolFull, string taskNo)
         {
             var res = APICaller.CallApi2<zhongTianIntoStockResponse>(IwmsUrl + "/databus/publish/zhongTianIntoStock", new zhongTianIntoStockRequest
             {
                 matCode = matCode,
                 wbCode = wbCode,
                 inSpoolFull = inSpoolFull,
+                taskNo = taskNo
             });
             if (res.code != AgvResponseCode.Success)
             {