杨前锦
2025-06-04 d44e3abf0d51cfea1ed7df510974d69458cf516d
HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/core/WCSCore.cs
@@ -128,5 +128,48 @@
                }
            }
        }
        /// <summary>
        /// 创建最后一个任务
        /// </summary>
        /// <param name="startLocCode"></param>
        /// <param name="mst"></param>
        /// <returns></returns>
        public static WCSTask createLastTask(string startLocCode, WMSTask mst)
        {
            LogHelper.Info($"作业号:{mst.S_CODE},创建AGV出库任务", "WMS");
            var existTask = WCSHelper.GetTaskByStart(startLocCode);
            if (existTask == null)
            {
                var startLoc = LocationHelper.GetLoc(startLocCode);
                // 创建一段入库任务
                WCSTask wcsTask = new WCSTask()
                {
                    S_OP_NAME = mst.S_OP_DEF_NAME,
                    S_OP_CODE = mst.S_CODE,
                    S_CODE = WCSHelper.GenerateTaskNo(),
                    S_CNTR_CODE = mst.S_CNTR_CODE,
                    S_TYPE = mst.S_TYPE,
                    S_START_LOC = startLoc.S_CODE,
                    S_START_AREA = startLoc.S_AREA_CODE,
                    S_END_LOC = mst.S_END_LOC,
                    S_END_AREA = mst.S_END_AREA,
                    S_SCHEDULE_TYPE = "AGV",
                    N_PRIORITY = mst.N_PRIORITY,
                    T_START_TIME = DateTime.Now,
                };
                if (WCSHelper.CreateTask(wcsTask))
                {
                    // 起点、接驳点、终点加锁
                    LocationHelper.LockLoc(wcsTask.S_START_LOC, 2);
                    LocationHelper.LockLoc(wcsTask.S_END_LOC, 1);
                    WMSHelper.UpdateTaskEnd(mst);
                    return wcsTask;
                }
            }
            return null;
        }
    }
}