pengmn
2025-05-30 cd40ada4efe0d0a4036714cf597ce170b8cf5a54
HH.WCS.Mobox3.HangYang/core/WCSCore.cs
@@ -85,8 +85,9 @@
        private static void HandleAreaChange(WCSTask task)
        {
            var areas = new List<string> { "TPLKQ", "LXLKQ" };
            var area = new List<string> { "配盘出库", "配盘缓存" };
            if (areas.Contains(task.S_START_AREA))
            if (areas.Contains(task.S_START_AREA) && !area.Contains(task.S_TYPE))
            {
                WMSHelper.DeleteChange(task);
            }
@@ -119,6 +120,7 @@
        #region 杭氧任务服务
        private static readonly object _jobLock = new object();
        /// <summary>
        /// 循环作业生成任务
        /// </summary>
@@ -126,28 +128,32 @@
        {
            try
            {
                //查询任务
                //获取所有等待的作业
                var list = WMSHelper.GetWmsTaskListByState("等待");
                if (list.Count > 0)
                lock (_jobLock)
                {
                    list.ForEach(async task =>
                    //查询任务
                    //获取所有等待的作业
                    var list = WMSHelper.GetWmsTaskListByState("等待");
                    if (list.Count > 0)
                    {
                        //生成入库任务
                        await TaskProcess.CreateInTask(task);
                    });
                }
                //查询任务
                //获取所有执行的作业
                var exelist = WMSHelper.GetWmsTaskListByState("执行");
                if (exelist.Count > 0)
                {
                    exelist.ForEach(task =>
                        list.ForEach(async task =>
                        {
                            //生成入库任务
                            await TaskProcess.CreateInTask(task);
                        });
                    }
                    //查询任务
                    //获取所有执行的作业
                    var exelist = WMSHelper.GetWmsTaskListByState("执行");
                    if (exelist.Count > 0)
                    {
                        //生成从分拣暂存区到集货托盘位的任务任务
                        TaskProcess.exeCreateInTask(task);
                    });
                        exelist.ForEach(task =>
                        {
                            //生成从分拣暂存区到集货托盘位的任务任务
                            TaskProcess.exeCreateInTask(task);
                        });
                    }
                }
            }
            catch (Exception ex)
            {
@@ -201,12 +207,16 @@
        {
            try
            {
                //查询已配盘的配盘单
                var list = WMSHelper.GetPickingListByState(1);
                if (list.Count > 0)
                lock (_jobLock)
                {
                    TaskProcess.GenerateFromPicking(list);
                    //查询已配盘的配盘单
                    var list = WMSHelper.GetPickingListByState(1);
                    if (list.Count > 0)
                    {
                        TaskProcess.GenerateFromPicking(list);
                    }
                }
            }
            catch (Exception ex)
            {